/*
 * Copyright 2023-2025 VMware, Inc. All rights reserved. VMware Confidential
 */

export const CLOUD_RESOURCES = {
    ORGANIZATIONS: "organizations",
    ORGANIZATIONS_REST_V3: "organizations-rest-v3",
    ORGANIZATION_ID: "organizationId",
    EDGE_GATEWAYS: "edge-gateways",
    EDGE_GATEWAY_ID: "edgeGatewayId",
    CLOUD_EDGE_GATEWAY_ID: "cloudEdgeGatewayId",
    ORG_VDCS: "orgvdcs",
    ORG_VDC_ID: "orgVdcId",
    ORG_VDC_TEMPLATES: "org-vdc-templates",
    PROVIDER_VDCS: "provider-vdcs",
    PROVIDER_VDC_ID: "providerVdcId",
    EXTERNAL_NETWORKS: "ext-networks",
    T0_ROUTERS: "t0-routers",
    EXTERNAL_NETWORK_ID: "externalNetworkId",
    SDDCS: "sddcs",
    SDDC_ID: "sddcId",
    SDDC_PROXIES: "sddc-proxies",
    NETWORK_POOLS: "network-pools",
    NETWORK_POOL_ID: "networkPoolId",
    VM_SIZING_POLICIES: "vm-sizing-policies",
    VM_PLACEMENT_POLICIES: "vm-placement",
    VM_PLACEMENT_POLICY_ID: "vm-placement-policy-id",
    VGPU: "vgpu",
    VGPU_POLICIES: "vgpu-policies",
    VGPU_POLICY_ID: "vgpu-policy-id",
    POLICY_ID: "policyId",
    VDC_GROUP: "vdc-groups",
    VDC_GROUP_ID: "vdcGroupId",
    IP_SPACES: "ip-spaces",
    IP_SPACE_ID: "ipSpaceId",
    CLOUD: "cloud",
    CELLS: "cells",
    CELL_ID: "cellId",
};

export const CELL_DETAILS = {
    GENERAL: "general",
    ENDPOINTS: "endpoints",
};

export const ORGANIZATION_DETAILS = {
    CONFIGURE: "configure",
    GENERAL: "general",
    POLICIES: "policies",
    CATALOG: "catalog",
    EMAIL: "email",
    METADATA: "metadata",
    IDENTITY_PROVIDERS: "identityProviders",
    NETWORKING: "networking",
    IP_SPACES: "ip-spaces",
    TENANCY: "tenancy",
    SAML: "saml",
    LDAP: "ldap",
    OIDC: "oidc",
    QUOTAS: "quotas",
};

export const EDGE_GATEWAY_DETAILS = {
    GENERAL: "general",
    EXTERNAL_NETWORKS: "external-networks",
    EDGE_CLUSTER: "edge-cluster",
    NETWORKS_AND_SUBNETS: "networks-and-subnets",
    IP_SETTINGS: "ip-settings",
    DEFAULT_GATEWAY: "defaultGateway",
    SUB_ALLOCATED_IP_POOLS: "sub-allocated-ip-pools",
    RATE_LIMITS: "rate-limits",
    RATE_LIMITING: "rate-limiting",
    IP_ALLOCATIONS: "ip-allocations",
    SERVICES: "services",
    FIREWALL: "firewall",
    NAT: "nat",
    DNS: "dns",
    DHCPV6: "dhcpv6",
    DHCP_FORWARDING: "dhcp-forwarding",
    LOAD_BALANCER: "load-balancer",
    GENERAL_SETTINGS: "general-settings",
    LOAD_BALANCER_SERVICE_ENGINE_GROUPS: "lb-service-engine-groups",
    VIRTUAL_SERVICES: "virtual-services",
    SERVER_POOLS: "server-pools",
    HEALTH_MONITORS: "health-monitors",
    SECURITY: "security",
    DYNAMIC_GROUPS: "dynamic-groups",
    SECURITY_GROUPS: "security-groups",
    IP_SETS: "ip-sets",
    IP_MANAGEMENT: "ip-management",
    APP_PORT_PROFILES: "app-port-profiles",
    NETWORK_CONTEXT_PROFILES: "network-context-profiles",
    IPSEC: "ipsec",
    CONFIG: "config",
    GATEWAY_INTERFACES: "gatewayInterfaces",
    ROUTING: "routing",
    STATIC_ROUTES: "staticRoutes",
    ROUTE_ADVERTISEMENT: "advertisement",
};

export const ORG_VDC_DETAILS = {
    GENERAL: "general",
    ALLOCATION: "allocation",
    STORAGE: "storage",
    NETWORKING: "networking",
    NETWORK_POOL: "network-pool",
    NETWORK_POLICIES: "network-policies",
    EDGE_CLUSTERS: "edge-clusters",
    SEGMENT_PROFILE_TEMPLATES: "segment-profile-templates",
    META: "metadata",
    RESOURCE_POOLS: "resource-pools",
    PLACEMENT_POLICIES: "placement",
    SIZING_POLICIES: "sizing",
    POLICIES: "policies",
    VSPHERE_KUBERNETES: "vsphere-kubernetes",
    VGPU_POLICIES: "vgpu",
};

export const PROVIDER_VDC_DETAILS = {
    CONFIGURE: "configure",
    ORG_DATACENTERS: "org-datacenters",
    DATASTORES: "pvdc-datastores",
    EXTERNAL_NETWORKS: "pvdc-external-networks",
    GENERAL: "general",
    RESOURCE_POOLS: "pvdc-resource-pools",
    RESOURCE_POOL_ID: "rpId",
    POLICIES: "policies",
    STORAGE: "storage",
    STORAGE_CONTAINERS: "pvdc-storage-containers",
    VM_PLACEMENT: "vm-placement-policies",
    VM_PLACEMENT_POLICY_ID: CLOUD_RESOURCES.VM_PLACEMENT_POLICY_ID,
    VSPHERE_KUBERNETES: "vsphere-kubernetes",
    VGPU_POLICIES: "pvdc-vgpu-policies",
    METADATA: "metadata",
    METRICS: "metrics",
};

export const EXTERNAL_NETWORK_DETAILS = {
    CONFIGURATION: "configuration",
    ORG_VDC_NETWORKS: "backed-org-vdc-networks",
    GENERAL: "general",
    NETWORK_SPECIFICATION: "network-specification",
    IP_USAGE: "ip-usage",
    GATEWAYS_SUB_IP_ALLOCATIONS: "gateways-sub-ip-allocations",
    SERVICES: "services",
    ROUTING: "routing",
};

export const PROVIDER_GATEWAYS_ROUTERS = {
    CONFIGURATION: "configuration",
    GENERAL: "general",
    IP_SPACE_UPLINKS: "ip-space-uplinks",
    IP_SPACE_MIGRATION_PREP: "ip-space-migration-prep",
    NETWORK_SPECIFICATION: "network-specification",
    GATEWAYS_SUB_IP_ALLOCATIONS: "gateways-sub-ip-allocations",
    CONNECTED_GATEWAYS: "connected-gateways",
    TOPOLOGY_INTENTIONS: "topology-intentions",
    ROUTE_ADVERTISEMENT: "route-advertisement",
    NAT_AND_FIREWALL: "nat-and-firewall",
    NAT: "nat",
    FIREWALL: "firewall",
    STATIC_ROUTES: "static-routes",
};

export const NETWORK_POOL_DETAILS = {
    CONFIGURE: "configure",
    GENERAL: "general",
    ORG_VDCS: "org-vdcs",
};

export const SDDC_DETAILS = {
    GENERAL: "general",
    PROXIES: "proxies",
    TENANTS: "tenants",
};

export const VM_DETAILS = {
    GENERAL: "general",
    GUEST_CUSTOMIZATION: "guest-customization",
    HARDWARE: "hardware",
    REMOVABLE_MEDIA: "removable-media",
    GUEST_PROPERTIES: "guest-properties",
    COMPUTE: "compute",
    HARD_DISKS: "hard-disks",
    NICS: "nics",
    METADATA: "metadata",
    ADVANCED: "advanced",
    MONITORING_CHART: "monitoring-chart",
    SHARE: "share",
    MONITOR: "monitor",
    TASKS: "tasks",
    EVENTS: "events",
    SECURITY_DEVICES: "security-devices",
};

export const VAPP_DETAILS = {
    GENERAL: "general",
    NETWORKS: "networks",
    VAPP_VM_LIST: "vcd-vapp-vms",
    VAPP_DIAGRAM: "diagram",
    METADATA: "metadata",
    SHARED: "shared",
    GUEST_PROPERTIES: "guest-properties",
    START_STOP_ORDER: "start-stop-order",
    LEASE_SETTINGS: "leaseSettingsSection",
    APP_DETAILS: "app-details",
    APP_DETAILS_GENERAL: "app-details-general",
    APP_DETAILS_PREVIEW: "app-details-preview",
    MONITOR: "monitor",
    TASKS: "tasks",
    EVENTS: "events",
};

export const PLACEMENT_POLICY_DETAILS = {
    GENERAL: "general",
};

export const VGPU_POLICY_DETAILS = {
    GENERAL: "general",
};

export const NSXT_VDC_GROUPS_DETAILS = {
    GENERAL: "general",
    DFW: "dfw",
    PARTICIPATING_VDCS: "participating-vdcs",
    SECURITY: "security",
    DYNAMIC_GROUPS: "dynamic-groups",
    SECURITY_GROUPS: "security-groups",
    IP_SETS: "ip-sets",
    APP_PORT_PROFILES: "app-port-profiles",
    NETWORK_CONTEXT_PROFILES: "network-context-profiles",
    EDGE_GATEWAY: "edge-gateway",
};

export const STORAGE_POLICY_DETAILS = {
    GENERAL: "general",
    METADATA: "metadata",
};

export const RESOURCE_POOL_DETAILS = {
    ID: "rpId",
    VIRTUAL_MACHINES: "virtual-machines",
};
