diff --git a/README.md b/README.md index d3ea7be..9cf20e7 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# VMware VCF API Specifications +# VCF API Specifications ## Overview diff --git a/documentation/vsphere/wsdl/pbm/pbm_apiref.zip b/documentation/vsphere/wsdl/pbm/pbm_apiref.zip index 0f9d7a0..7d22570 100644 Binary files a/documentation/vsphere/wsdl/pbm/pbm_apiref.zip and b/documentation/vsphere/wsdl/pbm/pbm_apiref.zip differ diff --git a/documentation/vsphere/wsdl/sms/sms_apiref.zip b/documentation/vsphere/wsdl/sms/sms_apiref.zip index 9b100ab..4b03774 100644 Binary files a/documentation/vsphere/wsdl/sms/sms_apiref.zip and b/documentation/vsphere/wsdl/sms/sms_apiref.zip differ diff --git a/documentation/vsphere/wsdl/vim/vim25_api_ref.zip b/documentation/vsphere/wsdl/vim/vim25_api_ref.zip index f3db565..2c7c9bb 100644 Binary files a/documentation/vsphere/wsdl/vim/vim25_api_ref.zip and b/documentation/vsphere/wsdl/vim/vim25_api_ref.zip differ diff --git a/documentation/vsphere/wsdl/vsan/vsan_apiref.zip b/documentation/vsphere/wsdl/vsan/vsan_apiref.zip index 202ed5e..e897096 100644 Binary files a/documentation/vsphere/wsdl/vsan/vsan_apiref.zip and b/documentation/vsphere/wsdl/vsan/vsan_apiref.zip differ diff --git a/documentation/vsphere/wsdl/vslm/vslm_apiref.zip b/documentation/vsphere/wsdl/vslm/vslm_apiref.zip index 1d8aa36..2280ac0 100644 Binary files a/documentation/vsphere/wsdl/vslm/vslm_apiref.zip and b/documentation/vsphere/wsdl/vslm/vslm_apiref.zip differ diff --git a/scripts/java/README.md b/scripts/java/README.md index d7cbc2c..826238b 100644 --- a/scripts/java/README.md +++ b/scripts/java/README.md @@ -4,7 +4,7 @@ Each sub-folder contains a Maven 3.9-based project which can be used to generate client-side bindings. Use the `mvnw` wrapper to execute the commands below. Replace `sub-project` with the name of one of the root-projects (e.g. vim25). -Note: The source and target compatibility of the bindings are set to Java 11 +Note: The source and target compatibility of the bindings are set to Java 17 ## Building the bindings diff --git a/scripts/java/pom.xml b/scripts/java/pom.xml index 1aadc05..62d92b1 100644 --- a/scripts/java/pom.xml +++ b/scripts/java/pom.xml @@ -15,7 +15,7 @@ SPDX-License-Identifier: Apache-2.0--> pom - 11 + 17 com.vmware.custom_sdk 0.0.1 ../../../../../specifications/vsphere/wsdl @@ -39,7 +39,7 @@ SPDX-License-Identifier: Apache-2.0--> jakarta.xml.ws jakarta.xml.ws-api - 3.0.1 + 4.0.3 @@ -50,7 +50,7 @@ SPDX-License-Identifier: Apache-2.0--> org.apache.cxf cxf-codegen-plugin - 4.0.9 + 4.1.7 generate-bindings @@ -101,4 +101,5 @@ SPDX-License-Identifier: Apache-2.0--> vsphere/wsdl/vslm - \ No newline at end of file + + diff --git a/scripts/java/vsphere/wsdl/vim25/pom.xml b/scripts/java/vsphere/wsdl/vim25/pom.xml index 1a773c3..0cdb30c 100644 --- a/scripts/java/vsphere/wsdl/vim25/pom.xml +++ b/scripts/java/vsphere/wsdl/vim25/pom.xml @@ -62,38 +62,6 @@ SPDX-License-Identifier: Apache-2.0--> - - - org.codehaus.mojo - xml-maven-plugin - 1.2.0 - - - transform-episode - generate-sources - - transform - - - - - ${project.build.directory} - - ${episode.file.name} - - ${basedir}/add-if-exists.xslt - ${project.build.directory} - - - - - - org.apache.maven.plugins maven-compiler-plugin diff --git a/specifications/fleet-lcm/fleet-lcm-openapi.yaml b/specifications/fleet-lcm/fleet-lcm-openapi.yaml index 07b9078..2dc7e60 100644 --- a/specifications/fleet-lcm/fleet-lcm-openapi.yaml +++ b/specifications/fleet-lcm/fleet-lcm-openapi.yaml @@ -374,6 +374,63 @@ paths: description: Internal server error tags: - SDDC LCM + /v1/sddc-lcms/{sddcLcmId}/trusted-certificates: + post: + description: "Add or update a trusted certificate on the given SDDC LCM for\ + \ a component FQDN. This is a pass-through to SDDC LCM POST /v1/trusted-certificates\ + \ (nothing is stored on Fleet LCM). Returns a task; poll GET /v1/tasks/{taskId}\ + \ for the result." + operationId: addTrustedCertificateToSddcLcm + parameters: + - description: Id of SDDC LCM. + explode: true + in: path + name: sddcLcmId + required: true + schema: + format: uuid + type: string + style: simple + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TrustedCertificateSpec' + required: true + responses: + "202": + content: + application/json: + schema: + $ref: '#/components/schemas/Task' + description: "Accepted - trusted certificate task started. Poll GET /v1/tasks/{taskId}\ + \ for result." + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + description: Bad request. + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + description: Unauthorized + "404": + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + description: The specified resource was not found + "500": + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + description: Internal server error + tags: + - SDDC LCM /v1/sddc-lcms/{sddcLcmId}/backups: get: description: List backups for a SDDC LCM. Implicitly sorted by name. @@ -568,6 +625,82 @@ paths: description: Internal server error tags: - SDDC LCM + /v1/sddc-lcms/{sddcLcmId}/sddcs/resources/query: + post: + description: | + Start an asynchronous fetch of SDDC resources from the SDDC LCM's management vCenter, + proxied to SDDC LCM POST /v1/sddcs/resources/query. When `resourceTypes` is omitted, all + supported resource types are returned (currently: networks/DVPGs enriched with VDS name, + datacenter name, and vCenter name). When `resourceTypes` is specified, only the listed + types are included. Additional resource types (datastores, datacenters, resource pools) will + be added in future changes. Poll GET /v1/tasks/{taskId} for completion; when succeeded, + the task result holds SddcResourcesFetchResult. + + **Current limitation:** The response only includes resources from the management vCenter, + since today this API is consumed solely by VCFA and vRNI installation flows which always + deploy on the management vCenter. + + **Future:** When HA or multiple VCFA deployments are supported (where VCFA may be installed + on different clusters across multiple vCenters managed by the same SDDC LCM), the response + will be extended to include resources from all managed vCenters. + operationId: fetchSddcLcmResources + parameters: + - description: Id of SDDC LCM. + explode: true + in: path + name: sddcLcmId + required: true + schema: + format: uuid + type: string + style: simple + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SddcResourcesFetchSpec' + description: Optional resource type filter and pagination parameters. + required: false + responses: + "202": + content: + application/json: + schema: + $ref: '#/components/schemas/Task' + description: "Accepted - fetch task started. Poll GET /v1/tasks/{taskId}\ + \ for result." + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + description: Bad request. + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + description: Forbidden + "404": + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + description: The specified resource was not found + "500": + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + description: Internal server error + tags: + - SDDC LCM /v1/components: get: description: Get components by filter criteria and helps paginate based on sddclcms. @@ -626,6 +759,14 @@ paths: schema: type: boolean style: form + - description: Filter components by their import status. + explode: true + in: query + name: importStatus + required: false + schema: + $ref: '#/components/schemas/ComponentImportStatus' + style: form - description: "Page Number (1-based, defaults to 1)" explode: true in: query @@ -2075,6 +2216,23 @@ paths: type: array uniqueItems: true style: form + - description: Filter components by component ID (exact match). Multiple values + can be provided as comma-separated list. Only components whose ID is in + the list are returned. + explode: true + in: query + name: componentId + required: false + schema: + example: + - c5abbd8c-b94e-40d3-bc0e-68e9b0a4489a + - 2547462d-f206-4e18-abf8-7a413aaba306 + items: + format: uuid + type: string + type: array + uniqueItems: true + style: form responses: "200": content: @@ -2745,6 +2903,15 @@ components: schema: type: boolean style: form + componentFilterImportStatusQueryParam: + description: Filter components by their import status. + explode: true + in: query + name: importStatus + required: false + schema: + $ref: '#/components/schemas/ComponentImportStatus' + style: form sddcLcmBackupScheduleEnabledQueryParam: description: Backup schedule enabled. explode: true @@ -3035,6 +3202,24 @@ components: type: array uniqueItems: true style: form + componentIdFilterQueryParam: + description: Filter components by component ID (exact match). Multiple values + can be provided as comma-separated list. Only components whose ID is in the + list are returned. + explode: true + in: query + name: componentId + required: false + schema: + example: + - c5abbd8c-b94e-40d3-bc0e-68e9b0a4489a + - 2547462d-f206-4e18-abf8-7a413aaba306 + items: + format: uuid + type: string + type: array + uniqueItems: true + style: form taskCreatedByQueryParam: description: Filter tasks by creator (username or service account) in: query @@ -3152,6 +3337,12 @@ components: schema: $ref: '#/components/schemas/ErrorResponse' description: Unauthorized + Forbidden: + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + description: Forbidden InternalServerError: content: application/json: @@ -3331,7 +3522,7 @@ components: fqdn: fqdn backupConfigSpec: incrementalSchedule: - interval: 1 + interval: 240 fallbackToFull: true enabled: true encryptionPassphrase: encryptionPassphrase @@ -3363,7 +3554,7 @@ components: fqdn: fqdn backupConfigSpec: incrementalSchedule: - interval: 1 + interval: 240 fallbackToFull: true enabled: true encryptionPassphrase: encryptionPassphrase @@ -3404,7 +3595,7 @@ components: fqdn: fqdn backupConfigSpec: incrementalSchedule: - interval: 1 + interval: 240 fallbackToFull: true enabled: true encryptionPassphrase: encryptionPassphrase @@ -3511,7 +3702,7 @@ components: type: MANAGEMENT backupConfig: incrementalSchedule: - interval: 1 + interval: 240 fallbackToFull: true enabled: true storage: @@ -3557,7 +3748,7 @@ components: type: MANAGEMENT backupConfig: incrementalSchedule: - interval: 1 + interval: 240 fallbackToFull: true enabled: true storage: @@ -3614,7 +3805,7 @@ components: type: MANAGEMENT backupConfig: incrementalSchedule: - interval: 1 + interval: 240 fallbackToFull: true enabled: true storage: @@ -3716,6 +3907,7 @@ components: dnsSuffix: dnsSuffix deploymentOption: deploymentOption networkName: networkName + networkMoId: networkMoId ipv6Settings: address: address netmask: netmask @@ -3745,6 +3937,7 @@ components: dnsSuffix: dnsSuffix deploymentOption: deploymentOption networkName: networkName + networkMoId: networkMoId ipv6Settings: address: address netmask: netmask @@ -3780,6 +3973,7 @@ components: dnsSuffix: dnsSuffix deploymentOption: deploymentOption networkName: networkName + networkMoId: networkMoId ipv6Settings: address: address netmask: netmask @@ -3809,6 +4003,7 @@ components: dnsSuffix: dnsSuffix deploymentOption: deploymentOption networkName: networkName + networkMoId: networkMoId ipv6Settings: address: address netmask: netmask @@ -3893,6 +4088,7 @@ components: type: string required: - deploymentType + - sddcLcmId type: object VspClusterIPv4Pool: properties: @@ -3965,6 +4161,7 @@ components: required: - componentType - deploymentType + - sddcLcmId - version type: object OvaComponentSpec: @@ -3994,6 +4191,7 @@ components: dnsSuffix: dnsSuffix deploymentOption: deploymentOption networkName: networkName + networkMoId: networkMoId ipv6Settings: address: address netmask: netmask @@ -4023,6 +4221,7 @@ components: dnsSuffix: dnsSuffix deploymentOption: deploymentOption networkName: networkName + networkMoId: networkMoId ipv6Settings: address: address netmask: netmask @@ -4052,6 +4251,7 @@ components: - componentType - deploymentType - nodeSpecs + - sddcLcmId type: object OvaComponentUpdateSpec: example: @@ -4080,6 +4280,7 @@ components: dnsSuffix: dnsSuffix deploymentOption: deploymentOption networkName: networkName + networkMoId: networkMoId ipv6Settings: address: address netmask: netmask @@ -4109,6 +4310,7 @@ components: dnsSuffix: dnsSuffix deploymentOption: deploymentOption networkName: networkName + networkMoId: networkMoId ipv6Settings: address: address netmask: netmask @@ -4160,6 +4362,7 @@ components: dnsSuffix: dnsSuffix deploymentOption: deploymentOption networkName: networkName + networkMoId: networkMoId ipv6Settings: address: address netmask: netmask @@ -4207,6 +4410,7 @@ components: dnsSuffix: dnsSuffix deploymentOption: deploymentOption networkName: networkName + networkMoId: networkMoId ipv6Settings: address: address netmask: netmask @@ -4240,6 +4444,15 @@ components: $ref: '#/components/schemas/IPv6Settings' networkName: type: string + networkMoId: + description: | + Managed Object ID of the vSphere portgroup to attach the deployed VM to. + Takes precedence over networkName when both are supplied. + Use this for precision when the same portgroup name exists across multiple VDSes. + Only resolved for component install requests. Scaleout/add-node requests + (OvaComponentUpdateSpec) do not resolve this field and silently fall back + to networkName. + type: string extraConfigProperties: additionalProperties: type: string @@ -4341,6 +4554,7 @@ components: example: components: - componentType: componentType + importStatus: IMPORT_FAILED fqdn: fqdn certificate: certificate vspCluster: @@ -4348,6 +4562,9 @@ components: certificate: certificate id: id type: MANAGEMENT + importAttempt: + taskId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + stageId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 version: version sddcLcmId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 deploymentType: OVA @@ -4379,6 +4596,7 @@ components: id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 componentTypeDescription: VCF Operations - componentType: componentType + importStatus: IMPORT_FAILED fqdn: fqdn certificate: certificate vspCluster: @@ -4386,6 +4604,9 @@ components: certificate: certificate id: id type: MANAGEMENT + importAttempt: + taskId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + stageId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 version: version sddcLcmId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 deploymentType: OVA @@ -4433,6 +4654,7 @@ components: description: Installed Component subject to lifecycle. example: componentType: componentType + importStatus: IMPORT_FAILED fqdn: fqdn certificate: certificate vspCluster: @@ -4440,6 +4662,9 @@ components: certificate: certificate id: id type: MANAGEMENT + importAttempt: + taskId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + stageId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 version: version sddcLcmId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 deploymentType: OVA @@ -4515,6 +4740,10 @@ components: sddcLcmId: format: uuid type: string + importStatus: + $ref: '#/components/schemas/ComponentImportStatus' + importAttempt: + $ref: '#/components/schemas/ImportAttempt' vcenter: $ref: '#/components/schemas/Vcenter' vspCluster: @@ -4523,6 +4752,27 @@ components: - id title: Component type: object + ComponentImportStatus: + description: Status of the last component import operation. + enum: + - IMPORT_FAILED + - IMPORT_SUCCEEDED + type: string + ImportAttempt: + description: Details of the most recent component import attempt. + example: + taskId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + stageId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + properties: + taskId: + description: Identifier of the top-level import task. + format: uuid + type: string + stageId: + description: Identifier of the failed stage within the import task. + format: uuid + type: string + type: object Nodes: example: nodes: @@ -5004,6 +5254,10 @@ components: description: Comma-separated list of IP Addresses to exclude from Internet proxy server type: string + readTimeout: + description: Read timeout for Internet Proxy Server in minutes (valid range + 15-480) + type: integer type: object VspVolumes: items: @@ -5104,6 +5358,133 @@ components: description: Whether the datastore is the default. type: boolean type: object + InventoryNetworksFetchSpec: + description: | + Optional pagination controls for the inventory networks fetch task. If the request body is + omitted entirely, defaults to page 1 with a page size of 50. Use the `pageMetadata` field + in the completed task result to determine total pages and elements; start a new fetch task + with the desired `pageNumber` to retrieve additional pages. + properties: + pageNumber: + default: 1 + description: Page number (1-based). Defaults to 1 if not provided. + minimum: 1 + type: integer + pageSize: + default: 50 + description: Number of networks per page. Defaults to 50 if not provided; + maximum allowed is 50. + maximum: 50 + minimum: 1 + type: integer + type: object + SddcResourceType: + description: Resource type to include in the SDDC resources fetch result. + enum: + - NETWORK + type: string + SddcResourcesFetchSpec: + description: Request body for fetching SDDC resources from vCenter. + example: + resourceTypes: + - NETWORK + - NETWORK + pageNumber: 1 + pageSize: 1 + properties: + resourceTypes: + description: | + Resource types to include in the response. When omitted, all supported resource types are returned. When specified, only the listed types are included. + items: + $ref: '#/components/schemas/SddcResourceType' + minItems: 1 + type: array + pageNumber: + description: 1-based page number. Defaults to 1 if not provided. + format: int32 + minimum: 1 + type: integer + pageSize: + description: Page size per resource type (capped by server defaults). Defaults + to 50. + format: int32 + minimum: 1 + type: integer + type: object + SddcResourcesFetchResult: + description: | + Result of a SDDC resources fetch task (type = SDDC_RESOURCES_FETCH). Returned when + GET /v1/tasks/{taskId} completes successfully. Contains a flat list of SDDC resources + with a single shared pageMetadata. Each element carries a `resourceType` field as a + discriminator identifying its kind (e.g. NETWORK). When no `resourceTypes` filter was + provided, all currently supported types are included. When a filter was provided, only + the matching types appear. + properties: + type: + example: SDDC_RESOURCES_FETCH + type: string + elements: + description: | + Flat list of SDDC resources across all requested resource types. Each element carries + a `resourceType` discriminator field identifying its kind (e.g. NETWORK). + items: + $ref: '#/components/schemas/SddcResource' + type: array + pageMetadata: + allOf: + - $ref: '#/components/schemas/PageMetadata' + description: Shared pagination metadata for the flat elements list. + required: + - type + type: object + SddcResource: + description: | + Common representation of an SDDC resource. `resourceType` identifies the kind; + the corresponding type-specific sub-object (`network`, `datastore`, …) carries + kind-specific fields. Adding a new resource type is purely additive — existing + consumers are unaffected because unknown fields are ignored during deserialization. + + To add a new resource type, add its constant to `SddcResourceConstants`, add its + schema as a new optional property here, and register it in `SddcResourceModel`. + properties: + resourceType: + description: Identifies the resource type (e.g. NETWORK). + example: NETWORK + type: string + moid: + description: vSphere Managed Object ID common to all resource types (e.g. + dvportgroup-101). + type: string + name: + description: Resource display name common to all resource types. + type: string + network: + $ref: '#/components/schemas/SddcNetwork' + required: + - moid + - name + - resourceType + type: object + SddcNetwork: + description: Network-specific fields for a distributed virtual port group (DVPG) + resource. + properties: + isDefault: + description: | + True when this DVPG is connected to the vCenter appliance VM, false otherwise. + Always present in the response. + type: boolean + vdsName: + description: Display name of the parent Distributed Virtual Switch. + type: string + datacenterName: + description: Display name of the vCenter datacenter that owns the DVS. + type: string + vcenterName: + description: FQDN / address of the vCenter instance this network belongs + to. + type: string + type: object ComponentStatuses: description: Component current statuses example: @@ -5140,7 +5521,7 @@ components: description: Backup configuration for a component/cluster. example: incrementalSchedule: - interval: 1 + interval: 240 fallbackToFull: true enabled: true encryptionPassphrase: encryptionPassphrase @@ -5248,7 +5629,7 @@ components: description: Configuration for incremental backups. Incremental backups require full backups to be enabled. example: - interval: 1 + interval: 240 fallbackToFull: true enabled: true properties: @@ -5259,9 +5640,10 @@ components: description: Shows whether to fallback to a full backup. type: boolean interval: - default: 15 + default: 240 description: Interval in minutes for an incremental backup to be created. - minimum: 1 + Minimum is 4 hours. + minimum: 240 type: integer type: object BackupRetentionConfigSpec: @@ -5334,7 +5716,7 @@ components: description: Backup configuration for a component/cluster. example: incrementalSchedule: - interval: 1 + interval: 240 fallbackToFull: true enabled: true storage: @@ -5405,7 +5787,7 @@ components: allOf: - $ref: '#/components/schemas/IncrementalBackupConfigSpec' example: - interval: 1 + interval: 240 fallbackToFull: true enabled: true BackupRetentionConfig: @@ -5448,6 +5830,34 @@ components: - thumbprint - username type: object + TrustedCertificateSpec: + example: + fqdn: fqdn + port: 1 + certificate: certificate + skipValidations: false + properties: + certificate: + description: PEM-encoded X.509 certificate or chain. Multiple PEM blocks + concatenated are accepted. + type: string + fqdn: + description: FQDN of the component to trust the certificate for. + type: string + skipValidations: + default: false + description: "Skip all certificate validations, including on the SDDC LCM,\ + \ and write the certificate unconditionally." + type: boolean + port: + default: 443 + description: TLS port of the component. Defaults to 443 when not specified. + minimum: 1 + type: integer + required: + - certificate + - fqdn + type: object BackupRestoreSpec: description: Backup and Restore Spec discriminator: @@ -5619,38 +6029,47 @@ components: type: object ComponentsResourceRequirements: example: - totalStorage: 1 + totalStorage: 5 components: - - minInstances: 9 + - minInstances: 2 componentType: componentType - numberOfInstances: 7 + memory: 7.061401241503109 + ipCountLimit: 1 + numberOfCores: 5 + storage: 9 + ipCountRecommended: 1 + workersCount: 1 + numberOfInstances: 3 deploymentType: OVA - memory: 5.637376656633329 + cpuCores: 2.3021358869347655 workerNodeRequirement: workerNodeRequirement - ipCount: 2 - ipCountLimit: 4 - numberOfCores: 5 - storage: 2 - maxInstances: 3 - ipCountRecommended: 7 - - minInstances: 9 + ipCount: 7 + maxInstances: 4 + - minInstances: 2 componentType: componentType - numberOfInstances: 7 + memory: 7.061401241503109 + ipCountLimit: 1 + numberOfCores: 5 + storage: 9 + ipCountRecommended: 1 + workersCount: 1 + numberOfInstances: 3 deploymentType: OVA - memory: 5.637376656633329 + cpuCores: 2.3021358869347655 workerNodeRequirement: workerNodeRequirement - ipCount: 2 - ipCountLimit: 4 - numberOfCores: 5 - storage: 2 - maxInstances: 3 - ipCountRecommended: 7 - totalMemory: 6.027456183070403 + ipCount: 7 + maxInstances: 4 + totalMemory: 1.4658129805029452 totalNumberOfCores: 0 + totalCpuCores: 6.027456183070403 properties: totalNumberOfCores: - description: Number of vCPU cores + description: Total number of vCPU cores type: integer + totalCpuCores: + description: Total amount of vCPU cores. Fractional amounts are supported. + format: double + type: number totalMemory: format: double type: number @@ -5664,22 +6083,28 @@ components: type: object ComponentResourceRequirements: example: - minInstances: 9 + minInstances: 2 componentType: componentType - numberOfInstances: 7 + memory: 7.061401241503109 + ipCountLimit: 1 + numberOfCores: 5 + storage: 9 + ipCountRecommended: 1 + workersCount: 1 + numberOfInstances: 3 deploymentType: OVA - memory: 5.637376656633329 + cpuCores: 2.3021358869347655 workerNodeRequirement: workerNodeRequirement - ipCount: 2 - ipCountLimit: 4 - numberOfCores: 5 - storage: 2 - maxInstances: 3 - ipCountRecommended: 7 + ipCount: 7 + maxInstances: 4 properties: numberOfCores: - description: Number of vCPU cores + description: Number of vCPU cores. type: integer + cpuCores: + description: Amount of vCPU cores required. Fractional amounts are supported. + format: double + type: number memory: format: double type: number @@ -5708,6 +6133,9 @@ components: ipCountRecommended: description: Recommended amount of IPs type: integer + workersCount: + description: Amount of worker nodes + type: integer deploymentType: description: Type of the component. VSP_SERVICE type entities are not included in total numbers. @@ -5826,6 +6254,7 @@ components: - OPS_DATA_PLATFORM - VCFA - OPS_NETWORKS + - OPS_NETWORKS_COLLECTOR - VIDB - VSP - VCF_FLEET_LCM @@ -6000,6 +6429,13 @@ components: - VSP_COMPONENT_SPEC_FQDN - IP_IN_USE - VSP_COMPONENT_NETWORK_CONNECTIVITY + - VSP_FIREWALL_BLOCKED + - VSP_CLUSTER_SPEC_MISSING_IP_POOL_DETAILS + - VSP_CLUSTER_SPEC_CONFLICTING_IP_POOL_DETAILS + - VSP_CLUSTER_SPEC_INVALID_IP_ADDRESSES + - VSP_CLUSTER_SPEC_DUPLICATE_IP_ADDRESSES + - VSP_CLUSTER_SPEC_FQDN_CONFLICT_WITH_IP_POOL + - VSP_CLUSTER_SPEC_INVALID_CIDR - VSP_CLUSTER_IP_POOL - OVA_NODE_SPEC_FQDN - OVA_NODE_SPEC_MISSING_ADDRESS @@ -6023,6 +6459,7 @@ components: - INVALID_PASSWORD - PASSWORD_COMPLEXITY - EXISTING_COMPONENT_WITH_TYPE + - SDDC_LCM_IDS_NOT_FOUND - DUPLICATE_COMPONENT_TYPE_SPEC - NOT_PRIMARY_SDDC_LCM - OPS_NETWORKS_INVALID_DEPLOYMENT_SIZE @@ -6033,6 +6470,10 @@ components: - OPS_NETWORKS_INVALID_CLUSTER_NODE_COUNT - OPS_CA_ENABLED - OPS_REPLICA_NODE_ALREADY_EXISTS + - OVA_INVALID_NODE_TYPE + - OPS_NODE_VERSION_MISMATCH + - VSP_INVALID_HOSTNAME_IN_PLATFORM_FQDN + - VCFA_INTERNAL_CLUSTER_CIDR_NOT_VALID type: string Validation: properties: @@ -6042,6 +6483,8 @@ components: $ref: '#/components/schemas/ValidationErrorCode' message: $ref: '#/components/schemas/LocalizableMessage' + resolution: + $ref: '#/components/schemas/LocalizableMessage' type: object ValidationResult: properties: @@ -7582,15 +8025,67 @@ components: type: string VcfaUpgradeSpec: description: | - Payload for initiating a VCFA component upgrade operation. It encapsulates the user inputs required for the upgrade request. + Payload for initiating a VCFA upgrade operation. + It encapsulates the user inputs required for deploying the VCFA consumption cluster (VSP cluster). + + Note: The IP pool size constraints in this spec (minimum 5, maximum 256 IPs) apply + specifically to the VCFA consumption cluster. Other cluster types have different + requirements (e.g., VMSP management cluster: minimum 10 IPs for VVF, 12 IPs for VCF). properties: targetVspClusterFqdn: + description: FQDN of the target VSP cluster + example: vcfa-vsp1.example.com type: string targetVspClusterPassword: + description: Password for the target VSP cluster format: password type: string targetVspClusterIpPoolCidr: - type: string + description: | + CIDR notation for the VCFA consumption cluster (VSP cluster) IP pool (e.g., "10.0.0.0/24") + + Specifies the IP network in CIDR format for the target VSP cluster. + Must provide between 5 and 256 available IP addresses (VCFA consumption cluster requirement). + + + Mutually exclusive with targetVspClusterIpPoolRange and targetVspClusterIpPoolAddresses. + example: 10.0.0.0/24 + pattern: "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\ + /([0-9]|[1-2][0-9]|3[0-2])$" + type: string + targetVspClusterIpPoolRange: + $ref: '#/components/schemas/VspClusterIpRange_1' + targetVspClusterIpPoolAddresses: + description: | + List of individual IP addresses for the VCFA consumption cluster (VSP cluster) IP pool + (e.g., ["10.0.0.80", "10.0.0.81", "10.0.0.82"]) + + + Must provide between 5 and 256 addresses (VCFA consumption cluster requirement). + Addresses do NOT need to be contiguous. + Supports non-contiguous IP allocations. + + Mutually exclusive with targetVspClusterIpPoolCidr and targetVspClusterIpPoolRange. + items: + example: 10.0.0.80 + format: ipv4 + pattern: "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + type: string + maxItems: 256 + minItems: 5 + type: array + targetVspClusterExcludedAddresses: + description: | + List of IP addresses to exclude from the VSP cluster IP pool. + + Useful when you have reserved IPs within a CIDR block or range that + should not be used for the deployment. + items: + example: 10.0.0.90 + format: ipv4 + pattern: "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + type: string + type: array type: object OpsLogsUpgradeSpec: description: | @@ -8216,6 +8711,66 @@ components: format: uri type: string type: object + InventoryNetworksResult: + description: Result of an inventory networks fetch task. Returned when GET task + for a fetch task completes successfully. + properties: + type: + example: INVENTORY_NETWORKS_FETCH + type: string + inventoryNetworks: + $ref: '#/components/schemas/InventoryNetworks' + required: + - inventoryNetworks + - type + type: object + InventoryNetworks: + description: | + Paginated snapshot of networks discovered for SDDC inventory (management domain and, + where applicable, other domains). Returned as the payload of a successful + INVENTORY_NETWORKS_FETCH task result. + + The structure matches InventoryDatastores-style pagination: a page of inventory network + entries plus page metadata describing the current slice and overall result set (totals, + page number, page size). + properties: + networks: + description: | + Networks for the requested page. Ordering is defined by SDDC LCM; callers must not + assume a stable sort across fetches unless documented by the service. + items: + $ref: '#/components/schemas/InventoryNetwork' + type: array + pageMetadata: + allOf: + - $ref: '#/components/schemas/PageMetadata' + description: | + Pagination metadata for this response (e.g. page number, page size, total elements, + total pages). Use with optional fetch pagination to walk the full set. + required: + - networks + - pageMetadata + type: object + InventoryNetwork: + description: Inventory network from SDDC LCM infrastructure (e.g. vSphere port + group). + properties: + id: + description: Network identifier (e.g. vSphere Managed Object ID). + type: string + name: + description: Name of the network. + type: string + isDefault: + description: | + Whether this network is the default. Omitted from JSON when false or unset; present + only when true. + type: boolean + x-field-extra-annotation: '@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_DEFAULT)' + required: + - id + - name + type: object ComponentDesiredSpec: description: | Specifications related to the component's desired configuration and the source for its upgrade artifacts. @@ -8298,6 +8853,32 @@ components: required: - performBackup type: object + VspClusterIpRange_1: + description: | + IP range specification for the VCFA consumption cluster (VSP cluster) IP pool. + + Defines a contiguous block of IP addresses from startIpAddress to endIpAddress (inclusive). + Example: startIpAddress "10.0.0.80", endIpAddress "10.0.0.89" represents 10 IPs. + + Must provide between 5 and 256 contiguous IP addresses (VCFA consumption cluster requirement). + Other cluster types have different minimum IP requirements. + properties: + startIpAddress: + description: Starting IPv4 address of the range (inclusive) + example: 10.0.0.80 + format: ipv4 + pattern: "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + type: string + endIpAddress: + description: Ending IPv4 address of the range (inclusive) + example: 10.0.0.89 + format: ipv4 + pattern: "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + type: string + required: + - endIpAddress + - startIpAddress + type: object performComponentAction_request: discriminator: mapping: @@ -8429,11 +9010,15 @@ components: PRECHECK: '#/components/schemas/PrecheckResult' OPS_LOGS_UPGRADE: '#/components/schemas/OpsLogsUpgradeResult' VALIDATION: '#/components/schemas/ValidationResult' + INVENTORY_NETWORKS_FETCH: '#/components/schemas/InventoryNetworksResult' + SDDC_RESOURCES_FETCH: '#/components/schemas/SddcResourcesFetchResult' propertyName: type oneOf: - $ref: '#/components/schemas/PrecheckResult' - $ref: '#/components/schemas/OpsLogsUpgradeResult' - $ref: '#/components/schemas/ValidationResult' + - $ref: '#/components/schemas/InventoryNetworksResult' + - $ref: '#/components/schemas/SddcResourcesFetchResult' securitySchemes: basicAuth: scheme: basic diff --git a/specifications/nsx/openapi-2.0/nsx_api.yaml b/specifications/nsx/openapi-2.0/nsx_api.yaml index 88da9e5..2f6e473 100644 --- a/specifications/nsx/openapi-2.0/nsx_api.yaml +++ b/specifications/nsx/openapi-2.0/nsx_api.yaml @@ -191,11 +191,11 @@ definitions: Type of synchronization type: string required: - - full_sync_status - - description - sync_type - - status + - description - standby_site + - full_sync_status + - status - is_data_consistent type: object x-vmw-nsx-module: SiteManager @@ -271,9 +271,9 @@ definitions: must be set to AddControllerNodeSpec type: string required: - - host_msg_client_info - - mpa_msg_client_info - type + - mpa_msg_client_info + - host_msg_client_info type: object x-vmw-nsx-module: ClusterManagement AddManagementNodeSpec: @@ -317,8 +317,8 @@ definitions: The username to be used to authenticate with the remote node. type: string required: - - user_name - remote_address + - user_name - type type: object x-vmw-nsx-module: ClusterManagement @@ -1074,7 +1074,9 @@ definitions: uniqueItems: true alarm_source_type: description: | - Type of alarm source of the Event instance. Can be one of - INTENT_PATH, ENTITY_ID. + Type of alarm source of the Event instance. One of: INTENT_PATH (policy path to the entity that + triggered the alarm), ENTITY_ID (internal entity ID), or SYSTEM_ID (system-level alarm source with + no associated user-visible entity). enum: - INTENT_PATH - ENTITY_ID @@ -1107,7 +1109,8 @@ definitions: type: string event_tags: description: | - Tags applicable to event, for example, INFRASTRUCTURE or INTELLIGENCE. + Tags applicable to event, for example, INFRASTRUCTURE, TENANT_NETWORKING, + TENANT_SECURITY. items: type: string readOnly: true @@ -1515,12 +1518,12 @@ definitions: type: string nodes: description: |- - List of at most 200 container node UUIDs requiring a support bundle + List of at most 24 container node UUIDs requiring a support bundle items: type: string minItems: 1 title: |- - List of at most 200 container node UUIDs requiring a support bundle + List of at most 24 container node UUIDs requiring a support bundle type: array required: - cluster_id @@ -1599,10 +1602,10 @@ definitions: type: string required: - node_id + - address - port - - uuid - certificate - - address + - uuid title: |- Apliance proxy hub information type: object @@ -2671,16 +2674,16 @@ definitions: Date and time in UTC of the log type: string required: - - msgid - priority - - facility - - struct_data - - loglevel - procid - - full_log + - message - appname + - msgid - timestamp - - message + - facility + - full_log + - loglevel + - struct_data - hostname title: |- Audit log in RFC5424 format @@ -2705,8 +2708,8 @@ definitions: Audit log results type: array required: - - results - last_full_sync_timestamp + - results type: object x-vmw-nsx-module: MISSING_MODULE description: |- @@ -2771,8 +2774,14 @@ definitions: - properties: api_failed_auth_lockout_period: default: 900 - description: |- - Once a lockout occurs, the account remains locked out of the API for this time period. Only applies to NSX Manager nodes. Ignored on other node types. + description: | + Once a lockout occurs, the account remains locked out + of the API for this time period. Only applies to NSX + Manager nodes. Ignored on other node types. +
+ When a VCF password management policy is configured, this field must equal the + the VCF password management policy's lockoutPeriod. A conflicting value results + in a 409 CONFLICT. format: int64 maximum: 9000 minimum: 0 @@ -2781,8 +2790,16 @@ definitions: type: integer api_failed_auth_reset_period: default: 900 - description: |- - In order to trigger an account lockout, all authentication failures must occur in this time window. If the reset period expires, the failed login count is reset to zero. Only applies to NSX Manager nodes. Ignored on other node types. + description: | + In order to trigger an account lockout, all + authentication failures must occur in this time + window. If the reset period expires, the failed + login count is reset to zero. Only applies to NSX + Manager nodes. Ignored on other node types. +
+ When a VCF password management policy is configured, this field must equal the + the VCF password management policy's lockoutEvaluationPeriod. A conflicting value + results in a 409 CONFLICT. format: int64 maximum: 9000 minimum: 0 @@ -2791,8 +2808,13 @@ definitions: type: integer api_max_auth_failures: default: 5 - description: |- - Only applies to NSX Manager nodes. Ignored on other node types. + description: | + Only applies to NSX Manager nodes. Ignored on other + node types. +
+ When a VCF password management policy is configured, this field must equal the + the VCF password management policy's lockoutMaxAuthFailures. A conflicting value + results in a 409 CONFLICT. format: int64 maximum: 50 minimum: 0 @@ -2939,8 +2961,8 @@ definitions: Username for AVI LB endpoint type: string required: - - avi_endpoint_username - avi_endpoint_ip + - avi_endpoint_username title: |- AVI LB endpoint details type: object @@ -3410,10 +3432,10 @@ definitions: restore_status: $ref: '#/definitions/ClusterRestoreStatus' required: - - backup_config + - current_backup_operation_status - backup_operation_history + - backup_config - restore_status - - current_backup_operation_status type: object x-vmw-nsx-module: BackupConfiguration description: |- @@ -3820,8 +3842,8 @@ definitions: Transport Type type: string required: - - resource_type - transport_type + - resource_type type: object x-vmw-nsx-module: ServiceInsertionCommonTypes description: |- @@ -3892,8 +3914,8 @@ definitions: User name to authenticate with type: string required: - - scheme_name - username + - scheme_name type: object x-vmw-nsx-module: MISSING_MODULE x-vmw-nsx-module: MISSING_MODULE @@ -3939,8 +3961,8 @@ definitions: Internal uri of the call type: string required: - - uri - method + - uri title: |- A single request within a batch of operations type: object @@ -5541,6 +5563,7 @@ definitions: Type of certificate, currently it's CA certificate. enum: - CA_CERTIFICATE + - MACHINE_SSL readOnly: false title: |- Type of certificate @@ -5743,14 +5766,14 @@ definitions: Object type for which usage is fetched type: string required: - - severity - - display_name - - max_supported_count - - current_usage_percentage - - usage_type - max_threshold_percentage + - current_usage_percentage + - severity - current_usage_count + - max_supported_count + - display_name - min_threshold_percentage + - usage_type type: object x-vmw-nsx-module: CapacityDashboard CapacityThreshold: @@ -5878,8 +5901,8 @@ definitions: Unreported usage types type: array required: - - capacity_usage - meta_info + - capacity_usage type: object x-vmw-nsx-module: CapacityDashboard x-vmw-nsx-module: CapacityDashboard @@ -6002,9 +6025,9 @@ definitions: IPv4 subnet mask prefix length type: integer required: - - entity_uuid - certificate - entity_type + - entity_uuid title: |- Cluster Node Entity Properties type: object @@ -6198,8 +6221,8 @@ definitions: readOnly: false type: string required: - - certificate_id - service_type + - certificate_id title: |- Certificate binding type: object @@ -6790,8 +6813,8 @@ definitions: Name of the TLS cipher suite type: string required: - - name - enabled + - name title: |- HTTP cipher suite type: object @@ -6847,8 +6870,8 @@ definitions: format: ip type: string required: - - next_hop - network + - next_hop title: |- DHCP classless static route option type: object @@ -7573,8 +7596,8 @@ definitions: ID of VM used to recognize it type: string required: - - roles - deployment_config + - roles title: |- Info for an auto-deployment request type: object @@ -7937,8 +7960,8 @@ definitions: Array of Management Nodes type: array required: - - controller_cluster - management_cluster + - controller_cluster type: object x-vmw-nsx-module: ClusterManagement CmThumbprintHashingConfig: @@ -7950,9 +7973,8 @@ definitions: thumbprint of NSX manager certificate is stamped in NSXT extension on vCenter. If algorithm type is SHA1, then SHA1 thumbprint of NSX manager API certificate is stamped. If algorithm type is SHA256, then SHA256 thumbprint of - NSX manager certificate is stamped. Changing this setting to SHA256 will result - in communication issues between WCP component in VC and NSX manager. - Hence it is recommended not to use SHA256 if VC WCP feature is being used with NSX. + NSX manager certificate is stamped. SHA256 is mandatory for all environments + including WCP. enum: - SHA1 - SHA256 @@ -8087,8 +8109,8 @@ definitions: Field data type type: string required: - - field - label + - field - type title: |- Grid Column @@ -8441,14 +8463,13 @@ definitions: type: array origin_type: description: | - ComputeCollection type like VC_Cluster. Here the Compute Manager - type prefix would help in differentiating similar named Compute - Collection types from different Compute Managers + Identifies the type of compute collection as reported by the Compute Manager. + VC_Cluster represents a vSphere cluster. VC_ResourcePool represents a vSphere + resource pool. The "VC_" prefix denotes that the collection originates from a + vCenter Compute Manager. readOnly: true - title: | - ComputeCollection type like VC_Cluster. Here the Compute Manager - type prefix would help in differentiating similar named Compute - Collection types from different Compute Managers + title: |- + Origin Type of the Compute Collection type: string owner_id: description: |- @@ -8459,11 +8480,11 @@ definitions: type: string owner_nsx: description: | - Specifies owner nsx of the compute collection. Owner nsx can be SELF, OTHER, MULTIPLE or NONE. - SELF applies to when compute collection prepared by that nsx. - OTHER applies to when compute collection prepared by other nsx. - MULTIPLE applies to when compute collection tried to prepare by multiple nsx at a time. - NONE applies to when compute collection is not prepared by any nsx. + Identifies which NSX instance has prepared this Compute Collection. + SELF - this NSX instance has prepared the Compute Collection. + OTHER - another NSX instance has prepared the Compute Collection. + MULTIPLE - multiple NSX instances attempted to prepare this Compute Collection simultaneously. + NONE - no NSX instance has prepared this Compute Collection. enum: - SELF - OTHER @@ -8471,10 +8492,15 @@ definitions: - NONE readOnly: true title: |- - Specifies owner nsx of the compute collection + NSX ownership of the Compute Collection type: string type: object x-vmw-nsx-module: InventoryCmObj + description: | + Represents a compute collection discovered from a registered Compute Manager (e.g., a + vCenter cluster or resource pool). + title: |- + Compute Collection x-vmw-nsx-module: InventoryCmObj ComputeCollectionListResult: allOf: @@ -8623,8 +8649,8 @@ definitions: VPC access level type: string required: - - server - origin_type + - server type: object x-vmw-nsx-module: InventoryCmObj x-vmw-nsx-module: InventoryCmObj @@ -8653,6 +8679,19 @@ definitions: description: |- Runtime status information of the compute manager properties: + certificates: + description: | + List of VC certificates NSX tracks for this compute manager. This contains two entries: one with type MACHINE_SSL + for the VC machine SSL (leaf) certificate pinned in the NSX trust + store, and one with type CA_CERTIFICATE for the VC trusted root + imported into the NSX trust store. Populated by Add, Edit, and the + machine SSL certificate refresh flows. + items: + $ref: '#/definitions/CACertificateData' + readOnly: true + title: |- + Certificates known to NSX for this compute manager + type: array connection_errors: description: |- Errors when connecting with compute manager @@ -8686,6 +8725,14 @@ definitions: format: int64 readOnly: true type: integer + machine_ssl_cert_id: + description: "Identifier of the VC machine SSL (leaf) certificate entry in\ + \ the NSX trust store. \nPopulated by Add, Edit, and the machine SSL certificate\ + \ refresh flows.\n" + readOnly: true + title: |- + NSX trust-store id of the pinned VC machine SSL certificate + type: string oidc_end_point_id: description: | If Compute manager is trusted as authorization server, then @@ -8907,6 +8954,14 @@ definitions: description: |- Describes status of configuration of an entity properties: + core_allocation_profile: + description: | + This holds the core allocation profile realized at edge cluster member. + enum: + - L4FORWARDING + - SECURITY + readOnly: true + type: string failure_code: description: |- Error code @@ -10088,6 +10143,18 @@ definitions: type: string type: object x-vmw-nsx-module: TnContainerStatus + ContainerClusterStatusFilter: + properties: + statuses: + description: | + Filter by multiple container cluster status values. + items: + type: string + title: |- + Container cluster status values + type: array + type: object + x-vmw-nsx-module: TnContainerStatus ContainerClusterStatusList: allOf: - $ref: '#/definitions/ListResult' @@ -10150,6 +10217,17 @@ definitions: - Kubernetes - Openshift - WCP + - WCP_Guest + - AKS + - EKS + - TKGm + - TKGi + - GKE + - Gardener + - Rancher + - TAS + - SupervisorCluster + - WorkloadCluster - Other type: string required: @@ -11073,8 +11151,8 @@ definitions: URI of file to copy type: string required: - - uri - server + - uri type: object x-vmw-nsx-module: MISSING_MODULE CopyToRemoteFileProperties: @@ -12294,8 +12372,8 @@ definitions: Stateful nature of the distributed service rules in the section. type: boolean required: - - section_type - stateful + - section_type type: object x-vmw-nsx-module: DistributedServices x-vmw-nsx-module: DistributedServices @@ -12433,8 +12511,8 @@ definitions: Data type type: string required: - - data_type - collection_frequency + - data_type title: |- Data type collection configuration type: object @@ -12570,8 +12648,8 @@ definitions: Array of relative urls and their aliases type: array required: - - display_name - urls + - display_name title: |- Datasource Instance type: object @@ -12831,8 +12909,8 @@ definitions: format: mac-address type: string required: - - ip - mac + - ip type: object x-vmw-nsx-module: Dhcp DhcpFilter: @@ -12870,8 +12948,8 @@ definitions: Indiactes whether DHCP V6 server blocking is enabled type: boolean required: - - server_block_enabled - client_block_enabled + - server_block_enabled title: |- DHCP filtering configuration type: object @@ -13034,9 +13112,9 @@ definitions: subnet of client network type: string required: - - ip_address - mac_address - start_time + - ip_address type: object x-vmw-nsx-module: AggSvcDhcp DhcpLeases: @@ -13341,8 +13419,8 @@ definitions: format: mac-address type: string required: - - ip_address - mac_address + - ip_address type: object x-vmw-nsx-module: Dhcp description: |- @@ -13632,10 +13710,10 @@ definitions: start time of lease type: string required: + - duid + - start_time - iaid - ia_type - - start_time - - duid type: object x-vmw-nsx-module: AggSvcDhcp DhcpV6StaticBinding: @@ -13746,28 +13824,6 @@ definitions: title: |- Active Directory Domain x-vmw-nsx-module: DirectoryService - DirectoryAdGroup: - allOf: - - $ref: '#/definitions/DirectoryGroup' - - properties: - object_guid: - description: |- - GUID is a 128-bit value that is unique not only in the enterprise but also across the world. GUIDs are assigned to every object created by Active Directory, not just User and Group objects. - title: |- - Active directory group object guid - type: string - secure_id: - description: |- - A security identifier (SID) is a unique value of variable length used to identify a trustee. A SID consists of the following components - The revision level of the SID structure; A 48-bit identifier authority value that identifies the authority that issued the SID; A variable number of subauthority or relative identifier (RID) values that uniquely identify the trustee relative to the authority that issued the SID. - title: |- - Active directory group secure id - type: string - required: - - object_guid - - secure_id - type: object - x-vmw-nsx-module: DirectoryService - x-vmw-nsx-module: DirectoryService DirectoryDomain: allOf: - $ref: '#/definitions/ManagedResource' @@ -13807,8 +13863,8 @@ definitions: Directory domain resource type type: string required: - - resource_type - ldap_servers + - resource_type - name type: object x-vmw-nsx-module: DirectoryService @@ -14092,13 +14148,13 @@ definitions: type: integer last_event_time_created: description: |- - Time of last successfully received and record event from event log server. + Time of last successfully received and record event from event log server. This is a unix timestamp in milliseconds. format: int64 readOnly: true type: integer last_polling_time: description: |- - Last polling time + Last polling time. This is a unix timestamp in milliseconds. format: int64 readOnly: true type: integer @@ -14121,8 +14177,7 @@ definitions: DirectoryGroup: allOf: - $ref: '#/definitions/ManagedResource' - - discriminator: resource_type - properties: + - properties: distinguished_name: description: |- Directory group distinguished name @@ -14160,10 +14215,10 @@ definitions: Directory group resource type for this domain type: string required: - - is_global + - domain_id - domain_name + - is_global - resource_type - - domain_id - distinguished_name type: object x-vmw-nsx-module: DirectoryService @@ -14220,11 +14275,11 @@ definitions: Nesting flag type: boolean required: - - member_group_distinguished_name - - group_id - member_group_id + - member_group_distinguished_name - group_distinguished_name - nested + - group_id type: object x-vmw-nsx-module: DirectoryService x-vmw-nsx-module: DirectoryService @@ -14563,11 +14618,11 @@ definitions: type: string owner_nsx: description: | - Specifies owner nsx of the discovered node. Owner nsx can be SELF, OTHER, MULTIPLE or NONE. - SELF applies to when discovered node prepared by that nsx. - OTHER applies to when discovered node prepared by other nsx. - MULTIPLE applies to when discovered node tried to prepare by multiple nsx at a time. - NONE applies to when discovered node is not prepared by any nsx. + Identifies which NSX instance has prepared this discovered node. + SELF - this NSX instance has prepared the discovered node. + OTHER - another NSX instance has prepared the discovered node. + MULTIPLE - multiple NSX instances attempted to prepare this discovered node simultaneously. + NONE - no NSX instance has prepared this discovered node. enum: - SELF - OTHER @@ -14575,7 +14630,7 @@ definitions: - NONE readOnly: true title: |- - Specifies owner nsx of the discovered node + NSX ownership of the discovered node type: string parent_compute_collection: description: |- @@ -14584,6 +14639,13 @@ definitions: title: |- External id of the compute collection to which this node belongs type: string + patch_level: + description: |- + Product patch level for the host. + readOnly: false + title: |- + Product patch level + type: string pnic_details: description: |- PNIC details for the host. @@ -14761,8 +14823,8 @@ definitions: External id of the discovered resource type: string required: - - discovered_resource_type - external_id + - discovered_resource_type type: object x-vmw-nsx-module: InventoryAssociations description: |- @@ -14859,15 +14921,15 @@ definitions: Total DHCP Requests type: integer required: - - discovers - - declines - - acks - errors - - requests + - discovers + - offers + - releases - nacks + - acks - informs - - releases - - offers + - requests + - declines type: object x-vmw-nsx-module: AggSvcL2Types DistributedVirtualPortgroup: @@ -14936,10 +14998,10 @@ definitions: type: array network_offload_spec_id: description: |- - Specify the Id of network offload spec. + The ID of the network offload specification associated with this DVS. This value is discovered from vCenter. readOnly: true title: |- - Id of network offload spec + Network offload spec ID type: string origin_properties: description: |- @@ -15061,9 +15123,9 @@ definitions: format: ipv4 type: string required: + - source_ip - edge_node_id - dns_server - - source_ip title: |- Answer of dns nslookup type: object @@ -15257,9 +15319,9 @@ definitions: Logical router id type: string required: + - default_forwarder - listener_ip - logical_router_id - - default_forwarder type: object x-vmw-nsx-module: DnsForwarder x-vmw-nsx-module: DnsForwarder @@ -15977,8 +16039,8 @@ definitions: Value for item to be displayed in dropdown type: string required: - - field - value + - field title: |- Dropdown item definition type: object @@ -16545,6 +16607,18 @@ definitions: title: |- Edge cluster profile bindings type: array + core_allocation_profile: + description: | + The Core Allocation Profile attribute defines the core allocation for edge transport nodes within a cluster, + and any new or redeployed edge will utilize this profile. It can be updated to another supported profile, + which subsequently updates the core profile on all edges in the cluster. + Note that a manual reboot is required for the new profile to be applied to the edge appliance. + To verify the current profile applied to cluster members, use the Edge Cluster State API. +
https://<nsx-mgr>/api/v1/edge-clusters/<edge-cluster-id>/state
+ enum: + - L4FORWARDING + - SECURITY + type: string deployment_type: description: | This field is a readonly field which shows the deployment_type of members. @@ -16978,8 +17052,8 @@ definitions: Per Edge Node Status type: array required: - - edge_cluster_status - edge_cluster_id + - edge_cluster_status type: object x-vmw-nsx-module: AggSvcEdgeCluster EdgeConfigDiagnosis: @@ -17011,8 +17085,8 @@ definitions: warning: $ref: '#/definitions/FailedOrWarningConfig' required: - - passed - failed + - passed - warning type: object x-vmw-nsx-module: MISSING_MODULE @@ -17565,8 +17639,8 @@ definitions: Enable or disable edge failover pre-checks type: boolean required: - - disable_checks_for_unpinned_edges - enabled + - disable_checks_for_unpinned_edges type: object x-vmw-nsx-module: EdgeUpgrade EdgeHighAvailabilityProfile: @@ -17889,6 +17963,16 @@ definitions: title: |- Allow root SSH logins. type: boolean + core_allocation_profile: + description: | + This attribute enables the creation of an edge transport node using a core allocation profile, with the understanding that the edge is initially + outside the cluster and must be added later. + For redeployment and update operations: If the edge transport node is already part of a cluster, the core allocation profile defined at the edge cluster + level will be applied to that node. The API will throw a validation error if the cluster-level and node-level core allocation profile values are not identical. + enum: + - L4FORWARDING + - SECURITY + type: string dns_servers: description: | List of DNS servers. @@ -18439,8 +18523,8 @@ definitions: user_metadata: $ref: '#/definitions/ErrorResolverUserMetadata' required: - - error_id - entity_id + - error_id type: object x-vmw-nsx-module: ErrorResolver ErrorResolverMetadataList: @@ -18498,8 +18582,8 @@ definitions: The value associated with the above property type: string required: - - data_type - property_name + - data_type type: object x-vmw-nsx-module: ErrorResolver ErrorResolverUserMetadata: @@ -19056,8 +19140,8 @@ definitions: Permission type: string required: - - feature - permission + - feature title: |- Feature Permission type: object @@ -19380,6 +19464,14 @@ definitions: title: |- Network Detection Response feature count type: string + NETWORK_TRAFFIC_ANALYSIS: + default: UNAVAILABLE + description: |- + Network Traffic Analysis feature count. + readOnly: true + title: |- + Network Traffic Analysis feature count + type: string type: object x-vmw-nsx-module: SecurityLicenseUsage FederationConfiguration: @@ -19428,11 +19520,11 @@ definitions: Timestamp type: integer required: - - is_vmsp - epoch - - sites - - id - timestamp + - is_vmsp + - id + - sites title: |- Federation configuration type: object @@ -19611,15 +19703,15 @@ definitions: Vip ip type: string required: - - is_local - - site_version - aph_list - - node_type + - active_gm - system_id + - name + - is_local + - site_version - id + - node_type - is_federated - - active_gm - - name title: |- Site information type: object @@ -19742,8 +19834,8 @@ definitions: readOnly: false type: string required: - - workflow_type - workflow_resource + - workflow_type title: |- Feedback list request parameters type: object @@ -19826,8 +19918,8 @@ definitions: type: integer required: - modified_epoch_ms - - created_epoch_ms - name + - created_epoch_ms - size type: object x-vmw-nsx-module: MISSING_MODULE @@ -19882,9 +19974,9 @@ definitions: File's SHA256 thumbprint type: string required: + - sha256 - sha1 - name - - sha256 type: object x-vmw-nsx-module: MISSING_MODULE description: |- @@ -19925,8 +20017,8 @@ definitions: User name to authenticate with type: string required: - - scheme_name - username + - scheme_name title: |- Remote server authentication details type: object @@ -19971,8 +20063,8 @@ definitions: type: string required: - protocol_name - - ssh_fingerprint - authentication_scheme + - ssh_fingerprint title: |- Protocol to transfer backup file to remote server type: object @@ -19992,8 +20084,8 @@ definitions: The value of the filter. type: string required: - - name - value + - name type: object x-vmw-nsx-module: AggSvcL2Types FilterRequest: @@ -20020,8 +20112,8 @@ definitions: Value type: string required: - - field_names - value + - field_names title: |- Filter request type: object @@ -20108,8 +20200,8 @@ definitions: Heap memory threshold utilization percentage type: integer required: - - cpu_threshold_percentage - mem_threshold_percentage + - cpu_threshold_percentage type: object x-vmw-nsx-module: FirewallProfile description: |- @@ -20668,17 +20760,17 @@ definitions: Connection timeout for destination type: integer required: - - tcp_closing - - tcp_finwait - - udp_single - - udp_multiple - tcp_opening - - tcp_first_packet - udp_first_packet - - icmp_first_packet + - udp_multiple + - udp_single + - tcp_first_packet - icmp_error_reply - - tcp_closed - tcp_established + - tcp_closing + - tcp_finwait + - icmp_first_packet + - tcp_closed type: object x-vmw-nsx-module: FirewallProfile description: |- @@ -20848,8 +20940,8 @@ definitions: List of target resource status type: array required: - - context - global_status + - context type: object x-vmw-nsx-module: FirewallStatus description: |- @@ -21471,11 +21563,11 @@ definitions: Type of full sync. type: string required: - - sync_id - - snapshot_version - sync_type - - status - completed_at + - sync_id + - status + - snapshot_version type: object x-vmw-nsx-module: SiteManager FwContexts: @@ -21648,8 +21740,8 @@ definitions: DHCP option value type: array required: - - code - values + - code title: |- Generic DHCP option type: object @@ -21710,8 +21802,8 @@ definitions: modified_feature_stack_collection_configurations: $ref: '#/definitions/FeatureStackCollectionConfigurationList' required: - - is_data_collection_enabled - aggregated_data_collection_frequency + - is_data_collection_enabled type: object x-vmw-nsx-module: AggSvcDataCollectionConfig x-vmw-nsx-module: AggSvcDataCollectionConfig @@ -22165,8 +22257,8 @@ definitions: Port of Ingress service type: integer required: - - ipv4_address - port + - ipv4_address title: |- Envoy proxy hub information type: object @@ -22271,8 +22363,8 @@ definitions: Identifiers of uplink ports for providing redundancy type: array required: - - redundant_uplink_port_ids - ha_vip_subnets + - redundant_uplink_port_ids type: object x-vmw-nsx-module: LogicalRouter Header: @@ -22542,8 +22634,8 @@ definitions: format: int64 type: integer required: - - start - end + - start title: |- VLAN ID range type: object @@ -24464,8 +24556,8 @@ definitions: Certificate revocation list (CRL) Identifiers type: array required: - - local_address - ipsec_vpn_service_id + - local_address type: object x-vmw-nsx-module: IPSecVPN description: |- @@ -24837,8 +24929,8 @@ definitions: tcp_mss_clamping: $ref: '#/definitions/TcpMssClamping' required: - - resource_type - peer_endpoint_id + - resource_type - local_endpoint_id type: object x-vmw-nsx-module: IPSecVPN @@ -26039,8 +26131,8 @@ definitions: Enabled/disabled type: boolean required: - - compute_collection_id - enabled + - compute_collection_id type: object x-vmw-nsx-module: IdentityFirewall description: | @@ -26264,12 +26356,13 @@ definitions: type: string login_time: description: |- - Login time. + Login time. This is a unix timestamp in milliseconds. format: int64 type: integer logout_time: description: | - Logout time if applicable. An active user session has no logout time. + Logout time if applicable. This is a unix timestamp in milliseconds. + An active user session has no logout time. Non-active user session is stored (up to last 5 most recent entries) per VM and per user. format: int64 @@ -26316,10 +26409,10 @@ definitions: Virtual machine external ID or BIOS UUID type: string required: - - domain_name - - user_name - login_time + - user_name - user_session_id + - domain_name title: |- Identity Firewall user session data on client machine type: object @@ -26354,8 +26447,8 @@ definitions: type: array required: - archived_user_sessions - - active_user_sessions - dir_group_to_user_session_data_mappings + - active_user_sessions title: |- Identity Firewall user session data list and Directory Group to user mappings type: object @@ -26443,8 +26536,8 @@ definitions: IDFW VM status. type: array required: - - vm_status - vm_id + - vm_status title: |- IDFW VM ID and status. type: object @@ -26986,8 +27079,8 @@ definitions: type: array required: - context_id - - compute_id - storage_id + - compute_id - vm_nic_infos title: |- Instance Deployment Config @@ -27956,8 +28049,8 @@ definitions: format: ip type: string required: - - start - end + - start type: object x-vmw-nsx-module: Ipam description: |- @@ -28007,8 +28100,8 @@ definitions: format: ip type: string required: - - cidr - allocation_ranges + - cidr type: object x-vmw-nsx-module: Ipam description: |- @@ -28098,8 +28191,8 @@ definitions: readOnly: false type: string required: - - resource_type - collectors + - resource_type type: object x-vmw-nsx-module: UpmIpfixCollector description: | @@ -28226,8 +28319,8 @@ definitions: template_parameters: $ref: '#/definitions/IpfixDfwTemplateParameters' required: - - priority - observation_domain_id + - priority - collector type: object x-vmw-nsx-module: Ipfix @@ -28450,8 +28543,8 @@ definitions: Profile Priority type: integer required: - - priority - observation_domain_id + - priority - collector_profile type: object x-vmw-nsx-module: UpmIpfix @@ -28510,9 +28603,10 @@ definitions: format: ipv4 type: string flags: - default: 0 - description: |- - IP flags + default: 2 + description: | + The DF bit has to be set because traceflow does not + support tracking IP fragment behavior. format: int64 maximum: 8 minimum: 0 @@ -28707,8 +28801,8 @@ definitions: Username on the cluster node type: string required: - - ip_address - cluster_id + - ip_address title: |- Parameters needed for this node to join the NSX cluster type: object @@ -28758,8 +28852,8 @@ definitions: readOnly: false type: string required: - - key - value + - key type: object x-vmw-nsx-module: CertificateManager KeyValuePair: @@ -28783,8 +28877,8 @@ definitions: Value type: string required: - - key - value + - key title: |- An arbitrary key-value pair type: object @@ -29455,8 +29549,8 @@ definitions: tunnel_encapsulation: $ref: '#/definitions/L2VpnTunnelEncapsulation' required: - - l2vpn_service_id - transport_tunnels + - l2vpn_service_id type: object x-vmw-nsx-module: L2VPN description: |- @@ -29856,10 +29950,10 @@ definitions: uplink names type: array required: - - number_of_uplinks - load_balance_algorithm - mode - name + - number_of_uplinks title: |- LACP group type: object @@ -31077,8 +31171,8 @@ definitions: - REGEX type: string required: - - cookie_value - cookie_name + - cookie_value type: object x-vmw-nsx-module: LoadBalancer description: | @@ -32471,8 +32565,8 @@ definitions: statistics: $ref: '#/definitions/LbStatisticsCounter' required: - - ip_address - statistics + - ip_address type: object x-vmw-nsx-module: AggSvcLb LbPoolMemberStatus: @@ -32536,8 +32630,8 @@ definitions: Pool member status type: string required: - - ip_address - status + - ip_address type: object x-vmw-nsx-module: AggSvcLb LbPoolStatistics: @@ -32564,8 +32658,8 @@ definitions: statistics: $ref: '#/definitions/LbStatisticsCounter' required: - - statistics - pool_id + - statistics type: object x-vmw-nsx-module: AggSvcLb LbPoolStatus: @@ -32708,9 +32802,9 @@ definitions: Load balancer processing phase type: string required: - - actions - - match_strategy - phase + - match_strategy + - actions type: object x-vmw-nsx-module: LoadBalancer description: | @@ -33830,8 +33924,8 @@ definitions: List of SSL protocols type: array required: - - ciphers - protocols + - ciphers type: object x-vmw-nsx-module: LoadBalancer x-vmw-nsx-module: LoadBalancer @@ -33910,8 +34004,8 @@ definitions: Secure/insecure SSL cipher flag type: boolean required: - - is_secure - cipher + - is_secure - is_default title: |- SSL cipher @@ -33994,8 +34088,8 @@ definitions: - TLS_V1_2 type: string required: - - is_secure - protocol + - is_secure - is_default title: |- SSL protocol @@ -34168,11 +34262,11 @@ definitions: Number of total sessions type: integer required: - - total_sessions - - current_sessions - max_sessions - bytes_out - bytes_in + - current_sessions + - total_sessions type: object x-vmw-nsx-module: AggSvcLb LbTcpHeaderCondition: @@ -34259,8 +34353,8 @@ definitions: Value of variable type: string required: - - variable_name - variable_value + - variable_name type: object x-vmw-nsx-module: LoadBalancer description: | @@ -34306,8 +34400,8 @@ definitions: Value of variable to be matched type: string required: - - variable_name - variable_value + - variable_name type: object x-vmw-nsx-module: LoadBalancer description: | @@ -34587,8 +34681,8 @@ definitions: type: string x-deprecated: true required: - - ip_address - application_profile_id + - ip_address type: object x-vmw-nsx-module: LoadBalancer x-vmw-nsx-module: LoadBalancer @@ -34638,8 +34732,8 @@ definitions: load balancer virtual server identifier type: string required: - - statistics - virtual_server_id + - statistics type: object x-vmw-nsx-module: AggSvcLb LbVirtualServerStatisticsListResult: @@ -34856,8 +34950,8 @@ definitions: Id of source widget for this legend widget type: string required: - - layout - source_widget_id + - layout type: object x-vmw-nsx-module: NsxDashboard description: |- @@ -34871,13 +34965,10 @@ definitions: - properties: capacity_type: description: | - License metrics specifying the capacity type of license key. - Types are: - - VM - - CPU - - USER(Concurrent User) - - CORE - - HOST + The capacity metric type encoded in this license key. This value is + determined by the license key itself and cannot be set or modified. Possible values: + VM (per virtual machine), CPU (per CPU socket), USER (per concurrent user), + CORE (per CPU core), HOST (per host). enum: - VM - CPU @@ -34886,7 +34977,7 @@ definitions: - HOST readOnly: true title: |- - license metric + License capacity metric type type: string description: description: |- @@ -34982,7 +35073,7 @@ definitions: type: object x-vmw-nsx-module: License description: |- - license properties + License properties x-vmw-nsx-module: License LicenseTokenInfo: allOf: @@ -35515,10 +35606,10 @@ definitions: site: $ref: '#/definitions/FederationSite' required: - - is_vmsp - - epoch - - id - site + - id + - epoch + - is_vmsp title: |- Local site information type: object @@ -35785,8 +35876,8 @@ definitions: Version of Trust On First Use (TOFU) paradigm. type: integer required: - - admin_state - logical_switch_id + - admin_state type: object x-vmw-nsx-module: LogicalPort x-vmw-nsx-module: LogicalPort @@ -35971,8 +36062,8 @@ definitions: - LEARNED type: string required: - - mac_type - mac_address + - mac_type type: object x-vmw-nsx-module: AggSvcLogicalPort x-vmw-nsx-module: AggSvcLogicalPort @@ -35992,8 +36083,8 @@ definitions: - LEARNED type: string required: - - mac_type - mac_address + - mac_type type: object x-vmw-nsx-module: AggSvcLogicalPort LogicalPortMirrorDestination: @@ -36641,8 +36732,8 @@ definitions: Loopback port subnets type: array required: - - edge_cluster_member_index - subnets + - edge_cluster_member_index type: object x-vmw-nsx-module: LogicalRouterPorts x-vmw-nsx-module: LogicalRouterPorts @@ -37275,8 +37366,8 @@ definitions: Route type (USER, CONNECTED, NSX_INTERNAL,..) type: string required: - - route_type - network + - route_type type: object x-vmw-nsx-module: AggSvcLogicalRouter x-vmw-nsx-module: AggSvcLogicalRouter @@ -37337,8 +37428,8 @@ definitions: Route type (USER, CONNECTED, NSX_INTERNAL,..) type: string required: - - route_type - network + - route_type type: object x-vmw-nsx-module: AggSvcLogicalRouter LogicalRouterRouteTable: @@ -37579,8 +37670,8 @@ definitions: - STRICT type: string required: - - edge_cluster_member_index - subnets + - edge_cluster_member_index type: object x-vmw-nsx-module: LogicalRouterPorts x-vmw-nsx-module: LogicalRouterPorts @@ -37801,8 +37892,8 @@ definitions: VNI for this LogicalSwitch. type: integer required: - - admin_state - transport_zone_id + - admin_state type: object x-vmw-nsx-module: LogicalSwitch x-vmw-nsx-module: LogicalSwitch @@ -38012,8 +38103,8 @@ definitions: The total number of logical switches. type: integer required: - - fully_realized_switches - total_switches + - fully_realized_switches type: object x-vmw-nsx-module: AggSvcLogicalSwitch LoginCredential: @@ -38382,8 +38473,8 @@ definitions: readOnly: false type: string required: - - start - end + - start type: object x-vmw-nsx-module: MACAM MacTableCsvRecord: @@ -39141,8 +39232,8 @@ definitions: format: int64 type: integer required: - - metadata_proxy_id - timestamp + - metadata_proxy_id type: object x-vmw-nsx-module: AggSvcMetadataProxy MetadataProxyStatisticsPerLogicalSwitch: @@ -39189,11 +39280,11 @@ definitions: succeeded responses from nova server type: integer required: - - succeeded_responses_from_nova_server - error_responses_from_nova_server + - succeeded_responses_from_nova_server - requests_from_clients - - responses_to_clients - requests_to_nova_server + - responses_to_clients - logical_switch_id type: object x-vmw-nsx-module: AggSvcMetadataProxy @@ -39231,8 +39322,8 @@ definitions: ids of transport nodes where this metadata proxy is running type: array required: - - proxy_status - transport_nodes + - proxy_status type: object x-vmw-nsx-module: AggSvcMetadataProxy MetricError: @@ -39643,8 +39734,8 @@ definitions: type: array uniqueItems: true required: - - vm_ids - dvpg_id_and_segment_path_pairs + - vm_ids type: object x-vmw-nsx-module: OverlayAdoption description: |- @@ -39979,8 +40070,8 @@ definitions: User input with multiple values for the feedback query type: array required: - - id - action + - id title: |- Feedback details required for Migration type: object @@ -40852,8 +40943,8 @@ definitions: All TN nodes in remote L3 mirror session mirror stack health status type: array required: - - results - overall_status + - results type: object x-vmw-nsx-module: PortMirroring x-vmw-nsx-module: PortMirroring @@ -40986,7 +41077,8 @@ definitions: type: string event_tags: description: | - Tags applicable to event, for example, INFRASTRUCTURE or INTELLIGENCE. + Tags applicable to event, for example, INFRASTRUCTURE, TENANT_NETWORKING, + TENANT_SECURITY. items: type: string readOnly: true @@ -41255,8 +41347,8 @@ definitions: Paths to enable visibility of TENANT_READ alarms type: array required: - - threshold - sensitivity + - threshold type: object x-vmw-nsx-module: Monitoring x-vmw-nsx-module: Monitoring @@ -41316,8 +41408,8 @@ definitions: Minute at which data will be collected type: integer required: - - hour_of_day - day_of_month + - hour_of_day type: object x-vmw-nsx-module: TelemetryConfig x-vmw-nsx-module: TelemetryConfig @@ -41463,8 +41555,8 @@ definitions: svm_properties: $ref: '#/definitions/MpsSvmProperties' required: - - sub_cluster_id - svm_properties + - sub_cluster_id title: |- Pair of Sub-cluster id and corresponding SVM Properties type: object @@ -41898,8 +41990,8 @@ definitions: Retransmission interval type: integer required: - - ra_mode - ra_config + - ra_mode type: object x-vmw-nsx-module: Routing x-vmw-nsx-module: Routing @@ -41985,9 +42077,9 @@ definitions: type: array uniqueItems: true required: - - datatype - - key - value + - key + - datatype type: object x-vmw-nsx-module: NSProfile description: |- @@ -42203,10 +42295,10 @@ definitions: Value that satisfies this expression type: string required: - - op - - value - target_type + - value - target_property + - op type: object x-vmw-nsx-module: NSGroup description: |- @@ -42555,10 +42647,10 @@ definitions: Version type: string required: - - managed_by - - deployed_by - log_token - instance_id + - deployed_by + - managed_by type: object x-vmw-nsx-module: NSXDeploymentInfo description: |- @@ -43586,8 +43678,8 @@ definitions: required: - thumbprint - node_host_name - - client_id - host_name + - client_id title: |- Node AAA provider vIDM properties type: object @@ -43792,6 +43884,7 @@ definitions: - DISTRIBUTED_BAREMETAL - DISTRIBUTED_IPFIX_BAREMETAL - DISTRIBUTED_INTELLIGENCE_BAREMETAL + - NETWORK_TRAFFIC_ANALYSIS type: string readOnly: true title: |- @@ -46434,10 +46527,10 @@ definitions: Private key PEM of the rsyslog client type: string required: - - exporter_name - - level - protocol + - level - server + - exporter_name type: object x-vmw-nsx-module: MISSING_MODULE description: |- @@ -46494,6 +46587,15 @@ definitions: allOf: - $ref: '#/definitions/Resource' - properties: + account_expires: + description: | + Node local user account expiration date (ISO-8601 date form, i.e. YYYY-MM-DD) + or null when never expires + readOnly: true + title: | + Node local user account expiration date (ISO-8601 date form, i.e. YYYY-MM-DD) + or null when never expires + type: string account_type: description: |- Node local user account type @@ -46541,6 +46643,30 @@ definitions: title: |- Number of days since password was last changed type: integer + last_password_change_epoch: + description: | + Node local user account last password change Unix Epoch timestamp or 0 when never changed + format: int64 + readOnly: true + title: | + Node local user account last password change Unix Epoch timestamp or 0 when never changed + type: integer + locked: + description: | +

http when the user account is currently locked to make any web + authentication requests, because of many consecutive failed authentication attempts + was made for a respective user (at max of configured auth-policy + api_failed_auth_lockout_period).

+

cli when the user account is currently locked to make any NSX-CLI + authentication requests as per configured cli-lockout policy

+

Property is available only when list node users is issued with query parameter - + internal=true, check ListNodeUsers [GET] /api/v1/node/users for more details.

+ items: + type: string + readOnly: true + title: |- + List indicating user is currently locked out for target interface + type: array login_shell: description: |- The absolute path of login shell @@ -46563,9 +46689,9 @@ definitions: password_change_frequency: default: 90 description: |- - Number of days password is valid before it must be changed. This can be set to 0 to indicate no password change is required or a positive integer up to 9999. By default local user passwords must be changed every 90 days. + Number of days password is valid before it must be changed. This can be set to 0 to indicate no password change is required or a positive integer up to 9999. For following account_types - root, administrator, audit, guest, VCF password management policy's passwordExpirationDays will be preferred by default, further overriding in request will error out with 409 CONFLICT. For other account_types, or when no VCF password management policy is configured, the default value is 90. format: int64 - maximum: 9999 + maximum: 99999 minimum: 0 title: |- Number of days password is valid before it must be changed @@ -46575,11 +46701,28 @@ definitions: description: |- Number of days before user receives warning message of password expiration format: int64 - maximum: 9999 + maximum: 99999 minimum: 0 title: |- Number of days before user receives warning message of password expiration type: integer + password_expires: + description: | + Node local user account password expiration date (ISO-8601 date form, i.e. YYYY-MM-DD) + or null when never expires + readOnly: true + title: | + Node local user account password expiration date (ISO-8601 date form, i.e. YYYY-MM-DD) + or null when never expires + type: string + password_expires_epoch: + description: | + Node local user account password expiration Unix Epoch timestamp or 0 when never expires + format: int64 + readOnly: true + title: | + Node local user account password expiration Unix Epoch timestamp or 0 when never expires + type: integer password_reset_required: description: |- Boolean value that states if a password reset is required @@ -46909,10 +47052,10 @@ definitions: Flag to indicate if REST API server should use HTTPS type: boolean required: - - uri - authentication_scheme - - method - server + - method + - uri type: object x-vmw-nsx-module: NfwConfig x-vmw-nsx-module: NfwConfig @@ -48032,8 +48175,8 @@ definitions: Packet capture Streaming port type: integer required: - - cappoint - capsource + - cappoint title: |- Packet capture request information type: object @@ -48098,9 +48241,9 @@ definitions: format: int64 type: integer required: - - sessionstatus - request - sessionid + - sessionstatus type: object x-vmw-nsx-module: PacketCapture description: |- @@ -48142,8 +48285,11 @@ definitions: traceflow metadata requirement of 16 bytes), the traceflow request will fail with an appropriate message. The frame will be zero padded to the requested size. + The frame size up to 9000 is only available to the overlay segment port + and subnet port. The VLAN segment port, DHCP port, Edge uplink port, and + service interface can only support traceflow packet with a frame size up to 1000. format: int64 - maximum: 1000 + maximum: 9000 minimum: 60 title: |- Requested total size of the (logical) packet in bytes @@ -48241,8 +48387,8 @@ definitions: The type of the packets type: string required: - - counter - packet_type + - counter type: object x-vmw-nsx-module: AggSvcL2Types PacketsDroppedBySecurity: @@ -48379,8 +48525,8 @@ definitions: User name to authenticate with type: string required: - - scheme_name - username + - scheme_name type: object x-vmw-nsx-module: MISSING_MODULE x-vmw-nsx-module: MISSING_MODULE @@ -48408,6 +48554,11 @@ definitions: meeting the current minimum_password_length value upto N digits.

N = 0, policy will be not applicable.

By default minimum 1 digit is required for a new password. +
+ When a VCF password management policy is configured, this field must equal the + negated value of the VCF password management policy's minNumeric. For example, + if minNumeric is 1, digits must be -1. A conflicting value results in a 409 + CONFLICT. format: int64 maximum: 128 minimum: -128 @@ -48424,6 +48575,26 @@ definitions: title: |- Hash algorithm type: string + invalid_password_chars: + description: | + Read-only list of single characters that the node rejects if + such character is found in user password + items: + type: string + readOnly: true + title: |- + Characters that are not accepted as valid in password string + type: array + invalid_password_patterns: + description: | + Read-only list of Python regular-expression patterns that the + node rejects when present anywhere in a user password. + items: + type: string + readOnly: true + title: |- + Regex patterns that are not accepted as valid in password string + type: array lower_chars: default: -1 description: | @@ -48436,6 +48607,11 @@ definitions: meeting the current minimum_password_length value upto N lower case characters.

N = 0, policy will be not applicable.

By default minimum 1 lower case character is required for a new password. +
+ When a VCF password management policy is configured, this field must equal the + negated value of the VCF password management policy's minLowercase. For example, + if minLowercase is 1, lower_chars must be -1. A conflicting value results in a + 409 CONFLICT. format: int64 maximum: 128 minimum: -128 @@ -48498,6 +48674,10 @@ definitions: default value, which shall be retained as it is in newly upgraded appliance.

By default minimum length of password is 12 characters and passwords less than 8 characters are never allowed. +
+ When a VCF password management policy is configured, this field must equal the + the VCF password management policy's minLength. A conflicting value results in a + 409 CONFLICT. format: int64 maximum: 128 minimum: 8 @@ -48521,6 +48701,10 @@ definitions: Limit using a password that was used in past; users can not set the same password within the N generations.
Since NSX 9.1 default is changed to 5 and disabling password_remembrance i.e. 0 value is no longer supported. +
+ When a VCF password management policy is configured, this field must equal the + the VCF password management policy's passwordHistory. A conflicting value results + in a 409 CONFLICT. format: int64 maximum: 12 minimum: 1 @@ -48538,6 +48722,11 @@ definitions: meeting the current minimum_password_length value upto N special case characters.

N = 0, policy will be not applicable.

By default minimum 1 special character is required for a new password. +
+ When a VCF password management policy is configured, this field must equal the + negated value of the VCF password management policy's minSpecial. For example, + if minSpecial is 1, special_chars must be -1. A conflicting value results in a + 409 CONFLICT. format: int64 maximum: 128 minimum: -128 @@ -48556,6 +48745,11 @@ definitions: meeting the current minimum_password_length value upto N upper case characters.

N = 0, policy will be not applicable.

By default minimum 1 upper case character is required for a new password. +
+ When a VCF password management policy is configured, this field must equal the + negated value of the VCF password management policy's minUppercase. For example, + if minUppercase is 1, upper_chars must be -1. A conflicting value results in a + 409 CONFLICT. format: int64 maximum: 128 minimum: -128 @@ -49299,8 +49493,8 @@ definitions: Upload status type: string required: - - file_name - plugin_id + - file_name - status type: object x-vmw-nsx-module: SystemHealthPlugin @@ -49573,8 +49767,8 @@ definitions: Source physical NIC device names type: array required: - - source_pnics - node_id + - source_pnics - encapsulated type: object x-vmw-nsx-module: PortMirroring @@ -49624,9 +49818,9 @@ definitions: Variable chosen for Y value of the point of the graph type: string required: - - field - x_value - y_value + - field title: |- Definition of a point of graph type: object @@ -50331,8 +50525,8 @@ definitions: TransportNode on which the attacher resides type: string required: - - entity - host + - entity title: |- VM or vmknic entity attached to LogicalPort type: object @@ -50421,12 +50615,12 @@ definitions: $ref: '#/definitions/VirtualMachine' type: array required: - - containers + - hypervisors - errors + - vms - logical_switches + - containers - tunnels - - vms - - hypervisors title: |- Port Connection Entities (to help draw a visual picture of entities between two ports) type: object @@ -50717,8 +50911,8 @@ definitions: TCP/IP Stack type: string required: - - mirror_destination - direction + - mirror_destination - mirror_sources type: object x-vmw-nsx-module: PortMirroring @@ -50926,8 +51120,8 @@ definitions: vCenter uuid type: string required: - - vcenter-uuid - entity-id + - vcenter-uuid title: |- Health perspective check request type: object @@ -50969,8 +51163,8 @@ definitions: Wait duration type: integer required: - - issues - info + - issues - status title: |- ESX health perspective check status @@ -51516,8 +51710,8 @@ definitions: field data type type: string required: - - field - type + - field title: |- LabelValue Property type: object @@ -51557,8 +51751,8 @@ definitions: Name of the TLS protocol version type: string required: - - name - enabled + - name title: |- HTTP protocol version type: object @@ -51627,10 +51821,10 @@ definitions: User name type: string required: - - port - scheme - host - enabled + - port type: object x-vmw-nsx-module: ProxyConfig description: |- @@ -51687,13 +51881,13 @@ definitions: The symbolic org id for SRE (Site Reliability Engineer) type: string required: - - base_url - - sre_org_id - gss_org_id - - client_id - - ea_org_id - default_org_id + - client_id - redirect_uris + - sre_org_id + - base_url + - ea_org_id title: |- Information for a PKCE OAuth2 client type: object @@ -51712,8 +51906,8 @@ definitions: - EgressRateShaper type: string required: - - resource_type - enabled + - resource_type title: |- A shaper configuration entry that specifies type and metrics type: object @@ -52075,9 +52269,9 @@ definitions: Feature type: string required: - - src_features - target_feature - recommended_permissions + - src_features title: |- Recommended Feature Permission type: object @@ -52484,8 +52678,8 @@ definitions: type: string required: - protocol - - server - directory_path + - server title: |- Remote file server type: object @@ -52594,9 +52788,9 @@ definitions: Username of the site type: string required: + - username - thumbprint - address - - username title: |- Credential of remote site type: object @@ -52948,8 +53142,8 @@ definitions: traffic_type: $ref: '#/definitions/HostInfraTrafficType' required: - - limit - reservation + - limit - traffic_type - shares title: |- @@ -53389,8 +53583,8 @@ definitions: Roles type: array required: - - roles - path + - roles title: |- Roles for path type: object @@ -53581,8 +53775,8 @@ definitions: set_criteria: $ref: '#/definitions/RouteMapSequenceSet' required: - - match_criteria - action + - match_criteria type: object x-vmw-nsx-module: Routing RouteMapSequenceMatch: @@ -54056,8 +54250,8 @@ definitions: The type of the packets type: string required: - - counter - packet_type + - counter type: object x-vmw-nsx-module: ServiceInsertionVMDeployment SIPacketsDroppedBySecurity: @@ -54206,8 +54400,8 @@ definitions: Partner Service-VM version. type: string required: - - host_type - ovf_url + - host_type title: |- Service-VM Deployment Spec type: object @@ -54439,8 +54633,8 @@ definitions: Reconciliation Status type: string required: - - status - action + - status title: |- The status of search reconciliation type: object @@ -54697,6 +54891,13 @@ definitions: title: |- Licensed host core count used by ndr type: string + licensed_host_core_count_nta: + description: |- + Licensed host core count used by nta + readOnly: true + title: |- + Licensed host core count used by nta + type: string licensed_total_core_count_firewall_atp_edition: description: |- licensed total core count on firewall atp edition @@ -54985,6 +55186,13 @@ definitions: title: |- Raw host core count used by ndr type: string + raw_host_core_count_nta: + description: |- + Raw host core count used by nta + readOnly: true + title: |- + Raw host core count used by nta + type: string recommendation_sessions_total: description: |- Telemetry info about the 'recommendation_sessions_total' @@ -55467,8 +55675,8 @@ definitions: Service chain id type: string required: - - service_attachments - forward_path_service_profiles + - service_attachments type: object x-vmw-nsx-module: ServiceInsertionCommonTypes description: |- @@ -55741,9 +55949,9 @@ definitions: Vendor ID type: string required: - - functionalities - implementations - vendor_id + - functionalities type: object x-vmw-nsx-module: ServiceInsertionCommonTypes description: |- @@ -55829,9 +56037,9 @@ definitions: Service Id type: string required: + - instance_deployment_template - deployment_spec_name - service_deployment_config - - instance_deployment_template type: object x-vmw-nsx-module: ServiceInsertionCommonTypes description: |- @@ -55877,8 +56085,8 @@ definitions: vm_nic_info: $ref: '#/definitions/VmNicInfo' required: - - compute_collection_id - compute_manager_id + - compute_collection_id title: |- Service Deployment Config type: object @@ -56082,8 +56290,8 @@ definitions: Unique identifier of this service endpoint type: string required: - - ip_address - port + - ip_address type: object x-vmw-nsx-module: ClusterManagement ServiceInsertionInsertParameters: @@ -56343,8 +56551,8 @@ definitions: readOnly: false type: string required: - - context - global_status + - context type: object x-vmw-nsx-module: ServiceInsertionStatus description: |- @@ -56438,9 +56646,9 @@ definitions: - deployment_spec_name - attachment_point - instance_deployment_template + - deployment_mode - deployed_to - implementation_type - - deployment_mode type: object x-vmw-nsx-module: ServiceInsertionCommonTypes description: |- @@ -56613,11 +56821,11 @@ definitions: Vendor ID type: string required: - - port - - uri + - authentication_scheme - service_ids + - port - server - - authentication_scheme + - uri type: object x-vmw-nsx-module: ServiceInsertionCommonTypes description: |- @@ -56838,8 +57046,8 @@ definitions: User name type: string required: - - j_password - j_username + - j_password title: |- Credentials used to authenticate to NSX type: object @@ -57094,9 +57302,13 @@ definitions: SNMP v2c targets information type: array v3_auth_protocol: - default: SHA1 - description: |- - SNMP v3 auth protocol + default: SHA256 + description: | + The SNMP v3 auth protocol. Note, the SHA1 auth protocol is deprecated + and no longer accepted for new or updated SNMP server configurations. + Existing SHA1 configurations remain functional. Migrating to a more + secure protocol, for example SHA256, SHA384 or SHA512, is highly + recommended. enum: - SHA1 - SHA256 @@ -57211,8 +57423,8 @@ definitions: SNMP v3 user id type: string required: - - server - user_id + - server title: |- SNMP v3 targets information type: object @@ -57369,9 +57581,14 @@ definitions: This object contains list of SNMP v3 users used to poll NSX nodes over SNMP and list of SNMP v3 targets used to receive SNMP traps/notifications from NSX nodes. Users specified in a SNMP v3 target must exist in the list of SNMP v3 users. properties: auth_protocol: - default: SHA1 - description: |- - Authentication protocol used for SNMP v3 communication. + default: SHA256 + description: | + Authentication protocol used for SNMP v3 communication. Note, + the SHA1 authentication protocol is deprecated and no longer + accepted for new or updated SNMP server configurations. + Existing SHA1 configurations remain functional. Migrating + to a more secure protocol, for example SHA256, SHA384 or + SHA512, is highly recommended. enum: - SHA1 - SHA256 @@ -57460,8 +57677,8 @@ definitions: Existing SNMP v3 user id type: string required: - - server - user_id + - server title: |- SNMP v3 target type: object @@ -57531,8 +57748,8 @@ definitions: Version of the module in the node type: string required: - - module_name - module_version + - module_name title: |- Software module details type: object @@ -57590,9 +57807,9 @@ definitions: Solution Id type: string required: - - control_ip - listen_port - solution_id + - control_ip type: object x-vmw-nsx-module: Nxgi description: |- @@ -57884,8 +58101,8 @@ definitions: SSH key value type: string required: - - type - value + - type type: object x-vmw-nsx-module: MISSING_MODULE x-vmw-nsx-module: MISSING_MODULE @@ -58029,8 +58246,10 @@ definitions: type: string host_switch_mode: description: | - STANDARD - This mode applies to all transport nodes. This - is realized as pktHandle mode in the dataplane. + STANDARD - This mode applies to all transport nodes. + The realized host switch mode will be chosen automatically + (best applicable as per uplink capabilities) by the data-plane + in the transport node and may change in future. ENS - This is the Enhanced Data Path switch mode for ESX host tranport node. This mode provides accelerated networking performances but also introduces additional prerequisites. @@ -58139,7 +58358,7 @@ definitions: This field is supported only for Tranport Node Profile Configurations. This field is used for adding a subset of the host switch configuration under a Transport Node Profile. This field is applicable only for a VDS based host switch and not for an NVDS based host switch. items: $ref: '#/definitions/TransportNodeProfileSubConfig' - maxItems: 16 + maxItems: 32 minItems: 0 title: |- Transport Node Profile sub-configuration Options @@ -58432,9 +58651,9 @@ definitions: readOnly: false type: string required: - - subnet_mask - - default_gateway - ip_list + - default_gateway + - subnet_mask type: object x-vmw-nsx-module: TransportNode description: |- @@ -58470,8 +58689,8 @@ definitions: type: string required: - ip_mac_list - - subnet_mask - default_gateway + - subnet_mask type: object x-vmw-nsx-module: TransportNode description: |- @@ -58526,9 +58745,9 @@ definitions: Prefix Length type: string required: - - prefix_length - default_gateway - ipv6_list + - prefix_length type: object x-vmw-nsx-module: TransportNode description: |- @@ -58565,8 +58784,8 @@ definitions: type: string required: - ipv6_mac_list - - prefix_length - default_gateway + - prefix_length type: object x-vmw-nsx-module: TransportNode description: |- @@ -58872,8 +59091,8 @@ definitions: type: string required: - comp - - audit - subcomp + - audit title: |- Structured data entry in RFC5424 log format type: object @@ -58944,6 +59163,21 @@ definitions: title: |- DNS names type: array + emails: + description: |- + A list of email addresses in subject alternative names + items: + description: | + Email address string as defined by RFC 5321, used as an rfc822Name + Subject Alternative Name entry. + format: san-entry-email + type: string + maxItems: 64 + minItems: 1 + readOnly: true + title: |- + Email addresses + type: array ip_addresses: description: |- A list of IP addresses in subject alternative names @@ -59220,8 +59454,8 @@ definitions: User name to authenticate with type: string required: - - scheme_name - username + - scheme_name type: object x-vmw-nsx-module: MISSING_MODULE SupportBundleFileTransferProtocol: @@ -59286,8 +59520,8 @@ definitions: type: string required: - protocol - - server - directory_path + - server title: |- Remote file server type: object @@ -60151,8 +60385,8 @@ definitions: format: hostname-or-ip type: string required: - - max_log_level - protocol + - max_log_level - server title: |- Syslog exporter properties @@ -60679,8 +60913,8 @@ definitions: telemetry_schedule: $ref: '#/definitions/TelemetrySchedule' required: - - ceip_acceptance - schedule_enabled + - ceip_acceptance type: object x-vmw-nsx-module: TelemetryConfig x-vmw-nsx-module: TelemetryConfig @@ -60744,8 +60978,8 @@ definitions: User name type: string required: - - port - scheme + - port - hostname type: object x-vmw-nsx-module: TelemetryConfig @@ -61060,10 +61294,10 @@ definitions: type: string required: - dedicated_stack_status - - tn_node_name - vmknic_status - - detail - last_updated_time + - tn_node_name + - detail title: |- List all L3PortMirrorSession TN nodes mirror stack health status type: object @@ -61571,6 +61805,15 @@ definitions: title: |- The name of the logical port into which the traceflow packet was delivered type: string + reason: + description: |- + This field specifies the deliver reason of traceflow packet. INT_PKT_EXCEED_VDS_MTU - When the traceflow packet traverse from ESX to VNA, the added INT telemetry headers push the frame size beyond the VDS MTU. + enum: + - INT_PKT_EXCEED_VDS_MTU + readOnly: true + title: |- + The reason traceflow packet was delivered + type: string resolution_type: description: |- This field specifies the resolution type of ARP ARP_SUPPRESSION_PORT_CACHE - ARP request is suppressed by IP table. ARP_SUPPRESSION_TABLE - ARP request is suppressed by ARP table. ARP_SUPPRESSION_CP_QUERY - ARP request is suppressed by info derived from CP. ARP_VM - No suppression and the ARP request is resolved by VM. ARP_LRP - No suppression and the ARP request is resolved by logical router. @@ -61783,7 +62026,7 @@ definitions: type: integer reason: description: |- - This field specifies the drop reason of traceflow packet. ARP_FAIL - ARP request fails for some reasons, please refer arp_fail_reason for detail BFD - BFD packet is dropped because traversed by non-operative interface or encountering internal error (e.g., memory insufficient) BROADCAST - Packet is dropped during traversing the interface (e.g., Edge uplink, Edge centralized service port) which disallow ethernet broadcast DHCP - DHCP packet is malformed DLB - The packet is disallowed by distributed load balancing FW_RULE - The packet matches a drop or reject rule of DFW or Edge firewall GENEVE - GENEVE packet is malformed GRE - GRE packet is malformed or traverses a non-operative interface IFACE - Packet traverses a non-operative interface IP - Packet is dropped because of IP related causes (e.g., ICMPv4/ICMPv6 packet is malformed, or DF flag is set but fragment must be performed for the packet) or corresponding interface is not found or inoperative IP_REASS - Packet is dropped during IP reassembly IPSEC - IPsec protocol related packet is dropped IPSEC_VTI - IPsec required SA is not found or traversing inoperative interface cause packet dropped L2VPN - VLAN id of GRE packet is invalid L4PORT - Layer 4 packet (e.g., BFD, DHCP) is dropped LB - Packet is dropped by load balancing rule LROUTER - Packet is dropped by logical router LSERVICE - Packet is malformed or traverses inoperative logical service interface LSWITCH - Packet is dropped by logical switch MANAGEMENT - Packet is dropped by Edge datapath MANAGEMENT service port MD_PROXY - Packet is dropped by metadata proxy NAT - Packet is dropped by NAT rule RTEP_TUNNEL - Unused drop reason ND_NS_FAIL - Neighbor Discovery packet fails NEIGH - ARP or Neighbor Discovery packet fails NO_EIP_FOUND - Destination IP is not an elastic IP NO_EIP_ASSOCIATION - Elastic IP is not associated with active edge VDR ENI NO_ENI_FOR_IP - There is no ENI found for the destination IP NO_ENI_FOR_LIF - Cannot find an ENI associated with uplink LIF NO_ROUTE - Cannot find route for destination IP NO_ROUTE_TABLE_FOUND - Cannot find associated route table NO_UNDERLAY_ROUTE_FOUND - Cannot find AWS route to destination NOT_VDR_DOWNLINK - Packet is not forwarded to VMC unmanaged VDR downlink NO_VDR_FOUND - VMC unmanaged VDR associated with Edge uplink is not found NO_VDR_ON_HOST - Cannot find VMC unmanaged VDR list on this host NOT_VDR_UPLINK - Packet is not forwarded to VDR uplink SERVICE_INSERT - Packet from guest VM to service VM or from service VM to guest VM is dropped by firewall rule SPOOFGUARD - Packet is blocked by SpoofGuard policy TTL_ZERO - The IPv4 time to live field of packet is zero. TUNNEL - Overlay tunnel management packet (VNI value of GENEVE header is 0, e.g., BFD) is dropped VLAN - VLAN id of packet is disallowed by the given port VXLAN - VXLAN packet is malformed or cannot find tunnel port for it VXSTT - Unused drop reason VMC_NO_RESPONSE - Failed to query VMC observations as no response from VMC app WRONG_UPLINK - Packet is not routed to the expected Edge uplink by VMC unmanaged VDR FW_STATE - Packet is dropped by stateful firewall NO_MAC - Drop by vswitch as no destination MAC hit MAC Table. FILTERED_UPLINK - Filtering applied at the corresponding UPLINK having no aggregation. IP_OUT_OF_SCOPE - An external IP is required if a packet from a non-public VPC subnet is trying to enter the external underlay network. DHCP_FORGED_MAC - The source MAC address of the DHCP packet sent to the DHCP server does not match the corresponding VIF MAC address of the source port. DHCP_IP_UNAVAILABLE - There is no DHCP client IP address available on the DHCP server. DHCP_IP_NOT_ALLOWED - The requested DHCP client IP address of the packet cannot be allocated from DHCP server. DHCP_INVALID_SERVER_IP_MAC - The DHCP packet is not destined to the DHCP server. NO_GATEWAY_CIDR_FOUND - There is no distributed connection for the source network of the packet to forward the packet to the physical gateway. CONNECTIVITY_POLICY - The packet is dropped due to violating communication rule of connectivity policy. HOP_LIMIT_ZERO - The IPv6 hop limit field of packet is zero. WRONG_SUBNET_GW_BLOCK - The packet is dropped by the gateway to enforce its confinement to the origin network of the VLAN extended subnet. The VLAN extended subnet is the terminology of both VPC overlay subnet and the extended VLAN network. ROUTE_DISTINGUISHER_MAC_RESOLUTION_FAILED - The MAC address of the route distinguisher fails to resolve. MAC_RPF_CHECK_FAILED - The packet is droped due to MAC-address-based reverse path forwarding check. This is to avoid the packet forwarding loops. + This field specifies the drop reason of traceflow packet. ARP_FAIL - ARP request fails for some reasons, please refer arp_fail_reason for detail BFD - BFD packet is dropped because traversed by non-operative interface or encountering internal error (e.g., memory insufficient) BROADCAST - Packet is dropped during traversing the interface (e.g., Edge uplink, Edge centralized service port) which disallow ethernet broadcast DHCP - DHCP packet is malformed DLB - The packet is disallowed by distributed load balancing FW_RULE - The packet matches a drop or reject rule of DFW or Edge firewall GENEVE - GENEVE packet is malformed GRE - GRE packet is malformed or traverses a non-operative interface IFACE - Packet traverses a non-operative interface IP - Packet is dropped because of IP related causes (e.g., ICMPv4/ICMPv6 packet is malformed, or DF flag is set but fragment must be performed for the packet) or corresponding interface is not found or inoperative IP_REASS - Packet is dropped during IP reassembly IPSEC - IPsec protocol related packet is dropped IPSEC_VTI - IPsec required SA is not found or traversing inoperative interface cause packet dropped L2VPN - VLAN id of GRE packet is invalid L4PORT - Layer 4 packet (e.g., BFD, DHCP) is dropped LB - Packet is dropped by load balancing rule LROUTER - Packet is dropped by logical router LSERVICE - Packet is malformed or traverses inoperative logical service interface LSWITCH - Packet is dropped by logical switch MANAGEMENT - Packet is dropped by Edge datapath MANAGEMENT service port MD_PROXY - Packet is dropped by metadata proxy NAT - Packet is dropped by NAT rule RTEP_TUNNEL - Unused drop reason ND_NS_FAIL - Neighbor Discovery packet fails NEIGH - ARP or Neighbor Discovery packet fails NO_EIP_FOUND - Destination IP is not an elastic IP NO_EIP_ASSOCIATION - Elastic IP is not associated with active edge VDR ENI NO_ENI_FOR_IP - There is no ENI found for the destination IP NO_ENI_FOR_LIF - Cannot find an ENI associated with uplink LIF NO_ROUTE - Cannot find route for destination IP NO_ROUTE_TABLE_FOUND - Cannot find associated route table NO_UNDERLAY_ROUTE_FOUND - Cannot find AWS route to destination NOT_VDR_DOWNLINK - Packet is not forwarded to VMC unmanaged VDR downlink NO_VDR_FOUND - VMC unmanaged VDR associated with Edge uplink is not found NO_VDR_ON_HOST - Cannot find VMC unmanaged VDR list on this host NOT_VDR_UPLINK - Packet is not forwarded to VDR uplink SERVICE_INSERT - Packet from guest VM to service VM or from service VM to guest VM is dropped by firewall rule SPOOFGUARD - Packet is blocked by SpoofGuard policy TTL_ZERO - The IPv4 time to live field of packet is zero. TUNNEL - Overlay tunnel management packet (VNI value of GENEVE header is 0, e.g., BFD) is dropped VLAN - VLAN id of packet is disallowed by the given port VXLAN - VXLAN packet is malformed or cannot find tunnel port for it VXSTT - Unused drop reason VMC_NO_RESPONSE - Failed to query VMC observations as no response from VMC app WRONG_UPLINK - Packet is not routed to the expected Edge uplink by VMC unmanaged VDR FW_STATE - Packet is dropped by stateful firewall NO_MAC - Drop by vswitch as no destination MAC hit MAC Table. FILTERED_UPLINK - Filtering applied at the corresponding UPLINK having no aggregation. IP_OUT_OF_SCOPE - An external IP is required if a packet from a non-public VPC subnet is trying to enter the external underlay network. DHCP_FORGED_MAC - The source MAC address of the DHCP packet sent to the DHCP server does not match the corresponding VIF MAC address of the source port. DHCP_IP_UNAVAILABLE - There is no DHCP client IP address available on the DHCP server. DHCP_IP_NOT_ALLOWED - The requested DHCP client IP address of the packet cannot be allocated from DHCP server. DHCP_INVALID_SERVER_IP_MAC - The DHCP packet is not destined to the DHCP server. NO_GATEWAY_CIDR_FOUND - There is no distributed connection for the source network of the packet to forward the packet to the physical gateway. CONNECTIVITY_POLICY - The packet is dropped due to violating communication rule of connectivity policy. HOP_LIMIT_ZERO - The IPv6 hop limit field of packet is zero. WRONG_SUBNET_GW_BLOCK - The packet is dropped by the gateway to enforce its confinement to the origin network of the VLAN extended subnet. The VLAN extended subnet is the terminology of both VPC overlay subnet and the extended VLAN network. ROUTE_DISTINGUISHER_MAC_RESOLUTION_FAILED - The MAC address of the route distinguisher fails to resolve. MAC_RPF_CHECK_FAILED - The packet is droped due to MAC-address-based reverse path forwarding check. This is to avoid the packet forwarding loops. ENCAP_PKT_EXCEED_VDS_MTU - The frame size of the encapsulated traceflow packet is larger than the VDS MTU. PKT_EXCEED_GW_MTU - The frame size of the traceflow packet is larger than the gateway interface MTU. ENCAP_PKT_EXCEED_RTEP_MTU - The frame size of the traceflow packet is larger than the remote tunnel endpoint MTU. enum: - ARP_FAIL - BFD @@ -61845,6 +62088,9 @@ definitions: - WRONG_SUBNET_GW_BLOCK - ROUTE_DISTINGUISHER_MAC_RESOLUTION_FAILED - MAC_RPF_CHECK_FAILED + - ENCAP_PKT_EXCEED_VDS_MTU + - PKT_EXCEED_GW_MTU + - ENCAP_PKT_EXCEED_RTEP_MTU readOnly: true title: |- The reason traceflow packet was dropped @@ -61857,6 +62103,12 @@ definitions: title: |- The ID of the connectivity policy that applies to the source of the packet type: integer + uplink_name: + description: |- + The uplink name where the traceflow packet is dropped + title: |- + The uplink name where the traceflow packet is dropped + type: string type: object x-vmw-nsx-module: Traceflow x-vmw-nsx-module: Traceflow @@ -63252,9 +63504,9 @@ definitions: readOnly: false type: integer required: - - ip_assignment_spec - host_switch_name - rtep_vlan + - ip_assignment_spec title: |- Remote tunnel endpoint configuration type: object @@ -63263,6 +63515,13 @@ definitions: allOf: - $ref: '#/definitions/ConfigurationState' - properties: + core_allocation_profile: + description: | + Realized Core Allocation Profile value. + enum: + - L4FORWARDING + - SECURITY + type: string deployment_progress_state: $ref: '#/definitions/TransportNodeDeploymentProgressState' hardware_version: @@ -63668,8 +63927,11 @@ definitions: The host switch id generated by the system. type: string transport_type: - description: |- - The transport type of this transport zone. + description: | + Determines the encapsulation type for overlay networks or the VLAN access type + for this transport zone. OVERLAY enables Geneve-encapsulated East-West traffic + between VMs on different hypervisors. VLAN provides direct VLAN-tagged access + without encapsulation. Required when creating a transport zone. enum: - OVERLAY - VLAN @@ -63865,8 +64127,8 @@ definitions: format: int64 type: integer required: - - start - end + - start title: |- Trunk VLAN id range type: object @@ -64411,8 +64673,8 @@ definitions: Value type: string required: - - key - value + - key title: |- A key-value pair with no limitations on size type: object @@ -64907,8 +65169,8 @@ definitions: Component type type: string required: - - upgrade_unit_type - check_name + - upgrade_unit_type type: object x-vmw-nsx-module: Upgrade description: |- @@ -65370,10 +65632,10 @@ definitions: Status of the upgrade type: string required: - - initial_version - - timestamp - upgrade_status - target_version + - timestamp + - initial_version type: object x-vmw-nsx-module: UpgradeTypes UpgradeHistoryList: @@ -65479,8 +65741,8 @@ definitions: array of exact value / wildcard patterns to be searched type: array required: - - field_name - values + - field_name type: object x-vmw-nsx-module: Upgrade UpgradeResourceFilters: @@ -66685,11 +66947,11 @@ definitions: Username for VC type: string required: - - nsxv_ip - nsxv_username - - vc_username - - vc_ip - federation_site_id + - vc_ip + - nsxv_ip + - vc_username title: |- Input spec for mapping of NSX-V and NSX-T sites type: object @@ -66919,8 +67181,8 @@ definitions: vCenter username type: string required: - - id - username + - id title: |- vCenter spec type: object @@ -67562,10 +67824,10 @@ definitions: VIDB OpenID Connect URI type: string required: - - vidb_uri - - certificate_chain - client_id - name + - certificate_chain + - vidb_uri title: |- Configuration to enable VIDB type: object @@ -67679,8 +67941,8 @@ definitions: Widgets type: array required: - - widgets - display_name + - widgets type: object x-vmw-nsx-module: NsxDashboard description: |- @@ -67782,9 +68044,9 @@ definitions: $ref: '#/definitions/GuestInfo' host_id: description: |- - Id of the host in which this virtual machine exists. + Unique ID of the host in which this VM exists. title: |- - Id of the host in which this virtual machine exists. + Unique ID of the host in which this VM exists. type: string local_id_on_host: description: |- @@ -67831,10 +68093,10 @@ definitions: Flag to indicate if UPT is enabled type: boolean required: - - local_id_on_host + - external_id - power_state + - local_id_on_host - compute_ids - - external_id type: object x-vmw-nsx-module: Inventory x-vmw-nsx-module: Inventory @@ -67854,6 +68116,10 @@ definitions: - results type: object x-vmw-nsx-module: Inventory + description: | + List of virtual machines. + title: |- + List of virtual machines x-vmw-nsx-module: Inventory VirtualMachineRuntimeInfo: description: |- @@ -67888,8 +68154,8 @@ definitions: List of tags to be applied to the virtual machine type: array required: - - tags - external_id + - tags type: object x-vmw-nsx-module: Inventory VirtualNetworkInterface: @@ -67916,9 +68182,9 @@ definitions: type: string host_id: description: |- - Id of the host on which the vm exists. + Unique ID of the host where this VirtualNetworkInterface's VM resides. title: |- - Id of the host on which the vm exists. + Unique ID of the host where this VirtualNetworkInterface's VM resides. type: string ip_address_info: description: |- @@ -67972,12 +68238,12 @@ definitions: Id of the vm unique within the host. type: string required: - - mac_address - - host_id - - vm_local_id_on_host + - device_key - owner_vm_id + - vm_local_id_on_host + - host_id - external_id - - device_key + - mac_address type: object x-vmw-nsx-module: Inventory x-vmw-nsx-module: Inventory @@ -68096,19 +68362,20 @@ definitions: ID of the compute manager type: string origin_type: - description: |- - Switch type like VmwareDistributedVirtualSwitch + description: | + Identifies the origin type of the virtual switch as reported by the Compute Manager. + VmwareDistributedVirtualSwitch represents a vSphere Distributed Virtual Switch. readOnly: true title: |- - Switch type like VmwareDistributedVirtualSwitch + Origin Type of the Virtual Switch type: string owner_nsx: description: | - Specifies owner nsx of the virtual switch. Owner nsx can be SELF, OTHER, MULTIPLE or NONE. - SELF applies to when virtual switch owned by that nsx. - OTHER applies to whenf virtual switch owned by other nsx. - MULTIPLE applies to when virtual switch tried to own by multiple nsx at a time. - NONE applies to when virtual switch is not owned by any nsx. + Identifies which NSX instance has ownership of this virtual switch. + SELF - this NSX instance owns the virtual switch. + OTHER - another NSX instance owns the virtual switch. + MULTIPLE - multiple NSX instances attempted to own this virtual switch simultaneously. + NONE - no NSX instance owns this virtual switch. enum: - SELF - OTHER @@ -68116,7 +68383,7 @@ definitions: - NONE readOnly: true title: |- - Specifies owner nsx of the virtual switch + NSX ownership of the virtual switch type: string type: object x-vmw-nsx-module: InventoryCmObj @@ -68239,8 +68506,8 @@ definitions: readOnly: false type: string required: - - vm_group_workflow_resource - workflow_type + - vm_group_workflow_resource type: object x-vmw-nsx-module: OverlayAdoption description: |- @@ -68664,8 +68931,8 @@ definitions: ESX vmk interface name type: string required: - - destination_network - device_name + - destination_network title: |- Vmknic network specification type: object @@ -68729,8 +68996,8 @@ definitions: Start value of vni range type: integer required: - - start - end + - start type: object x-vmw-nsx-module: Vnim description: |- @@ -69303,10 +69570,10 @@ definitions: Vsphere compute identifier for identifying VC server type: string required: - - compute_id - - storage_id - management_network_id - vc_id + - compute_id + - storage_id - hostname type: object x-vmw-nsx-module: ClusterNodeVMDeployment @@ -69394,13 +69661,13 @@ definitions: x-deprecated: true ipv6_assignment_type: description: | - IPv6 assignment type e.g STATIC, DHCPV6, SLAAC. if enum value is STATIC then - management_port_subnets is mandatory. In this iteration DHCPV6 and SLAAC are - not supported. + IPv6 address assignment method for this node. Currently only STATIC is supported; + if set to STATIC, the management_port_subnets field is mandatory. DHCPV6 and SLAAC + are not yet supported. enum: - STATIC title: |- - IPV6 assignment type + IPv6 address assignment type type: string management_network_id: description: | @@ -69441,11 +69708,11 @@ definitions: Vsphere compute identifier for identifying the vcenter server. type: string required: - - compute_id - - storage_id - management_network_id - - data_network_ids - vc_id + - data_network_ids + - compute_id + - storage_id type: object x-vmw-nsx-module: FabricNode description: | @@ -69623,8 +69890,8 @@ definitions: Virtual tunnel endpoint label range start type: integer required: - - start - end + - start type: object x-vmw-nsx-module: VtepLabel x-vmw-nsx-module: VtepLabel @@ -69700,8 +69967,8 @@ definitions: The virtual tunnel endpoint MAC address type: string required: - - vtep_mac_address - vtep_label + - vtep_mac_address type: object x-vmw-nsx-module: AggSvcLogicalSwitch x-vmw-nsx-module: AggSvcLogicalSwitch @@ -69824,8 +70091,8 @@ definitions: Minute at which data will be collected type: integer required: - - hour_of_day - day_of_week + - hour_of_day type: object x-vmw-nsx-module: TelemetryConfig x-vmw-nsx-module: TelemetryConfig @@ -70189,8 +70456,8 @@ definitions: readOnly: false type: string required: - - workflow_type - workflow_resource + - workflow_type title: |- Workflow request parameters type: object @@ -70340,8 +70607,8 @@ definitions: Username to use when authenticating to VIDB type: string required: - - certificate_chain - oidc_uri + - certificate_chain title: |- Configuration to enable VIDB type: object @@ -70726,7 +70993,7 @@ host: nsxmanager.your.domain info: description: VMware NSX Manager REST API title: NSX Manager API - version: 9.1.0.0 + version: 9.1.1.0 parameters: {} paths: /aaa/features-with-properties: @@ -72713,7 +72980,7 @@ paths: in: query name: fields type: string - - default: 100 + - default: 1000 description: The page size determines the number of logs to be returned format: int64 in: query @@ -73038,7 +73305,8 @@ paths: GET https://<nsx-mgr>/api/v1/administration/support-bundles/config x-vmw-nsx-example-response: | { - "enable_concurrent_tasks": true + "enable_concurrent_tasks": true, + "max_nodes_requiring_manager_processing": 25 } x-vmw-nsx-module: NodeSupportBundleConfig put: @@ -73082,11 +73350,13 @@ paths: x-vmw-nsx-example-request: | PUT https://<nsx-mgr>/api/v1/administration/support-bundles/config { - "enable_concurrent_tasks": false + "enable_concurrent_tasks": false, + "max_nodes_requiring_manager_processing": 25 } x-vmw-nsx-example-response: | { - "enable_concurrent_tasks": false + "enable_concurrent_tasks": false, + "max_nodes_requiring_manager_processing": 25 } x-vmw-nsx-module: NodeSupportBundleConfig /administration/support-bundles/dynamic-content-filters: @@ -73104,8 +73374,8 @@ paths: name: scope type: string produces: - - application/json - application/octet-stream + - application/json responses: '200': description: OK @@ -73166,8 +73436,8 @@ paths: name: require_delete_or_override_async_response type: boolean produces: - - application/json - application/octet-stream + - application/json responses: '200': description: OK @@ -73290,60 +73560,72 @@ paths: name: cursor required: false type: string - - description: 'Specify tags for which alarms should be filtered, for example, - INFRASTRUCTURE or INTELLIGENCE. + - description: 'Comma delimited list of one or more tags, used to filter alarms, + for + + example, INFRASTRUCTURE, TENANT_NETWORKING, TENANT_SECURITY. ' in: query name: event_tag required: false type: string - - description: 'Specify one or more event types for which alarms should be filtered. + - description: 'Comma delimited list of one or more event types, used to filter + alarms. + + Refer to GET /api/v1/events to get valid event types. ' in: query name: event_type required: false type: string - - description: 'Specify one or more feature names for which alarms should be - filtered. + - description: 'Comma delimited list of one or more feature names, used to filter + alarms. + + Refer to GET /api/v1/events to get valid feature names. ' in: query name: feature_name required: false type: string - - description: 'Specify one or more alarm IDs for which alarms should be filtered. + - description: 'Comma delimited list of one or more alarm IDs, used to filter + alarms. ' in: query name: id required: false type: string - - description: 'Specify one or more intent paths for which alarms should be - filtered. + - description: 'Comma delimited list of one or more intent paths, used to filter + alarms. ' in: query name: intent_path required: false type: string - - description: 'Specify one or more node IDs for which alarms should be filtered. + - description: 'Comma delimited list of one or more node IDs, used to filter + alarms. ' in: query name: node_id required: false type: string - - description: 'Specify one or more node resource types for which alarms should - be filtered. + - description: 'Comma delimited list of one or more node resource types, used + to filter + + alarms. ' in: query name: node_resource_type required: false type: string - - description: 'Specify Org ID for which alarms should be filtered. + - description: 'Comma delimited list of one or more Org IDs, used to filter + alarms. ' in: query @@ -73359,17 +73641,18 @@ paths: name: page_size required: false type: integer - - description: 'Specify Project ID for which alarms should be filtered. + - description: 'Comma delimited list of one or more Project IDs, used to filter + alarms. ' in: query name: project required: false type: string - - description: 'Specify one or more severity levels for which alarms should - be filtered. + - description: 'Comma delimited list of one or more of the following severity + levels: - Must be one of CRITICAL, HIGH, MEDIUM, LOW. + CRITICAL, HIGH, MEDIUM, LOW, used to filter alarms. ' in: query @@ -73389,17 +73672,18 @@ paths: name: sort_by required: false type: string - - description: 'Specify one or more status for which alarms should be filtered. - Must be + - description: 'Comma delimited list of one or more of the following statuses: + OPEN, - one of OPEN, ACKNOWLEDGED, SUPPRESSED, RESOLVED. + ACKNOWLEDGED, SUPPRESSED, RESOLVED, used to filter alarms. ' in: query name: status required: false type: string - - description: 'Specify VPC ID for which alarms should be filtered. + - description: 'Comma delimited list of one or more VPC IDs, used to filter + alarms. ' in: query @@ -73657,38 +73941,46 @@ paths: name: cursor required: false type: string - - description: 'Specify tags for which alarms should be filtered, for example, - INFRASTRUCTURE or INTELLIGENCE. + - description: 'Comma delimited list of one or more tags, used to filter alarms, + for + + example, INFRASTRUCTURE, TENANT_NETWORKING, TENANT_SECURITY. ' in: query name: event_tag required: false type: string - - description: 'Specify one or more event types for which alarms should be filtered. + - description: 'Comma delimited list of one or more event types, used to filter + alarms. + + Refer to GET /api/v1/events to get valid event types. ' in: query name: event_type required: false type: string - - description: 'Specify one or more feature names for which alarms should be - filtered. + - description: 'Comma delimited list of one or more feature names, used to filter + alarms. + + Refer to GET /api/v1/events to get valid feature names. ' in: query name: feature_name required: false type: string - - description: 'Specify one or more alarm IDs for which alarms should be filtered. + - description: 'Comma delimited list of one or more alarm IDs, used to filter + alarms. ' in: query name: id required: false type: string - - description: 'Specify one or more intent paths for which alarms should be - filtered. + - description: 'Comma delimited list of one or more intent paths, used to filter + alarms. ' in: query @@ -73710,22 +74002,26 @@ paths: name: new_status required: true type: string - - description: 'Specify one or more node IDs for which alarms should be filtered. + - description: 'Comma delimited list of one or more node IDs, used to filter + alarms. ' in: query name: node_id required: false type: string - - description: 'Specify one or more node resource types for which alarms should - be filtered. + - description: 'Comma delimited list of one or more node resource types, used + to filter + + alarms. ' in: query name: node_resource_type required: false type: string - - description: 'Specify Org ID for which alarms should be filtered. + - description: 'Comma delimited list of one or more Org IDs, used to filter + alarms. ' in: query @@ -73741,17 +74037,18 @@ paths: name: page_size required: false type: integer - - description: 'Specify Project ID for which alarms should be filtered. + - description: 'Comma delimited list of one or more Project IDs, used to filter + alarms. ' in: query name: project required: false type: string - - description: 'Specify one or more severity levels for which alarms should - be filtered. + - description: 'Comma delimited list of one or more of the following severity + levels: - Must be one of CRITICAL, HIGH, MEDIUM, LOW. + CRITICAL, HIGH, MEDIUM, LOW, used to filter alarms. ' in: query @@ -73771,10 +74068,10 @@ paths: name: sort_by required: false type: string - - description: 'Specify one or more status for which alarms should be filtered. - Must be + - description: 'Comma delimited list of one or more of the following statuses: + OPEN, - one of OPEN, ACKNOWLEDGED, SUPPRESSED, RESOLVED. + ACKNOWLEDGED, SUPPRESSED, RESOLVED, used to filter alarms. ' in: query @@ -73790,7 +74087,8 @@ paths: in: query name: suppress_duration type: integer - - description: 'Specify VPC ID for which alarms should be filtered. + - description: 'Comma delimited list of one or more VPC IDs, used to filter + alarms. ' in: query @@ -76678,7 +76976,7 @@ paths: "authentication_scheme":{ "scheme_name":"KEY", "username":"admin", - "identity_file":"-----BEGIN PRIVATE KEY-----\nMIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAQCfJGCSdJx+qKxt\nE4vmwdLYbFjeuYMNqC3YfB+6sWcqkkZc708zlIyl7Z3F4PE3THDWBo6gCCa3vi6E\nL8HRHUcl8HM4iZxUt352MEJkUuUtkn5tMI5phm9r6bZS736w+AsyYawcOpI24253\nuqPWRXv1VzFJBwk+lgBlzEuarcH7krimBfC1pJdyG7KsfPhTiwtgXA7b2Hz6p9Ub\nuozZ9A1OigyR6QbFKJ/Fl0EsmUinRsPFkeiijF3uQuTUPl0lhty+UY99GmmRQ0+v\nH2wKUbyh6+T4vmhBhVrBTqhCfIJrD6ZJin20AYJUxiu9SSdLq7HzMR4LnEe78/0T \nlGG7yP0jAgMBAAECggEAG94+bRcvmnyGKVm9a4zwk8axb1tUKE2Vra3azpIna0yP\nNtIPcAxo7tuj/9Vq2FCyB8DBNCQJR67trWdBjRGP9oRbYQC0GB/D7QV5cuETUf4v\n1oYkwjTxCRg1veNDr9DYARwajBzzotoD68KK00h6sxVwQ4YQZ93Ttv/mE3GvIRMj\nQN1s6VbFe7jUpEzfJO6/Mg4aRKrFEIp/5q7NRT4jwY4UBJlEC0I9zhrs4rnyIjWR\nLpazAmugcMQ4Uj8xaIDg4rb/KfjdiitivW+6AhXd49RLm6GXncXv1hwN6wZ1Punb\nxV8+xwt9BS5gwBuNASokjwOTswj+bxYXTsaxHPfjvQKBgQDMhsssUOhLJrohcGdR\n3dF/jeJZ6a+GMydBhiVdWHAhx1prEcjH65o0jpWefpk3XiJVcTtdhHtU8Qamm0xV\nVxaVd8W9LJZBRmjJ0VAzghBWzq4je3pw6JAIhVYL3bWzR74xVa9NiFXu8ZqLsJjw\nNlEPQ9vZQZwIDUOs1p9as7PUFQKBgQDHMY+8x/YyyYRhLCsqgdynV3Lc2J5Hk9bN \nqo604uhEAJTbHTZ7WwRAT9QNbIBJwx7j5z1m4MEUq0RFe+MDyW+ACxz+oIGrgmMe\nVcNdvlzQHGywo3BC5CvygU1RrSnu1pqeLk9Vo5KXTz3rAr59Icw54rw7BC7b2RqY\nSnmQUCTCVwKBgBjJ0YAagjzxgaeh3vPeJZEHGkL5fquOMZjQcGDi4hxF9CB79FC+ \nrl7mVR3zjBBY2WJvqdlIwEXoPH0e316MgpE1BgNKjx90MCkdtFG51s8el553Tby3\ngxV1S5t+kJIdBOEn2GpWNswR/kAl9DNQ8fweplurhwS2ztf43zF4DDiNAoGARpo1\nhUcm53dv2XVrU2S2DgY76zVIXLx07W7fqBOpGblPCZ8AGZb4GcdxtNRZYEutnj/v \nDpDpPuc5iptPqp7yS2MlAsdnTqAne7AQUCDSCt2YVL+JYdw4C3tzKVkEPOiJ4zks\n24Dfy4vFuY++buHU3kuURiLEbR41g/cZwWH2tX8CgYAaXJvi9UkNlYfcIzsTqnkC\nmEJt1keFgoD6U0VK2SWL65EL24s5bC81cVtQo6cuVRiAbKKyvcI0/qwnDqIRa9/J\nuakA4piJcmbae9qSNRdloIYdYKT4k7DRHoh45eB7ZKdCu76gUUllOAdr8DGF6xBr\nzHPHeBNiX4ORwTewAEf+VA==\n-----END PRIVATE KEY-----" + "identity_file":"-----BEGIN PRIVATE KEY-----\n\n-----END PRIVATE KEY-----" } }, "directory_path":"/nsx-backups" @@ -76702,7 +77000,7 @@ paths: "authentication_scheme":{ "scheme_name":"KEY", "username":"admin", - "identity_file":"-----BEGIN PRIVATE KEY-----\nMIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAQCfJGCSdJx+qKxt\nE4vmwdLYbFjeuYMNqC3YfB+6sWcqkkZc708zlIyl7Z3F4PE3THDWBo6gCCa3vi6E\nL8HRHUcl8HM4iZxUt352MEJkUuUtkn5tMI5phm9r6bZS736w+AsyYawcOpI24253\nuqPWRXv1VzFJBwk+lgBlzEuarcH7krimBfC1pJdyG7KsfPhTiwtgXA7b2Hz6p9Ub\nuozZ9A1OigyR6QbFKJ/Fl0EsmUinRsPFkeiijF3uQuTUPl0lhty+UY99GmmRQ0+v\nH2wKUbyh6+T4vmhBhVrBTqhCfIJrD6ZJin20AYJUxiu9SSdLq7HzMR4LnEe78/0T \nlGG7yP0jAgMBAAECggEAG94+bRcvmnyGKVm9a4zwk8axb1tUKE2Vra3azpIna0yP\nNtIPcAxo7tuj/9Vq2FCyB8DBNCQJR67trWdBjRGP9oRbYQC0GB/D7QV5cuETUf4v\n1oYkwjTxCRg1veNDr9DYARwajBzzotoD68KK00h6sxVwQ4YQZ93Ttv/mE3GvIRMj\nQN1s6VbFe7jUpEzfJO6/Mg4aRKrFEIp/5q7NRT4jwY4UBJlEC0I9zhrs4rnyIjWR\nLpazAmugcMQ4Uj8xaIDg4rb/KfjdiitivW+6AhXd49RLm6GXncXv1hwN6wZ1Punb\nxV8+xwt9BS5gwBuNASokjwOTswj+bxYXTsaxHPfjvQKBgQDMhsssUOhLJrohcGdR\n3dF/jeJZ6a+GMydBhiVdWHAhx1prEcjH65o0jpWefpk3XiJVcTtdhHtU8Qamm0xV\nVxaVd8W9LJZBRmjJ0VAzghBWzq4je3pw6JAIhVYL3bWzR74xVa9NiFXu8ZqLsJjw\nNlEPQ9vZQZwIDUOs1p9as7PUFQKBgQDHMY+8x/YyyYRhLCsqgdynV3Lc2J5Hk9bN \nqo604uhEAJTbHTZ7WwRAT9QNbIBJwx7j5z1m4MEUq0RFe+MDyW+ACxz+oIGrgmMe\nVcNdvlzQHGywo3BC5CvygU1RrSnu1pqeLk9Vo5KXTz3rAr59Icw54rw7BC7b2RqY\nSnmQUCTCVwKBgBjJ0YAagjzxgaeh3vPeJZEHGkL5fquOMZjQcGDi4hxF9CB79FC+ \nrl7mVR3zjBBY2WJvqdlIwEXoPH0e316MgpE1BgNKjx90MCkdtFG51s8el553Tby3\ngxV1S5t+kJIdBOEn2GpWNswR/kAl9DNQ8fweplurhwS2ztf43zF4DDiNAoGARpo1\nhUcm53dv2XVrU2S2DgY76zVIXLx07W7fqBOpGblPCZ8AGZb4GcdxtNRZYEutnj/v \nDpDpPuc5iptPqp7yS2MlAsdnTqAne7AQUCDSCt2YVL+JYdw4C3tzKVkEPOiJ4zks\n24Dfy4vFuY++buHU3kuURiLEbR41g/cZwWH2tX8CgYAaXJvi9UkNlYfcIzsTqnkC\nmEJt1keFgoD6U0VK2SWL65EL24s5bC81cVtQo6cuVRiAbKKyvcI0/qwnDqIRa9/J\nuakA4piJcmbae9qSNRdloIYdYKT4k7DRHoh45eB7ZKdCu76gUUllOAdr8DGF6xBr\nzHPHeBNiX4ORwTewAEf+VA==\n-----END PRIVATE KEY-----" + "identity_file":"-----BEGIN PRIVATE KEY-----\n\n-----END PRIVATE KEY-----" } }, "directory_path":"/nsx-backups" @@ -79581,9 +79879,11 @@ paths: consumes: - application/json description: | - Returns information about the NSX appliance. Information includes - release number, time zone, system time, kernel version, message of the day - (motd), and host name. + Returns information about the NSX appliance. Information includes CLI coredump + configuration, CLI history size, CLI output datetime, CLI output deprecate warn, + CLI timeout, export type, host name, kernel version, message of the day (motd), + node type, node UUID, node version, product version, system datetime, system time + and time zone. operationId: ClusterClusterNodeIdNodeReadNodeProperties parameters: - in: path @@ -79620,36 +79920,38 @@ paths: GET https://<nsx-mgr>/api/v1/node x-vmw-nsx-example-response: | { - "hostname": "policy1", - "kernel_version": "5.15.146-nn1-server", - "motd": "", - "node_uuid": "9d9d0142-89b5-8ab5-b985-cd50efe9938f", - "node_version": "4.2.0.0.0.23342379", - "system_time": 1708542810402, - "system_datetime": "2024-02-21T19:13:30Z", - "timezone": "Etc/UTC", - "cli_timeout": 600, - "cli_output_datetime": true, - "cli_output_central": false, - "cli_history_size": 100, - "cli_output_deprecate_warn": true, "cli_coredump_config": { "global_file_limit": 2, "global_frequency_threshold": 600, "process_config": [] }, + "cli_history_size": 100, + "cli_output_datetime": true, + "cli_output_deprecate_warn": true, + "cli_timeout": 600, "export_type": "UNRESTRICTED", - "node_type": "NSX Manager" + "hostname": "ad007501-nsxmanager-ob-25455896-1-Test2", + "kernel_version": "6.6.116-nn3-generic", + "motd": "", + "node_type": "NSX Manager", + "node_uuid": "5aac0142-b47d-02b9-67fd-df2bd9ed6a0b", + "node_version": "9.1.1.0.25455905", + "product_version": "9.1.1.0.25455896", + "system_datetime": "2026-05-31T15:33:38Z", + "system_time": 1780241618189, + "timezone": "Etc/UTC" } x-vmw-nsx-module: Node put: consumes: - application/json description: | - Modifies NSX appliance properties. Modifiable properties include the - timezone, message of the day (motd), and hostname. The NSX appliance - node_version, system_time, and kernel_version are read only and cannot be - modified with this method. + Modifies NSX appliance properties. Modifiable properties include + cli_coredump_config, cli_history_size, cli_output_datetime, + cli_output_deprecate_warn, cli_timeout, hostname, motd, system_datetime, + and timezone. The NSX appliance export_type, kernel_version, node_type, + node_uuid, node_version, product_version and system_time are read only + and cannot be modified with this method. operationId: ClusterClusterNodeIdNodeUpdateNodeProperties parameters: - in: path @@ -79694,14 +79996,25 @@ paths: } x-vmw-nsx-example-response: | { - "cli_timeout": 600, + "cli_coredump_config": { + "global_file_limit": 2, + "global_frequency_threshold": 600, + "process_config": [] + }, + "cli_history_size": 100, "cli_output_datetime": true, "cli_output_deprecate_warn": true, - "hostname": "VMware_NSX_Manager", - "kernel_version": "3.14.17-nn1-server", - "motd": "Welcome to the NSX Manager", - "node_version": "1.0.0.0.0.3063398", - "system_time": 1442277530217, + "cli_timeout": 600, + "export_type": "UNRESTRICTED", + "hostname": "ad007501-nsxmanager-ob-25455896-1-Test2", + "kernel_version": "6.6.116-nn3-generic", + "motd": "", + "node_type": "NSX Manager", + "node_uuid": "5aac0142-b47d-02b9-67fd-df2bd9ed6a0b", + "node_version": "9.1.1.0.25455905", + "product_version": "9.1.1.0.25455896", + "system_datetime": "2026-05-31T15:33:38Z", + "system_time": 1780241618189, "timezone": "Etc/UTC" } x-vmw-nsx-module: Node @@ -79784,6 +80097,13 @@ paths: user passwords. Administrators need to enforce password change for existing user accounts in order to match newly configured complexity requirements enforced in system. All values from AuthenticationPolicyProperties are in sync among the management cluster nodes. +
+ If any field is not specified in the request body, the existing configured value will be + retained rather than falling back to the system default value. +
+ When the VCF password management policy is configured, its properties take precedence and + are strictly enforced. Any attempt to specify values that conflict with this policy will + result in a 409 CONFLICT error. To modify the policy, kindly use the VCF Operations UI or API. operationId: ClusterClusterNodeIdNodeUpdateAuthenticationPolicyProperties parameters: - in: path @@ -79862,15 +80182,19 @@ paths: post: consumes: - application/json - description: | - Resets to default, currently configured authentication policy and password complexity on the node. - Administrators need to enforce password change for existing user accounts - in order to match newly configured complexity requirements in system. -

reset-all: resets configured Authentication policy and Password complexity

-

reset-auth-policies: resets only configured Authentication policy
- includes - {api_failed_auth_lockout_period, api_failed_auth_reset_period, - api_max_auth_failures, cli_failed_auth_lockout_period, cli_max_auth_failures}

-

reset-pwd-complexity: resets only configured Password complexity

+ description: "Resets to default, currently configured authentication policy\ + \ and password complexity on the node.\nAdministrators need to enforce password\ + \ change for existing user accounts\nin order to match newly configured complexity\ + \ requirements in system.\n

reset-all: resets configured Authentication\ + \ policy and Password complexity

\n

reset-auth-policies: resets\ + \ only configured Authentication policy
\nincludes - {api_failed_auth_lockout_period,\ + \ api_failed_auth_reset_period,\napi_max_auth_failures, cli_failed_auth_lockout_period,\ + \ cli_max_auth_failures}

\n

reset-pwd-complexity: resets only\ + \ configured Password complexity

\n
\nWhen the password policy is managed\ + \ through VCF Operations, performing a reset action\nwill update all VCF Operations\u2013\ + managed fields to their default password policy values\nas defined by VCF.\ + \ Fields not managed by VCF Operations will retain their default\nvalues as\ + \ defined by NSX.\n" operationId: ClusterClusterNodeIdNodeResetAuthenticationPolicyPropertiesResetAll parameters: - in: path @@ -79935,15 +80259,19 @@ paths: post: consumes: - application/json - description: | - Resets to default, currently configured authentication policy and password complexity on the node. - Administrators need to enforce password change for existing user accounts - in order to match newly configured complexity requirements in system. -

reset-all: resets configured Authentication policy and Password complexity

-

reset-auth-policies: resets only configured Authentication policy
- includes - {api_failed_auth_lockout_period, api_failed_auth_reset_period, - api_max_auth_failures, cli_failed_auth_lockout_period, cli_max_auth_failures}

-

reset-pwd-complexity: resets only configured Password complexity

+ description: "Resets to default, currently configured authentication policy\ + \ and password complexity on the node.\nAdministrators need to enforce password\ + \ change for existing user accounts\nin order to match newly configured complexity\ + \ requirements in system.\n

reset-all: resets configured Authentication\ + \ policy and Password complexity

\n

reset-auth-policies: resets\ + \ only configured Authentication policy
\nincludes - {api_failed_auth_lockout_period,\ + \ api_failed_auth_reset_period,\napi_max_auth_failures, cli_failed_auth_lockout_period,\ + \ cli_max_auth_failures}

\n

reset-pwd-complexity: resets only\ + \ configured Password complexity

\n
\nWhen the password policy is managed\ + \ through VCF Operations, performing a reset action\nwill update all VCF Operations\u2013\ + managed fields to their default password policy values\nas defined by VCF.\ + \ Fields not managed by VCF Operations will retain their default\nvalues as\ + \ defined by NSX.\n" operationId: ClusterClusterNodeIdNodeResetAuthenticationPolicyPropertiesResetAuthPolicies parameters: - in: path @@ -80008,15 +80336,19 @@ paths: post: consumes: - application/json - description: | - Resets to default, currently configured authentication policy and password complexity on the node. - Administrators need to enforce password change for existing user accounts - in order to match newly configured complexity requirements in system. -

reset-all: resets configured Authentication policy and Password complexity

-

reset-auth-policies: resets only configured Authentication policy
- includes - {api_failed_auth_lockout_period, api_failed_auth_reset_period, - api_max_auth_failures, cli_failed_auth_lockout_period, cli_max_auth_failures}

-

reset-pwd-complexity: resets only configured Password complexity

+ description: "Resets to default, currently configured authentication policy\ + \ and password complexity on the node.\nAdministrators need to enforce password\ + \ change for existing user accounts\nin order to match newly configured complexity\ + \ requirements in system.\n

reset-all: resets configured Authentication\ + \ policy and Password complexity

\n

reset-auth-policies: resets\ + \ only configured Authentication policy
\nincludes - {api_failed_auth_lockout_period,\ + \ api_failed_auth_reset_period,\napi_max_auth_failures, cli_failed_auth_lockout_period,\ + \ cli_max_auth_failures}

\n

reset-pwd-complexity: resets only\ + \ configured Password complexity

\n
\nWhen the password policy is managed\ + \ through VCF Operations, performing a reset action\nwill update all VCF Operations\u2013\ + managed fields to their default password policy values\nas defined by VCF.\ + \ Fields not managed by VCF Operations will retain their default\nvalues as\ + \ defined by NSX.\n" operationId: ClusterClusterNodeIdNodeResetAuthenticationPolicyPropertiesResetPwdComplexity parameters: - in: path @@ -81867,8 +82199,8 @@ paths: required: true type: string produces: - - application/json - application/octet-stream + - application/json responses: '200': description: OK @@ -81999,6 +82331,8 @@ paths: consumes: - application/json description: |- + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Retrieve the management plane configuration for this node to identify the Manager node with which the controller service is communicating. operationId: ClusterClusterNodeIdNodeReadManagementPlaneConfiguration parameters: @@ -82032,11 +82366,14 @@ paths: tags: - System (Administration) - NSX Managers + x-vmw-nsx-experimental: true x-vmw-nsx-module: ManagementPlaneModule put: consumes: - application/json description: |- + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Update the management plane configuration for this node. operationId: ClusterClusterNodeIdNodeUpdateManagementPlaneConfiguration parameters: @@ -82075,6 +82412,7 @@ paths: tags: - System (Administration) - NSX Managers + x-vmw-nsx-experimental: true x-vmw-nsx-module: ManagementPlaneModule /cluster/{cluster-node-id}/node/mode: get: @@ -82204,6 +82542,8 @@ paths: consumes: - application/json description: |- + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Retrieve the MPA configuration for this node to identify the Manager nodes with which this node is communicating. operationId: ClusterClusterNodeIdNodeReadMPAConfiguration parameters: @@ -82237,11 +82577,14 @@ paths: tags: - System (Administration) - Global Configurations + x-vmw-nsx-experimental: true x-vmw-nsx-module: MPAConfigModule put: consumes: - application/json description: |- + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Update the MPA configuration for this node. operationId: ClusterClusterNodeIdNodeUpdateMPAConfiguration parameters: @@ -82280,6 +82623,7 @@ paths: tags: - System (Administration) - Global Configurations + x-vmw-nsx-experimental: true x-vmw-nsx-module: MPAConfigModule /cluster/{cluster-node-id}/node/network: get: @@ -90614,8 +90958,8 @@ paths: } ], "v3_configured": false, - "v3_auth_protocol": "SHA1", - "v3_priv_protocol": "AES128", + "v3_auth_protocol": "SHA256", + "v3_priv_protocol": "AES256", "v3_targets": [ { "server": "10.20.125.4", @@ -90698,8 +91042,8 @@ paths: } ], "v3_configured": false, - "v3_auth_protocol": "SHA1", - "v3_priv_protocol": "AES128", + "v3_auth_protocol": "SHA256", + "v3_priv_protocol": "AES256", "v3_targets": [ { "server": "10.20.125.4", @@ -90747,8 +91091,8 @@ paths: } ], "v3_configured": false, - "v3_auth_protocol": "SHA1", - "v3_priv_protocol": "AES128", + "v3_auth_protocol": "SHA256", + "v3_priv_protocol": "AES256", "v3_targets": [ { "server": "10.20.125.4", @@ -93698,6 +94042,11 @@ paths: Note that invoking this API does not update any user-related properties of existing objects in the system and does not modify the username field in existing audit log entries.

+
+ When a VCF password management policy is configured, VCF password management policy's + properties take precedence and are enforced. Specifying the password_change_frequency + value that conflicts with the VCF password management policy's passwordExpirationDays + returns 409 CONFLICT. Please use the VCF Ops UI/API to update the policy if needed. operationId: ClusterClusterNodeIdNodeUpdateNodeUser parameters: - description: |- @@ -94124,6 +94473,13 @@ paths: In case of local audit account when username not specified in request by default account will be created with audit username, although administrators are allowed to use any other non-duplicate usernames during creation. +
+ When a VCF password management policy is configured, VCF password management policy's + properties take precedence and are enforced. password_change_frequency is set to the + VCF password management policy's passwordExpirationDays if not provided. Specifying + the password_change_frequency value that conflicts with the VCF password management + policy's passwordExpirationDays returns 409 CONFLICT. Please use the VCF Ops UI/API + to update the policy if needed. operationId: ClusterClusterNodeIdNodeCreateNodeUserCreateAuditUser parameters: - in: path @@ -94191,6 +94547,13 @@ paths: In case of local audit account when username not specified in request by default account will be created with audit username, although administrators are allowed to use any other non-duplicate usernames during creation. +
+ When a VCF password management policy is configured, VCF password management policy's + properties take precedence and are enforced. password_change_frequency is set to the + VCF password management policy's passwordExpirationDays if not provided. Specifying + the password_change_frequency value that conflicts with the VCF password management + policy's passwordExpirationDays returns 409 CONFLICT. Please use the VCF Ops UI/API + to update the policy if needed. operationId: ClusterClusterNodeIdNodeCreateNodeUserCreateServiceUser parameters: - in: path @@ -94258,6 +94621,13 @@ paths: In case of local audit account when username not specified in request by default account will be created with audit username, although administrators are allowed to use any other non-duplicate usernames during creation. +
+ When a VCF password management policy is configured, VCF password management policy's + properties take precedence and are enforced. password_change_frequency is set to the + VCF password management policy's passwordExpirationDays if not provided. Specifying + the password_change_frequency value that conflicts with the VCF password management + policy's passwordExpirationDays returns 409 CONFLICT. Please use the VCF Ops UI/API + to update the policy if needed. operationId: ClusterClusterNodeIdNodeCreateNodeUserCreateUser parameters: - in: path @@ -94366,7 +94736,7 @@ paths: consumes: - application/json description: |- - Read node version + Read node and product version operationId: ClusterClusterNodeIdNodeReadNodeVersion parameters: - in: path @@ -94395,7 +94765,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Read node version + Read node and product version tags: - System (Fabric) - Transport Nodes @@ -94403,7 +94773,8 @@ paths: GET https://<nsx-mgr>/api/v1/node/version x-vmw-nsx-example-response: | { - "node_version": "1.0.0.0.0.3063398" + "node_version": "1.0.0.0.0.3063398", + "product_version": "1.0.0.0.0.3063399" } x-vmw-nsx-module: NodeVersion /cluster/{cluster-node-id}/node?action=restart: @@ -95303,8 +95674,8 @@ paths: ] }, "v3": { - "auth_protocol": "SHA1", - "priv_protocol": "AES128", + "auth_protocol": "SHA256", + "priv_protocol": "AES256", "targets": [ {"server": "10.20.125.4", "port": 1162, "user_id": "user1", "security_level": "AUTH_PRIV"} ], @@ -95406,8 +95777,8 @@ paths: ] }, "v3": { - "auth_protocol": "SHA1", - "priv_protocol": "AES128", + "auth_protocol": "SHA256", + "priv_protocol": "AES256", "targets": [ {"server": "10.20.125.4", "port": 1162, "user_id": "user1", "security_level": "AUTH_PRIV"}, {"server": "10.20.125.6", "port": 1162, "user_id": "user2", "security_level": "AUTH_PRIV"} @@ -95462,8 +95833,8 @@ paths: ] }, "v3": { - "auth_protocol": "SHA1", - "priv_protocol": "AES128", + "auth_protocol": "SHA256", + "priv_protocol": "AES256", "targets": [ {"server": "10.20.125.4", "port": 1162, "user_id": "user1", "security_level": "AUTH_PRIV"}, {"server": "10.20.125.6", "port": 1162, "user_id": "user2", "security_level": "AUTH_PRIV"} @@ -95577,8 +95948,8 @@ paths: ] }, "v3": { - "auth_protocol": "SHA1", - "priv_protocol": "AES128", + "auth_protocol": "SHA256", + "priv_protocol": "AES256", "targets": [ {"server": "10.20.125.4", "port": 1162, "user_id": "user1", "security_level": "AUTH_PRIV"} ], @@ -97924,11 +98295,10 @@ paths: name: origin_id required: false type: string - - description: 'ComputeCollection type like VC_Cluster. Here the Compute Manager - - type prefix would help in differentiating similar named Compute + - description: 'Filters results by the origin type of the Compute Collection. + Supported values are - Collection types from different Compute Managers + VC_Cluster (vSphere cluster) and VC_ResourcePool (vSphere resource pool). ' in: query @@ -97998,7 +98368,7 @@ paths: "origin_id": "b0ba10c8-d193-11e6-bf26-cec0c932ce01", "cm_local_id": "domain-c34", "datacenter_external_id": "b0ba10c8-d193-11e6-bf26-cec0c932ce01:datacenter-1002", - "owner_nsx": SELF, + "owner_nsx": "SELF", "origin_properties": [] }, { @@ -98008,7 +98378,7 @@ paths: "origin_id": "b0ba10c8-d193-11e6-bf26-cec0c932ce01", "cm_local_id": "domain-c32", "datacenter_external_id": "b0ba10c8-d193-11e6-bf26-cec0c932ce01:datacenter-1004", - "owner_nsx": SELF, + "owner_nsx": "SELF", "origin_properties": [] } ] @@ -98054,7 +98424,7 @@ paths: - Compute Collections x-vmw-nsx-deployment-modes: [] x-vmw-nsx-example-request: | - GET https://<nsx-mgr>/api/v1/fabric/compute-collections/ead58c04-d19a-11e6-bf26-cec0c932ce01:domain-c32 + GET https://<nsx-mgr>/api/v1/fabric/compute-collections/b0ba10c8-d193-11e6-bf26-cec0c932ce01:domain-c32 x-vmw-nsx-example-response: | { "display_name": "cluster-1", @@ -98063,6 +98433,7 @@ paths: "origin_id": "b0ba10c8-d193-11e6-bf26-cec0c932ce01", "cm_local_id": "domain-c32", "datacenter_external_id": "b0ba10c8-d193-11e6-bf26-cec0c932ce01:datacenter-1004", + "owner_nsx": "SELF", "origin_properties": [] } x-vmw-nsx-module: InventoryCmObj @@ -98114,8 +98485,10 @@ paths: get: consumes: - application/json - description: |- - Get status of member host nodes of the compute-collection. Only nsx prepared host nodes in the specified compute-collection are included in the response. cc-ext-id should be of type VC_Cluster. + description: | + Returns the NSX preparation status of member host nodes in the specified compute + collection. Only NSX-prepared member host nodes are included in the response. The cc-ext-id + path parameter must correspond to a Compute Collection of type VC_Cluster. operationId: GetHostNodeStatusOnComputeCollection parameters: - in: path @@ -98144,7 +98517,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Get status of member host nodes of the compute-collection. Only nsx prepared host nodes in the specified compute-collection are included in the response. cc-ext-id should be of type VC_Cluster. + Return Host Node Status for a Compute Collection tags: - System (Fabric) - Compute Collections @@ -98413,9 +98786,13 @@ paths: get: consumes: - application/json + deprecated: true description: | Supports retrieving of configuration of algorithm used for thumbprint hashing used in stamping nsx manager thumbprint in compute manager extension. + +
+ Deprecated from 9.1.1 - SHA256 is mandatory and SHA1 is no longer supported. operationId: GetCmThumbprintHashingConfig produces: - application/json @@ -98455,12 +98832,14 @@ paths: put: consumes: - application/json + deprecated: true description: | Updates configuration of algorithm used for thumbprint hashing used in stamping nsx manager thumbprint in compute manager extension. - Changing this setting to SHA256 will result in communication issues between - WCP component in VC and NSX manager. - Hence it is recommended not to use SHA256 if VC WCP feature is being used with NSX. + SHA256 is mandatory for all environments including WCP. + +
+ Deprecated from 9.1.1 - SHA256 is mandatory and SHA1 is no longer supported. operationId: UpdateCmThumbprintHashingConfig parameters: - in: body @@ -100701,7 +101080,7 @@ paths: "origin_id": "b0ba10c8-d193-11e6-bf26-cec0c932ce01", "cm_local_id": "host-91", "node_type": "HostNode", - "owner_nsx": NONE, + "owner_nsx": "NONE", "parent_compute_collection": "b0ba10c8-d193-11e6-bf26-cec0c932ce01:domain-c32", "origin_properties": [] }, @@ -100712,7 +101091,7 @@ paths: "origin_id": "d2071ed8-d193-11e6-bf26-cec0c932ce01", "cm_local_id": "host-91", "node_type": "HostNode", - "owner_nsx": OTHER, + "owner_nsx": "OTHER", "parent_compute_collection": "b0ba10c8-d193-11e6-bf26-cec0c932ce01:domain-c1", "origin_properties": [] } @@ -101349,7 +101728,8 @@ paths: in: query name: cursor type: string - - description: Id of the host where this vif is located. + - description: Unique ID of the host where this VirtualNetworkInterface's VM + resides. in: query name: host_id required: false @@ -101504,7 +101884,7 @@ paths: name: external_id required: false type: string - - description: Id of the host where this vif is located + - description: Unique ID of the host where this VM is located. in: query name: host_id required: false @@ -102094,7 +102474,7 @@ paths: "external_id" : "748f7736-4807-4007-ad5c-6ef082975719:dvs-3001", "origin_id" : "748f7736-4807-4007-ad5c-6ef082975719", "cm_local_id" : "dvs-3001", - "owner_nsx" : MULTIPLE, + "owner_nsx" : "MULTIPLE", "origin_type" : "VmwareDistributedVirtualSwitch" } ], "result_count" : 1 @@ -104686,7 +105066,8 @@ paths: "GATEWAY_TLS": "0", "GATEWAY_IDPS": "16", "GATEWAY_MPS": "16", - "NETWORK_DETECTION_RESPONSE": "160" + "NETWORK_DETECTION_RESPONSE": "160", + "NETWORK_TRAFFIC_ANALYSIS": "0" }, "licensed_core_count": { "DISTRIBUTED_FIREWALL": "2560", @@ -104700,7 +105081,8 @@ paths: "GATEWAY_TLS": "0", "GATEWAY_IDPS": "64", "GATEWAY_MPS": "64", - "NETWORK_DETECTION_RESPONSE": "2560" + "NETWORK_DETECTION_RESPONSE": "2560", + "NETWORK_TRAFFIC_ANALYSIS": "0" } }, "node_details" : [ { @@ -104820,8 +105202,8 @@ paths: x-vmw-nsx-example-request: | GET https://<nsx-mgr>/api/v1/licenses/security-usage?format=csv x-vmw-nsx-example-response: | - "raw_host_core_count_distributed_firewall","raw_host_core_count_distributed_intelligence","raw_host_core_count_distributed_ipfix","raw_host_core_count_distributed_baremetal","raw_host_core_count_distributed_intelligence_baremetal","raw_host_core_count_distributed_ipfix_baremetal","raw_host_core_count_distributed_idps","raw_host_core_count_distributed_mps",raw_host_core_count_ndr,"raw_edge_core_count_gateway_firewall","raw_edge_core_count_gateway_tls","raw_edge_core_count_gateway_idps","raw_edge_core_count_gateway_mps","dpu_core_count_all_editions","licensed_host_core_count_distributed_firewall","licensed_host_core_count_distributed_intelligence","licensed_host_core_count_distributed_ipfix","licensed_host_core_count_distributed_baremetal","licensed_host_core_count_distributed_intelligence_baremetal","licensed_host_core_count_distributed_ipfix_baremetal","licensed_host_core_count_distributed_idps","licensed_host_core_count_distributed_mps","licensed_host_core_count_ndr","licensed_edge_core_count_gateway_firewall","licensed_edge_core_count_gateway_tls","licensed_edge_core_count_gateway_idps","licensed_edge_core_count_gateway_mps","licensed_total_core_count_firewall_edition","licensed_total_core_count_firewall_atp_edition","max_raw_core_count_per_host","max_raw_core_count_per_socket","max_socket_count_per_host",num_edge_small_factor,num_edge_medium_factor,num_edge_large_factor,num_edge_xlarge_factor,"num_edge_baremetal_at_recommended_cores","num_edge_baremetal_at_minimum_cores",number_of_nsgroups,number_of_prepared_hosts,"number_of_virtual_machines","number_of_tier_0_gateways","number_of_tier_1_gateways",number_of_dfw_rules,number_of_firewall_rules,intelligence_deployed,"recommendation_sessions_total",napp_appliance_version,"number_of_ids_gateway_rules","number_of_ids_security_policies","mps_total_number_of_profiles","mps_number_of_dfw_ids_rules_with_custom_mps_profiles","mps_number_of_gateway_ids_rules_with_custom_mps_profiles",nta_enabled,nsx_manager_version,nsx_deployment_id,nsx_site_id,license_edition_type,license_key,"total_firewall_ipfix_profiles","host_number_of_host_node_cpu_cores","edge_number_of_edge_node_cpu_cores",last_update_timestamp - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,0,0,0,0,,0,0,0,0,0,,4,1,4,0,4,0,0,0,0,9,2,11,2,3,6,11,false,,,0,0,0,0,0,UNAVAILABLE,4.2.1.0.0.24181564,"f72e5056-17e3-43a1-87f6-b7e8f9ad31a1","d674048b-4dc5-48af-9932-3917c23b965a","[NSX Data Center Enterprise Plus|NSX for vSphere - Enterprise|NSX for vShield Endpoint]","[00000-00000-00000-00000-00000|1111-22222-33333-44444-55555]",,8,16,1723063385160 + "raw_host_core_count_distributed_firewall","raw_host_core_count_distributed_intelligence","raw_host_core_count_distributed_ipfix","raw_host_core_count_distributed_baremetal","raw_host_core_count_distributed_intelligence_baremetal","raw_host_core_count_distributed_ipfix_baremetal","raw_host_core_count_distributed_idps","raw_host_core_count_distributed_mps","raw_host_core_count_ndr","raw_host_core_count_nta","raw_edge_core_count_gateway_firewall","raw_edge_core_count_gateway_tls","raw_edge_core_count_gateway_idps","raw_edge_core_count_gateway_mps","dpu_core_count_all_editions","licensed_host_core_count_distributed_firewall","licensed_host_core_count_distributed_intelligence","licensed_host_core_count_distributed_ipfix","licensed_host_core_count_distributed_baremetal","licensed_host_core_count_distributed_intelligence_baremetal","licensed_host_core_count_distributed_ipfix_baremetal","licensed_host_core_count_distributed_idps","licensed_host_core_count_distributed_mps","licensed_host_core_count_ndr","licensed_host_core_count_nta","licensed_edge_core_count_gateway_firewall","licensed_edge_core_count_gateway_tls","licensed_edge_core_count_gateway_idps","licensed_edge_core_count_gateway_mps","licensed_total_core_count_firewall_edition","licensed_total_core_count_firewall_atp_edition","max_raw_core_count_per_host","max_raw_core_count_per_socket","max_socket_count_per_host",num_edge_small_factor,num_edge_medium_factor,num_edge_large_factor,num_edge_xlarge_factor,"num_edge_baremetal_at_recommended_cores","num_edge_baremetal_at_minimum_cores",number_of_nsgroups,number_of_prepared_hosts,"number_of_virtual_machines","number_of_tier_0_gateways","number_of_tier_1_gateways",number_of_dfw_rules,number_of_firewall_rules,intelligence_deployed,"recommendation_sessions_total",napp_appliance_version,"number_of_ids_gateway_rules","number_of_ids_security_policies","mps_total_number_of_profiles","mps_number_of_dfw_ids_rules_with_custom_mps_profiles","mps_number_of_gateway_ids_rules_with_custom_mps_profiles",nta_enabled,nsx_manager_version,nsx_deployment_id,nsx_site_id,license_edition_type,license_key,"total_firewall_ipfix_profiles","host_number_of_host_node_cpu_cores","edge_number_of_edge_node_cpu_cores",last_update_timestamp + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,0,0,0,0,0,,0,0,0,0,0,,4,1,4,0,4,0,0,0,0,9,2,11,2,3,6,11,false,,,0,0,0,0,0,UNAVAILABLE,4.2.1.0.0.24181564,"f72e5056-17e3-43a1-87f6-b7e8f9ad31a1","d674048b-4dc5-48af-9932-3917c23b965a","[NSX Data Center Enterprise Plus|NSX for vSphere - Enterprise|NSX for vShield Endpoint]","[00000-00000-00000-00000-00000|1111-22222-33333-44444-55555]",,8,16,1723063385160 x-vmw-nsx-module: SecurityLicenseUsage /licenses/vcf-licenses: post: @@ -105512,6 +105894,8 @@ paths: consumes: - application/json description: | + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Returns remote mac addresses of the l2 forwarder on logical switch. It always returns realtime response. operationId: GetL2ForwarderRemoteMacs @@ -105567,12 +105951,15 @@ paths: ], "last_update_timestamp": 1457117071089 } + x-vmw-nsx-experimental: true x-vmw-nsx-module: AggSvcL2Forwarder /logical-switches/{logical-switch-id}/inter-site-forwarder/statistics: get: consumes: - application/json description: | + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Returns statistics of the l2 forwarder on logical switch. It always returns realtime response. operationId: GetL2ForwarderStatistics @@ -105625,6 +106012,7 @@ paths: }, "last_update_timestamp": 1457117071089 } + x-vmw-nsx-experimental: true x-vmw-nsx-module: AggSvcL2Forwarder /logical-switches/{logical-switch-id}/inter-site-forwarder/status: get: @@ -105632,6 +106020,8 @@ paths: - application/json deprecated: true description: |- + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Returns status per transport node of the l2 forwarder on logical switch.
@@ -105702,6 +106092,7 @@ paths: ] "last_update_timestamp": 1457117071089 } + x-vmw-nsx-experimental: true x-vmw-nsx-module: AggSvcL2Forwarder /malware-prevention/compute-collection/{compute-collection-id}/status: get: @@ -107886,9 +108277,11 @@ paths: consumes: - application/json description: | - Returns information about the NSX appliance. Information includes - release number, time zone, system time, kernel version, message of the day - (motd), and host name. + Returns information about the NSX appliance. Information includes CLI coredump + configuration, CLI history size, CLI output datetime, CLI output deprecate warn, + CLI timeout, export type, host name, kernel version, message of the day (motd), + node type, node UUID, node version, product version, system datetime, system time + and time zone. operationId: NodeReadNodeProperties produces: - application/json @@ -107920,36 +108313,38 @@ paths: GET https://<nsx-mgr>/api/v1/node x-vmw-nsx-example-response: | { - "hostname": "policy1", - "kernel_version": "5.15.146-nn1-server", - "motd": "", - "node_uuid": "9d9d0142-89b5-8ab5-b985-cd50efe9938f", - "node_version": "4.2.0.0.0.23342379", - "system_time": 1708542810402, - "system_datetime": "2024-02-21T19:13:30Z", - "timezone": "Etc/UTC", - "cli_timeout": 600, - "cli_output_datetime": true, - "cli_output_central": false, - "cli_history_size": 100, - "cli_output_deprecate_warn": true, "cli_coredump_config": { "global_file_limit": 2, "global_frequency_threshold": 600, "process_config": [] }, + "cli_history_size": 100, + "cli_output_datetime": true, + "cli_output_deprecate_warn": true, + "cli_timeout": 600, "export_type": "UNRESTRICTED", - "node_type": "NSX Manager" + "hostname": "ad007501-nsxmanager-ob-25455896-1-Test2", + "kernel_version": "6.6.116-nn3-generic", + "motd": "", + "node_type": "NSX Manager", + "node_uuid": "5aac0142-b47d-02b9-67fd-df2bd9ed6a0b", + "node_version": "9.1.1.0.25455905", + "product_version": "9.1.1.0.25455896", + "system_datetime": "2026-05-31T15:33:38Z", + "system_time": 1780241618189, + "timezone": "Etc/UTC" } x-vmw-nsx-module: Node put: consumes: - application/json description: | - Modifies NSX appliance properties. Modifiable properties include the - timezone, message of the day (motd), and hostname. The NSX appliance - node_version, system_time, and kernel_version are read only and cannot be - modified with this method. + Modifies NSX appliance properties. Modifiable properties include + cli_coredump_config, cli_history_size, cli_output_datetime, + cli_output_deprecate_warn, cli_timeout, hostname, motd, system_datetime, + and timezone. The NSX appliance export_type, kernel_version, node_type, + node_uuid, node_version, product_version and system_time are read only + and cannot be modified with this method. operationId: NodeUpdateNodeProperties parameters: - in: body @@ -107990,14 +108385,25 @@ paths: } x-vmw-nsx-example-response: | { - "cli_timeout": 600, + "cli_coredump_config": { + "global_file_limit": 2, + "global_frequency_threshold": 600, + "process_config": [] + }, + "cli_history_size": 100, "cli_output_datetime": true, "cli_output_deprecate_warn": true, - "hostname": "VMware_NSX_Manager", - "kernel_version": "3.14.17-nn1-server", - "motd": "Welcome to the NSX Manager", - "node_version": "1.0.0.0.0.3063398", - "system_time": 1442277530217, + "cli_timeout": 600, + "export_type": "UNRESTRICTED", + "hostname": "ad007501-nsxmanager-ob-25455896-1-Test2", + "kernel_version": "6.6.116-nn3-generic", + "motd": "", + "node_type": "NSX Manager", + "node_uuid": "5aac0142-b47d-02b9-67fd-df2bd9ed6a0b", + "node_version": "9.1.1.0.25455905", + "product_version": "9.1.1.0.25455896", + "system_datetime": "2026-05-31T15:33:38Z", + "system_time": 1780241618189, "timezone": "Etc/UTC" } x-vmw-nsx-module: Node @@ -108075,6 +108481,13 @@ paths: user passwords. Administrators need to enforce password change for existing user accounts in order to match newly configured complexity requirements enforced in system. All values from AuthenticationPolicyProperties are in sync among the management cluster nodes. +
+ If any field is not specified in the request body, the existing configured value will be + retained rather than falling back to the system default value. +
+ When the VCF password management policy is configured, its properties take precedence and + are strictly enforced. Any attempt to specify values that conflict with this policy will + result in a 409 CONFLICT error. To modify the policy, kindly use the VCF Operations UI or API. operationId: NodeUpdateAuthenticationPolicyProperties parameters: - in: body @@ -108149,15 +108562,19 @@ paths: post: consumes: - application/json - description: | - Resets to default, currently configured authentication policy and password complexity on the node. - Administrators need to enforce password change for existing user accounts - in order to match newly configured complexity requirements in system. -

reset-all: resets configured Authentication policy and Password complexity

-

reset-auth-policies: resets only configured Authentication policy
- includes - {api_failed_auth_lockout_period, api_failed_auth_reset_period, - api_max_auth_failures, cli_failed_auth_lockout_period, cli_max_auth_failures}

-

reset-pwd-complexity: resets only configured Password complexity

+ description: "Resets to default, currently configured authentication policy\ + \ and password complexity on the node.\nAdministrators need to enforce password\ + \ change for existing user accounts\nin order to match newly configured complexity\ + \ requirements in system.\n

reset-all: resets configured Authentication\ + \ policy and Password complexity

\n

reset-auth-policies: resets\ + \ only configured Authentication policy
\nincludes - {api_failed_auth_lockout_period,\ + \ api_failed_auth_reset_period,\napi_max_auth_failures, cli_failed_auth_lockout_period,\ + \ cli_max_auth_failures}

\n

reset-pwd-complexity: resets only\ + \ configured Password complexity

\n
\nWhen the password policy is managed\ + \ through VCF Operations, performing a reset action\nwill update all VCF Operations\u2013\ + managed fields to their default password policy values\nas defined by VCF.\ + \ Fields not managed by VCF Operations will retain their default\nvalues as\ + \ defined by NSX.\n" operationId: NodeResetAuthenticationPolicyPropertiesResetAll produces: - application/json @@ -108217,15 +108634,19 @@ paths: post: consumes: - application/json - description: | - Resets to default, currently configured authentication policy and password complexity on the node. - Administrators need to enforce password change for existing user accounts - in order to match newly configured complexity requirements in system. -

reset-all: resets configured Authentication policy and Password complexity

-

reset-auth-policies: resets only configured Authentication policy
- includes - {api_failed_auth_lockout_period, api_failed_auth_reset_period, - api_max_auth_failures, cli_failed_auth_lockout_period, cli_max_auth_failures}

-

reset-pwd-complexity: resets only configured Password complexity

+ description: "Resets to default, currently configured authentication policy\ + \ and password complexity on the node.\nAdministrators need to enforce password\ + \ change for existing user accounts\nin order to match newly configured complexity\ + \ requirements in system.\n

reset-all: resets configured Authentication\ + \ policy and Password complexity

\n

reset-auth-policies: resets\ + \ only configured Authentication policy
\nincludes - {api_failed_auth_lockout_period,\ + \ api_failed_auth_reset_period,\napi_max_auth_failures, cli_failed_auth_lockout_period,\ + \ cli_max_auth_failures}

\n

reset-pwd-complexity: resets only\ + \ configured Password complexity

\n
\nWhen the password policy is managed\ + \ through VCF Operations, performing a reset action\nwill update all VCF Operations\u2013\ + managed fields to their default password policy values\nas defined by VCF.\ + \ Fields not managed by VCF Operations will retain their default\nvalues as\ + \ defined by NSX.\n" operationId: NodeResetAuthenticationPolicyPropertiesResetAuthPolicies produces: - application/json @@ -108285,15 +108706,19 @@ paths: post: consumes: - application/json - description: | - Resets to default, currently configured authentication policy and password complexity on the node. - Administrators need to enforce password change for existing user accounts - in order to match newly configured complexity requirements in system. -

reset-all: resets configured Authentication policy and Password complexity

-

reset-auth-policies: resets only configured Authentication policy
- includes - {api_failed_auth_lockout_period, api_failed_auth_reset_period, - api_max_auth_failures, cli_failed_auth_lockout_period, cli_max_auth_failures}

-

reset-pwd-complexity: resets only configured Password complexity

+ description: "Resets to default, currently configured authentication policy\ + \ and password complexity on the node.\nAdministrators need to enforce password\ + \ change for existing user accounts\nin order to match newly configured complexity\ + \ requirements in system.\n

reset-all: resets configured Authentication\ + \ policy and Password complexity

\n

reset-auth-policies: resets\ + \ only configured Authentication policy
\nincludes - {api_failed_auth_lockout_period,\ + \ api_failed_auth_reset_period,\napi_max_auth_failures, cli_failed_auth_lockout_period,\ + \ cli_max_auth_failures}

\n

reset-pwd-complexity: resets only\ + \ configured Password complexity

\n
\nWhen the password policy is managed\ + \ through VCF Operations, performing a reset action\nwill update all VCF Operations\u2013\ + managed fields to their default password policy values\nas defined by VCF.\ + \ Fields not managed by VCF Operations will retain their default\nvalues as\ + \ defined by NSX.\n" operationId: NodeResetAuthenticationPolicyPropertiesResetPwdComplexity produces: - application/json @@ -110092,8 +110517,8 @@ paths: required: true type: string produces: - - application/json - application/octet-stream + - application/json responses: '200': description: OK @@ -110215,6 +110640,8 @@ paths: consumes: - application/json description: |- + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Retrieve the management plane configuration for this node to identify the Manager node with which the controller service is communicating. operationId: NodeReadManagementPlaneConfiguration produces: @@ -110243,11 +110670,14 @@ paths: tags: - System (Administration) - NSX Managers + x-vmw-nsx-experimental: true x-vmw-nsx-module: ManagementPlaneModule put: consumes: - application/json description: |- + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Update the management plane configuration for this node. operationId: NodeUpdateManagementPlaneConfiguration parameters: @@ -110282,6 +110712,7 @@ paths: tags: - System (Administration) - NSX Managers + x-vmw-nsx-experimental: true x-vmw-nsx-module: ManagementPlaneModule /node/mode: get: @@ -110396,6 +110827,8 @@ paths: consumes: - application/json description: |- + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Retrieve the MPA configuration for this node to identify the Manager nodes with which this node is communicating. operationId: NodeReadMPAConfiguration produces: @@ -110424,11 +110857,14 @@ paths: tags: - System (Administration) - Global Configurations + x-vmw-nsx-experimental: true x-vmw-nsx-module: MPAConfigModule put: consumes: - application/json description: |- + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Update the MPA configuration for this node. operationId: NodeUpdateMPAConfiguration parameters: @@ -110463,6 +110899,7 @@ paths: tags: - System (Administration) - Global Configurations + x-vmw-nsx-experimental: true x-vmw-nsx-module: MPAConfigModule /node/network: get: @@ -117979,8 +118416,8 @@ paths: } ], "v3_configured": false, - "v3_auth_protocol": "SHA1", - "v3_priv_protocol": "AES128", + "v3_auth_protocol": "SHA256", + "v3_priv_protocol": "AES256", "v3_targets": [ { "server": "10.20.125.4", @@ -118059,8 +118496,8 @@ paths: } ], "v3_configured": false, - "v3_auth_protocol": "SHA1", - "v3_priv_protocol": "AES128", + "v3_auth_protocol": "SHA256", + "v3_priv_protocol": "AES256", "v3_targets": [ { "server": "10.20.125.4", @@ -118108,8 +118545,8 @@ paths: } ], "v3_configured": false, - "v3_auth_protocol": "SHA1", - "v3_priv_protocol": "AES128", + "v3_auth_protocol": "SHA256", + "v3_priv_protocol": "AES256", "v3_targets": [ { "server": "10.20.125.4", @@ -120846,6 +121283,11 @@ paths: Note that invoking this API does not update any user-related properties of existing objects in the system and does not modify the username field in existing audit log entries.

+
+ When a VCF password management policy is configured, VCF password management policy's + properties take precedence and are enforced. Specifying the password_change_frequency + value that conflicts with the VCF password management policy's passwordExpirationDays + returns 409 CONFLICT. Please use the VCF Ops UI/API to update the policy if needed. operationId: NodeUpdateNodeUser parameters: - description: |- @@ -121244,6 +121686,13 @@ paths: In case of local audit account when username not specified in request by default account will be created with audit username, although administrators are allowed to use any other non-duplicate usernames during creation. +
+ When a VCF password management policy is configured, VCF password management policy's + properties take precedence and are enforced. password_change_frequency is set to the + VCF password management policy's passwordExpirationDays if not provided. Specifying + the password_change_frequency value that conflicts with the VCF password management + policy's passwordExpirationDays returns 409 CONFLICT. Please use the VCF Ops UI/API + to update the policy if needed. operationId: NodeCreateNodeUserCreateAuditUser parameters: - in: body @@ -121307,6 +121756,13 @@ paths: In case of local audit account when username not specified in request by default account will be created with audit username, although administrators are allowed to use any other non-duplicate usernames during creation. +
+ When a VCF password management policy is configured, VCF password management policy's + properties take precedence and are enforced. password_change_frequency is set to the + VCF password management policy's passwordExpirationDays if not provided. Specifying + the password_change_frequency value that conflicts with the VCF password management + policy's passwordExpirationDays returns 409 CONFLICT. Please use the VCF Ops UI/API + to update the policy if needed. operationId: NodeCreateNodeUserCreateServiceUser parameters: - in: body @@ -121370,6 +121826,13 @@ paths: In case of local audit account when username not specified in request by default account will be created with audit username, although administrators are allowed to use any other non-duplicate usernames during creation. +
+ When a VCF password management policy is configured, VCF password management policy's + properties take precedence and are enforced. password_change_frequency is set to the + VCF password management policy's passwordExpirationDays if not provided. Specifying + the password_change_frequency value that conflicts with the VCF password management + policy's passwordExpirationDays returns 409 CONFLICT. Please use the VCF Ops UI/API + to update the policy if needed. operationId: NodeCreateNodeUserCreateUser parameters: - in: body @@ -121470,7 +121933,7 @@ paths: consumes: - application/json description: |- - Read node version + Read node and product version operationId: NodeReadNodeVersion produces: - application/json @@ -121494,7 +121957,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Read node version + Read node and product version tags: - System (Fabric) - Transport Nodes @@ -121502,7 +121965,8 @@ paths: GET https://<nsx-mgr>/api/v1/node/version x-vmw-nsx-example-response: | { - "node_version": "1.0.0.0.0.3063398" + "node_version": "1.0.0.0.0.3063398", + "product_version": "1.0.0.0.0.3063399" } x-vmw-nsx-module: NodeVersion /node?action=restart: @@ -124486,6 +124950,8 @@ paths: consumes: - application/json description: |- + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
DSL (Domain Specific Language) search API operationId: DslSearch parameters: @@ -124597,6 +125063,7 @@ paths: "result_count": 1, "cursor": "1" } + x-vmw-nsx-experimental: true x-vmw-nsx-module: Search /search/query: get: @@ -131391,6 +131858,8 @@ paths: consumes: - application/json description: |- + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Read health metrics of edge cluster operationId: GetEdgeClusterHealthMetrics parameters: @@ -131464,12 +131933,15 @@ paths: x-vmw-nsx-deployment-modes: [] x-vmw-nsx-example-request: | GET https://<nsx-mgr>/api/v1/systemhealth-extended/edge-cluster + x-vmw-nsx-experimental: true x-vmw-nsx-module: SystemHealth /systemhealth-extended/edge-transport-nodes: get: consumes: - application/json description: | + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Return results in paginated form. operationId: GetEdgeHealthMetrics parameters: @@ -131551,12 +132023,15 @@ paths: x-vmw-nsx-deployment-modes: [] x-vmw-nsx-example-request: | GET https://<nsx-mgr>/api/v1/systemhealth-extended/edge-transport-nodes + x-vmw-nsx-experimental: true x-vmw-nsx-module: SystemHealth /systemhealth-extended/host-transport-nodes: get: consumes: - application/json description: | + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Return results in paginated form. operationId: GetHostHealthMetrics parameters: @@ -131638,12 +132113,15 @@ paths: x-vmw-nsx-deployment-modes: [] x-vmw-nsx-example-request: | GET https://<nsx-mgr>/api/v1/systemhealth-extended/host-transport-nodes + x-vmw-nsx-experimental: true x-vmw-nsx-module: SystemHealth /systemhealth-extended/management-cluster: get: consumes: - application/json description: |- + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Read health metrics of unified appliance cluster operationId: GetUaClusterHealthMetrics produces: @@ -131675,12 +132153,15 @@ paths: x-vmw-nsx-deployment-modes: [] x-vmw-nsx-example-request: | GET https://<nsx-mgr>/api/v1/systemhealth-extended/management-cluster + x-vmw-nsx-experimental: true x-vmw-nsx-module: SystemHealth /systemhealth-extended/management-nodes: get: consumes: - application/json description: |- + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Read health metrics of all unified appliances and the summary status of their services operationId: GetUaNodeHealthMetrics parameters: @@ -131726,12 +132207,15 @@ paths: x-vmw-nsx-deployment-modes: [] x-vmw-nsx-example-request: | GET https://<nsx-mgr>/api/v1/systemhealth-extended/management-nodes + x-vmw-nsx-experimental: true x-vmw-nsx-module: SystemHealth /systemhealth-extended/management-nodes/{node-id}/services/{service-name}: get: consumes: - application/json description: |- + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Read health metrics of an unified appliance service operationId: GetUaServiceHealthMetrics parameters: @@ -131776,12 +132260,15 @@ paths: x-vmw-nsx-deployment-modes: [] x-vmw-nsx-example-request: | GET https://<nsx-mgr>/api/v1/systemhealth-extended/management-nodes/07cd4582-189c-11e7-b77f-7f1dfdccba5e/services/CONTROLLER + x-vmw-nsx-experimental: true x-vmw-nsx-module: SystemHealth /systemhealth-extended/metadata: get: consumes: - application/json description: |- + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Read the metrics metadata for all health metrics API operationId: GetMetricsMetadata parameters: @@ -131869,12 +132356,15 @@ paths: } ] } + x-vmw-nsx-experimental: true x-vmw-nsx-module: SystemHealthMetadata /systemhealth-extended/virtual-network-appliance-cluster: get: consumes: - application/json description: |- + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Read health metrics of virtual network appliance cluster operationId: GetVnaClusterHealthMetrics parameters: @@ -131948,12 +132438,15 @@ paths: x-vmw-nsx-deployment-modes: [] x-vmw-nsx-example-request: | GET https://<nsx-mgr>/api/v1/systemhealth-extended/virtual-network-appliance-cluster + x-vmw-nsx-experimental: true x-vmw-nsx-module: SystemHealth /systemhealth-extended/virtual-network-appliance-nodes: get: consumes: - application/json description: | + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Return results in paginated form. operationId: GetVnaHealthMetrics parameters: @@ -132035,6 +132528,7 @@ paths: x-vmw-nsx-deployment-modes: [] x-vmw-nsx-example-request: | GET https://<nsx-mgr>/api/v1/systemhealth-extended/virtual-network-appliance-nodes + x-vmw-nsx-experimental: true x-vmw-nsx-module: SystemHealth /systemhealth/appliances/latency/status: get: @@ -132804,6 +133298,100 @@ paths: "interval": 180 } x-vmw-nsx-module: TnContainerStatus + /systemhealth/container-cluster/ncp/status/advanced: + post: + consumes: + - application/json + description: |- + Get all the container cluster status with advanced filtering + operationId: ReadContainerClusterStatusListWithAdvancedParam + parameters: + - in: body + name: ContainerClusterStatusFilter + required: true + schema: + $ref: '#/definitions/ContainerClusterStatusFilter' + - description: Opaque cursor to be used for getting next page of records (supplied + by current result page) + in: query + name: cursor + type: string + - description: Note - this parameter currently only works when used with the + search APIs /policy/api/v1/search/query and /policy/api/v1/search/dsl. It + is ignored for other list APIs. + in: query + name: included_fields + type: string + - default: 1000 + description: Maximum number of results to return in this page (server may + return fewer) + format: int64 + in: query + maximum: 1000 + minimum: 0 + name: page_size + type: integer + - description: If true, results are sorted in ascending order + in: query + name: sort_ascending + type: boolean + - description: Field by which records are sorted + in: query + name: sort_by + type: string + produces: + - application/json + responses: + '201': + description: Created + schema: + $ref: '#/definitions/ContainerClusterStatusList' + '400': + $ref: '#/responses/BadRequest' + '403': + $ref: '#/responses/Forbidden' + '404': + $ref: '#/responses/NotFound' + '412': + $ref: '#/responses/PreconditionFailed' + '500': + $ref: '#/responses/InternalServerError' + '503': + $ref: '#/responses/ServiceUnavailable' + '504': + $ref: '#/responses/GatewayTimeout' + summary: |- + Get all the container cluster status with advanced filtering + tags: + - Monitoring + - System Health + x-vmw-nsx-deployment-modes: [] + x-vmw-nsx-example-request: | + POST https://<nsx-mgr>/api/v1/systemhealth/container-cluster/ncp/status/advanced + { + "statuses": ["HEALTHY", "DEGRADED"] + } + x-vmw-nsx-example-response: | + { + "results" : [ + { + "cluster_id": "49bb701-4fe9-11e9-bdc7-000c29e49f11", + "cluster_name": "PKS-Cluster-1", + "type": "PKS", + "status": "HEALTHY", + "detail":"" + }, + { + "cluster_id": "b8b0889f-338c-5c65-98bd-a5642ae2aa00", + "cluster_name": "PKS-Cluster-2", + "type": "PKS", + "status": "DEGRADED", + "detail":"", + "interval": 180 + } + ] + } + x-vmw-nsx-module: TnContainerStatus /systemhealth/container-cluster/{cluster-id}/ncp/status: delete: consumes: @@ -135416,8 +136004,8 @@ paths:
This API is deprecated. - For Edge TN, Please use GET /infra/sites//enforcement-points//edge-transport-nodes instead. - For Host TN, Please use GET /infra/sites//enforcement-points//host-transport-nodes instead. + For Edge TN, Please use GET /infra/sites/<site-id>/enforcement-points/<enforcementpoint-id>/edge-transport-nodes instead. + For Host TN, Please use GET /infra/sites/<site-id>/enforcement-points/<enforcementpoint-id>/host-transport-nodes instead. operationId: ListTransportNodesWithDeploymentInfo parameters: - description: Opaque cursor to be used for getting next page of records (supplied @@ -135804,8 +136392,8 @@ paths:
This API is deprecated. - For Edge TN, Please use PATCH/PUT /infra/sites//enforcement-points//edge-transport-nodes/ instead. - For Host TN, Please use PATCH/PUT /infra/sites//enforcement-points//host-transport-nodes/ instead. + For Edge TN, Please use PATCH/PUT /infra/sites/<site-id>/enforcement-points/<enforcementpoint-id>/edge-transport-nodes/<edge-transport-node-id> instead. + For Host TN, Please use PATCH/PUT /infra/sites/<site-id>/enforcement-points/<enforcementpoint-id>/host-transport-nodes/<host-transport-node-id> instead. operationId: CreateTransportNodeWithDeploymentInfo parameters: - in: body @@ -136308,8 +136896,8 @@ paths:
This API is deprecated. - For Edge TN, Please use GET /infra/sites//enforcement-points///state instead. - For Host TN, Please use GET /infra/sites//enforcement-points///state instead. + For Edge TN, Please use GET /infra/sites/<site-id>/enforcement-points/<enforcementpoint-id>/edge-transport-nodes/state instead. + For Host TN, Please use GET /infra/sites/<site-id>/enforcement-points/<enforcementpoint-id>/host-transport-nodes/state instead. operationId: ListTransportNodesByStateWithDeploymentInfo parameters: - description: maintenance mode state @@ -138323,7 +138911,7 @@ paths: this operation.
- This API is deprecated. Please use POST /infra/sites//enforcement-points//edge-transport-nodes//action/redeploy instead. + This API is deprecated. Please use POST /infra/sites/<site-id>/enforcement-points/<enforcementpoint-id>/edge-transport-nodes/<edge-transport-node-id>/action/redeploy instead. operationId: RedeployEdgeTransportNode parameters: - in: path @@ -138736,8 +139324,8 @@ paths:
This API is deprecated. - For Edge TN, Please use DELETE /infra/sites//enforcement-points//edge-transport-nodes/ instead. - For Host TN, Please use DELETE /infra/sites//enforcement-points//host-transport-nodes/ instead. + For Edge TN, Please use DELETE /infra/sites/<site-id>/enforcement-points/<enforcementpoint-id>/edge-transport-nodes/<edge-transport-node-id> instead. + For Host TN, Please use DELETE /infra/sites/<site-id>/enforcement-points/<enforcementpoint-id>/host-transport-nodes/<host-transport-node-id> instead. operationId: DeleteTransportNodeWithDeploymentInfo parameters: - in: path @@ -138795,8 +139383,8 @@ paths: Returns information about a specified transport node.
This API is deprecated. - For Edge TN, Please use GET /infra/sites//enforcement-points//edge-transport-nodes/ instead. - For Host TN, Please use GET /infra/sites//enforcement-points//host-transport-nodes/ instead. + For Edge TN, Please use GET /infra/sites/<site-id>/enforcement-points/<enforcementpoint-id>/edge-transport-nodes/<edge-transport-node-id> instead. + For Host TN, Please use GET /infra/sites/<site-id>/enforcement-points/<enforcementpoint-id>/host-transport-nodes/<host-transport-node-id> instead. operationId: GetTransportNodeWithDeploymentInfo parameters: - in: path @@ -138981,8 +139569,8 @@ paths:
This API is deprecated. - For Edge TN, Please use PATCH/PUT /infra/sites//enforcement-points//edge-transport-nodes/ instead. - For Host TN, Please use PATCH/PUT /infra/sites//enforcement-points//host-transport-nodes/ instead. + For Edge TN, Please use PATCH/PUT /infra/sites/<site-id>/enforcement-points/<enforcementpoint-id>/edge-transport-nodes/<edge-transport-node-id> instead. + For Host TN, Please use PATCH/PUT /infra/sites/<site-id>/enforcement-points/<enforcementpoint-id>/host-transport-nodes/<host-transport-node-id> instead. operationId: UpdateTransportNodeWithDeploymentInfo parameters: - in: path @@ -139800,9 +140388,11 @@ paths: consumes: - application/json description: | - Returns information about the NSX appliance. Information includes - release number, time zone, system time, kernel version, message of the day - (motd), and host name. + Returns information about the NSX appliance. Information includes CLI coredump + configuration, CLI history size, CLI output datetime, CLI output deprecate warn, + CLI timeout, export type, host name, kernel version, message of the day (motd), + node type, node UUID, node version, product version, system datetime, system time + and time zone. operationId: TransportNodesTransportNodeIdNodeReadNodeProperties parameters: - in: path @@ -139839,36 +140429,38 @@ paths: GET https://<nsx-mgr>/api/v1/node x-vmw-nsx-example-response: | { - "hostname": "policy1", - "kernel_version": "5.15.146-nn1-server", - "motd": "", - "node_uuid": "9d9d0142-89b5-8ab5-b985-cd50efe9938f", - "node_version": "4.2.0.0.0.23342379", - "system_time": 1708542810402, - "system_datetime": "2024-02-21T19:13:30Z", - "timezone": "Etc/UTC", - "cli_timeout": 600, - "cli_output_datetime": true, - "cli_output_central": false, - "cli_history_size": 100, - "cli_output_deprecate_warn": true, "cli_coredump_config": { "global_file_limit": 2, "global_frequency_threshold": 600, "process_config": [] }, + "cli_history_size": 100, + "cli_output_datetime": true, + "cli_output_deprecate_warn": true, + "cli_timeout": 600, "export_type": "UNRESTRICTED", - "node_type": "NSX Manager" + "hostname": "ad007501-nsxmanager-ob-25455896-1-Test2", + "kernel_version": "6.6.116-nn3-generic", + "motd": "", + "node_type": "NSX Manager", + "node_uuid": "5aac0142-b47d-02b9-67fd-df2bd9ed6a0b", + "node_version": "9.1.1.0.25455905", + "product_version": "9.1.1.0.25455896", + "system_datetime": "2026-05-31T15:33:38Z", + "system_time": 1780241618189, + "timezone": "Etc/UTC" } x-vmw-nsx-module: Node put: consumes: - application/json description: | - Modifies NSX appliance properties. Modifiable properties include the - timezone, message of the day (motd), and hostname. The NSX appliance - node_version, system_time, and kernel_version are read only and cannot be - modified with this method. + Modifies NSX appliance properties. Modifiable properties include + cli_coredump_config, cli_history_size, cli_output_datetime, + cli_output_deprecate_warn, cli_timeout, hostname, motd, system_datetime, + and timezone. The NSX appliance export_type, kernel_version, node_type, + node_uuid, node_version, product_version and system_time are read only + and cannot be modified with this method. operationId: TransportNodesTransportNodeIdNodeUpdateNodeProperties parameters: - in: path @@ -139913,14 +140505,25 @@ paths: } x-vmw-nsx-example-response: | { - "cli_timeout": 600, + "cli_coredump_config": { + "global_file_limit": 2, + "global_frequency_threshold": 600, + "process_config": [] + }, + "cli_history_size": 100, "cli_output_datetime": true, "cli_output_deprecate_warn": true, - "hostname": "VMware_NSX_Manager", - "kernel_version": "3.14.17-nn1-server", - "motd": "Welcome to the NSX Manager", - "node_version": "1.0.0.0.0.3063398", - "system_time": 1442277530217, + "cli_timeout": 600, + "export_type": "UNRESTRICTED", + "hostname": "ad007501-nsxmanager-ob-25455896-1-Test2", + "kernel_version": "6.6.116-nn3-generic", + "motd": "", + "node_type": "NSX Manager", + "node_uuid": "5aac0142-b47d-02b9-67fd-df2bd9ed6a0b", + "node_version": "9.1.1.0.25455905", + "product_version": "9.1.1.0.25455896", + "system_datetime": "2026-05-31T15:33:38Z", + "system_time": 1780241618189, "timezone": "Etc/UTC" } x-vmw-nsx-module: Node @@ -140003,6 +140606,13 @@ paths: user passwords. Administrators need to enforce password change for existing user accounts in order to match newly configured complexity requirements enforced in system. All values from AuthenticationPolicyProperties are in sync among the management cluster nodes. +
+ If any field is not specified in the request body, the existing configured value will be + retained rather than falling back to the system default value. +
+ When the VCF password management policy is configured, its properties take precedence and + are strictly enforced. Any attempt to specify values that conflict with this policy will + result in a 409 CONFLICT error. To modify the policy, kindly use the VCF Operations UI or API. operationId: TransportNodesTransportNodeIdNodeUpdateAuthenticationPolicyProperties parameters: - in: path @@ -140081,15 +140691,19 @@ paths: post: consumes: - application/json - description: | - Resets to default, currently configured authentication policy and password complexity on the node. - Administrators need to enforce password change for existing user accounts - in order to match newly configured complexity requirements in system. -

reset-all: resets configured Authentication policy and Password complexity

-

reset-auth-policies: resets only configured Authentication policy
- includes - {api_failed_auth_lockout_period, api_failed_auth_reset_period, - api_max_auth_failures, cli_failed_auth_lockout_period, cli_max_auth_failures}

-

reset-pwd-complexity: resets only configured Password complexity

+ description: "Resets to default, currently configured authentication policy\ + \ and password complexity on the node.\nAdministrators need to enforce password\ + \ change for existing user accounts\nin order to match newly configured complexity\ + \ requirements in system.\n

reset-all: resets configured Authentication\ + \ policy and Password complexity

\n

reset-auth-policies: resets\ + \ only configured Authentication policy
\nincludes - {api_failed_auth_lockout_period,\ + \ api_failed_auth_reset_period,\napi_max_auth_failures, cli_failed_auth_lockout_period,\ + \ cli_max_auth_failures}

\n

reset-pwd-complexity: resets only\ + \ configured Password complexity

\n
\nWhen the password policy is managed\ + \ through VCF Operations, performing a reset action\nwill update all VCF Operations\u2013\ + managed fields to their default password policy values\nas defined by VCF.\ + \ Fields not managed by VCF Operations will retain their default\nvalues as\ + \ defined by NSX.\n" operationId: TransportNodesTransportNodeIdNodeResetAuthenticationPolicyPropertiesResetAll parameters: - in: path @@ -140154,15 +140768,19 @@ paths: post: consumes: - application/json - description: | - Resets to default, currently configured authentication policy and password complexity on the node. - Administrators need to enforce password change for existing user accounts - in order to match newly configured complexity requirements in system. -

reset-all: resets configured Authentication policy and Password complexity

-

reset-auth-policies: resets only configured Authentication policy
- includes - {api_failed_auth_lockout_period, api_failed_auth_reset_period, - api_max_auth_failures, cli_failed_auth_lockout_period, cli_max_auth_failures}

-

reset-pwd-complexity: resets only configured Password complexity

+ description: "Resets to default, currently configured authentication policy\ + \ and password complexity on the node.\nAdministrators need to enforce password\ + \ change for existing user accounts\nin order to match newly configured complexity\ + \ requirements in system.\n

reset-all: resets configured Authentication\ + \ policy and Password complexity

\n

reset-auth-policies: resets\ + \ only configured Authentication policy
\nincludes - {api_failed_auth_lockout_period,\ + \ api_failed_auth_reset_period,\napi_max_auth_failures, cli_failed_auth_lockout_period,\ + \ cli_max_auth_failures}

\n

reset-pwd-complexity: resets only\ + \ configured Password complexity

\n
\nWhen the password policy is managed\ + \ through VCF Operations, performing a reset action\nwill update all VCF Operations\u2013\ + managed fields to their default password policy values\nas defined by VCF.\ + \ Fields not managed by VCF Operations will retain their default\nvalues as\ + \ defined by NSX.\n" operationId: TransportNodesTransportNodeIdNodeResetAuthenticationPolicyPropertiesResetAuthPolicies parameters: - in: path @@ -140227,15 +140845,19 @@ paths: post: consumes: - application/json - description: | - Resets to default, currently configured authentication policy and password complexity on the node. - Administrators need to enforce password change for existing user accounts - in order to match newly configured complexity requirements in system. -

reset-all: resets configured Authentication policy and Password complexity

-

reset-auth-policies: resets only configured Authentication policy
- includes - {api_failed_auth_lockout_period, api_failed_auth_reset_period, - api_max_auth_failures, cli_failed_auth_lockout_period, cli_max_auth_failures}

-

reset-pwd-complexity: resets only configured Password complexity

+ description: "Resets to default, currently configured authentication policy\ + \ and password complexity on the node.\nAdministrators need to enforce password\ + \ change for existing user accounts\nin order to match newly configured complexity\ + \ requirements in system.\n

reset-all: resets configured Authentication\ + \ policy and Password complexity

\n

reset-auth-policies: resets\ + \ only configured Authentication policy
\nincludes - {api_failed_auth_lockout_period,\ + \ api_failed_auth_reset_period,\napi_max_auth_failures, cli_failed_auth_lockout_period,\ + \ cli_max_auth_failures}

\n

reset-pwd-complexity: resets only\ + \ configured Password complexity

\n
\nWhen the password policy is managed\ + \ through VCF Operations, performing a reset action\nwill update all VCF Operations\u2013\ + managed fields to their default password policy values\nas defined by VCF.\ + \ Fields not managed by VCF Operations will retain their default\nvalues as\ + \ defined by NSX.\n" operationId: TransportNodesTransportNodeIdNodeResetAuthenticationPolicyPropertiesResetPwdComplexity parameters: - in: path @@ -142276,8 +142898,8 @@ paths: required: true type: string produces: - - application/json - application/octet-stream + - application/json responses: '200': description: OK @@ -148564,8 +149186,8 @@ paths: } ], "v3_configured": false, - "v3_auth_protocol": "SHA1", - "v3_priv_protocol": "AES128", + "v3_auth_protocol": "SHA256", + "v3_priv_protocol": "AES256", "v3_targets": [ { "server": "10.20.125.4", @@ -148648,8 +149270,8 @@ paths: } ], "v3_configured": false, - "v3_auth_protocol": "SHA1", - "v3_priv_protocol": "AES128", + "v3_auth_protocol": "SHA256", + "v3_priv_protocol": "AES256", "v3_targets": [ { "server": "10.20.125.4", @@ -148697,8 +149319,8 @@ paths: } ], "v3_configured": false, - "v3_auth_protocol": "SHA1", - "v3_priv_protocol": "AES128", + "v3_auth_protocol": "SHA256", + "v3_priv_protocol": "AES256", "v3_targets": [ { "server": "10.20.125.4", @@ -150969,6 +151591,11 @@ paths: Note that invoking this API does not update any user-related properties of existing objects in the system and does not modify the username field in existing audit log entries.

+
+ When a VCF password management policy is configured, VCF password management policy's + properties take precedence and are enforced. Specifying the password_change_frequency + value that conflicts with the VCF password management policy's passwordExpirationDays + returns 409 CONFLICT. Please use the VCF Ops UI/API to update the policy if needed. operationId: TransportNodesTransportNodeIdNodeUpdateNodeUser parameters: - description: |- @@ -151258,7 +151885,7 @@ paths: consumes: - application/json description: |- - Read node version + Read node and product version operationId: TransportNodesTransportNodeIdNodeReadNodeVersion parameters: - in: path @@ -151287,7 +151914,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Read node version + Read node and product version tags: - System (Fabric) - Transport Nodes @@ -151295,7 +151922,8 @@ paths: GET https://<nsx-mgr>/api/v1/node/version x-vmw-nsx-example-response: | { - "node_version": "1.0.0.0.0.3063398" + "node_version": "1.0.0.0.0.3063398", + "product_version": "1.0.0.0.0.3063399" } x-vmw-nsx-module: NodeVersion /transport-nodes/{transport-node-id}/node?action=restart: @@ -151483,8 +152111,8 @@ paths:
This API is deprecated. - For Edge TN, Please use GET /infra/sites//enforcement-points//edge-transport-nodes//state instead. - For Host TN, Please use GET /infra/sites//enforcement-points//host-transport-nodes//state instead. + For Edge TN, Please use GET /infra/sites/<site-id>/enforcement-points/<enforcementpoint-id>/edge-transport-nodes/<edge-transport-node-id>/state instead. + For Host TN, Please use GET /infra/sites/<site-id>/enforcement-points/<enforcementpoint-id>/host-transport-nodes/<host-transport-node-id>/state instead. operationId: GetTransportNodeStateWithDeploymentInfo parameters: - in: path @@ -151662,7 +152290,7 @@ paths: From 3.2 release onwards, refresh API updates the MP intent by default.
- This API is deprecated. Please use POST /infra/sites//enforcement-points//edge-transport-nodes//action/sync-edge-configuration instead. + This API is deprecated. Please use POST /infra/sites/<site-id>/enforcement-points/<enforcementpoint-id>/edge-transport-nodes/<edge-transport-node-id>/action/sync-edge-configuration instead. operationId: RefreshTransportNode parameters: - in: path @@ -154340,6 +154968,54 @@ paths: x-vmw-nsx-example-response: | 202 ACCEPTED x-vmw-nsx-module: CertificateManager + /trust-management/certificates/action/replace-host-certificate-generated/{host-id}/{certificate-id}: + post: + consumes: + - application/json + description: | + Sends a new private-public certificate or a chain of certificates (CAs) and a private key to be used on a Transport Node. This certificate was created + by first creating a CSR on NSX which later got matched with a CA-signed certificate. When the replacement was successful, the certificate with its + private key will automatically be deleted. + operationId: ReplaceHostCertificateGenerated + parameters: + - description: |- + The host-id for which this certificate is meant. + in: path + name: host-id + required: true + type: string + - description: |- + The certificate-id generated on NSX for the given host. + in: path + name: certificate-id + required: true + type: string + responses: + '200': + description: OK + '400': + $ref: '#/responses/BadRequest' + '403': + $ref: '#/responses/Forbidden' + '404': + $ref: '#/responses/NotFound' + '412': + $ref: '#/responses/PreconditionFailed' + '500': + $ref: '#/responses/InternalServerError' + '503': + $ref: '#/responses/ServiceUnavailable' + '504': + $ref: '#/responses/GatewayTimeout' + summary: |- + Replace a Host Certificate with an NSX generated certificate. + tags: + - System (Administration) + - Certificates + x-vmw-nsx-deployment-modes: [] + x-vmw-nsx-example-request: | + POST https://<nsx-mgr>/api/v1/trust-management/certificates/action/replace-host-certificate// + x-vmw-nsx-module: CertificateManager /trust-management/certificates/action/replace-host-certificate/{host-id}: post: consumes: @@ -156109,6 +156785,7 @@ paths: {"key":"C","value":"US"}, {"key":"ST","value":"CA"}, {"key":"L","value":"PA"} + {"key":"E","value":"example@company.com"} ] }, "key_size": "2048", @@ -156158,6 +156835,10 @@ paths: { "value": "PA", "key": "L" + }, + { + "value": "E", + "key": "example@company.com" } ] }, @@ -156170,6 +156851,10 @@ paths: [ "www.vmware.com", "*.vmware.com" + ], + "emails": + [ + "example@company.com" ] } }, @@ -165537,150 +166222,150 @@ securityDefinitions: type: basic swagger: '2.0' tags: -- name: Access Token -- name: Users -- name: Pool Management (Vtep Pools) -- name: NSX Manager (Dispatcher Service) -- name: Latency (Legacy Management Plane) -- name: Healthchecks -- name: Support Bundle - name: Monitoring -- name: Settings -- name: Intelligence -- name: Configuration -- name: System Properties -- name: NSX Manager (Node Stats Service) -- name: Transport Nodes (Status) -- name: Transport Zones (Legacy Management Plane) -- name: Edge Transport Nodes (Diagnosis) -- name: Hide -- name: Upgrade (History) -- name: Global Configurations -- name: Backup & Restore (Restore) -- name: NSX Managers (Api Services) -- name: LLDP +- name: Certificates +- name: Healthchecks +- name: Networking (Vpn) - name: Pool Management (Vni Pools) -- name: Transport Nodes (Tasks Service) +- name: NSX Manager (Corfu Server) +- name: Upgrade (History) +- name: Transport Nodes (User Management) +- name: NSX Manager (Telemetry Service) +- name: Bare Metals +- name: Telemetry +- name: Pool Management (Vtep Pools) - name: Transport Nodes (Snmp Service) -- name: Vm -- name: Upgrade (Groups) -- name: Cloud Native Service Instance -- name: Transport Nodes (Ntp Service) +- name: Edge Clusters (Legacy Management Plane) +- name: Fabric +- name: NSX Manager (Node Stats Service) +- name: NSX Manager (Cluster Certificate) +- name: User Authentication - name: Dashboard (Legacy Management Plane) -- name: Principal Identities -- name: Edge Transport Nodes (Ipsec VPN Service) +- name: Migration (Overlay Adoption) +- name: Upgrade (Status) +- name: Edge Transport Nodes (Diagnosis) - name: NSX Manager (Manager Service) -- name: Networking (Services) -- name: Edge Failure Domains (Legacy Management Plane) -- name: Services -- name: None -- name: NSX Manager (Install Upgrade Service) -- name: Hostswitch Profiles -- name: NSX Manager (Telemetry Service) +- name: ' Transport Nodes (User Management)' +- name: Monitoring (Alarms And Events) +- name: Users +- name: Compute Managers +- name: Principal Identities +- name: Transport Nodes (Interfaces) +- name: Hide +- name: NSX Manager (Auth Service) +- name: NSX Manager (Cluster) +- name: Vm - name: NSX Manager (Http Service) -- name: Pool Management (Mac Pools) -- name: Sites -- name: Diagnosis -- name: NSX Managers (Cluster) -- name: Packet Capture (Legacy Management Plane) -- name: Migration (Overlay Adoption) -- name: Hardening -- name: Discovered Nodes -- name: NSX Manager (Control Plane Agent Service) -- name: NSX Manager (Local Controller Service) -- name: Upgrade (Hosts) -- name: NSX Manager (Sha Service) -- name: Edge Transport Nodes (Services) +- name: Hostswitch Profiles +- name: NSX Manager (Migration Coordinator Service) +- name: NSX Managers (Monitoring) - name: Edge Transport Nodes +- name: Edge Transport Nodes (Ipsec VPN Service) +- name: Transport Nodes (Tunnels) +- name: Support Bundle +- name: Transport Nodes (Status) +- name: Access Token +- name: NSX Manager (Async Replicator Service) - name: Transport Nodes (Ssh Service) -- name: Monitoring (Alarms And Events) -- name: NSX Manager Health +- name: NSX Manager (Sha Service) - name: Edge Transport Nodes (Security Hub Service) -- name: NSX Manager (Search Service) -- name: NSX Manager (Auth Service) -- name: Transport Nodes (Dns) -- name: NSX Manager (Async Replicator Service) -- name: NSX Managers (Watermark) -- name: Malware Prevention -- name: Bare Metals -- name: Transport Nodes -- name: Edge Transport Nodes (Local Controller) -- name: NSX Managers (Monitoring) -- name: Networking (Ip Management) -- name: System (Administration) -- name: NSX Manager (User Interface Service) -- name: API Services -- name: Service Insertion +- name: Upgrade (Groups) +- name: NSX Managers +- name: Diagnosis +- name: System (Fabric) +- name: Search +- name: Notifications - name: Virtual Interfaces -- name: Metadata Proxy -- name: Upgrade (Upgrade Units) -- name: Upgrade (Plan) -- name: NSX Manager (Corfu Server) -- name: Upgrade (Edges) -- name: Certificates -- name: Roles -- name: Edge Clusters (Legacy Management Plane) +- name: System (Administration) +- name: Backup & Restore (Restore) +- name: NSX Manager (Control Plane Agent Service) +- name: Scope Associations +- name: Intelligence +- name: Upgrade (Nodes) +- name: Inventory - name: NSX Manager (Messaging Manager Service) -- name: NSX Manager (Cluster Certificate) -- name: Upgrade (Ui Preferences) -- name: Capacity (Legacy Management Plane) -- name: NSX Manager (Cm Inventory Service) -- name: Transport Nodes (Interfaces) -- name: System (Fabric) +- name: Cloud Native Service Instance +- name: Hardening +- name: NSX Manager (Site Manager Service) +- name: Nodes +- name: IP Pools (Legacy Management Plane) +- name: System (Lifecycle Management) +- name: NSX Manager (Appliance Proxy) +- name: Edge Transport Nodes (Dataplane) +- name: Federation +- name: Inter-Sites (Legacy Management Plane) +- name: NSX Manager (Policy Service) +- name: Upgrade (Upgrade Units) +- name: API Services - name: Upgrade (Eula) -- name: NSX Manager (Idps Service) -- name: User Management -- name: Proxy Settings -- name: NSX Managers -- name: Monitoring (Health Performance Monitoring) +- name: Search API +- name: Capacity (Legacy Management Plane) +- name: Settings +- name: Networking (Ip Management) +- name: IPSEC (Sessions) - name: Transport Nodes (Log Insight) -- name: Compute Managers -- name: Licenses -- name: System (Lifecycle Management) -- name: ' Transport Nodes (User Management)' -- name: Upgrade (Coordinator) +- name: NSX Managers (Api Services) +- name: Packet Capture (Legacy Management Plane) +- name: Virtual Switches +- name: Sites +- name: System (Settings) +- name: NSX Manager (Cm Inventory Service) +- name: Upgrade (Edges) +- name: Transport Nodes (Ntp Service) - name: Transport Nodes (Upgrade Agent Service) -- name: Networking (Vpn) -- name: NSX Manager (Migration Coordinator Service) -- name: Transport Nodes (Tunnels) -- name: NSX Intelligence -- name: Notifications +- name: NSX Manager (Install Upgrade Service) +- name: Metadata Proxy +- name: NSX Manager Health +- name: User Management - name: NSX Message Service -- name: VIDM Configuration -- name: System Health -- name: Transport Nodes (Syslog Service) -- name: Federation -- name: Fabric -- name: Inventory -- name: User Management (Ldap) -- name: System (Settings) -- name: Upgrade (Status) -- name: Telemetry -- name: Nodes -- name: Upgrade (Nodes) -- name: Search +- name: Global Configurations +- name: Latency (Legacy Management Plane) +- name: Edge Transport Nodes (Dhcp) +- name: NSX Intelligence - name: NSX Managers (Interfaces) - name: Grub -- name: Enforcement Points +- name: Upgrade (Ui Preferences) +- name: Upgrade (Hosts) +- name: Configuration +- name: Compute Collections +- name: Transport Nodes (Syslog Service) +- name: Monitoring (Health Performance Monitoring) +- name: Networking (Services) +- name: LLDP +- name: System Properties +- name: Edge Transport Nodes (Local Controller) +- name: Upgrade (Coordinator) +- name: NSX Manager (Dispatcher Service) +- name: Roles +- name: Transport Zones (Legacy Management Plane) +- name: NSX Managers (Watermark) +- name: Transport Nodes (Dns) +- name: Licenses - name: Upgrade (Bundles) -- name: User Authentication -- name: Scope Associations -- name: NSX Manager (Appliance Proxy) -- name: NSX Manager (Site Manager Service) +- name: Containers +- name: Transport Nodes +- name: Enforcement Points +- name: NSX Managers (Cluster) +- name: User Management (Ldap) +- name: Discovered Nodes +- name: Zones +- name: NSX Manager (Idps Service) +- name: None - name: System Administration -- name: Compute Collections -- name: Inter-Sites (Legacy Management Plane) +- name: NSX Manager (Search Service) - name: NSX Manager (Controller Service) -- name: Edge Transport Nodes (Dataplane) -- name: Zones -- name: Search API +- name: Transport Nodes (Tasks Service) +- name: System Health +- name: NSX Manager (User Interface Service) +- name: Services - name: Monitoring (Logs) -- name: NSX Manager (Policy Service) -- name: IP Pools (Legacy Management Plane) -- name: Transport Nodes (User Management) -- name: Edge Transport Nodes (Dhcp) -- name: IPSEC (Sessions) -- name: NSX Manager (Cluster) +- name: VIDM Configuration +- name: NSX Manager (Local Controller Service) +- name: Service Insertion +- name: Malware Prevention +- name: Edge Transport Nodes (Services) +- name: Proxy Settings +- name: Upgrade (Plan) +- name: Edge Failure Domains (Legacy Management Plane) +- name: Pool Management (Mac Pools) - name: Edge Transport Nodes (Maintenance Mode) -- name: Containers -- name: Virtual Switches diff --git a/specifications/nsx/openapi-2.0/nsx_global_policy_api.yaml b/specifications/nsx/openapi-2.0/nsx_global_policy_api.yaml index a29bb0a..a20db35 100644 --- a/specifications/nsx/openapi-2.0/nsx_global_policy_api.yaml +++ b/specifications/nsx/openapi-2.0/nsx_global_policy_api.yaml @@ -6,9 +6,8 @@ definitions: - properties: alg: description: | - The Application Layer Gateway (ALG) protocol. - Please note, protocol NBNS_BROADCAST and NBDG_BROADCAST are deprecated. - Please use UDP protocol and create L4 Port Set type of service instead. + The Application Layer Gateway (ALG) protocol for this service entry. NBNS_BROADCAST + and NBDG_BROADCAST are deprecated; use a UDP L4PortSetServiceEntry instead. enum: - ORACLE_TNS - FTP @@ -20,7 +19,7 @@ definitions: - NBDG_BROADCAST - TFTP title: |- - The Application Layer Gateway (ALG) protocol + Application Layer Gateway (ALG) protocol type: string destination_ports: description: |- @@ -1298,8 +1297,8 @@ definitions: format: ipv4 type: string required: - - op_code - dst_ip + - op_code type: object x-vmw-nsx-module: Traceflow ArpSnoopingConfig: @@ -1722,8 +1721,8 @@ definitions: type: string x-deprecated: true required: - - tenant - status + - tenant type: object x-vmw-nsx-module: PolicyEnforcementPointManagement description: |- @@ -1951,8 +1950,8 @@ definitions: True if backup is successfully completed, else false type: boolean required: - - success - backup_id + - success title: |- Backup operation status type: object @@ -1970,10 +1969,10 @@ definitions: restore_status: $ref: '#/definitions/ClusterRestoreStatus' required: - - backup_config - backup_operation_history - - current_backup_operation_status + - backup_config - restore_status + - current_backup_operation_status type: object x-vmw-nsx-module: BackupConfiguration description: |- @@ -2199,9 +2198,16 @@ definitions: Enforcement Point Id type: string resource_type: + description: |- + The type of this resource. + Value is "ConsolidatedStatusPerEnforcementPoint" for basic status, + or "ConsolidatedStatusNsxT" when detailed enforced status is included. enum: - ConsolidatedStatusPerEnforcementPoint - ConsolidatedStatusNsxT + readOnly: true + title: |- + Resource Type type: string site_path: description: |- @@ -2214,8 +2220,9 @@ definitions: - resource_type type: object x-vmw-nsx-module: PolicyRealizedState - description: | - Consolidated Realized Status Per Enforcement Point. + description: |- + Base type for Consolidated Realized Status Per Enforcement Point. + This type serves as the base for NSX-T specific consolidated status. title: |- Base class for ConsolidatedStatusPerEnforcementPoint x-vmw-nsx-module: PolicyRealizedState @@ -2321,13 +2328,13 @@ definitions: - properties: destination_groups: description: | - We need paths as duplicate names may exist for groups under different - domains. Along with paths we support IP Address of type IPv4 and IPv6. - IP Address can be in one of the format(CIDR, IP Address, Range of IP Address). - In order to specify all groups, use the constant "ANY". This - is case insensitive. If "ANY" is used, it should be the ONLY element - in the group array. Error will be thrown if ANY is used in conjunction - with other values. + Specifies the destinations to match for this rule. This field accepts Group paths + (e.g., "/infra/domains/default/groups/db-vms") or direct IP addresses. + Group paths reference Group objects that define collections of workloads. + IP addresses can be specified in CIDR notation, as individual addresses, or as ranges. + Use the constant "ANY" to match all destinations. "ANY" is case-insensitive and must be + the ONLY element in the array if used. An error will be thrown if "ANY" is used + in conjunction with other values. items: type: string maxItems: 128 @@ -2347,7 +2354,10 @@ definitions: direction: default: IN_OUT description: | - Define direction of traffic. + Specifies the direction of traffic to which this rule applies: + - IN: Applies to incoming traffic only (traffic coming into the workload) + - OUT: Applies to outgoing traffic only (traffic leaving the workload) + - IN_OUT: Applies to both incoming and outgoing traffic (default) enum: - IN - OUT @@ -2394,8 +2404,8 @@ definitions: notes: description: | User level field which will be printed in CLI and packet logs. - Even though there is no limitation on length of the notes, internally - notes will get truncated after 39 characters. + The notes field accepts up to 2048 characters. Internally, + notes are truncated after 39 characters in CLI and packet logs. maxLength: 2048 readOnly: false title: |- @@ -2403,24 +2413,34 @@ definitions: type: string profiles: description: | - Holds the list of layer 7 service profile paths. These profiles accept - attributes and sub-attributes of various network services - (e.g. L4 AppId, encryption algorithm, domain name, etc) as key value - pairs. Instead of Layer 7 service profiles you can use a L7 access profile. - One of either Layer 7 service profiles or L7 Access Profile can be used in firewall rule. - In case of L7 access profile only one is allowed. + Paths to context profile objects (PolicyContextProfile) or L7 access profile + objects (L7AccessProfile) for advanced traffic inspection and filtering. + These profiles enable matching on Layer 7 attributes and sub-attributes of + network services such as: + - Application IDs (AppId) + - Encryption algorithms and TLS versions + - Domain names and URLs + - HTTP methods + - CIFS/SMB versions + You can use either context profiles (PolicyContextProfile) or an + L7 access profile (L7AccessProfile), but not both. + When using an L7 access profile, only one profile path is allowed. items: type: string maxItems: 128 title: |- - Layer 7 service profiles or TLS action profile + Context profiles or L7 access profile paths type: array rule_id: - description: "This is a unique 4 byte positive number that is assigned by\ - \ the system. \nThis rule id is passed all the way down to the data path.\ - \ The first 1GB\n(1000 to 2^30) will be shared by GM and LM with zebra\ - \ style striped\nnumber space. For E.g 1000 to (1Million -1) by LM, (1M\ - \ - 2M-1) by GM\nand so on.\n" + description: "This is a unique positive integer identifier assigned by the\ + \ system for each rule.\nThe rule_id is passed down to the data path for\ + \ rule matching and statistics.\nThe system allocates rule IDs from a\ + \ shared number space between Global Manager (GM) \nand Local Manager\ + \ (LM) using a zebra-style striped allocation:\n- 1000 to 999,999: allocated\ + \ by LM\n- 1,000,000 to 1,999,999: allocated by GM\n- 2,000,000 to 2,999,999:\ + \ allocated by LM\n- And so on, alternating in ranges of 1 million\nThe\ + \ rule_id is typically a small integer (1-4 digits for most deployments)\ + \ rather \nthan utilizing the full 32-bit range.\n" format: int64 readOnly: true title: |- @@ -2428,61 +2448,63 @@ definitions: type: integer scope: description: | - The list of policy paths where the rule is applied - LR/Edge/T0/T1/LRP etc. Note that a given rule can be applied - on multiple LRs/LRPs. + The list of group paths to which the rule applies. This determines + which workloads (VMs, containers, etc.) the rule is enforced on. + For Gateway Firewall rules, this can also include Tier-0, Tier-1, + or interface paths to specify where the rule is enforced. + Note that a given rule can be applied to multiple groups or network entities. items: type: string maxItems: 128 type: array sequence_number: description: | - This field is used to resolve conflicts between multiple - Rules under Security or Gateway Policy for a Domain - If no sequence number is specified in the payload, a value of 0 is - assigned by default. If there are multiple rules with the same - sequence number then their order is not deterministic. If a specific - order of rules is desired, then one has to specify unique sequence - numbers or use the POST request on the rule entity with - a query parameter action=revise to let the framework assign a - sequence number + This field is used to resolve conflicts between multiple Rules under a Security + or Gateway Policy for a Domain. Rules are evaluated in ascending sequence number + order. If no sequence number is specified in the payload, the system assigns a + default value of 0. If there are multiple rules with the same sequence number + then their order is not deterministic. If a specific order of rules is desired, + specify unique sequence numbers or use the POST request on the rule entity with + a query parameter action=revise to let the framework assign a sequence number. format: int32 minimum: 0 title: |- - Sequence number of the this Rule + Sequence number of this Rule type: integer service_entries: description: | - In order to specify raw services this can be used, - along with services which contains path to services. + Can be used to specify raw service entries inline, + along with "services", which contains paths to services. This can be empty or null. items: $ref: '#/definitions/ServiceEntry' maxItems: 128 title: |- - Raw services + Raw service entries type: array services: description: | + Paths to Service objects (e.g., "/infra/services/HTTP") that define + the network services (protocols and ports) to which this rule applies. In order to specify all services, use the constant "ANY". - This is case insensitive. If "ANY" is used, it should + This is case-insensitive. If "ANY" is used, it should be the ONLY element in the services array. Error will be thrown if ANY is used in conjunction with other values. items: type: string maxItems: 128 title: |- - Names of services + Service paths type: array source_groups: description: | - We need paths as duplicate names may exist for groups under different - domains. Along with paths we support IP Address of type IPv4 and IPv6. - IP Address can be in one of the format(CIDR, IP Address, Range of IP Address). - In order to specify all groups, use the constant "ANY". This - is case insensitive. If "ANY" is used, it should be the ONLY element - in the group array. Error will be thrown if ANY is used in conjunction - with other values. + Specifies the sources to match for this rule. This field accepts Group paths + (e.g., "/infra/domains/default/groups/web-vms") or direct IP addresses. + Group paths reference Group objects that define collections of workloads. + IP addresses can be specified in CIDR notation, as individual addresses, or as ranges. + Use the constant "ANY" to match all sources. "ANY" is case-insensitive and must be + the ONLY element in the array if used. An error will be thrown if "ANY" is used + in conjunction with other values. items: type: string maxItems: 128 @@ -2512,7 +2534,7 @@ definitions: description: |- A rule indicates the action to be performed for various types of traffic flowing between workload groups. title: |- - A rule represent base properties for ,dfw, forwarding, redirection rule + A rule represents base properties for DFW, GFW, forwarding, and redirection rules x-vmw-nsx-module: Policy BaseRuleListResult: allOf: @@ -2615,8 +2637,8 @@ definitions: Internal uri of the call type: string required: - - uri - method + - uri title: |- A single request within a batch of operations type: object @@ -3305,8 +3327,8 @@ definitions: Source IP Addresses for BGP peering type: array required: - - remote_as_num - neighbor_address + - remote_as_num type: object x-vmw-nsx-module: PolicyConnectivity description: | @@ -3856,8 +3878,8 @@ definitions: Policy path of the VLAN transport zone assigned to the underlay L2 zone for bridging. type: string required: - - bridge_profile_path - vlan_ids + - bridge_profile_path - vlan_transport_zone_path type: object x-vmw-nsx-module: PolicyVpcSubnet @@ -3978,8 +4000,8 @@ definitions: Policy path of the VLAN transport zone assigned to the underlay L2 zone for bridging. type: string required: - - bridge_profile_path - vlan_ids + - bridge_profile_path title: |- Bridge Profile Configuration type: object @@ -4071,8 +4093,7 @@ definitions: ha_mode: default: ACTIVE_STANDBY description: | - High-availability mode for the transit gateway centralized services (gateway connections, VPN). - Values ACTIVE_ACTIVE and ACTIVE_STANDBY. + High-availability mode enum: - ACTIVE_ACTIVE - ACTIVE_STANDBY @@ -4224,9 +4245,9 @@ definitions: type: object x-vmw-nsx-module: PolicyTransitGateway description: |- - Child wrapper object for transit gateway centralized service configuration, used in hierarchical API. + Child wrapper object for transit gateway centralized config, used in hierarchical API. title: |- - Wrapper object for transit gateway centralized service configuration + Wrapper object for transit gateway centralized config x-vmw-nsx-module: PolicyTransitGateway ChildClusterSecurityConfiguration: allOf: @@ -5747,6 +5768,21 @@ definitions: title: |- Wrapper object for MetadataProxyConfig x-vmw-nsx-module: PolicyMetadataProxy + ChildMpsExclusion: + allOf: + - $ref: '#/definitions/ChildPolicyConfigResource' + - properties: + MpsExclusion: + $ref: '#/definitions/MpsExclusion' + required: + - MpsExclusion + type: object + x-vmw-nsx-module: PolicyAntiMalware + description: |- + Child wrapper object for MpsExclusion, used in hierarchical API + title: |- + Wrapper object for MpsExclusion + x-vmw-nsx-module: PolicyAntiMalware ChildNetworkSpan: allOf: - $ref: '#/definitions/ChildPolicyConfigResource' @@ -8541,9 +8577,9 @@ definitions: Field data type type: string required: - - label - type - field + - label title: |- Grid Column type: object @@ -8634,6 +8670,7 @@ definitions: type: integer services: description: | + Paths to Service objects (e.g., "/infra/services/HTTP"). In order to specify all services, use the constant "ANY". This is case insensitive. If "ANY" is used, it should be the ONLY element in the services array. Error will be thrown @@ -8642,7 +8679,7 @@ definitions: type: string maxItems: 128 title: |- - Names of services + Paths to services type: array source_groups: description: | @@ -8987,9 +9024,9 @@ definitions: Value type: string required: - - member_type - - value - key + - value + - member_type type: object x-vmw-nsx-module: Policy description: | @@ -9041,8 +9078,8 @@ definitions: value_constraint: $ref: '#/definitions/ValueConstraintExpression' required: - - operator - value_constraint + - operator title: |- Represents the leaf level conditional value constraint. type: object @@ -9456,6 +9493,14 @@ definitions: description: |- Describes status of configuration of an entity properties: + core_allocation_profile: + description: | + This holds the core allocation profile realized at edge cluster member. + enum: + - L4FORWARDING + - SECURITY + readOnly: true + type: string failure_code: description: |- Error code @@ -9736,8 +9781,18 @@ definitions: consolidated_status: $ref: '#/definitions/ConsolidatedStatus' consolidated_status_per_enforcement_point: - description: |- - List of Consolidated Realized Status per enforcement point. + description: "List of Consolidated Realized Status per enforcement point.\n\ + An enforcement point represents an enforcing system \u2014 NSX is the\ + \ default; others\ninclude Antrea, or a site (on the global manager).\n\ + Within an NSX enforcement point, ESXi(for distributed firewall) and\n\ + Edge Nodes (for gateway firewall) are tracked as Transport Nodes, not\ + \ as\nenforcement points.\nEach item is a ConsolidatedStatusPerEnforcementPoint\ + \ or its sub-type ConsolidatedStatusNsxT.\nThe resource_type field indicates\ + \ the effective response shape:\n\"ConsolidatedStatusNsxT\" when include_enforced_status=true\ + \ \u2014 the enforced_status field\nis populated with detailed per-transport-node\ + \ enforcement information.\n\"ConsolidatedStatusPerEnforcementPoint\"\ + \ when include_enforced_status=false (default) \u2014\nthe enforced_status\ + \ field is absent." items: $ref: '#/definitions/ConsolidatedStatusPerEnforcementPoint' readOnly: true @@ -9844,8 +9899,9 @@ definitions: $ref: '#/definitions/EnforcedStatusDetailsNsxT' type: object x-vmw-nsx-module: PolicyRealizationStatus - description: | - Detailed Realized Status of an intent object on an NSX-T type of enforcement point. + description: |- + Consolidated Realized Status for NSX-T enforcement points. + The enforced_status field is optional and only populated when the include_enforced_status query parameter is set to true. title: |- NSX-T Consolidated Status x-vmw-nsx-module: PolicyRealizationStatus @@ -10133,8 +10189,8 @@ definitions: Value for metadata key type: string required: - - value - key + - value title: |- Key value structure for holding metadata of context profile attributes type: object @@ -10886,9 +10942,9 @@ definitions: subnet of client network type: string required: - - mac_address - - start_time - ip_address + - start_time + - mac_address type: object x-vmw-nsx-module: AggSvcDhcp DhcpLeases: @@ -11086,7 +11142,7 @@ definitions: preferred_edge_paths: description: | Policy paths to edge nodes on which the DHCP servers run. The first edge node - is assigned as active edge, and second one as stanby edge. If only one edge node + is assigned as active edge, and second one as standby edge. If only one edge node is specified, the DHCP servers will run without HA support. When this property is not specified, edge nodes are auto-assigned during realization of the DHCP server. @@ -11433,8 +11489,8 @@ definitions: options: $ref: '#/definitions/DhcpV4Options' required: - - mac_address - ip_address + - mac_address type: object x-vmw-nsx-module: PolicyConnectivity description: | @@ -11498,9 +11554,9 @@ definitions: type: string required: - iaid - - start_time - - duid - ia_type + - duid + - start_time type: object x-vmw-nsx-module: AggSvcDhcp DhcpV6StaticBindingConfig: @@ -11794,13 +11850,13 @@ definitions: type: integer last_event_time_created: description: |- - Time of last successfully received and record event from event log server. + Time of last successfully received and record event from event log server. This is a unix timestamp in milliseconds. format: int64 readOnly: true type: integer last_polling_time: description: |- - Last polling time + Last polling time. This is a unix timestamp in milliseconds. format: int64 readOnly: true type: integer @@ -12134,15 +12190,15 @@ definitions: Total DHCP Requests type: integer required: + - informs - nacks - offers - - acks - - discovers - - requests - errors - - declines - - informs - releases + - discovers + - declines + - acks + - requests type: object x-vmw-nsx-module: AggSvcL2Types DistributedFloodProtectionProfile: @@ -12243,6 +12299,16 @@ definitions: title: |- EVPN Connectivity Type type: string + direct_path: + default: false + description: | + Controls how learned routes are installed into Distributed Transit Gateway. + If this field is set to false, only default routes are installed as it happens today. + No change in the behavior. If this field is set to true, all learned routes are + installed in addition to default routes. + title: |- + Direct Path route installation + type: boolean l3_vni: description: | L3 VNI for overlay traffic. @@ -12273,10 +12339,10 @@ definitions: Route Targets with format in ASN: type: array required: - - route_controller_path + - l3_vni - route_targets - route_distinguisher - - l3_vni + - route_controller_path type: object x-vmw-nsx-module: PolicyGatewayConnection description: | @@ -12811,8 +12877,8 @@ definitions: Value for item to be displayed in dropdown type: string required: - - value - field + - value title: |- Dropdown item definition type: object @@ -13159,8 +13225,8 @@ definitions: Names of service profiles type: array required: - - groups - service_profiles + - groups type: object x-vmw-nsx-module: PolicyGuestIntrospection description: |- @@ -13401,8 +13467,8 @@ definitions: cases where the target does not specify the type. type: string required: - - operator - count + - operator type: object x-vmw-nsx-module: PolicyConstraints description: | @@ -13749,9 +13815,9 @@ definitions: Policy path to the vni pool type: string required: - - transport_zone_path - - mappings - vni_pool_path + - mappings + - transport_zone_path type: object x-vmw-nsx-module: PolicyConnectivity description: | @@ -13960,8 +14026,8 @@ definitions: External ID member type type: string required: - - member_type - external_ids + - member_type type: object x-vmw-nsx-module: Policy description: |- @@ -14288,6 +14354,14 @@ definitions: title: |- Network Detection Response feature count type: string + NETWORK_TRAFFIC_ANALYSIS: + default: UNAVAILABLE + description: |- + Network Traffic Analysis feature count. + readOnly: true + title: |- + Network Traffic Analysis feature count + type: string type: object x-vmw-nsx-module: SecurityLicenseUsage FederationComponentUpgradeStatus: @@ -14392,13 +14466,13 @@ definitions: type: integer site_allocation_indices: description: | - Indicies for cross site allocation for edge cluster + Indices for cross site allocation for edge cluster and its members referred by gateway. items: $ref: '#/definitions/SiteAllocationIndexForEdge' readOnly: true title: | - Indicies for cross site allocation + Indices for cross site allocation type: array transit_segment_id: description: | @@ -14653,8 +14727,8 @@ definitions: A conditional operator type: string required: - - operator - checks + - operator type: object x-vmw-nsx-module: PolicyConstraints description: | @@ -14830,8 +14904,8 @@ definitions: SSH fingerprint of server type: string required: - - authentication_scheme - protocol_name + - authentication_scheme - ssh_fingerprint title: |- Protocol to transfer backup file to remote server @@ -14861,8 +14935,8 @@ definitions: Value type: string required: - - field_names - value + - field_names title: |- Filter request type: object @@ -14900,9 +14974,9 @@ definitions: enable_firewall: default: true description: | - If set to true, Firewall is enabled. + If set to true, Distributed Firewall (DFW) is enabled. title: |- - Firewall enable flag + Distributed Firewall (DFW) enable flag type: boolean global_addrset_mode_enabled: default: true @@ -14951,8 +15025,8 @@ definitions: Member type type: string required: - - member_type - count + - member_type title: |- Firewall exclude list members count type: object @@ -15711,11 +15785,11 @@ definitions: - properties: rules: description: |- - Rules that are a part of this SecurityPolicy + Rules that are a part of this GatewayPolicy items: $ref: '#/definitions/Rule' title: |- - Rules that are a part of this SecurityPolicy + Rules that are a part of this GatewayPolicy type: array type: object x-vmw-nsx-module: Policy @@ -15859,8 +15933,8 @@ definitions: Recovery site path type: string required: - - to_primary_site_path - tier0_gateway_path + - to_primary_site_path title: |- Recovery site config type: object @@ -16740,11 +16814,11 @@ definitions: Thumbprint type: string required: - - gm_ip - gm_username - - thumbprint - - pub_url - gm_password + - gm_ip + - pub_url + - thumbprint title: |- GM Import Specification type: object @@ -17310,8 +17384,8 @@ definitions: List of tags for the member type type: array required: - - member_type - tags + - member_type title: |- Group tags list for a particular member type type: object @@ -17826,8 +17900,8 @@ definitions: Port type: integer required: - - collector_port - collector_ip_address + - collector_port type: object x-vmw-nsx-module: PolicyIPFIXDFW description: | @@ -18349,12 +18423,14 @@ definitions: type: array digest_algorithms: description: |- - Algorithm to be used for message digest during Internet Key Exchange(IKE) negotiation. A default value of SHA2_256 will be applied only when the supplied encryption algorithms contain either AES_128 or AES_256. + Algorithm to be used for message digest during Internet Key Exchange(IKE) negotiation. A default value of SHA2_256 will be applied only when the supplied encryption algorithms contain either AES_128 or AES_256. SHA1 is deprecated. Please use some other Digest Algorithm. items: description: | The IkeDigestAlgorithms are used to verify message integrity during Ike negotiation. SHA1 produces 160 bits hash and SHA2_XXX produces XXX bit hash. + Please note, SHA1 is deprecated. Please use some other + Digest Algorithm such as SHA2_256, SHA2_384 or SHA2_512. enum: - SHA1 - SHA2_256 @@ -18818,13 +18894,15 @@ definitions: type: array digest_algorithms: description: |- - Algorithm to be used for message digest. Default digest algorithm is implicitly covered by default encryption algorithm "AES_GCM_128". + Algorithm to be used for message digest. Default digest algorithm is implicitly covered by default encryption algorithm "AES_GCM_128". SHA1 is deprecated. Please use some other Digest Algorithm. items: description: | The IPSecDigestAlgorithms are used to verify message integrity during IPSec VPN tunnel establishment. SHA1 produces 160 bits hash and SHA2_XXX produces XXX bit hash. + Please note, SHA1 is deprecated. Please use some other + Digest Algorithm such as SHA2_256, SHA2_384 or SHA2_512. enum: - SHA1 - SHA2_256 @@ -19178,8 +19256,8 @@ definitions: sync_settings: $ref: '#/definitions/DirectoryDomainSyncSettings' required: - - netbios_name - base_distinguished_name + - netbios_name type: object x-vmw-nsx-module: PolicyIdentity description: |- @@ -19505,9 +19583,10 @@ definitions: title: |- Identity (Directory) Group SID (security identifier) type: string + x-deprecated: true required: - - distinguished_name - domain_base_distinguished_name + - distinguished_name title: |- Identity (Directory) group type: object @@ -19668,8 +19747,8 @@ definitions: Number of active user sessions/logins type: integer required: - - num_concurrent_users - num_user_sessions + - num_concurrent_users title: |- Identity Firewall statistics data type: object @@ -19695,12 +19774,13 @@ definitions: type: string login_time: description: |- - Login time. + Login time. This is a unix timestamp in milliseconds. format: int64 type: integer logout_time: description: | - Logout time if applicable. An active user session has no logout time. + Logout time if applicable. This is a unix timestamp in milliseconds. + An active user session has no logout time. Non-active user session is stored (up to last 5 most recent entries) per VM and per user. format: int64 @@ -19784,9 +19864,9 @@ definitions: Directory Group to user session data mappings type: array required: + - active_user_sessions - dir_group_to_user_session_data_mappings - archived_user_sessions - - active_user_sessions title: |- Identity Firewall user session data list and Directory Group to user mappings type: object @@ -19853,8 +19933,8 @@ definitions: Virtual machine external ID or BIOS UUID type: string required: - - active_sessions - vm_ext_id + - active_sessions title: |- Identity Firewall user login/session data for a single VM type: object @@ -19978,7 +20058,7 @@ definitions: - properties: publish_time: description: | - Time when the custom signature was published. + Time when the custom signature was published. This is a unix timestamp in milliseconds. format: int64 readOnly: true type: integer @@ -20023,7 +20103,7 @@ definitions: - properties: publish_time: description: | - Time when the custom signature was published. + Time when the custom signature was published. This is a unix timestamp in milliseconds. format: int64 readOnly: true type: integer @@ -20270,8 +20350,8 @@ definitions: Signature Ids. type: array required: - - signature_ids - pcap_ids + - signature_ids type: object x-vmw-nsx-module: PolicyIDS description: | @@ -20360,8 +20440,8 @@ definitions: IDS zipped pcap file status type: string required: - - signature_ids - pcap_ids + - signature_ids type: object x-vmw-nsx-module: PolicyIDS description: | @@ -20637,11 +20717,45 @@ definitions: title: |- Intrusion Detection System Profile severity x-vmw-nsx-module: PolicyIDS + IdsProfileSignature: + description: "Provides a single IDPS signature's information\u2014its ID, revision,\ + \ and action.\nThis signature is effective on the given profile.\n" + properties: + action: + description: | + The action that has to be performed when the signature is matched. + enum: + - ALERT + - DROP + - REJECT + title: |- + IDS signature's action + type: string + revision: + description: | + The revision number of the IDS signature. + format: int64 + title: |- + Signature Revision + type: integer + signature_id: + description: | + Represents the IDS Signature's id. + title: |- + Signature ID + type: string + required: + - revision + - signature_id + - action + title: |- + IDS Profile Signature + type: object + x-vmw-nsx-module: PolicyIDS IdsProfileSignatures: - description: | - An entity that holds the list of IDS signatures attached - to an IDS Profile depending upon the Profile's criteria. - These are the Signatures which needs to be detected. + description: "This entity holds the list of IDS signatures attached to an IDS\ + \ Profile.\nThese signatures are determined either by using the criteria given\ + \ on that profile \nor by directly including the signatures in the profile.\n" properties: profile_path: description: | @@ -20650,14 +20764,14 @@ definitions: IDS Profile path type: string signatures: - description: |- - List of IDS signature ids which need to be detected. + description: "Effective signatures of the IDS profile. Each signature contains\ + \ the signature ID, \nrevision number, and the action to be performed when\ + \ matched.\n" items: - type: string + $ref: '#/definitions/IdsProfileSignature' maxItems: 30000 - minItems: 1 title: |- - IDS Signatures + IDS profile's Signatures type: array title: |- IDS Profile Signatures @@ -20769,11 +20883,13 @@ definitions: x-vmw-nsx-module: PolicyIDSStats IdsRuleStatisticsForEnforcementPoint: description: |- - IDS Rule statistics for a specfic enforcement point. + IDS Rule statistics for a specific enforcement point. properties: enforcement_point: - description: |- - IDS Rule statistics for a single enforcement point + description: | + Path of the enforcement point for which statistics are reported. + On Global Manager, specifying an enforcement_point_path is mandatory. + On Local Manager, if omitted, statistics are aggregated across all enforcement points. readOnly: true title: |- Enforcement point path @@ -20853,8 +20969,10 @@ definitions: enforcement point. properties: enforcement_point: - description: |- - Enforcement point to fetch the statistics from. + description: | + Path of the enforcement point for which statistics are reported. + On Global Manager, specifying an enforcement_point_path is mandatory. + On Local Manager, if omitted, statistics are aggregated across all enforcement points. readOnly: true title: |- Enforcement point path @@ -21233,9 +21351,9 @@ definitions: Rate filter activation timeout in seconds type: integer required: - - time_period - count - timeout + - time_period title: |- IDS signature rate filter type: object @@ -21345,9 +21463,9 @@ definitions: Signature threshold tracking type type: string required: - - time_period - - count - threshold_type + - count + - time_period title: |- IDS signature threshold values type: object @@ -21407,7 +21525,7 @@ definitions: type: string update_time: description: | - Time when this version was downloaded and saved. + Time when this version was downloaded and saved. This is a unix timestamp in milliseconds. format: int64 readOnly: true type: integer @@ -21563,8 +21681,8 @@ definitions: site_settings: $ref: '#/definitions/IdsSiteSettings' required: - - site_path - signature_version_path + - site_path type: object x-vmw-nsx-module: IDSSiteVersionMapping description: | @@ -21954,8 +22072,8 @@ definitions: value: $ref: '#/definitions/InjectionValue' required: - - value - key + - value title: |- Injection type: object @@ -22880,8 +22998,8 @@ definitions: Single IP count type: integer required: - - ip_block_address_type - ip_block_visibility + - ip_block_address_type type: object x-vmw-nsx-module: PolicyLimit description: | @@ -22924,8 +23042,8 @@ definitions: format: ip type: string required: - - end - start + - end type: object x-vmw-nsx-module: Ipam description: |- @@ -22939,9 +23057,10 @@ definitions: format: ipv4 type: string flags: - default: 0 - description: |- - IP flags + default: 2 + description: | + The DF bit has to be set because traceflow does not + support tracking IP fragment behavior. format: int64 maximum: 8 minimum: 0 @@ -23122,8 +23241,8 @@ definitions: Retransmission interval type: integer required: - - ra_mode - ra_config + - ra_mode type: object x-vmw-nsx-module: PolicyConnectivity x-vmw-nsx-module: PolicyConnectivity @@ -23207,8 +23326,8 @@ definitions: readOnly: false type: string required: - - value - key + - value type: object x-vmw-nsx-module: CertificateManager KeyValuePair: @@ -23232,8 +23351,8 @@ definitions: Value type: string required: - - value - key + - value title: |- An arbitrary key-value pair type: object @@ -23796,9 +23915,9 @@ definitions: type: array uniqueItems: true required: - - local_address - - l3vpn_session - remote_public_address + - l3vpn_session + - local_address type: object x-vmw-nsx-module: PolicyL3Vpn description: | @@ -23914,8 +24033,8 @@ definitions: type: array uniqueItems: true required: - - sources - destinations + - sources type: object x-vmw-nsx-module: PolicyL3Vpn description: | @@ -25019,8 +25138,8 @@ definitions: The URL that the HTTP request is redirected to type: string required: - - redirect_url - redirect_status + - redirect_url type: object x-vmw-nsx-module: PolicyLoadBalancer description: | @@ -25147,8 +25266,8 @@ definitions: - REGEX type: string required: - - cookie_name - cookie_value + - cookie_name type: object x-vmw-nsx-module: PolicyLoadBalancer description: | @@ -25248,8 +25367,8 @@ definitions: Value of HTTP request header type: string required: - - header_value - header_name + - header_value type: object x-vmw-nsx-module: PolicyLoadBalancer description: | @@ -25488,8 +25607,8 @@ definitions: - REGEX type: string required: - - header_value - header_name + - header_value type: object x-vmw-nsx-module: PolicyLoadBalancer description: | @@ -25543,8 +25662,8 @@ definitions: Value of header field type: string required: - - header_value - header_name + - header_value type: object x-vmw-nsx-module: PolicyLoadBalancer description: | @@ -27264,8 +27383,8 @@ definitions: Data to send type: string required: - - send - receive + - send type: object x-vmw-nsx-module: PolicyLoadBalancer description: | @@ -27795,8 +27914,8 @@ definitions: Value of HTTP request header type: string required: - - header_value - header_name + - header_value type: object x-vmw-nsx-module: LoadBalancer LdapIdentitySource: @@ -28466,8 +28585,8 @@ definitions: Policy path to prefix lists type: array required: - - nexthop_address - prefix_list_paths + - nexthop_address title: |- Local egress routing policy type: object @@ -29188,8 +29307,8 @@ definitions: id of the transport node where the router status is retrieved. type: string required: - - transport_node_id - high_availability_status + - transport_node_id type: object x-vmw-nsx-module: AggSvcLogicalRouter LogicalSwitchStatistics: @@ -29524,6 +29643,16 @@ definitions: title: |- Detection Types type: string + file_size: + description: | + Maximum file size in MB for malware scanning. Allowed range is 1 to 64 MB. Default is 64 MB. + Please refer to the compatibility matrix with Security Service Platform (SSP) for supported versions. + format: int32 + maximum: 64 + minimum: 1 + title: |- + File Size + type: integer file_type: description: | Represents different type of files extensions supported in Malware Prevention. @@ -29542,6 +29671,23 @@ definitions: title: |- File Type type: array + fileless_enabled: + description: | + Enables or disables fileless malware detection. Default is true. + Please refer to the compatibility matrix with Security Service Platform (SSP) for supported versions. + title: |- + Fileless Support Enabled + type: boolean + local_exclusions: + description: | + List of MpsExclusion paths applicable to this profile for excluding specific files or extensions from scanning. + Local exclusions apply only to this profile, while global exclusions apply to all profiles by default. + Please refer to the compatibility matrix with Security Service Platform (SSP) for supported versions. + items: + type: string + title: |- + Profile local exclusions + type: array required: - detection_type - file_type @@ -29824,8 +29970,8 @@ definitions: Policy paths to Certificate Authority (CA) certificates type: array required: - - edge_cluster_path - server_address + - edge_cluster_path type: object x-vmw-nsx-module: PolicyMetadataProxy description: |- @@ -29877,11 +30023,11 @@ definitions: succeeded responses from nova server type: integer required: - - requests_to_nova_server - - error_responses_from_nova_server + - segment_path - requests_from_clients + - error_responses_from_nova_server + - requests_to_nova_server - succeeded_responses_from_nova_server - - segment_path - responses_to_clients type: object x-vmw-nsx-module: PolicyMetadataProxy @@ -30070,6 +30216,57 @@ definitions: Error class for all the MPS related errors type: object x-vmw-nsx-module: NsxMalwarePreventionDeployment + MpsExclusion: + allOf: + - $ref: '#/definitions/PolicyConfigResource' + - properties: + exclusion_type: + description: | + Type of exclusion (paths or file extensions). + enum: + - PATHS + - EXTENSIONS + title: |- + Exclusion Type + type: string + exclusions: + description: | + List of paths or file extensions to exclude. + items: + type: string + minItems: 1 + title: |- + Exclusion List + type: array + is_global: + default: false + description: | + When true, this exclusion applies globally to all the MalwarePrevention profiles. + When false, exclusion will not be applicable by default, to apply the exclusion user have to select it under MalwarePrevention Profile. + title: |- + Is Global + type: boolean + os_type: + description: | + Target OS for this exclusion. + enum: + - WINDOWS + - LINUX + - ANY + title: |- + OS Type + type: string + required: + - exclusions + - exclusion_type + - os_type + type: object + x-vmw-nsx-module: PolicyAntiMalware + description: | + A single malware prevention exclusion with OS type, exclusion type, list, and metadata. + title: |- + MPS Exclusion + x-vmw-nsx-module: PolicyAntiMalware MpsOvfSpec: description: |- MPS Ovf Specification @@ -30462,10 +30659,10 @@ definitions: Version type: string required: + - log_token + - instance_id - managed_by - deployed_by - - instance_id - - log_token type: object x-vmw-nsx-module: NSXDeploymentInfo description: |- @@ -31026,6 +31223,7 @@ definitions: - DISTRIBUTED_BAREMETAL - DISTRIBUTED_IPFIX_BAREMETAL - DISTRIBUTED_INTELLIGENCE_BAREMETAL + - NETWORK_TRAFFIC_ANALYSIS type: string readOnly: true title: |- @@ -32141,8 +32339,11 @@ definitions: traceflow metadata requirement of 16 bytes), the traceflow request will fail with an appropriate message. The frame will be zero padded to the requested size. + The frame size up to 9000 is only available to the overlay segment port + and subnet port. The VLAN segment port, DHCP port, Edge uplink port, and + service interface can only support traceflow packet with a frame size up to 1000. format: int64 - maximum: 1000 + maximum: 9000 minimum: 60 title: |- Requested total size of the (logical) packet in bytes @@ -32222,8 +32423,8 @@ definitions: The type of the packets type: string required: - - packet_type - counter + - packet_type type: object x-vmw-nsx-module: AggSvcL2Types PacketsDroppedBySecurity: @@ -32445,8 +32646,8 @@ definitions: Status Of an Edge Node type: string required: - - status - policy_edge_node_path + - status type: object x-vmw-nsx-module: PolicyEdgeClusterStatistics PendingChangesInfoNsxT: @@ -32592,9 +32793,9 @@ definitions: Variable chosen for Y value of the point of the graph type: string required: - - y_value - x_value - field + - y_value title: |- Definition of a point of graph type: object @@ -32605,33 +32806,35 @@ definitions: - properties: category: description: | - - Distributed Firewall - - Policy framework provides five pre-defined categories for classifying - a security policy. They are "Ethernet","Emergency", "Infrastructure" - "Environment" and "Application". There is a pre-determined order in - which the policy framework manages the priority of these security - policies. Ethernet category is for supporting layer 2 firewall rules. - The other four categories are applicable for layer 3 rules. Amongst - them, the Emergency category has the highest priority followed by - Infrastructure, Environment and then Application rules. Administrator - can choose to categorize a security policy into the above categories - or can choose to leave it empty. If empty it will have the least - precedence w.r.t the above four categories. - - Edge Firewall - - Policy Framework for Edge Firewall provides six pre-defined categories - "Emergency", "SystemRules", "SharedPreRules", "LocalGatewayRules", - "AutoServiceRules" and "Default", in order of priority of rules. - All categories are allowed for Gatetway Policies that belong - to 'default' Domain. However, for user created domains, category is - restricted to "SharedPreRules" or "LocalGatewayRules" only. Also, the - users can add/modify/delete rules from only the "SharedPreRules" and - "LocalGatewayRules" categories. If user doesn't specify the category - then defaulted to "Rules". System generated category is used by NSX - created rules, for example BFD rules. Autoplumbed category used by - NSX verticals to autoplumb data path rules. Finally, "Default" category - is the placeholder default rules with lowest in the order of priority. - title: |- - A way to classify a security policy, if needed. + Classifies this security policy into an evaluation-priority category. Categories are + evaluated in a fixed priority order. + + Distributed Firewall (DFW) categories, in priority order (highest first): + Ethernet - Layer 2 firewall rules only. + Emergency - Highest priority L3 rules (common to both DFW and Edge FW). + Infrastructure - Second priority L3 rules. + Environment - Third priority L3 rules. + Application - Lowest explicit L3 rules. + ThreatRules - IDPS-only. Threat-based rules applied after Application. + EmergencyThreatRules - IDPS-only. Highest priority threat-based rules. + + Edge (Gateway) Firewall categories, in priority order (highest first): + Emergency, SystemRules, SharedPreRules, SharedExternalRules, + LocalGatewayRules, AutoServiceRules, Default. + For user-created domains, only SharedPreRules and LocalGatewayRules are allowed. + If not specified, defaults to LocalGatewayRules. + + Bridge Firewall category: + LocalBridgeRules - Rules for bridge firewall policies. + + Distributed IDS/IPS (E-W IDPS) categories: + ThreatRules - Threat-based IDS/IPS rules applied after Application. + EmergencyThreatRules - Highest priority threat-based IDS/IPS rules. + + Gateway IDS/IPS (N-S IDPS) category: + LocalGatewayRules - IDS/IPS rules applied on the gateway. + title: |- + Security policy category type: string comments: description: |- @@ -32658,7 +32861,7 @@ definitions: type: boolean lock_modified_by: description: | - ID of the user who last modified the lock for the secruity policy. + ID of the user who last modified the lock for the security policy. readOnly: true title: |- User who locked the security policy @@ -32698,7 +32901,10 @@ definitions: scope: description: | The list of group paths where the rules in this policy will get - applied. This scope will take precedence over rule level scope. + applied. Each path references a Group object that defines a collection + of workloads (VMs, containers, etc.). This scope determines which + workloads the security policy's rules are enforced on. + This scope will take precedence over rule level scope. Supported only for security and redirection policies. In case of RedirectionPolicy, it is expected only when the policy is NS and redirecting to service chain. @@ -32732,26 +32938,25 @@ definitions: type: integer stateful: description: | - Stateful or Stateless nature of security policy is enforced on all - rules in this security policy. When it is stateful, the state of - the network connects are tracked and a stateful packet inspection is - performed. - Layer3 security policies can be stateful or stateless. By default, they are stateful. - Layer2 security policies can only be stateless. + Whether this security policy enforces stateful or stateless packet inspection. + When stateful (true), network connection state is tracked and stateful packet + inspection is performed. Layer-3 security policies default to stateful. + Layer-2 (Ethernet category) security policies must be stateless. + Note: when stateful is true, the tcp_strict field also defaults to true unless + explicitly set to false. See the tcp_strict field for details. readOnly: false title: |- - Stateful nature of the entries within this security policy. + Stateful nature of this security policy type: boolean tcp_strict: description: | - Ensures that a 3 way TCP handshake is done before the data packets - are sent. - tcp_strict=true is supported only for stateful security policies. - If the tcp_strict flag is not specified and the security policy - is stateful, then tcp_strict will be set to true. + Enforces a 3-way TCP handshake before allowing data packets. Only applicable when + the security policy is stateful. If not specified, the server automatically sets + tcp_strict to true for stateful policies and false for stateless policies. + See also: stateful field. readOnly: false title: |- - Enforce strict tcp handshake before allowing data packets + Enforce strict TCP handshake before allowing data type: boolean type: object x-vmw-nsx-module: Policy @@ -33070,8 +33275,8 @@ definitions: uniqueItems: true required: - datatype - - value - key + - value title: |- Policy Attributes data holder type: object @@ -33512,12 +33717,13 @@ definitions: type: object x-vmw-nsx-module: PolicyContextProfile description: | - An entity that encapsulates attributes and sub-attributes of various - network services (eg. L7 services, domain name, encryption algorithm) - The entity will be consumed in firewall rules and can be added in new - tuple called profile in firewall rules. To get a list of supported - attributes and sub-attributes fire the following REST API - GET https://<policy-mgr>/policy/api/v1/infra/context-profiles/attributes + A Policy Context Profile defines a set of network attributes and optional + sub-attributes that characterise traffic or applications. Supported + attribute types include Layer 7 application IDs (APP_ID), domain names + (DOMAIN_NAME), URL categories (URL_CATEGORY), URL reputation scores + (URL_REPUTATION), and custom URLs (CUSTOM_URL). A context profile can be + referenced by firewall rules as an additional match criterion, enabling + fine-grained, application-aware policy enforcement. title: |- Policy Context Profile entity x-vmw-nsx-module: PolicyContextProfile @@ -33608,8 +33814,8 @@ definitions: uniqueItems: true required: - datatype - - value - key + - value type: object x-vmw-nsx-module: PolicyContextProfile description: |- @@ -33989,6 +34195,18 @@ definitions: title: |- Allocation rules for auto placement type: array + core_allocation_profile: + description: | + The Core Allocation Profile attribute defines the core allocation for edge transport nodes within a cluster, + and any new or redeployed edge will utilize this profile. It can be updated to another supported profile, + which subsequently updates the core profile on all edges in the cluster. + Note that a manual reboot is required for the new profile to be applied to the edge appliance. + To verify the current profile applied to cluster members, use the Edge Cluster State API. +
https://<nsx-mgr>/policy/api/v1/infra/sites/default/enforcement-points/<enforcementpoint-id>/edge-clusters/cluster/<edge-cluster-id>/state
+ enum: + - L4FORWARDING + - SECURITY + type: string deployment_type: description: | This field is a readonly field which shows the deployment_type of members. @@ -34446,8 +34664,8 @@ definitions: Average Write Latency type: string required: - - status - policy_edge_node_path + - status type: object x-vmw-nsx-module: PolicyEdgeClusterStatistics PolicyEdgeClusterRemoteTunnelBgpSummary: @@ -34774,8 +34992,8 @@ definitions: Resource name type: string required: - - fields - resource_name + - fields title: |- Contains the detail of resources with name and fields type: object @@ -34793,8 +35011,8 @@ definitions: sub_type: $ref: '#/definitions/PolicyFineTuningResourceInfo' required: - - sub_type - field_name + - sub_type title: |- Contains the details resources with field type and name type: object @@ -35270,17 +35488,17 @@ definitions: Connection timeout for destination type: integer required: - - icmp_error_reply - - udp_single - - udp_multiple - - icmp_first_packet - - tcp_first_packet - - tcp_closed - - udp_first_packet - tcp_established + - tcp_closed - tcp_finwait + - icmp_first_packet + - icmp_error_reply - tcp_opening - tcp_closing + - udp_single + - udp_multiple + - udp_first_packet + - tcp_first_packet type: object x-vmw-nsx-module: PolicyFirewallSessionTimerProfile description: |- @@ -36674,8 +36892,8 @@ definitions: ids of transport nodes where this metadata proxy is running type: array required: - - transport_nodes - proxy_status + - transport_nodes type: object x-vmw-nsx-module: PolicyMetadataProxy PolicyMonitoringConfig: @@ -37392,10 +37610,12 @@ definitions: type: array operational_status: description: | - Possible values could be UP, DOWN, UNKNOWN, FAILURE - This list is not exhaustive. + Runtime operational status of this realized resource as observed on the enforcement + point. Common values include UP (resource is operational), DOWN (resource is not + operational), FAILURE (an error occurred), and UNKNOWN (status cannot be determined). + Additional implementation-specific values may appear. title: |- - String representation of operational status + Operational status of this realized resource type: string operational_status_error: description: | @@ -37405,10 +37625,12 @@ definitions: type: string publish_status: description: | - Possible values could be UP, DOWN, UNKNOWN, SUCCESS - This list is not exhaustive. + Publish (intent-to-datapath push) status of this realized resource. Common values + include UP (successfully published), DOWN (publish failed), SUCCESS (published without + errors), and UNKNOWN (status cannot be determined). Additional implementation-specific + values may appear. title: |- - String representation of publish status + Publish status of this realized resource type: string publish_status_error: description: | @@ -37570,7 +37792,6 @@ definitions: origin_site_id: description: | This is a UUID generated by the system for knowing which site owns an object. - This is used in NSX+. readOnly: true title: |- A unique identifier assigned by the system for knowing which site owns an object @@ -37578,7 +37799,6 @@ definitions: owner_id: description: | This is a UUID generated by the system for knowing who owns this object. - This is used in NSX+. readOnly: true title: |- A unique identifier assigned by the system for the ownership of an object @@ -37650,7 +37870,6 @@ definitions: owner_id: description: | This is a UUID generated by the system for knowing who owns this resource. - This is used in NSX+. readOnly: true title: |- A unique identifier assigned by the system for the ownership of resource @@ -37685,15 +37904,13 @@ definitions: origin_site_id: description: | This is a UUID generated by the system for knowing which site owns this group. - This is used in NSX+. readOnly: true title: |- A unique identifier assigned by the system for knowing which site owns a group type: string remote_path: description: | - This is the path of the object on the local managers when queried on the NSX+ service, - and path of the object on NSX+ service when queried from the local managers. + The path of the object on the remote end. readOnly: true title: |- Path of the object on the remote end. @@ -38121,12 +38338,12 @@ definitions: Id of the storage type: string required: - - compute_id - deployment_spec_name - - attributes - storage_id - - deployment_template_name + - compute_id - primary_interface_mgmt_ip + - attributes + - deployment_template_name type: object x-vmw-nsx-module: PolicyServiceInsertion description: | @@ -38237,8 +38454,8 @@ definitions: uniqueItems: true required: - datatype - - value - key + - value title: |- Policy Sub Attributes data holder type: object @@ -38353,8 +38570,8 @@ definitions: The Transport Node TEP Group ID type: string required: - - tep_mac_address - tep_label + - tep_mac_address type: object x-vmw-nsx-module: PolicyConnectivityStatistics x-vmw-nsx-module: PolicyConnectivityStatistics @@ -38441,8 +38658,8 @@ definitions: Start time of the interval type: string required: - - start_interval - end_interval + - start_interval title: |- Time interval on which firewall schedule will be applicable type: object @@ -38873,6 +39090,14 @@ definitions: title: |- Flag to indicate if the transport zone is the default one type: boolean + is_security: + description: | + This field is set to true if this is the system generated transport zone used for + security on vSphere Distributed Switch (vDS). + readOnly: true + title: |- + Flag to indicate if the transport zone is used for security on vDS + type: boolean nested_nsx: default: false description: |- @@ -39318,8 +39543,8 @@ definitions: TransportNode on which the attacher resides type: string required: - - host - entity + - host title: |- VM or vmknic entity attached to LogicalPort type: object @@ -39361,8 +39586,11 @@ definitions: Context ID based on the type type: string context_type: - description: |- - Set to PARENT when type field is CHILD. Read only field. + description: | + Identifies the relationship context of this port attachment relative to its parent. + PARENT indicates that this port is the parent of a child port (i.e., the port with + type=CHILD is attached to this port). This field is system-assigned and read-only; + it is automatically set to PARENT when another port references this port as its parent. enum: - PARENT readOnly: true @@ -40118,8 +40346,8 @@ definitions: List of project paths type: array required: - - projects_list - match_prefix_list + - projects_list type: object x-vmw-nsx-module: PolicyConnectivity description: | @@ -40646,8 +40874,8 @@ definitions: Reaction Events type: array required: - - actions - events + - actions type: object x-vmw-nsx-module: PolicyReaction description: | @@ -40667,8 +40895,8 @@ definitions: profinet: $ref: '#/definitions/Profinet' required: - - parallel_redundancy_prot - profinet + - parallel_redundancy_prot - latency_measurement type: object x-vmw-nsx-module: PolicyRealTimeEth @@ -40717,10 +40945,10 @@ definitions: type: array host_id: description: |- - Id of the host on which the vm exists. + Unique ID of the host on which the VM exists. readOnly: true title: |- - Id of the host on which the vm exists. + Unique ID of the host on which the VM exists. type: string local_id_on_host: description: |- @@ -41085,9 +41313,9 @@ definitions: Remote server hostname or IP address type: string required: - - directory_path - - protocol - server + - protocol + - directory_path title: |- Remote file server type: object @@ -41120,8 +41348,8 @@ definitions: SSH fingerprint of server type: string required: - - ssh_fingerprint - server + - ssh_fingerprint title: |- Remote server type: object @@ -41600,8 +41828,8 @@ definitions: Status of tag apply or remove operation type: string required: - - resource_id - tag_status + - resource_id title: |- Tag operation status for a resource type: object @@ -42065,7 +42293,7 @@ definitions: description: | If true the default firewall rule Action is set to DROP, otherwise set to ALLOW. This field is deprecated and recommended to change Rule action field. Note that this - field is not synchornied with default rule field. + field is not synchronized with default rule field. title: |- Flag to add default whitelisting Gateway Policy rule for the VTI interface. type: boolean @@ -42145,8 +42373,12 @@ definitions: default: ACTIVE_STANDBY description: | High-availability mode for route controller. + Starting from VCF 9.1.1 onwards, it is recommended + to use ACTIVE_ACTIVE High-availability mode. + Update of High-availability mode is not supported. enum: - ACTIVE_STANDBY + - ACTIVE_ACTIVE title: |- HA Mode type: string @@ -42274,22 +42506,26 @@ definitions: type: array source_addresses: description: | + In case Route Controller is configured with ACTIVE_STANDBY mode, + source_address should be a valid floating_ip address from the Route Controller Interface. + In case Route Controller is configured with ACTIVE_ACTIVE mode, + source_address should be a valid interface_subnet IP from the Route Controller Interface. Source addresses should belong to external or loopback or VTI interface IP Addresses. BGP peering is formed from all these addresses. - This property is mandatory when maximum_hop_limit is greater than 1. items: description: |- IPv4 or IPv6 address format: ip type: string maxItems: 1 + minItems: 1 title: |- - A valid floating_ip from Route Controller interface. + Source IP address for BGP Peering. type: array required: - - source_addresses - - neighbor_address - remote_as_num + - neighbor_address + - source_addresses type: object x-vmw-nsx-module: PolicyRouteController description: | @@ -42357,6 +42593,8 @@ definitions: floating_ip_subnets: description: | IP address and subnet specification for VIP floating IP address subnets. + This property is required only if the Route controller is configured with + high availability (HA) ACTIVE_STANDBY mode. items: $ref: '#/definitions/InterfaceSubnet' maxItems: 1 @@ -42368,6 +42606,12 @@ definitions: Route Controller Interface Address object parameters. Specify IP addresses, vlan and port_group details per virtual network appliance (VNA) for configuring Route Controller interface. + Maximum number of Interface Addresses is restricted to 2 + in case Route Controller is configured with high availability (HA) + ACTIVE_STANDBY mode. + Maximum number of Interface Addresses is restricted to 1 + in case Route Controller is configured with high availability (HA) + ACTIVE_ACTIVE mode. items: $ref: '#/definitions/RouteControllerInterfaceAddress' maxItems: 2 @@ -42378,7 +42622,10 @@ definitions: mtu: default: 1500 description: | - MTU size. + Maximum transmission unit (MTU) specifies the size of the largest + packet that a network protocol can transmit. + The globally configured maximum physical uplink MTU value must be greater than + or equal to the maximum supported value of this MTU field. format: int32 maximum: 9126 minimum: 1500 @@ -42396,7 +42643,6 @@ definitions: URPF mode type: string required: - - floating_ip_subnets - interface_address type: object x-vmw-nsx-module: PolicyRouteController @@ -42910,13 +43156,13 @@ definitions: - properties: action: description: | - The action to be applied to all the services - The JUMP_TO_APPLICATION action is only supported for rules created in the - Environment category. Once a match is hit then the rule processing + The action to be applied to all the services. + REJECT is not allowed for Layer-2 (Ethernet category) rules -- use DROP instead. + JUMP_TO_APPLICATION is only valid for DFW rules (not Gateway Firewall) created + in the Environment category. Once a match is hit then the rule processing will jump to the rules present in the Application category, skipping all further rules in the Environment category. If no rules match in the Application category then the default application rule will be hit. - This is applicable only for DFW. enum: - ALLOW - DROP @@ -42977,7 +43223,7 @@ definitions: description: | Realized id of the rule on NSX MP. Policy Manager can create more than one rule per policy rule, in which case this identifier helps to - distinguish between the multple rules created. + distinguish between the multiple rules created. readOnly: true title: |- NSX internal rule id @@ -43091,7 +43337,7 @@ definitions: x-vmw-nsx-module: Policy RuleStatisticsForEnforcementPoint: description: |- - Rule statistics for a specfic enforcement point. + Rule statistics for a specific enforcement point. properties: container_cluster_path: description: |- @@ -43101,8 +43347,10 @@ definitions: Cluster container path type: string enforcement_point: - description: |- - Rule statistics for a single enforcement point + description: | + Path of the enforcement point for which statistics are reported. + On Global Manager, specifying an enforcement_point_path is mandatory. + On Local Manager, if omitted, statistics are aggregated across all enforcement points. readOnly: true title: |- Enforcement point path @@ -43164,7 +43412,7 @@ definitions: destination_groups: description: | It defines the destination of the rule resulting from attaching a security strategy to a VPC. - As the security strategy is attached to a VPC, the source for the rule would be the VPC + As the security strategy is attached to a VPC, the destination for the rule would be the VPC default group. These values would be actually replaced by the system based on the VPC to which the security strategy is attached. items: @@ -43187,6 +43435,8 @@ definitions: type: array services: description: | + Paths to Service objects (e.g., "/infra/services/HTTP") that define + the network services (protocols and ports) to which this rule applies. In order to specify all services, use the constant "ANY". This is case insensitive. If "ANY" is used, it should be the ONLY element in the services array. Error will be thrown @@ -43195,7 +43445,7 @@ definitions: type: string maxItems: 128 title: |- - Names of services + Service paths type: array source_groups: description: | @@ -43209,8 +43459,8 @@ definitions: It defines the source of the rule type: array required: - - destination_groups - source_groups + - destination_groups - action title: |- Set of template rules defined for a given security strategy. @@ -43248,7 +43498,7 @@ definitions: MALWAREPREVENTION - Malware Prevention GFW_MULTICAST - Multicast on GFW GEOIP_MONITORING - Geo IP Monitoring - Use any one of this to enable/disabe it. + Use any one of this to enable/disable it. enum: - MALWAREPREVENTION - IDFW @@ -43444,6 +43694,13 @@ definitions: title: |- Licensed host core count used by ndr type: string + licensed_host_core_count_nta: + description: |- + Licensed host core count used by nta + readOnly: true + title: |- + Licensed host core count used by nta + type: string licensed_total_core_count_firewall_atp_edition: description: |- licensed total core count on firewall atp edition @@ -43732,6 +43989,13 @@ definitions: title: |- Raw host core count used by ndr type: string + raw_host_core_count_nta: + description: |- + Raw host core count used by nta + readOnly: true + title: |- + Raw host core count used by nta + type: string recommendation_sessions_total: description: |- Telemetry info about the 'recommendation_sessions_total' @@ -43878,7 +44142,7 @@ definitions: x-deprecated: true default_rule_id: description: | - Based on the value of the connectivity strategy, a default rule is + Based on the value of the connectivity_preference, a default rule is created for the security policy. The rule id is internally assigned by the system for this default rule. format: int64 @@ -43889,14 +44153,12 @@ definitions: logging_enabled: default: false description: | - This property is deprecated. - Flag to enable logging for all the rules in the security policy. - If the value is true then logging will be enabled for all the rules - in the security policy. If the value is false, then the rule level - logging value will be honored. + Deprecated. Flag to enable logging for all rules in this security policy. + If true, logging is enabled for all rules in the policy. If false, the individual + rule-level logging flag is honored. Use per-rule logging instead. readOnly: false title: |- - Enable logging flag + Enable logging flag (deprecated) type: boolean x-deprecated: true rules: @@ -44025,8 +44287,10 @@ definitions: Cluster container path type: string enforcement_point: - description: |- - Enforcement point to fetch the statistics from. + description: | + Path of the enforcement point for which statistics are reported. + On Global Manager, specifying an enforcement_point_path is mandatory. + On Local Manager, if omitted, statistics are aggregated across all enforcement points. readOnly: true title: |- Enforcement point path @@ -44075,8 +44339,8 @@ definitions: Security Profile attached to VPC type: string required: - - security_profile - attached_to + - security_profile type: object x-vmw-nsx-module: PolicyVpcSecurityProfile description: | @@ -44215,7 +44479,7 @@ definitions: This property is deprecated. The property will continue to work as expected for existing segments. The segments that are newly created with ls_id will be ignored. - Sepcify pre-creted logical switch id for Segment. + Specify pre-created logical switch id for Segment. title: |- Pre-created logical switch id for Segment type: string @@ -44236,10 +44500,10 @@ definitions: type: array overlay_id: description: | - Used for overlay connectivity of segments. The overlay_id - should be allocated from the pool as definied by enforcement-point. - If not provided, it is auto-allocated from the default pool on the - enforcement-point. + Optional. Overlay network identifier (VNI) for this segment. Must be allocated from + the pool defined by the enforcement point. If not specified, a VNI is automatically + allocated from the default pool on the enforcement point. Valid range: 0-2147483647. + Note: once set, changing the overlay_id on an existing segment is not supported. format: int32 maximum: 2147483647 minimum: 0 @@ -44290,12 +44554,14 @@ definitions: type: string vlan_ids: description: | - VLAN ids for a VLAN backed Segment. - Can be a VLAN id or a range of VLAN ids specified with '-' in between. + List of VLAN IDs or ranges for a VLAN-backed segment. Each element is either a + single VLAN ID (0-4094) or a contiguous range in the format 'start-end' + (e.g. '100-200'). Mixed arrays are supported (e.g. ['100', '200-300', '400']). + Required when creating a VLAN-backed segment; not applicable to overlay segments. items: type: string title: |- - VLAN ids for VLAN backed Segment + VLAN IDs for a VLAN-backed segment type: array type: object x-vmw-nsx-module: PolicyConnectivity @@ -45025,8 +45291,8 @@ definitions: - LEARNED type: string required: - - mac_type - mac_address + - mac_type type: object x-vmw-nsx-module: PolicyConnectivityStatistics x-vmw-nsx-module: PolicyConnectivityStatistics @@ -45046,8 +45312,8 @@ definitions: - LEARNED type: string required: - - mac_type - mac_address + - mac_type type: object x-vmw-nsx-module: PolicyConnectivityStatistics SegmentPortState: @@ -45939,8 +46205,8 @@ definitions: User name type: string required: - - j_username - j_password + - j_username title: |- Credentials used to authenticate to NSX type: object @@ -46080,8 +46346,8 @@ definitions: - SystemPlugin type: string required: - - plugin_path - enabled + - plugin_path - resource_type type: object x-vmw-nsx-module: PolicySha @@ -46424,8 +46690,8 @@ definitions: properties: index: description: | - Unqiue edge cluster node index across sites based on stretch of the - Gateway. For example, if a Gateway is streched to sites S1 with one + Unique edge cluster node index across sites based on stretch of the + Gateway. For example, if a Gateway is stretched to sites S1 with one edge cluster of 3 nodes and site S2 with one edge cluster of 2 nodes, the in the Global Manager will allocate the index for 5 edge nodes and 2 cluster in the rage 0 to 7. @@ -46701,10 +46967,10 @@ definitions: IP Tunnel interfaces type: array required: - - local_endpoint_path + - locale_service_path - peer_address - peer_id - - locale_service_path + - local_endpoint_path title: |- IPSecVpn Site Override Parameters type: object @@ -46753,8 +47019,8 @@ definitions: Site path of ELS server site mapping type: string required: - - site_path - els_servers + - site_path type: object x-vmw-nsx-module: PolicyIdentitySiteMapping description: | @@ -47106,7 +47372,7 @@ definitions: type: object x-vmw-nsx-module: PolicyFirewallConfiguration description: | - Idfw configuration for activate/deactivate idfw on standalone hosts. + Idfw configuration for activate/deactivate idfw on standalone host level. title: |- Standalone host idfw configuration x-vmw-nsx-module: PolicyFirewallConfiguration @@ -47163,8 +47429,8 @@ definitions: format: mac-address type: string required: - - mac_address - ip_address + - mac_address type: object x-vmw-nsx-module: PolicyConnectivity description: | @@ -47234,6 +47500,25 @@ definitions: allOf: - $ref: '#/definitions/PolicyConfigResource' - properties: + html_template: + description: | + The rendered HTML template for this block page, returned as a base64-encoded string. + Decode the value to obtain the raw HTML. This field is system-generated and read-only. + Example: original template <p>{0}</p> encodes to PHA+ezB9PC9wPg== + readOnly: true + title: |- + HTML template (base64-encoded) + type: string + html_template_with_message: + description: | + The rendered HTML template with the configured text_message already substituted, + returned as a base64-encoded string. Decode the value to obtain the raw HTML. + This field is system-generated and read-only. + Example: <p>Not allowed</p> encodes to PHA+Tm90IGFsbG93ZWQ8L3A+ + readOnly: true + title: |- + HTML template with message embedded (base64-encoded) + type: string text_message: description: |- text message. @@ -47376,8 +47661,8 @@ definitions: Next hop routes for network type: array required: - - next_hops - network + - next_hops type: object x-vmw-nsx-module: PolicyConnectivity description: |- @@ -47536,6 +47821,21 @@ definitions: title: |- DNS names type: array + emails: + description: |- + A list of email addresses in subject alternative names + items: + description: | + Email address string as defined by RFC 5321, used as an rfc822Name + Subject Alternative Name entry. + format: san-entry-email + type: string + maxItems: 64 + minItems: 1 + readOnly: true + title: |- + Email addresses + type: array ip_addresses: description: |- A list of IP addresses in subject alternative names @@ -47640,8 +47940,8 @@ definitions: format: int64 type: integer required: - - vlan_traffic_tag - subnet_path + - vlan_traffic_tag type: object x-vmw-nsx-module: PolicyVpcSubnet description: | @@ -48083,8 +48383,8 @@ definitions: tag: $ref: '#/definitions/Tag' required: - - path - status + - path - tag title: |- Status of tag bulk operation @@ -48401,7 +48701,7 @@ definitions: type: array disable_firewall: description: |- - Disable or enable gateway fiewall. + Disable or enable gateway firewall. title: |- Disable gateway firewall type: boolean @@ -48514,6 +48814,7 @@ definitions: Specify transit subnets that are used to assign addresses to logical links connecting tier-0 and tier-1s. Both IPv4 and IPv6 addresses are supported. When not specified, subnet 100.64.0.0/16 is configured by default. + Transit subnets must not overlap reserved internal subnets. When modifying, for stateful active-active Tier-0 number of IPs should be at least attached Tier-1s count * 16 and for other type of Tier-0 number of IPs should be at least attached Tier-1s count * 2. @@ -49153,6 +49454,8 @@ definitions: GFW_MULTICAST - Multicast on GFW GEOIP_MONITORING - Geo IP Monitoring MALWAREPREVENTION - Malware Prevention + Use any one of this to enable/disable it. + TLS - Transport Layer Security Inspection Use any one of this to enable/disabe it. enum: - IDFW @@ -49160,6 +49463,7 @@ definitions: - GFW_MULTICAST - GEOIP_MONITORING - MALWAREPREVENTION + - TLS type: string required: - feature @@ -49378,7 +49682,7 @@ definitions: type: array disable_firewall: description: |- - Disable or enable gateway fiewall. + Disable or enable gateway firewall. title: |- Disable gateway firewall type: boolean @@ -49412,7 +49716,7 @@ definitions: default: false description: | This field is deprecated and recommended to change Rule action field. - Note that this field is not synchornied with default rule field. + Note that this field is not synchronized with default rule field. title: |- Flag to add whitelisting FW rule during realization type: boolean @@ -50020,6 +50324,9 @@ definitions: - TLS_RSA_WITH_AES_256_CBC_SHA256 - TLS_RSA_WITH_AES_256_CBC_SHA - TLS_RSA_WITH_AES_128_CBC_SHA + - TLS_AES_256_GCM_SHA384 + - TLS_AES_128_GCM_SHA256 + - TLS_CHACHA20_POLY1305_SHA256 type: string maxItems: 128 title: |- @@ -50028,20 +50335,22 @@ definitions: client_max_tls_version: default: TLS_V1_2 description: |- - Client's maximum TLS version to enforce. Required if CryptoEnforcement is ENFORCE. Supported TLS versions are TLS1.1 and TLS1.2. + Client's maximum TLS version to enforce. Required if CryptoEnforcement is ENFORCE. Supported TLS versions are TLS1.1, TLS1.2 and TLS1.3. enum: - TLS_V1_2 - TLS_V1_1 - TLS_V1_0 + - TLS_V1_3 type: string client_min_tls_version: default: TLS_V1_1 description: |- - Client's minimum TLS version to enforce. Required if CryptoEnforcement is ENFORCE. Supported TLS versions are TLS1.1 and TLS1.2. + Client's minimum TLS version to enforce. Required if CryptoEnforcement is ENFORCE. Supported TLS versions are TLS1.1, TLS1.2 and TLS1.3. enum: - TLS_V1_2 - TLS_V1_1 - TLS_V1_0 + - TLS_V1_3 type: string crypto_enforcement: default: ENFORCE @@ -50119,6 +50428,9 @@ definitions: - TLS_RSA_WITH_AES_256_CBC_SHA256 - TLS_RSA_WITH_AES_256_CBC_SHA - TLS_RSA_WITH_AES_128_CBC_SHA + - TLS_AES_256_GCM_SHA384 + - TLS_AES_128_GCM_SHA256 + - TLS_CHACHA20_POLY1305_SHA256 type: string maxItems: 128 title: |- @@ -50127,20 +50439,22 @@ definitions: server_max_tls_version: default: TLS_V1_2 description: |- - Server's maximum TLS version to enforce. Required if CryptoEnforcement is ENFORCE. Supported versions are TLS1.1 and TLS1.2. + Server's maximum TLS version to enforce. Required if CryptoEnforcement is ENFORCE. Supported versions are TLS1.1, TLS1.2 and TLS1.3. enum: - TLS_V1_2 - TLS_V1_1 - TLS_V1_0 + - TLS_V1_3 type: string server_min_tls_version: default: TLS_V1_1 description: |- - Server's minimum TLS version to enforce. Required if CryptoEnforcement is ENFORCE. Supported versions are TLS1.1 and TLS1.2. + Server's minimum TLS version to enforce. Required if CryptoEnforcement is ENFORCE. Supported versions are TLS1.1, TLS1.2 and TLS1.3. enum: - TLS_V1_2 - TLS_V1_1 - TLS_V1_0 + - TLS_V1_3 type: string tls_config_setting: default: BALANCED @@ -50204,6 +50518,9 @@ definitions: - TLS_RSA_WITH_AES_256_CBC_SHA256 - TLS_RSA_WITH_AES_256_CBC_SHA - TLS_RSA_WITH_AES_128_CBC_SHA + - TLS_AES_256_GCM_SHA384 + - TLS_AES_128_GCM_SHA256 + - TLS_CHACHA20_POLY1305_SHA256 type: string maxItems: 128 title: |- @@ -50212,20 +50529,22 @@ definitions: client_max_tls_version: default: TLS_V1_2 description: |- - Client's maximum TLS version to enforce. Required if CryptoEnforcement is ENFORCE. Supported versions are TLS1.1 and TLS1.2. + Client's maximum TLS version to enforce. Required if CryptoEnforcement is ENFORCE. Supported versions are TLS1.1, TLS1.2 and TLS1.3. enum: - TLS_V1_2 - TLS_V1_1 - TLS_V1_0 + - TLS_V1_3 type: string client_min_tls_version: default: TLS_V1_1 description: |- - Client's minimum TLS version to enforce. Required if CryptoEnforcement is ENFORCE. Supported versions are TLS1.1 and TLS1.2. + Client's minimum TLS version to enforce. Required if CryptoEnforcement is ENFORCE. Supported versions are TLS1.1, TLS1.2 and TLS1.3. enum: - TLS_V1_2 - TLS_V1_1 - TLS_V1_0 + - TLS_V1_3 type: string crypto_enforcement: default: ENFORCE @@ -50297,6 +50616,9 @@ definitions: - TLS_RSA_WITH_AES_256_CBC_SHA256 - TLS_RSA_WITH_AES_256_CBC_SHA - TLS_RSA_WITH_AES_128_CBC_SHA + - TLS_AES_256_GCM_SHA384 + - TLS_AES_128_GCM_SHA256 + - TLS_CHACHA20_POLY1305_SHA256 type: string maxItems: 128 title: |- @@ -50305,20 +50627,22 @@ definitions: server_max_tls_version: default: TLS_V1_2 description: |- - Server's maximum TLS version to enforce. Required if CryptoEnforcement is ENFORCE. Supported versions are TLS1.0, TLS1.1 and TLS1.2 + Server's maximum TLS version to enforce. Required if CryptoEnforcement is ENFORCE. Supported versions are TLS1.0, TLS1.1, TLS1.2 and TLS1.3 enum: - TLS_V1_2 - TLS_V1_1 - TLS_V1_0 + - TLS_V1_3 type: string server_min_tls_version: default: TLS_V1_1 description: |- - Server's minimum TLS version to enforce. Required if CryptoEnforcement is ENFORCE. supported versions are TLS1.1 and TLS1.2. + Server's minimum TLS version to enforce. Required if CryptoEnforcement is ENFORCE. Supported versions are TLS1.1, TLS1.2 and TLS1.3. enum: - TLS_V1_2 - TLS_V1_1 - TLS_V1_0 + - TLS_V1_3 type: string tls_config_setting: default: BALANCED @@ -50921,6 +51245,15 @@ definitions: title: |- The name of the logical port into which the traceflow packet was delivered type: string + reason: + description: |- + This field specifies the deliver reason of traceflow packet. INT_PKT_EXCEED_VDS_MTU - When the traceflow packet traverse from ESX to VNA, the added INT telemetry headers push the frame size beyond the VDS MTU. + enum: + - INT_PKT_EXCEED_VDS_MTU + readOnly: true + title: |- + The reason traceflow packet was delivered + type: string resolution_type: description: |- This field specifies the resolution type of ARP ARP_SUPPRESSION_PORT_CACHE - ARP request is suppressed by IP table. ARP_SUPPRESSION_TABLE - ARP request is suppressed by ARP table. ARP_SUPPRESSION_CP_QUERY - ARP request is suppressed by info derived from CP. ARP_VM - No suppression and the ARP request is resolved by VM. ARP_LRP - No suppression and the ARP request is resolved by logical router. @@ -51133,7 +51466,7 @@ definitions: type: integer reason: description: |- - This field specifies the drop reason of traceflow packet. ARP_FAIL - ARP request fails for some reasons, please refer arp_fail_reason for detail BFD - BFD packet is dropped because traversed by non-operative interface or encountering internal error (e.g., memory insufficient) BROADCAST - Packet is dropped during traversing the interface (e.g., Edge uplink, Edge centralized service port) which disallow ethernet broadcast DHCP - DHCP packet is malformed DLB - The packet is disallowed by distributed load balancing FW_RULE - The packet matches a drop or reject rule of DFW or Edge firewall GENEVE - GENEVE packet is malformed GRE - GRE packet is malformed or traverses a non-operative interface IFACE - Packet traverses a non-operative interface IP - Packet is dropped because of IP related causes (e.g., ICMPv4/ICMPv6 packet is malformed, or DF flag is set but fragment must be performed for the packet) or corresponding interface is not found or inoperative IP_REASS - Packet is dropped during IP reassembly IPSEC - IPsec protocol related packet is dropped IPSEC_VTI - IPsec required SA is not found or traversing inoperative interface cause packet dropped L2VPN - VLAN id of GRE packet is invalid L4PORT - Layer 4 packet (e.g., BFD, DHCP) is dropped LB - Packet is dropped by load balancing rule LROUTER - Packet is dropped by logical router LSERVICE - Packet is malformed or traverses inoperative logical service interface LSWITCH - Packet is dropped by logical switch MANAGEMENT - Packet is dropped by Edge datapath MANAGEMENT service port MD_PROXY - Packet is dropped by metadata proxy NAT - Packet is dropped by NAT rule RTEP_TUNNEL - Unused drop reason ND_NS_FAIL - Neighbor Discovery packet fails NEIGH - ARP or Neighbor Discovery packet fails NO_EIP_FOUND - Destination IP is not an elastic IP NO_EIP_ASSOCIATION - Elastic IP is not associated with active edge VDR ENI NO_ENI_FOR_IP - There is no ENI found for the destination IP NO_ENI_FOR_LIF - Cannot find an ENI associated with uplink LIF NO_ROUTE - Cannot find route for destination IP NO_ROUTE_TABLE_FOUND - Cannot find associated route table NO_UNDERLAY_ROUTE_FOUND - Cannot find AWS route to destination NOT_VDR_DOWNLINK - Packet is not forwarded to VMC unmanaged VDR downlink NO_VDR_FOUND - VMC unmanaged VDR associated with Edge uplink is not found NO_VDR_ON_HOST - Cannot find VMC unmanaged VDR list on this host NOT_VDR_UPLINK - Packet is not forwarded to VDR uplink SERVICE_INSERT - Packet from guest VM to service VM or from service VM to guest VM is dropped by firewall rule SPOOFGUARD - Packet is blocked by SpoofGuard policy TTL_ZERO - The IPv4 time to live field of packet is zero. TUNNEL - Overlay tunnel management packet (VNI value of GENEVE header is 0, e.g., BFD) is dropped VLAN - VLAN id of packet is disallowed by the given port VXLAN - VXLAN packet is malformed or cannot find tunnel port for it VXSTT - Unused drop reason VMC_NO_RESPONSE - Failed to query VMC observations as no response from VMC app WRONG_UPLINK - Packet is not routed to the expected Edge uplink by VMC unmanaged VDR FW_STATE - Packet is dropped by stateful firewall NO_MAC - Drop by vswitch as no destination MAC hit MAC Table. FILTERED_UPLINK - Filtering applied at the corresponding UPLINK having no aggregation. IP_OUT_OF_SCOPE - An external IP is required if a packet from a non-public VPC subnet is trying to enter the external underlay network. DHCP_FORGED_MAC - The source MAC address of the DHCP packet sent to the DHCP server does not match the corresponding VIF MAC address of the source port. DHCP_IP_UNAVAILABLE - There is no DHCP client IP address available on the DHCP server. DHCP_IP_NOT_ALLOWED - The requested DHCP client IP address of the packet cannot be allocated from DHCP server. DHCP_INVALID_SERVER_IP_MAC - The DHCP packet is not destined to the DHCP server. NO_GATEWAY_CIDR_FOUND - There is no distributed connection for the source network of the packet to forward the packet to the physical gateway. CONNECTIVITY_POLICY - The packet is dropped due to violating communication rule of connectivity policy. HOP_LIMIT_ZERO - The IPv6 hop limit field of packet is zero. WRONG_SUBNET_GW_BLOCK - The packet is dropped by the gateway to enforce its confinement to the origin network of the VLAN extended subnet. The VLAN extended subnet is the terminology of both VPC overlay subnet and the extended VLAN network. ROUTE_DISTINGUISHER_MAC_RESOLUTION_FAILED - The MAC address of the route distinguisher fails to resolve. MAC_RPF_CHECK_FAILED - The packet is droped due to MAC-address-based reverse path forwarding check. This is to avoid the packet forwarding loops. + This field specifies the drop reason of traceflow packet. ARP_FAIL - ARP request fails for some reasons, please refer arp_fail_reason for detail BFD - BFD packet is dropped because traversed by non-operative interface or encountering internal error (e.g., memory insufficient) BROADCAST - Packet is dropped during traversing the interface (e.g., Edge uplink, Edge centralized service port) which disallow ethernet broadcast DHCP - DHCP packet is malformed DLB - The packet is disallowed by distributed load balancing FW_RULE - The packet matches a drop or reject rule of DFW or Edge firewall GENEVE - GENEVE packet is malformed GRE - GRE packet is malformed or traverses a non-operative interface IFACE - Packet traverses a non-operative interface IP - Packet is dropped because of IP related causes (e.g., ICMPv4/ICMPv6 packet is malformed, or DF flag is set but fragment must be performed for the packet) or corresponding interface is not found or inoperative IP_REASS - Packet is dropped during IP reassembly IPSEC - IPsec protocol related packet is dropped IPSEC_VTI - IPsec required SA is not found or traversing inoperative interface cause packet dropped L2VPN - VLAN id of GRE packet is invalid L4PORT - Layer 4 packet (e.g., BFD, DHCP) is dropped LB - Packet is dropped by load balancing rule LROUTER - Packet is dropped by logical router LSERVICE - Packet is malformed or traverses inoperative logical service interface LSWITCH - Packet is dropped by logical switch MANAGEMENT - Packet is dropped by Edge datapath MANAGEMENT service port MD_PROXY - Packet is dropped by metadata proxy NAT - Packet is dropped by NAT rule RTEP_TUNNEL - Unused drop reason ND_NS_FAIL - Neighbor Discovery packet fails NEIGH - ARP or Neighbor Discovery packet fails NO_EIP_FOUND - Destination IP is not an elastic IP NO_EIP_ASSOCIATION - Elastic IP is not associated with active edge VDR ENI NO_ENI_FOR_IP - There is no ENI found for the destination IP NO_ENI_FOR_LIF - Cannot find an ENI associated with uplink LIF NO_ROUTE - Cannot find route for destination IP NO_ROUTE_TABLE_FOUND - Cannot find associated route table NO_UNDERLAY_ROUTE_FOUND - Cannot find AWS route to destination NOT_VDR_DOWNLINK - Packet is not forwarded to VMC unmanaged VDR downlink NO_VDR_FOUND - VMC unmanaged VDR associated with Edge uplink is not found NO_VDR_ON_HOST - Cannot find VMC unmanaged VDR list on this host NOT_VDR_UPLINK - Packet is not forwarded to VDR uplink SERVICE_INSERT - Packet from guest VM to service VM or from service VM to guest VM is dropped by firewall rule SPOOFGUARD - Packet is blocked by SpoofGuard policy TTL_ZERO - The IPv4 time to live field of packet is zero. TUNNEL - Overlay tunnel management packet (VNI value of GENEVE header is 0, e.g., BFD) is dropped VLAN - VLAN id of packet is disallowed by the given port VXLAN - VXLAN packet is malformed or cannot find tunnel port for it VXSTT - Unused drop reason VMC_NO_RESPONSE - Failed to query VMC observations as no response from VMC app WRONG_UPLINK - Packet is not routed to the expected Edge uplink by VMC unmanaged VDR FW_STATE - Packet is dropped by stateful firewall NO_MAC - Drop by vswitch as no destination MAC hit MAC Table. FILTERED_UPLINK - Filtering applied at the corresponding UPLINK having no aggregation. IP_OUT_OF_SCOPE - An external IP is required if a packet from a non-public VPC subnet is trying to enter the external underlay network. DHCP_FORGED_MAC - The source MAC address of the DHCP packet sent to the DHCP server does not match the corresponding VIF MAC address of the source port. DHCP_IP_UNAVAILABLE - There is no DHCP client IP address available on the DHCP server. DHCP_IP_NOT_ALLOWED - The requested DHCP client IP address of the packet cannot be allocated from DHCP server. DHCP_INVALID_SERVER_IP_MAC - The DHCP packet is not destined to the DHCP server. NO_GATEWAY_CIDR_FOUND - There is no distributed connection for the source network of the packet to forward the packet to the physical gateway. CONNECTIVITY_POLICY - The packet is dropped due to violating communication rule of connectivity policy. HOP_LIMIT_ZERO - The IPv6 hop limit field of packet is zero. WRONG_SUBNET_GW_BLOCK - The packet is dropped by the gateway to enforce its confinement to the origin network of the VLAN extended subnet. The VLAN extended subnet is the terminology of both VPC overlay subnet and the extended VLAN network. ROUTE_DISTINGUISHER_MAC_RESOLUTION_FAILED - The MAC address of the route distinguisher fails to resolve. MAC_RPF_CHECK_FAILED - The packet is droped due to MAC-address-based reverse path forwarding check. This is to avoid the packet forwarding loops. ENCAP_PKT_EXCEED_VDS_MTU - The frame size of the encapsulated traceflow packet is larger than the VDS MTU. PKT_EXCEED_GW_MTU - The frame size of the traceflow packet is larger than the gateway interface MTU. ENCAP_PKT_EXCEED_RTEP_MTU - The frame size of the traceflow packet is larger than the remote tunnel endpoint MTU. enum: - ARP_FAIL - BFD @@ -51195,6 +51528,9 @@ definitions: - WRONG_SUBNET_GW_BLOCK - ROUTE_DISTINGUISHER_MAC_RESOLUTION_FAILED - MAC_RPF_CHECK_FAILED + - ENCAP_PKT_EXCEED_VDS_MTU + - PKT_EXCEED_GW_MTU + - ENCAP_PKT_EXCEED_RTEP_MTU readOnly: true title: |- The reason traceflow packet was dropped @@ -51207,6 +51543,12 @@ definitions: title: |- The ID of the connectivity policy that applies to the source of the packet type: integer + uplink_name: + description: |- + The uplink name where the traceflow packet is dropped + title: |- + The uplink name where the traceflow packet is dropped + type: string type: object x-vmw-nsx-module: Traceflow x-vmw-nsx-module: Traceflow @@ -52529,8 +52871,8 @@ definitions: type: array required: - port_mirroring_profile_path - - filter_encapsulated_packets - source_pnics + - filter_encapsulated_packets type: object x-vmw-nsx-module: PolicyMonitoringProfileBinding description: |- @@ -52652,8 +52994,8 @@ definitions: Interface Subnet object parameter type: array required: - - edge_path - source_address + - edge_path - tunnel_interface_subnet title: |- Tunnel Address request parameters @@ -52800,8 +53142,8 @@ definitions: Operator type: string required: - - operator - operand + - operator title: |- Unary Operation type: object @@ -52842,8 +53184,8 @@ definitions: Value type: string required: - - value - key + - value title: |- A key-value pair with no limitations on size type: object @@ -53040,8 +53382,8 @@ definitions: Matching criteria used for associating VMs type: string required: - - recovery_sites - protected_site + - recovery_sites type: object x-vmw-nsx-module: VMTagReplicationPolicy description: | @@ -53865,9 +54207,9 @@ definitions: type: string host_id: description: |- - Id of the host on which the vm exists. + Unique ID of the host where this VirtualNetworkInterface's VM resides. title: |- - Id of the host on which the vm exists. + Unique ID of the host where this VirtualNetworkInterface's VM resides. type: string ip_address_info: description: |- @@ -53921,12 +54263,12 @@ definitions: Id of the vm unique within the host. type: string required: - - external_id - - host_id - owner_vm_id - - mac_address - vm_local_id_on_host - device_key + - external_id + - mac_address + - host_id type: object x-vmw-nsx-module: Inventory x-vmw-nsx-module: Inventory @@ -54022,8 +54364,8 @@ definitions: Start value of VNI Pool range type: integer required: - - end - start + - end type: object x-vmw-nsx-module: PolicyConnectivity description: |- @@ -54073,10 +54415,10 @@ definitions: FQDN of vIDB type: string required: - - client_id - - vidb_certificate - root_certificate + - vidb_certificate - vidb_fqdn + - client_id type: object x-vmw-nsx-module: Policy description: | @@ -54377,6 +54719,7 @@ definitions: IPv4 or IPv6 address format: ip type: string + maxItems: 8 type: array required: - server_addresses @@ -55042,9 +55385,9 @@ definitions: Route targets type: array required: - - l2_vni - route_targets - route_distinguisher + - l2_vni type: object x-vmw-nsx-module: PolicyConnectivity VrfRouteTargets: @@ -55660,10 +56003,10 @@ definitions: Vsphere compute identifier for identifying VC server type: string required: - - compute_id - hostname - storage_id - vc_id + - compute_id - management_network_id type: object x-vmw-nsx-module: ClusterNodeVMDeployment @@ -56414,7 +56757,7 @@ host: nsxmanager.your.domain info: description: VMware NSX Global Policy REST API title: NSX Global Policy API - version: 9.1.0.0 + version: 9.1.1.0 parameters: {} paths: /aaa/features-with-properties: @@ -59689,7 +60032,7 @@ paths: "authentication_scheme":{ "scheme_name":"KEY", "username":"admin", - "identity_file":"-----BEGIN PRIVATE KEY-----\nMIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAQCfJGCSdJx+qKxt\nE4vmwdLYbFjeuYMNqC3YfB+6sWcqkkZc708zlIyl7Z3F4PE3THDWBo6gCCa3vi6E\nL8HRHUcl8HM4iZxUt352MEJkUuUtkn5tMI5phm9r6bZS736w+AsyYawcOpI24253\nuqPWRXv1VzFJBwk+lgBlzEuarcH7krimBfC1pJdyG7KsfPhTiwtgXA7b2Hz6p9Ub\nuozZ9A1OigyR6QbFKJ/Fl0EsmUinRsPFkeiijF3uQuTUPl0lhty+UY99GmmRQ0+v\nH2wKUbyh6+T4vmhBhVrBTqhCfIJrD6ZJin20AYJUxiu9SSdLq7HzMR4LnEe78/0T \nlGG7yP0jAgMBAAECggEAG94+bRcvmnyGKVm9a4zwk8axb1tUKE2Vra3azpIna0yP\nNtIPcAxo7tuj/9Vq2FCyB8DBNCQJR67trWdBjRGP9oRbYQC0GB/D7QV5cuETUf4v\n1oYkwjTxCRg1veNDr9DYARwajBzzotoD68KK00h6sxVwQ4YQZ93Ttv/mE3GvIRMj\nQN1s6VbFe7jUpEzfJO6/Mg4aRKrFEIp/5q7NRT4jwY4UBJlEC0I9zhrs4rnyIjWR\nLpazAmugcMQ4Uj8xaIDg4rb/KfjdiitivW+6AhXd49RLm6GXncXv1hwN6wZ1Punb\nxV8+xwt9BS5gwBuNASokjwOTswj+bxYXTsaxHPfjvQKBgQDMhsssUOhLJrohcGdR\n3dF/jeJZ6a+GMydBhiVdWHAhx1prEcjH65o0jpWefpk3XiJVcTtdhHtU8Qamm0xV\nVxaVd8W9LJZBRmjJ0VAzghBWzq4je3pw6JAIhVYL3bWzR74xVa9NiFXu8ZqLsJjw\nNlEPQ9vZQZwIDUOs1p9as7PUFQKBgQDHMY+8x/YyyYRhLCsqgdynV3Lc2J5Hk9bN \nqo604uhEAJTbHTZ7WwRAT9QNbIBJwx7j5z1m4MEUq0RFe+MDyW+ACxz+oIGrgmMe\nVcNdvlzQHGywo3BC5CvygU1RrSnu1pqeLk9Vo5KXTz3rAr59Icw54rw7BC7b2RqY\nSnmQUCTCVwKBgBjJ0YAagjzxgaeh3vPeJZEHGkL5fquOMZjQcGDi4hxF9CB79FC+ \nrl7mVR3zjBBY2WJvqdlIwEXoPH0e316MgpE1BgNKjx90MCkdtFG51s8el553Tby3\ngxV1S5t+kJIdBOEn2GpWNswR/kAl9DNQ8fweplurhwS2ztf43zF4DDiNAoGARpo1\nhUcm53dv2XVrU2S2DgY76zVIXLx07W7fqBOpGblPCZ8AGZb4GcdxtNRZYEutnj/v \nDpDpPuc5iptPqp7yS2MlAsdnTqAne7AQUCDSCt2YVL+JYdw4C3tzKVkEPOiJ4zks\n24Dfy4vFuY++buHU3kuURiLEbR41g/cZwWH2tX8CgYAaXJvi9UkNlYfcIzsTqnkC\nmEJt1keFgoD6U0VK2SWL65EL24s5bC81cVtQo6cuVRiAbKKyvcI0/qwnDqIRa9/J\nuakA4piJcmbae9qSNRdloIYdYKT4k7DRHoh45eB7ZKdCu76gUUllOAdr8DGF6xBr\nzHPHeBNiX4ORwTewAEf+VA==\n-----END PRIVATE KEY-----" + "identity_file":"-----BEGIN PRIVATE KEY-----\n\n-----END PRIVATE KEY-----" } }, "directory_path":"/nsx-backups" @@ -59713,7 +60056,7 @@ paths: "authentication_scheme":{ "scheme_name":"KEY", "username":"admin", - "identity_file":"-----BEGIN PRIVATE KEY-----\nMIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAQCfJGCSdJx+qKxt\nE4vmwdLYbFjeuYMNqC3YfB+6sWcqkkZc708zlIyl7Z3F4PE3THDWBo6gCCa3vi6E\nL8HRHUcl8HM4iZxUt352MEJkUuUtkn5tMI5phm9r6bZS736w+AsyYawcOpI24253\nuqPWRXv1VzFJBwk+lgBlzEuarcH7krimBfC1pJdyG7KsfPhTiwtgXA7b2Hz6p9Ub\nuozZ9A1OigyR6QbFKJ/Fl0EsmUinRsPFkeiijF3uQuTUPl0lhty+UY99GmmRQ0+v\nH2wKUbyh6+T4vmhBhVrBTqhCfIJrD6ZJin20AYJUxiu9SSdLq7HzMR4LnEe78/0T \nlGG7yP0jAgMBAAECggEAG94+bRcvmnyGKVm9a4zwk8axb1tUKE2Vra3azpIna0yP\nNtIPcAxo7tuj/9Vq2FCyB8DBNCQJR67trWdBjRGP9oRbYQC0GB/D7QV5cuETUf4v\n1oYkwjTxCRg1veNDr9DYARwajBzzotoD68KK00h6sxVwQ4YQZ93Ttv/mE3GvIRMj\nQN1s6VbFe7jUpEzfJO6/Mg4aRKrFEIp/5q7NRT4jwY4UBJlEC0I9zhrs4rnyIjWR\nLpazAmugcMQ4Uj8xaIDg4rb/KfjdiitivW+6AhXd49RLm6GXncXv1hwN6wZ1Punb\nxV8+xwt9BS5gwBuNASokjwOTswj+bxYXTsaxHPfjvQKBgQDMhsssUOhLJrohcGdR\n3dF/jeJZ6a+GMydBhiVdWHAhx1prEcjH65o0jpWefpk3XiJVcTtdhHtU8Qamm0xV\nVxaVd8W9LJZBRmjJ0VAzghBWzq4je3pw6JAIhVYL3bWzR74xVa9NiFXu8ZqLsJjw\nNlEPQ9vZQZwIDUOs1p9as7PUFQKBgQDHMY+8x/YyyYRhLCsqgdynV3Lc2J5Hk9bN \nqo604uhEAJTbHTZ7WwRAT9QNbIBJwx7j5z1m4MEUq0RFe+MDyW+ACxz+oIGrgmMe\nVcNdvlzQHGywo3BC5CvygU1RrSnu1pqeLk9Vo5KXTz3rAr59Icw54rw7BC7b2RqY\nSnmQUCTCVwKBgBjJ0YAagjzxgaeh3vPeJZEHGkL5fquOMZjQcGDi4hxF9CB79FC+ \nrl7mVR3zjBBY2WJvqdlIwEXoPH0e316MgpE1BgNKjx90MCkdtFG51s8el553Tby3\ngxV1S5t+kJIdBOEn2GpWNswR/kAl9DNQ8fweplurhwS2ztf43zF4DDiNAoGARpo1\nhUcm53dv2XVrU2S2DgY76zVIXLx07W7fqBOpGblPCZ8AGZb4GcdxtNRZYEutnj/v \nDpDpPuc5iptPqp7yS2MlAsdnTqAne7AQUCDSCt2YVL+JYdw4C3tzKVkEPOiJ4zks\n24Dfy4vFuY++buHU3kuURiLEbR41g/cZwWH2tX8CgYAaXJvi9UkNlYfcIzsTqnkC\nmEJt1keFgoD6U0VK2SWL65EL24s5bC81cVtQo6cuVRiAbKKyvcI0/qwnDqIRa9/J\nuakA4piJcmbae9qSNRdloIYdYKT4k7DRHoh45eB7ZKdCu76gUUllOAdr8DGF6xBr\nzHPHeBNiX4ORwTewAEf+VA==\n-----END PRIVATE KEY-----" + "identity_file":"-----BEGIN PRIVATE KEY-----\n\n-----END PRIVATE KEY-----" } }, "directory_path":"/nsx-backups" @@ -65159,12 +65502,10 @@ paths: consumes: - application/json description: | - Returns supported attribute and sub-attributes for specified - attribute key with their supported values, if provided in query/request - parameter, else will fetch all supported attributes and sub-attributes for - all supported attribute keys. - Alternatively, to get a list of supported attributes and sub-attributes fire the following REST API - GET https://<policy-mgr>/policy/api/v1/infra/context-profiles/attributes + Returns supported attributes and sub-attributes along with their allowed + values. When an attribute_key query parameter is supplied, only the + matching attribute and its sub-attributes are returned. When omitted, + all supported attribute keys and their corresponding values are returned. operationId: GlobalInfraListProfileSupportedAttributes parameters: - description: 'It fetches attributes and subattributes for the given attribute @@ -65783,17 +66124,15 @@ paths: consumes: - application/json description: | - Creates/Updates a PolicyContextProfile, which encapsulates attribute and - sub-attributes of network services. - Rules for using attributes and sub-attributes in single PolicyContextProfile - 1. One type of attribute can't have multiple occurrences. ( Eg. - - Attribute type APP_ID can be used only once per PolicyContextProfile.) - 2. For specifying multiple values for an attribute, provide them in an array. - 3. If sub-attribtes are mentioned for an attribute, then only single - value is allowed for that attribute. - 4. To get a list of supported attributes and sub-attributes fire the following REST API - GET https://<policy-mgr>/policy/api/v1/infra/context-profiles/attributes - 5. Do not create context profile with "custom_attributes" id + Creates a new Policy Context Profile or selectively updates the fields + provided in the request body of an existing one. + Rules for using attributes and sub-attributes in a single PolicyContextProfile: + 1. Each attribute key may appear only once per profile. (e.g. APP_ID + can be specified at most once.) + 2. Multiple values for an attribute must be supplied as an array. + 3. When sub-attributes are provided for an attribute, that attribute + must have exactly one value. + 4. The reserved id "custom_attributes" must not be used as a profile id. operationId: GlobalInfraPatchCreateOrUpdatePolicyContextProfile parameters: - in: path @@ -65853,7 +66192,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Create PolicyContextProfile + Create or partially update a Policy Context Profile tags: - Inventory - Context Profiles @@ -65902,17 +66241,16 @@ paths: consumes: - application/json description: | - Creates/Updates a PolicyContextProfile, which encapsulates attribute and - sub-attributes of network services. - Rules for using attributes and sub-attributes in single PolicyContextProfile - 1. One type of attribute can't have multiple occurrences. ( Eg. - - Attribute type APP_ID can be used only once per PolicyContextProfile.) - 2. For specifying multiple values for an attribute, provide them in an array. - 3. If sub-attribtes are mentioned for an attribute, then only single - value is allowed for that attribute. - 4. To get a list of supported attributes and sub-attributes fire the following REST API - GET https://<policy-mgr>/policy/api/v1/infra/context-profiles/attributes - 5. Do not create context profile with "custom_attributes" id + Creates a new Policy Context Profile or fully replaces an existing one. + The entire profile is replaced with the contents of the request body; + any fields not included in the request will be reset to their defaults. + Rules for using attributes and sub-attributes in a single PolicyContextProfile: + 1. Each attribute key may appear only once per profile. (e.g. APP_ID + can be specified at most once.) + 2. Multiple values for an attribute must be supplied as an array. + 3. When sub-attributes are provided for an attribute, that attribute + must have exactly one value. + 4. The reserved id "custom_attributes" must not be used as a profile id. operationId: GlobalInfraPutCreateOrUpdatePolicyContextProfile parameters: - in: path @@ -65976,7 +66314,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Create PolicyContextProfile + Create or replace a Policy Context Profile tags: - Inventory - Context Profiles @@ -69897,7 +70235,8 @@ paths: consumes: - application/json description: | - Read a domain. + Returns the configuration of a specific domain identified by the domain ID. + Domains are used to scope groups, security policies, and gateway policies. operationId: GlobalInfraReadDomainForInfra parameters: - description: |- @@ -69928,7 +70267,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Read domain + Read a domain by ID tags: - Policy - Domains @@ -72039,8 +72378,10 @@ paths: get: consumes: - application/json - description: |- - Read group + description: | + Returns the configuration of a specific group within a domain, identified + by domain ID and group ID. Groups define membership criteria for workloads and are + used as sources, destinations, and scopes in security policies. operationId: GlobalInfraReadGroupForDomain parameters: - description: |- @@ -72077,7 +72418,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Read group + Read a group by ID tags: - Inventory - Groups @@ -74431,10 +74772,10 @@ paths: get: consumes: - application/json - description: | - It retrieves member types for a given group. In case of nested groups, it calculates - member types of child groups as well. Considers member type for members added - via static members and dynamic membership criteria. + description: "It retrieves member types for a given group - based on the expression\ + \ used in the group or the definition of the \ngroup via static and dynamic\ + \ criteria. In case of nested groups, it calculates member types of child\ + \ groups as well.\n" operationId: GlobalInfraGetMemberTypesForGroup parameters: - description: |- @@ -74471,7 +74812,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Get member types for a given Group + Get member types for a given Group based on the expressions used in the group. tags: - Inventory - Groups @@ -76852,7 +77193,7 @@ paths: consumes: - application/json description: | - Update the IDS gateway policy for a domain. + Create or partially update a gateway intrusion detection policy for a domain. operationId: GlobalInfraPatchIdsGatewayPolicy parameters: - in: path @@ -76886,7 +77227,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Update IDS gateway policy + Patch a gateway IDS/IPS policy tags: - Security (North South) - Ips & Malware (Rules) @@ -76927,7 +77268,7 @@ paths: consumes: - application/json description: | - Update the IDS gateway policy for a domain. + Create or update a gateway intrusion detection policy for a domain. operationId: GlobalInfraCreateOrReplaceIdsGatewayPolicy parameters: - in: path @@ -76965,7 +77306,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Update IDS gateway policy + Create or update a gateway IDS/IPS policy tags: - Security (North South) - Ips & Malware (Rules) @@ -77228,8 +77569,10 @@ paths: get: consumes: - application/json - description: |- - Read IDS rule + description: | + Returns the configuration of a specific Intrusion Detection System (IDS) rule within + a gateway intrusion service policy. Gateway IDS rules inspect north-south traffic + passing through a Tier-1 or Tier-0 gateway for intrusion patterns. operationId: GlobalInfraReadIdsGatewayRule parameters: - in: path @@ -77266,7 +77609,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Read IDS rule + Read a gateway IDS/IPS intrusion detection rule by ID tags: - Security (North South) - Ips & Malware (Rules) @@ -77896,7 +78239,7 @@ paths: x-vmw-nsx-example-response: | { "resource_type": "IdsGatewayPolicy", - "description": "comm map revised", + "description": "ids gateway policy revised", "id": "cgw-1", "display_name": "cgw-1", "path": "/infra/domains/vmc/intrusion-service-gateway-policies/cgw-1", @@ -77905,7 +78248,7 @@ paths: "rules": [ { "resource_type": "Rule", - "description": " comm entry", + "description": " rule", "id": "ce-1", "display_name": "ce-1", "path": "/infra/domains/vmc/intrusion-service-gateway-policies/cgw1/rules/ce-1", @@ -78775,7 +79118,9 @@ paths: consumes: - application/json description: | - List intrusion detection rules. + Returns a paginated list of all Intrusion Detection System (IDS) rules within a + specific intrusion service policy. Rules are evaluated in sequence to detect and + prevent network intrusion attempts based on configured IDS profiles. operationId: GlobalInfraListIdsRules parameters: - description: |- @@ -78850,7 +79195,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - List IDS rules + List IDS/IPS intrusion detection rules in a policy tags: - Security (East West) - Ips & Malware (Rules) @@ -78948,7 +79293,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Delete IDS rule + Delete a distributed IDS/IPS rule tags: - Security (East West) - Ips & Malware (Rules) @@ -78962,7 +79307,8 @@ paths: consumes: - application/json description: | - Read intrusion detection rule + Returns the configuration of a specific distributed IDS/IPS rule within an intrusion + service policy, identified by domain ID, policy ID, and rule ID. operationId: GlobalInfraGetIdsRule parameters: - description: |- @@ -79005,7 +79351,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Get IDS rule. + Read a distributed IDS/IPS intrusion detection rule by ID tags: - Security (East West) - Ips & Malware (Rules) @@ -79063,7 +79409,7 @@ paths: consumes: - application/json description: |- - Patch intrusion detection system rule. + Create or partially update a distributed IDS/IPS intrusion detection rule. operationId: GlobalInfraPatchIdsRule parameters: - description: |- @@ -79107,7 +79453,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Patch IDS rule + Patch a distributed IDS/IPS rule tags: - Security (East West) - Ips & Malware (Rules) @@ -79134,7 +79480,7 @@ paths: consumes: - application/json description: |- - Update intrusion detection system rule. + Create or update a distributed IDS/IPS intrusion detection rule. operationId: GlobalInfraCreateOrUpdateIdsRule parameters: - description: |- @@ -79182,7 +79528,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - create or update IDS rule + Create or update a distributed IDS/IPS rule tags: - Security (East West) - Ips & Malware (Rules) @@ -79535,7 +79881,7 @@ paths: consumes: - application/json description: | - List all security policies for a domain. + List all distributed firewall (DFW) security policies for a domain. operationId: GlobalInfraListSecurityPoliciesForDomain parameters: - in: path @@ -79613,7 +79959,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - List security policies + List distributed firewall security policies tags: - Security (East West) - Distributed Firewall (Rules) @@ -79630,7 +79976,7 @@ paths: "results": [ { "resource_type": "SecurityPolicy", - "description": "comm map", + "description": "security policy", "id": "application-section-1", "display_name": "application-section-1", "path": "/infra/domains/vmc/security-policies/application-section-1", @@ -79672,7 +80018,7 @@ paths: consumes: - application/json description: | - Deletes the security policy along with all the rules + Delete a distributed firewall (DFW) security policy along with all its rules. operationId: GlobalInfraDeleteSecurityPolicyForDomain parameters: - in: path @@ -79701,7 +80047,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Deletes a security policy from this domain + Delete a distributed firewall security policy tags: - Security (East West) - Distributed Firewall (Rules) @@ -79715,7 +80061,7 @@ paths: consumes: - application/json description: | - Read security policy for a domain. + Read a distributed firewall (DFW) security policy for a domain. operationId: GlobalInfraReadSecurityPolicyForDomain parameters: - in: path @@ -79748,7 +80094,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Read security policy + Read a distributed firewall security policy tags: - Security (East West) - Distributed Firewall (Rules) @@ -79760,7 +80106,7 @@ paths: x-vmw-nsx-example-response: | { "resource_type": "SecurityPolicy", - "description": "comm map", + "description": "security policy", "id": "application-section-1", "display_name": "application-section-1", "path": "/infra/domains/vmc/security-policies/application-section-1", @@ -79769,7 +80115,7 @@ paths: "rules": [ { "resource_type": "Rule", - "description": " comm entry", + "description": " rule", "id": "ce-1", "display_name": "ce-1", "path": "/infra/domains/vmc/security-policies/application-section-1/rules/ce-1", @@ -79791,6 +80137,7 @@ paths: "/infra/services/HTTP", "/infra/services/CIM-HTTP" ], + "rule_id": 1003, "_create_user": "admin", "_create_time": 1517317382942, "_last_modified_user": "admin", @@ -79815,9 +80162,9 @@ paths: consumes: - application/json description: | - Patch the security policy for a domain. If a security policy for the given - security-policy-id is not present, the object will get created and if it is - present it will be updated. This is a full replace. + Create or partially update a distributed firewall (DFW) security policy for a domain. + If a security policy for the given security-policy-id is not present, the object will + get created and if it is present it will be updated. Performance Note: If you want to edit several rules in a security policy use this API. It will perform better than several individual rule APIs. Just pass all the rules which you wish to edit as embedded rules to it. @@ -79854,7 +80201,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Patch security policy + Patch a distributed firewall security policy tags: - Security (East West) - Distributed Firewall (Rules) @@ -79864,12 +80211,12 @@ paths: x-vmw-nsx-example-request: | PATCH https://<policy-mgr>/global-manager/api/v1/global-infra/domains/vmc/security-policies/application-section-1 { - "description": "comm map patched", + "description": "security policy patched", "display_name": "application-section-1", "category": "Application", "rules": [ { - "description": " comm entry", + "description": " rule", "display_name": "ce-1", "sequence_number": 1, "source_groups": [ @@ -79892,7 +80239,7 @@ paths: consumes: - application/json description: | - Create or Update the security policy for a domain. This is a full replace. + Create or update a distributed firewall (DFW) security policy for a domain. This is a full replace. All the rules are replaced. Performance Note: If you want to edit several rules in a security policy, use this API. It will perform better than several individual rule APIs. @@ -79934,7 +80281,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Create or Update security policy + Create or update a distributed firewall security policy tags: - Security (East West) - Distributed Firewall (Rules) @@ -79944,12 +80291,12 @@ paths: x-vmw-nsx-example-request: | PUT https://<policy-mgr>/global-manager/api/v1/global-infra/domains/vmc/security-policies/application-section-1 { - "description": "comm map", + "description": "security policy", "display_name": "application-section-1", "category": "Application", "rules": [ { - "description": " comm entry", + "description": " rule", "display_name": "ce-1", "sequence_number": 1, "source_groups": [ @@ -79970,7 +80317,7 @@ paths: x-vmw-nsx-example-response: | { "resource_type": "SecurityPolicy", - "description": "comm map", + "description": "security policy", "id": "application-section-1", "display_name": "application-section-1", "path": "/infra/domains/vmc/security-policies/application-section-1", @@ -79979,7 +80326,7 @@ paths: "rules": [ { "resource_type": "Rule", - "description": " comm entry", + "description": " rule", "id": "ce-1", "display_name": "ce-1", "path": "/infra/domains/vmc/security-policies/application-section-1/rules/ce-1", @@ -80001,6 +80348,7 @@ paths: "/infra/services/HTTP", "/infra/services/CIM-HTTP" ], + "rule_id": 1003, "_create_user": "admin", "_create_time": 1517317382942, "_last_modified_user": "admin", @@ -80026,8 +80374,9 @@ paths: get: consumes: - application/json - description: |- - List rules + description: | + Returns a list of all distributed firewall rules within a specific security + policy. operationId: GlobalInfraListSecurityRules parameters: - in: path @@ -80098,7 +80447,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - List rules + List distributed firewall rules in a security policy tags: - Security (East West) - Distributed Firewall (Rules) @@ -80115,7 +80464,7 @@ paths: "results": [ { "resource_type": "Rule", - "description": " comm entry", + "description": " rule", "id": "ce-1", "display_name": "ce-1", "path": "/infra/domains/vmc/security-policies/application-section-1/rules/ce-1", @@ -80137,6 +80486,7 @@ paths: "/infra/services/HTTP", "/infra/services/CIM-HTTP" ], + "rule_id": 1003, "_create_user": "admin", "_create_time": 1517317382942, "_last_modified_user": "admin", @@ -80153,7 +80503,7 @@ paths: consumes: - application/json description: |- - Delete rule + Delete a distributed firewall (DFW) rule from a security policy. operationId: GlobalInfraDeleteSecurityRule parameters: - in: path @@ -80186,7 +80536,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Delete rule + Delete a distributed firewall rule tags: - Security (East West) - Distributed Firewall (Rules) @@ -80199,8 +80549,9 @@ paths: get: consumes: - application/json - description: |- - Read rule + description: | + Returns the configuration of a specific distributed firewall rule within a security + policy. operationId: GlobalInfraReadSecurityRule parameters: - in: path @@ -80237,7 +80588,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Read rule + Read a distributed firewall rule by ID tags: - Security (East West) - Distributed Firewall (Rules) @@ -80249,7 +80600,7 @@ paths: x-vmw-nsx-example-response: | { "resource_type": "Rule", - "description": " comm entry", + "description": " rule", "id": "ce-1", "display_name": "ce-1", "path": "/infra/domains/vmc/security-policies/application-section-1/rules/ce-1", @@ -80271,6 +80622,7 @@ paths: "/infra/services/HTTP", "/infra/services/CIM-HTTP" ], + "rule_id": 1002, "_create_user": "admin", "_create_time": 1517317382942, "_last_modified_user": "admin", @@ -80284,9 +80636,9 @@ paths: consumes: - application/json description: | - Patch the rule. If Rule corresponding to the the given rule-id is - not present, the object will get created and if it is present it will be - updated. This is a full replace. + Create or partially update a distributed firewall (DFW) rule within a security policy. + If a rule with the given rule-id does not exist it will be created; otherwise only the + specified fields will be updated. Performance Note: If you want to edit several rules in a security policy, prefer below mentioned API for optimal performance. Pass all the rules which you wish to edit as embedded rules to it. @@ -80329,7 +80681,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Patch a rule + Patch a distributed firewall rule tags: - Security (East West) - Distributed Firewall (Rules) @@ -80339,7 +80691,7 @@ paths: x-vmw-nsx-example-request: | PATCH https://<policy-mgr>/global-manager/api/v1/global-infra/domains/vmc/security-policies/application-section-1/rules/ce-1 { - "description": " comm entry", + "description": " rule", "display_name": "ce-1", "sequence_number": 1, "source_groups": [ @@ -80362,8 +80714,9 @@ paths: consumes: - application/json description: | - Update the rule. Create new rule if a rule with the rule-id is not already - present. + Create or update a distributed firewall (DFW) rule within a security policy. + If a rule with the given rule-id does not exist it will be created; otherwise it will be + updated. Performance Note: If you wish to edit several rules in a security policy, prefer below mentioned API for optimal performance. Pass all the rules which you wish to edit as embedded rules to it. @@ -80410,7 +80763,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Create or update a rule + Create or update a distributed firewall rule tags: - Security (East West) - Distributed Firewall (Rules) @@ -80420,7 +80773,7 @@ paths: x-vmw-nsx-example-request: | PUT https://<policy-mgr>/global-manager/api/v1/global-infra/domains/vmc/security-policies/application-section-1/rules/ce-1 { - "description": "comm entry", + "description": "rule", "display_name": "ce-1", "sequence_number": 1, "source_groups": [ @@ -80442,7 +80795,7 @@ paths: x-vmw-nsx-example-response: | { "resource_type": "Rule", - "description": " comm entry", + "description": " rule", "id": "ce-1", "display_name": "ce-1", "path": "/infra/domains/vmc/security-policies/application-section-1/rules/ce-1", @@ -80459,11 +80812,12 @@ paths: "scope": [ "ANY" ], - "action": "ALLOW", + "action": "DROP", "services": [ "/infra/services/HTTP", "/infra/services/CIM-HTTP" ], + "rule_id": 1001, "_create_user": "admin", "_create_time": 1517317382942, "_last_modified_user": "admin", @@ -80573,7 +80927,8 @@ paths: consumes: - application/json description: | - This is used to re-order a rule within a security policy. + This is used to re-order a distributed firewall (DFW) rule within a security policy. + NOTE: Default rule sequence numbers cannot be modified. operationId: GlobalInfraReviseSecurityRule parameters: - in: path @@ -80636,7 +80991,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Revise the positioning of rule + Revise the positioning of a distributed firewall rule tags: - Security (East West) - Distributed Firewall (Rules) @@ -80646,7 +81001,7 @@ paths: x-vmw-nsx-example-request: | POST https://<policy-mgr>/global-manager/api/v1/global-infra/domains/vmc/security-policies/emergency-section/rules/ce-1?action=revise&anchor_path=/global-infra/domains/vmc/security-policies/emergency-section/rules/ce-2&operation=insert_after { - "description": " comm entry", + "description": " rule", "display_name": "ce-1", "path": "/global-infra/domains/vmc_domain/security-policies/emergency-section/rules/ce-1", "parent_path": "/global-infra/domains/vmc_domain/security-policies/emergency-section", @@ -80673,7 +81028,7 @@ paths: x-vmw-nsx-example-response: | { "resource_type": "Rule", - "description": " comm entry", + "description": " rule", "id": "ce-1", "display_name": "ce-1", "path": "/infra/domains/vmc/security-policies/application-section-1/rules/ce-1", @@ -80809,7 +81164,7 @@ paths: consumes: - application/json description: | - This is used to set a precedence of a security policy w.r.t others. + This is used to set a precedence of a distributed firewall (DFW) security policy w.r.t others. operationId: GlobalInfraReviseSecurityPolicies parameters: - in: path @@ -80868,7 +81223,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Revise the positioning of security policies + Revise the positioning of a distributed firewall security policy tags: - Security (East West) - Distributed Firewall (Rules) @@ -80878,12 +81233,12 @@ paths: x-vmw-nsx-example-request: | POST https://<policy-mgr>/global-manager/api/v1/global-infra/domains/vmc/security-policies/application-section-1?action=revise&anchor_path=/global-infra/domains/vmc/security-policies/emergency-section&operation=insert_before { - "description": "comm map revised", + "description": "security policy revised", "display_name": "application-section-1", "category":"Application", "rules": [ { - "description": " comm entry", + "description": " rule", "display_name": "ce-1", "sequence_number": 1, "source_groups": [ @@ -80904,7 +81259,7 @@ paths: x-vmw-nsx-example-response: | { "resource_type": "SecurityPolicy", - "description": "comm map", + "description": "security policy", "id": "application-section-1", "display_name": "application-section-1", "path": "/infra/domains/vmc/security-policies/application-section-1", @@ -80913,7 +81268,7 @@ paths: "rules": [ { "resource_type": "Rule", - "description": " comm entry", + "description": " rule", "id": "ce-1", "display_name": "ce-1", "path": "/infra/domains/vmc/security-policies/application-section-1/rules/ce-1", @@ -80935,6 +81290,7 @@ paths: "/infra/services/HTTP", "/infra/services/CIM-HTTP" ], + "rule_id": 1003, "_create_user": "admin", "_create_time": 1517317382942, "_last_modified_user": "admin", @@ -80960,8 +81316,8 @@ paths: get: consumes: - application/json - description: |- - List policy drafts. + description: | + Returns a paginated list of all DFW drafts. operationId: GlobalInfraListDrafts parameters: - description: 'If set to true, then only auto drafts will be get fetched. @@ -81034,7 +81390,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - List policy drafts + List all policy configuration drafts tags: - Security (East West) - Distributed Firewall (Drafts) @@ -81135,7 +81491,9 @@ paths: consumes: - application/json description: | - Read a draft for a given draft identifier. + Returns the configuration of a specific NSX policy draft identified by the draft ID. + Drafts allow administrators to stage and review configuration changes before publishing + them to the live environment. operationId: GlobalInfraReadDraft parameters: - in: path @@ -81164,7 +81522,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Read draft + Read a policy configuration draft by ID tags: - Security (East West) - Distributed Firewall (Drafts) @@ -81882,7 +82240,7 @@ paths: consumes: - application/json description: | - Read a draft and publish it by applying changes onto current configuration. + Publishes a draft by applying its staged configuration changes onto the live environment. If there are additional changes on top of draft configuration, pass it as a request body, in form of Infra object. Otherwise, if there are no additional changes, then pass empty Infra object as a request body. @@ -81915,7 +82273,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Publish a draft + Publish a policy draft and apply its changes tags: - Security (East West) - Distributed Firewall (Drafts) @@ -83924,7 +84282,7 @@ paths: consumes: - application/json description: | - Get the list of rules of given parent path of policy/section, filtered + Get the list of firewall rules of a given parent policy path, filtered based on the given criteria. Parent path is mandatory. operationId: GlobalInfraGetFilteredRules @@ -83997,7 +84355,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Get rules filtered based on the given criteria + Get firewall rules filtered by criteria tags: - Security - Firewall @@ -89426,8 +89784,13 @@ paths: - application/json description: | Delete IP Reputation site mapping from GM. On deletion of the site mapping for a given site, - site specific local default malicious security policies/rules will be enabled and the global ip - reputation default security policies will be removed from the site. + site-specific local default malicious security policies/rules will be enforced and the global + IP reputation default security policies will be removed from the site. + + Site Mapping Deletion/Unmapping Behavior: + - Inbound IP reputation rules are enabled after site unmapping to provide protection against + malicious inbound traffic + - Outbound IP reputation rules remain disabled after site unmapping. operationId: GlobalInfraDeleteIPReputationSiteMapping parameters: - description: |- @@ -89560,9 +89923,11 @@ paths: description: | Create IP reputation site mapping for a specific site. IP reputation site mapping provides a way for the user to control the management of IP reputation based security policies from GM. - Creation of site mapping for a site results in disabling IP reputation default security policies - on sites. Post creation of the site mapping the global default security policies from GM gets pushed - to the site. + + Site Mapping Creation Behavior: + - Creating site mapping for a site results in disabling both inbound and outbound IP reputation + default security policies on the site + - Post creation of the site mapping, the global default security policies from GM get pushed to the site Execution Context: - Endpoint: PATCH https:///global-manager/api/v1/global-infra/ip-reputation-site-mappings/ @@ -92550,15 +92915,78 @@ paths: The request is evaluated as follows: - <intent_path>: the request is evaluated on all enforcement points for the given intent without enforcement point specific details. - - <intent_path, include_enforced_status>: the request is evaluated on all enforcement points for - the given intent with enforcement point specific details. + - <intent_path, include_enforced_status=true>: the request is evaluated on all enforcement points + for the given intent with enforcement point specific details. This is only supported when intent_path + refers to an object of one of the following types: + SECURITY_POLICY, + GATEWAY_POLICY, + IDS_SECURITY_POLICY, + IDS_GATEWAY_POLICY, + IDS_COMPRESSED_SIGNATURE, + IDS_COMPRESSED_CUSTOM_SIGNATURE, + TLS_POLICY, + VPC_SECURITY_POLICY, + VPC_GATEWAY_POLICY, + PUBLIC_CLOUD_VPC_SECURITY_POLICY, + Passing the path of an unsupported type (e.g. a rule) with include_enforced_status=true + will result in an error. In such cases, pass the path of the parent policy object instead + (e.g., the SecurityPolicy or GatewayPolicy that contains the rule). operationId: GlobalInfraReadIntentStatus parameters: - default: false - description: 'Flag conveying whether to include detailed view of the enforcement - point specific + description: 'Flag conveying whether to include detailed per-transport-node + enforcement status + + in the response. + + When set to true, each item in consolidated_status_per_enforcement_point + is returned + + as ConsolidatedStatusNsxT (with the enforced_status field populated). + + When set to false (default), each item is returned as ConsolidatedStatusPerEnforcementPoint + + (enforced_status absent). + + Use the resource_type field in each item to distinguish between the two + types. + + This flag is only supported when intent_path refers to an object of one + of the + + following types: + + SECURITY_POLICY, + + GATEWAY_POLICY, + + IDS_SECURITY_POLICY, + + IDS_GATEWAY_POLICY, + + IDS_COMPRESSED_SIGNATURE, + + IDS_COMPRESSED_CUSTOM_SIGNATURE, + + TLS_POLICY, + + VPC_SECURITY_POLICY, + + VPC_GATEWAY_POLICY, + + PUBLIC_CLOUD_VPC_SECURITY_POLICY, + + COMMUNICATION_MAP (deprecated alias for SECURITY_POLICY), + + EDGE_COMMUNICATION_MAP (deprecated alias for GATEWAY_POLICY). + + Setting this flag for any other type (e.g. a rule path) will result in an + error. + + In such cases, pass the path of the parent policy object instead (e.g., + the - status or not. + SecurityPolicy or GatewayPolicy that contains the rule). ' in: query @@ -92622,6 +93050,7 @@ paths: }, "consolidated_status_per_enforcement_point": [ { + "resource_type": "ConsolidatedStatusNsxT", "enforced_status": { "enforced_status_info": { "enforced_status": { @@ -94096,14 +94525,17 @@ paths: get: consumes: - application/json - description: | - Read infra segment - Note: - Extended Segment: Please note that old vpn path deprecated. If user specify old l2vpn path in the - "l2_extension" object in the PATCH API payload, the path returned in the GET response payload may include the new path - instead of the deprecated l2vpn path. Both old and new l2vpn path refer to same resource. there is no functional impact. - Also note that l2vpn path included in the error messages returned from validation may include the new VPN path - instead of the deprecated l2vpn path. Both new path and old vpn path refer to same resource. + description: "Returns the configuration of a specific NSX network segment (logical\ + \ switch) identified\nby segment ID. Segments provide Layer 2 connectivity\ + \ for workloads and are connected to\na Tier-0 or Tier-1 gateway for Layer\ + \ 3 routing.\nNote: Extended Segment (L2VPN) \u2014 if an old vpn path was\ + \ specified in the l2_extension\nobject in a previous PATCH request, the GET\ + \ response may return the new canonicalized\npath instead of the original\ + \ path that was submitted.\n instead of the deprecated l2vpn path. Both old\ + \ and new l2vpn path refer to same resource. there is no functional impact.\n\ + \ Also note that l2vpn path included in the error messages returned from\ + \ validation may include the new VPN path\n instead of the deprecated l2vpn\ + \ path. Both new path and old vpn path refer to same resource.\n" operationId: GlobalInfraReadInfraSegment parameters: - description: |- @@ -94134,7 +94566,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Read infra segment + Read a network segment by ID tags: - Networking (Switching) - Segments @@ -99156,7 +99588,7 @@ paths: consumes: - application/json description: | - Return list of Services. + Returns a paginated list of all services. operationId: GlobalInfraListServicesForTenant parameters: - description: Opaque cursor to be used for getting next page of records (supplied @@ -99231,7 +99663,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - List Services + List all Services tags: - Inventory - Services @@ -99330,8 +99762,8 @@ paths: get: consumes: - application/json - description: |- - Read a service + description: | + Returns the configuration of a specific service identified by service ID. operationId: GlobalInfraReadServiceForTenant parameters: - description: |- @@ -99362,7 +99794,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Read a service + Read a service by ID tags: - Inventory - Services @@ -101749,7 +102181,7 @@ paths: consumes: - application/json description: |- - Get the current dfw firewall configurations. + Get the current Distributed Firewall (DFW) and Identity Firewall (IDFW) configurations. operationId: GlobalInfraGetDfwFirewallConfiguration produces: - application/json @@ -101773,7 +102205,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Get dfw firewall configuration + Get DFW and IDFW firewall configuration tags: - Security (East West) - Distributed Firewall (Settings) @@ -101808,7 +102240,7 @@ paths: consumes: - application/json description: | - Update dfw firewall related configurations. + Update Distributed Firewall (DFW) and Identity Firewall (IDFW) related configurations. Turning off distributed services ("enable_firewall": false) will turn off Distributed Firewall, Identity Firewall, Distributed Intrusion Detection and Prevention Service, Distributed Load Balancer. operationId: GlobalInfraPatchDfwFirewallConfiguration @@ -101836,7 +102268,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Update dfw firewall configuration + Update DFW and IDFW firewall configuration tags: - Security (East West) - Distributed Firewall (Settings) @@ -101854,7 +102286,7 @@ paths: consumes: - application/json description: | - Update dfw firewall related configurations. + Update Distributed Firewall (DFW) and Identity Firewall (IDFW) related configurations. Turning off distributed services ("enable_firewall": false) will turn off Distributed Firewall, Identity Firewall, Distributed Intrusion Detection and Prevention Service, Distributed Load Balancer. operationId: GlobalInfraPutDfwFirewallConfiguration @@ -101886,7 +102318,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Update dfw firewall configuration + Update DFW and IDFW firewall configuration tags: - Security (East West) - Distributed Firewall (Settings) @@ -101973,7 +102405,7 @@ paths: consumes: - application/json description: | - Read exclude list for firewall + Read the exclude list for the distributed firewall (DFW). Members in this list are excluded from DFW enforcement. operationId: GlobalInfraGetFirewallExcludeList produces: - application/json @@ -101997,7 +102429,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Read security policy exclude list + Read the distributed firewall exclude list tags: - Security (East West) - Distributed Firewall (Exclusion List) @@ -102253,7 +102685,7 @@ paths: consumes: - application/json description: | - Read security policy exclude list including system and user excluded members. + Read the distributed firewall (DFW) exclude list including both system-owned and user-defined excluded members. operationId: GlobalInfraGetInternalFirewallExcludeList produces: - application/json @@ -102277,7 +102709,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Read security policy exclude list including system and user excluded members + Read the distributed firewall exclude list including system and user excluded members tags: - Security (East West) - Distributed Firewall (Exclusion List) @@ -105087,6 +105519,8 @@ paths: consumes: - application/json description: | + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Trigger the process to collect all pcap files of all the pcap_ids mentioned in request payload. operationId: GlobalInfraExportIdsPcapFile parameters: @@ -105130,6 +105564,7 @@ paths: - on-prem x-vmw-nsx-example-request: | POST https://<policy-mgr>/global-manager/api/v1/global-infra/settings/firewall/security/intrusion-services/pcaps/export + x-vmw-nsx-experimental: true x-vmw-nsx-module: PolicyIDS /global-infra/settings/firewall/security/intrusion-services/pcaps/{file-name}/download: get: @@ -105788,6 +106223,29 @@ paths: x-vmw-nsx-deployment-modes: - vmc - on-prem + x-vmw-nsx-example-request: | + GET https://<policy-mgr>/global-manager/api/v1/global-infra/settings/firewall/security/intrusion-services/profiles/testProfile/effective-signatures + x-vmw-nsx-example-response: | + { + "signatures": [ + { + "signature_id": "2059955", + "revision": 2, + "action": "ALERT" + }, + { + "signature_id": "1064004", + "revision": 7056, + "action": "ALERT" + }, + { + "signature_id": "1134186", + "revision": 0, + "action": "ALERT" + } + ], + "profile_path": "/infra/settings/firewall/security/intrusion-services/profiles/testProfile" + } x-vmw-nsx-module: PolicyIDS /global-infra/settings/firewall/security/intrusion-services/signature-versions: get: @@ -110734,6 +111192,7 @@ paths: { "tz_type": "OVERLAY_BACKED", "is_default": true, + "is_security": false, "transport_zone_profile_paths": [ "/infra/transport-zone-profiles/tzp" ], @@ -110817,6 +111276,7 @@ paths: { "tz_type": "OVERLAY_BACKED", "is_default": true, + "is_security": false, "nested_nsx": false, "authorized_vlans": [ "5", @@ -122472,6 +122932,10 @@ paths: MALWAREPREVENTION - Malware Prevention + Use any one of this to enable/disable it. + + TLS - Transport Layer Security Inspection + Use any one of this to enable/disabe it. ' @@ -122481,6 +122945,7 @@ paths: - GFW_MULTICAST - GEOIP_MONITORING - MALWAREPREVENTION + - TLS in: query name: feature required: false @@ -122564,6 +123029,10 @@ paths: MALWAREPREVENTION - Malware Prevention + Use any one of this to enable/disable it. + + TLS - Transport Layer Security Inspection + Use any one of this to enable/disabe it. ' @@ -122573,6 +123042,7 @@ paths: - GFW_MULTICAST - GEOIP_MONITORING - MALWAREPREVENTION + - TLS in: query name: feature required: false @@ -130841,7 +131311,7 @@ paths: GEOIP_MONITORING - Geo IP Monitoring - Use any one of this to enable/disabe it. + Use any one of this to enable/disable it. ' enum: @@ -141251,7 +141721,8 @@ paths: "GATEWAY_TLS": "0", "GATEWAY_IDPS": "16", "GATEWAY_MPS": "16", - "NETWORK_DETECTION_RESPONSE": "160" + "NETWORK_DETECTION_RESPONSE": "160", + "NETWORK_TRAFFIC_ANALYSIS": "0" }, "licensed_core_count": { "DISTRIBUTED_FIREWALL": "2560", @@ -141265,7 +141736,8 @@ paths: "GATEWAY_TLS": "0", "GATEWAY_IDPS": "64", "GATEWAY_MPS": "64", - "NETWORK_DETECTION_RESPONSE": "2560" + "NETWORK_DETECTION_RESPONSE": "2560", + "NETWORK_TRAFFIC_ANALYSIS": "0" } }, "node_details" : [ { @@ -141385,8 +141857,8 @@ paths: x-vmw-nsx-example-request: | GET https://<nsx-mgr>/api/v1/licenses/security-usage?format=csv x-vmw-nsx-example-response: | - "raw_host_core_count_distributed_firewall","raw_host_core_count_distributed_intelligence","raw_host_core_count_distributed_ipfix","raw_host_core_count_distributed_baremetal","raw_host_core_count_distributed_intelligence_baremetal","raw_host_core_count_distributed_ipfix_baremetal","raw_host_core_count_distributed_idps","raw_host_core_count_distributed_mps",raw_host_core_count_ndr,"raw_edge_core_count_gateway_firewall","raw_edge_core_count_gateway_tls","raw_edge_core_count_gateway_idps","raw_edge_core_count_gateway_mps","dpu_core_count_all_editions","licensed_host_core_count_distributed_firewall","licensed_host_core_count_distributed_intelligence","licensed_host_core_count_distributed_ipfix","licensed_host_core_count_distributed_baremetal","licensed_host_core_count_distributed_intelligence_baremetal","licensed_host_core_count_distributed_ipfix_baremetal","licensed_host_core_count_distributed_idps","licensed_host_core_count_distributed_mps","licensed_host_core_count_ndr","licensed_edge_core_count_gateway_firewall","licensed_edge_core_count_gateway_tls","licensed_edge_core_count_gateway_idps","licensed_edge_core_count_gateway_mps","licensed_total_core_count_firewall_edition","licensed_total_core_count_firewall_atp_edition","max_raw_core_count_per_host","max_raw_core_count_per_socket","max_socket_count_per_host",num_edge_small_factor,num_edge_medium_factor,num_edge_large_factor,num_edge_xlarge_factor,"num_edge_baremetal_at_recommended_cores","num_edge_baremetal_at_minimum_cores",number_of_nsgroups,number_of_prepared_hosts,"number_of_virtual_machines","number_of_tier_0_gateways","number_of_tier_1_gateways",number_of_dfw_rules,number_of_firewall_rules,intelligence_deployed,"recommendation_sessions_total",napp_appliance_version,"number_of_ids_gateway_rules","number_of_ids_security_policies","mps_total_number_of_profiles","mps_number_of_dfw_ids_rules_with_custom_mps_profiles","mps_number_of_gateway_ids_rules_with_custom_mps_profiles",nta_enabled,nsx_manager_version,nsx_deployment_id,nsx_site_id,license_edition_type,license_key,"total_firewall_ipfix_profiles","host_number_of_host_node_cpu_cores","edge_number_of_edge_node_cpu_cores",last_update_timestamp - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,0,0,0,0,,0,0,0,0,0,,4,1,4,0,4,0,0,0,0,9,2,11,2,3,6,11,false,,,0,0,0,0,0,UNAVAILABLE,4.2.1.0.0.24181564,"f72e5056-17e3-43a1-87f6-b7e8f9ad31a1","d674048b-4dc5-48af-9932-3917c23b965a","[NSX Data Center Enterprise Plus|NSX for vSphere - Enterprise|NSX for vShield Endpoint]","[00000-00000-00000-00000-00000|1111-22222-33333-44444-55555]",,8,16,1723063385160 + "raw_host_core_count_distributed_firewall","raw_host_core_count_distributed_intelligence","raw_host_core_count_distributed_ipfix","raw_host_core_count_distributed_baremetal","raw_host_core_count_distributed_intelligence_baremetal","raw_host_core_count_distributed_ipfix_baremetal","raw_host_core_count_distributed_idps","raw_host_core_count_distributed_mps","raw_host_core_count_ndr","raw_host_core_count_nta","raw_edge_core_count_gateway_firewall","raw_edge_core_count_gateway_tls","raw_edge_core_count_gateway_idps","raw_edge_core_count_gateway_mps","dpu_core_count_all_editions","licensed_host_core_count_distributed_firewall","licensed_host_core_count_distributed_intelligence","licensed_host_core_count_distributed_ipfix","licensed_host_core_count_distributed_baremetal","licensed_host_core_count_distributed_intelligence_baremetal","licensed_host_core_count_distributed_ipfix_baremetal","licensed_host_core_count_distributed_idps","licensed_host_core_count_distributed_mps","licensed_host_core_count_ndr","licensed_host_core_count_nta","licensed_edge_core_count_gateway_firewall","licensed_edge_core_count_gateway_tls","licensed_edge_core_count_gateway_idps","licensed_edge_core_count_gateway_mps","licensed_total_core_count_firewall_edition","licensed_total_core_count_firewall_atp_edition","max_raw_core_count_per_host","max_raw_core_count_per_socket","max_socket_count_per_host",num_edge_small_factor,num_edge_medium_factor,num_edge_large_factor,num_edge_xlarge_factor,"num_edge_baremetal_at_recommended_cores","num_edge_baremetal_at_minimum_cores",number_of_nsgroups,number_of_prepared_hosts,"number_of_virtual_machines","number_of_tier_0_gateways","number_of_tier_1_gateways",number_of_dfw_rules,number_of_firewall_rules,intelligence_deployed,"recommendation_sessions_total",napp_appliance_version,"number_of_ids_gateway_rules","number_of_ids_security_policies","mps_total_number_of_profiles","mps_number_of_dfw_ids_rules_with_custom_mps_profiles","mps_number_of_gateway_ids_rules_with_custom_mps_profiles",nta_enabled,nsx_manager_version,nsx_deployment_id,nsx_site_id,license_edition_type,license_key,"total_firewall_ipfix_profiles","host_number_of_host_node_cpu_cores","edge_number_of_edge_node_cpu_cores",last_update_timestamp + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,0,0,0,0,0,,0,0,0,0,0,,4,1,4,0,4,0,0,0,0,9,2,11,2,3,6,11,false,,,0,0,0,0,0,UNAVAILABLE,4.2.1.0.0.24181564,"f72e5056-17e3-43a1-87f6-b7e8f9ad31a1","d674048b-4dc5-48af-9932-3917c23b965a","[NSX Data Center Enterprise Plus|NSX for vSphere - Enterprise|NSX for vShield Endpoint]","[00000-00000-00000-00000-00000|1111-22222-33333-44444-55555]",,8,16,1723063385160 x-vmw-nsx-module: SecurityLicenseUsage /licenses/vcf-licenses: post: @@ -142532,6 +143004,8 @@ paths: consumes: - application/json description: |- + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
DSL (Domain Specific Language) search API operationId: DslSearch parameters: @@ -142643,6 +143117,7 @@ paths: "result_count": 1, "cursor": "1" } + x-vmw-nsx-experimental: true x-vmw-nsx-module: Search /search/query: get: @@ -145147,187 +145622,187 @@ securityDefinitions: type: basic swagger: '2.0' tags: -- name: Roles -- name: Networking (Dns Forwarder) -- name: NAT Rules (Tier-0S) -- name: Edge Transport Nodes -- name: Tier-0S (Routing) -- name: Licenses -- name: Geo IP -- name: Tier-0S -- name: Distributed Firewall (Ip Reputation) -- name: Compliance -- name: Csrs -- name: Domains (Domain Deployment Maps) -- name: Distributed Firewall (Identity Firewall) -- name: Federation Configuration -- name: Distributed Firewall (Group/Service Associations) -- name: Sites -- name: NSX Managers (Api Services) -- name: User Authentication -- name: DNS Security Profile Bindings -- name: NAT Rules (Tier-1S) +- name: Labels +- name: Backup & Restore (Restore) +- name: Tier-0S (Locale Services) +- name: Gateway QOS Profiles - name: Segments (States) -- name: VIDM Configuration - name: Segments Profiles (Real Time Eth Profiles) -- name: Tier-1S (Arp Proxies) -- name: Sites (Security Settings) -- name: Security -- name: Networking (Vpn) -- name: Segments Profiles (Security Profiles) -- name: Transport Zone Profiles -- name: Flood Protection Profiles +- name: Global Configurations +- name: Segment Ports (States) +- name: Csrs +- name: Segments Profiles (Ip Discovery Profiles) +- name: Dashboard (Legacy Management Plane) +- name: Observability +- name: Security (North South) +- name: Settings (Enablement) +- name: NAT Statistics +- name: Gateway Firewall (Rules) +- name: Session Timer Profiles +- name: Tier-1S (Statistics) +- name: Tier-0S (Interface Groups) +- name: Users +- name: Transport Zones +- name: Networking (Network Services) +- name: DHCP Relay Configs +- name: Compliance - name: Advanced Threat Protection (Security Configuration) -- name: Group Members -- name: Troubleshooting -- name: DNS Zones -- name: Distributed Firewall (Drafts) +- name: Gateway Firewall (Settings) +- name: Tier-0S (Deployment Maps) +- name: Tier-0S +- name: Tier-0S (Community Lists) +- name: NAT Rules (Tier-1S) +- name: Distributed Firewall (Ip Reputation) +- name: Configuration +- name: IPV6 NDRA Profiles +- name: Segment Ports +- name: Segments (Arp Proxies) +- name: Ips & Malware (Rules) +- name: Ips & Malware (Dashboard) +- name: Ips & Malware (Statistics) +- name: Traceflow +- name: Networking (Dhcp) +- name: EVPN Tenant Configuration +- name: Domains +- name: Geo IP - name: Gateway Firewall (Tier-1S) -- name: Tier-0S (Dad States) +- name: DHCP Server Configs +- name: DNS Security Profiles +- name: DHCP Static Bindings (Segments) - name: Metadata Proxies -- name: Federation -- name: Certificates -- name: Gateway Firewall (Tier-0S) -- name: Networking -- name: Tier-0S (Forwarding Tables) -- name: User Management -- name: Tier-1S (Interface Groups) +- name: Enforcement Points +- name: Ips & Malware (Signatures) - name: Segments (Fixed) -- name: Ips & Malware (Rules) -- name: Tier-0S (Deployment Maps) +- name: Segment Ports (Mac Tables) +- name: Monitoring +- name: Security (East West) - name: Tier-1S (Forwarding Tables) -- name: Tier-0S (Interfaces) -- name: Distributed IDS (Signatures) -- name: Distributed Firewall (Tasks) -- name: Connectivity -- name: Distributed Firewall (Firewall Scheduler) -- name: Segment Ports (States) +- name: Tier-1S (Arp Proxies) +- name: NSX Managers (Api Services) +- name: Certificates +- name: ' Configuration (Partial Patch)' +- name: Segments +- name: Distributed Firewall (Statistics) +- name: Crls +- name: Global Gateway Configuration +- name: Federation +- name: Tier-0S (Static Routes BFD Peers) +- name: System (Administration) +- name: Tier-0S (Prefix Lists) +- name: Access Token +- name: Networking (Networking Profiles) +- name: Multi-Tenancy +- name: DHCP Static Bindings (Fixed Segments) +- name: User Authentication +- name: Licenses +- name: NSX Managers (Cluster) +- name: BFD Profiles +- name: Tier-0S (Routing Tables) +- name: Tier-1S +- name: User Management +- name: Domains (Domain Deployment Maps) - name: Tier-1S (Locale Services) -- name: Configuration -- name: Session Timer Profile Bindings -- name: Domains -- name: DHCP Leases +- name: System Administration +- name: Tier-0S (Route Maps) +- name: Policy +- name: Segments (Edge Bridge) +- name: Upgrade (Nodes) +- name: Cpu Memory Tresholds Profiles +- name: Tier-0S (Statistics) +- name: Tier-0S (Arp Proxies) - name: IPV6 DAD Profiles -- name: Tier-1S (States) -- name: Networking (Network Services) -- name: Segments (Mac Tables) -- name: Realized State -- name: Tier-0S (Static Routes BFD Peers) -- name: Ips & Malware (Statistics) -- name: System (Settings) -- name: Segments Profiles (Security Profile Bindings) -- name: Networking (Nat) -- name: Tier-0S (Bgp) -- name: DNS Security Profiles -- name: Edge Clusters -- name: Inter-Sites (Legacy Management Plane) -- name: EVPN Tenant Configuration -- name: Gateway QOS Profiles -- name: Networking (Switching) -- name: Tier-0S (Arp Tables) - name: Search API -- name: Observability -- name: User Management (Ldap) -- name: Distributed Firewall (Settings) -- name: Finetuning -- name: Distributed Firewall (Statistics) -- name: NSX Managers (Watermark) -- name: Global Configurations -- name: Tags -- name: Context Profiles - name: Constraints -- name: Tier-0S (Community Lists) -- name: System (Lifecycle Management) -- name: Tier-0S (Statistics) -- name: Multi-Tenancy -- name: Tier-0S (Route Maps) +- name: DNS Zones +- name: Distributed Firewall (Tasks) +- name: Transport Zone Profiles +- name: Networking (Dns Forwarder) +- name: Edge Transport Nodes +- name: Security (Security Profiles) +- name: Segments Profiles (Monitoring Profile Bindings) +- name: Context Profiles +- name: Segments Profiles (Mac Discovery Profiles) +- name: Networking (Routing) +- name: Inter-Sites (Legacy Management Plane) +- name: Tier-0S (States) +- name: Ips & Malware (Profiles) +- name: Sites +- name: Segments (Tep Tables) +- name: Finetuning +- name: Segments Profiles (Spoofguard Profiles) - name: Firewall -- name: Segments (Edge Bridge) -- name: BFD Profiles -- name: Ips & Malware (Dashboard) -- name: Networking (Dhcp) +- name: Malware Prevention +- name: Gateway Firewall (Tier-0S) - name: System (Fabric) -- name: Tier-0S (Inter-Vrfs) -- name: Session Timer Profiles -- name: System (Administration) -- name: Tier-1S (Statistics) +- name: Tier-1S (Dad States) - name: Ips & Malware (Intrusion Services) -- name: Settings (Enablement) -- name: Search -- name: Networking (Routing) -- name: Gateway Firewall (Settings) -- name: Security (North South) -- name: NAT Statistics -- name: Labels -- name: Global Gateway Configuration -- name: DHCP Relay Configs -- name: Full Synchronization -- name: Users -- name: IPV6 NDRA Profiles -- name: Segments Profiles (Mac Discovery Profiles) +- name: Edge Transport Node (Remote Tep) +- name: VIDM Configuration +- name: Tags - name: Ca Bundles -- name: Tier-0S (Interface Groups) -- name: System Administration -- name: Tier-1S (Dad States) -- name: Vm -- name: Services -- name: Enforcement Points -- name: Segments -- name: Tier-1S (Arp Tables) -- name: Tier-0S (Prefix Lists) +- name: Networking (Nat) +- name: Tier-0S (Forwarding Tables) +- name: Segments Profiles (Security Profiles) +- name: Distributed Firewall (Group/Service Associations) +- name: Security +- name: Tier-0S (Static Routes) +- name: API Services +- name: Connectivity - name: Distributed Firewall (Rules) -- name: Segments Profiles (Monitoring Profile Bindings) -- name: Segments (Statistics) -- name: Security (East West) -- name: Edge Transport Nodes (Nat Statistics) -- name: Tier-1S -- name: DHCP Static Bindings (Fixed Segments) -- name: Gateway Firewall (Rules) -- name: Monitoring -- name: Ips & Malware (Signatures) -- name: Ips & Malware (Profiles) -- name: Policy -- name: Segments Profiles (Spoofguard Profiles) -- name: Segment Ports -- name: Segments Profiles (Ip Discovery Profiles) -- name: Upgrade (Nodes) -- name: Inventory -- name: ' Configuration (Auto-Enable Gateway Firewall)' -- name: Dashboard (Legacy Management Plane) -- name: IPSEC (Statistics) +- name: Group Members +- name: Auto-Reject-Ip-Options-Gateway-Firewall +- name: Search - name: Tier-1S (Interfaces) -- name: Segment Ports (Mac Tables) -- name: Tier-1S (Static Routes) -- name: NSX Managers (Cluster) -- name: DHCP Static Bindings (Segments) -- name: Edge Transport Node (Remote Tep) -- name: Tier-0S (Locale Services) -- name: Malware Prevention -- name: Onboarding -- name: Networking (Networking Profiles) -- name: Access Token +- name: Tier-1S (Arp Tables) +- name: Troubleshooting +- name: Networking (Switching) +- name: Federation Configuration +- name: Edge Clusters +- name: Networking (Vpn) +- name: DHCP Leases +- name: Tier-1S (States) +- name: Segments (Statistics) - name: Groups -- name: Auto-Reject-Ip-Options-Gateway-Firewall -- name: Tier-0S (States) -- name: Security (Security Profiles) -- name: Segments Profiles (Discovery Profiles) -- name: Segments (Arp Proxies) -- name: Hierarchical API -- name: Transport Zones +- name: Segments Profiles (Qos Profiles) +- name: Distributed Firewall (Firewall Scheduler) +- name: DNS Security Profile Bindings +- name: Realized State +- name: Flood Protection Profiles +- name: Tier-0S (Dad States) +- name: User Management (Ldap) +- name: Services - name: Flood Protection Profile Bindings -- name: ' Configuration (Partial Patch)' -- name: Segments (Tep Tables) -- name: Crls -- name: Backup & Restore (Restore) -- name: Tier-0S (Static Routes) -- name: Cpu Memory Tresholds Profiles -- name: Tier-0S (Routing Tables) +- name: Edge Transport Nodes (Nat Statistics) +- name: Networking +- name: Sites (Security Settings) +- name: Onboarding +- name: Tier-0S (Bgp) - name: Global Managers - name: Distributed Firewall (Exclusion List) +- name: Full Synchronization +- name: Tier-0S (Routing) +- name: Segments Profiles (Discovery Profiles) +- name: Hierarchical API +- name: Distributed Firewall (Drafts) +- name: System (Settings) +- name: Tier-1S (Static Routes) +- name: Distributed Firewall (Settings) +- name: Tier-1S (Interface Groups) +- name: Tier-0S (Arp Tables) +- name: IPSEC (Statistics) +- name: Session Timer Profile Bindings +- name: Distributed IDS (Signatures) +- name: Roles +- name: Tier-0S (Inter-Vrfs) +- name: Distributed Firewall (Identity Firewall) - name: Tier-1S (Routing) -- name: API Services +- name: Segments (Mac Tables) +- name: NAT Rules (Tier-0S) +- name: System (Lifecycle Management) - name: Ips & Malware (Settings) -- name: Traceflow -- name: DHCP Server Configs -- name: Segments Profiles (Qos Profiles) -- name: Tier-0S (Arp Proxies) +- name: Inventory +- name: ' Configuration (Auto-Enable Gateway Firewall)' +- name: NSX Managers (Watermark) +- name: Segments Profiles (Security Profile Bindings) +- name: Vm +- name: Tier-0S (Interfaces) diff --git a/specifications/nsx/openapi-2.0/nsx_policy_api.yaml b/specifications/nsx/openapi-2.0/nsx_policy_api.yaml index 102d15f..29dc4e4 100644 --- a/specifications/nsx/openapi-2.0/nsx_policy_api.yaml +++ b/specifications/nsx/openapi-2.0/nsx_policy_api.yaml @@ -29,8 +29,8 @@ definitions: username type: string required: - - username - hours + - username title: |- Auth Token type: object @@ -1032,8 +1032,8 @@ definitions: Username type: string required: - - user_credential_type - username + - user_credential_type title: |- ALBControllerServiceUserCredential type: object @@ -1066,8 +1066,8 @@ definitions: Username type: string required: - - user_credential_type - username + - user_credential_type title: |- ALBControllerUserCredentialResponse type: object @@ -1109,10 +1109,10 @@ definitions: VCenter URL type: string required: - - cloud_name - vcenter_url - - vcenter_credentials_name - name + - cloud_name + - vcenter_credentials_name title: |- ALBControllerVcenterServerCreationRequest type: object @@ -1123,9 +1123,8 @@ definitions: - properties: alg: description: | - The Application Layer Gateway (ALG) protocol. - Please note, protocol NBNS_BROADCAST and NBDG_BROADCAST are deprecated. - Please use UDP protocol and create L4 Port Set type of service instead. + The Application Layer Gateway (ALG) protocol for this service entry. NBNS_BROADCAST + and NBDG_BROADCAST are deprecated; use a UDP L4PortSetServiceEntry instead. enum: - ORACLE_TNS - FTP @@ -1137,7 +1136,7 @@ definitions: - NBDG_BROADCAST - TFTP title: |- - The Application Layer Gateway (ALG) protocol + Application Layer Gateway (ALG) protocol type: string destination_ports: description: |- @@ -1163,8 +1162,8 @@ definitions: maxItems: 15 type: array required: - - alg - destination_ports + - alg type: object x-vmw-nsx-module: Policy description: |- @@ -1639,8 +1638,8 @@ definitions: format: mac-address type: string required: - - mac - ip + - mac title: |- IP and MAC address type: object @@ -2793,7 +2792,7 @@ definitions: hostname: description: | Desired host name/FQDN for the Avi Load Balancer Controller node to be deployed. - format: hostname-or-ip + pattern: /^(?=.{1,255}$)[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?(?:\.[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?)*?$/ title: |- Host name or FQDN for the Avi Load Balancer Controller node type: string @@ -2851,10 +2850,10 @@ definitions: vSphere compute identifier for identifying VC server type: string required: + - compute_id - vc_id - - hostname - management_network_id - - compute_id + - hostname - storage_id type: object x-vmw-nsx-module: PolicyALBControllerDeployment @@ -4057,8 +4056,8 @@ definitions: format: ipv4 type: string required: - - dst_ip - op_code + - dst_ip type: object x-vmw-nsx-module: Traceflow ArpSnoopingConfig: @@ -4211,8 +4210,8 @@ definitions: Collection of provided auto update timeStamps. type: string required: - - polling_interval - feature + - polling_interval type: object x-vmw-nsx-module: ATPSecurityConfiguration description: | @@ -5016,8 +5015,8 @@ definitions: True if backup is successfully completed, else false type: boolean required: - - success - backup_id + - success title: |- Backup operation status type: object @@ -5035,9 +5034,9 @@ definitions: restore_status: $ref: '#/definitions/ClusterRestoreStatus' required: - - restore_status - - current_backup_operation_status - backup_operation_history + - current_backup_operation_status + - restore_status - backup_config type: object x-vmw-nsx-module: BackupConfiguration @@ -5306,9 +5305,16 @@ definitions: Enforcement Point Id type: string resource_type: + description: |- + The type of this resource. + Value is "ConsolidatedStatusPerEnforcementPoint" for basic status, + or "ConsolidatedStatusNsxT" when detailed enforced status is included. enum: - ConsolidatedStatusPerEnforcementPoint - ConsolidatedStatusNsxT + readOnly: true + title: |- + Resource Type type: string site_path: description: |- @@ -5321,8 +5327,9 @@ definitions: - resource_type type: object x-vmw-nsx-module: PolicyRealizedState - description: | - Consolidated Realized Status Per Enforcement Point. + description: |- + Base type for Consolidated Realized Status Per Enforcement Point. + This type serves as the base for NSX-T specific consolidated status. title: |- Base class for ConsolidatedStatusPerEnforcementPoint x-vmw-nsx-module: PolicyRealizedState @@ -5511,13 +5518,13 @@ definitions: - properties: destination_groups: description: | - We need paths as duplicate names may exist for groups under different - domains. Along with paths we support IP Address of type IPv4 and IPv6. - IP Address can be in one of the format(CIDR, IP Address, Range of IP Address). - In order to specify all groups, use the constant "ANY". This - is case insensitive. If "ANY" is used, it should be the ONLY element - in the group array. Error will be thrown if ANY is used in conjunction - with other values. + Specifies the destinations to match for this rule. This field accepts Group paths + (e.g., "/infra/domains/default/groups/db-vms") or direct IP addresses. + Group paths reference Group objects that define collections of workloads. + IP addresses can be specified in CIDR notation, as individual addresses, or as ranges. + Use the constant "ANY" to match all destinations. "ANY" is case-insensitive and must be + the ONLY element in the array if used. An error will be thrown if "ANY" is used + in conjunction with other values. items: type: string maxItems: 128 @@ -5537,7 +5544,10 @@ definitions: direction: default: IN_OUT description: | - Define direction of traffic. + Specifies the direction of traffic to which this rule applies: + - IN: Applies to incoming traffic only (traffic coming into the workload) + - OUT: Applies to outgoing traffic only (traffic leaving the workload) + - IN_OUT: Applies to both incoming and outgoing traffic (default) enum: - IN - OUT @@ -5584,8 +5594,8 @@ definitions: notes: description: | User level field which will be printed in CLI and packet logs. - Even though there is no limitation on length of the notes, internally - notes will get truncated after 39 characters. + The notes field accepts up to 2048 characters. Internally, + notes are truncated after 39 characters in CLI and packet logs. maxLength: 2048 readOnly: false title: |- @@ -5593,24 +5603,34 @@ definitions: type: string profiles: description: | - Holds the list of layer 7 service profile paths. These profiles accept - attributes and sub-attributes of various network services - (e.g. L4 AppId, encryption algorithm, domain name, etc) as key value - pairs. Instead of Layer 7 service profiles you can use a L7 access profile. - One of either Layer 7 service profiles or L7 Access Profile can be used in firewall rule. - In case of L7 access profile only one is allowed. + Paths to context profile objects (PolicyContextProfile) or L7 access profile + objects (L7AccessProfile) for advanced traffic inspection and filtering. + These profiles enable matching on Layer 7 attributes and sub-attributes of + network services such as: + - Application IDs (AppId) + - Encryption algorithms and TLS versions + - Domain names and URLs + - HTTP methods + - CIFS/SMB versions + You can use either context profiles (PolicyContextProfile) or an + L7 access profile (L7AccessProfile), but not both. + When using an L7 access profile, only one profile path is allowed. items: type: string maxItems: 128 title: |- - Layer 7 service profiles or TLS action profile + Context profiles or L7 access profile paths type: array rule_id: - description: "This is a unique 4 byte positive number that is assigned by\ - \ the system. \nThis rule id is passed all the way down to the data path.\ - \ The first 1GB\n(1000 to 2^30) will be shared by GM and LM with zebra\ - \ style striped\nnumber space. For E.g 1000 to (1Million -1) by LM, (1M\ - \ - 2M-1) by GM\nand so on.\n" + description: "This is a unique positive integer identifier assigned by the\ + \ system for each rule.\nThe rule_id is passed down to the data path for\ + \ rule matching and statistics.\nThe system allocates rule IDs from a\ + \ shared number space between Global Manager (GM) \nand Local Manager\ + \ (LM) using a zebra-style striped allocation:\n- 1000 to 999,999: allocated\ + \ by LM\n- 1,000,000 to 1,999,999: allocated by GM\n- 2,000,000 to 2,999,999:\ + \ allocated by LM\n- And so on, alternating in ranges of 1 million\nThe\ + \ rule_id is typically a small integer (1-4 digits for most deployments)\ + \ rather \nthan utilizing the full 32-bit range.\n" format: int64 readOnly: true title: |- @@ -5618,61 +5638,63 @@ definitions: type: integer scope: description: | - The list of policy paths where the rule is applied - LR/Edge/T0/T1/LRP etc. Note that a given rule can be applied - on multiple LRs/LRPs. + The list of group paths to which the rule applies. This determines + which workloads (VMs, containers, etc.) the rule is enforced on. + For Gateway Firewall rules, this can also include Tier-0, Tier-1, + or interface paths to specify where the rule is enforced. + Note that a given rule can be applied to multiple groups or network entities. items: type: string maxItems: 128 type: array sequence_number: description: | - This field is used to resolve conflicts between multiple - Rules under Security or Gateway Policy for a Domain - If no sequence number is specified in the payload, a value of 0 is - assigned by default. If there are multiple rules with the same - sequence number then their order is not deterministic. If a specific - order of rules is desired, then one has to specify unique sequence - numbers or use the POST request on the rule entity with - a query parameter action=revise to let the framework assign a - sequence number + This field is used to resolve conflicts between multiple Rules under a Security + or Gateway Policy for a Domain. Rules are evaluated in ascending sequence number + order. If no sequence number is specified in the payload, the system assigns a + default value of 0. If there are multiple rules with the same sequence number + then their order is not deterministic. If a specific order of rules is desired, + specify unique sequence numbers or use the POST request on the rule entity with + a query parameter action=revise to let the framework assign a sequence number. format: int32 minimum: 0 title: |- - Sequence number of the this Rule + Sequence number of this Rule type: integer service_entries: description: | - In order to specify raw services this can be used, - along with services which contains path to services. + Can be used to specify raw service entries inline, + along with "services", which contains paths to services. This can be empty or null. items: $ref: '#/definitions/ServiceEntry' maxItems: 128 title: |- - Raw services + Raw service entries type: array services: description: | + Paths to Service objects (e.g., "/infra/services/HTTP") that define + the network services (protocols and ports) to which this rule applies. In order to specify all services, use the constant "ANY". - This is case insensitive. If "ANY" is used, it should + This is case-insensitive. If "ANY" is used, it should be the ONLY element in the services array. Error will be thrown if ANY is used in conjunction with other values. items: type: string maxItems: 128 title: |- - Names of services + Service paths type: array source_groups: description: | - We need paths as duplicate names may exist for groups under different - domains. Along with paths we support IP Address of type IPv4 and IPv6. - IP Address can be in one of the format(CIDR, IP Address, Range of IP Address). - In order to specify all groups, use the constant "ANY". This - is case insensitive. If "ANY" is used, it should be the ONLY element - in the group array. Error will be thrown if ANY is used in conjunction - with other values. + Specifies the sources to match for this rule. This field accepts Group paths + (e.g., "/infra/domains/default/groups/web-vms") or direct IP addresses. + Group paths reference Group objects that define collections of workloads. + IP addresses can be specified in CIDR notation, as individual addresses, or as ranges. + Use the constant "ANY" to match all sources. "ANY" is case-insensitive and must be + the ONLY element in the array if used. An error will be thrown if "ANY" is used + in conjunction with other values. items: type: string maxItems: 128 @@ -5702,7 +5724,7 @@ definitions: description: |- A rule indicates the action to be performed for various types of traffic flowing between workload groups. title: |- - A rule represent base properties for ,dfw, forwarding, redirection rule + A rule represents base properties for DFW, GFW, forwarding, and redirection rules x-vmw-nsx-module: Policy BaseRuleListResult: allOf: @@ -5805,8 +5827,8 @@ definitions: Internal uri of the call type: string required: - - method - uri + - method title: |- A single request within a batch of operations type: object @@ -7081,9 +7103,9 @@ definitions: Policy path of the VLAN transport zone assigned to the underlay L2 zone for bridging. type: string required: - - vlan_transport_zone_path - - bridge_profile_path - vlan_ids + - bridge_profile_path + - vlan_transport_zone_path type: object x-vmw-nsx-module: PolicyVpcSubnet description: |- @@ -7245,8 +7267,8 @@ definitions: Policy path of the VLAN transport zone assigned to the underlay L2 zone for bridging. type: string required: - - bridge_profile_path - vlan_ids + - bridge_profile_path title: |- Bridge Profile Configuration type: object @@ -7442,13 +7464,13 @@ definitions: Object type for which usage is fetched type: string required: - - min_threshold_percentage - - max_threshold_percentage - - current_usage_percentage - - severity - - current_usage_count - usage_type - display_name + - current_usage_percentage + - current_usage_count + - max_threshold_percentage + - min_threshold_percentage + - severity - max_supported_count type: object x-vmw-nsx-module: CapacityDashboard @@ -7479,9 +7501,9 @@ definitions: Object type for which threshold is to be set type: string required: + - threshold_type - min_threshold_percentage - max_threshold_percentage - - threshold_type type: object x-vmw-nsx-module: CapacityDashboard CapacityThresholdList: @@ -7521,9 +7543,9 @@ definitions: Minimum global threshold percentage type: number required: - - max_global_threshold_percentage - - last_updated_timestamp - min_global_threshold_percentage + - last_updated_timestamp + - max_global_threshold_percentage type: object x-vmw-nsx-module: CapacityDashboard CapacityUsageResponse: @@ -7553,8 +7575,8 @@ definitions: Unreported usage types type: array required: - - capacity_usage - meta_info + - capacity_usage type: object x-vmw-nsx-module: CapacityDashboard x-vmw-nsx-module: CapacityDashboard @@ -7574,8 +7596,7 @@ definitions: ha_mode: default: ACTIVE_STANDBY description: | - High-availability mode for the transit gateway centralized services (gateway connections, VPN). - Values ACTIVE_ACTIVE and ACTIVE_STANDBY. + High-availability mode enum: - ACTIVE_ACTIVE - ACTIVE_STANDBY @@ -7602,20 +7623,20 @@ definitions: - properties: results: description: |- - Transit gateway centralized service configuration list results + Transit gateway centralized config list results items: $ref: '#/definitions/CentralizedConfig' title: |- - Transit gateway centralized service configuration list results + Transit gateway centralized config list results type: array required: - results type: object x-vmw-nsx-module: PolicyTransitGateway description: |- - List of transit gateway centralized service configurations + List of transit gateway centralized configs title: |- - List of transit gateway centralized service configurations + List of transit gateway centralized configs x-vmw-nsx-module: PolicyTransitGateway CheckpointCounter: properties: @@ -7855,9 +7876,9 @@ definitions: type: object x-vmw-nsx-module: PolicyTransitGateway description: |- - Child wrapper object for transit gateway centralized service configuration, used in hierarchical API. + Child wrapper object for transit gateway centralized config, used in hierarchical API. title: |- - Wrapper object for transit gateway centralized service configuration + Wrapper object for transit gateway centralized config x-vmw-nsx-module: PolicyTransitGateway ChildClusterSecurityConfiguration: allOf: @@ -9408,6 +9429,21 @@ definitions: title: |- Wrapper object for MetadataProxyConfig x-vmw-nsx-module: PolicyMetadataProxy + ChildMpsExclusion: + allOf: + - $ref: '#/definitions/ChildPolicyConfigResource' + - properties: + MpsExclusion: + $ref: '#/definitions/MpsExclusion' + required: + - MpsExclusion + type: object + x-vmw-nsx-module: PolicyAntiMalware + description: |- + Child wrapper object for MpsExclusion, used in hierarchical API + title: |- + Wrapper object for MpsExclusion + x-vmw-nsx-module: PolicyAntiMalware ChildNetworkSpan: allOf: - $ref: '#/definitions/ChildPolicyConfigResource' @@ -11895,8 +11931,8 @@ definitions: format: ip type: string required: - - next_hop - network + - next_hop title: |- DHCP classless static route option type: object @@ -12430,8 +12466,8 @@ definitions: Field data type type: string required: - - type - label + - type - field title: |- Grid Column @@ -12560,8 +12596,8 @@ definitions: type: integer required: - prefix_length - - address - address_type + - address title: |- NSX Application Platform Common Agent private IP prefix type: object @@ -12652,6 +12688,7 @@ definitions: type: integer services: description: | + Paths to Service objects (e.g., "/infra/services/HTTP"). In order to specify all services, use the constant "ANY". This is case insensitive. If "ANY" is used, it should be the ONLY element in the services array. Error will be thrown @@ -12660,7 +12697,7 @@ definitions: type: string maxItems: 128 title: |- - Names of services + Paths to services type: array source_groups: description: | @@ -13016,8 +13053,8 @@ definitions: member: $ref: '#/definitions/PolicyResourceReference' required: - - member - cluster_idfw_enabled + - member type: object x-vmw-nsx-module: PolicyFirewallConfiguration description: | @@ -13147,9 +13184,9 @@ definitions: Value type: string required: + - member_type - value - key - - member_type type: object x-vmw-nsx-module: Policy description: | @@ -13223,8 +13260,8 @@ definitions: value_constraint: $ref: '#/definitions/ValueConstraintExpression' required: - - value_constraint - operator + - value_constraint title: |- Represents the leaf level conditional value constraint. type: object @@ -13389,6 +13426,14 @@ definitions: description: |- Describes status of configuration of an entity properties: + core_allocation_profile: + description: | + This holds the core allocation profile realized at edge cluster member. + enum: + - L4FORWARDING + - SECURITY + readOnly: true + type: string failure_code: description: |- Error code @@ -13754,8 +13799,18 @@ definitions: consolidated_status: $ref: '#/definitions/ConsolidatedStatus' consolidated_status_per_enforcement_point: - description: |- - List of Consolidated Realized Status per enforcement point. + description: "List of Consolidated Realized Status per enforcement point.\n\ + An enforcement point represents an enforcing system \u2014 NSX is the\ + \ default; others\ninclude Antrea, or a site (on the global manager).\n\ + Within an NSX enforcement point, ESXi(for distributed firewall) and\n\ + Edge Nodes (for gateway firewall) are tracked as Transport Nodes, not\ + \ as\nenforcement points.\nEach item is a ConsolidatedStatusPerEnforcementPoint\ + \ or its sub-type ConsolidatedStatusNsxT.\nThe resource_type field indicates\ + \ the effective response shape:\n\"ConsolidatedStatusNsxT\" when include_enforced_status=true\ + \ \u2014 the enforced_status field\nis populated with detailed per-transport-node\ + \ enforcement information.\n\"ConsolidatedStatusPerEnforcementPoint\"\ + \ when include_enforced_status=false (default) \u2014\nthe enforced_status\ + \ field is absent." items: $ref: '#/definitions/ConsolidatedStatusPerEnforcementPoint' readOnly: true @@ -13862,8 +13917,9 @@ definitions: $ref: '#/definitions/EnforcedStatusDetailsNsxT' type: object x-vmw-nsx-module: PolicyRealizationStatus - description: | - Detailed Realized Status of an intent object on an NSX-T type of enforcement point. + description: |- + Consolidated Realized Status for NSX-T enforcement points. + The enforced_status field is optional and only populated when the include_enforced_status query parameter is set to true. title: |- NSX-T Consolidated Status x-vmw-nsx-module: PolicyRealizationStatus @@ -14191,11 +14247,22 @@ definitions: - Kubernetes - Openshift - WCP + - WCP_Guest + - AKS + - EKS + - TKGm + - TKGi + - GKE + - Gardener + - Rancher + - TAS + - SupervisorCluster + - WorkloadCluster - Other type: string required: - - cluster_name - status + - cluster_name type: object x-vmw-nsx-module: TnContainerStatus x-vmw-nsx-module: TnContainerStatus @@ -14434,8 +14501,8 @@ definitions: Unique index of the Non Uniform Memory Access (NUMA) node type: integer required: - - num_lcores - numa_node_index + - num_lcores title: |- Enhanced Networking Stack CPU configuration type: object @@ -15198,8 +15265,8 @@ definitions: Array of relative urls and their aliases type: array required: - - display_name - urls + - display_name title: |- Datasource Instance type: object @@ -15239,8 +15306,8 @@ definitions: Filter default value type: string required: - - alias - value + - alias title: |- Default filter values type: object @@ -15454,8 +15521,8 @@ definitions: Helm repo url type: string required: - - docker_registry - helm_repo + - docker_registry type: object x-vmw-nsx-module: PolicyCloudNative description: |- @@ -15731,8 +15798,8 @@ definitions: format: mac-address type: string required: - - mac - ip + - mac type: object x-vmw-nsx-module: Dhcp DhcpDeleteLeases: @@ -15849,8 +15916,8 @@ definitions: subnet of client network type: string required: - - mac_address - ip_address + - mac_address - start_time type: object x-vmw-nsx-module: AggSvcDhcp @@ -16049,7 +16116,7 @@ definitions: preferred_edge_paths: description: | Policy paths to edge nodes on which the DHCP servers run. The first edge node - is assigned as active edge, and second one as stanby edge. If only one edge node + is assigned as active edge, and second one as standby edge. If only one edge node is specified, the DHCP servers will run without HA support. When this property is not specified, edge nodes are auto-assigned during realization of the DHCP server. @@ -16396,8 +16463,8 @@ definitions: options: $ref: '#/definitions/DhcpV4Options' required: - - mac_address - ip_address + - mac_address type: object x-vmw-nsx-module: PolicyConnectivity description: | @@ -16460,10 +16527,10 @@ definitions: start time of lease type: string required: - - duid + - start_time - ia_type - iaid - - start_time + - duid type: object x-vmw-nsx-module: AggSvcDhcp DhcpV6StaticBindingConfig: @@ -16619,8 +16686,8 @@ definitions: sync_settings: $ref: '#/definitions/DirectoryDomainSyncSettings' required: - - base_distinguished_name - netbios_name + - base_distinguished_name type: object x-vmw-nsx-module: DirectoryService description: |- @@ -16628,28 +16695,6 @@ definitions: title: |- Active Directory Domain x-vmw-nsx-module: DirectoryService - DirectoryAdGroup: - allOf: - - $ref: '#/definitions/DirectoryGroup' - - properties: - object_guid: - description: |- - GUID is a 128-bit value that is unique not only in the enterprise but also across the world. GUIDs are assigned to every object created by Active Directory, not just User and Group objects. - title: |- - Active directory group object guid - type: string - secure_id: - description: |- - A security identifier (SID) is a unique value of variable length used to identify a trustee. A SID consists of the following components - The revision level of the SID structure; A 48-bit identifier authority value that identifies the authority that issued the SID; A variable number of subauthority or relative identifier (RID) values that uniquely identify the trustee relative to the authority that issued the SID. - title: |- - Active directory group secure id - type: string - required: - - secure_id - - object_guid - type: object - x-vmw-nsx-module: DirectoryService - x-vmw-nsx-module: DirectoryService DirectoryDomain: allOf: - $ref: '#/definitions/ManagedResource' @@ -16945,13 +16990,13 @@ definitions: type: integer last_event_time_created: description: |- - Time of last successfully received and record event from event log server. + Time of last successfully received and record event from event log server. This is a unix timestamp in milliseconds. format: int64 readOnly: true type: integer last_polling_time: description: |- - Last polling time + Last polling time. This is a unix timestamp in milliseconds. format: int64 readOnly: true type: integer @@ -16974,8 +17019,7 @@ definitions: DirectoryGroup: allOf: - $ref: '#/definitions/ManagedResource' - - discriminator: resource_type - properties: + - properties: distinguished_name: description: |- Directory group distinguished name @@ -17014,10 +17058,10 @@ definitions: type: string required: - domain_name - - resource_type - is_global - - distinguished_name - domain_id + - distinguished_name + - resource_type type: object x-vmw-nsx-module: DirectoryService x-vmw-nsx-module: DirectoryService @@ -17073,10 +17117,10 @@ definitions: Nesting flag type: boolean required: - - nested - group_distinguished_name - - group_id - member_group_distinguished_name + - group_id + - nested - member_group_id type: object x-vmw-nsx-module: DirectoryService @@ -17248,8 +17292,8 @@ definitions: Organization Unit name type: string required: - - children - distinguished_name + - children - name title: |- Organization Unit @@ -17501,15 +17545,15 @@ definitions: Total DHCP Requests type: integer required: + - discovers - informs - - offers - nacks - - errors - - acks + - releases - requests + - acks + - offers - declines - - discovers - - releases + - errors type: object x-vmw-nsx-module: AggSvcL2Types DistributedFirewall: @@ -17890,6 +17934,16 @@ definitions: title: |- EVPN Connectivity Type type: string + direct_path: + default: false + description: | + Controls how learned routes are installed into Distributed Transit Gateway. + If this field is set to false, only default routes are installed as it happens today. + No change in the behavior. If this field is set to true, all learned routes are + installed in addition to default routes. + title: |- + Direct Path route installation + type: boolean l3_vni: description: | L3 VNI for overlay traffic. @@ -17921,9 +17975,9 @@ definitions: type: array required: - route_targets - - l3_vni - route_controller_path - route_distinguisher + - l3_vni type: object x-vmw-nsx-module: PolicyGatewayConnection description: | @@ -18828,9 +18882,9 @@ definitions: Upload status type: string required: + - status - file_name - plugin_path - - status type: object x-vmw-nsx-module: PolicySha description: |- @@ -19631,8 +19685,8 @@ definitions: The resource type type: string required: - - enforcement_point_path - resource_type + - enforcement_point_path type: object x-vmw-nsx-module: PolicyVpcStatistics EnforcementPoint: @@ -19694,8 +19748,8 @@ definitions: Connection Info Resource Type type: string required: - - enforcement_point_address - resource_type + - enforcement_point_address title: |- Enforcement Point Connection Info type: object @@ -19790,8 +19844,8 @@ definitions: user_metadata: $ref: '#/definitions/ErrorResolverUserMetadata' required: - - error_id - resolver_present + - error_id type: object x-vmw-nsx-module: ErrorResolver ErrorResolverInfoList: @@ -20166,8 +20220,8 @@ definitions: MTU type: integer required: - - edge_path - local_addresses + - edge_path type: object x-vmw-nsx-module: PolicyConnectivity description: |- @@ -20353,8 +20407,8 @@ definitions: External ID member type type: string required: - - external_ids - member_type + - external_ids type: object x-vmw-nsx-module: Policy description: |- @@ -20390,6 +20444,11 @@ definitions: type: object x-vmw-nsx-module: Policy FabricHostNode: + description: | + A hypervisor host in the NSX fabric that can be associated with a host transport node. + It describes how the host is reached and classified: network addresses, OS type and + version, optional host credentials for installation, and relationships such as + vCenter management, discovered-node lineage, and compute collection membership. properties: compute_collection_id: description: |- @@ -20499,8 +20558,10 @@ definitions: Install location of Windows Server on baremetal being managed by NSX type: string required: - - os_type - ip_addresses + - os_type + title: |- + Fabric host node type: object x-vmw-nsx-module: PolicyHostTransportNode FastPathLcoreUsageStats: @@ -20784,6 +20845,31 @@ definitions: type: integer type: object x-vmw-nsx-module: ObservabilityCounters + FeatureOptIn: + allOf: + - $ref: '#/definitions/ManagedResource' + - properties: + host_tn_min_os_version: + description: | + The system does not permit transport nodes of a lower version to be included in the system inventory. + This restriction is applicable for hosts version ESX9 and above. ESX8 hosts are always supported. + This value is automatically increased when the system is upgraded across a major/minor version, + but can be further increased to a specific maintenance version by the user in order to make + certain datapath features available. + 9.1.1.0: + * Advanced Networking Services for EVPN-VXLAN and DTGW + title: |- + This value indicates the minimum OS version for all host transport nodes in the system. + type: string + required: + - host_tn_min_os_version + type: object + x-vmw-nsx-module: PolicyHostTransportNode + description: |- + Configuration for opt-in features for host transport nodes + title: |- + Configuration for opt-in features for host transport nodes + x-vmw-nsx-module: PolicyHostTransportNode FeaturePermission: description: |- Feature Permission @@ -20832,8 +20918,8 @@ definitions: Permission type: string required: - - permission - feature + - permission title: |- Feature Permission type: object @@ -20997,6 +21083,14 @@ definitions: title: |- Network Detection Response feature count type: string + NETWORK_TRAFFIC_ANALYSIS: + default: UNAVAILABLE + description: |- + Network Traffic Analysis feature count. + readOnly: true + title: |- + Network Traffic Analysis feature count + type: string type: object x-vmw-nsx-module: SecurityLicenseUsage FederationComponentUpgradeStatus: @@ -21101,13 +21195,13 @@ definitions: type: integer site_allocation_indices: description: | - Indicies for cross site allocation for edge cluster + Indices for cross site allocation for edge cluster and its members referred by gateway. items: $ref: '#/definitions/SiteAllocationIndexForEdge' readOnly: true title: | - Indicies for cross site allocation + Indices for cross site allocation type: array transit_segment_id: description: | @@ -21338,8 +21432,8 @@ definitions: A conditional operator type: string required: - - checks - operator + - checks type: object x-vmw-nsx-module: PolicyConstraints description: | @@ -21470,8 +21564,8 @@ definitions: User name to authenticate with type: string required: - - scheme_name - username + - scheme_name title: |- Remote server authentication details type: object @@ -21515,9 +21609,9 @@ definitions: SSH fingerprint of server type: string required: - - ssh_fingerprint - - authentication_scheme - protocol_name + - authentication_scheme + - ssh_fingerprint title: |- Protocol to transfer backup file to remote server type: object @@ -21546,8 +21640,8 @@ definitions: Value type: string required: - - field_names - value + - field_names title: |- Filter request type: object @@ -21585,9 +21679,9 @@ definitions: enable_firewall: default: true description: | - If set to true, Firewall is enabled. + If set to true, Distributed Firewall (DFW) is enabled. title: |- - Firewall enable flag + Distributed Firewall (DFW) enable flag type: boolean global_addrset_mode_enabled: default: true @@ -21636,8 +21730,8 @@ definitions: Member type type: string required: - - count - member_type + - count title: |- Firewall exclude list members count type: object @@ -22480,11 +22574,11 @@ definitions: - properties: rules: description: |- - Rules that are a part of this SecurityPolicy + Rules that are a part of this GatewayPolicy items: $ref: '#/definitions/Rule' title: |- - Rules that are a part of this SecurityPolicy + Rules that are a part of this GatewayPolicy type: array type: object x-vmw-nsx-module: Policy @@ -22744,8 +22838,8 @@ definitions: Transport node path type: string required: - - route_type - network + - route_type type: object x-vmw-nsx-module: PolicyConnectivityStatistics x-vmw-nsx-module: PolicyConnectivityStatistics @@ -22847,8 +22941,8 @@ definitions: DHCP option value type: array required: - - code - values + - code title: |- Generic DHCP option type: object @@ -23835,11 +23929,11 @@ definitions: Thumbprint type: string required: + - pub_url + - gm_ip - gm_password - - gm_username - thumbprint - - gm_ip - - pub_url + - gm_username title: |- GM Import Specification type: object @@ -24329,8 +24423,8 @@ definitions: List of fields from which rows are formed type: array required: - - row_list_fields - columns + - row_list_fields type: object x-vmw-nsx-module: NsxDashboard description: |- @@ -24556,8 +24650,8 @@ definitions: List of tags for the member type type: array required: - - tags - member_type + - tags title: |- Group tags list for a particular member type type: object @@ -24693,8 +24787,8 @@ definitions: Scope type type: string required: - - scope_type - scope_path + - scope_type type: object x-vmw-nsx-module: Policy description: |- @@ -24811,8 +24905,8 @@ definitions: The host switch UUID type: string required: - - host_switch_id - cluster_external_id + - host_switch_id title: |- vCenter Cluster Scope Filter type: object @@ -24952,8 +25046,8 @@ definitions: format: int64 type: integer required: - - end - start + - end title: |- VLAN ID range type: object @@ -25387,6 +25481,57 @@ definitions: type: number type: object x-vmw-nsx-module: ObservabilityCounters + HostScrxResizeStatus: + description: | + Host level details pertaining to SCRX resize operation. + properties: + cpu_count: + description: | + Actual count of vCPUs used by the SCRX container on the host. + format: int64 + title: |- + Actual vCPU count + type: integer + host_uuid: + description: | + UUID of host belonging to the cluster in consideration for resize. + title: |- + UUID of the host + type: string + memory: + description: | + Actual memory used by the SCRX container on the host. + format: int64 + title: |- + Actual memory count + type: integer + resize_status: + description: | + Status to indicate whether the SCRX resize operation was successful or not. + enum: + - UNKNOWN + - FAILED + - SUCCESS + title: |- + SCRX Resize Status + type: string + scrx_status: + description: | + Status to indicate whether the SCRX container is running or not. + enum: + - DISABLED + - RUNNING + - ERROR + title: |- + SCRX Status + type: string + required: + - scrx_status + - resize_status + title: |- + SCRX Resize Status + type: object + x-vmw-nsx-module: PolicyScrxResize HostSwitchConfigOption: description: |- Host Switch configuration option specification @@ -26099,8 +26244,8 @@ definitions: Config Priority type: integer required: - - ipfix_dfw_collector_profile_path - active_flow_export_timeout + - ipfix_dfw_collector_profile_path type: object x-vmw-nsx-module: PolicyIPFIXDFW description: | @@ -26353,8 +26498,8 @@ definitions: Subnet Prefix Length type: integer required: - - prefix_length - ip_addresses + - prefix_length type: object x-vmw-nsx-module: ServiceInsertionCommonTypes IPProtocolServiceEntry: @@ -26703,12 +26848,14 @@ definitions: type: array digest_algorithms: description: |- - Algorithm to be used for message digest during Internet Key Exchange(IKE) negotiation. A default value of SHA2_256 will be applied only when the supplied encryption algorithms contain either AES_128 or AES_256. + Algorithm to be used for message digest during Internet Key Exchange(IKE) negotiation. A default value of SHA2_256 will be applied only when the supplied encryption algorithms contain either AES_128 or AES_256. SHA1 is deprecated. Please use some other Digest Algorithm. items: description: | The IkeDigestAlgorithms are used to verify message integrity during Ike negotiation. SHA1 produces 160 bits hash and SHA2_XXX produces XXX bit hash. + Please note, SHA1 is deprecated. Please use some other + Digest Algorithm such as SHA2_256, SHA2_384 or SHA2_512. enum: - SHA1 - SHA2_256 @@ -27633,13 +27780,15 @@ definitions: type: array digest_algorithms: description: |- - Algorithm to be used for message digest. Default digest algorithm is implicitly covered by default encryption algorithm "AES_GCM_128". + Algorithm to be used for message digest. Default digest algorithm is implicitly covered by default encryption algorithm "AES_GCM_128". SHA1 is deprecated. Please use some other Digest Algorithm. items: description: | The IPSecDigestAlgorithms are used to verify message integrity during IPSec VPN tunnel establishment. SHA1 produces 160 bits hash and SHA2_XXX produces XXX bit hash. + Please note, SHA1 is deprecated. Please use some other + Digest Algorithm such as SHA2_256, SHA2_384 or SHA2_512. enum: - SHA1 - SHA2_256 @@ -27938,8 +28087,8 @@ definitions: Subnet Prefix Length type: integer required: - - prefix_length - ip_addresses + - prefix_length type: object x-vmw-nsx-module: LogicalRouterPorts IPsecVPNIKESessionSummary: @@ -28046,8 +28195,8 @@ definitions: Subnet Prefix Length type: integer required: - - prefix_length - ip_addresses + - prefix_length type: object x-vmw-nsx-module: PolicyEdgeTransportNode IPv6DADStatus: @@ -28207,8 +28356,8 @@ definitions: Subnet Prefix Length type: integer required: - - prefix_length - ip_addresses + - prefix_length type: object x-vmw-nsx-module: PolicyEdgeTransportNode IcmpEchoRequestHeader: @@ -28321,8 +28470,8 @@ definitions: sync_settings: $ref: '#/definitions/DirectoryDomainSyncSettings' required: - - base_distinguished_name - netbios_name + - base_distinguished_name type: object x-vmw-nsx-module: PolicyIdentity description: |- @@ -28614,9 +28763,9 @@ definitions: type: string required: - resource_type + - domain_name - distinguished_name - domain_id - - domain_name type: object x-vmw-nsx-module: PolicyIdentity description: |- @@ -28705,9 +28854,10 @@ definitions: title: |- Identity (Directory) Group SID (security identifier) type: string + x-deprecated: true required: - - domain_base_distinguished_name - distinguished_name + - domain_base_distinguished_name title: |- Identity (Directory) group type: object @@ -29049,12 +29199,13 @@ definitions: type: string login_time: description: |- - Login time. + Login time. This is a unix timestamp in milliseconds. format: int64 type: integer logout_time: description: | - Logout time if applicable. An active user session has no logout time. + Logout time if applicable. This is a unix timestamp in milliseconds. + An active user session has no logout time. Non-active user session is stored (up to last 5 most recent entries) per VM and per user. format: int64 @@ -29103,8 +29254,8 @@ definitions: required: - user_session_id - user_name - - login_time - domain_name + - login_time title: |- Identity Firewall user session data on client machine type: object @@ -29138,9 +29289,9 @@ definitions: Directory Group to user session data mappings type: array required: - - dir_group_to_user_session_data_mappings - - archived_user_sessions - active_user_sessions + - archived_user_sessions + - dir_group_to_user_session_data_mappings title: |- Identity Firewall user session data list and Directory Group to user mappings type: object @@ -29228,8 +29379,8 @@ definitions: IDFW VM status. type: array required: - - vm_status - vm_id + - vm_status title: |- IDFW VM ID and status. type: object @@ -29442,7 +29593,7 @@ definitions: - properties: publish_time: description: | - Time when the custom signature was published. + Time when the custom signature was published. This is a unix timestamp in milliseconds. format: int64 readOnly: true type: integer @@ -29487,7 +29638,7 @@ definitions: - properties: publish_time: description: | - Time when the custom signature was published. + Time when the custom signature was published. This is a unix timestamp in milliseconds. format: int64 readOnly: true type: integer @@ -29734,8 +29885,8 @@ definitions: Signature Ids. type: array required: - - pcap_ids - signature_ids + - pcap_ids type: object x-vmw-nsx-module: PolicyIDS description: | @@ -29824,8 +29975,8 @@ definitions: IDS zipped pcap file status type: string required: - - pcap_ids - signature_ids + - pcap_ids type: object x-vmw-nsx-module: PolicyIDS description: | @@ -30101,11 +30252,45 @@ definitions: title: |- Intrusion Detection System Profile severity x-vmw-nsx-module: PolicyIDS + IdsProfileSignature: + description: "Provides a single IDPS signature's information\u2014its ID, revision,\ + \ and action.\nThis signature is effective on the given profile.\n" + properties: + action: + description: | + The action that has to be performed when the signature is matched. + enum: + - ALERT + - DROP + - REJECT + title: |- + IDS signature's action + type: string + revision: + description: | + The revision number of the IDS signature. + format: int64 + title: |- + Signature Revision + type: integer + signature_id: + description: | + Represents the IDS Signature's id. + title: |- + Signature ID + type: string + required: + - signature_id + - revision + - action + title: |- + IDS Profile Signature + type: object + x-vmw-nsx-module: PolicyIDS IdsProfileSignatures: - description: | - An entity that holds the list of IDS signatures attached - to an IDS Profile depending upon the Profile's criteria. - These are the Signatures which needs to be detected. + description: "This entity holds the list of IDS signatures attached to an IDS\ + \ Profile.\nThese signatures are determined either by using the criteria given\ + \ on that profile \nor by directly including the signatures in the profile.\n" properties: profile_path: description: | @@ -30114,14 +30299,14 @@ definitions: IDS Profile path type: string signatures: - description: |- - List of IDS signature ids which need to be detected. + description: "Effective signatures of the IDS profile. Each signature contains\ + \ the signature ID, \nrevision number, and the action to be performed when\ + \ matched.\n" items: - type: string + $ref: '#/definitions/IdsProfileSignature' maxItems: 30000 - minItems: 1 title: |- - IDS Signatures + IDS profile's Signatures type: array title: |- IDS Profile Signatures @@ -30233,11 +30418,13 @@ definitions: x-vmw-nsx-module: PolicyIDSStats IdsRuleStatisticsForEnforcementPoint: description: |- - IDS Rule statistics for a specfic enforcement point. + IDS Rule statistics for a specific enforcement point. properties: enforcement_point: - description: |- - IDS Rule statistics for a single enforcement point + description: | + Path of the enforcement point for which statistics are reported. + On Global Manager, specifying an enforcement_point_path is mandatory. + On Local Manager, if omitted, statistics are aggregated across all enforcement points. readOnly: true title: |- Enforcement point path @@ -30317,8 +30504,10 @@ definitions: enforcement point. properties: enforcement_point: - description: |- - Enforcement point to fetch the statistics from. + description: | + Path of the enforcement point for which statistics are reported. + On Global Manager, specifying an enforcement_point_path is mandatory. + On Local Manager, if omitted, statistics are aggregated across all enforcement points. readOnly: true title: |- Enforcement point path @@ -30698,8 +30887,8 @@ definitions: type: integer required: - count - - timeout - time_period + - timeout title: |- IDS signature rate filter type: object @@ -30810,8 +30999,8 @@ definitions: type: string required: - count - - time_period - threshold_type + - time_period title: |- IDS signature threshold values type: object @@ -30871,7 +31060,7 @@ definitions: type: string update_time: description: | - Time when this version was downloaded and saved. + Time when this version was downloaded and saved. This is a unix timestamp in milliseconds. format: int64 readOnly: true type: integer @@ -30959,8 +31148,8 @@ definitions: - DEFAULT_TO_LM type: string required: - - ids_events_to_syslog - oversubscription + - ids_events_to_syslog title: |- IDS version site mapping type: object @@ -31027,8 +31216,8 @@ definitions: site_settings: $ref: '#/definitions/IdsSiteSettings' required: - - signature_version_path - site_path + - signature_version_path type: object x-vmw-nsx-module: IDSSiteVersionMapping description: | @@ -31068,9 +31257,9 @@ definitions: Version to be replaced type: string required: - - old_version - action - new_version + - old_version title: | Query parameters to be provided with the ReplaceIdsVersion API. type: object @@ -31814,8 +32003,8 @@ definitions: The MAC address type: string required: - - mac_address - ip + - mac_address type: object x-vmw-nsx-module: PolicyConnectivityStatistics x-vmw-nsx-module: PolicyConnectivityStatistics @@ -31833,8 +32022,8 @@ definitions: The MAC address type: string required: - - mac_address - ip + - mac_address type: object x-vmw-nsx-module: PolicyConnectivityStatistics InterfaceArpProxy: @@ -32501,6 +32690,8 @@ definitions: - WORKLOAD_ALLOCATED_DISCOVERED_IP - WORKLOAD_STATIC_DISCOVERED_IP - TIER0 + - USER_RESERVED + - SYSTEM_RESERVED type: string title: |- IpAddressBlock CIDR UsedBy Details @@ -32944,8 +33135,8 @@ definitions: format: ip type: string required: - - allocation_ranges - cidr + - allocation_ranges type: object x-vmw-nsx-module: PolicyIpam description: |- @@ -33061,8 +33252,8 @@ definitions: Single IP count type: integer required: - - ip_block_visibility - ip_block_address_type + - ip_block_visibility type: object x-vmw-nsx-module: PolicyLimit description: | @@ -33211,8 +33402,8 @@ definitions: format: ip type: string required: - - end - start + - end type: object x-vmw-nsx-module: Ipam description: |- @@ -33500,11 +33691,11 @@ definitions: Ipam ThirdParty provider user name type: string required: - - password + - username - resource_type - - host_name - port - - username + - host_name + - password type: object x-vmw-nsx-module: PolicyIpam description: |- @@ -33646,9 +33837,10 @@ definitions: format: ipv4 type: string flags: - default: 0 - description: |- - IP flags + default: 2 + description: | + The DF bit has to be set because traceflow does not + support tracking IP fragment behavior. format: int64 maximum: 8 minimum: 0 @@ -34656,8 +34848,8 @@ definitions: Peer code for the transport tunnel type: string required: - - peer_address - local_address + - peer_address title: |- L2VPN Session Transport Tunnel Data type: object @@ -35317,8 +35509,8 @@ definitions: Policy path referencing the transport tunnel type: string required: - - transport_tunnel_path - peer_code + - transport_tunnel_path title: |- L2Vpn Transport Tunnel Peer Code type: object @@ -35500,9 +35692,9 @@ definitions: type: array uniqueItems: true required: - - remote_public_address - - local_address - l3vpn_session + - local_address + - remote_public_address type: object x-vmw-nsx-module: PolicyL3Vpn description: | @@ -35811,8 +36003,8 @@ definitions: Policy L7 Access Entry Order type: integer required: - - action - attributes + - action type: object x-vmw-nsx-module: L7AccessProfile description: | @@ -37034,8 +37226,8 @@ definitions: The URL that the HTTP request is redirected to type: string required: - - redirect_status - redirect_url + - redirect_status type: object x-vmw-nsx-module: PolicyLoadBalancer description: | @@ -37162,8 +37354,8 @@ definitions: - REGEX type: string required: - - cookie_name - cookie_value + - cookie_name type: object x-vmw-nsx-module: PolicyLoadBalancer description: | @@ -37263,8 +37455,8 @@ definitions: Value of HTTP request header type: string required: - - header_name - header_value + - header_name type: object x-vmw-nsx-module: PolicyLoadBalancer description: | @@ -37503,8 +37695,8 @@ definitions: - REGEX type: string required: - - header_name - header_value + - header_name type: object x-vmw-nsx-module: PolicyLoadBalancer description: | @@ -37558,8 +37750,8 @@ definitions: Value of header field type: string required: - - header_name - header_value + - header_name type: object x-vmw-nsx-module: PolicyLoadBalancer description: | @@ -40704,8 +40896,8 @@ definitions: Data to send type: string required: - - receive - send + - receive type: object x-vmw-nsx-module: PolicyLoadBalancer description: | @@ -41220,9 +41412,9 @@ definitions: Sorry server pool path type: string required: - - ports - - ip_address - application_profile_path + - ip_address + - ports type: object x-vmw-nsx-module: PolicyLoadBalancer description: | @@ -41471,9 +41663,9 @@ definitions: List of pnics that will be moved over to lag type: array required: - - fallback_pnic - - mgmt_dvportgroups - pnics + - mgmt_dvportgroups + - fallback_pnic title: |- LACP migration config for TNC type: object @@ -41546,8 +41738,8 @@ definitions: uplink names type: array required: - - load_balance_algorithm - number_of_uplinks + - load_balance_algorithm - name - mode title: |- @@ -41666,8 +41858,8 @@ definitions: Value of HTTP request header type: string required: - - header_name - header_value + - header_name type: object x-vmw-nsx-module: LoadBalancer LbSslCipherAndProtocolListResult: @@ -41771,9 +41963,9 @@ definitions: Secure/insecure SSL cipher flag type: boolean required: - - is_default - - cipher - is_secure + - cipher + - is_default title: |- SSL cipher type: object @@ -41805,9 +41997,9 @@ definitions: - TLS_V1_2 type: string required: + - is_secure - protocol - is_default - - is_secure title: |- SSL protocol type: object @@ -41853,8 +42045,8 @@ definitions: type: string required: - resource_type - - base_dn - domain_name + - base_dn type: object x-vmw-nsx-module: LdapIdentitySources description: |- @@ -43686,12 +43878,12 @@ definitions: User name type: string required: - - user_name - domain_name - - ip_address - event_time - - event_type + - user_name - event_source + - ip_address + - event_type title: |- User Login/Logout event Map type: object @@ -43996,6 +44188,16 @@ definitions: title: |- Detection Types type: string + file_size: + description: | + Maximum file size in MB for malware scanning. Allowed range is 1 to 64 MB. Default is 64 MB. + Please refer to the compatibility matrix with Security Service Platform (SSP) for supported versions. + format: int32 + maximum: 64 + minimum: 1 + title: |- + File Size + type: integer file_type: description: | Represents different type of files extensions supported in Malware Prevention. @@ -44014,6 +44216,23 @@ definitions: title: |- File Type type: array + fileless_enabled: + description: | + Enables or disables fileless malware detection. Default is true. + Please refer to the compatibility matrix with Security Service Platform (SSP) for supported versions. + title: |- + Fileless Support Enabled + type: boolean + local_exclusions: + description: | + List of MpsExclusion paths applicable to this profile for excluding specific files or extensions from scanning. + Local exclusions apply only to this profile, while global exclusions apply to all profiles by default. + Please refer to the compatibility matrix with Security Service Platform (SSP) for supported versions. + items: + type: string + title: |- + Profile local exclusions + type: array required: - file_type - detection_type @@ -44476,12 +44695,12 @@ definitions: succeeded responses from nova server type: integer required: + - requests_from_clients + - error_responses_from_nova_server + - segment_path - succeeded_responses_from_nova_server - requests_to_nova_server - - segment_path - responses_to_clients - - error_responses_from_nova_server - - requests_from_clients type: object x-vmw-nsx-module: PolicyMetadataProxy MetricsAgent: @@ -44527,8 +44746,8 @@ definitions: All TN nodes in remote L3 mirror session mirror stack health status type: array required: - - overall_status - results + - overall_status type: object x-vmw-nsx-module: PortMirroring x-vmw-nsx-module: PortMirroring @@ -44961,6 +45180,78 @@ definitions: Error class for all the MPS related errors type: object x-vmw-nsx-module: NsxMalwarePreventionDeployment + MpsExclusion: + allOf: + - $ref: '#/definitions/PolicyConfigResource' + - properties: + exclusion_type: + description: | + Type of exclusion (paths or file extensions). + enum: + - PATHS + - EXTENSIONS + title: |- + Exclusion Type + type: string + exclusions: + description: | + List of paths or file extensions to exclude. + items: + type: string + minItems: 1 + title: |- + Exclusion List + type: array + is_global: + default: false + description: | + When true, this exclusion applies globally to all the MalwarePrevention profiles. + When false, exclusion will not be applicable by default, to apply the exclusion user have to select it under MalwarePrevention Profile. + title: |- + Is Global + type: boolean + os_type: + description: | + Target OS for this exclusion. + enum: + - WINDOWS + - LINUX + - ANY + title: |- + OS Type + type: string + required: + - exclusions + - exclusion_type + - os_type + type: object + x-vmw-nsx-module: PolicyAntiMalware + description: | + A single malware prevention exclusion with OS type, exclusion type, list, and metadata. + title: |- + MPS Exclusion + x-vmw-nsx-module: PolicyAntiMalware + MpsExclusionListResult: + allOf: + - $ref: '#/definitions/ListResult' + - properties: + results: + description: |- + MpsExclusion list results + items: + $ref: '#/definitions/MpsExclusion' + title: |- + MpsExclusion list results + type: array + required: + - results + type: object + x-vmw-nsx-module: PolicyAntiMalware + description: |- + Paged collection of MpsExclusions + title: |- + Paged collection of MpsExclusions + x-vmw-nsx-module: PolicyAntiMalware MpsOvfSpec: description: |- MPS Ovf Specification @@ -45019,8 +45310,8 @@ definitions: svm_properties: $ref: '#/definitions/MpsSvmProperties' required: - - sub_cluster_id - svm_properties + - sub_cluster_id title: |- Pair of Sub-cluster id and corresponding SVM Properties type: object @@ -45075,9 +45366,9 @@ definitions: svm_config: $ref: '#/definitions/MpsSvmConfig' required: - - cluster_svm_property - - ovf_spec_name - svm_config + - ovf_spec_name + - cluster_svm_property type: object x-vmw-nsx-module: NsxMalwarePreventionDeployment description: |- @@ -45586,10 +45877,10 @@ definitions: Version type: string required: - - managed_by + - log_token - instance_id + - managed_by - deployed_by - - log_token type: object x-vmw-nsx-module: NSXDeploymentInfo description: |- @@ -46453,9 +46744,9 @@ definitions: Required Configuration type: boolean required: + - interface_type - interface_index - interface_label - - interface_type title: |- NIC Metadata type: object @@ -46526,6 +46817,7 @@ definitions: - DISTRIBUTED_BAREMETAL - DISTRIBUTED_IPFIX_BAREMETAL - DISTRIBUTED_INTELLIGENCE_BAREMETAL + - NETWORK_TRAFFIC_ANALYSIS type: string readOnly: true title: |- @@ -47962,8 +48254,8 @@ definitions: Is rule disabled or not type: boolean required: - - role_name - path_prefix + - role_name type: object x-vmw-nsx-module: PolicyAuthz description: |- @@ -50215,8 +50507,11 @@ definitions: traceflow metadata requirement of 16 bytes), the traceflow request will fail with an appropriate message. The frame will be zero padded to the requested size. + The frame size up to 9000 is only available to the overlay segment port + and subnet port. The VLAN segment port, DHCP port, Edge uplink port, and + service interface can only support traceflow packet with a frame size up to 1000. format: int64 - maximum: 1000 + maximum: 9000 minimum: 60 title: |- Requested total size of the (logical) packet in bytes @@ -51335,9 +51630,9 @@ definitions: format: int64 type: integer required: - - sessionstatus - request - sessionid + - sessionstatus type: object x-vmw-nsx-module: PolicyPacketCapture description: |- @@ -51795,8 +52090,8 @@ definitions: siteId of the Lm where the project was created type: string required: - - site_uuid - project_id + - site_uuid type: object x-vmw-nsx-module: PolicySiteGM description: | @@ -52017,9 +52312,9 @@ definitions: Variable chosen for Y value of the point of the graph type: string required: + - y_value - x_value - field - - y_value title: |- Definition of a point of graph type: object @@ -52030,33 +52325,35 @@ definitions: - properties: category: description: | - - Distributed Firewall - - Policy framework provides five pre-defined categories for classifying - a security policy. They are "Ethernet","Emergency", "Infrastructure" - "Environment" and "Application". There is a pre-determined order in - which the policy framework manages the priority of these security - policies. Ethernet category is for supporting layer 2 firewall rules. - The other four categories are applicable for layer 3 rules. Amongst - them, the Emergency category has the highest priority followed by - Infrastructure, Environment and then Application rules. Administrator - can choose to categorize a security policy into the above categories - or can choose to leave it empty. If empty it will have the least - precedence w.r.t the above four categories. - - Edge Firewall - - Policy Framework for Edge Firewall provides six pre-defined categories - "Emergency", "SystemRules", "SharedPreRules", "LocalGatewayRules", - "AutoServiceRules" and "Default", in order of priority of rules. - All categories are allowed for Gatetway Policies that belong - to 'default' Domain. However, for user created domains, category is - restricted to "SharedPreRules" or "LocalGatewayRules" only. Also, the - users can add/modify/delete rules from only the "SharedPreRules" and - "LocalGatewayRules" categories. If user doesn't specify the category - then defaulted to "Rules". System generated category is used by NSX - created rules, for example BFD rules. Autoplumbed category used by - NSX verticals to autoplumb data path rules. Finally, "Default" category - is the placeholder default rules with lowest in the order of priority. - title: |- - A way to classify a security policy, if needed. + Classifies this security policy into an evaluation-priority category. Categories are + evaluated in a fixed priority order. + + Distributed Firewall (DFW) categories, in priority order (highest first): + Ethernet - Layer 2 firewall rules only. + Emergency - Highest priority L3 rules (common to both DFW and Edge FW). + Infrastructure - Second priority L3 rules. + Environment - Third priority L3 rules. + Application - Lowest explicit L3 rules. + ThreatRules - IDPS-only. Threat-based rules applied after Application. + EmergencyThreatRules - IDPS-only. Highest priority threat-based rules. + + Edge (Gateway) Firewall categories, in priority order (highest first): + Emergency, SystemRules, SharedPreRules, SharedExternalRules, + LocalGatewayRules, AutoServiceRules, Default. + For user-created domains, only SharedPreRules and LocalGatewayRules are allowed. + If not specified, defaults to LocalGatewayRules. + + Bridge Firewall category: + LocalBridgeRules - Rules for bridge firewall policies. + + Distributed IDS/IPS (E-W IDPS) categories: + ThreatRules - Threat-based IDS/IPS rules applied after Application. + EmergencyThreatRules - Highest priority threat-based IDS/IPS rules. + + Gateway IDS/IPS (N-S IDPS) category: + LocalGatewayRules - IDS/IPS rules applied on the gateway. + title: |- + Security policy category type: string comments: description: |- @@ -52083,7 +52380,7 @@ definitions: type: boolean lock_modified_by: description: | - ID of the user who last modified the lock for the secruity policy. + ID of the user who last modified the lock for the security policy. readOnly: true title: |- User who locked the security policy @@ -52123,7 +52420,10 @@ definitions: scope: description: | The list of group paths where the rules in this policy will get - applied. This scope will take precedence over rule level scope. + applied. Each path references a Group object that defines a collection + of workloads (VMs, containers, etc.). This scope determines which + workloads the security policy's rules are enforced on. + This scope will take precedence over rule level scope. Supported only for security and redirection policies. In case of RedirectionPolicy, it is expected only when the policy is NS and redirecting to service chain. @@ -52157,26 +52457,25 @@ definitions: type: integer stateful: description: | - Stateful or Stateless nature of security policy is enforced on all - rules in this security policy. When it is stateful, the state of - the network connects are tracked and a stateful packet inspection is - performed. - Layer3 security policies can be stateful or stateless. By default, they are stateful. - Layer2 security policies can only be stateless. + Whether this security policy enforces stateful or stateless packet inspection. + When stateful (true), network connection state is tracked and stateful packet + inspection is performed. Layer-3 security policies default to stateful. + Layer-2 (Ethernet category) security policies must be stateless. + Note: when stateful is true, the tcp_strict field also defaults to true unless + explicitly set to false. See the tcp_strict field for details. readOnly: false title: |- - Stateful nature of the entries within this security policy. + Stateful nature of this security policy type: boolean tcp_strict: description: | - Ensures that a 3 way TCP handshake is done before the data packets - are sent. - tcp_strict=true is supported only for stateful security policies. - If the tcp_strict flag is not specified and the security policy - is stateful, then tcp_strict will be set to true. + Enforces a 3-way TCP handshake before allowing data packets. Only applicable when + the security policy is stateful. If not specified, the server automatically sets + tcp_strict to true for stateful policies and false for stateless policies. + See also: stateful field. readOnly: false title: |- - Enforce strict tcp handshake before allowing data packets + Enforce strict TCP handshake before allowing data type: boolean type: object x-vmw-nsx-module: Policy @@ -52585,9 +52884,9 @@ definitions: type: array uniqueItems: true required: - - datatype - value - key + - datatype title: |- Policy Attributes data holder type: object @@ -53014,10 +53313,10 @@ definitions: Object type for which usage is fetched type: string required: - - current_usage_percentage - - current_usage_count - usage_type - display_name + - current_usage_percentage + - current_usage_count - max_supported_count type: object x-vmw-nsx-module: PolicyCapacityDashboard @@ -53152,12 +53451,13 @@ definitions: type: object x-vmw-nsx-module: PolicyContextProfile description: | - An entity that encapsulates attributes and sub-attributes of various - network services (eg. L7 services, domain name, encryption algorithm) - The entity will be consumed in firewall rules and can be added in new - tuple called profile in firewall rules. To get a list of supported - attributes and sub-attributes fire the following REST API - GET https://<policy-mgr>/policy/api/v1/infra/context-profiles/attributes + A Policy Context Profile defines a set of network attributes and optional + sub-attributes that characterise traffic or applications. Supported + attribute types include Layer 7 application IDs (APP_ID), domain names + (DOMAIN_NAME), URL categories (URL_CATEGORY), URL reputation scores + (URL_REPUTATION), and custom URLs (CUSTOM_URL). A context profile can be + referenced by firewall rules as an additional match criterion, enabling + fine-grained, application-aware policy enforcement. title: |- Policy Context Profile entity x-vmw-nsx-module: PolicyContextProfile @@ -53261,9 +53561,9 @@ definitions: type: array uniqueItems: true required: - - datatype - value - key + - datatype type: object x-vmw-nsx-module: PolicyContextProfile description: |- @@ -53383,8 +53683,8 @@ definitions: Log level of the dns forwarder type: string required: - - default_forwarder_zone_path - listener_ip + - default_forwarder_zone_path type: object x-vmw-nsx-module: PolicyDnsForwarder description: |- @@ -53643,6 +53943,18 @@ definitions: title: |- Allocation rules for auto placement type: array + core_allocation_profile: + description: | + The Core Allocation Profile attribute defines the core allocation for edge transport nodes within a cluster, + and any new or redeployed edge will utilize this profile. It can be updated to another supported profile, + which subsequently updates the core profile on all edges in the cluster. + Note that a manual reboot is required for the new profile to be applied to the edge appliance. + To verify the current profile applied to cluster members, use the Edge Cluster State API. +
https://<nsx-mgr>/policy/api/v1/infra/sites/default/enforcement-points/<enforcementpoint-id>/edge-clusters/cluster/<edge-cluster-id>/state
+ enum: + - L4FORWARDING + - SECURITY + type: string deployment_type: description: | This field is a readonly field which shows the deployment_type of members. @@ -54044,6 +54356,14 @@ definitions: properties: configuration_state: $ref: '#/definitions/PolicyEdgeClusterMemberConfigurationState' + core_allocation_profile: + description: | + This holds the core allocation profile realized at cluster member. + enum: + - L4FORWARDING + - SECURITY + readOnly: true + type: string edge_transport_node_path: description: | Edge transport node path, which is the member of edge cluster. @@ -54712,8 +55032,8 @@ definitions: Portgroup, logical switch identifier or segment path for management network connectivity. type: string required: - - network_id - ip_assignment_specs + - network_id type: object x-vmw-nsx-module: PolicyEdgeTransportNode PolicyEdgeTransportNode: @@ -55305,8 +55625,8 @@ definitions: Resource name type: string required: - - fields - resource_name + - fields title: |- Contains the detail of resources with name and fields type: object @@ -55324,8 +55644,8 @@ definitions: sub_type: $ref: '#/definitions/PolicyFineTuningResourceInfo' required: - - field_name - sub_type + - field_name title: |- Contains the details resources with field type and name type: object @@ -55641,10 +55961,10 @@ definitions: Host timezone type: string required: - - start_date - - end_date - recurring - timezone + - start_date + - end_date type: object x-vmw-nsx-module: PolicyFirewallScheduler description: | @@ -55801,16 +56121,16 @@ definitions: Connection timeout for destination type: integer required: - - udp_single - - udp_first_packet - - tcp_first_packet - - tcp_finwait - tcp_closing - tcp_opening - - icmp_error_reply - - tcp_closed - udp_multiple + - tcp_first_packet + - udp_single + - tcp_finwait + - tcp_closed + - icmp_error_reply - icmp_first_packet + - udp_first_packet - tcp_established type: object x-vmw-nsx-module: PolicyFirewallSessionTimerProfile @@ -58489,8 +58809,8 @@ definitions: ids of transport nodes where this metadata proxy is running type: array required: - - proxy_status - transport_nodes + - proxy_status type: object x-vmw-nsx-module: PolicyMetadataProxy PolicyMulticastConfig: @@ -59329,8 +59649,8 @@ definitions: traffic_type: $ref: '#/definitions/PolicyHostInfraTrafficType' required: - - limit - traffic_type + - limit - reservation - shares title: |- @@ -59401,10 +59721,12 @@ definitions: type: array operational_status: description: | - Possible values could be UP, DOWN, UNKNOWN, FAILURE - This list is not exhaustive. + Runtime operational status of this realized resource as observed on the enforcement + point. Common values include UP (resource is operational), DOWN (resource is not + operational), FAILURE (an error occurred), and UNKNOWN (status cannot be determined). + Additional implementation-specific values may appear. title: |- - String representation of operational status + Operational status of this realized resource type: string operational_status_error: description: | @@ -59414,10 +59736,12 @@ definitions: type: string publish_status: description: | - Possible values could be UP, DOWN, UNKNOWN, SUCCESS - This list is not exhaustive. + Publish (intent-to-datapath push) status of this realized resource. Common values + include UP (successfully published), DOWN (publish failed), SUCCESS (published without + errors), and UNKNOWN (status cannot be determined). Additional implementation-specific + values may appear. title: |- - String representation of publish status + Publish status of this realized resource type: string publish_status_error: description: | @@ -59579,7 +59903,6 @@ definitions: origin_site_id: description: | This is a UUID generated by the system for knowing which site owns an object. - This is used in NSX+. readOnly: true title: |- A unique identifier assigned by the system for knowing which site owns an object @@ -59587,7 +59910,6 @@ definitions: owner_id: description: | This is a UUID generated by the system for knowing who owns this object. - This is used in NSX+. readOnly: true title: |- A unique identifier assigned by the system for the ownership of an object @@ -59659,7 +59981,6 @@ definitions: owner_id: description: | This is a UUID generated by the system for knowing who owns this resource. - This is used in NSX+. readOnly: true title: |- A unique identifier assigned by the system for the ownership of resource @@ -59694,15 +60015,13 @@ definitions: origin_site_id: description: | This is a UUID generated by the system for knowing which site owns this group. - This is used in NSX+. readOnly: true title: |- A unique identifier assigned by the system for knowing which site owns a group type: string remote_path: description: | - This is the path of the object on the local managers when queried on the NSX+ service, - and path of the object on NSX+ service when queried from the local managers. + The path of the object on the remote end. readOnly: true title: |- Path of the object on the remote end. @@ -59993,8 +60312,8 @@ definitions: Path to service segment type: array required: - - forward_path_service_profiles - service_segment_path + - forward_path_service_profiles type: object x-vmw-nsx-module: PolicyServiceInsertion description: |- @@ -60151,12 +60470,12 @@ definitions: Id of the storage type: string required: - - primary_interface_mgmt_ip + - deployment_template_name + - attributes - compute_id + - primary_interface_mgmt_ip - deployment_spec_name - - deployment_template_name - storage_id - - attributes type: object x-vmw-nsx-module: PolicyServiceInsertion description: | @@ -60343,9 +60662,9 @@ definitions: type: array uniqueItems: true required: - - datatype - value - key + - datatype title: |- Policy Sub Attributes data holder type: object @@ -60548,8 +60867,8 @@ definitions: Start time of the interval type: string required: - - start_interval - end_interval + - start_interval title: |- Time interval on which firewall schedule will be applicable type: object @@ -60980,6 +61299,14 @@ definitions: title: |- Flag to indicate if the transport zone is the default one type: boolean + is_security: + description: | + This field is set to true if this is the system generated transport zone used for + security on vSphere Distributed Switch (vDS). + readOnly: true + title: |- + Flag to indicate if the transport zone is used for security on vDS + type: boolean nested_nsx: default: false description: |- @@ -61093,8 +61420,8 @@ definitions: Policy Transport Zone Type type: string required: - - tz_profile_type - bfd_config + - tz_profile_type type: object x-vmw-nsx-module: PolicyTransportZoneProfile description: |- @@ -61342,10 +61669,10 @@ definitions: Reputation severity id type: integer required: + - min_reputation - reputation_severity_id - max_reputation - name - - min_reputation type: object x-vmw-nsx-module: PolicyUrlCategorization description: | @@ -61388,6 +61715,16 @@ definitions: title: |- Allow root SSH logins. type: boolean + core_allocation_profile: + description: | + This attribute enables the creation of an edge transport node using a core allocation profile, with the understanding that the edge is initially + outside the cluster and must be added later. + For redeployment and update operations: If the edge transport node is already part of a cluster, the core allocation profile defined at the edge cluster + level will be applied to that node. The API will throw a validation error if the cluster-level and node-level core allocation profile values are not identical. + enum: + - L4FORWARDING + - SECURITY + type: string dns_servers: description: | List of DNS servers. @@ -61777,8 +62114,8 @@ definitions: Vsphere compute identifier for identifying the vcenter server. type: string required: - - compute_id - vc_id + - compute_id - storage_id type: object x-vmw-nsx-module: PolicyEdgeTransportNode @@ -61852,11 +62189,11 @@ definitions: VTEP High Availability failover timeout (in seconds) type: integer required: - - failover_timeout + - enabled - auto_recovery - auto_recovery_max_backoff - auto_recovery_initial_wait - - enabled + - failover_timeout type: object x-vmw-nsx-module: PolicyVtepHAHostSwitchProfile description: |- @@ -62000,8 +62337,11 @@ definitions: Context ID based on the type type: string context_type: - description: |- - Set to PARENT when type field is CHILD. Read only field. + description: | + Identifies the relationship context of this port attachment relative to its parent. + PARENT indicates that this port is the parent of a child port (i.e., the port with + type=CHILD is attached to this port). This field is system-assigned and read-only; + it is automatically set to PARENT when another port references this port as its parent. enum: - PARENT readOnly: true @@ -63494,8 +63834,7 @@ definitions: type: string quota_owner_id: description: | - This is a UUID generated by the system for knowing whoes owns this object. - This is used in NSX+. + This is a UUID generated by the system for knowing who owns this object. readOnly: true title: |- Quota owner id assigned by the system. @@ -63846,8 +64185,8 @@ definitions: Reaction Events type: array required: - - actions - events + - actions type: object x-vmw-nsx-module: PolicyReaction description: | @@ -64504,10 +64843,10 @@ definitions: type: array host_id: description: |- - Id of the host on which the vm exists. + Unique ID of the host on which the VM exists. readOnly: true title: |- - Id of the host on which the vm exists. + Unique ID of the host on which the VM exists. type: string local_id_on_host: description: |- @@ -64593,9 +64932,9 @@ definitions: Feature type: string required: - - recommended_permissions - - target_feature - src_features + - target_feature + - recommended_permissions title: |- Recommended Feature Permission type: object @@ -64845,8 +65184,8 @@ definitions: related_attribute: $ref: '#/definitions/RelatedAttribute' required: - - related_attribute - condition + - related_attribute type: object x-vmw-nsx-module: PolicyConstraints description: | @@ -65774,8 +66113,8 @@ definitions: Roles type: array required: - - path - roles + - path title: |- Roles for path type: object @@ -65917,7 +66256,7 @@ definitions: description: | If true the default firewall rule Action is set to DROP, otherwise set to ALLOW. This field is deprecated and recommended to change Rule action field. Note that this - field is not synchornied with default rule field. + field is not synchronized with default rule field. title: |- Flag to add default whitelisting Gateway Policy rule for the VTI interface. type: boolean @@ -65997,8 +66336,12 @@ definitions: default: ACTIVE_STANDBY description: | High-availability mode for route controller. + Starting from VCF 9.1.1 onwards, it is recommended + to use ACTIVE_ACTIVE High-availability mode. + Update of High-availability mode is not supported. enum: - ACTIVE_STANDBY + - ACTIVE_ACTIVE title: |- HA Mode type: string @@ -66126,22 +66469,26 @@ definitions: type: array source_addresses: description: | + In case Route Controller is configured with ACTIVE_STANDBY mode, + source_address should be a valid floating_ip address from the Route Controller Interface. + In case Route Controller is configured with ACTIVE_ACTIVE mode, + source_address should be a valid interface_subnet IP from the Route Controller Interface. Source addresses should belong to external or loopback or VTI interface IP Addresses. BGP peering is formed from all these addresses. - This property is mandatory when maximum_hop_limit is greater than 1. items: description: |- IPv4 or IPv6 address format: ip type: string maxItems: 1 + minItems: 1 title: |- - A valid floating_ip from Route Controller interface. + Source IP address for BGP Peering. type: array required: - neighbor_address - - remote_as_num - source_addresses + - remote_as_num type: object x-vmw-nsx-module: PolicyRouteController description: | @@ -66555,6 +66902,8 @@ definitions: floating_ip_subnets: description: | IP address and subnet specification for VIP floating IP address subnets. + This property is required only if the Route controller is configured with + high availability (HA) ACTIVE_STANDBY mode. items: $ref: '#/definitions/InterfaceSubnet' maxItems: 1 @@ -66566,6 +66915,12 @@ definitions: Route Controller Interface Address object parameters. Specify IP addresses, vlan and port_group details per virtual network appliance (VNA) for configuring Route Controller interface. + Maximum number of Interface Addresses is restricted to 2 + in case Route Controller is configured with high availability (HA) + ACTIVE_STANDBY mode. + Maximum number of Interface Addresses is restricted to 1 + in case Route Controller is configured with high availability (HA) + ACTIVE_ACTIVE mode. items: $ref: '#/definitions/RouteControllerInterfaceAddress' maxItems: 2 @@ -66576,7 +66931,10 @@ definitions: mtu: default: 1500 description: | - MTU size. + Maximum transmission unit (MTU) specifies the size of the largest + packet that a network protocol can transmit. + The globally configured maximum physical uplink MTU value must be greater than + or equal to the maximum supported value of this MTU field. format: int32 maximum: 9126 minimum: 1500 @@ -66595,7 +66953,6 @@ definitions: type: string required: - interface_address - - floating_ip_subnets type: object x-vmw-nsx-module: PolicyRouteController description: | @@ -67363,13 +67720,13 @@ definitions: - properties: action: description: | - The action to be applied to all the services - The JUMP_TO_APPLICATION action is only supported for rules created in the - Environment category. Once a match is hit then the rule processing + The action to be applied to all the services. + REJECT is not allowed for Layer-2 (Ethernet category) rules -- use DROP instead. + JUMP_TO_APPLICATION is only valid for DFW rules (not Gateway Firewall) created + in the Environment category. Once a match is hit then the rule processing will jump to the rules present in the Application category, skipping all further rules in the Environment category. If no rules match in the Application category then the default application rule will be hit. - This is applicable only for DFW. enum: - ALLOW - DROP @@ -67430,7 +67787,7 @@ definitions: description: | Realized id of the rule on NSX MP. Policy Manager can create more than one rule per policy rule, in which case this identifier helps to - distinguish between the multple rules created. + distinguish between the multiple rules created. readOnly: true title: |- NSX internal rule id @@ -67544,7 +67901,7 @@ definitions: x-vmw-nsx-module: Policy RuleStatisticsForEnforcementPoint: description: |- - Rule statistics for a specfic enforcement point. + Rule statistics for a specific enforcement point. properties: container_cluster_path: description: |- @@ -67554,8 +67911,10 @@ definitions: Cluster container path type: string enforcement_point: - description: |- - Rule statistics for a single enforcement point + description: | + Path of the enforcement point for which statistics are reported. + On Global Manager, specifying an enforcement_point_path is mandatory. + On Local Manager, if omitted, statistics are aggregated across all enforcement points. readOnly: true title: |- Enforcement point path @@ -67617,7 +67976,7 @@ definitions: destination_groups: description: | It defines the destination of the rule resulting from attaching a security strategy to a VPC. - As the security strategy is attached to a VPC, the source for the rule would be the VPC + As the security strategy is attached to a VPC, the destination for the rule would be the VPC default group. These values would be actually replaced by the system based on the VPC to which the security strategy is attached. items: @@ -67640,6 +67999,8 @@ definitions: type: array services: description: | + Paths to Service objects (e.g., "/infra/services/HTTP") that define + the network services (protocols and ports) to which this rule applies. In order to specify all services, use the constant "ANY". This is case insensitive. If "ANY" is used, it should be the ONLY element in the services array. Error will be thrown @@ -67648,7 +68009,7 @@ definitions: type: string maxItems: 128 title: |- - Names of services + Service paths type: array source_groups: description: | @@ -67662,9 +68023,9 @@ definitions: It defines the source of the rule type: array required: - - source_groups - - destination_groups - action + - destination_groups + - source_groups title: |- Set of template rules defined for a given security strategy. type: object @@ -67996,8 +68357,23 @@ definitions: allOf: - $ref: '#/definitions/PolicyConfigResource' - properties: + available_mem_size: + description: |- + Available RAM amount in MB (i.e. amount of memory exposed to the OS of the SCRX) + format: int64 + readOnly: true + title: |- + Available memory size in MB + type: integer cluster: $ref: '#/definitions/PolicyResourceReference' + force_reconfiguration: + description: |- + A force flag allowing users to retrigger a resize regardless of the current SCRX size and without having to change the desired size + readOnly: false + title: |- + Force flag for reconfiguration + type: boolean high_latency_sensitivity_mode_enabled: description: |- If set to true, HighLatencySensitivityMode is enabled on the respective cluster @@ -68005,6 +68381,32 @@ definitions: title: |- HighLatencySensitivityMode enabled flag type: boolean + num_vcpus: + description: |- + Total number of vCPUs + format: int64 + readOnly: true + title: |- + vCPU count + type: integer + reserved_mem_size: + description: |- + Reserved (total) RAM amount in MB (including hypervisor overhead) + format: int64 + readOnly: true + title: |- + Reserved memory size in MB + type: integer + size: + description: |- + Predefined SCRX size which is user-visible. + enum: + - TM-04 + - TM-08 + readOnly: false + title: |- + Predefined SCRX size + type: string required: - cluster type: object @@ -68059,10 +68461,79 @@ definitions: type: integer type: object x-vmw-nsx-module: ObservabilityCounters + ScrxResizeStatus: + description: | + Object with host level information pertaining to SCRX resize operation. + properties: + cluster_id: + description: | + Cluster ID of cluster being resized. + readOnly: true + title: |- + Cluster Identifier + type: string + host_status: + description: | + Indicates resize status of SCRX container on a host. + items: + $ref: '#/definitions/HostScrxResizeStatus' + readOnly: true + title: |- + Resize Status of the SCRX on Host + type: array + overall_status: + description: | + Field to indicate if resize was successful at a cluster level. + enum: + - UNKNOWN + - FAILED + - SUCCESS + readOnly: true + title: |- + Overall Resize Status of the Cluster + type: string + title: |- + SCRX Resize Status + type: object + x-vmw-nsx-module: PolicyScrxResize ScrxSizeInfo: description: | SCRX size information. - properties: {} + properties: + available_mem_size: + description: |- + Available RAM amount in MB (i.e. amount of memory exposed to the OS of the SCRX) + format: int64 + readOnly: true + title: |- + Available memory size in MB + type: integer + num_vcpus: + description: |- + Total number of vCPUs + format: int64 + readOnly: true + title: |- + vCPU count + type: integer + reserved_mem_size: + description: |- + Reserved (total) RAM amount in MB (including hypervisor overhead) + format: int64 + readOnly: true + title: |- + Reserved memory size in MB + type: integer + size: + description: |- + Predefined SCRX size. + enum: + - TM-04 + - TM-08 + readOnly: true + title: |- + Predefined SCRX size + type: string title: |- SCRX size type: object @@ -68132,7 +68603,7 @@ definitions: MALWAREPREVENTION - Malware Prevention GFW_MULTICAST - Multicast on GFW GEOIP_MONITORING - Geo IP Monitoring - Use any one of this to enable/disabe it. + Use any one of this to enable/disable it. enum: - MALWAREPREVENTION - IDFW @@ -68328,6 +68799,13 @@ definitions: title: |- Licensed host core count used by ndr type: string + licensed_host_core_count_nta: + description: |- + Licensed host core count used by nta + readOnly: true + title: |- + Licensed host core count used by nta + type: string licensed_total_core_count_firewall_atp_edition: description: |- licensed total core count on firewall atp edition @@ -68616,6 +69094,13 @@ definitions: title: |- Raw host core count used by ndr type: string + raw_host_core_count_nta: + description: |- + Raw host core count used by nta + readOnly: true + title: |- + Raw host core count used by nta + type: string recommendation_sessions_total: description: |- Telemetry info about the 'recommendation_sessions_total' @@ -68762,7 +69247,7 @@ definitions: x-deprecated: true default_rule_id: description: | - Based on the value of the connectivity strategy, a default rule is + Based on the value of the connectivity_preference, a default rule is created for the security policy. The rule id is internally assigned by the system for this default rule. format: int64 @@ -68773,14 +69258,12 @@ definitions: logging_enabled: default: false description: | - This property is deprecated. - Flag to enable logging for all the rules in the security policy. - If the value is true then logging will be enabled for all the rules - in the security policy. If the value is false, then the rule level - logging value will be honored. + Deprecated. Flag to enable logging for all rules in this security policy. + If true, logging is enabled for all rules in the policy. If false, the individual + rule-level logging flag is honored. Use per-rule logging instead. readOnly: false title: |- - Enable logging flag + Enable logging flag (deprecated) type: boolean x-deprecated: true rules: @@ -68928,8 +69411,10 @@ definitions: Cluster container path type: string enforcement_point: - description: |- - Enforcement point to fetch the statistics from. + description: | + Path of the enforcement point for which statistics are reported. + On Global Manager, specifying an enforcement_point_path is mandatory. + On Local Manager, if omitted, statistics are aggregated across all enforcement points. readOnly: true title: |- Enforcement point path @@ -68978,8 +69463,8 @@ definitions: Security Profile attached to VPC type: string required: - - attached_to - security_profile + - attached_to type: object x-vmw-nsx-module: PolicyVpcSecurityProfile description: | @@ -69160,7 +69645,7 @@ definitions: This property is deprecated. The property will continue to work as expected for existing segments. The segments that are newly created with ls_id will be ignored. - Sepcify pre-creted logical switch id for Segment. + Specify pre-created logical switch id for Segment. title: |- Pre-created logical switch id for Segment type: string @@ -69181,10 +69666,10 @@ definitions: type: array overlay_id: description: | - Used for overlay connectivity of segments. The overlay_id - should be allocated from the pool as definied by enforcement-point. - If not provided, it is auto-allocated from the default pool on the - enforcement-point. + Optional. Overlay network identifier (VNI) for this segment. Must be allocated from + the pool defined by the enforcement point. If not specified, a VNI is automatically + allocated from the default pool on the enforcement point. Valid range: 0-2147483647. + Note: once set, changing the overlay_id on an existing segment is not supported. format: int32 maximum: 2147483647 minimum: 0 @@ -69235,12 +69720,14 @@ definitions: type: string vlan_ids: description: | - VLAN ids for a VLAN backed Segment. - Can be a VLAN id or a range of VLAN ids specified with '-' in between. + List of VLAN IDs or ranges for a VLAN-backed segment. Each element is either a + single VLAN ID (0-4094) or a contiguous range in the format 'start-end' + (e.g. '100-200'). Mixed arrays are supported (e.g. ['100', '200-300', '400']). + Required when creating a VLAN-backed segment; not applicable to overlay segments. items: type: string title: |- - VLAN ids for VLAN backed Segment + VLAN IDs for a VLAN-backed segment type: array type: object x-vmw-nsx-module: PolicyConnectivity @@ -69415,8 +69902,8 @@ definitions: format: int64 type: integer required: - - segment_path - vlan_traffic_tag + - segment_path type: object x-vmw-nsx-module: PolicyConnectivity description: | @@ -70748,9 +71235,9 @@ definitions: Vendor ID type: string required: - - functionalities - vendor_id - implementations + - functionalities type: object x-vmw-nsx-module: ServiceInsertionCommonTypes description: |- @@ -71410,8 +71897,8 @@ definitions: User name type: string required: - - j_password - j_username + - j_password title: |- Credentials used to authenticate to NSX type: object @@ -72118,8 +72605,8 @@ definitions: SHA monitor configuration resource type type: string required: - - enable - resource_type + - enable title: |- SHA monitor configuration type: object @@ -72569,8 +73056,8 @@ definitions: type: string required: - resource_type - - plugin_path - enabled + - plugin_path type: object x-vmw-nsx-module: PolicySha description: | @@ -73112,8 +73599,8 @@ definitions: properties: index: description: | - Unqiue edge cluster node index across sites based on stretch of the - Gateway. For example, if a Gateway is streched to sites S1 with one + Unique edge cluster node index across sites based on stretch of the + Gateway. For example, if a Gateway is stretched to sites S1 with one edge cluster of 3 nodes and site S2 with one edge cluster of 2 nodes, the in the Global Manager will allocate the index for 5 edge nodes and 2 cluster in the rage 0 to 7. @@ -73408,8 +73895,8 @@ definitions: Site path of ELS server site mapping type: string required: - - site_path - els_servers + - site_path type: object x-vmw-nsx-module: PolicyIdentitySiteMapping description: | @@ -73463,8 +73950,8 @@ definitions: Site path of LDAP server site mapping type: string required: - - site_path - ldap_servers + - site_path type: object x-vmw-nsx-module: PolicyIdentitySiteMapping description: | @@ -73727,10 +74214,10 @@ definitions: vCenter server ip type: string required: - - display_name + - member_type - external_id + - display_name - vCenter_server_ip - - member_type title: |- Abstract Span Member type: object @@ -73840,8 +74327,8 @@ definitions: type: boolean x-deprecated: true required: - - address_binding_whitelist - address_binding_allowlist + - address_binding_whitelist type: object x-vmw-nsx-module: PolicySpoofGuard description: | @@ -73959,7 +74446,7 @@ definitions: type: object x-vmw-nsx-module: PolicyFirewallConfiguration description: | - Idfw configuration for activate/deactivate idfw on standalone hosts. + Idfw configuration for activate/deactivate idfw on standalone host level. title: |- Standalone host idfw configuration x-vmw-nsx-module: PolicyFirewallConfiguration @@ -74000,8 +74487,10 @@ definitions: type: string host_switch_mode: description: | - STANDARD - This mode applies to all transport nodes. This - is realized as pktHandle mode in the dataplane. + STANDARD - This mode applies to all transport nodes. + The realized host switch mode will be chosen automatically + (best applicable as per uplink capabilities) by the data-plane + in the transport node and may change in future. ENS - This is the Enhanced Data Path switch mode for ESX host tranport node. This mode provides accelerated networking performances but also introduces additional prerequisites. @@ -74110,7 +74599,7 @@ definitions: This field is supported only for Tranport Node Profile Configurations. This field is used for adding a subset of the host switch configuration under a Transport Node Profile. This field is applicable only for a VDS based host switch and not for an NVDS based host switch. items: $ref: '#/definitions/TransportNodeProfileSubConfig' - maxItems: 16 + maxItems: 32 minItems: 0 title: |- Transport Node Profile sub-configuration Options @@ -74272,8 +74761,8 @@ definitions: format: mac-address type: string required: - - mac_address - ip_address + - mac_address type: object x-vmw-nsx-module: PolicyConnectivity description: | @@ -74370,8 +74859,8 @@ definitions: type: string required: - subnet_mask - - ip_list - default_gateway + - ip_list type: object x-vmw-nsx-module: TransportNode description: |- @@ -74406,8 +74895,8 @@ definitions: readOnly: false type: string required: - - subnet_mask - ip_mac_list + - subnet_mask - default_gateway type: object x-vmw-nsx-module: TransportNode @@ -74500,8 +74989,8 @@ definitions: type: string required: - subnet_mask - - ip_list - default_gateway + - ip_list type: object x-vmw-nsx-module: PolicyEdgeTransportNode description: |- @@ -74536,8 +75025,8 @@ definitions: readOnly: false type: string required: - - subnet_mask - ip_mac_list + - subnet_mask - default_gateway type: object x-vmw-nsx-module: PolicyEdgeTransportNode @@ -74632,9 +75121,9 @@ definitions: Prefix Length type: string required: + - default_gateway - prefix_length - ip_list - - default_gateway type: object x-vmw-nsx-module: PolicyEdgeTransportNode description: |- @@ -74673,9 +75162,9 @@ definitions: Prefix Length type: string required: - - prefix_length - ipv6_list - default_gateway + - prefix_length type: object x-vmw-nsx-module: TransportNode description: |- @@ -74711,9 +75200,9 @@ definitions: Prefix Length type: string required: - - prefix_length - ip_mac_list - default_gateway + - prefix_length type: object x-vmw-nsx-module: PolicyEdgeTransportNode description: |- @@ -74749,9 +75238,9 @@ definitions: Prefix Length type: string required: - - prefix_length - - ipv6_mac_list - default_gateway + - ipv6_mac_list + - prefix_length type: object x-vmw-nsx-module: TransportNode description: |- @@ -74797,6 +75286,25 @@ definitions: allOf: - $ref: '#/definitions/PolicyConfigResource' - properties: + html_template: + description: | + The rendered HTML template for this block page, returned as a base64-encoded string. + Decode the value to obtain the raw HTML. This field is system-generated and read-only. + Example: original template <p>{0}</p> encodes to PHA+ezB9PC9wPg== + readOnly: true + title: |- + HTML template (base64-encoded) + type: string + html_template_with_message: + description: | + The rendered HTML template with the configured text_message already substituted, + returned as a base64-encoded string. Decode the value to obtain the raw HTML. + This field is system-generated and read-only. + Example: <p>Not allowed</p> encodes to PHA+Tm90IGFsbG93ZWQ8L3A+ + readOnly: true + title: |- + HTML template with message embedded (base64-encoded) + type: string text_message: description: |- text message. @@ -74987,8 +75495,8 @@ definitions: Next hop routes for network type: array required: - - next_hops - network + - next_hops type: object x-vmw-nsx-module: PolicyConnectivity description: |- @@ -75189,8 +75697,8 @@ definitions: sub_cluster_info: $ref: '#/definitions/SubClusterInfo' required: - - sub_cluster_info - compute_collection_id + - sub_cluster_info type: object x-vmw-nsx-module: SubCluster description: | @@ -75242,11 +75750,8 @@ definitions: type: array sub_cluster_type: description: | - Sub-cluster-type can be either MANUAL or FAULT_DOMAIN. - This is a mandatory field. Currently, all sub-clusters - will be of type MANUAL. In the future, we will provide support - for creating a sub-cluster for fault domains in VC. This - field indicates the same. + The type of this sub-cluster. Currently only MANUAL sub-clusters are supported, + where nodes are explicitly assigned. This field is mandatory. enum: - MANUAL title: |- @@ -75328,6 +75833,21 @@ definitions: title: |- DNS names type: array + emails: + description: |- + A list of email addresses in subject alternative names + items: + description: | + Email address string as defined by RFC 5321, used as an rfc822Name + Subject Alternative Name entry. + format: san-entry-email + type: string + maxItems: 64 + minItems: 1 + readOnly: true + title: |- + Email addresses + type: array ip_addresses: description: |- A list of IP addresses in subject alternative names @@ -76179,9 +76699,9 @@ definitions: tag: $ref: '#/definitions/Tag' required: - - tag - status - path + - tag title: |- Status of tag bulk operation type: object @@ -76451,8 +76971,8 @@ definitions: List of Uplinks used in standby list type: array required: - - active_list - policy + - active_list title: |- Uplink Teaming Policy type: object @@ -76517,8 +77037,8 @@ definitions: Object ID type: string required: - - ipam_provider - object_id + - ipam_provider title: |- Third party IPAM information type: object @@ -76593,7 +77113,7 @@ definitions: type: array disable_firewall: description: |- - Disable or enable gateway fiewall. + Disable or enable gateway firewall. title: |- Disable gateway firewall type: boolean @@ -76706,6 +77226,7 @@ definitions: Specify transit subnets that are used to assign addresses to logical links connecting tier-0 and tier-1s. Both IPv4 and IPv6 addresses are supported. When not specified, subnet 100.64.0.0/16 is configured by default. + Transit subnets must not overlap reserved internal subnets. When modifying, for stateful active-active Tier-0 number of IPs should be at least attached Tier-1s count * 16 and for other type of Tier-0 number of IPs should be at least attached Tier-1s count * 2. @@ -77345,6 +77866,8 @@ definitions: GFW_MULTICAST - Multicast on GFW GEOIP_MONITORING - Geo IP Monitoring MALWAREPREVENTION - Malware Prevention + Use any one of this to enable/disable it. + TLS - Transport Layer Security Inspection Use any one of this to enable/disabe it. enum: - IDFW @@ -77352,6 +77875,7 @@ definitions: - GFW_MULTICAST - GEOIP_MONITORING - MALWAREPREVENTION + - TLS type: string required: - feature @@ -77654,7 +78178,7 @@ definitions: type: array disable_firewall: description: |- - Disable or enable gateway fiewall. + Disable or enable gateway firewall. title: |- Disable gateway firewall type: boolean @@ -77688,7 +78212,7 @@ definitions: default: false description: | This field is deprecated and recommended to change Rule action field. - Note that this field is not synchornied with default rule field. + Note that this field is not synchronized with default rule field. title: |- Flag to add whitelisting FW rule during realization type: boolean @@ -78296,6 +78820,9 @@ definitions: - TLS_RSA_WITH_AES_256_CBC_SHA256 - TLS_RSA_WITH_AES_256_CBC_SHA - TLS_RSA_WITH_AES_128_CBC_SHA + - TLS_AES_256_GCM_SHA384 + - TLS_AES_128_GCM_SHA256 + - TLS_CHACHA20_POLY1305_SHA256 type: string maxItems: 128 title: |- @@ -78304,20 +78831,22 @@ definitions: client_max_tls_version: default: TLS_V1_2 description: |- - Client's maximum TLS version to enforce. Required if CryptoEnforcement is ENFORCE. Supported TLS versions are TLS1.1 and TLS1.2. + Client's maximum TLS version to enforce. Required if CryptoEnforcement is ENFORCE. Supported TLS versions are TLS1.1, TLS1.2 and TLS1.3. enum: - TLS_V1_2 - TLS_V1_1 - TLS_V1_0 + - TLS_V1_3 type: string client_min_tls_version: default: TLS_V1_1 description: |- - Client's minimum TLS version to enforce. Required if CryptoEnforcement is ENFORCE. Supported TLS versions are TLS1.1 and TLS1.2. + Client's minimum TLS version to enforce. Required if CryptoEnforcement is ENFORCE. Supported TLS versions are TLS1.1, TLS1.2 and TLS1.3. enum: - TLS_V1_2 - TLS_V1_1 - TLS_V1_0 + - TLS_V1_3 type: string crypto_enforcement: default: ENFORCE @@ -78395,6 +78924,9 @@ definitions: - TLS_RSA_WITH_AES_256_CBC_SHA256 - TLS_RSA_WITH_AES_256_CBC_SHA - TLS_RSA_WITH_AES_128_CBC_SHA + - TLS_AES_256_GCM_SHA384 + - TLS_AES_128_GCM_SHA256 + - TLS_CHACHA20_POLY1305_SHA256 type: string maxItems: 128 title: |- @@ -78403,20 +78935,22 @@ definitions: server_max_tls_version: default: TLS_V1_2 description: |- - Server's maximum TLS version to enforce. Required if CryptoEnforcement is ENFORCE. Supported versions are TLS1.1 and TLS1.2. + Server's maximum TLS version to enforce. Required if CryptoEnforcement is ENFORCE. Supported versions are TLS1.1, TLS1.2 and TLS1.3. enum: - TLS_V1_2 - TLS_V1_1 - TLS_V1_0 + - TLS_V1_3 type: string server_min_tls_version: default: TLS_V1_1 description: |- - Server's minimum TLS version to enforce. Required if CryptoEnforcement is ENFORCE. Supported versions are TLS1.1 and TLS1.2. + Server's minimum TLS version to enforce. Required if CryptoEnforcement is ENFORCE. Supported versions are TLS1.1, TLS1.2 and TLS1.3. enum: - TLS_V1_2 - TLS_V1_1 - TLS_V1_0 + - TLS_V1_3 type: string tls_config_setting: default: BALANCED @@ -78429,8 +78963,8 @@ definitions: - CUSTOM type: string required: - - proxy_trusted_ca_cert - proxy_untrusted_ca_cert + - proxy_trusted_ca_cert type: object x-vmw-nsx-module: PolicyTlsActionProfile description: |- @@ -78480,6 +79014,9 @@ definitions: - TLS_RSA_WITH_AES_256_CBC_SHA256 - TLS_RSA_WITH_AES_256_CBC_SHA - TLS_RSA_WITH_AES_128_CBC_SHA + - TLS_AES_256_GCM_SHA384 + - TLS_AES_128_GCM_SHA256 + - TLS_CHACHA20_POLY1305_SHA256 type: string maxItems: 128 title: |- @@ -78488,20 +79025,22 @@ definitions: client_max_tls_version: default: TLS_V1_2 description: |- - Client's maximum TLS version to enforce. Required if CryptoEnforcement is ENFORCE. Supported versions are TLS1.1 and TLS1.2. + Client's maximum TLS version to enforce. Required if CryptoEnforcement is ENFORCE. Supported versions are TLS1.1, TLS1.2 and TLS1.3. enum: - TLS_V1_2 - TLS_V1_1 - TLS_V1_0 + - TLS_V1_3 type: string client_min_tls_version: default: TLS_V1_1 description: |- - Client's minimum TLS version to enforce. Required if CryptoEnforcement is ENFORCE. Supported versions are TLS1.1 and TLS1.2. + Client's minimum TLS version to enforce. Required if CryptoEnforcement is ENFORCE. Supported versions are TLS1.1, TLS1.2 and TLS1.3. enum: - TLS_V1_2 - TLS_V1_1 - TLS_V1_0 + - TLS_V1_3 type: string crypto_enforcement: default: ENFORCE @@ -78573,6 +79112,9 @@ definitions: - TLS_RSA_WITH_AES_256_CBC_SHA256 - TLS_RSA_WITH_AES_256_CBC_SHA - TLS_RSA_WITH_AES_128_CBC_SHA + - TLS_AES_256_GCM_SHA384 + - TLS_AES_128_GCM_SHA256 + - TLS_CHACHA20_POLY1305_SHA256 type: string maxItems: 128 title: |- @@ -78581,20 +79123,22 @@ definitions: server_max_tls_version: default: TLS_V1_2 description: |- - Server's maximum TLS version to enforce. Required if CryptoEnforcement is ENFORCE. Supported versions are TLS1.0, TLS1.1 and TLS1.2 + Server's maximum TLS version to enforce. Required if CryptoEnforcement is ENFORCE. Supported versions are TLS1.0, TLS1.1, TLS1.2 and TLS1.3 enum: - TLS_V1_2 - TLS_V1_1 - TLS_V1_0 + - TLS_V1_3 type: string server_min_tls_version: default: TLS_V1_1 description: |- - Server's minimum TLS version to enforce. Required if CryptoEnforcement is ENFORCE. supported versions are TLS1.1 and TLS1.2. + Server's minimum TLS version to enforce. Required if CryptoEnforcement is ENFORCE. Supported versions are TLS1.1, TLS1.2 and TLS1.3. enum: - TLS_V1_2 - TLS_V1_1 - TLS_V1_0 + - TLS_V1_3 type: string tls_config_setting: default: BALANCED @@ -78921,8 +79465,8 @@ definitions: Transport node id type: string required: - - hyperbus_status - transport_node_id + - hyperbus_status type: object x-vmw-nsx-module: TnContainerStatus TnNodeAgentStatusListResult: @@ -78963,8 +79507,8 @@ definitions: Connected VM VIF id type: string required: - - hyperbus_connection_status - vif_id + - hyperbus_connection_status type: object x-vmw-nsx-module: TnContainerStatus TnNodeStackSpanStatus: @@ -79018,11 +79562,11 @@ definitions: - FAILED type: string required: - - dedicated_stack_status + - tn_node_name + - detail - last_updated_time + - dedicated_stack_status - vmknic_status - - detail - - tn_node_name title: |- List all L3PortMirrorSession TN nodes mirror stack health status type: object @@ -79528,6 +80072,15 @@ definitions: title: |- The name of the logical port into which the traceflow packet was delivered type: string + reason: + description: |- + This field specifies the deliver reason of traceflow packet. INT_PKT_EXCEED_VDS_MTU - When the traceflow packet traverse from ESX to VNA, the added INT telemetry headers push the frame size beyond the VDS MTU. + enum: + - INT_PKT_EXCEED_VDS_MTU + readOnly: true + title: |- + The reason traceflow packet was delivered + type: string resolution_type: description: |- This field specifies the resolution type of ARP ARP_SUPPRESSION_PORT_CACHE - ARP request is suppressed by IP table. ARP_SUPPRESSION_TABLE - ARP request is suppressed by ARP table. ARP_SUPPRESSION_CP_QUERY - ARP request is suppressed by info derived from CP. ARP_VM - No suppression and the ARP request is resolved by VM. ARP_LRP - No suppression and the ARP request is resolved by logical router. @@ -79740,7 +80293,7 @@ definitions: type: integer reason: description: |- - This field specifies the drop reason of traceflow packet. ARP_FAIL - ARP request fails for some reasons, please refer arp_fail_reason for detail BFD - BFD packet is dropped because traversed by non-operative interface or encountering internal error (e.g., memory insufficient) BROADCAST - Packet is dropped during traversing the interface (e.g., Edge uplink, Edge centralized service port) which disallow ethernet broadcast DHCP - DHCP packet is malformed DLB - The packet is disallowed by distributed load balancing FW_RULE - The packet matches a drop or reject rule of DFW or Edge firewall GENEVE - GENEVE packet is malformed GRE - GRE packet is malformed or traverses a non-operative interface IFACE - Packet traverses a non-operative interface IP - Packet is dropped because of IP related causes (e.g., ICMPv4/ICMPv6 packet is malformed, or DF flag is set but fragment must be performed for the packet) or corresponding interface is not found or inoperative IP_REASS - Packet is dropped during IP reassembly IPSEC - IPsec protocol related packet is dropped IPSEC_VTI - IPsec required SA is not found or traversing inoperative interface cause packet dropped L2VPN - VLAN id of GRE packet is invalid L4PORT - Layer 4 packet (e.g., BFD, DHCP) is dropped LB - Packet is dropped by load balancing rule LROUTER - Packet is dropped by logical router LSERVICE - Packet is malformed or traverses inoperative logical service interface LSWITCH - Packet is dropped by logical switch MANAGEMENT - Packet is dropped by Edge datapath MANAGEMENT service port MD_PROXY - Packet is dropped by metadata proxy NAT - Packet is dropped by NAT rule RTEP_TUNNEL - Unused drop reason ND_NS_FAIL - Neighbor Discovery packet fails NEIGH - ARP or Neighbor Discovery packet fails NO_EIP_FOUND - Destination IP is not an elastic IP NO_EIP_ASSOCIATION - Elastic IP is not associated with active edge VDR ENI NO_ENI_FOR_IP - There is no ENI found for the destination IP NO_ENI_FOR_LIF - Cannot find an ENI associated with uplink LIF NO_ROUTE - Cannot find route for destination IP NO_ROUTE_TABLE_FOUND - Cannot find associated route table NO_UNDERLAY_ROUTE_FOUND - Cannot find AWS route to destination NOT_VDR_DOWNLINK - Packet is not forwarded to VMC unmanaged VDR downlink NO_VDR_FOUND - VMC unmanaged VDR associated with Edge uplink is not found NO_VDR_ON_HOST - Cannot find VMC unmanaged VDR list on this host NOT_VDR_UPLINK - Packet is not forwarded to VDR uplink SERVICE_INSERT - Packet from guest VM to service VM or from service VM to guest VM is dropped by firewall rule SPOOFGUARD - Packet is blocked by SpoofGuard policy TTL_ZERO - The IPv4 time to live field of packet is zero. TUNNEL - Overlay tunnel management packet (VNI value of GENEVE header is 0, e.g., BFD) is dropped VLAN - VLAN id of packet is disallowed by the given port VXLAN - VXLAN packet is malformed or cannot find tunnel port for it VXSTT - Unused drop reason VMC_NO_RESPONSE - Failed to query VMC observations as no response from VMC app WRONG_UPLINK - Packet is not routed to the expected Edge uplink by VMC unmanaged VDR FW_STATE - Packet is dropped by stateful firewall NO_MAC - Drop by vswitch as no destination MAC hit MAC Table. FILTERED_UPLINK - Filtering applied at the corresponding UPLINK having no aggregation. IP_OUT_OF_SCOPE - An external IP is required if a packet from a non-public VPC subnet is trying to enter the external underlay network. DHCP_FORGED_MAC - The source MAC address of the DHCP packet sent to the DHCP server does not match the corresponding VIF MAC address of the source port. DHCP_IP_UNAVAILABLE - There is no DHCP client IP address available on the DHCP server. DHCP_IP_NOT_ALLOWED - The requested DHCP client IP address of the packet cannot be allocated from DHCP server. DHCP_INVALID_SERVER_IP_MAC - The DHCP packet is not destined to the DHCP server. NO_GATEWAY_CIDR_FOUND - There is no distributed connection for the source network of the packet to forward the packet to the physical gateway. CONNECTIVITY_POLICY - The packet is dropped due to violating communication rule of connectivity policy. HOP_LIMIT_ZERO - The IPv6 hop limit field of packet is zero. WRONG_SUBNET_GW_BLOCK - The packet is dropped by the gateway to enforce its confinement to the origin network of the VLAN extended subnet. The VLAN extended subnet is the terminology of both VPC overlay subnet and the extended VLAN network. ROUTE_DISTINGUISHER_MAC_RESOLUTION_FAILED - The MAC address of the route distinguisher fails to resolve. MAC_RPF_CHECK_FAILED - The packet is droped due to MAC-address-based reverse path forwarding check. This is to avoid the packet forwarding loops. + This field specifies the drop reason of traceflow packet. ARP_FAIL - ARP request fails for some reasons, please refer arp_fail_reason for detail BFD - BFD packet is dropped because traversed by non-operative interface or encountering internal error (e.g., memory insufficient) BROADCAST - Packet is dropped during traversing the interface (e.g., Edge uplink, Edge centralized service port) which disallow ethernet broadcast DHCP - DHCP packet is malformed DLB - The packet is disallowed by distributed load balancing FW_RULE - The packet matches a drop or reject rule of DFW or Edge firewall GENEVE - GENEVE packet is malformed GRE - GRE packet is malformed or traverses a non-operative interface IFACE - Packet traverses a non-operative interface IP - Packet is dropped because of IP related causes (e.g., ICMPv4/ICMPv6 packet is malformed, or DF flag is set but fragment must be performed for the packet) or corresponding interface is not found or inoperative IP_REASS - Packet is dropped during IP reassembly IPSEC - IPsec protocol related packet is dropped IPSEC_VTI - IPsec required SA is not found or traversing inoperative interface cause packet dropped L2VPN - VLAN id of GRE packet is invalid L4PORT - Layer 4 packet (e.g., BFD, DHCP) is dropped LB - Packet is dropped by load balancing rule LROUTER - Packet is dropped by logical router LSERVICE - Packet is malformed or traverses inoperative logical service interface LSWITCH - Packet is dropped by logical switch MANAGEMENT - Packet is dropped by Edge datapath MANAGEMENT service port MD_PROXY - Packet is dropped by metadata proxy NAT - Packet is dropped by NAT rule RTEP_TUNNEL - Unused drop reason ND_NS_FAIL - Neighbor Discovery packet fails NEIGH - ARP or Neighbor Discovery packet fails NO_EIP_FOUND - Destination IP is not an elastic IP NO_EIP_ASSOCIATION - Elastic IP is not associated with active edge VDR ENI NO_ENI_FOR_IP - There is no ENI found for the destination IP NO_ENI_FOR_LIF - Cannot find an ENI associated with uplink LIF NO_ROUTE - Cannot find route for destination IP NO_ROUTE_TABLE_FOUND - Cannot find associated route table NO_UNDERLAY_ROUTE_FOUND - Cannot find AWS route to destination NOT_VDR_DOWNLINK - Packet is not forwarded to VMC unmanaged VDR downlink NO_VDR_FOUND - VMC unmanaged VDR associated with Edge uplink is not found NO_VDR_ON_HOST - Cannot find VMC unmanaged VDR list on this host NOT_VDR_UPLINK - Packet is not forwarded to VDR uplink SERVICE_INSERT - Packet from guest VM to service VM or from service VM to guest VM is dropped by firewall rule SPOOFGUARD - Packet is blocked by SpoofGuard policy TTL_ZERO - The IPv4 time to live field of packet is zero. TUNNEL - Overlay tunnel management packet (VNI value of GENEVE header is 0, e.g., BFD) is dropped VLAN - VLAN id of packet is disallowed by the given port VXLAN - VXLAN packet is malformed or cannot find tunnel port for it VXSTT - Unused drop reason VMC_NO_RESPONSE - Failed to query VMC observations as no response from VMC app WRONG_UPLINK - Packet is not routed to the expected Edge uplink by VMC unmanaged VDR FW_STATE - Packet is dropped by stateful firewall NO_MAC - Drop by vswitch as no destination MAC hit MAC Table. FILTERED_UPLINK - Filtering applied at the corresponding UPLINK having no aggregation. IP_OUT_OF_SCOPE - An external IP is required if a packet from a non-public VPC subnet is trying to enter the external underlay network. DHCP_FORGED_MAC - The source MAC address of the DHCP packet sent to the DHCP server does not match the corresponding VIF MAC address of the source port. DHCP_IP_UNAVAILABLE - There is no DHCP client IP address available on the DHCP server. DHCP_IP_NOT_ALLOWED - The requested DHCP client IP address of the packet cannot be allocated from DHCP server. DHCP_INVALID_SERVER_IP_MAC - The DHCP packet is not destined to the DHCP server. NO_GATEWAY_CIDR_FOUND - There is no distributed connection for the source network of the packet to forward the packet to the physical gateway. CONNECTIVITY_POLICY - The packet is dropped due to violating communication rule of connectivity policy. HOP_LIMIT_ZERO - The IPv6 hop limit field of packet is zero. WRONG_SUBNET_GW_BLOCK - The packet is dropped by the gateway to enforce its confinement to the origin network of the VLAN extended subnet. The VLAN extended subnet is the terminology of both VPC overlay subnet and the extended VLAN network. ROUTE_DISTINGUISHER_MAC_RESOLUTION_FAILED - The MAC address of the route distinguisher fails to resolve. MAC_RPF_CHECK_FAILED - The packet is droped due to MAC-address-based reverse path forwarding check. This is to avoid the packet forwarding loops. ENCAP_PKT_EXCEED_VDS_MTU - The frame size of the encapsulated traceflow packet is larger than the VDS MTU. PKT_EXCEED_GW_MTU - The frame size of the traceflow packet is larger than the gateway interface MTU. ENCAP_PKT_EXCEED_RTEP_MTU - The frame size of the traceflow packet is larger than the remote tunnel endpoint MTU. enum: - ARP_FAIL - BFD @@ -79802,6 +80355,9 @@ definitions: - WRONG_SUBNET_GW_BLOCK - ROUTE_DISTINGUISHER_MAC_RESOLUTION_FAILED - MAC_RPF_CHECK_FAILED + - ENCAP_PKT_EXCEED_VDS_MTU + - PKT_EXCEED_GW_MTU + - ENCAP_PKT_EXCEED_RTEP_MTU readOnly: true title: |- The reason traceflow packet was dropped @@ -79814,6 +80370,12 @@ definitions: title: |- The ID of the connectivity policy that applies to the source of the packet type: integer + uplink_name: + description: |- + The uplink name where the traceflow packet is dropped + title: |- + The uplink name where the traceflow packet is dropped + type: string type: object x-vmw-nsx-module: Traceflow x-vmw-nsx-module: Traceflow @@ -81557,6 +82119,13 @@ definitions: allOf: - $ref: '#/definitions/ConfigurationState' - properties: + core_allocation_profile: + description: | + Realized Core Allocation Profile value. + enum: + - L4FORWARDING + - SECURITY + type: string deployment_progress_state: $ref: '#/definitions/TransportNodeDeploymentProgressState' hardware_version: @@ -82021,8 +82590,8 @@ definitions: VTEP device name type: string required: - - device_name - admin_state_up + - device_name type: object x-vmw-nsx-module: PolicyHostTransportNode description: |- @@ -82047,8 +82616,8 @@ definitions: VTEP device name type: string required: - - device_name - admin_state_up + - device_name type: object x-vmw-nsx-module: PolicyHostTransportNode description: |- @@ -82229,9 +82798,9 @@ definitions: Interface Subnet object parameter type: array required: - - edge_path - - source_address - tunnel_interface_subnet + - source_address + - edge_path title: |- Tunnel Address request parameters type: object @@ -82261,8 +82830,8 @@ definitions: Subnet Prefix Length maximum prefixlen for IPv4 address - 31, IPv6 address - 127. type: integer required: - - prefix_length - ip_addresses + - prefix_length type: object x-vmw-nsx-module: PolicyVpnIPSecVpn TunnelKeepAlive: @@ -82538,8 +83107,8 @@ definitions: Subnet Prefix Length type: integer required: - - prefix_length - ip_addresses + - prefix_length type: object x-vmw-nsx-module: PolicyL3Vpn TunnelTrafficStatistics: @@ -82611,11 +83180,11 @@ definitions: Receiver Endpoint type: string required: + - receiver_endpoint - org_id - - admin_action - correlation_id + - admin_action - instance_id - - receiver_endpoint type: object x-vmw-nsx-module: UAAgentCommon description: |- @@ -83083,8 +83652,8 @@ definitions: required: - user_session_id - user_name - - login_time - domain_name + - login_time type: object x-vmw-nsx-module: PolicyRealizedState VCFolderStatus: @@ -83980,8 +84549,8 @@ definitions: Widgets type: array required: - - display_name - widgets + - display_name type: object x-vmw-nsx-module: NsxDashboard description: |- @@ -84096,9 +84665,9 @@ definitions: $ref: '#/definitions/GuestInfo' host_id: description: |- - Id of the host in which this virtual machine exists. + Unique ID of the host in which this VM exists. title: |- - Id of the host in which this virtual machine exists. + Unique ID of the host in which this VM exists. type: string local_id_on_host: description: |- @@ -84145,10 +84714,10 @@ definitions: Flag to indicate if UPT is enabled type: boolean required: - - external_id - power_state - - compute_ids + - external_id - local_id_on_host + - compute_ids type: object x-vmw-nsx-module: Inventory x-vmw-nsx-module: Inventory @@ -84195,6 +84764,10 @@ definitions: - results type: object x-vmw-nsx-module: Inventory + description: | + List of virtual machines. + title: |- + List of virtual machines x-vmw-nsx-module: Inventory VirtualMachineRuntimeInfo: description: |- @@ -84270,9 +84843,9 @@ definitions: vm_deployment_config: $ref: '#/definitions/VirtualNetworkApplianceDeploymentConfig' required: - - vm_deployment_config - management_interface - hostname + - vm_deployment_config type: object x-vmw-nsx-module: NetworkAppliance description: | @@ -84542,6 +85115,14 @@ definitions: type: string configuration_state: $ref: '#/definitions/VirtualNetworkApplianceConfigurationState' + core_allocation_profile: + description: | + This holds the core allocation profile realized at virtual network appliance. + enum: + - L4FORWARDING + - SECURITY + readOnly: true + type: string title: |- Policy VirtualNetworkAppliance Cluster Members State Info type: object @@ -84932,12 +85513,14 @@ definitions: title: |- vCenter Storage/Datastore Managed Object ID (MoID) type: string + host_affinity_config: + $ref: '#/definitions/EdgeHostAffinityConfig' reservation_info: $ref: '#/definitions/ReservationInfo' required: - cluster_or_resource_pool_id - - compute_manager_id - datastore_id + - compute_manager_id type: object x-vmw-nsx-module: NetworkAppliance VirtualNetworkApplianceListResult: @@ -84988,8 +85571,8 @@ definitions: Portgroup or segment path for management network connectivity. type: string required: - - network_id - ip_assignment_specs + - network_id type: object x-vmw-nsx-module: NetworkAppliance VirtualNetworkApplianceState: @@ -85058,9 +85641,9 @@ definitions: type: string host_id: description: |- - Id of the host on which the vm exists. + Unique ID of the host where this VirtualNetworkInterface's VM resides. title: |- - Id of the host on which the vm exists. + Unique ID of the host where this VirtualNetworkInterface's VM resides. type: string ip_address_info: description: |- @@ -85114,12 +85697,12 @@ definitions: Id of the vm unique within the host. type: string required: - - external_id - - vm_local_id_on_host - - device_key - mac_address - - host_id - owner_vm_id + - host_id + - device_key + - external_id + - vm_local_id_on_host type: object x-vmw-nsx-module: Inventory x-vmw-nsx-module: Inventory @@ -85341,8 +85924,8 @@ definitions: List of VNI ids type: string required: - - vnis - vlans + - vnis title: |- Vlan Vni pair resource type: object @@ -85359,6 +85942,13 @@ definitions: title: |- Realized State of Allow root SSH login state. type: boolean + core_allocation_profile: + description: | + Realized Core Allocation Profile value. + enum: + - L4FORWARDING + - SECURITY + type: string dns_servers: description: | List of DNS servers. @@ -85464,8 +86054,8 @@ definitions: ESX vmk interface name type: string required: - - destination_network - device_name + - destination_network title: |- Vmknic network specification type: object @@ -85493,8 +86083,8 @@ definitions: Start value of VNI Pool range type: integer required: - - end - start + - end type: object x-vmw-nsx-module: PolicyConnectivity description: |- @@ -85566,9 +86156,9 @@ definitions: type: string required: - root_certificate + - vidb_certificate - vidb_fqdn - client_id - - vidb_certificate type: object x-vmw-nsx-module: Policy description: | @@ -85938,6 +86528,7 @@ definitions: IPv4 or IPv6 address format: ip type: string + maxItems: 8 type: array required: - server_addresses @@ -86422,6 +87013,17 @@ definitions: title: |- Identifier of parent port that the child port is linked to type: string + periodic_garp_interval: + description: | + The effective interval in seconds at which this service VM instance is + sending periodic Gratuitous ARP (GARP) packets on its internal IP. + Populated only when periodic GARP is active on the associated + DistributedVxlanConnection. + format: int64 + readOnly: true + title: |- + Effective periodic GARP interval in seconds + type: integer service_interface_id: description: | Identifier of the service interface connecting VPC service instance to VPC DR. @@ -87794,8 +88396,8 @@ definitions: type: integer required: - days_of_week - - minute_of_day - hour_of_day + - minute_of_day type: object x-vmw-nsx-module: BackupConfiguration description: |- @@ -88394,7 +88996,7 @@ host: nsxmanager.your.domain info: description: VMware NSX Policy REST API title: NSX Policy API - version: 9.1.0.0 + version: 9.1.1.0 parameters: {} paths: /aaa/features-with-properties: @@ -89043,6 +89645,8 @@ paths: consumes: - application/json description: |- + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Delete object-permissions entries operationId: DeleteObjectPermissions parameters: @@ -89133,11 +89737,14 @@ paths: DELETE https://<policy-mgr>/policy/api/v1/aaa/object-permissions?role_name=cloud_admin&path_prefix=infra/domains/MGW x-vmw-nsx-example-response: |- 200 OK + x-vmw-nsx-experimental: true x-vmw-nsx-module: PolicyAuthz get: consumes: - application/json description: |- + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Get list of Object-level RBAC entries. operationId: GetObjectPermissions parameters: @@ -89244,11 +89851,14 @@ paths: } ] } + x-vmw-nsx-experimental: true x-vmw-nsx-module: PolicyAuthz patch: consumes: - application/json description: |- + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Create/update object permission mappings operationId: UpdateObjectPermissions parameters: @@ -89295,6 +89905,7 @@ paths: } x-vmw-nsx-example-response: |- 200 OK + x-vmw-nsx-experimental: true x-vmw-nsx-module: PolicyAuthz /aaa/registration-token: post: @@ -93789,7 +94400,7 @@ paths: "authentication_scheme":{ "scheme_name":"KEY", "username":"admin", - "identity_file":"-----BEGIN PRIVATE KEY-----\nMIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAQCfJGCSdJx+qKxt\nE4vmwdLYbFjeuYMNqC3YfB+6sWcqkkZc708zlIyl7Z3F4PE3THDWBo6gCCa3vi6E\nL8HRHUcl8HM4iZxUt352MEJkUuUtkn5tMI5phm9r6bZS736w+AsyYawcOpI24253\nuqPWRXv1VzFJBwk+lgBlzEuarcH7krimBfC1pJdyG7KsfPhTiwtgXA7b2Hz6p9Ub\nuozZ9A1OigyR6QbFKJ/Fl0EsmUinRsPFkeiijF3uQuTUPl0lhty+UY99GmmRQ0+v\nH2wKUbyh6+T4vmhBhVrBTqhCfIJrD6ZJin20AYJUxiu9SSdLq7HzMR4LnEe78/0T \nlGG7yP0jAgMBAAECggEAG94+bRcvmnyGKVm9a4zwk8axb1tUKE2Vra3azpIna0yP\nNtIPcAxo7tuj/9Vq2FCyB8DBNCQJR67trWdBjRGP9oRbYQC0GB/D7QV5cuETUf4v\n1oYkwjTxCRg1veNDr9DYARwajBzzotoD68KK00h6sxVwQ4YQZ93Ttv/mE3GvIRMj\nQN1s6VbFe7jUpEzfJO6/Mg4aRKrFEIp/5q7NRT4jwY4UBJlEC0I9zhrs4rnyIjWR\nLpazAmugcMQ4Uj8xaIDg4rb/KfjdiitivW+6AhXd49RLm6GXncXv1hwN6wZ1Punb\nxV8+xwt9BS5gwBuNASokjwOTswj+bxYXTsaxHPfjvQKBgQDMhsssUOhLJrohcGdR\n3dF/jeJZ6a+GMydBhiVdWHAhx1prEcjH65o0jpWefpk3XiJVcTtdhHtU8Qamm0xV\nVxaVd8W9LJZBRmjJ0VAzghBWzq4je3pw6JAIhVYL3bWzR74xVa9NiFXu8ZqLsJjw\nNlEPQ9vZQZwIDUOs1p9as7PUFQKBgQDHMY+8x/YyyYRhLCsqgdynV3Lc2J5Hk9bN \nqo604uhEAJTbHTZ7WwRAT9QNbIBJwx7j5z1m4MEUq0RFe+MDyW+ACxz+oIGrgmMe\nVcNdvlzQHGywo3BC5CvygU1RrSnu1pqeLk9Vo5KXTz3rAr59Icw54rw7BC7b2RqY\nSnmQUCTCVwKBgBjJ0YAagjzxgaeh3vPeJZEHGkL5fquOMZjQcGDi4hxF9CB79FC+ \nrl7mVR3zjBBY2WJvqdlIwEXoPH0e316MgpE1BgNKjx90MCkdtFG51s8el553Tby3\ngxV1S5t+kJIdBOEn2GpWNswR/kAl9DNQ8fweplurhwS2ztf43zF4DDiNAoGARpo1\nhUcm53dv2XVrU2S2DgY76zVIXLx07W7fqBOpGblPCZ8AGZb4GcdxtNRZYEutnj/v \nDpDpPuc5iptPqp7yS2MlAsdnTqAne7AQUCDSCt2YVL+JYdw4C3tzKVkEPOiJ4zks\n24Dfy4vFuY++buHU3kuURiLEbR41g/cZwWH2tX8CgYAaXJvi9UkNlYfcIzsTqnkC\nmEJt1keFgoD6U0VK2SWL65EL24s5bC81cVtQo6cuVRiAbKKyvcI0/qwnDqIRa9/J\nuakA4piJcmbae9qSNRdloIYdYKT4k7DRHoh45eB7ZKdCu76gUUllOAdr8DGF6xBr\nzHPHeBNiX4ORwTewAEf+VA==\n-----END PRIVATE KEY-----" + "identity_file":"-----BEGIN PRIVATE KEY-----\n\n-----END PRIVATE KEY-----" } }, "directory_path":"/nsx-backups" @@ -93813,7 +94424,7 @@ paths: "authentication_scheme":{ "scheme_name":"KEY", "username":"admin", - "identity_file":"-----BEGIN PRIVATE KEY-----\nMIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAQCfJGCSdJx+qKxt\nE4vmwdLYbFjeuYMNqC3YfB+6sWcqkkZc708zlIyl7Z3F4PE3THDWBo6gCCa3vi6E\nL8HRHUcl8HM4iZxUt352MEJkUuUtkn5tMI5phm9r6bZS736w+AsyYawcOpI24253\nuqPWRXv1VzFJBwk+lgBlzEuarcH7krimBfC1pJdyG7KsfPhTiwtgXA7b2Hz6p9Ub\nuozZ9A1OigyR6QbFKJ/Fl0EsmUinRsPFkeiijF3uQuTUPl0lhty+UY99GmmRQ0+v\nH2wKUbyh6+T4vmhBhVrBTqhCfIJrD6ZJin20AYJUxiu9SSdLq7HzMR4LnEe78/0T \nlGG7yP0jAgMBAAECggEAG94+bRcvmnyGKVm9a4zwk8axb1tUKE2Vra3azpIna0yP\nNtIPcAxo7tuj/9Vq2FCyB8DBNCQJR67trWdBjRGP9oRbYQC0GB/D7QV5cuETUf4v\n1oYkwjTxCRg1veNDr9DYARwajBzzotoD68KK00h6sxVwQ4YQZ93Ttv/mE3GvIRMj\nQN1s6VbFe7jUpEzfJO6/Mg4aRKrFEIp/5q7NRT4jwY4UBJlEC0I9zhrs4rnyIjWR\nLpazAmugcMQ4Uj8xaIDg4rb/KfjdiitivW+6AhXd49RLm6GXncXv1hwN6wZ1Punb\nxV8+xwt9BS5gwBuNASokjwOTswj+bxYXTsaxHPfjvQKBgQDMhsssUOhLJrohcGdR\n3dF/jeJZ6a+GMydBhiVdWHAhx1prEcjH65o0jpWefpk3XiJVcTtdhHtU8Qamm0xV\nVxaVd8W9LJZBRmjJ0VAzghBWzq4je3pw6JAIhVYL3bWzR74xVa9NiFXu8ZqLsJjw\nNlEPQ9vZQZwIDUOs1p9as7PUFQKBgQDHMY+8x/YyyYRhLCsqgdynV3Lc2J5Hk9bN \nqo604uhEAJTbHTZ7WwRAT9QNbIBJwx7j5z1m4MEUq0RFe+MDyW+ACxz+oIGrgmMe\nVcNdvlzQHGywo3BC5CvygU1RrSnu1pqeLk9Vo5KXTz3rAr59Icw54rw7BC7b2RqY\nSnmQUCTCVwKBgBjJ0YAagjzxgaeh3vPeJZEHGkL5fquOMZjQcGDi4hxF9CB79FC+ \nrl7mVR3zjBBY2WJvqdlIwEXoPH0e316MgpE1BgNKjx90MCkdtFG51s8el553Tby3\ngxV1S5t+kJIdBOEn2GpWNswR/kAl9DNQ8fweplurhwS2ztf43zF4DDiNAoGARpo1\nhUcm53dv2XVrU2S2DgY76zVIXLx07W7fqBOpGblPCZ8AGZb4GcdxtNRZYEutnj/v \nDpDpPuc5iptPqp7yS2MlAsdnTqAne7AQUCDSCt2YVL+JYdw4C3tzKVkEPOiJ4zks\n24Dfy4vFuY++buHU3kuURiLEbR41g/cZwWH2tX8CgYAaXJvi9UkNlYfcIzsTqnkC\nmEJt1keFgoD6U0VK2SWL65EL24s5bC81cVtQo6cuVRiAbKKyvcI0/qwnDqIRa9/J\nuakA4piJcmbae9qSNRdloIYdYKT4k7DRHoh45eB7ZKdCu76gUUllOAdr8DGF6xBr\nzHPHeBNiX4ORwTewAEf+VA==\n-----END PRIVATE KEY-----" + "identity_file":"-----BEGIN PRIVATE KEY-----\n\n-----END PRIVATE KEY-----" } }, "directory_path":"/nsx-backups" @@ -98060,12 +98671,10 @@ paths: consumes: - application/json description: | - Returns supported attribute and sub-attributes for specified - attribute key with their supported values, if provided in query/request - parameter, else will fetch all supported attributes and sub-attributes for - all supported attribute keys. - Alternatively, to get a list of supported attributes and sub-attributes fire the following REST API - GET https://<policy-mgr>/policy/api/v1/infra/context-profiles/attributes + Returns supported attributes and sub-attributes along with their allowed + values. When an attribute_key query parameter is supplied, only the + matching attribute and its sub-attributes are returned. When omitted, + all supported attribute keys and their corresponding values are returned. operationId: GlobalInfraListProfileSupportedAttributes parameters: - description: 'It fetches attributes and subattributes for the given attribute @@ -98684,17 +99293,15 @@ paths: consumes: - application/json description: | - Creates/Updates a PolicyContextProfile, which encapsulates attribute and - sub-attributes of network services. - Rules for using attributes and sub-attributes in single PolicyContextProfile - 1. One type of attribute can't have multiple occurrences. ( Eg. - - Attribute type APP_ID can be used only once per PolicyContextProfile.) - 2. For specifying multiple values for an attribute, provide them in an array. - 3. If sub-attribtes are mentioned for an attribute, then only single - value is allowed for that attribute. - 4. To get a list of supported attributes and sub-attributes fire the following REST API - GET https://<policy-mgr>/policy/api/v1/infra/context-profiles/attributes - 5. Do not create context profile with "custom_attributes" id + Creates a new Policy Context Profile or selectively updates the fields + provided in the request body of an existing one. + Rules for using attributes and sub-attributes in a single PolicyContextProfile: + 1. Each attribute key may appear only once per profile. (e.g. APP_ID + can be specified at most once.) + 2. Multiple values for an attribute must be supplied as an array. + 3. When sub-attributes are provided for an attribute, that attribute + must have exactly one value. + 4. The reserved id "custom_attributes" must not be used as a profile id. operationId: GlobalInfraPatchCreateOrUpdatePolicyContextProfile parameters: - in: path @@ -98754,7 +99361,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Create PolicyContextProfile + Create or partially update a Policy Context Profile tags: - Inventory - Context Profiles @@ -98803,17 +99410,16 @@ paths: consumes: - application/json description: | - Creates/Updates a PolicyContextProfile, which encapsulates attribute and - sub-attributes of network services. - Rules for using attributes and sub-attributes in single PolicyContextProfile - 1. One type of attribute can't have multiple occurrences. ( Eg. - - Attribute type APP_ID can be used only once per PolicyContextProfile.) - 2. For specifying multiple values for an attribute, provide them in an array. - 3. If sub-attribtes are mentioned for an attribute, then only single - value is allowed for that attribute. - 4. To get a list of supported attributes and sub-attributes fire the following REST API - GET https://<policy-mgr>/policy/api/v1/infra/context-profiles/attributes - 5. Do not create context profile with "custom_attributes" id + Creates a new Policy Context Profile or fully replaces an existing one. + The entire profile is replaced with the contents of the request body; + any fields not included in the request will be reset to their defaults. + Rules for using attributes and sub-attributes in a single PolicyContextProfile: + 1. Each attribute key may appear only once per profile. (e.g. APP_ID + can be specified at most once.) + 2. Multiple values for an attribute must be supplied as an array. + 3. When sub-attributes are provided for an attribute, that attribute + must have exactly one value. + 4. The reserved id "custom_attributes" must not be used as a profile id. operationId: GlobalInfraPutCreateOrUpdatePolicyContextProfile parameters: - in: path @@ -98877,7 +99483,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Create PolicyContextProfile + Create or replace a Policy Context Profile tags: - Inventory - Context Profiles @@ -100889,7 +101495,8 @@ paths: consumes: - application/json description: | - Read a domain. + Returns the configuration of a specific domain identified by the domain ID. + Domains are used to scope groups, security policies, and gateway policies. operationId: GlobalInfraReadDomainForInfra parameters: - description: |- @@ -100920,7 +101527,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Read domain + Read a domain by ID tags: - Policy - Domains @@ -101872,8 +102479,10 @@ paths: get: consumes: - application/json - description: |- - Read group + description: | + Returns the configuration of a specific group within a domain, identified + by domain ID and group ID. Groups define membership criteria for workloads and are + used as sources, destinations, and scopes in security policies. operationId: GlobalInfraReadGroupForDomain parameters: - description: |- @@ -101910,7 +102519,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Read group + Read a group by ID tags: - Inventory - Groups @@ -102689,10 +103298,10 @@ paths: get: consumes: - application/json - description: | - It retrieves member types for a given group. In case of nested groups, it calculates - member types of child groups as well. Considers member type for members added - via static members and dynamic membership criteria. + description: "It retrieves member types for a given group - based on the expression\ + \ used in the group or the definition of the \ngroup via static and dynamic\ + \ criteria. In case of nested groups, it calculates member types of child\ + \ groups as well.\n" operationId: GlobalInfraGetMemberTypesForGroup parameters: - description: |- @@ -102729,7 +103338,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Get member types for a given Group + Get member types for a given Group based on the expressions used in the group. tags: - Inventory - Groups @@ -105150,8 +105759,10 @@ paths: get: consumes: - application/json - description: |- - Read IDS rule + description: | + Returns the configuration of a specific Intrusion Detection System (IDS) rule within + a gateway intrusion service policy. Gateway IDS rules inspect north-south traffic + passing through a Tier-1 or Tier-0 gateway for intrusion patterns. operationId: GlobalInfraReadIdsGatewayRule parameters: - in: path @@ -105188,7 +105799,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Read IDS rule + Read a gateway IDS/IPS intrusion detection rule by ID tags: - Security (North South) - Ips & Malware (Rules) @@ -105985,7 +106596,9 @@ paths: consumes: - application/json description: | - List intrusion detection rules. + Returns a paginated list of all Intrusion Detection System (IDS) rules within a + specific intrusion service policy. Rules are evaluated in sequence to detect and + prevent network intrusion attempts based on configured IDS profiles. operationId: GlobalInfraListIdsRules parameters: - description: |- @@ -106060,7 +106673,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - List IDS rules + List IDS/IPS intrusion detection rules in a policy tags: - Security (East West) - Ips & Malware (Rules) @@ -106119,7 +106732,8 @@ paths: consumes: - application/json description: | - Read intrusion detection rule + Returns the configuration of a specific distributed IDS/IPS rule within an intrusion + service policy, identified by domain ID, policy ID, and rule ID. operationId: GlobalInfraGetIdsRule parameters: - description: |- @@ -106162,7 +106776,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Get IDS rule. + Read a distributed IDS/IPS intrusion detection rule by ID tags: - Security (East West) - Ips & Malware (Rules) @@ -106221,7 +106835,7 @@ paths: consumes: - application/json description: | - List all security policies for a domain. + List all distributed firewall (DFW) security policies for a domain. operationId: GlobalInfraListSecurityPoliciesForDomain parameters: - in: path @@ -106299,7 +106913,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - List security policies + List distributed firewall security policies tags: - Security (East West) - Distributed Firewall (Rules) @@ -106316,7 +106930,7 @@ paths: "results": [ { "resource_type": "SecurityPolicy", - "description": "comm map", + "description": "security policy", "id": "application-section-1", "display_name": "application-section-1", "path": "/infra/domains/vmc/security-policies/application-section-1", @@ -106358,7 +106972,7 @@ paths: consumes: - application/json description: | - Read security policy for a domain. + Read a distributed firewall (DFW) security policy for a domain. operationId: GlobalInfraReadSecurityPolicyForDomain parameters: - in: path @@ -106391,7 +107005,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Read security policy + Read a distributed firewall security policy tags: - Security (East West) - Distributed Firewall (Rules) @@ -106403,7 +107017,7 @@ paths: x-vmw-nsx-example-response: | { "resource_type": "SecurityPolicy", - "description": "comm map", + "description": "security policy", "id": "application-section-1", "display_name": "application-section-1", "path": "/infra/domains/vmc/security-policies/application-section-1", @@ -106412,7 +107026,7 @@ paths: "rules": [ { "resource_type": "Rule", - "description": " comm entry", + "description": " rule", "id": "ce-1", "display_name": "ce-1", "path": "/infra/domains/vmc/security-policies/application-section-1/rules/ce-1", @@ -106434,6 +107048,7 @@ paths: "/infra/services/HTTP", "/infra/services/CIM-HTTP" ], + "rule_id": 1003, "_create_user": "admin", "_create_time": 1517317382942, "_last_modified_user": "admin", @@ -106458,8 +107073,9 @@ paths: get: consumes: - application/json - description: |- - List rules + description: | + Returns a list of all distributed firewall rules within a specific security + policy. operationId: GlobalInfraListSecurityRules parameters: - in: path @@ -106530,7 +107146,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - List rules + List distributed firewall rules in a security policy tags: - Security (East West) - Distributed Firewall (Rules) @@ -106547,7 +107163,7 @@ paths: "results": [ { "resource_type": "Rule", - "description": " comm entry", + "description": " rule", "id": "ce-1", "display_name": "ce-1", "path": "/infra/domains/vmc/security-policies/application-section-1/rules/ce-1", @@ -106569,6 +107185,7 @@ paths: "/infra/services/HTTP", "/infra/services/CIM-HTTP" ], + "rule_id": 1003, "_create_user": "admin", "_create_time": 1517317382942, "_last_modified_user": "admin", @@ -106584,8 +107201,9 @@ paths: get: consumes: - application/json - description: |- - Read rule + description: | + Returns the configuration of a specific distributed firewall rule within a security + policy. operationId: GlobalInfraReadSecurityRule parameters: - in: path @@ -106622,7 +107240,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Read rule + Read a distributed firewall rule by ID tags: - Security (East West) - Distributed Firewall (Rules) @@ -106634,7 +107252,7 @@ paths: x-vmw-nsx-example-response: | { "resource_type": "Rule", - "description": " comm entry", + "description": " rule", "id": "ce-1", "display_name": "ce-1", "path": "/infra/domains/vmc/security-policies/application-section-1/rules/ce-1", @@ -106656,6 +107274,7 @@ paths: "/infra/services/HTTP", "/infra/services/CIM-HTTP" ], + "rule_id": 1002, "_create_user": "admin", "_create_time": 1517317382942, "_last_modified_user": "admin", @@ -106864,8 +107483,8 @@ paths: get: consumes: - application/json - description: |- - List policy drafts. + description: | + Returns a paginated list of all DFW drafts. operationId: GlobalInfraListDrafts parameters: - description: 'If set to true, then only auto drafts will be get fetched. @@ -106938,7 +107557,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - List policy drafts + List all policy configuration drafts tags: - Security (East West) - Distributed Firewall (Drafts) @@ -107039,7 +107658,9 @@ paths: consumes: - application/json description: | - Read a draft for a given draft identifier. + Returns the configuration of a specific NSX policy draft identified by the draft ID. + Drafts allow administrators to stage and review configuration changes before publishing + them to the live environment. operationId: GlobalInfraReadDraft parameters: - in: path @@ -107068,7 +107689,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Read draft + Read a policy configuration draft by ID tags: - Security (East West) - Distributed Firewall (Drafts) @@ -107786,7 +108407,7 @@ paths: consumes: - application/json description: | - Read a draft and publish it by applying changes onto current configuration. + Publishes a draft by applying its staged configuration changes onto the live environment. If there are additional changes on top of draft configuration, pass it as a request body, in form of Infra object. Otherwise, if there are no additional changes, then pass empty Infra object as a request body. @@ -107819,7 +108440,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Publish a draft + Publish a policy draft and apply its changes tags: - Security (East West) - Distributed Firewall (Drafts) @@ -109427,7 +110048,7 @@ paths: consumes: - application/json description: | - Get the list of rules of given parent path of policy/section, filtered + Get the list of firewall rules of a given parent policy path, filtered based on the given criteria. Parent path is mandatory. operationId: GlobalInfraGetFilteredRules @@ -109500,7 +110121,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Get rules filtered based on the given criteria + Get firewall rules filtered by criteria tags: - Security - Firewall @@ -115779,15 +116400,78 @@ paths: The request is evaluated as follows: - <intent_path>: the request is evaluated on all enforcement points for the given intent without enforcement point specific details. - - <intent_path, include_enforced_status>: the request is evaluated on all enforcement points for - the given intent with enforcement point specific details. + - <intent_path, include_enforced_status=true>: the request is evaluated on all enforcement points + for the given intent with enforcement point specific details. This is only supported when intent_path + refers to an object of one of the following types: + SECURITY_POLICY, + GATEWAY_POLICY, + IDS_SECURITY_POLICY, + IDS_GATEWAY_POLICY, + IDS_COMPRESSED_SIGNATURE, + IDS_COMPRESSED_CUSTOM_SIGNATURE, + TLS_POLICY, + VPC_SECURITY_POLICY, + VPC_GATEWAY_POLICY, + PUBLIC_CLOUD_VPC_SECURITY_POLICY, + Passing the path of an unsupported type (e.g. a rule) with include_enforced_status=true + will result in an error. In such cases, pass the path of the parent policy object instead + (e.g., the SecurityPolicy or GatewayPolicy that contains the rule). operationId: GlobalInfraReadIntentStatus parameters: - default: false - description: 'Flag conveying whether to include detailed view of the enforcement - point specific + description: 'Flag conveying whether to include detailed per-transport-node + enforcement status + + in the response. + + When set to true, each item in consolidated_status_per_enforcement_point + is returned - status or not. + as ConsolidatedStatusNsxT (with the enforced_status field populated). + + When set to false (default), each item is returned as ConsolidatedStatusPerEnforcementPoint + + (enforced_status absent). + + Use the resource_type field in each item to distinguish between the two + types. + + This flag is only supported when intent_path refers to an object of one + of the + + following types: + + SECURITY_POLICY, + + GATEWAY_POLICY, + + IDS_SECURITY_POLICY, + + IDS_GATEWAY_POLICY, + + IDS_COMPRESSED_SIGNATURE, + + IDS_COMPRESSED_CUSTOM_SIGNATURE, + + TLS_POLICY, + + VPC_SECURITY_POLICY, + + VPC_GATEWAY_POLICY, + + PUBLIC_CLOUD_VPC_SECURITY_POLICY, + + COMMUNICATION_MAP (deprecated alias for SECURITY_POLICY), + + EDGE_COMMUNICATION_MAP (deprecated alias for GATEWAY_POLICY). + + Setting this flag for any other type (e.g. a rule path) will result in an + error. + + In such cases, pass the path of the parent policy object instead (e.g., + the + + SecurityPolicy or GatewayPolicy that contains the rule). ' in: query @@ -115851,6 +116535,7 @@ paths: }, "consolidated_status_per_enforcement_point": [ { + "resource_type": "ConsolidatedStatusNsxT", "enforced_status": { "enforced_status_info": { "enforced_status": { @@ -117300,14 +117985,17 @@ paths: get: consumes: - application/json - description: | - Read infra segment - Note: - Extended Segment: Please note that old vpn path deprecated. If user specify old l2vpn path in the - "l2_extension" object in the PATCH API payload, the path returned in the GET response payload may include the new path - instead of the deprecated l2vpn path. Both old and new l2vpn path refer to same resource. there is no functional impact. - Also note that l2vpn path included in the error messages returned from validation may include the new VPN path - instead of the deprecated l2vpn path. Both new path and old vpn path refer to same resource. + description: "Returns the configuration of a specific NSX network segment (logical\ + \ switch) identified\nby segment ID. Segments provide Layer 2 connectivity\ + \ for workloads and are connected to\na Tier-0 or Tier-1 gateway for Layer\ + \ 3 routing.\nNote: Extended Segment (L2VPN) \u2014 if an old vpn path was\ + \ specified in the l2_extension\nobject in a previous PATCH request, the GET\ + \ response may return the new canonicalized\npath instead of the original\ + \ path that was submitted.\n instead of the deprecated l2vpn path. Both old\ + \ and new l2vpn path refer to same resource. there is no functional impact.\n\ + \ Also note that l2vpn path included in the error messages returned from\ + \ validation may include the new VPN path\n instead of the deprecated l2vpn\ + \ path. Both new path and old vpn path refer to same resource.\n" operationId: GlobalInfraReadInfraSegment parameters: - description: |- @@ -117338,7 +118026,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Read infra segment + Read a network segment by ID tags: - Networking (Switching) - Segments @@ -121915,7 +122603,7 @@ paths: consumes: - application/json description: | - Return list of Services. + Returns a paginated list of all services. operationId: GlobalInfraListServicesForTenant parameters: - description: Opaque cursor to be used for getting next page of records (supplied @@ -121990,7 +122678,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - List Services + List all Services tags: - Inventory - Services @@ -122048,8 +122736,8 @@ paths: get: consumes: - application/json - description: |- - Read a service + description: | + Returns the configuration of a specific service identified by service ID. operationId: GlobalInfraReadServiceForTenant parameters: - description: |- @@ -122080,7 +122768,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Read a service + Read a service by ID tags: - Inventory - Services @@ -123619,7 +124307,7 @@ paths: consumes: - application/json description: | - Read exclude list for firewall + Read the exclude list for the distributed firewall (DFW). Members in this list are excluded from DFW enforcement. operationId: GlobalInfraGetFirewallExcludeList produces: - application/json @@ -123643,7 +124331,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Read security policy exclude list + Read the distributed firewall exclude list tags: - Security (East West) - Distributed Firewall (Exclusion List) @@ -123793,7 +124481,7 @@ paths: consumes: - application/json description: | - Read security policy exclude list including system and user excluded members. + Read the distributed firewall (DFW) exclude list including both system-owned and user-defined excluded members. operationId: GlobalInfraGetInternalFirewallExcludeList produces: - application/json @@ -123817,7 +124505,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Read security policy exclude list including system and user excluded members + Read the distributed firewall exclude list including system and user excluded members tags: - Security (East West) - Distributed Firewall (Exclusion List) @@ -125019,6 +125707,8 @@ paths: consumes: - application/json description: | + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Trigger the process to collect all pcap files of all the pcap_ids mentioned in request payload. operationId: GlobalInfraExportIdsPcapFile parameters: @@ -125062,6 +125752,7 @@ paths: - on-prem x-vmw-nsx-example-request: | POST https://<policy-mgr>/policy/api/v1/infra/settings/firewall/security/intrusion-services/pcaps/export + x-vmw-nsx-experimental: true x-vmw-nsx-module: PolicyIDS /global-infra/settings/firewall/security/intrusion-services/pcaps/{file-name}/download: get: @@ -125495,6 +126186,29 @@ paths: x-vmw-nsx-deployment-modes: - vmc - on-prem + x-vmw-nsx-example-request: | + GET https://<policy-mgr>/policy/api/v1/infra/settings/firewall/security/intrusion-services/profiles/testProfile/effective-signatures + x-vmw-nsx-example-response: | + { + "signatures": [ + { + "signature_id": "2059955", + "revision": 2, + "action": "ALERT" + }, + { + "signature_id": "1064004", + "revision": 7056, + "action": "ALERT" + }, + { + "signature_id": "1134186", + "revision": 0, + "action": "ALERT" + } + ], + "profile_path": "/infra/settings/firewall/security/intrusion-services/profiles/testProfile" + } x-vmw-nsx-module: PolicyIDS /global-infra/settings/firewall/security/intrusion-services/signature-versions/{version-id}/signatures: get: @@ -129605,6 +130319,7 @@ paths: { "tz_type": "OVERLAY_BACKED", "is_default": true, + "is_security": false, "transport_zone_profile_paths": [ "/infra/transport-zone-profiles/tzp" ], @@ -129688,6 +130403,7 @@ paths: { "tz_type": "OVERLAY_BACKED", "is_default": true, + "is_security": false, "nested_nsx": false, "authorized_vlans": [ "5", @@ -134362,6 +135078,8 @@ paths: consumes: - application/json description: |- + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Read BGP troubleshoot config operationId: GlobalInfraReadBgpTroubleshootConfig parameters: @@ -134409,11 +135127,14 @@ paths: "bfd_control_pkt_diagnostics": true, "_revision": 0 } + x-vmw-nsx-experimental: true x-vmw-nsx-module: PolicyConnectivity patch: consumes: - application/json description: | + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
If BGP troubleshoot config is not present in BGP configuration, create a new BGP troubleshoot config with default value. If it already exists, update the BGP troubleshoot config with this object. @@ -134495,11 +135216,14 @@ paths: } x-vmw-nsx-example-response: |- 200 OK + x-vmw-nsx-experimental: true x-vmw-nsx-module: PolicyConnectivity put: consumes: - application/json description: | + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
If BGP troubleshoot config is not present in BGP configuration, create a new BGP troubleshoot config with default value. If it already exists, update the BGP troubleshoot config with this object. @@ -134590,6 +135314,7 @@ paths: "bfd_control_pkt_diagnostics": true, "_revision": 0 } + x-vmw-nsx-experimental: true x-vmw-nsx-module: PolicyConnectivity /global-infra/tier-0s/{tier-0-id}/locale-services/{locale-service-id}/interface-groups/{interface-group-id}/statistics: get: @@ -138336,6 +139061,10 @@ paths: MALWAREPREVENTION - Malware Prevention + Use any one of this to enable/disable it. + + TLS - Transport Layer Security Inspection + Use any one of this to enable/disabe it. ' @@ -138345,6 +139074,7 @@ paths: - GFW_MULTICAST - GEOIP_MONITORING - MALWAREPREVENTION + - TLS in: query name: feature required: false @@ -138845,6 +139575,8 @@ paths: consumes: - application/json description: | + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Read a StaticRouteBfdTroubleshootConfig operationId: GlobalInfraReadStaticRouteBfdTroubleshootConfig parameters: @@ -138889,11 +139621,14 @@ paths: "system_diagnostics": "true", "_revision": 0 } + x-vmw-nsx-experimental: true x-vmw-nsx-module: PolicyConnectivity patch: consumes: - application/json description: | + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
If a StaticRouteBfdTroubleshootConfig is not already present, create a new StaticRouteBfdTroubleshootConfig. If it already exists, update the StaticRouteBfdTroubleshootConfig. This is a full replace. @@ -138971,11 +139706,14 @@ paths: } x-vmw-nsx-example-response: | {} + x-vmw-nsx-experimental: true x-vmw-nsx-module: PolicyConnectivity put: consumes: - application/json description: | + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
If a StaticRouteBfdTroubleshootConfig is not already present, create a new StaticRouteBfdTroubleshootConfig. If it already exists, update the StaticRouteBfdTroubleshootConfig. This operation will fully replace the object. @@ -139062,6 +139800,7 @@ paths: "system_diagnostics": "true", "_revision": 0 } + x-vmw-nsx-experimental: true x-vmw-nsx-module: PolicyConnectivity /global-infra/tier-0s/{tier-0-id}/static-routes/bfd-peers/{bfd-peer-id}: get: @@ -143972,7 +144711,7 @@ paths: GEOIP_MONITORING - Geo IP Monitoring - Use any one of this to enable/disabe it. + Use any one of this to enable/disable it. ' enum: @@ -157699,12 +158438,10 @@ paths: consumes: - application/json description: | - Returns supported attribute and sub-attributes for specified - attribute key with their supported values, if provided in query/request - parameter, else will fetch all supported attributes and sub-attributes for - all supported attribute keys. - Alternatively, to get a list of supported attributes and sub-attributes fire the following REST API - GET https://<policy-mgr>/policy/api/v1/infra/context-profiles/attributes + Returns supported attributes and sub-attributes along with their allowed + values. When an attribute_key query parameter is supplied, only the + matching attribute and its sub-attributes are returned. When omitted, + all supported attribute keys and their corresponding values are returned. operationId: ListProfileSupportedAttributes parameters: - description: 'It fetches attributes and subattributes for the given attribute @@ -158323,17 +159060,15 @@ paths: consumes: - application/json description: | - Creates/Updates a PolicyContextProfile, which encapsulates attribute and - sub-attributes of network services. - Rules for using attributes and sub-attributes in single PolicyContextProfile - 1. One type of attribute can't have multiple occurrences. ( Eg. - - Attribute type APP_ID can be used only once per PolicyContextProfile.) - 2. For specifying multiple values for an attribute, provide them in an array. - 3. If sub-attribtes are mentioned for an attribute, then only single - value is allowed for that attribute. - 4. To get a list of supported attributes and sub-attributes fire the following REST API - GET https://<policy-mgr>/policy/api/v1/infra/context-profiles/attributes - 5. Do not create context profile with "custom_attributes" id + Creates a new Policy Context Profile or selectively updates the fields + provided in the request body of an existing one. + Rules for using attributes and sub-attributes in a single PolicyContextProfile: + 1. Each attribute key may appear only once per profile. (e.g. APP_ID + can be specified at most once.) + 2. Multiple values for an attribute must be supplied as an array. + 3. When sub-attributes are provided for an attribute, that attribute + must have exactly one value. + 4. The reserved id "custom_attributes" must not be used as a profile id. operationId: PatchCreateOrUpdatePolicyContextProfile parameters: - in: path @@ -158393,7 +159128,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Create PolicyContextProfile + Create or partially update a Policy Context Profile tags: - Inventory - Context Profiles @@ -158442,17 +159177,16 @@ paths: consumes: - application/json description: | - Creates/Updates a PolicyContextProfile, which encapsulates attribute and - sub-attributes of network services. - Rules for using attributes and sub-attributes in single PolicyContextProfile - 1. One type of attribute can't have multiple occurrences. ( Eg. - - Attribute type APP_ID can be used only once per PolicyContextProfile.) - 2. For specifying multiple values for an attribute, provide them in an array. - 3. If sub-attribtes are mentioned for an attribute, then only single - value is allowed for that attribute. - 4. To get a list of supported attributes and sub-attributes fire the following REST API - GET https://<policy-mgr>/policy/api/v1/infra/context-profiles/attributes - 5. Do not create context profile with "custom_attributes" id + Creates a new Policy Context Profile or fully replaces an existing one. + The entire profile is replaced with the contents of the request body; + any fields not included in the request will be reset to their defaults. + Rules for using attributes and sub-attributes in a single PolicyContextProfile: + 1. Each attribute key may appear only once per profile. (e.g. APP_ID + can be specified at most once.) + 2. Multiple values for an attribute must be supplied as an array. + 3. When sub-attributes are provided for an attribute, that attribute + must have exactly one value. + 4. The reserved id "custom_attributes" must not be used as a profile id. operationId: PutCreateOrUpdatePolicyContextProfile parameters: - in: path @@ -158516,7 +159250,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Create PolicyContextProfile + Create or replace a Policy Context Profile tags: - Inventory - Context Profiles @@ -163948,7 +164682,8 @@ paths: consumes: - application/json description: | - Read a domain. + Returns the configuration of a specific domain identified by the domain ID. + Domains are used to scope groups, security policies, and gateway policies. operationId: ReadDomainForInfra parameters: - description: |- @@ -163979,7 +164714,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Read domain + Read a domain by ID tags: - Policy - Domains @@ -169751,8 +170486,10 @@ paths: get: consumes: - application/json - description: |- - Read group + description: | + Returns the configuration of a specific group within a domain, identified + by domain ID and group ID. Groups define membership criteria for workloads and are + used as sources, destinations, and scopes in security policies. operationId: ReadGroupForDomain parameters: - description: |- @@ -169789,7 +170526,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Read group + Read a group by ID tags: - Inventory - Groups @@ -172760,10 +173497,10 @@ paths: get: consumes: - application/json - description: | - It retrieves member types for a given group. In case of nested groups, it calculates - member types of child groups as well. Considers member type for members added - via static members and dynamic membership criteria. + description: "It retrieves member types for a given group - based on the expression\ + \ used in the group or the definition of the \ngroup via static and dynamic\ + \ criteria. In case of nested groups, it calculates member types of child\ + \ groups as well.\n" operationId: GetMemberTypesForGroup parameters: - description: |- @@ -172800,7 +173537,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Get member types for a given Group + Get member types for a given Group based on the expressions used in the group. tags: - Inventory - Groups @@ -176879,7 +177616,7 @@ paths: consumes: - application/json description: | - Update the IDS gateway policy for a domain. + Create or partially update a gateway intrusion detection policy for a domain. operationId: PatchIdsGatewayPolicy parameters: - in: path @@ -176913,7 +177650,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Update IDS gateway policy + Patch a gateway IDS/IPS policy tags: - Security (North South) - Ips & Malware (Rules) @@ -176954,7 +177691,7 @@ paths: consumes: - application/json description: | - Update the IDS gateway policy for a domain. + Create or update a gateway intrusion detection policy for a domain. operationId: CreateOrReplaceIdsGatewayPolicy parameters: - in: path @@ -176992,7 +177729,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Update IDS gateway policy + Create or update a gateway IDS/IPS policy tags: - Security (North South) - Ips & Malware (Rules) @@ -177255,8 +177992,10 @@ paths: get: consumes: - application/json - description: |- - Read IDS rule + description: | + Returns the configuration of a specific Intrusion Detection System (IDS) rule within + a gateway intrusion service policy. Gateway IDS rules inspect north-south traffic + passing through a Tier-1 or Tier-0 gateway for intrusion patterns. operationId: ReadIdsGatewayRule parameters: - in: path @@ -177293,7 +178032,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Read IDS rule + Read a gateway IDS/IPS intrusion detection rule by ID tags: - Security (North South) - Ips & Malware (Rules) @@ -177923,7 +178662,7 @@ paths: x-vmw-nsx-example-response: | { "resource_type": "IdsGatewayPolicy", - "description": "comm map revised", + "description": "ids gateway policy revised", "id": "cgw-1", "display_name": "cgw-1", "path": "/infra/domains/vmc/intrusion-service-gateway-policies/cgw-1", @@ -177932,7 +178671,7 @@ paths: "rules": [ { "resource_type": "Rule", - "description": " comm entry", + "description": " rule", "id": "ce-1", "display_name": "ce-1", "path": "/infra/domains/vmc/intrusion-service-gateway-policies/cgw1/rules/ce-1", @@ -178802,7 +179541,9 @@ paths: consumes: - application/json description: | - List intrusion detection rules. + Returns a paginated list of all Intrusion Detection System (IDS) rules within a + specific intrusion service policy. Rules are evaluated in sequence to detect and + prevent network intrusion attempts based on configured IDS profiles. operationId: ListIdsRules parameters: - description: |- @@ -178877,7 +179618,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - List IDS rules + List IDS/IPS intrusion detection rules in a policy tags: - Security (East West) - Ips & Malware (Rules) @@ -178975,7 +179716,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Delete IDS rule + Delete a distributed IDS/IPS rule tags: - Security (East West) - Ips & Malware (Rules) @@ -178989,7 +179730,8 @@ paths: consumes: - application/json description: | - Read intrusion detection rule + Returns the configuration of a specific distributed IDS/IPS rule within an intrusion + service policy, identified by domain ID, policy ID, and rule ID. operationId: GetIdsRule parameters: - description: |- @@ -179032,7 +179774,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Get IDS rule. + Read a distributed IDS/IPS intrusion detection rule by ID tags: - Security (East West) - Ips & Malware (Rules) @@ -179090,7 +179832,7 @@ paths: consumes: - application/json description: |- - Patch intrusion detection system rule. + Create or partially update a distributed IDS/IPS intrusion detection rule. operationId: PatchIdsRule parameters: - description: |- @@ -179134,7 +179876,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Patch IDS rule + Patch a distributed IDS/IPS rule tags: - Security (East West) - Ips & Malware (Rules) @@ -179161,7 +179903,7 @@ paths: consumes: - application/json description: |- - Update intrusion detection system rule. + Create or update a distributed IDS/IPS intrusion detection rule. operationId: CreateOrUpdateIdsRule parameters: - description: |- @@ -179209,7 +179951,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - create or update IDS rule + Create or update a distributed IDS/IPS rule tags: - Security (East West) - Ips & Malware (Rules) @@ -180122,7 +180864,7 @@ paths: consumes: - application/json description: |- - List rules + List all rules within a service insertion redirection policy. operationId: ListRedirectionRules parameters: - description: |- @@ -180197,7 +180939,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - List rules + List service insertion redirection rules tags: - Security (Service Insertion) - Redirection Policies @@ -180296,7 +181038,7 @@ paths: consumes: - application/json description: |- - Read rule + Read a service insertion redirection rule by ID. operationId: ReadRedirectionRule parameters: - description: |- @@ -180339,7 +181081,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Read rule + Read a service insertion redirection rule tags: - Security (Service Insertion) - Redirection Policies @@ -180603,7 +181345,7 @@ paths: consumes: - application/json description: | - List all security policies for a domain. + List all distributed firewall (DFW) security policies for a domain. operationId: ListSecurityPoliciesForDomain parameters: - in: path @@ -180681,7 +181423,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - List security policies + List distributed firewall security policies tags: - Security (East West) - Distributed Firewall (Rules) @@ -180698,7 +181440,7 @@ paths: "results": [ { "resource_type": "SecurityPolicy", - "description": "comm map", + "description": "security policy", "id": "application-section-1", "display_name": "application-section-1", "path": "/infra/domains/vmc/security-policies/application-section-1", @@ -180740,7 +181482,7 @@ paths: consumes: - application/json description: | - Deletes the security policy along with all the rules + Delete a distributed firewall (DFW) security policy along with all its rules. operationId: DeleteSecurityPolicyForDomain parameters: - in: path @@ -180769,7 +181511,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Deletes a security policy from this domain + Delete a distributed firewall security policy tags: - Security (East West) - Distributed Firewall (Rules) @@ -180783,7 +181525,7 @@ paths: consumes: - application/json description: | - Read security policy for a domain. + Read a distributed firewall (DFW) security policy for a domain. operationId: ReadSecurityPolicyForDomain parameters: - in: path @@ -180816,7 +181558,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Read security policy + Read a distributed firewall security policy tags: - Security (East West) - Distributed Firewall (Rules) @@ -180828,7 +181570,7 @@ paths: x-vmw-nsx-example-response: | { "resource_type": "SecurityPolicy", - "description": "comm map", + "description": "security policy", "id": "application-section-1", "display_name": "application-section-1", "path": "/infra/domains/vmc/security-policies/application-section-1", @@ -180837,7 +181579,7 @@ paths: "rules": [ { "resource_type": "Rule", - "description": " comm entry", + "description": " rule", "id": "ce-1", "display_name": "ce-1", "path": "/infra/domains/vmc/security-policies/application-section-1/rules/ce-1", @@ -180859,6 +181601,7 @@ paths: "/infra/services/HTTP", "/infra/services/CIM-HTTP" ], + "rule_id": 1003, "_create_user": "admin", "_create_time": 1517317382942, "_last_modified_user": "admin", @@ -180883,9 +181626,9 @@ paths: consumes: - application/json description: | - Patch the security policy for a domain. If a security policy for the given - security-policy-id is not present, the object will get created and if it is - present it will be updated. This is a full replace. + Create or partially update a distributed firewall (DFW) security policy for a domain. + If a security policy for the given security-policy-id is not present, the object will + get created and if it is present it will be updated. Performance Note: If you want to edit several rules in a security policy use this API. It will perform better than several individual rule APIs. Just pass all the rules which you wish to edit as embedded rules to it. @@ -180922,7 +181665,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Patch security policy + Patch a distributed firewall security policy tags: - Security (East West) - Distributed Firewall (Rules) @@ -180932,12 +181675,12 @@ paths: x-vmw-nsx-example-request: | PATCH https://<policy-mgr>/policy/api/v1/infra/domains/vmc/security-policies/application-section-1 { - "description": "comm map patched", + "description": "security policy patched", "display_name": "application-section-1", "category": "Application", "rules": [ { - "description": " comm entry", + "description": " rule", "display_name": "ce-1", "sequence_number": 1, "source_groups": [ @@ -180960,7 +181703,7 @@ paths: consumes: - application/json description: | - Create or Update the security policy for a domain. This is a full replace. + Create or update a distributed firewall (DFW) security policy for a domain. This is a full replace. All the rules are replaced. Performance Note: If you want to edit several rules in a security policy, use this API. It will perform better than several individual rule APIs. @@ -181002,7 +181745,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Create or Update security policy + Create or update a distributed firewall security policy tags: - Security (East West) - Distributed Firewall (Rules) @@ -181012,12 +181755,12 @@ paths: x-vmw-nsx-example-request: | PUT https://<policy-mgr>/policy/api/v1/infra/domains/vmc/security-policies/application-section-1 { - "description": "comm map", + "description": "security policy", "display_name": "application-section-1", "category": "Application", "rules": [ { - "description": " comm entry", + "description": " rule", "display_name": "ce-1", "sequence_number": 1, "source_groups": [ @@ -181038,7 +181781,7 @@ paths: x-vmw-nsx-example-response: | { "resource_type": "SecurityPolicy", - "description": "comm map", + "description": "security policy", "id": "application-section-1", "display_name": "application-section-1", "path": "/infra/domains/vmc/security-policies/application-section-1", @@ -181047,7 +181790,7 @@ paths: "rules": [ { "resource_type": "Rule", - "description": " comm entry", + "description": " rule", "id": "ce-1", "display_name": "ce-1", "path": "/infra/domains/vmc/security-policies/application-section-1/rules/ce-1", @@ -181069,6 +181812,7 @@ paths: "/infra/services/HTTP", "/infra/services/CIM-HTTP" ], + "rule_id": 1003, "_create_user": "admin", "_create_time": 1517317382942, "_last_modified_user": "admin", @@ -181224,7 +181968,7 @@ paths: consumes: - application/json description: | - Deletes the security policy along with all the rules + Remove the association of a container cluster span from a distributed firewall (DFW) security policy. operationId: DeleteClusterContainerForSecurityPolicy parameters: - in: path @@ -181257,7 +182001,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Deletes a security policy from this domain + Remove a container cluster span from a distributed firewall security policy tags: - Security (East West) - Distributed Firewall (Container Cluster) @@ -181485,8 +182229,9 @@ paths: get: consumes: - application/json - description: |- - List rules + description: | + Returns a list of all distributed firewall rules within a specific security + policy. operationId: ListSecurityRules parameters: - in: path @@ -181557,7 +182302,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - List rules + List distributed firewall rules in a security policy tags: - Security (East West) - Distributed Firewall (Rules) @@ -181574,7 +182319,7 @@ paths: "results": [ { "resource_type": "Rule", - "description": " comm entry", + "description": " rule", "id": "ce-1", "display_name": "ce-1", "path": "/infra/domains/vmc/security-policies/application-section-1/rules/ce-1", @@ -181596,6 +182341,7 @@ paths: "/infra/services/HTTP", "/infra/services/CIM-HTTP" ], + "rule_id": 1003, "_create_user": "admin", "_create_time": 1517317382942, "_last_modified_user": "admin", @@ -181612,7 +182358,7 @@ paths: consumes: - application/json description: |- - Delete rule + Delete a distributed firewall (DFW) rule from a security policy. operationId: DeleteSecurityRule parameters: - in: path @@ -181645,7 +182391,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Delete rule + Delete a distributed firewall rule tags: - Security (East West) - Distributed Firewall (Rules) @@ -181658,8 +182404,9 @@ paths: get: consumes: - application/json - description: |- - Read rule + description: | + Returns the configuration of a specific distributed firewall rule within a security + policy. operationId: ReadSecurityRule parameters: - in: path @@ -181696,7 +182443,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Read rule + Read a distributed firewall rule by ID tags: - Security (East West) - Distributed Firewall (Rules) @@ -181708,7 +182455,7 @@ paths: x-vmw-nsx-example-response: | { "resource_type": "Rule", - "description": " comm entry", + "description": " rule", "id": "ce-1", "display_name": "ce-1", "path": "/infra/domains/vmc/security-policies/application-section-1/rules/ce-1", @@ -181730,6 +182477,7 @@ paths: "/infra/services/HTTP", "/infra/services/CIM-HTTP" ], + "rule_id": 1002, "_create_user": "admin", "_create_time": 1517317382942, "_last_modified_user": "admin", @@ -181743,9 +182491,9 @@ paths: consumes: - application/json description: | - Patch the rule. If Rule corresponding to the the given rule-id is - not present, the object will get created and if it is present it will be - updated. This is a full replace. + Create or partially update a distributed firewall (DFW) rule within a security policy. + If a rule with the given rule-id does not exist it will be created; otherwise only the + specified fields will be updated. Performance Note: If you want to edit several rules in a security policy, prefer below mentioned API for optimal performance. Pass all the rules which you wish to edit as embedded rules to it. @@ -181788,7 +182536,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Patch a rule + Patch a distributed firewall rule tags: - Security (East West) - Distributed Firewall (Rules) @@ -181798,7 +182546,7 @@ paths: x-vmw-nsx-example-request: | PATCH https://<policy-mgr>/policy/api/v1/infra/domains/vmc/security-policies/application-section-1/rules/ce-1 { - "description": " comm entry", + "description": " rule", "display_name": "ce-1", "sequence_number": 1, "source_groups": [ @@ -181821,8 +182569,9 @@ paths: consumes: - application/json description: | - Update the rule. Create new rule if a rule with the rule-id is not already - present. + Create or update a distributed firewall (DFW) rule within a security policy. + If a rule with the given rule-id does not exist it will be created; otherwise it will be + updated. Performance Note: If you wish to edit several rules in a security policy, prefer below mentioned API for optimal performance. Pass all the rules which you wish to edit as embedded rules to it. @@ -181869,7 +182618,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Create or update a rule + Create or update a distributed firewall rule tags: - Security (East West) - Distributed Firewall (Rules) @@ -181879,7 +182628,7 @@ paths: x-vmw-nsx-example-request: | PUT https://<policy-mgr>/policy/api/v1/infra/domains/vmc/security-policies/application-section-1/rules/ce-1 { - "description": "comm entry", + "description": "rule", "display_name": "ce-1", "sequence_number": 1, "source_groups": [ @@ -181901,7 +182650,7 @@ paths: x-vmw-nsx-example-response: | { "resource_type": "Rule", - "description": " comm entry", + "description": " rule", "id": "ce-1", "display_name": "ce-1", "path": "/infra/domains/vmc/security-policies/application-section-1/rules/ce-1", @@ -181918,11 +182667,12 @@ paths: "scope": [ "ANY" ], - "action": "ALLOW", + "action": "DROP", "services": [ "/infra/services/HTTP", "/infra/services/CIM-HTTP" ], + "rule_id": 1001, "_create_user": "admin", "_create_time": 1517317382942, "_last_modified_user": "admin", @@ -182032,7 +182782,8 @@ paths: consumes: - application/json description: | - This is used to re-order a rule within a security policy. + This is used to re-order a distributed firewall (DFW) rule within a security policy. + NOTE: Default rule sequence numbers cannot be modified. operationId: ReviseSecurityRule parameters: - in: path @@ -182095,7 +182846,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Revise the positioning of rule + Revise the positioning of a distributed firewall rule tags: - Security (East West) - Distributed Firewall (Rules) @@ -182105,7 +182856,7 @@ paths: x-vmw-nsx-example-request: | POST https://<policy-mgr>/policy/api/v1/infra/domains/vmc/security-policies/emergency-section/rules/ce-1?action=revise&anchor_path=/infra/domains/vmc/security-policies/emergency-section/rules/ce-2&operation=insert_after { - "description": " comm entry", + "description": " rule", "display_name": "ce-1", "path": "/infra/domains/vmc_domain/security-policies/emergency-section/rules/ce-1", "parent_path": "/infra/domains/vmc_domain/security-policies/emergency-section", @@ -182132,7 +182883,7 @@ paths: x-vmw-nsx-example-response: | { "resource_type": "Rule", - "description": " comm entry", + "description": " rule", "id": "ce-1", "display_name": "ce-1", "path": "/infra/domains/vmc/security-policies/application-section-1/rules/ce-1", @@ -182268,7 +183019,7 @@ paths: consumes: - application/json description: | - This is used to set a precedence of a security policy w.r.t others. + This is used to set a precedence of a distributed firewall (DFW) security policy w.r.t others. operationId: ReviseSecurityPolicies parameters: - in: path @@ -182327,7 +183078,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Revise the positioning of security policies + Revise the positioning of a distributed firewall security policy tags: - Security (East West) - Distributed Firewall (Rules) @@ -182337,12 +183088,12 @@ paths: x-vmw-nsx-example-request: | POST https://<policy-mgr>/policy/api/v1/infra/domains/vmc/security-policies/application-section-1?action=revise&anchor_path=/infra/domains/vmc/security-policies/emergency-section&operation=insert_before { - "description": "comm map revised", + "description": "security policy revised", "display_name": "application-section-1", "category":"Application", "rules": [ { - "description": " comm entry", + "description": " rule", "display_name": "ce-1", "sequence_number": 1, "source_groups": [ @@ -182363,7 +183114,7 @@ paths: x-vmw-nsx-example-response: | { "resource_type": "SecurityPolicy", - "description": "comm map", + "description": "security policy", "id": "application-section-1", "display_name": "application-section-1", "path": "/infra/domains/vmc/security-policies/application-section-1", @@ -182372,7 +183123,7 @@ paths: "rules": [ { "resource_type": "Rule", - "description": " comm entry", + "description": " rule", "id": "ce-1", "display_name": "ce-1", "path": "/infra/domains/vmc/security-policies/application-section-1/rules/ce-1", @@ -182394,6 +183145,7 @@ paths: "/infra/services/HTTP", "/infra/services/CIM-HTTP" ], + "rule_id": 1003, "_create_user": "admin", "_create_time": 1517317382942, "_last_modified_user": "admin", @@ -182419,8 +183171,8 @@ paths: get: consumes: - application/json - description: |- - List policy drafts. + description: | + Returns a paginated list of all DFW drafts. operationId: ListDrafts parameters: - description: 'If set to true, then only auto drafts will be get fetched. @@ -182493,7 +183245,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - List policy drafts + List all policy configuration drafts tags: - Security (East West) - Distributed Firewall (Drafts) @@ -182594,7 +183346,9 @@ paths: consumes: - application/json description: | - Read a draft for a given draft identifier. + Returns the configuration of a specific NSX policy draft identified by the draft ID. + Drafts allow administrators to stage and review configuration changes before publishing + them to the live environment. operationId: ReadDraft parameters: - in: path @@ -182623,7 +183377,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Read draft + Read a policy configuration draft by ID tags: - Security (East West) - Distributed Firewall (Drafts) @@ -183341,7 +184095,7 @@ paths: consumes: - application/json description: | - Read a draft and publish it by applying changes onto current configuration. + Publishes a draft by applying its staged configuration changes onto the live environment. If there are additional changes on top of draft configuration, pass it as a request body, in form of Infra object. Otherwise, if there are no additional changes, then pass empty Infra object as a request body. @@ -183374,7 +184128,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Publish a draft + Publish a policy draft and apply its changes tags: - Security (East West) - Distributed Firewall (Drafts) @@ -187088,7 +187842,7 @@ paths: consumes: - application/json description: | - Get the list of rules of given parent path of policy/section, filtered + Get the list of firewall rules of a given parent policy path, filtered based on the given criteria. Parent path is mandatory. operationId: GetFilteredRules @@ -187161,7 +187915,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Get rules filtered based on the given criteria + Get firewall rules filtered by criteria tags: - Security - Firewall @@ -188748,7 +189502,8 @@ paths: - application/json description: | This API will help reallocate or re-balance gateway service instances within the edge or VNA clusters. - This will be a disruptive operation, and all existing gateway statistics will be removed. + This is a disruptive operation that internally triggers ha failover which may result in the loss of existing connection state. + All existing gateway statistics will be reset upon execution. The API is only supported for infra tier-1s, VPCs, centralized transit gateways, and project tier-1 gateways. For manual allocation please provide gateway_path and preferred_edge_paths. For re-balancing within the cluster, execute API with gateway_path only and no need to pass other request parameters. @@ -197970,7 +198725,7 @@ paths: consumes: - application/json description: |- - Get paginated list of all IKE Profiles. + Get paginated list of all IKE Profiles. If any of these profiles are using SHA1 as a digest algorithm, please note that SHA1 is deprecated. Please update such profiles to use some other Digest Algorithm. operationId: ListIPSecVpnIkeProfiles parameters: - description: Opaque cursor to be used for getting next page of records (supplied @@ -198105,7 +198860,7 @@ paths: consumes: - application/json description: |- - Get custom IKE Profile, given the particular id. + Get custom IKE Profile, given the particular id. If this profile is using SHA1 as a digest algorithm, please note that SHA1 is deprecated. Please update the profile to use some other Digest Algorithm. operationId: GetIPSecVpnIkeProfile parameters: - in: path @@ -198164,7 +198919,7 @@ paths: consumes: - application/json description: |- - Create or patch custom internet key exchange (IKE) Profile. IKE Profile is a reusable profile that captures IKE and phase one negotiation parameters. System will be pre provisioned with system owned editable default IKE profile and suggested set of profiles that can be used for peering with popular remote peers like AWS VPN. User can create custom profiles as needed. Any change in profile affects all sessions consuming this profile. + Create or patch custom internet key exchange (IKE) Profile. IKE Profile is a reusable profile that captures IKE and phase one negotiation parameters. System will be pre provisioned with system owned editable default IKE profile and suggested set of profiles that can be used for peering with popular remote peers like AWS VPN. User can create custom profiles as needed. Any change in profile affects all sessions consuming this profile. SHA1 is deprecated. Please use some other Digest Algorithm. operationId: CreateOrPatchIPSecVpnIkeProfile parameters: - in: path @@ -198215,7 +198970,7 @@ paths: consumes: - application/json description: |- - Create or fully replace custom internet key exchange (IKE) Profile. IKE Profile is a reusable profile that captures IKE and phase one negotiation parameters. System will be pre provisioned with system owned editable default IKE profile and suggested set of profiles that can be used for peering with popular remote peers like AWS VPN. User can create custom profiles as needed. Any change in profile affects all sessions consuming this profile. Revision is optional for creation and required for update. + Create or fully replace custom internet key exchange (IKE) Profile. IKE Profile is a reusable profile that captures IKE and phase one negotiation parameters. System will be pre provisioned with system owned editable default IKE profile and suggested set of profiles that can be used for peering with popular remote peers like AWS VPN. User can create custom profiles as needed. Any change in profile affects all sessions consuming this profile. Revision is optional for creation and required for update. SHA1 is deprecated. Please use some other Digest Algorithm. operationId: CreateOrUpdateIPSecVpnIkeProfile parameters: - in: path @@ -198290,7 +199045,7 @@ paths: consumes: - application/json description: |- - Get paginated list of all IPSec tunnel Profiles. + Get paginated list of all IPSec tunnel Profiles. If any of these profiles are using SHA1 as a digest algorithm, please note that SHA1 is deprecated. Please update such profiles to use some other Digest Algorithm. operationId: ListIPSecVpnTunnelProfiles parameters: - description: Opaque cursor to be used for getting next page of records (supplied @@ -198426,7 +199181,7 @@ paths: consumes: - application/json description: |- - Get custom IPSec tunnel Profile, given the particular id. + Get custom IPSec tunnel Profile, given the particular id. If this profile is using SHA1 as a digest algorithm, please note that SHA1 is deprecated. Please update the profile to use some other Digest Algorithm. operationId: GetIPSecVpnTunnelProfile parameters: - in: path @@ -198486,7 +199241,7 @@ paths: consumes: - application/json description: |- - Create or patch custom IPSec tunnel profile. IPSec tunnel profile is a reusable profile that captures phase two negotiation parameters and tunnel properties. System will be provisioned with system owned editable default IPSec tunnel profile. Any change in profile affects all sessions consuming this profile. + Create or patch custom IPSec tunnel profile. IPSec tunnel profile is a reusable profile that captures phase two negotiation parameters and tunnel properties. System will be provisioned with system owned editable default IPSec tunnel profile. Any change in profile affects all sessions consuming this profile. SHA1 is deprecated. Please use some other Digest Algorithm. operationId: CreateOrPatchIPSecVpnTunnelProfile parameters: - in: path @@ -198538,7 +199293,7 @@ paths: consumes: - application/json description: |- - Create or fully replace custom IPSec tunnel profile. IPSec tunnel profile is a reusable profile that captures phase two negotiation parameters and tunnel properties. System will be provisioned with system owned editable default IPSec tunnel profile. Any change in profile affects all sessions consuming this profile. Revision is optional for creation and required for update. + Create or fully replace custom IPSec tunnel profile. IPSec tunnel profile is a reusable profile that captures phase two negotiation parameters and tunnel properties. System will be provisioned with system owned editable default IPSec tunnel profile. Any change in profile affects all sessions consuming this profile. Revision is optional for creation and required for update. SHA1 is deprecated. Please use some other Digest Algorithm. operationId: CreateOrUpdateIPSecVpnTunnelProfile parameters: - in: path @@ -210779,7 +211534,7 @@ paths: consumes: - application/json description: |- - Update the global Operationconfiguration + Update the global Operations Configuration operationId: patchOpsGlobalConfig parameters: - in: body @@ -210819,7 +211574,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Update the global Operationconfiguration + Update the global Operations Configuration tags: - Networking (Networking Profiles) - Global Gateway Configuration @@ -214387,6 +215142,8 @@ paths: consumes: - application/json description: | + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Paginated list of all enforcement points. Returns the populated enforcement points. operationId: ListEnforcementPointRealizedStates parameters: @@ -214447,12 +215204,15 @@ paths: x-vmw-nsx-deployment-modes: - vmc - on-prem + x-vmw-nsx-experimental: true x-vmw-nsx-module: PolicyRealizedState /infra/realized-state/enforcement-points/{enforcement-point-name}: get: consumes: - application/json description: | + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Read a Enforcement Point and the complete tree underneath. Returns the populated enforcement point object. operationId: ReadEnforcementPointRealizedState parameters: @@ -214491,6 +215251,7 @@ paths: x-vmw-nsx-deployment-modes: - vmc - on-prem + x-vmw-nsx-experimental: true x-vmw-nsx-module: PolicyRealizedState /infra/realized-state/enforcement-points/{enforcement-point-name}/firewalls/firewall-sections: get: @@ -214498,6 +215259,8 @@ paths: - application/json deprecated: true description: | + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Paginated list of all Firewalls. Returns populated Firewalls. operationId: ListFirewallSectionRealizedStates parameters: @@ -214564,6 +215327,7 @@ paths: x-vmw-nsx-deployment-modes: - vmc - on-prem + x-vmw-nsx-experimental: true x-vmw-nsx-module: PolicyRealizedState /infra/realized-state/enforcement-points/{enforcement-point-name}/firewalls/firewall-sections/{firewall-section-id}: get: @@ -214571,6 +215335,8 @@ paths: - application/json deprecated: true description: | + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Read a Firewall and the complete tree underneath. Returns the populated Firewall object. operationId: ReadFirewallSectionRealizedState @@ -214616,6 +215382,7 @@ paths: x-vmw-nsx-deployment-modes: - vmc - on-prem + x-vmw-nsx-experimental: true x-vmw-nsx-module: PolicyRealizedState /infra/realized-state/enforcement-points/{enforcement-point-name}/groups/nsgroups: get: @@ -214623,6 +215390,8 @@ paths: - application/json deprecated: true description: | + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Paginated list of all NSGroups. Returns populated NSGroups. operationId: ListNSGroupRealizedStates parameters: @@ -214689,6 +215458,7 @@ paths: x-vmw-nsx-deployment-modes: - vmc - on-prem + x-vmw-nsx-experimental: true x-vmw-nsx-module: PolicyRealizedState /infra/realized-state/enforcement-points/{enforcement-point-name}/groups/nsgroups/{nsgroup-name}: get: @@ -214696,6 +215466,8 @@ paths: - application/json deprecated: true description: | + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Read a NSGroup and the complete tree underneath. Returns the populated NSgroup object. operationId: ReadNSGroupRealizedState @@ -214741,6 +215513,7 @@ paths: x-vmw-nsx-deployment-modes: - vmc - on-prem + x-vmw-nsx-experimental: true x-vmw-nsx-module: PolicyRealizedState /infra/realized-state/enforcement-points/{enforcement-point-name}/groups/securitygroups: get: @@ -214748,6 +215521,8 @@ paths: - application/json deprecated: true description: | + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Paginated list of all Security Groups. Returns populated Security Groups. operationId: ListSecurityGroupRealizedStates parameters: @@ -214814,6 +215589,7 @@ paths: x-vmw-nsx-deployment-modes: - vmc - on-prem + x-vmw-nsx-experimental: true x-vmw-nsx-module: PolicyRealizedState /infra/realized-state/enforcement-points/{enforcement-point-name}/groups/securitygroups/{securitygroup-name}: get: @@ -214821,6 +215597,8 @@ paths: - application/json deprecated: true description: | + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Read a Security Group and the complete tree underneath. Returns the populated Security Group object. operationId: ReadSecurityGroupRealizedState @@ -214866,6 +215644,7 @@ paths: x-vmw-nsx-deployment-modes: - vmc - on-prem + x-vmw-nsx-experimental: true x-vmw-nsx-module: PolicyRealizedState /infra/realized-state/enforcement-points/{enforcement-point-name}/ip-sets/ip-sets-nsxt: get: @@ -214873,6 +215652,8 @@ paths: - application/json deprecated: true description: | + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Paginated list of all Realized IPSets operationId: ListIPSetRealizedStates parameters: @@ -214939,6 +215720,7 @@ paths: x-vmw-nsx-deployment-modes: - vmc - on-prem + x-vmw-nsx-experimental: true x-vmw-nsx-module: PolicyRealizedState /infra/realized-state/enforcement-points/{enforcement-point-name}/ip-sets/ip-sets-nsxt/{ip-set-name}: get: @@ -214946,6 +215728,8 @@ paths: - application/json deprecated: true description: | + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Read an IPSet operationId: ReadIPSetRealizedState parameters: @@ -214990,6 +215774,7 @@ paths: x-vmw-nsx-deployment-modes: - vmc - on-prem + x-vmw-nsx-experimental: true x-vmw-nsx-module: PolicyRealizedState /infra/realized-state/enforcement-points/{enforcement-point-name}/mac-sets/mac-sets-nsxt: get: @@ -214997,6 +215782,8 @@ paths: - application/json deprecated: true description: | + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Paginated list of all Realized MACSets operationId: ListMACSetRealizedStates parameters: @@ -215063,6 +215850,7 @@ paths: x-vmw-nsx-deployment-modes: - vmc - on-prem + x-vmw-nsx-experimental: true x-vmw-nsx-module: PolicyRealizedState /infra/realized-state/enforcement-points/{enforcement-point-name}/mac-sets/mac-sets-nsxt/{mac-set-name}: get: @@ -215070,6 +215858,8 @@ paths: - application/json deprecated: true description: | + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Read an MACSet operationId: ReadMACSetRealizedState parameters: @@ -215114,6 +215904,7 @@ paths: x-vmw-nsx-deployment-modes: - vmc - on-prem + x-vmw-nsx-experimental: true x-vmw-nsx-module: PolicyRealizedState /infra/realized-state/enforcement-points/{enforcement-point-name}/services/nsservices: get: @@ -215121,6 +215912,8 @@ paths: - application/json deprecated: true description: | + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Paginated list of all Realized NSService. operationId: ListNSServiceRealizedStates parameters: @@ -215187,6 +215980,7 @@ paths: x-vmw-nsx-deployment-modes: - vmc - on-prem + x-vmw-nsx-experimental: true x-vmw-nsx-module: PolicyRealizedState /infra/realized-state/enforcement-points/{enforcement-point-name}/services/nsservices/{nsservice-name}: get: @@ -215194,6 +215988,8 @@ paths: - application/json deprecated: true description: | + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Read a NSService. operationId: ReadNSServiceRealizedState parameters: @@ -215238,6 +216034,7 @@ paths: x-vmw-nsx-deployment-modes: - vmc - on-prem + x-vmw-nsx-experimental: true x-vmw-nsx-module: PolicyRealizedState /infra/realized-state/enforcement-points/{enforcement-point-name}/vifs: get: @@ -215864,15 +216661,78 @@ paths: The request is evaluated as follows: - <intent_path>: the request is evaluated on all enforcement points for the given intent without enforcement point specific details. - - <intent_path, include_enforced_status>: the request is evaluated on all enforcement points for - the given intent with enforcement point specific details. + - <intent_path, include_enforced_status=true>: the request is evaluated on all enforcement points + for the given intent with enforcement point specific details. This is only supported when intent_path + refers to an object of one of the following types: + SECURITY_POLICY, + GATEWAY_POLICY, + IDS_SECURITY_POLICY, + IDS_GATEWAY_POLICY, + IDS_COMPRESSED_SIGNATURE, + IDS_COMPRESSED_CUSTOM_SIGNATURE, + TLS_POLICY, + VPC_SECURITY_POLICY, + VPC_GATEWAY_POLICY, + PUBLIC_CLOUD_VPC_SECURITY_POLICY, + Passing the path of an unsupported type (e.g. a rule) with include_enforced_status=true + will result in an error. In such cases, pass the path of the parent policy object instead + (e.g., the SecurityPolicy or GatewayPolicy that contains the rule). operationId: ReadIntentStatus parameters: - default: false - description: 'Flag conveying whether to include detailed view of the enforcement - point specific + description: 'Flag conveying whether to include detailed per-transport-node + enforcement status + + in the response. + + When set to true, each item in consolidated_status_per_enforcement_point + is returned + + as ConsolidatedStatusNsxT (with the enforced_status field populated). + + When set to false (default), each item is returned as ConsolidatedStatusPerEnforcementPoint + + (enforced_status absent). + + Use the resource_type field in each item to distinguish between the two + types. + + This flag is only supported when intent_path refers to an object of one + of the + + following types: + + SECURITY_POLICY, + + GATEWAY_POLICY, + + IDS_SECURITY_POLICY, + + IDS_GATEWAY_POLICY, + + IDS_COMPRESSED_SIGNATURE, - status or not. + IDS_COMPRESSED_CUSTOM_SIGNATURE, + + TLS_POLICY, + + VPC_SECURITY_POLICY, + + VPC_GATEWAY_POLICY, + + PUBLIC_CLOUD_VPC_SECURITY_POLICY, + + COMMUNICATION_MAP (deprecated alias for SECURITY_POLICY), + + EDGE_COMMUNICATION_MAP (deprecated alias for GATEWAY_POLICY). + + Setting this flag for any other type (e.g. a rule path) will result in an + error. + + In such cases, pass the path of the parent policy object instead (e.g., + the + + SecurityPolicy or GatewayPolicy that contains the rule). ' in: query @@ -215936,6 +216796,7 @@ paths: }, "consolidated_status_per_enforcement_point": [ { + "resource_type": "ConsolidatedStatusNsxT", "enforced_status": { "enforced_status_info": { "enforced_status": { @@ -223776,14 +224637,17 @@ paths: get: consumes: - application/json - description: | - Read infra segment - Note: - Extended Segment: Please note that old vpn path deprecated. If user specify old l2vpn path in the - "l2_extension" object in the PATCH API payload, the path returned in the GET response payload may include the new path - instead of the deprecated l2vpn path. Both old and new l2vpn path refer to same resource. there is no functional impact. - Also note that l2vpn path included in the error messages returned from validation may include the new VPN path - instead of the deprecated l2vpn path. Both new path and old vpn path refer to same resource. + description: "Returns the configuration of a specific NSX network segment (logical\ + \ switch) identified\nby segment ID. Segments provide Layer 2 connectivity\ + \ for workloads and are connected to\na Tier-0 or Tier-1 gateway for Layer\ + \ 3 routing.\nNote: Extended Segment (L2VPN) \u2014 if an old vpn path was\ + \ specified in the l2_extension\nobject in a previous PATCH request, the GET\ + \ response may return the new canonicalized\npath instead of the original\ + \ path that was submitted.\n instead of the deprecated l2vpn path. Both old\ + \ and new l2vpn path refer to same resource. there is no functional impact.\n\ + \ Also note that l2vpn path included in the error messages returned from\ + \ validation may include the new VPN path\n instead of the deprecated l2vpn\ + \ path. Both new path and old vpn path refer to same resource.\n" operationId: ReadInfraSegment parameters: - description: |- @@ -223814,7 +224678,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Read infra segment + Read a network segment by ID tags: - Networking (Switching) - Segments @@ -231833,7 +232697,7 @@ paths: consumes: - application/json description: | - Return list of Services. + Returns a paginated list of all services. operationId: ListServicesForTenant parameters: - description: Opaque cursor to be used for getting next page of records (supplied @@ -231908,7 +232772,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - List Services + List all Services tags: - Inventory - Services @@ -232007,8 +232871,8 @@ paths: get: consumes: - application/json - description: |- - Read a service + description: | + Returns the configuration of a specific service identified by service ID. operationId: ReadServiceForTenant parameters: - description: |- @@ -232039,7 +232903,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Read a service + Read a service by ID tags: - Inventory - Services @@ -234612,7 +235476,7 @@ paths: consumes: - application/json description: | - Read identity firewall configuration for standalone host + Read identity firewall configuration on standalone host level operationId: GetStandaloneHostIdfwConfiguration produces: - application/json @@ -234636,7 +235500,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Read idfw configuration for standalone host + Read idfw configuration on standalone host level tags: - Security (East West) - Distributed Firewall (Identity Firewall) @@ -234667,7 +235531,7 @@ paths: consumes: - application/json description: |- - Patch identity firewall configuration for standalone host + Patch identity firewall configuration on standalone host level operationId: PatchStandaloneHostIdfwConfiguration parameters: - in: body @@ -234693,7 +235557,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Patch idfw configuration for standalone host + Patch idfw configuration on standalone host level tags: - Security (East West) - Distributed Firewall (Identity Firewall) @@ -234710,7 +235574,7 @@ paths: consumes: - application/json description: |- - Update the idfw configuration for standalone host + Update the idfw configuration on standalone host level operationId: PutStandaloneHostIdfwConfiguration parameters: - in: body @@ -234740,7 +235604,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Create or update idfw configuration for standalone host + Create or update idfw configuration on standalone host level tags: - Security (East West) - Distributed Firewall (Identity Firewall) @@ -235375,7 +236239,7 @@ paths: consumes: - application/json description: |- - Get the current dfw firewall configurations. + Get the current Distributed Firewall (DFW) and Identity Firewall (IDFW) configurations. operationId: GetDfwFirewallConfiguration produces: - application/json @@ -235399,7 +236263,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Get dfw firewall configuration + Get DFW and IDFW firewall configuration tags: - Security (East West) - Distributed Firewall (Settings) @@ -235434,7 +236298,7 @@ paths: consumes: - application/json description: | - Update dfw firewall related configurations. + Update Distributed Firewall (DFW) and Identity Firewall (IDFW) related configurations. Turning off distributed services ("enable_firewall": false) will turn off Distributed Firewall, Identity Firewall, Distributed Intrusion Detection and Prevention Service, Distributed Load Balancer. operationId: PatchDfwFirewallConfiguration @@ -235462,7 +236326,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Update dfw firewall configuration + Update DFW and IDFW firewall configuration tags: - Security (East West) - Distributed Firewall (Settings) @@ -235480,7 +236344,7 @@ paths: consumes: - application/json description: | - Update dfw firewall related configurations. + Update Distributed Firewall (DFW) and Identity Firewall (IDFW) related configurations. Turning off distributed services ("enable_firewall": false) will turn off Distributed Firewall, Identity Firewall, Distributed Intrusion Detection and Prevention Service, Distributed Load Balancer. operationId: PutDfwFirewallConfiguration @@ -235512,7 +236376,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Update dfw firewall configuration + Update DFW and IDFW firewall configuration tags: - Security (East West) - Distributed Firewall (Settings) @@ -235599,7 +236463,7 @@ paths: consumes: - application/json description: | - Read exclude list for firewall + Read the exclude list for the distributed firewall (DFW). Members in this list are excluded from DFW enforcement. operationId: GetFirewallExcludeList produces: - application/json @@ -235623,7 +236487,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Read security policy exclude list + Read the distributed firewall exclude list tags: - Security (East West) - Distributed Firewall (Exclusion List) @@ -235879,7 +236743,7 @@ paths: consumes: - application/json description: | - Read security policy exclude list including system and user excluded members. + Read the distributed firewall (DFW) exclude list including both system-owned and user-defined excluded members. operationId: GetInternalFirewallExcludeList produces: - application/json @@ -235903,7 +236767,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Read security policy exclude list including system and user excluded members + Read the distributed firewall exclude list including system and user excluded members tags: - Security (East West) - Distributed Firewall (Exclusion List) @@ -239423,6 +240287,8 @@ paths: consumes: - application/json description: | + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Trigger the process to collect all pcap files of all the pcap_ids mentioned in request payload. operationId: ExportIdsPcapFile parameters: @@ -239466,6 +240332,7 @@ paths: - on-prem x-vmw-nsx-example-request: | POST https://<policy-mgr>/policy/api/v1/infra/settings/firewall/security/intrusion-services/pcaps/export + x-vmw-nsx-experimental: true x-vmw-nsx-module: PolicyIDS /infra/settings/firewall/security/intrusion-services/pcaps/{file-name}/download: get: @@ -240124,6 +240991,29 @@ paths: x-vmw-nsx-deployment-modes: - vmc - on-prem + x-vmw-nsx-example-request: | + GET https://<policy-mgr>/policy/api/v1/infra/settings/firewall/security/intrusion-services/profiles/testProfile/effective-signatures + x-vmw-nsx-example-response: | + { + "signatures": [ + { + "signature_id": "2059955", + "revision": 2, + "action": "ALERT" + }, + { + "signature_id": "1064004", + "revision": 7056, + "action": "ALERT" + }, + { + "signature_id": "1134186", + "revision": 0, + "action": "ALERT" + } + ], + "profile_path": "/infra/settings/firewall/security/intrusion-services/profiles/testProfile" + } x-vmw-nsx-module: PolicyIDS /infra/settings/firewall/security/intrusion-services/signature-versions: get: @@ -240913,6 +241803,252 @@ paths: POST https://<policy-mgr>/policy/api/v1/infra/settings/firewall/security/intrusion-services/stats?action=reset&category=IDPSDFW x-vmw-nsx-example-response: "" x-vmw-nsx-module: PolicyIDSStats + /infra/settings/firewall/security/malware-prevention-service/exclusions: + get: + consumes: + - application/json + description: | + List all MpsExclusion resources. + operationId: ListMpsExclusions + parameters: + - description: Opaque cursor to be used for getting next page of records (supplied + by current result page) + in: query + name: cursor + type: string + - default: false + description: 'If true, resources that are marked for deletion will be included + + in the results. By default, these resources are not included. + + ' + in: query + name: include_mark_for_delete_objects + required: false + type: boolean + - description: Note - this parameter currently only works when used with the + search APIs /policy/api/v1/search/query and /policy/api/v1/search/dsl. It + is ignored for other list APIs. + in: query + name: included_fields + type: string + - default: 1000 + description: Maximum number of results to return in this page (server may + return fewer) + format: int64 + in: query + maximum: 1000 + minimum: 0 + name: page_size + type: integer + - description: If true, results are sorted in ascending order + in: query + name: sort_ascending + type: boolean + - description: Field by which records are sorted + in: query + name: sort_by + type: string + produces: + - application/json + responses: + '200': + description: OK + schema: + $ref: '#/definitions/MpsExclusionListResult' + '400': + $ref: '#/responses/BadRequest' + '403': + $ref: '#/responses/Forbidden' + '404': + description: Not Found + '412': + $ref: '#/responses/PreconditionFailed' + '500': + $ref: '#/responses/InternalServerError' + '503': + $ref: '#/responses/ServiceUnavailable' + '504': + $ref: '#/responses/GatewayTimeout' + summary: |- + List Malware Prevention exclusions + tags: + - Security + - Ips & Malware (Profiles) + x-vmw-nsx-deployment-modes: + - on-prem + x-vmw-nsx-module: PolicyAntiMalware + /infra/settings/firewall/security/malware-prevention-service/exclusions/{exclusion-id}: + delete: + consumes: + - application/json + description: | + Delete a single MpsExclusion by ID. + operationId: DeleteMalwarePreventionExclusion + parameters: + - description: |- + Exclusion ID + in: path + name: exclusion-id + required: true + type: string + responses: + '200': + description: OK + '400': + $ref: '#/responses/BadRequest' + '403': + $ref: '#/responses/Forbidden' + '404': + $ref: '#/responses/NotFound' + '412': + $ref: '#/responses/PreconditionFailed' + '500': + $ref: '#/responses/InternalServerError' + '503': + $ref: '#/responses/ServiceUnavailable' + '504': + $ref: '#/responses/GatewayTimeout' + summary: |- + Delete Malware Prevention exclusion + tags: + - Security + - Ips & Malware (Profiles) + x-vmw-nsx-deployment-modes: + - on-prem + x-vmw-nsx-module: PolicyAntiMalware + get: + consumes: + - application/json + description: | + Read a single MpsExclusion by ID. + operationId: GetMalwarePreventionExclusion + parameters: + - description: |- + Exclusion ID + in: path + name: exclusion-id + required: true + type: string + produces: + - application/json + responses: + '200': + description: OK + schema: + $ref: '#/definitions/MpsExclusion' + '400': + $ref: '#/responses/BadRequest' + '403': + $ref: '#/responses/Forbidden' + '404': + description: Not Found + '412': + $ref: '#/responses/PreconditionFailed' + '500': + $ref: '#/responses/InternalServerError' + '503': + $ref: '#/responses/ServiceUnavailable' + '504': + $ref: '#/responses/GatewayTimeout' + summary: |- + Get Malware Prevention exclusion + tags: + - Security + - Ips & Malware (Profiles) + x-vmw-nsx-deployment-modes: + - on-prem + x-vmw-nsx-module: PolicyAntiMalware + patch: + consumes: + - application/json + description: | + Partially update a single MpsExclusion by ID. + operationId: PatchMalwarePreventionExclusion + parameters: + - description: |- + Exclusion ID + in: path + name: exclusion-id + required: true + type: string + - in: body + name: MpsExclusion + required: true + schema: + $ref: '#/definitions/MpsExclusion' + responses: + '200': + description: OK + '400': + $ref: '#/responses/BadRequest' + '403': + $ref: '#/responses/Forbidden' + '404': + $ref: '#/responses/NotFound' + '412': + $ref: '#/responses/PreconditionFailed' + '500': + $ref: '#/responses/InternalServerError' + '503': + $ref: '#/responses/ServiceUnavailable' + '504': + $ref: '#/responses/GatewayTimeout' + summary: |- + Patch Malware Prevention exclusion + tags: + - Security + - Ips & Malware (Profiles) + x-vmw-nsx-deployment-modes: + - on-prem + x-vmw-nsx-module: PolicyAntiMalware + put: + consumes: + - application/json + description: | + Create or replace a single MpsExclusion by ID. + operationId: CreateOrUpdateMalwarePreventionExclusion + parameters: + - description: |- + Exclusion ID + in: path + name: exclusion-id + required: true + type: string + - in: body + name: MpsExclusion + required: true + schema: + $ref: '#/definitions/MpsExclusion' + produces: + - application/json + responses: + '200': + description: OK + schema: + $ref: '#/definitions/MpsExclusion' + '400': + $ref: '#/responses/BadRequest' + '403': + $ref: '#/responses/Forbidden' + '404': + description: Not Found + '412': + $ref: '#/responses/PreconditionFailed' + '500': + $ref: '#/responses/InternalServerError' + '503': + $ref: '#/responses/ServiceUnavailable' + '504': + $ref: '#/responses/GatewayTimeout' + summary: |- + Create or Update Malware Prevention exclusion + tags: + - Security + - Ips & Malware (Profiles) + x-vmw-nsx-deployment-modes: + - on-prem + x-vmw-nsx-module: PolicyAntiMalware /infra/settings/firewall/security/malware-prevention-service/profiles: get: consumes: @@ -241866,6 +243002,75 @@ paths: "_revision": 0 } x-vmw-nsx-module: PolicyScx + /infra/settings/scrx/cluster-configs/{cluster-id}/status: + get: + consumes: + - application/json + description: | + This routine is responsible for getting the resize status for every host in + the specified cluster. + operationId: GetScrxResizeStatus + parameters: + - description: |- + Cluster ID + in: path + name: cluster-id + required: true + type: string + produces: + - application/json + responses: + '200': + description: OK + schema: + $ref: '#/definitions/ScrxResizeStatus' + '400': + $ref: '#/responses/BadRequest' + '403': + $ref: '#/responses/Forbidden' + '404': + description: Not Found + '412': + $ref: '#/responses/PreconditionFailed' + '500': + $ref: '#/responses/InternalServerError' + '503': + $ref: '#/responses/ServiceUnavailable' + '504': + $ref: '#/responses/GatewayTimeout' + summary: |- + Get SCRX resize status for a cluster. + tags: + - Security + - Scrxconfig + x-vmw-nsx-deployment-modes: + - vmc + - on-prem + x-vmw-nsx-example-request: | + GET https://<policy-mgr>/policy/api/v1//infra/settings/scrx/cluster-configs/Cluster-01/status + x-vmw-nsx-example-response: |- + { + "cluster_id": "848336cd-29c7-460f-8bc6-81851d92af07", + "overall_status": "FAILED", + "host_status": + [ + { + "host_uuid": "37f59faf-e79f-44cb-aad5-24d1930bc360", + "cpu_count" : 8, + "memory": 8, + "scrx_status": "RUNNING", + "resize_status": "SUCCESS" + }, + { + "host_uuid": "11c8f4ea-da9c-4751-9e36-2f02dd07e7d6", + "cpu_count" : 4, + "memory": 4, + "scrx_status": "RUNNING", + "resize_status": "FAILED" + } + ] + } + x-vmw-nsx-module: PolicyScrxResize /infra/settings/scrx/default-scrxsize: get: consumes: @@ -244620,7 +245825,7 @@ paths: "resource_type": "ShaStandardMonitor", "id": "esx-obsrv-alarms-monitor", "display_name": "esx-obsrv-alarms-monitor", - "description": "This monitor consumes the Transport Node level Enhanced Datapath (EDP) infra counters and TN traffic counters and reports the following alarms. 1. enhanced_dp_flow_table_usage_high There is at least one Enhanced Datapath flow table on the Host in which more than 90% of entries are filled. 2. enhanced_dp_flow_table_usage_very_high There is at least one Enhanced Datapath flow table on the Host in which more than 95% of entries are filled. 3. dtgw_vlan_uplink_arp_fail The rate of DTGW External VLAN gateway resolution failure is high.", + "description": "This monitor consumes TN traffic counters and reports the following alarms. 1. dtgw_vlan_uplink_arp_fail The rate of DTGW External VLAN gateway resolution failure is high.", "path": "/infra/sha/monitors/esx-obsrv-alarms-monitor", "relative_path": "esx-obsrv-alarms-monitor", "parent_path": "/infra", @@ -244803,7 +246008,7 @@ paths: "resource_type": "ShaStandardMonitor", "id": "esx-obsrv-alarms-monitor", "display_name": "esx-obsrv-alarms-monitor", - "description": "This monitor consumes the Transport Node level Enhanced Datapath (EDP) infra counters and TN traffic counters and reports the following alarms. 1. enhanced_dp_flow_table_usage_high There is at least one Enhanced Datapath flow table on the Host in which more than 90% of entries are filled. 2. enhanced_dp_flow_table_usage_very_high There is at least one Enhanced Datapath flow table on the Host in which more than 95% of entries are filled. 3. dtgw_vlan_uplink_arp_fail The rate of DTGW External VLAN gateway resolution failure is high.", + "description": "This monitor consumes TN traffic counters and reports the following alarms. 1. dtgw_vlan_uplink_arp_fail The rate of DTGW External VLAN gateway resolution failure is high.", "path": "/infra/sha/monitors/esx-obsrv-alarms-monitor", "relative_path": "esx-obsrv-alarms-monitor", "parent_path": "/infra", @@ -250322,6 +251527,8 @@ paths: consumes: - application/json description: | + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
This API is used to fetch the control packet drop log config at enforcement Point level. operationId: GetPolicyEdgeTransportNodesTroubleshootConfig @@ -250386,11 +251593,14 @@ paths: "_protection": "NOT_PROTECTED", "_revision": 1 } + x-vmw-nsx-experimental: true x-vmw-nsx-module: PolicyEdgeTransportNode patch: consumes: - application/json description: | + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
This API is used to enable/disable the control packet drop log config in all edge transport nodes at the enforcement Point level. operationId: PatchPolicyEdgeTransportNodesTroubleshootConfig @@ -250436,6 +251646,7 @@ paths: { "control_pkt_drop_log" : true } + x-vmw-nsx-experimental: true x-vmw-nsx-module: PolicyEdgeTransportNode ? /infra/sites/{site-id}/enforcement-points/{enforcement-point-id}/edge-transport-nodes/{edge-transport-node-id}/action/sync-edge-configuration : post: @@ -261100,6 +262311,128 @@ paths: "sort_ascending": true } x-vmw-nsx-module: PolicyHostTransportNode + /infra/sites/{site-id}/enforcement-points/{enforcementpoint-id}/host-transport-nodes/feature-opt-in: + get: + consumes: + - application/json + description: | + Gets configuration for enabling opt-in features for host transport nodes + operationId: GetFeatureOptIn + parameters: + - in: path + name: site-id + required: true + type: string + - in: path + name: enforcementpoint-id + required: true + type: string + produces: + - application/json + responses: + '200': + description: OK + schema: + $ref: '#/definitions/FeatureOptIn' + '400': + $ref: '#/responses/BadRequest' + '403': + $ref: '#/responses/Forbidden' + '404': + $ref: '#/responses/NotFound' + '412': + $ref: '#/responses/PreconditionFailed' + '500': + $ref: '#/responses/InternalServerError' + '503': + $ref: '#/responses/ServiceUnavailable' + '504': + $ref: '#/responses/GatewayTimeout' + summary: |- + Gets configuration for enabling opt-in features for host transport nodes + tags: + - System (Fabric) + - Transport Nodes + x-vmw-nsx-deployment-modes: + - on-prem + x-vmw-nsx-example-request: | + GET https://<nsx-mgr>/policy/api/v1/infra/sites/<site-id>/enforcement-points/<enforcementpoint-id>/host-transport-nodes/feature-opt-in + x-vmw-nsx-example-response: | + { + "host_tn_min_os_version":"9.1.1" + } + x-vmw-nsx-module: PolicyHostTransportNode + put: + consumes: + - application/json + description: | + Sets the minimum OS version for host transport nodes. OS version of all existing host transport nodes must be same or + higher than the specified value, otherwise API will fail. + Once this value is set, the NSX opt-in features which are applicable from this version can be used. + Any new host transport node must be same or higher than the specified value + operationId: SetFeatureOptIn + parameters: + - in: path + name: site-id + required: true + type: string + - in: path + name: enforcementpoint-id + required: true + type: string + - in: body + name: FeatureOptIn + required: true + schema: + $ref: '#/definitions/FeatureOptIn' + produces: + - application/json + responses: + '201': + description: Created + schema: + $ref: '#/definitions/FeatureOptIn' + '400': + $ref: '#/responses/BadRequest' + '403': + $ref: '#/responses/Forbidden' + '404': + $ref: '#/responses/NotFound' + '412': + $ref: '#/responses/PreconditionFailed' + '500': + $ref: '#/responses/InternalServerError' + '503': + $ref: '#/responses/ServiceUnavailable' + '504': + $ref: '#/responses/GatewayTimeout' + summary: |- + Sets configuration for enabling opt-in features for host transport nodes + tags: + - System (Fabric) + - Transport Nodes + x-vmw-nsx-deployment-modes: + - on-prem + x-vmw-nsx-example-request: | + PUT https://<nsx-mgr>/policy/api/v1/infra/sites/<site-id>/enforcement-points/<enforcementpoint-id>/host-transport-nodes/feature-opt-in + { + "host_tn_min_os_version": "9.1.1" + } + x-vmw-nsx-example-response: | + { + "host_tn_min_os_version": "9.1.1", + "resource_type": "FeatureOptIn", + "id": "eaa823e9-aed5-4c93-a556-a8d707634be5", + "display_name": "eaa823e9-aed5-4c93-a556-a8d707634be5", + "_create_time": 1780982377053, + "_create_user": "admin", + "_last_modified_time": 1780982377053, + "_last_modified_user": "admin", + "_system_owned": false, + "_protection": "NOT_PROTECTED", + "_revision": 0 + } + x-vmw-nsx-module: PolicyHostTransportNode /infra/sites/{site-id}/enforcement-points/{enforcementpoint-id}/host-transport-nodes/state: get: consumes: @@ -262525,9 +263858,11 @@ paths: : get: consumes: - application/json - description: "Get the counter values for realtime datapath statistics. Support\ - \ multiple types in one query. \nQuery types should be declared inside query\ - \ parameters. By default the query type is packet_stats.\n" + description: "**Experimental:** This API is experimental and may change or be\ + \ removed in future releases without notice.\n
\nGet the counter values\ + \ for realtime datapath statistics. Support multiple types in one query. \n\ + Query types should be declared inside query parameters. By default the query\ + \ type is packet_stats.\n" operationId: GetObservabilityDebugStatics parameters: - in: path @@ -262887,14 +264222,17 @@ paths: "last_update_timestamp": 1706048000 } } + x-vmw-nsx-experimental: true x-vmw-nsx-module: ObservabilityCounters ? /infra/sites/{site-id}/enforcement-points/{enforcementpoint-id}/host-transport-nodes/{host-transport-node-id}/statistics/monitor : get: consumes: - application/json - description: "Get the counter values for cached datapath statistics. Support\ - \ multiple types in one query. \nQuery types should be declared inside query\ - \ parameters. By default the query type is packet_stats.\n" + description: "**Experimental:** This API is experimental and may change or be\ + \ removed in future releases without notice.\n
\nGet the counter values\ + \ for cached datapath statistics. Support multiple types in one query. \n\ + Query types should be declared inside query parameters. By default the query\ + \ type is packet_stats.\n" operationId: GetObservabilityMonitorStatics parameters: - in: path @@ -263149,6 +264487,7 @@ paths: "last_update_timestamp": 1706048050 } } + x-vmw-nsx-experimental: true x-vmw-nsx-module: ObservabilityCounters ? /infra/sites/{site-id}/enforcement-points/{enforcementpoint-id}/host-transport-nodes/{host-transport-node-id}/vteps/actions : post: @@ -264600,6 +265939,7 @@ paths: { "tz_type": "OVERLAY_BACKED", "is_default": true, + "is_security": false, "transport_zone_profile_paths": [ "/infra/transport-zone-profiles/tzp" ], @@ -264730,6 +266070,7 @@ paths: { "tz_type": "OVERLAY_BACKED", "is_default": true, + "is_security": false, "nested_nsx": false, "authorized_vlans": [ "5", @@ -264826,6 +266167,7 @@ paths: { "tz_type": "OVERLAY_BACKED", "is_default": true, + "is_security": false, "transport_zone_profile_paths": [ "/infra/transport-zone-profiles/tzp" ], @@ -264915,6 +266257,7 @@ paths: { "tz_type": "OVERLAY_BACKED", "is_default": false, + "is_security": false, "nested_nsx": false, "authorized_vlans": [ "5", @@ -276578,6 +277921,21 @@ paths: name: session-id required: true type: string + - description: 'The peer code generation has been enhanced for improved security. + + In case the L2VPN client is running a different (old) release, + + set backward_compatible=true to download a peer code that is + + compatible with older releases. It is strongly recommended to + + upgrade the L2VPN client to the latest release. + + ' + in: query + name: backward_compatible + required: false + type: boolean - description: 'enforcement point path, forward slashes must be escaped using %2F. @@ -278706,6 +280064,8 @@ paths: consumes: - application/json description: |- + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Read BGP troubleshoot config operationId: ReadBgpTroubleshootConfig parameters: @@ -278753,11 +280113,14 @@ paths: "bfd_control_pkt_diagnostics": true, "_revision": 0 } + x-vmw-nsx-experimental: true x-vmw-nsx-module: PolicyConnectivity patch: consumes: - application/json description: | + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
If BGP troubleshoot config is not present in BGP configuration, create a new BGP troubleshoot config with default value. If it already exists, update the BGP troubleshoot config with this object. @@ -278839,11 +280202,14 @@ paths: } x-vmw-nsx-example-response: |- 200 OK + x-vmw-nsx-experimental: true x-vmw-nsx-module: PolicyConnectivity put: consumes: - application/json description: | + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
If BGP troubleshoot config is not present in BGP configuration, create a new BGP troubleshoot config with default value. If it already exists, update the BGP troubleshoot config with this object. @@ -278934,6 +280300,7 @@ paths: "bfd_control_pkt_diagnostics": true, "_revision": 0 } + x-vmw-nsx-experimental: true x-vmw-nsx-module: PolicyConnectivity /infra/tier-0s/{tier-0-id}/locale-services/{locale-service-id}/byod-service-instances: get: @@ -295366,6 +296733,10 @@ paths: MALWAREPREVENTION - Malware Prevention + Use any one of this to enable/disable it. + + TLS - Transport Layer Security Inspection + Use any one of this to enable/disabe it. ' @@ -295375,6 +296746,7 @@ paths: - GFW_MULTICAST - GEOIP_MONITORING - MALWAREPREVENTION + - TLS in: query name: feature required: false @@ -295458,6 +296830,10 @@ paths: MALWAREPREVENTION - Malware Prevention + Use any one of this to enable/disable it. + + TLS - Transport Layer Security Inspection + Use any one of this to enable/disabe it. ' @@ -295467,6 +296843,7 @@ paths: - GFW_MULTICAST - GEOIP_MONITORING - MALWAREPREVENTION + - TLS in: query name: feature required: false @@ -296162,6 +297539,8 @@ paths: consumes: - application/json description: | + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Read a StaticRouteBfdTroubleshootConfig operationId: ReadStaticRouteBfdTroubleshootConfig parameters: @@ -296206,11 +297585,14 @@ paths: "system_diagnostics": "true", "_revision": 0 } + x-vmw-nsx-experimental: true x-vmw-nsx-module: PolicyConnectivity patch: consumes: - application/json description: | + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
If a StaticRouteBfdTroubleshootConfig is not already present, create a new StaticRouteBfdTroubleshootConfig. If it already exists, update the StaticRouteBfdTroubleshootConfig. This is a full replace. @@ -296288,11 +297670,14 @@ paths: } x-vmw-nsx-example-response: | {} + x-vmw-nsx-experimental: true x-vmw-nsx-module: PolicyConnectivity put: consumes: - application/json description: | + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
If a StaticRouteBfdTroubleshootConfig is not already present, create a new StaticRouteBfdTroubleshootConfig. If it already exists, update the StaticRouteBfdTroubleshootConfig. This operation will fully replace the object. @@ -296379,6 +297764,7 @@ paths: "system_diagnostics": "true", "_revision": 0 } + x-vmw-nsx-experimental: true x-vmw-nsx-module: PolicyConnectivity /infra/tier-0s/{tier-0-id}/static-routes/bfd-peers/{bfd-peer-id}: delete: @@ -297371,6 +298757,272 @@ paths: "logical_router_port_id": "603a02fe-919b-53c4-a5bb-5cd905438108" } x-vmw-nsx-module: PolicyConnectivityStatistics + /infra/tier-0s/{tier-0-id}/tls-inspection-state: + get: + consumes: + - application/json + description: | + TLS inspection execution state details for the tier0 + operationId: ListTlsStateForTier0 + parameters: + - in: path + name: tier-0-id + required: true + type: string + - description: Opaque cursor to be used for getting next page of records (supplied + by current result page) + in: query + name: cursor + type: string + - default: true + description: 'TLS inspection failed domain filter. Could be one of true or + false. + + ' + in: query + name: failed_domains + required: false + type: boolean + - description: 'Fully Qualified Domain Name. + + ' + in: query + name: fqdn + required: false + type: string + - description: Note - this parameter currently only works when used with the + search APIs /policy/api/v1/search/query and /policy/api/v1/search/dsl. It + is ignored for other list APIs. + in: query + name: included_fields + type: string + - default: 1000 + description: Maximum number of results to return in this page (server may + return fewer) + format: int64 + in: query + maximum: 1000 + minimum: 0 + name: page_size + type: integer + - description: If true, results are sorted in ascending order + in: query + name: sort_ascending + type: boolean + - description: Field by which records are sorted + in: query + name: sort_by + type: string + produces: + - application/json + responses: + '200': + description: OK + schema: + $ref: '#/definitions/TlsStateObjectListResult' + '400': + $ref: '#/responses/BadRequest' + '403': + $ref: '#/responses/Forbidden' + '404': + $ref: '#/responses/NotFound' + '412': + $ref: '#/responses/PreconditionFailed' + '500': + $ref: '#/responses/InternalServerError' + '503': + $ref: '#/responses/ServiceUnavailable' + '504': + $ref: '#/responses/GatewayTimeout' + summary: |- + TLS inspection execution state details for the tier0 + tags: + - Security (North South) + - Gateway Firewall (Tls Inspection) + x-vmw-nsx-deployment-modes: [] + x-vmw-nsx-example-request: | + GET https://<nsx-mgr>/policy/api/v1/infra/tier-0s/t0/tls-inspection-state?failed_domains=true&fqdn=vmware.com + x-vmw-nsx-example-response: | + { + "result_count": 1, + "results": [ + { + "resource_type": "TlsStateObject", + "fqdn": "vmware.com", + "failure_reasons": [ "MUTUAL_AUTH" ], + "inspection_action": "BYPASS", + "scope": "/infra/tier-0s/t0" + } + ] + } + x-vmw-nsx-module: PolicyTlsState + /infra/tier-0s/{tier-0-id}/tls-inspection-state/fqdns: + get: + consumes: + - application/json + description: | + TLS inspection execution state fqdn details for the tier0 + operationId: ListTlsStateFqdnsForTier0 + parameters: + - in: path + name: tier-0-id + required: true + type: string + - description: Opaque cursor to be used for getting next page of records (supplied + by current result page) + in: query + name: cursor + type: string + - default: true + description: 'TLS inspection failed domain filter. Could be one of true or + false. + + ' + in: query + name: failed_domains + required: false + type: boolean + - description: 'Fully Qualified Domain Name. + + ' + in: query + name: fqdn + required: false + type: string + - description: Note - this parameter currently only works when used with the + search APIs /policy/api/v1/search/query and /policy/api/v1/search/dsl. It + is ignored for other list APIs. + in: query + name: included_fields + type: string + - default: 1000 + description: Maximum number of results to return in this page (server may + return fewer) + format: int64 + in: query + maximum: 1000 + minimum: 0 + name: page_size + type: integer + - description: If true, results are sorted in ascending order + in: query + name: sort_ascending + type: boolean + - description: Field by which records are sorted + in: query + name: sort_by + type: string + produces: + - application/json + responses: + '200': + description: OK + schema: + $ref: '#/definitions/TlsStateObjectListResult' + '400': + $ref: '#/responses/BadRequest' + '403': + $ref: '#/responses/Forbidden' + '404': + $ref: '#/responses/NotFound' + '412': + $ref: '#/responses/PreconditionFailed' + '500': + $ref: '#/responses/InternalServerError' + '503': + $ref: '#/responses/ServiceUnavailable' + '504': + $ref: '#/responses/GatewayTimeout' + summary: |- + TLS inspection execution state fqdn details for the tier0 + tags: + - Security (North South) + - Gateway Firewall (Tls Inspection) + x-vmw-nsx-deployment-modes: [] + x-vmw-nsx-example-request: | + GET https://<nsx-mgr>/policy/api/v1/infra/tier-0s/t0/tls-inspection-state/fqdns?failed_domains=true&fqdn=vmware.com + x-vmw-nsx-example-response: | + { + "result_count": 1, + "results": [ + { + "resource_type": "TlsStateObject", + "fqdn": "vmware.com", + "failure_reasons": [ "MUTUAL_AUTH" ], + "inspection_action": "BYPASS", + "scope": "/infra/tier-0s/t0" + } + ] + } + x-vmw-nsx-module: PolicyTlsState + /infra/tier-0s/{tier-0-id}/tls-inspection-state/fqdns/{fqdn-id}: + get: + consumes: + - application/json + description: |- + Get TLS inspection FQDN state for tier0 + operationId: GetTlsStateFqdnForTier0 + parameters: + - in: path + name: tier-0-id + required: true + type: string + - in: path + name: fqdn-id + required: true + type: string + produces: + - application/json + responses: + '200': + description: OK + schema: + $ref: '#/definitions/TlsStateObject' + '400': + $ref: '#/responses/BadRequest' + '403': + $ref: '#/responses/Forbidden' + '404': + $ref: '#/responses/NotFound' + '412': + $ref: '#/responses/PreconditionFailed' + '500': + $ref: '#/responses/InternalServerError' + '503': + $ref: '#/responses/ServiceUnavailable' + '504': + $ref: '#/responses/GatewayTimeout' + summary: |- + Get TLS inspection FQDN state for tier0 + tags: + - Security (North South) + - Gateway Firewall (Tls Inspection) + x-vmw-nsx-deployment-modes: [] + x-vmw-nsx-example-request: | + GET https://<nsx-mgr>/policy/api/v1/infra/tier-0s/t0/tls-inspection-state/fqdns/vmware.com + x-vmw-nsx-example-response: | + { + "fqdn": "vmware.com", + "failure_reasons": ["CERT_PINNING", "MUTUAL_AUTH"], + "inspection_action": "BYPASS", + "id": "vmware.com", + "display_name": "vmware.com", + "path": "/infra/tier-0s/t0/tls-inspection-state/fqdns/vmware.com", + "relative_path": "vmware.com", + "parent_path": "/infra/tier-0s/t0", + "resource_type": "TlsStateObject", + "unique_id": "dd5dee2f-51ca-584g-a646-4d89bbf56e4d", + "marked_for_delete": false, + "overridden": false, + "_create_user": "admin", + "_create_time": 0, + "_last_modified_user": "admin", + "_last_modified_time": 1610585676149, + "_system_owned": false, + "_protection": "NOT_PROTECTED", + "_revision": 0 + } + x-vmw-nsx-module: PolicyTlsState /infra/tier-0s/{tier-0-id}?action=reprocess: post: consumes: @@ -302735,6 +304387,21 @@ paths: name: session-id required: true type: string + - description: 'The peer code generation has been enhanced for improved security. + + In case the L2VPN client is running a different (old) release, + + set backward_compatible=true to download a peer code that is + + compatible with older releases. It is strongly recommended to + + upgrade the L2VPN client to the latest release. + + ' + in: query + name: backward_compatible + required: false + type: boolean - description: 'enforcement point path, forward slashes must be escaped using %2F. @@ -309245,7 +310912,7 @@ paths: operationId: DeleteTier1PolicyServiceInstance parameters: - description: |- - Tier-0 id + Tier-1 id in: path name: tier-1-id required: true @@ -312330,7 +313997,7 @@ paths: GEOIP_MONITORING - Geo IP Monitoring - Use any one of this to enable/disabe it. + Use any one of this to enable/disable it. ' enum: @@ -322104,14 +323771,14 @@ paths: GET https://<nsx-mgr>/policy/api/v1/infra/tier-1s/it_t1/tls-inspection-state?failed_domains=true&fqdn=vmware.com x-vmw-nsx-example-response: | { + "result_count": 1, "results": [ - "result_count": 1, { "resource_type": "TlsStateObject", "fqdn": "vmware.com", "failure_reasons": [ "MUTUAL_AUTH" ], "inspection_action": "BYPASS", - "scope": "/infra/tier-1s/it_t1", + "scope": "/infra/tier-1s/it_t1" } ] } @@ -322203,14 +323870,14 @@ paths: GET https://<nsx-mgr>/policy/api/v1/infra/tier-1s/it_t1/tls-inspection-state/fqdns?failed_domains=true&fqdn=vmware.com x-vmw-nsx-example-response: | { + "result_count": 1, "results": [ - "result_count": 1, { "resource_type": "TlsStateObject", "fqdn": "vmware.com", "failure_reasons": [ "MUTUAL_AUTH" ], "inspection_action": "BYPASS", - "scope": "/infra/tier-1s/it_t1", + "scope": "/infra/tier-1s/it_t1" } ] } @@ -322264,7 +323931,7 @@ paths: { "fqdn": "vmware.com", "failure_reasons": ["CERT_PINNING", "MUTUAL_AUTH"], - "inspection_action": "BYPASS" + "inspection_action": "BYPASS", "id": "vmware.com", "display_name": "vmware.com", "path": "/infra/tier-1s/it_t1/tls-inspection-state/fqdns/vmware.com", @@ -323419,10 +325086,13 @@ paths: "decryption_fail_action": "BYPASS", "crypto_enforcement": "ENFORCE", "client_min_tls_version": "TLS_V1_1", - "client_max_tls_version": "TLS_V1_2", + "client_max_tls_version": "TLS_V1_3", "server_min_tls_version": "TLS_V1_1", - "server_max_tls_version": "TLS_V1_2", + "server_max_tls_version": "TLS_V1_3", "client_cipher_suite": [ + "TLS_AES_256_GCM_SHA384", + "TLS_AES_128_GCM_SHA256", + "TLS_CHACHA20_POLY1305_SHA256", "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA", @@ -323435,6 +325105,9 @@ paths: "TLS_RSA_WITH_AES_256_CBC_SHA256" ], "server_cipher_suite": [ + "TLS_AES_256_GCM_SHA384", + "TLS_AES_128_GCM_SHA256", + "TLS_CHACHA20_POLY1305_SHA256", "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA", @@ -323561,10 +325234,13 @@ paths: "decryption_fail_action": "BYPASS", "crypto_enforcement": "ENFORCE", "client_min_tls_version": "TLS_V1_1", - "client_max_tls_version": "TLS_V1_2", + "client_max_tls_version": "TLS_V1_3", "server_min_tls_version": "TLS_V1_1", - "server_max_tls_version": "TLS_V1_2", + "server_max_tls_version": "TLS_V1_3", "client_cipher_suite": [ + "TLS_AES_256_GCM_SHA384", + "TLS_AES_128_GCM_SHA256", + "TLS_CHACHA20_POLY1305_SHA256", "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA", @@ -323577,6 +325253,9 @@ paths: "TLS_RSA_WITH_AES_256_CBC_SHA256" ], "server_cipher_suite": [ + "TLS_AES_256_GCM_SHA384", + "TLS_AES_128_GCM_SHA256", + "TLS_CHACHA20_POLY1305_SHA256", "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA", @@ -323643,10 +325322,13 @@ paths: "decryption_fail_action": "BYPASS", "crypto_enforcement": "ENFORCE", "client_min_tls_version": "TLS_V1_1", - "client_max_tls_version": "TLS_V1_2", + "client_max_tls_version": "TLS_V1_3", "server_min_tls_version": "TLS_V1_1", - "server_max_tls_version": "TLS_V1_2", + "server_max_tls_version": "TLS_V1_3", "client_cipher_suite": [ + "TLS_AES_256_GCM_SHA384", + "TLS_AES_128_GCM_SHA256", + "TLS_CHACHA20_POLY1305_SHA256", "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA", @@ -323659,6 +325341,9 @@ paths: "TLS_RSA_WITH_AES_256_CBC_SHA256" ], "server_cipher_suite": [ + "TLS_AES_256_GCM_SHA384", + "TLS_AES_128_GCM_SHA256", + "TLS_CHACHA20_POLY1305_SHA256", "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA", @@ -323771,14 +325456,18 @@ paths: "decryption_fail_action": "BLOCK", "crypto_enforcement": "ENFORCE", "client_min_tls_version": "TLS_V1_2", - "client_max_tls_version": "TLS_V1_2", + "client_max_tls_version": "TLS_V1_3", "server_min_tls_version": "TLS_V1_2", - "server_max_tls_version": "TLS_V1_2", + "server_max_tls_version": "TLS_V1_3", "client_cipher_suite": [ + "TLS_AES_256_GCM_SHA384", + "TLS_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384" ], "server_cipher_suite": [ + "TLS_AES_256_GCM_SHA384", + "TLS_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384" ], @@ -323829,10 +325518,13 @@ paths: "decryption_fail_action": "BYPASS", "crypto_enforcement": "ENFORCE", "client_min_tls_version": "TLS_V1_1", - "client_max_tls_version": "TLS_V1_2", + "client_max_tls_version": "TLS_V1_3", "server_min_tls_version": "TLS_V1_1", - "server_max_tls_version": "TLS_V1_2", + "server_max_tls_version": "TLS_V1_3", "client_cipher_suite": [ + "TLS_AES_256_GCM_SHA384", + "TLS_AES_128_GCM_SHA256", + "TLS_CHACHA20_POLY1305_SHA256", "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA", @@ -323845,6 +325537,9 @@ paths: "TLS_RSA_WITH_AES_256_CBC_SHA256" ], "server_cipher_suite": [ + "TLS_AES_256_GCM_SHA384", + "TLS_AES_128_GCM_SHA256", + "TLS_CHACHA20_POLY1305_SHA256", "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA", @@ -323962,14 +325657,18 @@ paths: "decryption_fail_action": "BLOCK", "crypto_enforcement": "ENFORCE", "client_min_tls_version": "TLS_V1_2", - "client_max_tls_version": "TLS_V1_2", + "client_max_tls_version": "TLS_V1_3", "server_min_tls_version": "TLS_V1_2", - "server_max_tls_version": "TLS_V1_2", + "server_max_tls_version": "TLS_V1_3", "client_cipher_suite": [ + "TLS_AES_256_GCM_SHA384", + "TLS_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384" ], "server_cipher_suite": [ + "TLS_AES_256_GCM_SHA384", + "TLS_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384" ], @@ -324149,10 +325848,13 @@ paths: "decryption_fail_action": "BYPASS", "crypto_enforcement": "ENFORCE", "client_min_tls_version": "TLS_V1_1", - "client_max_tls_version": "TLS_V1_2", + "client_max_tls_version": "TLS_V1_3", "server_min_tls_version": "TLS_V1_1", - "server_max_tls_version": "TLS_V1_2", + "server_max_tls_version": "TLS_V1_3", "client_cipher_suite": [ + "TLS_AES_256_GCM_SHA384", + "TLS_AES_128_GCM_SHA256", + "TLS_CHACHA20_POLY1305_SHA256", "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA", @@ -324165,6 +325867,9 @@ paths: "TLS_RSA_WITH_AES_256_CBC_SHA256" ], "server_cipher_suite": [ + "TLS_AES_256_GCM_SHA384", + "TLS_AES_128_GCM_SHA256", + "TLS_CHACHA20_POLY1305_SHA256", "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA", @@ -324277,14 +325982,18 @@ paths: "decryption_fail_action": "BLOCK", "crypto_enforcement": "ENFORCE", "client_min_tls_version": "TLS_V1_2", - "client_max_tls_version": "TLS_V1_2", + "client_max_tls_version": "TLS_V1_3", "server_min_tls_version": "TLS_V1_2", - "server_max_tls_version": "TLS_V1_2", + "server_max_tls_version": "TLS_V1_3", "client_cipher_suite": [ + "TLS_AES_256_GCM_SHA384", + "TLS_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384" ], "server_cipher_suite": [ + "TLS_AES_256_GCM_SHA384", + "TLS_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384" ], @@ -324335,10 +326044,13 @@ paths: "decryption_fail_action": "BYPASS", "crypto_enforcement": "ENFORCE", "client_min_tls_version": "TLS_V1_1", - "client_max_tls_version": "TLS_V1_2", + "client_max_tls_version": "TLS_V1_3", "server_min_tls_version": "TLS_V1_1", - "server_max_tls_version": "TLS_V1_2", + "server_max_tls_version": "TLS_V1_3", "client_cipher_suite": [ + "TLS_AES_256_GCM_SHA384", + "TLS_AES_128_GCM_SHA256", + "TLS_CHACHA20_POLY1305_SHA256", "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA", @@ -324351,6 +326063,9 @@ paths: "TLS_RSA_WITH_AES_256_CBC_SHA256" ], "server_cipher_suite": [ + "TLS_AES_256_GCM_SHA384", + "TLS_AES_128_GCM_SHA256", + "TLS_CHACHA20_POLY1305_SHA256", "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA", @@ -324468,14 +326183,18 @@ paths: "decryption_fail_action": "BLOCK", "crypto_enforcement": "ENFORCE", "client_min_tls_version": "TLS_V1_2", - "client_max_tls_version": "TLS_V1_2", + "client_max_tls_version": "TLS_V1_3", "server_min_tls_version": "TLS_V1_2", - "server_max_tls_version": "TLS_V1_2", + "server_max_tls_version": "TLS_V1_3", "client_cipher_suite": [ + "TLS_AES_256_GCM_SHA384", + "TLS_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384" ], "server_cipher_suite": [ + "TLS_AES_256_GCM_SHA384", + "TLS_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384" ], @@ -325314,7 +327033,7 @@ paths: consumes: - application/json description: |- - Delete rule + Delete a gateway firewall TLS inspection rule. operationId: DeleteTlsRule parameters: - in: path @@ -325343,7 +327062,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Delete rule + Delete a TLS inspection rule tags: - Security (North South) - Gateway Firewall (Tls Inspection) @@ -325355,7 +327074,7 @@ paths: consumes: - application/json description: |- - Read rule + Read a gateway firewall TLS inspection rule by ID. operationId: ReadTlsRule parameters: - in: path @@ -325388,7 +327107,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Read rule + Read a TLS inspection rule tags: - Security (North South) - Gateway Firewall (Tls Inspection) @@ -333380,12 +335099,10 @@ paths: consumes: - application/json description: | - Returns supported attribute and sub-attributes for specified - attribute key with their supported values, if provided in query/request - parameter, else will fetch all supported attributes and sub-attributes for - all supported attribute keys. - Alternatively, to get a list of supported attributes and sub-attributes fire the following REST API - GET https://<policy-mgr>/policy/api/v1/infra/context-profiles/attributes + Returns supported attributes and sub-attributes along with their allowed + values. When an attribute_key query parameter is supplied, only the + matching attribute and its sub-attributes are returned. When omitted, + all supported attribute keys and their corresponding values are returned. operationId: OrgsOrgIdProjectsProjectIdInfraListProfileSupportedAttributes parameters: - description: The organization ID @@ -334084,17 +335801,15 @@ paths: consumes: - application/json description: | - Creates/Updates a PolicyContextProfile, which encapsulates attribute and - sub-attributes of network services. - Rules for using attributes and sub-attributes in single PolicyContextProfile - 1. One type of attribute can't have multiple occurrences. ( Eg. - - Attribute type APP_ID can be used only once per PolicyContextProfile.) - 2. For specifying multiple values for an attribute, provide them in an array. - 3. If sub-attribtes are mentioned for an attribute, then only single - value is allowed for that attribute. - 4. To get a list of supported attributes and sub-attributes fire the following REST API - GET https://<policy-mgr>/policy/api/v1/infra/context-profiles/attributes - 5. Do not create context profile with "custom_attributes" id + Creates a new Policy Context Profile or selectively updates the fields + provided in the request body of an existing one. + Rules for using attributes and sub-attributes in a single PolicyContextProfile: + 1. Each attribute key may appear only once per profile. (e.g. APP_ID + can be specified at most once.) + 2. Multiple values for an attribute must be supplied as an array. + 3. When sub-attributes are provided for an attribute, that attribute + must have exactly one value. + 4. The reserved id "custom_attributes" must not be used as a profile id. operationId: OrgsOrgIdProjectsProjectIdInfraPatchCreateOrUpdatePolicyContextProfile parameters: - description: The organization ID @@ -334164,7 +335879,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Create PolicyContextProfile + Create or partially update a Policy Context Profile tags: - Inventory - Context Profiles @@ -334213,17 +335928,16 @@ paths: consumes: - application/json description: | - Creates/Updates a PolicyContextProfile, which encapsulates attribute and - sub-attributes of network services. - Rules for using attributes and sub-attributes in single PolicyContextProfile - 1. One type of attribute can't have multiple occurrences. ( Eg. - - Attribute type APP_ID can be used only once per PolicyContextProfile.) - 2. For specifying multiple values for an attribute, provide them in an array. - 3. If sub-attribtes are mentioned for an attribute, then only single - value is allowed for that attribute. - 4. To get a list of supported attributes and sub-attributes fire the following REST API - GET https://<policy-mgr>/policy/api/v1/infra/context-profiles/attributes - 5. Do not create context profile with "custom_attributes" id + Creates a new Policy Context Profile or fully replaces an existing one. + The entire profile is replaced with the contents of the request body; + any fields not included in the request will be reset to their defaults. + Rules for using attributes and sub-attributes in a single PolicyContextProfile: + 1. Each attribute key may appear only once per profile. (e.g. APP_ID + can be specified at most once.) + 2. Multiple values for an attribute must be supplied as an array. + 3. When sub-attributes are provided for an attribute, that attribute + must have exactly one value. + 4. The reserved id "custom_attributes" must not be used as a profile id. operationId: OrgsOrgIdProjectsProjectIdInfraPutCreateOrUpdatePolicyContextProfile parameters: - description: The organization ID @@ -334297,7 +336011,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Create PolicyContextProfile + Create or replace a Policy Context Profile tags: - Inventory - Context Profiles @@ -338615,7 +340329,8 @@ paths: consumes: - application/json description: | - Read a domain. + Returns the configuration of a specific domain identified by the domain ID. + Domains are used to scope groups, security policies, and gateway policies. operationId: OrgsOrgIdProjectsProjectIdInfraReadDomainForInfra parameters: - description: The organization ID @@ -338656,7 +340371,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Read domain + Read a domain by ID tags: - Policy - Domains @@ -340441,8 +342156,10 @@ paths: get: consumes: - application/json - description: |- - Read group + description: | + Returns the configuration of a specific group within a domain, identified + by domain ID and group ID. Groups define membership criteria for workloads and are + used as sources, destinations, and scopes in security policies. operationId: OrgsOrgIdProjectsProjectIdInfraReadGroupForDomain parameters: - description: The organization ID @@ -340489,7 +342206,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Read group + Read a group by ID tags: - Inventory - Groups @@ -343153,10 +344870,10 @@ paths: get: consumes: - application/json - description: | - It retrieves member types for a given group. In case of nested groups, it calculates - member types of child groups as well. Considers member type for members added - via static members and dynamic membership criteria. + description: "It retrieves member types for a given group - based on the expression\ + \ used in the group or the definition of the \ngroup via static and dynamic\ + \ criteria. In case of nested groups, it calculates member types of child\ + \ groups as well.\n" operationId: OrgsOrgIdProjectsProjectIdInfraGetMemberTypesForGroup parameters: - description: The organization ID @@ -343203,7 +344920,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Get member types for a given Group + Get member types for a given Group based on the expressions used in the group. tags: - Inventory - Groups @@ -345898,7 +347615,9 @@ paths: consumes: - application/json description: | - List intrusion detection rules. + Returns a paginated list of all Intrusion Detection System (IDS) rules within a + specific intrusion service policy. Rules are evaluated in sequence to detect and + prevent network intrusion attempts based on configured IDS profiles. operationId: OrgsOrgIdProjectsProjectIdInfraListIdsRules parameters: - description: The organization ID @@ -345983,7 +347702,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - List IDS rules + List IDS/IPS intrusion detection rules in a policy tags: - Security (East West) - Ips & Malware (Rules) @@ -346091,7 +347810,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Delete IDS rule + Delete a distributed IDS/IPS rule tags: - Security (East West) - Ips & Malware (Rules) @@ -346105,7 +347824,8 @@ paths: consumes: - application/json description: | - Read intrusion detection rule + Returns the configuration of a specific distributed IDS/IPS rule within an intrusion + service policy, identified by domain ID, policy ID, and rule ID. operationId: OrgsOrgIdProjectsProjectIdInfraGetIdsRule parameters: - description: The organization ID @@ -346158,7 +347878,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Get IDS rule. + Read a distributed IDS/IPS intrusion detection rule by ID tags: - Security (East West) - Ips & Malware (Rules) @@ -346216,7 +347936,7 @@ paths: consumes: - application/json description: |- - Patch intrusion detection system rule. + Create or partially update a distributed IDS/IPS intrusion detection rule. operationId: OrgsOrgIdProjectsProjectIdInfraPatchIdsRule parameters: - description: The organization ID @@ -346270,7 +347990,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Patch IDS rule + Patch a distributed IDS/IPS rule tags: - Security (East West) - Ips & Malware (Rules) @@ -346297,7 +348017,7 @@ paths: consumes: - application/json description: |- - Update intrusion detection system rule. + Create or update a distributed IDS/IPS intrusion detection rule. operationId: OrgsOrgIdProjectsProjectIdInfraCreateOrUpdateIdsRule parameters: - description: The organization ID @@ -346355,7 +348075,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - create or update IDS rule + Create or update a distributed IDS/IPS rule tags: - Security (East West) - Ips & Malware (Rules) @@ -346728,7 +348448,7 @@ paths: consumes: - application/json description: | - List all security policies for a domain. + List all distributed firewall (DFW) security policies for a domain. operationId: OrgsOrgIdProjectsProjectIdInfraListSecurityPoliciesForDomain parameters: - description: The organization ID @@ -346816,7 +348536,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - List security policies + List distributed firewall security policies tags: - Security (East West) - Distributed Firewall (Rules) @@ -346833,7 +348553,7 @@ paths: "results": [ { "resource_type": "SecurityPolicy", - "description": "comm map", + "description": "security policy", "id": "application-section-1", "display_name": "application-section-1", "path": "/infra/domains/vmc/security-policies/application-section-1", @@ -346875,7 +348595,7 @@ paths: consumes: - application/json description: | - Deletes the security policy along with all the rules + Delete a distributed firewall (DFW) security policy along with all its rules. operationId: OrgsOrgIdProjectsProjectIdInfraDeleteSecurityPolicyForDomain parameters: - description: The organization ID @@ -346914,7 +348634,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Deletes a security policy from this domain + Delete a distributed firewall security policy tags: - Security (East West) - Distributed Firewall (Rules) @@ -346928,7 +348648,7 @@ paths: consumes: - application/json description: | - Read security policy for a domain. + Read a distributed firewall (DFW) security policy for a domain. operationId: OrgsOrgIdProjectsProjectIdInfraReadSecurityPolicyForDomain parameters: - description: The organization ID @@ -346971,7 +348691,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Read security policy + Read a distributed firewall security policy tags: - Security (East West) - Distributed Firewall (Rules) @@ -346983,7 +348703,7 @@ paths: x-vmw-nsx-example-response: | { "resource_type": "SecurityPolicy", - "description": "comm map", + "description": "security policy", "id": "application-section-1", "display_name": "application-section-1", "path": "/infra/domains/vmc/security-policies/application-section-1", @@ -346992,7 +348712,7 @@ paths: "rules": [ { "resource_type": "Rule", - "description": " comm entry", + "description": " rule", "id": "ce-1", "display_name": "ce-1", "path": "/infra/domains/vmc/security-policies/application-section-1/rules/ce-1", @@ -347014,6 +348734,7 @@ paths: "/infra/services/HTTP", "/infra/services/CIM-HTTP" ], + "rule_id": 1003, "_create_user": "admin", "_create_time": 1517317382942, "_last_modified_user": "admin", @@ -347038,9 +348759,9 @@ paths: consumes: - application/json description: | - Patch the security policy for a domain. If a security policy for the given - security-policy-id is not present, the object will get created and if it is - present it will be updated. This is a full replace. + Create or partially update a distributed firewall (DFW) security policy for a domain. + If a security policy for the given security-policy-id is not present, the object will + get created and if it is present it will be updated. Performance Note: If you want to edit several rules in a security policy use this API. It will perform better than several individual rule APIs. Just pass all the rules which you wish to edit as embedded rules to it. @@ -347087,7 +348808,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Patch security policy + Patch a distributed firewall security policy tags: - Security (East West) - Distributed Firewall (Rules) @@ -347097,12 +348818,12 @@ paths: x-vmw-nsx-example-request: | PATCH https://<policy-mgr>/policy/api/v1/infra/domains/vmc/security-policies/application-section-1 { - "description": "comm map patched", + "description": "security policy patched", "display_name": "application-section-1", "category": "Application", "rules": [ { - "description": " comm entry", + "description": " rule", "display_name": "ce-1", "sequence_number": 1, "source_groups": [ @@ -347125,7 +348846,7 @@ paths: consumes: - application/json description: | - Create or Update the security policy for a domain. This is a full replace. + Create or update a distributed firewall (DFW) security policy for a domain. This is a full replace. All the rules are replaced. Performance Note: If you want to edit several rules in a security policy, use this API. It will perform better than several individual rule APIs. @@ -347177,7 +348898,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Create or Update security policy + Create or update a distributed firewall security policy tags: - Security (East West) - Distributed Firewall (Rules) @@ -347187,12 +348908,12 @@ paths: x-vmw-nsx-example-request: | PUT https://<policy-mgr>/policy/api/v1/infra/domains/vmc/security-policies/application-section-1 { - "description": "comm map", + "description": "security policy", "display_name": "application-section-1", "category": "Application", "rules": [ { - "description": " comm entry", + "description": " rule", "display_name": "ce-1", "sequence_number": 1, "source_groups": [ @@ -347213,7 +348934,7 @@ paths: x-vmw-nsx-example-response: | { "resource_type": "SecurityPolicy", - "description": "comm map", + "description": "security policy", "id": "application-section-1", "display_name": "application-section-1", "path": "/infra/domains/vmc/security-policies/application-section-1", @@ -347222,7 +348943,7 @@ paths: "rules": [ { "resource_type": "Rule", - "description": " comm entry", + "description": " rule", "id": "ce-1", "display_name": "ce-1", "path": "/infra/domains/vmc/security-policies/application-section-1/rules/ce-1", @@ -347244,6 +348965,7 @@ paths: "/infra/services/HTTP", "/infra/services/CIM-HTTP" ], + "rule_id": 1003, "_create_user": "admin", "_create_time": 1517317382942, "_last_modified_user": "admin", @@ -347269,8 +348991,9 @@ paths: get: consumes: - application/json - description: |- - List rules + description: | + Returns a list of all distributed firewall rules within a specific security + policy. operationId: OrgsOrgIdProjectsProjectIdInfraListSecurityRules parameters: - description: The organization ID @@ -347351,7 +349074,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - List rules + List distributed firewall rules in a security policy tags: - Security (East West) - Distributed Firewall (Rules) @@ -347368,7 +349091,7 @@ paths: "results": [ { "resource_type": "Rule", - "description": " comm entry", + "description": " rule", "id": "ce-1", "display_name": "ce-1", "path": "/infra/domains/vmc/security-policies/application-section-1/rules/ce-1", @@ -347390,6 +349113,7 @@ paths: "/infra/services/HTTP", "/infra/services/CIM-HTTP" ], + "rule_id": 1003, "_create_user": "admin", "_create_time": 1517317382942, "_last_modified_user": "admin", @@ -347406,7 +349130,7 @@ paths: consumes: - application/json description: |- - Delete rule + Delete a distributed firewall (DFW) rule from a security policy. operationId: OrgsOrgIdProjectsProjectIdInfraDeleteSecurityRule parameters: - description: The organization ID @@ -347449,7 +349173,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Delete rule + Delete a distributed firewall rule tags: - Security (East West) - Distributed Firewall (Rules) @@ -347462,8 +349186,9 @@ paths: get: consumes: - application/json - description: |- - Read rule + description: | + Returns the configuration of a specific distributed firewall rule within a security + policy. operationId: OrgsOrgIdProjectsProjectIdInfraReadSecurityRule parameters: - description: The organization ID @@ -347510,7 +349235,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Read rule + Read a distributed firewall rule by ID tags: - Security (East West) - Distributed Firewall (Rules) @@ -347522,7 +349247,7 @@ paths: x-vmw-nsx-example-response: | { "resource_type": "Rule", - "description": " comm entry", + "description": " rule", "id": "ce-1", "display_name": "ce-1", "path": "/infra/domains/vmc/security-policies/application-section-1/rules/ce-1", @@ -347544,6 +349269,7 @@ paths: "/infra/services/HTTP", "/infra/services/CIM-HTTP" ], + "rule_id": 1002, "_create_user": "admin", "_create_time": 1517317382942, "_last_modified_user": "admin", @@ -347557,9 +349283,9 @@ paths: consumes: - application/json description: | - Patch the rule. If Rule corresponding to the the given rule-id is - not present, the object will get created and if it is present it will be - updated. This is a full replace. + Create or partially update a distributed firewall (DFW) rule within a security policy. + If a rule with the given rule-id does not exist it will be created; otherwise only the + specified fields will be updated. Performance Note: If you want to edit several rules in a security policy, prefer below mentioned API for optimal performance. Pass all the rules which you wish to edit as embedded rules to it. @@ -347612,7 +349338,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Patch a rule + Patch a distributed firewall rule tags: - Security (East West) - Distributed Firewall (Rules) @@ -347622,7 +349348,7 @@ paths: x-vmw-nsx-example-request: | PATCH https://<policy-mgr>/policy/api/v1/infra/domains/vmc/security-policies/application-section-1/rules/ce-1 { - "description": " comm entry", + "description": " rule", "display_name": "ce-1", "sequence_number": 1, "source_groups": [ @@ -347645,8 +349371,9 @@ paths: consumes: - application/json description: | - Update the rule. Create new rule if a rule with the rule-id is not already - present. + Create or update a distributed firewall (DFW) rule within a security policy. + If a rule with the given rule-id does not exist it will be created; otherwise it will be + updated. Performance Note: If you wish to edit several rules in a security policy, prefer below mentioned API for optimal performance. Pass all the rules which you wish to edit as embedded rules to it. @@ -347703,7 +349430,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Create or update a rule + Create or update a distributed firewall rule tags: - Security (East West) - Distributed Firewall (Rules) @@ -347713,7 +349440,7 @@ paths: x-vmw-nsx-example-request: | PUT https://<policy-mgr>/policy/api/v1/infra/domains/vmc/security-policies/application-section-1/rules/ce-1 { - "description": "comm entry", + "description": "rule", "display_name": "ce-1", "sequence_number": 1, "source_groups": [ @@ -347735,7 +349462,7 @@ paths: x-vmw-nsx-example-response: | { "resource_type": "Rule", - "description": " comm entry", + "description": " rule", "id": "ce-1", "display_name": "ce-1", "path": "/infra/domains/vmc/security-policies/application-section-1/rules/ce-1", @@ -347752,11 +349479,12 @@ paths: "scope": [ "ANY" ], - "action": "ALLOW", + "action": "DROP", "services": [ "/infra/services/HTTP", "/infra/services/CIM-HTTP" ], + "rule_id": 1001, "_create_user": "admin", "_create_time": 1517317382942, "_last_modified_user": "admin", @@ -347876,7 +349604,8 @@ paths: consumes: - application/json description: | - This is used to re-order a rule within a security policy. + This is used to re-order a distributed firewall (DFW) rule within a security policy. + NOTE: Default rule sequence numbers cannot be modified. operationId: OrgsOrgIdProjectsProjectIdInfraReviseSecurityRule parameters: - description: The organization ID @@ -347949,7 +349678,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Revise the positioning of rule + Revise the positioning of a distributed firewall rule tags: - Security (East West) - Distributed Firewall (Rules) @@ -347959,7 +349688,7 @@ paths: x-vmw-nsx-example-request: | POST https://<policy-mgr>/policy/api/v1/infra/domains/vmc/security-policies/emergency-section/rules/ce-1?action=revise&anchor_path=/infra/domains/vmc/security-policies/emergency-section/rules/ce-2&operation=insert_after { - "description": " comm entry", + "description": " rule", "display_name": "ce-1", "path": "/infra/domains/vmc_domain/security-policies/emergency-section/rules/ce-1", "parent_path": "/infra/domains/vmc_domain/security-policies/emergency-section", @@ -347986,7 +349715,7 @@ paths: x-vmw-nsx-example-response: | { "resource_type": "Rule", - "description": " comm entry", + "description": " rule", "id": "ce-1", "display_name": "ce-1", "path": "/infra/domains/vmc/security-policies/application-section-1/rules/ce-1", @@ -348132,7 +349861,7 @@ paths: consumes: - application/json description: | - This is used to set a precedence of a security policy w.r.t others. + This is used to set a precedence of a distributed firewall (DFW) security policy w.r.t others. operationId: OrgsOrgIdProjectsProjectIdInfraReviseSecurityPolicies parameters: - description: The organization ID @@ -348201,7 +349930,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Revise the positioning of security policies + Revise the positioning of a distributed firewall security policy tags: - Security (East West) - Distributed Firewall (Rules) @@ -348211,12 +349940,12 @@ paths: x-vmw-nsx-example-request: | POST https://<policy-mgr>/policy/api/v1/infra/domains/vmc/security-policies/application-section-1?action=revise&anchor_path=/infra/domains/vmc/security-policies/emergency-section&operation=insert_before { - "description": "comm map revised", + "description": "security policy revised", "display_name": "application-section-1", "category":"Application", "rules": [ { - "description": " comm entry", + "description": " rule", "display_name": "ce-1", "sequence_number": 1, "source_groups": [ @@ -348237,7 +349966,7 @@ paths: x-vmw-nsx-example-response: | { "resource_type": "SecurityPolicy", - "description": "comm map", + "description": "security policy", "id": "application-section-1", "display_name": "application-section-1", "path": "/infra/domains/vmc/security-policies/application-section-1", @@ -348246,7 +349975,7 @@ paths: "rules": [ { "resource_type": "Rule", - "description": " comm entry", + "description": " rule", "id": "ce-1", "display_name": "ce-1", "path": "/infra/domains/vmc/security-policies/application-section-1/rules/ce-1", @@ -348268,6 +349997,7 @@ paths: "/infra/services/HTTP", "/infra/services/CIM-HTTP" ], + "rule_id": 1003, "_create_user": "admin", "_create_time": 1517317382942, "_last_modified_user": "admin", @@ -348293,8 +350023,8 @@ paths: get: consumes: - application/json - description: |- - List policy drafts. + description: | + Returns a paginated list of all DFW drafts. operationId: OrgsOrgIdProjectsProjectIdInfraListDrafts parameters: - description: The organization ID @@ -348377,7 +350107,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - List policy drafts + List all policy configuration drafts tags: - Security (East West) - Distributed Firewall (Drafts) @@ -348488,7 +350218,9 @@ paths: consumes: - application/json description: | - Read a draft for a given draft identifier. + Returns the configuration of a specific NSX policy draft identified by the draft ID. + Drafts allow administrators to stage and review configuration changes before publishing + them to the live environment. operationId: OrgsOrgIdProjectsProjectIdInfraReadDraft parameters: - description: The organization ID @@ -348527,7 +350259,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Read draft + Read a policy configuration draft by ID tags: - Security (East West) - Distributed Firewall (Drafts) @@ -349295,7 +351027,7 @@ paths: consumes: - application/json description: | - Read a draft and publish it by applying changes onto current configuration. + Publishes a draft by applying its staged configuration changes onto the live environment. If there are additional changes on top of draft configuration, pass it as a request body, in form of Infra object. Otherwise, if there are no additional changes, then pass empty Infra object as a request body. @@ -349338,7 +351070,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Publish a draft + Publish a policy draft and apply its changes tags: - Security (East West) - Distributed Firewall (Drafts) @@ -350499,7 +352231,7 @@ paths: consumes: - application/json description: | - Get the list of rules of given parent path of policy/section, filtered + Get the list of firewall rules of a given parent policy path, filtered based on the given criteria. Parent path is mandatory. operationId: OrgsOrgIdProjectsProjectIdInfraGetFilteredRules @@ -350582,7 +352314,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Get rules filtered based on the given criteria + Get firewall rules filtered by criteria tags: - Security - Firewall @@ -351677,7 +353409,8 @@ paths: - application/json description: | This API will help reallocate or re-balance gateway service instances within the edge or VNA clusters. - This will be a disruptive operation, and all existing gateway statistics will be removed. + This is a disruptive operation that internally triggers ha failover which may result in the loss of existing connection state. + All existing gateway statistics will be reset upon execution. The API is only supported for infra tier-1s, VPCs, centralized transit gateways, and project tier-1 gateways. For manual allocation please provide gateway_path and preferred_edge_paths. For re-balancing within the cluster, execute API with gateway_path only and no need to pass other request parameters. @@ -355544,7 +357277,7 @@ paths: consumes: - application/json description: |- - Get paginated list of all IKE Profiles. + Get paginated list of all IKE Profiles. If any of these profiles are using SHA1 as a digest algorithm, please note that SHA1 is deprecated. Please update such profiles to use some other Digest Algorithm. operationId: OrgsOrgIdProjectsProjectIdInfraListIPSecVpnIkeProfiles parameters: - description: The organization ID @@ -355699,7 +357432,7 @@ paths: consumes: - application/json description: |- - Get custom IKE Profile, given the particular id. + Get custom IKE Profile, given the particular id. If this profile is using SHA1 as a digest algorithm, please note that SHA1 is deprecated. Please update the profile to use some other Digest Algorithm. operationId: OrgsOrgIdProjectsProjectIdInfraGetIPSecVpnIkeProfile parameters: - description: The organization ID @@ -355768,7 +357501,7 @@ paths: consumes: - application/json description: |- - Create or patch custom internet key exchange (IKE) Profile. IKE Profile is a reusable profile that captures IKE and phase one negotiation parameters. System will be pre provisioned with system owned editable default IKE profile and suggested set of profiles that can be used for peering with popular remote peers like AWS VPN. User can create custom profiles as needed. Any change in profile affects all sessions consuming this profile. + Create or patch custom internet key exchange (IKE) Profile. IKE Profile is a reusable profile that captures IKE and phase one negotiation parameters. System will be pre provisioned with system owned editable default IKE profile and suggested set of profiles that can be used for peering with popular remote peers like AWS VPN. User can create custom profiles as needed. Any change in profile affects all sessions consuming this profile. SHA1 is deprecated. Please use some other Digest Algorithm. operationId: OrgsOrgIdProjectsProjectIdInfraCreateOrPatchIPSecVpnIkeProfile parameters: - description: The organization ID @@ -355829,7 +357562,7 @@ paths: consumes: - application/json description: |- - Create or fully replace custom internet key exchange (IKE) Profile. IKE Profile is a reusable profile that captures IKE and phase one negotiation parameters. System will be pre provisioned with system owned editable default IKE profile and suggested set of profiles that can be used for peering with popular remote peers like AWS VPN. User can create custom profiles as needed. Any change in profile affects all sessions consuming this profile. Revision is optional for creation and required for update. + Create or fully replace custom internet key exchange (IKE) Profile. IKE Profile is a reusable profile that captures IKE and phase one negotiation parameters. System will be pre provisioned with system owned editable default IKE profile and suggested set of profiles that can be used for peering with popular remote peers like AWS VPN. User can create custom profiles as needed. Any change in profile affects all sessions consuming this profile. Revision is optional for creation and required for update. SHA1 is deprecated. Please use some other Digest Algorithm. operationId: OrgsOrgIdProjectsProjectIdInfraCreateOrUpdateIPSecVpnIkeProfile parameters: - description: The organization ID @@ -355914,7 +357647,7 @@ paths: consumes: - application/json description: |- - Get paginated list of all IPSec tunnel Profiles. + Get paginated list of all IPSec tunnel Profiles. If any of these profiles are using SHA1 as a digest algorithm, please note that SHA1 is deprecated. Please update such profiles to use some other Digest Algorithm. operationId: OrgsOrgIdProjectsProjectIdInfraListIPSecVpnTunnelProfiles parameters: - description: The organization ID @@ -356070,7 +357803,7 @@ paths: consumes: - application/json description: |- - Get custom IPSec tunnel Profile, given the particular id. + Get custom IPSec tunnel Profile, given the particular id. If this profile is using SHA1 as a digest algorithm, please note that SHA1 is deprecated. Please update the profile to use some other Digest Algorithm. operationId: OrgsOrgIdProjectsProjectIdInfraGetIPSecVpnTunnelProfile parameters: - description: The organization ID @@ -356140,7 +357873,7 @@ paths: consumes: - application/json description: |- - Create or patch custom IPSec tunnel profile. IPSec tunnel profile is a reusable profile that captures phase two negotiation parameters and tunnel properties. System will be provisioned with system owned editable default IPSec tunnel profile. Any change in profile affects all sessions consuming this profile. + Create or patch custom IPSec tunnel profile. IPSec tunnel profile is a reusable profile that captures phase two negotiation parameters and tunnel properties. System will be provisioned with system owned editable default IPSec tunnel profile. Any change in profile affects all sessions consuming this profile. SHA1 is deprecated. Please use some other Digest Algorithm. operationId: OrgsOrgIdProjectsProjectIdInfraCreateOrPatchIPSecVpnTunnelProfile parameters: - description: The organization ID @@ -356202,7 +357935,7 @@ paths: consumes: - application/json description: |- - Create or fully replace custom IPSec tunnel profile. IPSec tunnel profile is a reusable profile that captures phase two negotiation parameters and tunnel properties. System will be provisioned with system owned editable default IPSec tunnel profile. Any change in profile affects all sessions consuming this profile. Revision is optional for creation and required for update. + Create or fully replace custom IPSec tunnel profile. IPSec tunnel profile is a reusable profile that captures phase two negotiation parameters and tunnel properties. System will be provisioned with system owned editable default IPSec tunnel profile. Any change in profile affects all sessions consuming this profile. Revision is optional for creation and required for update. SHA1 is deprecated. Please use some other Digest Algorithm. operationId: OrgsOrgIdProjectsProjectIdInfraCreateOrUpdateIPSecVpnTunnelProfile parameters: - description: The organization ID @@ -360713,7 +362446,7 @@ paths: consumes: - application/json description: |- - Update the global Operationconfiguration + Update the global Operations Configuration operationId: OrgsOrgIdProjectsProjectIdInfrapatchOpsGlobalConfig parameters: - description: The organization ID @@ -360763,7 +362496,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Update the global Operationconfiguration + Update the global Operations Configuration tags: - Networking (Networking Profiles) - Global Gateway Configuration @@ -362085,8 +363818,22 @@ paths: The request is evaluated as follows: - <intent_path>: the request is evaluated on all enforcement points for the given intent without enforcement point specific details. - - <intent_path, include_enforced_status>: the request is evaluated on all enforcement points for - the given intent with enforcement point specific details. + - <intent_path, include_enforced_status=true>: the request is evaluated on all enforcement points + for the given intent with enforcement point specific details. This is only supported when intent_path + refers to an object of one of the following types: + SECURITY_POLICY, + GATEWAY_POLICY, + IDS_SECURITY_POLICY, + IDS_GATEWAY_POLICY, + IDS_COMPRESSED_SIGNATURE, + IDS_COMPRESSED_CUSTOM_SIGNATURE, + TLS_POLICY, + VPC_SECURITY_POLICY, + VPC_GATEWAY_POLICY, + PUBLIC_CLOUD_VPC_SECURITY_POLICY, + Passing the path of an unsupported type (e.g. a rule) with include_enforced_status=true + will result in an error. In such cases, pass the path of the parent policy object instead + (e.g., the SecurityPolicy or GatewayPolicy that contains the rule). operationId: OrgsOrgIdProjectsProjectIdInfraReadIntentStatus parameters: - description: The organization ID @@ -362100,10 +363847,59 @@ paths: required: true type: string - default: false - description: 'Flag conveying whether to include detailed view of the enforcement - point specific + description: 'Flag conveying whether to include detailed per-transport-node + enforcement status + + in the response. + + When set to true, each item in consolidated_status_per_enforcement_point + is returned + + as ConsolidatedStatusNsxT (with the enforced_status field populated). + + When set to false (default), each item is returned as ConsolidatedStatusPerEnforcementPoint + + (enforced_status absent). + + Use the resource_type field in each item to distinguish between the two + types. + + This flag is only supported when intent_path refers to an object of one + of the + + following types: + + SECURITY_POLICY, + + GATEWAY_POLICY, + + IDS_SECURITY_POLICY, + + IDS_GATEWAY_POLICY, - status or not. + IDS_COMPRESSED_SIGNATURE, + + IDS_COMPRESSED_CUSTOM_SIGNATURE, + + TLS_POLICY, + + VPC_SECURITY_POLICY, + + VPC_GATEWAY_POLICY, + + PUBLIC_CLOUD_VPC_SECURITY_POLICY, + + COMMUNICATION_MAP (deprecated alias for SECURITY_POLICY), + + EDGE_COMMUNICATION_MAP (deprecated alias for GATEWAY_POLICY). + + Setting this flag for any other type (e.g. a rule path) will result in an + error. + + In such cases, pass the path of the parent policy object instead (e.g., + the + + SecurityPolicy or GatewayPolicy that contains the rule). ' in: query @@ -362167,6 +363963,7 @@ paths: }, "consolidated_status_per_enforcement_point": [ { + "resource_type": "ConsolidatedStatusNsxT", "enforced_status": { "enforced_status_info": { "enforced_status": { @@ -364164,17 +365961,176 @@ paths: 200 OK x-vmw-nsx-module: PolicyConnectivity get: + consumes: + - application/json + description: "Returns the configuration of a specific NSX network segment (logical\ + \ switch) identified\nby segment ID. Segments provide Layer 2 connectivity\ + \ for workloads and are connected to\na Tier-0 or Tier-1 gateway for Layer\ + \ 3 routing.\nNote: Extended Segment (L2VPN) \u2014 if an old vpn path was\ + \ specified in the l2_extension\nobject in a previous PATCH request, the GET\ + \ response may return the new canonicalized\npath instead of the original\ + \ path that was submitted.\n instead of the deprecated l2vpn path. Both old\ + \ and new l2vpn path refer to same resource. there is no functional impact.\n\ + \ Also note that l2vpn path included in the error messages returned from\ + \ validation may include the new VPN path\n instead of the deprecated l2vpn\ + \ path. Both new path and old vpn path refer to same resource.\n" + operationId: OrgsOrgIdProjectsProjectIdInfraReadInfraSegment + parameters: + - description: The organization ID + in: path + name: org-id + required: true + type: string + - description: The project ID + in: path + name: project-id + required: true + type: string + - description: |- + Segment ID + in: path + name: segment-id + required: true + type: string + produces: + - application/json + responses: + '200': + description: OK + schema: + $ref: '#/definitions/Segment' + '400': + $ref: '#/responses/BadRequest' + '403': + $ref: '#/responses/Forbidden' + '404': + description: Not Found + '412': + $ref: '#/responses/PreconditionFailed' + '500': + $ref: '#/responses/InternalServerError' + '503': + $ref: '#/responses/ServiceUnavailable' + '504': + $ref: '#/responses/GatewayTimeout' + summary: |- + Read a network segment by ID + tags: + - Networking (Switching) + - Segments + x-vmw-nsx-deployment-modes: + - vmc + - on-prem + x-vmw-nsx-example-request: | + GET https://<policy-mgr>/policy/api/v1/infra/segments/web-tier + x-vmw-nsx-example-response: | + { + "resource_type": "Segment", + "id": "web-tier", + "display_name": "web-tier", + "path": "/infra/tier-1s/cgw/segments/web-tier", + "parent_path": "/infra/tier-1s/cgw", + "relative_path": "web-tier", + "subnets": [ + { + "gateway_address": "40.1.1.1/16", + "dhcp_ranges": [ + "40.1.2.0/24" + ] + } + ], + "connectivity_path": "/infra/tier-1s/mgw", + "_create_user": "admin", + "_create_time": 1516668961954, + "_last_modified_user": "admin", + "_last_modified_time": 1516668961954, + "_system_owned": false, + "_protection": "NOT_PROTECTED", + "_revision": 0 + } + x-vmw-nsx-module: PolicyConnectivity + patch: + consumes: + - application/json + description: | + If segment with the segment-id is not already present, create a new segment. + If it already exists, update the segment with specified attributes. + operationId: OrgsOrgIdProjectsProjectIdInfraPatchInfraSegment + parameters: + - description: The organization ID + in: path + name: org-id + required: true + type: string + - description: The project ID + in: path + name: project-id + required: true + type: string + - description: |- + Segment ID + in: path + name: segment-id + required: true + type: string + - in: body + name: Segment + required: true + schema: + $ref: '#/definitions/Segment' + responses: + '200': + description: OK + '400': + $ref: '#/responses/BadRequest' + '403': + $ref: '#/responses/Forbidden' + '404': + description: Not Found + '412': + $ref: '#/responses/PreconditionFailed' + '500': + $ref: '#/responses/InternalServerError' + '503': + $ref: '#/responses/ServiceUnavailable' + '504': + $ref: '#/responses/GatewayTimeout' + summary: |- + Create or update a segment + tags: + - Networking (Switching) + - Segments + x-vmw-nsx-deployment-modes: + - vmc + - on-prem + x-vmw-nsx-example-request: | + PATCH https://<policy-mgr>/policy/api/v1/infra/segments/web-tier + { + "display_name":"web-tier", + "subnets": [ + { + "gateway_address": "40.1.1.1/16", + "dhcp_ranges": [ "40.1.2.0/24" ] + } + ], + "connectivity_path": "/infra/tier-1s/mgw" + } + x-vmw-nsx-example-response: |- + 200 OK + x-vmw-nsx-module: PolicyConnectivity + put: consumes: - application/json description: | - Read infra segment + If segment with the segment-id is not already present, create a new segment. + If it already exists, replace the segment with this object. Note: Extended Segment: Please note that old vpn path deprecated. If user specify old l2vpn path in the "l2_extension" object in the PATCH API payload, the path returned in the GET response payload may include the new path instead of the deprecated l2vpn path. Both old and new l2vpn path refer to same resource. there is no functional impact. - Also note that l2vpn path included in the error messages returned from validation may include the new VPN path + Also note that l2vpn path included in the Alarm, GPRR, error messages returned from validation may include the new VPN path instead of the deprecated l2vpn path. Both new path and old vpn path refer to same resource. - operationId: OrgsOrgIdProjectsProjectIdInfraReadInfraSegment + operationId: OrgsOrgIdProjectsProjectIdInfraCreateOrReplaceInfraSegment parameters: - description: The organization ID in: path @@ -364192,167 +366148,11 @@ paths: name: segment-id required: true type: string - produces: - - application/json - responses: - '200': - description: OK - schema: - $ref: '#/definitions/Segment' - '400': - $ref: '#/responses/BadRequest' - '403': - $ref: '#/responses/Forbidden' - '404': - description: Not Found - '412': - $ref: '#/responses/PreconditionFailed' - '500': - $ref: '#/responses/InternalServerError' - '503': - $ref: '#/responses/ServiceUnavailable' - '504': - $ref: '#/responses/GatewayTimeout' - summary: |- - Read infra segment - tags: - - Networking (Switching) - - Segments - x-vmw-nsx-deployment-modes: - - vmc - - on-prem - x-vmw-nsx-example-request: | - GET https://<policy-mgr>/policy/api/v1/infra/segments/web-tier - x-vmw-nsx-example-response: | - { - "resource_type": "Segment", - "id": "web-tier", - "display_name": "web-tier", - "path": "/infra/tier-1s/cgw/segments/web-tier", - "parent_path": "/infra/tier-1s/cgw", - "relative_path": "web-tier", - "subnets": [ - { - "gateway_address": "40.1.1.1/16", - "dhcp_ranges": [ - "40.1.2.0/24" - ] - } - ], - "connectivity_path": "/infra/tier-1s/mgw", - "_create_user": "admin", - "_create_time": 1516668961954, - "_last_modified_user": "admin", - "_last_modified_time": 1516668961954, - "_system_owned": false, - "_protection": "NOT_PROTECTED", - "_revision": 0 - } - x-vmw-nsx-module: PolicyConnectivity - patch: - consumes: - - application/json - description: | - If segment with the segment-id is not already present, create a new segment. - If it already exists, update the segment with specified attributes. - operationId: OrgsOrgIdProjectsProjectIdInfraPatchInfraSegment - parameters: - - description: The organization ID - in: path - name: org-id - required: true - type: string - - description: The project ID - in: path - name: project-id - required: true - type: string - - description: |- - Segment ID - in: path - name: segment-id - required: true - type: string - - in: body - name: Segment - required: true - schema: - $ref: '#/definitions/Segment' - responses: - '200': - description: OK - '400': - $ref: '#/responses/BadRequest' - '403': - $ref: '#/responses/Forbidden' - '404': - description: Not Found - '412': - $ref: '#/responses/PreconditionFailed' - '500': - $ref: '#/responses/InternalServerError' - '503': - $ref: '#/responses/ServiceUnavailable' - '504': - $ref: '#/responses/GatewayTimeout' - summary: |- - Create or update a segment - tags: - - Networking (Switching) - - Segments - x-vmw-nsx-deployment-modes: - - vmc - - on-prem - x-vmw-nsx-example-request: | - PATCH https://<policy-mgr>/policy/api/v1/infra/segments/web-tier - { - "display_name":"web-tier", - "subnets": [ - { - "gateway_address": "40.1.1.1/16", - "dhcp_ranges": [ "40.1.2.0/24" ] - } - ], - "connectivity_path": "/infra/tier-1s/mgw" - } - x-vmw-nsx-example-response: |- - 200 OK - x-vmw-nsx-module: PolicyConnectivity - put: - consumes: - - application/json - description: | - If segment with the segment-id is not already present, create a new segment. - If it already exists, replace the segment with this object. - Note: - Extended Segment: Please note that old vpn path deprecated. If user specify old l2vpn path in the - "l2_extension" object in the PATCH API payload, the path returned in the GET response payload may include the new path - instead of the deprecated l2vpn path. Both old and new l2vpn path refer to same resource. there is no functional impact. - Also note that l2vpn path included in the Alarm, GPRR, error messages returned from validation may include the new VPN path - instead of the deprecated l2vpn path. Both new path and old vpn path refer to same resource. - operationId: OrgsOrgIdProjectsProjectIdInfraCreateOrReplaceInfraSegment - parameters: - - description: The organization ID - in: path - name: org-id - required: true - type: string - - description: The project ID - in: path - name: project-id - required: true - type: string - - description: |- - Segment ID - in: path - name: segment-id - required: true - type: string - - in: body - name: Segment - required: true - schema: - $ref: '#/definitions/Segment' + - in: body + name: Segment + required: true + schema: + $ref: '#/definitions/Segment' produces: - application/json responses: @@ -371188,7 +372988,7 @@ paths: consumes: - application/json description: | - Return list of Services. + Returns a paginated list of all services. operationId: OrgsOrgIdProjectsProjectIdInfraListServicesForTenant parameters: - description: The organization ID @@ -371273,7 +373073,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - List Services + List all Services tags: - Inventory - Services @@ -371382,8 +373182,8 @@ paths: get: consumes: - application/json - description: |- - Read a service + description: | + Returns the configuration of a specific service identified by service ID. operationId: OrgsOrgIdProjectsProjectIdInfraReadServiceForTenant parameters: - description: The organization ID @@ -371424,7 +373224,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Read a service + Read a service by ID tags: - Inventory - Services @@ -372837,7 +374637,7 @@ paths: consumes: - application/json description: |- - Get the current dfw firewall configurations. + Get the current Distributed Firewall (DFW) and Identity Firewall (IDFW) configurations. operationId: OrgsOrgIdProjectsProjectIdInfraGetDfwFirewallConfiguration parameters: - description: The organization ID @@ -372872,7 +374672,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Get dfw firewall configuration + Get DFW and IDFW firewall configuration tags: - Security (East West) - Distributed Firewall (Settings) @@ -372907,7 +374707,7 @@ paths: consumes: - application/json description: | - Update dfw firewall related configurations. + Update Distributed Firewall (DFW) and Identity Firewall (IDFW) related configurations. Turning off distributed services ("enable_firewall": false) will turn off Distributed Firewall, Identity Firewall, Distributed Intrusion Detection and Prevention Service, Distributed Load Balancer. operationId: OrgsOrgIdProjectsProjectIdInfraPatchDfwFirewallConfiguration @@ -372945,7 +374745,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Update dfw firewall configuration + Update DFW and IDFW firewall configuration tags: - Security (East West) - Distributed Firewall (Settings) @@ -372963,7 +374763,7 @@ paths: consumes: - application/json description: | - Update dfw firewall related configurations. + Update Distributed Firewall (DFW) and Identity Firewall (IDFW) related configurations. Turning off distributed services ("enable_firewall": false) will turn off Distributed Firewall, Identity Firewall, Distributed Intrusion Detection and Prevention Service, Distributed Load Balancer. operationId: OrgsOrgIdProjectsProjectIdInfraPutDfwFirewallConfiguration @@ -373005,7 +374805,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Update dfw firewall configuration + Update DFW and IDFW firewall configuration tags: - Security (East West) - Distributed Firewall (Settings) @@ -374594,6 +376394,8 @@ paths: consumes: - application/json description: | + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Trigger the process to collect all pcap files of all the pcap_ids mentioned in request payload. operationId: OrgsOrgIdProjectsProjectIdInfraExportIdsPcapFile parameters: @@ -374647,6 +376449,7 @@ paths: - on-prem x-vmw-nsx-example-request: | POST https://<policy-mgr>/policy/api/v1/infra/settings/firewall/security/intrusion-services/pcaps/export + x-vmw-nsx-experimental: true x-vmw-nsx-module: PolicyIDS /orgs/{org-id}/projects/{project-id}/infra/settings/firewall/security/intrusion-services/pcaps/{file-name}/download: get: @@ -383816,6 +385619,21 @@ paths: name: session-id required: true type: string + - description: 'The peer code generation has been enhanced for improved security. + + In case the L2VPN client is running a different (old) release, + + set backward_compatible=true to download a peer code that is + + compatible with older releases. It is strongly recommended to + + upgrade the L2VPN client to the latest release. + + ' + in: query + name: backward_compatible + required: false + type: boolean - description: 'enforcement point path, forward slashes must be escaped using %2F. @@ -388645,7 +390463,7 @@ paths: GEOIP_MONITORING - Geo IP Monitoring - Use any one of this to enable/disabe it. + Use any one of this to enable/disable it. ' enum: @@ -404097,7 +405915,7 @@ paths: consumes: - application/json description: | - List transit gateway centralized service configurations + List transit gateway centralized configs operationId: ListCentralizedConfig parameters: - in: path @@ -404172,7 +405990,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - List transit gateway centralized service configurations + List transit gateway centralized config tags: - VPC Networking (Transit Gateway) - Centralized Configs @@ -404211,7 +406029,7 @@ paths: consumes: - application/json description: | - Delete the centralized service config. Only allowed when no active gateway attachments or VPN services use the TGW. + Delete the centralized config. operationId: DeleteCentralizedConfig parameters: - in: path @@ -404248,7 +406066,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Delete transit gateway centralized service configuration + Delete transit gateway centralized config tags: - VPC Networking (Transit Gateway) - Centralized Configs @@ -404263,7 +406081,7 @@ paths: consumes: - application/json description: | - Read the centralized service config for the transit gateway. + Read the centralized service config of the transit gateway. operationId: ReadCentralizedConfig parameters: - in: path @@ -404304,7 +406122,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Read transit gateway centralized service configuration + Read transit gateway centralized config tags: - VPC Networking (Transit Gateway) - Centralized Configs @@ -404344,7 +406162,7 @@ paths: consumes: - application/json description: | - Partial update of the centralized service config. + Partial update of the centralized config. operationId: PatchCentralizedConfig parameters: - in: path @@ -404386,7 +406204,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Update transit gateway centralized service configuration + Update transit gateway centralized config tags: - VPC Networking (Transit Gateway) - Centralized Configs @@ -404409,7 +406227,6 @@ paths: - application/json description: | Create or replace the centralized service config for the transit gateway. - Only the id "default" is accepted. Contains HA mode and edge cluster paths for centralized TGW. operationId: CreateOrReplaceCentralizedConfig parameters: - in: path @@ -404455,7 +406272,7 @@ paths: '504': $ref: '#/responses/GatewayTimeout' summary: |- - Create or replace transit gateway centralized service configuration + Create or replace transit gateway centralized config tags: - VPC Networking (Transit Gateway) - Centralized Configs @@ -407526,6 +409343,8 @@ paths: consumes: - application/json description: | + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Retrieves only the resources with the reason not "SUCCESS". In case of failure or warning of the resource a reason object explaining the type of failure (ERROR, WARNING) and the detailed message of what the user could do to remediate is captured. operationId: GetTransitGatewayAlarms @@ -407599,6 +409418,7 @@ paths: } ] } + x-vmw-nsx-experimental: true x-vmw-nsx-module: PolicyTransitGatewayStatistics /orgs/{org-id}/projects/{project-id}/transit-gateways/{transit-gateway-id}/routing-table: get: @@ -418779,6 +420599,8 @@ paths: consumes: - application/json description: | + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Retrieves only the resources with the reason not "SUCCESS". In case of failure or warning of the resource a reason object explaining the type of failure (ERROR, WARNING) and the detailed message of what the user could do to remediate is captured. operationId: GetVpcAlarms @@ -418957,6 +420779,7 @@ paths: ] } } + x-vmw-nsx-experimental: true x-vmw-nsx-module: PolicyVpcStatistics /orgs/{org-id}/projects/{project-id}/vpcs/{vpc-id}/security-policies: get: @@ -419081,6 +420904,8 @@ paths: consumes: - application/json description: | + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Retrieves only the resources with the reason not "SUCCESS". In case of failure or warning of the resource a reason object explaining the type of failure (ERROR, WARNING) and the detailed message of what the user could do to remediate is captured. operationId: GetVpcSecurityPolicyAlarms @@ -419154,6 +420979,7 @@ paths: } ] } + x-vmw-nsx-experimental: true x-vmw-nsx-module: PolicyVpcStatistics /orgs/{org-id}/projects/{project-id}/vpcs/{vpc-id}/security-policies/{security-policy-id}: delete: @@ -421249,6 +423075,8 @@ paths: consumes: - application/json description: | + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Get VPC Status operationId: GetVpcStatus parameters: @@ -421472,6 +423300,7 @@ paths: } } } + x-vmw-nsx-experimental: true x-vmw-nsx-module: PolicyVpcStatistics /orgs/{org-id}/projects/{project-id}/vpcs/{vpc-id}/subnets: get: @@ -421593,6 +423422,8 @@ paths: consumes: - application/json description: | + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Retrieves only the resources with the reason not "SUCCESS". In case of failure or warning of the resource a reason object explaining the type of failure (ERROR, WARNING) and the detailed message of what the user could do to remediate is captured. operationId: GetVpcSubnetAlarms @@ -421666,6 +423497,7 @@ paths: } ] } + x-vmw-nsx-experimental: true x-vmw-nsx-module: PolicyVpcSubnetStatistics /orgs/{org-id}/projects/{project-id}/vpcs/{vpc-id}/subnets/{subnet-id}: delete: @@ -422510,6 +424342,8 @@ paths: consumes: - application/json description: | + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
List all bridge connections under a vpc subnet specific subnet operationId: ListBridgeConnection parameters: @@ -422624,12 +424458,15 @@ paths: } ] } + x-vmw-nsx-experimental: true x-vmw-nsx-module: PolicyVpcSubnet /orgs/{org-id}/projects/{project-id}/vpcs/{vpc-id}/subnets/{subnet-id}/bridge-connections/{bridge-connection-id}: delete: consumes: - application/json description: | + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Delete VPC Subnet bridge profile operationId: DeleteBridgeConnection parameters: @@ -422680,11 +424517,14 @@ paths: DELETE https://<policy-mgr>/policy/api/v1/orgs/org-1/projects/project-1/vpcs/vpc-1/subnets/subnet-1/bridge-connections/testbridgeconnection x-vmw-nsx-example-response: |- 200 OK + x-vmw-nsx-experimental: true x-vmw-nsx-module: PolicyVpcSubnet get: consumes: - application/json description: | + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Get VPC Subnet Bridge Connection operationId: GetBridgeConnection parameters: @@ -422760,11 +424600,14 @@ paths: "_protection": "NOT_PROTECTED", "_revision": 0 } + x-vmw-nsx-experimental: true x-vmw-nsx-module: PolicyVpcSubnet patch: consumes: - application/json description: | + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Patch Bridge Connection operationId: PatchBridgeConnection parameters: @@ -422826,11 +424669,14 @@ paths: } x-vmw-nsx-example-response: |- 200 OK + x-vmw-nsx-experimental: true x-vmw-nsx-module: PolicyVpcSubnet put: consumes: - application/json description: | + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
Put VPC Subnet bridge profile operationId: PutBridgeConnection parameters: @@ -422918,6 +424764,7 @@ paths: "_protection": "NOT_PROTECTED", "_revision": 0 } + x-vmw-nsx-experimental: true x-vmw-nsx-module: PolicyVpcSubnet /orgs/{org-id}/projects/{project-id}/vpcs/{vpc-id}/subnets/{subnet-id}/bridge-profile: delete: @@ -433945,6 +435792,8 @@ paths: consumes: - application/json description: |- + **Experimental:** This API is experimental and may change or be removed in future releases without notice. +
DSL (Domain Specific Language) search API operationId: DslSearch parameters: @@ -434056,6 +435905,7 @@ paths: "result_count": 1, "cursor": "1" } + x-vmw-nsx-experimental: true x-vmw-nsx-module: Search /search/query: get: @@ -436935,348 +438785,348 @@ securityDefinitions: type: basic swagger: '2.0' tags: -- name: Gateway Firewall (Tls Inspection) -- name: Networking (Services) -- name: Realized State -- name: Sandboxing -- name: IPSEC VPN (Services) -- name: IPSEC VPN (Local Endpoints) -- name: Security (Groups) -- name: Service References -- name: Operational Data -- name: Tier-0S (Inter-Vrfs) -- name: DNS Security Profile Bindings -- name: Service Instances (Tier-1 Gateways) -- name: Gateway Firewall (Rules) -- name: Edge Clusters -- name: Segments Profiles (Discovery Profiles) +- name: Tier-0S +- name: Connectivity +- name: Security (Service Insertion) +- name: Tier-0S (Routing) +- name: API Services +- name: Backup & Restore (Restore) +- name: IPSEC (Dpd Profiles) +- name: Gateway Firewall (Tier-1S) +- name: Session Timer Profiles +- name: Service Chains - name: Networking (Switching) -- name: NSX Managers (Watermark) +- name: Distributed Firewall (Communication Maps) +- name: Flood Protection Profile Bindings +- name: Orgs +- name: Observability +- name: Distributed Firewall (Drafts) +- name: Online Diagnostic System +- name: Inventory +- name: ' System Health (Antrea)' +- name: NAT +- name: Sandboxing +- name: Domains +- name: Networking (Networking Profiles) +- name: Host Transport Nodes Profiles +- name: Authorization +- name: IPSEC VPN (Sessions) +- name: System Administration +- name: Security (Security Strategy) +- name: Global Managers +- name: Third Party IP Provider - name: Capacity Dashboard -- name: Hostswitch Profiles -- name: Security (North South) -- name: Federation Configuration -- name: ' Configuration (Auto-Enable Gateway Firewall)' -- name: Tier-1S (Multicast) -- name: L2VPN (Status) -- name: Port Mirroring -- name: Session Timer Profiles -- name: Segment Ports (Mac Tables) -- name: Ips & Malware (Settings) -- name: Transport Nodes -- name: Virtual Endpoints (Tier-1 Gateways) -- name: Monitoring -- name: Segments Profiles (Ip Discovery Profiles) -- name: Auto-Reject-Ip-Options-Gateway-Firewall -- name: IPSEC VPN (Status) +- name: Tier-0S (Interface Groups) +- name: Tier-0S (Statistics) +- name: Tier-0S (Static Routes BFD Peers) +- name: IPSEC (Ipsec Profiles) +- name: Project Route Filters +- name: Search API +- name: Inventory (Groups) +- name: Transport Zones +- name: Group Members +- name: Bridge Firewall (Rules) +- name: Tier-0S (Routing Tables) +- name: Sites (Security Settings) +- name: NAT Rules (Tier-0S) +- name: Virtual Network Appliance Cluster +- name: Tier-1S (Locale Services) +- name: Distributed Firewall (Settings) +- name: Networking (Routing) - name: DHCP Relay Configs -- name: Tier-1S (Dad States) -- name: Distributed Firewall (Container Cluster) -- name: Segments Profiles (Mac Discovery Profiles) -- name: Routing(Arp Proxy) -- name: Hierarchical API -- name: ' Lb Monitor Profiles' -- name: Routing(Forwarding Table) -- name: NSX Managers (Api Services) -- name: ' System Health (Antrea)' -- name: Distributed Firewall (Rules) +- name: Edge Transport Nodes (Nat Statistics) +- name: DNS Security Profiles +- name: Lb Virtual Servers +- name: IP Management +- name: BFD Profiles +- name: Tier-1S (Arp Proxies) +- name: Session Timer Profile Bindings +- name: Gateway Firewall +- name: Tier-1S (Interface Groups) +- name: Segments Profiles (Spoofguard Profiles) +- name: IP Allocations +- name: Enforcement Points +- name: Features +- name: Security (Groups) - name: IPSEC (Local Endpoints) -- name: Tier-0S (Dad States) -- name: Networking -- name: Networking (Routing) -- name: Dashboard (Legacy Management Plane) -- name: Virtual Network Appliance Cluster -- name: Tier-0S (Deployment Maps) -- name: Csrs -- name: NSX Application Platform -- name: Distributed Firewall (Firewall Scheduler) -- name: IPSEC (Dpd Profiles) -- name: Segments (States) -- name: Tier-0S (Ospf) -- name: IPV6 NDRA Profiles -- name: Labels -- name: Gateway QOS Profiles -- name: Projects -- name: Inventory -- name: Lb Usage -- name: Network Span -- name: Group Members +- name: Routing(Forwarding Table) +- name: Endpoint Protection - name: External Connections -- name: IP Allocations +- name: Projects +- name: Ssp +- name: Gateway Firewall (Rules) +- name: Routing(Arp Proxy) +- name: Multi-Tenancy +- name: Security (Security Profile) +- name: Tier-0S (Interfaces) +- name: Segments Profiles (Qos Profiles) +- name: Livetrace +- name: DNS Forwarder +- name: Networking (Dns Forwarder) +- name: Ips & Malware (Statistics) +- name: IPV6 NDRA Profiles +- name: DHCP Static Bindings (Segments) +- name: Multicast Profiles +- name: IPFIX (Switch IPFIX Profiles) +- name: Geo IP +- name: Distributed Firewall (Firewall Scheduler) +- name: Context Profiles +- name: Tier-1S +- name: Lb SSL Ciphers And Protocols +- name: Cpu Memory Tresholds Profiles +- name: User Management +- name: IPSEC (Status) +- name: Tier-1S (Arp Tables) - name: Distributed Firewall (Tasks) -- name: Tier-1S (Locale Services) -- name: Tier-0S (Route Maps) +- name: Groups +- name: NSX Managers (Api Services) +- name: Segments Profiles (Security Profile Bindings) +- name: DHCP Static Bindings (Fixed Segments) +- name: Tier-1S (Routing) +- name: Route Controllers +- name: Ips & Malware (Settings) +- name: Load Balancers +- name: Licenses +- name: Networking (Nat) +- name: Segments Profiles (Discovery Profiles) +- name: IP Blocks +- name: Inter-Sites (Legacy Management Plane) +- name: Scrxconfig +- name: NAT Statistics +- name: Bridge Firewall (Policies) +- name: VIDM Configuration +- name: Subnets (Bridge) - name: Networking (Dhcp) -- name: Ips & Malware (Dashboard) -- name: Upgrade -- name: Routing(Advertised Networks) -- name: Lb Services -- name: VPN -- name: IPFIX (Switch IPFIX Collectors) -- name: DHCP Leases -- name: IPSEC -- name: BGP -- name: Lb Application Profiles -- name: Tier-1S (Forwarding Tables) -- name: Segments Profiles (Real Time Eth Profiles) -- name: Connectivity Policies -- name: Security (Security Profile) +- name: Health Check +- name: ' Configuration (Avi Load Balancer)' +- name: Distributed Firewall (Ip Reputation) +- name: Networking (Ip Management) - name: Statistics -- name: Ips & Malware (Statistics) -- name: LLDP -- name: Subnets (Ports) -- name: Segments Profiles (Qos Profiles) -- name: Multi-Tenancy (Vpc) -- name: Gateway Firewall (Settings) -- name: IPSEC (Ipsec Profiles) -- name: Routing (Static Routes) -- name: Ips & Malware (Profiles) -- name: IPSEC (Ike Profiles) +- name: Security (Security Profiles) +- name: Networking (Services) +- name: Status +- name: Domains (Domain Deployment Maps) +- name: Tier-0S (Prefix Lists) +- name: NSX Application Platform +- name: System (Fabric) +- name: Partner Services +- name: Service Instances (Tier-0 Gateways) +- name: Ca Bundles +- name: Segment Ports +- name: User Authentication +- name: Tools +- name: System (Administration) - name: Gateway Firewall (Tier-0S) -- name: Tier-1S (Statistics) -- name: IPV6 DAD Profiles -- name: Tier-1S (Arp Tables) -- name: Observability -- name: API Services -- name: Backup & Restore (Restore) -- name: Host Transport Nodes Profiles -- name: Session Timer Profile Bindings -- name: Profiles (Service Profiles) -- name: IPSEC (Services) -- name: Reactions -- name: Metadata Proxies -- name: Security (East West) -- name: Lb Statistics -- name: System (Settings) -- name: IPFIX (Firewall IPFIX Collectors) -- name: Federation -- name: Limits (Ip Quotas) -- name: Metadata Proxy -- name: NAT Rules (Tier-1S) +- name: Edge Clusters +- name: Segments (Statistics) +- name: Firewall +- name: Services +- name: Network Span +- name: Attachments +- name: L2VPN (Statistics) +- name: Tier-0S (Bgp) +- name: Third Party IP Pools - name: Segments (Arp Proxies) -- name: Monitoring Profile Bindings -- name: Global Managers -- name: Distributed Firewall (Communication Maps) +- name: Federation +- name: Kubernetes +- name: Tier-0S (Locale Services) +- name: Virtual Endpoints (Tier-0 Gateways) +- name: System (Settings) +- name: Segments Profiles (Real Time Eth Profiles) +- name: Ips & Malware (Dashboard) +- name: Security (Security Profile Attachment) +- name: Labels +- name: Distributed Firewall (Statistics) +- name: VPC Networking (Vpc) +- name: IPSEC (Sessions) +- name: EVPN Tenant Configuration +- name: Edge Failure Domains - name: Distributed Firewall -- name: Segment Ports (States) -- name: User Authentication -- name: Tier-1S (Routing) -- name: VIDM Configuration -- name: IPSEC VPN (Sessions) -- name: Tier-0S (Interface Groups) -- name: Sites (Security Settings) +- name: Malware Prevention - name: Tier-1S (Interfaces) -- name: Edge Transport Nodes -- name: Settings (Enablement) -- name: Tier-1S -- name: Flood Protection Profile Bindings -- name: Scrxconfig -- name: Redirection Policies +- name: Configuration +- name: DHCP Server Configs +- name: Inventory (Tags) +- name: Segments (Mac Tables) +- name: Networking (Vpn) +- name: ' Configuration (Partial Patch)' +- name: Global Gateway Configuration +- name: VPC Networking (Transit Gateway) +- name: Lb Application Profiles +- name: Tier-0S (Arp Tables) +- name: Routing(Static Routes) +- name: Flood Protection Profiles +- name: Monitoring +- name: Monitoring Profile Bindings +- name: Security (East West) +- name: Segments (Edge Bridge) +- name: Routing(Advertised Networks) +- name: Profiles (Service Profiles) +- name: Tier-0S (Multicast) +- name: Subnets (Binding Map) +- name: Operational Data +- name: Reactions +- name: Full Synchronization +- name: Org Root +- name: Segments - name: L2VPN (Remote Mac) -- name: Latency +- name: IPFIX (Firewall IPFIX Collectors) +- name: Federation Configuration +- name: Auto-Reject-Ip-Options-Gateway-Firewall +- name: NSX Managers (Watermark) +- name: Tier-0S (Deployment Maps) +- name: Policy +- name: Hostswitch Profiles +- name: Global Configurations +- name: Users - name: Upgrade (Nodes) -- name: Distributed Firewall (Statistics) -- name: Quotas -- name: ' Prefix List' -- name: Segments Profiles (Spoofguard Profiles) -- name: Lb Virtual Servers -- name: Tier-0S (Evpn) -- name: Cluster Control Planes -- name: Bridge Firewall (Settings) -- name: Groups -- name: Tier-0S (Bgp) -- name: Lb SSL Ciphers And Protocols +- name: Finetuning +- name: Transport Zone Profiles +- name: Tier-0S (States) +- name: Host Agent +- name: Tier-0S (Dad States) +- name: Metadata Proxies +- name: Limits (Ip Quotas) +- name: Segments Profiles (Mac Discovery Profiles) +- name: IPSEC VPN (Summary) +- name: IPSEC +- name: Gateway Firewall (Url Categorization) +- name: IPFIX (Switch IPFIX Collectors) +- name: Deployment +- name: Ips & Malware (Rules) - name: L7 Access Profiles +- name: ' Lb Persistence Profiles' +- name: Tier-0S (Community Lists) +- name: Tags +- name: Search +- name: Segments (Tep Tables) - name: Certificates -- name: User Management (Ldap) -- name: Tier-0S (Prefix Lists) -- name: Subnets -- name: Tier-0S (Arp Tables) -- name: Segments -- name: Tier-1S (Arp Proxies) -- name: Attachments -- name: Distributed Firewall (Ip Reputation) -- name: User Management -- name: IP Pools -- name: Ips & Malware (Intrusion Services) -- name: IPSEC (Statistics) -- name: Security (Service Insertion) -- name: Constraints -- name: Bare Metals -- name: Endpoint Protection -- name: Edge Transport Nodes (Tunnels) -- name: Subnets (Binding Map) -- name: Transport Zones -- name: Context Profiles -- name: Tier-0S (Locale Services) -- name: Flood Protection Profiles -- name: Service Definitions -- name: Status -- name: Authorization +- name: Settings (Enablement) +- name: Ips & Malware (Signatures) +- name: Networking (Load Balancing) +- name: Lb Monitor Profiles - name: Roles -- name: Gateway Firewall (Url Categorization) -- name: ' Configuration (Partial Patch)' -- name: Ca Bundles -- name: Kubernetes -- name: ' Lb Persistence Profiles' -- name: Connectivity -- name: Subnets (Bridge) -- name: Distributed IDS (Signatures) -- name: Tier-0 Gateways -- name: Service Instances (Tier-0 Gateways) -- name: EVPN Tenant Configuration -- name: Third Party IP Provider -- name: Load Balancers -- name: IPSEC VPN (Statistics) -- name: Distributed Firewall (Exclusion List) -- name: L2VPN (Services) -- name: Distributed Firewall (Identity Firewall) -- name: Shared Resources -- name: Segments (Fixed) +- name: Lb Services +- name: Lb Client SSL Profiles +- name: Tier-1S (Static Routes) +- name: Subnets +- name: Edge Transport Node (Remote Tep) +- name: Lb Pools +- name: Segments Profiles (Monitoring Profile Bindings) +- name: Subnets (Dhcp) +- name: User Management (Ldap) - name: Settings -- name: Distributed Firewall (Group/Service Associations) -- name: Segment Ports -- name: Interfaces -- name: Orgs -- name: Security -- name: IPSEC VPN (Summary) +- name: Compliance +- name: IPSEC VPN (Services) +- name: Segments (States) +- name: IP Pools +- name: ' Prefix List' +- name: IPFIX (Firewall IPFIX Profiles) +- name: IPSEC (Ike Profiles) - name: Crls -- name: Segments (Tep Tables) -- name: Services -- name: Health Check -- name: Transport Zone Profiles -- name: Security (Security Profiles) -- name: Segments Profiles (Security Profiles) -- name: Domains -- name: Networking (Dns Forwarder) -- name: Org Root -- name: Policy -- name: DHCP Static Bindings (Segments) +- name: Profiles (Connectivity Profiles) +- name: Segment Ports (States) +- name: Security - name: Lb Status -- name: Segments Profiles (Monitoring Profile Bindings) -- name: Tier-0S (Routing Tables) -- name: Licenses -- name: Multi-Tenancy +- name: Gateway Firewall (Settings) +- name: Gateway Firewall (Tls Inspection) +- name: Distributed Firewall (Container Cluster) +- name: Redirection Policies +- name: Tier-0S (Evpn) - name: System Health Agent +- name: Distributed Firewall (Identity Firewall) - name: Tier-0S (Arp Proxies) -- name: Gateway Firewall (Tier-1S) -- name: System (Lifecycle Management) -- name: Full Synchronization -- name: Livetrace -- name: Features -- name: Network Services -- name: Segments (Edge Bridge) -- name: Route Controllers -- name: Networking (Ip Management) -- name: DHCP Static Bindings (Fixed Segments) -- name: Malware Prevention -- name: Project Route Filters -- name: Networking (Vpn) -- name: Gateway Firewall -- name: Edge Transport Node (Remote Tep) -- name: Domains (Domain Deployment Maps) -- name: Transit Gateway -- name: Service Chains -- name: Profiles (Connectivity Profiles) -- name: Online Diagnostic System -- name: Tier-0S (Multicast) -- name: Security (Security Profile Attachment) -- name: Tier-0S (Static Routes BFD Peers) -- name: DNS Forwarder +- name: Port Mirroring +- name: Subnets (Ports) +- name: ' Configuration (Auto-Enable Gateway Firewall)' +- name: ' Lb Monitor Profiles' +- name: DNS Zones +- name: Quotas +- name: IPV6 DAD Profiles +- name: Realized State +- name: Advanced Threat Protection (Security Configuration) +- name: Object Permissions +- name: Tier-0S (Ospf) +- name: Segments (Fixed) +- name: DNS Security Profile Bindings +- name: VPN +- name: Edge Transport Nodes - name: Lb Persistence Profiles -- name: Lb Monitor Profiles -- name: Third Party IP Pools -- name: ' Lb Virtual Servers' -- name: Enforcement Points -- name: IPFIX (Switch IPFIX Profiles) -- name: Bridge Firewall (Rules) -- name: Centralized Configs -- name: System (Fabric) -- name: ' Lb Pools' +- name: Connectivity Policies +- name: Access Token +- name: Latency +- name: IPSEC VPN (Statistics) +- name: Edge Transport Nodes (Tunnels) +- name: Tier-1S (Dad States) +- name: Metadata Proxy +- name: Tier-0S (Route Maps) +- name: Lb Server SSL Profiles - name: Registration -- name: NAT Rules (Tier-0S) -- name: Lb Pools -- name: Ips & Malware (Rules) -- name: Segments (Mac Tables) -- name: Lb Client SSL Profiles -- name: IP Blocks -- name: Tier-0S (Community Lists) -- name: Tier-0S (Routing) -- name: Segments Profiles (Security Profile Bindings) +- name: Csrs +- name: Lb Usage +- name: Distributed IDS (Signatures) +- name: ' Systeam Health (Bmc)' +- name: IPSEC (Statistics) +- name: Exclusion List +- name: Security (North South) +- name: Centralized Configs +- name: Service Instances (Tier-1 Gateways) - name: Troubleshooting -- name: Users -- name: Finetuning -- name: Distributed Firewall (Drafts) -- name: VPC Networking (Vpc) -- name: Firewall -- name: DNS Zones -- name: Bridge Firewall (Policies) -- name: Tier-0S -- name: Inventory (Tags) -- name: Virtual Endpoints (Tier-0 Gateways) -- name: Subnets (Dhcp) -- name: Object Permissions -- name: Networking (Nat) -- name: Tools -- name: Cpu Memory Tresholds Profiles -- name: Global Gateway Configuration -- name: Multicast Profiles -- name: Segments (Statistics) -- name: Tier-1S (States) -- name: BFD Profiles -- name: Edge Failure Domains -- name: Tier-0S (Interfaces) -- name: Tier-1S (Static Routes) -- name: IPFIX (Firewall IPFIX Profiles) -- name: Deployment +- name: Segments Profiles (Security Profiles) +- name: Segment Ports (Mac Tables) +- name: NAT Rules (Tier-1S) +- name: Transit Gateway +- name: Hierarchical API +- name: Service References +- name: Interfaces +- name: DHCP Leases +- name: Tier-0S (Static Routes) +- name: Dashboard (Legacy Management Plane) +- name: LLDP +- name: Distributed Firewall (Exclusion List) +- name: Multi-Tenancy (Vpc) +- name: Routing (Static Routes) +- name: IPSEC VPN (Status) +- name: Distributed Firewall (Rules) +- name: Ips & Malware (Intrusion Services) +- name: Gateway QOS Profiles - name: Sites -- name: Security (Security Strategy) -- name: ' Configuration (Avi Load Balancer)' -- name: Search -- name: Inventory (Virtual Machines) -- name: IP Management -- name: Partner Services -- name: IPSEC (Status) -- name: ' Systeam Health (Bmc)' -- name: DHCP Server Configs -- name: VPCS -- name: Tier-1S (Interface Groups) -- name: Configuration Status -- name: NAT -- name: Search API -- name: L2VPN (Statistics) -- name: DNS Security Profiles -- name: Traceflow -- name: Advanced Threat Protection (Security Configuration) -- name: Tags -- name: Inter-Sites (Legacy Management Plane) -- name: Tier-0S (Statistics) -- name: IPSEC (Sessions) -- name: Lb Server SSL Profiles -- name: Edge Transport Nodes (Nat Statistics) -- name: Tier-0S (States) -- name: Ssp -- name: Networking (Load Balancing) -- name: NAT Statistics +- name: Vm - name: Baremetal Server Interfaces -- name: System (Administration) -- name: Configuration -- name: Routing(Static Routes) -- name: Host Agent -- name: System Administration -- name: L2VPN (Sessions) -- name: Access Token +- name: Tier-1S (Forwarding Tables) +- name: Bare Metals +- name: Shared Resources - name: ' Lb Application Profiles' -- name: Networking (Networking Profiles) -- name: Geo IP -- name: Global Configurations -- name: Distributed Firewall (Settings) +- name: IPSEC (Services) +- name: Inventory (Virtual Machines) +- name: ' Lb Virtual Servers' +- name: Tier-1S (States) +- name: Network Services +- name: Tier-1S (Statistics) +- name: L2VPN (Services) +- name: Transport Nodes +- name: Tier-1S (Multicast) +- name: Traceflow +- name: Configuration Status - name: Networking (Network Services) -- name: Ips & Malware (Signatures) -- name: Compliance -- name: Tier-0S (Static Routes) -- name: Vm -- name: VPC Networking (Transit Gateway) -- name: Exclusion List +- name: Constraints +- name: Lb Statistics +- name: BGP +- name: Networking +- name: Bridge Firewall (Settings) +- name: Tier-0S (Inter-Vrfs) +- name: Ips & Malware (Profiles) +- name: IPSEC VPN (Local Endpoints) +- name: Service Definitions +- name: Virtual Endpoints (Tier-1 Gateways) - name: Tier-0S (Forwarding Tables) -- name: Inventory (Groups) +- name: Distributed Firewall (Group/Service Associations) +- name: VPCS +- name: Upgrade +- name: Cluster Control Planes +- name: ' Lb Pools' +- name: Tier-0 Gateways +- name: Segments Profiles (Ip Discovery Profiles) +- name: L2VPN (Status) +- name: System (Lifecycle Management) +- name: L2VPN (Sessions) diff --git a/specifications/sddc-lcm/sddc-lcm-openapi.yaml b/specifications/sddc-lcm/sddc-lcm-openapi.yaml index fa97e09..3df0b36 100644 --- a/specifications/sddc-lcm/sddc-lcm-openapi.yaml +++ b/specifications/sddc-lcm/sddc-lcm-openapi.yaml @@ -25,6 +25,8 @@ tags: - description: API to Patch or Upgrade component. These APIs are subject to change in future VCF releases. Appropriate details around such changes will be provided. name: Upgrade +- description: APIs to fetch entities from the inventory. + name: Inventory paths: /v1/health: get: @@ -107,6 +109,58 @@ paths: description: Internal server error tags: - Config + /v1/trusted-certificates: + post: + description: Add a trusted certificate to the sddc-build-service trust store. + operationId: addTrustedCertificate + parameters: + - description: Correlation ID for tracing the request across services + explode: true + in: header + name: X-Correlation-Id + required: false + schema: + type: string + style: simple + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TrustedCertificateSpec' + required: true + responses: + "202": + content: + application/json: + schema: + $ref: '#/components/schemas/Task' + description: Accepted + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + description: Bad request. Invalid input specification. + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + description: Forbidden + "500": + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + description: Internal server error + tags: + - TrustedCertificates /v1/depot: post: description: Register Fleet Depot as a depot to components known to this SDDC @@ -1558,6 +1612,12 @@ components: schema: $ref: '#/components/schemas/ErrorResponse' description: Unauthorized + Forbidden: + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + description: Forbidden InternalServerError: content: application/json: @@ -1571,6 +1631,35 @@ components: $ref: '#/components/schemas/ErrorResponse' description: Unauthorized schemas: + TrustedCertificateSpec: + example: + fqdn: fqdn + port: 5249 + certificate: certificate + skipValidations: false + properties: + certificate: + description: PEM-encoded X.509 certificate or chain. Multiple PEM blocks + concatenated are accepted. + type: string + fqdn: + description: FQDN of the component. + type: string + skipValidations: + default: false + description: Skip all certificate validations and write the certificate + unconditionally. + type: boolean + port: + default: 443 + description: TLS port of the component. Defaults to 443 when not specified. + maximum: 65535 + minimum: 1 + type: integer + required: + - certificate + - fqdn + type: object Health: example: up: true @@ -1933,6 +2022,7 @@ components: dnsSuffix: dnsSuffix deploymentOption: deploymentOption networkName: networkName + networkMoId: networkMoId ipv6Settings: address: address netmask: netmask @@ -1962,6 +2052,7 @@ components: dnsSuffix: dnsSuffix deploymentOption: deploymentOption networkName: networkName + networkMoId: networkMoId ipv6Settings: address: address netmask: netmask @@ -1996,6 +2087,7 @@ components: dnsSuffix: dnsSuffix deploymentOption: deploymentOption networkName: networkName + networkMoId: networkMoId ipv6Settings: address: address netmask: netmask @@ -2025,6 +2117,7 @@ components: dnsSuffix: dnsSuffix deploymentOption: deploymentOption networkName: networkName + networkMoId: networkMoId ipv6Settings: address: address netmask: netmask @@ -2034,11 +2127,17 @@ components: extraConfigProperties: key: extraConfigProperties dnsServers: dnsServers + isLegacyImport: false properties: componentSpecs: items: $ref: '#/components/schemas/ComponentSpec' type: array + isLegacyImport: + default: false + description: Flag to indicate if this is a legacy component import operation + that should handle failures gracefully + type: boolean type: object ComponentSpec: description: Component Install Spec @@ -2207,6 +2306,7 @@ components: dnsSuffix: dnsSuffix deploymentOption: deploymentOption networkName: networkName + networkMoId: networkMoId ipv6Settings: address: address netmask: netmask @@ -2236,6 +2336,7 @@ components: dnsSuffix: dnsSuffix deploymentOption: deploymentOption networkName: networkName + networkMoId: networkMoId ipv6Settings: address: address netmask: netmask @@ -2289,6 +2390,7 @@ components: dnsSuffix: dnsSuffix deploymentOption: deploymentOption networkName: networkName + networkMoId: networkMoId ipv6Settings: address: address netmask: netmask @@ -2318,6 +2420,7 @@ components: dnsSuffix: dnsSuffix deploymentOption: deploymentOption networkName: networkName + networkMoId: networkMoId ipv6Settings: address: address netmask: netmask @@ -2366,6 +2469,7 @@ components: dnsSuffix: dnsSuffix deploymentOption: deploymentOption networkName: networkName + networkMoId: networkMoId ipv6Settings: address: address netmask: netmask @@ -2412,6 +2516,7 @@ components: dnsSuffix: dnsSuffix deploymentOption: deploymentOption networkName: networkName + networkMoId: networkMoId ipv6Settings: address: address netmask: netmask @@ -2441,6 +2546,15 @@ components: $ref: '#/components/schemas/IPv6Settings' networkName: type: string + networkMoId: + description: | + Managed Object ID of the vSphere portgroup to attach the deployed VM to. + Takes precedence over networkName when both are supplied. + Use this for precision when the same portgroup name exists across multiple VDSes. + Only resolved for component install requests. Scaleout/add-node requests + (OvaComponentUpdateSpec) do not resolve this field and silently fall back + to networkName. + type: string extraConfigProperties: additionalProperties: type: string @@ -3176,6 +3290,10 @@ components: description: Comma-separated list of IP Addresses to exclude from Internet proxy server type: string + readTimeout: + description: Read timeout for Internet Proxy Server in minutes (valid range + 15-480) + type: integer type: object VspVolumes: items: @@ -3624,6 +3742,13 @@ components: - VSP_COMPONENT_SPEC_FQDN - IP_IN_USE - VSP_COMPONENT_NETWORK_CONNECTIVITY + - VSP_FIREWALL_BLOCKED + - VSP_CLUSTER_SPEC_MISSING_IP_POOL_DETAILS + - VSP_CLUSTER_SPEC_CONFLICTING_IP_POOL_DETAILS + - VSP_CLUSTER_SPEC_INVALID_IP_ADDRESSES + - VSP_CLUSTER_SPEC_DUPLICATE_IP_ADDRESSES + - VSP_CLUSTER_SPEC_FQDN_CONFLICT_WITH_IP_POOL + - VSP_CLUSTER_SPEC_INVALID_CIDR - VSP_CLUSTER_IP_POOL - OVA_NODE_SPEC_FQDN - OVA_NODE_SPEC_MISSING_ADDRESS @@ -3647,6 +3772,7 @@ components: - INVALID_PASSWORD - PASSWORD_COMPLEXITY - EXISTING_COMPONENT_WITH_TYPE + - SDDC_LCM_IDS_NOT_FOUND - DUPLICATE_COMPONENT_TYPE_SPEC - NOT_PRIMARY_SDDC_LCM - OPS_NETWORKS_INVALID_DEPLOYMENT_SIZE @@ -3657,6 +3783,10 @@ components: - OPS_NETWORKS_INVALID_CLUSTER_NODE_COUNT - OPS_CA_ENABLED - OPS_REPLICA_NODE_ALREADY_EXISTS + - OVA_INVALID_NODE_TYPE + - OPS_NODE_VERSION_MISMATCH + - VSP_INVALID_HOSTNAME_IN_PLATFORM_FQDN + - VCFA_INTERNAL_CLUSTER_CIDR_NOT_VALID type: string Validation: properties: @@ -3666,6 +3796,8 @@ components: $ref: '#/components/schemas/ValidationErrorCode' message: $ref: '#/components/schemas/LocalizableMessage' + resolution: + $ref: '#/components/schemas/LocalizableMessage' type: object ValidationResult: properties: @@ -4345,6 +4477,176 @@ components: description: Whether the datastore is the default. type: boolean type: object + InventoryNetworksFetchSpec: + description: | + Optional pagination controls for the inventory networks fetch task. If the request body is + omitted entirely, defaults to page 1 with a page size of 50. Use the `pageMetadata` field + in the completed task result to determine total pages and elements; start a new fetch task + with the desired `pageNumber` to retrieve additional pages. + properties: + pageNumber: + default: 1 + description: 1-based page number. Defaults to 1 if not provided. + format: int32 + minimum: 1 + type: integer + pageSize: + default: 50 + description: Number of networks per page. Defaults to 50 if not provided; + maximum allowed is 50. + format: int32 + maximum: 50 + minimum: 1 + type: integer + type: object + InventoryNetworks: + description: | + Paginated snapshot of networks discovered for SDDC inventory (management domain and, + where applicable, other domains). Returned as the payload of a successful + INVENTORY_NETWORKS_FETCH task result. + + The structure matches InventoryDatastores-style pagination: a page of inventory network + entries plus page metadata describing the current slice and overall result set (totals, + page number, page size). + properties: + networks: + description: | + Networks for the requested page. Ordering is defined by SDDC LCM; callers must not + assume a stable sort across fetches unless documented by the service. + items: + $ref: '#/components/schemas/InventoryNetwork' + type: array + pageMetadata: + allOf: + - $ref: '#/components/schemas/PageMetadata' + description: | + Pagination metadata for this response (e.g. page number, page size, total elements, + total pages). Use with optional fetch pagination to walk the full set. + required: + - networks + - pageMetadata + type: object + InventoryNetwork: + description: Inventory network from SDDC LCM infrastructure (e.g. vSphere port + group). + properties: + id: + description: Network identifier (e.g. vSphere Managed Object ID). + type: string + name: + description: Name of the network. + type: string + isDefault: + description: | + Whether this network is the default. Omitted from JSON when false or unset; present + only when true. + type: boolean + x-field-extra-annotation: '@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_DEFAULT)' + required: + - id + - name + type: object + SddcResourceType: + description: Resource type to include in the SDDC resources fetch result. + enum: + - NETWORK + type: string + SddcResourcesFetchSpec: + description: Request body for fetching SDDC resources from vCenter. + properties: + resourceTypes: + description: | + Resource types to include in the response. When omitted, all supported resource types are returned. When specified, only the listed types are included. + items: + $ref: '#/components/schemas/SddcResourceType' + minItems: 1 + type: array + pageNumber: + description: 1-based page number. Defaults to 1 if not provided. + format: int32 + minimum: 1 + type: integer + pageSize: + description: Page size per resource type (capped by server defaults). Defaults + to 50. + format: int32 + minimum: 1 + type: integer + type: object + SddcResourcesFetchResult: + description: | + Result of a SDDC resources fetch task (type = SDDC_RESOURCES_FETCH). Returned when + GET /v1/tasks/{taskId} completes successfully. Contains a flat list of SDDC resources + with a single shared pageMetadata. Each element carries a `resourceType` field as a + discriminator identifying its kind (e.g. NETWORK). When no `resourceTypes` filter was + provided, all currently supported types are included. When a filter was provided, only + the matching types appear. + properties: + type: + example: SDDC_RESOURCES_FETCH + type: string + elements: + description: | + Flat list of SDDC resources across all requested resource types. Each element carries + a `resourceType` discriminator field identifying its kind (e.g. NETWORK). + items: + $ref: '#/components/schemas/SddcResource' + type: array + pageMetadata: + allOf: + - $ref: '#/components/schemas/PageMetadata' + description: Shared pagination metadata for the flat elements list. + required: + - type + type: object + SddcResource: + description: | + Common representation of an SDDC resource. `resourceType` identifies the kind; + the corresponding type-specific sub-object (`network`, `datastore`, …) carries + kind-specific fields. Adding a new resource type is purely additive — existing + consumers are unaffected because unknown fields are ignored during deserialization. + + To add a new resource type, add its constant to `SddcResourceConstants`, add its + schema as a new optional property here, and register it in `SddcResourceModel`. + properties: + resourceType: + description: Identifies the resource type (e.g. NETWORK). + example: NETWORK + type: string + moid: + description: vSphere Managed Object ID common to all resource types (e.g. + dvportgroup-101). + type: string + name: + description: Resource display name common to all resource types. + type: string + network: + $ref: '#/components/schemas/SddcNetwork' + required: + - moid + - name + - resourceType + type: object + SddcNetwork: + description: Network-specific fields for a distributed virtual port group (DVPG) + resource. + properties: + isDefault: + description: | + True when this DVPG is connected to the vCenter appliance VM, false otherwise. + Always present in the response. + type: boolean + vdsName: + description: Display name of the parent Distributed Virtual Switch. + type: string + datacenterName: + description: Display name of the vCenter datacenter that owns the DVS. + type: string + vcenterName: + description: FQDN / address of the vCenter instance this network belongs + to. + type: string + type: object PageOfTaskSummary: description: Component workflow input parameter. example: @@ -4882,6 +5184,19 @@ components: format: uri type: string type: object + InventoryNetworksResult: + description: Result of an inventory networks fetch task. Returned when GET task + for a fetch task completes successfully. + properties: + type: + example: INVENTORY_NETWORKS_FETCH + type: string + inventoryNetworks: + $ref: '#/components/schemas/InventoryNetworks' + required: + - inventoryNetworks + - type + type: object ComponentDesiredSpec: description: | Specifications related to the component's desired configuration and the source for its upgrade artifacts. @@ -5011,11 +5326,15 @@ components: PRECHECK: '#/components/schemas/PrecheckResult' OPS_LOGS_UPGRADE: '#/components/schemas/OpsLogsUpgradeResult' VALIDATION: '#/components/schemas/ValidationResult' + INVENTORY_NETWORKS_FETCH: '#/components/schemas/InventoryNetworksResult' + SDDC_RESOURCES_FETCH: '#/components/schemas/SddcResourcesFetchResult' propertyName: type oneOf: - $ref: '#/components/schemas/PrecheckResult' - $ref: '#/components/schemas/OpsLogsUpgradeResult' - $ref: '#/components/schemas/ValidationResult' + - $ref: '#/components/schemas/InventoryNetworksResult' + - $ref: '#/components/schemas/SddcResourcesFetchResult' securitySchemes: bearerToken: bearerFormat: JWT diff --git a/specifications/sddc-manager/sddc-manager-openapi.json b/specifications/sddc-manager/sddc-manager-openapi.json index c32c60c..3d0ebb1 100644 --- a/specifications/sddc-manager/sddc-manager-openapi.json +++ b/specifications/sddc-manager/sddc-manager-openapi.json @@ -7,7 +7,7 @@ "license": { "name": "VMware Cloud Foundation" }, - "version": "9.1.0.0" + "version": "9.1.1.0" }, "servers": [ { @@ -28,6 +28,10 @@ "name": "TargetUpgradeVersion", "description": "APIs for managing domains target upgrade versions" }, + { + "name": "Task Settings", + "description": "APIs for managing task retention settings" + }, { "name": "ServicesConfig", "description": "APIs for managing external services connection configurations." @@ -263,22 +267,22 @@ "description": "Get the Version Alias Configuration.", "operationId": "getVersionAliasConfiguration", "responses": { - "500": { - "description": "InternalServerError", + "200": { + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/PageOfVersionAliasesForBundleComponentType" } } } }, - "200": { - "description": "Ok", + "500": { + "description": "InternalServerError", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageOfVersionAliasesForBundleComponentType" + "$ref": "#/components/schemas/Error" } } } @@ -304,18 +308,18 @@ "required": true }, "responses": { - "400": { - "description": "Bad Request", + "200": { + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/PageOfVersionAliasesForBundleComponentType" } } } }, - "500": { - "description": "InternalServerError", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -324,12 +328,12 @@ } } }, - "200": { - "description": "Ok", + "500": { + "description": "InternalServerError", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageOfVersionAliasesForBundleComponentType" + "$ref": "#/components/schemas/Error" } } } @@ -377,18 +381,18 @@ "required": true }, "responses": { - "400": { - "description": "Bad Request", + "200": { + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/PageOfVersionAliasesForBundleComponentType" } } } }, - "500": { - "description": "InternalServerError", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -397,12 +401,12 @@ } } }, - "200": { - "description": "Ok", + "500": { + "description": "InternalServerError", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageOfVersionAliasesForBundleComponentType" + "$ref": "#/components/schemas/Error" } } } @@ -451,6 +455,9 @@ } }, "responses": { + "204": { + "description": "No COntent" + }, "400": { "description": "Bad Request", "content": { @@ -461,9 +468,6 @@ } } }, - "204": { - "description": "No COntent" - }, "500": { "description": "InternalServerError", "content": { @@ -487,22 +491,22 @@ "description": "Get the depot configuration. In a fresh setup, this would be empty.", "operationId": "getDepotSettings", "responses": { - "500": { - "description": "Internal Server Error", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/DepotSettings" } } } }, - "200": { - "description": "OK", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/DepotSettings" + "$ref": "#/components/schemas/Error" } } } @@ -513,8 +517,8 @@ "tags": [ "DepotSettings" ], - "summary": "Configure the depot credentials", - "description": "Update depot settings. Depot settings can be updated with VMware Depot account", + "summary": "Configure depot settings", + "description": "Updates the depot settings using a VMware Depot account. If a trusted certificate chain is provided for an offline HTTPS depot configuration, each certificate in the chain is added to the appliance trust stores (`VCF CS keystore` and `JVM cacerts`). The certificates are also propagated to the OS trust store (`/etc/ssl/certs`) on the VMs.", "operationId": "updateDepotSettings", "requestBody": { "content": { @@ -537,8 +541,8 @@ } } }, - "500": { - "description": "Internal Server Error", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -547,8 +551,8 @@ } } }, - "400": { - "description": "Bad Request", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -579,8 +583,11 @@ } ], "responses": { - "500": { - "description": "Internal Server Error", + "204": { + "description": "No Content" + }, + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -589,11 +596,8 @@ } } }, - "204": { - "description": "No Content" - }, - "400": { - "description": "Bad Request", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -846,18 +850,18 @@ "required": true }, "responses": { - "400": { - "description": "Bad Request", + "200": { + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/Task" } } } }, - "500": { - "description": "Internal server error", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -866,12 +870,12 @@ } } }, - "200": { - "description": "Ok", + "500": { + "description": "Internal server error", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Task" + "$ref": "#/components/schemas/Error" } } } @@ -999,8 +1003,8 @@ } } }, - "500": { - "description": "Internal Server Error", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -1009,8 +1013,8 @@ } } }, - "400": { - "description": "Bad Request", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -1103,12 +1107,12 @@ } }, "responses": { - "500": { - "description": "Internal Server Error", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "type": "string" } } } @@ -1123,12 +1127,12 @@ } } }, - "200": { - "description": "OK", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { - "type": "string" + "$ref": "#/components/schemas/Error" } } } @@ -1585,15 +1589,37 @@ } ], "requestBody": { + "description": "Each resource must be represented only once in the array. Do not provide multiple entries for the same host using different identifiers. For example, you cannot have one entry using resourceId and a separate entry using resourceFqdn for the same resource within the same request.", "content": { "application/json": { "schema": { - "maxItems": 2147483647, - "minItems": 1, "type": "array", "items": { "$ref": "#/components/schemas/ResourceCertificateSpec" } + }, + "examples": { + "Using Certificate Chain and Resource FQDN": { + "summary": "Replace certificate using certificateChain with resourceFqdn", + "description": "Using Certificate Chain and Resource FQDN", + "value": [ + { + "resourceFqdn": "sfo-vc01.rainpole.io", + "certificateChain": "-----BEGIN CERTIFICATE-----\nMIIFq...\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIFq...\n-----END CERTIFICATE-----" + } + ] + }, + "Using Separate Certificates and Resource ID": { + "summary": "Replace certificate using separate resourceCertificate and caCertificate with resourceId", + "description": "Using Separate Certificates and Resource ID", + "value": [ + { + "resourceId": "BE8A5E04-92A0-43F6-A166-AA041F4327CC", + "resourceCertificate": "-----BEGIN CERTIFICATE-----\nMIIFq...\n-----END CERTIFICATE-----", + "caCertificate": "-----BEGIN CERTIFICATE-----\nMIIFq...\n-----END CERTIFICATE-----" + } + ] + } } } }, @@ -1671,6 +1697,9 @@ "required": true }, "responses": { + "202": { + "description": "Accepted" + }, "400": { "description": "Bad Request", "content": { @@ -1681,8 +1710,8 @@ } } }, - "404": { - "description": "Not Found", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -1691,9 +1720,6 @@ } } }, - "202": { - "description": "Accepted" - }, "403": { "description": "Forbidden", "content": { @@ -1704,8 +1730,8 @@ } } }, - "500": { - "description": "InternalServerError", + "404": { + "description": "Not Found", "content": { "application/json": { "schema": { @@ -1714,8 +1740,8 @@ } } }, - "401": { - "description": "Unauthorized", + "500": { + "description": "InternalServerError", "content": { "application/json": { "schema": { @@ -1748,31 +1774,43 @@ } ], "requestBody": { + "description": "Each resource must be represented only once in the array. Do not provide multiple entries for the same host using different identifiers. For example, you cannot have one entry using resourceId and a separate entry using resourceFqdn for the same resource within the same request.", "content": { "application/json": { "schema": { - "maxItems": 2147483647, - "minItems": 1, "type": "array", "items": { "$ref": "#/components/schemas/ResourceCertificateSpec" } + }, + "examples": { + "Using Certificate Chain and Resource FQDN": { + "summary": "Validate certificate using certificateChain with resourceFqdn", + "description": "Using Certificate Chain and Resource FQDN", + "value": [ + { + "resourceFqdn": "sfo-vc01.rainpole.io", + "certificateChain": "-----BEGIN CERTIFICATE-----\nMIIFq...\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIFq...\n-----END CERTIFICATE-----" + } + ] + }, + "Using Separate Certificates and Resource ID": { + "summary": "Validate certificate using separate resourceCertificate and caCertificate with resourceId", + "description": "Using Separate Certificates and Resource ID", + "value": [ + { + "resourceId": "BE8A5E04-92A0-43F6-A166-AA041F4327CC", + "resourceCertificate": "-----BEGIN CERTIFICATE-----\nMIIFq...\n-----END CERTIFICATE-----", + "caCertificate": "-----BEGIN CERTIFICATE-----\nMIIFq...\n-----END CERTIFICATE-----" + } + ] + } } } }, "required": true }, "responses": { - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } - }, "201": { "description": "Created", "headers": { @@ -1792,6 +1830,16 @@ } } }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, "500": { "description": "InternalServerError", "content": { @@ -1907,8 +1955,8 @@ } } }, - "409": { - "description": "Conflict", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -1917,8 +1965,8 @@ } } }, - "400": { - "description": "Bad Request", + "404": { + "description": "Not Found", "content": { "application/json": { "schema": { @@ -1927,8 +1975,8 @@ } } }, - "404": { - "description": "Not Found", + "409": { + "description": "Conflict", "content": { "application/json": { "schema": { @@ -2033,12 +2081,21 @@ "required": true }, "responses": { - "409": { - "description": "Conflict", + "202": { + "description": "Accepted", + "headers": { + "location": { + "description": "API to fetch Certificate generation status.", + "style": "simple", + "schema": { + "type": "string" + } + } + }, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/Task" } } } @@ -2063,8 +2120,8 @@ } } }, - "500": { - "description": "InternalServerError", + "409": { + "description": "Conflict", "content": { "application/json": { "schema": { @@ -2073,21 +2130,12 @@ } } }, - "202": { - "description": "Accepted", - "headers": { - "location": { - "description": "API to fetch Certificate generation status.", - "style": "simple", - "schema": { - "type": "string" - } - } - }, + "500": { + "description": "InternalServerError", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Task" + "$ref": "#/components/schemas/Error" } } } @@ -2143,8 +2191,8 @@ } } }, - "409": { - "description": "Conflict", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -2153,8 +2201,8 @@ } } }, - "400": { - "description": "Bad Request", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -2173,8 +2221,8 @@ } } }, - "403": { - "description": "Forbidden", + "409": { + "description": "Conflict", "content": { "application/json": { "schema": { @@ -2205,16 +2253,6 @@ "description": "Get Compatibility Matrices", "operationId": "getCompatibilityMatrices", "responses": { - "500": { - "description": "Internal Server Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } - }, "200": { "description": "OK", "content": { @@ -2244,6 +2282,16 @@ } } } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } } } }, @@ -2285,8 +2333,11 @@ } }, "responses": { - "500": { - "description": "Internal Server Error", + "200": { + "description": "OK" + }, + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -2295,11 +2346,8 @@ } } }, - "200": { - "description": "OK" - }, - "400": { - "description": "Bad Request", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -2713,6 +2761,16 @@ "required": true }, "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VcfOperationsDiscoveryResult" + } + } + } + }, "400": { "description": "Bad Request", "content": { @@ -2732,13 +2790,54 @@ } } } - }, + } + } + } + }, + "/v1/vcf-management-components/vcenter-networks": { + "post": { + "tags": [ + "VCF Management Components" + ], + "summary": "Discover networks of the management domain vCenter", + "description": "Returns a paginated list of distributed port groups visible to the SDDC Manager's management domain vCenter. Credentials are looked up internally from the credential store.", + "operationId": "discoverVcfManagementComponentsVcenterNetworks", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ManagementVcenterNetworkDiscoverySpec" + } + } + } + }, + "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/VcfOperationsDiscoveryResult" + "$ref": "#/components/schemas/PageOfVcenterNetworkInfo" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" } } } @@ -2776,22 +2875,22 @@ "required": true }, "responses": { - "500": { - "description": "Internal Server Error", + "202": { + "description": "Accepted", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/Validation" } } } }, - "202": { - "description": "Accepted", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Validation" + "$ref": "#/components/schemas/Error" } } } @@ -2806,8 +2905,8 @@ } } }, - "403": { - "description": "Forbidden", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -2838,12 +2937,12 @@ "required": true }, "responses": { - "500": { - "description": "Internal Server Error", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/CapacityInfo" } } } @@ -2858,18 +2957,18 @@ } } }, - "200": { - "description": "OK", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CapacityInfo" + "$ref": "#/components/schemas/Error" } } } }, - "403": { - "description": "Forbidden", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -3000,18 +3099,18 @@ "summary": "Get the VASA Providers", "operationId": "getVasaProviders", "responses": { - "400": { - "description": "Bad Request", + "200": { + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/PageOfVasaProvider" } } } }, - "500": { - "description": "InternalServerError", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -3020,12 +3119,12 @@ } } }, - "200": { - "description": "Ok", + "500": { + "description": "InternalServerError", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageOfVasaProvider" + "$ref": "#/components/schemas/Error" } } } @@ -3114,8 +3213,8 @@ } } }, - "404": { - "description": "VASA Provider not found", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -3124,8 +3223,8 @@ } } }, - "400": { - "description": "Bad Request", + "404": { + "description": "VASA Provider not found", "content": { "application/json": { "schema": { @@ -3188,8 +3287,8 @@ } } }, - "404": { - "description": "VASA Provider not found", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -3198,8 +3297,8 @@ } } }, - "400": { - "description": "Bad Request", + "404": { + "description": "VASA Provider not found", "content": { "application/json": { "schema": { @@ -3262,8 +3361,8 @@ } } }, - "404": { - "description": "VASA Provider not found", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -3272,8 +3371,8 @@ } } }, - "400": { - "description": "Bad Request", + "404": { + "description": "VASA Provider not found", "content": { "application/json": { "schema": { @@ -3336,8 +3435,8 @@ } } }, - "404": { - "description": "VASA Provider not found", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -3346,8 +3445,8 @@ } } }, - "400": { - "description": "Bad Request", + "404": { + "description": "VASA Provider not found", "content": { "application/json": { "schema": { @@ -3397,10 +3496,6 @@ } } }, - "500": { - "description": "Internal Server Error", - "x-vmw-compiler-skip": true - }, "400": { "description": "Bad Request", "content": { @@ -3410,6 +3505,10 @@ } } } + }, + "500": { + "description": "Internal Server Error", + "x-vmw-compiler-skip": true } } } @@ -3443,8 +3542,8 @@ } } }, - "500": { - "description": "Internal Server Error", + "401": { + "description": "Unauthorized Request", "content": { "application/json": { "schema": { @@ -3453,8 +3552,8 @@ } } }, - "401": { - "description": "Unauthorized Request", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -3507,8 +3606,8 @@ } } }, - "500": { - "description": "Internal Server Error", + "401": { + "description": "Unauthorized Request", "content": { "application/json": { "schema": { @@ -3517,8 +3616,8 @@ } } }, - "401": { - "description": "Unauthorized Request", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -3587,8 +3686,8 @@ } } }, - "404": { - "description": "Upgrade Not Found", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -3597,8 +3696,8 @@ } } }, - "400": { - "description": "Bad Request", + "404": { + "description": "Upgrade Not Found", "content": { "application/json": { "schema": { @@ -3607,8 +3706,8 @@ } } }, - "500": { - "description": "InternalServerError", + "409": { + "description": "Invalid State", "content": { "application/json": { "schema": { @@ -3617,8 +3716,8 @@ } } }, - "409": { - "description": "Invalid State", + "500": { + "description": "InternalServerError", "content": { "application/json": { "schema": { @@ -3667,8 +3766,8 @@ } } }, - "404": { - "description": "Not Found", + "403": { + "description": "Operation not allowed", "content": { "application/json": { "schema": { @@ -3677,8 +3776,8 @@ } } }, - "424": { - "description": "Failed Dependency", + "404": { + "description": "Not Found", "content": { "application/json": { "schema": { @@ -3687,8 +3786,8 @@ } } }, - "500": { - "description": "InternalServerError", + "424": { + "description": "Failed Dependency", "content": { "application/json": { "schema": { @@ -3697,8 +3796,8 @@ } } }, - "403": { - "description": "Operation not allowed", + "500": { + "description": "InternalServerError", "content": { "application/json": { "schema": { @@ -3739,8 +3838,8 @@ } } }, - "404": { - "description": "Upgrade Not Found", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -3749,8 +3848,8 @@ } } }, - "400": { - "description": "Bad Request", + "403": { + "description": "Operation not allowed", "content": { "application/json": { "schema": { @@ -3759,8 +3858,8 @@ } } }, - "500": { - "description": "InternalServerError", + "404": { + "description": "Upgrade Not Found", "content": { "application/json": { "schema": { @@ -3769,8 +3868,8 @@ } } }, - "403": { - "description": "Operation not allowed", + "500": { + "description": "InternalServerError", "content": { "application/json": { "schema": { @@ -3812,8 +3911,8 @@ } } }, - "500": { - "description": "Internal Server Error", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -3822,8 +3921,8 @@ } } }, - "400": { - "description": "Bad Request", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -3843,36 +3942,6 @@ "summary": "Retrieve a list of Support Bundle tasks", "operationId": "getSupportBundleTask", "responses": { - "400": { - "description": "Bad request! Invalid Headers or Data. Error: {error}", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } - }, - "500": { - "description": "Something went wrong. Internal server error occurred. Error {error}", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } - }, - "401": { - "description": "Bad request! Authorization Header is missing or not in correct format.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } - }, "200": { "description": "Ok", "content": { @@ -3882,26 +3951,7 @@ } } } - } - } - }, - "post": { - "tags": [ - "SOS" - ], - "summary": "Start a Support Bundle operation using SoS", - "operationId": "startSupportBundle", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SupportBundleSpec" - } - } }, - "required": true - }, - "responses": { "400": { "description": "Bad request! Invalid Headers or Data. Error: {error}", "content": { @@ -3931,7 +3981,26 @@ } } } + } + } + }, + "post": { + "tags": [ + "SOS" + ], + "summary": "Start a Support Bundle operation using SoS", + "operationId": "startSupportBundle", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SupportBundleSpec" + } + } }, + "required": true + }, + "responses": { "202": { "description": "Accepted", "content": { @@ -3942,6 +4011,26 @@ } } }, + "400": { + "description": "Bad request! Invalid Headers or Data. Error: {error}", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "500": { + "description": "Something went wrong. Internal server error occurred. Error {error}", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, "409": { "description": "Operation is in progress for Id {id}. Wait for the operation to complete.", "content": { @@ -3951,6 +4040,16 @@ } } } + }, + "401": { + "description": "Bad request! Authorization Header is missing or not in correct format.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } } } } @@ -4024,28 +4123,28 @@ "required": true }, "responses": { - "500": { - "description": "Internal Server Error", + "202": { + "description": "Accepted", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/Validation" } } } }, - "202": { - "description": "Accepted", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Validation" + "$ref": "#/components/schemas/Error" } } } }, - "400": { - "description": "Bad Request", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -4125,18 +4224,18 @@ "required": true }, "responses": { - "400": { - "description": "Bad request! Invalid Headers or Data. Error: {error}", + "202": { + "description": "Accepted", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/HealthSummary" } } } }, - "500": { - "description": "Something went wrong. Internal server error occurred. Error {error}", + "400": { + "description": "Bad request! Invalid Headers or Data. Error: {error}", "content": { "application/json": { "schema": { @@ -4145,8 +4244,8 @@ } } }, - "401": { - "description": "Bad request! Authorization Header is missing or not in correct format.", + "500": { + "description": "Something went wrong. Internal server error occurred. Error {error}", "content": { "application/json": { "schema": { @@ -4155,18 +4254,18 @@ } } }, - "202": { - "description": "Accepted", + "409": { + "description": "Operation is in progress for Id {id}. Wait for the operation to complete.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/HealthSummary" + "$ref": "#/components/schemas/Error" } } } }, - "409": { - "description": "Operation is in progress for Id {id}. Wait for the operation to complete.", + "401": { + "description": "Bad request! Authorization Header is missing or not in correct format.", "content": { "application/json": { "schema": { @@ -4247,28 +4346,28 @@ "required": true }, "responses": { - "500": { - "description": "Internal Server Error", + "202": { + "description": "Accepted", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/Validation" } } } }, - "202": { - "description": "Accepted", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Validation" + "$ref": "#/components/schemas/Error" } } } }, - "400": { - "description": "Bad Request", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -4301,12 +4400,15 @@ } ], "responses": { - "500": { - "description": "Internal Server Error", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "type": "array", + "items": { + "$ref": "#/components/schemas/AssessmentTaskInfo" + } } } } @@ -4321,15 +4423,12 @@ } } }, - "200": { - "description": "OK", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AssessmentTaskInfo" - } + "$ref": "#/components/schemas/Error" } } } @@ -4354,28 +4453,28 @@ "required": true }, "responses": { - "500": { - "description": "Internal Server Error", + "202": { + "description": "Accepted", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/Task" } } } }, - "202": { - "description": "Accepted", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Task" + "$ref": "#/components/schemas/Error" } } } }, - "400": { - "description": "Bad Request", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -4408,16 +4507,6 @@ } ], "responses": { - "500": { - "description": "Internal Server Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } - }, "200": { "description": "Get the Status of Export Task", "content": { @@ -4447,6 +4536,16 @@ } } } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } } } }, @@ -4470,18 +4569,18 @@ } ], "responses": { - "429": { - "description": "Too Many Export Request", + "202": { + "description": "File Generation is queued or accepted to be processed", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/ExportTaskRest" } } } }, - "500": { - "description": "Internal Server Error", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -4490,8 +4589,8 @@ } } }, - "400": { - "description": "Bad Request", + "429": { + "description": "Too Many Export Request", "content": { "application/json": { "schema": { @@ -4500,12 +4599,12 @@ } } }, - "202": { - "description": "File Generation is queued or accepted to be processed", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ExportTaskRest" + "$ref": "#/components/schemas/Error" } } } @@ -4532,12 +4631,12 @@ "required": true }, "responses": { - "500": { - "description": "Internal Server Error", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/CheckSetQueryResult" } } } @@ -4552,12 +4651,12 @@ } } }, - "200": { - "description": "OK", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CheckSetQueryResult" + "$ref": "#/components/schemas/Error" } } } @@ -4635,28 +4734,28 @@ "required": true }, "responses": { - "500": { - "description": "Internal Server Error", + "202": { + "description": "Accepted", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/ServicesConfigPropagationTask" } } } }, - "202": { - "description": "Accepted", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ServicesConfigPropagationTask" + "$ref": "#/components/schemas/Error" } } } }, - "400": { - "description": "Bad Request", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -4686,12 +4785,12 @@ "required": true }, "responses": { - "500": { - "description": "Internal Server Error", + "202": { + "description": "Accepted", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/BrownfieldTask" } } } @@ -4706,12 +4805,12 @@ } } }, - "202": { - "description": "Accepted", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/BrownfieldTask" + "$ref": "#/components/schemas/Error" } } } @@ -4737,12 +4836,12 @@ "required": true }, "responses": { - "500": { - "description": "Internal Server Error", + "202": { + "description": "Accepted", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/BrownfieldTask" } } } @@ -4757,12 +4856,12 @@ } } }, - "202": { - "description": "Accepted", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/BrownfieldTask" + "$ref": "#/components/schemas/Error" } } } @@ -4789,8 +4888,8 @@ "required": true }, "responses": { - "202": { - "description": "Accepted", + "200": { + "description": "Ok", "content": { "application/json": { "schema": { @@ -4799,22 +4898,22 @@ } } }, - "400": { - "description": "Bad user input", + "202": { + "description": "Accepted", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/Validation" } } } }, - "200": { - "description": "Ok", + "400": { + "description": "Bad user input", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Validation" + "$ref": "#/components/schemas/Error" } } } @@ -4867,8 +4966,8 @@ "tags": [ "Trusted Certificates" ], - "summary": "Add a trusted certificate to the appliance's trust store", - "description": "Add a trusted certificate to the appliance's trust store.", + "summary": "Add a trusted certificate to the appliance trust stores", + "description": "Adds the certificate to the VCF CS keystore, JVM cacerts, and the OS trust store (/etc/ssl/certs).", "operationId": "addTrustedCertificate", "requestBody": { "content": { @@ -4881,28 +4980,28 @@ "required": true }, "responses": { - "400": { - "description": "Bad request", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/PageOfTrustedCertificate" } } } }, - "200": { - "description": "OK", + "400": { + "description": "Bad request", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageOfTrustedCertificate" + "$ref": "#/components/schemas/Error" } } } }, - "500": { - "description": "Internal server error", + "409": { + "description": "Trusted certificate already exists", "content": { "application/json": { "schema": { @@ -4911,8 +5010,8 @@ } } }, - "409": { - "description": "Trusted certificate already exists", + "500": { + "description": "Internal server error", "content": { "application/json": { "schema": { @@ -4993,18 +5092,18 @@ "required": true }, "responses": { - "400": { - "description": "Bad Request", + "202": { + "description": "Accepted", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/ResourcesLicenseCheckResult" } } } }, - "500": { - "description": "Internal server error", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -5013,12 +5112,12 @@ } } }, - "202": { - "description": "Accepted", + "500": { + "description": "Internal server error", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ResourcesLicenseCheckResult" + "$ref": "#/components/schemas/Error" } } } @@ -5069,28 +5168,28 @@ } ], "responses": { - "500": { - "description": "Internal Server Error", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/PageOfResourceWarning" } } } }, - "200": { - "description": "OK", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageOfResourceWarning" + "$ref": "#/components/schemas/Error" } } } }, - "400": { - "description": "Bad Request", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -5118,12 +5217,12 @@ "required": true }, "responses": { - "500": { - "description": "Internal Server Error", + "201": { + "description": "Created", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/ResourceWarning" } } } @@ -5138,12 +5237,12 @@ } } }, - "201": { - "description": "Created", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ResourceWarning" + "$ref": "#/components/schemas/Error" } } } @@ -5181,28 +5280,28 @@ } }, "responses": { - "500": { - "description": "Internal Server Error", + "202": { + "description": "Accepted", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/Validation" } } } }, - "202": { - "description": "Accepted", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Validation" + "$ref": "#/components/schemas/Error" } } } }, - "400": { - "description": "Bad Request", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -5233,22 +5332,22 @@ } } }, - "500": { - "description": "InternalServerError", + "204": { + "description": "No content when no product catalog version entry is found", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/ProductVersionCatalog" } } } }, - "204": { - "description": "No content when no product catalog version entry is found", + "500": { + "description": "InternalServerError", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ProductVersionCatalog" + "$ref": "#/components/schemas/Error" } } } @@ -5323,18 +5422,18 @@ "required": true }, "responses": { - "400": { - "description": "Bad Request", + "202": { + "description": "Product version catalog update operation has been accepted", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/ProductVersionCatalogUploadTask" } } } }, - "500": { - "description": "InternalServerError", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -5343,12 +5442,12 @@ } } }, - "202": { - "description": "Product version catalog update operation has been accepted", + "500": { + "description": "InternalServerError", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ProductVersionCatalogUploadTask" + "$ref": "#/components/schemas/Error" } } } @@ -5365,22 +5464,22 @@ "description": "Get product version catalog. There should be only one valid product version catalog in the System.", "operationId": "getProductVersionCatalog", "responses": { - "404": { - "description": "Product Version catalog Not Found", + "200": { + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/ProductVersionCatalog" } } } }, - "200": { - "description": "Ok", + "410": { + "description": "This API is no longer supported from VCF 9.0.0.0+ releases. Please refer to /v1/product-version-catalogs instead.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ProductVersionCatalog" + "$ref": "#/components/schemas/Error" } } } @@ -5395,8 +5494,8 @@ } } }, - "500": { - "description": "InternalServerError", + "404": { + "description": "Product Version catalog Not Found", "content": { "application/json": { "schema": { @@ -5405,8 +5504,8 @@ } } }, - "410": { - "description": "This API is no longer supported from VCF 9.0.0.0+ releases. Please refer to /v1/product-version-catalogs instead.", + "500": { + "description": "InternalServerError", "content": { "application/json": { "schema": { @@ -5436,8 +5535,11 @@ "required": true }, "responses": { - "400": { - "description": "Bad Request", + "202": { + "description": "Accepted" + }, + "410": { + "description": "This API is no longer supported from VCF 9.0.0.0+ releases. Please refer to /v1/product-version-catalogs instead.", "content": { "application/json": { "schema": { @@ -5446,11 +5548,8 @@ } } }, - "202": { - "description": "Accepted" - }, - "500": { - "description": "InternalServerError", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -5459,8 +5558,8 @@ } } }, - "410": { - "description": "This API is no longer supported from VCF 9.0.0.0+ releases. Please refer to /v1/product-version-catalogs instead.", + "500": { + "description": "InternalServerError", "content": { "application/json": { "schema": { @@ -5492,22 +5591,22 @@ "required": true }, "responses": { - "500": { - "description": "Internal Server Error", + "202": { + "description": "Accepted", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/Task" } } } }, - "202": { - "description": "Accepted", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Task" + "$ref": "#/components/schemas/Error" } } } @@ -5522,8 +5621,8 @@ } } }, - "400": { - "description": "Bad Request", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -5659,22 +5758,22 @@ } ], "responses": { - "500": { - "description": "Internal Server Error", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/PageOfPersonality" } } } }, - "200": { - "description": "OK", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageOfPersonality" + "$ref": "#/components/schemas/Error" } } } @@ -5699,28 +5798,28 @@ "required": true }, "responses": { - "500": { - "description": "Internal Server Error", + "202": { + "description": "Accepted", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/Task" } } } }, - "202": { - "description": "Accepted", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Task" + "$ref": "#/components/schemas/Error" } } } }, - "400": { - "description": "Bad Request", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -5759,8 +5858,11 @@ } ], "responses": { - "500": { - "description": "Internal Server Error", + "200": { + "description": "OK" + }, + "404": { + "description": "Personality by name or ID Not Found", "content": { "application/json": { "schema": { @@ -5769,11 +5871,8 @@ } } }, - "200": { - "description": "OK" - }, - "404": { - "description": "Personality by name or ID Not Found", + "400": { + "description": "Invalid Input", "content": { "application/json": { "schema": { @@ -5782,8 +5881,8 @@ } } }, - "400": { - "description": "Invalid Input", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -5980,26 +6079,6 @@ } ], "responses": { - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } - }, - "500": { - "description": "InternalServerError", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } - }, "200": { "description": "Ok", "content": { @@ -6009,48 +6088,6 @@ } } } - } - }, - "deprecated": true - }, - "post": { - "tags": [ - "ALBClusters" - ], - "summary": "Create NSX ALB cluster", - "operationId": "createALBCluster", - "parameters": [ - { - "name": "skipCompatibilityCheck", - "in": "query", - "description": "Pass an optional Skip compatibility checks", - "required": false, - "schema": { - "type": "boolean", - "default": false - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/NsxAlbControllerClusterSpec" - } - } - }, - "required": true - }, - "responses": { - "202": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Task" - } - } - } }, "400": { "description": "Bad Request", @@ -6074,15 +6111,77 @@ } }, "deprecated": true - } - }, - "/v1/nsx-alb-clusters/validations": { + }, "post": { "tags": [ "ALBClusters" ], - "summary": "Perform validiation of the NsxAlbControllerClusterSpec specification", - "operationId": "validateALBClusterCreationSpec", + "summary": "Create NSX ALB cluster", + "operationId": "createALBCluster", + "parameters": [ + { + "name": "skipCompatibilityCheck", + "in": "query", + "description": "Pass an optional Skip compatibility checks", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NsxAlbControllerClusterSpec" + } + } + }, + "required": true + }, + "responses": { + "202": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Task" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "500": { + "description": "InternalServerError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + }, + "deprecated": true + } + }, + "/v1/nsx-alb-clusters/validations": { + "post": { + "tags": [ + "ALBClusters" + ], + "summary": "Perform validiation of the NsxAlbControllerClusterSpec specification", + "operationId": "validateALBClusterCreationSpec", "parameters": [ { "name": "skipCompatibilityCheck", @@ -6194,18 +6293,18 @@ "description": "Get the Network Pools", "operationId": "getNetworkPool", "responses": { - "404": { - "description": "Referenced network pool not found", + "200": { + "description": "Referenced network pool", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/PageOfNetworkPool" } } } }, - "500": { - "description": "Unexpected error", + "404": { + "description": "Referenced network pool not found", "content": { "application/json": { "schema": { @@ -6214,12 +6313,12 @@ } } }, - "200": { - "description": "Referenced network pool", + "500": { + "description": "Unexpected error", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageOfNetworkPool" + "$ref": "#/components/schemas/Error" } } } @@ -6244,28 +6343,28 @@ "required": true }, "responses": { - "500": { - "description": "Unexpected error", + "201": { + "description": "The newly created network pool", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/NetworkPool" } } } }, - "201": { - "description": "The newly created network pool", + "400": { + "description": "Errors due to network pool validations failures", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/NetworkPool" + "$ref": "#/components/schemas/Error" } } } }, - "400": { - "description": "Errors due to network pool validations failures", + "500": { + "description": "Unexpected error", "content": { "application/json": { "schema": { @@ -6396,8 +6495,8 @@ "required": true }, "responses": { - "500": { - "description": "Unexpected error", + "404": { + "description": "Either network or Network pool not found", "content": { "application/json": { "schema": { @@ -6416,8 +6515,8 @@ } } }, - "404": { - "description": "Either network or Network pool not found", + "500": { + "description": "Unexpected error", "content": { "application/json": { "schema": { @@ -6441,18 +6540,18 @@ "description": "Get manifest. There should be only one valid manifest in the System.", "operationId": "getManifest", "responses": { - "404": { - "description": "Manifest Not Found", + "200": { + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/Manifest" } } } }, - "500": { - "description": "InternalServerError", + "404": { + "description": "Manifest Not Found", "content": { "application/json": { "schema": { @@ -6461,12 +6560,12 @@ } } }, - "200": { - "description": "Ok", + "500": { + "description": "InternalServerError", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Manifest" + "$ref": "#/components/schemas/Error" } } } @@ -6491,6 +6590,9 @@ "required": true }, "responses": { + "202": { + "description": "Accepted" + }, "400": { "description": "Bad Request", "content": { @@ -6501,11 +6603,8 @@ } } }, - "202": { - "description": "Accepted" - }, - "500": { - "description": "InternalServerError", + "409": { + "description": "Invalid State", "content": { "application/json": { "schema": { @@ -6514,8 +6613,8 @@ } } }, - "409": { - "description": "Invalid State", + "500": { + "description": "InternalServerError", "content": { "application/json": { "schema": { @@ -6625,6 +6724,9 @@ "required": true }, "responses": { + "201": { + "description": "Created" + }, "500": { "description": "Internal server error", "content": { @@ -6634,9 +6736,6 @@ } } } - }, - "201": { - "description": "Created" } } } @@ -6670,8 +6769,8 @@ } } }, - "500": { - "description": "Internal Server Error", + "401": { + "description": "Unauthorized Request", "content": { "application/json": { "schema": { @@ -6680,8 +6779,8 @@ } } }, - "401": { - "description": "Unauthorized Request", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -6768,8 +6867,8 @@ } ], "responses": { - "500": { - "description": "Internal server error", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -6788,8 +6887,8 @@ } } }, - "401": { - "description": "Unauthorized", + "500": { + "description": "Internal server error", "content": { "application/json": { "schema": { @@ -7358,20 +7457,9 @@ "Hosts" ], "description": "Post host(s) prechecks", - "operationId": "postHostsPrechecks_1", + "operationId": "postHostsPrechecks", "requestBody": { "content": { - "multipart/form-data": { - "schema": { - "type": "object", - "properties": { - "specFile": { - "type": "string", - "format": "binary" - } - } - } - }, "application/json": { "schema": { "$ref": "#/components/schemas/HostsPrechecksRequest" @@ -7381,28 +7469,28 @@ "required": true }, "responses": { - "500": { - "description": "Internal Server Error", + "200": { + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/HostsPrechecksResponse" } } } }, - "200": { - "description": "Ok", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/HostsPrechecksResponse" + "$ref": "#/components/schemas/Error" } } } }, - "400": { - "description": "Bad Request", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -7932,22 +8020,22 @@ } ], "responses": { - "500": { - "description": "Internal Server Error", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/PageOfComplianceAudit" } } } }, - "200": { - "description": "OK", + "401": { + "description": "Unauthorized Request", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageOfComplianceAudit" + "$ref": "#/components/schemas/Error" } } } @@ -7962,8 +8050,8 @@ } } }, - "401": { - "description": "Unauthorized Request", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -8078,12 +8166,12 @@ "required": true }, "responses": { - "500": { - "description": "Internal Server Error", + "202": { + "description": "Accepted", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/BrownfieldTask" } } } @@ -8098,12 +8186,12 @@ } } }, - "202": { - "description": "Accepted", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/BrownfieldTask" + "$ref": "#/components/schemas/Error" } } } @@ -8133,12 +8221,12 @@ } ], "responses": { - "500": { - "description": "Internal Server Error", + "202": { + "description": "Accepted", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/BrownfieldTask" } } } @@ -8153,18 +8241,18 @@ } } }, - "202": { - "description": "Accepted", + "404": { + "description": "Domain Not Found", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/BrownfieldTask" + "$ref": "#/components/schemas/Error" } } } }, - "404": { - "description": "Domain Not Found", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -8353,8 +8441,8 @@ } } }, - "500": { - "description": "InternalServerError", + "404": { + "description": "Domain Not Found", "content": { "application/json": { "schema": { @@ -8363,8 +8451,8 @@ } } }, - "404": { - "description": "Domain Not Found", + "500": { + "description": "InternalServerError", "content": { "application/json": { "schema": { @@ -8423,8 +8511,8 @@ } } }, - "500": { - "description": "InternalServerError", + "404": { + "description": "Domain Not Found", "content": { "application/json": { "schema": { @@ -8433,8 +8521,8 @@ } } }, - "404": { - "description": "Domain Not Found", + "500": { + "description": "InternalServerError", "content": { "application/json": { "schema": { @@ -8495,8 +8583,8 @@ } } }, - "500": { - "description": "InternalServerError", + "404": { + "description": "Domain Not Found", "content": { "application/json": { "schema": { @@ -8505,8 +8593,8 @@ } } }, - "404": { - "description": "Domain Not Found", + "500": { + "description": "InternalServerError", "content": { "application/json": { "schema": { @@ -8825,28 +8913,28 @@ "required": true }, "responses": { - "429": { - "description": "Too many requests", + "202": { + "description": "Accepted", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/CredentialsExpiration" } } } }, - "202": { - "description": "Accepted", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CredentialsExpiration" + "$ref": "#/components/schemas/Error" } } } }, - "400": { - "description": "Bad Request", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -8865,8 +8953,8 @@ } } }, - "500": { - "description": "InternalServerError", + "429": { + "description": "Too many requests", "content": { "application/json": { "schema": { @@ -8875,8 +8963,8 @@ } } }, - "401": { - "description": "Unauthorized", + "500": { + "description": "InternalServerError", "content": { "application/json": { "schema": { @@ -8907,12 +8995,12 @@ "required": true }, "responses": { - "500": { - "description": "Internal Server Error", + "202": { + "description": "Accepted", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/Task" } } } @@ -8927,12 +9015,12 @@ } } }, - "202": { - "description": "Accepted", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Task" + "$ref": "#/components/schemas/Error" } } } @@ -10055,22 +10143,22 @@ } ], "responses": { - "500": { - "description": "Internal Server Error", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/PageOfBundle" } } } }, - "200": { - "description": "OK", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageOfBundle" + "$ref": "#/components/schemas/Error" } } } @@ -10095,16 +10183,6 @@ "required": true }, "responses": { - "500": { - "description": "Internal Server Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } - }, "202": { "description": "Accepted", "content": { @@ -10134,6 +10212,16 @@ } } } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } } }, "deprecated": true @@ -10529,22 +10617,22 @@ "required": true }, "responses": { - "404": { - "description": "vSAN HCL configuration not found", + "202": { + "description": "Accepted", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/VsanHclConfiguration" } } } }, - "202": { - "description": "Accepted", + "404": { + "description": "vSAN HCL configuration not found", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/VsanHclConfiguration" + "$ref": "#/components/schemas/Error" } } } @@ -10592,6 +10680,16 @@ "required": true }, "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Task" + } + } + } + }, "202": { "description": "Accepted", "content": { @@ -10631,16 +10729,6 @@ } } } - }, - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Task" - } - } - } } } } @@ -10664,22 +10752,22 @@ } ], "responses": { - "404": { - "description": "VASA Provider not found", + "200": { + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/VasaProvider" } } } }, - "200": { - "description": "Ok", + "404": { + "description": "VASA Provider not found", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/VasaProvider" + "$ref": "#/components/schemas/Error" } } } @@ -10717,8 +10805,8 @@ "204": { "description": "No Content" }, - "404": { - "description": "VASA Provider not found", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -10727,8 +10815,8 @@ } } }, - "400": { - "description": "Bad Request", + "404": { + "description": "VASA Provider not found", "content": { "application/json": { "schema": { @@ -10777,12 +10865,12 @@ "required": true }, "responses": { - "404": { - "description": "VASA Provider not found", + "200": { + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/VasaProvider" } } } @@ -10797,12 +10885,12 @@ } } }, - "200": { - "description": "Ok", + "404": { + "description": "VASA Provider not found", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/VasaProvider" + "$ref": "#/components/schemas/Error" } } } @@ -10858,28 +10946,28 @@ "required": true }, "responses": { - "400": { - "description": "Bad Request", + "200": { + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/VasaProvider" } } } }, - "200": { - "description": "Ok", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/VasaProvider" + "$ref": "#/components/schemas/Error" } } } }, - "500": { - "description": "InternalServerError", + "404": { + "description": "User not found", "content": { "application/json": { "schema": { @@ -10888,8 +10976,8 @@ } } }, - "404": { - "description": "User not found", + "500": { + "description": "InternalServerError", "content": { "application/json": { "schema": { @@ -11001,22 +11089,22 @@ "required": true }, "responses": { - "400": { - "description": "Bad Request", + "200": { + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/VasaProvider" } } } }, - "200": { - "description": "Ok", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/VasaProvider" + "$ref": "#/components/schemas/Error" } } } @@ -11053,28 +11141,28 @@ "description": "Get information on the local account", "operationId": "getLocalAccount", "responses": { - "400": { - "description": "Bad request", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponse" + "$ref": "#/components/schemas/LocalUser" } } } }, - "200": { - "description": "OK", + "400": { + "description": "Bad request", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/LocalUser" + "$ref": "#/components/schemas/ErrorResponse" } } } }, - "500": { - "description": "Internal Server Error", + "401": { + "description": "Unauthorized Request", "content": { "application/json": { "schema": { @@ -11083,8 +11171,8 @@ } } }, - "401": { - "description": "Unauthorized Request", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -11106,8 +11194,8 @@ "204": { "description": "No content" }, - "500": { - "description": "Internal Server Error", + "401": { + "description": "Unauthorized Request", "content": { "application/json": { "schema": { @@ -11116,8 +11204,8 @@ } } }, - "401": { - "description": "Unauthorized Request", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -11162,6 +11250,71 @@ } } }, + "/v1/users/local/admin/config": { + "patch": { + "tags": [ + "Users" + ], + "summary": "Update configuration for local account", + "description": "Update the configuration settings for the local admin account", + "operationId": "updateLocalAccountConfig", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LocalAccountConfig" + } + } + }, + "required": true + }, + "responses": { + "204": { + "description": "No content" + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "401": { + "description": "Unauthorized Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "403": { + "description": "Forbidden request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + } + } + } + }, "/v1/upgrades/{upgradeId}": { "get": { "tags": [ @@ -11271,8 +11424,8 @@ } } }, - "500": { - "description": "InternalServerError", + "409": { + "description": "Invalid State", "content": { "application/json": { "schema": { @@ -11281,8 +11434,8 @@ } } }, - "409": { - "description": "Invalid State", + "500": { + "description": "InternalServerError", "content": { "application/json": { "schema": { @@ -11314,12 +11467,12 @@ "required": true }, "responses": { - "500": { - "description": "Internal Server Error", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "type": "string" } } } @@ -11344,12 +11497,12 @@ } } }, - "200": { - "description": "OK", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { - "type": "string" + "$ref": "#/components/schemas/Error" } } } @@ -11372,6 +11525,7 @@ "description": "Task id to retrieve", "required": true, "schema": { + "minLength": 1, "type": "string" } } @@ -11387,8 +11541,8 @@ } } }, - "500": { - "description": "Unexpected error", + "404": { + "description": "Task not found", "content": { "application/json": { "schema": { @@ -11397,8 +11551,8 @@ } } }, - "404": { - "description": "Task not found", + "500": { + "description": "Unexpected error", "content": { "application/json": { "schema": { @@ -11423,13 +11577,17 @@ "description": "Task id for cancelling", "required": true, "schema": { + "minLength": 1, "type": "string" } } ], "responses": { - "500": { - "description": "Unexpected error", + "200": { + "description": "Task was cancelled successfully." + }, + "404": { + "description": "Task not found", "content": { "application/json": { "schema": { @@ -11438,8 +11596,8 @@ } } }, - "404": { - "description": "Task not found", + "409": { + "description": "Task can not be cancelled. Only a IN_PROGRESS task can be cancelled.", "content": { "application/json": { "schema": { @@ -11448,11 +11606,8 @@ } } }, - "200": { - "description": "Task was cancelled successfully." - }, - "409": { - "description": "Task can not be cancelled. Only a IN_PROGRESS task can be cancelled.", + "500": { + "description": "Unexpected error", "content": { "application/json": { "schema": { @@ -11477,11 +11632,35 @@ "description": "Task id retry", "required": true, "schema": { + "minLength": 1, "type": "string" } } ], "responses": { + "200": { + "description": "Task was retried successfully." + }, + "404": { + "description": "Task not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "409": { + "description": "Task can not be retried. Only a failed Task can be retried.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, "500": { "description": "Unexpected error", "content": { @@ -11491,9 +11670,31 @@ } } } + } + } + } + }, + "/v1/tasks/config/settings": { + "get": { + "tags": [ + "Task Settings" + ], + "summary": "Get task settings", + "description": "Get the current task retention settings", + "operationId": "getTaskSettings", + "responses": { + "200": { + "description": "Current task settings", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskSettings" + } + } + } }, - "404": { - "description": "Task not found", + "500": { + "description": "Unexpected error", "content": { "application/json": { "schema": { @@ -11501,12 +11702,49 @@ } } } + } + } + }, + "patch": { + "tags": [ + "Task Settings" + ], + "summary": "Update task settings", + "description": "Update the task retention settings", + "operationId": "updateTaskSettings", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskSettings" + } + } }, + "required": true + }, + "responses": { "200": { - "description": "Task was retried successfully." + "description": "Task settings updated successfully.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskSettings" + } + } + } }, - "409": { - "description": "Task can not be retried. Only a failed Task can be retried.", + "400": { + "description": "Invalid task settings", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "500": { + "description": "Unexpected error", "content": { "application/json": { "schema": { @@ -11527,28 +11765,28 @@ "description": "Retrieve the system configuration.", "operationId": "getSystemConfiguration", "responses": { - "500": { - "description": "Internal Server Error", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/System" } } } }, - "200": { - "description": "OK", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/System" + "$ref": "#/components/schemas/Error" } } } }, - "400": { - "description": "Bad Request", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -11577,8 +11815,11 @@ "required": true }, "responses": { - "500": { - "description": "Internal Server Error", + "200": { + "description": "OK" + }, + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -11587,11 +11828,8 @@ } } }, - "200": { - "description": "OK" - }, - "400": { - "description": "Bad Request", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -11642,12 +11880,12 @@ "description": "Sync depot metadata such as bundle manifest, pvc.", "operationId": "syncDepotMetadata", "responses": { - "500": { - "description": "Internal Server Error", + "202": { + "description": "Accepted", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/DepotSyncInfo" } } } @@ -11662,12 +11900,12 @@ } } }, - "202": { - "description": "Accepted", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/DepotSyncInfo" + "$ref": "#/components/schemas/Error" } } } @@ -11734,22 +11972,22 @@ "description": "Get the current Proxy configuration", "operationId": "getProxyConfiguration", "responses": { - "400": { - "description": "Bad request", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/ProxyConfiguration" } } } }, - "200": { - "description": "OK", + "400": { + "description": "Bad request", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ProxyConfiguration" + "$ref": "#/components/schemas/Error" } } } @@ -11778,22 +12016,22 @@ "required": true }, "responses": { - "400": { - "description": "Bad request", + "202": { + "description": "Accepted", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/Task" } } } }, - "202": { - "description": "Accepted", + "400": { + "description": "Bad request", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Task" + "$ref": "#/components/schemas/Error" } } } @@ -11834,8 +12072,8 @@ } } }, - "409": { - "description": "Conflict", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -11844,8 +12082,8 @@ } } }, - "400": { - "description": "Bad Request", + "409": { + "description": "Conflict", "content": { "application/json": { "schema": { @@ -11904,6 +12142,7 @@ "schema": { "type": "array", "items": { + "pattern": "ERROR|WARNING|INFO|ALL", "type": "string", "default": "ALL", "enum": [ @@ -11928,16 +12167,6 @@ } ], "responses": { - "500": { - "description": "Internal Server Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } - }, "200": { "description": "OK", "content": { @@ -11967,6 +12196,16 @@ } } } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } } } }, @@ -12000,28 +12239,28 @@ "required": true }, "responses": { - "500": { - "description": "Internal Server Error", + "202": { + "description": "Accepted", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/Task" } } } }, - "202": { - "description": "Accepted", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Task" + "$ref": "#/components/schemas/Error" } } } }, - "400": { - "description": "Bad Request", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -12092,8 +12331,8 @@ } } }, - "409": { - "description": "The request could not be completed due to a conflict with the current state", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -12102,8 +12341,8 @@ } } }, - "400": { - "description": "Bad Request", + "409": { + "description": "The request could not be completed due to a conflict with the current state", "content": { "application/json": { "schema": { @@ -12144,6 +12383,16 @@ "required": true }, "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Task" + } + } + } + }, "202": { "description": "Accepted", "content": { @@ -12163,13 +12412,81 @@ } } } - }, + } + } + } + }, + "/v1/sddc-manager/local-os-user-accounts": { + "get": { + "tags": [ + "SddcManagers" + ], + "summary": "Get local OS user accounts from the SDDC Manager appliance", + "description": "Returns a list of local OS user accounts from the SDDC Manager appliance", + "operationId": "getLocalOsUserAccounts", + "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Task" + "type": "array", + "items": { + "$ref": "#/components/schemas/LocalOsUserAccount" + } + } + } + } + }, + "500": { + "description": "Internal server error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + } + }, + "patch": { + "tags": [ + "SddcManagers" + ], + "summary": "Update a local OS user account on the SDDC Manager appliance", + "description": "Updates the specified local OS user account on the SDDC Manager appliance. Only 'vcf', 'root', and 'backup' users are supported. Password updates are allowed for locked-out accounts using this API.", + "operationId": "updateLocalOsUserAccount", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LocalOsUserAccountUpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK" + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "500": { + "description": "Internal server error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" } } } @@ -12235,12 +12552,12 @@ } ], "responses": { - "500": { - "description": "Internal Server Error", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/PageOfResourceFunctionalities" } } } @@ -12255,12 +12572,12 @@ } } }, - "200": { - "description": "OK", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageOfResourceFunctionalities" + "$ref": "#/components/schemas/Error" } } } @@ -12294,8 +12611,8 @@ } } }, - "500": { - "description": "Internal Server Error", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -12304,8 +12621,8 @@ } } }, - "400": { - "description": "Bad Request", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -12325,28 +12642,28 @@ "summary": "Get Resource Functionalities Allowed Global Configuration", "operationId": "getResourcesFunctionalitiesAllowedGlobal", "responses": { - "500": { - "description": "Internal Server Error", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/ResourceFunctionalitiesGlobalConfiguration" } } } }, - "200": { - "description": "OK", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ResourceFunctionalitiesGlobalConfiguration" + "$ref": "#/components/schemas/Error" } } } }, - "400": { - "description": "Bad Request", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -12374,28 +12691,28 @@ "required": true }, "responses": { - "500": { - "description": "Internal Server Error", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/ResourceFunctionalitiesGlobalConfigurationCaller" } } } }, - "200": { - "description": "OK", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ResourceFunctionalitiesGlobalConfigurationCaller" + "$ref": "#/components/schemas/Error" } } } }, - "400": { - "description": "Bad Request", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -12428,28 +12745,28 @@ } ], "responses": { - "500": { - "description": "Internal Server Error", + "200": { + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/DomainReleaseView" } } } }, - "200": { - "description": "Ok", + "404": { + "description": "Domain not found", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/DomainReleaseView" + "$ref": "#/components/schemas/Error" } } } }, - "404": { - "description": "Domain not found", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -12480,6 +12797,9 @@ } ], "responses": { + "200": { + "description": "Ok" + }, "500": { "description": "Internal Server Error", "content": { @@ -12489,9 +12809,6 @@ } } } - }, - "200": { - "description": "Ok" } } }, @@ -12524,8 +12841,11 @@ } }, "responses": { - "422": { - "description": "Unprocessable Entity", + "200": { + "description": "Ok" + }, + "400": { + "description": "Invalid Input", "content": { "application/json": { "schema": { @@ -12534,8 +12854,8 @@ } } }, - "500": { - "description": "Internal Server Error", + "404": { + "description": "Domain or VCF target release not found", "content": { "application/json": { "schema": { @@ -12544,11 +12864,8 @@ } } }, - "200": { - "description": "Ok" - }, - "400": { - "description": "Invalid Input", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -12557,8 +12874,8 @@ } } }, - "404": { - "description": "Domain or VCF target release not found", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -12609,12 +12926,12 @@ "required": true }, "responses": { - "500": { - "description": "Internal Server Error", + "200": { + "description": "Update of the Network was successful", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/Network" } } } @@ -12629,18 +12946,18 @@ } } }, - "200": { - "description": "Update of the Network was successful", + "400": { + "description": "Network Update validation failure error", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Network" + "$ref": "#/components/schemas/Error" } } } }, - "400": { - "description": "Network Update validation failure error", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -12681,12 +12998,15 @@ } ], "responses": { - "500": { - "description": "Unexpected error", + "200": { + "description": "List of free and used IP addresses", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "type": "array", + "items": { + "type": "string" + } } } } @@ -12701,15 +13021,12 @@ } } }, - "200": { - "description": "List of free and used IP addresses", + "500": { + "description": "Unexpected error", "content": { "application/json": { "schema": { - "type": "array", - "items": { - "type": "string" - } + "$ref": "#/components/schemas/Error" } } } @@ -12754,12 +13071,15 @@ "required": true }, "responses": { - "500": { - "description": "Unexpected error", + "200": { + "description": "List of IP addresses to be released or reserved", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "type": "array", + "items": { + "type": "string" + } } } } @@ -12784,15 +13104,12 @@ } } }, - "200": { - "description": "List of IP addresses to be released or reserved", + "500": { + "description": "Unexpected error", "content": { "application/json": { "schema": { - "type": "array", - "items": { - "type": "string" - } + "$ref": "#/components/schemas/Error" } } } @@ -12839,16 +13156,6 @@ "required": true }, "responses": { - "500": { - "description": "Internal Server Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } - }, "200": { "description": "Update of Ip pool was successful", "content": { @@ -12878,6 +13185,16 @@ } } } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } } } } @@ -12963,8 +13280,11 @@ } ], "responses": { - "404": { - "description": "Referenced network pool not found", + "204": { + "description": "The specification of the deleted network pool" + }, + "400": { + "description": "Hosts are still associated with NetworkPool", "content": { "application/json": { "schema": { @@ -12973,8 +13293,8 @@ } } }, - "500": { - "description": "Unexpected error", + "404": { + "description": "Referenced network pool not found", "content": { "application/json": { "schema": { @@ -12983,8 +13303,8 @@ } } }, - "400": { - "description": "Hosts are still associated with NetworkPool", + "500": { + "description": "Unexpected error", "content": { "application/json": { "schema": { @@ -12992,9 +13312,6 @@ } } } - }, - "204": { - "description": "The specification of the deleted network pool" } } }, @@ -13037,8 +13354,8 @@ } } }, - "500": { - "description": "Unexpected error", + "404": { + "description": "Network Pool not found", "content": { "application/json": { "schema": { @@ -13047,8 +13364,8 @@ } } }, - "404": { - "description": "Network Pool not found", + "500": { + "description": "Unexpected error", "content": { "application/json": { "schema": { @@ -13155,22 +13472,22 @@ } } }, - "500": { - "description": "Internal server error", + "401": { + "description": "Unauthorized Request", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/ErrorResponse" } } } }, - "401": { - "description": "Unauthorized Request", + "500": { + "description": "Internal server error", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponse" + "$ref": "#/components/schemas/Error" } } } @@ -13331,8 +13648,8 @@ } } }, - "500": { - "description": "Internal server error", + "404": { + "description": "Identity Source not found", "content": { "application/json": { "schema": { @@ -13341,8 +13658,8 @@ } } }, - "404": { - "description": "Identity Source not found", + "500": { + "description": "Internal server error", "content": { "application/json": { "schema": { @@ -13405,8 +13722,8 @@ } } }, - "500": { - "description": "Internal server error", + "404": { + "description": "Identity Source not found", "content": { "application/json": { "schema": { @@ -13415,8 +13732,8 @@ } } }, - "404": { - "description": "Identity Source not found", + "500": { + "description": "Internal server error", "content": { "application/json": { "schema": { @@ -13458,8 +13775,8 @@ } } }, - "500": { - "description": "InternalServerError", + "404": { + "description": "Edge Cluster not found", "content": { "application/json": { "schema": { @@ -13468,8 +13785,8 @@ } } }, - "404": { - "description": "Edge Cluster not found", + "500": { + "description": "InternalServerError", "content": { "application/json": { "schema": { @@ -13848,18 +14165,18 @@ } ], "responses": { - "500": { - "description": "Internal Server Error", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/ComplianceTask" } } } }, - "404": { - "description": "Not Found", + "401": { + "description": "Unauthorized Request", "content": { "application/json": { "schema": { @@ -13868,18 +14185,18 @@ } } }, - "200": { - "description": "OK", + "404": { + "description": "Not Found", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ComplianceTask" + "$ref": "#/components/schemas/Error" } } } }, - "401": { - "description": "Unauthorized Request", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -13928,8 +14245,8 @@ } } }, - "500": { - "description": "Internal Server Error", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -13938,8 +14255,8 @@ } } }, - "400": { - "description": "Bad Request", + "404": { + "description": "Not Found", "content": { "application/json": { "schema": { @@ -13948,8 +14265,8 @@ } } }, - "404": { - "description": "Not Found", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -13990,22 +14307,22 @@ } ], "responses": { - "500": { - "description": "InternalServerError", + "202": { + "description": "Accepted", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/HealthCheckQueryResult" } } } }, - "202": { - "description": "Accepted", + "500": { + "description": "InternalServerError", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/HealthCheckQueryResult" + "$ref": "#/components/schemas/Error" } } } @@ -14097,6 +14414,9 @@ "required": true }, "responses": { + "202": { + "description": "Accepted" + }, "400": { "description": "Bad Request", "content": { @@ -14107,8 +14427,8 @@ } } }, - "404": { - "description": "Not Found", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -14117,9 +14437,6 @@ } } }, - "202": { - "description": "Accepted" - }, "403": { "description": "Forbidden", "content": { @@ -14130,8 +14447,8 @@ } } }, - "500": { - "description": "InternalServerError", + "404": { + "description": "Not Found", "content": { "application/json": { "schema": { @@ -14140,8 +14457,8 @@ } } }, - "401": { - "description": "Unauthorized", + "500": { + "description": "InternalServerError", "content": { "application/json": { "schema": { @@ -14250,8 +14567,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -14260,8 +14577,8 @@ } } }, - "500": { - "description": "InternalServerError", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -14270,8 +14587,8 @@ } } }, - "401": { - "description": "Unauthorized", + "500": { + "description": "InternalServerError", "content": { "application/json": { "schema": { @@ -14320,8 +14637,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -14330,8 +14647,8 @@ } } }, - "500": { - "description": "InternalServerError", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -14340,8 +14657,8 @@ } } }, - "401": { - "description": "Unauthorized", + "500": { + "description": "InternalServerError", "content": { "application/json": { "schema": { @@ -14373,18 +14690,18 @@ } ], "responses": { - "400": { - "description": "Bad Request", + "200": { + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/CredentialsTask" } } } }, - "500": { - "description": "InternalServerError", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -14393,12 +14710,12 @@ } } }, - "200": { - "description": "Ok", + "500": { + "description": "InternalServerError", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CredentialsTask" + "$ref": "#/components/schemas/Error" } } } @@ -14505,8 +14822,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -14515,8 +14832,8 @@ } } }, - "500": { - "description": "InternalServerError", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -14525,8 +14842,8 @@ } } }, - "401": { - "description": "Unauthorized", + "500": { + "description": "InternalServerError", "content": { "application/json": { "schema": { @@ -14771,22 +15088,22 @@ } ], "responses": { - "404": { - "description": "Bundle Not Found", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/Bundle" } } } }, - "200": { - "description": "OK", + "404": { + "description": "Bundle Not Found", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Bundle" + "$ref": "#/components/schemas/Error" } } } @@ -14832,8 +15149,11 @@ } ], "responses": { - "500": { - "description": "Internal Server Error", + "204": { + "description": "No Content" + }, + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -14842,9 +15162,6 @@ } } }, - "204": { - "description": "No Content" - }, "409": { "description": "Conflict", "content": { @@ -14855,8 +15172,8 @@ } } }, - "400": { - "description": "Bad Request", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -14897,22 +15214,22 @@ "required": true }, "responses": { - "500": { - "description": "Internal Server Error", + "202": { + "description": "Accepted", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/Task" } } } }, - "202": { - "description": "Accepted", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Task" + "$ref": "#/components/schemas/Error" } } } @@ -14927,8 +15244,8 @@ } } }, - "400": { - "description": "Bad Request", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -15179,18 +15496,18 @@ } ], "responses": { - "404": { - "description": "VcfService not found", + "200": { + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/VcfService" } } } }, - "500": { - "description": "InternalServerError", + "404": { + "description": "VcfService not found", "content": { "application/json": { "schema": { @@ -15199,12 +15516,12 @@ } } }, - "200": { - "description": "Ok", + "500": { + "description": "InternalServerError", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/VcfService" + "$ref": "#/components/schemas/Error" } } } @@ -15560,18 +15877,18 @@ } ], "responses": { - "400": { - "description": "Bad Request", + "200": { + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/PageOfVcenter" } } } }, - "500": { - "description": "InternalServerError", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -15580,12 +15897,12 @@ } } }, - "200": { - "description": "Ok", + "500": { + "description": "InternalServerError", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageOfVcenter" + "$ref": "#/components/schemas/Error" } } } @@ -15736,8 +16053,8 @@ } } }, - "404": { - "description": "Validation ID not found", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -15746,8 +16063,8 @@ } } }, - "400": { - "description": "Bad Request", + "404": { + "description": "Validation ID not found", "content": { "application/json": { "schema": { @@ -15792,8 +16109,8 @@ } } }, - "500": { - "description": "Internal Server Error", + "401": { + "description": "Unauthorized Request", "content": { "application/json": { "schema": { @@ -15802,8 +16119,8 @@ } } }, - "401": { - "description": "Unauthorized Request", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -15842,18 +16159,18 @@ } ], "responses": { - "400": { - "description": "Bad Request", + "200": { + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/Task" } } } }, - "404": { - "description": "Not Found", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -15862,8 +16179,8 @@ } } }, - "500": { - "description": "InternalServerError", + "403": { + "description": "Operation not allowed", "content": { "application/json": { "schema": { @@ -15872,8 +16189,8 @@ } } }, - "403": { - "description": "Operation not allowed", + "404": { + "description": "Not Found", "content": { "application/json": { "schema": { @@ -15882,12 +16199,12 @@ } } }, - "200": { - "description": "Ok", + "500": { + "description": "InternalServerError", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Task" + "$ref": "#/components/schemas/Error" } } } @@ -15925,18 +16242,18 @@ } ], "responses": { - "500": { - "description": "Internal Server Error", + "200": { + "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/UpgradePreview" } } } }, - "404": { - "description": "Bundle or Domain Not Found", + "400": { + "description": "Bad Request Error", "content": { "application/json": { "schema": { @@ -15945,18 +16262,18 @@ } } }, - "200": { - "description": "Success", + "404": { + "description": "Bundle or Domain Not Found", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/UpgradePreview" + "$ref": "#/components/schemas/Error" } } } }, - "400": { - "description": "Bad Request Error", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -15998,28 +16315,28 @@ } ], "responses": { - "500": { - "description": "InternalServerError", + "200": { + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/PageOfUpgradable" } } } }, - "200": { - "description": "Ok", + "404": { + "description": "Domain Not Found", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageOfUpgradable" + "$ref": "#/components/schemas/Error" } } } }, - "404": { - "description": "Domain Not Found", + "500": { + "description": "InternalServerError", "content": { "application/json": { "schema": { @@ -16060,12 +16377,12 @@ } ], "responses": { - "400": { - "description": "Target version is invalid", + "200": { + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/SupportedUpgradeMechanisms" } } } @@ -16080,8 +16397,8 @@ } } }, - "500": { - "description": "InternalServerError", + "400": { + "description": "Target version is invalid", "content": { "application/json": { "schema": { @@ -16090,12 +16407,12 @@ } } }, - "200": { - "description": "Ok", + "500": { + "description": "InternalServerError", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SupportedUpgradeMechanisms" + "$ref": "#/components/schemas/Error" } } } @@ -16132,12 +16449,15 @@ } ], "responses": { - "400": { - "description": "Target version is invalid", + "200": { + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "type": "array", + "items": { + "$ref": "#/components/schemas/VcenterApplianceSizingInfo" + } } } } @@ -16152,8 +16472,8 @@ } } }, - "500": { - "description": "InternalServerError", + "400": { + "description": "Target version is invalid", "content": { "application/json": { "schema": { @@ -16162,15 +16482,12 @@ } } }, - "200": { - "description": "Ok", + "500": { + "description": "InternalServerError", "content": { "application/json": { "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/VcenterApplianceSizingInfo" - } + "$ref": "#/components/schemas/Error" } } } @@ -16253,16 +16570,6 @@ } ], "responses": { - "400": { - "description": "Target version is invalid", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } - }, "200": { "description": "Ok", "content": { @@ -16286,6 +16593,16 @@ } } }, + "400": { + "description": "Target version is invalid", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, "500": { "description": "InternalServerError", "content": { @@ -16328,22 +16645,22 @@ } ], "responses": { - "404": { - "description": "Bundle Not Found", + "200": { + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/NsxtResources" } } } }, - "200": { - "description": "Ok", + "404": { + "description": "Bundle Not Found", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/NsxtResources" + "$ref": "#/components/schemas/Error" } } } @@ -16391,8 +16708,8 @@ } } }, - "500": { - "description": "InternalServerError", + "404": { + "description": "Domain Not Found", "content": { "application/json": { "schema": { @@ -16401,8 +16718,8 @@ } } }, - "404": { - "description": "Domain Not Found", + "500": { + "description": "InternalServerError", "content": { "application/json": { "schema": { @@ -16563,12 +16880,12 @@ "description": "Get the details of VCF Management Components containing each component's FQDN, deployment type, and deployment status", "operationId": "getSystemVcfManagementComponents", "responses": { - "500": { - "description": "Internal Server Error", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/VcfManagementComponents" } } } @@ -16583,12 +16900,12 @@ } } }, - "200": { - "description": "OK", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/VcfManagementComponents" + "$ref": "#/components/schemas/Error" } } } @@ -16605,8 +16922,8 @@ "description": "Fetches the list of Upgradables in the System. Only one Upgradable becomes AVAILABLE for Upgrade. The Upgradables provides information that can be use for Precheck API and also in the actual Upgrade API call. Conflict (409) error can return if inventory cache is not seeded.", "operationId": "getUpgradables", "responses": { - "408": { - "description": "Internal Request Time Out", + "200": { + "description": "Ok", "content": { "application/json": { "schema": { @@ -16615,12 +16932,12 @@ } } }, - "500": { - "description": "Internal Server Error", + "408": { + "description": "Internal Request Time Out", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/PageOfUpgradable" } } } @@ -16635,12 +16952,12 @@ } } }, - "200": { - "description": "Ok", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageOfUpgradable" + "$ref": "#/components/schemas/Error" } } } @@ -16729,16 +17046,6 @@ } ], "responses": { - "401": { - "description": "Bad request! Authorization Header is missing or not in correct format.", - "content": { - "application/octet-stream": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } - }, "200": { "description": "Ok", "content": { @@ -16779,6 +17086,16 @@ } } } + }, + "401": { + "description": "Bad request! Authorization Header is missing or not in correct format.", + "content": { + "application/octet-stream": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } } }, "x-vmw-compiler-skip": "FILE" @@ -16793,22 +17110,22 @@ "description": "Get machine details", "operationId": "getMachineDetails", "responses": { - "500": { - "description": "Internal Server Error", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/MachineDetails" } } } }, - "200": { - "description": "OK", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/MachineDetails" + "$ref": "#/components/schemas/Error" } } } @@ -16864,10 +17181,6 @@ } } }, - "500": { - "description": "Internal server error", - "x-vmw-compiler-skip": true - }, "401": { "description": "Unauthorized", "content": { @@ -16877,6 +17190,10 @@ } } } + }, + "500": { + "description": "Internal server error", + "x-vmw-compiler-skip": true } } } @@ -16953,18 +17270,18 @@ } ], "responses": { - "400": { - "description": "Bad request! Invalid Headers or Data. Error: {error}", + "200": { + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/HealthSummary" } } } }, - "500": { - "description": "Something went wrong. Internal server error occurred. Error {error}", + "400": { + "description": "Bad request! Invalid Headers or Data. Error: {error}", "content": { "application/json": { "schema": { @@ -16973,8 +17290,8 @@ } } }, - "401": { - "description": "Bad request! Authorization Header is missing or not in correct format.", + "500": { + "description": "Something went wrong. Internal server error occurred. Error {error}", "content": { "application/json": { "schema": { @@ -16983,12 +17300,12 @@ } } }, - "200": { - "description": "Ok", + "401": { + "description": "Bad request! Authorization Header is missing or not in correct format.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/HealthSummary" + "$ref": "#/components/schemas/Error" } } } @@ -17015,23 +17332,23 @@ } ], "responses": { - "401": { - "description": "Bad request! Authorization Header is missing or not in correct format.", + "200": { + "description": "Ok", "content": { "application/octet-stream": { "schema": { - "$ref": "#/components/schemas/Error" + "type": "string", + "format": "byte" } } } }, - "200": { - "description": "Ok", + "400": { + "description": "Bad request! Invalid Headers or Data. Error: {error}.", "content": { "application/octet-stream": { "schema": { - "type": "string", - "format": "byte" + "$ref": "#/components/schemas/Error" } } } @@ -17046,8 +17363,8 @@ } } }, - "400": { - "description": "Bad request! Invalid Headers or Data. Error: {error}.", + "404": { + "description": "Bundle not found or not available for download. Id:{id}. ", "content": { "application/octet-stream": { "schema": { @@ -17056,8 +17373,8 @@ } } }, - "404": { - "description": "Bundle not found or not available for download. Id:{id}. ", + "401": { + "description": "Bad request! Authorization Header is missing or not in correct format.", "content": { "application/octet-stream": { "schema": { @@ -17144,16 +17461,6 @@ } ], "responses": { - "500": { - "description": "Internal Server Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } - }, "200": { "description": "Download Exported File", "content": { @@ -17184,6 +17491,16 @@ } } } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } } }, "x-vmw-compiler-skip": "FILE" @@ -17259,22 +17576,22 @@ "description": "Get appliance information such as the version and the appliance's role.", "operationId": "getApplianceInfo", "responses": { - "500": { - "description": "InternalServerError", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/ApplianceInfo" } } } }, - "200": { - "description": "OK", + "500": { + "description": "InternalServerError", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApplianceInfo" + "$ref": "#/components/schemas/Error" } } } @@ -17291,18 +17608,18 @@ "description": "Get a list of all SSO domains", "operationId": "getSSODomains", "responses": { - "403": { - "description": "Forbidden request", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponse" + "$ref": "#/components/schemas/PageOfString" } } } }, - "500": { - "description": "Internal Server Error", + "401": { + "description": "Unauthorized Request", "content": { "application/json": { "schema": { @@ -17311,8 +17628,8 @@ } } }, - "401": { - "description": "Unauthorized Request", + "403": { + "description": "Forbidden request", "content": { "application/json": { "schema": { @@ -17321,12 +17638,12 @@ } } }, - "200": { - "description": "OK", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageOfString" + "$ref": "#/components/schemas/ErrorResponse" } } } @@ -17363,18 +17680,18 @@ } ], "responses": { - "403": { - "description": "Forbidden request", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponse" + "$ref": "#/components/schemas/PageOfSsoDomainEntity" } } } }, - "500": { - "description": "Internal Server Error", + "401": { + "description": "Unauthorized Request", "content": { "application/json": { "schema": { @@ -17383,8 +17700,8 @@ } } }, - "401": { - "description": "Unauthorized Request", + "403": { + "description": "Forbidden request", "content": { "application/json": { "schema": { @@ -17393,12 +17710,12 @@ } } }, - "200": { - "description": "OK", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageOfSsoDomainEntity" + "$ref": "#/components/schemas/ErrorResponse" } } } @@ -17426,18 +17743,18 @@ } ], "responses": { - "500": { - "description": "Internal Server Error", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/ServiceConfig" } } } }, - "200": { - "description": "OK", + "204": { + "description": "No content when no service matching parameter is found", "content": { "application/json": { "schema": { @@ -17446,12 +17763,12 @@ } } }, - "204": { - "description": "No content when no service matching parameter is found", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ServiceConfig" + "$ref": "#/components/schemas/Error" } } } @@ -17477,8 +17794,11 @@ } ], "responses": { - "500": { - "description": "Internal Server Error", + "204": { + "description": "No Content" + }, + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -17487,11 +17807,8 @@ } } }, - "204": { - "description": "No Content" - }, - "400": { - "description": "Bad Request", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -17533,8 +17850,8 @@ } } }, - "500": { - "description": "Internal Server Error", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -17543,8 +17860,8 @@ } } }, - "400": { - "description": "Bad Request", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -17578,28 +17895,28 @@ } ], "responses": { - "500": { - "description": "Internal Server Error", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/BrownfieldTask" } } } }, - "200": { - "description": "OK", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/BrownfieldTask" + "$ref": "#/components/schemas/Error" } } } }, - "400": { - "description": "Bad Request", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -17633,28 +17950,28 @@ } ], "responses": { - "500": { - "description": "Internal Server Error", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/BrownfieldTask" } } } }, - "200": { - "description": "OK", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/BrownfieldTask" + "$ref": "#/components/schemas/Error" } } } }, - "400": { - "description": "Bad Request", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -17718,28 +18035,28 @@ } ], "responses": { - "500": { - "description": "Internal Server Error", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/BrownfieldValidationGroupsTask" } } } }, - "200": { - "description": "OK", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/BrownfieldValidationGroupsTask" + "$ref": "#/components/schemas/Error" } } } }, - "400": { - "description": "Bad Request", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -17813,12 +18130,12 @@ } ], "responses": { - "500": { - "description": "Internal Server Error", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/PageOfValidationResults" } } } @@ -17833,12 +18150,12 @@ } } }, - "200": { - "description": "OK", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageOfValidationResults" + "$ref": "#/components/schemas/Error" } } } @@ -17868,16 +18185,6 @@ } ], "responses": { - "500": { - "description": "Internal Server Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } - }, "200": { "description": "Ok", "content": { @@ -17898,6 +18205,16 @@ } } } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } } }, "x-vmw-compiler-skip": "FILE" @@ -17963,22 +18280,22 @@ } ], "responses": { - "404": { - "description": "Sddc Manager not found", + "200": { + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/SddcManager" } } } }, - "200": { - "description": "Ok", + "404": { + "description": "Sddc Manager not found", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SddcManager" + "$ref": "#/components/schemas/Error" } } } @@ -18015,18 +18332,18 @@ } ], "responses": { - "404": { - "description": "SDDC Manager not found", + "200": { + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/History" } } } }, - "500": { - "description": "InternalServerError", + "404": { + "description": "SDDC Manager not found", "content": { "application/json": { "schema": { @@ -18035,12 +18352,12 @@ } } }, - "200": { - "description": "Ok", + "500": { + "description": "InternalServerError", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/History" + "$ref": "#/components/schemas/Error" } } } @@ -18067,28 +18384,28 @@ } ], "responses": { - "500": { - "description": "Internal Server Error", + "200": { + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/Validation" } } } }, - "200": { - "description": "Ok", + "404": { + "description": "Not Found", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Validation" + "$ref": "#/components/schemas/Error" } } } }, - "404": { - "description": "Not Found", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -18132,12 +18449,12 @@ } ], "responses": { - "501": { - "description": "Not Implemented when both parameters are set", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Page" + "$ref": "#/components/schemas/PageOfSddcManagerUpgradable" } } } @@ -18162,47 +18479,12 @@ } } }, - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PageOfSddcManagerUpgradable" - } - } - } - } - } - } - }, - "/v1/sddc-manager/local-os-user-accounts": { - "get": { - "tags": [ - "SddcManagers" - ], - "summary": "Get local OS user accounts from the SDDC Manager appliance", - "description": "Returns a list of local OS user accounts from the SDDC Manager appliance", - "operationId": "getLocalOsUserAccounts", - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/LocalOsUserAccount" - } - } - } - } - }, - "500": { - "description": "Internal server error", + "501": { + "description": "Not Implemented when both parameters are set", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/Page" } } } @@ -18239,8 +18521,8 @@ } } }, - "500": { - "description": "Internal Server Error", + "401": { + "description": "Unauthorized Request", "content": { "application/json": { "schema": { @@ -18249,8 +18531,8 @@ } } }, - "401": { - "description": "Unauthorized Request", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -18281,18 +18563,18 @@ } ], "responses": { - "400": { - "description": "Bad Request", + "200": { + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/Task" } } } }, - "500": { - "description": "Internal server error", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -18301,12 +18583,12 @@ } } }, - "200": { - "description": "Ok", + "500": { + "description": "Internal server error", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Task" + "$ref": "#/components/schemas/Error" } } } @@ -18333,18 +18615,18 @@ } ], "responses": { - "400": { - "description": "Bad Request", + "200": { + "description": "Successful", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/ResourcesLicenseCheckResult" } } } }, - "500": { - "description": "Internal server error", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -18353,12 +18635,12 @@ } } }, - "200": { - "description": "Successful", + "500": { + "description": "Internal server error", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ResourcesLicenseCheckResult" + "$ref": "#/components/schemas/Error" } } } @@ -18394,8 +18676,8 @@ } } }, - "500": { - "description": "Internal Server Error", + "404": { + "description": "Resource Warning not found", "content": { "application/json": { "schema": { @@ -18404,8 +18686,8 @@ } } }, - "404": { - "description": "Resource Warning not found", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -18518,8 +18800,8 @@ } } }, - "500": { - "description": "Internal Server Error", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -18528,8 +18810,8 @@ } } }, - "403": { - "description": "Forbidden", + "404": { + "description": "Release Not Found", "content": { "application/json": { "schema": { @@ -18538,8 +18820,8 @@ } } }, - "404": { - "description": "Release Not Found", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -18687,28 +18969,28 @@ "description": "Returns release for the lowest deployed VCF version for a domain on the environment.If Management domain is ahead of WLD domain, VCF BOM version for the WLDdomain will be returned. Domain VCF release calculations consider SDDC-M, BOM stack components(life cycle managed by LCM eg: Vcenter, Esx, Nsx) to compute Management domain VCF version, BOM stack components(life cycle managed by LCM) to compute VI domain VCF version respectively. Eg: Management domain component stack versions: [SDDC-M: 5.2.1.0, VC: 8.0U3, NSX:4.2.1.3, ESX: 8.0U3]. VCF version computed will be 5.2.1.0. VI domain component stack versions: [VC: 9.0.0.0, NSX: 9.0.0.0, ESX: 9.0.0.0]. VCF version computed is 9.0.0.0 for VI domain.", "operationId": "getSystemRelease", "responses": { - "500": { - "description": "Internal Server Error", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/Release" } } } }, - "200": { - "description": "OK", + "404": { + "description": "Release Not Found", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Release" + "$ref": "#/components/schemas/Error" } } } }, - "404": { - "description": "Release Not Found", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -18729,22 +19011,22 @@ "description": "Get last selected upgrade version for WLDs. The api computes the VCF version for the target customizations.If the customization matches any of the VCF release payload, the target vcf version is updated.Domain VCF release calculations consider SDDC-M, BOM stack components (life cycle managed by LCM eg: Vcenter, Esx, Nsx) to compute Management domain VCF version, BOM stack components(life cycle managed by LCM) to compute VI domain VCF version respectively. Eg: Management domain component stack versions: [SDDC-M: 5.2.1.0, VC: 8.0U3, NSX:4.2.1.3, ESX: 8.0U3]. VCF version computed will be 5.2.1.0. VI domain component stack versions: [VC: 9.0.0.0, NSX: 9.0.0.0, ESX: 9.0.0.0]. VCF version computed is 9.0.0.0 for VI domain.", "operationId": "getReleaseByDomains", "responses": { - "500": { - "description": "Internal Server Error", + "200": { + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/PageOfDomainReleaseView" } } } }, - "200": { - "description": "Ok", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageOfDomainReleaseView" + "$ref": "#/components/schemas/Error" } } } @@ -18783,8 +19065,8 @@ } } }, - "500": { - "description": "Internal Server Error", + "404": { + "description": "Domain Not Found.", "content": { "application/json": { "schema": { @@ -18793,8 +19075,8 @@ } } }, - "404": { - "description": "Domain Not Found.", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -18856,8 +19138,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -18866,8 +19148,8 @@ } } }, - "400": { - "description": "Bad Request", + "404": { + "description": "Not Found", "content": { "application/json": { "schema": { @@ -18876,8 +19158,8 @@ } } }, - "404": { - "description": "Not Found", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -18919,28 +19201,28 @@ } ], "responses": { - "500": { - "description": "Internal Server Error", + "200": { + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/Validation" } } } }, - "200": { - "description": "Ok", + "404": { + "description": "Not Found", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Validation" + "$ref": "#/components/schemas/Error" } } } }, - "404": { - "description": "Not Found", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -18993,16 +19275,6 @@ } ], "responses": { - "422": { - "description": "Unprocessable Entity", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } - }, "200": { "description": "Ok", "content": { @@ -19033,6 +19305,16 @@ } } }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, "500": { "description": "InternalServerError", "content": { @@ -19159,12 +19441,12 @@ } ], "responses": { - "500": { - "description": "Internal Server Error", + "200": { + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/ProductVersionCatalogUploadTask" } } } @@ -19189,12 +19471,12 @@ } } }, - "200": { - "description": "Ok", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ProductVersionCatalogUploadTask" + "$ref": "#/components/schemas/Error" } } } @@ -19222,12 +19504,12 @@ } ], "responses": { - "500": { - "description": "Internal Server Error", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/Personality" } } } @@ -19242,12 +19524,12 @@ } } }, - "200": { - "description": "OK", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Personality" + "$ref": "#/components/schemas/Error" } } } @@ -19490,6 +19772,16 @@ "type": "boolean", "default": false } + }, + { + "name": "vlanBackedVpc", + "in": "query", + "description": "When true, only VPC connectivity profiles valid for VLAN-backed VPC (TEP-less) Supervisor enablement are returned: private TGW IP blocks must be empty and default (auto) SNAT must be disabled. When false or omitted, TEP-based rules apply. Effective only when isCompatibleWithSupervisor is true.", + "required": false, + "schema": { + "type": "boolean", + "default": false + } } ], "responses": { @@ -19549,6 +19841,16 @@ "schema": { "type": "boolean" } + }, + { + "name": "vlanBackedVpc", + "in": "query", + "description": "When true, VLAN-backed VPC (TEP-less) Supervisor rules apply to supervisor_incompatibility_reasons (private TGW IP blocks must be empty; default SNAT must be disabled). Effective only when supervisorCompatCheck is true.", + "required": false, + "schema": { + "type": "boolean", + "default": false + } } ], "responses": { @@ -20015,22 +20317,22 @@ } ], "responses": { - "404": { - "description": "ALB Cluster not found", + "200": { + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/NsxALBCluster" } } } }, - "200": { - "description": "Ok", + "404": { + "description": "ALB Cluster not found", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/NsxALBCluster" + "$ref": "#/components/schemas/Error" } } } @@ -20197,22 +20499,22 @@ } ], "responses": { - "404": { - "description": "Network pool not found", + "200": { + "description": "Networks for referenced network pool", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/PageOfNetwork" } } } }, - "200": { - "description": "Networks for referenced network pool", + "404": { + "description": "Network pool not found", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageOfNetwork" + "$ref": "#/components/schemas/Error" } } } @@ -20269,8 +20571,8 @@ } } }, - "500": { - "description": "Unexpected error", + "404": { + "description": "Networkpool not found", "content": { "application/json": { "schema": { @@ -20279,8 +20581,8 @@ } } }, - "404": { - "description": "Networkpool not found", + "500": { + "description": "Unexpected error", "content": { "application/json": { "schema": { @@ -20453,18 +20755,18 @@ } ], "responses": { - "404": { - "description": "License key not found", + "200": { + "description": "Successful", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/LicenseKey" } } } }, - "500": { - "description": "Internal server error", + "404": { + "description": "License key not found", "content": { "application/json": { "schema": { @@ -20473,12 +20775,12 @@ } } }, - "200": { - "description": "Successful", + "500": { + "description": "Internal server error", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/LicenseKey" + "$ref": "#/components/schemas/Error" } } } @@ -20507,6 +20809,10 @@ "204": { "description": "No content" }, + "404": { + "description": "License key not found", + "x-vmw-compiler-skip": true + }, "500": { "description": "Internal server error", "content": { @@ -20516,10 +20822,6 @@ } } } - }, - "404": { - "description": "License key not found", - "x-vmw-compiler-skip": true } } } @@ -20532,25 +20834,25 @@ "summary": "Get product types", "operationId": "getLicenseProductTypes", "responses": { - "500": { - "description": "Internal server error", + "200": { + "description": "Successful", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "type": "array", + "items": { + "$ref": "#/components/schemas/ProductTypeInfo" + } } } } }, - "200": { - "description": "Successful", + "500": { + "description": "Internal server error", "content": { "application/json": { "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ProductTypeInfo" - } + "$ref": "#/components/schemas/Error" } } } @@ -20567,28 +20869,28 @@ "description": "Get the SDDC Manager WS1B OIDC Information", "operationId": "getSddcWs1bOidcInfo", "responses": { - "400": { - "description": "Bad Request", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ErrorResponse" + "$ref": "#/components/schemas/SDDCManagerOidcInfo" } } } }, - "200": { - "description": "OK", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SDDCManagerOidcInfo" + "$ref": "#/components/schemas/ErrorResponse" } } } }, - "500": { - "description": "Internal Server Error", + "401": { + "description": "Unauthorized Request", "content": { "application/json": { "schema": { @@ -20597,8 +20899,8 @@ } } }, - "401": { - "description": "Unauthorized Request", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -21040,28 +21342,28 @@ } ], "responses": { - "500": { - "description": "Internal Server Error", + "200": { + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/HostsPrechecksResponse" } } } }, - "200": { - "description": "Ok", + "404": { + "description": "Resource Not Found", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/HostsPrechecksResponse" + "$ref": "#/components/schemas/Error" } } } }, - "404": { - "description": "Resource Not Found", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -21154,22 +21456,22 @@ } ], "responses": { - "404": { - "description": "Resource Not Found", + "200": { + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/PageOfEdgeClusterNsxtEntityCriterion" } } } }, - "200": { - "description": "Ok", + "404": { + "description": "Resource Not Found", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageOfEdgeClusterNsxtEntityCriterion" + "$ref": "#/components/schemas/Error" } } } @@ -21656,22 +21958,22 @@ } ], "responses": { - "500": { - "description": "Internal Server Error", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/ComplianceAudit" } } } }, - "200": { - "description": "OK", + "401": { + "description": "Unauthorized Request", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ComplianceAudit" + "$ref": "#/components/schemas/Error" } } } @@ -21686,8 +21988,8 @@ } } }, - "401": { - "description": "Unauthorized Request", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -21728,22 +22030,22 @@ } ], "responses": { - "500": { - "description": "Internal Server Error", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/PageOfComplianceAuditItem" } } } }, - "200": { - "description": "OK", + "401": { + "description": "Unauthorized Request", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageOfComplianceAuditItem" + "$ref": "#/components/schemas/Error" } } } @@ -21758,8 +22060,8 @@ } } }, - "401": { - "description": "Unauthorized Request", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -21810,8 +22112,8 @@ } } }, - "500": { - "description": "InternalServerError", + "404": { + "description": "Domain not found", "content": { "application/json": { "schema": { @@ -21820,8 +22122,8 @@ } } }, - "404": { - "description": "Domain not found", + "500": { + "description": "InternalServerError", "content": { "application/json": { "schema": { @@ -21867,28 +22169,28 @@ } ], "responses": { - "500": { - "description": "Internal Server Error", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/BrownfieldTask" } } } }, - "200": { - "description": "OK", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/BrownfieldTask" + "$ref": "#/components/schemas/Error" } } } }, - "400": { - "description": "Bad Request", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -22179,8 +22481,8 @@ } } }, - "500": { - "description": "InternalServerError", + "404": { + "description": "Domain Not Found", "content": { "application/json": { "schema": { @@ -22189,8 +22491,8 @@ } } }, - "404": { - "description": "Domain Not Found", + "500": { + "description": "InternalServerError", "content": { "application/json": { "schema": { @@ -22250,8 +22552,8 @@ } } }, - "500": { - "description": "InternalServerError", + "404": { + "description": "Domain Not Found", "content": { "application/json": { "schema": { @@ -22260,8 +22562,8 @@ } } }, - "404": { - "description": "Domain Not Found", + "500": { + "description": "InternalServerError", "content": { "application/json": { "schema": { @@ -22778,18 +23080,18 @@ } ], "responses": { - "400": { - "description": "Bad Request", + "200": { + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/DomainsWithCapabilities" } } } }, - "500": { - "description": "InternalServerError", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -22798,12 +23100,12 @@ } } }, - "200": { - "description": "Ok", + "500": { + "description": "InternalServerError", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/DomainsWithCapabilities" + "$ref": "#/components/schemas/Error" } } } @@ -22851,8 +23153,8 @@ } } }, - "404": { - "description": "Not Found", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -22871,8 +23173,8 @@ } } }, - "500": { - "description": "InternalServerError", + "404": { + "description": "Not Found", "content": { "application/json": { "schema": { @@ -22881,8 +23183,8 @@ } } }, - "401": { - "description": "Unauthorized", + "500": { + "description": "InternalServerError", "content": { "application/json": { "schema": { @@ -22915,18 +23217,18 @@ } ], "responses": { - "400": { - "description": "Bad Request", + "200": { + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/PageOfCredentialsTask" } } } }, - "500": { - "description": "InternalServerError", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -22935,12 +23237,12 @@ } } }, - "200": { - "description": "Ok", + "500": { + "description": "InternalServerError", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageOfCredentialsTask" + "$ref": "#/components/schemas/Error" } } } @@ -22977,18 +23279,18 @@ } ], "responses": { - "400": { - "description": "Bad Request", + "200": { + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/CredentialsTask" } } } }, - "500": { - "description": "InternalServerError", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -22997,12 +23299,12 @@ } } }, - "200": { - "description": "Ok", + "500": { + "description": "InternalServerError", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CredentialsTask" + "$ref": "#/components/schemas/Error" } } } @@ -23086,18 +23388,18 @@ } ], "responses": { - "400": { - "description": "Bad Request", + "200": { + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/CredentialsExpiration" } } } }, - "404": { - "description": "Not Found", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -23106,8 +23408,8 @@ } } }, - "500": { - "description": "InternalServerError", + "404": { + "description": "Not Found", "content": { "application/json": { "schema": { @@ -23116,12 +23418,12 @@ } } }, - "200": { - "description": "Ok", + "500": { + "description": "InternalServerError", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CredentialsExpiration" + "$ref": "#/components/schemas/Error" } } } @@ -23203,22 +23505,22 @@ } ], "responses": { - "500": { - "description": "Internal Server Error", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/PageOfConfigDriftSpec" } } } }, - "200": { - "description": "OK", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageOfConfigDriftSpec" + "$ref": "#/components/schemas/Error" } } } @@ -23256,22 +23558,22 @@ } ], "responses": { - "500": { - "description": "Internal Server Error", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/Task" } } } }, - "200": { - "description": "OK", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Task" + "$ref": "#/components/schemas/Error" } } } @@ -23286,8 +23588,8 @@ } } }, - "400": { - "description": "Bad Request", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -23308,28 +23610,28 @@ "description": "Get a list of all compliance standards", "operationId": "getComplianceStandards", "responses": { - "500": { - "description": "Internal Server Error", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/PageOfComplianceStandard" } } } }, - "200": { - "description": "OK", + "401": { + "description": "Unauthorized Request", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageOfComplianceStandard" + "$ref": "#/components/schemas/Error" } } } }, - "401": { - "description": "Unauthorized Request", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -23398,8 +23700,8 @@ } } }, - "500": { - "description": "Internal Server Error", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -23408,8 +23710,8 @@ } } }, - "400": { - "description": "Bad Request", + "401": { + "description": "Unauthorized Request", "content": { "application/json": { "schema": { @@ -23418,8 +23720,8 @@ } } }, - "401": { - "description": "Unauthorized Request", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -23440,22 +23742,22 @@ "description": "Get compliance audit history", "operationId": "getComplianceAuditHistory", "responses": { - "500": { - "description": "Internal Server Error", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/PageOfComplianceAudit" } } } }, - "200": { - "description": "OK", + "401": { + "description": "Unauthorized Request", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageOfComplianceAudit" + "$ref": "#/components/schemas/Error" } } } @@ -23470,8 +23772,8 @@ } } }, - "401": { - "description": "Unauthorized Request", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -23503,22 +23805,22 @@ } ], "responses": { - "500": { - "description": "Internal Server Error", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/ComplianceAudit" } } } }, - "200": { - "description": "OK", + "401": { + "description": "Unauthorized Request", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ComplianceAudit" + "$ref": "#/components/schemas/Error" } } } @@ -23533,8 +23835,8 @@ } } }, - "401": { - "description": "Unauthorized Request", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -23566,22 +23868,22 @@ } ], "responses": { - "500": { - "description": "Internal Server Error", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/PageOfComplianceAuditItem" } } } }, - "200": { - "description": "OK", + "401": { + "description": "Unauthorized Request", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageOfComplianceAuditItem" + "$ref": "#/components/schemas/Error" } } } @@ -23596,8 +23898,8 @@ } } }, - "401": { - "description": "Unauthorized Request", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -23629,12 +23931,12 @@ } ], "responses": { - "500": { - "description": "Internal Server Error", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/CompatibilityMatrix" } } } @@ -23659,12 +23961,12 @@ } } }, - "200": { - "description": "OK", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CompatibilityMatrix" + "$ref": "#/components/schemas/Error" } } } @@ -23692,12 +23994,12 @@ } ], "responses": { - "500": { - "description": "Internal Server Error", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/CompatibilityMatrixMetadata" } } } @@ -23722,12 +24024,12 @@ } } }, - "200": { - "description": "OK", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CompatibilityMatrixMetadata" + "$ref": "#/components/schemas/Error" } } } @@ -23755,12 +24057,12 @@ } ], "responses": { - "500": { - "description": "Internal Server Error", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "type": "string" } } } @@ -23785,12 +24087,12 @@ } } }, - "200": { - "description": "OK", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { - "type": "string" + "$ref": "#/components/schemas/Error" } } } @@ -24807,12 +25109,12 @@ } ], "responses": { - "500": { - "description": "Internal Server Error", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/PageOfBundleDownloadStatusInfo" } } } @@ -24827,12 +25129,12 @@ } } }, - "200": { - "description": "OK", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageOfBundleDownloadStatusInfo" + "$ref": "#/components/schemas/Error" } } } @@ -24869,28 +25171,28 @@ } ], "responses": { - "500": { - "description": "Internal Server Error", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/PageOfBundle" } } } }, - "200": { - "description": "OK", + "404": { + "description": "Domain Not Found", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageOfBundle" + "$ref": "#/components/schemas/Error" } } } }, - "404": { - "description": "Domain Not Found", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -24921,22 +25223,22 @@ } ], "responses": { - "404": { - "description": "ALB Cluster not found", + "200": { + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/NsxALBCluster" } } } }, - "200": { - "description": "Ok", + "404": { + "description": "ALB Cluster not found", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/NsxALBCluster" + "$ref": "#/components/schemas/Error" } } } @@ -24981,22 +25283,22 @@ } ], "responses": { - "404": { - "description": "ALB Cluster not found", + "202": { + "description": "Accepted", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/Task" } } } }, - "202": { - "description": "Accepted", + "404": { + "description": "ALB Cluster not found", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Task" + "$ref": "#/components/schemas/Error" } } } @@ -25133,8 +25435,8 @@ "204": { "description": "No content" }, - "500": { - "description": "Internal server error", + "404": { + "description": "User not found", "content": { "application/json": { "schema": { @@ -25143,8 +25445,8 @@ } } }, - "404": { - "description": "User not found", + "500": { + "description": "Internal server error", "content": { "application/json": { "schema": { @@ -25182,6 +25484,59 @@ } } }, + "/v1/tasks/history": { + "delete": { + "tags": [ + "Tasks" + ], + "summary": "Delete Task History", + "description": "Delete the history of one or more tasks by ID. Only tasks in a terminal/immutable state (completed successfully or failed non-retriable) can be deleted. Each task is processed independently; the response reports per-task success and failure.", + "operationId": "deleteTaskHistories", + "requestBody": { + "description": "List of task IDs whose history should be deleted", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskHistoryDeletionRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation completed. Check 'successful' and 'failed' lists in the response for per-task results.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskHistoryDeletionResult" + } + } + } + }, + "400": { + "description": "Invalid request body (e.g. empty taskIds list).", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "500": { + "description": "Unexpected error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + } + } + }, "/v1/system/settings/version-aliases/{bundleComponentType}": { "delete": { "tags": [ @@ -25202,6 +25557,9 @@ } ], "responses": { + "204": { + "description": "No COntent" + }, "400": { "description": "Bad Request", "content": { @@ -25212,9 +25570,6 @@ } } }, - "204": { - "description": "No COntent" - }, "500": { "description": "InternalServerError", "content": { @@ -25317,8 +25672,8 @@ } } }, - "400": { - "description": "Bad Request", + "404": { + "description": "Domain or HCX Manager Not Found", "content": { "application/json": { "schema": { @@ -25327,8 +25682,8 @@ } } }, - "500": { - "description": "InternalServerError", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -25337,8 +25692,8 @@ } } }, - "404": { - "description": "Domain or HCX Manager Not Found", + "500": { + "description": "InternalServerError", "content": { "application/json": { "schema": { @@ -25458,6 +25813,7 @@ "type": "object", "properties": { "bundleComponentType": { + "minLength": 1, "type": "string", "description": "Bundle Component Type", "readOnly": true, @@ -25495,6 +25851,52 @@ }, "description": "Version Alias Configuration Specification" }, + "PageMetadata": { + "type": "object", + "properties": { + "pageNumber": { + "type": "integer", + "description": "Returns the current page number", + "format": "int32", + "readOnly": true + }, + "pageSize": { + "type": "integer", + "description": "Returns the number of elements in the current page", + "format": "int32", + "readOnly": true + }, + "totalElements": { + "type": "integer", + "description": "Returns the total number of elements", + "format": "int32", + "readOnly": true + }, + "totalPages": { + "type": "integer", + "description": "Returns the total number of pages", + "format": "int32", + "readOnly": true + } + }, + "description": "Represents pageable elements pagination metadata", + "readOnly": true + }, + "PageOfVersionAliasesForBundleComponentType": { + "type": "object", + "properties": { + "elements": { + "type": "array", + "description": "The list of elements included in this page", + "items": { + "$ref": "#/components/schemas/VersionAliasesForBundleComponentType" + } + }, + "pageMetadata": { + "$ref": "#/components/schemas/PageMetadata" + } + } + }, "Error": { "type": "object", "properties": { @@ -25647,52 +26049,6 @@ "description": "Represents the detailed result of the precheck validation.", "readOnly": true }, - "PageMetadata": { - "type": "object", - "properties": { - "pageNumber": { - "type": "integer", - "description": "Returns the current page number", - "format": "int32", - "readOnly": true - }, - "pageSize": { - "type": "integer", - "description": "Returns the number of elements in the current page", - "format": "int32", - "readOnly": true - }, - "totalElements": { - "type": "integer", - "description": "Returns the total number of elements", - "format": "int32", - "readOnly": true - }, - "totalPages": { - "type": "integer", - "description": "Returns the total number of pages", - "format": "int32", - "readOnly": true - } - }, - "description": "Represents pageable elements pagination metadata", - "readOnly": true - }, - "PageOfVersionAliasesForBundleComponentType": { - "type": "object", - "properties": { - "elements": { - "type": "array", - "description": "The list of elements included in this page", - "items": { - "$ref": "#/components/schemas/VersionAliasesForBundleComponentType" - } - }, - "pageMetadata": { - "$ref": "#/components/schemas/PageMetadata" - } - } - }, "AliasSpec": { "required": [ "aliases" @@ -25761,6 +26117,8 @@ "description": "IP/Hostname of the depot" }, "port": { + "maximum": 9223372036854775807, + "minimum": 0, "type": "integer", "description": "Port of the depot", "format": "int32" @@ -25771,6 +26129,14 @@ "pattern": "^(https?://[^\\s]+)$", "type": "string", "description": "Depot URL (Currently used only for VCF offline depot). Supports HTTP no-auth for unauthenticated offline depot access." + }, + "trustedCertificates": { + "type": "array", + "description": "Trusted certificate chain for the HTTPs offline depot", + "items": { + "type": "string", + "description": "Trusted certificate chain for the HTTPs offline depot" + } } }, "description": "Depot Configuration" @@ -25797,6 +26163,7 @@ "type": "object", "properties": { "ntpServers": { + "minItems": 1, "type": "array", "description": "List of NTP servers", "items": { @@ -25813,6 +26180,7 @@ "type": "object", "properties": { "ipAddress": { + "minLength": 1, "type": "string", "description": "IPv4 address/FQDN of NTP server", "example": "10.0.0.250" @@ -25922,16 +26290,19 @@ "type": "object", "properties": { "name": { + "minLength": 1, "type": "string", "description": "Stage name", "readOnly": true }, "type": { + "minLength": 1, "type": "string", "description": "Stage type", "readOnly": true }, "description": { + "minLength": 1, "type": "string", "description": "Stage description", "readOnly": true @@ -25972,16 +26343,19 @@ "type": "object", "properties": { "name": { + "minLength": 1, "type": "string", "description": "Sub-task name", "readOnly": true }, "type": { + "minLength": 1, "type": "string", "description": "Sub-task type", "readOnly": true }, "description": { + "minLength": 1, "type": "string", "description": "Sub-task description", "readOnly": true @@ -26051,11 +26425,13 @@ "type": "object", "properties": { "id": { + "minLength": 1, "type": "string", "description": "Task ID", "readOnly": true }, "name": { + "minLength": 1, "type": "string", "description": "Task name", "readOnly": true @@ -26070,6 +26446,7 @@ "example": "Sample values: HOST_COMMISSION, HOST_DECOMMISSION" }, "status": { + "minLength": 1, "type": "string", "description": "Task status", "readOnly": true, @@ -26135,6 +26512,7 @@ "type": "object", "properties": { "dnsServers": { + "minItems": 1, "type": "array", "description": "List of DNS servers. A maximum of 2 DNS servers are allowed", "items": { @@ -26152,6 +26530,7 @@ "type": "object", "properties": { "ipAddress": { + "minLength": 1, "type": "string", "description": "IP address/FQDN of DNS server", "example": "10.0.0.250" @@ -26270,6 +26649,7 @@ "type": "object", "properties": { "resourceType": { + "minLength": 1, "type": "string", "description": "Resource type to configure backup schedule", "example": "SDDC_MANAGER" @@ -26280,6 +26660,7 @@ "example": true }, "frequency": { + "minLength": 1, "type": "string", "description": "Backup frequency", "example": "One among: WEEKLY, HOURLY" @@ -26340,15 +26721,18 @@ "type": "object", "properties": { "name": { + "minLength": 1, "type": "string", "description": "External service name" }, "type": { + "minLength": 1, "type": "string", "description": "External service type", "example": "One among: VCF_DEPOT" }, "key": { + "minLength": 1, "type": "string", "description": "External service key, identifier for the service unique across the fleet" }, @@ -26357,6 +26741,7 @@ "description": "External service version" }, "nodes": { + "minItems": 1, "type": "array", "description": "List of nodes belonging to the same external service", "items": { @@ -26374,10 +26759,12 @@ "type": "object", "properties": { "name": { + "minLength": 1, "type": "string", "description": "Service node name" }, "addresses": { + "minItems": 1, "type": "array", "description": "Service node addresses", "items": { @@ -26411,11 +26798,13 @@ "type": "object", "properties": { "type": { + "minLength": 1, "type": "string", "description": "Service node address type", "example": "One among: fqdn, ipv4, ipv6" }, "value": { + "minLength": 1, "type": "string", "description": "Service node address value" } @@ -26429,6 +26818,7 @@ "type": "object", "properties": { "services": { + "minItems": 1, "type": "array", "description": "External services configurations", "items": { @@ -26445,6 +26835,7 @@ "type": "object", "properties": { "resourceLicensingInfos": { + "minItems": 1, "type": "array", "description": "List of LicensingInfos of resources", "items": { @@ -26498,6 +26889,7 @@ "type": "object", "properties": { "domainId": { + "minLength": 1, "type": "string", "description": "Domain Identifier", "example": "f0bf0f65-f719-4c2d-980a-29a9094045b5" @@ -26595,7 +26987,8 @@ "example": "-----BEGIN CERTIFICATE-----\nMIIFq...\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIFq...\n-----END CERTIFICATE-----" } }, - "description": "This specification contains resource certificate details. Either resourceId or resourceFqdn should be provided. Either certificateChain or both resourceCertificate and caCertificate should be provided." + "description": "This specification contains resource certificate details. Either resourceId or resourceFqdn should be provided. Either certificateChain or both resourceCertificate and caCertificate should be provided.", + "example": "{\"resourceFqdn\": \"sfo-vc01.rainpole.io\", \"certificateChain\": \"-----BEGIN CERTIFICATE-----\\nMIIFq...\\n-----END CERTIFICATE-----\\n-----BEGIN CERTIFICATE-----\\nMIIFq...\\n-----END CERTIFICATE-----\"}\\n,{\"resourceId\": \"BE8A5E04-92A0-43F6-A166-AA041F4327CC\", \"resourceCertificate\": \"-----BEGIN CERTIFICATE-----\\nMIIFq...\\n-----END CERTIFICATE-----\", \"caCertificate\": \"-----BEGIN CERTIFICATE-----\\nMIIFq...\\n-----END CERTIFICATE-----\"}" }, "CertificateValidation": { "required": [ @@ -26690,26 +27083,31 @@ "type": "object", "properties": { "country": { + "minLength": 1, "type": "string", "description": "ISO 3166 country code where company is legally registered", "example": "IN" }, "state": { + "minLength": 1, "type": "string", "description": "The full name of the state where company is legally registered", "example": "Karnataka" }, "locality": { + "minLength": 1, "type": "string", "description": "The city or locality where company is legally registered", "example": "Bengaluru" }, "organization": { + "minLength": 1, "type": "string", "description": "The name under which company is legally registered", "example": "VMware Inc." }, "organizationUnit": { + "minLength": 1, "type": "string", "description": "Organization with which the certificate is associated", "example": "VCF" @@ -26717,14 +27115,17 @@ "email": { "type": "string", "description": "Contact email address", + "format": "email", "example": "admin@vmware.com" }, "keySize": { + "minLength": 1, "type": "string", "description": "Certificate public key size", "example": "One among: 2048, 3072, 4096" }, "keyAlgorithm": { + "minLength": 1, "type": "string", "description": "The public key algorithm of the certificate", "example": "One among: RSA" @@ -26758,6 +27159,7 @@ "type": "object", "properties": { "caType": { + "minLength": 1, "type": "string", "description": "CA type. Only supports Microsoft and OpenSSL CAs", "example": "One among: OpenSSL, Microsoft, VMCA" @@ -26800,21 +27202,25 @@ "type": "object", "properties": { "username": { + "minLength": 1, "type": "string", "description": "CA server username", "example": "Administrator" }, "secret": { + "minLength": 1, "type": "string", "description": "CA server password", "example": "********" }, "serverUrl": { + "minLength": 1, "type": "string", "description": "CA server url", "example": "https://sfo-ad.rainpole.io/certsrv" }, "templateName": { + "minLength": 1, "type": "string", "description": "CA server template name", "example": "WebServer" @@ -27035,6 +27441,7 @@ "type": "object", "properties": { "hostname": { + "minLength": 1, "type": "string", "description": "Host name", "example": "license-server.rainpole.io" @@ -27099,8 +27506,10 @@ "type": "object", "properties": { "platformFqdn": { + "minLength": 1, + "pattern": "^$|^[a-zA-Z0-9]([-a-zA-Z0-9]{0,61}[a-zA-Z0-9])?(?:\\..*)?$", "type": "string", - "description": "VSP cluster primary FQDN.", + "description": "VSP cluster primary FQDN. Short hostname part of the FQDN must be maximum 63 characters in length and may contain alphanumeric characters and dashes.", "example": "vsp-cluster.rainpole.io" }, "systemUserPassword": { @@ -27118,18 +27527,18 @@ }, "size": { "type": "string", - "description": "Size of VSP cluster. One among: small, medium, large", - "example": "Small" + "description": "Size of VSP cluster. One among: small, small_ha, medium, large (small_ha is for management VSP cluster only and cannot be used for consumption VSP cluster (VCF Automation)).", + "example": "small" }, "internalClusterCidrIpv4": { "type": "string", - "description": "Internal Cluster CIDR for IPv4. The set of addresses must be completely unique and not in use anywhere in your entire environment.", + "description": "Internal Cluster CIDR for IPv4. The set of addresses must be completely unique and not in use anywhere in your entire environment. Supported values: 198.18.0.0/15, 240.0.0.0/15, 250.0.0.0/15.", "example": "198.18.0.0/15", "default": "198.18.0.0/15" }, "internalClusterCidrIpv6": { "type": "string", - "description": "Internal Cluster CIDR for IPv6. The set of addresses must be completely unique and not in use anywhere in your entire environment.", + "description": "Internal Cluster CIDR for IPv6. The set of addresses must be completely unique and not in use anywhere in your entire environment. Supported values: fd00::/111, fd00::0/111, fc00::/111, fc00::0/111, fc00::4:0/111, fc00::0004:0/111.", "example": "fd00::/111", "default": "fd00::/111" }, @@ -27186,13 +27595,15 @@ "type": "object", "properties": { "hostname": { + "minLength": 1, "type": "string", "description": "Host name", "example": "vcfautomation.rainpole.io" }, "platformFqdn": { + "pattern": "^$|^[a-zA-Z0-9]([-a-zA-Z0-9]{0,61}[a-zA-Z0-9])?(?:\\..*)?$", "type": "string", - "description": "FQDN of the VSP platform (required when useExistingDeployment is not 'true')", + "description": "FQDN of the VSP platform (required when useExistingDeployment is not 'true'). Short hostname part of the FQDN must be maximum 63 characters in length and may contain alphanumeric characters and dashes.", "example": "vsp-platform.rainpole.io" }, "adminUserPassword": { @@ -27268,6 +27679,7 @@ "type": "object", "properties": { "networkName": { + "minLength": 1, "type": "string", "description": "Name of the network to be used for deployment" }, @@ -27290,6 +27702,8 @@ "description": "Gateway for IPv6 network" }, "ipv6Prefix": { + "maximum": 9223372036854775807, + "minimum": 0, "type": "integer", "description": "Prefix for IPv6 network", "format": "int32" @@ -27371,6 +27785,7 @@ "type": "object", "properties": { "hostname": { + "minLength": 1, "type": "string", "description": "Host name", "example": "vcf-operations-collector.rainpole.io" @@ -27412,6 +27827,7 @@ "type": "object", "properties": { "hostname": { + "minLength": 1, "type": "string", "description": "Host name", "example": "vcfoperations-master.rainpole.io" @@ -27459,7 +27875,7 @@ "applianceSize": { "pattern": "(xsmall|small|medium|large|xlarge)", "type": "string", - "description": "VCF Operations appliance size. One among: xsmall, small, medium, large, xlarge for Simple deployment model and one among: medium, large, xlarge for High Availability. Default value if not provided is medium for both deployment models.", + "description": "VCF Operations appliance size. One among: xsmall, small, medium, large, xlarge for Simple deployment model and one among: small, medium, large, xlarge for High Availability. Default value if not provided is medium for both deployment models.", "example": "medium" }, "loadBalancerFqdn": { @@ -27487,6 +27903,7 @@ "type": "object", "properties": { "hostname": { + "minLength": 1, "type": "string", "description": "VIDB hostname.", "example": "vidb.vcf.local" @@ -27778,6 +28195,54 @@ }, "description": "VCF Operations product (i.e. VIDB, VCF LCM, etc.) information." }, + "ManagementVcenterNetworkDiscoverySpec": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Filter by: network name. Optional." + }, + "size": { + "type": "integer", + "description": "Size of the page to retrieve.", + "format": "int32" + }, + "page": { + "type": "integer", + "description": "Page number to retrieve.", + "format": "int32" + } + }, + "description": "Specification for querying networks of the management domain vCenter. Credentials are looked up internally from the SDDC Manager credential store." + }, + "PageOfVcenterNetworkInfo": { + "type": "object", + "properties": { + "elements": { + "type": "array", + "description": "The list of elements included in this page", + "items": { + "$ref": "#/components/schemas/VcenterNetworkInfo" + } + }, + "pageMetadata": { + "$ref": "#/components/schemas/PageMetadata" + } + } + }, + "VcenterNetworkInfo": { + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Network name." + } + }, + "description": "Details of a network." + }, "Validation": { "required": [ "description", @@ -27793,6 +28258,7 @@ "readOnly": true }, "description": { + "minLength": 1, "type": "string", "description": "Description of the validation", "readOnly": true @@ -27833,6 +28299,7 @@ "type": "object", "properties": { "description": { + "minLength": 1, "type": "string", "description": "Description of the validation check", "readOnly": true @@ -28343,11 +28810,13 @@ "type": "object", "properties": { "vCenterImageId": { + "minLength": 1, "type": "string", "description": "Repository image ID", "readOnly": true }, "vCenterId": { + "minLength": 1, "type": "string", "description": "vCenter ID", "readOnly": true @@ -28577,10 +29046,12 @@ "readOnly": true }, "name": { + "minLength": 1, "type": "string", "description": "Name of the storage container" }, "protocolType": { + "minLength": 1, "type": "string", "description": "Storage protocol type", "example": "One among: ISCSI, FC, NFS" @@ -28608,14 +29079,17 @@ "readOnly": true }, "name": { + "minLength": 1, "type": "string", "description": "Name of the VASA Provider" }, "url": { + "minLength": 1, "type": "string", "description": "URL of the VASA Provider" }, "storageContainers": { + "minItems": 1, "type": "array", "description": "List of storage containers associated with the VASA Provider", "items": { @@ -28623,6 +29097,7 @@ } }, "users": { + "minItems": 1, "type": "array", "description": "List of users associated with the VASA Provider", "items": { @@ -28645,10 +29120,12 @@ "readOnly": true }, "username": { + "minLength": 1, "type": "string", "description": "VASA User name" }, "password": { + "minLength": 1, "type": "string", "description": "Password" } @@ -28785,6 +29262,8 @@ "type": "object", "properties": { "id": { + "minLength": 1, + "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "description": "Custom ISO Id for VUM Clusters Upgrade" } @@ -28863,6 +29342,10 @@ "type": "boolean", "description": "Flag to skip caching of reserved VIBs on the host. During effective VIB computation, a VIB at a lower version can get replaced by the same VIB at a higher version coming from another release unit. vLCM caches the lower version VIB in ESX-OSData partition to support extraction of currently running image from the hosts. Setting this option means (a) remediation will not cache reserved VIBs, (b) extracting the currently running image from such hosts will not include the reserved VIBs. Hence, the image will not be complete and that might lead to remediation failures. NOTE: Use this option with caution." }, + "silenceVsanHclDuringUpgrade": { + "type": "boolean", + "description": "When true, vSAN HCL health checks are silenced before upgrade and unsilenced after. When not set, defaults to true (vSAN HCL alarms will be silenced). Applies to vSAN-enabled ESX clusters during upgrades." + }, "enableQuickboot": { "type": "boolean", "description": "Flag for requesting Quick Boot" @@ -28895,6 +29378,7 @@ "type": "object", "properties": { "name": { + "minLength": 1, "type": "string", "description": "Hardware Support Manager name" }, @@ -28929,6 +29413,7 @@ "type": "object", "properties": { "hostClusterId": { + "minLength": 1, "type": "string", "description": "NSX upgradable resource ID of the host cluster" }, @@ -29004,10 +29489,12 @@ "type": "object", "properties": { "name": { + "minLength": 1, "type": "string", "description": "Package name" }, "version": { + "minLength": 1, "type": "string", "description": "Package version" } @@ -29071,6 +29558,7 @@ "type": "object", "properties": { "resourceId": { + "minLength": 1, "type": "string", "description": "Resource ID for Upgrade" }, @@ -29138,14 +29626,17 @@ "example": "One among: STATIC, AUTOMATIC" }, "ipAddress": { + "minLength": 1, "type": "string", "description": "IP Address for vCenter Upgrade temporary network" }, "subnetMask": { + "minLength": 1, "type": "string", "description": "Subnet Mask for vCenter Upgrade temporary network" }, "gateway": { + "minLength": 1, "type": "string", "description": "Gateway for vCenter Upgrade temporary network" } @@ -29165,6 +29656,7 @@ "description": "Bundle ID for Upgrade" }, "resourceType": { + "minLength": 1, "type": "string", "description": "Resource Type for Upgrade", "example": "One among: DOMAIN, CLUSTER, UNASSIGNED_HOST" @@ -29178,6 +29670,7 @@ "description": "Boolean to represent upgrade will be created in DRAFT mode. This allows to run prechecks before user confirm/commit the upgrade." }, "resourceUpgradeSpecs": { + "minItems": 1, "type": "array", "description": "Resource Upgrade Specifications", "items": { @@ -29767,14 +30260,17 @@ "type": "object", "properties": { "resourceName": { + "minLength": 1, "type": "string", "description": "Name of the resource" }, "resourceId": { + "minLength": 1, "type": "string", "description": "Id of the resource" }, "resourceType": { + "minLength": 1, "type": "string", "description": "Type of the resource" }, @@ -29782,6 +30278,7 @@ "$ref": "#/components/schemas/DomainInfo" }, "checkSets": { + "minItems": 1, "type": "array", "description": "Information about the selected check-set candidates", "items": { @@ -29799,10 +30296,12 @@ "type": "object", "properties": { "queryId": { + "minLength": 1, "type": "string", "description": "Id of the query the selection was based on" }, "resources": { + "minItems": 1, "type": "array", "description": "Information about the resource and its selection", "items": { @@ -29844,6 +30343,7 @@ "type": "object", "properties": { "checkSetId": { + "minLength": 1, "type": "string", "description": "Id of the selected check-set" }, @@ -29921,6 +30421,7 @@ "type": "object", "properties": { "domainId": { + "minLength": 1, "type": "string", "description": "Id of the domain to search for resources in" }, @@ -29942,11 +30443,13 @@ "type": "object", "properties": { "checkSetType": { + "minLength": 1, "type": "string", "description": "Type of the check sets to query for. e.g. 'UPGRADE'", "example": "UPGRADE" }, "domains": { + "minItems": 1, "type": "array", "description": "List of domain resources to query check-sets of the given type for", "items": { @@ -30086,6 +30589,7 @@ "type": "object", "properties": { "vcenterIds": { + "minItems": 1, "type": "array", "items": { "type": "string" @@ -30108,6 +30612,7 @@ "readOnly": true }, "description": { + "minLength": 1, "type": "string", "description": "Description of the services config propagation operation", "readOnly": true @@ -30139,6 +30644,7 @@ "description": "Name for a domain to import. If not passed, it will be auto-generated with the following format: 'domain-'" }, "vcenterAddress": { + "minLength": 1, "type": "string", "description": "vCenter FQDN" }, @@ -30147,11 +30653,13 @@ "description": "vCenter SSL thumbprint" }, "vcenterSsoUsername": { + "minLength": 1, "type": "string", "description": "vCenter SSO username", "example": "administrator@vsphere.local" }, "vcenterSsoPassword": { + "minLength": 1, "type": "string", "description": "vCenter SSO password", "readOnly": true @@ -30206,16 +30714,20 @@ "type": "object", "properties": { "vlan": { + "maximum": 9223372036854775807, + "minimum": 0, "type": "integer", "description": "VLAN for Distributed Transit Gateway", "format": "int64" }, "gatewayCidr": { + "minLength": 1, "pattern": "^([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\/(([0-9])|([12][0-9])|(3[0-2]))$", "type": "string", "description": "Gateway CIDR for Distributed Transit Gateway" }, "externalIpBlockCidr": { + "minLength": 1, "pattern": "^([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\/(([0-9])|([12][0-9])|(3[0-2]))$", "type": "string", "description": "External IP Block CIDR for VPCs, required for external connectivity via DTGW" @@ -30236,11 +30748,13 @@ "type": "object", "properties": { "start": { + "minLength": 1, "pattern": "^([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])$", "type": "string", "description": "The first IP Address of the IP Address Range" }, "end": { + "minLength": 1, "pattern": "^([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])$", "type": "string", "description": "The last IP Address of the IP Address Range" @@ -30255,6 +30769,7 @@ "type": "object", "properties": { "name": { + "minLength": 1, "pattern": "^[a-zA-Z0-9-_]+$", "type": "string", "description": "Name of the IP address pool" @@ -30286,6 +30801,7 @@ "type": "object", "properties": { "ipAddressPoolRanges": { + "minItems": 1, "type": "array", "description": "List of the IP allocation ranges. Atleast 1 IP address range has to be specified", "items": { @@ -30293,10 +30809,12 @@ } }, "cidr": { + "minLength": 1, "type": "string", "description": "The subnet representation, contains the network address and the prefix length" }, "gateway": { + "minLength": 1, "pattern": "^([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])$", "type": "string", "description": "The default gateway address of the network" @@ -30314,6 +30832,19 @@ }, "description": "Spec contains parameters for NSX manager" }, + "OverlayVtepSpec": { + "type": "object", + "properties": { + "vtepType": { + "pattern": "(NO_IP)", + "type": "string", + "description": "The overlay VTEP configuration type for configuring vSphere cluster for NSX Overlay", + "nullable": true, + "example": "One among: NO_IP" + } + }, + "description": "This specification defines the NSX overlay VTEP configuration for the vSphere cluster in terms of IP assignment type for the VTEPs. Specifying OverlayVtepSpec with VtepType NO_IP disables VTEP creation on hosts, enabling the NSX VLAN Backed VPC configuration. At this point in time, configuring the NSX overlay VTEP by the means of DHCP or static IP pool assignment types can be done without specifying any OverlayVtepSpec." + }, "SddcCredentials": { "required": [ "password" @@ -30326,6 +30857,7 @@ "example": "root" }, "password": { + "minLength": 1, "type": "string", "description": "Password" } @@ -30383,6 +30915,7 @@ "example": "medium" }, "vipFqdn": { + "minLength": 1, "type": "string", "description": "Hostname for VIP so that common SSL certificates can be installed across all managers." }, @@ -30405,6 +30938,8 @@ "description": "NSX audit password. The password must be at least 12 characters long. Must contain at-least 1 uppercase, 1 lowercase, 1 special character and 1 digit. In addition, a character cannot be repeated 3 or more times consectively. If blank, the SDDC Local Admin Password will be used (if provided) or password will be auto-generated." }, "transportVlanId": { + "maximum": 9223372036854775807, + "minimum": 0, "type": "integer", "description": "Transport VLAN ID. Default '0' if not specified", "format": "int32", @@ -30426,6 +30961,9 @@ "example": true, "default": false }, + "overlayVtepSpec": { + "$ref": "#/components/schemas/OverlayVtepSpec" + }, "version": { "type": "string", "description": "Version", @@ -30446,11 +30984,16 @@ "description": "Spec contains parameters for NSX deployment and configurations" }, "VpcSpec": { - "required": [ - "dtgwSpec" - ], "type": "object", "properties": { + "vpcNetworkConfigurationType": { + "pattern": "(VLAN_BACKED_VPC|FULL_STACK_VPC)", + "type": "string", + "description": "VPC network configuration type. Only applicable for shell domains. Allowed values: VLAN_BACKED_VPC, FULL_STACK_VPC. Defaults to FULL_STACK_VPC when not provided.", + "nullable": true, + "example": "One among: VLAN_BACKED_VPC, FULL_STACK_VPC, VPC_UNSUPPORTED, INVALID_TYPE", + "default": "FULL_STACK_VPC" + }, "dtgwSpec": { "$ref": "#/components/schemas/DtgwSpec" } @@ -30500,6 +31043,7 @@ "type": "object", "properties": { "vcenterAddress": { + "minLength": 1, "type": "string", "description": "vCenter FQDN" }, @@ -30508,6 +31052,7 @@ "description": "vCenter SSL thumbprint" }, "vcenterSsoUsername": { + "minLength": 1, "type": "string", "description": "vCenter SSO username", "example": "administrator@vsphere.local" @@ -30568,6 +31113,7 @@ "type": "object", "properties": { "certificate": { + "minLength": 1, "type": "string", "description": "Certificate in PEM format", "example": "-----BEGIN CERTIFICATE-----\nMIIFq...\n-----END CERTIFICATE-----" @@ -30623,6 +31169,7 @@ "type": "object", "properties": { "resourceType": { + "minLength": 1, "type": "string", "description": "Resource type", "example": "SDDC_MANAGER" @@ -30639,6 +31186,7 @@ "type": "object", "properties": { "elements": { + "minItems": 1, "type": "array", "description": "List of elements to be restored", "items": { @@ -30646,6 +31194,7 @@ } }, "backupFile": { + "minLength": 1, "type": "string", "description": "Backup file name" }, @@ -30749,18 +31298,22 @@ "type": "object", "properties": { "warningCode": { + "minLength": 1, "type": "string", "description": "Minor warning code" }, "localBundle": { + "minLength": 1, "type": "string", "description": "Local bundle to be used for localization" }, "vipComponent": { + "minLength": 1, "type": "string", "description": "VIP component that contains the message" }, "defaultMessage": { + "minLength": 1, "type": "string", "description": "Default warning message in English. Will be used as fallback if a localized message cannot be obtained" }, @@ -30792,14 +31345,17 @@ "type": "object", "properties": { "resourceId": { + "minLength": 1, "type": "string", "description": "ID of the resource to which this warning will be associated" }, "resourceName": { + "minLength": 1, "type": "string", "description": "Name of the resource to which this warning will be associated" }, "resourceType": { + "minLength": 1, "type": "string", "description": "Type of the resource to which this warning will be associated", "example": "HOST, CLUSTER, DOMAIN, VCENTER, NSXT_MANAGER, NSX_ALB, NSXT_EDGE_CLUSTER, SDDC_MANAGER, DEPOT_SERVICE", @@ -30816,6 +31372,7 @@ ] }, "warningType": { + "minLength": 1, "type": "string", "description": "The type of the warning", "example": "SKIPPED_RESOURCE, VALIDATION, CONFIGURATION, OTHER", @@ -30827,6 +31384,7 @@ ] }, "severity": { + "minLength": 1, "type": "string", "description": "The severity of the warning", "example": "MINOR, MAJOR", @@ -30965,6 +31523,7 @@ "example": "One among: SDDC_MANAGER, ESX, VCENTER, NSX" }, "version": { + "minLength": 1, "type": "string", "description": "Target upgrade version of the product" } @@ -30989,10 +31548,12 @@ "type": "object", "properties": { "productVersionCatalogFilePath": { + "minLength": 1, "type": "string", "description": "Product version catalog file absolute path on file system" }, "signatureFilePath": { + "minLength": 1, "type": "string", "description": "Product version catalog signature file absolute path on file system" } @@ -31013,6 +31574,7 @@ "readOnly": true }, "description": { + "minLength": 1, "type": "string", "description": "Description of the product version catalog upload operation", "readOnly": true @@ -31033,6 +31595,7 @@ "type": "object", "properties": { "bundles": { + "minItems": 1, "type": "array", "description": "List of bundle artifacts for corresponding product patch version", "items": { @@ -31053,16 +31616,19 @@ "type": "object", "properties": { "id": { + "minLength": 1, "type": "string", "description": "Bundle id", "readOnly": true }, "type": { + "minLength": 1, "type": "string", "description": "Type of bundle. ex) PATCH, INSTALL", "readOnly": true }, "name": { + "minLength": 1, "type": "string", "description": "Patch/Install bundle name", "readOnly": true @@ -31086,11 +31652,13 @@ "type": "object", "properties": { "key": { + "minLength": 1, "type": "string", "description": "Configuration key", "readOnly": true }, "value": { + "minLength": 1, "type": "string", "description": "Configuration value", "readOnly": true @@ -31105,6 +31673,7 @@ "type": "object", "properties": { "tag": { + "minLength": 1, "type": "string", "description": "Metadata tag", "readOnly": true @@ -31139,6 +31708,7 @@ "readOnly": true }, "productVersion": { + "minLength": 1, "type": "string", "description": "Product version of the patch bundle", "readOnly": true @@ -31166,17 +31736,21 @@ "type": "object", "properties": { "fileName": { + "minLength": 1, "type": "string", "description": "File name for the product binary. Supported product types VC/ESXi/NSX/SDDC-M,etc", "readOnly": true }, "size": { + "minimum": 0, + "exclusiveMinimum": true, "type": "integer", "description": "Binary size", "format": "int64", "readOnly": true }, "checksum": { + "minLength": 1, "type": "string", "description": "Binary checksum for the artifact", "readOnly": true @@ -31242,18 +31816,22 @@ "type": "object", "properties": { "productType": { + "minLength": 1, "type": "string", "description": "Product Type" }, "productVersion": { + "minLength": 1, "type": "string", "description": "Product version" }, "imageType": { + "minLength": 1, "type": "string", "description": "Image Type. Example for supported type = PATCH/INSTALL" }, "folderPath": { + "minLength": 1, "type": "string", "description": "Path of the folder where artifacts have been downloaded. SDDC Manager will use this pathto locate the relevant artifacts which will be uploaded for installation purposes" }, @@ -31369,6 +31947,7 @@ "deprecated": true }, "dnsName": { + "minLength": 1, "pattern": "^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\-]*[a-zA-Z0-9])\\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\\-]*[A-Za-z0-9])$", "type": "string", "description": "DNS name of the virtual machine, e.g., vc-1.domain1.vsphere.local" @@ -31402,6 +31981,7 @@ "type": "object", "properties": { "nsxManagerSpecs": { + "minItems": 1, "type": "array", "description": "Specification details of the NSX Manager virtual machine", "items": { @@ -31610,6 +32190,7 @@ "type": "object", "properties": { "entityInventoryId": { + "minLength": 1, "type": "string", "description": "VCF Inventory identificator of the entity to connect oidc" }, @@ -31657,7 +32238,8 @@ "items": { "type": "string", "description": "IDs of the workload Domains where NSX Advanced Load Balancer Cluster will be deployed", - "readOnly": true + "readOnly": true, + "deprecated": true } }, "nsxIds": { @@ -31680,12 +32262,14 @@ "readOnly": true }, "clusterFqdn": { + "minLength": 1, "pattern": "^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\-]*[a-zA-Z0-9])\\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\\-]*[A-Za-z0-9])$", "type": "string", "description": "NSX Advanced Load Balancer Cluster fully qualified domain name", "readOnly": true }, "formFactor": { + "minLength": 1, "pattern": "(XLARGE|LARGE|MEDIUM|SMALL)", "type": "string", "description": "Size of NSX ALB cluster", @@ -31708,6 +32292,7 @@ } }, "bundleId": { + "minLength": 1, "type": "string", "description": "NSX Advanced Load Balancer Bundle ID", "readOnly": true @@ -31722,6 +32307,7 @@ "type": "object", "properties": { "ipAddress": { + "minLength": 1, "pattern": "^([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])$", "type": "string", "description": "IPv4 address of NSX Advanced Load Balancer Node", @@ -31747,7 +32333,8 @@ "items": { "type": "string", "description": "IDs of the WorkLoadDomain where NSX Advanced Load Balancer Cluster will be deployed", - "readOnly": true + "readOnly": true, + "deprecated": true } }, "nsxIds": { @@ -31763,6 +32350,7 @@ } }, "bundleId": { + "minLength": 1, "type": "string", "description": "NSX Advanced Load Balancer Bundle ID", "readOnly": true @@ -31778,10 +32366,12 @@ "type": "object", "properties": { "start": { + "minLength": 1, "type": "string", "description": "Start IP address of the IP pool" }, "end": { + "minLength": 1, "type": "string", "description": "End IP address of the IP pool" } @@ -31802,6 +32392,7 @@ "readOnly": true }, "type": { + "minLength": 1, "type": "string", "description": "Network Type of the network", "example": "VSAN, VMOTION, VXLAN, NFS, ISCSI, VSAN_EXTERNAL" @@ -31895,10 +32486,12 @@ "readOnly": true }, "name": { + "minLength": 1, "type": "string", "description": "User specified name of the network pool" }, "networks": { + "minItems": 1, "type": "array", "description": "Representing the networks associated with the network pool", "items": { @@ -31922,6 +32515,7 @@ "type": "object", "properties": { "productVersion": { + "minLength": 1, "type": "string", "description": "Product version of the async patch bundle", "readOnly": true @@ -32030,6 +32624,7 @@ "readOnly": true }, "releases": { + "minItems": 1, "type": "array", "description": "Releases of VCF in the ascending order of product version", "readOnly": true, @@ -32094,16 +32689,19 @@ "type": "object", "properties": { "bundleId": { + "minLength": 1, "type": "string", "description": "Bundle ID of the patch bundle", "readOnly": true }, "bundleType": { + "minLength": 1, "type": "string", "description": "Bundle type of the patch bundle", "readOnly": true }, "bundleElements": { + "minItems": 1, "type": "array", "description": "Bundle elements of the patch bundle", "readOnly": true, @@ -32114,6 +32712,7 @@ } }, "cumulativeFromVcfVersion": { + "minLength": 1, "type": "string", "description": "Minimum VCF version that this patch bundle can be directly applied on", "readOnly": true @@ -32130,6 +32729,7 @@ "type": "object", "properties": { "name": { + "minLength": 1, "type": "string", "description": "Name of the product. e.g ESX", "readOnly": true @@ -32145,6 +32745,7 @@ "readOnly": true }, "publicName": { + "minLength": 1, "type": "string", "description": "Public name of the product, e.g VMware ESXi", "readOnly": true @@ -32184,11 +32785,13 @@ "type": "object", "properties": { "product": { + "minLength": 1, "type": "string", "description": "Name of the product e.g. \"VCF\"", "readOnly": true }, "version": { + "minLength": 1, "type": "string", "description": "Version of the release", "readOnly": true @@ -32209,6 +32812,7 @@ "readOnly": true }, "bom": { + "minItems": 1, "type": "array", "description": "Release bill of materials", "readOnly": true, @@ -32282,21 +32886,25 @@ "type": "object", "properties": { "id": { + "minLength": 1, "type": "string", "description": "Release version", "readOnly": true }, "productName": { + "minLength": 1, "type": "string", "description": "Product name for which the release update is provided", "readOnly": true }, "baseProductVersion": { + "minLength": 1, "type": "string", "description": "Base product version for the release", "readOnly": true }, "description": { + "minLength": 1, "type": "string", "description": "Description of the release update", "readOnly": true @@ -32324,6 +32932,7 @@ "type": "object", "properties": { "version": { + "minLength": 1, "type": "string", "description": "Product version", "readOnly": true @@ -32349,6 +32958,7 @@ "type": "object", "properties": { "version": { + "minLength": 1, "type": "string", "description": "Sddc Manager release version", "readOnly": true @@ -32375,6 +32985,7 @@ "readOnly": true }, "cumulativeFromVcfVersion": { + "minLength": 1, "type": "string", "description": "Minimum VCF version that this patch bundle can be directly applied on", "readOnly": true @@ -32428,16 +33039,19 @@ "type": "object", "properties": { "bundleType": { + "minLength": 1, "type": "string", "description": "Bundle type of the patch bundle", "readOnly": true }, "bundleVersion": { + "minLength": 1, "type": "string", "description": "Bundle Version of the product", "readOnly": true }, "version": { + "minLength": 1, "type": "string", "description": "Product version", "readOnly": true @@ -32453,6 +33067,7 @@ "type": "object", "properties": { "version": { + "minLength": 1, "type": "string", "description": "Product version", "readOnly": true @@ -32494,12 +33109,14 @@ "example": "XX0XX-XX0XX-XX0XX-XX0XX-XX0XX " }, "productType": { + "minLength": 1, "type": "string", "description": "The type of the product to which the license key is applicable", "readOnly": true, "example": "One among: VCENTER, VSAN, ESXI, NSXT, WCP" }, "description": { + "minLength": 1, "type": "string", "description": "Description of the license key given by user", "readOnly": true @@ -32827,14 +33444,17 @@ "type": "object", "properties": { "fqdn": { + "minLength": 1, "type": "string", "description": "FQDN of the host" }, "username": { + "minLength": 1, "type": "string", "description": "Username of the host" }, "password": { + "minLength": 1, "type": "string", "description": "Password of the host" }, @@ -32843,12 +33463,17 @@ "description": "Storage Type", "example": "One among: VSAN, VSAN_ESA, VSAN_REMOTE, VSAN_MAX, NFS, NFS41, VMFS_FC, VVOL, VMFS, FC, VVOL" }, + "skipHclCompatibilityPrecheck": { + "type": "boolean", + "description": "This option bypasses vSAN ESA HCL validation during host commissioning. Set this flag only when hosts lack vSAN ESA certified disks or when SDDC Manager cannot verify disk status. (Using vSAN ESA certified disk(s) is recommended.)" + }, "vvolStorageProtocolType": { "type": "string", "description": "vVol Storage Protocol Type", "example": "One among: ISCSI, NFS, FC" }, "networkPoolId": { + "minLength": 1, "type": "string", "description": "ID of the network pool to associate the host with" }, @@ -33449,6 +34074,7 @@ "type": "object", "properties": { "type": { + "minLength": 1, "type": "string", "description": "Network Type of the network" }, @@ -33828,6 +34454,10 @@ "description": "Storage Type", "example": "One among: VSAN, VSAN_ESA, VSAN_REMOTE, VSAN_MAX, NFS, NFS41, VMFS_FC, VVOL, VMFS, FC, VVOL" }, + "skipHclCompatibilityPrecheck": { + "type": "boolean", + "description": "Flag that can be used to skip HCL compatibility pre-check for vSAN ESA storage type" + }, "vvolStorageProtocolType": { "type": "string", "description": "vVol Storage Protocol Type", @@ -33952,24 +34582,29 @@ "description": "Name for the edge cluster." }, "edgeClusterType": { + "minLength": 1, "pattern": "(NSX-T)", "type": "string", "description": "Type of edge cluster", "example": "One among: NSX-T" }, "edgeRootPassword": { + "minLength": 1, "type": "string", "description": "Edge Password for root user." }, "edgeAdminPassword": { + "minLength": 1, "type": "string", "description": "Edge Password for admin user" }, "edgeAuditPassword": { + "minLength": 1, "type": "string", "description": "Edge Password for audit" }, "edgeFormFactor": { + "minLength": 1, "pattern": "(XLARGE|LARGE|MEDIUM|SMALL)", "type": "string", "description": "Edge Form Factor", @@ -33994,6 +34629,7 @@ "format": "int64" }, "edgeNodeSpecs": { + "minItems": 1, "type": "array", "description": "Specifications for Edge Node. Number of Edge Nodes cannot exceed 8 if HA mode is ACTIVE-ACTIVE and can not exceed 2 if HA mode is ACTIVE-STANDBY", "items": { @@ -34030,6 +34666,7 @@ "description": "Select whether Tier-1 being created per this spec is hosted on the new Edge cluster or not (default value is false, meaning hosted)" }, "edgeClusterProfileType": { + "minLength": 1, "pattern": "(CUSTOM|DEFAULT)", "type": "string", "description": "Type of edge cluster profile", @@ -34136,16 +34773,19 @@ "type": "object", "properties": { "edgeNodeName": { + "minLength": 1, "pattern": "^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\-]*[a-zA-Z0-9])\\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\\-]*[A-Za-z0-9])$", "type": "string", "description": "Edge Node Name" }, "managementIP": { + "minLength": 1, "pattern": "^([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\/(([0-9])|([12][0-9])|(3[0-2]))$", "type": "string", "description": "Management Interface IP" }, "managementGateway": { + "minLength": 1, "pattern": "^([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])$", "type": "string", "description": "Management Gateway IP" @@ -34231,6 +34871,7 @@ "format": "int32" }, "uplinkInterfaceIP": { + "minLength": 1, "pattern": "^([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\/(([0-9])|([12][0-9])|(3[0-2]))$", "type": "string", "description": "Uplink IP" @@ -34274,14 +34915,17 @@ "type": "object", "properties": { "edgeNodeRootPassword": { + "minLength": 1, "type": "string", "description": "Edge Password for root user." }, "edgeNodeAdminPassword": { + "minLength": 1, "type": "string", "description": "Edge Password for admin user" }, "edgeNodeAuditPassword": { + "minLength": 1, "type": "string", "description": "Edge Password for audit user" }, @@ -34350,6 +34994,7 @@ "$ref": "#/components/schemas/EdgeClusterShrinkageSpec" }, "operation": { + "minLength": 1, "pattern": "(EXPANSION|SHRINKAGE)", "type": "string", "description": "Edge cluster operation Type.", @@ -34483,6 +35128,8 @@ "description": "Enable vSAN DIT encryption" }, "rekeyInterval": { + "maximum": 9223372036854775807, + "minimum": 0, "type": "integer", "description": "Periodical rekeying interval in minutes for vSAN DIT encryption", "format": "int32" @@ -34602,6 +35249,10 @@ }, "vsanMaxConfig": { "$ref": "#/components/schemas/VsanMaxConfig" + }, + "skipHclAutoDiskClaim": { + "type": "boolean", + "description": "This option bypasses vSAN ESA auto disk claim and creates a storage pool from all storage pool eligible disks, regardless of whether they are vSAN ESA certified. (Using vSAN ESA certified disk(s) is recommended.)" } }, "description": "This spec contains cluster vSAN ESA configuration" @@ -34714,6 +35365,8 @@ "description": "LAG name" }, "uplinksCount": { + "maximum": 9223372036854775807, + "minimum": 0, "type": "integer", "description": "Number of uplinks/ports in this LAG", "format": "int32" @@ -34748,6 +35401,7 @@ "type": "object", "properties": { "serverName": { + "minItems": 1, "type": "array", "description": "NFS Server name used for cluster creation", "items": { @@ -34756,6 +35410,7 @@ } }, "path": { + "minLength": 1, "type": "string", "description": "Shared directory path used for NFS based cluster creation" }, @@ -34782,6 +35437,7 @@ "type": "object", "properties": { "name": { + "minLength": 1, "type": "string", "description": "The network profile name" }, @@ -34794,6 +35450,7 @@ "description": "Designates the network profile as a Global Network Config or Sub Network Config" }, "nsxtHostSwitchConfigs": { + "minItems": 1, "type": "array", "description": "The list of NSX host switch configurations", "items": { @@ -34892,6 +35549,8 @@ "type": "object", "properties": { "geneveVlanId": { + "maximum": 9223372036854775807, + "minimum": 0, "type": "integer", "description": "Vlan id of Geneve. (This field is deprecated, instead please use transportVlan in uplinkProfiles)", "format": "int32", @@ -34913,6 +35572,9 @@ "items": { "$ref": "#/components/schemas/UplinkProfile" } + }, + "overlayVtepSpec": { + "$ref": "#/components/schemas/OverlayVtepSpec" } }, "description": "This specification contains NSX configuration for a new cluster." @@ -34925,6 +35587,7 @@ "type": "object", "properties": { "nsxManagerSpecs": { + "minItems": 1, "type": "array", "description": "Specification details of the NSX Manager virtual machine", "items": { @@ -34982,10 +35645,12 @@ "type": "object", "properties": { "vdsName": { + "minLength": 1, "type": "string", "description": "The name of the vSphere Distributed Switch" }, "uplinkProfileName": { + "minLength": 1, "type": "string", "description": "The name of the uplink profile" }, @@ -34994,6 +35659,7 @@ "description": "The IP address pool name" }, "vdsUplinkToNsxUplink": { + "minItems": 1, "type": "array", "description": "The map of vSphere Distributed Switch uplinks to the NSX switch uplinks.", "items": { @@ -35008,7 +35674,7 @@ "properties": { "transportZones": { "type": "array", - "description": "The list of transport zones to be associated with the vSphere Distributed Switch managed by NSX", + "description": "The list of transport zones to be associated with the vSphere Distributed Switch managed by NSX. When creating a new cluster in an existing domain configured for NSX Overlay, only the VLAN transport zones specified in the input will be configured for the cluster. Any overlay transport zones specified in the input will be ignored, and the domain's default overlay transport zone will be used instead.", "items": { "$ref": "#/components/schemas/TransportZone" } @@ -35040,9 +35706,10 @@ "description": "Port group name" }, "transportType": { + "minLength": 1, "type": "string", "description": "Port group transport type", - "example": "One among: VSAN, VMOTION, MANAGEMENT, PUBLIC, NFS, VREALIZE, ISCSI, EDGE_INFRA_OVERLAY_UPLINK, VM_MANAGEMENT, VSAN_EXTERNAL, FLEET_MANAGEMENT" + "example": "One among: VSAN, VMOTION, MANAGEMENT, PUBLIC, NFS, VREALIZE, ISCSI, EDGE_INFRA_OVERLAY_UPLINK, VM_MANAGEMENT, VNA_MANAGEMENT, VSAN_EXTERNAL, FLEET_MANAGEMENT" }, "activeUplinks": { "type": "array", @@ -35145,6 +35812,7 @@ "type": "object", "properties": { "zoneName": { + "minLength": 1, "type": "string", "description": "The zone name" }, @@ -35160,6 +35828,11 @@ }, "vpcNetwork": { "$ref": "#/components/schemas/SupervisorVpcNetwork" + }, + "controlPlaneVmCount": { + "type": "integer", + "description": "Supervisor control-plane VM count. When omitted, derived from defaults and the control-plane IP range capacity.", + "format": "int64" } }, "description": "This specification contains cluster's supervisor configuration." @@ -35195,16 +35868,19 @@ "example": 1 }, "netMask": { + "minLength": 1, "type": "string", "description": "The management network netmask.", "example": "255.255.255.0" }, "gateway": { + "minLength": 1, "type": "string", "description": "The management network gateway.", "example": "192.168.1.1" }, "vdsName": { + "minLength": 1, "type": "string", "description": "The management network vds name.", "example": "vds1" @@ -35215,8 +35891,7 @@ "SupervisorVpcNetwork": { "required": [ "dnsServers", - "ntpServers", - "privateCidr" + "ntpServers" ], "type": "object", "properties": { @@ -35237,6 +35912,7 @@ "$ref": "#/components/schemas/Cidr" }, "dnsServers": { + "minItems": 1, "type": "array", "description": "The DNS server", "example": "192.168.0.1", @@ -35247,6 +35923,7 @@ } }, "ntpServers": { + "minItems": 1, "type": "array", "description": "The NTP server.", "example": "ntp.example.com", @@ -35267,12 +35944,14 @@ "type": "object", "properties": { "policy": { + "minLength": 1, "pattern": "(FAILOVER_ORDER|LOADBALANCE_SRCID|LOADBALANCE_SRC_MAC)", "type": "string", "description": "The teaming policy associated with the uplink profile", "example": "One among: FAILOVER_ORDER, LOADBALANCE_SRCID, LOADBALANCE_SRC_MAC" }, "activeUplinks": { + "minItems": 1, "type": "array", "description": "The list of active uplinks", "items": { @@ -35304,6 +35983,7 @@ "description": "The name of the transport zone" }, "transportType": { + "minLength": 1, "pattern": "(VLAN|OVERLAY)", "type": "string", "description": "The type of the transport zone", @@ -35320,10 +36000,12 @@ "type": "object", "properties": { "vdsUplinkName": { + "minLength": 1, "type": "string", "description": "The uplink name of the vSphere Distributed Switch" }, "nsxUplinkName": { + "minLength": 1, "type": "string", "description": "The uplink name of the NSX switch" } @@ -35353,6 +36035,8 @@ } }, "transportVlan": { + "maximum": 9223372036854775807, + "minimum": 0, "type": "integer", "description": "The VLAN used for tagging overlay traffic of the associated Host Switch", "format": "int32" @@ -35378,19 +36062,23 @@ "type": "object", "properties": { "vasaProviderId": { + "minLength": 1, "type": "string", "description": "UUID of the VASA storage provider" }, "storageContainerId": { + "minLength": 1, "type": "string", "description": "UUID of the VASA storage container" }, "storageProtocolType": { + "minLength": 1, "type": "string", "description": "Type of the VASA storage protocol", "example": "One among: ISCSI, NFS, FC" }, "userId": { + "minLength": 1, "type": "string", "description": "UUID of the VASA storage user" } @@ -35471,8 +36159,10 @@ } }, "mtu": { + "maximum": 9223372036854775807, + "minimum": 0, "type": "integer", - "description": "The maximum transmission unit (MTU) configured for the uplinks. If not specified during cluster creation or domain creation (with NSX sharing), this value will be automatically populated with the NSX Global Config Physical Uplink MTU from the associated NSX cluster.", + "description": "The maximum transmission unit (MTU) configured for the uplinks. If not specified during cluster creation or domain creation (with NSX sharing), this value will be automatically populated with the Physical Uplink MTU specified in the NSX Global Config from the associated NSX cluster.", "format": "int32" }, "lagSpecs": { @@ -35481,10 +36171,31 @@ "items": { "$ref": "#/components/schemas/LagSpec" } + }, + "vdsUplinkToNsxUplink": { + "type": "array", + "description": "The map of vSphere Distributed Switch uplinks to the NSX switch uplinks. This information is available when the VDS is managed by NSX and has an associated Transport Node Profile (TNP) with uplink configurations.", + "items": { + "$ref": "#/components/schemas/VdsUplinkToNsxUplinkConfiguration" + } } }, "description": "This specification contains vSphere distributed switch configurations" }, + "VdsUplinkToNsxUplinkConfiguration": { + "type": "object", + "properties": { + "vdsUplinkName": { + "type": "string", + "description": "The uplink name of the vSphere Distributed Switch" + }, + "nsxUplinkName": { + "type": "string", + "description": "The uplink name of the NSX switch" + } + }, + "description": "The map of vSphere Distributed Switch uplinks to the NSX switch uplinks." + }, "VmNic": { "required": [ "id", @@ -35493,10 +36204,12 @@ "type": "object", "properties": { "id": { + "minLength": 1, "type": "string", "description": "VmNic ID of vSphere host to be associated with VDS, once added to cluster" }, "vdsName": { + "minLength": 1, "type": "string", "description": "VDS name to associate with vSphere host. VDS name must match the cluster's VDS name" }, @@ -35539,6 +36252,20 @@ "type": "string", "description": "Specification for Virtual Networking Appliance Nodes" } + }, + "vnaManagementVlanId": { + "maximum": 4094, + "minimum": 0, + "type": "integer", + "description": "VLAN ID for VNA management portgroup (required only if VNA nodes are on a different subnet than host vmk0)", + "format": "int32", + "example": 200 + }, + "vnaManagementGatewayCidr": { + "pattern": "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)/(?:[1-9]|[1-2][0-9]|3[0-2])$", + "type": "string", + "description": "Management gateway IP in CIDR format for VNA management portgroup (required only if VNA nodes are on a different subnet than host vmk0)", + "example": "192.168.2.1/24" } }, "description": "Specification for Virtual Networking Appliance Cluster for NSX Services" @@ -35553,6 +36280,8 @@ "description": "Datastore name used for cluster creation. This field is optional in case of management domain deployment (datastore name will be auto-generated) but it is required for all Day-N operations" }, "failuresToTolerate": { + "maximum": 9223372036854775807, + "minimum": 0, "type": "integer", "description": "Number of vSphere host failures to tolerate in the vSAN cluster. This field is required for vSAN OSA configuration.", "format": "int32" @@ -35616,6 +36345,7 @@ "type": "object", "properties": { "datastoreUuid": { + "minLength": 1, "type": "string", "description": "vSAN Remote Datastore UUID" }, @@ -35643,6 +36373,7 @@ "type": "object", "properties": { "serverSite": { + "minLength": 1, "type": "string", "description": "Server site affinity for vSAN remote datastore mount for stretched server clsuter." }, @@ -35661,6 +36392,7 @@ "type": "object", "properties": { "name": { + "minLength": 1, "type": "string", "description": "Name of the datastore" }, @@ -35786,6 +36518,7 @@ "description": "ID of the Personality to be used for compliance check. If not provided host seeded image will be used for compliance" }, "resources": { + "minItems": 1, "type": "array", "description": "List of resources on which compliance check will be executed", "items": { @@ -35846,10 +36579,12 @@ "type": "object", "properties": { "id": { + "minLength": 1, "type": "string", "description": "Resource ID" }, "type": { + "minLength": 1, "pattern": "(HOST)", "type": "string", "description": "Type of the resource", @@ -35864,6 +36599,7 @@ "type": "object", "properties": { "resources": { + "minItems": 1, "type": "array", "description": "List of resources on which transition will be executed. If not provided transition will be run for all hosts for which compliance was run.", "items": { @@ -35885,15 +36621,18 @@ "type": "object", "properties": { "standardType": { + "minLength": 1, "type": "string", "description": "Compliance standard type", "example": "One among: PCI" }, "standardVersion": { + "minLength": 1, "type": "string", "description": "Compliance standard version" }, "complianceResourcesConfigurationSpec": { + "minItems": 1, "type": "array", "description": "Compliance resource and configuration spec", "items": { @@ -35910,6 +36649,7 @@ "type": "object", "properties": { "resourceType": { + "minLength": 1, "type": "string", "description": "Compliance Resource Type", "example": "One among: SDDC_MANAGER" @@ -35970,6 +36710,7 @@ "type": "object", "properties": { "domainName": { + "minLength": 1, "type": "string", "description": "Name of the domain to sync" }, @@ -36139,10 +36880,12 @@ "type": "object", "properties": { "id": { + "minLength": 1, "type": "string", "description": "Resource ID" }, "type": { + "minLength": 1, "pattern": "(HOST)", "type": "string", "description": "Type of the resource", @@ -36164,6 +36907,7 @@ "type": "object", "properties": { "resources": { + "minItems": 1, "type": "array", "items": { "$ref": "#/components/schemas/TransitionResourceSpec" @@ -36793,6 +37537,7 @@ "description": "Domain name" }, "resourceType": { + "minLength": 1, "type": "string", "description": "Authenticated Resource Type", "example": "One among: ESXI, VCENTER, PSC, NSXT_MANAGER, NSXT_EDGE, NSX_ALB, BACKUP, HCX_MANAGER, VSP" @@ -37076,6 +37821,7 @@ "type": "object", "properties": { "hosts": { + "minItems": 1, "type": "array", "description": "List of vSphere hosts to be removed", "items": { @@ -37101,6 +37847,7 @@ "type": "object", "properties": { "name": { + "minLength": 1, "type": "string", "description": "The network profile name" }, @@ -37109,6 +37856,7 @@ "description": "The network profile description" }, "nsxtHostSwitchConfigs": { + "minItems": 1, "type": "array", "description": "The list of NSX host switch configurations", "items": { @@ -37120,7 +37868,6 @@ }, "ClusterExpansionNetworkSpec": { "required": [ - "networkProfiles", "nsxClusterSpec" ], "type": "object", @@ -37139,9 +37886,6 @@ "description": "This specification contains cluster network configuration." }, "ClusterExpansionNsxSpec": { - "required": [ - "uplinkProfiles" - ], "type": "object", "properties": { "ipAddressPoolsSpec": { @@ -37157,6 +37901,9 @@ "items": { "$ref": "#/components/schemas/UplinkProfile" } + }, + "overlayVtepSpec": { + "$ref": "#/components/schemas/OverlayVtepSpec" } }, "description": "This specification contains NSX configuration for cluster expansion" @@ -37239,7 +37986,6 @@ }, "ClusterStretchNetworkSpec": { "required": [ - "networkProfiles", "nsxClusterSpec" ], "type": "object", @@ -37265,6 +38011,7 @@ "type": "object", "properties": { "hostSpecs": { + "minItems": 1, "type": "array", "description": "List of vSphere host information from the free pool to consume in the workload domain", "items": { @@ -37389,6 +38136,9 @@ "items": { "$ref": "#/components/schemas/UplinkProfile" } + }, + "overlayVtepSpec": { + "$ref": "#/components/schemas/OverlayVtepSpec" } }, "description": "This specification contains NSX configuration for Secondary AZ Hosts" @@ -37431,6 +38181,7 @@ "type": "object", "properties": { "name": { + "minLength": 1, "type": "string", "description": "The network profile name" }, @@ -37439,6 +38190,7 @@ "description": "The network profile description" }, "nsxtHostSwitchConfigs": { + "minItems": 1, "type": "array", "description": "The list of NSX host switch configurations", "items": { @@ -37456,10 +38208,12 @@ "type": "object", "properties": { "vsanGatewayIP": { + "minLength": 1, "type": "string", "description": "vSAN Gateway IP of the ESXi host" }, "vsanCidr": { + "minLength": 1, "type": "string", "description": "vSAN subnet cidr of the ESXi host" } @@ -37534,6 +38288,9 @@ "items": { "$ref": "#/components/schemas/NetworkProfileConfiguration" } + }, + "overlayVtepSpec": { + "$ref": "#/components/schemas/OverlayVtepSpec" } }, "description": "Represents the cluster network configuration." @@ -37924,20 +38681,6 @@ }, "description": "The vSphere Distributed Switch network configuration" }, - "VdsUplinkToNsxUplinkConfiguration": { - "type": "object", - "properties": { - "vdsUplinkName": { - "type": "string", - "description": "The uplink name of the vSphere Distributed Switch" - }, - "nsxUplinkName": { - "type": "string", - "description": "The uplink name of the NSX switch" - } - }, - "description": "The map of vSphere Distributed Switch uplinks to the NSX switch uplinks." - }, "ClusterNetworkConfigurationCriterion": { "type": "object", "properties": { @@ -37982,6 +38725,7 @@ "type": "object", "properties": { "listOfVdsDetails": { + "minItems": 1, "type": "array", "description": "List of details of vSphere Distributed Switches to be imported to the inventory", "items": { @@ -37998,6 +38742,7 @@ "type": "object", "properties": { "vdsName": { + "minLength": 1, "type": "string", "description": "vSphere Distributed Switch name" } @@ -38011,6 +38756,7 @@ "type": "object", "properties": { "id": { + "minLength": 1, "type": "string" }, "status": { @@ -38037,6 +38783,7 @@ "type": "object", "properties": { "name": { + "minLength": 1, "pattern": "SDDC_NETWORKING_DATA_REMEDIATION", "type": "string", "description": "Name of the remediation criterion. Currently, the only supported value is `SDDC_NETWORKING_DATA_REMEDIATION`.", @@ -38074,6 +38821,7 @@ "type": "object", "properties": { "elements": { + "minItems": 1, "type": "array", "description": "List of elements to be backed up", "items": { @@ -38147,12 +38895,14 @@ "readOnly": true }, "clusterFqdn": { + "minLength": 1, "pattern": "^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\-]*[a-zA-Z0-9])\\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\\-]*[A-Za-z0-9])$", "type": "string", "description": "Avi Load Balancer Cluster fully qualified domain name", "readOnly": true }, "formFactor": { + "minLength": 1, "pattern": "(XLARGE|LARGE|MEDIUM|SMALL)", "type": "string", "description": "Size of ALB cluster", @@ -38175,6 +38925,7 @@ } }, "bundleId": { + "minLength": 1, "type": "string", "description": "Avi Load Balancer Bundle ID", "readOnly": true @@ -38194,6 +38945,7 @@ "type": "object", "properties": { "ipAddress": { + "minLength": 1, "pattern": "^([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])$", "type": "string", "description": "IPv4 address of Avi Load Balancer Node", @@ -38223,6 +38975,7 @@ } }, "bundleId": { + "minLength": 1, "type": "string", "description": "Avi Load Balancer Bundle ID", "readOnly": true @@ -38283,6 +39036,7 @@ "example": "vcenter.rainpole.io" }, "tlsThumbprint": { + "minLength": 1, "type": "string", "description": "Thumbprint of the TLS Certificate corresponding to the new vCenter fqdn.", "example": "C2:18:79:A2:C3:2A:01:EB:09:83:DE:6C:E4:14:C4:A0:CA:F7:8E:BD:31:4D:C9:4C:C3:BF:B6:81:E5:2E:FD:57" @@ -38335,6 +39089,7 @@ "type": "object", "properties": { "name": { + "minLength": 1, "type": "string", "description": "Name of the storage container" } @@ -38360,6 +39115,17 @@ }, "description": "Local user password details" }, + "LocalAccountConfig": { + "type": "object", + "properties": { + "enforceExpiryForAdmin": { + "type": "boolean", + "description": "Whether to enforce password expiry for the admin account.", + "default": false + } + }, + "description": "Local account configuration" + }, "UpgradeCommitSpec": { "type": "object", "properties": { @@ -38392,6 +39158,7 @@ "type": "object", "properties": { "resourceId": { + "minLength": 1, "type": "string", "description": "Resource ID for Upgrade" }, @@ -38579,6 +39346,7 @@ "description": "Bundle ID for Upgrade" }, "resourceType": { + "minLength": 1, "type": "string", "description": "Resource Type for Upgrade", "example": "One among: DOMAIN, CLUSTER, UNASSIGNED_HOST" @@ -38588,6 +39356,7 @@ "description": "Boolean to represent components will be upgraded in parallel on not" }, "resourceUpgradeSpecs": { + "minItems": 1, "type": "array", "description": "Resource Upgrade Specifications", "items": { @@ -38620,6 +39389,23 @@ "description": "Upgrade object which contain details regarding the upgrade", "readOnly": true }, + "TaskSettings": { + "required": [ + "retentionDays" + ], + "type": "object", + "properties": { + "retentionDays": { + "maximum": 730, + "minimum": 1, + "type": "integer", + "description": "Number of days to retain task metadata before cleanup. Tasks older than this will be automatically cleaned up.", + "format": "int32", + "example": 365 + } + }, + "description": "Settings for task retention and cleanup" + }, "SystemUpdateSpec": { "required": [ "maxAllowedDomainsInSubscription" @@ -38627,6 +39413,8 @@ "type": "object", "properties": { "maxAllowedDomainsInSubscription": { + "minimum": 0, + "exclusiveMinimum": true, "type": "integer", "description": "new limit of amount of domains in subscription mode", "format": "int32" @@ -38758,6 +39546,7 @@ "type": "object", "properties": { "action": { + "minLength": 1, "type": "string", "description": "Action that needs to be performed on UMDS host depot store", "example": "SYNC" @@ -38772,6 +39561,7 @@ "type": "object", "properties": { "errorIds": { + "minItems": 1, "type": "array", "description": "List of error ids to retry", "items": { @@ -38808,6 +39598,34 @@ }, "description": "Required action for CEIP." }, + "LocalOsUserAccountUpdateSpec": { + "required": [ + "newPassword", + "oldPassword", + "username" + ], + "type": "object", + "properties": { + "username": { + "minLength": 1, + "type": "string", + "description": "The username of the local OS account (supported: root, vcf, backup)" + }, + "newPassword": { + "minLength": 1, + "type": "string", + "description": "The new password for the local OS account", + "format": "password" + }, + "oldPassword": { + "minLength": 1, + "type": "string", + "description": "Current password for the local OS account", + "format": "password" + } + }, + "description": "Local OS user account update specification" + }, "Functionality": { "required": [ "isAllowed", @@ -38839,6 +39657,7 @@ "type": "object", "properties": { "resourceType": { + "minLength": 1, "type": "string", "description": "Type of the resource", "example": "One among: SYSTEM, HOST, CLUSTER, DOMAIN, EDGE_CLUSTER" @@ -38867,14 +39686,17 @@ "type": "object", "properties": { "serviceId": { + "minLength": 1, "type": "string", "description": "The identifier of the service associated with the resource functionalities" }, "operationName": { + "minLength": 1, "type": "string", "description": "The name of the operation associated with the resource functionalities" }, "operationId": { + "minLength": 1, "type": "string", "description": "The identifier of the operation associated with the resource functionalities" }, @@ -38923,14 +39745,17 @@ "type": "object", "properties": { "serviceId": { + "minLength": 1, "type": "string", "description": "The identifier of the service associated with the resource functionalities" }, "operationName": { + "minLength": 1, "type": "string", "description": "The name of the operation associated with the resource functionalities" }, "operationId": { + "minLength": 1, "type": "string", "description": "The identifier of the operation associated with the resource functionalities" }, @@ -39139,6 +39964,7 @@ "type": "object", "properties": { "operationType": { + "minLength": 1, "type": "string", "description": "The Certificates operation type", "example": "One among: INSTALL" @@ -39265,6 +40091,7 @@ "example": "One among: USER, SYSTEM, SERVICE" }, "username": { + "minLength": 1, "type": "string", "description": "Username" }, @@ -39283,11 +40110,13 @@ "type": "object", "properties": { "operationType": { + "minLength": 1, "type": "string", "description": "Operation type", "example": "One among: UPDATE, ROTATE, REMEDIATE, UPDATE_AUTO_ROTATE_POLICY" }, "elements": { + "minItems": 1, "type": "array", "description": "List of resource credentials to be changed", "items": { @@ -39316,11 +40145,13 @@ "description": "Resource ID" }, "resourceType": { + "minLength": 1, "type": "string", "description": "Authenticated Resource Type", "example": "One among: ESXI, VCENTER, PSC, NSXT_MANAGER, NSXT_EDGE, NSX_ALB, BACKUP, HCX_MANAGER, VSP" }, "credentials": { + "minItems": 1, "type": "array", "description": "Credentials of the resource", "items": { @@ -40010,6 +40841,26 @@ "description": "Flag indicating whether or not local account is configured", "readOnly": true }, + "modificationTimestamp": { + "type": "string", + "description": "The timestamp at which the local account was last modified", + "readOnly": true + }, + "isAccountLocked": { + "type": "boolean", + "description": "Flag indicating whether or not local account is locked", + "readOnly": true + }, + "passwordExpirationTimestamp": { + "type": "string", + "description": "UTC timestamp when the local account password is expected to expire", + "readOnly": true + }, + "isExpirationEnabled": { + "type": "boolean", + "description": "Flag indicating whether or not local account is set for expiry", + "readOnly": true + }, "id": { "type": "string", "description": "The ID of the user" @@ -40616,10 +41467,12 @@ "type": "object", "properties": { "name": { + "minLength": 1, "type": "string", "description": "Package name" }, "version": { + "minLength": 1, "type": "string", "description": "Package version" } @@ -40652,6 +41505,7 @@ "description": "Resource Id" }, "resourceType": { + "minLength": 1, "type": "string", "description": "Resource Type", "example": "CLUSTER" @@ -41617,6 +42471,10 @@ "type": "integer", "description": "The number of days before the password expiration date that the user will be warned", "format": "int32" + }, + "lockedOut": { + "type": "boolean", + "description": "Whether the account is locked out" } }, "description": "Local OS user account details" @@ -41729,6 +42587,7 @@ "type": "object", "properties": { "productVersion": { + "minLength": 1, "type": "string", "description": "Product version of the install/patch bundle", "readOnly": true @@ -41752,6 +42611,7 @@ "type": "object", "properties": { "bundles": { + "minItems": 1, "type": "array", "description": "List of bundle artifacts for corresponding product patch/install version", "readOnly": true, @@ -41773,21 +42633,26 @@ "type": "object", "properties": { "id": { + "minLength": 1, "type": "string", "description": "Bundle id", "readOnly": true }, "type": { + "minLength": 1, "type": "string", "description": "Type of bundle. ex) PATCH, INSTALL", "readOnly": true }, "name": { + "minLength": 1, "type": "string", "description": "Patch/Install bundle name", "readOnly": true }, "size": { + "minimum": 0, + "exclusiveMinimum": true, "type": "integer", "description": "Binary size", "format": "int64", @@ -41823,11 +42688,13 @@ "type": "object", "properties": { "name": { + "minLength": 1, "type": "string", "description": "Product name", "readOnly": true }, "sku": { + "minLength": 1, "type": "string", "description": "SKU of the install/patch bundle", "readOnly": true @@ -41862,6 +42729,7 @@ "type": "object", "properties": { "releaseVersion": { + "minLength": 1, "type": "string", "description": "VCF/VVF release version", "readOnly": true @@ -41885,10 +42753,12 @@ "type": "object", "properties": { "domainId": { + "minLength": 1, "type": "string", "description": "Domain ID" }, "targetVersion": { + "minLength": 1, "type": "string", "description": "Target upgrade version of the domain" }, @@ -41986,11 +42856,13 @@ "example": "One among: APPLICABLE, NOT_APPLICABLE" }, "product": { + "minLength": 1, "type": "string", "description": "Name of the product e.g. \"VCF\"", "readOnly": true }, "version": { + "minLength": 1, "type": "string", "description": "Version of the release", "readOnly": true @@ -42011,6 +42883,7 @@ "readOnly": true }, "bom": { + "minItems": 1, "type": "array", "description": "Release bill of materials", "readOnly": true, @@ -42121,6 +42994,7 @@ "type": "object", "properties": { "version": { + "minLength": 1, "type": "string", "description": "Domain VCF release version", "readOnly": true @@ -42169,6 +43043,7 @@ "type": "object", "properties": { "releaseVersion": { + "minLength": 1, "type": "string", "description": "VCF/VVF release version", "readOnly": true @@ -42280,6 +43155,7 @@ "readOnly": true }, "personalityName": { + "minLength": 1, "pattern": "^[a-zA-Z\\d\\-]{3,20}$", "type": "string", "description": "Personality name", @@ -42794,6 +43670,7 @@ "type": "object", "properties": { "resourceType": { + "minLength": 1, "type": "string", "description": "Type of the resource", "example": "One among: SYSTEM, DOMAIN, CLUSTER, NSXT_CLUSTER" @@ -44589,11 +45466,13 @@ "readOnly": true }, "name": { + "minLength": 1, "type": "string", "description": "Credential sub-task name", "readOnly": true }, "description": { + "minLength": 1, "type": "string", "description": "Credential sub-task description", "readOnly": true @@ -44609,6 +45488,7 @@ "readOnly": true }, "status": { + "minLength": 1, "type": "string", "description": "Credential sub-task status", "readOnly": true, @@ -44670,16 +45550,19 @@ "type": "object", "properties": { "id": { + "minLength": 1, "type": "string", "description": "Credential task ID", "readOnly": true }, "name": { + "minLength": 1, "type": "string", "description": "Credential task name", "readOnly": true }, "type": { + "minLength": 1, "type": "string", "description": "Credential task type", "readOnly": true, @@ -44696,6 +45579,7 @@ "readOnly": true }, "status": { + "minLength": 1, "type": "string", "description": "Credential task status", "readOnly": true, @@ -45124,6 +46008,7 @@ "$ref": "#/components/schemas/SoftwareInfo" }, "status": { + "minLength": 1, "type": "string", "description": "Cluster image compliance status", "example": "COMPLIANT, NON_COMPLIANT, INCOMPATIBLE, UNAVAILABLE, ERROR" @@ -45285,7 +46170,7 @@ "transportType": { "type": "string", "description": "Port group transport type", - "example": "One among: VSAN, VMOTION, MANAGEMENT, PUBLIC, NFS, VREALIZE, ISCSI, EDGE_INFRA_OVERLAY_UPLINK, VM_MANAGEMENT, VSAN_EXTERNAL, FLEET_MANAGEMENT" + "example": "One among: VSAN, VMOTION, MANAGEMENT, PUBLIC, NFS, VREALIZE, ISCSI, EDGE_INFRA_OVERLAY_UPLINK, VM_MANAGEMENT, VNA_MANAGEMENT, VSAN_EXTERNAL, FLEET_MANAGEMENT" }, "portBindingType": { "type": "string", @@ -45626,6 +46511,53 @@ } } }, + "TaskHistoryDeletionRequest": { + "required": [ + "taskIds" + ], + "type": "object", + "properties": { + "taskIds": { + "minItems": 1, + "type": "array", + "items": { + "minLength": 1, + "type": "string" + } + } + } + }, + "TaskHistoryDeletionError": { + "type": "object", + "properties": { + "taskId": { + "type": "string" + }, + "errorCode": { + "type": "string" + }, + "message": { + "type": "string" + } + } + }, + "TaskHistoryDeletionResult": { + "type": "object", + "properties": { + "successful": { + "type": "array", + "items": { + "type": "string" + } + }, + "failed": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TaskHistoryDeletionError" + } + } + } + }, "HostDecommissionSpec": { "required": [ "fqdn" @@ -45633,6 +46565,7 @@ "type": "object", "properties": { "fqdn": { + "minLength": 1, "type": "string", "description": "FQDN of the host" } diff --git a/specifications/vcf-installer/vcf-installer-openapi.json b/specifications/vcf-installer/vcf-installer-openapi.json index 84103b6..caf879e 100644 --- a/specifications/vcf-installer/vcf-installer-openapi.json +++ b/specifications/vcf-installer/vcf-installer-openapi.json @@ -7,7 +7,7 @@ "license": { "name": "VMware Cloud Foundation" }, - "version": "9.1.0.0" + "version": "9.1.1.0" }, "servers": [ { @@ -75,22 +75,22 @@ "description": "Get the depot configuration. In a fresh setup, this would be empty.", "operationId": "getDepotSettings", "responses": { - "500": { - "description": "Internal Server Error", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/DepotSettings" } } } }, - "200": { - "description": "OK", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/DepotSettings" + "$ref": "#/components/schemas/Error" } } } @@ -101,8 +101,8 @@ "tags": [ "DepotSettings" ], - "summary": "Configure the depot credentials", - "description": "Update depot settings. Depot settings can be updated with VMware Depot account", + "summary": "Configure depot settings", + "description": "Updates the depot settings using a VMware Depot account. If a trusted certificate chain is provided for an offline HTTPS depot configuration, each certificate in the chain is added to the appliance trust stores (`VCF CS keystore` and `JVM cacerts`). The certificates are also propagated to the OS trust store (`/etc/ssl/certs`) on the VMs.", "operationId": "updateDepotSettings", "requestBody": { "content": { @@ -315,8 +315,8 @@ } } }, - "500": { - "description": "Internal Server Error", + "400": { + "description": "Installation already exists", "content": { "application/json": { "schema": { @@ -325,8 +325,8 @@ } } }, - "400": { - "description": "Installation already exists", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -502,12 +502,12 @@ "summary": "Retrieve a list of VCF (or VVF) installation validations", "operationId": "getSddcSpecValidations", "responses": { - "501": { - "description": "Not Implemented", + "200": { + "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/PageOfValidation" } } } @@ -532,12 +532,12 @@ } } }, - "200": { - "description": "Success", + "501": { + "description": "Not Implemented", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageOfValidation" + "$ref": "#/components/schemas/Error" } } } @@ -562,8 +562,8 @@ "required": true }, "responses": { - "202": { - "description": "Accepted", + "200": { + "description": "Success", "content": { "application/json": { "schema": { @@ -572,8 +572,8 @@ } } }, - "200": { - "description": "Success", + "202": { + "description": "Accepted", "content": { "application/json": { "schema": { @@ -592,8 +592,8 @@ } } }, - "404": { - "description": "Not Found", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -602,8 +602,8 @@ } } }, - "500": { - "description": "Internal Server Error", + "404": { + "description": "Not Found", "content": { "application/json": { "schema": { @@ -612,8 +612,8 @@ } } }, - "403": { - "description": "Forbidden", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -644,18 +644,18 @@ "required": true }, "responses": { - "400": { - "description": "Bad Request", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/SddcManagerDiscoveryResult" } } } }, - "500": { - "description": "InternalServerError", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -664,12 +664,12 @@ } } }, - "200": { - "description": "OK", + "500": { + "description": "InternalServerError", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SddcManagerDiscoveryResult" + "$ref": "#/components/schemas/Error" } } } @@ -696,28 +696,28 @@ "required": true }, "responses": { - "400": { - "description": "Bad user input", + "202": { + "description": "Accepted", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/CapacityValidation" } } } }, - "202": { - "description": "Accepted", + "400": { + "description": "Bad user input", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CapacityValidation" + "$ref": "#/components/schemas/Error" } } } }, - "500": { - "description": "Internal Server Error", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -726,8 +726,8 @@ } } }, - "403": { - "description": "Forbidden", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -800,22 +800,22 @@ "required": true }, "responses": { - "500": { - "description": "InternalServerError", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/InstallerSpec" } } } }, - "200": { - "description": "OK", + "500": { + "description": "InternalServerError", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/InstallerSpec" + "$ref": "#/components/schemas/Error" } } } @@ -858,8 +858,8 @@ "tags": [ "Trusted Certificates" ], - "summary": "Add a trusted certificate to the appliance's trust store", - "description": "Add a trusted certificate to the appliance's trust store.", + "summary": "Add a trusted certificate to the appliance trust stores", + "description": "Adds the certificate to the VCF CS keystore, JVM cacerts, and the OS trust store (/etc/ssl/certs).", "operationId": "addTrustedCertificate", "requestBody": { "content": { @@ -995,22 +995,22 @@ "required": true }, "responses": { - "410": { - "description": "This API is no longer supported from VCF 9.0. Please refer to POST v1/product-binaries instead.", + "202": { + "description": "Accepted", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/Task" } } } }, - "202": { - "description": "Accepted", + "410": { + "description": "This API is no longer supported from VCF 9.0. Please refer to POST v1/product-binaries instead.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Task" + "$ref": "#/components/schemas/Error" } } } @@ -1059,18 +1059,18 @@ "required": true }, "responses": { - "400": { - "description": "Bad Request", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "type": "string" } } } }, - "404": { - "description": "Not Found", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -1079,8 +1079,8 @@ } } }, - "500": { - "description": "Internal Server Error", + "404": { + "description": "Not Found", "content": { "application/json": { "schema": { @@ -1089,12 +1089,12 @@ } } }, - "200": { - "description": "OK", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { - "type": "string" + "$ref": "#/components/schemas/Error" } } } @@ -1117,33 +1117,34 @@ "description": "Task id to retrieve", "required": true, "schema": { + "minLength": 1, "type": "string" } } ], "responses": { - "500": { - "description": "Unexpected error", + "200": { + "description": "A task object.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/Task" } } } }, - "200": { - "description": "A task object.", + "404": { + "description": "Task not found", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Task" + "$ref": "#/components/schemas/Error" } } } }, - "404": { - "description": "Task not found", + "500": { + "description": "Unexpected error", "content": { "application/json": { "schema": { @@ -1168,13 +1169,17 @@ "description": "Task id for cancelling", "required": true, "schema": { + "minLength": 1, "type": "string" } } ], "responses": { - "409": { - "description": "Task can not be cancelled. Only a IN_PROGRESS task can be cancelled.", + "200": { + "description": "Task was cancelled successfully." + }, + "404": { + "description": "Task not found", "content": { "application/json": { "schema": { @@ -1183,8 +1188,8 @@ } } }, - "500": { - "description": "Unexpected error", + "409": { + "description": "Task can not be cancelled. Only a IN_PROGRESS task can be cancelled.", "content": { "application/json": { "schema": { @@ -1193,11 +1198,8 @@ } } }, - "200": { - "description": "Task was cancelled successfully." - }, - "404": { - "description": "Task not found", + "500": { + "description": "Unexpected error", "content": { "application/json": { "schema": { @@ -1222,13 +1224,17 @@ "description": "Task id retry", "required": true, "schema": { + "minLength": 1, "type": "string" } } ], "responses": { - "500": { - "description": "Unexpected error", + "200": { + "description": "Task was retried successfully." + }, + "404": { + "description": "Task not found", "content": { "application/json": { "schema": { @@ -1237,9 +1243,6 @@ } } }, - "200": { - "description": "Task was retried successfully." - }, "409": { "description": "Task can not be retried. Only a failed Task can be retried.", "content": { @@ -1250,8 +1253,8 @@ } } }, - "404": { - "description": "Task not found", + "500": { + "description": "Unexpected error", "content": { "application/json": { "schema": { @@ -1473,22 +1476,22 @@ "required": true }, "responses": { - "400": { - "description": "Bad request", + "202": { + "description": "Accepted", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/Task" } } } }, - "202": { - "description": "Accepted", + "400": { + "description": "Bad request", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Task" + "$ref": "#/components/schemas/Error" } } } @@ -1549,28 +1552,28 @@ "required": true }, "responses": { - "409": { - "description": "The request could not be completed due to a conflict with the current state", + "202": { + "description": "Accepted", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/Task" } } } }, - "202": { - "description": "Accepted", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Task" + "$ref": "#/components/schemas/Error" } } } }, - "400": { - "description": "Bad Request", + "409": { + "description": "The request could not be completed due to a conflict with the current state", "content": { "application/json": { "schema": { @@ -1706,8 +1709,8 @@ } } }, - "405": { - "description": "Not allowed", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -1716,8 +1719,8 @@ } } }, - "400": { - "description": "Bad Request", + "404": { + "description": "Not Found", "content": { "application/json": { "schema": { @@ -1726,8 +1729,8 @@ } } }, - "404": { - "description": "Not Found", + "405": { + "description": "Not allowed", "content": { "application/json": { "schema": { @@ -1770,18 +1773,18 @@ } ], "responses": { - "404": { - "description": "Bundle Not Found", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/Bundle" } } } }, - "500": { - "description": "Internal Server Error", + "404": { + "description": "Bundle Not Found", "content": { "application/json": { "schema": { @@ -1790,12 +1793,12 @@ } } }, - "200": { - "description": "OK", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Bundle" + "$ref": "#/components/schemas/Error" } } } @@ -1844,8 +1847,8 @@ } } }, - "500": { - "description": "Internal Server Error", + "409": { + "description": "Conflict", "content": { "application/json": { "schema": { @@ -1854,8 +1857,8 @@ } } }, - "409": { - "description": "Conflict", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -1916,8 +1919,8 @@ } } }, - "500": { - "description": "Internal Server Error", + "409": { + "description": "Conflict", "content": { "application/json": { "schema": { @@ -1926,8 +1929,8 @@ } } }, - "409": { - "description": "Conflict", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -1999,22 +2002,22 @@ } ], "responses": { - "404": { - "description": "VcfService not found", + "200": { + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/VcfService" } } } }, - "200": { - "description": "Ok", + "404": { + "description": "VcfService not found", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/VcfService" + "$ref": "#/components/schemas/Error" } } } @@ -2149,22 +2152,22 @@ } ], "responses": { - "500": { - "description": "Unexpected error", + "200": { + "description": "Returns the list of tasks.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/PageOfTask" } } } }, - "200": { - "description": "Returns the list of tasks.", + "500": { + "description": "Unexpected error", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageOfTask" + "$ref": "#/components/schemas/Error" } } } @@ -2191,8 +2194,8 @@ } } }, - "500": { - "description": "Internal Server Error", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -2201,8 +2204,8 @@ } } }, - "403": { - "description": "Forbidden", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -2461,16 +2464,6 @@ } ], "responses": { - "501": { - "description": "Not Implemented", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } - }, "200": { "description": "Success", "content": { @@ -2500,6 +2493,16 @@ } } } + }, + "501": { + "description": "Not Implemented", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } } } } @@ -2636,8 +2639,8 @@ } } }, - "404": { - "description": "Release Not Found", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -2646,8 +2649,8 @@ } } }, - "500": { - "description": "Internal Server Error", + "404": { + "description": "Release Not Found", "content": { "application/json": { "schema": { @@ -2656,8 +2659,8 @@ } } }, - "403": { - "description": "Forbidden", + "500": { + "description": "Internal Server Error", "content": { "application/json": { "schema": { @@ -2753,18 +2756,18 @@ } ], "responses": { - "400": { - "description": "Bad Request", + "200": { + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/PageOfReleaseComponentDetail" } } } }, - "500": { - "description": "InternalServerError", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -2783,12 +2786,12 @@ } } }, - "200": { - "description": "Ok", + "500": { + "description": "InternalServerError", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageOfReleaseComponentDetail" + "$ref": "#/components/schemas/Error" } } } @@ -2942,8 +2945,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -2952,8 +2955,8 @@ } } }, - "400": { - "description": "Bad Request", + "404": { + "description": "Not Found", "content": { "application/json": { "schema": { @@ -2962,8 +2965,8 @@ } } }, - "500": { - "description": "InternalServerError", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -2972,8 +2975,8 @@ } } }, - "404": { - "description": "Not Found", + "500": { + "description": "InternalServerError", "content": { "application/json": { "schema": { @@ -3026,12 +3029,12 @@ } ], "responses": { - "422": { - "description": "Unprocessable Entity", + "200": { + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/CustomPatches" } } } @@ -3046,8 +3049,8 @@ } } }, - "500": { - "description": "InternalServerError", + "404": { + "description": "Not Found", "content": { "application/json": { "schema": { @@ -3055,9 +3058,9 @@ } } } - }, - "404": { - "description": "Not Found", + }, + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -3066,12 +3069,12 @@ } } }, - "200": { - "description": "Ok", + "500": { + "description": "InternalServerError", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CustomPatches" + "$ref": "#/components/schemas/Error" } } } @@ -3182,22 +3185,22 @@ } ], "responses": { - "404": { - "description": "Domain Not Found", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Error" + "$ref": "#/components/schemas/PageOfBundle" } } } }, - "200": { - "description": "OK", + "404": { + "description": "Domain Not Found", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageOfBundle" + "$ref": "#/components/schemas/Error" } } } @@ -3241,6 +3244,59 @@ } } }, + "/v1/tasks/history": { + "delete": { + "tags": [ + "Tasks" + ], + "summary": "Delete Task History", + "description": "Delete the history of one or more tasks by ID. Only tasks in a terminal/immutable state (completed successfully or failed non-retriable) can be deleted. Each task is processed independently; the response reports per-task success and failure.", + "operationId": "deleteTaskHistories", + "requestBody": { + "description": "List of task IDs whose history should be deleted", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskHistoryDeletionRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation completed. Check 'successful' and 'failed' lists in the response for per-task results.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskHistoryDeletionResult" + } + } + } + }, + "400": { + "description": "Invalid request body (e.g. empty taskIds list).", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "500": { + "description": "Unexpected error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + } + } + }, "/v1/sddc-manager/trusted-certificates/{alias}": { "delete": { "tags": [ @@ -3261,6 +3317,13 @@ } ], "responses": { + "204": { + "description": "No Content" + }, + "404": { + "description": "Not Found", + "x-vmw-compiler-skip": true + }, "500": { "description": "Internal server error", "content": { @@ -3270,13 +3333,6 @@ } } } - }, - "204": { - "description": "No Content" - }, - "404": { - "description": "Not Found", - "x-vmw-compiler-skip": true } } } @@ -3331,6 +3387,8 @@ "description": "IP/Hostname of the depot" }, "port": { + "maximum": 9223372036854775807, + "minimum": 0, "type": "integer", "description": "Port of the depot", "format": "int32" @@ -3341,6 +3399,14 @@ "pattern": "^(https?://[^\\s]+)$", "type": "string", "description": "Depot URL (Currently used only for VCF offline depot). Supports HTTP no-auth for unauthenticated offline depot access." + }, + "trustedCertificates": { + "type": "array", + "description": "Trusted certificate chain for the HTTPs offline depot", + "items": { + "type": "string", + "description": "Trusted certificate chain for the HTTPs offline depot" + } } }, "description": "Depot Configuration" @@ -3568,6 +3634,8 @@ "description": "Enable vSAN DIT encryption" }, "rekeyInterval": { + "maximum": 9223372036854775807, + "minimum": 0, "type": "integer", "description": "Periodical rekeying interval in minutes for vSAN DIT encryption", "format": "int32" @@ -3582,6 +3650,7 @@ "type": "object", "properties": { "subdomain": { + "minLength": 1, "pattern": "^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\-]*[a-zA-Z0-9])\\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\\-]*[A-Za-z0-9])$", "type": "string", "description": "Tenant Sub domain. Includes the full domain suffix", @@ -3609,16 +3678,20 @@ "type": "object", "properties": { "vlan": { + "maximum": 9223372036854775807, + "minimum": 0, "type": "integer", "description": "VLAN for Distributed Transit Gateway", "format": "int64" }, "gatewayCidr": { + "minLength": 1, "pattern": "^([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\/(([0-9])|([12][0-9])|(3[0-2]))$", "type": "string", "description": "Gateway CIDR for Distributed Transit Gateway" }, "externalIpBlockCidr": { + "minLength": 1, "pattern": "^([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\/(([0-9])|([12][0-9])|(3[0-2]))$", "type": "string", "description": "External IP Block CIDR for VPCs, required for external connectivity via DTGW" @@ -3638,6 +3711,8 @@ "type": "object", "properties": { "dvsName": { + "maxLength": 80, + "minLength": 0, "type": "string", "description": "vSphere Distributed Switch Name. It will be auto-generated if blank", "example": "VdsName" @@ -3653,10 +3728,10 @@ } }, "mtu": { - "maximum": 9190, - "minimum": 1280, + "maximum": 9223372036854775807, + "minimum": 0, "type": "integer", - "description": "Distributed vSphere Switch MTU (default value is 9000). If not specified during cluster creation or domain creation (with NSX sharing), this value will be automatically populated with the NSX Global Config Physical Uplink MTU from the associated NSX cluster.", + "description": "Distributed vSphere Switch MTU (default value is 9000). If not specified during cluster creation or domain creation (with NSX sharing), this value will be automatically populated with the Physical Uplink MTU specified in the NSX Global Config from the associated NSX cluster.", "format": "int32", "example": 9000 }, @@ -3818,11 +3893,13 @@ "type": "object", "properties": { "start": { + "minLength": 1, "pattern": "^([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])$", "type": "string", "description": "The first IP Address of the IP Address Range" }, "end": { + "minLength": 1, "pattern": "^([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])$", "type": "string", "description": "The last IP Address of the IP Address Range" @@ -3837,6 +3914,7 @@ "type": "object", "properties": { "name": { + "minLength": 1, "pattern": "^[a-zA-Z0-9-_]+$", "type": "string", "description": "Name of the IP address pool" @@ -3868,6 +3946,7 @@ "type": "object", "properties": { "ipAddressPoolRanges": { + "minItems": 1, "type": "array", "description": "List of the IP allocation ranges. Atleast 1 IP address range has to be specified", "items": { @@ -3875,10 +3954,12 @@ } }, "cidr": { + "minLength": 1, "type": "string", "description": "The subnet representation, contains the network address and the prefix length" }, "gateway": { + "minLength": 1, "pattern": "^([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])$", "type": "string", "description": "The default gateway address of the network" @@ -3953,6 +4034,8 @@ "description": "LAG name" }, "uplinksCount": { + "maximum": 9223372036854775807, + "minimum": 0, "type": "integer", "description": "Number of uplinks/ports in this LAG", "format": "int32" @@ -3985,6 +4068,7 @@ "type": "object", "properties": { "hostname": { + "minLength": 1, "type": "string", "description": "Host name", "example": "license-server.rainpole.io" @@ -4017,6 +4101,7 @@ "type": "object", "properties": { "serverName": { + "minItems": 1, "type": "array", "description": "NFS Server name used for cluster creation", "items": { @@ -4025,6 +4110,7 @@ } }, "path": { + "minLength": 1, "type": "string", "description": "Shared directory path used for NFS based cluster creation" }, @@ -4076,7 +4162,7 @@ "properties": { "transportZones": { "type": "array", - "description": "The list of transport zones to be associated with the vSphere Distributed Switch managed by NSX", + "description": "The list of transport zones to be associated with the vSphere Distributed Switch managed by NSX. When creating a new cluster in an existing domain configured for NSX Overlay, only the VLAN transport zones specified in the input will be configured for the cluster. Any overlay transport zones specified in the input will be ignored, and the domain's default overlay transport zone will be used instead.", "items": { "$ref": "#/components/schemas/TransportZone" } @@ -4094,10 +4180,26 @@ }, "description": "This specification contains the configurations to be associated with the vSphere Distributed Switch managed by NSX" }, + "OverlayVtepSpec": { + "type": "object", + "properties": { + "vtepType": { + "pattern": "(NO_IP)", + "type": "string", + "description": "The overlay VTEP configuration type for configuring vSphere cluster for NSX Overlay", + "nullable": true, + "example": "One among: NO_IP" + } + }, + "description": "This specification defines the NSX overlay VTEP configuration for the vSphere cluster in terms of IP assignment type for the VTEPs. Specifying OverlayVtepSpec with VtepType NO_IP disables VTEP creation on hosts, enabling the NSX VLAN Backed VPC configuration. At this point in time, configuring the NSX overlay VTEP by the means of DHCP or static IP pool assignment types can be done without specifying any OverlayVtepSpec.", + "nullable": true + }, "ResourcePoolSpec": { "type": "object", "properties": { "name": { + "maxLength": 80, + "minLength": 0, "type": "string", "description": "Resource Pool name. It will be auto-generated if blank" }, @@ -4217,11 +4319,15 @@ "type": "object", "properties": { "datacenterName": { + "maxLength": 80, + "minLength": 0, "type": "string", "description": "vCenter Datacenter Name. It will be auto-generated if blank.", "example": "DatacenterName" }, "clusterName": { + "maxLength": 80, + "minLength": 0, "type": "string", "description": "vCenter Cluster Name. It will be auto-generated if blank.", "example": "ClusterName" @@ -4253,6 +4359,7 @@ "example": "root" }, "password": { + "minLength": 1, "type": "string", "description": "Password" } @@ -4381,6 +4488,7 @@ "type": "object", "properties": { "networkType": { + "minLength": 1, "type": "string", "description": "Network Type. One among: VSAN, VMOTION, MANAGEMENT, VM_MANAGEMENT, NFS, FLEET_MANAGEMENT or any custom network type", "example": "MANAGEMENT" @@ -4424,7 +4532,7 @@ } }, "vlanId": { - "maximum": 4094, + "maximum": 9223372036854775807, "minimum": 0, "type": "integer", "description": "VLAN ID", @@ -4432,8 +4540,8 @@ "example": 1000 }, "mtu": { - "maximum": 9190, - "minimum": 1280, + "maximum": 9223372036854775807, + "minimum": 0, "type": "integer", "description": "MTU size", "format": "int32" @@ -4460,6 +4568,8 @@ } }, "portGroupKey": { + "maxLength": 80, + "minLength": 0, "type": "string", "description": "Name of the Distributed Portgroup to be created. It will be autogenerated if null" }, @@ -4501,6 +4611,7 @@ "example": "medium" }, "vipFqdn": { + "minLength": 1, "type": "string", "description": "Hostname for VIP so that common SSL certificates can be installed across all managers." }, @@ -4523,6 +4634,8 @@ "description": "NSX audit password. The password must be at least 12 characters long. Must contain at-least 1 uppercase, 1 lowercase, 1 special character and 1 digit. In addition, a character cannot be repeated 3 or more times consectively. If blank, the SDDC Local Admin Password will be used (if provided) or password will be auto-generated." }, "transportVlanId": { + "maximum": 9223372036854775807, + "minimum": 0, "type": "integer", "description": "Transport VLAN ID. Default '0' if not specified", "format": "int32", @@ -4544,6 +4657,9 @@ "example": true, "default": false }, + "overlayVtepSpec": { + "$ref": "#/components/schemas/OverlayVtepSpec" + }, "version": { "type": "string", "description": "Version", @@ -4584,7 +4700,7 @@ "pattern": "(VCF|VCF_COMPLETE|VCF_EXTEND|VVF|VCF_BOOTSTRAP)", "type": "string", "description": "Type of workflow to initiate creation and/or validation of SDDC. If building a secondary VCF instance to connect it to the fleet, specify workflowType as VCF_EXTEND.", - "example": "One among: VCF, VCF_EXTEND, VVF" + "example": "One among: VCF, VCF_COMPLETE, VCF_EXTEND, VVF" }, "hostSpecs": { "type": "array", @@ -4784,8 +4900,10 @@ "type": "object", "properties": { "platformFqdn": { + "minLength": 1, + "pattern": "^$|^[a-zA-Z0-9]([-a-zA-Z0-9]{0,61}[a-zA-Z0-9])?(?:\\..*)?$", "type": "string", - "description": "VSP cluster primary FQDN.", + "description": "VSP cluster primary FQDN. Short hostname part of the FQDN must be maximum 63 characters in length and may contain alphanumeric characters and dashes.", "example": "vsp-cluster.rainpole.io" }, "systemUserPassword": { @@ -4803,18 +4921,18 @@ }, "size": { "type": "string", - "description": "Size of VSP cluster. One among: small, medium, large", - "example": "Small" + "description": "Size of VSP cluster. One among: small, small_ha, medium, large (small_ha is for management VSP cluster only and cannot be used for consumption VSP cluster (VCF Automation)).", + "example": "small" }, "internalClusterCidrIpv4": { "type": "string", - "description": "Internal Cluster CIDR for IPv4. The set of addresses must be completely unique and not in use anywhere in your entire environment.", + "description": "Internal Cluster CIDR for IPv4. The set of addresses must be completely unique and not in use anywhere in your entire environment. Supported values: 198.18.0.0/15, 240.0.0.0/15, 250.0.0.0/15.", "example": "198.18.0.0/15", "default": "198.18.0.0/15" }, "internalClusterCidrIpv6": { "type": "string", - "description": "Internal Cluster CIDR for IPv6. The set of addresses must be completely unique and not in use anywhere in your entire environment.", + "description": "Internal Cluster CIDR for IPv6. The set of addresses must be completely unique and not in use anywhere in your entire environment. Supported values: fd00::/111, fd00::0/111, fc00::/111, fc00::0/111, fc00::4:0/111, fc00::0004:0/111.", "example": "fd00::/111", "default": "fd00::/111" }, @@ -4873,12 +4991,14 @@ "type": "object", "properties": { "policy": { + "minLength": 1, "pattern": "(FAILOVER_ORDER|LOADBALANCE_SRCID|LOADBALANCE_SRC_MAC)", "type": "string", "description": "The teaming policy associated with the uplink profile", "example": "One among: FAILOVER_ORDER, LOADBALANCE_SRCID, LOADBALANCE_SRC_MAC" }, "activeUplinks": { + "minItems": 1, "type": "array", "description": "The list of active uplinks", "items": { @@ -4926,6 +5046,7 @@ "description": "The name of the transport zone" }, "transportType": { + "minLength": 1, "pattern": "(VLAN|OVERLAY)", "type": "string", "description": "The type of the transport zone", @@ -4942,13 +5063,15 @@ "type": "object", "properties": { "hostname": { + "minLength": 1, "type": "string", "description": "Host name", "example": "vcfautomation.rainpole.io" }, "platformFqdn": { + "pattern": "^$|^[a-zA-Z0-9]([-a-zA-Z0-9]{0,61}[a-zA-Z0-9])?(?:\\..*)?$", "type": "string", - "description": "FQDN of the VSP platform (required when useExistingDeployment is not 'true')", + "description": "FQDN of the VSP platform (required when useExistingDeployment is not 'true'). Short hostname part of the FQDN must be maximum 63 characters in length and may contain alphanumeric characters and dashes.", "example": "vsp-platform.rainpole.io" }, "adminUserPassword": { @@ -5024,6 +5147,7 @@ "type": "object", "properties": { "networkName": { + "minLength": 1, "type": "string", "description": "Name of the network to be used for deployment" }, @@ -5046,6 +5170,8 @@ "description": "Gateway for IPv6 network" }, "ipv6Prefix": { + "maximum": 9223372036854775807, + "minimum": 0, "type": "integer", "description": "Prefix for IPv6 network", "format": "int32" @@ -5060,6 +5186,7 @@ "type": "object", "properties": { "hostname": { + "minLength": 1, "type": "string", "description": "Host name", "example": "vcf-operations-collector.rainpole.io" @@ -5101,6 +5228,7 @@ "type": "object", "properties": { "hostname": { + "minLength": 1, "type": "string", "description": "Host name", "example": "vcfoperations-master.rainpole.io" @@ -5148,7 +5276,7 @@ "applianceSize": { "pattern": "(xsmall|small|medium|large|xlarge)", "type": "string", - "description": "VCF Operations appliance size. One among: xsmall, small, medium, large, xlarge for Simple deployment model and one among: medium, large, xlarge for High Availability. Default value if not provided is medium for both deployment models.", + "description": "VCF Operations appliance size. One among: xsmall, small, medium, large, xlarge for Simple deployment model and one among: small, medium, large, xlarge for High Availability. Default value if not provided is medium for both deployment models.", "example": "medium" }, "loadBalancerFqdn": { @@ -5176,6 +5304,7 @@ "type": "object", "properties": { "hostname": { + "minLength": 1, "type": "string", "description": "VIDB hostname.", "example": "vidb.vcf.local" @@ -5214,11 +5343,13 @@ "type": "object", "properties": { "id": { + "minLength": 1, "type": "string", "description": "VmNic ID of vSphere host to be associated with VDS, once added to cluster", "example": "vmnic0" }, "uplink": { + "minLength": 1, "type": "string", "description": "The uplink name of the vSphere Distributed Switch to be associated", "example": "uplink1" @@ -5227,11 +5358,16 @@ "description": "This specification contains vmnic to uplink configurations for vSphere host." }, "VpcSpec": { - "required": [ - "dtgwSpec" - ], "type": "object", "properties": { + "vpcNetworkConfigurationType": { + "pattern": "(VLAN_BACKED_VPC|FULL_STACK_VPC)", + "type": "string", + "description": "VPC network configuration type. Only applicable for shell domains. Allowed values: VLAN_BACKED_VPC, FULL_STACK_VPC. Defaults to FULL_STACK_VPC when not provided.", + "nullable": true, + "example": "One among: VLAN_BACKED_VPC, FULL_STACK_VPC, VPC_UNSUPPORTED, INVALID_TYPE", + "default": "FULL_STACK_VPC" + }, "dtgwSpec": { "$ref": "#/components/schemas/DtgwSpec" } @@ -5244,6 +5380,10 @@ "enabled": { "type": "boolean", "description": "Whether the vSAN ESA is enabled." + }, + "skipHclAutoDiskClaim": { + "type": "boolean", + "description": "Whether to enable or disable vSAN auto disk claim for vSAN ESA cluster" } }, "description": "This spec contains cluster vSAN ESA configuration" @@ -5252,6 +5392,8 @@ "type": "object", "properties": { "datastoreName": { + "maxLength": 80, + "minLength": 0, "type": "string", "description": "Datastore Name. It will be auto-generated if blank" }, @@ -5436,6 +5578,7 @@ "readOnly": true }, "status": { + "minLength": 1, "type": "string", "description": "SDDC Task status. One among: IN_PROGRESS, COMPLETED_WITH_SUCCESS, ROLLBACK_SUCCESS, COMPLETED_WITH_FAILURE", "readOnly": true, @@ -5750,21 +5893,32 @@ "type": "object", "properties": { "address": { + "minLength": 1, "type": "string", "description": "vCenter address." }, "username": { + "minLength": 1, "type": "string", "description": "SSO username." }, "password": { + "minLength": 1, "type": "string", "description": "SSO password." }, "sslThumbprint": { + "minLength": 1, "type": "string", "description": "vCenter SSL thumbprint (SHA256)", "example": "3D:D0:EE:B5:A0:CC:45:08:5C:4F:84:51:CD:00:B6:41:BB:4A:A2:9A:77:1C:A6:4C:6D:84:5A:D0:4F:68:7A:B8" + }, + "vcfOpsNodesToVerify": { + "type": "array", + "description": "VCF Operations nodes to verify against this vCenter. For each node whose type is not cloudproxy or witness, the discovery checks whether a VM with the node's address exists and returns the results in foundVmAddresses and missingVmAddresses. Nodes are typically obtained from the VCF Operations discovery (discoverVcfOps).", + "items": { + "$ref": "#/components/schemas/VcfOperationsNodeInfo" + } } }, "description": "vCenter specification holding endpoint information which to query for topology/discovery data." @@ -5782,6 +5936,26 @@ }, "nsxInfo": { "$ref": "#/components/schemas/VcenterNsxInfo" + }, + "foundVmAddresses": { + "type": "array", + "description": "Node addresses from vcfOpsNodesToVerify whose VMs were found in this vCenter.", + "readOnly": true, + "items": { + "type": "string", + "description": "Node addresses from vcfOpsNodesToVerify whose VMs were found in this vCenter.", + "readOnly": true + } + }, + "missingVmAddresses": { + "type": "array", + "description": "Node addresses from vcfOpsNodesToVerify whose VMs were NOT found in this vCenter.", + "readOnly": true, + "items": { + "type": "string", + "description": "Node addresses from vcfOpsNodesToVerify whose VMs were NOT found in this vCenter.", + "readOnly": true + } } }, "description": "Topology discovery result from querying vCenter instance." @@ -5899,6 +6073,7 @@ "readOnly": true }, "description": { + "minLength": 1, "type": "string", "description": "Description of the validation", "readOnly": true @@ -5939,6 +6114,7 @@ "type": "object", "properties": { "description": { + "minLength": 1, "type": "string", "description": "Description of the validation check", "readOnly": true @@ -5984,18 +6160,22 @@ "type": "object", "properties": { "address": { + "minLength": 1, "type": "string", "description": "SDDC Manager instance address." }, "adminUsername": { + "minLength": 1, "type": "string", "description": "Admin username." }, "adminPassword": { + "minLength": 1, "type": "string", "description": "Admin password." }, "sslThumbprint": { + "minLength": 1, "type": "string", "description": "SDDC Manager SSL thumbprint (SHA256).", "example": "3D:D0:EE:B5:A0:CC:45:08:5C:4F:84:51:CD:00:B6:41:BB:4A:A2:9A:77:1C:A6:4C:6D:84:5A:D0:4F:68:7A:B8" @@ -6465,6 +6645,7 @@ "readOnly": true }, "description": { + "minLength": 1, "type": "string", "description": "Description of the validation", "readOnly": true @@ -6584,6 +6765,7 @@ "type": "object", "properties": { "storageType": { + "minLength": 1, "type": "string", "description": "Storage type of the Management Domain", "enum": [ @@ -6594,6 +6776,7 @@ ] }, "hostSpecs": { + "minItems": 1, "type": "array", "description": "List of hosts which will be used for the Management Domain", "items": { @@ -6606,10 +6789,10 @@ "example": "vcf.vmware.com" }, "nsxConfigType": { - "pattern": "(NSX_SEPARATION|NO_NSX_SEPARATION)", + "pattern": "(NSX_SEPARATION|NO_NSX_SEPARATION|NSX_SEPARATION_VTEP_LESS)", "type": "string", "description": "NSX Config Type", - "example": "One among: NSX_SEPARATION, NO_NSX_SEPARATION" + "example": "One among: NSX_SEPARATION, NO_NSX_SEPARATION, NSX_SEPARATION_VTEP_LESS" }, "additionalPortGroups": { "type": "array", @@ -6729,6 +6912,7 @@ } }, "subdomain": { + "minLength": 1, "pattern": "^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\-]*[a-zA-Z0-9])\\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\\-]*[A-Za-z0-9])$", "type": "string", "description": "Tenant Sub domain. Includes the full domain suffix", @@ -6764,6 +6948,7 @@ "type": "object", "properties": { "certificate": { + "minLength": 1, "type": "string", "description": "Certificate in PEM format", "example": "-----BEGIN CERTIFICATE-----\nMIIFq...\n-----END CERTIFICATE-----" @@ -6902,16 +7087,19 @@ "type": "object", "properties": { "name": { + "minLength": 1, "type": "string", "description": "Stage name", "readOnly": true }, "type": { + "minLength": 1, "type": "string", "description": "Stage type", "readOnly": true }, "description": { + "minLength": 1, "type": "string", "description": "Stage description", "readOnly": true @@ -6952,16 +7140,19 @@ "type": "object", "properties": { "name": { + "minLength": 1, "type": "string", "description": "Sub-task name", "readOnly": true }, "type": { + "minLength": 1, "type": "string", "description": "Sub-task type", "readOnly": true }, "description": { + "minLength": 1, "type": "string", "description": "Sub-task description", "readOnly": true @@ -7031,11 +7222,13 @@ "type": "object", "properties": { "id": { + "minLength": 1, "type": "string", "description": "Task ID", "readOnly": true }, "name": { + "minLength": 1, "type": "string", "description": "Task name", "readOnly": true @@ -7050,6 +7243,7 @@ "example": "Sample values: HOST_COMMISSION, HOST_DECOMMISSION" }, "status": { + "minLength": 1, "type": "string", "description": "Task status", "readOnly": true, @@ -7115,6 +7309,8 @@ "type": "object", "properties": { "maxAllowedDomainsInSubscription": { + "minimum": 0, + "exclusiveMinimum": true, "type": "integer", "description": "new limit of amount of domains in subscription mode", "format": "int32" @@ -7461,16 +7657,19 @@ "type": "object", "properties": { "bundleId": { + "minLength": 1, "type": "string", "description": "Bundle ID of the patch bundle", "readOnly": true }, "bundleType": { + "minLength": 1, "type": "string", "description": "Bundle type of the patch bundle", "readOnly": true }, "bundleElements": { + "minItems": 1, "type": "array", "description": "Bundle elements of the patch bundle", "readOnly": true, @@ -7481,6 +7680,7 @@ } }, "cumulativeFromVcfVersion": { + "minLength": 1, "type": "string", "description": "Minimum VCF version that this patch bundle can be directly applied on", "readOnly": true @@ -7497,6 +7697,7 @@ "type": "object", "properties": { "name": { + "minLength": 1, "type": "string", "description": "Name of the product. e.g ESX", "readOnly": true @@ -7512,6 +7713,7 @@ "readOnly": true }, "publicName": { + "minLength": 1, "type": "string", "description": "Public name of the product, e.g VMware ESXi", "readOnly": true @@ -7551,11 +7753,13 @@ "type": "object", "properties": { "product": { + "minLength": 1, "type": "string", "description": "Name of the product e.g. \"VCF\"", "readOnly": true }, "version": { + "minLength": 1, "type": "string", "description": "Version of the release", "readOnly": true @@ -7576,6 +7780,7 @@ "readOnly": true }, "bom": { + "minItems": 1, "type": "array", "description": "Release bill of materials", "readOnly": true, @@ -7648,21 +7853,25 @@ "type": "object", "properties": { "id": { + "minLength": 1, "type": "string", "description": "Release version", "readOnly": true }, "productName": { + "minLength": 1, "type": "string", "description": "Product name for which the release update is provided", "readOnly": true }, "baseProductVersion": { + "minLength": 1, "type": "string", "description": "Base product version for the release", "readOnly": true }, "description": { + "minLength": 1, "type": "string", "description": "Description of the release update", "readOnly": true @@ -7727,16 +7936,19 @@ "type": "object", "properties": { "bundleType": { + "minLength": 1, "type": "string", "description": "Bundle type of the patch bundle", "readOnly": true }, "bundleVersion": { + "minLength": 1, "type": "string", "description": "Bundle Version of the product", "readOnly": true }, "version": { + "minLength": 1, "type": "string", "description": "Product version", "readOnly": true @@ -7753,6 +7965,7 @@ "type": "object", "properties": { "productVersion": { + "minLength": 1, "type": "string", "description": "Product version of the install/patch bundle", "readOnly": true @@ -7776,6 +7989,7 @@ "type": "object", "properties": { "bundles": { + "minItems": 1, "type": "array", "description": "List of bundle artifacts for corresponding product patch/install version", "readOnly": true, @@ -7797,21 +8011,26 @@ "type": "object", "properties": { "id": { + "minLength": 1, "type": "string", "description": "Bundle id", "readOnly": true }, "type": { + "minLength": 1, "type": "string", "description": "Type of bundle. ex) PATCH, INSTALL", "readOnly": true }, "name": { + "minLength": 1, "type": "string", "description": "Patch/Install bundle name", "readOnly": true }, "size": { + "minimum": 0, + "exclusiveMinimum": true, "type": "integer", "description": "Binary size", "format": "int64", @@ -7847,11 +8066,13 @@ "type": "object", "properties": { "name": { + "minLength": 1, "type": "string", "description": "Product name", "readOnly": true }, "sku": { + "minLength": 1, "type": "string", "description": "SKU of the install/patch bundle", "readOnly": true @@ -7886,6 +8107,7 @@ "type": "object", "properties": { "releaseVersion": { + "minLength": 1, "type": "string", "description": "VCF/VVF release version", "readOnly": true @@ -7957,11 +8179,13 @@ "example": "One among: APPLICABLE, NOT_APPLICABLE" }, "product": { + "minLength": 1, "type": "string", "description": "Name of the product e.g. \"VCF\"", "readOnly": true }, "version": { + "minLength": 1, "type": "string", "description": "Version of the release", "readOnly": true @@ -7982,6 +8206,7 @@ "readOnly": true }, "bom": { + "minItems": 1, "type": "array", "description": "Release bill of materials", "readOnly": true, @@ -8092,6 +8317,7 @@ "type": "object", "properties": { "version": { + "minLength": 1, "type": "string", "description": "Domain VCF release version", "readOnly": true @@ -8140,6 +8366,7 @@ "type": "object", "properties": { "releaseVersion": { + "minLength": 1, "type": "string", "description": "VCF/VVF release version", "readOnly": true @@ -8399,6 +8626,53 @@ "$ref": "#/components/schemas/PageMetadata" } } + }, + "TaskHistoryDeletionRequest": { + "required": [ + "taskIds" + ], + "type": "object", + "properties": { + "taskIds": { + "minItems": 1, + "type": "array", + "items": { + "minLength": 1, + "type": "string" + } + } + } + }, + "TaskHistoryDeletionError": { + "type": "object", + "properties": { + "taskId": { + "type": "string" + }, + "errorCode": { + "type": "string" + }, + "message": { + "type": "string" + } + } + }, + "TaskHistoryDeletionResult": { + "type": "object", + "properties": { + "successful": { + "type": "array", + "items": { + "type": "string" + } + }, + "failed": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TaskHistoryDeletionError" + } + } + } } } } diff --git a/specifications/vcf-operations/log-management-openapi.json b/specifications/vcf-operations/log-management-openapi.json index 4ada16f..f56edfc 100644 --- a/specifications/vcf-operations/log-management-openapi.json +++ b/specifications/vcf-operations/log-management-openapi.json @@ -3,7 +3,7 @@ "info" : { "description" : "This documentation covers v2 API endpoints.\n\nAuthenticated requests must include an X-JWT-Token header with a token retrieved with the following authenticated call to VCF Operation API : \n\nPOST /suite-api/api/auth/token/exchange \n\nRequest body {\"serviceKeys\": [\"ops-li\"]}.\n\nAccess is allowed only to resources that the user is authorized to use.", "title" : "Log Management API\n", - "version" : "9.1.0.0" + "version" : "9.1.1.0" }, "servers" : [ { "url" : "http://localhost:8787", @@ -1690,7 +1690,7 @@ }, "missing_order" : { "type" : "string", - "enum" : [ "First", "Last", "Default" ] + "enum" : [ "Default", "First", "Last" ] }, "order" : { "type" : "string", @@ -1707,11 +1707,6 @@ "charset" : { "type" : "string" }, - "creationDate" : { - "type" : "string", - "format" : "date-time", - "deprecated" : true - }, "filename" : { "type" : "string" }, @@ -1721,24 +1716,9 @@ "inline" : { "type" : "boolean" }, - "modificationDate" : { - "type" : "string", - "format" : "date-time", - "deprecated" : true - }, "name" : { "type" : "string" }, - "readDate" : { - "type" : "string", - "format" : "date-time", - "deprecated" : true - }, - "size" : { - "type" : "integer", - "format" : "int64", - "deprecated" : true - }, "type" : { "type" : "string" } @@ -1976,6 +1956,260 @@ } } }, + "HttpHeaders" : { + "type" : "object", + "properties" : { + "accept" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/MediaType" + } + }, + "acceptCharset" : { + "type" : "array", + "items" : { + "type" : "string" + } + }, + "acceptLanguage" : { + "type" : "array", + "items" : { + "type" : "object", + "properties" : { + "range" : { + "type" : "string" + }, + "weight" : { + "type" : "number", + "format" : "double" + } + } + } + }, + "acceptLanguageAsLocales" : { + "type" : "array", + "items" : { + "type" : "string" + } + }, + "acceptPatch" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/MediaType" + } + }, + "accessControlAllowCredentials" : { + "type" : "boolean" + }, + "accessControlAllowHeaders" : { + "type" : "array", + "items" : { + "type" : "string" + } + }, + "accessControlAllowMethods" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/HttpMethod" + } + }, + "accessControlAllowOrigin" : { + "type" : "string" + }, + "accessControlExposeHeaders" : { + "type" : "array", + "items" : { + "type" : "string" + } + }, + "accessControlMaxAge" : { + "type" : "integer", + "format" : "int64" + }, + "accessControlRequestHeaders" : { + "type" : "array", + "items" : { + "type" : "string" + } + }, + "accessControlRequestMethod" : { + "$ref" : "#/components/schemas/HttpMethod" + }, + "all" : { + "type" : "object", + "additionalProperties" : { + "type" : "string" + }, + "writeOnly" : true + }, + "allow" : { + "uniqueItems" : true, + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/HttpMethod" + } + }, + "basicAuth" : { + "type" : "string", + "writeOnly" : true + }, + "bearerAuth" : { + "type" : "string", + "writeOnly" : true + }, + "cacheControl" : { + "type" : "string" + }, + "connection" : { + "type" : "array", + "items" : { + "type" : "string" + } + }, + "contentDisposition" : { + "$ref" : "#/components/schemas/ContentDisposition" + }, + "contentLanguage" : { + "type" : "string" + }, + "contentLength" : { + "type" : "integer", + "format" : "int64" + }, + "contentType" : { + "$ref" : "#/components/schemas/MediaType" + }, + "date" : { + "type" : "integer", + "format" : "int64" + }, + "empty" : { + "type" : "boolean" + }, + "etag" : { + "type" : "string" + }, + "expires" : { + "type" : "integer", + "format" : "int64" + }, + "host" : { + "type" : "object", + "properties" : { + "address" : { + "type" : "object", + "properties" : { + "address" : { + "type" : "string", + "format" : "byte" + }, + "anyLocalAddress" : { + "type" : "boolean" + }, + "canonicalHostName" : { + "type" : "string" + }, + "hostAddress" : { + "type" : "string" + }, + "hostName" : { + "type" : "string" + }, + "linkLocalAddress" : { + "type" : "boolean" + }, + "loopbackAddress" : { + "type" : "boolean" + }, + "mcglobal" : { + "type" : "boolean" + }, + "mclinkLocal" : { + "type" : "boolean" + }, + "mcnodeLocal" : { + "type" : "boolean" + }, + "mcorgLocal" : { + "type" : "boolean" + }, + "mcsiteLocal" : { + "type" : "boolean" + }, + "multicastAddress" : { + "type" : "boolean" + }, + "siteLocalAddress" : { + "type" : "boolean" + } + } + }, + "hostName" : { + "type" : "string" + }, + "hostString" : { + "type" : "string" + }, + "port" : { + "type" : "integer", + "format" : "int32" + }, + "unresolved" : { + "type" : "boolean" + } + } + }, + "ifMatch" : { + "type" : "array", + "items" : { + "type" : "string" + } + }, + "ifModifiedSince" : { + "type" : "integer", + "format" : "int64" + }, + "ifNoneMatch" : { + "type" : "array", + "items" : { + "type" : "string" + } + }, + "ifUnmodifiedSince" : { + "type" : "integer", + "format" : "int64" + }, + "lastModified" : { + "type" : "integer", + "format" : "int64" + }, + "location" : { + "type" : "string", + "format" : "uri" + }, + "origin" : { + "type" : "string" + }, + "pragma" : { + "type" : "string" + }, + "range" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/HttpRange" + } + }, + "upgrade" : { + "type" : "string" + }, + "vary" : { + "type" : "array", + "items" : { + "type" : "string" + } + } + } + }, "HttpMethod" : { "type" : "object" }, @@ -2549,264 +2783,7 @@ } }, "headers" : { - "type" : "object", - "properties" : { - "accept" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/MediaType" - } - }, - "acceptCharset" : { - "type" : "array", - "items" : { - "type" : "string" - } - }, - "acceptLanguage" : { - "type" : "array", - "items" : { - "type" : "object", - "properties" : { - "range" : { - "type" : "string" - }, - "weight" : { - "type" : "number", - "format" : "double" - } - } - } - }, - "acceptLanguageAsLocales" : { - "type" : "array", - "items" : { - "type" : "string" - } - }, - "acceptPatch" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/MediaType" - } - }, - "accessControlAllowCredentials" : { - "type" : "boolean" - }, - "accessControlAllowHeaders" : { - "type" : "array", - "items" : { - "type" : "string" - } - }, - "accessControlAllowMethods" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/HttpMethod" - } - }, - "accessControlAllowOrigin" : { - "type" : "string" - }, - "accessControlExposeHeaders" : { - "type" : "array", - "items" : { - "type" : "string" - } - }, - "accessControlMaxAge" : { - "type" : "integer", - "format" : "int64" - }, - "accessControlRequestHeaders" : { - "type" : "array", - "items" : { - "type" : "string" - } - }, - "accessControlRequestMethod" : { - "$ref" : "#/components/schemas/HttpMethod" - }, - "all" : { - "type" : "object", - "additionalProperties" : { - "type" : "string" - }, - "writeOnly" : true - }, - "allow" : { - "uniqueItems" : true, - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/HttpMethod" - } - }, - "basicAuth" : { - "type" : "string", - "writeOnly" : true - }, - "bearerAuth" : { - "type" : "string", - "writeOnly" : true - }, - "cacheControl" : { - "type" : "string" - }, - "connection" : { - "type" : "array", - "items" : { - "type" : "string" - } - }, - "contentDisposition" : { - "$ref" : "#/components/schemas/ContentDisposition" - }, - "contentLanguage" : { - "type" : "string" - }, - "contentLength" : { - "type" : "integer", - "format" : "int64" - }, - "contentType" : { - "$ref" : "#/components/schemas/MediaType" - }, - "date" : { - "type" : "integer", - "format" : "int64" - }, - "empty" : { - "type" : "boolean" - }, - "etag" : { - "type" : "string" - }, - "expires" : { - "type" : "integer", - "format" : "int64" - }, - "host" : { - "type" : "object", - "properties" : { - "address" : { - "type" : "object", - "properties" : { - "address" : { - "type" : "string", - "format" : "byte" - }, - "anyLocalAddress" : { - "type" : "boolean" - }, - "canonicalHostName" : { - "type" : "string" - }, - "hostAddress" : { - "type" : "string" - }, - "hostName" : { - "type" : "string" - }, - "linkLocalAddress" : { - "type" : "boolean" - }, - "loopbackAddress" : { - "type" : "boolean" - }, - "mcglobal" : { - "type" : "boolean" - }, - "mclinkLocal" : { - "type" : "boolean" - }, - "mcnodeLocal" : { - "type" : "boolean" - }, - "mcorgLocal" : { - "type" : "boolean" - }, - "mcsiteLocal" : { - "type" : "boolean" - }, - "multicastAddress" : { - "type" : "boolean" - }, - "siteLocalAddress" : { - "type" : "boolean" - } - } - }, - "hostName" : { - "type" : "string" - }, - "hostString" : { - "type" : "string" - }, - "port" : { - "type" : "integer", - "format" : "int32" - }, - "unresolved" : { - "type" : "boolean" - } - } - }, - "ifMatch" : { - "type" : "array", - "items" : { - "type" : "string" - } - }, - "ifModifiedSince" : { - "type" : "integer", - "format" : "int64" - }, - "ifNoneMatch" : { - "type" : "array", - "items" : { - "type" : "string" - } - }, - "ifUnmodifiedSince" : { - "type" : "integer", - "format" : "int64" - }, - "lastModified" : { - "type" : "integer", - "format" : "int64" - }, - "location" : { - "type" : "string", - "format" : "uri" - }, - "origin" : { - "type" : "string" - }, - "pragma" : { - "type" : "string" - }, - "range" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/HttpRange" - } - }, - "upgrade" : { - "type" : "string" - }, - "vary" : { - "type" : "array", - "items" : { - "type" : "string" - } - } - }, - "additionalProperties" : { - "type" : "array", - "items" : { - "type" : "string" - } - } + "$ref" : "#/components/schemas/HttpHeaders" }, "id" : { "type" : "string" diff --git a/specifications/vcf-operations/realtime-metrics/realtime-metrics-openapi-params.yaml b/specifications/vcf-operations/realtime-metrics/realtime-metrics-openapi-params.yaml index 1132f96..31f8411 100644 --- a/specifications/vcf-operations/realtime-metrics/realtime-metrics-openapi-params.yaml +++ b/specifications/vcf-operations/realtime-metrics/realtime-metrics-openapi-params.yaml @@ -120,6 +120,17 @@ sourceIdQueryParam: type: string example: 59e196ae-45c9-4bff-8176-5e6812435f8a +sourceIdRequiredQueryParam: + name: sourceId + in: query + description: Source Id against which we need to query data for, like VC Instance UUID, NSX Id etc. + required: true + style: form + explode: true + schema: + type: string + example: 59e196ae-45c9-4bff-8176-5e6812435f8a + externalTagsFilterQueryParam: name: externalTagsFilter in: query diff --git a/specifications/vcf-operations/realtime-metrics/realtime-metrics-openapi.yaml b/specifications/vcf-operations/realtime-metrics/realtime-metrics-openapi.yaml index c711cba..187fc99 100644 --- a/specifications/vcf-operations/realtime-metrics/realtime-metrics-openapi.yaml +++ b/specifications/vcf-operations/realtime-metrics/realtime-metrics-openapi.yaml @@ -5,7 +5,7 @@ openapi: 3.0.2 info: title: Realtime Metrics APIs - version: 9.1.0.0 + version: 9.1.1.0 license: name: 'Copyright © 2025-26 Broadcom Inc. and/or its subsidiaries. All Rights Reserved.' description: | @@ -63,7 +63,7 @@ paths: operationId: query parameters: - $ref: '#/components/parameters/queryQueryParam' - - $ref: '#/components/parameters/sourceIdQueryParam' + - $ref: '#/components/parameters/sourceIdRequiredQueryParam' - $ref: '#/components/parameters/timeQueryParam' - $ref: '#/components/parameters/timeoutQueryParam' - $ref: '#/components/parameters/limitQueryParam' @@ -98,7 +98,7 @@ paths: operationId: queryRange parameters: - $ref: '#/components/parameters/queryQueryParam' - - $ref: '#/components/parameters/sourceIdQueryParam' + - $ref: '#/components/parameters/sourceIdRequiredQueryParam' - $ref: '#/components/parameters/timeoutQueryParam' - $ref: '#/components/parameters/startQueryParam' - $ref: '#/components/parameters/endQueryParam' @@ -196,6 +196,8 @@ components: $ref: 'realtime-metrics-openapi-params.yaml#/queryQueryParam' sourceIdQueryParam: $ref: 'realtime-metrics-openapi-params.yaml#/sourceIdQueryParam' + sourceIdRequiredQueryParam: + $ref: 'realtime-metrics-openapi-params.yaml#/sourceIdRequiredQueryParam' timeQueryParam: $ref: 'realtime-metrics-openapi-params.yaml#/timeQueryParam' timeoutQueryParam: diff --git a/specifications/vcf-operations/vcf-operations-for-networks-openapi.yaml b/specifications/vcf-operations/vcf-operations-for-networks-openapi.yaml index a275ed9..e7e4422 100644 --- a/specifications/vcf-operations/vcf-operations-for-networks-openapi.yaml +++ b/specifications/vcf-operations/vcf-operations-for-networks-openapi.yaml @@ -2,7 +2,7 @@ openapi: 3.0.1 info: title: VCF Operations for networks API Reference description: VCF Operations for networks API Reference - version: 9.1.0.0 + version: 9.1.1.0 servers: - url: /api/ni tags: @@ -22400,6 +22400,7 @@ components: - LDAP - LOCAL - VIDM + - SSO UserGroupType: type: string description: The type of user-group. @@ -22409,6 +22410,7 @@ components: - LDAP - LOCAL - VIDM + - SSO Role: type: string description: Role assigned the user/group. @@ -31529,6 +31531,26 @@ components: type: array items: $ref: '#/components/schemas/Node' + clusterInfo: + type: object + properties: + isClustered: + type: boolean + description: true for vRNI platform cluster, false for single node platform and collector + primaryNode: + type: string + description: primaryNode should be platform1 IP for platform cluster, N/A for single node and collector + isPrimaryNode: + type: boolean + description: true for platform1 in vRNI platform cluster, false otherwise + clusterType: + type: string + description: clusterType should be SINGLE_CLUSTER_CERT + clusterFqdns: + type: array + description: clusterFqdns array should include all platform cluster IPs, or platform IP for single node, or collector IP for collector + items: + type: string CertificateUpdateRequest: type: object properties: diff --git a/specifications/vcf-operations/vcf-operations-openapi.json b/specifications/vcf-operations/vcf-operations-openapi.json index a56a00c..3da9da5 100644 --- a/specifications/vcf-operations/vcf-operations-openapi.json +++ b/specifications/vcf-operations/vcf-operations-openapi.json @@ -3,7 +3,7 @@ "info" : { "description" : "Officially supported API(s)
", "title" : "VMware Cloud Foundation Operations API", - "version" : "9.1.0.0" + "version" : "9.1.1.0" }, "servers" : [ { "url" : "/suite-api", @@ -54,6 +54,12 @@ }, { "description" : "Tenant Notifications Controller", "name" : "Tenant Notifications" + }, { + "description" : "Fleet password policy CRUD, query, export, and component-group operations", + "name" : "Fleet Password Policy Management" + }, { + "description" : "/api/fleet-management/tag-management - APIs for managing global tags and categories", + "name" : "Tag Management" }, { "description" : "/api/versions - APIs for managing versioning information", "name" : "Versions Info" @@ -69,12 +75,12 @@ }, { "description" : "/api/collectorgroups - APIs for managing Collector Groups", "name" : "Collector Groups" - }, { - "description" : "/api/maintenanceschedules - APIs for CRUD operations on Maintenance Schedules", - "name" : "Maintenance Schedules" }, { "description" : "/api/deployment - APIs for performing deployment based operations", "name" : "Deployment" + }, { + "description" : "/api/maintenanceschedules - APIs for CRUD operations on Maintenance Schedules", + "name" : "Maintenance Schedules" }, { "description" : "/api/tasks - APIs for managing tasks in the system", "name" : "Tasks" @@ -3737,7 +3743,6 @@ "/api/applications/clientCertificate/{collectorId}" : { "post" : { "description" : "Query to sign the Arc Client certificate", - "x-vmw-compiler-skip" : "FILE", "operationId" : "signClientCertificate", "parameters" : [ { "description" : "Collector identifier to send the metrics for", @@ -3780,13 +3785,13 @@ } }, "summary" : "Query to sign the Arc Client certificate", - "tags" : [ "Applications" ] + "tags" : [ "Applications" ], + "x-vmw-compiler-skip" : "FILE" } }, "/api/applications/clientCertificate/{collectorIpOrGroupName}" : { "get" : { "description" : "Download Client Certificates", - "x-vmw-compiler-skip" : "FILE", "operationId" : "downloadClientCertificate", "parameters" : [ { "description" : "Collector identifier to generate the certificates", @@ -3820,7 +3825,8 @@ } }, "summary" : "Download Client Certificates", - "tags" : [ "Applications" ] + "tags" : [ "Applications" ], + "x-vmw-compiler-skip" : "FILE" } }, "/api/applications/resources" : { @@ -3908,7 +3914,6 @@ "/api/applications/subscribe" : { "put" : { "description" : "Bootstrap Bundle primarily contains client certificates, Grains File containing configuration of
ARC Agent Components (ucp-minion, salt-minion, Telegraf) and seeder script.
This API also presets salt minion keys in ARC.", - "x-vmw-compiler-skip" : "FILE", "operationId" : "subscribe", "parameters" : [ { "description" : "The OS type, e.g. Windows, Unix", @@ -3950,13 +3955,13 @@ } }, "summary" : "Subscribe to Application Monitoring by downloading bootstrap bundle containing all required scripts for bootstraping ARC Agent from Endpoints", - "tags" : [ "Applications" ] + "tags" : [ "Applications" ], + "x-vmw-compiler-skip" : "FILE" } }, "/api/applications/unsubscribe" : { "put" : { "description" : "Bootstrap Bundle primarily contains client certificates, Grains File containing configuration of
ARC Agent Components (ucp-minion, salt-minion, Telegraf) and seeder script.", - "x-vmw-compiler-skip" : "FILE", "operationId" : "unsubscribe", "parameters" : [ { "description" : "The IP of Virtual Machine", @@ -4006,7 +4011,8 @@ } }, "summary" : "UnSubscribe to Application Monitoring by downloading bootstrap bundle containing all required scripts for Unbootstraping ARC Agent from Endpoints.", - "tags" : [ "Applications" ] + "tags" : [ "Applications" ], + "x-vmw-compiler-skip" : "FILE" } }, "/api/applications/vccpmappings" : { @@ -6633,7 +6639,6 @@ }, "get" : { "description" : "Get all certificates", - "x-vmw-compiler-skip" : "FILE", "operationId" : "getAllCertificates", "responses" : { "200" : { @@ -6655,11 +6660,11 @@ } }, "summary" : "Get all certificates", - "tags" : [ "Certificate" ] + "tags" : [ "Certificate" ], + "x-vmw-compiler-skip" : "FILE" }, "post" : { "description" : "Import the given certificate file.", - "x-vmw-compiler-skip" : "FILE", "operationId" : "importCertificate", "requestBody" : { "content" : { @@ -6716,7 +6721,8 @@ } }, "summary" : "Import certificate file", - "tags" : [ "Certificate" ] + "tags" : [ "Certificate" ], + "x-vmw-compiler-skip" : "FILE" } }, "/api/chargeback/bills" : { @@ -7604,7 +7610,6 @@ "/api/chargeback/reports/{id}/download" : { "get" : { "description" : "The supported formats for Tenant Reports are PDF, CSV. If the format is not
specified the downloaded report will be in PDF format.
NOTE: In case the Accept header is provided, ensure that its value corresponds to the 'format' request parameter (including the default value when the request parameter is omitted).", - "x-vmw-compiler-skip" : "FILE", "operationId" : "downloadChargeBackReport", "parameters" : [ { "description" : "The Identifier of the Tenant Report", @@ -7646,7 +7651,8 @@ } }, "summary" : "Download the Tenant Report given its identifier", - "tags" : [ "Tenant Reports" ] + "tags" : [ "Tenant Reports" ], + "x-vmw-compiler-skip" : "FILE" } }, "/api/collectorgroups" : { @@ -8277,7 +8283,6 @@ "/api/configurations/files" : { "get" : { "description" : "Get details of the specified configuration file.", - "x-vmw-compiler-skip" : "FILE", "operationId" : "get", "parameters" : [ { "description" : "Configuration file path in {configFileType}/{fileName} format.
Allowed values for configFileType: TxtWidgetConfig (Text Widget Content), ReskndMetricConfig (Widget Metric Configuration), TopoWidgetConfig (Topology Widget Configuration) , SolutionConfig (Management Packs Configuration).
Note: any sub folders, visible via UI, should be skipped in the path.", @@ -8305,7 +8310,8 @@ } }, "summary" : "Get details of the specified configuration file.", - "tags" : [ "Configuration Management" ] + "tags" : [ "Configuration Management" ], + "x-vmw-compiler-skip" : "FILE" } }, "/api/content/backup" : { @@ -8326,7 +8332,6 @@ "get" : { "deprecated" : true, "description" : "Download backup for current user", - "x-vmw-compiler-skip" : "FILE", "operationId" : "downloadBackupContentData", "responses" : { "200" : { @@ -8343,7 +8348,8 @@ } }, "summary" : "(Deprecated) Download backup for current user", - "tags" : [ "Content Management" ] + "tags" : [ "Content Management" ], + "x-vmw-compiler-skip" : "FILE" } }, "/api/content/operations/export" : { @@ -8428,7 +8434,6 @@ "/api/content/operations/export/zip" : { "get" : { "description" : "Downloads the content data as a file.", - "x-vmw-compiler-skip" : "FILE", "operationId" : "download", "responses" : { "200" : { @@ -8445,7 +8450,8 @@ } }, "summary" : "Download the latest export", - "tags" : [ "Content Management" ] + "tags" : [ "Content Management" ], + "x-vmw-compiler-skip" : "FILE" } }, "/api/content/operations/import" : { @@ -8476,7 +8482,6 @@ }, "post" : { "description" : "The \"Content-Type\" of the request is multipart/form-data. If the force option is set to true, content will be overwritten. By default the flag is true.
NOTE: If the content file contains integration accounts, then upon completion of the import process, it is recommended to check them. Some collectors or collector groups may have become unbound from the accounts they serve and should be reconnected. Additionally, you will need to re-accept all untrusted certificates manually. Finally ensure that all your adapter instances are started as some of these may not have been restarted automatically.", - "x-vmw-compiler-skip" : "FILE", "operationId" : "importContent", "parameters" : [ { "description" : "Key for decrypting sensitive information", @@ -8534,7 +8539,8 @@ } }, "summary" : "Import content for current user from uploaded file", - "tags" : [ "Content Management" ] + "tags" : [ "Content Management" ], + "x-vmw-compiler-skip" : "FILE" } }, "/api/content/progress" : { @@ -8569,7 +8575,6 @@ "post" : { "deprecated" : true, "description" : "The \"Content-Type\" of the request is multipart/form-data.", - "x-vmw-compiler-skip" : "FILE", "operationId" : "restoreContent", "parameters" : [ { "description" : "True to force solution content overwrite", @@ -8605,7 +8610,8 @@ } }, "summary" : "(Deprecated) Restore content for current user from uploaded file", - "tags" : [ "Content Management" ] + "tags" : [ "Content Management" ], + "x-vmw-compiler-skip" : "FILE" } }, "/api/content/restore/result" : { @@ -9143,7 +9149,7 @@ }, "/api/deployment/config/globalsettings" : { "get" : { - "description" : "The deprecation info and all key-name mappings can be found in the /api/deployment/config/globalsettings/metadata API's description.", + "description" : "Get all global setting values. Key definitions as well as deprecation info are provided in the /api/deployment/config/globalsettings/metadata API description.", "operationId" : "getGlobalSettings", "responses" : { "200" : { @@ -9170,7 +9176,7 @@ }, "/api/deployment/config/globalsettings/metadata" : { "get" : { - "description" : "Find all the name-key mappings here:

Action History - ACTION_RETENTION_IN_DAYS,
Deleted Objects - DELETED_OBJECTS_RETENTION_IN_HOURS,
Deletion Scheduling Interval - DELETION_SCHEDULING_INTERVAL_IN_HOURS,
Object History - OBJECT_HISTORY_RETENTION_IN_DAYS,
Generated Reports Retention - GENERATED_REPORTS_RETENTION_TIME_IN_MONTHS,
Session Timeout - SESSION_TIMEOUT_IN_MINUTES,
Symptoms/Alerts - CANCELLED_ALERTS_SYMPTOMS_RETENTION_TIME_IN_DAYS,
Time Series Data Retention - TIME_SERIES_DATA_RETENTION_IN_MONTHS,
Additional Time Series Retention - ROLLUP_TIME_SERIES_DATA_RETENTION_IN_MONTHS,
Deleted Users - DELETED_USERS_RETENTION_IN_DAYS,
External Event Based Active Symptoms - OUTDATED_EVENT_BASED_SYMPTOMS_CANCELING_ENABLED,
External Event Based Active Symptoms - ACTIVE_EVENT_BASED_SYMPTOMS_RETENTION_TIME_IN_DAYS,
Dynamic Threshold Calculation - DYNAMIC_THRESHOLDING_UPDATE_TIME_IN_MINUTES,
Cost Calculation - COST_CALCULATION_TIME_IN_MINUTES,
Deprecated from VMware Aria Operations 8.14: Customer Experience Improvement Program - TELEMETRY_ENABLED,
Allow vCenter users to log into VMware Cloud Foundation Operations from vCenter clients - VC_USER_LOGIN_FROM_VC_WEBUI_ALLOWED,
System access URL - BASE_URL,
Automated Actions - AUTOMATED_ACTIONS_ENABLED,
Enable Standard Certification Validation - ENABLE_CERTIFICATE_VALIDATION_STANDARD_WAY,
Concurrent UI login sessions - ALLOW_CONCURRENT_LOGIN_SESSIONS,
Allow non-imported vIDM user access - ALLOW_NON_IMPORTED_VIDM_USERS_ACCESS,
Dynamic Threshold Calculation - DYNAMIC_THRESHOLDING_ENABLED,
Cost Calculation - COST_CALCULATION_ENABLED,
Deleted Objects - DELETED_OBJECTS_RETENTION_IN_HOURS_EXPANSION,
Generated Reports Retention - GENERATED_REPORTS_RETENTION_ENABLED,
Docker image default registry URL - DOCKER_IMAGE_REGISTRY_URL,
Tag Based Pricing Metrics - PRICING_TAG_DETAILED_METRICS,
Tag based Costing Metrics - COSTING_TAG_DETAILED_METRICS,
Cluster Utilization Ceiling Factor - CLUSTER_UTILIZATION_ROUND_OFF,
Generated Reports Retention - GENERATED_REPORTS_RETENTION_TIME_IN_DAYS,
Threshold For Adapters Certificate Expiration Alert - CERTIFICATE_ALARM_DAYS,
Show Cost Savings - SHOW_COST_SAVINGS_RECLAMATION_SETTING,
Include Powered off VMs for Reclamation (flag) - RECLAIM_POWERED_OFF_VMS_ENABLED,
Include Powered off VMs for Reclamation (days) - RECLAIM_POWERED_OFF_VMS_DAYS,
Include Idle VMs for Reclamation - RECLAIM_IDLE_VMS_ENABLED,
Minimum number of days that VM has been idle for - RECLAIM_IDLE_VMS_DAYS,
Exclude VM provisioned in last - EXCLUDE_IDLE_VMS_PROVISIONED_IN_LAST_DAYS,
VM Idleness Criteria (MHz) - IDLENESS_INDICATOR_THRESHOLD_MHZ,
VM Idleness Criteria (%) - IDLENESS_INDICATOR_THRESHOLD_PERCENT,
Include Snapshots for Reclamation (flag) - RECLAIM_SNAPSHOTS_ENABLED,
Include Snapshots for Reclamation (days) - RECLAIM_SNAPSHOTS_DAYS,
Include Orphaned Disks for Reclamation (flag) - RECLAIM_ORPHANED_DISKS_ENABLED,
Include Orphaned Disks for Reclamation (days) - RECLAIM_ORPHANED_DISKS_DAYS,
Orphaned Disks Collection Time - ORPHANED_VMDK_COLLECTION_TIME_IN_MINUTES,
Generated Tenant Reports Retention (flag) - GENERATED_TENANT_REPORTS_RETENTION_ENABLED,
Generated Tenant Reports Retention (days) - GENERATED_TENANT_REPORTS_RETENTION_TIME_IN_DAYS,
Credential Ownership Enforcement - ACTIVATE_CREDENTIAL_OWNERSHIP.", + "description" : "Get global settings metadata, including schemas, default values, and validation constraints (such as data types and ranges) for system-wide settings.

Please find below the keys and their corresponding descriptions:
ACTION_RETENTION_IN_DAYS - Action History
DELETED_OBJECTS_RETENTION_IN_HOURS - Deleted Objects
DELETION_SCHEDULING_INTERVAL_IN_HOURS - Deletion Scheduling Interval
OBJECT_HISTORY_RETENTION_IN_DAYS - Object History
GENERATED_REPORTS_RETENTION_TIME_IN_MONTHS - Generated Reports Retention
SESSION_TIMEOUT_IN_MINUTES - Session Timeout
CANCELLED_ALERTS_SYMPTOMS_RETENTION_TIME_IN_DAYS - Symptoms/Alerts
TIME_SERIES_DATA_RETENTION_IN_MONTHS - Time Series Data Retention
ROLLUP_TIME_SERIES_DATA_RETENTION_IN_MONTHS - Additional Time Series Retention
DELETED_USERS_RETENTION_IN_DAYS - Deleted Users
OUTDATED_EVENT_BASED_SYMPTOMS_CANCELING_ENABLED - External Event Based Active Symptoms
ACTIVE_EVENT_BASED_SYMPTOMS_RETENTION_TIME_IN_DAYS - External Event Based Active Symptoms
DYNAMIC_THRESHOLDING_UPDATE_TIME_IN_MINUTES - Dynamic Threshold Calculation
COST_CALCULATION_TIME_IN_MINUTES - Cost Calculation

Deprecated from VMware Aria Operations 8.14:
TELEMETRY_ENABLED - Customer Experience Improvement Program
VC_USER_LOGIN_FROM_VC_WEBUI_ALLOWED - Allow vCenter users to log into VMware Cloud Foundation Operations from vCenter clients
BASE_URL - System access URL
AUTOMATED_ACTIONS_ENABLED - Automated Actions
ENABLE_CERTIFICATE_VALIDATION_STANDARD_WAY - Enable Standard Certification Validation
ALLOW_CONCURRENT_LOGIN_SESSIONS - Concurrent UI login sessions
ALLOW_NON_IMPORTED_VIDM_USERS_ACCESS - Allow non-imported vIDM user access
DYNAMIC_THRESHOLDING_ENABLED - Dynamic Threshold Calculation
COST_CALCULATION_ENABLED - Cost Calculation
DELETED_OBJECTS_RETENTION_IN_HOURS_EXPANSION - Deleted Objects
GENERATED_REPORTS_RETENTION_ENABLED - Generated Reports Retention
DOCKER_IMAGE_REGISTRY_URL - Docker image default registry host address (FQDN only)
PRICING_TAG_DETAILED_METRICS - Tag Based Pricing Metrics
COSTING_TAG_DETAILED_METRICS - Tag based Costing Metrics
CLUSTER_UTILIZATION_ROUND_OFF - Cluster Utilization Ceiling Factor
GENERATED_REPORTS_RETENTION_TIME_IN_DAYS - Generated Reports Retention
CERTIFICATE_ALARM_DAYS - Threshold For Adapters Certificate Expiration Alert
SHOW_COST_SAVINGS_RECLAMATION_SETTING - Show Cost Savings
RECLAIM_POWERED_OFF_VMS_ENABLED - Include Powered off VMs for Reclamation (flag)
RECLAIM_POWERED_OFF_VMS_DAYS - Include Powered off VMs for Reclamation (days)
RECLAIM_IDLE_VMS_ENABLED - Include Idle VMs for Reclamation
RECLAIM_IDLE_VMS_DAYS - Minimum number of days that VM has been idle for
EXCLUDE_IDLE_VMS_PROVISIONED_IN_LAST_DAYS - Exclude VM provisioned in last
IDLENESS_INDICATOR_THRESHOLD_MHZ - VM Idleness Criteria (MHz)
IDLENESS_INDICATOR_THRESHOLD_PERCENT - VM Idleness Criteria (%)
RECLAIM_SNAPSHOTS_ENABLED - Include Snapshots for Reclamation (flag)
RECLAIM_SNAPSHOTS_DAYS - Include Snapshots for Reclamation (days)
RECLAIM_ORPHANED_DISKS_ENABLED - Include Orphaned Disks for Reclamation (flag)
RECLAIM_ORPHANED_DISKS_DAYS - Include Orphaned Disks for Reclamation (days)
ORPHANED_VMDK_COLLECTION_TIME_IN_MINUTES - Orphaned Disks Collection Time
GENERATED_TENANT_REPORTS_RETENTION_ENABLED - Generated Tenant Reports Retention (flag)
GENERATED_TENANT_REPORTS_RETENTION_TIME_IN_DAYS - Generated Tenant Reports Retention (days)
ACTIVATE_CREDENTIAL_OWNERSHIP - Credential Ownership Enforcement", "operationId" : "getGlobalSettingMetadata", "responses" : { "200" : { @@ -9196,8 +9202,28 @@ } }, "/api/deployment/config/globalsettings/{key}" : { + "delete" : { + "description" : "Reset global setting value of a key to the system default. Key definitions as well as deprecation info are provided in the /api/deployment/config/globalsettings/metadata API description.", + "operationId" : "deleteGlobalSetting", + "parameters" : [ { + "description" : "The global setting key", + "in" : "path", + "name" : "key", + "required" : true, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "The global setting has been successfully reset to its default value" + } + }, + "summary" : "Reset global setting value of a key to the system default", + "tags" : [ "Deployment" ] + }, "get" : { - "description" : "The deprecation info and all key-name mappings can be found in the /api/deployment/config/globalsettings/metadata API's description.", + "description" : "Get global setting value for the requested key. Key definitions as well as deprecation info are provided in the /api/deployment/config/globalsettings/metadata API description.", "operationId" : "getGlobalSettingValue", "parameters" : [ { "description" : "The global setting key", @@ -9233,7 +9259,7 @@ }, "/api/deployment/config/globalsettings/{key}/{value}" : { "put" : { - "description" : "The deprecation info and all key-name mappings can be found in the /api/deployment/config/globalsettings/metadata API's description.", + "description" : "Update global setting value for specified key. Key definitions as well as deprecation info are provided in the /api/deployment/config/globalsettings/metadata API description.
NOTE: values for URL types must be submitted as URL-safe base64url encoded strings.", "operationId" : "updateGlobalSettingValue", "parameters" : [ { "description" : "The global setting key", @@ -9677,7 +9703,7 @@ "200" : { "content" : { "application/json" : { - "example" : "No Custom Example is Available", + "example" : "{\n \"microsoftCertificateAuthoritySpec\" : {\n \"serverUrl\" : \"https://ad.server.com/certsrv\",\n \"username\" : \"ca_user\",\n \"secret\" : \"secret\",\n \"templateName\" : \"VMwareTemplate\"\n }\n}", "schema" : { "$ref" : "#/components/schemas/VcfCASpecification" } @@ -9695,13 +9721,22 @@ "requestBody" : { "content" : { "application/json" : { - "example" : "No Custom Example is Available", + "examples" : { + "Microsoft" : { + "description" : "Microsoft", + "value" : "{\n \"vcfComponentSpec\" : {\n \"vcfComponentType\" : \"ARIA\"\n },\n \"certificateAuthoritiesSpec\" : {\n \"microsoftCertificateAuthoritySpec\" : {\n \"serverUrl\" : \"https://ad.server.com/certsrv\",\n \"username\" : \"user_name\",\n \"secret\" : \"secret\",\n \"templateName\" : \"template_name\"\n }\n },\n \"certificateAuthorityType\" : \"MICROSOFT\"\n}" + }, + "OpenSSL" : { + "description" : "OpenSSL", + "value" : "{\n \"vcfComponentSpec\" : {\n \"vcfComponentType\" : \"ARIA\"\n },\n \"certificateAuthoritiesSpec\" : {\n \"openSSLCertificateAuthoritySpec\" : {\n \"commonName\" : \"vcf-openssl-ca.example.com\",\n \"country\" : \"US\",\n \"locality\" : \"Palo Alto\",\n \"organization\" : \"VMware\",\n \"organizationUnit\" : \"Engineering\",\n \"state\" : \"California\"\n }\n },\n \"certificateAuthorityType\" : \"OPENSSL\"\n}" + } + }, "schema" : { "$ref" : "#/components/schemas/VcfConfigureCASpec" } } }, - "description" : "The certificate query param", + "description" : "The certificate authority configuration (Microsoft or OpenSSL)", "required" : true }, "responses" : { @@ -9740,7 +9775,7 @@ "name" : "sortBy", "schema" : { "type" : "string", - "enum" : [ "STATUS", "APPLIANCE", "CATEGORY", "TYPE", "APPLIANCE_FQDN", "VCF_COMPONENT_TYPE", "SDDC_DOMAIN_ID", "VCF_INSTANCE_ENDPOINT", "CERTIFICATE_COMMON_NAME", "EXPIRY_DATE", "AUTO_RENEW_STATUS" ] + "enum" : [ "STATUS", "APPLIANCE", "CATEGORY", "TYPE", "APPLIANCE_FQDN", "VCF_COMPONENT_TYPE", "SDDC_DOMAIN_ID", "VCF_INSTANCE_ENDPOINT", "CERTIFICATE_COMMON_NAME", "EXPIRY_DATE", "AUTO_RENEW_STATUS", "CERTIFICATE_PURPOSE", "CERTIFICATE_CHAIN_ROLE", "CERTIFICATE_CHAIN_GROUP_ID" ] } }, { "description" : "Sort direction for the results", @@ -9754,7 +9789,16 @@ "requestBody" : { "content" : { "application/json" : { - "example" : "{\n \"status\" : \"NORMAL\",\n \"appliance\" : \"VCENTER\",\n \"applianceFqdn\" : \"vcenter.vsphere.local.com\"\n}", + "examples" : { + "NSX-T TLS cert search" : { + "description" : "NSX-T TLS cert search", + "value" : "{\n \"status\" : \"EXPIRING_30\",\n \"appliance\" : \"NSXT_MANAGER\",\n \"category\" : \"TLS_CERT\",\n \"type\" : \"EXTERNAL_CA\",\n \"applianceFqdn\" : \"nsx-manager.vsphere.local.com\",\n \"certificatePurpose\" : \"API\",\n \"certificateChainRole\" : \"LEAF\",\n \"certificateChainGroupId\" : \"b2c3d4e5-f6a7-8901-bcde-f12345678901\"\n}" + }, + "vCenter TLS search" : { + "description" : "vCenter TLS search", + "value" : "{\n \"status\" : \"NORMAL\",\n \"appliance\" : \"VCENTER\",\n \"category\" : \"TLS_CERT\",\n \"type\" : \"VMCA\",\n \"applianceFqdn\" : \"vcenter.vsphere.local.com\",\n \"certificatePurpose\" : \"MACHINE_SSL_CERT\",\n \"certificateChainRole\" : \"LEAF\",\n \"certificateChainGroupId\" : \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"\n}" + } + }, "schema" : { "$ref" : "#/components/schemas/VcfCertificateSearchRequest" } @@ -9767,7 +9811,7 @@ "200" : { "content" : { "application/json" : { - "example" : "{\n \"vcfCertificateModels\" : [ {\n \"certificateResourceKey\" : \"vcenter.vsphere.com_1234_cert\",\n \"issuedTo\" : \"vcenter.vsphere.local.com\",\n \"appliance\" : \"VCENTER\",\n \"displayApplianceType\" : \"vCenter\",\n \"category\" : \"SSL\",\n \"type\" : \"SSL_CERTIFICATE\",\n \"issuedBy\" : \"CA\",\n \"status\" : \"NORMAL\",\n \"displayStatus\" : \"Active\",\n \"daysToExpire\" : 30,\n \"applianceFqdn\" : \"vcenter.vsphere.local.com\",\n \"redirectAvailable\" : true,\n \"domainId\" : \"domain-123\",\n \"vcfEndpoint\" : \"vcenter.vsphere.local.com\",\n \"vcfComponent\" : \"VCENTER\",\n \"issuedToCommonName\" : \"vcenter.vsphere.local.com\",\n \"autoRenewState\" : \"ENABLED\",\n \"displayAutoRenewState\" : \"Enabled\"\n }, {\n \"certificateResourceKey\" : \"nsx.vsphere.com_5678_cert\",\n \"issuedTo\" : \"nsx.vsphere.local.com\",\n \"appliance\" : \"NSXT_MANAGER\",\n \"displayApplianceType\" : \"NSX Manager\",\n \"category\" : \"SSL\",\n \"type\" : \"SSL_CERTIFICATE\",\n \"issuedBy\" : \"CA\",\n \"status\" : \"NORMAL\",\n \"displayStatus\" : \"Active\",\n \"daysToExpire\" : 60,\n \"applianceFqdn\" : \"nsx.vsphere.local.com\",\n \"redirectAvailable\" : true,\n \"domainId\" : \"domain-456\",\n \"vcfEndpoint\" : \"nsx.vsphere.local.com\",\n \"vcfComponent\" : \"NSXT_MANAGER\",\n \"issuedToCommonName\" : \"nsx.vsphere.local.com\",\n \"autoRenewState\" : \"DISABLED\",\n \"displayAutoRenewState\" : \"Disabled\"\n } ]\n}", + "example" : "{\n \"vcfCertificateModels\" : [ {\n \"certificateResourceKey\" : \"vcenter.vsphere.com_1234_cert\",\n \"issuedTo\" : \"vcenter.vsphere.local.com\",\n \"appliance\" : \"VCENTER\",\n \"displayApplianceType\" : \"vCenter\",\n \"category\" : \"TLS_CERT\",\n \"categoryDisplayName\" : \"TLS Certificate\",\n \"type\" : \"SSL_CERTIFICATE\",\n \"issuedBy\" : \"CA\",\n \"status\" : \"NORMAL\",\n \"displayStatus\" : \"Active\",\n \"daysToExpire\" : 30,\n \"applianceFqdn\" : \"vcenter.vsphere.local.com\",\n \"redirectAvailable\" : true,\n \"domainId\" : \"domain-123\",\n \"vcfEndpoint\" : \"vcenter.vsphere.local.com\",\n \"vcfComponent\" : \"VCENTER\",\n \"issuedToCommonName\" : \"vcenter.vsphere.local.com\",\n \"autoRenewState\" : \"ENABLED\",\n \"displayAutoRenewState\" : \"Enabled\"\n }, {\n \"certificateResourceKey\" : \"nsx.vsphere.com_5678_cert\",\n \"issuedTo\" : \"nsx.vsphere.local.com\",\n \"appliance\" : \"NSXT_MANAGER\",\n \"displayApplianceType\" : \"NSX Manager\",\n \"category\" : \"TLS_CERT\",\n \"categoryDisplayName\" : \"TLS Certificate\",\n \"type\" : \"SSL_CERTIFICATE\",\n \"issuedBy\" : \"CA\",\n \"status\" : \"NORMAL\",\n \"displayStatus\" : \"Active\",\n \"daysToExpire\" : 60,\n \"applianceFqdn\" : \"nsx.vsphere.local.com\",\n \"redirectAvailable\" : true,\n \"domainId\" : \"domain-456\",\n \"vcfEndpoint\" : \"nsx.vsphere.local.com\",\n \"vcfComponent\" : \"NSXT_MANAGER\",\n \"issuedToCommonName\" : \"nsx.vsphere.local.com\",\n \"autoRenewState\" : \"DISABLED\",\n \"displayAutoRenewState\" : \"Disabled\"\n } ]\n}", "schema" : { "$ref" : "#/components/schemas/VcfCertificatesResponse" } @@ -9795,7 +9839,7 @@ "200" : { "content" : { "application/json" : { - "example" : "No Custom Example is Available", + "example" : "{\n \"certificateResourceKey\" : \"89b86f92-38c6-31a8-a9a1-80a688e70cc1\",\n \"issuedTo\" : \"CN=avi-lb.vcf.nimbus.eng.broadcom.com, OU=VMware Engineering, O=VMware, L=Palo Alto, ST=California, C=US\",\n \"appliance\" : \"ALB\",\n \"displayApplianceType\" : \"Avi Load Balancer\",\n \"category\" : \"TLS_CERT\",\n \"categoryDisplayName\" : \"TLS Certificate\",\n \"type\" : \"MSCA\",\n \"issuedBy\" : \"CN=vcf-AD-CA,DC=vcf,DC=broadcom,DC=net\",\n \"status\" : \"NORMAL\",\n \"displayStatus\" : \"Active\",\n \"daysToExpire\" : 30,\n \"expiryDate\" : 1803364466000,\n \"subjectAlternativeNames\" : {\n \"dns\" : [ \"avi-lb.vcf.nimbus.eng.broadcom.com\" ],\n \"ip\" : [ \"33.34.5.2\", \"123.55.33.22\" ]\n },\n \"applianceIp\" : \"192.168.1.100\",\n \"redirectAvailable\" : true,\n \"domainId\" : \"38d71331-8c75-4398-9325-285dd9e1740c\",\n \"vcfEndpoint\" : \"vcenter.vsphere.local.com\",\n \"vcfComponent\" : \"VCENTER\",\n \"issuedToCommonName\" : \"sddc-manager.vcf.nimbus.eng.broadcom.com\",\n \"autoRenewInfo\" : {\n \"autoRenewStatus\" : \"DISABLED\",\n \"autoRenewFailureReason\" : \"\"\n },\n \"autoRenewState\" : \"ENABLED\",\n \"displayAutoRenewState\" : \"Enabled\"\n}", "schema" : { "$ref" : "#/components/schemas/VcfCertificate" } @@ -9834,13 +9878,17 @@ "202" : { "content" : { "application/json" : { - "example" : "{\n \"requestId\" : \"4881a542-e10c-4033-b161-41622324db01\",\n \"requestName\" : \"updatepassword\",\n \"requestReason\" : \"Update Password of testUser user for NSX Manager appliance with IP/FQDN vip-nsx-mgmt.vrack.vsphere.local\",\n \"requestType\" : \"Update Password\",\n \"state\" : \"CREATED\",\n \"errorCause\" : [ ]\n}", + "example" : "{\n \"requestId\" : \"4881a542-e10c-4033-b161-41622324db01\",\n \"requestName\" : \"ucmreplacecertificateworkflow\",\n \"requestReason\" : \"Certificate replace operation from API\",\n \"requestType\" : \"Replace Certificate\",\n \"state\" : \"INPROGRESS\",\n \"errorCause\" : [ ],\n \"duration\" : 95,\n \"category\" : \"VCF_CERTIFICATE_MANAGEMENT\"\n}", "schema" : { "$ref" : "#/components/schemas/WorkflowRequest" } } }, "description" : "The certificate replacement workflow details" + }, + "400" : { + "description" : "Invalid certificate chain, or the leaf certificate does not match any CSR stored in the locker", + "x-vmw-compiler-skip" : true } }, "summary" : "Replace the certificate of the given appliance", @@ -9871,6 +9919,27 @@ "schema" : { "type" : "string" } + }, { + "in" : "query", + "name" : "certificateType", + "required" : false, + "schema" : { + "type" : "string" + } + }, { + "in" : "query", + "name" : "certificateId", + "required" : false, + "schema" : { + "type" : "string" + } + }, { + "in" : "query", + "name" : "csrPublicKey", + "required" : false, + "schema" : { + "type" : "string" + } }, { "in" : "query", "name" : "page", @@ -9894,7 +9963,7 @@ "200" : { "content" : { "application/json" : { - "example" : "No Custom Example is Available", + "example" : "{\n \"pageInfo\" : {\n \"totalCount\" : 1,\n \"page\" : 0,\n \"pageSize\" : 10\n },\n \"certificateSignatureInfo\" : [ {\n \"id\" : \"csr-id-123\",\n \"applianceHostname\" : \"vcenter.vsphere.local.com\",\n \"commonName\" : \"vcenter.vsphere.local.com\",\n \"csr\" : \"-----BEGIN CERTIFICATE REQUEST-----\\nMIICvDCCAaQCAQAwdzELMAkGA1UEBhMCVVMx...\\n-----END CERTIFICATE REQUEST-----\"\n } ]\n}", "schema" : { "$ref" : "#/components/schemas/CertificateSignatures" } @@ -9911,13 +9980,7 @@ "requestBody" : { "content" : { "application/json" : { - "example" : "No Custom Example is Available", - "schema" : { - "$ref" : "#/components/schemas/GenerateCsrData" - } - }, - "application/xml" : { - "example" : "No Custom Example is Available", + "example" : "{\n \"certificateId\" : \"885a9003-c47c-4c61-b5ab-ec93e61b7033\",\n \"generateCsrSpec\" : {\n \"country\" : \"US\",\n \"email\" : \"admin@example.com\",\n \"keySize\" : \"KEY_2048\",\n \"keyAlgorithm\" : \"RSA\",\n \"locality\" : \"Palo Alto\",\n \"organization\" : \"VMware\",\n \"orgUnit\" : \"Engineering\",\n \"state\" : \"California\",\n \"commonName\" : \"vmsp.example.com\",\n \"subjectAltNames\" : {\n \"dns\" : [ \"vmsp.example.com\", \"vmsp-alt.example.com\" ],\n \"ip\" : [ \"192.168.1.100\", \"192.168.1.101\" ]\n }\n }\n}", "schema" : { "$ref" : "#/components/schemas/GenerateCsrData" } @@ -9930,18 +9993,7 @@ "200" : { "content" : { "application/json" : { - "example" : "No Custom Example is Available", - "schema" : { - "$ref" : "#/components/schemas/WorkflowRequest" - } - } - }, - "description" : "OK" - }, - "202" : { - "content" : { - "application/json" : { - "example" : "{\n \"requestId\" : \"4881a542-e10c-4033-b161-41622324db01\",\n \"requestName\" : \"updatepassword\",\n \"requestReason\" : \"Update Password of testUser user for NSX Manager appliance with IP/FQDN vip-nsx-mgmt.vrack.vsphere.local\",\n \"requestType\" : \"Update Password\",\n \"state\" : \"CREATED\",\n \"errorCause\" : [ ]\n}", + "example" : "{\n \"requestId\" : \"4881a542-e10c-4033-b161-41622324db01\",\n \"requestName\" : \"ucmgeneratecsrworkflow\",\n \"requestReason\" : \"Generate Certificate Signing Request (CSR) API\",\n \"requestType\" : \"Generate certificate signing request\",\n \"state\" : \"INPROGRESS\",\n \"errorCause\" : [ ],\n \"duration\" : 95,\n \"category\" : \"VCF_CERTIFICATE_MANAGEMENT\"\n}", "schema" : { "$ref" : "#/components/schemas/WorkflowRequest" } @@ -10005,7 +10057,7 @@ "schema" : { "type" : "string", "description" : "VCF Management Component type", - "enum" : [ "VCF_OPERATIONS", "VCF_AUTOMATION", "UNKNOWN" ] + "enum" : [ "VCF_OPERATIONS", "VCF_AUTOMATION", "UNKNOWN", "VCF_SALT_RAAS" ] } } ], "responses" : { @@ -10238,7 +10290,7 @@ "schema" : { "type" : "string", "description" : "VCF Component type", - "enum" : [ "VCENTER", "NSX_MANAGER", "VCF_OPERATIONS", "VCF_AUTOMATION", "HCX", "VCF_ORCHESTRATOR", "UNKNOWN" ] + "enum" : [ "VCENTER", "NSX_MANAGER", "VCF_OPERATIONS", "VCF_AUTOMATION", "HCX", "VCF_ORCHESTRATOR", "UNKNOWN", "VCF_SALT_RAAS" ] } } ], "responses" : { @@ -10470,6 +10522,10 @@ "content" : { "application/json" : { "examples" : { + "LDAP BIND based IDP creation request with ON_DEMAND sync mode." : { + "description" : "LDAP BIND based IDP creation request with ON_DEMAND sync mode.", + "value" : "{\n \"name\" : \"LDAP ON_DEMAND Provider\",\n \"ssoRealmId\" : \"d222d5e3-5f84-4cd8-b51d-5f80bccd8f36\",\n \"idpType\" : \"ADLDAP\",\n \"idpProtocol\" : \"LDAP_BIND\",\n \"provisionType\" : \"LDAP\",\n \"provisioningConfig\" : {\n \"ldapConfigurations\" : [ {\n \"name\" : \"LDAP Directory Configuration\",\n \"domains\" : [ \"example.com\", \"ldap.example.com\" ],\n \"ldapBindConfiguration\" : {\n \"primaryDomainController\" : {\n \"protocol\" : \"LDAPS\",\n \"host\" : \"ad-primary.example.com\",\n \"port\" : 636,\n \"certificate\" : \"-----BEGIN CERTIFICATE-----\\nAD Primary Certificate\\n-----END CERTIFICATE-----\",\n \"certificateName\" : \"ad-primary-cert.pem\"\n },\n \"secondaryDomainController\" : {\n \"protocol\" : \"LDAPS\",\n \"host\" : \"ad-secondary.example.com\",\n \"port\" : 636,\n \"certificate\" : \"-----BEGIN CERTIFICATE-----\\nAD Secondary Certificate\\n-----END CERTIFICATE-----\",\n \"certificateName\" : \"ad-secondary-cert.pem\"\n },\n \"type\" : \"ACTIVE_DIRECTORY_LDAP\",\n \"baseDn\" : \"DC=example,DC=com\",\n \"bindDn\" : \"CN=ldap-bind-user,OU=Service Accounts,DC=example,DC=com\",\n \"directorySearchAttribute\" : \"sAMAccountName\",\n \"dnsLookupCertificateChain\" : [ ]\n }\n } ]\n }\n}" + }, "LDAP BIND based IDP creation request." : { "description" : "LDAP BIND based IDP creation request.", "value" : "{\n \"name\" : \"LDAP Provider\",\n \"ssoRealmId\" : \"d222d5e3-5f84-4cd8-b51d-5f80bccd8f36\",\n \"idpType\" : \"ADLDAP\",\n \"idpProtocol\" : \"LDAP_BIND\",\n \"provisionType\" : \"LDAP\",\n \"provisioningConfig\" : {\n \"ldapConfigurations\" : [ {\n \"name\" : \"LDAP Directory Configuration\",\n \"domains\" : [ \"example.com\", \"ldap.example.com\" ],\n \"ldapBindConfiguration\" : {\n \"primaryDomainController\" : {\n \"protocol\" : \"LDAPS\",\n \"host\" : \"ad-primary.example.com\",\n \"port\" : 636,\n \"certificate\" : \"-----BEGIN CERTIFICATE-----\\nAD Primary Certificate\\n-----END CERTIFICATE-----\",\n \"certificateName\" : \"ad-primary-cert.pem\"\n },\n \"secondaryDomainController\" : {\n \"protocol\" : \"LDAPS\",\n \"host\" : \"ad-secondary.example.com\",\n \"port\" : 636,\n \"certificate\" : \"-----BEGIN CERTIFICATE-----\\nAD Secondary Certificate\\n-----END CERTIFICATE-----\",\n \"certificateName\" : \"ad-secondary-cert.pem\"\n },\n \"type\" : \"ACTIVE_DIRECTORY_LDAP\",\n \"baseDn\" : \"DC=example,DC=com\",\n \"bindDn\" : \"CN=ldap-bind-user,OU=Service Accounts,DC=example,DC=com\",\n \"directorySearchAttribute\" : \"sAMAccountName\",\n \"dnsLookupCertificateChain\" : [ ]\n }\n } ]\n }\n}" @@ -10516,6 +10572,10 @@ "description" : "LDAP BIND based IDP response request.", "value" : "{\n \"id\" : \"3acffa05-a0cc-454e-9d0f-5187be78d61f\",\n \"name\" : \"LDAP Provider\",\n \"ssoRealmId\" : \"d222d5e3-5f84-4cd8-b51d-5f80bccd8f36\",\n \"idpType\" : \"ADLDAP\",\n \"idpProtocol\" : \"LDAP_BIND\",\n \"provisionType\" : \"LDAP\",\n \"provisioningConfig\" : {\n \"ldapConfigurations\" : [ {\n \"name\" : \"LDAP Directory Configuration\",\n \"domains\" : [ \"example.com\", \"ldap.example.com\" ],\n \"ldapBindConfiguration\" : {\n \"primaryDomainController\" : {\n \"protocol\" : \"LDAPS\",\n \"host\" : \"ad-primary.example.com\",\n \"port\" : 636,\n \"certificate\" : \"-----BEGIN CERTIFICATE-----\\nAD Primary Certificate\\n-----END CERTIFICATE-----\",\n \"certificateName\" : \"ad-primary-cert.pem\"\n },\n \"secondaryDomainController\" : {\n \"protocol\" : \"LDAPS\",\n \"host\" : \"ad-secondary.example.com\",\n \"port\" : 636,\n \"certificate\" : \"-----BEGIN CERTIFICATE-----\\nAD Secondary Certificate\\n-----END CERTIFICATE-----\",\n \"certificateName\" : \"ad-secondary-cert.pem\"\n },\n \"type\" : \"ACTIVE_DIRECTORY_LDAP\",\n \"baseDn\" : \"DC=example,DC=com\",\n \"bindDn\" : \"CN=ldap-bind-user,OU=Service Accounts,DC=example,DC=com\",\n \"directorySearchAttribute\" : \"sAMAccountName\",\n \"dnsLookupCertificateChain\" : [ ]\n }\n } ]\n },\n \"createdAt\" : 1705104000000,\n \"updatedAt\" : 1705190400000\n}" }, + "LDAP BIND based IDP response with ON_DEMAND sync mode." : { + "description" : "LDAP BIND based IDP response with ON_DEMAND sync mode.", + "value" : "{\n \"id\" : \"d4bb5587-fd15-575e-d74c-99d06514fff5\",\n \"name\" : \"LDAP ON_DEMAND Provider\",\n \"ssoRealmId\" : \"d222d5e3-5f84-4cd8-b51d-5f80bccd8f36\",\n \"idpType\" : \"ADLDAP\",\n \"idpProtocol\" : \"LDAP_BIND\",\n \"provisionType\" : \"LDAP\",\n \"provisioningConfig\" : {\n \"ldapConfigurations\" : [ {\n \"name\" : \"LDAP Directory Configuration\",\n \"domains\" : [ \"example.com\", \"ldap.example.com\" ],\n \"ldapBindConfiguration\" : {\n \"primaryDomainController\" : {\n \"protocol\" : \"LDAPS\",\n \"host\" : \"ad-primary.example.com\",\n \"port\" : 636,\n \"certificate\" : \"-----BEGIN CERTIFICATE-----\\nAD Primary Certificate\\n-----END CERTIFICATE-----\",\n \"certificateName\" : \"ad-primary-cert.pem\"\n },\n \"secondaryDomainController\" : {\n \"protocol\" : \"LDAPS\",\n \"host\" : \"ad-secondary.example.com\",\n \"port\" : 636,\n \"certificate\" : \"-----BEGIN CERTIFICATE-----\\nAD Secondary Certificate\\n-----END CERTIFICATE-----\",\n \"certificateName\" : \"ad-secondary-cert.pem\"\n },\n \"type\" : \"ACTIVE_DIRECTORY_LDAP\",\n \"baseDn\" : \"DC=example,DC=com\",\n \"bindDn\" : \"CN=ldap-bind-user,OU=Service Accounts,DC=example,DC=com\",\n \"directorySearchAttribute\" : \"sAMAccountName\",\n \"dnsLookupCertificateChain\" : [ ]\n }\n } ]\n },\n \"createdAt\" : 1705276800000,\n \"updatedAt\" : 1705363200000\n}" + }, "OIDC based IDP creation response with JIT provisioning type." : { "description" : "OIDC based IDP creation response with JIT provisioning type.", "value" : "{\n \"id\" : \"8fb272b2-0260-46a5-83e8-7cab8ea4425b\",\n \"name\" : \"OIDC JIT Provider\",\n \"ssoRealmId\" : \"d222d5e3-5f84-4cd8-b51d-5f80bccd8f36\",\n \"idpType\" : \"SYMANTEC_IDSP\",\n \"idpProtocol\" : \"OIDC\",\n \"provisionType\" : \"JIT\",\n \"idpConfig\" : {\n \"oidcConfiguration\" : {\n \"discoveryEndpoint\" : \"https://your-bc-idsp.broadcom.com/.well-known/openid-configuration\",\n \"clientId\" : \"bc-idsp-client-id\",\n \"openIdUserIdentifierAttribute\" : \"sub\",\n \"internalUserIdentifierAttribute\" : \"ExternalId\"\n }\n },\n \"directories\" : [ {\n \"name\" : \"OIDC JIT Provider Directory\",\n \"domains\" : [ \"example.com\", \"test.example.com\" ]\n } ],\n \"certificateChain\" : [ \"-----BEGIN CERTIFICATE-----\", \"MIICMzCCAZygAwIBAgIJALiPnVsvq8dsMA0GCSqGSIb3DQEBBQUAMFMxCzAJBgNV\", \"BAYTAlVTMQwwCgYDVQQIEwNmb28xDDAKBgNVBAcTA2ZvbzEMMAoGA1UEChMDZm9v\", \"MQwwCgYDVQQLEwNmb28xDDAKBgNVBAMTA2ZvbzAeFw0xMzAzMTkxNTQwMTlaFw0x\", \"ODAzMTgxNTQwMTlaMFMxCzAJBgNVBAYTAlVTMQwwCgYDVQQIEwNmb28xDDAKBgNV\", \"BAcTA2ZvbzEMMAoGA1UEChMDZm9vMQwwCgYDVQQLEwNmb28xDDAKBgNVBAMTA2Zv\", \"bzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAzdGfxi9CNbMf1UUcvDQh7MYB\", \"OveIHyc0E0KIbhjK5FkCBU4CiZrbfHagaW7ZEcN0tt3EvpbOMxxc/ZQU2WN/s/wP\", \"xph0pSfsfFsTKM4RhTWD2v4fgk+xZiKd1p0+L4hTtpwnEw0uXRVd0ki6muwV5y/P\", \"+5FHUeldq+pgTcgzuK8CAwEAAaMPMA0wCwYDVR0PBAQDAgLkMA0GCSqGSIb3DQEB\", \"BQUAA4GBAJiDAAtY0mQQeuxWdzLRzXmjvdSuL9GoyT3BF/jSnpxz5/58dba8pWen\", \"v3pj4P3w5DoOso0rzkZy2jEsEitlVM2mLSbQpMM+MUVQCQoiG6W9xuCFuxSrwPIS\", \"pAqEAuV4DNoxQKKWmhVv+J0ptMWD25Pnpxeq5sXzghfJnslJlQND\", \"-----END CERTIFICATE-----\" ],\n \"provisioningConfig\" : {\n \"jitConfiguration\" : {\n \"jitProvisioningGroups\" : [ ],\n \"oidcJitConfiguration\" : {\n \"internalUserIdentifierAttribute\" : \"ExternalId\",\n \"openIdUserIdentifierAttribute\" : \"sub\",\n \"userAttributeMappings\" : [ {\n \"attributeName\" : \"groups\",\n \"directoryName\" : \"groups\"\n }, {\n \"attributeName\" : \"given_name\",\n \"directoryName\" : \"firstName\"\n }, {\n \"attributeName\" : \"family_name\",\n \"directoryName\" : \"lastName\"\n }, {\n \"attributeName\" : \"email\",\n \"directoryName\" : \"email\"\n }, {\n \"attributeName\" : \"preferred_username\",\n \"directoryName\" : \"userName\"\n } ]\n }\n }\n },\n \"createdAt\" : 1704067200000,\n \"updatedAt\" : 1704153600000\n}" @@ -10559,6 +10619,10 @@ "content" : { "application/json" : { "examples" : { + "LDAP BIND based IDP creation request with ON_DEMAND sync mode." : { + "description" : "LDAP BIND based IDP creation request with ON_DEMAND sync mode.", + "value" : "{\n \"id\" : \"3acffa05-a0cc-454e-9d0f-5187be78d61f\",\n \"name\" : \"LDAP ON_DEMAND Provider\",\n \"ssoRealmId\" : \"d222d5e3-5f84-4cd8-b51d-5f80bccd8f36\",\n \"idpType\" : \"ADLDAP\",\n \"idpProtocol\" : \"LDAP_BIND\",\n \"provisionType\" : \"LDAP\",\n \"provisioningConfig\" : {\n \"ldapConfigurations\" : [ {\n \"name\" : \"LDAP Directory Configuration\",\n \"domains\" : [ \"example.com\", \"ldap.example.com\" ],\n \"ldapBindConfiguration\" : {\n \"primaryDomainController\" : {\n \"protocol\" : \"LDAPS\",\n \"host\" : \"ad-primary.example.com\",\n \"port\" : 636,\n \"certificate\" : \"-----BEGIN CERTIFICATE-----\\nAD Primary Certificate\\n-----END CERTIFICATE-----\",\n \"certificateName\" : \"ad-primary-cert.pem\"\n },\n \"secondaryDomainController\" : {\n \"protocol\" : \"LDAPS\",\n \"host\" : \"ad-secondary.example.com\",\n \"port\" : 636,\n \"certificate\" : \"-----BEGIN CERTIFICATE-----\\nAD Secondary Certificate\\n-----END CERTIFICATE-----\",\n \"certificateName\" : \"ad-secondary-cert.pem\"\n },\n \"type\" : \"ACTIVE_DIRECTORY_LDAP\",\n \"baseDn\" : \"DC=example,DC=com\",\n \"bindDn\" : \"CN=ldap-bind-user,OU=Service Accounts,DC=example,DC=com\",\n \"directorySearchAttribute\" : \"sAMAccountName\",\n \"dnsLookupCertificateChain\" : [ ]\n }\n } ]\n }\n}" + }, "LDAP BIND based IDP update request." : { "description" : "LDAP BIND based IDP update request.", "value" : "{\n \"id\" : \"3acffa05-a0cc-454e-9d0f-5187be78d61f\",\n \"name\" : \"LDAP Provider\",\n \"ssoRealmId\" : \"d222d5e3-5f84-4cd8-b51d-5f80bccd8f36\",\n \"idpType\" : \"ADLDAP\",\n \"idpProtocol\" : \"LDAP_BIND\",\n \"provisionType\" : \"LDAP\",\n \"provisioningConfig\" : {\n \"ldapConfigurations\" : [ {\n \"name\" : \"LDAP Directory Configuration\",\n \"domains\" : [ \"example.com\", \"ldap.example.com\" ],\n \"ldapBindConfiguration\" : {\n \"primaryDomainController\" : {\n \"protocol\" : \"LDAPS\",\n \"host\" : \"ad-primary.example.com\",\n \"port\" : 636,\n \"certificate\" : \"-----BEGIN CERTIFICATE-----\\nAD Primary Certificate\\n-----END CERTIFICATE-----\",\n \"certificateName\" : \"ad-primary-cert.pem\"\n },\n \"secondaryDomainController\" : {\n \"protocol\" : \"LDAPS\",\n \"host\" : \"ad-secondary.example.com\",\n \"port\" : 636,\n \"certificate\" : \"-----BEGIN CERTIFICATE-----\\nAD Secondary Certificate\\n-----END CERTIFICATE-----\",\n \"certificateName\" : \"ad-secondary-cert.pem\"\n },\n \"type\" : \"ACTIVE_DIRECTORY_LDAP\",\n \"baseDn\" : \"DC=example,DC=com\",\n \"bindDn\" : \"CN=ldap-bind-user,OU=Service Accounts,DC=example,DC=com\",\n \"directorySearchAttribute\" : \"sAMAccountName\",\n \"dnsLookupCertificateChain\" : [ ]\n }\n } ]\n }\n}" @@ -10601,6 +10665,10 @@ "content" : { "application/json" : { "examples" : { + "LDAP BIND based IDP response with ON_DEMAND sync mode." : { + "description" : "LDAP BIND based IDP response with ON_DEMAND sync mode.", + "value" : "{\n \"id\" : \"d4bb5587-fd15-575e-d74c-99d06514fff5\",\n \"name\" : \"LDAP ON_DEMAND Provider\",\n \"ssoRealmId\" : \"d222d5e3-5f84-4cd8-b51d-5f80bccd8f36\",\n \"idpType\" : \"ADLDAP\",\n \"idpProtocol\" : \"LDAP_BIND\",\n \"provisionType\" : \"LDAP\",\n \"provisioningConfig\" : {\n \"ldapConfigurations\" : [ {\n \"name\" : \"LDAP Directory Configuration\",\n \"domains\" : [ \"example.com\", \"ldap.example.com\" ],\n \"ldapBindConfiguration\" : {\n \"primaryDomainController\" : {\n \"protocol\" : \"LDAPS\",\n \"host\" : \"ad-primary.example.com\",\n \"port\" : 636,\n \"certificate\" : \"-----BEGIN CERTIFICATE-----\\nAD Primary Certificate\\n-----END CERTIFICATE-----\",\n \"certificateName\" : \"ad-primary-cert.pem\"\n },\n \"secondaryDomainController\" : {\n \"protocol\" : \"LDAPS\",\n \"host\" : \"ad-secondary.example.com\",\n \"port\" : 636,\n \"certificate\" : \"-----BEGIN CERTIFICATE-----\\nAD Secondary Certificate\\n-----END CERTIFICATE-----\",\n \"certificateName\" : \"ad-secondary-cert.pem\"\n },\n \"type\" : \"ACTIVE_DIRECTORY_LDAP\",\n \"baseDn\" : \"DC=example,DC=com\",\n \"bindDn\" : \"CN=ldap-bind-user,OU=Service Accounts,DC=example,DC=com\",\n \"directorySearchAttribute\" : \"sAMAccountName\",\n \"dnsLookupCertificateChain\" : [ ]\n }\n } ]\n },\n \"createdAt\" : 1705276800000,\n \"updatedAt\" : 1705363200000\n}" + }, "LDAP BIND based IDP response." : { "description" : "LDAP BIND based IDP response.", "value" : "{\n \"id\" : \"3acffa05-a0cc-454e-9d0f-5187be78d61f\",\n \"name\" : \"LDAP Provider\",\n \"ssoRealmId\" : \"d222d5e3-5f84-4cd8-b51d-5f80bccd8f36\",\n \"idpType\" : \"ADLDAP\",\n \"idpProtocol\" : \"LDAP_BIND\",\n \"provisionType\" : \"LDAP\",\n \"provisioningConfig\" : {\n \"ldapConfigurations\" : [ {\n \"name\" : \"LDAP Directory Configuration\",\n \"domains\" : [ \"example.com\", \"ldap.example.com\" ],\n \"ldapBindConfiguration\" : {\n \"primaryDomainController\" : {\n \"protocol\" : \"LDAPS\",\n \"host\" : \"ad-primary.example.com\",\n \"port\" : 636,\n \"certificate\" : \"-----BEGIN CERTIFICATE-----\\nAD Primary Certificate\\n-----END CERTIFICATE-----\",\n \"certificateName\" : \"ad-primary-cert.pem\"\n },\n \"secondaryDomainController\" : {\n \"protocol\" : \"LDAPS\",\n \"host\" : \"ad-secondary.example.com\",\n \"port\" : 636,\n \"certificate\" : \"-----BEGIN CERTIFICATE-----\\nAD Secondary Certificate\\n-----END CERTIFICATE-----\",\n \"certificateName\" : \"ad-secondary-cert.pem\"\n },\n \"type\" : \"ACTIVE_DIRECTORY_LDAP\",\n \"baseDn\" : \"DC=example,DC=com\",\n \"bindDn\" : \"CN=ldap-bind-user,OU=Service Accounts,DC=example,DC=com\",\n \"directorySearchAttribute\" : \"sAMAccountName\",\n \"dnsLookupCertificateChain\" : [ ]\n }\n } ]\n },\n \"createdAt\" : 1705104000000,\n \"updatedAt\" : 1705190400000\n}" @@ -10699,6 +10767,10 @@ "content" : { "application/json" : { "examples" : { + "LDAP BIND based IDP response with ON_DEMAND sync mode." : { + "description" : "LDAP BIND based IDP response with ON_DEMAND sync mode.", + "value" : "{\n \"id\" : \"d4bb5587-fd15-575e-d74c-99d06514fff5\",\n \"name\" : \"LDAP ON_DEMAND Provider\",\n \"ssoRealmId\" : \"d222d5e3-5f84-4cd8-b51d-5f80bccd8f36\",\n \"idpType\" : \"ADLDAP\",\n \"idpProtocol\" : \"LDAP_BIND\",\n \"provisionType\" : \"LDAP\",\n \"provisioningConfig\" : {\n \"ldapConfigurations\" : [ {\n \"name\" : \"LDAP Directory Configuration\",\n \"domains\" : [ \"example.com\", \"ldap.example.com\" ],\n \"ldapBindConfiguration\" : {\n \"primaryDomainController\" : {\n \"protocol\" : \"LDAPS\",\n \"host\" : \"ad-primary.example.com\",\n \"port\" : 636,\n \"certificate\" : \"-----BEGIN CERTIFICATE-----\\nAD Primary Certificate\\n-----END CERTIFICATE-----\",\n \"certificateName\" : \"ad-primary-cert.pem\"\n },\n \"secondaryDomainController\" : {\n \"protocol\" : \"LDAPS\",\n \"host\" : \"ad-secondary.example.com\",\n \"port\" : 636,\n \"certificate\" : \"-----BEGIN CERTIFICATE-----\\nAD Secondary Certificate\\n-----END CERTIFICATE-----\",\n \"certificateName\" : \"ad-secondary-cert.pem\"\n },\n \"type\" : \"ACTIVE_DIRECTORY_LDAP\",\n \"baseDn\" : \"DC=example,DC=com\",\n \"bindDn\" : \"CN=ldap-bind-user,OU=Service Accounts,DC=example,DC=com\",\n \"directorySearchAttribute\" : \"sAMAccountName\",\n \"dnsLookupCertificateChain\" : [ ]\n }\n } ]\n },\n \"createdAt\" : 1705276800000,\n \"updatedAt\" : 1705363200000\n}" + }, "LDAP BIND based IDP response." : { "description" : "LDAP BIND based IDP response.", "value" : "{\n \"id\" : \"3acffa05-a0cc-454e-9d0f-5187be78d61f\",\n \"name\" : \"LDAP Provider\",\n \"ssoRealmId\" : \"d222d5e3-5f84-4cd8-b51d-5f80bccd8f36\",\n \"idpType\" : \"ADLDAP\",\n \"idpProtocol\" : \"LDAP_BIND\",\n \"provisionType\" : \"LDAP\",\n \"provisioningConfig\" : {\n \"ldapConfigurations\" : [ {\n \"name\" : \"LDAP Directory Configuration\",\n \"domains\" : [ \"example.com\", \"ldap.example.com\" ],\n \"ldapBindConfiguration\" : {\n \"primaryDomainController\" : {\n \"protocol\" : \"LDAPS\",\n \"host\" : \"ad-primary.example.com\",\n \"port\" : 636,\n \"certificate\" : \"-----BEGIN CERTIFICATE-----\\nAD Primary Certificate\\n-----END CERTIFICATE-----\",\n \"certificateName\" : \"ad-primary-cert.pem\"\n },\n \"secondaryDomainController\" : {\n \"protocol\" : \"LDAPS\",\n \"host\" : \"ad-secondary.example.com\",\n \"port\" : 636,\n \"certificate\" : \"-----BEGIN CERTIFICATE-----\\nAD Secondary Certificate\\n-----END CERTIFICATE-----\",\n \"certificateName\" : \"ad-secondary-cert.pem\"\n },\n \"type\" : \"ACTIVE_DIRECTORY_LDAP\",\n \"baseDn\" : \"DC=example,DC=com\",\n \"bindDn\" : \"CN=ldap-bind-user,OU=Service Accounts,DC=example,DC=com\",\n \"directorySearchAttribute\" : \"sAMAccountName\",\n \"dnsLookupCertificateChain\" : [ ]\n }\n } ]\n },\n \"createdAt\" : 1705104000000,\n \"updatedAt\" : 1705190400000\n}" @@ -10866,7 +10938,7 @@ "200" : { "content" : { "application/json" : { - "example" : "{\n \"ldapDirectories\" : [ {\n \"ldapConfigurationId\" : \"828ad4fc-cd8a-4f44-b5bc-adb568d67d1c\",\n \"name\" : \"BROADCOM\",\n \"domains\" : [ \"broadcom.com\" ],\n \"domainControllerPort\" : 0,\n \"numberOfUsers\" : 100,\n \"numberOfGroups\" : 100,\n \"numberOfAlerts\" : 20,\n \"lastSyncDateTime\" : 1753340064646,\n \"setupStatus\" : \"COMPLETED\",\n \"lastSyncStatus\" : \"IN_PROGRESS\"\n }, {\n \"ldapConfigurationId\" : \"b1913b00-e818-4217-a7f3-a1735d7e963d\",\n \"name\" : \"BROADCOM\",\n \"domains\" : [ \"broadcom.com\" ],\n \"domainControllerPort\" : 0,\n \"numberOfUsers\" : 100,\n \"numberOfGroups\" : 100,\n \"numberOfAlerts\" : 30,\n \"lastSyncDateTime\" : 1753340074285,\n \"setupStatus\" : \"COMPLETED\"\n } ]\n}", + "example" : "{\n \"ldapDirectories\" : [ {\n \"ldapConfigurationId\" : \"828ad4fc-cd8a-4f44-b5bc-adb568d67d1c\",\n \"name\" : \"BROADCOM\",\n \"domains\" : [ \"broadcom.com\" ],\n \"domainControllerPort\" : 0,\n \"numberOfUsers\" : 100,\n \"numberOfGroups\" : 100,\n \"numberOfAlerts\" : 20,\n \"lastSyncDateTime\" : 1753340064646,\n \"setupStatus\" : \"COMPLETED\",\n \"lastSyncStatus\" : \"IN_PROGRESS\",\n \"syncMode\" : \"FULL_SYNC\"\n }, {\n \"ldapConfigurationId\" : \"b1913b00-e818-4217-a7f3-a1735d7e963d\",\n \"name\" : \"BROADCOM\",\n \"domains\" : [ \"broadcom.com\" ],\n \"domainControllerPort\" : 0,\n \"numberOfUsers\" : 100,\n \"numberOfGroups\" : 100,\n \"numberOfAlerts\" : 30,\n \"lastSyncDateTime\" : 1753340074285,\n \"setupStatus\" : \"COMPLETED\",\n \"syncMode\" : \"ON_DEMAND\"\n } ]\n}", "schema" : { "$ref" : "#/components/schemas/LdapDirectories" } @@ -10918,7 +10990,7 @@ "200" : { "content" : { "application/json" : { - "example" : "{\n \"ldapGroups\" : [ {\n \"name\" : \"vidb.vc-admin\",\n \"dn\" : \"CN=vidb,CN=vc-admin,CN=Groups,DC=eng,DC=company,DC=com\",\n \"baseDn\" : \"DC=eng,DC=company,DC=com\",\n \"objectGuid\" : \"dfd3c968-0b6d-4750-a66e-405d4c04c245\",\n \"compliant\" : true,\n \"selectAll\" : false\n }, {\n \"name\" : \"vc-admin\",\n \"dn\" : \"CN=vc-admin,CN=Groups,DC=eng,DC=company,DC=com\",\n \"baseDn\" : \"DC=eng,DC=company,DC=com\",\n \"objectGuid\" : \"d33220f1-9c27-4671-81d5-95c1dd55330d\",\n \"compliant\" : true,\n \"selectAll\" : false\n } ]\n}", + "example" : "{\n \"ldapGroups\" : [ {\n \"id\" : \"c3d4e5f6-a7b8-9012-cdef-123456789012\",\n \"roleAssignments\" : true,\n \"name\" : \"vidb.vc-admin\",\n \"dn\" : \"CN=vidb,CN=vc-admin,CN=Groups,DC=eng,DC=company,DC=com\",\n \"baseDn\" : \"DC=eng,DC=company,DC=com\",\n \"objectGuid\" : \"dfd3c968-0b6d-4750-a66e-405d4c04c245\",\n \"compliant\" : true,\n \"selectAll\" : false\n }, {\n \"id\" : \"d4e5f6a7-b8c9-0123-def0-234567890123\",\n \"roleAssignments\" : false,\n \"name\" : \"vc-admin\",\n \"dn\" : \"CN=vc-admin,CN=Groups,DC=eng,DC=company,DC=com\",\n \"baseDn\" : \"DC=eng,DC=company,DC=com\",\n \"objectGuid\" : \"d33220f1-9c27-4671-81d5-95c1dd55330d\",\n \"compliant\" : true,\n \"selectAll\" : false\n } ]\n}", "schema" : { "$ref" : "#/components/schemas/LdapGroups" } @@ -10931,6 +11003,99 @@ "tags" : [ "IAM APIs" ] } }, + "/api/fleet-management/iam/identity-providers/{idpConfigId}/ldap-directories/{ldapDirectoryId}/principals" : { + "post" : { + "description" : "Provisions a user or group principal in the specified LDAP directory of an identity provider.", + "operationId" : "provisionPrincipal", + "parameters" : [ { + "description" : "IDP configuration identifier", + "in" : "path", + "name" : "idpConfigId", + "required" : true, + "schema" : { + "type" : "string", + "format" : "uuid" + } + }, { + "description" : "LDAP directory identifier", + "in" : "path", + "name" : "ldapDirectoryId", + "required" : true, + "schema" : { + "type" : "string", + "format" : "uuid" + } + } ], + "requestBody" : { + "content" : { + "application/json" : { + "example" : "{\n \"dn\" : \"CN=john.doe,OU=Users,DC=example,DC=com\",\n \"principalType\" : \"USER\"\n}", + "schema" : { + "$ref" : "#/components/schemas/VidbPrincipal" + } + } + }, + "description" : "Principal to provision", + "required" : true + }, + "responses" : { + "201" : { + "content" : { + "application/json" : { + "example" : "{\n \"principalId\" : \"550e8400-e29b-41d4-a716-446655440000\",\n \"name\" : \"john.doe\",\n \"dn\" : \"CN=john.doe,OU=Users,DC=example,DC=com\",\n \"principalType\" : \"USER\"\n}", + "schema" : { + "$ref" : "#/components/schemas/VidbPrincipal" + } + } + }, + "description" : "Provisioned principal details" + } + }, + "summary" : "Provision a principal in an LDAP directory", + "tags" : [ "IAM APIs" ] + } + }, + "/api/fleet-management/iam/identity-providers/{idpConfigId}/ldap-directories/{ldapDirectoryId}/principals/{principalId}" : { + "delete" : { + "description" : "Removes a user or group principal from the specified LDAP directory of an identity provider.", + "operationId" : "deprovisionPrincipal", + "parameters" : [ { + "description" : "IDP configuration identifier", + "in" : "path", + "name" : "idpConfigId", + "required" : true, + "schema" : { + "type" : "string", + "format" : "uuid" + } + }, { + "description" : "LDAP directory identifier", + "in" : "path", + "name" : "ldapDirectoryId", + "required" : true, + "schema" : { + "type" : "string", + "format" : "uuid" + } + }, { + "description" : "Principal identifier to deprovision", + "in" : "path", + "name" : "principalId", + "required" : true, + "schema" : { + "type" : "string", + "format" : "uuid" + } + } ], + "responses" : { + "204" : { + "description" : "Principal successfully deprovisioned" + } + }, + "summary" : "Deprovision a principal from an LDAP directory", + "tags" : [ "IAM APIs" ] + } + }, "/api/fleet-management/iam/identity-providers/{idpConfigId}/ldap-directories/{ldapDirectoryId}/sync" : { "post" : { "description" : "Initiates a manual LDAP synchronization operation for the specified identity provider and directory.", @@ -11114,7 +11279,7 @@ "200" : { "content" : { "application/json" : { - "example" : "{\n \"userAttributeMappings\" : [ {\n \"attributeName\" : \"userName\",\n \"directoryAttributeName\" : \"sAMAccountName\",\n \"required\" : true\n }, {\n \"attributeName\" : \"distinguishedName\",\n \"directoryAttributeName\" : \"distinguishedName\",\n \"required\" : false\n } ],\n \"ldapGroups\" : [ {\n \"name\" : \"vidb\",\n \"dn\" : \"CN=vidb,CN=Groups,DC=eng,DC=company,DC=com\",\n \"baseDn\" : \"DC=eng,DC=company,DC=com\",\n \"objectGuid\" : \"dfd3c968-0b6d-4750-a66e-405d4c04c245\",\n \"compliant\" : true,\n \"selectAll\" : false\n }, {\n \"name\" : \"vc-admin\",\n \"dn\" : \"CN=vc-admin,CN=Groups,DC=eng,DC=company,DC=com\",\n \"baseDn\" : \"DC=eng,DC=company,DC=com\",\n \"objectGuid\" : \"d33220f1-9c27-4671-81d5-95c1dd55330d\",\n \"compliant\" : true,\n \"selectAll\" : false\n } ],\n \"ldapUsers\" : [ {\n \"userId\" : \"2d825955-c4bc-4ea0-8c79-d1a0ed9a9de6\",\n \"name\" : \"John Doe\",\n \"dn\" : \"CN=jdoe,CN=Users,DC=eng,DC=company,DC=com\",\n \"baseDn\" : \"DC=eng,DC=company,DC=com\",\n \"mail\" : \"jdoe@eng.company.com\"\n }, {\n \"userId\" : \"d33220f1-9c27-4671-81d5-95c1dd55330d\",\n \"name\" : \"Roger Penrose\",\n \"dn\" : \"CN=rpenrose,CN=Users,DC=eng,DC=company,DC=com\",\n \"baseDn\" : \"DC=eng,DC=company,DC=com\",\n \"mail\" : \"rpenrose@eng.company.com\"\n } ],\n \"syncSchedule\" : {\n \"frequency\" : \"WEEKLY\",\n \"dayOfTheWeek\" : \"TUESDAY\",\n \"hours\" : 20,\n \"minutes\" : 30,\n \"seconds\" : 59\n },\n \"includeNestedGroupsAndMembers\" : false\n}", + "example" : "{\n \"userAttributeMappings\" : [ {\n \"attributeName\" : \"userName\",\n \"directoryAttributeName\" : \"sAMAccountName\",\n \"required\" : true\n }, {\n \"attributeName\" : \"distinguishedName\",\n \"directoryAttributeName\" : \"distinguishedName\",\n \"required\" : false\n } ],\n \"ldapGroups\" : [ {\n \"id\" : \"c3d4e5f6-a7b8-9012-cdef-123456789012\",\n \"roleAssignments\" : true,\n \"name\" : \"vidb\",\n \"dn\" : \"CN=vidb,CN=Groups,DC=eng,DC=company,DC=com\",\n \"baseDn\" : \"DC=eng,DC=company,DC=com\",\n \"objectGuid\" : \"dfd3c968-0b6d-4750-a66e-405d4c04c245\",\n \"compliant\" : true,\n \"selectAll\" : false\n }, {\n \"id\" : \"d4e5f6a7-b8c9-0123-def0-234567890123\",\n \"roleAssignments\" : false,\n \"name\" : \"vc-admin\",\n \"dn\" : \"CN=vc-admin,CN=Groups,DC=eng,DC=company,DC=com\",\n \"baseDn\" : \"DC=eng,DC=company,DC=com\",\n \"objectGuid\" : \"d33220f1-9c27-4671-81d5-95c1dd55330d\",\n \"compliant\" : true,\n \"selectAll\" : false\n } ],\n \"ldapUsers\" : [ {\n \"id\" : \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n \"roleAssignments\" : true,\n \"userId\" : \"2d825955-c4bc-4ea0-8c79-d1a0ed9a9de6\",\n \"name\" : \"John Doe\",\n \"dn\" : \"CN=jdoe,CN=Users,DC=eng,DC=company,DC=com\",\n \"baseDn\" : \"DC=eng,DC=company,DC=com\",\n \"mail\" : \"jdoe@eng.company.com\"\n }, {\n \"id\" : \"b2c3d4e5-f6a7-8901-bcde-f12345678901\",\n \"roleAssignments\" : false,\n \"userId\" : \"d33220f1-9c27-4671-81d5-95c1dd55330d\",\n \"name\" : \"Roger Penrose\",\n \"dn\" : \"CN=rpenrose,CN=Users,DC=eng,DC=company,DC=com\",\n \"baseDn\" : \"DC=eng,DC=company,DC=com\",\n \"mail\" : \"rpenrose@eng.company.com\"\n } ],\n \"syncSchedule\" : {\n \"frequency\" : \"WEEKLY\",\n \"dayOfTheWeek\" : \"TUESDAY\",\n \"hours\" : 20,\n \"minutes\" : 30,\n \"seconds\" : 59\n },\n \"includeNestedGroupsAndMembers\" : false\n}", "schema" : { "$ref" : "#/components/schemas/LdapSyncProfile" } @@ -11151,7 +11316,7 @@ "requestBody" : { "content" : { "application/json" : { - "example" : "{\n \"userAttributeMappings\" : [ {\n \"attributeName\" : \"userName\",\n \"directoryAttributeName\" : \"sAMAccountName\",\n \"required\" : true\n }, {\n \"attributeName\" : \"distinguishedName\",\n \"directoryAttributeName\" : \"distinguishedName\",\n \"required\" : false\n } ],\n \"ldapGroups\" : [ {\n \"name\" : \"vidb\",\n \"dn\" : \"CN=vidb,CN=Groups,DC=eng,DC=company,DC=com\",\n \"baseDn\" : \"DC=eng,DC=company,DC=com\",\n \"objectGuid\" : \"dfd3c968-0b6d-4750-a66e-405d4c04c245\",\n \"compliant\" : true,\n \"selectAll\" : false\n }, {\n \"name\" : \"vc-admin\",\n \"dn\" : \"CN=vc-admin,CN=Groups,DC=eng,DC=company,DC=com\",\n \"baseDn\" : \"DC=eng,DC=company,DC=com\",\n \"objectGuid\" : \"d33220f1-9c27-4671-81d5-95c1dd55330d\",\n \"compliant\" : true,\n \"selectAll\" : false\n } ],\n \"ldapUsers\" : [ {\n \"userId\" : \"2d825955-c4bc-4ea0-8c79-d1a0ed9a9de6\",\n \"name\" : \"John Doe\",\n \"dn\" : \"CN=jdoe,CN=Users,DC=eng,DC=company,DC=com\",\n \"baseDn\" : \"DC=eng,DC=company,DC=com\",\n \"mail\" : \"jdoe@eng.company.com\"\n }, {\n \"userId\" : \"d33220f1-9c27-4671-81d5-95c1dd55330d\",\n \"name\" : \"Roger Penrose\",\n \"dn\" : \"CN=rpenrose,CN=Users,DC=eng,DC=company,DC=com\",\n \"baseDn\" : \"DC=eng,DC=company,DC=com\",\n \"mail\" : \"rpenrose@eng.company.com\"\n } ],\n \"syncSchedule\" : {\n \"frequency\" : \"WEEKLY\",\n \"dayOfTheWeek\" : \"TUESDAY\",\n \"hours\" : 20,\n \"minutes\" : 30,\n \"seconds\" : 59\n },\n \"includeNestedGroupsAndMembers\" : false\n}", + "example" : "{\n \"userAttributeMappings\" : [ {\n \"attributeName\" : \"userName\",\n \"directoryAttributeName\" : \"sAMAccountName\",\n \"required\" : true\n }, {\n \"attributeName\" : \"distinguishedName\",\n \"directoryAttributeName\" : \"distinguishedName\",\n \"required\" : false\n } ],\n \"ldapGroups\" : [ {\n \"id\" : \"c3d4e5f6-a7b8-9012-cdef-123456789012\",\n \"roleAssignments\" : true,\n \"name\" : \"vidb\",\n \"dn\" : \"CN=vidb,CN=Groups,DC=eng,DC=company,DC=com\",\n \"baseDn\" : \"DC=eng,DC=company,DC=com\",\n \"objectGuid\" : \"dfd3c968-0b6d-4750-a66e-405d4c04c245\",\n \"compliant\" : true,\n \"selectAll\" : false\n }, {\n \"id\" : \"d4e5f6a7-b8c9-0123-def0-234567890123\",\n \"roleAssignments\" : false,\n \"name\" : \"vc-admin\",\n \"dn\" : \"CN=vc-admin,CN=Groups,DC=eng,DC=company,DC=com\",\n \"baseDn\" : \"DC=eng,DC=company,DC=com\",\n \"objectGuid\" : \"d33220f1-9c27-4671-81d5-95c1dd55330d\",\n \"compliant\" : true,\n \"selectAll\" : false\n } ],\n \"ldapUsers\" : [ {\n \"id\" : \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n \"roleAssignments\" : true,\n \"userId\" : \"2d825955-c4bc-4ea0-8c79-d1a0ed9a9de6\",\n \"name\" : \"John Doe\",\n \"dn\" : \"CN=jdoe,CN=Users,DC=eng,DC=company,DC=com\",\n \"baseDn\" : \"DC=eng,DC=company,DC=com\",\n \"mail\" : \"jdoe@eng.company.com\"\n }, {\n \"id\" : \"b2c3d4e5-f6a7-8901-bcde-f12345678901\",\n \"roleAssignments\" : false,\n \"userId\" : \"d33220f1-9c27-4671-81d5-95c1dd55330d\",\n \"name\" : \"Roger Penrose\",\n \"dn\" : \"CN=rpenrose,CN=Users,DC=eng,DC=company,DC=com\",\n \"baseDn\" : \"DC=eng,DC=company,DC=com\",\n \"mail\" : \"rpenrose@eng.company.com\"\n } ],\n \"syncSchedule\" : {\n \"frequency\" : \"WEEKLY\",\n \"dayOfTheWeek\" : \"TUESDAY\",\n \"hours\" : 20,\n \"minutes\" : 30,\n \"seconds\" : 59\n },\n \"includeNestedGroupsAndMembers\" : false\n}", "schema" : { "$ref" : "#/components/schemas/LdapSyncProfile" } @@ -11164,7 +11329,7 @@ "200" : { "content" : { "application/json" : { - "example" : "{\n \"userAttributeMappings\" : [ {\n \"attributeName\" : \"userName\",\n \"directoryAttributeName\" : \"sAMAccountName\",\n \"required\" : true\n }, {\n \"attributeName\" : \"distinguishedName\",\n \"directoryAttributeName\" : \"distinguishedName\",\n \"required\" : false\n } ],\n \"ldapGroups\" : [ {\n \"name\" : \"vidb\",\n \"dn\" : \"CN=vidb,CN=Groups,DC=eng,DC=company,DC=com\",\n \"baseDn\" : \"DC=eng,DC=company,DC=com\",\n \"objectGuid\" : \"dfd3c968-0b6d-4750-a66e-405d4c04c245\",\n \"compliant\" : true,\n \"selectAll\" : false\n }, {\n \"name\" : \"vc-admin\",\n \"dn\" : \"CN=vc-admin,CN=Groups,DC=eng,DC=company,DC=com\",\n \"baseDn\" : \"DC=eng,DC=company,DC=com\",\n \"objectGuid\" : \"d33220f1-9c27-4671-81d5-95c1dd55330d\",\n \"compliant\" : true,\n \"selectAll\" : false\n } ],\n \"ldapUsers\" : [ {\n \"userId\" : \"2d825955-c4bc-4ea0-8c79-d1a0ed9a9de6\",\n \"name\" : \"John Doe\",\n \"dn\" : \"CN=jdoe,CN=Users,DC=eng,DC=company,DC=com\",\n \"baseDn\" : \"DC=eng,DC=company,DC=com\",\n \"mail\" : \"jdoe@eng.company.com\"\n }, {\n \"userId\" : \"d33220f1-9c27-4671-81d5-95c1dd55330d\",\n \"name\" : \"Roger Penrose\",\n \"dn\" : \"CN=rpenrose,CN=Users,DC=eng,DC=company,DC=com\",\n \"baseDn\" : \"DC=eng,DC=company,DC=com\",\n \"mail\" : \"rpenrose@eng.company.com\"\n } ],\n \"syncSchedule\" : {\n \"frequency\" : \"WEEKLY\",\n \"dayOfTheWeek\" : \"TUESDAY\",\n \"hours\" : 20,\n \"minutes\" : 30,\n \"seconds\" : 59\n },\n \"includeNestedGroupsAndMembers\" : false\n}", + "example" : "{\n \"userAttributeMappings\" : [ {\n \"attributeName\" : \"userName\",\n \"directoryAttributeName\" : \"sAMAccountName\",\n \"required\" : true\n }, {\n \"attributeName\" : \"distinguishedName\",\n \"directoryAttributeName\" : \"distinguishedName\",\n \"required\" : false\n } ],\n \"ldapGroups\" : [ {\n \"id\" : \"c3d4e5f6-a7b8-9012-cdef-123456789012\",\n \"roleAssignments\" : true,\n \"name\" : \"vidb\",\n \"dn\" : \"CN=vidb,CN=Groups,DC=eng,DC=company,DC=com\",\n \"baseDn\" : \"DC=eng,DC=company,DC=com\",\n \"objectGuid\" : \"dfd3c968-0b6d-4750-a66e-405d4c04c245\",\n \"compliant\" : true,\n \"selectAll\" : false\n }, {\n \"id\" : \"d4e5f6a7-b8c9-0123-def0-234567890123\",\n \"roleAssignments\" : false,\n \"name\" : \"vc-admin\",\n \"dn\" : \"CN=vc-admin,CN=Groups,DC=eng,DC=company,DC=com\",\n \"baseDn\" : \"DC=eng,DC=company,DC=com\",\n \"objectGuid\" : \"d33220f1-9c27-4671-81d5-95c1dd55330d\",\n \"compliant\" : true,\n \"selectAll\" : false\n } ],\n \"ldapUsers\" : [ {\n \"id\" : \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n \"roleAssignments\" : true,\n \"userId\" : \"2d825955-c4bc-4ea0-8c79-d1a0ed9a9de6\",\n \"name\" : \"John Doe\",\n \"dn\" : \"CN=jdoe,CN=Users,DC=eng,DC=company,DC=com\",\n \"baseDn\" : \"DC=eng,DC=company,DC=com\",\n \"mail\" : \"jdoe@eng.company.com\"\n }, {\n \"id\" : \"b2c3d4e5-f6a7-8901-bcde-f12345678901\",\n \"roleAssignments\" : false,\n \"userId\" : \"d33220f1-9c27-4671-81d5-95c1dd55330d\",\n \"name\" : \"Roger Penrose\",\n \"dn\" : \"CN=rpenrose,CN=Users,DC=eng,DC=company,DC=com\",\n \"baseDn\" : \"DC=eng,DC=company,DC=com\",\n \"mail\" : \"rpenrose@eng.company.com\"\n } ],\n \"syncSchedule\" : {\n \"frequency\" : \"WEEKLY\",\n \"dayOfTheWeek\" : \"TUESDAY\",\n \"hours\" : 20,\n \"minutes\" : 30,\n \"seconds\" : 59\n },\n \"includeNestedGroupsAndMembers\" : false\n}", "schema" : { "$ref" : "#/components/schemas/LdapSyncProfile" } @@ -11216,7 +11381,7 @@ "200" : { "content" : { "application/json" : { - "example" : "{\n \"ldapUsers\" : [ {\n \"userId\" : \"2d825955-c4bc-4ea0-8c79-d1a0ed9a9de6\",\n \"name\" : \"John Doe\",\n \"dn\" : \"CN=jdoe,CN=Users,DC=eng,DC=company,DC=com\",\n \"baseDn\" : \"DC=eng,DC=company,DC=com\",\n \"mail\" : \"jdoe@eng.company.com\"\n }, {\n \"userId\" : \"d33220f1-9c27-4671-81d5-95c1dd55330d\",\n \"name\" : \"Jdoe Roger Penrose\",\n \"dn\" : \"CN=jdoerpenrose,CN=Users,DC=eng,DC=company,DC=com\",\n \"baseDn\" : \"DC=eng,DC=company,DC=com\",\n \"mail\" : \"jdoerpenrose@eng.company.com\"\n } ]\n}", + "example" : "{\n \"ldapUsers\" : [ {\n \"id\" : \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n \"roleAssignments\" : true,\n \"userId\" : \"2d825955-c4bc-4ea0-8c79-d1a0ed9a9de6\",\n \"name\" : \"John Doe\",\n \"dn\" : \"CN=jdoe,CN=Users,DC=eng,DC=company,DC=com\",\n \"baseDn\" : \"DC=eng,DC=company,DC=com\",\n \"mail\" : \"jdoe@eng.company.com\"\n }, {\n \"id\" : \"b2c3d4e5-f6a7-8901-bcde-f12345678901\",\n \"roleAssignments\" : false,\n \"userId\" : \"d33220f1-9c27-4671-81d5-95c1dd55330d\",\n \"name\" : \"Jdoe Roger Penrose\",\n \"dn\" : \"CN=jdoerpenrose,CN=Users,DC=eng,DC=company,DC=com\",\n \"baseDn\" : \"DC=eng,DC=company,DC=com\",\n \"mail\" : \"jdoerpenrose@eng.company.com\"\n } ]\n}", "schema" : { "$ref" : "#/components/schemas/LdapUsers" } @@ -11441,7 +11606,7 @@ "requestBody" : { "content" : { "application/json" : { - "example" : "{\n \"vidbResourceId\" : \"14e95251-8149-44ca-beee-4c943484ecfd\",\n \"metadata\" : \"https://dev-okta.com/app/generic-saml/exki2xnrvuCtOegWC5d7/sso/saml\"\n}", + "example" : "{\n \"vidbResourceId\" : \"14e95251-8149-44ca-beee-4c943484ecfd\",\n \"metadata\" : \"https://dev-okta.com/app/generic-saml/exki2xnrvuCtOegWC5d7/sso/saml\",\n \"certificate\" : \"-----BEGIN CERTIFICATE-----\\nMIIDiTCCAnGgAwIBAgIGAZFHwsOeMA0GCSqGSIb3DQEBCwUAMFMxMzAxBgNVBAMM\\n...\\n-----END CERTIFICATE-----\"\n}", "schema" : { "$ref" : "#/components/schemas/SamlXmlMetadata" } @@ -12893,6 +13058,51 @@ "tags" : [ "IAM APIs" ] } }, + "/api/fleet-management/iam/ssorealms/{ssoRealmId}/users/{userId}/groups" : { + "get" : { + "description" : "Retrieves detailed information about all groups that a specific user is a member of within the specified SSO realm.", + "operationId" : "getUserGroupDetails", + "parameters" : [ { + "description" : "SSO Realm identifier", + "in" : "path", + "name" : "ssoRealmId", + "required" : true, + "schema" : { + "type" : "string", + "format" : "uuid" + } + }, { + "description" : "User identifier", + "in" : "path", + "name" : "userId", + "required" : true, + "schema" : { + "type" : "string", + "format" : "uuid" + } + } ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "examples" : { + "User group details response" : { + "description" : "User group details response", + "value" : "{\n \"vidbGroups\" : [ {\n \"groupId\" : \"5319fc54-9d7c-45e7-8f47-4926fee94c22\",\n \"groupName\" : \"hr-administrators\",\n \"displayName\" : \"HR Administrators\",\n \"domainName\" : \"acme.com\",\n \"roles\" : [ \"role1\", \"role2\" ]\n }, {\n \"groupId\" : \"6428bf65-ae8d-56f8-b958-637b9b55df33\",\n \"groupName\" : \"it-operations\",\n \"displayName\" : \"IT Operations\",\n \"domainName\" : \"acme.com\",\n \"roles\" : [ \"role3\", \"role4\" ]\n } ]\n}" + } + }, + "schema" : { + "$ref" : "#/components/schemas/VidbUserGroupDetails" + } + } + }, + "description" : "User group details" + } + }, + "summary" : "Get user groups details associated to a user from identity broker", + "tags" : [ "IAM APIs" ] + } + }, "/api/fleet-management/iam/tasks/{taskId}" : { "get" : { "description" : "Retrieves IAM task details by taskId received after initiating any task such as DELETE SSO Realm or IDP", @@ -13051,7 +13261,7 @@ "200" : { "content" : { "application/json" : { - "example" : "{\n \"vcfPasswordAccounts\" : [ {\n \"passwordAccountKey\" : \"vcenter.vsphere.com_1234_userName\",\n \"applianceFqdn\" : \"vcenter.vsphere.local.com\",\n \"userName\" : \"UserName\",\n \"status\" : \"EXPIRED\",\n \"expiryDate\" : 123363458,\n \"appliance\" : \"VCENTER\",\n \"displayApplianceType\" : \"vCenter\",\n \"credentialType\" : \"SSH\",\n \"accountType\" : \"USER\",\n \"id\" : \"hidden_id\",\n \"vcfDomainId\" : \"domainId\",\n \"passwordAlias\" : \"dummyAlias\"\n }, {\n \"passwordAccountKey\" : \"nsx.vsphere.com_1234_userName\",\n \"applianceFqdn\" : \"nsx.vsphere.local.com\",\n \"userName\" : \"UserName1\",\n \"status\" : \"ACTIVE\",\n \"expiryDate\" : 123363458,\n \"appliance\" : \"NSXT_MANAGER\",\n \"displayApplianceType\" : \"NSX Manager\",\n \"credentialType\" : \"SSH\",\n \"accountType\" : \"USER\",\n \"id\" : \"hidden_id\",\n \"vcfDomainId\" : \"domainId\"\n } ]\n}", + "example" : "{\n \"vcfPasswordAccounts\" : [ {\n \"passwordAccountKey\" : \"vcenter.vsphere.com_1234_userName\",\n \"applianceFqdn\" : \"vcenter.vsphere.local.com\",\n \"userName\" : \"UserName\",\n \"status\" : \"EXPIRED\",\n \"expiryDate\" : 123363458,\n \"appliance\" : \"VCENTER\",\n \"displayApplianceType\" : \"vCenter\",\n \"accountType\" : \"USER\",\n \"id\" : \"hidden_id\",\n \"vcfDomainId\" : \"domainId\",\n \"passwordAlias\" : \"dummyAlias\"\n }, {\n \"passwordAccountKey\" : \"nsx.vsphere.com_1234_userName\",\n \"applianceFqdn\" : \"nsx.vsphere.local.com\",\n \"userName\" : \"UserName1\",\n \"status\" : \"ACTIVE\",\n \"expiryDate\" : 123363458,\n \"appliance\" : \"NSXT_MANAGER\",\n \"displayApplianceType\" : \"NSX Manager\",\n \"accountType\" : \"USER\",\n \"id\" : \"hidden_id\",\n \"vcfDomainId\" : \"domainId\"\n } ]\n}", "schema" : { "$ref" : "#/components/schemas/VcfPasswordAccountsResponse" } @@ -13105,840 +13315,1258 @@ "tags" : [ "Fleet Password Management" ] } }, - "/api/integrations/services" : { - "get" : { - "operationId" : "getIntegratedServices", + "/api/fleet-management/password-policies" : { + "post" : { + "operationId" : "createPasswordPolicy", + "requestBody" : { + "content" : { + "application/json" : { + "example" : "{\n \"name\" : \"Fleet Example Policy\",\n \"description\" : \"Example fleet password policy for API documentation\",\n \"complexityConstraints\" : {\n \"minLength\" : 12,\n \"minLowercase\" : 1,\n \"minUppercase\" : 1,\n \"minNumeric\" : 1,\n \"minSpecial\" : 1,\n \"passwordHistory\" : 3\n },\n \"expirationConstraints\" : {\n \"maxDays\" : 90,\n \"warnDays\" : 7\n },\n \"lockoutConstraints\" : {\n \"lockoutMaxAuthFailures\" : 3,\n \"lockoutEvaluationPeriod\" : 900,\n \"lockoutPeriod\" : 900\n }\n}", + "schema" : { + "$ref" : "#/components/schemas/FleetPasswordPolicy" + } + } + }, + "description" : "Password policy to create (omit id, createdAt, updatedAt)", + "required" : true + }, "responses" : { - "200" : { + "201" : { "content" : { "application/json" : { - "example" : "{\n \"servicesDetails\" : [ {\n \"name\" : \"VCF OPS LI\",\n \"type\" : \"VCF_OPS_LI\",\n \"key\" : \"ops-li\",\n \"address\" : \"0.0.0.0\",\n \"port\" : 8000,\n \"addressType\" : \"IPV4\",\n \"certificates\" : [ ],\n \"version\" : \"9.1.0.0\"\n }, {\n \"name\" : \"VCF OPS NI\",\n \"type\" : \"VCF_OPS_NI\",\n \"key\" : \"ops-ni\",\n \"address\" : \"0.0.0.0\",\n \"port\" : 8000,\n \"addressType\" : \"IPV4\",\n \"certificates\" : [ ],\n \"basePath\" : \"base-path\",\n \"version\" : \"9.1.0.0\"\n } ]\n}", + "example" : "{\n \"id\" : \"033a28ca-50be-4aa1-ada0-d7558b21c75a\",\n \"name\" : \"Fleet Example Policy\",\n \"description\" : \"Example fleet password policy for API documentation\",\n \"complexityConstraints\" : {\n \"minLength\" : 12,\n \"minLowercase\" : 1,\n \"minUppercase\" : 1,\n \"minNumeric\" : 1,\n \"minSpecial\" : 1,\n \"passwordHistory\" : 3\n },\n \"expirationConstraints\" : {\n \"maxDays\" : 90,\n \"warnDays\" : 7\n },\n \"lockoutConstraints\" : {\n \"lockoutMaxAuthFailures\" : 3,\n \"lockoutEvaluationPeriod\" : 900,\n \"lockoutPeriod\" : 900\n },\n \"createdAt\" : 1741630060000,\n \"updatedAt\" : 1741716460000\n}", "schema" : { - "$ref" : "#/components/schemas/ServicesDetails" + "$ref" : "#/components/schemas/FleetPasswordPolicy" } } }, - "description" : "Service details" + "description" : "Created" } }, - "summary" : "Get registered services details", - "tags" : [ "Integrations" ] - } - }, - "/api/integrations/services/certificate-management/{serviceKey}/certificates" : { - "get" : { - "operationId" : "getVVFCertificates", - "parameters" : [ { - "description" : "serviceKey for which certificates need to be collected", - "in" : "path", - "name" : "serviceKey", - "required" : true, - "schema" : { - "type" : "string" - } - } ], + "summary" : "Create password policy", + "tags" : [ "Fleet Password Policy Management" ] + }, + "put" : { + "operationId" : "updatePasswordPolicy", + "requestBody" : { + "content" : { + "application/json" : { + "example" : "{\n \"id\" : \"033a28ca-50be-4aa1-ada0-d7558b21c75a\",\n \"name\" : \"Fleet Example Policy\",\n \"description\" : \"Updated description\",\n \"complexityConstraints\" : {\n \"minLength\" : 12,\n \"minLowercase\" : 1,\n \"minUppercase\" : 1,\n \"minNumeric\" : 1,\n \"minSpecial\" : 1,\n \"passwordHistory\" : 3\n },\n \"expirationConstraints\" : {\n \"maxDays\" : 90,\n \"warnDays\" : 7\n },\n \"lockoutConstraints\" : {\n \"lockoutMaxAuthFailures\" : 3,\n \"lockoutEvaluationPeriod\" : 900,\n \"lockoutPeriod\" : 900\n }\n}", + "schema" : { + "$ref" : "#/components/schemas/FleetPasswordPolicy" + } + } + }, + "description" : "Policy update; id is required", + "required" : true + }, "responses" : { "200" : { "content" : { "application/json" : { - "example" : "{\n \"certificates\" : [ {\n \"ingressType\" : \"platform\",\n \"componentFqdns\" : [ \"vcenter.example.com\", \"vcenter-alt.example.com\" ],\n \"tls\" : {\n \"certificateChain\" : \"-----BEGIN CERTIFICATE-----\\nMIIDXTCCAkWgAwIBAgIJAKZ...\\n-----END CERTIFICATE-----\",\n \"certificate\" : \"-----BEGIN CERTIFICATE-----\\nMIIEpAIBAAKCAQEA3Tz2m...\\n-----END CERTIFICATE-----\"\n }\n }, {\n \"ingressType\" : \"component\",\n \"componentFqdns\" : [ \"esxi-01.example.com\" ],\n \"tls\" : {\n \"certificateChain\" : \"-----BEGIN CERTIFICATE-----\\nMIIDYUCCAkmgAwIBAgIKALa...\\n-----END CERTIFICATE-----\",\n \"certificate\" : \"-----BEGIN CERTIFICATE-----\\nMIIEqBIBAAKCAQEA4Ua3n...\\n-----END CERTIFICATE-----\"\n }\n } ]\n}", + "example" : "{\n \"id\" : \"033a28ca-50be-4aa1-ada0-d7558b21c75a\",\n \"name\" : \"Fleet Example Policy\",\n \"description\" : \"Example fleet password policy for API documentation\",\n \"complexityConstraints\" : {\n \"minLength\" : 12,\n \"minLowercase\" : 1,\n \"minUppercase\" : 1,\n \"minNumeric\" : 1,\n \"minSpecial\" : 1,\n \"passwordHistory\" : 3\n },\n \"expirationConstraints\" : {\n \"maxDays\" : 90,\n \"warnDays\" : 7\n },\n \"lockoutConstraints\" : {\n \"lockoutMaxAuthFailures\" : 3,\n \"lockoutEvaluationPeriod\" : 900,\n \"lockoutPeriod\" : 900\n },\n \"createdAt\" : 1741630060000,\n \"updatedAt\" : 1741716460000\n}", "schema" : { - "$ref" : "#/components/schemas/VvfCertificates" + "$ref" : "#/components/schemas/FleetPasswordPolicy" } } }, - "description" : "List of VVF certificates" + "description" : "Updated policy" } }, - "summary" : "Get VVF certificates for a service", - "tags" : [ "Component Certificate Management" ] - }, - "put" : { - "operationId" : "replaceVVFCertificate", + "summary" : "Update password policy", + "tags" : [ "Fleet Password Policy Management" ] + } + }, + "/api/fleet-management/password-policies/component-groups/compliance/export" : { + "post" : { + "description" : "Exports a compliance snapshot for every component-group scope as a CSV file download. Data is fetched in bounded batches and streamed directly to the response so that the full dataset is never held in JVM heap simultaneously.", + "operationId" : "exportCompliance", + "responses" : { + "200" : { + "content" : { + "text/csv" : { + "example" : "No Custom Example is Available" + } + }, + "description" : "CSV file containing component group compliance data" + } + }, + "summary" : "Export compliance for all component groups", + "tags" : [ "Fleet Password Policy Management" ], + "x-vmw-compiler-skip" : "CONTENT_TYPE_ANYTHING_PLUS_JSON" + } + }, + "/api/fleet-management/password-policies/component-groups/components/query" : { + "post" : { + "description" : "Returns a flat paged list of component details. Filters combine with logical AND across dimensions; multiple values within a field are OR. Use **componentGroups** (plural) as a JSON array of FLEET, MANAGEMENT, or INSTANCE.", + "operationId" : "queryComponents", "parameters" : [ { - "description" : "service-key for which certificates need to be collected", - "in" : "path", - "name" : "serviceKey", - "required" : true, + "description" : "Page index (0-based)", + "in" : "query", + "name" : "page", "schema" : { - "type" : "string" + "type" : "integer", + "format" : "int32", + "default" : 0 + } + }, { + "description" : "Page size", + "in" : "query", + "name" : "pageSize", + "schema" : { + "type" : "integer", + "format" : "int32", + "default" : 1000, + "maximum" : 10000, + "minimum" : 1 + } + }, { + "description" : "Requested sort field; mapped server-side for drift listing", + "in" : "query", + "name" : "sortBy", + "schema" : { + "type" : "string", + "default" : "complianceUpdatedAt", + "enum" : [ "componentResourceId", "componentResourceFqdn", "componentResourceName", "componentResourceType", "componentComplianceStatus", "complianceUpdatedAt", "statusUpdatedAt" ] + } + }, { + "description" : "Sort direction", + "in" : "query", + "name" : "sortOrder", + "schema" : { + "type" : "string", + "default" : "ASCENDING", + "enum" : [ "ASCENDING", "DESCENDING" ] } } ], "requestBody" : { "content" : { "application/json" : { - "example" : "{\n \"ingressType\" : \"fleet\",\n \"certificateFullChain\" : \"-----BEGIN CERTIFICATE-----\\nMIIDXTCCAkWgAwIBAgIJALw6ZPPkKfpwMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV\\nBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX\\naWRnaXRzIFB0eSBMdGQwHhcNMjQwMTAxMDAwMDAwWhcNMjUwMTAxMDAwMDAwWjBF\\nMQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50\\nZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\\nCgKCAQEAw5zz5zz5zz5zz5zz5zz5zz5zz5zz5zz5zz5zz5zz5zz5zz5zz5zz5zz5\\n-----END CERTIFICATE-----\\n-----BEGIN CERTIFICATE-----\\nMIIDXTCCAkWgAwIBAgIJALw6ZPPkKfpxMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV\\nBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX\\naWRnaXRzIFB0eSBMdGQwHhcNMjQwMTAxMDAwMDAwWhcNMjUwMTAxMDAwMDAwWjBF\\n-----END CERTIFICATE-----\"\n}", + "example" : "{\n \"componentGroups\" : [ \"FLEET\" ],\n \"componentGroupResourceIds\" : [ ],\n \"componentGroupResourceFqdns\" : [ ],\n \"componentResourceIds\" : [ ],\n \"componentResourceFqdns\" : [ ],\n \"componentResourceTypes\" : [ \"SDDC_MANAGER\" ],\n \"componentComplianceStatuses\" : [ ],\n \"componentGroupComplianceStatuses\" : [ \"COMPLIANT\" ],\n \"policyIds\" : [ \"033a28ca-50be-4aa1-ada0-d7558b21c75a\" ],\n \"policyNames\" : [ \"VCF Policy1\" ]\n}", "schema" : { - "$ref" : "#/components/schemas/VvfCertificateReplacementSpec" + "$ref" : "#/components/schemas/ComponentQuery" } } }, - "description" : "Replace certificates Request Body", - "required" : true + "description" : "Optional component query filters" }, "responses" : { - "202" : { + "200" : { "content" : { "application/json" : { - "example" : "{\n \"id\" : \"0ec68cbd-d8e7-3b25-b7dd-0654c12ded11\",\n \"name\" : \"REPLACE_CERTIFICATE\",\n \"status\" : \"PENDING\",\n \"creationTimestamp\" : 510703739903,\n \"lastUpdatedTimestamp\" : 510704219903,\n \"message\" : \"Replace certificate is in progress\"\n}", + "example" : "{\n \"pageInfo\" : {\n \"totalCount\" : 0,\n \"page\" : 0,\n \"pageSize\" : 50,\n \"sortBy\" : \"complianceUpdatedAt\",\n \"sortOrder\" : \"ASCENDING\"\n },\n \"results\" : [ ]\n}", "schema" : { - "$ref" : "#/components/schemas/VvfTaskStatusResponse" + "$ref" : "#/components/schemas/PasswordPolicyComponents" } } }, - "description" : "The certificate replacement task" + "description" : "Paged resources" } }, - "summary" : "Replace the certificate of the given ingress component", - "tags" : [ "Component Certificate Management" ] + "summary" : "Query components within password policy managed component groups", + "tags" : [ "Fleet Password Policy Management" ] } }, - "/api/integrations/services/certificate-management/{serviceKey}/csrs" : { - "get" : { - "operationId" : "getVVFCsrs", + "/api/fleet-management/password-policies/component-groups/query" : { + "post" : { + "description" : "Filters are combined using logical OR; returns a deduplicated union of all matches. Use **componentGroups** (plural) as a JSON array of FLEET, MANAGEMENT, or INSTANCE.", + "operationId" : "queryComponentGroups", "parameters" : [ { - "description" : "service-key for which CSRs need to be collected", - "in" : "path", - "name" : "serviceKey", - "required" : true, + "description" : "Page index (0-based)", + "in" : "query", + "name" : "page", "schema" : { - "type" : "string" + "type" : "integer", + "format" : "int32", + "default" : 0 } - } ], - "responses" : { - "200" : { - "content" : { - "application/json" : { - "example" : "{\n \"csrs\" : [ {\n \"id\" : \"generate-csr-heeiqbphil-000012\",\n \"csr\" : \"-----BEGIN CERTIFICATE REQUEST-----\\nMIIDEzCCAfsCAQAwgZoxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlh\\nMRIwEAYDVQQHDAlQYWxvIEFsdG8xDzANBgNVBAoMBlZNd2FyZTEUMBIGA1UECwwL\\nRW5naW5lZXJpbmcxGTAXBgNVBAMMEHZtc3AuZXhhbXBsZS5jb20xIDAeBgkqhkiG\\n9w0BCQEWEWFkbWluQGV4YW1wbGUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A\\nMIIBCgKCAQEAsoedrQYA2C51xD1nJODqt7NxXqxphR7YCNMlssf9UyuMaEFpj6xl\\nQW7uqcE1CVpx553tqLgu0tsXqKP35/VmLjtYXd2EOdQxFEaDcEx8qVGQUK2wnI+W\\niuHTRkr3+AU2x2rxmm29QpwNZM3Ta/qlRBxYerPNlc9Dj4fmxsBIyOo8CXdx2d52\\nAkte7vvNMGAHaIs814IamiSCocsSo1/FoOuHFursW4pW2zOEKrgtUfKx3472sAoF\\nWF81BkRte3GKkf6LLhPQAcwMzqHEinbhSU39PbcAZjH3lHf9XPnWSV8BesPD2/Py\\nzJnJPg97GQkHO+dDGJnSux1/UTvTQJ9GswIDAQABoFAwTgYJKoZIhvcNAQkOMUEw\\nPzA9BgNVHREENjA0ghB2bXNwLmV4YW1wbGUuY29tghR2bXNwLWFsdC5leGFtcGxl\\nLmNvbYcEwKgBZIcEwKgBZTANBgkqhkiG9w0BAQsFAAOCAQEAdorKogkx+K70mPwU\\n/ewoCHEGe+r46N9W217Rgq3Iq482jkSHt1b2vjB1MrfYnf/kNL4nygTqo8dpgkDj\\nE4d0LoKic1WMkDTkKj0r83Vs0K4qur4S+bpKcZfhYSJngETL220djgAfEKZoDPU9\\njb6NGslu3XYoeeDyaJPBRbTq0qYXKV7WeiblaFnyLfqhUOfWsc5zXwUkPHZamTjR\\nOal+IW/5ZP3K8hnNKMLCy8rtepGmVQ+UlcK7bvTbPH/z9uLEm81yrb+R5iAjFC/L\\no/VqNf4KgAWys5bA1Q+vPW1eLM3G2Ok2Var9kJNkmkfO799OF4X8Ep0vhI+t1R4X\\nwp/Bxw==\\n-----END CERTIFICATE REQUEST-----\"\n }, {\n \"id\" : \"generate-csr-abc123def456-000013\",\n \"csr\" : \"-----BEGIN CERTIFICATE REQUEST-----\\nMIIDDTCCAfUCAQAwgZ4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlh\\nMRIwEAYDVQQHDAlQYWxvIEFsdG8xDzANBgNVBAoMBlZNd2FyZTEUMBIGA1UECwwL\\nRW5naW5lZXJpbmcxGzAZBgNVBAMMEnZpZGIuZXhhbXBsZS5jb20xIjAgBgkqhkiG\\n9w0BCQEWE2FkbWluQHZpZGIuZXhhbXBsZS5jb20wggEiMA0GCSqGSIb3DQEBAQUA\\nA4IBDwAwggEKAoIBAQDKh52tBgDYLnXEPWck4Oq3s3FerGmFHtgI0yWyx/1TK4xo\\nQWmPrGVBbu6pwTUJWnHnne2ouC7S2xeoo/fn9WYuO1hd3YQ51DEURoNwTHypUZBQ\\nrbCcj5aK4dNGSvf4BTbHavGabb1CnA1kzdNr+qVEHFh6s82Vz0OPh+bGwEjI6jwJ\\nd3HZ3nYqS17u+80wYAdoizzXghqaJIKhyxKjX8Wg64cW6uxbilbbM4QquC1R8rHf\\njvawCgVYXzUGRG17cYqR/osuE9ABzAzOocSKduFJTf09twBmMfeUd/1c+dZJXwF6\\nw8Pb8/LMmck+D3sZCQc750MYmdK7HX9RO9NAn0azAgMBAAGgUDBOBgkqhkiG9w0B\\nCQ4xQTA/MD0GA1UdEQQ2MDSCEnZpZGIuZXhhbXBsZS5jb22CFnZpZGItYWx0LmV4\\nYW1wbGUuY29thwTAqAFkhwTAqAFlMA0GCSqGSIb3DQEBCwUAA4IBAQB2isqiCTH4\\nrvSY/BT97CgIcQZ76vjo31bbXtGCrcirjzaORIe3Vva+MHUyt9id/+Q0vifKBOqj\\nx2mCQOMTh3Qugqq5xVYwNOQqPSvzdWzQriq6vhL5ukpxl+FhImeBRMvbbR2OAB8Q\\npmgM9T2Nvo0ayW7ddih54PJok8FFtOrSphcpXtZ6JuVoWfIt+qFQ59axznNfBSQ8\\ndlqZONE5qX4hb/lk/cryGc0owsLLyu16kaZVD5SVwrtu9Ns8f/P24sSbzXKtv5Hm\\nICMUL8uj9Wo1/gqABbKzlsDVD689bV4szcbY6TVVqv2Qk2SaR8/v304XhfwSnS+E\\nj63VHhfCn8HH\\n-----END CERTIFICATE REQUEST-----\"\n } ]\n}", - "schema" : { - "$ref" : "#/components/schemas/VvfCsrs" - } - } - }, - "description" : "List of VVF CSRs" + }, { + "description" : "Page size", + "in" : "query", + "name" : "pageSize", + "schema" : { + "type" : "integer", + "format" : "int32", + "default" : 1000, + "maximum" : 10000, + "minimum" : 1 } - }, - "summary" : "Get all Certificate Signing Requests (CSRs) for a service", - "tags" : [ "Component Certificate Management" ] - }, - "post" : { - "operationId" : "generateVVFCsr", - "parameters" : [ { - "description" : "A service key for which the CSR needs to be generated", - "in" : "path", - "name" : "serviceKey", - "required" : true, + }, { + "description" : "Requested sort field; server may normalize for instance resources", + "in" : "query", + "name" : "sortBy", "schema" : { - "type" : "string" + "type" : "string", + "default" : "statusUpdatedAt", + "enum" : [ "componentGroupResourceId", "componentGroupResourceFqdn", "componentGroupResourceName", "componentGroup", "policyId", "policyName", "statusUpdatedAt", "componentGroupComplianceStatus" ] + } + }, { + "description" : "Sort direction", + "in" : "query", + "name" : "sortOrder", + "schema" : { + "type" : "string", + "default" : "ASCENDING", + "enum" : [ "ASCENDING", "DESCENDING" ] } } ], "requestBody" : { "content" : { "application/json" : { - "example" : "{\n \"country\" : \"US\",\n \"email\" : \"admin@example.com\",\n \"keySize\" : \"KEY_2048\",\n \"keyAlgorithm\" : \"RSA\",\n \"locality\" : \"Palo Alto\",\n \"organization\" : \"VMware\",\n \"orgUnit\" : \"Engineering\",\n \"state\" : \"California\",\n \"commonName\" : \"vmsp.example.com\",\n \"subjectAltNames\" : {\n \"dns\" : [ \"vmsp.example.com\", \"vmsp-alt.example.com\" ],\n \"ip\" : [ \"192.168.1.100\", \"192.168.1.101\" ]\n }\n}", + "example" : "{\n \"componentGroupResourceIds\" : [ ],\n \"componentGroupResourceFqdns\" : [ ],\n \"componentGroupResourceNames\" : [ ],\n \"policyIds\" : [ \"033a28ca-50be-4aa1-ada0-d7558b21c75a\" ],\n \"policyNames\" : [ ],\n \"componentGroups\" : [ \"INSTANCE\" ],\n \"componentGroupComplianceStatuses\" : [ \"COMPLIANT\", \"NOT_ELIGIBLE\", \"NO_POLICY\" ]\n}", "schema" : { - "$ref" : "#/components/schemas/GenerateCsrSpec" + "$ref" : "#/components/schemas/ComponentGroupQuery" } } }, - "description" : "The CSR specification", - "required" : true + "description" : "Optional component group query filters" }, "responses" : { "200" : { "content" : { "application/json" : { - "example" : "{\n \"id\" : \"8d7c7092-83d7-4f50-a519-03b1636c9cd8\",\n \"name\" : \"UPDATE_VVF\",\n \"status\" : \"SUCCEEDED\",\n \"creationTimestamp\" : 12345356647777757,\n \"lastUpdatedTimestamp\" : 123453566477746637,\n \"message\" : \"Password update succeeded\"\n}", + "example" : "{\n \"pageInfo\" : {\n \"totalCount\" : 1,\n \"page\" : 0,\n \"pageSize\" : 50,\n \"sortBy\" : \"statusUpdatedAt\",\n \"sortOrder\" : \"ASCENDING\"\n },\n \"results\" : [ {\n \"componentGroupResourceId\" : \"055b39eb-70cf-4bc2-bfc2-e9779c32d88a\",\n \"componentGroupResourceFqdn\" : \"sddc-manager.example.com\",\n \"componentGroupResourceName\" : \"SDDC Manager\",\n \"componentGroup\" : \"INSTANCE\",\n \"complianceUpdatedAt\" : 1741716460000,\n \"componentGroupComplianceStatus\" : \"COMPLIANT\",\n \"policyId\" : \"033a28ca-50be-4aa1-ada0-d7558b21c75a\",\n \"policyName\" : \"Fleet Example Policy\"\n } ]\n}", "schema" : { - "$ref" : "#/components/schemas/VvfTaskStatusResponse" + "$ref" : "#/components/schemas/PasswordPolicyComponentGroups" } } }, - "description" : "The task status response" + "description" : "Paged resources" } }, - "summary" : "Generate a Certificate Signing Request (CSR) for a service", - "tags" : [ "Component Certificate Management" ] + "summary" : "Query component group resources where the password policy is applied", + "tags" : [ "Fleet Password Policy Management" ] } }, - "/api/integrations/services/password-management/{serviceKey}/accounts" : { - "get" : { - "operationId" : "getVVFAccountList", - "parameters" : [ { - "description" : "serviceKey for which accounts needs to be collected", - "in" : "path", - "name" : "serviceKey", - "required" : true, - "schema" : { - "type" : "string" - } - } ], + "/api/fleet-management/password-policies/component-groups/tasks" : { + "post" : { + "description" : "Rejected with 409 if another task on the component group is in progress.", + "operationId" : "submitPolicyTask", + "requestBody" : { + "content" : { + "application/json" : { + "example" : "{\n \"taskType\" : \"POLICY_APPLY\",\n \"policyId\" : \"033a28ca-50be-4aa1-ada0-d7558b21c75a\",\n \"targetComponentGroups\" : {\n \"componentGroupResourceIds\" : [ \"055b39eb-70cf-4bc2-bfc2-e9779c32d88a\" ],\n \"componentGroups\" : [ \"INSTANCE\" ]\n },\n \"overrideComponentGroups\" : {\n \"componentGroupResourceIds\" : [ ],\n \"componentGroups\" : [ \"FLEET\" ]\n }\n}", + "schema" : { + "$ref" : "#/components/schemas/BasePasswordPolicyTask" + } + } + }, + "description" : "Task type and optional policy id / target", + "required" : true + }, "responses" : { - "200" : { + "202" : { "content" : { "application/json" : { - "example" : "{\n \"accounts\" : [ {\n \"username\" : \"user123\",\n \"passwordExpiry\" : 1119844280663\n } ]\n}", + "example" : "{\n \"taskId\" : \"077c4afc-81df-5cd3-ccd3-f0880d43999b\",\n \"taskType\" : \"POLICY_APPLY\",\n \"policyId\" : \"033a28ca-50be-4aa1-ada0-d7558b21c75a\",\n \"targetComponentGroups\" : {\n \"componentGroupResourceIds\" : [ \"055b39eb-70cf-4bc2-bfc2-e9779c32d88a\" ],\n \"componentGroups\" : [ \"INSTANCE\" ]\n },\n \"taskStatus\" : \"IN_PROGRESS\",\n \"createdAt\" : 1741630060000,\n \"updatedAt\" : 1741716460000,\n \"policyName\" : \"VCF Policy1\",\n \"targetComponentGroupsState\" : [ {\n \"componentGroupResourceId\" : \"055b39eb-70cf-4bc2-bfc2-e9779c32d88a\",\n \"componentGroupResourceFqdn\" : \"sddc-manager.example.com\",\n \"componentGroupResourceName\" : \"SDDC Manager\",\n \"componentGroup\" : \"INSTANCE\",\n \"complianceUpdatedAt\" : 1741716460000,\n \"componentGroupComplianceStatus\" : \"IN_PROGRESS\",\n \"policyId\" : \"033a28ca-50be-4aa1-ada0-d7558b21c75a\",\n \"policyName\" : \"VCF Policy1\"\n }, {\n \"componentGroupResourceId\" : \"066c49fc-81df-4bd2-cdc3-f0880d43990a\",\n \"componentGroupResourceFqdn\" : \"vcenter.example.com\",\n \"componentGroupResourceName\" : \"vCenter Server\",\n \"componentGroup\" : \"INSTANCE\",\n \"complianceUpdatedAt\" : 1741700000000,\n \"componentGroupComplianceStatus\" : \"COMPLIANT\",\n \"policyId\" : \"033a28ca-50be-4aa1-ada0-d7558b21c75a\",\n \"policyName\" : \"VCF Policy1\"\n } ],\n \"componentGroupsComplianceStatistics\" : [ {\n \"status\" : \"IN_PROGRESS\",\n \"count\" : 1\n }, {\n \"status\" : \"COMPLIANT\",\n \"count\" : 1\n } ]\n}", "schema" : { - "$ref" : "#/components/schemas/VvfAccounts" + "$ref" : "#/components/schemas/PasswordPolicyTask" } } }, - "description" : "List of password accounts" + "description" : "Policy task submitted" } }, - "summary" : "get the list of accounts", - "tags" : [ "Component Password Management" ] + "summary" : "Submit a password policy task", + "tags" : [ "Fleet Password Policy Management" ] } }, - "/api/integrations/services/password-management/{serviceKey}/accounts/password" : { - "put" : { - "operationId" : "updatePasswordSystem", + "/api/fleet-management/password-policies/component-groups/tasks/query" : { + "post" : { + "description" : "Filters combine with logical AND across dimensions; multiple values within a field are OR. Use **componentGroups** (plural) as a JSON array of FLEET, MANAGEMENT, or INSTANCE.", + "operationId" : "queryComponentGroupTasks", "parameters" : [ { - "description" : "A service key for which the system password account which needs to be updated", - "in" : "path", - "name" : "serviceKey", - "required" : true, + "description" : "Page index (0-based)", + "in" : "query", + "name" : "page", "schema" : { - "type" : "string" + "type" : "integer", + "format" : "int32", + "default" : 0 + } + }, { + "description" : "Page size", + "in" : "query", + "name" : "pageSize", + "schema" : { + "type" : "integer", + "format" : "int32", + "default" : 1000, + "maximum" : 10000, + "minimum" : 1 + } + }, { + "description" : "Requested sort field; mapped server-side for task listing", + "in" : "query", + "name" : "sortBy", + "schema" : { + "type" : "string", + "default" : "updatedAt", + "enum" : [ "taskId", "taskType", "taskStatus", "policyId", "createdAt", "updatedAt" ] + } + }, { + "description" : "Sort direction", + "in" : "query", + "name" : "sortOrder", + "schema" : { + "type" : "string", + "default" : "ASCENDING", + "enum" : [ "ASCENDING", "DESCENDING" ] } } ], "requestBody" : { "content" : { "application/json" : { - "example" : "{\n \"userName\" : \"testUser\",\n \"currentPassword\" : \"currentPassword\",\n \"newPassword\" : \"newPassword\"\n}", + "example" : "{\n \"taskIds\" : [ ],\n \"taskStatuses\" : [ ],\n \"taskTypes\" : [ ],\n \"policyIds\" : [ \"033a28ca-50be-4aa1-ada0-d7558b21c75a\" ],\n \"policyNames\" : [ \"VCF Policy1\" ],\n \"componentGroupResourceIds\" : [ \"055b39eb-70cf-4bc2-bfc2-e9779c32d88a\" ],\n \"componentGroupResourceFqdns\" : [ ],\n \"componentGroups\" : [ \"INSTANCE\" ]\n}", "schema" : { - "$ref" : "#/components/schemas/VvfChangePasswordSpec" + "$ref" : "#/components/schemas/TasksQuery" } } }, - "description" : "The password query param", - "required" : true + "description" : "Optional task query filters" }, "responses" : { "200" : { "content" : { "application/json" : { - "example" : "{\n \"id\" : \"8d7c7092-83d7-4f50-a519-03b1636c9cd8\",\n \"name\" : \"UPDATE_VVF\",\n \"status\" : \"SUCCEEDED\",\n \"creationTimestamp\" : 12345356647777757,\n \"lastUpdatedTimestamp\" : 123453566477746637,\n \"message\" : \"Password update succeeded\"\n}", + "example" : "{\n \"pageInfo\" : {\n \"totalCount\" : 1,\n \"page\" : 0,\n \"pageSize\" : 50\n },\n \"tasks\" : [ {\n \"taskId\" : \"077c4afc-81df-5cd3-ccd3-f0880d43999b\",\n \"taskType\" : \"POLICY_APPLY\",\n \"policyId\" : \"033a28ca-50be-4aa1-ada0-d7558b21c75a\",\n \"targetComponentGroups\" : {\n \"componentGroupResourceIds\" : [ \"055b39eb-70cf-4bc2-bfc2-e9779c32d88a\" ],\n \"componentGroups\" : [ \"INSTANCE\" ]\n },\n \"taskStatus\" : \"IN_PROGRESS\",\n \"createdAt\" : 1741630060000,\n \"updatedAt\" : 1741716460000,\n \"policyName\" : \"VCF Policy1\",\n \"targetComponentGroupsState\" : [ {\n \"componentGroupResourceId\" : \"055b39eb-70cf-4bc2-bfc2-e9779c32d88a\",\n \"componentGroupResourceFqdn\" : \"sddc-manager.example.com\",\n \"componentGroupResourceName\" : \"SDDC Manager\",\n \"componentGroup\" : \"INSTANCE\",\n \"complianceUpdatedAt\" : 1741716460000,\n \"componentGroupComplianceStatus\" : \"IN_PROGRESS\",\n \"policyId\" : \"033a28ca-50be-4aa1-ada0-d7558b21c75a\",\n \"policyName\" : \"VCF Policy1\"\n }, {\n \"componentGroupResourceId\" : \"066c49fc-81df-4bd2-cdc3-f0880d43990a\",\n \"componentGroupResourceFqdn\" : \"vcenter.example.com\",\n \"componentGroupResourceName\" : \"vCenter Server\",\n \"componentGroup\" : \"INSTANCE\",\n \"complianceUpdatedAt\" : 1741700000000,\n \"componentGroupComplianceStatus\" : \"COMPLIANT\",\n \"policyId\" : \"033a28ca-50be-4aa1-ada0-d7558b21c75a\",\n \"policyName\" : \"VCF Policy1\"\n } ],\n \"componentGroupsComplianceStatistics\" : [ {\n \"status\" : \"IN_PROGRESS\",\n \"count\" : 1\n }, {\n \"status\" : \"COMPLIANT\",\n \"count\" : 1\n } ]\n } ]\n}", "schema" : { - "$ref" : "#/components/schemas/VvfTaskStatusResponse" + "$ref" : "#/components/schemas/PasswordPolicyTasks" } } }, - "description" : "The task status response" + "description" : "Paged policy tasks" } }, - "summary" : "Update the password for a system account", - "tags" : [ "Component Password Management" ] + "summary" : "Query component group policy tasks", + "tags" : [ "Fleet Password Policy Management" ] } }, - "/api/integrations/services/password-management/{serviceKey}/tasks/{taskId}" : { + "/api/fleet-management/password-policies/component-groups/tasks/{id}" : { "get" : { - "operationId" : "getVvfTaskStatus", + "operationId" : "getComponentGroupTask", "parameters" : [ { - "description" : "Service key for which task status needs to be retrieved", - "in" : "path", - "name" : "serviceKey", - "required" : true, - "schema" : { - "type" : "string" - } - }, { - "description" : "Task ID for which status needs to be retrieved", + "description" : "Task ID", "in" : "path", - "name" : "taskId", + "name" : "id", "required" : true, "schema" : { - "type" : "string" + "type" : "string", + "format" : "uuid" } } ], "responses" : { "200" : { "content" : { "application/json" : { - "example" : "{\n \"id\" : \"8d7c7092-83d7-4f50-a519-03b1636c9cd8\",\n \"name\" : \"UPDATE_VVF\",\n \"status\" : \"SUCCEEDED\",\n \"creationTimestamp\" : 12345356647777757,\n \"lastUpdatedTimestamp\" : 123453566477746637,\n \"message\" : \"Password update succeeded\"\n}", + "example" : "{\n \"taskId\" : \"077c4afc-81df-5cd3-ccd3-f0880d43999b\",\n \"taskType\" : \"POLICY_APPLY\",\n \"policyId\" : \"033a28ca-50be-4aa1-ada0-d7558b21c75a\",\n \"targetComponentGroups\" : {\n \"componentGroupResourceIds\" : [ \"055b39eb-70cf-4bc2-bfc2-e9779c32d88a\" ],\n \"componentGroups\" : [ \"INSTANCE\" ]\n },\n \"taskStatus\" : \"IN_PROGRESS\",\n \"createdAt\" : 1741630060000,\n \"updatedAt\" : 1741716460000,\n \"policyName\" : \"VCF Policy1\",\n \"targetComponentGroupsState\" : [ {\n \"componentGroupResourceId\" : \"055b39eb-70cf-4bc2-bfc2-e9779c32d88a\",\n \"componentGroupResourceFqdn\" : \"sddc-manager.example.com\",\n \"componentGroupResourceName\" : \"SDDC Manager\",\n \"componentGroup\" : \"INSTANCE\",\n \"complianceUpdatedAt\" : 1741716460000,\n \"componentGroupComplianceStatus\" : \"IN_PROGRESS\",\n \"policyId\" : \"033a28ca-50be-4aa1-ada0-d7558b21c75a\",\n \"policyName\" : \"VCF Policy1\"\n }, {\n \"componentGroupResourceId\" : \"066c49fc-81df-4bd2-cdc3-f0880d43990a\",\n \"componentGroupResourceFqdn\" : \"vcenter.example.com\",\n \"componentGroupResourceName\" : \"vCenter Server\",\n \"componentGroup\" : \"INSTANCE\",\n \"complianceUpdatedAt\" : 1741700000000,\n \"componentGroupComplianceStatus\" : \"COMPLIANT\",\n \"policyId\" : \"033a28ca-50be-4aa1-ada0-d7558b21c75a\",\n \"policyName\" : \"VCF Policy1\"\n } ],\n \"componentGroupsComplianceStatistics\" : [ {\n \"status\" : \"IN_PROGRESS\",\n \"count\" : 1\n }, {\n \"status\" : \"COMPLIANT\",\n \"count\" : 1\n } ]\n}", "schema" : { - "$ref" : "#/components/schemas/VvfTaskStatusResponse" + "$ref" : "#/components/schemas/PasswordPolicyTask" } } }, - "description" : "Task status response" + "description" : "Task detail" } }, - "summary" : "Get the status of a task", - "tags" : [ "Component Password Management" ] + "summary" : "Get the component group task details", + "tags" : [ "Fleet Password Policy Management" ] } }, - "/api/integrations/vcenters" : { + "/api/fleet-management/password-policies/export" : { "post" : { - "description" : "Instances are generated for not just the vCenter adapter but also for vSAN and Service Discovery adapters. If configurations for vSAN or Service Discovery are not provided, the corresponding adapters will not be created.
NOTE: while providing any certificate via this API, certificateDetails field must be populated.", - "operationId" : "createVcenterIntegration", + "description" : "Exports all password policies as a CSV file download. Data is fetched in bounded batches and streamed directly to the response so that the full dataset is never held in JVM heap simultaneously.", + "operationId" : "exportPasswordPolicies", + "responses" : { + "200" : { + "content" : { + "text/csv" : { + "example" : "No Custom Example is Available" + } + }, + "description" : "CSV file containing all password policies" + } + }, + "summary" : "Export all password policies", + "tags" : [ "Fleet Password Policy Management" ], + "x-vmw-compiler-skip" : "CONTENT_TYPE_ANYTHING_PLUS_JSON" + } + }, + "/api/fleet-management/password-policies/query" : { + "post" : { + "description" : "Filters on **policyIds** and **policyNames** combine with logical AND across dimensions; multiple values within a field are OR. Returns an empty list if no policy matches all active filters.", + "operationId" : "queryPasswordPolicies", "parameters" : [ { - "description" : "Proceed with vCenter integration creation even if connection is not established", + "description" : "Page index (0-based)", "in" : "query", - "name" : "force", - "required" : false, + "name" : "page", "schema" : { - "type" : "boolean", - "default" : false + "type" : "integer", + "format" : "int32", + "default" : 0 } }, { - "description" : "Override existing VC management ownership", + "description" : "Page size", "in" : "query", - "name" : "forceManagementOwnership", - "required" : false, + "name" : "pageSize", "schema" : { - "type" : "boolean", - "default" : false + "type" : "integer", + "format" : "int32", + "default" : 1000, + "maximum" : 10000, + "minimum" : 1 } - } ], + }, { + "description" : "Sort field", + "in" : "query", + "name" : "sortBy", + "schema" : { + "type" : "string", + "default" : "updatedAt", + "enum" : [ "name", "createdAt", "updatedAt" ] + } + }, { + "description" : "Sort direction", + "in" : "query", + "name" : "sortOrder", + "schema" : { + "type" : "string", + "default" : "ASCENDING", + "enum" : [ "ASCENDING", "DESCENDING" ] + } + } ], "requestBody" : { "content" : { "application/json" : { - "example" : "{\n \"name\" : \"TestVcenterIntegration\",\n \"description\" : \"vCenter adapter for test purposes\",\n \"collectorGroupId\" : \"c2899dfc-dcbd-45e1-9960-94114d371d5a\",\n \"resourceIdentifiers\" : [ {\n \"name\" : \"AUTODISCOVERY\",\n \"value\" : \"true\"\n }, {\n \"name\" : \"PROCESSCHANGEEVENTS\",\n \"value\" : \"true\"\n }, {\n \"name\" : \"VCURL\",\n \"value\" : \"VC_IP_Adress\"\n } ],\n \"certificates\" : [ {\n \"thumbprint\" : \"certificate_thumbprint\",\n \"certificateDetails\" : \"certificate_details\",\n \"issuedTo\" : \"issuedTo\",\n \"issuedBy\" : \"issuedBy\",\n \"expires\" : \"expirationDate\"\n } ],\n \"credentialInstanceId\" : \"8c289ce0-0d9e-4957-bdee-3981fe5a3174\",\n \"vsanConfig\" : {\n \"smartDataCollectionEnabled\" : false,\n \"enabled\" : true\n },\n \"sdmpConfig\" : {\n \"applicationDiscoveryEnabled\" : true,\n \"enabled\" : true\n },\n \"logCollectionEnabled\" : false,\n \"netOpsConfig\" : {\n \"collectorId\" : \"10000:901:6259444505047261960\",\n \"enabled\" : true,\n \"dvsIpfixRequest\" : {\n \"enable_all\" : true\n }\n }\n}", + "example" : "{\n \"policyIds\" : [ \"033a28ca-50be-4aa1-ada0-d7558b21c75a\" ],\n \"policyNames\" : [ \"Fleet Example Policy\" ]\n}", "schema" : { - "$ref" : "#/components/schemas/VcenterIntegration" + "$ref" : "#/components/schemas/PasswordPolicyQuery" } } }, - "description" : "The vCenter integration creation request", - "required" : true + "description" : "Optional query filters (omit body for unfiltered query)" }, "responses" : { - "201" : { + "200" : { "content" : { "application/json" : { - "example" : "{\n \"name\" : \"TestVcenterIntegration\",\n \"description\" : \"vCenter adapter for test purposes\",\n \"collectorGroupId\" : \"c2899dfc-dcbd-45e1-9960-94114d371d5a\",\n \"resourceIdentifiers\" : [ {\n \"name\" : \"AUTODISCOVERY\",\n \"value\" : \"true\"\n }, {\n \"name\" : \"PROCESSCHANGEEVENTS\",\n \"value\" : \"true\"\n }, {\n \"name\" : \"VCURL\",\n \"value\" : \"VC_IP_Adress\"\n } ],\n \"certificates\" : [ ],\n \"credentialInstanceId\" : \"8c289ce0-0d9e-4957-bdee-3981fe5a3174\",\n \"vsanConfig\" : {\n \"smartDataCollectionEnabled\" : false,\n \"enabled\" : true\n },\n \"sdmpConfig\" : {\n \"applicationDiscoveryEnabled\" : true,\n \"enabled\" : true\n },\n \"logCollectionEnabled\" : false,\n \"netOpsConfig\" : {\n \"collectorId\" : \"10000:901:6259444505047261960\",\n \"enabled\" : true,\n \"dvsIpfixRequest\" : {\n \"enable_all\" : true\n }\n }\n}", + "example" : "{\n \"pageInfo\" : {\n \"totalCount\" : 1,\n \"page\" : 0,\n \"pageSize\" : 50,\n \"sortBy\" : \"updatedAt\",\n \"sortOrder\" : \"ASCENDING\"\n },\n \"policies\" : [ {\n \"id\" : \"033a28ca-50be-4aa1-ada0-d7558b21c75a\",\n \"name\" : \"Fleet Example Policy\",\n \"description\" : \"Example fleet password policy for API documentation\",\n \"complexityConstraints\" : {\n \"minLength\" : 12,\n \"minLowercase\" : 1,\n \"minUppercase\" : 1,\n \"minNumeric\" : 1,\n \"minSpecial\" : 1,\n \"passwordHistory\" : 3\n },\n \"expirationConstraints\" : {\n \"maxDays\" : 90,\n \"warnDays\" : 7\n },\n \"lockoutConstraints\" : {\n \"lockoutMaxAuthFailures\" : 3,\n \"lockoutEvaluationPeriod\" : 900,\n \"lockoutPeriod\" : 900\n },\n \"createdAt\" : 1741630060000,\n \"updatedAt\" : 1741716460000\n } ]\n}", "schema" : { - "$ref" : "#/components/schemas/VcenterIntegration" + "$ref" : "#/components/schemas/PasswordPolicies" } } }, - "description" : "The result model of the created vCenter integration, with vSAN and Service Discovery configs." - }, - "400" : { + "description" : "Paged policies" + } + }, + "summary" : "Query password policies", + "tags" : [ "Fleet Password Policy Management" ] + } + }, + "/api/fleet-management/password-policies/{id}" : { + "delete" : { + "operationId" : "deletePasswordPolicy", + "parameters" : [ { + "description" : "Policy ID", + "in" : "path", + "name" : "id", + "required" : true, + "schema" : { + "type" : "string", + "format" : "uuid" + } + } ], + "responses" : { + "204" : { + "description" : "Deleted successfully" + } + }, + "summary" : "Delete password policy", + "tags" : [ "Fleet Password Policy Management" ] + }, + "get" : { + "operationId" : "getPasswordPolicy", + "parameters" : [ { + "description" : "Policy ID", + "in" : "path", + "name" : "id", + "required" : true, + "schema" : { + "type" : "string", + "format" : "uuid" + } + } ], + "responses" : { + "200" : { "content" : { "application/json" : { - "example" : "{\n \"type\" : \"CertificatesError\",\n \"certificates\" : [ {\n \"integrationType\" : \"VCENTER\",\n \"certificates\" : [ {\n \"thumbprint\" : \"certificate_thumbprint\",\n \"certificateDetails\" : \"certificate_details\",\n \"issuedTo\" : \"issuedTo\",\n \"issuedBy\" : \"issuedBy\",\n \"expires\" : \"expirationDate\"\n } ]\n } ],\n \"httpStatusCode\" : 400,\n \"apiErrorCode\" : 400,\n \"message\" : \"No valid certificates were found, while testing connection. Returning provided untrusted certificates for acceptance.\"\n}", + "example" : "{\n \"id\" : \"033a28ca-50be-4aa1-ada0-d7558b21c75a\",\n \"name\" : \"Fleet Example Policy\",\n \"description\" : \"Example fleet password policy for API documentation\",\n \"complexityConstraints\" : {\n \"minLength\" : 12,\n \"minLowercase\" : 1,\n \"minUppercase\" : 1,\n \"minNumeric\" : 1,\n \"minSpecial\" : 1,\n \"passwordHistory\" : 3\n },\n \"expirationConstraints\" : {\n \"maxDays\" : 90,\n \"warnDays\" : 7\n },\n \"lockoutConstraints\" : {\n \"lockoutMaxAuthFailures\" : 3,\n \"lockoutEvaluationPeriod\" : 900,\n \"lockoutPeriod\" : 900\n },\n \"createdAt\" : 1741630060000,\n \"updatedAt\" : 1741716460000\n}", "schema" : { - "$ref" : "#/components/schemas/OneOfErrorMessage" + "$ref" : "#/components/schemas/FleetPasswordPolicy" } } }, - "description" : "If create 'vCenter integration' failed. Typically the service will return extra information as to why the creation failed. In case if connection testing failed due to certificates, untrusted certificates will be returned for acceptance." + "description" : "Policy details" + } + }, + "summary" : "Get password policy", + "tags" : [ "Fleet Password Policy Management" ] + } + }, + "/api/fleet-management/tag-management/adapters/{adapterId}/categories/pull" : { + "post" : { + "description" : "Initiates a background task to pull tags and categories from the specified adapter instance.", + "operationId" : "pullFromAdapter", + "parameters" : [ { + "description" : "Adapter instance resource ID from which to pull tags and categories", + "in" : "path", + "name" : "adapterId", + "required" : true, + "schema" : { + "type" : "string", + "format" : "uuid" + } + } ], + "responses" : { + "202" : { + "content" : { + "application/json" : { + "example" : "{\n \"taskId\" : \"550e8400-e29b-41d4-a716-446655440003\"\n}", + "schema" : { + "$ref" : "#/components/schemas/TaggingTaskUUID" + } + } + }, + "description" : "Pull operation started" }, - "422" : { - "description" : "If create 'vCenter integration' failed. Typically the service will return extra information as to why the creation failed.", + "404" : { + "description" : "Adapter instance not found", "x-vmw-compiler-skip" : true } }, - "summary" : "Create a vCenter integration, with vSAN and Service Discovery configs", - "tags" : [ "Integrations" ] - }, - "put" : { - "description" : "Instances are updated for not just the vCenter integration but also for vSAN and Service Discovery adapters. If configurations for vSAN or Service Discovery are not provided, the corresponding adapters will not be updated.
NOTE: while providing any certificate via this API, certificateDetails field must be populated.", - "operationId" : "updateVcenterIntegration", + "summary" : "Pull tags and categories from an adapter instance", + "tags" : [ "Tag Management" ] + } + }, + "/api/fleet-management/tag-management/adapters/{adapterId}/categories/push" : { + "post" : { + "description" : "Initiates a background task to push selected categories and their tags to the specified adapter instance.", + "operationId" : "pushToAdapter", "parameters" : [ { - "description" : "Proceed with vCenter integration update even if connection is not established", - "in" : "query", - "name" : "force", - "required" : false, + "description" : "Adapter instance resource ID to which the categories and tags need to be pushed", + "in" : "path", + "name" : "adapterId", + "required" : true, "schema" : { - "type" : "boolean", - "default" : false + "type" : "string", + "format" : "uuid" } } ], "requestBody" : { "content" : { "application/json" : { - "example" : "{\n \"id\" : \"f606070e-c781-417f-80cd-7a66ba82d4bf\",\n \"name\" : \"TestVcenterIntegration\",\n \"description\" : \"vCenter adapter for test purposes\",\n \"collectorGroupId\" : \"c2899dfc-dcbd-45e1-9960-94114d371d5a\",\n \"resourceIdentifiers\" : [ {\n \"name\" : \"AUTODISCOVERY\",\n \"value\" : \"true\"\n }, {\n \"name\" : \"PROCESSCHANGEEVENTS\",\n \"value\" : \"true\"\n }, {\n \"name\" : \"VCURL\",\n \"value\" : \"VC_IP_Adress\"\n } ],\n \"certificates\" : [ ],\n \"credentialInstanceId\" : \"8c289ce0-0d9e-4957-bdee-3981fe5a3174\",\n \"vsanConfig\" : {\n \"smartDataCollectionEnabled\" : false,\n \"enabled\" : true,\n \"id\" : \"78ae1b1a-376c-4947-ab0e-9e1b5293a3c1\"\n },\n \"sdmpConfig\" : {\n \"applicationDiscoveryEnabled\" : true,\n \"enabled\" : true,\n \"id\" : \"5663c60f-70f9-41c9-a8ce-63d1b122ff69\"\n },\n \"logCollectionEnabled\" : false,\n \"netOpsConfig\" : {\n \"collectorId\" : \"10000:901:6259444505047261960\",\n \"enabled\" : true,\n \"dvsIpfixRequest\" : {\n \"enable_all\" : true\n }\n }\n}", + "examples" : { + "Multiple Categories Push with Overwrite" : { + "description" : "Multiple Categories Push with Overwrite", + "value" : "{\n \"categoryIds\" : [ \"550e8400-e29b-41d4-a716-446655440000\", \"550e8400-e29b-41d4-a716-446655440010\", \"550e8400-e29b-41d4-a716-446655440020\" ],\n \"overwrite\" : true\n}" + }, + "Single Category Push" : { + "description" : "Single Category Push", + "value" : "{\n \"categoryIds\" : [ \"550e8400-e29b-41d4-a716-446655440000\" ],\n \"overwrite\" : false\n}" + } + }, "schema" : { - "$ref" : "#/components/schemas/VcenterIntegration" + "$ref" : "#/components/schemas/TaggingPushToAdapterSpec" } } }, - "description" : "The vCenter integration update request", + "description" : "Push to adapter specification contains category IDs, overwrite behaviour for same categories/tags existing on the adapter instance", "required" : true }, "responses" : { - "200" : { + "202" : { "content" : { "application/json" : { - "example" : "{\n \"id\" : \"f606070e-c781-417f-80cd-7a66ba82d4bf\",\n \"name\" : \"TestVcenterIntegration\",\n \"description\" : \"vCenter adapter for test purposes\",\n \"collectorGroupId\" : \"c2899dfc-dcbd-45e1-9960-94114d371d5a\",\n \"resourceIdentifiers\" : [ {\n \"name\" : \"AUTODISCOVERY\",\n \"value\" : \"true\"\n }, {\n \"name\" : \"PROCESSCHANGEEVENTS\",\n \"value\" : \"true\"\n }, {\n \"name\" : \"VCURL\",\n \"value\" : \"VC_IP_Adress\"\n } ],\n \"certificates\" : [ ],\n \"credentialInstanceId\" : \"8c289ce0-0d9e-4957-bdee-3981fe5a3174\",\n \"vsanConfig\" : {\n \"smartDataCollectionEnabled\" : false,\n \"enabled\" : true,\n \"id\" : \"78ae1b1a-376c-4947-ab0e-9e1b5293a3c1\"\n },\n \"sdmpConfig\" : {\n \"applicationDiscoveryEnabled\" : true,\n \"enabled\" : true,\n \"id\" : \"5663c60f-70f9-41c9-a8ce-63d1b122ff69\"\n },\n \"logCollectionEnabled\" : false,\n \"netOpsConfig\" : {\n \"collectorId\" : \"10000:901:6259444505047261960\",\n \"enabled\" : true,\n \"dvsIpfixRequest\" : {\n \"enable_all\" : true\n }\n }\n}", + "example" : "{\n \"taskId\" : \"550e8400-e29b-41d4-a716-446655440003\"\n}", "schema" : { - "$ref" : "#/components/schemas/VcenterIntegration" + "$ref" : "#/components/schemas/TaggingTaskUUID" } } }, - "description" : "The model of the updated vCenter integration, with vSAN, and Service Discovery configs." + "description" : "Push operation started" }, - "400" : { + "404" : { + "description" : "Adapter instance not found", + "x-vmw-compiler-skip" : true + } + }, + "summary" : "Push categories and tags to an adapter instance", + "tags" : [ "Tag Management" ] + } + }, + "/api/fleet-management/tag-management/assignments" : { + "post" : { + "description" : "Initiates a background task to perform bulk tag assignment and unassignment operations on multiple resources.
This operation allows both assigning new tags and un-assigning existing tags and returns immediately with a task ID for monitoring progress and results.", + "operationId" : "applyTagAssignments", + "requestBody" : { + "content" : { + "application/json" : { + "examples" : { + "Complex Multi-Resource Assignment" : { + "description" : "Complex Multi-Resource Assignment", + "value" : "{\n \"resourceIds\" : [ \"550e8400-e29b-41d4-a716-446655440201\", \"550e8400-e29b-41d4-a716-446655440202\", \"550e8400-e29b-41d4-a716-446655440200\" ],\n \"tagsToAttach\" : [ \"550e8400-e29b-41d4-a716-446655440001\", \"550e8400-e29b-41d4-a716-446655440011\", \"550e8400-e29b-41d4-a716-446655440021\" ],\n \"tagsToDetach\" : [ \"550e8400-e29b-41d4-a716-446655440030\" ]\n}" + }, + "Simple Assignment" : { + "description" : "Simple Assignment", + "value" : "{\n \"resourceIds\" : [ \"550e8400-e29b-41d4-a716-446655440200\" ],\n \"tagsToAttach\" : [ \"550e8400-e29b-41d4-a716-446655440001\" ],\n \"tagsToDetach\" : [ ]\n}" + } + }, + "schema" : { + "$ref" : "#/components/schemas/TaggingAssignmentSpec" + } + } + }, + "description" : "Tag assignment specification containing target resources and lists of tags to assign or un-assign", + "required" : true + }, + "responses" : { + "202" : { "content" : { "application/json" : { - "example" : "{\n \"type\" : \"CertificatesError\",\n \"certificates\" : [ {\n \"integrationType\" : \"VCENTER\",\n \"certificates\" : [ {\n \"thumbprint\" : \"certificate_thumbprint\",\n \"certificateDetails\" : \"certificate_details\",\n \"issuedTo\" : \"issuedTo\",\n \"issuedBy\" : \"issuedBy\",\n \"expires\" : \"expirationDate\"\n } ]\n } ],\n \"httpStatusCode\" : 400,\n \"apiErrorCode\" : 400,\n \"message\" : \"No valid certificates were found, while testing connection. Returning provided untrusted certificates for acceptance.\"\n}", + "example" : "{\n \"taskId\" : \"550e8400-e29b-41d4-a716-446655440003\"\n}", "schema" : { - "$ref" : "#/components/schemas/OneOfErrorMessage" + "$ref" : "#/components/schemas/TaggingTaskUUID" } } }, - "description" : "If update 'vCenter integration' failed. Typically the service will return extra information as to why the update failed. In case if connection testing failed due to certificates, untrusted certificates will be returned for acceptance." - }, - "422" : { - "description" : "If update 'vCenter integration' failed. Typically the service will return extra information as to why the update failed.", - "x-vmw-compiler-skip" : true + "description" : "Tag assignment operation started" } }, - "summary" : "Update existing vCenter integration, with vSAN and Service Discovery configs", - "tags" : [ "Integrations" ] + "summary" : "Assign/un-assign tags to resources", + "tags" : [ "Tag Management" ] } }, - "/api/integrations/vcenters/testConnection" : { + "/api/fleet-management/tag-management/categories" : { "post" : { - "description" : "In case if certificate is needed, will return untrusted certificate for acceptance in response.
NOTE: while providing any certificate via this API, certificateDetails field must be populated.", - "operationId" : "testVcenterIntegration", + "description" : "Creates a new tag category with specified properties and constraints.", + "operationId" : "createCategory", "requestBody" : { "content" : { "application/json" : { - "example" : "{\n \"name\" : \"TestVcenterIntegration\",\n \"description\" : \"vCenter adapter for test purposes\",\n \"collectorGroupId\" : \"c2899dfc-dcbd-45e1-9960-94114d371d5a\",\n \"resourceIdentifiers\" : [ {\n \"name\" : \"AUTODISCOVERY\",\n \"value\" : \"true\"\n }, {\n \"name\" : \"PROCESSCHANGEEVENTS\",\n \"value\" : \"true\"\n }, {\n \"name\" : \"VCURL\",\n \"value\" : \"VC_IP_Adress\"\n } ],\n \"certificates\" : [ ],\n \"credentialInstanceId\" : \"8c289ce0-0d9e-4957-bdee-3981fe5a3174\",\n \"logCollectionEnabled\" : false,\n \"netOpsConfig\" : {\n \"collectorId\" : \"10000:901:6259444505047261960\",\n \"enabled\" : true,\n \"dvsIpfixRequest\" : {\n \"enable_all\" : true\n }\n }\n}", + "examples" : { + "Environment Category" : { + "description" : "Environment Category", + "value" : "{\n \"name\" : \"Environment\",\n \"description\" : \"Environment classification for resources\",\n \"cardinality\" : \"SINGLE\",\n \"associableTypes\" : [ {\n \"adapterKind\" : \"VMWARE\",\n \"resourceKinds\" : [ \"VirtualMachine\", \"HostSystem\" ]\n } ]\n}" + }, + "Location Category" : { + "description" : "Location Category", + "value" : "{\n \"name\" : \"Location\",\n \"description\" : \"Geographic location classification for resources\",\n \"cardinality\" : \"SINGLE\",\n \"associableTypes\" : [ {\n \"adapterKind\" : \"VMWARE\",\n \"resourceKinds\" : [ \"VirtualMachine\", \"Datacenter\", \"ClusterComputeResource\" ]\n } ]\n}" + }, + "Priority Category" : { + "description" : "Priority Category", + "value" : "{\n \"name\" : \"Priority\",\n \"description\" : \"Resource priority classification - supports multiple tags\",\n \"cardinality\" : \"MULTIPLE\",\n \"associableTypes\" : [ {\n \"adapterKind\" : \"VMWARE\",\n \"resourceKinds\" : [ \"VirtualMachine\", \"HostSystem\", \"Datastore\", \"ResourcePool\", \"ClusterComputeResource\" ]\n } ]\n}" + } + }, "schema" : { - "$ref" : "#/components/schemas/VcenterIntegration" + "$ref" : "#/components/schemas/TaggingCategory" } } }, - "description" : "The vCenter integration test request", + "description" : "Category creation specification for the new category to be created", "required" : true }, "responses" : { - "200" : { + "201" : { "content" : { "application/json" : { - "example" : "{\n \"name\" : \"TestVcenterIntegration\",\n \"description\" : \"vCenter adapter for test purposes\",\n \"collectorGroupId\" : \"c2899dfc-dcbd-45e1-9960-94114d371d5a\",\n \"resourceIdentifiers\" : [ {\n \"name\" : \"AUTODISCOVERY\",\n \"value\" : \"true\"\n }, {\n \"name\" : \"PROCESSCHANGEEVENTS\",\n \"value\" : \"true\"\n }, {\n \"name\" : \"VCURL\",\n \"value\" : \"VC_IP_Adress\"\n } ],\n \"certificates\" : [ ],\n \"credentialInstanceId\" : \"8c289ce0-0d9e-4957-bdee-3981fe5a3174\",\n \"logCollectionEnabled\" : false,\n \"netOpsConfig\" : {\n \"collectorId\" : \"10000:901:6259444505047261960\",\n \"enabled\" : true,\n \"dvsIpfixRequest\" : {\n \"enable_all\" : true\n }\n }\n}", + "examples" : { + "Environment Category" : { + "description" : "Environment Category", + "value" : "{\n \"id\" : \"550e8400-e29b-41d4-a716-446655440000\",\n \"name\" : \"Environment\",\n \"description\" : \"Environment classification for resources\",\n \"cardinality\" : \"SINGLE\",\n \"associableTypes\" : [ {\n \"adapterKind\" : \"VMWARE\",\n \"resourceKinds\" : [ \"VirtualMachine\", \"HostSystem\" ]\n } ]\n}" + }, + "Location Category" : { + "description" : "Location Category", + "value" : "{\n \"id\" : \"550e8400-e29b-41d4-a716-446655440020\",\n \"name\" : \"Location\",\n \"description\" : \"Geographic location classification for resources\",\n \"cardinality\" : \"SINGLE\",\n \"associableTypes\" : [ {\n \"adapterKind\" : \"VMWARE\",\n \"resourceKinds\" : [ \"VirtualMachine\", \"Datacenter\", \"ClusterComputeResource\" ]\n } ]\n}" + }, + "Priority Category" : { + "description" : "Priority Category", + "value" : "{\n \"id\" : \"550e8400-e29b-41d4-a716-446655440010\",\n \"name\" : \"Priority\",\n \"description\" : \"Resource priority classification - supports multiple tags\",\n \"cardinality\" : \"MULTIPLE\",\n \"associableTypes\" : [ {\n \"adapterKind\" : \"VMWARE\",\n \"resourceKinds\" : [ \"VirtualMachine\", \"HostSystem\", \"Datastore\", \"ResourcePool\", \"ClusterComputeResource\" ]\n } ]\n}" + } + }, "schema" : { - "$ref" : "#/components/schemas/VcenterIntegration" + "$ref" : "#/components/schemas/TaggingCategory" } } }, - "description" : "Provided vCenter integration, successfully passed the test" + "description" : "Category created successfully" + } + }, + "summary" : "Create a new category", + "tags" : [ "Tag Management" ] + }, + "put" : { + "description" : "Updates properties of an existing category.
Constraints:
• Name: Cannot be updated once created
• Cardinality: Can change from SINGLE to MULTIPLE, cannot change from MULTIPLE to SINGLE
• Associable Types: Can expand existing types or keep same, cannot reduce existing types
• Description: Can be updated to any valid values", + "operationId" : "updateCategory", + "requestBody" : { + "content" : { + "application/json" : { + "example" : "{\n \"id\" : \"550e8400-e29b-41d4-a716-446655440000\",\n \"description\" : \"Updated environment classification for resources\",\n \"cardinality\" : \"MULTIPLE\",\n \"associableTypes\" : [ {\n \"adapterKind\" : \"VMWARE\",\n \"resourceKinds\" : [ \"VirtualMachine\", \"HostSystem\", \"Datastore\" ]\n } ]\n}", + "schema" : { + "$ref" : "#/components/schemas/TaggingCategory" + } + } }, - "400" : { + "description" : "Category update specification with updated attributes including the category identifier", + "required" : true + }, + "responses" : { + "200" : { "content" : { "application/json" : { - "example" : "{\n \"type\" : \"CertificatesError\",\n \"certificates\" : [ {\n \"integrationType\" : \"VCENTER\",\n \"certificates\" : [ {\n \"thumbprint\" : \"certificate_thumbprint\",\n \"certificateDetails\" : \"certificate_details\",\n \"issuedTo\" : \"issuedTo\",\n \"issuedBy\" : \"issuedBy\",\n \"expires\" : \"expirationDate\"\n } ]\n } ],\n \"httpStatusCode\" : 400,\n \"apiErrorCode\" : 400,\n \"message\" : \"No valid certificates were found, while testing connection. Returning provided untrusted certificates for acceptance.\"\n}", + "example" : "{\n \"id\" : \"550e8400-e29b-41d4-a716-446655440000\",\n \"name\" : \"Environment\",\n \"description\" : \"Updated environment classification for resources\",\n \"cardinality\" : \"MULTIPLE\",\n \"associableTypes\" : [ {\n \"adapterKind\" : \"VMWARE\",\n \"resourceKinds\" : [ \"VirtualMachine\", \"HostSystem\", \"Datastore\" ]\n } ]\n}", "schema" : { - "$ref" : "#/components/schemas/OneOfErrorMessage" + "$ref" : "#/components/schemas/TaggingCategory" } } }, - "description" : "If test 'vCenter integration' failed. Typically the service will return extra information as to why the test failed. In case if connection testing failed due to certificates, untrusted certificates will be returned for acceptance." + "description" : "Category updated successfully" }, - "422" : { - "description" : "If test 'vCenter integration' failed. Typically the service will return extra information as to why the test failed.", + "404" : { + "description" : "Category not found", "x-vmw-compiler-skip" : true } }, - "summary" : "Test provided vCenter integration", - "tags" : [ "Integrations" ] + "summary" : "Update an existing category", + "tags" : [ "Tag Management" ] } }, - "/api/integrations/vcenters/{integrationId}" : { - "delete" : { - "description" : "NOTE: Deletion is not synchronous. As a result, the delete operation may not happen immediately. It is recommended to query back the system with the identifier and ensure that the system returns a 404 error.", - "operationId" : "deleteVcenterIntegration", + "/api/fleet-management/tag-management/categories/associable-types" : { + "get" : { + "description" : "Returns the list of supported associable types that can be used when creating or updating categories.", + "operationId" : "getAssociableTypes", + "responses" : { + "200" : { + "content" : { + "application/json" : { + "example" : "{\n \"associableTypes\" : [ {\n \"adapterKind\" : \"VMWARE\",\n \"resourceKinds\" : [ \"VirtualMachine\", \"HostSystem\", \"ClusterComputeResource\", \"Datacenter\", \"Datastore\", \"ResourcePool\", \"VirtualApp\", \"Folder\", \"Network\" ]\n } ]\n}", + "schema" : { + "$ref" : "#/components/schemas/TaggingAssociableTypes" + } + } + }, + "description" : "Associable types retrieved successfully" + } + }, + "summary" : "Get supported associable types", + "tags" : [ "Tag Management" ] + } + }, + "/api/fleet-management/tag-management/categories/query" : { + "post" : { + "description" : "Returns a paginated list of categories based on filter criteria.
Supports filtering by name, ID, cardinality, and associable types.", + "operationId" : "queryCategories", "parameters" : [ { - "description" : "UUID of integration, which need to be deleted", - "in" : "path", - "name" : "integrationId", - "required" : true, + "description" : "Page number from which data needs to be displayed (0-based)", + "in" : "query", + "name" : "page", "schema" : { - "type" : "string", - "format" : "uuid" + "type" : "integer", + "format" : "int32", + "default" : 0, + "maximum" : 2147483647, + "minimum" : 0 } }, { - "description" : "If set to true, resources discovered by this integration will be deleted as well.", + "description" : "Expected number of entries per page", "in" : "query", - "name" : "deleteResources", - "required" : true, + "name" : "pageSize", "schema" : { - "type" : "boolean", - "default" : false + "type" : "integer", + "format" : "int32", + "default" : 1000, + "maximum" : 1000, + "minimum" : 1 } }, { - "description" : "If set to true, child adapter instances will be deleted as well.", + "description" : "Sort the result based on any of the field", "in" : "query", - "name" : "deleteChildResources", - "required" : true, + "name" : "sortBy", "schema" : { - "type" : "boolean", - "default" : false + "type" : "string", + "default" : "name", + "enum" : [ "name" ] } }, { - "description" : "Force delete, particularly unregister integration ownership if owned by this Ops", + "description" : "Sort Order for the results", "in" : "query", - "name" : "force", - "required" : false, + "name" : "sortOrder", "schema" : { - "type" : "boolean", - "default" : false - } - } ], - "responses" : { - "204" : { - "description" : "Integration with provided id, was deleted successfully" - } - }, - "summary" : "Delete vcenter integration by provided id", - "tags" : [ "Integrations" ] - }, - "get" : { - "operationId" : "getVcenterIntegrationById", - "parameters" : [ { - "description" : "The identifier of the vCenter integration in UUID format.", - "in" : "path", - "name" : "integrationId", - "required" : true, - "schema" : { - "type" : "string", - "format" : "uuid" + "type" : "string", + "default" : "ASC", + "enum" : [ "ASC", "DESC" ] } } ], + "requestBody" : { + "content" : { + "application/json" : { + "examples" : { + "All Categories" : { + "description" : "All Categories", + "value" : "{\n \"names\" : [ ],\n \"ids\" : [ ],\n \"associableTypes\" : [ {\n \"adapterKind\" : \"VMWARE\",\n \"resourceKinds\" : [ ]\n } ]\n}" + }, + "Environment Categories" : { + "description" : "Environment Categories", + "value" : "{\n \"names\" : [ \"Environment\" ],\n \"ids\" : [ ],\n \"cardinality\" : \"SINGLE\",\n \"associableTypes\" : [ {\n \"adapterKind\" : \"VMWARE\",\n \"resourceKinds\" : [ ]\n } ]\n}" + } + }, + "schema" : { + "$ref" : "#/components/schemas/TaggingCategoryQuerySpec" + } + } + }, + "description" : "Category filter criteria", + "required" : true + }, "responses" : { "200" : { "content" : { "application/json" : { - "example" : "{\n \"name\" : \"TestVcenterIntegration\",\n \"description\" : \"vCenter adapter for test purposes\",\n \"collectorGroupId\" : \"c2899dfc-dcbd-45e1-9960-94114d371d5a\",\n \"resourceIdentifiers\" : [ {\n \"name\" : \"AUTODISCOVERY\",\n \"value\" : \"true\"\n }, {\n \"name\" : \"PROCESSCHANGEEVENTS\",\n \"value\" : \"true\"\n }, {\n \"name\" : \"VCURL\",\n \"value\" : \"VC_IP_Adress\"\n } ],\n \"certificates\" : [ ],\n \"credentialInstanceId\" : \"8c289ce0-0d9e-4957-bdee-3981fe5a3174\",\n \"vsanConfig\" : {\n \"smartDataCollectionEnabled\" : false,\n \"enabled\" : true\n },\n \"sdmpConfig\" : {\n \"applicationDiscoveryEnabled\" : true,\n \"enabled\" : true\n },\n \"logCollectionEnabled\" : false,\n \"netOpsConfig\" : {\n \"collectorId\" : \"10000:901:6259444505047261960\",\n \"enabled\" : true,\n \"dvsIpfixRequest\" : {\n \"enable_all\" : true\n }\n }\n}", + "examples" : { + "All Categories" : { + "description" : "All Categories", + "value" : "{\n \"categories\" : [ {\n \"id\" : \"550e8400-e29b-41d4-a716-446655440000\",\n \"name\" : \"Environment\",\n \"description\" : \"Environment classification for resources\",\n \"cardinality\" : \"SINGLE\",\n \"associableTypes\" : [ {\n \"adapterKind\" : \"VMWARE\",\n \"resourceKinds\" : [ \"VirtualMachine\", \"HostSystem\" ]\n } ]\n }, {\n \"id\" : \"550e8400-e29b-41d4-a716-446655440010\",\n \"name\" : \"Priority\",\n \"description\" : \"Resource priority classification - supports multiple tags\",\n \"cardinality\" : \"MULTIPLE\",\n \"associableTypes\" : [ {\n \"adapterKind\" : \"VMWARE\",\n \"resourceKinds\" : [ \"VirtualMachine\", \"HostSystem\", \"Datastore\", \"ResourcePool\", \"ClusterComputeResource\" ]\n } ]\n }, {\n \"id\" : \"550e8400-e29b-41d4-a716-446655440020\",\n \"name\" : \"Location\",\n \"description\" : \"Geographic location classification for resources\",\n \"cardinality\" : \"SINGLE\",\n \"associableTypes\" : [ {\n \"adapterKind\" : \"VMWARE\",\n \"resourceKinds\" : [ \"VirtualMachine\", \"Datacenter\", \"ClusterComputeResource\" ]\n } ]\n } ]\n}" + }, + "Environment Categories" : { + "description" : "Environment Categories", + "value" : "{\n \"categories\" : [ {\n \"id\" : \"550e8400-e29b-41d4-a716-446655440000\",\n \"name\" : \"Environment\",\n \"description\" : \"Environment classification for resources\",\n \"cardinality\" : \"SINGLE\",\n \"associableTypes\" : [ {\n \"adapterKind\" : \"VMWARE\",\n \"resourceKinds\" : [ \"VirtualMachine\", \"HostSystem\" ]\n } ]\n } ]\n}" + } + }, "schema" : { - "$ref" : "#/components/schemas/VcenterIntegration" + "$ref" : "#/components/schemas/TaggingCategories" } } }, - "description" : "The result model of the retrieved vCenter integration, with vSAN and Service Discovery configs." - }, - "404" : { - "description" : "If no vCenter integration with provided id where found", - "x-vmw-compiler-skip" : true + "description" : "Categories retrieved successfully" } }, - "summary" : "Get vCenter integration, with vSAN and Service Discovery configs", - "tags" : [ "Integrations" ] + "summary" : "Fetch the list of categories", + "tags" : [ "Tag Management" ] } }, - "/api/integrations/vcenters/{integrationId}/register" : { - "put" : { - "description" : "If force parameter is passed as true, in case if vc is already registered, registration will be overwritten.", - "operationId" : "registerVC", + "/api/fleet-management/tag-management/categories/{categoryId}" : { + "delete" : { + "description" : "Deletes an existing category.", + "operationId" : "deleteCategory", "parameters" : [ { - "description" : "The identifier of the vCenter integration in UUID format.", + "description" : "Unique identifier of the category to be deleted", "in" : "path", - "name" : "integrationId", + "name" : "categoryId", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } - }, { - "description" : "Force override existing VC management ownership", - "in" : "query", - "name" : "force", - "required" : false, - "schema" : { - "type" : "boolean", - "default" : false - } } ], "responses" : { - "200" : { - "description" : "Successfully registered vcenter" + "204" : { + "description" : "Category deleted successfully" }, - "400" : { - "description" : "An invalid request body was specified or any constraints were violated", + "404" : { + "description" : "Category not found", "x-vmw-compiler-skip" : true } }, - "summary" : "Register vc with provided credentials, and id", - "tags" : [ "Integrations" ] + "summary" : "Delete an existing category", + "tags" : [ "Tag Management" ] } }, - "/api/integrations/vcenters/{integrationId}/unregister" : { - "put" : { - "operationId" : "unregisterVC", + "/api/fleet-management/tag-management/categories/{categoryId}/tags" : { + "post" : { + "description" : "Creates tag for the specified category.", + "operationId" : "createTag", "parameters" : [ { - "description" : "The identifier of the vCenter integration in UUID format.", + "description" : "Unique identifier of the category to create tag in", "in" : "path", - "name" : "integrationId", + "name" : "categoryId", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], - "responses" : { - "200" : { - "description" : "Successfully unregistered vc" - } - }, - "summary" : "Unregister vc with provided credentials, and id", - "tags" : [ "Integrations" ] - } - }, - "/api/integrations/vcf" : { - "post" : { - "description" : "vCenter,vSAN and NSXT adapter instances will be generated, upon VCF integration creation, but service discovery is still needed to be enabled manually.
NOTE: If NSX cloud account creation fails due to service account credential creation failure, no error will be thrown. Verify the NSX cloud account after VCF integration creation.
NOTE: while providing any certificate via this API, certificateDetails field must be populated.", - "operationId" : "createVCFIntegration", - "parameters" : [ { - "description" : "Override existing VCF management ownership", - "in" : "query", - "name" : "forceManagementOwnership", - "required" : false, - "schema" : { - "type" : "boolean", - "default" : false - } - }, { - "description" : "Create VCF even if connection test fails", - "in" : "query", - "name" : "force", - "required" : false, - "schema" : { - "type" : "boolean", - "default" : false - } - } ], "requestBody" : { "content" : { "application/json" : { - "example" : "{\n \"name\" : \"TestVCFIntegration\",\n \"description\" : \"VCF adapter for test purposes\",\n \"collectorGroupId\" : \"a0fdd915-34ea-485e-95fe-3149c36cf1ef\",\n \"resourceIdentifiers\" : [ {\n \"name\" : \"SDDCManager_Hostname\",\n \"value\" : \"SDDC_manager_hostname\"\n }, {\n \"name\" : \"vcf_config_limits_file_name\",\n \"value\" : \"file_name\"\n }, {\n \"name\" : \"DomainMonitoringOnCreation\",\n \"value\" : \"false\"\n } ],\n \"certificates\" : [ {\n \"thumbprint\" : \"certificate_thumbprint\",\n \"certificateDetails\" : \"certificate_details\",\n \"issuedTo\" : \"issuedTo\",\n \"issuedBy\" : \"issuedBy\",\n \"expires\" : \"expirationDate\"\n } ],\n \"credentialInstanceId\" : \"8a5b0218-edcb-4663-8e30-cd62b1aca527\",\n \"serviceCredentialsUsed\" : false\n}", + "examples" : { + "Critical Priority Tag" : { + "description" : "Critical Priority Tag", + "value" : "{\n \"name\" : \"Critical\",\n \"description\" : \"Critical priority resource requiring immediate attention\"\n}" + }, + "Production Environment Tag" : { + "description" : "Production Environment Tag", + "value" : "{\n \"name\" : \"Production\",\n \"description\" : \"Production environment tag\"\n}" + }, + "US-East Location Tag" : { + "description" : "US-East Location Tag", + "value" : "{\n \"name\" : \"US-East\",\n \"description\" : \"US East Coast datacenter location\"\n}" + } + }, "schema" : { - "$ref" : "#/components/schemas/VCFIntegration" + "$ref" : "#/components/schemas/TaggingTag" } } }, - "description" : "The VCF integration creation request", + "description" : "Tag specification for the tag to create", "required" : true }, "responses" : { "201" : { "content" : { "application/json" : { - "example" : "{\n \"name\" : \"TestVCFIntegration\",\n \"description\" : \"VCF adapter for test purposes\",\n \"collectorGroupId\" : \"a0fdd915-34ea-485e-95fe-3149c36cf1ef\",\n \"resourceIdentifiers\" : [ {\n \"name\" : \"SDDCManager_Hostname\",\n \"value\" : \"SDDC_manager_hostname\"\n }, {\n \"name\" : \"vcf_config_limits_file_name\",\n \"value\" : \"file_name\"\n }, {\n \"name\" : \"DomainMonitoringOnCreation\",\n \"value\" : \"false\"\n } ],\n \"certificates\" : [ ],\n \"credentialInstanceId\" : \"8a5b0218-edcb-4663-8e30-cd62b1aca527\",\n \"serviceCredentialsUsed\" : false\n}", - "schema" : { - "$ref" : "#/components/schemas/VCFIntegration" - } - } - }, - "description" : "The result model of the created VCF integration." - }, - "400" : { - "content" : { - "application/json" : { - "example" : "{\n \"type\" : \"CertificatesError\",\n \"certificates\" : [ {\n \"integrationType\" : \"VCENTER\",\n \"certificates\" : [ {\n \"thumbprint\" : \"certificate_thumbprint\",\n \"certificateDetails\" : \"certificate_details\",\n \"issuedTo\" : \"issuedTo\",\n \"issuedBy\" : \"issuedBy\",\n \"expires\" : \"expirationDate\"\n } ]\n } ],\n \"httpStatusCode\" : 400,\n \"apiErrorCode\" : 400,\n \"message\" : \"No valid certificates were found, while testing connection. Returning provided untrusted certificates for acceptance.\"\n}", + "examples" : { + "Critical Priority Tag" : { + "description" : "Critical Priority Tag", + "value" : "{\n \"id\" : \"550e8400-e29b-41d4-a716-446655440012\",\n \"name\" : \"Critical\",\n \"description\" : \"Critical priority resource requiring immediate attention\",\n \"categoryId\" : \"550e8400-e29b-41d4-a716-446655440010\",\n \"categoryName\" : \"Priority\"\n}" + }, + "Production Environment Tag" : { + "description" : "Production Environment Tag", + "value" : "{\n \"id\" : \"550e8400-e29b-41d4-a716-446655440001\",\n \"name\" : \"Production\",\n \"description\" : \"Production environment tag\",\n \"categoryId\" : \"550e8400-e29b-41d4-a716-446655440000\",\n \"categoryName\" : \"Environment\"\n}" + }, + "US-East Location Tag" : { + "description" : "US-East Location Tag", + "value" : "{\n \"id\" : \"550e8400-e29b-41d4-a716-446655440022\",\n \"name\" : \"US-East\",\n \"description\" : \"US East Coast datacenter location\",\n \"categoryId\" : \"550e8400-e29b-41d4-a716-446655440020\",\n \"categoryName\" : \"Location\"\n}" + } + }, "schema" : { - "$ref" : "#/components/schemas/OneOfErrorMessage" + "$ref" : "#/components/schemas/TaggingTag" } } }, - "description" : "If create 'VCF integration' failed. Typically the service will return extra information as to why the creation failed. In case if connection testing failed due to certificates, untrusted certificates will be returned for acceptance." + "description" : "Tag created successfully" }, - "422" : { - "description" : "If create 'VCF integration' failed. Typically the service will return extra information as to why the creation failed.", + "404" : { + "description" : "Category not found", "x-vmw-compiler-skip" : true } }, - "summary" : "Create VCF integration with provided parameters. vCenter,vSAN and NSXT adapters for domains, will be created and configured automatically", - "tags" : [ "Integrations" ] + "summary" : "Create tag for a specific category", + "tags" : [ "Tag Management" ] }, "put" : { - "description" : "NOTE: while providing any certificate via this API, certificateDetails field must be populated.", - "operationId" : "updateVCFIntegration", + "description" : "Updates properties of an existing tag.
Constraints:
• Name: Cannot be updated once created
• Description: Can be updated to any valid values", + "operationId" : "updateTag", "parameters" : [ { - "description" : "Update VCF even if connection test fails", - "in" : "query", - "name" : "force", - "required" : false, + "description" : "Unique identifier of the category the tag belongs to", + "in" : "path", + "name" : "categoryId", + "required" : true, "schema" : { - "type" : "boolean", - "default" : false + "type" : "string", + "format" : "uuid" } } ], "requestBody" : { "content" : { "application/json" : { - "example" : "{\n \"id\" : \"afa3f229-b41b-43f2-934b-87f20a66fa26\",\n \"name\" : \"TestVCFIntegration\",\n \"description\" : \"VCF adapter for test purposes\",\n \"collectorGroupId\" : \"a0fdd915-34ea-485e-95fe-3149c36cf1ef\",\n \"resourceIdentifiers\" : [ {\n \"name\" : \"SDDCManager_Hostname\",\n \"value\" : \"SDDC_manager_hostname\"\n }, {\n \"name\" : \"vcf_config_limits_file_name\",\n \"value\" : \"file_name\"\n }, {\n \"name\" : \"DomainMonitoringOnCreation\",\n \"value\" : \"false\"\n } ],\n \"certificates\" : [ ],\n \"credentialInstanceId\" : \"8a5b0218-edcb-4663-8e30-cd62b1aca527\",\n \"serviceCredentialsUsed\" : false\n}", + "example" : "{\n \"id\" : \"550e8400-e29b-41d4-a716-446655440001\",\n \"description\" : \"Updated production environment tag\"\n}", "schema" : { - "$ref" : "#/components/schemas/VCFIntegration" + "$ref" : "#/components/schemas/TaggingTag" } } }, - "description" : "The VCF integration update request", + "description" : "Tag update specification with updated attributes including the tag identifier", "required" : true }, "responses" : { "200" : { "content" : { "application/json" : { - "example" : "{\n \"id\" : \"afa3f229-b41b-43f2-934b-87f20a66fa26\",\n \"name\" : \"TestVCFIntegration\",\n \"description\" : \"VCF adapter for test purposes\",\n \"collectorGroupId\" : \"a0fdd915-34ea-485e-95fe-3149c36cf1ef\",\n \"resourceIdentifiers\" : [ {\n \"name\" : \"SDDCManager_Hostname\",\n \"value\" : \"SDDC_manager_hostname\"\n }, {\n \"name\" : \"vcf_config_limits_file_name\",\n \"value\" : \"file_name\"\n }, {\n \"name\" : \"DomainMonitoringOnCreation\",\n \"value\" : \"false\"\n } ],\n \"certificates\" : [ ],\n \"credentialInstanceId\" : \"8a5b0218-edcb-4663-8e30-cd62b1aca527\",\n \"serviceCredentialsUsed\" : false\n}", - "schema" : { - "$ref" : "#/components/schemas/VCFIntegration" - } - } - }, - "description" : "The model of the updated VCF integration." - }, - "400" : { - "content" : { - "application/json" : { - "example" : "{\n \"type\" : \"CertificatesError\",\n \"certificates\" : [ {\n \"integrationType\" : \"VCENTER\",\n \"certificates\" : [ {\n \"thumbprint\" : \"certificate_thumbprint\",\n \"certificateDetails\" : \"certificate_details\",\n \"issuedTo\" : \"issuedTo\",\n \"issuedBy\" : \"issuedBy\",\n \"expires\" : \"expirationDate\"\n } ]\n } ],\n \"httpStatusCode\" : 400,\n \"apiErrorCode\" : 400,\n \"message\" : \"No valid certificates were found, while testing connection. Returning provided untrusted certificates for acceptance.\"\n}", + "example" : "{\n \"id\" : \"550e8400-e29b-41d4-a716-446655440001\",\n \"name\" : \"Production\",\n \"description\" : \"Updated production environment tag\",\n \"categoryId\" : \"550e8400-e29b-41d4-a716-446655440000\",\n \"categoryName\" : \"Environment\"\n}", "schema" : { - "$ref" : "#/components/schemas/OneOfErrorMessage" + "$ref" : "#/components/schemas/TaggingTag" } } }, - "description" : "If update 'VCF integration' failed. Typically the service will return extra information as to why the update failed. In case if connection testing failed due to certificates, untrusted certificates will be returned for acceptance." + "description" : "Tag updated successfully" }, - "422" : { - "description" : "If update 'VCF integration' failed. Typically the service will return extra information as to why the update failed.", + "404" : { + "description" : "Tag not found", "x-vmw-compiler-skip" : true } }, - "summary" : "Update existing VCF integration with provided parameters", - "tags" : [ "Integrations" ] + "summary" : "Update an existing tag", + "tags" : [ "Tag Management" ] } }, - "/api/integrations/vcf/testConnection" : { + "/api/fleet-management/tag-management/categories/{categoryId}/tags/query" : { "post" : { - "description" : "In case if certificate is needed, will return untrusted certificate for acceptance in response.
NOTE: while providing any certificate via this API, certificateDetails field must be populated.", - "operationId" : "testVCFIntegration", + "description" : "Returns a paginated list of tags for a specific category.
Supports filtering by name and ID.", + "operationId" : "queryTags", + "parameters" : [ { + "description" : "Unique identifier of the category to query tags from", + "in" : "path", + "name" : "categoryId", + "required" : true, + "schema" : { + "type" : "string", + "format" : "uuid" + } + }, { + "description" : "Page number from which data needs to be displayed (0-based)", + "in" : "query", + "name" : "page", + "schema" : { + "type" : "integer", + "format" : "int32", + "default" : 0, + "maximum" : 2147483647, + "minimum" : 0 + } + }, { + "description" : "Expected number of entries per page", + "in" : "query", + "name" : "pageSize", + "schema" : { + "type" : "integer", + "format" : "int32", + "default" : 1000, + "maximum" : 1000, + "minimum" : 1 + } + }, { + "description" : "Sort the result based on any of the field", + "in" : "query", + "name" : "sortBy", + "schema" : { + "type" : "string", + "default" : "name", + "enum" : [ "name", "category_name" ] + } + }, { + "description" : "Sort Order for the results", + "in" : "query", + "name" : "sortOrder", + "schema" : { + "type" : "string", + "default" : "ASC", + "enum" : [ "ASC", "DESC" ] + } + } ], "requestBody" : { "content" : { "application/json" : { - "example" : "{\n \"name\" : \"TestVCFIntegration\",\n \"description\" : \"VCF adapter for test purposes\",\n \"collectorGroupId\" : \"a0fdd915-34ea-485e-95fe-3149c36cf1ef\",\n \"resourceIdentifiers\" : [ {\n \"name\" : \"SDDCManager_Hostname\",\n \"value\" : \"SDDC_manager_hostname\"\n }, {\n \"name\" : \"vcf_config_limits_file_name\",\n \"value\" : \"file_name\"\n }, {\n \"name\" : \"DomainMonitoringOnCreation\",\n \"value\" : \"false\"\n } ],\n \"certificates\" : [ ],\n \"credentialInstanceId\" : \"8a5b0218-edcb-4663-8e30-cd62b1aca527\",\n \"serviceCredentialsUsed\" : false\n}", + "examples" : { + "Multiple Tags Query" : { + "description" : "Multiple Tags Query", + "value" : "{\n \"names\" : [ \"High\", \"Critical\" ],\n \"ids\" : [ ]\n}" + }, + "Production Tag Query" : { + "description" : "Production Tag Query", + "value" : "{\n \"names\" : [ \"Production\" ],\n \"ids\" : [ \"550e8400-e29b-41d4-a716-446655440001\" ]\n}" + } + }, "schema" : { - "$ref" : "#/components/schemas/VCFIntegration" + "$ref" : "#/components/schemas/TaggingTagQuerySpec" } } }, - "description" : "The VCF integration test request", - "required" : true + "description" : "Tag query specification containing filter criteria" }, "responses" : { "200" : { "content" : { "application/json" : { - "example" : "{\n \"name\" : \"TestVCFIntegration\",\n \"description\" : \"VCF adapter for test purposes\",\n \"collectorGroupId\" : \"a0fdd915-34ea-485e-95fe-3149c36cf1ef\",\n \"resourceIdentifiers\" : [ {\n \"name\" : \"SDDCManager_Hostname\",\n \"value\" : \"SDDC_manager_hostname\"\n }, {\n \"name\" : \"vcf_config_limits_file_name\",\n \"value\" : \"file_name\"\n }, {\n \"name\" : \"DomainMonitoringOnCreation\",\n \"value\" : \"false\"\n } ],\n \"certificates\" : [ ],\n \"credentialInstanceId\" : \"8a5b0218-edcb-4663-8e30-cd62b1aca527\",\n \"serviceCredentialsUsed\" : false\n}", - "schema" : { - "$ref" : "#/components/schemas/VCFIntegration" - } - } - }, - "description" : "Provided VCF integration, successfully passed the test" - }, - "400" : { - "content" : { - "application/json" : { - "example" : "{\n \"type\" : \"CertificatesError\",\n \"certificates\" : [ {\n \"integrationType\" : \"VCENTER\",\n \"certificates\" : [ {\n \"thumbprint\" : \"certificate_thumbprint\",\n \"certificateDetails\" : \"certificate_details\",\n \"issuedTo\" : \"issuedTo\",\n \"issuedBy\" : \"issuedBy\",\n \"expires\" : \"expirationDate\"\n } ]\n } ],\n \"httpStatusCode\" : 400,\n \"apiErrorCode\" : 400,\n \"message\" : \"No valid certificates were found, while testing connection. Returning provided untrusted certificates for acceptance.\"\n}", + "examples" : { + "Multiple Tags Query" : { + "description" : "Multiple Tags Query", + "value" : "{\n \"tags\" : [ {\n \"id\" : \"550e8400-e29b-41d4-a716-446655440011\",\n \"name\" : \"High\",\n \"description\" : \"High priority resource\",\n \"categoryId\" : \"550e8400-e29b-41d4-a716-446655440010\",\n \"categoryName\" : \"Priority\"\n }, {\n \"id\" : \"550e8400-e29b-41d4-a716-446655440012\",\n \"name\" : \"Critical\",\n \"description\" : \"Critical priority resource requiring immediate attention\",\n \"categoryId\" : \"550e8400-e29b-41d4-a716-446655440010\",\n \"categoryName\" : \"Priority\"\n } ]\n}" + }, + "Production Tag Query" : { + "description" : "Production Tag Query", + "value" : "{\n \"tags\" : [ {\n \"id\" : \"550e8400-e29b-41d4-a716-446655440001\",\n \"name\" : \"Production\",\n \"description\" : \"Production environment tag\",\n \"categoryId\" : \"550e8400-e29b-41d4-a716-446655440000\",\n \"categoryName\" : \"Environment\"\n } ]\n}" + } + }, "schema" : { - "$ref" : "#/components/schemas/OneOfErrorMessage" + "$ref" : "#/components/schemas/TaggingPaginatedTags" } } }, - "description" : "If test 'VCF integration' failed. Typically the service will return extra information as to why the test failed. In case if connection testing failed due to certificates, untrusted certificates will be returned for acceptance." + "description" : "Tags retrieved successfully" }, - "422" : { - "description" : "If test 'vCenter integration' failed. Typically the service will return extra information as to why the test failed.", + "404" : { + "description" : "Category not found", "x-vmw-compiler-skip" : true } }, - "summary" : "Test provided VCF integration", - "tags" : [ "Integrations" ] + "summary" : "Fetch tags for a specific category", + "tags" : [ "Tag Management" ] } }, - "/api/integrations/vcf/{integrationId}" : { + "/api/fleet-management/tag-management/categories/{categoryId}/tags/{tagId}" : { "delete" : { - "description" : "NOTE: Deletion is not synchronous. As a result, the delete operation may not happen immediately. It is recommended to query back the system with the identifier and ensure that the system returns a 404 error.", - "operationId" : "deleteVcfIntegration", + "description" : "Deletes an existing tag.", + "operationId" : "deleteTag", "parameters" : [ { - "description" : "UUID of integration, which need to be deleted", + "description" : "Unique identifier of the category the tag belongs to", "in" : "path", - "name" : "integrationId", + "name" : "categoryId", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { - "description" : "If set to true, resources discovered by this integration will be deleted as well.", - "in" : "query", - "name" : "deleteResources", + "description" : "Unique identifier of the tag to be deleted", + "in" : "path", + "name" : "tagId", "required" : true, "schema" : { - "type" : "boolean", - "default" : false - } + "type" : "string", + "format" : "uuid" + } + } ], + "responses" : { + "204" : { + "description" : "Tag deleted successfully" + }, + "404" : { + "description" : "Tag not found", + "x-vmw-compiler-skip" : true + } + }, + "summary" : "Delete an existing tag", + "tags" : [ "Tag Management" ] + } + }, + "/api/fleet-management/tag-management/resources/query" : { + "post" : { + "description" : "Queries and returns resources that match the specified tagging criteria.", + "operationId" : "queryTaggedResources", + "parameters" : [ { + "description" : "Page number from which data needs to be displayed (0-based)", + "in" : "query", + "name" : "page", + "schema" : { + "type" : "integer", + "format" : "int32", + "default" : 0, + "maximum" : 2147483647, + "minimum" : 0 + } }, { - "description" : "If set to true, child domains and adapter instances will be deleted as well.", + "description" : "Expected number of entries per page", "in" : "query", - "name" : "deleteChildResources", - "required" : true, + "name" : "pageSize", "schema" : { - "type" : "boolean", - "default" : false + "type" : "integer", + "format" : "int32", + "default" : 1000, + "maximum" : 1000, + "minimum" : 1 } }, { - "description" : "Force delete, particularly unregister integration ownership if owned by this Ops", + "description" : "Sort the result based on any of the field", "in" : "query", - "name" : "force", - "required" : false, + "name" : "sortBy", "schema" : { - "type" : "boolean", - "default" : false + "type" : "string", + "default" : "resourceName", + "enum" : [ "resourceName", "resourceKind" ] + } + }, { + "description" : "Sort Order for the results", + "in" : "query", + "name" : "sortOrder", + "schema" : { + "type" : "string", + "default" : "ASC", + "enum" : [ "ASC", "DESC" ] } } ], + "requestBody" : { + "content" : { + "application/json" : { + "examples" : { + "Comprehensive Multi-Resource Query" : { + "description" : "Comprehensive Multi-Resource Query", + "value" : "{\n \"tagIds\" : [ \"550e8400-e29b-41d4-a716-446655440001\" ],\n \"resourceKinds\" : [ \"ClusterComputeResource\", \"Datastore\", \"HostSystem\", \"VirtualMachine\" ],\n \"adapterInstanceIds\" : [ \"550e8400-e29b-41d4-a716-446655440101\", \"550e8400-e29b-41d4-a716-446655440100\" ],\n \"customGroupIds\" : [ \"550e8400-e29b-41d4-a716-446655440150\" ]\n}" + }, + "Simple Query" : { + "description" : "Simple Query", + "value" : "{\n \"tagIds\" : [ \"550e8400-e29b-41d4-a716-446655440001\" ],\n \"resourceKinds\" : [ \"VirtualMachine\" ],\n \"adapterInstanceIds\" : [ ],\n \"customGroupIds\" : [ ]\n}" + } + }, + "schema" : { + "$ref" : "#/components/schemas/TaggingTaggedResourceQuerySpec" + } + } + }, + "description" : "Tagged resource query specification containing comprehensive search criteria", + "required" : true + }, "responses" : { - "204" : { - "description" : "Integration with provided id, was deleted successfully" + "200" : { + "content" : { + "application/json" : { + "examples" : { + "Comprehensive Multi-Resource Query" : { + "description" : "Comprehensive Multi-Resource Query", + "value" : "{\n \"resources\" : [ {\n \"resourceId\" : \"550e8400-e29b-41d4-a716-446655440200\",\n \"tags\" : [ {\n \"id\" : \"550e8400-e29b-41d4-a716-446655440001\",\n \"name\" : \"Production\",\n \"description\" : \"Production environment tag\",\n \"categoryId\" : \"550e8400-e29b-41d4-a716-446655440000\",\n \"categoryName\" : \"Environment\"\n } ]\n }, {\n \"resourceId\" : \"550e8400-e29b-41d4-a716-446655440201\",\n \"tags\" : [ {\n \"id\" : \"550e8400-e29b-41d4-a716-446655440001\",\n \"name\" : \"Production\",\n \"description\" : \"Production environment tag\",\n \"categoryId\" : \"550e8400-e29b-41d4-a716-446655440000\",\n \"categoryName\" : \"Environment\"\n } ]\n }, {\n \"resourceId\" : \"550e8400-e29b-41d4-a716-446655440203\",\n \"tags\" : [ {\n \"id\" : \"550e8400-e29b-41d4-a716-446655440001\",\n \"name\" : \"Production\",\n \"description\" : \"Production environment tag\",\n \"categoryId\" : \"550e8400-e29b-41d4-a716-446655440000\",\n \"categoryName\" : \"Environment\"\n } ]\n }, {\n \"resourceId\" : \"550e8400-e29b-41d4-a716-446655440204\",\n \"tags\" : [ {\n \"id\" : \"550e8400-e29b-41d4-a716-446655440001\",\n \"name\" : \"Production\",\n \"description\" : \"Production environment tag\",\n \"categoryId\" : \"550e8400-e29b-41d4-a716-446655440000\",\n \"categoryName\" : \"Environment\"\n } ]\n } ]\n}" + }, + "Simple Query" : { + "description" : "Simple Query", + "value" : "{\n \"resources\" : [ {\n \"resourceId\" : \"550e8400-e29b-41d4-a716-446655440200\",\n \"tags\" : [ {\n \"id\" : \"550e8400-e29b-41d4-a716-446655440001\",\n \"name\" : \"Production\",\n \"description\" : \"Production environment tag\",\n \"categoryId\" : \"550e8400-e29b-41d4-a716-446655440000\",\n \"categoryName\" : \"Environment\"\n } ]\n } ]\n}" + } + }, + "schema" : { + "$ref" : "#/components/schemas/TaggingResources" + } + } + }, + "description" : "Tagged resources retrieved successfully" } }, - "summary" : "Delete integration by provided id", - "tags" : [ "Integrations" ] - }, + "summary" : "Fetch tagged resources", + "tags" : [ "Tag Management" ] + } + }, + "/api/fleet-management/tag-management/resources/{resourceId}/tags" : { "get" : { - "operationId" : "getVCFIntegrationById", + "description" : "Returns all tags currently assigned to the specified resource.", + "operationId" : "getAssignedTagsForResource", "parameters" : [ { - "description" : "The identifier of the VCF integration in UUID format.", + "description" : "Unique identifier of the specific resource instance to retrieve tag associations for", "in" : "path", - "name" : "integrationId", + "name" : "resourceId", "required" : true, "schema" : { - "type" : "string", - "format" : "uuid" + "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { - "example" : "{\n \"name\" : \"TestVCFIntegration\",\n \"description\" : \"VCF adapter for test purposes\",\n \"collectorGroupId\" : \"a0fdd915-34ea-485e-95fe-3149c36cf1ef\",\n \"resourceIdentifiers\" : [ {\n \"name\" : \"SDDCManager_Hostname\",\n \"value\" : \"SDDC_manager_hostname\"\n }, {\n \"name\" : \"vcf_config_limits_file_name\",\n \"value\" : \"file_name\"\n }, {\n \"name\" : \"DomainMonitoringOnCreation\",\n \"value\" : \"false\"\n } ],\n \"certificates\" : [ ],\n \"credentialInstanceId\" : \"8a5b0218-edcb-4663-8e30-cd62b1aca527\",\n \"serviceCredentialsUsed\" : false\n}", + "example" : "{\n \"tags\" : [ {\n \"id\" : \"550e8400-e29b-41d4-a716-446655440001\",\n \"name\" : \"Production\",\n \"description\" : \"Production environment tag\",\n \"categoryId\" : \"550e8400-e29b-41d4-a716-446655440000\",\n \"categoryName\" : \"Environment\"\n }, {\n \"id\" : \"550e8400-e29b-41d4-a716-446655440012\",\n \"name\" : \"Critical\",\n \"description\" : \"Critical priority resource requiring immediate attention\",\n \"categoryId\" : \"550e8400-e29b-41d4-a716-446655440010\",\n \"categoryName\" : \"Priority\"\n } ]\n}", "schema" : { - "$ref" : "#/components/schemas/VCFIntegration" + "$ref" : "#/components/schemas/TaggingTags" } } }, - "description" : "The result model of the retrieved VCF integration." - }, - "404" : { - "description" : "If no VCF integration with provided id were found", - "x-vmw-compiler-skip" : true + "description" : "Assigned tags retrieved successfully" } }, - "summary" : "Get VCF integration, by specified id", - "tags" : [ "Integrations" ] + "summary" : "Get assigned tags for a resource", + "tags" : [ "Tag Management" ] } }, - "/api/integrations/vcf/{integrationId}/domains" : { + "/api/fleet-management/tag-management/tasks/{taskId}" : { "get" : { - "operationId" : "getDomainSummary", + "description" : "Returns the details including status and progress of a background tagging operations like push, pull, assign.", + "operationId" : "getTaggingTaskStatus", "parameters" : [ { - "description" : "The identifier of the VCF integration in UUID format.", + "description" : "Unique identifier of the background task to retrieve current status, progress, and result information for", "in" : "path", - "name" : "integrationId", + "name" : "taskId", "required" : true, "schema" : { "type" : "string", @@ -13949,378 +14577,316 @@ "200" : { "content" : { "application/json" : { - "example" : "{\n \"configuredDomains\" : [ ],\n \"notConfiguredDomains\" : [ ],\n \"removedDomains\" : [ ]\n}", + "examples" : { + "Failed" : { + "description" : "Failed task with error messages", + "value" : "{\n \"id\" : \"550e8400-e29b-41d4-a716-446655440004\",\n \"status\" : \"FAILED\",\n \"errorMessages\" : [ ],\n \"taskResult\" : {\n \"type\" : \"PUSH_TO_ADAPTER\",\n \"resourceResults\" : [ {\n \"resourceId\" : \"550e8400-e29b-41d4-a716-446655440100\",\n \"categoryConflicts\" : [ {\n \"categoryId\" : \"550e8400-e29b-41d4-a716-446655440000\",\n \"error\" : \"Category cardinality differs between vCenter and local system\",\n \"tagConflicts\" : [ ]\n } ]\n } ]\n }\n}" + }, + "Running" : { + "description" : "Task currently in progress", + "value" : "{\n \"id\" : \"550e8400-e29b-41d4-a716-446655440005\",\n \"status\" : \"RUNNING\",\n \"errorMessages\" : [ ],\n \"taskResult\" : {\n \"type\" : \"PULL_FROM_ADAPTER\",\n \"resourceResults\" : [ ]\n }\n}" + }, + "Success" : { + "description" : "Successful task completion", + "value" : "{\n \"id\" : \"550e8400-e29b-41d4-a716-446655440003\",\n \"status\" : \"SUCCESS\",\n \"errorMessages\" : [ ],\n \"taskResult\" : {\n \"type\" : \"TAG_ASSIGNMENT\",\n \"assignmentResults\" : [ {\n \"resourceId\" : \"550e8400-e29b-41d4-a716-446655440200\",\n \"attachResults\" : [ {\n \"tagId\" : \"550e8400-e29b-41d4-a716-446655440001\"\n } ],\n \"detachResults\" : [ ]\n } ]\n }\n}" + } + }, "schema" : { - "$ref" : "#/components/schemas/VCFDomainSummaries" + "$ref" : "#/components/schemas/TaggingTask" } } }, - "description" : "The result model of VCF domains summary" + "description" : "Task status retrieved successfully" }, "404" : { - "description" : "If no VCF was found by provided id", + "description" : "Task not found", "x-vmw-compiler-skip" : true } }, - "summary" : "Get all VCF domains summary for VCF by provided id", - "tags" : [ "Integrations" ] + "summary" : "Get task status", + "tags" : [ "Tag Management" ] } }, - "/api/integrations/vcf/{integrationId}/domains/{domainId}" : { - "delete" : { - "description" : "NOTE: Deletion is not synchronous. As a result, the delete operation may not happen immediately. It is recommended to query back the system with the identifier and ensure that the system returns a 404 error.", - "operationId" : "deleteVcfDomain", - "parameters" : [ { - "description" : "The identifier of integration, domain of which need to be deleted, in UUID format", - "in" : "path", - "name" : "integrationId", - "required" : true, - "schema" : { - "type" : "string", - "format" : "uuid" - } - }, { - "description" : "The identifier of the VCF's domain in UUID format.", - "in" : "path", - "name" : "domainId", - "required" : true, - "schema" : { - "type" : "string", - "format" : "uuid" - } - }, { - "description" : "If set to true, resources discovered by this domain will be deleted as well.", - "in" : "query", - "name" : "deleteResources", - "required" : true, - "schema" : { - "type" : "boolean", - "default" : false - } - }, { - "description" : "Force delete, particularly unregister domain ownership if owned by this Ops", - "in" : "query", - "name" : "force", - "required" : false, - "schema" : { - "type" : "boolean", - "default" : false - } - } ], + "/api/integrations/services" : { + "get" : { + "operationId" : "getIntegratedServices", "responses" : { - "204" : { - "description" : "Domain with provided id, was deleted successfully" + "200" : { + "content" : { + "application/json" : { + "example" : "{\n \"servicesDetails\" : [ {\n \"name\" : \"VCF OPS LI\",\n \"type\" : \"VCF_OPS_LI\",\n \"key\" : \"ops-li\",\n \"address\" : \"0.0.0.0\",\n \"port\" : 8000,\n \"addressType\" : \"IPV4\",\n \"certificates\" : [ ],\n \"version\" : \"9.1.0.0\"\n }, {\n \"name\" : \"VCF OPS NI\",\n \"type\" : \"VCF_OPS_NI\",\n \"key\" : \"ops-ni\",\n \"address\" : \"0.0.0.0\",\n \"port\" : 8000,\n \"addressType\" : \"IPV4\",\n \"certificates\" : [ ],\n \"basePath\" : \"base-path\",\n \"version\" : \"9.1.0.0\"\n } ]\n}", + "schema" : { + "$ref" : "#/components/schemas/ServicesDetails" + } + } + }, + "description" : "Service details" } }, - "summary" : "Delete domain by provided id", + "summary" : "Get registered services details", "tags" : [ "Integrations" ] - }, + } + }, + "/api/integrations/services/certificate-management/{serviceKey}/certificates" : { "get" : { - "operationId" : "getDomainDetailsById", + "operationId" : "getVVFCertificates", "parameters" : [ { - "description" : "The identifier of the VCF integration in UUID format.", - "in" : "path", - "name" : "integrationId", - "required" : true, - "schema" : { - "type" : "string", - "format" : "uuid" - } - }, { - "description" : "The identifier of the VCF's domain in UUID format.", + "description" : "serviceKey for which certificates need to be collected", "in" : "path", - "name" : "domainId", + "name" : "serviceKey", "required" : true, "schema" : { - "type" : "string", - "format" : "uuid" + "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { - "example" : "{\n \"vcfDomainVcenter\" : {\n \"id\" : \"c164f63c-caba-4809-a816-a034461cd45d\",\n \"name\" : \"TestVcenterIntegration\",\n \"description\" : \"vCenter adapter for test purposes\",\n \"collectorGroupId\" : \"c2899dfc-dcbd-45e1-9960-94114d371d5a\",\n \"resourceIdentifiers\" : [ {\n \"name\" : \"AUTODISCOVERY\",\n \"value\" : \"true\"\n }, {\n \"name\" : \"PROCESSCHANGEEVENTS\",\n \"value\" : \"true\"\n }, {\n \"name\" : \"VCURL\",\n \"value\" : \"VC_IP_Adress\"\n } ],\n \"certificates\" : [ ],\n \"credentialInstanceId\" : \"8c289ce0-0d9e-4957-bdee-3981fe5a3174\",\n \"vsanConfig\" : {\n \"smartDataCollectionEnabled\" : false,\n \"enabled\" : true\n },\n \"sdmpConfig\" : {\n \"applicationDiscoveryEnabled\" : true,\n \"enabled\" : true\n },\n \"logCollectionEnabled\" : false,\n \"serviceCredentialsUsed\" : false\n },\n \"nsxtIntegration\" : {\n \"url\" : \"nsxt_url\",\n \"certificates\" : [ ],\n \"enabled\" : true,\n \"id\" : \"7890904c-c9ee-4c42-b3b0-5859d38501fd\",\n \"credentialId\" : \"c1a7bfe9-2a46-4d58-9134-8058bd04d873\",\n \"serviceCredentialsUsed\" : false\n },\n \"domainName\" : \"DomainName\",\n \"domainId\" : \"9bea1e0b-9d57-4a90-8296-1c4b71106d78\",\n \"vcUrl\" : \"vc_url\",\n \"domainState\" : \"CONFIGURED\"\n}", + "example" : "{\n \"certificates\" : [ {\n \"ingressType\" : \"platform\",\n \"componentFqdns\" : [ \"vcenter.example.com\", \"vcenter-alt.example.com\" ],\n \"tls\" : {\n \"certificateChain\" : \"-----BEGIN CERTIFICATE-----\\nMIIDXTCCAkWgAwIBAgIJAKZ...\\n-----END CERTIFICATE-----\",\n \"certificate\" : \"-----BEGIN CERTIFICATE-----\\nMIIEpAIBAAKCAQEA3Tz2m...\\n-----END CERTIFICATE-----\"\n }\n }, {\n \"ingressType\" : \"component\",\n \"componentFqdns\" : [ \"esxi-01.example.com\" ],\n \"tls\" : {\n \"certificateChain\" : \"-----BEGIN CERTIFICATE-----\\nMIIDYUCCAkmgAwIBAgIKALa...\\n-----END CERTIFICATE-----\",\n \"certificate\" : \"-----BEGIN CERTIFICATE-----\\nMIIEqBIBAAKCAQEA4Ua3n...\\n-----END CERTIFICATE-----\"\n }\n } ]\n}", "schema" : { - "$ref" : "#/components/schemas/VCFDomainDetails" + "$ref" : "#/components/schemas/VvfCertificates" } } }, - "description" : "The result model of VCF domain" - }, - "404" : { - "description" : "If no VCF domain was, found by provided domain id, or no VCF was found by provided VCF id", - "x-vmw-compiler-skip" : true + "description" : "List of VVF certificates" } }, - "summary" : "Get VCF domain by provided VCF and domain ids", - "tags" : [ "Integrations" ] + "summary" : "Get VVF certificates for a service", + "tags" : [ "Component Certificate Management" ] }, "put" : { - "description" : "NOTE: This operation will only work for configured domains.
NOTE: while providing any certificate via this API, certificateDetails field must be populated.", - "operationId" : "updateDomainDetails", + "operationId" : "replaceVVFCertificate", "parameters" : [ { - "description" : "The identifier of the VCF integration in UUID format.", - "in" : "path", - "name" : "integrationId", - "required" : true, - "schema" : { - "type" : "string", - "format" : "uuid" - } - }, { - "description" : "The identifier of the VCF's domain in UUID format.", + "description" : "service-key for which certificates need to be collected", "in" : "path", - "name" : "domainId", + "name" : "serviceKey", "required" : true, "schema" : { - "type" : "string", - "format" : "uuid" - } - }, { - "description" : "Update the domain even if connection test fails.", - "in" : "query", - "name" : "force", - "required" : false, - "schema" : { - "type" : "boolean", - "default" : false + "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { - "example" : "{\n \"vcfDomainVcenter\" : {\n \"id\" : \"42eed7c4-5d2b-4796-a553-d8978e4d5188\",\n \"collectorId\" : \"68214245-3925-44b3-8004-72bec6d5cb47\",\n \"collectorGroupId\" : \"39948648-472a-4641-9760-ba712eb40e9e\",\n \"resourceIdentifiers\" : [ ],\n \"certificates\" : [ ],\n \"credentialInstanceId\" : \"300588fc-224d-4ef4-8a01-9b4acb245d10\",\n \"vsanConfig\" : {\n \"smartDataCollectionEnabled\" : false,\n \"enabled\" : true\n },\n \"sdmpConfig\" : {\n \"applicationDiscoveryEnabled\" : true,\n \"enabled\" : true\n },\n \"logCollectionEnabled\" : false,\n \"serviceCredentialsUsed\" : false\n },\n \"nsxtIntegration\" : {\n \"enabled\" : false,\n \"credentialId\" : \"b498c58f-7f7f-4b6f-a7a7-8071622119e7\",\n \"serviceCredentialsUsed\" : false\n }\n}", + "example" : "{\n \"ingressType\" : \"fleet\",\n \"certificateFullChain\" : \"-----BEGIN CERTIFICATE-----\\nMIIDXTCCAkWgAwIBAgIJALw6ZPPkKfpwMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV\\nBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX\\naWRnaXRzIFB0eSBMdGQwHhcNMjQwMTAxMDAwMDAwWhcNMjUwMTAxMDAwMDAwWjBF\\nMQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50\\nZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\\nCgKCAQEAw5zz5zz5zz5zz5zz5zz5zz5zz5zz5zz5zz5zz5zz5zz5zz5zz5zz5zz5\\n-----END CERTIFICATE-----\\n-----BEGIN CERTIFICATE-----\\nMIIDXTCCAkWgAwIBAgIJALw6ZPPkKfpxMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV\\nBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX\\naWRnaXRzIFB0eSBMdGQwHhcNMjQwMTAxMDAwMDAwWhcNMjUwMTAxMDAwMDAwWjBF\\n-----END CERTIFICATE-----\"\n}", "schema" : { - "$ref" : "#/components/schemas/VCFDomain" + "$ref" : "#/components/schemas/VvfCertificateReplacementSpec" } } }, - "description" : "The VCF domain update request", + "description" : "Replace certificates Request Body", "required" : true }, "responses" : { - "200" : { + "202" : { "content" : { "application/json" : { - "example" : "{\n \"vcfDomainVcenter\" : {\n \"id\" : \"c164f63c-caba-4809-a816-a034461cd45d\",\n \"name\" : \"TestVcenterIntegration\",\n \"description\" : \"vCenter adapter for test purposes\",\n \"collectorGroupId\" : \"c2899dfc-dcbd-45e1-9960-94114d371d5a\",\n \"resourceIdentifiers\" : [ {\n \"name\" : \"AUTODISCOVERY\",\n \"value\" : \"true\"\n }, {\n \"name\" : \"PROCESSCHANGEEVENTS\",\n \"value\" : \"true\"\n }, {\n \"name\" : \"VCURL\",\n \"value\" : \"VC_IP_Adress\"\n } ],\n \"certificates\" : [ ],\n \"credentialInstanceId\" : \"8c289ce0-0d9e-4957-bdee-3981fe5a3174\",\n \"vsanConfig\" : {\n \"smartDataCollectionEnabled\" : false,\n \"enabled\" : true\n },\n \"sdmpConfig\" : {\n \"applicationDiscoveryEnabled\" : true,\n \"enabled\" : true\n },\n \"logCollectionEnabled\" : false,\n \"serviceCredentialsUsed\" : false\n },\n \"nsxtIntegration\" : {\n \"url\" : \"nsxt_url\",\n \"certificates\" : [ ],\n \"enabled\" : true,\n \"id\" : \"7890904c-c9ee-4c42-b3b0-5859d38501fd\",\n \"credentialId\" : \"c1a7bfe9-2a46-4d58-9134-8058bd04d873\",\n \"serviceCredentialsUsed\" : false\n },\n \"domainName\" : \"DomainName\",\n \"domainId\" : \"9bea1e0b-9d57-4a90-8296-1c4b71106d78\",\n \"vcUrl\" : \"vc_url\",\n \"domainState\" : \"CONFIGURED\"\n}", + "example" : "{\n \"id\" : \"0ec68cbd-d8e7-3b25-b7dd-0654c12ded11\",\n \"name\" : \"REPLACE_CERTIFICATE\",\n \"status\" : \"PENDING\",\n \"creationTimestamp\" : 609314161974,\n \"lastUpdatedTimestamp\" : 609314641974,\n \"message\" : \"Replace certificate is in progress\"\n}", "schema" : { - "$ref" : "#/components/schemas/VCFDomain" + "$ref" : "#/components/schemas/VvfTaskStatusResponse" } } }, - "description" : "The updated model of VCF domain" - }, - "400" : { - "content" : { - "application/json" : { - "example" : "{\n \"type\" : \"CertificatesError\",\n \"certificates\" : [ {\n \"integrationType\" : \"VCENTER\",\n \"certificates\" : [ {\n \"thumbprint\" : \"certificate_thumbprint\",\n \"certificateDetails\" : \"certificate_details\",\n \"issuedTo\" : \"issuedTo\",\n \"issuedBy\" : \"issuedBy\",\n \"expires\" : \"expirationDate\"\n } ]\n }, {\n \"integrationType\" : \"NSXT\",\n \"certificates\" : [ {\n \"thumbprint\" : \"certificate_thumbprint\",\n \"certificateDetails\" : \"certificate_details\",\n \"issuedTo\" : \"issuedTo\",\n \"issuedBy\" : \"issuedBy\",\n \"expires\" : \"expirationDate\"\n } ]\n } ],\n \"httpStatusCode\" : 400,\n \"apiErrorCode\" : 400,\n \"message\" : \"No valid certificates were found, while testing connection. Returning provided untrusted certificates for acceptance.\"\n}", - "schema" : { - "$ref" : "#/components/schemas/OneOfErrorMessage" - } - } - }, - "description" : "If update 'VCF domain' failed. Typically the service will return extra information as to why the test failed. In case if connection testing failed due to certificates, untrusted certificates will be returned for acceptance." - }, - "404" : { - "description" : "If no VCF domain was found by provided domain id, or no VCF was found by provided VCF id", - "x-vmw-compiler-skip" : true + "description" : "The certificate replacement task" } }, - "summary" : "Update VCF domain, by provided domain model, and VCF id", - "tags" : [ "Integrations" ] + "summary" : "Replace the certificate of the given ingress component", + "tags" : [ "Component Certificate Management" ] } }, - "/api/integrations/vcf/{integrationId}/domains/{domainId}/testConnection" : { - "post" : { - "description" : "NOTE: This operation will only work for configured domains.
NOTE: while providing any certificate via this API, certificateDetails field must be populated.", - "operationId" : "testDomain", + "/api/integrations/services/certificate-management/{serviceKey}/csrs" : { + "get" : { + "operationId" : "getVVFCsrs", "parameters" : [ { - "description" : "The identifier of the VCF integration in UUID format.", + "description" : "service-key for which CSRs need to be collected", "in" : "path", - "name" : "integrationId", + "name" : "serviceKey", "required" : true, "schema" : { - "type" : "string", - "format" : "uuid" + "type" : "string" } - }, { - "description" : "The identifier of the VCF's domain in UUID format.", + } ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "example" : "{\n \"csrs\" : [ {\n \"id\" : \"generate-csr-heeiqbphil-000012\",\n \"csr\" : \"-----BEGIN CERTIFICATE REQUEST-----\\nMIIDEzCCAfsCAQAwgZoxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlh\\nMRIwEAYDVQQHDAlQYWxvIEFsdG8xDzANBgNVBAoMBlZNd2FyZTEUMBIGA1UECwwL\\nRW5naW5lZXJpbmcxGTAXBgNVBAMMEHZtc3AuZXhhbXBsZS5jb20xIDAeBgkqhkiG\\n9w0BCQEWEWFkbWluQGV4YW1wbGUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A\\nMIIBCgKCAQEAsoedrQYA2C51xD1nJODqt7NxXqxphR7YCNMlssf9UyuMaEFpj6xl\\nQW7uqcE1CVpx553tqLgu0tsXqKP35/VmLjtYXd2EOdQxFEaDcEx8qVGQUK2wnI+W\\niuHTRkr3+AU2x2rxmm29QpwNZM3Ta/qlRBxYerPNlc9Dj4fmxsBIyOo8CXdx2d52\\nAkte7vvNMGAHaIs814IamiSCocsSo1/FoOuHFursW4pW2zOEKrgtUfKx3472sAoF\\nWF81BkRte3GKkf6LLhPQAcwMzqHEinbhSU39PbcAZjH3lHf9XPnWSV8BesPD2/Py\\nzJnJPg97GQkHO+dDGJnSux1/UTvTQJ9GswIDAQABoFAwTgYJKoZIhvcNAQkOMUEw\\nPzA9BgNVHREENjA0ghB2bXNwLmV4YW1wbGUuY29tghR2bXNwLWFsdC5leGFtcGxl\\nLmNvbYcEwKgBZIcEwKgBZTANBgkqhkiG9w0BAQsFAAOCAQEAdorKogkx+K70mPwU\\n/ewoCHEGe+r46N9W217Rgq3Iq482jkSHt1b2vjB1MrfYnf/kNL4nygTqo8dpgkDj\\nE4d0LoKic1WMkDTkKj0r83Vs0K4qur4S+bpKcZfhYSJngETL220djgAfEKZoDPU9\\njb6NGslu3XYoeeDyaJPBRbTq0qYXKV7WeiblaFnyLfqhUOfWsc5zXwUkPHZamTjR\\nOal+IW/5ZP3K8hnNKMLCy8rtepGmVQ+UlcK7bvTbPH/z9uLEm81yrb+R5iAjFC/L\\no/VqNf4KgAWys5bA1Q+vPW1eLM3G2Ok2Var9kJNkmkfO799OF4X8Ep0vhI+t1R4X\\nwp/Bxw==\\n-----END CERTIFICATE REQUEST-----\"\n }, {\n \"id\" : \"generate-csr-abc123def456-000013\",\n \"csr\" : \"-----BEGIN CERTIFICATE REQUEST-----\\nMIIDDTCCAfUCAQAwgZ4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlh\\nMRIwEAYDVQQHDAlQYWxvIEFsdG8xDzANBgNVBAoMBlZNd2FyZTEUMBIGA1UECwwL\\nRW5naW5lZXJpbmcxGzAZBgNVBAMMEnZpZGIuZXhhbXBsZS5jb20xIjAgBgkqhkiG\\n9w0BCQEWE2FkbWluQHZpZGIuZXhhbXBsZS5jb20wggEiMA0GCSqGSIb3DQEBAQUA\\nA4IBDwAwggEKAoIBAQDKh52tBgDYLnXEPWck4Oq3s3FerGmFHtgI0yWyx/1TK4xo\\nQWmPrGVBbu6pwTUJWnHnne2ouC7S2xeoo/fn9WYuO1hd3YQ51DEURoNwTHypUZBQ\\nrbCcj5aK4dNGSvf4BTbHavGabb1CnA1kzdNr+qVEHFh6s82Vz0OPh+bGwEjI6jwJ\\nd3HZ3nYqS17u+80wYAdoizzXghqaJIKhyxKjX8Wg64cW6uxbilbbM4QquC1R8rHf\\njvawCgVYXzUGRG17cYqR/osuE9ABzAzOocSKduFJTf09twBmMfeUd/1c+dZJXwF6\\nw8Pb8/LMmck+D3sZCQc750MYmdK7HX9RO9NAn0azAgMBAAGgUDBOBgkqhkiG9w0B\\nCQ4xQTA/MD0GA1UdEQQ2MDSCEnZpZGIuZXhhbXBsZS5jb22CFnZpZGItYWx0LmV4\\nYW1wbGUuY29thwTAqAFkhwTAqAFlMA0GCSqGSIb3DQEBCwUAA4IBAQB2isqiCTH4\\nrvSY/BT97CgIcQZ76vjo31bbXtGCrcirjzaORIe3Vva+MHUyt9id/+Q0vifKBOqj\\nx2mCQOMTh3Qugqq5xVYwNOQqPSvzdWzQriq6vhL5ukpxl+FhImeBRMvbbR2OAB8Q\\npmgM9T2Nvo0ayW7ddih54PJok8FFtOrSphcpXtZ6JuVoWfIt+qFQ59axznNfBSQ8\\ndlqZONE5qX4hb/lk/cryGc0owsLLyu16kaZVD5SVwrtu9Ns8f/P24sSbzXKtv5Hm\\nICMUL8uj9Wo1/gqABbKzlsDVD689bV4szcbY6TVVqv2Qk2SaR8/v304XhfwSnS+E\\nj63VHhfCn8HH\\n-----END CERTIFICATE REQUEST-----\"\n } ]\n}", + "schema" : { + "$ref" : "#/components/schemas/VvfCsrs" + } + } + }, + "description" : "List of VVF CSRs" + } + }, + "summary" : "Get all Certificate Signing Requests (CSRs) for a service", + "tags" : [ "Component Certificate Management" ] + }, + "post" : { + "operationId" : "generateVVFCsr", + "parameters" : [ { + "description" : "A service key for which the CSR needs to be generated", "in" : "path", - "name" : "domainId", + "name" : "serviceKey", "required" : true, "schema" : { - "type" : "string", - "format" : "uuid" + "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { - "example" : "{\n \"vcfDomainVcenter\" : {\n \"id\" : \"42eed7c4-5d2b-4796-a553-d8978e4d5188\",\n \"collectorId\" : \"68214245-3925-44b3-8004-72bec6d5cb47\",\n \"collectorGroupId\" : \"39948648-472a-4641-9760-ba712eb40e9e\",\n \"resourceIdentifiers\" : [ ],\n \"certificates\" : [ ],\n \"credentialInstanceId\" : \"300588fc-224d-4ef4-8a01-9b4acb245d10\",\n \"vsanConfig\" : {\n \"smartDataCollectionEnabled\" : false,\n \"enabled\" : true\n },\n \"sdmpConfig\" : {\n \"applicationDiscoveryEnabled\" : true,\n \"enabled\" : true\n },\n \"logCollectionEnabled\" : false,\n \"serviceCredentialsUsed\" : false\n },\n \"nsxtIntegration\" : {\n \"enabled\" : false,\n \"credentialId\" : \"b498c58f-7f7f-4b6f-a7a7-8071622119e7\",\n \"serviceCredentialsUsed\" : false\n }\n}", + "example" : "{\n \"country\" : \"US\",\n \"email\" : \"admin@example.com\",\n \"keySize\" : \"KEY_2048\",\n \"keyAlgorithm\" : \"RSA\",\n \"locality\" : \"Palo Alto\",\n \"organization\" : \"VMware\",\n \"orgUnit\" : \"Engineering\",\n \"state\" : \"California\",\n \"commonName\" : \"vmsp.example.com\",\n \"subjectAltNames\" : {\n \"dns\" : [ \"vmsp.example.com\", \"vmsp-alt.example.com\" ],\n \"ip\" : [ \"192.168.1.100\", \"192.168.1.101\" ]\n }\n}", "schema" : { - "$ref" : "#/components/schemas/VCFDomain" + "$ref" : "#/components/schemas/GenerateCsrSpec" } } }, - "description" : "The VCF domain test request", + "description" : "The CSR specification", "required" : true }, "responses" : { "200" : { "content" : { "application/json" : { - "example" : "{\n \"vcfDomainVcenter\" : {\n \"id\" : \"c164f63c-caba-4809-a816-a034461cd45d\",\n \"name\" : \"TestVcenterIntegration\",\n \"description\" : \"vCenter adapter for test purposes\",\n \"collectorGroupId\" : \"c2899dfc-dcbd-45e1-9960-94114d371d5a\",\n \"resourceIdentifiers\" : [ {\n \"name\" : \"AUTODISCOVERY\",\n \"value\" : \"true\"\n }, {\n \"name\" : \"PROCESSCHANGEEVENTS\",\n \"value\" : \"true\"\n }, {\n \"name\" : \"VCURL\",\n \"value\" : \"VC_IP_Adress\"\n } ],\n \"certificates\" : [ ],\n \"credentialInstanceId\" : \"8c289ce0-0d9e-4957-bdee-3981fe5a3174\",\n \"vsanConfig\" : {\n \"smartDataCollectionEnabled\" : false,\n \"enabled\" : true\n },\n \"sdmpConfig\" : {\n \"applicationDiscoveryEnabled\" : true,\n \"enabled\" : true\n },\n \"logCollectionEnabled\" : false,\n \"serviceCredentialsUsed\" : false\n },\n \"nsxtIntegration\" : {\n \"url\" : \"nsxt_url\",\n \"certificates\" : [ ],\n \"enabled\" : true,\n \"id\" : \"7890904c-c9ee-4c42-b3b0-5859d38501fd\",\n \"credentialId\" : \"c1a7bfe9-2a46-4d58-9134-8058bd04d873\",\n \"serviceCredentialsUsed\" : false\n },\n \"domainName\" : \"DomainName\",\n \"domainId\" : \"9bea1e0b-9d57-4a90-8296-1c4b71106d78\",\n \"vcUrl\" : \"vc_url\",\n \"domainState\" : \"CONFIGURED\"\n}", - "schema" : { - "$ref" : "#/components/schemas/VCFDomain" - } - } - }, - "description" : "Provided update model passed the test" - }, - "400" : { - "content" : { - "application/json" : { - "example" : "{\n \"type\" : \"CertificatesError\",\n \"certificates\" : [ {\n \"integrationType\" : \"VCENTER\",\n \"certificates\" : [ {\n \"thumbprint\" : \"certificate_thumbprint\",\n \"certificateDetails\" : \"certificate_details\",\n \"issuedTo\" : \"issuedTo\",\n \"issuedBy\" : \"issuedBy\",\n \"expires\" : \"expirationDate\"\n } ]\n }, {\n \"integrationType\" : \"NSXT\",\n \"certificates\" : [ {\n \"thumbprint\" : \"certificate_thumbprint\",\n \"certificateDetails\" : \"certificate_details\",\n \"issuedTo\" : \"issuedTo\",\n \"issuedBy\" : \"issuedBy\",\n \"expires\" : \"expirationDate\"\n } ]\n } ],\n \"httpStatusCode\" : 400,\n \"apiErrorCode\" : 400,\n \"message\" : \"No valid certificates were found, while testing connection. Returning provided untrusted certificates for acceptance.\"\n}", + "example" : "{\n \"id\" : \"8d7c7092-83d7-4f50-a519-03b1636c9cd8\",\n \"name\" : \"UPDATE_VVF\",\n \"status\" : \"SUCCEEDED\",\n \"creationTimestamp\" : 12345356647777757,\n \"lastUpdatedTimestamp\" : 123453566477746637,\n \"message\" : \"Password update succeeded\"\n}", "schema" : { - "$ref" : "#/components/schemas/OneOfErrorMessage" + "$ref" : "#/components/schemas/VvfTaskStatusResponse" } } }, - "description" : "If update 'VCF domain' failed. Typically the service will return extra information as to why the test failed. In case if connection testing failed due to certificates, untrusted certificates will be returned for acceptance." - }, - "404" : { - "description" : "If no VCF domain was found by provided domain id, or no VCF was found by provided VCF id", - "x-vmw-compiler-skip" : true + "description" : "The task status response" } }, - "summary" : "Test VCF domain, by provided domain update model, VCF id and domain id", - "tags" : [ "Integrations" ] + "summary" : "Generate a Certificate Signing Request (CSR) for a service", + "tags" : [ "Component Certificate Management" ] } }, - "/api/integrations/vcf/{integrationId}/register" : { - "put" : { - "description" : "If force parameter is passed as true, in case if vcf is already registered, registration will be overwritten.\n\nNOTE: The registration of some of the VCs under the VCF may fail because of different issues, e.g. connection issue. In such cases response will be returned with http 200 status code, however the failed resources id's will be reported in the response body. Please check the status field of the response after executing this API, in order to make sure that the operation has fully succeeded.", - "operationId" : "registerVCF", + "/api/integrations/services/password-management/{serviceKey}/accounts" : { + "get" : { + "operationId" : "getVVFAccountList", "parameters" : [ { - "description" : "The identifier of the VCF integration in UUID format.", + "description" : "serviceKey for which accounts needs to be collected", "in" : "path", - "name" : "integrationId", + "name" : "serviceKey", "required" : true, "schema" : { - "type" : "string", - "format" : "uuid" - } - }, { - "description" : "Force override existing vcf management ownership", - "in" : "query", - "name" : "force", - "required" : false, - "schema" : { - "type" : "boolean", - "default" : false + "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { - "example" : "{\n \"failedVcenterIds\" : [ \"bf99e4a0-121a-4476-b761-757577214eb2\", \"9523db03-53c5-491b-be69-a99ff12cbd5a\", \"222b8b3d-a03e-4aa3-a640-aee6ba17b745\" ],\n \"status\" : \"PARTIALLY_SUCCEEDED\"\n}", + "example" : "{\n \"accounts\" : [ {\n \"username\" : \"user123\",\n \"passwordExpiry\" : 1119844280663\n } ]\n}", "schema" : { - "$ref" : "#/components/schemas/VcfRegistrationResult" + "$ref" : "#/components/schemas/VvfAccounts" } } }, - "description" : "Successfully registered vcf" + "description" : "List of password accounts" } }, - "summary" : "Register vcf with provided id", - "tags" : [ "Integrations" ] + "summary" : "get the list of accounts", + "tags" : [ "Component Password Management" ] } }, - "/api/integrations/vcf/{integrationId}/unregister" : { + "/api/integrations/services/password-management/{serviceKey}/accounts/password" : { "put" : { - "description" : "NOTE: The un-registration of some of the VCs under the VCF may fail because of different issues, e.g. connection issue. In such cases response will be returned with http 200 status code, however the failed resources id's will be reported in the response body. Please check the status field of the response after executing this API, in order to make sure that the operation has fully succeeded.", - "operationId" : "unregisterVCF", + "operationId" : "updatePasswordSystem", "parameters" : [ { - "description" : "The identifier of the VCF integration in UUID format.", + "description" : "A service key for which the system password account which needs to be updated", "in" : "path", - "name" : "integrationId", + "name" : "serviceKey", "required" : true, "schema" : { - "type" : "string", - "format" : "uuid" + "type" : "string" } } ], + "requestBody" : { + "content" : { + "application/json" : { + "example" : "{\n \"userName\" : \"testUser\",\n \"currentPassword\" : \"currentPassword\",\n \"newPassword\" : \"newPassword\"\n}", + "schema" : { + "$ref" : "#/components/schemas/VvfChangePasswordSpec" + } + } + }, + "description" : "The password query param", + "required" : true + }, "responses" : { "200" : { "content" : { "application/json" : { - "example" : "{\n \"failedVcenterIds\" : [ \"bf99e4a0-121a-4476-b761-757577214eb2\", \"9523db03-53c5-491b-be69-a99ff12cbd5a\", \"222b8b3d-a03e-4aa3-a640-aee6ba17b745\" ],\n \"status\" : \"PARTIALLY_SUCCEEDED\"\n}", + "example" : "{\n \"id\" : \"8d7c7092-83d7-4f50-a519-03b1636c9cd8\",\n \"name\" : \"UPDATE_VVF\",\n \"status\" : \"SUCCEEDED\",\n \"creationTimestamp\" : 12345356647777757,\n \"lastUpdatedTimestamp\" : 123453566477746637,\n \"message\" : \"Password update succeeded\"\n}", "schema" : { - "$ref" : "#/components/schemas/VcfRegistrationResult" + "$ref" : "#/components/schemas/VvfTaskStatusResponse" } } }, - "description" : "Successfully registered vcf" + "description" : "The task status response" } }, - "summary" : "Unregister vcf with provided id", - "tags" : [ "Integrations" ] + "summary" : "Update the password for a system account", + "tags" : [ "Component Password Management" ] } }, - "/api/logs/configuration/{logtype}" : { + "/api/integrations/services/password-management/{serviceKey}/tasks/{taskId}" : { "get" : { - "description" : "Get logs configurations of certain type", - "operationId" : "getLogConfigurationsByType", + "operationId" : "getVvfTaskStatus", "parameters" : [ { - "description" : "Log type", + "description" : "Service key for which task status needs to be retrieved", "in" : "path", - "name" : "logtype", + "name" : "serviceKey", "required" : true, "schema" : { - "type" : "string", - "enum" : [ "ANALYTICS", "COLLECTOR", "WEB", "VIEW_BRIDGE", "VCOPS_BRIDGE", "SUITEAPI" ] + "type" : "string" + } + }, { + "description" : "Task ID for which status needs to be retrieved", + "in" : "path", + "name" : "taskId", + "required" : true, + "schema" : { + "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { - "example" : "No Custom Example is Available", - "schema" : { - "$ref" : "#/components/schemas/log-configuration" - } - }, - "application/xml" : { - "example" : "No Custom Example is Available", + "example" : "{\n \"id\" : \"8d7c7092-83d7-4f50-a519-03b1636c9cd8\",\n \"name\" : \"UPDATE_VVF\",\n \"status\" : \"SUCCEEDED\",\n \"creationTimestamp\" : 12345356647777757,\n \"lastUpdatedTimestamp\" : 123453566477746637,\n \"message\" : \"Password update succeeded\"\n}", "schema" : { - "$ref" : "#/components/schemas/log-configuration" + "$ref" : "#/components/schemas/VvfTaskStatusResponse" } } }, - "description" : "The logs configurations" + "description" : "Task status response" } }, - "summary" : "Get logs configurations of certain type", - "tags" : [ "Logs Management" ] - }, - "put" : { - "description" : "Change level of the logs", - "operationId" : "createOrUpdateLogConfigurations", + "summary" : "Get the status of a task", + "tags" : [ "Component Password Management" ] + } + }, + "/api/integrations/vcenters" : { + "post" : { + "description" : "Instances are generated for not just the vCenter adapter but also for vSAN and Service Discovery adapters. If configurations for vSAN or Service Discovery are not provided, the corresponding adapters will not be created.
NOTE: while providing any certificate via this API, certificateDetails field must be populated.", + "operationId" : "createVcenterIntegration", "parameters" : [ { - "description" : "Log type", - "in" : "path", - "name" : "logtype", - "required" : true, + "description" : "Proceed with vCenter integration creation even if connection is not established", + "in" : "query", + "name" : "force", + "required" : false, "schema" : { - "type" : "string", - "enum" : [ "ANALYTICS", "COLLECTOR", "WEB", "VIEW_BRIDGE", "VCOPS_BRIDGE", "SUITEAPI" ] + "type" : "boolean", + "default" : false } }, { - "description" : "Set this flag to 'true' to add new log classes. The default value is 'false'.", + "description" : "Override existing VC management ownership", "in" : "query", - "name" : "allowAddingNewSettings", + "name" : "forceManagementOwnership", "required" : false, "schema" : { "type" : "boolean", @@ -14330,724 +14896,517 @@ "requestBody" : { "content" : { "application/json" : { - "example" : "{\n \"rootLoggerLevel\" : \"WARNING\",\n \"maxLogSize\" : 350,\n \"settings\" : [ {\n \"name\" : \"com.vmware.info.logger.name\",\n \"level\" : \"INFO\"\n }, {\n \"name\" : \"com.vmware.debug.logger.name\",\n \"level\" : \"DEBUG\"\n } ]\n}", - "schema" : { - "$ref" : "#/components/schemas/log-configuration" - } - }, - "application/xml" : { - "example" : "\n\n WARNING\n 350\n \n \n com.vmware.info.logger.name\n INFO\n \n \n com.vmware.debug.logger.name\n DEBUG\n \n \n\n", + "example" : "{\n \"name\" : \"TestVcenterIntegration\",\n \"description\" : \"vCenter adapter for test purposes\",\n \"collectorGroupId\" : \"c2899dfc-dcbd-45e1-9960-94114d371d5a\",\n \"resourceIdentifiers\" : [ {\n \"name\" : \"AUTODISCOVERY\",\n \"value\" : \"true\"\n }, {\n \"name\" : \"PROCESSCHANGEEVENTS\",\n \"value\" : \"true\"\n }, {\n \"name\" : \"VCURL\",\n \"value\" : \"VC_IP_Adress\"\n } ],\n \"certificates\" : [ {\n \"thumbprint\" : \"certificate_thumbprint\",\n \"certificateDetails\" : \"certificate_details\",\n \"issuedTo\" : \"issuedTo\",\n \"issuedBy\" : \"issuedBy\",\n \"expires\" : \"expirationDate\"\n } ],\n \"credentialInstanceId\" : \"8c289ce0-0d9e-4957-bdee-3981fe5a3174\",\n \"vsanConfig\" : {\n \"smartDataCollectionEnabled\" : false,\n \"enabled\" : true\n },\n \"sdmpConfig\" : {\n \"applicationDiscoveryEnabled\" : true,\n \"enabled\" : true\n },\n \"logCollectionEnabled\" : false,\n \"netOpsConfig\" : {\n \"collectorId\" : \"10000:901:6259444505047261960\",\n \"enabled\" : true,\n \"dvsIpfixRequest\" : {\n \"enable_all\" : true\n }\n }\n}", "schema" : { - "$ref" : "#/components/schemas/log-configuration" + "$ref" : "#/components/schemas/VcenterIntegration" } } }, - "description" : "The data for log configuration", + "description" : "The vCenter integration creation request", "required" : true }, "responses" : { - "200" : { + "201" : { "content" : { "application/json" : { - "example" : "{\n \"rootLoggerLevel\" : \"WARNING\",\n \"maxLogSize\" : 350,\n \"settings\" : [ {\n \"name\" : \"com.vmware.info.logger.name\",\n \"level\" : \"INFO\"\n }, {\n \"name\" : \"com.vmware.debug.logger.name\",\n \"level\" : \"DEBUG\"\n } ]\n}", + "example" : "{\n \"name\" : \"TestVcenterIntegration\",\n \"description\" : \"vCenter adapter for test purposes\",\n \"collectorGroupId\" : \"c2899dfc-dcbd-45e1-9960-94114d371d5a\",\n \"resourceIdentifiers\" : [ {\n \"name\" : \"AUTODISCOVERY\",\n \"value\" : \"true\"\n }, {\n \"name\" : \"PROCESSCHANGEEVENTS\",\n \"value\" : \"true\"\n }, {\n \"name\" : \"VCURL\",\n \"value\" : \"VC_IP_Adress\"\n } ],\n \"certificates\" : [ ],\n \"credentialInstanceId\" : \"8c289ce0-0d9e-4957-bdee-3981fe5a3174\",\n \"vsanConfig\" : {\n \"smartDataCollectionEnabled\" : false,\n \"enabled\" : true\n },\n \"sdmpConfig\" : {\n \"applicationDiscoveryEnabled\" : true,\n \"enabled\" : true\n },\n \"logCollectionEnabled\" : false,\n \"netOpsConfig\" : {\n \"collectorId\" : \"10000:901:6259444505047261960\",\n \"enabled\" : true,\n \"dvsIpfixRequest\" : {\n \"enable_all\" : true\n }\n }\n}", "schema" : { - "$ref" : "#/components/schemas/log-configuration" + "$ref" : "#/components/schemas/VcenterIntegration" } - }, - "application/xml" : { - "example" : "\n\n WARNING\n 350\n \n \n com.vmware.info.logger.name\n INFO\n \n \n com.vmware.debug.logger.name\n DEBUG\n \n \n\n", + } + }, + "description" : "The result model of the created vCenter integration, with vSAN and Service Discovery configs." + }, + "400" : { + "content" : { + "application/json" : { + "example" : "{\n \"type\" : \"CertificatesError\",\n \"certificates\" : [ {\n \"integrationType\" : \"VCENTER\",\n \"certificates\" : [ {\n \"thumbprint\" : \"certificate_thumbprint\",\n \"certificateDetails\" : \"certificate_details\",\n \"issuedTo\" : \"issuedTo\",\n \"issuedBy\" : \"issuedBy\",\n \"expires\" : \"expirationDate\"\n } ]\n } ],\n \"httpStatusCode\" : 400,\n \"apiErrorCode\" : 400,\n \"message\" : \"No valid certificates were found, while testing connection. Returning provided untrusted certificates for acceptance.\"\n}", "schema" : { - "$ref" : "#/components/schemas/log-configuration" + "$ref" : "#/components/schemas/OneOfErrorMessage" } } }, - "description" : "The updated data for log configuration" + "description" : "If create 'vCenter integration' failed. Typically the service will return extra information as to why the creation failed. In case if connection testing failed due to certificates, untrusted certificates will be returned for acceptance." }, - "404" : { - "description" : "Given wrong or non existing log name", + "422" : { + "description" : "If create 'vCenter integration' failed. Typically the service will return extra information as to why the creation failed.", "x-vmw-compiler-skip" : true } }, - "summary" : "Change level of the logs", - "tags" : [ "Logs Management" ] - } - }, - "/api/logs/configuration/{logtype}/settings" : { - "delete" : { - "description" : "Remove the log classes from the log type", - "operationId" : "deleteLogConfigurationSettings", + "summary" : "Create a vCenter integration, with vSAN and Service Discovery configs", + "tags" : [ "Integrations" ] + }, + "put" : { + "description" : "Instances are updated for not just the vCenter integration but also for vSAN and Service Discovery adapters. If configurations for vSAN or Service Discovery are not provided, the corresponding adapters will not be updated.
NOTE: while providing any certificate via this API, certificateDetails field must be populated.", + "operationId" : "updateVcenterIntegration", "parameters" : [ { - "description" : "Log type", - "in" : "path", - "name" : "logtype", - "required" : true, + "description" : "Proceed with vCenter integration update even if connection is not established", + "in" : "query", + "name" : "force", + "required" : false, "schema" : { - "type" : "string", - "enum" : [ "ANALYTICS", "COLLECTOR", "WEB", "VIEW_BRIDGE", "VCOPS_BRIDGE", "SUITEAPI" ] + "type" : "boolean", + "default" : false } } ], "requestBody" : { "content" : { "application/json" : { - "example" : "{\n \"values\" : [ \"com.vmware.info.logger.name\", \"com.vmware.debug.logger.name\" ]\n}", - "schema" : { - "$ref" : "#/components/schemas/str-values" - } - }, - "application/xml" : { - "example" : "\n\n com.vmware.info.logger.name\n com.vmware.debug.logger.name\n\n", + "example" : "{\n \"id\" : \"f606070e-c781-417f-80cd-7a66ba82d4bf\",\n \"name\" : \"TestVcenterIntegration\",\n \"description\" : \"vCenter adapter for test purposes\",\n \"collectorGroupId\" : \"c2899dfc-dcbd-45e1-9960-94114d371d5a\",\n \"resourceIdentifiers\" : [ {\n \"name\" : \"AUTODISCOVERY\",\n \"value\" : \"true\"\n }, {\n \"name\" : \"PROCESSCHANGEEVENTS\",\n \"value\" : \"true\"\n }, {\n \"name\" : \"VCURL\",\n \"value\" : \"VC_IP_Adress\"\n } ],\n \"certificates\" : [ ],\n \"credentialInstanceId\" : \"8c289ce0-0d9e-4957-bdee-3981fe5a3174\",\n \"vsanConfig\" : {\n \"smartDataCollectionEnabled\" : false,\n \"enabled\" : true,\n \"id\" : \"78ae1b1a-376c-4947-ab0e-9e1b5293a3c1\"\n },\n \"sdmpConfig\" : {\n \"applicationDiscoveryEnabled\" : true,\n \"enabled\" : true,\n \"id\" : \"5663c60f-70f9-41c9-a8ce-63d1b122ff69\"\n },\n \"logCollectionEnabled\" : false,\n \"netOpsConfig\" : {\n \"collectorId\" : \"10000:901:6259444505047261960\",\n \"enabled\" : true,\n \"dvsIpfixRequest\" : {\n \"enable_all\" : true\n }\n }\n}", "schema" : { - "$ref" : "#/components/schemas/str-values" + "$ref" : "#/components/schemas/VcenterIntegration" } } }, - "description" : "Log class names to remove", + "description" : "The vCenter integration update request", "required" : true }, - "responses" : { - "204" : { - "description" : "The log files are removed successfully." - }, - "400" : { - "description" : "Given wrong or non existing log name", - "x-vmw-compiler-skip" : true - } - }, - "summary" : "Remove the log classes from the log type", - "tags" : [ "Logs Management" ] - } - }, - "/api/logs/forwarding" : { - "get" : { - "description" : "Returns log forwarding configuration.", - "operationId" : "getLogForwardingConfiguration", "responses" : { "200" : { "content" : { "application/json" : { - "example" : "{\n \"enabled\" : true,\n \"entities\" : [ \"ANALYTICS\", \"COLLECTOR\", \"WEB\", \"GEMFIRE\", \"VIEW_BRIDGE\", \"VCOPS_BRIDGE\", \"SUITEAPI\", \"ADMIN_UI\", \"TOMCAT_WEBAPP\", \"CALL_STACK\" ],\n \"host\" : \"10.11.12.13\",\n \"protocol\" : \"CFAPI\",\n \"useSSL\" : false,\n \"cluster\" : \"single\"\n}", + "example" : "{\n \"id\" : \"f606070e-c781-417f-80cd-7a66ba82d4bf\",\n \"name\" : \"TestVcenterIntegration\",\n \"description\" : \"vCenter adapter for test purposes\",\n \"collectorGroupId\" : \"c2899dfc-dcbd-45e1-9960-94114d371d5a\",\n \"resourceIdentifiers\" : [ {\n \"name\" : \"AUTODISCOVERY\",\n \"value\" : \"true\"\n }, {\n \"name\" : \"PROCESSCHANGEEVENTS\",\n \"value\" : \"true\"\n }, {\n \"name\" : \"VCURL\",\n \"value\" : \"VC_IP_Adress\"\n } ],\n \"certificates\" : [ ],\n \"credentialInstanceId\" : \"8c289ce0-0d9e-4957-bdee-3981fe5a3174\",\n \"vsanConfig\" : {\n \"smartDataCollectionEnabled\" : false,\n \"enabled\" : true,\n \"id\" : \"78ae1b1a-376c-4947-ab0e-9e1b5293a3c1\"\n },\n \"sdmpConfig\" : {\n \"applicationDiscoveryEnabled\" : true,\n \"enabled\" : true,\n \"id\" : \"5663c60f-70f9-41c9-a8ce-63d1b122ff69\"\n },\n \"logCollectionEnabled\" : false,\n \"netOpsConfig\" : {\n \"collectorId\" : \"10000:901:6259444505047261960\",\n \"enabled\" : true,\n \"dvsIpfixRequest\" : {\n \"enable_all\" : true\n }\n }\n}", "schema" : { - "$ref" : "#/components/schemas/log-forwarding-configuration" + "$ref" : "#/components/schemas/VcenterIntegration" } - }, - "application/xml" : { - "example" : "\n\n true\n \n ANALYTICS\n COLLECTOR\n WEB\n GEMFIRE\n VIEW_BRIDGE\n VCOPS_BRIDGE\n SUITEAPI\n ADMIN_UI\n TOMCAT_WEBAPP\n CALL_STACK\n \n false\n\n", + } + }, + "description" : "The model of the updated vCenter integration, with vSAN, and Service Discovery configs." + }, + "400" : { + "content" : { + "application/json" : { + "example" : "{\n \"type\" : \"CertificatesError\",\n \"certificates\" : [ {\n \"integrationType\" : \"VCENTER\",\n \"certificates\" : [ {\n \"thumbprint\" : \"certificate_thumbprint\",\n \"certificateDetails\" : \"certificate_details\",\n \"issuedTo\" : \"issuedTo\",\n \"issuedBy\" : \"issuedBy\",\n \"expires\" : \"expirationDate\"\n } ]\n } ],\n \"httpStatusCode\" : 400,\n \"apiErrorCode\" : 400,\n \"message\" : \"No valid certificates were found, while testing connection. Returning provided untrusted certificates for acceptance.\"\n}", "schema" : { - "$ref" : "#/components/schemas/log-forwarding-configuration" + "$ref" : "#/components/schemas/OneOfErrorMessage" } } }, - "description" : "The log forwarding configuration data" + "description" : "If update 'vCenter integration' failed. Typically the service will return extra information as to why the update failed. In case if connection testing failed due to certificates, untrusted certificates will be returned for acceptance." + }, + "422" : { + "description" : "If update 'vCenter integration' failed. Typically the service will return extra information as to why the update failed.", + "x-vmw-compiler-skip" : true } }, - "summary" : "Get log forwarding configuration", - "tags" : [ "Logs Management" ] - }, - "put" : { - "description" : "NOTE: The \"enabled\" field should not be specified. Log forwarding will be enabled as a result of this API call. To disable log forwarding use \"/api/logforwarding/disable\" API", - "operationId" : "updateLogForwardingConfiguration", + "summary" : "Update existing vCenter integration, with vSAN and Service Discovery configs", + "tags" : [ "Integrations" ] + } + }, + "/api/integrations/vcenters/testConnection" : { + "post" : { + "description" : "In case if certificate is needed, will return untrusted certificate for acceptance in response.
NOTE: while providing any certificate via this API, certificateDetails field must be populated.", + "operationId" : "testVcenterIntegration", "requestBody" : { "content" : { "application/json" : { - "example" : "{\n \"entities\" : [ \"ANALYTICS\", \"COLLECTOR\" ],\n \"host\" : \"11.12.13.14\",\n \"protocol\" : \"CFAPI\",\n \"useSSL\" : true,\n \"cluster\" : \"SampleCluster\"\n}", - "schema" : { - "$ref" : "#/components/schemas/log-forwarding-configuration" - } - }, - "application/xml" : { - "example" : "\n\n \n ANALYTICS\n COLLECTOR\n \n true\n\n", + "example" : "{\n \"name\" : \"TestVcenterIntegration\",\n \"description\" : \"vCenter adapter for test purposes\",\n \"collectorGroupId\" : \"c2899dfc-dcbd-45e1-9960-94114d371d5a\",\n \"resourceIdentifiers\" : [ {\n \"name\" : \"AUTODISCOVERY\",\n \"value\" : \"true\"\n }, {\n \"name\" : \"PROCESSCHANGEEVENTS\",\n \"value\" : \"true\"\n }, {\n \"name\" : \"VCURL\",\n \"value\" : \"VC_IP_Adress\"\n } ],\n \"certificates\" : [ ],\n \"credentialInstanceId\" : \"8c289ce0-0d9e-4957-bdee-3981fe5a3174\",\n \"logCollectionEnabled\" : false,\n \"netOpsConfig\" : {\n \"collectorId\" : \"10000:901:6259444505047261960\",\n \"enabled\" : true,\n \"dvsIpfixRequest\" : {\n \"enable_all\" : true\n }\n }\n}", "schema" : { - "$ref" : "#/components/schemas/log-forwarding-configuration" + "$ref" : "#/components/schemas/VcenterIntegration" } } }, - "description" : "The log forwarding configuration data", + "description" : "The vCenter integration test request", "required" : true }, "responses" : { "200" : { "content" : { "application/json" : { - "example" : "{\n \"enabled\" : true,\n \"entities\" : [ \"ANALYTICS\", \"COLLECTOR\", \"WEB\", \"GEMFIRE\", \"VIEW_BRIDGE\", \"VCOPS_BRIDGE\", \"SUITEAPI\", \"ADMIN_UI\", \"TOMCAT_WEBAPP\", \"CALL_STACK\" ],\n \"host\" : \"10.11.12.13\",\n \"protocol\" : \"CFAPI\",\n \"useSSL\" : false,\n \"cluster\" : \"single\"\n}", + "example" : "{\n \"name\" : \"TestVcenterIntegration\",\n \"description\" : \"vCenter adapter for test purposes\",\n \"collectorGroupId\" : \"c2899dfc-dcbd-45e1-9960-94114d371d5a\",\n \"resourceIdentifiers\" : [ {\n \"name\" : \"AUTODISCOVERY\",\n \"value\" : \"true\"\n }, {\n \"name\" : \"PROCESSCHANGEEVENTS\",\n \"value\" : \"true\"\n }, {\n \"name\" : \"VCURL\",\n \"value\" : \"VC_IP_Adress\"\n } ],\n \"certificates\" : [ ],\n \"credentialInstanceId\" : \"8c289ce0-0d9e-4957-bdee-3981fe5a3174\",\n \"logCollectionEnabled\" : false,\n \"netOpsConfig\" : {\n \"collectorId\" : \"10000:901:6259444505047261960\",\n \"enabled\" : true,\n \"dvsIpfixRequest\" : {\n \"enable_all\" : true\n }\n }\n}", "schema" : { - "$ref" : "#/components/schemas/log-forwarding-configuration" + "$ref" : "#/components/schemas/VcenterIntegration" } - }, - "application/xml" : { - "example" : "\n\n true\n \n ANALYTICS\n COLLECTOR\n WEB\n GEMFIRE\n VIEW_BRIDGE\n VCOPS_BRIDGE\n SUITEAPI\n ADMIN_UI\n TOMCAT_WEBAPP\n CALL_STACK\n \n false\n\n", + } + }, + "description" : "Provided vCenter integration, successfully passed the test" + }, + "400" : { + "content" : { + "application/json" : { + "example" : "{\n \"type\" : \"CertificatesError\",\n \"certificates\" : [ {\n \"integrationType\" : \"VCENTER\",\n \"certificates\" : [ {\n \"thumbprint\" : \"certificate_thumbprint\",\n \"certificateDetails\" : \"certificate_details\",\n \"issuedTo\" : \"issuedTo\",\n \"issuedBy\" : \"issuedBy\",\n \"expires\" : \"expirationDate\"\n } ]\n } ],\n \"httpStatusCode\" : 400,\n \"apiErrorCode\" : 400,\n \"message\" : \"No valid certificates were found, while testing connection. Returning provided untrusted certificates for acceptance.\"\n}", "schema" : { - "$ref" : "#/components/schemas/log-forwarding-configuration" + "$ref" : "#/components/schemas/OneOfErrorMessage" } } }, - "description" : "The log forwarding configuration data" - } - }, - "summary" : "Create a new or update an existing log forwarding configuration", - "tags" : [ "Logs Management" ] - } - }, - "/api/logs/forwarding/disable" : { - "put" : { - "description" : "NOTE: While disabling, \"entities\" will be removed from the log forwarding configuration.", - "operationId" : "disableLogForwarding", - "responses" : { - "200" : { - "description" : "Log forwarding is disabled successfully" + "description" : "If test 'vCenter integration' failed. Typically the service will return extra information as to why the test failed. In case if connection testing failed due to certificates, untrusted certificates will be returned for acceptance." + }, + "422" : { + "description" : "If test 'vCenter integration' failed. Typically the service will return extra information as to why the test failed.", + "x-vmw-compiler-skip" : true } }, - "summary" : "Disable log forwarding", - "tags" : [ "Logs Management" ] + "summary" : "Test provided vCenter integration", + "tags" : [ "Integrations" ] } }, - "/api/logs/forwarding/enable" : { - "put" : { - "description" : "Enables log forwarding and sets the entities to forward the logs from.", - "operationId" : "enableLogForwarding", + "/api/integrations/vcenters/{integrationId}" : { + "delete" : { + "description" : "NOTE: Deletion is not synchronous. As a result, the delete operation may not happen immediately. It is recommended to query back the system with the identifier and ensure that the system returns a 404 error.", + "operationId" : "deleteVcenterIntegration", "parameters" : [ { - "description" : "Entities to forward the logs from", - "in" : "query", - "name" : "entity", + "description" : "UUID of integration, which need to be deleted", + "in" : "path", + "name" : "integrationId", "required" : true, "schema" : { - "type" : "array", - "items" : { - "type" : "string", - "description" : "Enumeration of the Log Entity", - "enum" : [ "ANALYTICS", "COLLECTOR", "WEB", "GEMFIRE", "VIEW_BRIDGE", "VCOPS_BRIDGE", "SUITEAPI", "ADMIN_UI", "TOMCAT_WEBAPP", "VPOSTGRES", "WATCHDOG", "UPGRADE", "CALL_STACK", "OTHER" ], - "xml" : { - "name" : "log-entity", - "namespace" : "http://webservice.vmware.com/vRealizeOpsMgr/1.0/" - } - } + "type" : "string", + "format" : "uuid" } - } ], - "responses" : { - "200" : { - "description" : "Log forwarding is enabled successfully" + }, { + "description" : "If set to true, resources discovered by this integration will be deleted as well.", + "in" : "query", + "name" : "deleteResources", + "required" : true, + "schema" : { + "type" : "boolean", + "default" : false } - }, - "summary" : "Enable log forwarding", - "tags" : [ "Logs Management" ] - } - }, - "/api/logs/queryconfigs" : { - "get" : { - "operationId" : "getAllLIQueryConfigs", - "parameters" : [ { - "description" : "Page number from which data needs to be displayed (0-based)", + }, { + "description" : "If set to true, child adapter instances will be deleted as well.", "in" : "query", - "name" : "page", + "name" : "deleteChildResources", + "required" : true, "schema" : { - "type" : "integer", - "format" : "int32", - "default" : 0 + "type" : "boolean", + "default" : false } }, { - "description" : "Expected number of entries per page", + "description" : "Force delete, particularly unregister integration ownership if owned by this Ops", "in" : "query", - "name" : "pageSize", + "name" : "force", + "required" : false, "schema" : { - "type" : "integer", - "format" : "int32", - "default" : 1000 + "type" : "boolean", + "default" : false } } ], "responses" : { - "200" : { - "content" : { - "application/json" : { - "example" : "{\n \"pageInfo\" : {\n \"totalCount\" : 1,\n \"page\" : 0,\n \"pageSize\" : 10\n },\n \"logsQueryConfigs\" : [ {\n \"id\" : \"09225bd3-6f56-4ea2-8bc3-a91a3b295b39\",\n \"name\" : \"LI Config Name\",\n \"description\" : \"LI Config Description\",\n \"queryFilters\" : {\n \"logQueryFiltersOperator\" : \"AND\",\n \"partitions\" : [ ],\n \"logQueryFilterConditions\" : [ {\n \"conditionField\" : \"485a194b-63e7-4fb1-9686-8a930989799d\",\n \"conditionValues\" : [ \"31c9b841-f966-4d78-aca1-410530e48c40\", \"9185662b-b4ab-4d09-935f-154dba463704\" ],\n \"queryFilterConditionOperatorType\" : \"CONTAINS\"\n }, {\n \"conditionField\" : \"485a194b-63e7-4fb1-9686-8a930989799d\",\n \"conditionValues\" : [ \"31c9b841-f966-4d78-aca1-410530e48c40\", \"9185662b-b4ab-4d09-935f-154dba463704\" ],\n \"queryFilterConditionOperatorType\" : \"CONTAINS\"\n } ]\n },\n \"queryText\" : [ \"text-1\", \"text-2\" ],\n \"dateRange\" : {\n \"fixedRange\" : \"LAST_7_DAYS\"\n },\n \"lastModifiedTime\" : 1753340214470,\n \"modifiedBy\" : \"admin\"\n } ]\n}", - "schema" : { - "$ref" : "#/components/schemas/LogsQueryConfigs" - } - } - }, - "description" : "All query configs" + "204" : { + "description" : "Integration with provided id, was deleted successfully" } }, - "summary" : "Get all query configs", - "tags" : [ "Logs Management" ] + "summary" : "Delete vcenter integration by provided id", + "tags" : [ "Integrations" ] }, - "post" : { - "operationId" : "createQueryConfig", - "requestBody" : { - "content" : { - "application/json" : { - "example" : "{\n \"name\" : \"LI Config Name\",\n \"description\" : \"LI Config Description\",\n \"queryFilters\" : {\n \"logQueryFiltersOperator\" : \"AND\",\n \"partitions\" : [ ],\n \"logQueryFilterConditions\" : [ {\n \"conditionField\" : \"485a194b-63e7-4fb1-9686-8a930989799d\",\n \"conditionValues\" : [ \"31c9b841-f966-4d78-aca1-410530e48c40\", \"9185662b-b4ab-4d09-935f-154dba463704\" ],\n \"queryFilterConditionOperatorType\" : \"CONTAINS\"\n }, {\n \"conditionField\" : \"485a194b-63e7-4fb1-9686-8a930989799d\",\n \"conditionValues\" : [ \"31c9b841-f966-4d78-aca1-410530e48c40\", \"9185662b-b4ab-4d09-935f-154dba463704\" ],\n \"queryFilterConditionOperatorType\" : \"CONTAINS\"\n } ]\n },\n \"queryText\" : [ \"text-1\", \"text-2\" ],\n \"dateRange\" : {\n \"fixedRange\" : \"LAST_7_DAYS\"\n }\n}", - "schema" : { - "$ref" : "#/components/schemas/LogsQueryConfig" - } - } - }, - "description" : "Logs Query Config", - "required" : true - }, + "get" : { + "operationId" : "getVcenterIntegrationById", + "parameters" : [ { + "description" : "The identifier of the vCenter integration in UUID format.", + "in" : "path", + "name" : "integrationId", + "required" : true, + "schema" : { + "type" : "string", + "format" : "uuid" + } + } ], "responses" : { - "201" : { + "200" : { "content" : { "application/json" : { - "example" : "{\n \"id\" : \"09225bd3-6f56-4ea2-8bc3-a91a3b295b39\",\n \"name\" : \"LI Config Name\",\n \"description\" : \"LI Config Description\",\n \"queryFilters\" : {\n \"logQueryFiltersOperator\" : \"AND\",\n \"partitions\" : [ ],\n \"logQueryFilterConditions\" : [ {\n \"conditionField\" : \"485a194b-63e7-4fb1-9686-8a930989799d\",\n \"conditionValues\" : [ \"31c9b841-f966-4d78-aca1-410530e48c40\", \"9185662b-b4ab-4d09-935f-154dba463704\" ],\n \"queryFilterConditionOperatorType\" : \"CONTAINS\"\n }, {\n \"conditionField\" : \"485a194b-63e7-4fb1-9686-8a930989799d\",\n \"conditionValues\" : [ \"31c9b841-f966-4d78-aca1-410530e48c40\", \"9185662b-b4ab-4d09-935f-154dba463704\" ],\n \"queryFilterConditionOperatorType\" : \"CONTAINS\"\n } ]\n },\n \"queryText\" : [ \"text-1\", \"text-2\" ],\n \"dateRange\" : {\n \"fixedRange\" : \"LAST_7_DAYS\"\n },\n \"lastModifiedTime\" : 1753340214470,\n \"modifiedBy\" : \"admin\"\n}", + "example" : "{\n \"name\" : \"TestVcenterIntegration\",\n \"description\" : \"vCenter adapter for test purposes\",\n \"collectorGroupId\" : \"c2899dfc-dcbd-45e1-9960-94114d371d5a\",\n \"resourceIdentifiers\" : [ {\n \"name\" : \"AUTODISCOVERY\",\n \"value\" : \"true\"\n }, {\n \"name\" : \"PROCESSCHANGEEVENTS\",\n \"value\" : \"true\"\n }, {\n \"name\" : \"VCURL\",\n \"value\" : \"VC_IP_Adress\"\n } ],\n \"certificates\" : [ ],\n \"credentialInstanceId\" : \"8c289ce0-0d9e-4957-bdee-3981fe5a3174\",\n \"vsanConfig\" : {\n \"smartDataCollectionEnabled\" : false,\n \"enabled\" : true\n },\n \"sdmpConfig\" : {\n \"applicationDiscoveryEnabled\" : true,\n \"enabled\" : true\n },\n \"logCollectionEnabled\" : false,\n \"netOpsConfig\" : {\n \"collectorId\" : \"10000:901:6259444505047261960\",\n \"enabled\" : true,\n \"dvsIpfixRequest\" : {\n \"enable_all\" : true\n }\n }\n}", "schema" : { - "$ref" : "#/components/schemas/LogsQueryConfig" + "$ref" : "#/components/schemas/VcenterIntegration" } } }, - "description" : "Query config is created successfully" - } - }, - "summary" : "Create query config", - "tags" : [ "Logs Management" ] - }, - "put" : { - "operationId" : "updateQueryConfig", - "requestBody" : { - "content" : { - "application/json" : { - "example" : "{\n \"name\" : \"LI Config Name\",\n \"description\" : \"LI Config Description\",\n \"queryFilters\" : {\n \"logQueryFiltersOperator\" : \"AND\",\n \"partitions\" : [ ],\n \"logQueryFilterConditions\" : [ {\n \"conditionField\" : \"485a194b-63e7-4fb1-9686-8a930989799d\",\n \"conditionValues\" : [ \"31c9b841-f966-4d78-aca1-410530e48c40\", \"9185662b-b4ab-4d09-935f-154dba463704\" ],\n \"queryFilterConditionOperatorType\" : \"CONTAINS\"\n }, {\n \"conditionField\" : \"485a194b-63e7-4fb1-9686-8a930989799d\",\n \"conditionValues\" : [ \"31c9b841-f966-4d78-aca1-410530e48c40\", \"9185662b-b4ab-4d09-935f-154dba463704\" ],\n \"queryFilterConditionOperatorType\" : \"CONTAINS\"\n } ]\n },\n \"queryText\" : [ \"text-1\", \"text-2\" ],\n \"dateRange\" : {\n \"fixedRange\" : \"LAST_7_DAYS\"\n }\n}", - "schema" : { - "$ref" : "#/components/schemas/LogsQueryConfig" - } - } + "description" : "The result model of the retrieved vCenter integration, with vSAN and Service Discovery configs." }, - "description" : "Logs Query Config", - "required" : true - }, - "responses" : { - "200" : { - "content" : { - "application/json" : { - "example" : "{\n \"id\" : \"09225bd3-6f56-4ea2-8bc3-a91a3b295b39\",\n \"name\" : \"LI Config Name\",\n \"description\" : \"LI Config Description\",\n \"queryFilters\" : {\n \"logQueryFiltersOperator\" : \"AND\",\n \"partitions\" : [ ],\n \"logQueryFilterConditions\" : [ {\n \"conditionField\" : \"485a194b-63e7-4fb1-9686-8a930989799d\",\n \"conditionValues\" : [ \"31c9b841-f966-4d78-aca1-410530e48c40\", \"9185662b-b4ab-4d09-935f-154dba463704\" ],\n \"queryFilterConditionOperatorType\" : \"CONTAINS\"\n }, {\n \"conditionField\" : \"485a194b-63e7-4fb1-9686-8a930989799d\",\n \"conditionValues\" : [ \"31c9b841-f966-4d78-aca1-410530e48c40\", \"9185662b-b4ab-4d09-935f-154dba463704\" ],\n \"queryFilterConditionOperatorType\" : \"CONTAINS\"\n } ]\n },\n \"queryText\" : [ \"text-1\", \"text-2\" ],\n \"dateRange\" : {\n \"fixedRange\" : \"LAST_7_DAYS\"\n },\n \"lastModifiedTime\" : 1753340214470,\n \"modifiedBy\" : \"admin\"\n}", - "schema" : { - "$ref" : "#/components/schemas/LogsQueryConfig" - } - } - }, - "description" : "Query config is updated successfully" + "404" : { + "description" : "If no vCenter integration with provided id where found", + "x-vmw-compiler-skip" : true } }, - "summary" : "Update query config", - "tags" : [ "Logs Management" ] + "summary" : "Get vCenter integration, with vSAN and Service Discovery configs", + "tags" : [ "Integrations" ] } }, - "/api/logs/queryconfigs/{queryConfigId}" : { - "delete" : { - "operationId" : "deleteLIQueryConfig", + "/api/integrations/vcenters/{integrationId}/register" : { + "put" : { + "description" : "If force parameter is passed as true, in case if vc is already registered, registration will be overwritten.", + "operationId" : "registerVC", "parameters" : [ { - "description" : "Identifier of Logs Query Config", + "description" : "The identifier of the vCenter integration in UUID format.", "in" : "path", - "name" : "queryConfigId", + "name" : "integrationId", "required" : true, "schema" : { - "type" : "string" - } - } ], - "responses" : { - "204" : { - "description" : "Query config is deleted successfully" - }, - "404" : { - "description" : "No such a query filter", - "x-vmw-compiler-skip" : true + "type" : "string", + "format" : "uuid" } - }, - "summary" : "Delete query config with specified id", - "tags" : [ "Logs Management" ] - }, - "get" : { - "operationId" : "getLIQueryConfig", - "parameters" : [ { - "description" : "Identifier of Logs Query Config", - "in" : "path", - "name" : "queryConfigId", - "required" : true, + }, { + "description" : "Force override existing VC management ownership", + "in" : "query", + "name" : "force", + "required" : false, "schema" : { - "type" : "string" + "type" : "boolean", + "default" : false } } ], "responses" : { "200" : { - "content" : { - "application/json" : { - "example" : "{\n \"id\" : \"09225bd3-6f56-4ea2-8bc3-a91a3b295b39\",\n \"name\" : \"LI Config Name\",\n \"description\" : \"LI Config Description\",\n \"queryFilters\" : {\n \"logQueryFiltersOperator\" : \"AND\",\n \"partitions\" : [ ],\n \"logQueryFilterConditions\" : [ {\n \"conditionField\" : \"485a194b-63e7-4fb1-9686-8a930989799d\",\n \"conditionValues\" : [ \"31c9b841-f966-4d78-aca1-410530e48c40\", \"9185662b-b4ab-4d09-935f-154dba463704\" ],\n \"queryFilterConditionOperatorType\" : \"CONTAINS\"\n }, {\n \"conditionField\" : \"485a194b-63e7-4fb1-9686-8a930989799d\",\n \"conditionValues\" : [ \"31c9b841-f966-4d78-aca1-410530e48c40\", \"9185662b-b4ab-4d09-935f-154dba463704\" ],\n \"queryFilterConditionOperatorType\" : \"CONTAINS\"\n } ]\n },\n \"queryText\" : [ \"text-1\", \"text-2\" ],\n \"dateRange\" : {\n \"fixedRange\" : \"LAST_7_DAYS\"\n },\n \"lastModifiedTime\" : 1753340214470,\n \"modifiedBy\" : \"admin\"\n}", - "schema" : { - "$ref" : "#/components/schemas/LogsQueryConfig" - } - } - }, - "description" : "Query config with specified id" + "description" : "Successfully registered vcenter" }, - "404" : { - "description" : "No such a query filter", + "400" : { + "description" : "An invalid request body was specified or any constraints were violated", "x-vmw-compiler-skip" : true } }, - "summary" : "Get query config with specified id", - "tags" : [ "Logs Management" ] + "summary" : "Register vc with provided credentials, and id", + "tags" : [ "Integrations" ] } }, - "/api/maintenanceschedules" : { - "delete" : { - "description" : "Using this method, you can delete a particular maintenance schedules", - "operationId" : "deleteMaintenanceSchedules", + "/api/integrations/vcenters/{integrationId}/unregister" : { + "put" : { + "operationId" : "unregisterVC", "parameters" : [ { - "description" : "Maintenance schedule identifiers", - "in" : "query", - "name" : "id", + "description" : "The identifier of the vCenter integration in UUID format.", + "in" : "path", + "name" : "integrationId", "required" : true, "schema" : { - "type" : "array", - "items" : { - "type" : "string", - "format" : "uuid" - } + "type" : "string", + "format" : "uuid" } } ], "responses" : { - "204" : { - "description" : "The maintenance schedules are deleted successfully" + "200" : { + "description" : "Successfully unregistered vc" } }, - "summary" : "Delete maintenance schedules with the given identifiers.", - "tags" : [ "Maintenance Schedules" ] - }, - "get" : { - "description" : "Using this method, you can get all maintenance schedules with or without specific parameters", - "operationId" : "getMaintenanceSchedules", + "summary" : "Unregister vc with provided credentials, and id", + "tags" : [ "Integrations" ] + } + }, + "/api/integrations/vcf" : { + "post" : { + "description" : "vCenter,vSAN and NSXT adapter instances will be generated, upon VCF integration creation, but service discovery is still needed to be enabled manually.
NOTE: If NSX cloud account creation fails due to service account credential creation failure, no error will be thrown. Verify the NSX cloud account after VCF integration creation.
NOTE: while providing any certificate via this API, certificateDetails field must be populated.", + "operationId" : "createVCFIntegration", "parameters" : [ { - "description" : "Maintenance schedule identifiers", - "in" : "query", - "name" : "id", - "required" : false, - "schema" : { - "type" : "array", - "items" : { - "type" : "string", - "format" : "uuid" - } - } - }, { - "description" : "Maintenance schedule names or keys", + "description" : "Override existing VCF management ownership", "in" : "query", - "name" : "name", + "name" : "forceManagementOwnership", "required" : false, "schema" : { - "type" : "array", - "items" : { - "type" : "string" - } + "type" : "boolean", + "default" : false } }, { - "description" : "List of Object identifiers", + "description" : "Create VCF even if connection test fails", "in" : "query", - "name" : "resourceId", + "name" : "force", "required" : false, "schema" : { - "type" : "array", - "items" : { - "type" : "string", - "format" : "uuid" - } - } - }, { - "description" : "Page number from which data needs to be displayed (0-based)", - "in" : "query", - "name" : "page", - "schema" : { - "type" : "integer", - "format" : "int32", - "default" : 0 - } - }, { - "description" : "Expected number of entries per page", - "in" : "query", - "name" : "pageSize", - "schema" : { - "type" : "integer", - "format" : "int32", - "default" : 1000 + "type" : "boolean", + "default" : false } } ], - "responses" : { - "200" : { - "content" : { - "application/json" : { - "example" : "{\n \"schedules\" : [ {\n \"id\" : \"f5534f68-0139-4c57-aac0-fef0005d13d3\",\n \"key\" : \"daily-ms1\",\n \"schedule\" : {\n \"hour\" : 3,\n \"minuteOfTheHour\" : 0,\n \"duration\" : 180,\n \"scheduleType\" : \"DAILY\",\n \"recurrence\" : 1,\n \"expirationDate\" : \"01/20/2050\",\n \"timeZone\" : \"Asia/Yerevan\"\n }\n }, {\n \"id\" : \"0f5d8313-079c-4c00-ae9e-cb14d5e38443\",\n \"key\" : \"monthly-ms1\",\n \"schedule\" : {\n \"hour\" : 3,\n \"minuteOfTheHour\" : 0,\n \"duration\" : 3,\n \"scheduleType\" : \"MONTHLY\",\n \"daysOfTheMonth\" : [ \"1\", \"2\" ],\n \"months\" : [ 1 ],\n \"timeZone\" : \"Asia/Yerevan\",\n \"expireRuns\" : 3\n }\n }, {\n \"id\" : \"d07b52b5-6839-4ced-8809-7e8afc527059\",\n \"key\" : \"weekly-ms1\",\n \"schedule\" : {\n \"hour\" : 15,\n \"minuteOfTheHour\" : 3,\n \"duration\" : 1,\n \"scheduleType\" : \"WEEKLY\",\n \"recurrence\" : 5,\n \"daysOfTheWeek\" : [ \"SATURDAY\", \"SUNDAY\" ],\n \"timeZone\" : \"Asia/Yerevan\",\n \"expireRuns\" : 7\n }\n } ]\n}", - "schema" : { - "$ref" : "#/components/schemas/maintenance-schedules" - } - }, - "application/xml" : { - "example" : "\n\n \n \n 3\n 0\n 180\n DAILY\n 1\n 01/20/2050\n Asia/Yerevan\n \n \n \n \n 3\n 0\n 3\n MONTHLY\n 1 2\n 1\n Asia/Yerevan\n 3\n \n \n \n \n 15\n 3\n 1\n WEEKLY\n 5\n SATURDAY SUNDAY\n Asia/Yerevan\n 7\n \n \n\n", - "schema" : { - "$ref" : "#/components/schemas/maintenance-schedules" - } - } - }, - "description" : "The Maintenance Schedules that match the criteria specified" - } - }, - "summary" : "Query for all maintenance schedules based on schedule id, schedule name and resource id", - "tags" : [ "Maintenance Schedules" ] - }, - "post" : { - "description" : "Using this method, you can create a particular maintenance schedules", - "operationId" : "createMaintenanceSchedules", "requestBody" : { "content" : { "application/json" : { - "example" : "{\n \"key\" : \"daily-ms1\",\n \"schedule\" : {\n \"hour\" : 2,\n \"minuteOfTheHour\" : 0,\n \"duration\" : 120,\n \"scheduleType\" : \"DAILY\",\n \"recurrence\" : 1,\n \"timeZone\" : \"Asia/Yerevan\",\n \"expireRuns\" : 3\n }\n}", - "schema" : { - "$ref" : "#/components/schemas/maintenance-schedule" - } - }, - "application/xml" : { - "example" : "\n\n \n 2\n 0\n 120\n DAILY\n 1\n Asia/Yerevan\n 3\n \n\n", + "example" : "{\n \"name\" : \"TestVCFIntegration\",\n \"description\" : \"VCF adapter for test purposes\",\n \"collectorGroupId\" : \"a0fdd915-34ea-485e-95fe-3149c36cf1ef\",\n \"resourceIdentifiers\" : [ {\n \"name\" : \"SDDCManager_Hostname\",\n \"value\" : \"SDDC_manager_hostname\"\n }, {\n \"name\" : \"vcf_config_limits_file_name\",\n \"value\" : \"file_name\"\n }, {\n \"name\" : \"DomainMonitoringOnCreation\",\n \"value\" : \"false\"\n } ],\n \"certificates\" : [ {\n \"thumbprint\" : \"certificate_thumbprint\",\n \"certificateDetails\" : \"certificate_details\",\n \"issuedTo\" : \"issuedTo\",\n \"issuedBy\" : \"issuedBy\",\n \"expires\" : \"expirationDate\"\n } ],\n \"credentialInstanceId\" : \"8a5b0218-edcb-4663-8e30-cd62b1aca527\",\n \"serviceCredentialsUsed\" : false\n}", "schema" : { - "$ref" : "#/components/schemas/maintenance-schedule" + "$ref" : "#/components/schemas/VCFIntegration" } } }, - "description" : "The maintenance schedule to be created", + "description" : "The VCF integration creation request", "required" : true }, "responses" : { "201" : { "content" : { "application/json" : { - "example" : "No Custom Example is Available", - "schema" : { - "$ref" : "#/components/schemas/maintenance-schedule" - } - }, - "application/xml" : { - "example" : "No Custom Example is Available", + "example" : "{\n \"name\" : \"TestVCFIntegration\",\n \"description\" : \"VCF adapter for test purposes\",\n \"collectorGroupId\" : \"a0fdd915-34ea-485e-95fe-3149c36cf1ef\",\n \"resourceIdentifiers\" : [ {\n \"name\" : \"SDDCManager_Hostname\",\n \"value\" : \"SDDC_manager_hostname\"\n }, {\n \"name\" : \"vcf_config_limits_file_name\",\n \"value\" : \"file_name\"\n }, {\n \"name\" : \"DomainMonitoringOnCreation\",\n \"value\" : \"false\"\n } ],\n \"certificates\" : [ ],\n \"credentialInstanceId\" : \"8a5b0218-edcb-4663-8e30-cd62b1aca527\",\n \"serviceCredentialsUsed\" : false\n}", "schema" : { - "$ref" : "#/components/schemas/maintenance-schedule" + "$ref" : "#/components/schemas/VCFIntegration" } } }, - "description" : "The maintenance schedule created" + "description" : "The result model of the created VCF integration." }, "400" : { - "description" : "Invalid request parameters or request body", - "x-vmw-compiler-skip" : true + "content" : { + "application/json" : { + "example" : "{\n \"type\" : \"CertificatesError\",\n \"certificates\" : [ {\n \"integrationType\" : \"VCENTER\",\n \"certificates\" : [ {\n \"thumbprint\" : \"certificate_thumbprint\",\n \"certificateDetails\" : \"certificate_details\",\n \"issuedTo\" : \"issuedTo\",\n \"issuedBy\" : \"issuedBy\",\n \"expires\" : \"expirationDate\"\n } ]\n } ],\n \"httpStatusCode\" : 400,\n \"apiErrorCode\" : 400,\n \"message\" : \"No valid certificates were found, while testing connection. Returning provided untrusted certificates for acceptance.\"\n}", + "schema" : { + "$ref" : "#/components/schemas/OneOfErrorMessage" + } + } + }, + "description" : "If create 'VCF integration' failed. Typically the service will return extra information as to why the creation failed. In case if connection testing failed due to certificates, untrusted certificates will be returned for acceptance." }, "422" : { - "description" : "A maintenance schedule with the same key already exists", + "description" : "If create 'VCF integration' failed. Typically the service will return extra information as to why the creation failed.", "x-vmw-compiler-skip" : true } }, - "summary" : "Create a maintenance schedule", - "tags" : [ "Maintenance Schedules" ] + "summary" : "Create VCF integration with provided parameters. vCenter,vSAN and NSXT adapters for domains, will be created and configured automatically", + "tags" : [ "Integrations" ] }, "put" : { - "description" : "Using this method, you can update a particular maintenance schedules", - "operationId" : "updateMaintenanceSchedules", - "requestBody" : { - "content" : { - "application/json" : { - "example" : "No Custom Example is Available", - "schema" : { - "$ref" : "#/components/schemas/maintenance-schedule" - } - }, - "application/xml" : { - "example" : "No Custom Example is Available", - "schema" : { - "$ref" : "#/components/schemas/maintenance-schedule" - } - } - }, - "description" : "The maintenance schedules to be updated", - "required" : true - }, - "responses" : { - "200" : { - "description" : "The maintenance schedule was updated successfully" - }, - "404" : { - "description" : "The maintenance schedule does not exist", - "x-vmw-compiler-skip" : true - } - }, - "summary" : "Update an existing maintenance schedules", - "tags" : [ "Maintenance Schedules" ] - } - }, - "/api/notifications/rules" : { - "get" : { - "description" : "Get all the Notification Rules defined in the system", - "operationId" : "getAllNotificationRules", + "description" : "NOTE: while providing any certificate via this API, certificateDetails field must be populated.", + "operationId" : "updateVCFIntegration", "parameters" : [ { - "description" : "Page number from which data needs to be displayed (0-based)", - "in" : "query", - "name" : "page", - "schema" : { - "type" : "integer", - "format" : "int32", - "default" : 0 - } - }, { - "description" : "Expected number of entries per page", + "description" : "Update VCF even if connection test fails", "in" : "query", - "name" : "pageSize", + "name" : "force", + "required" : false, "schema" : { - "type" : "integer", - "format" : "int32", - "default" : 1000 + "type" : "boolean", + "default" : false } } ], - "responses" : { - "200" : { - "content" : { - "application/json" : { - "example" : "{\n \"rules\" : [ {\n \"id\" : \"493b1a14-ad34-4f0a-a2b4-97c99eb4bc75\",\n \"name\" : \"Notification Rule 1\",\n \"pluginId\" : \"Some Notification Plugin Instance ID\",\n \"enabled\" : true,\n \"templateId\" : \"Some Payload Template ID\",\n \"alertControlStates\" : [ \"OPEN\", \"ASSIGNED\" ],\n \"alertStatuses\" : [ \"NEW\", \"ACTIVE\" ],\n \"criticalities\" : [ \"CRITICAL\", \"IMMEDIATE\" ],\n \"resourceKindFilter\" : {\n \"resourceKind\" : \"Datastore\",\n \"adapterKind\" : \"VMWARE\"\n },\n \"resourceKindFilters\" : [ ],\n \"resourceFilters\" : [ ],\n \"alertTypeFilters\" : [ ],\n \"alertDefinitionIdFilters\" : {\n \"values\" : [ \"VMWARE-Datastore-NotEnoughIOPS\" ]\n },\n \"sendHeartbeat\" : false,\n \"properties\" : [ ],\n \"ruleType\" : \"ALERT\",\n \"actionStatuses\" : [ ]\n }, {\n \"id\" : \"33b88a50-7bf1-4c9b-b1c7-b2338eae6555\",\n \"name\" : \"Notification Rule 2\",\n \"pluginId\" : \"Some Other Notification Plugin Instance ID\",\n \"enabled\" : false,\n \"templateId\" : \"Some Other Payload Template ID\",\n \"alertControlStates\" : [ \"SUPPRESSED\", \"SUSPENDED\" ],\n \"alertStatuses\" : [ \"CANCELED\", \"UPDATED\" ],\n \"criticalities\" : [ \"WARNING\", \"INFORMATION\" ],\n \"resourceKindFilters\" : [ ],\n \"resourceFilters\" : [ {\n \"resourceId\" : \"4d34be74-cd9f-42c9-8502-3487b7950dd1\",\n \"childrenResourceKindFilters\" : [ ],\n \"childrenResourceKindKeyFilters\" : [ ]\n } ],\n \"alertTypeFilters\" : [ ],\n \"alertImpactFilters\" : {\n \"values\" : [ \"HEALTH\", \"RISK\" ]\n },\n \"sendHeartbeat\" : true,\n \"properties\" : [ ],\n \"ruleType\" : \"ALERT\",\n \"actionStatuses\" : [ ]\n } ]\n}", - "schema" : { - "$ref" : "#/components/schemas/notification-rules" - } - }, - "application/xml" : { - "example" : "\n\n \n Notification Rule 1\n Some Notification Plugin Instance ID\n true\n Some Payload Template ID\n OPEN ASSIGNED\n NEW ACTIVE\n CRITICAL IMMEDIATE\n \n Datastore\n VMWARE\n \n \n \n \n VMWARE-Datastore-NotEnoughIOPS\n \n false\n \n \n \n Notification Rule 2\n Some Other Notification Plugin Instance ID\n false\n Some Other Payload Template ID\n SUPPRESSED SUSPENDED\n CANCELED UPDATED\n WARNING INFORMATION\n \n \n \n \n \n HEALTH\n RISK\n \n true\n \n \n\n", - "schema" : { - "$ref" : "#/components/schemas/notification-rules" - } - } - }, - "description" : "All the Notification Rules defined in the system" - } - }, - "summary" : "Get all the Notification Rules defined in the system", - "tags" : [ "Notifications" ] - }, - "post" : { - "description" : "The Notification Plugin with which the Rule needs to be associated must be specified as part of the request.", - "operationId" : "createNotificationPluginRule", "requestBody" : { "content" : { "application/json" : { - "example" : "{\n \"name\" : \"Notification Rule 1\",\n \"pluginId\" : \"Some Notification Plugin Instance ID\",\n \"enabled\" : true,\n \"templateId\" : \"Some Payload Template ID\",\n \"alertControlStates\" : [ \"OPEN\", \"ASSIGNED\" ],\n \"alertStatuses\" : [ \"NEW\", \"ACTIVE\" ],\n \"criticalities\" : [ \"CRITICAL\", \"IMMEDIATE\" ],\n \"resourceKindFilter\" : {\n \"resourceKind\" : \"Datastore\",\n \"adapterKind\" : \"VMWARE\"\n },\n \"resourceKindFilters\" : [ ],\n \"resourceFilters\" : [ ],\n \"alertTypeFilters\" : [ ],\n \"alertDefinitionIdFilters\" : {\n \"values\" : [ \"VMWARE-Datastore-NotEnoughIOPS\" ]\n },\n \"sendHeartbeat\" : false,\n \"properties\" : [ ],\n \"ruleType\" : \"ALERT\",\n \"actionStatuses\" : [ ]\n}", - "schema" : { - "$ref" : "#/components/schemas/notification-rule" - } - }, - "application/xml" : { - "example" : "\n\n Notification Rule 1\n Some Notification Plugin Instance ID\n true\n Some Payload Template ID\n OPEN ASSIGNED\n NEW ACTIVE\n CRITICAL IMMEDIATE\n \n Datastore\n VMWARE\n \n \n \n \n VMWARE-Datastore-NotEnoughIOPS\n \n false\n \n\n", + "example" : "{\n \"id\" : \"afa3f229-b41b-43f2-934b-87f20a66fa26\",\n \"name\" : \"TestVCFIntegration\",\n \"description\" : \"VCF adapter for test purposes\",\n \"collectorGroupId\" : \"a0fdd915-34ea-485e-95fe-3149c36cf1ef\",\n \"resourceIdentifiers\" : [ {\n \"name\" : \"SDDCManager_Hostname\",\n \"value\" : \"SDDC_manager_hostname\"\n }, {\n \"name\" : \"vcf_config_limits_file_name\",\n \"value\" : \"file_name\"\n }, {\n \"name\" : \"DomainMonitoringOnCreation\",\n \"value\" : \"false\"\n } ],\n \"certificates\" : [ ],\n \"credentialInstanceId\" : \"8a5b0218-edcb-4663-8e30-cd62b1aca527\",\n \"serviceCredentialsUsed\" : false\n}", "schema" : { - "$ref" : "#/components/schemas/notification-rule" + "$ref" : "#/components/schemas/VCFIntegration" } } }, - "description" : "The notification rule that needs to be created", + "description" : "The VCF integration update request", "required" : true }, "responses" : { - "201" : { + "200" : { "content" : { "application/json" : { - "example" : "{\n \"id\" : \"493b1a14-ad34-4f0a-a2b4-97c99eb4bc75\",\n \"name\" : \"Notification Rule 1\",\n \"pluginId\" : \"Some Notification Plugin Instance ID\",\n \"enabled\" : true,\n \"templateId\" : \"Some Payload Template ID\",\n \"alertControlStates\" : [ \"OPEN\", \"ASSIGNED\" ],\n \"alertStatuses\" : [ \"NEW\", \"ACTIVE\" ],\n \"criticalities\" : [ \"CRITICAL\", \"IMMEDIATE\" ],\n \"resourceKindFilter\" : {\n \"resourceKind\" : \"Datastore\",\n \"adapterKind\" : \"VMWARE\"\n },\n \"resourceKindFilters\" : [ ],\n \"resourceFilters\" : [ ],\n \"alertTypeFilters\" : [ ],\n \"alertDefinitionIdFilters\" : {\n \"values\" : [ \"VMWARE-Datastore-NotEnoughIOPS\" ]\n },\n \"sendHeartbeat\" : false,\n \"properties\" : [ ],\n \"ruleType\" : \"ALERT\",\n \"actionStatuses\" : [ ]\n}", + "example" : "{\n \"id\" : \"afa3f229-b41b-43f2-934b-87f20a66fa26\",\n \"name\" : \"TestVCFIntegration\",\n \"description\" : \"VCF adapter for test purposes\",\n \"collectorGroupId\" : \"a0fdd915-34ea-485e-95fe-3149c36cf1ef\",\n \"resourceIdentifiers\" : [ {\n \"name\" : \"SDDCManager_Hostname\",\n \"value\" : \"SDDC_manager_hostname\"\n }, {\n \"name\" : \"vcf_config_limits_file_name\",\n \"value\" : \"file_name\"\n }, {\n \"name\" : \"DomainMonitoringOnCreation\",\n \"value\" : \"false\"\n } ],\n \"certificates\" : [ ],\n \"credentialInstanceId\" : \"8a5b0218-edcb-4663-8e30-cd62b1aca527\",\n \"serviceCredentialsUsed\" : false\n}", "schema" : { - "$ref" : "#/components/schemas/notification-rule" + "$ref" : "#/components/schemas/VCFIntegration" } - }, - "application/xml" : { - "example" : "\n\n Notification Rule 1\n Some Notification Plugin Instance ID\n true\n Some Payload Template ID\n OPEN ASSIGNED\n NEW ACTIVE\n CRITICAL IMMEDIATE\n \n Datastore\n VMWARE\n \n \n \n \n VMWARE-Datastore-NotEnoughIOPS\n \n false\n \n\n", + } + }, + "description" : "The model of the updated VCF integration." + }, + "400" : { + "content" : { + "application/json" : { + "example" : "{\n \"type\" : \"CertificatesError\",\n \"certificates\" : [ {\n \"integrationType\" : \"VCENTER\",\n \"certificates\" : [ {\n \"thumbprint\" : \"certificate_thumbprint\",\n \"certificateDetails\" : \"certificate_details\",\n \"issuedTo\" : \"issuedTo\",\n \"issuedBy\" : \"issuedBy\",\n \"expires\" : \"expirationDate\"\n } ]\n } ],\n \"httpStatusCode\" : 400,\n \"apiErrorCode\" : 400,\n \"message\" : \"No valid certificates were found, while testing connection. Returning provided untrusted certificates for acceptance.\"\n}", "schema" : { - "$ref" : "#/components/schemas/notification-rule" + "$ref" : "#/components/schemas/OneOfErrorMessage" } } }, - "description" : "The Notification Rule was created successfully in the system" - }, - "404" : { - "description" : "An invalid Alert Definition identifier was specified as part of Alert Definition Filter", - "x-vmw-compiler-skip" : true + "description" : "If update 'VCF integration' failed. Typically the service will return extra information as to why the update failed. In case if connection testing failed due to certificates, untrusted certificates will be returned for acceptance." }, "422" : { - "description" : "An invalid request body was specified or any constraints were violated", + "description" : "If update 'VCF integration' failed. Typically the service will return extra information as to why the update failed.", "x-vmw-compiler-skip" : true } }, - "summary" : "Create a new Notification Rule for a Notification Plugin Instance", - "tags" : [ "Notifications" ] - }, - "put" : { - "description" : "Update a specific Notification Rule for a Notification Plugin Instance", - "operationId" : "updateNotificationPluginRule", + "summary" : "Update existing VCF integration with provided parameters", + "tags" : [ "Integrations" ] + } + }, + "/api/integrations/vcf/testConnection" : { + "post" : { + "description" : "In case if certificate is needed, will return untrusted certificate for acceptance in response.
NOTE: while providing any certificate via this API, certificateDetails field must be populated.", + "operationId" : "testVCFIntegration", "requestBody" : { "content" : { "application/json" : { - "example" : "{\n \"id\" : \"493b1a14-ad34-4f0a-a2b4-97c99eb4bc75\",\n \"name\" : \"Notification Rule 1\",\n \"pluginId\" : \"Some Notification Plugin Instance ID\",\n \"enabled\" : true,\n \"templateId\" : \"Some Payload Template ID\",\n \"alertControlStates\" : [ \"OPEN\", \"ASSIGNED\" ],\n \"alertStatuses\" : [ \"NEW\", \"ACTIVE\" ],\n \"criticalities\" : [ \"CRITICAL\", \"IMMEDIATE\" ],\n \"resourceKindFilter\" : {\n \"resourceKind\" : \"Datastore\",\n \"adapterKind\" : \"VMWARE\"\n },\n \"resourceKindFilters\" : [ ],\n \"resourceFilters\" : [ ],\n \"alertTypeFilters\" : [ ],\n \"alertDefinitionIdFilters\" : {\n \"values\" : [ \"VMWARE-Datastore-NotEnoughIOPS\" ]\n },\n \"sendHeartbeat\" : false,\n \"properties\" : [ ],\n \"ruleType\" : \"ALERT\",\n \"actionStatuses\" : [ ]\n}", - "schema" : { - "$ref" : "#/components/schemas/notification-rule" - } - }, - "application/xml" : { - "example" : "\n\n Notification Rule 1\n Some Notification Plugin Instance ID\n true\n Some Payload Template ID\n OPEN ASSIGNED\n NEW ACTIVE\n CRITICAL IMMEDIATE\n \n Datastore\n VMWARE\n \n \n \n \n VMWARE-Datastore-NotEnoughIOPS\n \n false\n \n\n", + "example" : "{\n \"name\" : \"TestVCFIntegration\",\n \"description\" : \"VCF adapter for test purposes\",\n \"collectorGroupId\" : \"a0fdd915-34ea-485e-95fe-3149c36cf1ef\",\n \"resourceIdentifiers\" : [ {\n \"name\" : \"SDDCManager_Hostname\",\n \"value\" : \"SDDC_manager_hostname\"\n }, {\n \"name\" : \"vcf_config_limits_file_name\",\n \"value\" : \"file_name\"\n }, {\n \"name\" : \"DomainMonitoringOnCreation\",\n \"value\" : \"false\"\n } ],\n \"certificates\" : [ ],\n \"credentialInstanceId\" : \"8a5b0218-edcb-4663-8e30-cd62b1aca527\",\n \"serviceCredentialsUsed\" : false\n}", "schema" : { - "$ref" : "#/components/schemas/notification-rule" + "$ref" : "#/components/schemas/VCFIntegration" } } }, - "description" : "The notification rule that needs to be updated", + "description" : "The VCF integration test request", "required" : true }, "responses" : { "200" : { "content" : { "application/json" : { - "example" : "{\n \"id\" : \"493b1a14-ad34-4f0a-a2b4-97c99eb4bc75\",\n \"name\" : \"Notification Rule 1\",\n \"pluginId\" : \"Some Notification Plugin Instance ID\",\n \"enabled\" : true,\n \"templateId\" : \"Some Payload Template ID\",\n \"alertControlStates\" : [ \"OPEN\", \"ASSIGNED\" ],\n \"alertStatuses\" : [ \"NEW\", \"ACTIVE\" ],\n \"criticalities\" : [ \"CRITICAL\", \"IMMEDIATE\" ],\n \"resourceKindFilter\" : {\n \"resourceKind\" : \"Datastore\",\n \"adapterKind\" : \"VMWARE\"\n },\n \"resourceKindFilters\" : [ ],\n \"resourceFilters\" : [ ],\n \"alertTypeFilters\" : [ ],\n \"alertDefinitionIdFilters\" : {\n \"values\" : [ \"VMWARE-Datastore-NotEnoughIOPS\" ]\n },\n \"sendHeartbeat\" : false,\n \"properties\" : [ ],\n \"ruleType\" : \"ALERT\",\n \"actionStatuses\" : [ ]\n}", + "example" : "{\n \"name\" : \"TestVCFIntegration\",\n \"description\" : \"VCF adapter for test purposes\",\n \"collectorGroupId\" : \"a0fdd915-34ea-485e-95fe-3149c36cf1ef\",\n \"resourceIdentifiers\" : [ {\n \"name\" : \"SDDCManager_Hostname\",\n \"value\" : \"SDDC_manager_hostname\"\n }, {\n \"name\" : \"vcf_config_limits_file_name\",\n \"value\" : \"file_name\"\n }, {\n \"name\" : \"DomainMonitoringOnCreation\",\n \"value\" : \"false\"\n } ],\n \"certificates\" : [ ],\n \"credentialInstanceId\" : \"8a5b0218-edcb-4663-8e30-cd62b1aca527\",\n \"serviceCredentialsUsed\" : false\n}", "schema" : { - "$ref" : "#/components/schemas/notification-rule" + "$ref" : "#/components/schemas/VCFIntegration" } - }, - "application/xml" : { - "example" : "\n\n Notification Rule 1\n Some Notification Plugin Instance ID\n true\n Some Payload Template ID\n OPEN ASSIGNED\n NEW ACTIVE\n CRITICAL IMMEDIATE\n \n Datastore\n VMWARE\n \n \n \n \n VMWARE-Datastore-NotEnoughIOPS\n \n false\n \n\n", + } + }, + "description" : "Provided VCF integration, successfully passed the test" + }, + "400" : { + "content" : { + "application/json" : { + "example" : "{\n \"type\" : \"CertificatesError\",\n \"certificates\" : [ {\n \"integrationType\" : \"VCENTER\",\n \"certificates\" : [ {\n \"thumbprint\" : \"certificate_thumbprint\",\n \"certificateDetails\" : \"certificate_details\",\n \"issuedTo\" : \"issuedTo\",\n \"issuedBy\" : \"issuedBy\",\n \"expires\" : \"expirationDate\"\n } ]\n } ],\n \"httpStatusCode\" : 400,\n \"apiErrorCode\" : 400,\n \"message\" : \"No valid certificates were found, while testing connection. Returning provided untrusted certificates for acceptance.\"\n}", "schema" : { - "$ref" : "#/components/schemas/notification-rule" + "$ref" : "#/components/schemas/OneOfErrorMessage" } } }, - "description" : "The Notification Rule was updated successfully in the system" + "description" : "If test 'VCF integration' failed. Typically the service will return extra information as to why the test failed. In case if connection testing failed due to certificates, untrusted certificates will be returned for acceptance." }, "422" : { - "description" : "An invalid request body was specified or any constraints were violated", + "description" : "If test 'vCenter integration' failed. Typically the service will return extra information as to why the test failed.", "x-vmw-compiler-skip" : true } }, - "summary" : "Update a specific Notification Rule for a Notification Plugin Instance", - "tags" : [ "Notifications" ] + "summary" : "Test provided VCF integration", + "tags" : [ "Integrations" ] } }, - "/api/notifications/rules/{id}" : { + "/api/integrations/vcf/{integrationId}" : { "delete" : { - "description" : "Using this method, you can delete a particular notification plugin rule", - "operationId" : "deleteNotificationPluginRules", + "description" : "NOTE: Deletion is not synchronous. As a result, the delete operation may not happen immediately. It is recommended to query back the system with the identifier and ensure that the system returns a 404 error.", + "operationId" : "deleteVcfIntegration", "parameters" : [ { - "description" : "The Notification Rule Identifier", + "description" : "UUID of integration, which need to be deleted", "in" : "path", - "name" : "id", + "name" : "integrationId", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } + }, { + "description" : "If set to true, resources discovered by this integration will be deleted as well.", + "in" : "query", + "name" : "deleteResources", + "required" : true, + "schema" : { + "type" : "boolean", + "default" : false + } + }, { + "description" : "If set to true, child domains and adapter instances will be deleted as well.", + "in" : "query", + "name" : "deleteChildResources", + "required" : true, + "schema" : { + "type" : "boolean", + "default" : false + } + }, { + "description" : "Force delete, particularly unregister integration ownership if owned by this Ops", + "in" : "query", + "name" : "force", + "required" : false, + "schema" : { + "type" : "boolean", + "default" : false + } } ], "responses" : { "204" : { - "description" : "The notification plugin rules are deleted successfully" + "description" : "Integration with provided id, was deleted successfully" } }, - "summary" : "Delete a specific existing Notification Rule associated with a Notification Plugin Instance", - "tags" : [ "Notifications" ] + "summary" : "Delete integration by provided id", + "tags" : [ "Integrations" ] }, "get" : { - "description" : "Get the Notification Rule for the specified identifier", - "operationId" : "getNotificationRule", + "operationId" : "getVCFIntegrationById", "parameters" : [ { - "description" : "The Identifier of the notification rule", + "description" : "The identifier of the VCF integration in UUID format.", "in" : "path", - "name" : "id", + "name" : "integrationId", "required" : true, "schema" : { "type" : "string", @@ -15058,458 +15417,626 @@ "200" : { "content" : { "application/json" : { - "example" : "{\n \"id\" : \"493b1a14-ad34-4f0a-a2b4-97c99eb4bc75\",\n \"name\" : \"Notification Rule 1\",\n \"pluginId\" : \"Some Notification Plugin Instance ID\",\n \"enabled\" : true,\n \"templateId\" : \"Some Payload Template ID\",\n \"alertControlStates\" : [ \"OPEN\", \"ASSIGNED\" ],\n \"alertStatuses\" : [ \"NEW\", \"ACTIVE\" ],\n \"criticalities\" : [ \"CRITICAL\", \"IMMEDIATE\" ],\n \"resourceKindFilter\" : {\n \"resourceKind\" : \"Datastore\",\n \"adapterKind\" : \"VMWARE\"\n },\n \"resourceKindFilters\" : [ ],\n \"resourceFilters\" : [ ],\n \"alertTypeFilters\" : [ ],\n \"alertDefinitionIdFilters\" : {\n \"values\" : [ \"VMWARE-Datastore-NotEnoughIOPS\" ]\n },\n \"sendHeartbeat\" : false,\n \"properties\" : [ ],\n \"ruleType\" : \"ALERT\",\n \"actionStatuses\" : [ ]\n}", - "schema" : { - "$ref" : "#/components/schemas/notification-rule" - } - }, - "application/xml" : { - "example" : "\n\n Notification Rule 1\n Some Notification Plugin Instance ID\n true\n Some Payload Template ID\n OPEN ASSIGNED\n NEW ACTIVE\n CRITICAL IMMEDIATE\n \n Datastore\n VMWARE\n \n \n \n \n VMWARE-Datastore-NotEnoughIOPS\n \n false\n \n\n", + "example" : "{\n \"name\" : \"TestVCFIntegration\",\n \"description\" : \"VCF adapter for test purposes\",\n \"collectorGroupId\" : \"a0fdd915-34ea-485e-95fe-3149c36cf1ef\",\n \"resourceIdentifiers\" : [ {\n \"name\" : \"SDDCManager_Hostname\",\n \"value\" : \"SDDC_manager_hostname\"\n }, {\n \"name\" : \"vcf_config_limits_file_name\",\n \"value\" : \"file_name\"\n }, {\n \"name\" : \"DomainMonitoringOnCreation\",\n \"value\" : \"false\"\n } ],\n \"certificates\" : [ ],\n \"credentialInstanceId\" : \"8a5b0218-edcb-4663-8e30-cd62b1aca527\",\n \"serviceCredentialsUsed\" : false\n}", "schema" : { - "$ref" : "#/components/schemas/notification-rule" + "$ref" : "#/components/schemas/VCFIntegration" } } }, - "description" : "The Notification Rule for the specified identifier" + "description" : "The result model of the retrieved VCF integration." }, "404" : { - "description" : "There is no Notification Rule for the specified identifier", + "description" : "If no VCF integration with provided id were found", "x-vmw-compiler-skip" : true } }, - "summary" : "Get the Notification Rule for the specified identifier", - "tags" : [ "Notifications" ] + "summary" : "Get VCF integration, by specified id", + "tags" : [ "Integrations" ] } }, - "/api/notifications/templates" : { + "/api/integrations/vcf/{integrationId}/domains" : { "get" : { - "description" : "If the search criteria is not satisfied, the API will return all Notification Templates", - "operationId" : "getNotificationTemplates", + "operationId" : "getDomainSummary", "parameters" : [ { - "description" : "Template name to search for", - "in" : "query", - "name" : "name", - "required" : false, + "description" : "The identifier of the VCF integration in UUID format.", + "in" : "path", + "name" : "integrationId", + "required" : true, "schema" : { "type" : "string", - "description" : "Template name to search for" + "format" : "uuid" } - }, { - "description" : "Template description to search for", - "in" : "query", - "name" : "description", - "required" : false, + } ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "example" : "{\n \"configuredDomains\" : [ ],\n \"notConfiguredDomains\" : [ ],\n \"removedDomains\" : [ ]\n}", + "schema" : { + "$ref" : "#/components/schemas/VCFDomainSummaries" + } + } + }, + "description" : "The result model of VCF domains summary" + }, + "404" : { + "description" : "If no VCF was found by provided id", + "x-vmw-compiler-skip" : true + } + }, + "summary" : "Get all VCF domains summary for VCF by provided id", + "tags" : [ "Integrations" ] + } + }, + "/api/integrations/vcf/{integrationId}/domains/{domainId}" : { + "delete" : { + "description" : "NOTE: Deletion is not synchronous. As a result, the delete operation may not happen immediately. It is recommended to query back the system with the identifier and ensure that the system returns a 404 error.", + "operationId" : "deleteVcfDomain", + "parameters" : [ { + "description" : "The identifier of integration, domain of which need to be deleted, in UUID format", + "in" : "path", + "name" : "integrationId", + "required" : true, "schema" : { "type" : "string", - "description" : "Template description to search for" + "format" : "uuid" } }, { - "description" : "Attached outbound method of template to search for", - "in" : "query", - "name" : "outboundMethod", - "required" : false, + "description" : "The identifier of the VCF's domain in UUID format.", + "in" : "path", + "name" : "domainId", + "required" : true, "schema" : { "type" : "string", - "description" : "Attached outbound method of template to search for" + "format" : "uuid" } }, { - "description" : "Template modified user name to search for", + "description" : "If set to true, resources discovered by this domain will be deleted as well.", "in" : "query", - "name" : "modifiedBy", - "required" : false, + "name" : "deleteResources", + "required" : true, "schema" : { - "type" : "string", - "description" : "Template modified user name to search for" + "type" : "boolean", + "default" : false } }, { - "description" : "Page number from which data needs to be displayed (0-based)", + "description" : "Force delete, particularly unregister domain ownership if owned by this Ops", "in" : "query", - "name" : "page", + "name" : "force", + "required" : false, "schema" : { - "type" : "integer", - "format" : "int32", - "default" : 0 + "type" : "boolean", + "default" : false + } + } ], + "responses" : { + "204" : { + "description" : "Domain with provided id, was deleted successfully" + } + }, + "summary" : "Delete domain by provided id", + "tags" : [ "Integrations" ] + }, + "get" : { + "operationId" : "getDomainDetailsById", + "parameters" : [ { + "description" : "The identifier of the VCF integration in UUID format.", + "in" : "path", + "name" : "integrationId", + "required" : true, + "schema" : { + "type" : "string", + "format" : "uuid" } }, { - "description" : "Expected number of entries per page", - "in" : "query", - "name" : "pageSize", + "description" : "The identifier of the VCF's domain in UUID format.", + "in" : "path", + "name" : "domainId", + "required" : true, "schema" : { - "type" : "integer", - "format" : "int32", - "default" : 1000 + "type" : "string", + "format" : "uuid" } } ], "responses" : { "200" : { "content" : { "application/json" : { - "example" : "{\n \"notificationTemplates\" : [ {\n \"templateId\" : \"a8107b20-0a38-4d7c-8292-dae0e5ca9f49\",\n \"pluginTypeId\" : \"WebhookPlugin\",\n \"name\" : \"Template\",\n \"description\" : \"WebhookPlugin Description\",\n \"contentConfigs\" : [ {\n \"baseResourceKindKeyStats\" : {\n \"resourceKindKey\" : {\n \"resourceKind\" : \"Resource kind\",\n \"adapterKind\" : \"Adapter kind\"\n },\n \"stats\" : [ \"Property key\", \"Stat key\" ]\n },\n \"ancestorResourceKindKeys\" : [ {\n \"resourceKindKey\" : {\n \"resourceKind\" : \"Ancestor Resource kind\",\n \"adapterKind\" : \"Ancestor Adapter kind\"\n },\n \"stats\" : [ \"Ancestor Stat Key\", \"Ancestor Property Key\" ]\n } ],\n \"descendantResourceKindKeys\" : [ {\n \"resourceKindKey\" : {\n \"resourceKind\" : \"Descendant Resource kind\",\n \"adapterKind\" : \"Descendant Adapter kind\"\n },\n \"stats\" : [ \"Descendant Property Key\", \"Descendant Stat Key\" ]\n } ]\n } ],\n \"formattingTemplate\" : {\n \"type\" : \"WEBHOOK_TEMPLATE\",\n \"newAlertTemplate\" : {\n \"endpoint\" : \"/endpoint\",\n \"headers\" : [ {\n \"key\" : \"Content-type\",\n \"value\" : \"application/json\"\n }, {\n \"key\" : \"Header Key\",\n \"value\" : \"Header Value\"\n } ],\n \"method\" : \"POST\",\n \"payload\" : \"{\\\"startDate\\\":\\\"${CREATE_TIME}\\\"}\"\n }\n },\n \"templateType\" : \"ALERT\"\n } ]\n}", - "schema" : { - "$ref" : "#/components/schemas/notification-templates" - } - }, - "application/xml" : { - "example" : "\n\n \n \n WebhookPlugin\n Template\n WebhookPlugin Description\n \n \n \n \n Resource kind\n Adapter kind\n \n \n Property key\n Stat key\n \n \n \n \n \n Ancestor Resource kind\n Ancestor Adapter kind\n \n \n Ancestor Stat Key\n Ancestor Property Key\n \n \n \n \n \n \n Descendant Resource kind\n Descendant Adapter kind\n \n \n Descendant Property Key\n Descendant Stat Key\n \n \n \n \n \n \n \n /endpoint\n \n \n Content-type\n application/json\n \n \n Header Key\n Header Value\n \n \n POST\n {\"startDate\":\"${CREATE_TIME}\"}\n \n \n \n \n\n", + "example" : "{\n \"vcfDomainVcenter\" : {\n \"id\" : \"c164f63c-caba-4809-a816-a034461cd45d\",\n \"name\" : \"TestVcenterIntegration\",\n \"description\" : \"vCenter adapter for test purposes\",\n \"collectorGroupId\" : \"c2899dfc-dcbd-45e1-9960-94114d371d5a\",\n \"resourceIdentifiers\" : [ {\n \"name\" : \"AUTODISCOVERY\",\n \"value\" : \"true\"\n }, {\n \"name\" : \"PROCESSCHANGEEVENTS\",\n \"value\" : \"true\"\n }, {\n \"name\" : \"VCURL\",\n \"value\" : \"VC_IP_Adress\"\n } ],\n \"certificates\" : [ ],\n \"credentialInstanceId\" : \"8c289ce0-0d9e-4957-bdee-3981fe5a3174\",\n \"vsanConfig\" : {\n \"smartDataCollectionEnabled\" : false,\n \"enabled\" : true\n },\n \"sdmpConfig\" : {\n \"applicationDiscoveryEnabled\" : true,\n \"enabled\" : true\n },\n \"logCollectionEnabled\" : false,\n \"serviceCredentialsUsed\" : false\n },\n \"nsxtIntegration\" : {\n \"url\" : \"nsxt_url\",\n \"certificates\" : [ ],\n \"enabled\" : true,\n \"id\" : \"7890904c-c9ee-4c42-b3b0-5859d38501fd\",\n \"credentialId\" : \"c1a7bfe9-2a46-4d58-9134-8058bd04d873\",\n \"serviceCredentialsUsed\" : false\n },\n \"domainName\" : \"DomainName\",\n \"domainId\" : \"9bea1e0b-9d57-4a90-8296-1c4b71106d78\",\n \"vcUrl\" : \"vc_url\",\n \"domainState\" : \"CONFIGURED\"\n}", "schema" : { - "$ref" : "#/components/schemas/notification-templates" + "$ref" : "#/components/schemas/VCFDomainDetails" } } }, - "description" : "The collection of Alert Definitions" + "description" : "The result model of VCF domain" + }, + "404" : { + "description" : "If no VCF domain was, found by provided domain id, or no VCF was found by provided VCF id", + "x-vmw-compiler-skip" : true } }, - "summary" : "Get notification templates matching the search criteria specified", - "tags" : [ "Notifications" ] + "summary" : "Get VCF domain by provided VCF and domain ids", + "tags" : [ "Integrations" ] }, - "post" : { - "description" : "Creates a new notification template.
NOTE: Limit for selected Resource Kinds count is 30.
NOTE: Limit for selected Stats count is 30.", - "operationId" : "createNotificationTemplate", + "put" : { + "description" : "NOTE: This operation will only work for configured domains.
NOTE: while providing any certificate via this API, certificateDetails field must be populated.", + "operationId" : "updateDomainDetails", + "parameters" : [ { + "description" : "The identifier of the VCF integration in UUID format.", + "in" : "path", + "name" : "integrationId", + "required" : true, + "schema" : { + "type" : "string", + "format" : "uuid" + } + }, { + "description" : "The identifier of the VCF's domain in UUID format.", + "in" : "path", + "name" : "domainId", + "required" : true, + "schema" : { + "type" : "string", + "format" : "uuid" + } + }, { + "description" : "Update the domain even if connection test fails.", + "in" : "query", + "name" : "force", + "required" : false, + "schema" : { + "type" : "boolean", + "default" : false + } + } ], "requestBody" : { "content" : { "application/json" : { - "example" : "{\n \"pluginTypeId\" : \"WebhookPlugin\",\n \"name\" : \"Template\",\n \"description\" : \"WebhookPlugin Description\",\n \"contentConfigs\" : [ {\n \"baseResourceKindKeyStats\" : {\n \"resourceKindKey\" : {\n \"resourceKind\" : \"Resource kind\",\n \"adapterKind\" : \"Adapter kind\"\n },\n \"stats\" : [ \"Property key\", \"Stat key\" ]\n },\n \"ancestorResourceKindKeys\" : [ {\n \"resourceKindKey\" : {\n \"resourceKind\" : \"Ancestor Resource kind\",\n \"adapterKind\" : \"Ancestor Adapter kind\"\n },\n \"stats\" : [ \"Ancestor Stat Key\", \"Ancestor Property Key\" ]\n } ],\n \"descendantResourceKindKeys\" : [ {\n \"resourceKindKey\" : {\n \"resourceKind\" : \"Descendant Resource kind\",\n \"adapterKind\" : \"Descendant Adapter kind\"\n },\n \"stats\" : [ \"Descendant Property Key\", \"Descendant Stat Key\" ]\n } ]\n } ],\n \"formattingTemplate\" : {\n \"type\" : \"WEBHOOK_TEMPLATE\",\n \"newAlertTemplate\" : {\n \"endpoint\" : \"/endpoint\",\n \"headers\" : [ {\n \"key\" : \"Content-type\",\n \"value\" : \"application/json\"\n }, {\n \"key\" : \"Header Key\",\n \"value\" : \"Header Value\"\n } ],\n \"method\" : \"POST\",\n \"payload\" : \"{\\\"startDate\\\":\\\"${CREATE_TIME}\\\"}\"\n }\n },\n \"templateType\" : \"ALERT\"\n}", - "schema" : { - "$ref" : "#/components/schemas/notification-template" - } - }, - "application/xml" : { - "example" : "\n\n WebhookPlugin\n Template\n WebhookPlugin Description\n \n \n \n \n Resource kind\n Adapter kind\n \n \n Property key\n Stat key\n \n \n \n \n \n Ancestor Resource kind\n Ancestor Adapter kind\n \n \n Ancestor Stat Key\n Ancestor Property Key\n \n \n \n \n \n \n Descendant Resource kind\n Descendant Adapter kind\n \n \n Descendant Property Key\n Descendant Stat Key\n \n \n \n \n \n \n \n /endpoint\n \n \n Content-type\n application/json\n \n \n Header Key\n Header Value\n \n \n POST\n {\"startDate\":\"${CREATE_TIME}\"}\n \n \n\n", + "example" : "{\n \"vcfDomainVcenter\" : {\n \"id\" : \"42eed7c4-5d2b-4796-a553-d8978e4d5188\",\n \"collectorId\" : \"68214245-3925-44b3-8004-72bec6d5cb47\",\n \"collectorGroupId\" : \"39948648-472a-4641-9760-ba712eb40e9e\",\n \"resourceIdentifiers\" : [ ],\n \"certificates\" : [ ],\n \"credentialInstanceId\" : \"300588fc-224d-4ef4-8a01-9b4acb245d10\",\n \"vsanConfig\" : {\n \"smartDataCollectionEnabled\" : false,\n \"enabled\" : true\n },\n \"sdmpConfig\" : {\n \"applicationDiscoveryEnabled\" : true,\n \"enabled\" : true\n },\n \"logCollectionEnabled\" : false,\n \"serviceCredentialsUsed\" : false\n },\n \"nsxtIntegration\" : {\n \"enabled\" : false,\n \"credentialId\" : \"b498c58f-7f7f-4b6f-a7a7-8071622119e7\",\n \"serviceCredentialsUsed\" : false\n }\n}", "schema" : { - "$ref" : "#/components/schemas/notification-template" + "$ref" : "#/components/schemas/VCFDomain" } } }, - "description" : "Notification template as payload", + "description" : "The VCF domain update request", "required" : true }, "responses" : { - "201" : { + "200" : { "content" : { "application/json" : { - "example" : "{\n \"templateId\" : \"a8107b20-0a38-4d7c-8292-dae0e5ca9f49\",\n \"pluginTypeId\" : \"WebhookPlugin\",\n \"name\" : \"Template\",\n \"description\" : \"WebhookPlugin Description\",\n \"contentConfigs\" : [ {\n \"baseResourceKindKeyStats\" : {\n \"resourceKindKey\" : {\n \"resourceKind\" : \"Resource kind\",\n \"adapterKind\" : \"Adapter kind\"\n },\n \"stats\" : [ \"Property key\", \"Stat key\" ]\n },\n \"ancestorResourceKindKeys\" : [ {\n \"resourceKindKey\" : {\n \"resourceKind\" : \"Ancestor Resource kind\",\n \"adapterKind\" : \"Ancestor Adapter kind\"\n },\n \"stats\" : [ \"Ancestor Stat Key\", \"Ancestor Property Key\" ]\n } ],\n \"descendantResourceKindKeys\" : [ {\n \"resourceKindKey\" : {\n \"resourceKind\" : \"Descendant Resource kind\",\n \"adapterKind\" : \"Descendant Adapter kind\"\n },\n \"stats\" : [ \"Descendant Property Key\", \"Descendant Stat Key\" ]\n } ]\n } ],\n \"formattingTemplate\" : {\n \"type\" : \"WEBHOOK_TEMPLATE\",\n \"newAlertTemplate\" : {\n \"endpoint\" : \"/endpoint\",\n \"headers\" : [ {\n \"key\" : \"Content-type\",\n \"value\" : \"application/json\"\n }, {\n \"key\" : \"Header Key\",\n \"value\" : \"Header Value\"\n } ],\n \"method\" : \"POST\",\n \"payload\" : \"{\\\"startDate\\\":\\\"${CREATE_TIME}\\\"}\"\n }\n },\n \"templateType\" : \"ALERT\"\n}", + "example" : "{\n \"vcfDomainVcenter\" : {\n \"id\" : \"c164f63c-caba-4809-a816-a034461cd45d\",\n \"name\" : \"TestVcenterIntegration\",\n \"description\" : \"vCenter adapter for test purposes\",\n \"collectorGroupId\" : \"c2899dfc-dcbd-45e1-9960-94114d371d5a\",\n \"resourceIdentifiers\" : [ {\n \"name\" : \"AUTODISCOVERY\",\n \"value\" : \"true\"\n }, {\n \"name\" : \"PROCESSCHANGEEVENTS\",\n \"value\" : \"true\"\n }, {\n \"name\" : \"VCURL\",\n \"value\" : \"VC_IP_Adress\"\n } ],\n \"certificates\" : [ ],\n \"credentialInstanceId\" : \"8c289ce0-0d9e-4957-bdee-3981fe5a3174\",\n \"vsanConfig\" : {\n \"smartDataCollectionEnabled\" : false,\n \"enabled\" : true\n },\n \"sdmpConfig\" : {\n \"applicationDiscoveryEnabled\" : true,\n \"enabled\" : true\n },\n \"logCollectionEnabled\" : false,\n \"serviceCredentialsUsed\" : false\n },\n \"nsxtIntegration\" : {\n \"url\" : \"nsxt_url\",\n \"certificates\" : [ ],\n \"enabled\" : true,\n \"id\" : \"7890904c-c9ee-4c42-b3b0-5859d38501fd\",\n \"credentialId\" : \"c1a7bfe9-2a46-4d58-9134-8058bd04d873\",\n \"serviceCredentialsUsed\" : false\n },\n \"domainName\" : \"DomainName\",\n \"domainId\" : \"9bea1e0b-9d57-4a90-8296-1c4b71106d78\",\n \"vcUrl\" : \"vc_url\",\n \"domainState\" : \"CONFIGURED\"\n}", "schema" : { - "$ref" : "#/components/schemas/notification-template" + "$ref" : "#/components/schemas/VCFDomain" } - }, - "application/xml" : { - "example" : "\n\n WebhookPlugin\n Template\n WebhookPlugin Description\n \n \n \n \n Resource kind\n Adapter kind\n \n \n Property key\n Stat key\n \n \n \n \n \n Ancestor Resource kind\n Ancestor Adapter kind\n \n \n Ancestor Stat Key\n Ancestor Property Key\n \n \n \n \n \n \n Descendant Resource kind\n Descendant Adapter kind\n \n \n Descendant Property Key\n Descendant Stat Key\n \n \n \n \n \n \n \n /endpoint\n \n \n Content-type\n application/json\n \n \n Header Key\n Header Value\n \n \n POST\n {\"startDate\":\"${CREATE_TIME}\"}\n \n \n\n", + } + }, + "description" : "The updated model of VCF domain" + }, + "400" : { + "content" : { + "application/json" : { + "example" : "{\n \"type\" : \"CertificatesError\",\n \"certificates\" : [ {\n \"integrationType\" : \"VCENTER\",\n \"certificates\" : [ {\n \"thumbprint\" : \"certificate_thumbprint\",\n \"certificateDetails\" : \"certificate_details\",\n \"issuedTo\" : \"issuedTo\",\n \"issuedBy\" : \"issuedBy\",\n \"expires\" : \"expirationDate\"\n } ]\n }, {\n \"integrationType\" : \"NSXT\",\n \"certificates\" : [ {\n \"thumbprint\" : \"certificate_thumbprint\",\n \"certificateDetails\" : \"certificate_details\",\n \"issuedTo\" : \"issuedTo\",\n \"issuedBy\" : \"issuedBy\",\n \"expires\" : \"expirationDate\"\n } ]\n } ],\n \"httpStatusCode\" : 400,\n \"apiErrorCode\" : 400,\n \"message\" : \"No valid certificates were found, while testing connection. Returning provided untrusted certificates for acceptance.\"\n}", "schema" : { - "$ref" : "#/components/schemas/notification-template" + "$ref" : "#/components/schemas/OneOfErrorMessage" } } }, - "description" : "The created notification template" + "description" : "If update 'VCF domain' failed. Typically the service will return extra information as to why the test failed. In case if connection testing failed due to certificates, untrusted certificates will be returned for acceptance." + }, + "404" : { + "description" : "If no VCF domain was found by provided domain id, or no VCF was found by provided VCF id", + "x-vmw-compiler-skip" : true } }, - "summary" : "Create a new notification template", - "tags" : [ "Notifications" ] - }, - "put" : { - "description" : "Updates an existing notification template.
NOTE: Limit for selected Resource Kinds count is 30.
NOTE: Limit for selected Stats count is 30.", - "operationId" : "updateNotificationTemplate", + "summary" : "Update VCF domain, by provided domain model, and VCF id", + "tags" : [ "Integrations" ] + } + }, + "/api/integrations/vcf/{integrationId}/domains/{domainId}/testConnection" : { + "post" : { + "description" : "NOTE: This operation will only work for configured domains.
NOTE: while providing any certificate via this API, certificateDetails field must be populated.", + "operationId" : "testDomain", + "parameters" : [ { + "description" : "The identifier of the VCF integration in UUID format.", + "in" : "path", + "name" : "integrationId", + "required" : true, + "schema" : { + "type" : "string", + "format" : "uuid" + } + }, { + "description" : "The identifier of the VCF's domain in UUID format.", + "in" : "path", + "name" : "domainId", + "required" : true, + "schema" : { + "type" : "string", + "format" : "uuid" + } + } ], "requestBody" : { "content" : { "application/json" : { - "example" : "{\n \"templateId\" : \"a8107b20-0a38-4d7c-8292-dae0e5ca9f49\",\n \"pluginTypeId\" : \"WebhookPlugin\",\n \"name\" : \"Template\",\n \"description\" : \"WebhookPlugin Description\",\n \"contentConfigs\" : [ {\n \"baseResourceKindKeyStats\" : {\n \"resourceKindKey\" : {\n \"resourceKind\" : \"Resource kind\",\n \"adapterKind\" : \"Adapter kind\"\n },\n \"stats\" : [ \"Property key\", \"Stat key\" ]\n },\n \"ancestorResourceKindKeys\" : [ {\n \"resourceKindKey\" : {\n \"resourceKind\" : \"Ancestor Resource kind\",\n \"adapterKind\" : \"Ancestor Adapter kind\"\n },\n \"stats\" : [ \"Ancestor Stat Key\", \"Ancestor Property Key\" ]\n } ],\n \"descendantResourceKindKeys\" : [ {\n \"resourceKindKey\" : {\n \"resourceKind\" : \"Descendant Resource kind\",\n \"adapterKind\" : \"Descendant Adapter kind\"\n },\n \"stats\" : [ \"Descendant Property Key\", \"Descendant Stat Key\" ]\n } ]\n } ],\n \"formattingTemplate\" : {\n \"type\" : \"WEBHOOK_TEMPLATE\",\n \"newAlertTemplate\" : {\n \"endpoint\" : \"/endpoint\",\n \"headers\" : [ {\n \"key\" : \"Content-type\",\n \"value\" : \"application/json\"\n }, {\n \"key\" : \"Header Key\",\n \"value\" : \"Header Value\"\n } ],\n \"method\" : \"POST\",\n \"payload\" : \"{\\\"startDate\\\":\\\"${CREATE_TIME}\\\"}\"\n }\n },\n \"templateType\" : \"ALERT\"\n}", - "schema" : { - "$ref" : "#/components/schemas/notification-template" - } - }, - "application/xml" : { - "example" : "\n\n WebhookPlugin\n Template\n WebhookPlugin Description\n \n \n \n \n Resource kind\n Adapter kind\n \n \n Property key\n Stat key\n \n \n \n \n \n Ancestor Resource kind\n Ancestor Adapter kind\n \n \n Ancestor Stat Key\n Ancestor Property Key\n \n \n \n \n \n \n Descendant Resource kind\n Descendant Adapter kind\n \n \n Descendant Property Key\n Descendant Stat Key\n \n \n \n \n \n \n \n /endpoint\n \n \n Content-type\n application/json\n \n \n Header Key\n Header Value\n \n \n POST\n {\"startDate\":\"${CREATE_TIME}\"}\n \n \n\n", + "example" : "{\n \"vcfDomainVcenter\" : {\n \"id\" : \"42eed7c4-5d2b-4796-a553-d8978e4d5188\",\n \"collectorId\" : \"68214245-3925-44b3-8004-72bec6d5cb47\",\n \"collectorGroupId\" : \"39948648-472a-4641-9760-ba712eb40e9e\",\n \"resourceIdentifiers\" : [ ],\n \"certificates\" : [ ],\n \"credentialInstanceId\" : \"300588fc-224d-4ef4-8a01-9b4acb245d10\",\n \"vsanConfig\" : {\n \"smartDataCollectionEnabled\" : false,\n \"enabled\" : true\n },\n \"sdmpConfig\" : {\n \"applicationDiscoveryEnabled\" : true,\n \"enabled\" : true\n },\n \"logCollectionEnabled\" : false,\n \"serviceCredentialsUsed\" : false\n },\n \"nsxtIntegration\" : {\n \"enabled\" : false,\n \"credentialId\" : \"b498c58f-7f7f-4b6f-a7a7-8071622119e7\",\n \"serviceCredentialsUsed\" : false\n }\n}", "schema" : { - "$ref" : "#/components/schemas/notification-template" + "$ref" : "#/components/schemas/VCFDomain" } } }, - "description" : "Notification template as payload", + "description" : "The VCF domain test request", "required" : true }, "responses" : { "200" : { "content" : { "application/json" : { - "example" : "{\n \"templateId\" : \"a8107b20-0a38-4d7c-8292-dae0e5ca9f49\",\n \"pluginTypeId\" : \"WebhookPlugin\",\n \"name\" : \"Template\",\n \"description\" : \"WebhookPlugin Description\",\n \"contentConfigs\" : [ {\n \"baseResourceKindKeyStats\" : {\n \"resourceKindKey\" : {\n \"resourceKind\" : \"Resource kind\",\n \"adapterKind\" : \"Adapter kind\"\n },\n \"stats\" : [ \"Property key\", \"Stat key\" ]\n },\n \"ancestorResourceKindKeys\" : [ {\n \"resourceKindKey\" : {\n \"resourceKind\" : \"Ancestor Resource kind\",\n \"adapterKind\" : \"Ancestor Adapter kind\"\n },\n \"stats\" : [ \"Ancestor Stat Key\", \"Ancestor Property Key\" ]\n } ],\n \"descendantResourceKindKeys\" : [ {\n \"resourceKindKey\" : {\n \"resourceKind\" : \"Descendant Resource kind\",\n \"adapterKind\" : \"Descendant Adapter kind\"\n },\n \"stats\" : [ \"Descendant Property Key\", \"Descendant Stat Key\" ]\n } ]\n } ],\n \"formattingTemplate\" : {\n \"type\" : \"WEBHOOK_TEMPLATE\",\n \"newAlertTemplate\" : {\n \"endpoint\" : \"/endpoint\",\n \"headers\" : [ {\n \"key\" : \"Content-type\",\n \"value\" : \"application/json\"\n }, {\n \"key\" : \"Header Key\",\n \"value\" : \"Header Value\"\n } ],\n \"method\" : \"POST\",\n \"payload\" : \"{\\\"startDate\\\":\\\"${CREATE_TIME}\\\"}\"\n }\n },\n \"templateType\" : \"ALERT\"\n}", + "example" : "{\n \"vcfDomainVcenter\" : {\n \"id\" : \"c164f63c-caba-4809-a816-a034461cd45d\",\n \"name\" : \"TestVcenterIntegration\",\n \"description\" : \"vCenter adapter for test purposes\",\n \"collectorGroupId\" : \"c2899dfc-dcbd-45e1-9960-94114d371d5a\",\n \"resourceIdentifiers\" : [ {\n \"name\" : \"AUTODISCOVERY\",\n \"value\" : \"true\"\n }, {\n \"name\" : \"PROCESSCHANGEEVENTS\",\n \"value\" : \"true\"\n }, {\n \"name\" : \"VCURL\",\n \"value\" : \"VC_IP_Adress\"\n } ],\n \"certificates\" : [ ],\n \"credentialInstanceId\" : \"8c289ce0-0d9e-4957-bdee-3981fe5a3174\",\n \"vsanConfig\" : {\n \"smartDataCollectionEnabled\" : false,\n \"enabled\" : true\n },\n \"sdmpConfig\" : {\n \"applicationDiscoveryEnabled\" : true,\n \"enabled\" : true\n },\n \"logCollectionEnabled\" : false,\n \"serviceCredentialsUsed\" : false\n },\n \"nsxtIntegration\" : {\n \"url\" : \"nsxt_url\",\n \"certificates\" : [ ],\n \"enabled\" : true,\n \"id\" : \"7890904c-c9ee-4c42-b3b0-5859d38501fd\",\n \"credentialId\" : \"c1a7bfe9-2a46-4d58-9134-8058bd04d873\",\n \"serviceCredentialsUsed\" : false\n },\n \"domainName\" : \"DomainName\",\n \"domainId\" : \"9bea1e0b-9d57-4a90-8296-1c4b71106d78\",\n \"vcUrl\" : \"vc_url\",\n \"domainState\" : \"CONFIGURED\"\n}", "schema" : { - "$ref" : "#/components/schemas/notification-template" + "$ref" : "#/components/schemas/VCFDomain" } - }, - "application/xml" : { - "example" : "\n\n WebhookPlugin\n Template\n WebhookPlugin Description\n \n \n \n \n Resource kind\n Adapter kind\n \n \n Property key\n Stat key\n \n \n \n \n \n Ancestor Resource kind\n Ancestor Adapter kind\n \n \n Ancestor Stat Key\n Ancestor Property Key\n \n \n \n \n \n \n Descendant Resource kind\n Descendant Adapter kind\n \n \n Descendant Property Key\n Descendant Stat Key\n \n \n \n \n \n \n \n /endpoint\n \n \n Content-type\n application/json\n \n \n Header Key\n Header Value\n \n \n POST\n {\"startDate\":\"${CREATE_TIME}\"}\n \n \n\n", + } + }, + "description" : "Provided update model passed the test" + }, + "400" : { + "content" : { + "application/json" : { + "example" : "{\n \"type\" : \"CertificatesError\",\n \"certificates\" : [ {\n \"integrationType\" : \"VCENTER\",\n \"certificates\" : [ {\n \"thumbprint\" : \"certificate_thumbprint\",\n \"certificateDetails\" : \"certificate_details\",\n \"issuedTo\" : \"issuedTo\",\n \"issuedBy\" : \"issuedBy\",\n \"expires\" : \"expirationDate\"\n } ]\n }, {\n \"integrationType\" : \"NSXT\",\n \"certificates\" : [ {\n \"thumbprint\" : \"certificate_thumbprint\",\n \"certificateDetails\" : \"certificate_details\",\n \"issuedTo\" : \"issuedTo\",\n \"issuedBy\" : \"issuedBy\",\n \"expires\" : \"expirationDate\"\n } ]\n } ],\n \"httpStatusCode\" : 400,\n \"apiErrorCode\" : 400,\n \"message\" : \"No valid certificates were found, while testing connection. Returning provided untrusted certificates for acceptance.\"\n}", "schema" : { - "$ref" : "#/components/schemas/notification-template" + "$ref" : "#/components/schemas/OneOfErrorMessage" } } }, - "description" : "The updated notification template" + "description" : "If update 'VCF domain' failed. Typically the service will return extra information as to why the test failed. In case if connection testing failed due to certificates, untrusted certificates will be returned for acceptance." + }, + "404" : { + "description" : "If no VCF domain was found by provided domain id, or no VCF was found by provided VCF id", + "x-vmw-compiler-skip" : true } }, - "summary" : "Update an existing notification template", - "tags" : [ "Notifications" ] + "summary" : "Test VCF domain, by provided domain update model, VCF id and domain id", + "tags" : [ "Integrations" ] } }, - "/api/notifications/templates/{id}" : { - "delete" : { - "description" : "Delete notification template.", - "operationId" : "deleteNotificationTemplate", + "/api/integrations/vcf/{integrationId}/register" : { + "put" : { + "description" : "If force parameter is passed as true, in case if vcf is already registered, registration will be overwritten.\n\nNOTE: The registration of some of the VCs under the VCF may fail because of different issues, e.g. connection issue. In such cases response will be returned with http 200 status code, however the failed resources id's will be reported in the response body. Please check the status field of the response after executing this API, in order to make sure that the operation has fully succeeded.", + "operationId" : "registerVCF", "parameters" : [ { - "description" : "Notification template identifier", + "description" : "The identifier of the VCF integration in UUID format.", "in" : "path", - "name" : "id", + "name" : "integrationId", "required" : true, "schema" : { - "type" : "string" + "type" : "string", + "format" : "uuid" + } + }, { + "description" : "Force override existing vcf management ownership", + "in" : "query", + "name" : "force", + "required" : false, + "schema" : { + "type" : "boolean", + "default" : false } } ], "responses" : { - "204" : { - "description" : "The notification template is successfully deleted" + "200" : { + "content" : { + "application/json" : { + "example" : "{\n \"failedVcenterIds\" : [ \"bf99e4a0-121a-4476-b761-757577214eb2\", \"9523db03-53c5-491b-be69-a99ff12cbd5a\", \"222b8b3d-a03e-4aa3-a640-aee6ba17b745\" ],\n \"status\" : \"PARTIALLY_SUCCEEDED\"\n}", + "schema" : { + "$ref" : "#/components/schemas/VcfRegistrationResult" + } + } + }, + "description" : "Successfully registered vcf" } }, - "summary" : "Delete notification template", - "tags" : [ "Notifications" ] - }, - "get" : { - "description" : "Returns notification template for the specified id.", - "operationId" : "getNotificationTemplate", + "summary" : "Register vcf with provided id", + "tags" : [ "Integrations" ] + } + }, + "/api/integrations/vcf/{integrationId}/unregister" : { + "put" : { + "description" : "NOTE: The un-registration of some of the VCs under the VCF may fail because of different issues, e.g. connection issue. In such cases response will be returned with http 200 status code, however the failed resources id's will be reported in the response body. Please check the status field of the response after executing this API, in order to make sure that the operation has fully succeeded.", + "operationId" : "unregisterVCF", "parameters" : [ { - "description" : "Notification template identifier", + "description" : "The identifier of the VCF integration in UUID format.", "in" : "path", - "name" : "id", + "name" : "integrationId", "required" : true, "schema" : { - "type" : "string" + "type" : "string", + "format" : "uuid" } } ], "responses" : { "200" : { "content" : { "application/json" : { - "example" : "{\n \"templateId\" : \"a8107b20-0a38-4d7c-8292-dae0e5ca9f49\",\n \"pluginTypeId\" : \"WebhookPlugin\",\n \"name\" : \"Template\",\n \"description\" : \"WebhookPlugin Description\",\n \"contentConfigs\" : [ {\n \"baseResourceKindKeyStats\" : {\n \"resourceKindKey\" : {\n \"resourceKind\" : \"Resource kind\",\n \"adapterKind\" : \"Adapter kind\"\n },\n \"stats\" : [ \"Property key\", \"Stat key\" ]\n },\n \"ancestorResourceKindKeys\" : [ {\n \"resourceKindKey\" : {\n \"resourceKind\" : \"Ancestor Resource kind\",\n \"adapterKind\" : \"Ancestor Adapter kind\"\n },\n \"stats\" : [ \"Ancestor Stat Key\", \"Ancestor Property Key\" ]\n } ],\n \"descendantResourceKindKeys\" : [ {\n \"resourceKindKey\" : {\n \"resourceKind\" : \"Descendant Resource kind\",\n \"adapterKind\" : \"Descendant Adapter kind\"\n },\n \"stats\" : [ \"Descendant Property Key\", \"Descendant Stat Key\" ]\n } ]\n } ],\n \"formattingTemplate\" : {\n \"type\" : \"WEBHOOK_TEMPLATE\",\n \"newAlertTemplate\" : {\n \"endpoint\" : \"/endpoint\",\n \"headers\" : [ {\n \"key\" : \"Content-type\",\n \"value\" : \"application/json\"\n }, {\n \"key\" : \"Header Key\",\n \"value\" : \"Header Value\"\n } ],\n \"method\" : \"POST\",\n \"payload\" : \"{\\\"startDate\\\":\\\"${CREATE_TIME}\\\"}\"\n }\n },\n \"templateType\" : \"ALERT\"\n}", - "schema" : { - "$ref" : "#/components/schemas/notification-template" - } - }, - "application/xml" : { - "example" : "\n\n WebhookPlugin\n Template\n WebhookPlugin Description\n \n \n \n \n Resource kind\n Adapter kind\n \n \n Property key\n Stat key\n \n \n \n \n \n Ancestor Resource kind\n Ancestor Adapter kind\n \n \n Ancestor Stat Key\n Ancestor Property Key\n \n \n \n \n \n \n Descendant Resource kind\n Descendant Adapter kind\n \n \n Descendant Property Key\n Descendant Stat Key\n \n \n \n \n \n \n \n /endpoint\n \n \n Content-type\n application/json\n \n \n Header Key\n Header Value\n \n \n POST\n {\"startDate\":\"${CREATE_TIME}\"}\n \n \n\n", + "example" : "{\n \"failedVcenterIds\" : [ \"bf99e4a0-121a-4476-b761-757577214eb2\", \"9523db03-53c5-491b-be69-a99ff12cbd5a\", \"222b8b3d-a03e-4aa3-a640-aee6ba17b745\" ],\n \"status\" : \"PARTIALLY_SUCCEEDED\"\n}", "schema" : { - "$ref" : "#/components/schemas/notification-template" + "$ref" : "#/components/schemas/VcfRegistrationResult" } } }, - "description" : "The notification template" + "description" : "Successfully registered vcf" } }, - "summary" : "Get notification template", - "tags" : [ "Notifications" ] + "summary" : "Unregister vcf with provided id", + "tags" : [ "Integrations" ] } }, - "/api/optimization/datacenters/{dataCenterId}/exclusion/tags" : { + "/api/logs/configuration/{logtype}" : { "get" : { - "operationId" : "getDCOptimizationConfiguration", + "description" : "Get logs configurations of certain type", + "operationId" : "getLogConfigurationsByType", "parameters" : [ { - "description" : "DataCenter Id", + "description" : "Log type", "in" : "path", - "name" : "dataCenterId", + "name" : "logtype", "required" : true, "schema" : { "type" : "string", - "format" : "uuid" + "enum" : [ "ANALYTICS", "COLLECTOR", "WEB", "VIEW_BRIDGE", "VCOPS_BRIDGE", "SUITEAPI" ] } } ], "responses" : { "200" : { "content" : { "application/json" : { - "example" : "{\n \"reclaim\" : [ {\n \"category\" : \"tagCategory1\",\n \"name\" : \"tagName1\"\n } ],\n \"rightsizing\" : [ {\n \"category\" : \"tagCategory2\",\n \"name\" : \"tagName2\"\n } ]\n}", + "example" : "No Custom Example is Available", "schema" : { - "$ref" : "#/components/schemas/DCOptimizationConfiguration" + "$ref" : "#/components/schemas/log-configuration" + } + }, + "application/xml" : { + "example" : "No Custom Example is Available", + "schema" : { + "$ref" : "#/components/schemas/log-configuration" } } }, - "description" : "Get DC optimization configurations for capacity exclusion" + "description" : "The logs configurations" } }, - "summary" : "Get DC optimization configurations for capacity exclusion", - "tags" : [ "Optimization" ] + "summary" : "Get logs configurations of certain type", + "tags" : [ "Logs Management" ] }, - "patch" : { - "operationId" : "patchDCOptimizationConfiguration", + "put" : { + "description" : "Change level of the logs", + "operationId" : "createOrUpdateLogConfigurations", "parameters" : [ { - "description" : "Identifier of the dataCenter", + "description" : "Log type", "in" : "path", - "name" : "dataCenterId", + "name" : "logtype", "required" : true, "schema" : { "type" : "string", - "format" : "uuid" + "enum" : [ "ANALYTICS", "COLLECTOR", "WEB", "VIEW_BRIDGE", "VCOPS_BRIDGE", "SUITEAPI" ] + } + }, { + "description" : "Set this flag to 'true' to add new log classes. The default value is 'false'.", + "in" : "query", + "name" : "allowAddingNewSettings", + "required" : false, + "schema" : { + "type" : "boolean", + "default" : false } } ], "requestBody" : { "content" : { "application/json" : { - "example" : "{\n \"reclaim\" : [ {\n \"category\" : \"tagCategory1\",\n \"name\" : \"tagName1\"\n } ],\n \"rightsizing\" : [ {\n \"category\" : \"tagCategory2\",\n \"name\" : \"tagName2\"\n } ]\n}", + "example" : "{\n \"rootLoggerLevel\" : \"WARNING\",\n \"maxLogSize\" : 350,\n \"settings\" : [ {\n \"name\" : \"com.vmware.info.logger.name\",\n \"level\" : \"INFO\"\n }, {\n \"name\" : \"com.vmware.debug.logger.name\",\n \"level\" : \"DEBUG\"\n } ]\n}", "schema" : { - "$ref" : "#/components/schemas/DCOptimizationConfiguration" + "$ref" : "#/components/schemas/log-configuration" + } + }, + "application/xml" : { + "example" : "\n\n WARNING\n 350\n \n \n com.vmware.info.logger.name\n INFO\n \n \n com.vmware.debug.logger.name\n DEBUG\n \n \n\n", + "schema" : { + "$ref" : "#/components/schemas/log-configuration" } } }, - "description" : "DC optimization configurations object", + "description" : "The data for log configuration", "required" : true }, "responses" : { "200" : { "content" : { "application/json" : { - "example" : "{\n \"reclaim\" : [ {\n \"category\" : \"tagCategory1\",\n \"name\" : \"tagName1\"\n } ],\n \"rightsizing\" : [ {\n \"category\" : \"tagCategory2\",\n \"name\" : \"tagName2\"\n } ]\n}", + "example" : "{\n \"rootLoggerLevel\" : \"WARNING\",\n \"maxLogSize\" : 350,\n \"settings\" : [ {\n \"name\" : \"com.vmware.info.logger.name\",\n \"level\" : \"INFO\"\n }, {\n \"name\" : \"com.vmware.debug.logger.name\",\n \"level\" : \"DEBUG\"\n } ]\n}", "schema" : { - "$ref" : "#/components/schemas/DCOptimizationConfiguration" + "$ref" : "#/components/schemas/log-configuration" + } + }, + "application/xml" : { + "example" : "\n\n WARNING\n 350\n \n \n com.vmware.info.logger.name\n INFO\n \n \n com.vmware.debug.logger.name\n DEBUG\n \n \n\n", + "schema" : { + "$ref" : "#/components/schemas/log-configuration" } } }, - "description" : "update DC optimization configurations partially" + "description" : "The updated data for log configuration" + }, + "404" : { + "description" : "Given wrong or non existing log name", + "x-vmw-compiler-skip" : true } }, - "summary" : "Update your DC optimization configurations for capacity exclusion partially", - "tags" : [ "Optimization" ] - }, - "put" : { - "operationId" : "putDCOptimizationConfiguration", + "summary" : "Change level of the logs", + "tags" : [ "Logs Management" ] + } + }, + "/api/logs/configuration/{logtype}/settings" : { + "delete" : { + "description" : "Remove the log classes from the log type", + "operationId" : "deleteLogConfigurationSettings", "parameters" : [ { - "description" : "DataCenter Id", + "description" : "Log type", "in" : "path", - "name" : "dataCenterId", + "name" : "logtype", "required" : true, "schema" : { "type" : "string", - "format" : "uuid" + "enum" : [ "ANALYTICS", "COLLECTOR", "WEB", "VIEW_BRIDGE", "VCOPS_BRIDGE", "SUITEAPI" ] } } ], "requestBody" : { "content" : { "application/json" : { - "example" : "{\n \"reclaim\" : [ {\n \"category\" : \"tagCategory1\",\n \"name\" : \"tagName1\"\n } ],\n \"rightsizing\" : [ {\n \"category\" : \"tagCategory2\",\n \"name\" : \"tagName2\"\n } ]\n}", + "example" : "{\n \"values\" : [ \"com.vmware.info.logger.name\", \"com.vmware.debug.logger.name\" ]\n}", "schema" : { - "$ref" : "#/components/schemas/DCOptimizationConfiguration" + "$ref" : "#/components/schemas/str-values" + } + }, + "application/xml" : { + "example" : "\n\n com.vmware.info.logger.name\n com.vmware.debug.logger.name\n\n", + "schema" : { + "$ref" : "#/components/schemas/str-values" } } }, - "description" : "DC optimization configurations object", + "description" : "Log class names to remove", "required" : true }, "responses" : { - "200" : { - "content" : { - "application/json" : { - "example" : "{\n \"reclaim\" : [ {\n \"category\" : \"tagCategory1\",\n \"name\" : \"tagName1\"\n } ],\n \"rightsizing\" : [ {\n \"category\" : \"tagCategory2\",\n \"name\" : \"tagName2\"\n } ]\n}", - "schema" : { - "$ref" : "#/components/schemas/DCOptimizationConfiguration" - } - } - }, - "description" : "Create or update DC optimization configurations for capacity exclusion fully" + "204" : { + "description" : "The log files are removed successfully." + }, + "400" : { + "description" : "Given wrong or non existing log name", + "x-vmw-compiler-skip" : true } }, - "summary" : "Create or update your DC optimization configurations for capacity exclusion fully", - "tags" : [ "Optimization" ] + "summary" : "Remove the log classes from the log type", + "tags" : [ "Logs Management" ] } }, - "/api/optimization/datacenters/{id}/reclaim/resources" : { + "/api/logs/forwarding" : { "get" : { - "operationId" : "getReclaimData", - "parameters" : [ { - "description" : "Datacenter Id", - "in" : "path", - "name" : "id", - "required" : true, - "schema" : { - "type" : "string", - "format" : "uuid" - } - }, { - "in" : "query", - "name" : "reason", - "required" : true, - "schema" : { - "type" : "string", - "description" : "Reclamation Reason", - "enum" : [ "POWERED_OFF", "IDLE", "SNAPSHOT", "ORPHANED_DISK" ] - } - }, { - "in" : "query", - "name" : "showExcluded", - "required" : false, - "schema" : { - "type" : "boolean", - "default" : false - } - }, { - "description" : "Page number from which data needs to be displayed (0-based)", - "in" : "query", - "name" : "page", - "schema" : { - "type" : "integer", - "format" : "int32", - "default" : 0 - } - }, { - "description" : "Expected number of entries per page", - "in" : "query", - "name" : "pageSize", - "schema" : { - "type" : "integer", - "format" : "int32", - "default" : 1000 - } - } ], + "description" : "Returns log forwarding configuration.", + "operationId" : "getLogForwardingConfiguration", "responses" : { "200" : { "content" : { "application/json" : { - "example" : "{\n \"reclaimRightsizeResources\" : [ {\n \"id\" : \"5fd9566d-71ea-4f8a-8173-6acb1943f456\",\n \"name\" : \"Centos7-Consolidation-VM\",\n \"costSaving\" : 350.0,\n \"reclaimableCpu\" : 2,\n \"reclaimableMemory\" : 4.0,\n \"duration\" : 3\n } ]\n}", + "example" : "{\n \"enabled\" : true,\n \"entities\" : [ \"ANALYTICS\", \"COLLECTOR\", \"WEB\", \"GEMFIRE\", \"VIEW_BRIDGE\", \"VCOPS_BRIDGE\", \"SUITEAPI\", \"ADMIN_UI\", \"TOMCAT_WEBAPP\", \"CALL_STACK\" ],\n \"host\" : \"10.11.12.13\",\n \"protocol\" : \"CFAPI\",\n \"useSSL\" : false,\n \"cluster\" : \"single\"\n}", "schema" : { - "$ref" : "#/components/schemas/ReclaimRightsizeResources" + "$ref" : "#/components/schemas/log-forwarding-configuration" } - } + }, + "application/xml" : { + "example" : "\n\n true\n \n ANALYTICS\n COLLECTOR\n WEB\n GEMFIRE\n VIEW_BRIDGE\n VCOPS_BRIDGE\n SUITEAPI\n ADMIN_UI\n TOMCAT_WEBAPP\n CALL_STACK\n \n false\n\n", + "schema" : { + "$ref" : "#/components/schemas/log-forwarding-configuration" + } + } }, - "description" : "Paginated reclaimable data for virtual machines" + "description" : "The log forwarding configuration data" } }, - "summary" : "Reclaim data for VMs or for orphaned disks", - "tags" : [ "Optimization" ] + "summary" : "Get log forwarding configuration", + "tags" : [ "Logs Management" ] + }, + "put" : { + "description" : "NOTE: The \"enabled\" field should not be specified. Log forwarding will be enabled as a result of this API call. To disable log forwarding use \"/api/logforwarding/disable\" API", + "operationId" : "updateLogForwardingConfiguration", + "requestBody" : { + "content" : { + "application/json" : { + "example" : "{\n \"entities\" : [ \"ANALYTICS\", \"COLLECTOR\" ],\n \"host\" : \"11.12.13.14\",\n \"protocol\" : \"CFAPI\",\n \"useSSL\" : true,\n \"cluster\" : \"SampleCluster\"\n}", + "schema" : { + "$ref" : "#/components/schemas/log-forwarding-configuration" + } + }, + "application/xml" : { + "example" : "\n\n \n ANALYTICS\n COLLECTOR\n \n true\n\n", + "schema" : { + "$ref" : "#/components/schemas/log-forwarding-configuration" + } + } + }, + "description" : "The log forwarding configuration data", + "required" : true + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "example" : "{\n \"enabled\" : true,\n \"entities\" : [ \"ANALYTICS\", \"COLLECTOR\", \"WEB\", \"GEMFIRE\", \"VIEW_BRIDGE\", \"VCOPS_BRIDGE\", \"SUITEAPI\", \"ADMIN_UI\", \"TOMCAT_WEBAPP\", \"CALL_STACK\" ],\n \"host\" : \"10.11.12.13\",\n \"protocol\" : \"CFAPI\",\n \"useSSL\" : false,\n \"cluster\" : \"single\"\n}", + "schema" : { + "$ref" : "#/components/schemas/log-forwarding-configuration" + } + }, + "application/xml" : { + "example" : "\n\n true\n \n ANALYTICS\n COLLECTOR\n WEB\n GEMFIRE\n VIEW_BRIDGE\n VCOPS_BRIDGE\n SUITEAPI\n ADMIN_UI\n TOMCAT_WEBAPP\n CALL_STACK\n \n false\n\n", + "schema" : { + "$ref" : "#/components/schemas/log-forwarding-configuration" + } + } + }, + "description" : "The log forwarding configuration data" + } + }, + "summary" : "Create a new or update an existing log forwarding configuration", + "tags" : [ "Logs Management" ] } }, - "/api/optimization/datacenters/{id}/rightsize/resources" : { - "get" : { - "operationId" : "getRightsizeData", - "parameters" : [ { - "description" : "Datacenter Id", - "in" : "path", - "name" : "id", - "required" : true, - "schema" : { - "type" : "string", - "format" : "uuid" + "/api/logs/forwarding/disable" : { + "put" : { + "description" : "NOTE: While disabling, \"entities\" will be removed from the log forwarding configuration.", + "operationId" : "disableLogForwarding", + "responses" : { + "200" : { + "description" : "Log forwarding is disabled successfully" } - }, { + }, + "summary" : "Disable log forwarding", + "tags" : [ "Logs Management" ] + } + }, + "/api/logs/forwarding/enable" : { + "put" : { + "description" : "Enables log forwarding and sets the entities to forward the logs from.", + "operationId" : "enableLogForwarding", + "parameters" : [ { + "description" : "Entities to forward the logs from", "in" : "query", - "name" : "reason", + "name" : "entity", "required" : true, "schema" : { - "type" : "string", - "description" : "Rightsizing Reason", - "enum" : [ "OVERSIZED", "UNDERSIZED" ] + "type" : "array", + "items" : { + "type" : "string", + "description" : "Enumeration of the Log Entity", + "enum" : [ "ANALYTICS", "COLLECTOR", "WEB", "GEMFIRE", "VIEW_BRIDGE", "VCOPS_BRIDGE", "SUITEAPI", "ADMIN_UI", "TOMCAT_WEBAPP", "VPOSTGRES", "WATCHDOG", "UPGRADE", "CALL_STACK", "OTHER" ], + "xml" : { + "name" : "log-entity", + "namespace" : "http://webservice.vmware.com/vRealizeOpsMgr/1.0/" + } + } } - }, { - "in" : "query", - "name" : "showExcluded", - "required" : false, - "schema" : { - "type" : "boolean", - "default" : false + } ], + "responses" : { + "200" : { + "description" : "Log forwarding is enabled successfully" } - }, { + }, + "summary" : "Enable log forwarding", + "tags" : [ "Logs Management" ] + } + }, + "/api/logs/queryconfigs" : { + "get" : { + "operationId" : "getAllLIQueryConfigs", + "parameters" : [ { "description" : "Page number from which data needs to be displayed (0-based)", "in" : "query", "name" : "page", @@ -15532,155 +16059,199 @@ "200" : { "content" : { "application/json" : { - "example" : "{\n \"reclaimRightsizeResources\" : [ {\n \"id\" : \"5fd9566d-71ea-4f8a-8173-6acb1943f456\",\n \"name\" : \"Centos7-Consolidation-VM\",\n \"costSaving\" : 350.0,\n \"reclaimableCpu\" : 2,\n \"reclaimableMemory\" : 4.0,\n \"duration\" : 3\n } ]\n}", + "example" : "{\n \"pageInfo\" : {\n \"totalCount\" : 1,\n \"page\" : 0,\n \"pageSize\" : 10\n },\n \"logsQueryConfigs\" : [ {\n \"id\" : \"09225bd3-6f56-4ea2-8bc3-a91a3b295b39\",\n \"name\" : \"LI Config Name\",\n \"description\" : \"LI Config Description\",\n \"queryFilters\" : {\n \"logQueryFiltersOperator\" : \"AND\",\n \"partitions\" : [ ],\n \"logQueryFilterConditions\" : [ {\n \"conditionField\" : \"485a194b-63e7-4fb1-9686-8a930989799d\",\n \"conditionValues\" : [ \"31c9b841-f966-4d78-aca1-410530e48c40\", \"9185662b-b4ab-4d09-935f-154dba463704\" ],\n \"queryFilterConditionOperatorType\" : \"CONTAINS\"\n }, {\n \"conditionField\" : \"485a194b-63e7-4fb1-9686-8a930989799d\",\n \"conditionValues\" : [ \"31c9b841-f966-4d78-aca1-410530e48c40\", \"9185662b-b4ab-4d09-935f-154dba463704\" ],\n \"queryFilterConditionOperatorType\" : \"CONTAINS\"\n } ]\n },\n \"queryText\" : [ \"text-1\", \"text-2\" ],\n \"dateRange\" : {\n \"fixedRange\" : \"LAST_7_DAYS\"\n },\n \"lastModifiedTime\" : 1753340214470,\n \"modifiedBy\" : \"admin\"\n } ]\n}", "schema" : { - "$ref" : "#/components/schemas/ReclaimRightsizeResources" + "$ref" : "#/components/schemas/LogsQueryConfigs" } } }, - "description" : "Paginated rightsizing data" + "description" : "All query configs" } }, - "summary" : "Rightsize data for VMs", - "tags" : [ "Optimization" ] - } - }, - "/api/optimization/reclaim/orphaneddisks/{id}/exclude" : { + "summary" : "Get all query configs", + "tags" : [ "Logs Management" ] + }, "post" : { - "operationId" : "excludeOrphanedDisks", - "parameters" : [ { - "description" : "Id of orphaned disk", - "in" : "path", - "name" : "id", - "required" : true, - "schema" : { - "type" : "string" + "operationId" : "createQueryConfig", + "requestBody" : { + "content" : { + "application/json" : { + "example" : "{\n \"name\" : \"LI Config Name\",\n \"description\" : \"LI Config Description\",\n \"queryFilters\" : {\n \"logQueryFiltersOperator\" : \"AND\",\n \"partitions\" : [ ],\n \"logQueryFilterConditions\" : [ {\n \"conditionField\" : \"485a194b-63e7-4fb1-9686-8a930989799d\",\n \"conditionValues\" : [ \"31c9b841-f966-4d78-aca1-410530e48c40\", \"9185662b-b4ab-4d09-935f-154dba463704\" ],\n \"queryFilterConditionOperatorType\" : \"CONTAINS\"\n }, {\n \"conditionField\" : \"485a194b-63e7-4fb1-9686-8a930989799d\",\n \"conditionValues\" : [ \"31c9b841-f966-4d78-aca1-410530e48c40\", \"9185662b-b4ab-4d09-935f-154dba463704\" ],\n \"queryFilterConditionOperatorType\" : \"CONTAINS\"\n } ]\n },\n \"queryText\" : [ \"text-1\", \"text-2\" ],\n \"dateRange\" : {\n \"fixedRange\" : \"LAST_7_DAYS\"\n }\n}", + "schema" : { + "$ref" : "#/components/schemas/LogsQueryConfig" + } + } + }, + "description" : "Logs Query Config", + "required" : true + }, + "responses" : { + "201" : { + "content" : { + "application/json" : { + "example" : "{\n \"id\" : \"09225bd3-6f56-4ea2-8bc3-a91a3b295b39\",\n \"name\" : \"LI Config Name\",\n \"description\" : \"LI Config Description\",\n \"queryFilters\" : {\n \"logQueryFiltersOperator\" : \"AND\",\n \"partitions\" : [ ],\n \"logQueryFilterConditions\" : [ {\n \"conditionField\" : \"485a194b-63e7-4fb1-9686-8a930989799d\",\n \"conditionValues\" : [ \"31c9b841-f966-4d78-aca1-410530e48c40\", \"9185662b-b4ab-4d09-935f-154dba463704\" ],\n \"queryFilterConditionOperatorType\" : \"CONTAINS\"\n }, {\n \"conditionField\" : \"485a194b-63e7-4fb1-9686-8a930989799d\",\n \"conditionValues\" : [ \"31c9b841-f966-4d78-aca1-410530e48c40\", \"9185662b-b4ab-4d09-935f-154dba463704\" ],\n \"queryFilterConditionOperatorType\" : \"CONTAINS\"\n } ]\n },\n \"queryText\" : [ \"text-1\", \"text-2\" ],\n \"dateRange\" : {\n \"fixedRange\" : \"LAST_7_DAYS\"\n },\n \"lastModifiedTime\" : 1753340214470,\n \"modifiedBy\" : \"admin\"\n}", + "schema" : { + "$ref" : "#/components/schemas/LogsQueryConfig" + } + } + }, + "description" : "Query config is created successfully" } - } ], + }, + "summary" : "Create query config", + "tags" : [ "Logs Management" ] + }, + "put" : { + "operationId" : "updateQueryConfig", + "requestBody" : { + "content" : { + "application/json" : { + "example" : "{\n \"name\" : \"LI Config Name\",\n \"description\" : \"LI Config Description\",\n \"queryFilters\" : {\n \"logQueryFiltersOperator\" : \"AND\",\n \"partitions\" : [ ],\n \"logQueryFilterConditions\" : [ {\n \"conditionField\" : \"485a194b-63e7-4fb1-9686-8a930989799d\",\n \"conditionValues\" : [ \"31c9b841-f966-4d78-aca1-410530e48c40\", \"9185662b-b4ab-4d09-935f-154dba463704\" ],\n \"queryFilterConditionOperatorType\" : \"CONTAINS\"\n }, {\n \"conditionField\" : \"485a194b-63e7-4fb1-9686-8a930989799d\",\n \"conditionValues\" : [ \"31c9b841-f966-4d78-aca1-410530e48c40\", \"9185662b-b4ab-4d09-935f-154dba463704\" ],\n \"queryFilterConditionOperatorType\" : \"CONTAINS\"\n } ]\n },\n \"queryText\" : [ \"text-1\", \"text-2\" ],\n \"dateRange\" : {\n \"fixedRange\" : \"LAST_7_DAYS\"\n }\n}", + "schema" : { + "$ref" : "#/components/schemas/LogsQueryConfig" + } + } + }, + "description" : "Logs Query Config", + "required" : true + }, "responses" : { "200" : { - "description" : "The orphaned disk is included successfully" + "content" : { + "application/json" : { + "example" : "{\n \"id\" : \"09225bd3-6f56-4ea2-8bc3-a91a3b295b39\",\n \"name\" : \"LI Config Name\",\n \"description\" : \"LI Config Description\",\n \"queryFilters\" : {\n \"logQueryFiltersOperator\" : \"AND\",\n \"partitions\" : [ ],\n \"logQueryFilterConditions\" : [ {\n \"conditionField\" : \"485a194b-63e7-4fb1-9686-8a930989799d\",\n \"conditionValues\" : [ \"31c9b841-f966-4d78-aca1-410530e48c40\", \"9185662b-b4ab-4d09-935f-154dba463704\" ],\n \"queryFilterConditionOperatorType\" : \"CONTAINS\"\n }, {\n \"conditionField\" : \"485a194b-63e7-4fb1-9686-8a930989799d\",\n \"conditionValues\" : [ \"31c9b841-f966-4d78-aca1-410530e48c40\", \"9185662b-b4ab-4d09-935f-154dba463704\" ],\n \"queryFilterConditionOperatorType\" : \"CONTAINS\"\n } ]\n },\n \"queryText\" : [ \"text-1\", \"text-2\" ],\n \"dateRange\" : {\n \"fixedRange\" : \"LAST_7_DAYS\"\n },\n \"lastModifiedTime\" : 1753340214470,\n \"modifiedBy\" : \"admin\"\n}", + "schema" : { + "$ref" : "#/components/schemas/LogsQueryConfig" + } + } + }, + "description" : "Query config is updated successfully" } }, - "summary" : "Exclude orphaned disk", - "tags" : [ "Optimization" ] + "summary" : "Update query config", + "tags" : [ "Logs Management" ] } }, - "/api/optimization/reclaim/orphaneddisks/{id}/include" : { - "post" : { - "operationId" : "includeOrphanedDisks", + "/api/logs/queryconfigs/{queryConfigId}" : { + "delete" : { + "operationId" : "deleteLIQueryConfig", "parameters" : [ { - "description" : "Id of orphaned disk", + "description" : "Identifier of Logs Query Config", "in" : "path", - "name" : "id", + "name" : "queryConfigId", "required" : true, "schema" : { - "type" : "string", - "format" : "uuid" + "type" : "string" } } ], "responses" : { - "200" : { - "description" : "The orphaned disk is included successfully" + "204" : { + "description" : "Query config is deleted successfully" + }, + "404" : { + "description" : "No such a query filter", + "x-vmw-compiler-skip" : true } }, - "summary" : "Include orphaned disk", - "tags" : [ "Optimization" ] - } - }, - "/api/optimization/reclaim/vms/{id}/exclude" : { - "post" : { - "operationId" : "excludeReclaimVMs", + "summary" : "Delete query config with specified id", + "tags" : [ "Logs Management" ] + }, + "get" : { + "operationId" : "getLIQueryConfig", "parameters" : [ { - "description" : "Id of VM", + "description" : "Identifier of Logs Query Config", "in" : "path", - "name" : "id", + "name" : "queryConfigId", "required" : true, "schema" : { - "type" : "string", - "format" : "uuid" + "type" : "string" } } ], "responses" : { "200" : { - "description" : "The reclaimable VM is excluded successfully" + "content" : { + "application/json" : { + "example" : "{\n \"id\" : \"09225bd3-6f56-4ea2-8bc3-a91a3b295b39\",\n \"name\" : \"LI Config Name\",\n \"description\" : \"LI Config Description\",\n \"queryFilters\" : {\n \"logQueryFiltersOperator\" : \"AND\",\n \"partitions\" : [ ],\n \"logQueryFilterConditions\" : [ {\n \"conditionField\" : \"485a194b-63e7-4fb1-9686-8a930989799d\",\n \"conditionValues\" : [ \"31c9b841-f966-4d78-aca1-410530e48c40\", \"9185662b-b4ab-4d09-935f-154dba463704\" ],\n \"queryFilterConditionOperatorType\" : \"CONTAINS\"\n }, {\n \"conditionField\" : \"485a194b-63e7-4fb1-9686-8a930989799d\",\n \"conditionValues\" : [ \"31c9b841-f966-4d78-aca1-410530e48c40\", \"9185662b-b4ab-4d09-935f-154dba463704\" ],\n \"queryFilterConditionOperatorType\" : \"CONTAINS\"\n } ]\n },\n \"queryText\" : [ \"text-1\", \"text-2\" ],\n \"dateRange\" : {\n \"fixedRange\" : \"LAST_7_DAYS\"\n },\n \"lastModifiedTime\" : 1753340214470,\n \"modifiedBy\" : \"admin\"\n}", + "schema" : { + "$ref" : "#/components/schemas/LogsQueryConfig" + } + } + }, + "description" : "Query config with specified id" + }, + "404" : { + "description" : "No such a query filter", + "x-vmw-compiler-skip" : true } }, - "summary" : "Exclude reclaimable VM", - "tags" : [ "Optimization" ] + "summary" : "Get query config with specified id", + "tags" : [ "Logs Management" ] } }, - "/api/optimization/reclaim/vms/{id}/include" : { - "post" : { - "operationId" : "includeReclaimVMs", + "/api/maintenanceschedules" : { + "delete" : { + "description" : "Using this method, you can delete a particular maintenance schedules", + "operationId" : "deleteMaintenanceSchedules", "parameters" : [ { - "description" : "Id of VM", - "in" : "path", + "description" : "Maintenance schedule identifiers", + "in" : "query", "name" : "id", "required" : true, "schema" : { - "type" : "string", - "format" : "uuid" + "type" : "array", + "items" : { + "type" : "string", + "format" : "uuid" + } } } ], "responses" : { - "200" : { - "description" : "The reclaimable VM is included successfully" + "204" : { + "description" : "The maintenance schedules are deleted successfully" } }, - "summary" : "Include reclaimable VM", - "tags" : [ "Optimization" ] - } - }, - "/api/optimization/rightsizing/vms/{id}/exclude" : { - "post" : { - "operationId" : "excludeRightsizingVMs", + "summary" : "Delete maintenance schedules with the given identifiers.", + "tags" : [ "Maintenance Schedules" ] + }, + "get" : { + "description" : "Using this method, you can get all maintenance schedules with or without specific parameters", + "operationId" : "getMaintenanceSchedules", "parameters" : [ { - "description" : "Id of VM", - "in" : "path", + "description" : "Maintenance schedule identifiers", + "in" : "query", "name" : "id", - "required" : true, + "required" : false, "schema" : { - "type" : "string", - "format" : "uuid" - } - } ], - "responses" : { - "200" : { - "description" : "The rightsizing VM is excluded successfully" + "type" : "array", + "items" : { + "type" : "string", + "format" : "uuid" + } } - }, - "summary" : "Exclude rightsizing VM", - "tags" : [ "Optimization" ] - } - }, - "/api/optimization/rightsizing/vms/{id}/include" : { - "post" : { - "operationId" : "includeRightsizingVMs", - "parameters" : [ { - "description" : "Id of VM", - "in" : "path", - "name" : "id", - "required" : true, + }, { + "description" : "Maintenance schedule names or keys", + "in" : "query", + "name" : "name", + "required" : false, "schema" : { - "type" : "string", - "format" : "uuid" + "type" : "array", + "items" : { + "type" : "string" + } } - } ], - "responses" : { - "200" : { - "description" : "The rightsizing VM is included successfully" + }, { + "description" : "List of Object identifiers", + "in" : "query", + "name" : "resourceId", + "required" : false, + "schema" : { + "type" : "array", + "items" : { + "type" : "string", + "format" : "uuid" + } } - }, - "summary" : "Include rightsizing VM", - "tags" : [ "Optimization" ] - } - }, - "/api/optimization/workloadplacement/history/query" : { - "post" : { - "description" : "Get WLP History.", - "operationId" : "getWlpHistory", - "parameters" : [ { + }, { "description" : "Page number from which data needs to be displayed (0-based)", "in" : "query", "name" : "page", @@ -15699,221 +16270,265 @@ "default" : 1000 } } ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "example" : "{\n \"schedules\" : [ {\n \"id\" : \"f5534f68-0139-4c57-aac0-fef0005d13d3\",\n \"key\" : \"daily-ms1\",\n \"schedule\" : {\n \"hour\" : 3,\n \"minuteOfTheHour\" : 0,\n \"duration\" : 180,\n \"scheduleType\" : \"DAILY\",\n \"recurrence\" : 1,\n \"expirationDate\" : \"01/20/2050\",\n \"timeZone\" : \"Asia/Yerevan\"\n }\n }, {\n \"id\" : \"0f5d8313-079c-4c00-ae9e-cb14d5e38443\",\n \"key\" : \"monthly-ms1\",\n \"schedule\" : {\n \"hour\" : 3,\n \"minuteOfTheHour\" : 0,\n \"duration\" : 3,\n \"scheduleType\" : \"MONTHLY\",\n \"daysOfTheMonth\" : [ \"1\", \"2\" ],\n \"months\" : [ 1 ],\n \"timeZone\" : \"Asia/Yerevan\",\n \"expireRuns\" : 3\n }\n }, {\n \"id\" : \"d07b52b5-6839-4ced-8809-7e8afc527059\",\n \"key\" : \"weekly-ms1\",\n \"schedule\" : {\n \"hour\" : 15,\n \"minuteOfTheHour\" : 3,\n \"duration\" : 1,\n \"scheduleType\" : \"WEEKLY\",\n \"recurrence\" : 5,\n \"daysOfTheWeek\" : [ \"SATURDAY\", \"SUNDAY\" ],\n \"timeZone\" : \"Asia/Yerevan\",\n \"expireRuns\" : 7\n }\n } ]\n}", + "schema" : { + "$ref" : "#/components/schemas/maintenance-schedules" + } + }, + "application/xml" : { + "example" : "\n\n \n \n 3\n 0\n 180\n DAILY\n 1\n 01/20/2050\n Asia/Yerevan\n \n \n \n \n 3\n 0\n 3\n MONTHLY\n 1 2\n 1\n Asia/Yerevan\n 3\n \n \n \n \n 15\n 3\n 1\n WEEKLY\n 5\n SATURDAY SUNDAY\n Asia/Yerevan\n 7\n \n \n\n", + "schema" : { + "$ref" : "#/components/schemas/maintenance-schedules" + } + } + }, + "description" : "The Maintenance Schedules that match the criteria specified" + } + }, + "summary" : "Query for all maintenance schedules based on schedule id, schedule name and resource id", + "tags" : [ "Maintenance Schedules" ] + }, + "post" : { + "description" : "Using this method, you can create a particular maintenance schedules", + "operationId" : "createMaintenanceSchedules", "requestBody" : { "content" : { "application/json" : { - "example" : "{\n \"startTime\" : 1753253588531,\n \"endTime\" : 1753339988531,\n \"resourceIds\" : [ \"917658c3-c05b-4751-95bf-9fd8a45da020\" ]\n}", + "example" : "{\n \"key\" : \"daily-ms1\",\n \"schedule\" : {\n \"hour\" : 2,\n \"minuteOfTheHour\" : 0,\n \"duration\" : 120,\n \"scheduleType\" : \"DAILY\",\n \"recurrence\" : 1,\n \"timeZone\" : \"Asia/Yerevan\",\n \"expireRuns\" : 3\n }\n}", "schema" : { - "$ref" : "#/components/schemas/wlp-history-query" + "$ref" : "#/components/schemas/maintenance-schedule" } }, "application/xml" : { - "example" : "\n\n 1753253588531\n 1753339988531\n \n 917658c3-c05b-4751-95bf-9fd8a45da020\n \n\n", + "example" : "\n\n \n 2\n 0\n 120\n DAILY\n 1\n Asia/Yerevan\n 3\n \n\n", "schema" : { - "$ref" : "#/components/schemas/wlp-history-query" + "$ref" : "#/components/schemas/maintenance-schedule" } } }, - "description" : "wlpHistoryQuery", + "description" : "The maintenance schedule to be created", "required" : true }, "responses" : { - "200" : { + "201" : { "content" : { "application/json" : { - "example" : "{\n \"rebalanceTasks\" : [ {\n \"id\" : \"41afe1c2-720d-4e1a-a0e2-c6dbce4593ad\",\n \"name\" : \"Datacenter-0\",\n \"adapterKind\" : \"VMWARE\",\n \"resourceKind\" : \"Datacenter\",\n \"taskId\" : \"028ed79b-cd30-4842-84c9-ca3fd34942b6\",\n \"taskName\" : \"Optimize Container\",\n \"eventSource\" : \"WLP\",\n \"state\" : \"PARTIAL_SUCCESS\",\n \"automated\" : false,\n \"vmMotions\" : [ {\n \"id\" : \"f664011b-f972-4f7c-9f8d-7dced0eeead0\",\n \"name\" : \"VM_for_Workload-0\",\n \"startTime\" : 1707678626459,\n \"endTime\" : 1707678766439,\n \"state\" : \"COMPLETED_SUCCESSFULLY\",\n \"sourceTargets\" : [ {\n \"sourceId\" : \"25ad1c35-80df-4d3e-9363-9a361df3a6a1\",\n \"sourceName\" : \"Cluster-0\",\n \"targetId\" : \"af20580f-18e2-4831-ad05-f7c6da5c27db\",\n \"targetName\" : \"Cluster-1\",\n \"resourceKind\" : \"Cluster\"\n }, {\n \"sourceId\" : \"25ad1c35-80df-4d3e-9363-9a361df3a6a1\",\n \"sourceName\" : \"Host-0\",\n \"targetId\" : \"af20580f-18e2-4831-ad05-f7c6da5c27db\",\n \"targetName\" : \"Host-1\",\n \"resourceKind\" : \"Host\"\n }, {\n \"sourceName\" : \"Datastore-0\",\n \"targetName\" : \"Datastore-1\",\n \"resourceKind\" : \"Datastore\"\n } ]\n }, {\n \"id\" : \"f664011b-f972-4f7c-9f8d-7dced0eeead0\",\n \"name\" : \"VM_for_Workload-1\",\n \"startTime\" : 1707678626459,\n \"endTime\" : 1707678766439,\n \"state\" : \"FAILED\",\n \"sourceTargets\" : [ {\n \"sourceId\" : \"25ad1c35-80df-4d3e-9363-9a361df3a6a1\",\n \"sourceName\" : \"Cluster-0\",\n \"targetId\" : \"af20580f-18e2-4831-ad05-f7c6da5c27db\",\n \"targetName\" : \"Cluster-1\",\n \"resourceKind\" : \"Cluster\"\n }, {\n \"sourceId\" : \"25ad1c35-80df-4d3e-9363-9a361df3a6a1\",\n \"sourceName\" : \"Host-0\",\n \"targetId\" : \"af20580f-18e2-4831-ad05-f7c6da5c27db\",\n \"targetName\" : \"Host-1\",\n \"resourceKind\" : \"Host\"\n }, {\n \"sourceName\" : \"Datastore-0\",\n \"targetName\" : \"Datastore-1\",\n \"resourceKind\" : \"Datastore\"\n } ]\n } ]\n } ]\n}", + "example" : "No Custom Example is Available", "schema" : { - "$ref" : "#/components/schemas/wlp-history" + "$ref" : "#/components/schemas/maintenance-schedule" } }, "application/xml" : { - "example" : "\n\n \n \n Datacenter-0\n VMWARE\n Datacenter\n 028ed79b-cd30-4842-84c9-ca3fd34942b6\n Optimize Container\n WLP\n PARTIAL_SUCCESS\n false\n \n \n f664011b-f972-4f7c-9f8d-7dced0eeead0\n VM_for_Workload-0\n 1707678626459\n 1707678766439\n COMPLETED_SUCCESSFULLY\n \n \n 25ad1c35-80df-4d3e-9363-9a361df3a6a1\n Cluster-0\n af20580f-18e2-4831-ad05-f7c6da5c27db\n Cluster-1\n Cluster\n \n \n 25ad1c35-80df-4d3e-9363-9a361df3a6a1\n Host-0\n af20580f-18e2-4831-ad05-f7c6da5c27db\n Host-1\n Host\n \n \n Datastore-0\n Datastore-1\n Datastore\n \n \n \n \n f664011b-f972-4f7c-9f8d-7dced0eeead0\n VM_for_Workload-1\n 1707678626459\n 1707678766439\n FAILED\n \n \n 25ad1c35-80df-4d3e-9363-9a361df3a6a1\n Cluster-0\n af20580f-18e2-4831-ad05-f7c6da5c27db\n Cluster-1\n Cluster\n \n \n 25ad1c35-80df-4d3e-9363-9a361df3a6a1\n Host-0\n af20580f-18e2-4831-ad05-f7c6da5c27db\n Host-1\n Host\n \n \n Datastore-0\n Datastore-1\n Datastore\n \n \n \n \n \n \n\n", + "example" : "No Custom Example is Available", "schema" : { - "$ref" : "#/components/schemas/wlp-history" + "$ref" : "#/components/schemas/maintenance-schedule" } } }, - "description" : "Get WLP History." + "description" : "The maintenance schedule created" + }, + "400" : { + "description" : "Invalid request parameters or request body", + "x-vmw-compiler-skip" : true + }, + "422" : { + "description" : "A maintenance schedule with the same key already exists", + "x-vmw-compiler-skip" : true } }, - "summary" : "Get WLP History.", - "tags" : [ "Optimization" ] - } - }, - "/api/optimization/workloadplacement/{dataCenterId}/automation/disable" : { + "summary" : "Create a maintenance schedule", + "tags" : [ "Maintenance Schedules" ] + }, "put" : { - "description" : "If you disable automation, the system will still look for optimization opportunities. Any actions will now be manual
NOTE: If you have any scheduled optimizations, they will be re-activated", - "operationId" : "disableAutomation", - "parameters" : [ { - "description" : "ID of the dataCenter", - "in" : "path", - "name" : "dataCenterId", - "required" : true, - "schema" : { - "type" : "string", - "format" : "uuid" - } - } ], + "description" : "Using this method, you can update a particular maintenance schedules", + "operationId" : "updateMaintenanceSchedules", + "requestBody" : { + "content" : { + "application/json" : { + "example" : "No Custom Example is Available", + "schema" : { + "$ref" : "#/components/schemas/maintenance-schedule" + } + }, + "application/xml" : { + "example" : "No Custom Example is Available", + "schema" : { + "$ref" : "#/components/schemas/maintenance-schedule" + } + } + }, + "description" : "The maintenance schedules to be updated", + "required" : true + }, "responses" : { "200" : { - "description" : "Optimization automation disabled successfully" + "description" : "The maintenance schedule was updated successfully" + }, + "404" : { + "description" : "The maintenance schedule does not exist", + "x-vmw-compiler-skip" : true } }, - "summary" : "Turning off automation", - "tags" : [ "Optimization" ] + "summary" : "Update an existing maintenance schedules", + "tags" : [ "Maintenance Schedules" ] } }, - "/api/optimization/workloadplacement/{dataCenterId}/automation/enable" : { - "put" : { - "description" : "Enabling automation will allow the system to optimize your datacenter by continuously looking for optimization opportunities
NOTE: Any scheduled optimizations will be deactivated during the time", - "operationId" : "enableAutomation", + "/api/notifications/rules" : { + "get" : { + "description" : "Get all the Notification Rules defined in the system", + "operationId" : "getAllNotificationRules", "parameters" : [ { - "description" : "ID of the dataCenter", - "in" : "path", - "name" : "dataCenterId", - "required" : true, + "description" : "Page number from which data needs to be displayed (0-based)", + "in" : "query", + "name" : "page", "schema" : { - "type" : "string", - "format" : "uuid" + "type" : "integer", + "format" : "int32", + "default" : 0 + } + }, { + "description" : "Expected number of entries per page", + "in" : "query", + "name" : "pageSize", + "schema" : { + "type" : "integer", + "format" : "int32", + "default" : 1000 } } ], "responses" : { "200" : { - "description" : "Optimization automation enabled successfully" + "content" : { + "application/json" : { + "example" : "{\n \"rules\" : [ {\n \"id\" : \"493b1a14-ad34-4f0a-a2b4-97c99eb4bc75\",\n \"name\" : \"Notification Rule 1\",\n \"pluginId\" : \"Some Notification Plugin Instance ID\",\n \"enabled\" : true,\n \"templateId\" : \"Some Payload Template ID\",\n \"alertControlStates\" : [ \"OPEN\", \"ASSIGNED\" ],\n \"alertStatuses\" : [ \"NEW\", \"ACTIVE\" ],\n \"criticalities\" : [ \"CRITICAL\", \"IMMEDIATE\" ],\n \"resourceKindFilter\" : {\n \"resourceKind\" : \"Datastore\",\n \"adapterKind\" : \"VMWARE\"\n },\n \"resourceKindFilters\" : [ ],\n \"resourceFilters\" : [ ],\n \"alertTypeFilters\" : [ ],\n \"alertDefinitionIdFilters\" : {\n \"values\" : [ \"VMWARE-Datastore-NotEnoughIOPS\" ]\n },\n \"sendHeartbeat\" : false,\n \"properties\" : [ ],\n \"ruleType\" : \"ALERT\",\n \"actionStatuses\" : [ ]\n }, {\n \"id\" : \"33b88a50-7bf1-4c9b-b1c7-b2338eae6555\",\n \"name\" : \"Notification Rule 2\",\n \"pluginId\" : \"Some Other Notification Plugin Instance ID\",\n \"enabled\" : false,\n \"templateId\" : \"Some Other Payload Template ID\",\n \"alertControlStates\" : [ \"SUPPRESSED\", \"SUSPENDED\" ],\n \"alertStatuses\" : [ \"CANCELED\", \"UPDATED\" ],\n \"criticalities\" : [ \"WARNING\", \"INFORMATION\" ],\n \"resourceKindFilters\" : [ ],\n \"resourceFilters\" : [ {\n \"resourceId\" : \"4d34be74-cd9f-42c9-8502-3487b7950dd1\",\n \"childrenResourceKindFilters\" : [ ],\n \"childrenResourceKindKeyFilters\" : [ ]\n } ],\n \"alertTypeFilters\" : [ ],\n \"alertImpactFilters\" : {\n \"values\" : [ \"HEALTH\", \"RISK\" ]\n },\n \"sendHeartbeat\" : true,\n \"properties\" : [ ],\n \"ruleType\" : \"ALERT\",\n \"actionStatuses\" : [ ]\n } ]\n}", + "schema" : { + "$ref" : "#/components/schemas/notification-rules" + } + }, + "application/xml" : { + "example" : "\n\n \n Notification Rule 1\n Some Notification Plugin Instance ID\n true\n Some Payload Template ID\n OPEN ASSIGNED\n NEW ACTIVE\n CRITICAL IMMEDIATE\n \n Datastore\n VMWARE\n \n \n \n \n VMWARE-Datastore-NotEnoughIOPS\n \n false\n \n \n \n Notification Rule 2\n Some Other Notification Plugin Instance ID\n false\n Some Other Payload Template ID\n SUPPRESSED SUSPENDED\n CANCELED UPDATED\n WARNING INFORMATION\n \n \n \n \n \n HEALTH\n RISK\n \n true\n \n \n\n", + "schema" : { + "$ref" : "#/components/schemas/notification-rules" + } + } + }, + "description" : "All the Notification Rules defined in the system" } }, - "summary" : "Turning on automation", - "tags" : [ "Optimization" ] - } - }, - "/api/optimization/workloadplacement/{dataCenterId}/automation/status" : { - "get" : { - "description" : "Get optimization automation status", - "operationId" : "getAutomationStatus", - "parameters" : [ { - "description" : "ID of the dataCenter", - "in" : "path", - "name" : "dataCenterId", - "required" : true, - "schema" : { - "type" : "string", - "format" : "uuid" - } - } ], + "summary" : "Get all the Notification Rules defined in the system", + "tags" : [ "Notifications" ] + }, + "post" : { + "description" : "The Notification Plugin with which the Rule needs to be associated must be specified as part of the request.", + "operationId" : "createNotificationPluginRule", + "requestBody" : { + "content" : { + "application/json" : { + "example" : "{\n \"name\" : \"Notification Rule 1\",\n \"pluginId\" : \"Some Notification Plugin Instance ID\",\n \"enabled\" : true,\n \"templateId\" : \"Some Payload Template ID\",\n \"alertControlStates\" : [ \"OPEN\", \"ASSIGNED\" ],\n \"alertStatuses\" : [ \"NEW\", \"ACTIVE\" ],\n \"criticalities\" : [ \"CRITICAL\", \"IMMEDIATE\" ],\n \"resourceKindFilter\" : {\n \"resourceKind\" : \"Datastore\",\n \"adapterKind\" : \"VMWARE\"\n },\n \"resourceKindFilters\" : [ ],\n \"resourceFilters\" : [ ],\n \"alertTypeFilters\" : [ ],\n \"alertDefinitionIdFilters\" : {\n \"values\" : [ \"VMWARE-Datastore-NotEnoughIOPS\" ]\n },\n \"sendHeartbeat\" : false,\n \"properties\" : [ ],\n \"ruleType\" : \"ALERT\",\n \"actionStatuses\" : [ ]\n}", + "schema" : { + "$ref" : "#/components/schemas/notification-rule" + } + }, + "application/xml" : { + "example" : "\n\n Notification Rule 1\n Some Notification Plugin Instance ID\n true\n Some Payload Template ID\n OPEN ASSIGNED\n NEW ACTIVE\n CRITICAL IMMEDIATE\n \n Datastore\n VMWARE\n \n \n \n \n VMWARE-Datastore-NotEnoughIOPS\n \n false\n \n\n", + "schema" : { + "$ref" : "#/components/schemas/notification-rule" + } + } + }, + "description" : "The notification rule that needs to be created", + "required" : true + }, "responses" : { - "200" : { + "201" : { "content" : { "application/json" : { - "example" : "No Custom Example is Available", + "example" : "{\n \"id\" : \"493b1a14-ad34-4f0a-a2b4-97c99eb4bc75\",\n \"name\" : \"Notification Rule 1\",\n \"pluginId\" : \"Some Notification Plugin Instance ID\",\n \"enabled\" : true,\n \"templateId\" : \"Some Payload Template ID\",\n \"alertControlStates\" : [ \"OPEN\", \"ASSIGNED\" ],\n \"alertStatuses\" : [ \"NEW\", \"ACTIVE\" ],\n \"criticalities\" : [ \"CRITICAL\", \"IMMEDIATE\" ],\n \"resourceKindFilter\" : {\n \"resourceKind\" : \"Datastore\",\n \"adapterKind\" : \"VMWARE\"\n },\n \"resourceKindFilters\" : [ ],\n \"resourceFilters\" : [ ],\n \"alertTypeFilters\" : [ ],\n \"alertDefinitionIdFilters\" : {\n \"values\" : [ \"VMWARE-Datastore-NotEnoughIOPS\" ]\n },\n \"sendHeartbeat\" : false,\n \"properties\" : [ ],\n \"ruleType\" : \"ALERT\",\n \"actionStatuses\" : [ ]\n}", "schema" : { - "$ref" : "#/components/schemas/workload-optimization-automation-status" + "$ref" : "#/components/schemas/notification-rule" } }, "application/xml" : { - "example" : "No Custom Example is Available", + "example" : "\n\n Notification Rule 1\n Some Notification Plugin Instance ID\n true\n Some Payload Template ID\n OPEN ASSIGNED\n NEW ACTIVE\n CRITICAL IMMEDIATE\n \n Datastore\n VMWARE\n \n \n \n \n VMWARE-Datastore-NotEnoughIOPS\n \n false\n \n\n", "schema" : { - "$ref" : "#/components/schemas/workload-optimization-automation-status" + "$ref" : "#/components/schemas/notification-rule" } } }, - "description" : "Get optimization automation status" - } - }, - "summary" : "Get optimization automation status", - "tags" : [ "Optimization" ] - } - }, - "/api/optimization/workloadplacement/{dataCenterId}/crossdcmove/disable" : { - "put" : { - "description" : "Disable cluster-level optimization across datacenter boundaries in a vCenter.
NOTE: This API is only applicable for custom datacenters", - "operationId" : "disableCrossDCMove", - "parameters" : [ { - "description" : "ID of the dataCenter", - "in" : "path", - "name" : "dataCenterId", - "required" : true, - "schema" : { - "type" : "string", - "format" : "uuid" - } - } ], - "responses" : { - "200" : { - "description" : "Cross datacenter move disabled successfully" + "description" : "The Notification Rule was created successfully in the system" + }, + "404" : { + "description" : "An invalid Alert Definition identifier was specified as part of Alert Definition Filter", + "x-vmw-compiler-skip" : true + }, + "422" : { + "description" : "An invalid request body was specified or any constraints were violated", + "x-vmw-compiler-skip" : true } }, - "summary" : "Disable cluster-level optimization across datacenter boundaries in a vCenter", - "tags" : [ "Optimization" ] - } - }, - "/api/optimization/workloadplacement/{dataCenterId}/crossdcmove/enable" : { + "summary" : "Create a new Notification Rule for a Notification Plugin Instance", + "tags" : [ "Notifications" ] + }, "put" : { - "description" : "If your custom datacenter includes clusters from multiple datacenters within the same vCenter, you can enable cross datacenter move to ensure optimization occurs across datacenter boundaries.
NOTE: This API is only applicable for custom datacenters", - "operationId" : "enableCrossDCMove", - "parameters" : [ { - "description" : "ID of the dataCenter", - "in" : "path", - "name" : "dataCenterId", - "required" : true, - "schema" : { - "type" : "string", - "format" : "uuid" - } - } ], - "responses" : { - "200" : { - "description" : "Cross datacenter move enabled successfully" - } + "description" : "Update a specific Notification Rule for a Notification Plugin Instance", + "operationId" : "updateNotificationPluginRule", + "requestBody" : { + "content" : { + "application/json" : { + "example" : "{\n \"id\" : \"493b1a14-ad34-4f0a-a2b4-97c99eb4bc75\",\n \"name\" : \"Notification Rule 1\",\n \"pluginId\" : \"Some Notification Plugin Instance ID\",\n \"enabled\" : true,\n \"templateId\" : \"Some Payload Template ID\",\n \"alertControlStates\" : [ \"OPEN\", \"ASSIGNED\" ],\n \"alertStatuses\" : [ \"NEW\", \"ACTIVE\" ],\n \"criticalities\" : [ \"CRITICAL\", \"IMMEDIATE\" ],\n \"resourceKindFilter\" : {\n \"resourceKind\" : \"Datastore\",\n \"adapterKind\" : \"VMWARE\"\n },\n \"resourceKindFilters\" : [ ],\n \"resourceFilters\" : [ ],\n \"alertTypeFilters\" : [ ],\n \"alertDefinitionIdFilters\" : {\n \"values\" : [ \"VMWARE-Datastore-NotEnoughIOPS\" ]\n },\n \"sendHeartbeat\" : false,\n \"properties\" : [ ],\n \"ruleType\" : \"ALERT\",\n \"actionStatuses\" : [ ]\n}", + "schema" : { + "$ref" : "#/components/schemas/notification-rule" + } + }, + "application/xml" : { + "example" : "\n\n Notification Rule 1\n Some Notification Plugin Instance ID\n true\n Some Payload Template ID\n OPEN ASSIGNED\n NEW ACTIVE\n CRITICAL IMMEDIATE\n \n Datastore\n VMWARE\n \n \n \n \n VMWARE-Datastore-NotEnoughIOPS\n \n false\n \n\n", + "schema" : { + "$ref" : "#/components/schemas/notification-rule" + } + } + }, + "description" : "The notification rule that needs to be updated", + "required" : true }, - "summary" : "Enable cluster-level optimization across datacenter boundaries in a vCenter", - "tags" : [ "Optimization" ] - } - }, - "/api/optimization/workloadplacement/{dataCenterId}/crossdcmove/status" : { - "get" : { - "description" : "Get cross datacenter move allowed status.
NOTE: This API is only applicable for custom datacenters", - "operationId" : "getCrossDCMoveStatus", - "parameters" : [ { - "description" : "ID of the dataCenter", - "in" : "path", - "name" : "dataCenterId", - "required" : true, - "schema" : { - "type" : "string", - "format" : "uuid" - } - } ], "responses" : { "200" : { "content" : { "application/json" : { - "example" : "No Custom Example is Available", + "example" : "{\n \"id\" : \"493b1a14-ad34-4f0a-a2b4-97c99eb4bc75\",\n \"name\" : \"Notification Rule 1\",\n \"pluginId\" : \"Some Notification Plugin Instance ID\",\n \"enabled\" : true,\n \"templateId\" : \"Some Payload Template ID\",\n \"alertControlStates\" : [ \"OPEN\", \"ASSIGNED\" ],\n \"alertStatuses\" : [ \"NEW\", \"ACTIVE\" ],\n \"criticalities\" : [ \"CRITICAL\", \"IMMEDIATE\" ],\n \"resourceKindFilter\" : {\n \"resourceKind\" : \"Datastore\",\n \"adapterKind\" : \"VMWARE\"\n },\n \"resourceKindFilters\" : [ ],\n \"resourceFilters\" : [ ],\n \"alertTypeFilters\" : [ ],\n \"alertDefinitionIdFilters\" : {\n \"values\" : [ \"VMWARE-Datastore-NotEnoughIOPS\" ]\n },\n \"sendHeartbeat\" : false,\n \"properties\" : [ ],\n \"ruleType\" : \"ALERT\",\n \"actionStatuses\" : [ ]\n}", "schema" : { - "$ref" : "#/components/schemas/cross-dc-move-status" + "$ref" : "#/components/schemas/notification-rule" } }, "application/xml" : { - "example" : "No Custom Example is Available", + "example" : "\n\n Notification Rule 1\n Some Notification Plugin Instance ID\n true\n Some Payload Template ID\n OPEN ASSIGNED\n NEW ACTIVE\n CRITICAL IMMEDIATE\n \n Datastore\n VMWARE\n \n \n \n \n VMWARE-Datastore-NotEnoughIOPS\n \n false\n \n\n", "schema" : { - "$ref" : "#/components/schemas/cross-dc-move-status" + "$ref" : "#/components/schemas/notification-rule" } } }, - "description" : "Get cross datacenter move allowed status" + "description" : "The Notification Rule was updated successfully in the system" + }, + "422" : { + "description" : "An invalid request body was specified or any constraints were violated", + "x-vmw-compiler-skip" : true } }, - "summary" : "Get cross datacenter move allowed status", - "tags" : [ "Optimization" ] + "summary" : "Update a specific Notification Rule for a Notification Plugin Instance", + "tags" : [ "Notifications" ] } }, - "/api/optimization/workloadplacement/{dataCenterId}/settings" : { + "/api/notifications/rules/{id}" : { "delete" : { - "description" : "NOTE: The current settings will be removed.", - "operationId" : "deletePlacementConfiguration", + "description" : "Using this method, you can delete a particular notification plugin rule", + "operationId" : "deleteNotificationPluginRules", "parameters" : [ { - "description" : "ID of the dataCenter", + "description" : "The Notification Rule Identifier", "in" : "path", - "name" : "dataCenterId", + "name" : "id", "required" : true, "schema" : { "type" : "string", @@ -15922,18 +16537,19 @@ } ], "responses" : { "204" : { - "description" : "The placement configuration is disabled successfully" + "description" : "The notification plugin rules are deleted successfully" } }, - "summary" : "Turn off placement settings on datacenter", - "tags" : [ "Optimization" ] + "summary" : "Delete a specific existing Notification Rule associated with a Notification Plugin Instance", + "tags" : [ "Notifications" ] }, "get" : { - "operationId" : "getPlacementSettings", + "description" : "Get the Notification Rule for the specified identifier", + "operationId" : "getNotificationRule", "parameters" : [ { - "description" : "Identifier of the dataCenter", + "description" : "The Identifier of the notification rule", "in" : "path", - "name" : "dataCenterId", + "name" : "id", "required" : true, "schema" : { "type" : "string", @@ -15944,403 +16560,328 @@ "200" : { "content" : { "application/json" : { - "example" : "{\n \"taggingScope\" : \"CLUSTER_BASED\",\n \"tagGroups\" : [ {\n \"name\" : \"Operating System\",\n \"prioritized\" : true,\n \"tags\" : [ ],\n \"resourceTags\" : [ {\n \"category\" : \"tag_category_1\",\n \"name\" : \"tag_name_1\"\n }, {\n \"category\" : \"tag_category_1\",\n \"name\" : \"tag_name_2\"\n } ]\n }, {\n \"name\" : \"Network\",\n \"prioritized\" : false,\n \"tags\" : [ ],\n \"resourceTags\" : [ ]\n } ],\n \"excludedClusterTagGroups\" : [ {\n \"name\" : \"Operating System\",\n \"tags\" : [ ],\n \"resourceTags\" : [ {\n \"category\" : \"tag_category_2\",\n \"name\" : \"tag_name_1\"\n }, {\n \"category\" : \"tag_category_2\",\n \"name\" : \"tag_name_2\"\n } ]\n } ],\n \"excludedVmTagGroups\" : [ ],\n \"placementSettingsEnabled\" : true,\n \"clusterExclusionEnabled\" : false,\n \"vmExclusionEnabled\" : false\n}", + "example" : "{\n \"id\" : \"493b1a14-ad34-4f0a-a2b4-97c99eb4bc75\",\n \"name\" : \"Notification Rule 1\",\n \"pluginId\" : \"Some Notification Plugin Instance ID\",\n \"enabled\" : true,\n \"templateId\" : \"Some Payload Template ID\",\n \"alertControlStates\" : [ \"OPEN\", \"ASSIGNED\" ],\n \"alertStatuses\" : [ \"NEW\", \"ACTIVE\" ],\n \"criticalities\" : [ \"CRITICAL\", \"IMMEDIATE\" ],\n \"resourceKindFilter\" : {\n \"resourceKind\" : \"Datastore\",\n \"adapterKind\" : \"VMWARE\"\n },\n \"resourceKindFilters\" : [ ],\n \"resourceFilters\" : [ ],\n \"alertTypeFilters\" : [ ],\n \"alertDefinitionIdFilters\" : {\n \"values\" : [ \"VMWARE-Datastore-NotEnoughIOPS\" ]\n },\n \"sendHeartbeat\" : false,\n \"properties\" : [ ],\n \"ruleType\" : \"ALERT\",\n \"actionStatuses\" : [ ]\n}", "schema" : { - "$ref" : "#/components/schemas/workload-placement-settings" + "$ref" : "#/components/schemas/notification-rule" } }, "application/xml" : { - "example" : "\n\n CLUSTER_BASED\n \n \n Operating System\n true\n \n \n \n \n \n \n \n Network\n false\n \n \n \n \n \n \n Operating System\n \n \n \n \n \n \n \n \n true\n false\n false\n\n", + "example" : "\n\n Notification Rule 1\n Some Notification Plugin Instance ID\n true\n Some Payload Template ID\n OPEN ASSIGNED\n NEW ACTIVE\n CRITICAL IMMEDIATE\n \n Datastore\n VMWARE\n \n \n \n \n VMWARE-Datastore-NotEnoughIOPS\n \n false\n \n\n", "schema" : { - "$ref" : "#/components/schemas/workload-placement-settings" + "$ref" : "#/components/schemas/notification-rule" } } }, - "description" : "Get placement settings" + "description" : "The Notification Rule for the specified identifier" + }, + "404" : { + "description" : "There is no Notification Rule for the specified identifier", + "x-vmw-compiler-skip" : true } }, - "summary" : "Get placement settings", - "tags" : [ "Optimization" ] - }, - "put" : { - "description" : "To set host level placement constraints, VMware Cloud Foundation Operations will automatically create and manage DRS rules. All conflicting user-created DRS rules need to be DEACTIVATED. These include the following:
  • VM-VM affinity / anti-affinity

  • VM-Host affinity / anti-affinity

", - "operationId" : "setPlacementSettings", + "summary" : "Get the Notification Rule for the specified identifier", + "tags" : [ "Notifications" ] + } + }, + "/api/notifications/templates" : { + "get" : { + "description" : "If the search criteria is not satisfied, the API will return all Notification Templates", + "operationId" : "getNotificationTemplates", "parameters" : [ { - "description" : "Identifier of the dataCenter", - "in" : "path", - "name" : "dataCenterId", - "required" : true, + "description" : "Template name to search for", + "in" : "query", + "name" : "name", + "required" : false, "schema" : { "type" : "string", - "format" : "uuid" + "description" : "Template name to search for" } }, { - "description" : "During HOST_BASED configuration, set this flag to true to deactivate all conflicting user-created DRS rules", + "description" : "Template description to search for", "in" : "query", - "name" : "deactivateDRSRules", + "name" : "description", "required" : false, "schema" : { - "type" : "boolean", - "default" : false + "type" : "string", + "description" : "Template description to search for" } - } ], - "requestBody" : { - "content" : { - "application/json" : { - "example" : "{\n \"taggingScope\" : \"CLUSTER_BASED\",\n \"tagGroups\" : [ {\n \"name\" : \"Operating System\",\n \"prioritized\" : true,\n \"tags\" : [ ],\n \"resourceTags\" : [ {\n \"category\" : \"tag_category_1\",\n \"name\" : \"tag_name_1\"\n }, {\n \"category\" : \"tag_category_1\",\n \"name\" : \"tag_name_2\"\n } ]\n }, {\n \"name\" : \"Network\",\n \"prioritized\" : false,\n \"tags\" : [ ],\n \"resourceTags\" : [ ]\n } ],\n \"excludedClusterTagGroups\" : [ {\n \"name\" : \"Operating System\",\n \"tags\" : [ ],\n \"resourceTags\" : [ {\n \"category\" : \"tag_category_2\",\n \"name\" : \"tag_name_1\"\n }, {\n \"category\" : \"tag_category_2\",\n \"name\" : \"tag_name_2\"\n } ]\n } ],\n \"excludedVmTagGroups\" : [ ],\n \"placementSettingsEnabled\" : true,\n \"clusterExclusionEnabled\" : false,\n \"vmExclusionEnabled\" : false\n}", - "schema" : { - "$ref" : "#/components/schemas/workload-placement-settings" - } - }, - "application/xml" : { - "example" : "\n\n CLUSTER_BASED\n \n \n Operating System\n true\n \n \n \n \n \n \n \n Network\n false\n \n \n \n \n \n \n Operating System\n \n \n \n \n \n \n \n \n true\n false\n false\n\n", - "schema" : { - "$ref" : "#/components/schemas/workload-placement-settings" - } - } - }, - "description" : "Placement settings object", - "required" : true - }, - "responses" : { - "200" : { - "content" : { - "application/json" : { - "example" : "{\n \"taggingScope\" : \"CLUSTER_BASED\",\n \"tagGroups\" : [ {\n \"name\" : \"Operating System\",\n \"prioritized\" : true,\n \"tags\" : [ ],\n \"resourceTags\" : [ {\n \"category\" : \"tag_category_1\",\n \"name\" : \"tag_name_1\"\n }, {\n \"category\" : \"tag_category_1\",\n \"name\" : \"tag_name_2\"\n } ]\n }, {\n \"name\" : \"Network\",\n \"prioritized\" : false,\n \"tags\" : [ ],\n \"resourceTags\" : [ ]\n } ],\n \"excludedClusterTagGroups\" : [ {\n \"name\" : \"Operating System\",\n \"tags\" : [ ],\n \"resourceTags\" : [ {\n \"category\" : \"tag_category_2\",\n \"name\" : \"tag_name_1\"\n }, {\n \"category\" : \"tag_category_2\",\n \"name\" : \"tag_name_2\"\n } ]\n } ],\n \"excludedVmTagGroups\" : [ ],\n \"placementSettingsEnabled\" : true,\n \"clusterExclusionEnabled\" : false,\n \"vmExclusionEnabled\" : false\n}", - "schema" : { - "$ref" : "#/components/schemas/workload-placement-settings" - } - }, - "application/xml" : { - "example" : "\n\n CLUSTER_BASED\n \n \n Operating System\n true\n \n \n \n \n \n \n \n Network\n false\n \n \n \n \n \n \n Operating System\n \n \n \n \n \n \n \n \n true\n false\n false\n\n", - "schema" : { - "$ref" : "#/components/schemas/workload-placement-settings" - } - } - }, - "description" : "Update placement settings" + }, { + "description" : "Attached outbound method of template to search for", + "in" : "query", + "name" : "outboundMethod", + "required" : false, + "schema" : { + "type" : "string", + "description" : "Attached outbound method of template to search for" } - }, - "summary" : "Set up your business intent to place VMs based on criteria", - "tags" : [ "Optimization" ] - } - }, - "/api/policies" : { - "get" : { - "description" : "Returns all available policies.", - "operationId" : "getPolicies", - "parameters" : [ { - "description" : "True to get only active policies (the ones that have priority, and default policy).", + }, { + "description" : "Template modified user name to search for", "in" : "query", - "name" : "activesOnly", + "name" : "modifiedBy", "required" : false, "schema" : { - "type" : "boolean", - "default" : false + "type" : "string", + "description" : "Template modified user name to search for" + } + }, { + "description" : "Page number from which data needs to be displayed (0-based)", + "in" : "query", + "name" : "page", + "schema" : { + "type" : "integer", + "format" : "int32", + "default" : 0 + } + }, { + "description" : "Expected number of entries per page", + "in" : "query", + "name" : "pageSize", + "schema" : { + "type" : "integer", + "format" : "int32", + "default" : 1000 } } ], "responses" : { "200" : { "content" : { "application/json" : { - "example" : "{\n \"policySummaries\" : [ {\n \"id\" : \"07bb9692-6893-45dd-8f31-88b28e93b90c\",\n \"name\" : \"XYZ Production Policy\",\n \"defaultPolicy\" : false\n }, {\n \"id\" : \"a3cce416-5d9f-4312-8214-61690ec1681e\",\n \"name\" : \"CPU Overcommit Policy\",\n \"defaultPolicy\" : false\n } ]\n}", + "example" : "{\n \"notificationTemplates\" : [ {\n \"templateId\" : \"a8107b20-0a38-4d7c-8292-dae0e5ca9f49\",\n \"pluginTypeId\" : \"WebhookPlugin\",\n \"name\" : \"Template\",\n \"description\" : \"WebhookPlugin Description\",\n \"contentConfigs\" : [ {\n \"baseResourceKindKeyStats\" : {\n \"resourceKindKey\" : {\n \"resourceKind\" : \"Resource kind\",\n \"adapterKind\" : \"Adapter kind\"\n },\n \"stats\" : [ \"Property key\", \"Stat key\" ]\n },\n \"ancestorResourceKindKeys\" : [ {\n \"resourceKindKey\" : {\n \"resourceKind\" : \"Ancestor Resource kind\",\n \"adapterKind\" : \"Ancestor Adapter kind\"\n },\n \"stats\" : [ \"Ancestor Stat Key\", \"Ancestor Property Key\" ]\n } ],\n \"descendantResourceKindKeys\" : [ {\n \"resourceKindKey\" : {\n \"resourceKind\" : \"Descendant Resource kind\",\n \"adapterKind\" : \"Descendant Adapter kind\"\n },\n \"stats\" : [ \"Descendant Property Key\", \"Descendant Stat Key\" ]\n } ]\n } ],\n \"formattingTemplate\" : {\n \"type\" : \"WEBHOOK_TEMPLATE\",\n \"newAlertTemplate\" : {\n \"endpoint\" : \"/endpoint\",\n \"headers\" : [ {\n \"key\" : \"Content-type\",\n \"value\" : \"application/json\"\n }, {\n \"key\" : \"Header Key\",\n \"value\" : \"Header Value\"\n } ],\n \"method\" : \"POST\",\n \"payload\" : \"{\\\"startDate\\\":\\\"${CREATE_TIME}\\\"}\"\n }\n },\n \"templateType\" : \"ALERT\"\n } ]\n}", "schema" : { - "$ref" : "#/components/schemas/policy-summaries-collection" + "$ref" : "#/components/schemas/notification-templates" } }, "application/xml" : { - "example" : "\n\n \n \n false\n \n \n false\n \n \n\n", + "example" : "\n\n \n \n WebhookPlugin\n Template\n WebhookPlugin Description\n \n \n \n \n Resource kind\n Adapter kind\n \n \n Property key\n Stat key\n \n \n \n \n \n Ancestor Resource kind\n Ancestor Adapter kind\n \n \n Ancestor Stat Key\n Ancestor Property Key\n \n \n \n \n \n \n Descendant Resource kind\n Descendant Adapter kind\n \n \n Descendant Property Key\n Descendant Stat Key\n \n \n \n \n \n \n \n /endpoint\n \n \n Content-type\n application/json\n \n \n Header Key\n Header Value\n \n \n POST\n {\"startDate\":\"${CREATE_TIME}\"}\n \n \n \n \n\n", "schema" : { - "$ref" : "#/components/schemas/policy-summaries-collection" + "$ref" : "#/components/schemas/notification-templates" } } }, - "description" : "Array of policy summaries" + "description" : "The collection of Alert Definitions" } }, - "summary" : "Get all available policies.", - "tags" : [ "Policies" ] + "summary" : "Get notification templates matching the search criteria specified", + "tags" : [ "Notifications" ] }, "post" : { - "description" : "Create a new policy.", - "operationId" : "createPolicy", + "description" : "Creates a new notification template.
NOTE: Limit for selected Resource Kinds count is 30.
NOTE: Limit for selected Stats count is 30.", + "operationId" : "createNotificationTemplate", "requestBody" : { "content" : { "application/json" : { - "example" : "{\n \"name\" : \"XYZ Production Policy\",\n \"description\" : \"=Production Policy Description\",\n \"parentPolicy\" : \"455266b0-f61a-4983-9f0b-628d35eddba0\"\n}", + "example" : "{\n \"pluginTypeId\" : \"WebhookPlugin\",\n \"name\" : \"Template\",\n \"description\" : \"WebhookPlugin Description\",\n \"contentConfigs\" : [ {\n \"baseResourceKindKeyStats\" : {\n \"resourceKindKey\" : {\n \"resourceKind\" : \"Resource kind\",\n \"adapterKind\" : \"Adapter kind\"\n },\n \"stats\" : [ \"Property key\", \"Stat key\" ]\n },\n \"ancestorResourceKindKeys\" : [ {\n \"resourceKindKey\" : {\n \"resourceKind\" : \"Ancestor Resource kind\",\n \"adapterKind\" : \"Ancestor Adapter kind\"\n },\n \"stats\" : [ \"Ancestor Stat Key\", \"Ancestor Property Key\" ]\n } ],\n \"descendantResourceKindKeys\" : [ {\n \"resourceKindKey\" : {\n \"resourceKind\" : \"Descendant Resource kind\",\n \"adapterKind\" : \"Descendant Adapter kind\"\n },\n \"stats\" : [ \"Descendant Property Key\", \"Descendant Stat Key\" ]\n } ]\n } ],\n \"formattingTemplate\" : {\n \"type\" : \"WEBHOOK_TEMPLATE\",\n \"newAlertTemplate\" : {\n \"endpoint\" : \"/endpoint\",\n \"headers\" : [ {\n \"key\" : \"Content-type\",\n \"value\" : \"application/json\"\n }, {\n \"key\" : \"Header Key\",\n \"value\" : \"Header Value\"\n } ],\n \"method\" : \"POST\",\n \"payload\" : \"{\\\"startDate\\\":\\\"${CREATE_TIME}\\\"}\"\n }\n },\n \"templateType\" : \"ALERT\"\n}", "schema" : { - "$ref" : "#/components/schemas/policy" + "$ref" : "#/components/schemas/notification-template" } }, "application/xml" : { - "example" : "\n\n =Production Policy Description\n 455266b0-f61a-4983-9f0b-628d35eddba0\n\n", + "example" : "\n\n WebhookPlugin\n Template\n WebhookPlugin Description\n \n \n \n \n Resource kind\n Adapter kind\n \n \n Property key\n Stat key\n \n \n \n \n \n Ancestor Resource kind\n Ancestor Adapter kind\n \n \n Ancestor Stat Key\n Ancestor Property Key\n \n \n \n \n \n \n Descendant Resource kind\n Descendant Adapter kind\n \n \n Descendant Property Key\n Descendant Stat Key\n \n \n \n \n \n \n \n /endpoint\n \n \n Content-type\n application/json\n \n \n Header Key\n Header Value\n \n \n POST\n {\"startDate\":\"${CREATE_TIME}\"}\n \n \n\n", "schema" : { - "$ref" : "#/components/schemas/policy" + "$ref" : "#/components/schemas/notification-template" } } }, - "description" : "The Policy object which can be used to create the policy", + "description" : "Notification template as payload", "required" : true }, "responses" : { "201" : { "content" : { "application/json" : { - "example" : "No Custom Example is Available", + "example" : "{\n \"templateId\" : \"a8107b20-0a38-4d7c-8292-dae0e5ca9f49\",\n \"pluginTypeId\" : \"WebhookPlugin\",\n \"name\" : \"Template\",\n \"description\" : \"WebhookPlugin Description\",\n \"contentConfigs\" : [ {\n \"baseResourceKindKeyStats\" : {\n \"resourceKindKey\" : {\n \"resourceKind\" : \"Resource kind\",\n \"adapterKind\" : \"Adapter kind\"\n },\n \"stats\" : [ \"Property key\", \"Stat key\" ]\n },\n \"ancestorResourceKindKeys\" : [ {\n \"resourceKindKey\" : {\n \"resourceKind\" : \"Ancestor Resource kind\",\n \"adapterKind\" : \"Ancestor Adapter kind\"\n },\n \"stats\" : [ \"Ancestor Stat Key\", \"Ancestor Property Key\" ]\n } ],\n \"descendantResourceKindKeys\" : [ {\n \"resourceKindKey\" : {\n \"resourceKind\" : \"Descendant Resource kind\",\n \"adapterKind\" : \"Descendant Adapter kind\"\n },\n \"stats\" : [ \"Descendant Property Key\", \"Descendant Stat Key\" ]\n } ]\n } ],\n \"formattingTemplate\" : {\n \"type\" : \"WEBHOOK_TEMPLATE\",\n \"newAlertTemplate\" : {\n \"endpoint\" : \"/endpoint\",\n \"headers\" : [ {\n \"key\" : \"Content-type\",\n \"value\" : \"application/json\"\n }, {\n \"key\" : \"Header Key\",\n \"value\" : \"Header Value\"\n } ],\n \"method\" : \"POST\",\n \"payload\" : \"{\\\"startDate\\\":\\\"${CREATE_TIME}\\\"}\"\n }\n },\n \"templateType\" : \"ALERT\"\n}", "schema" : { - "$ref" : "#/components/schemas/policy" + "$ref" : "#/components/schemas/notification-template" } }, "application/xml" : { - "example" : "No Custom Example is Available", + "example" : "\n\n WebhookPlugin\n Template\n WebhookPlugin Description\n \n \n \n \n Resource kind\n Adapter kind\n \n \n Property key\n Stat key\n \n \n \n \n \n Ancestor Resource kind\n Ancestor Adapter kind\n \n \n Ancestor Stat Key\n Ancestor Property Key\n \n \n \n \n \n \n Descendant Resource kind\n Descendant Adapter kind\n \n \n Descendant Property Key\n Descendant Stat Key\n \n \n \n \n \n \n \n /endpoint\n \n \n Content-type\n application/json\n \n \n Header Key\n Header Value\n \n \n POST\n {\"startDate\":\"${CREATE_TIME}\"}\n \n \n\n", "schema" : { - "$ref" : "#/components/schemas/policy" + "$ref" : "#/components/schemas/notification-template" } } }, - "description" : "Created Policy." - }, - "400" : { - "description" : "An invalid request body was specified", - "x-vmw-compiler-skip" : true + "description" : "The created notification template" } }, - "summary" : "Create a new policy.", - "tags" : [ "Policies" ] - } - }, - "/api/policies/apply" : { - "post" : { - "description" : "Applies policy to the given groups.", - "operationId" : "applyPolicy", + "summary" : "Create a new notification template", + "tags" : [ "Notifications" ] + }, + "put" : { + "description" : "Updates an existing notification template.
NOTE: Limit for selected Resource Kinds count is 30.
NOTE: Limit for selected Stats count is 30.", + "operationId" : "updateNotificationTemplate", "requestBody" : { "content" : { "application/json" : { - "example" : "{\n \"id\" : \"ad79ef09-1927-41ec-a5d7-6687e6b3c43e\",\n \"groups\" : [ \"0a21423e-287e-49be-bbea-ef6e8d6ec99e\", \"affd8eec-6762-4d89-a67b-fae957b14187\" ]\n}", + "example" : "{\n \"templateId\" : \"a8107b20-0a38-4d7c-8292-dae0e5ca9f49\",\n \"pluginTypeId\" : \"WebhookPlugin\",\n \"name\" : \"Template\",\n \"description\" : \"WebhookPlugin Description\",\n \"contentConfigs\" : [ {\n \"baseResourceKindKeyStats\" : {\n \"resourceKindKey\" : {\n \"resourceKind\" : \"Resource kind\",\n \"adapterKind\" : \"Adapter kind\"\n },\n \"stats\" : [ \"Property key\", \"Stat key\" ]\n },\n \"ancestorResourceKindKeys\" : [ {\n \"resourceKindKey\" : {\n \"resourceKind\" : \"Ancestor Resource kind\",\n \"adapterKind\" : \"Ancestor Adapter kind\"\n },\n \"stats\" : [ \"Ancestor Stat Key\", \"Ancestor Property Key\" ]\n } ],\n \"descendantResourceKindKeys\" : [ {\n \"resourceKindKey\" : {\n \"resourceKind\" : \"Descendant Resource kind\",\n \"adapterKind\" : \"Descendant Adapter kind\"\n },\n \"stats\" : [ \"Descendant Property Key\", \"Descendant Stat Key\" ]\n } ]\n } ],\n \"formattingTemplate\" : {\n \"type\" : \"WEBHOOK_TEMPLATE\",\n \"newAlertTemplate\" : {\n \"endpoint\" : \"/endpoint\",\n \"headers\" : [ {\n \"key\" : \"Content-type\",\n \"value\" : \"application/json\"\n }, {\n \"key\" : \"Header Key\",\n \"value\" : \"Header Value\"\n } ],\n \"method\" : \"POST\",\n \"payload\" : \"{\\\"startDate\\\":\\\"${CREATE_TIME}\\\"}\"\n }\n },\n \"templateType\" : \"ALERT\"\n}", "schema" : { - "$ref" : "#/components/schemas/policy-groups" + "$ref" : "#/components/schemas/notification-template" } }, "application/xml" : { - "example" : "\n\n", + "example" : "\n\n WebhookPlugin\n Template\n WebhookPlugin Description\n \n \n \n \n Resource kind\n Adapter kind\n \n \n Property key\n Stat key\n \n \n \n \n \n Ancestor Resource kind\n Ancestor Adapter kind\n \n \n Ancestor Stat Key\n Ancestor Property Key\n \n \n \n \n \n \n Descendant Resource kind\n Descendant Adapter kind\n \n \n Descendant Property Key\n Descendant Stat Key\n \n \n \n \n \n \n \n /endpoint\n \n \n Content-type\n application/json\n \n \n Header Key\n Header Value\n \n \n POST\n {\"startDate\":\"${CREATE_TIME}\"}\n \n \n\n", "schema" : { - "$ref" : "#/components/schemas/policy-groups" + "$ref" : "#/components/schemas/notification-template" } } }, - "description" : "The Policy object carrying id and name of the policy", + "description" : "Notification template as payload", "required" : true }, "responses" : { "200" : { - "description" : "The policy is applied successfully" + "content" : { + "application/json" : { + "example" : "{\n \"templateId\" : \"a8107b20-0a38-4d7c-8292-dae0e5ca9f49\",\n \"pluginTypeId\" : \"WebhookPlugin\",\n \"name\" : \"Template\",\n \"description\" : \"WebhookPlugin Description\",\n \"contentConfigs\" : [ {\n \"baseResourceKindKeyStats\" : {\n \"resourceKindKey\" : {\n \"resourceKind\" : \"Resource kind\",\n \"adapterKind\" : \"Adapter kind\"\n },\n \"stats\" : [ \"Property key\", \"Stat key\" ]\n },\n \"ancestorResourceKindKeys\" : [ {\n \"resourceKindKey\" : {\n \"resourceKind\" : \"Ancestor Resource kind\",\n \"adapterKind\" : \"Ancestor Adapter kind\"\n },\n \"stats\" : [ \"Ancestor Stat Key\", \"Ancestor Property Key\" ]\n } ],\n \"descendantResourceKindKeys\" : [ {\n \"resourceKindKey\" : {\n \"resourceKind\" : \"Descendant Resource kind\",\n \"adapterKind\" : \"Descendant Adapter kind\"\n },\n \"stats\" : [ \"Descendant Property Key\", \"Descendant Stat Key\" ]\n } ]\n } ],\n \"formattingTemplate\" : {\n \"type\" : \"WEBHOOK_TEMPLATE\",\n \"newAlertTemplate\" : {\n \"endpoint\" : \"/endpoint\",\n \"headers\" : [ {\n \"key\" : \"Content-type\",\n \"value\" : \"application/json\"\n }, {\n \"key\" : \"Header Key\",\n \"value\" : \"Header Value\"\n } ],\n \"method\" : \"POST\",\n \"payload\" : \"{\\\"startDate\\\":\\\"${CREATE_TIME}\\\"}\"\n }\n },\n \"templateType\" : \"ALERT\"\n}", + "schema" : { + "$ref" : "#/components/schemas/notification-template" + } + }, + "application/xml" : { + "example" : "\n\n WebhookPlugin\n Template\n WebhookPlugin Description\n \n \n \n \n Resource kind\n Adapter kind\n \n \n Property key\n Stat key\n \n \n \n \n \n Ancestor Resource kind\n Ancestor Adapter kind\n \n \n Ancestor Stat Key\n Ancestor Property Key\n \n \n \n \n \n \n Descendant Resource kind\n Descendant Adapter kind\n \n \n Descendant Property Key\n Descendant Stat Key\n \n \n \n \n \n \n \n /endpoint\n \n \n Content-type\n application/json\n \n \n Header Key\n Header Value\n \n \n POST\n {\"startDate\":\"${CREATE_TIME}\"}\n \n \n\n", + "schema" : { + "$ref" : "#/components/schemas/notification-template" + } + } + }, + "description" : "The updated notification template" } }, - "summary" : "Apply policy to the given groups", - "tags" : [ "Policies" ] + "summary" : "Update an existing notification template", + "tags" : [ "Notifications" ] } }, - "/api/policies/default" : { - "put" : { - "description" : "Set given policy as default policy.", - "operationId" : "setDefaultPolicy", + "/api/notifications/templates/{id}" : { + "delete" : { + "description" : "Delete notification template.", + "operationId" : "deleteNotificationTemplate", "parameters" : [ { - "in" : "query", + "description" : "Notification template identifier", + "in" : "path", "name" : "id", "required" : true, "schema" : { - "type" : "string", - "format" : "uuid" + "type" : "string" } } ], "responses" : { - "200" : { - "description" : "The given policy is now set as default." + "204" : { + "description" : "The notification template is successfully deleted" } }, - "summary" : "Set given policy as default policy.", - "tags" : [ "Policies" ] - } - }, - "/api/policies/export" : { + "summary" : "Delete notification template", + "tags" : [ "Notifications" ] + }, "get" : { - "description" : "Exports the content of policies into ZIP archive. The format of the exported data is subject to change and should be used only in the scope of same product version. Note: while exporting an embedded policy its parent will be exported as well.", - "x-vmw-compiler-skip" : "FILE", - "operationId" : "exportPolicies", + "description" : "Returns notification template for the specified id.", + "operationId" : "getNotificationTemplate", "parameters" : [ { - "description" : "Policy identifiers to export", - "in" : "query", + "description" : "Notification template identifier", + "in" : "path", "name" : "id", "required" : true, "schema" : { - "type" : "array", - "items" : { - "type" : "string", - "format" : "uuid" - } + "type" : "string" } } ], "responses" : { "200" : { "content" : { - "application/zip" : { - "example" : "No Custom Example is Available", + "application/json" : { + "example" : "{\n \"templateId\" : \"a8107b20-0a38-4d7c-8292-dae0e5ca9f49\",\n \"pluginTypeId\" : \"WebhookPlugin\",\n \"name\" : \"Template\",\n \"description\" : \"WebhookPlugin Description\",\n \"contentConfigs\" : [ {\n \"baseResourceKindKeyStats\" : {\n \"resourceKindKey\" : {\n \"resourceKind\" : \"Resource kind\",\n \"adapterKind\" : \"Adapter kind\"\n },\n \"stats\" : [ \"Property key\", \"Stat key\" ]\n },\n \"ancestorResourceKindKeys\" : [ {\n \"resourceKindKey\" : {\n \"resourceKind\" : \"Ancestor Resource kind\",\n \"adapterKind\" : \"Ancestor Adapter kind\"\n },\n \"stats\" : [ \"Ancestor Stat Key\", \"Ancestor Property Key\" ]\n } ],\n \"descendantResourceKindKeys\" : [ {\n \"resourceKindKey\" : {\n \"resourceKind\" : \"Descendant Resource kind\",\n \"adapterKind\" : \"Descendant Adapter kind\"\n },\n \"stats\" : [ \"Descendant Property Key\", \"Descendant Stat Key\" ]\n } ]\n } ],\n \"formattingTemplate\" : {\n \"type\" : \"WEBHOOK_TEMPLATE\",\n \"newAlertTemplate\" : {\n \"endpoint\" : \"/endpoint\",\n \"headers\" : [ {\n \"key\" : \"Content-type\",\n \"value\" : \"application/json\"\n }, {\n \"key\" : \"Header Key\",\n \"value\" : \"Header Value\"\n } ],\n \"method\" : \"POST\",\n \"payload\" : \"{\\\"startDate\\\":\\\"${CREATE_TIME}\\\"}\"\n }\n },\n \"templateType\" : \"ALERT\"\n}", "schema" : { - "type" : "string", - "format" : "byte" + "$ref" : "#/components/schemas/notification-template" + } + }, + "application/xml" : { + "example" : "\n\n WebhookPlugin\n Template\n WebhookPlugin Description\n \n \n \n \n Resource kind\n Adapter kind\n \n \n Property key\n Stat key\n \n \n \n \n \n Ancestor Resource kind\n Ancestor Adapter kind\n \n \n Ancestor Stat Key\n Ancestor Property Key\n \n \n \n \n \n \n Descendant Resource kind\n Descendant Adapter kind\n \n \n Descendant Property Key\n Descendant Stat Key\n \n \n \n \n \n \n \n /endpoint\n \n \n Content-type\n application/json\n \n \n Header Key\n Header Value\n \n \n POST\n {\"startDate\":\"${CREATE_TIME}\"}\n \n \n\n", + "schema" : { + "$ref" : "#/components/schemas/notification-template" } } }, - "description" : "The content of specified policies are exported successfully." - }, - "404" : { - "description" : "Policies with provided ids not found." - }, - "500" : { - "description" : "Failed to export policies." + "description" : "The notification template" } }, - "summary" : "Export the content of policies into ZIP archive.", - "tags" : [ "Policies" ] + "summary" : "Get notification template", + "tags" : [ "Notifications" ] } }, - "/api/policies/import" : { - "post" : { - "description" : "Imports policy content from an archive of ZIP format.", - "x-vmw-compiler-skip" : "FILE", - "operationId" : "importPolicies", + "/api/optimization/datacenters/{dataCenterId}/exclusion/tags" : { + "get" : { + "operationId" : "getDCOptimizationConfiguration", "parameters" : [ { - "description" : "True to overwrite the existing policies, false to skip importing when there is a conflict", - "in" : "query", - "name" : "forceImport", - "required" : false, + "description" : "DataCenter Id", + "in" : "path", + "name" : "dataCenterId", + "required" : true, "schema" : { - "type" : "boolean", - "default" : false + "type" : "string", + "format" : "uuid" } } ], - "requestBody" : { - "content" : { - "multipart/form-data" : { - "example" : "No Custom Example is Available", - "schema" : { - "type" : "object", - "properties" : { - "policy" : { - "type" : "string", - "format" : "binary", - "description" : "An archive of policy content to be imported" - } - }, - "required" : [ "policy" ] - } - } - } - }, "responses" : { "200" : { "content" : { "application/json" : { - "example" : "{\n \"createdPolicies\" : [ {\n \"id\" : \"ddd0d75a-efbb-41a9-9541-195316b27f61\",\n \"name\" : \"CPU Allocation Policy\",\n \"defaultPolicy\" : false\n } ],\n \"updatedPolicies\" : [ {\n \"id\" : \"99220245-ac92-4e1d-a0be-522b9e8511d6\",\n \"name\" : \"RAM Allocation Policy\",\n \"defaultPolicy\" : false\n } ],\n \"skippedPolicies\" : [ {\n \"id\" : \"3a522852-5e17-4f75-bb46-cfdbcaebe376\",\n \"name\" : \"CPU Overcommit Policy\",\n \"defaultPolicy\" : false\n } ]\n}", - "schema" : { - "$ref" : "#/components/schemas/policy-update-outcome" - } - }, - "application/xml" : { - "example" : "\n\n \n \n false\n \n \n \n \n false\n \n \n \n \n false\n \n \n\n", + "example" : "{\n \"reclaim\" : [ {\n \"category\" : \"tagCategory1\",\n \"name\" : \"tagName1\"\n } ],\n \"rightsizing\" : [ {\n \"category\" : \"tagCategory2\",\n \"name\" : \"tagName2\"\n } ]\n}", "schema" : { - "$ref" : "#/components/schemas/policy-update-outcome" + "$ref" : "#/components/schemas/DCOptimizationConfiguration" } } }, - "description" : "The Imported policies" + "description" : "Get DC optimization configurations for capacity exclusion" } }, - "summary" : "Import policy content from an archive of ZIP format", - "tags" : [ "Policies" ] - } - }, - "/api/policies/priorities" : { - "put" : { - "description" : "The priorities will be set based on the order of the provided policies. Additionally, it's necessary to include all active policies except for the default policy.", - "operationId" : "updatePriorities", + "summary" : "Get DC optimization configurations for capacity exclusion", + "tags" : [ "Optimization" ] + }, + "patch" : { + "operationId" : "patchDCOptimizationConfiguration", + "parameters" : [ { + "description" : "Identifier of the dataCenter", + "in" : "path", + "name" : "dataCenterId", + "required" : true, + "schema" : { + "type" : "string", + "format" : "uuid" + } + } ], "requestBody" : { "content" : { "application/json" : { - "example" : "{\n \"policyIds\" : [ \"2ea2b85a-87c2-486f-b8e6-4a1621823b17\", \"b9ea151f-9b56-45e0-97e5-2491552da80f\", \"1d728025-9b7b-4b08-aa42-10a9f356230f\" ]\n}", - "schema" : { - "$ref" : "#/components/schemas/policy-priorities" - } - }, - "application/xml" : { - "example" : "\n\n \n 2ea2b85a-87c2-486f-b8e6-4a1621823b17\n b9ea151f-9b56-45e0-97e5-2491552da80f\n 1d728025-9b7b-4b08-aa42-10a9f356230f\n \n\n", + "example" : "{\n \"reclaim\" : [ {\n \"category\" : \"tagCategory1\",\n \"name\" : \"tagName1\"\n } ],\n \"rightsizing\" : [ {\n \"category\" : \"tagCategory2\",\n \"name\" : \"tagName2\"\n } ]\n}", "schema" : { - "$ref" : "#/components/schemas/policy-priorities" + "$ref" : "#/components/schemas/DCOptimizationConfiguration" } } }, - "description" : "Ids of the active none-default policies in a desired priority order.", + "description" : "DC optimization configurations object", "required" : true }, "responses" : { - "204" : { - "description" : "Policy priorities were updated successfully" - }, - "400" : { - "description" : "Available active policies count doesn't match with input policy ids count", - "x-vmw-compiler-skip" : true - } - }, - "summary" : "Update priority order of provided policies", - "tags" : [ "Policies" ] - } - }, - "/api/policies/{id}" : { - "delete" : { - "description" : "Delete the policy for the specified identifier included descendants if requested", - "operationId" : "deletePolicy", - "parameters" : [ { - "description" : "Policy identifier to delete", - "in" : "path", - "name" : "id", - "required" : true, - "schema" : { - "type" : "string", - "format" : "uuid" - } - }, { - "description" : "True to delete all policies including descendants.", - "in" : "query", - "name" : "deleteDescendants", - "required" : false, - "schema" : { - "type" : "boolean" - } - } ], - "responses" : { - "204" : { - "description" : "The policy is deleted successfully" - }, - "404" : { - "description" : "The policy being deleted is invalid/non-existent", - "x-vmw-compiler-skip" : true - }, - "409" : { - "description" : "Cannot deleted policy due to existing descendant policies. Use 'deleteDescendants' to delete also all descendants", - "x-vmw-compiler-skip" : true + "200" : { + "content" : { + "application/json" : { + "example" : "{\n \"reclaim\" : [ {\n \"category\" : \"tagCategory1\",\n \"name\" : \"tagName1\"\n } ],\n \"rightsizing\" : [ {\n \"category\" : \"tagCategory2\",\n \"name\" : \"tagName2\"\n } ]\n}", + "schema" : { + "$ref" : "#/components/schemas/DCOptimizationConfiguration" + } + } + }, + "description" : "update DC optimization configurations partially" } }, - "summary" : "Delete policy for the specified identifier included descendants if requested.", - "tags" : [ "Policies" ] - } - }, - "/api/policies/{id}/assign" : { + "summary" : "Update your DC optimization configurations for capacity exclusion partially", + "tags" : [ "Optimization" ] + }, "put" : { - "description" : "Assigns policy to the given groups, and objects.", - "operationId" : "assignPolicy", + "operationId" : "putDCOptimizationConfiguration", "parameters" : [ { + "description" : "DataCenter Id", "in" : "path", - "name" : "id", + "name" : "dataCenterId", "required" : true, "schema" : { "type" : "string", @@ -16350,50 +16891,37 @@ "requestBody" : { "content" : { "application/json" : { - "example" : "{\n \"groupIds\" : [ \"9613f1e4-6b93-4d9d-ba82-09beb46d75a6\", \"ed050fc6-5136-46bb-93b4-6e2597296974\" ],\n \"resourceAssignments\" : [ {\n \"resourceId\" : \"529c2a31-a993-430f-ae30-e467d04f8d6e\",\n \"depth\" : 0\n }, {\n \"resourceId\" : \"a654ccb0-a82b-4420-b195-917a271f82a1\",\n \"depth\" : 2\n } ]\n}", - "schema" : { - "$ref" : "#/components/schemas/policy-assignment-param" - } - }, - "application/xml" : { - "example" : "\n\n \n 9613f1e4-6b93-4d9d-ba82-09beb46d75a6\n ed050fc6-5136-46bb-93b4-6e2597296974\n \n \n \n 0\n \n \n 2\n \n \n\n", + "example" : "{\n \"reclaim\" : [ {\n \"category\" : \"tagCategory1\",\n \"name\" : \"tagName1\"\n } ],\n \"rightsizing\" : [ {\n \"category\" : \"tagCategory2\",\n \"name\" : \"tagName2\"\n } ]\n}", "schema" : { - "$ref" : "#/components/schemas/policy-assignment-param" + "$ref" : "#/components/schemas/DCOptimizationConfiguration" } } }, - "description" : "The Policy assignment object carrying ids of groups, ids and depths of resources", + "description" : "DC optimization configurations object", "required" : true }, "responses" : { "200" : { "content" : { "application/json" : { - "example" : "No Custom Example is Available", - "schema" : { - "$ref" : "#/components/schemas/policy-associations-update-result" - } - }, - "application/xml" : { - "example" : "No Custom Example is Available", + "example" : "{\n \"reclaim\" : [ {\n \"category\" : \"tagCategory1\",\n \"name\" : \"tagName1\"\n } ],\n \"rightsizing\" : [ {\n \"category\" : \"tagCategory2\",\n \"name\" : \"tagName2\"\n } ]\n}", "schema" : { - "$ref" : "#/components/schemas/policy-associations-update-result" + "$ref" : "#/components/schemas/DCOptimizationConfiguration" } } }, - "description" : "The policy is assigned successfully" + "description" : "Create or update DC optimization configurations for capacity exclusion fully" } }, - "summary" : "Assign policy to the given groups, and objects", - "tags" : [ "Policies" ] + "summary" : "Create or update your DC optimization configurations for capacity exclusion fully", + "tags" : [ "Optimization" ] } }, - "/api/policies/{id}/settings" : { - "delete" : { - "description" : "Make provided settings in the policy inherited from parent policy.
NOTE: Currently, only one resource kind is supported.", - "operationId" : "deletePolicySettings", + "/api/optimization/datacenters/{id}/reclaim/resources" : { + "get" : { + "operationId" : "getReclaimData", "parameters" : [ { - "description" : "Policy identifier", + "description" : "Datacenter Id", "in" : "path", "name" : "id", "required" : true, @@ -16402,59 +16930,63 @@ "format" : "uuid" } }, { - "description" : "Types of policy settings to delete.", "in" : "query", - "name" : "type", + "name" : "reason", "required" : true, "schema" : { - "type" : "array", - "items" : { - "type" : "string", - "description" : "Indicates policy settings type", - "enum" : [ "VC_PRICING_POLICY_STATUS", "VC_PRICING_BASIC_CHARGES", "VC_PRICING_GUEST_OS_RATE", "VC_PRICING_TAGS", "VC_PRICING_OVERALL_CHARGES", "WORKLOAD_AUTOMATION_OPTIMIZATION", "WORKLOAD_AUTOMATION_MINIMUM_HEADROOM", "WORKLOAD_AUTOMATION_CHANGE_DATASTORE", "WORKLOAD_AUTOMATION_CONSIDER_STORAGE_FOR_EVICTION", "WORKLOAD_AUTOMATION_NETWORK", "CAPACITY_ALLOCATION_MODEL", "CAPACITY_CUSTOM_PROFILE", "CAPACITY_BUFFER", "TIME_REMAINING", "CAPACITY_REMAINING", "WORKLOAD" ], - "xml" : { - "name" : "policy-settings-type", - "namespace" : "http://webservice.vmware.com/vRealizeOpsMgr/1.0/" - } - } + "type" : "string", + "description" : "Reclamation Reason", + "enum" : [ "POWERED_OFF", "IDLE", "SNAPSHOT", "ORPHANED_DISK" ] } }, { - "description" : "The adapter kind identifier", "in" : "query", - "name" : "adapterKind", + "name" : "showExcluded", "required" : false, "schema" : { - "type" : "string" + "type" : "boolean", + "default" : false } }, { - "description" : "The resource kind identifiers", + "description" : "Page number from which data needs to be displayed (0-based)", "in" : "query", - "name" : "resourceKind", - "required" : false, + "name" : "page", "schema" : { - "type" : "array", - "items" : { - "type" : "string" - } + "type" : "integer", + "format" : "int32", + "default" : 0 + } + }, { + "description" : "Expected number of entries per page", + "in" : "query", + "name" : "pageSize", + "schema" : { + "type" : "integer", + "format" : "int32", + "default" : 1000 } } ], "responses" : { - "204" : { - "description" : "Successfully made policy settings as inherited." - }, - "404" : { - "description" : "The policy is invalid/non-existent", - "x-vmw-compiler-skip" : true + "200" : { + "content" : { + "application/json" : { + "example" : "{\n \"reclaimRightsizeResources\" : [ {\n \"id\" : \"5fd9566d-71ea-4f8a-8173-6acb1943f456\",\n \"name\" : \"Centos7-Consolidation-VM\",\n \"costSaving\" : 350.0,\n \"reclaimableCpu\" : 2,\n \"reclaimableMemory\" : 4.0,\n \"duration\" : 3\n } ]\n}", + "schema" : { + "$ref" : "#/components/schemas/ReclaimRightsizeResources" + } + } + }, + "description" : "Paginated reclaimable data for virtual machines" } }, - "summary" : "Make provided settings in the policy inherited from parent policy.", - "tags" : [ "Policies" ] - }, + "summary" : "Reclaim data for VMs or for orphaned disks", + "tags" : [ "Optimization" ] + } + }, + "/api/optimization/datacenters/{id}/rightsize/resources" : { "get" : { - "description" : "Get the policy settings for the specified identifier.
NOTE: Currently, only one resource kind is supported.", - "operationId" : "getPolicySettings", + "operationId" : "getRightsizeData", "parameters" : [ { - "description" : "Policy identifier to get", + "description" : "Datacenter Id", "in" : "path", "name" : "id", "required" : true, @@ -16463,82 +16995,84 @@ "format" : "uuid" } }, { - "description" : "Types of policy settings to retrieve.", "in" : "query", - "name" : "type", + "name" : "reason", "required" : true, "schema" : { - "type" : "array", - "items" : { - "type" : "string", - "description" : "Indicates policy settings type", - "enum" : [ "VC_PRICING_POLICY_STATUS", "VC_PRICING_BASIC_CHARGES", "VC_PRICING_GUEST_OS_RATE", "VC_PRICING_TAGS", "VC_PRICING_OVERALL_CHARGES", "WORKLOAD_AUTOMATION_OPTIMIZATION", "WORKLOAD_AUTOMATION_MINIMUM_HEADROOM", "WORKLOAD_AUTOMATION_CHANGE_DATASTORE", "WORKLOAD_AUTOMATION_CONSIDER_STORAGE_FOR_EVICTION", "WORKLOAD_AUTOMATION_NETWORK", "CAPACITY_ALLOCATION_MODEL", "CAPACITY_CUSTOM_PROFILE", "CAPACITY_BUFFER", "TIME_REMAINING", "CAPACITY_REMAINING", "WORKLOAD" ], - "xml" : { - "name" : "policy-settings-type", - "namespace" : "http://webservice.vmware.com/vRealizeOpsMgr/1.0/" - } - } + "type" : "string", + "description" : "Rightsizing Reason", + "enum" : [ "OVERSIZED", "UNDERSIZED" ] } }, { - "description" : "True to obtain complete configuration, included inherited settings from parent policies", "in" : "query", - "name" : "includeInherited", + "name" : "showExcluded", "required" : false, "schema" : { "type" : "boolean", "default" : false } }, { - "description" : "The adapter kind identifier", + "description" : "Page number from which data needs to be displayed (0-based)", "in" : "query", - "name" : "adapterKind", - "required" : false, + "name" : "page", "schema" : { - "type" : "string" + "type" : "integer", + "format" : "int32", + "default" : 0 } }, { - "description" : "The resource kind identifiers", + "description" : "Expected number of entries per page", "in" : "query", - "name" : "resourceKind", - "required" : false, + "name" : "pageSize", "schema" : { - "type" : "array", - "items" : { - "type" : "string" - } + "type" : "integer", + "format" : "int32", + "default" : 1000 } } ], "responses" : { "200" : { "content" : { "application/json" : { - "example" : "{\n \"vcPricingSettings\" : {\n \"pricingPolicyStatus\" : {\n \"enabled\" : false\n }\n }\n}", - "schema" : { - "$ref" : "#/components/schemas/policy-settings" - } - }, - "application/xml" : { - "example" : "\n\n \n \n false\n \n \n\n", + "example" : "{\n \"reclaimRightsizeResources\" : [ {\n \"id\" : \"5fd9566d-71ea-4f8a-8173-6acb1943f456\",\n \"name\" : \"Centos7-Consolidation-VM\",\n \"costSaving\" : 350.0,\n \"reclaimableCpu\" : 2,\n \"reclaimableMemory\" : 4.0,\n \"duration\" : 3\n } ]\n}", "schema" : { - "$ref" : "#/components/schemas/policy-settings" + "$ref" : "#/components/schemas/ReclaimRightsizeResources" } } }, - "description" : "The policy settings for the specified identifier." - }, - "404" : { - "description" : "There is no policy for the specified identifier.", - "x-vmw-compiler-skip" : true + "description" : "Paginated rightsizing data" } }, - "summary" : "Get policy settings for the specified identifier.", - "tags" : [ "Policies" ] - }, - "patch" : { - "description" : "Update only provided settings in the policy.", - "operationId" : "patchPolicySettings", + "summary" : "Rightsize data for VMs", + "tags" : [ "Optimization" ] + } + }, + "/api/optimization/reclaim/orphaneddisks/{id}/exclude" : { + "post" : { + "operationId" : "excludeOrphanedDisks", "parameters" : [ { - "description" : "Policy identifier to update", + "description" : "Id of orphaned disk", + "in" : "path", + "name" : "id", + "required" : true, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "The orphaned disk is included successfully" + } + }, + "summary" : "Exclude orphaned disk", + "tags" : [ "Optimization" ] + } + }, + "/api/optimization/reclaim/orphaneddisks/{id}/include" : { + "post" : { + "operationId" : "includeOrphanedDisks", + "parameters" : [ { + "description" : "Id of orphaned disk", "in" : "path", "name" : "id", "required" : true, @@ -16547,42 +17081,86 @@ "format" : "uuid" } } ], - "requestBody" : { - "content" : { - "application/json" : { - "example" : "{\n \"vcPricingSettings\" : {\n \"pricingPolicyStatus\" : {\n \"enabled\" : false\n }\n }\n}", - "schema" : { - "$ref" : "#/components/schemas/policy-settings" - } - }, - "application/xml" : { - "example" : "\n\n \n \n false\n \n \n\n", - "schema" : { - "$ref" : "#/components/schemas/policy-settings" - } - } - }, - "description" : "Only the specified fields in the settings will be applied to the provided policy", - "required" : true + "responses" : { + "200" : { + "description" : "The orphaned disk is included successfully" + } }, + "summary" : "Include orphaned disk", + "tags" : [ "Optimization" ] + } + }, + "/api/optimization/reclaim/vms/{id}/exclude" : { + "post" : { + "operationId" : "excludeReclaimVMs", + "parameters" : [ { + "description" : "Id of VM", + "in" : "path", + "name" : "id", + "required" : true, + "schema" : { + "type" : "string", + "format" : "uuid" + } + } ], "responses" : { - "204" : { - "description" : "Policy settings was updated." - }, - "400" : { - "description" : "An invalid request body was specified", - "x-vmw-compiler-skip" : true + "200" : { + "description" : "The reclaimable VM is excluded successfully" } }, - "summary" : "Update only provided settings in the policy.", - "tags" : [ "Policies" ] + "summary" : "Exclude reclaimable VM", + "tags" : [ "Optimization" ] } }, - "/api/policies/{id}/unassign" : { - "put" : { - "description" : "Unassign policy from given groups, and objects.", - "operationId" : "unassignPolicy", + "/api/optimization/reclaim/vms/{id}/include" : { + "post" : { + "operationId" : "includeReclaimVMs", + "parameters" : [ { + "description" : "Id of VM", + "in" : "path", + "name" : "id", + "required" : true, + "schema" : { + "type" : "string", + "format" : "uuid" + } + } ], + "responses" : { + "200" : { + "description" : "The reclaimable VM is included successfully" + } + }, + "summary" : "Include reclaimable VM", + "tags" : [ "Optimization" ] + } + }, + "/api/optimization/rightsizing/vms/{id}/exclude" : { + "post" : { + "operationId" : "excludeRightsizingVMs", + "parameters" : [ { + "description" : "Id of VM", + "in" : "path", + "name" : "id", + "required" : true, + "schema" : { + "type" : "string", + "format" : "uuid" + } + } ], + "responses" : { + "200" : { + "description" : "The rightsizing VM is excluded successfully" + } + }, + "summary" : "Exclude rightsizing VM", + "tags" : [ "Optimization" ] + } + }, + "/api/optimization/rightsizing/vms/{id}/include" : { + "post" : { + "operationId" : "includeRightsizingVMs", "parameters" : [ { + "description" : "Id of VM", "in" : "path", "name" : "id", "required" : true, @@ -16591,416 +17169,485 @@ "format" : "uuid" } } ], + "responses" : { + "200" : { + "description" : "The rightsizing VM is included successfully" + } + }, + "summary" : "Include rightsizing VM", + "tags" : [ "Optimization" ] + } + }, + "/api/optimization/workloadplacement/history/query" : { + "post" : { + "description" : "Get WLP History.", + "operationId" : "getWlpHistory", + "parameters" : [ { + "description" : "Page number from which data needs to be displayed (0-based)", + "in" : "query", + "name" : "page", + "schema" : { + "type" : "integer", + "format" : "int32", + "default" : 0 + } + }, { + "description" : "Expected number of entries per page", + "in" : "query", + "name" : "pageSize", + "schema" : { + "type" : "integer", + "format" : "int32", + "default" : 1000 + } + } ], "requestBody" : { "content" : { "application/json" : { - "example" : "{\n \"groupIds\" : [ \"dcc95660-a4b1-487b-a358-aaffd4d2cd9e\", \"1d553ea0-5d0b-492d-9a13-7b2e41e04e3f\" ],\n \"resourceIds\" : [ \"fffd261b-1d51-4824-8a50-c503528a1035\", \"e2191ec0-0b60-45df-92de-6ee637e0b716\" ]\n}", + "example" : "{\n \"startTime\" : 1753253588531,\n \"endTime\" : 1753339988531,\n \"resourceIds\" : [ \"917658c3-c05b-4751-95bf-9fd8a45da020\" ]\n}", "schema" : { - "$ref" : "#/components/schemas/policy-unassignment-param" + "$ref" : "#/components/schemas/wlp-history-query" } }, "application/xml" : { - "example" : "\n\n \n dcc95660-a4b1-487b-a358-aaffd4d2cd9e\n 1d553ea0-5d0b-492d-9a13-7b2e41e04e3f\n \n \n fffd261b-1d51-4824-8a50-c503528a1035\n e2191ec0-0b60-45df-92de-6ee637e0b716\n \n\n", + "example" : "\n\n 1753253588531\n 1753339988531\n \n 917658c3-c05b-4751-95bf-9fd8a45da020\n \n\n", "schema" : { - "$ref" : "#/components/schemas/policy-unassignment-param" + "$ref" : "#/components/schemas/wlp-history-query" } } }, - "description" : "The Policy unassignment object carrying ids of groups, and objects", + "description" : "wlpHistoryQuery", "required" : true }, "responses" : { "200" : { "content" : { "application/json" : { - "example" : "No Custom Example is Available", + "example" : "{\n \"rebalanceTasks\" : [ {\n \"id\" : \"41afe1c2-720d-4e1a-a0e2-c6dbce4593ad\",\n \"name\" : \"Datacenter-0\",\n \"adapterKind\" : \"VMWARE\",\n \"resourceKind\" : \"Datacenter\",\n \"taskId\" : \"028ed79b-cd30-4842-84c9-ca3fd34942b6\",\n \"taskName\" : \"Optimize Container\",\n \"eventSource\" : \"WLP\",\n \"state\" : \"PARTIAL_SUCCESS\",\n \"automated\" : false,\n \"vmMotions\" : [ {\n \"id\" : \"f664011b-f972-4f7c-9f8d-7dced0eeead0\",\n \"name\" : \"VM_for_Workload-0\",\n \"startTime\" : 1707678626459,\n \"endTime\" : 1707678766439,\n \"state\" : \"COMPLETED_SUCCESSFULLY\",\n \"sourceTargets\" : [ {\n \"sourceId\" : \"25ad1c35-80df-4d3e-9363-9a361df3a6a1\",\n \"sourceName\" : \"Cluster-0\",\n \"targetId\" : \"af20580f-18e2-4831-ad05-f7c6da5c27db\",\n \"targetName\" : \"Cluster-1\",\n \"resourceKind\" : \"Cluster\"\n }, {\n \"sourceId\" : \"25ad1c35-80df-4d3e-9363-9a361df3a6a1\",\n \"sourceName\" : \"Host-0\",\n \"targetId\" : \"af20580f-18e2-4831-ad05-f7c6da5c27db\",\n \"targetName\" : \"Host-1\",\n \"resourceKind\" : \"Host\"\n }, {\n \"sourceName\" : \"Datastore-0\",\n \"targetName\" : \"Datastore-1\",\n \"resourceKind\" : \"Datastore\"\n } ]\n }, {\n \"id\" : \"f664011b-f972-4f7c-9f8d-7dced0eeead0\",\n \"name\" : \"VM_for_Workload-1\",\n \"startTime\" : 1707678626459,\n \"endTime\" : 1707678766439,\n \"state\" : \"FAILED\",\n \"sourceTargets\" : [ {\n \"sourceId\" : \"25ad1c35-80df-4d3e-9363-9a361df3a6a1\",\n \"sourceName\" : \"Cluster-0\",\n \"targetId\" : \"af20580f-18e2-4831-ad05-f7c6da5c27db\",\n \"targetName\" : \"Cluster-1\",\n \"resourceKind\" : \"Cluster\"\n }, {\n \"sourceId\" : \"25ad1c35-80df-4d3e-9363-9a361df3a6a1\",\n \"sourceName\" : \"Host-0\",\n \"targetId\" : \"af20580f-18e2-4831-ad05-f7c6da5c27db\",\n \"targetName\" : \"Host-1\",\n \"resourceKind\" : \"Host\"\n }, {\n \"sourceName\" : \"Datastore-0\",\n \"targetName\" : \"Datastore-1\",\n \"resourceKind\" : \"Datastore\"\n } ]\n } ]\n } ]\n}", "schema" : { - "$ref" : "#/components/schemas/policy-associations-update-result" + "$ref" : "#/components/schemas/wlp-history" } }, "application/xml" : { - "example" : "No Custom Example is Available", + "example" : "\n\n \n \n Datacenter-0\n VMWARE\n Datacenter\n 028ed79b-cd30-4842-84c9-ca3fd34942b6\n Optimize Container\n WLP\n PARTIAL_SUCCESS\n false\n \n \n f664011b-f972-4f7c-9f8d-7dced0eeead0\n VM_for_Workload-0\n 1707678626459\n 1707678766439\n COMPLETED_SUCCESSFULLY\n \n \n 25ad1c35-80df-4d3e-9363-9a361df3a6a1\n Cluster-0\n af20580f-18e2-4831-ad05-f7c6da5c27db\n Cluster-1\n Cluster\n \n \n 25ad1c35-80df-4d3e-9363-9a361df3a6a1\n Host-0\n af20580f-18e2-4831-ad05-f7c6da5c27db\n Host-1\n Host\n \n \n Datastore-0\n Datastore-1\n Datastore\n \n \n \n \n f664011b-f972-4f7c-9f8d-7dced0eeead0\n VM_for_Workload-1\n 1707678626459\n 1707678766439\n FAILED\n \n \n 25ad1c35-80df-4d3e-9363-9a361df3a6a1\n Cluster-0\n af20580f-18e2-4831-ad05-f7c6da5c27db\n Cluster-1\n Cluster\n \n \n 25ad1c35-80df-4d3e-9363-9a361df3a6a1\n Host-0\n af20580f-18e2-4831-ad05-f7c6da5c27db\n Host-1\n Host\n \n \n Datastore-0\n Datastore-1\n Datastore\n \n \n \n \n \n \n\n", "schema" : { - "$ref" : "#/components/schemas/policy-associations-update-result" + "$ref" : "#/components/schemas/wlp-history" } } }, - "description" : "The policy unassigned successfully" + "description" : "Get WLP History." } }, - "summary" : "Unassign policy from given groups, and objects", - "tags" : [ "Policies" ] + "summary" : "Get WLP History.", + "tags" : [ "Optimization" ] } }, - "/api/product/licensing/edition" : { - "get" : { - "description" : "Get edition of product licensing", - "operationId" : "getProductEdition", + "/api/optimization/workloadplacement/{dataCenterId}/automation/disable" : { + "put" : { + "description" : "If you disable automation, the system will still look for optimization opportunities. Any actions will now be manual
NOTE: If you have any scheduled optimizations, they will be re-activated", + "operationId" : "disableAutomation", + "parameters" : [ { + "description" : "ID of the dataCenter", + "in" : "path", + "name" : "dataCenterId", + "required" : true, + "schema" : { + "type" : "string", + "format" : "uuid" + } + } ], "responses" : { "200" : { - "content" : { - "application/json" : { - "example" : "{\n \"productLicensingEdition\" : \"ENTERPRISE\"\n}", - "schema" : { - "$ref" : "#/components/schemas/product-licensing" - } - }, - "application/xml" : { - "example" : "\n\n", - "schema" : { - "$ref" : "#/components/schemas/product-licensing" - } - } - }, - "description" : "The product licensing edition" + "description" : "Optimization automation disabled successfully" } }, - "summary" : "Get edition of product licensing", - "tags" : [ "Product Licensing" ] + "summary" : "Turning off automation", + "tags" : [ "Optimization" ] } }, - "/api/product/licensing/info" : { - "get" : { - "description" : "Get the license info for VMware Cloud Foundation Operations instance", - "operationId" : "getLicenseInfo", - "responses" : { - "200" : { - "content" : { - "application/json" : { - "example" : "{\n \"licenseKey\" : \"license-key\",\n \"licensed\" : true,\n \"expirationDate\" : 1753339997385,\n \"licenseName\" : \"license-name\"\n}", - "schema" : { - "$ref" : "#/components/schemas/LicenseInfo" - } - } - }, - "description" : "An Object representing the license details" + "/api/optimization/workloadplacement/{dataCenterId}/automation/enable" : { + "put" : { + "description" : "Enabling automation will allow the system to optimize your datacenter by continuously looking for optimization opportunities
NOTE: Any scheduled optimizations will be deactivated during the time", + "operationId" : "enableAutomation", + "parameters" : [ { + "description" : "ID of the dataCenter", + "in" : "path", + "name" : "dataCenterId", + "required" : true, + "schema" : { + "type" : "string", + "format" : "uuid" + } + } ], + "responses" : { + "200" : { + "description" : "Optimization automation enabled successfully" } }, - "summary" : "Get the license info for VMware Cloud Foundation Operations instance", - "tags" : [ "Product Licensing" ] + "summary" : "Turning on automation", + "tags" : [ "Optimization" ] } }, - "/api/product/licensing/npc/status" : { + "/api/optimization/workloadplacement/{dataCenterId}/automation/status" : { "get" : { - "description" : "Get native public cloud licensing status", - "operationId" : "getNPCStatus", + "description" : "Get optimization automation status", + "operationId" : "getAutomationStatus", + "parameters" : [ { + "description" : "ID of the dataCenter", + "in" : "path", + "name" : "dataCenterId", + "required" : true, + "schema" : { + "type" : "string", + "format" : "uuid" + } + } ], "responses" : { "200" : { "content" : { "application/json" : { - "example" : "{\n \"npcEnabled\" : true\n}", + "example" : "No Custom Example is Available", "schema" : { - "$ref" : "#/components/schemas/product-licensing-npc-status" + "$ref" : "#/components/schemas/workload-optimization-automation-status" } }, "application/xml" : { - "example" : "\n\n true\n\n", + "example" : "No Custom Example is Available", "schema" : { - "$ref" : "#/components/schemas/product-licensing-npc-status" + "$ref" : "#/components/schemas/workload-optimization-automation-status" } } }, - "description" : "The native public cloud license" + "description" : "Get optimization automation status" } }, - "summary" : "Get native public cloud licensing status", - "tags" : [ "Product Licensing" ] + "summary" : "Get optimization automation status", + "tags" : [ "Optimization" ] } }, - "/api/recommendations" : { - "get" : { - "description" : "If no query set, all recommendations will be returned", - "operationId" : "getRecommendations", + "/api/optimization/workloadplacement/{dataCenterId}/crossdcmove/disable" : { + "put" : { + "description" : "Disable cluster-level optimization across datacenter boundaries in a vCenter.
NOTE: This API is only applicable for custom datacenters", + "operationId" : "disableCrossDCMove", "parameters" : [ { - "description" : "Get Recommendations with the matching id, both system defined and user defined", - "in" : "query", - "name" : "id", - "required" : false, + "description" : "ID of the dataCenter", + "in" : "path", + "name" : "dataCenterId", + "required" : true, "schema" : { - "type" : "array", - "items" : { - "type" : "string" - } + "type" : "string", + "format" : "uuid" } - }, { - "description" : "Get Recommendations that have an associated recommended action on and the action
is applicable to the resource of the specified adapter kind.", - "in" : "query", - "name" : "targetAdapterKind", - "required" : false, + } ], + "responses" : { + "200" : { + "description" : "Cross datacenter move disabled successfully" + } + }, + "summary" : "Disable cluster-level optimization across datacenter boundaries in a vCenter", + "tags" : [ "Optimization" ] + } + }, + "/api/optimization/workloadplacement/{dataCenterId}/crossdcmove/enable" : { + "put" : { + "description" : "If your custom datacenter includes clusters from multiple datacenters within the same vCenter, you can enable cross datacenter move to ensure optimization occurs across datacenter boundaries.
NOTE: This API is only applicable for custom datacenters", + "operationId" : "enableCrossDCMove", + "parameters" : [ { + "description" : "ID of the dataCenter", + "in" : "path", + "name" : "dataCenterId", + "required" : true, "schema" : { "type" : "string", - "description" : "Get Recommendations that have an associated recommended action on and the action
is applicable to the resource of the specified adapter kind." + "format" : "uuid" } - }, { - "description" : "Get Recommendations that have an associated recommended action on and the action
is applicable to the resource of the specified resource kind.", - "in" : "query", - "name" : "targetResourceKind", - "required" : false, + } ], + "responses" : { + "200" : { + "description" : "Cross datacenter move enabled successfully" + } + }, + "summary" : "Enable cluster-level optimization across datacenter boundaries in a vCenter", + "tags" : [ "Optimization" ] + } + }, + "/api/optimization/workloadplacement/{dataCenterId}/crossdcmove/status" : { + "get" : { + "description" : "Get cross datacenter move allowed status.
NOTE: This API is only applicable for custom datacenters", + "operationId" : "getCrossDCMoveStatus", + "parameters" : [ { + "description" : "ID of the dataCenter", + "in" : "path", + "name" : "dataCenterId", + "required" : true, "schema" : { "type" : "string", - "description" : "Get Recommendations that have an associated recommended action on and the action
is applicable to the resource of the specified resource kind." + "format" : "uuid" } } ], "responses" : { "200" : { "content" : { "application/json" : { - "example" : "{\n \"recommendations\" : [ {\n \"id\" : \"450125d0-8ce1-4b4e-af08-37043c304acf\",\n \"description\" : \"Restart the Virtual Machine\",\n \"action\" : {\n \"actionAdapterKindId\" : \"VcoRemediation\",\n \"targetAdapterKindId\" : \"VMWARE\",\n \"targetResourceKindId\" : \"VirtualMachine\",\n \"targetMethod\" : \"reset\"\n }\n }, {\n \"id\" : \"b3c41537-ec68-45fa-8ae2-ab9b5e435e96\",\n \"description\" : \"Reboot the Host after migrating the Virtual Machines\"\n } ]\n}", + "example" : "No Custom Example is Available", "schema" : { - "$ref" : "#/components/schemas/recommendations" + "$ref" : "#/components/schemas/cross-dc-move-status" } }, "application/xml" : { - "example" : "\n\n \n 450125d0-8ce1-4b4e-af08-37043c304acf\n Restart the Virtual Machine\n \n VcoRemediation\n VMWARE\n VirtualMachine\n reset\n \n \n \n b3c41537-ec68-45fa-8ae2-ab9b5e435e96\n Reboot the Host after migrating the Virtual Machines\n \n\n", + "example" : "No Custom Example is Available", "schema" : { - "$ref" : "#/components/schemas/recommendations" + "$ref" : "#/components/schemas/cross-dc-move-status" } } }, - "description" : "The list of recommendations" + "description" : "Get cross datacenter move allowed status" } }, - "summary" : "Get recommendations", - "tags" : [ "Recommendations" ] - }, - "post" : { - "description" : "The recommendation identifier must be unique for the system.", - "operationId" : "createRecommendation", - "requestBody" : { - "content" : { - "application/json" : { - "example" : "{\n \"description\" : \"Restart the Virtual Machine\",\n \"action\" : {\n \"actionAdapterKindId\" : \"VcoRemediation\",\n \"targetAdapterKindId\" : \"VMWARE\",\n \"targetResourceKindId\" : \"VirtualMachine\",\n \"targetMethod\" : \"reset\"\n }\n}", - "schema" : { - "$ref" : "#/components/schemas/recommendation" - } - }, - "application/xml" : { - "example" : "\n\n Restart the Virtual Machine\n \n VcoRemediation\n VMWARE\n VirtualMachine\n reset\n \n\n", - "schema" : { - "$ref" : "#/components/schemas/recommendation" - } - } - }, - "description" : "The Recommendation to create", - "required" : true + "summary" : "Get cross datacenter move allowed status", + "tags" : [ "Optimization" ] + } + }, + "/api/optimization/workloadplacement/{dataCenterId}/settings" : { + "delete" : { + "description" : "NOTE: The current settings will be removed.", + "operationId" : "deletePlacementConfiguration", + "parameters" : [ { + "description" : "ID of the dataCenter", + "in" : "path", + "name" : "dataCenterId", + "required" : true, + "schema" : { + "type" : "string", + "format" : "uuid" + } + } ], + "responses" : { + "204" : { + "description" : "The placement configuration is disabled successfully" + } }, + "summary" : "Turn off placement settings on datacenter", + "tags" : [ "Optimization" ] + }, + "get" : { + "operationId" : "getPlacementSettings", + "parameters" : [ { + "description" : "Identifier of the dataCenter", + "in" : "path", + "name" : "dataCenterId", + "required" : true, + "schema" : { + "type" : "string", + "format" : "uuid" + } + } ], "responses" : { - "201" : { + "200" : { "content" : { "application/json" : { - "example" : "{\n \"description\" : \"Restart the Virtual Machine\",\n \"action\" : {\n \"actionAdapterKindId\" : \"VcoRemediation\",\n \"targetAdapterKindId\" : \"VMWARE\",\n \"targetResourceKindId\" : \"VirtualMachine\",\n \"targetMethod\" : \"reset\"\n }\n}", + "example" : "{\n \"taggingScope\" : \"CLUSTER_BASED\",\n \"tagGroups\" : [ {\n \"name\" : \"Operating System\",\n \"prioritized\" : true,\n \"tags\" : [ ],\n \"resourceTags\" : [ {\n \"category\" : \"tag_category_1\",\n \"name\" : \"tag_name_1\"\n }, {\n \"category\" : \"tag_category_1\",\n \"name\" : \"tag_name_2\"\n } ]\n }, {\n \"name\" : \"Network\",\n \"prioritized\" : false,\n \"tags\" : [ ],\n \"resourceTags\" : [ ]\n } ],\n \"excludedClusterTagGroups\" : [ {\n \"name\" : \"Operating System\",\n \"tags\" : [ ],\n \"resourceTags\" : [ {\n \"category\" : \"tag_category_2\",\n \"name\" : \"tag_name_1\"\n }, {\n \"category\" : \"tag_category_2\",\n \"name\" : \"tag_name_2\"\n } ]\n } ],\n \"excludedVmTagGroups\" : [ ],\n \"placementSettingsEnabled\" : true,\n \"clusterExclusionEnabled\" : false,\n \"vmExclusionEnabled\" : false\n}", "schema" : { - "$ref" : "#/components/schemas/recommendation" + "$ref" : "#/components/schemas/workload-placement-settings" } }, "application/xml" : { - "example" : "\n\n Restart the Virtual Machine\n \n VcoRemediation\n VMWARE\n VirtualMachine\n reset\n \n\n", + "example" : "\n\n CLUSTER_BASED\n \n \n Operating System\n true\n \n \n \n \n \n \n \n Network\n false\n \n \n \n \n \n \n Operating System\n \n \n \n \n \n \n \n \n true\n false\n false\n\n", "schema" : { - "$ref" : "#/components/schemas/recommendation" + "$ref" : "#/components/schemas/workload-placement-settings" } } }, - "description" : "The created recommendation" + "description" : "Get placement settings" } }, - "summary" : "Create a recommendation", - "tags" : [ "Recommendations" ] + "summary" : "Get placement settings", + "tags" : [ "Optimization" ] }, "put" : { - "description" : "Update an existing recommendation", - "operationId" : "updateRecommendation", + "description" : "To set host level placement constraints, VMware Cloud Foundation Operations will automatically create and manage DRS rules. All conflicting user-created DRS rules need to be DEACTIVATED. These include the following:
  • VM-VM affinity / anti-affinity

  • VM-Host affinity / anti-affinity

", + "operationId" : "setPlacementSettings", + "parameters" : [ { + "description" : "Identifier of the dataCenter", + "in" : "path", + "name" : "dataCenterId", + "required" : true, + "schema" : { + "type" : "string", + "format" : "uuid" + } + }, { + "description" : "During HOST_BASED configuration, set this flag to true to deactivate all conflicting user-created DRS rules", + "in" : "query", + "name" : "deactivateDRSRules", + "required" : false, + "schema" : { + "type" : "boolean", + "default" : false + } + } ], "requestBody" : { "content" : { "application/json" : { - "example" : "{\n \"id\" : \"0e9f311b-b942-4d30-9296-5631f02a1238\",\n \"description\" : \"Restart the modified Virtual Machine\",\n \"action\" : {\n \"actionAdapterKindId\" : \"VcoRemediation\",\n \"targetAdapterKindId\" : \"VMWARE\",\n \"targetResourceKindId\" : \"VirtualMachine\",\n \"targetMethod\" : \"reset\"\n }\n}", + "example" : "{\n \"taggingScope\" : \"CLUSTER_BASED\",\n \"tagGroups\" : [ {\n \"name\" : \"Operating System\",\n \"prioritized\" : true,\n \"tags\" : [ ],\n \"resourceTags\" : [ {\n \"category\" : \"tag_category_1\",\n \"name\" : \"tag_name_1\"\n }, {\n \"category\" : \"tag_category_1\",\n \"name\" : \"tag_name_2\"\n } ]\n }, {\n \"name\" : \"Network\",\n \"prioritized\" : false,\n \"tags\" : [ ],\n \"resourceTags\" : [ ]\n } ],\n \"excludedClusterTagGroups\" : [ {\n \"name\" : \"Operating System\",\n \"tags\" : [ ],\n \"resourceTags\" : [ {\n \"category\" : \"tag_category_2\",\n \"name\" : \"tag_name_1\"\n }, {\n \"category\" : \"tag_category_2\",\n \"name\" : \"tag_name_2\"\n } ]\n } ],\n \"excludedVmTagGroups\" : [ ],\n \"placementSettingsEnabled\" : true,\n \"clusterExclusionEnabled\" : false,\n \"vmExclusionEnabled\" : false\n}", "schema" : { - "$ref" : "#/components/schemas/recommendation" + "$ref" : "#/components/schemas/workload-placement-settings" } }, "application/xml" : { - "example" : "\n\n 0e9f311b-b942-4d30-9296-5631f02a1238\n Restart the modified Virtual Machine\n \n VcoRemediation\n VMWARE\n VirtualMachine\n reset\n \n\n", + "example" : "\n\n CLUSTER_BASED\n \n \n Operating System\n true\n \n \n \n \n \n \n \n Network\n false\n \n \n \n \n \n \n Operating System\n \n \n \n \n \n \n \n \n true\n false\n false\n\n", "schema" : { - "$ref" : "#/components/schemas/recommendation" + "$ref" : "#/components/schemas/workload-placement-settings" } } }, - "description" : "The Recommendation to update", + "description" : "Placement settings object", "required" : true }, "responses" : { "200" : { "content" : { "application/json" : { - "example" : "{\n \"id\" : \"0e9f311b-b942-4d30-9296-5631f02a1238\",\n \"description\" : \"Restart the modified Virtual Machine\",\n \"action\" : {\n \"actionAdapterKindId\" : \"VcoRemediation\",\n \"targetAdapterKindId\" : \"VMWARE\",\n \"targetResourceKindId\" : \"VirtualMachine\",\n \"targetMethod\" : \"reset\"\n }\n}", + "example" : "{\n \"taggingScope\" : \"CLUSTER_BASED\",\n \"tagGroups\" : [ {\n \"name\" : \"Operating System\",\n \"prioritized\" : true,\n \"tags\" : [ ],\n \"resourceTags\" : [ {\n \"category\" : \"tag_category_1\",\n \"name\" : \"tag_name_1\"\n }, {\n \"category\" : \"tag_category_1\",\n \"name\" : \"tag_name_2\"\n } ]\n }, {\n \"name\" : \"Network\",\n \"prioritized\" : false,\n \"tags\" : [ ],\n \"resourceTags\" : [ ]\n } ],\n \"excludedClusterTagGroups\" : [ {\n \"name\" : \"Operating System\",\n \"tags\" : [ ],\n \"resourceTags\" : [ {\n \"category\" : \"tag_category_2\",\n \"name\" : \"tag_name_1\"\n }, {\n \"category\" : \"tag_category_2\",\n \"name\" : \"tag_name_2\"\n } ]\n } ],\n \"excludedVmTagGroups\" : [ ],\n \"placementSettingsEnabled\" : true,\n \"clusterExclusionEnabled\" : false,\n \"vmExclusionEnabled\" : false\n}", "schema" : { - "$ref" : "#/components/schemas/recommendation" + "$ref" : "#/components/schemas/workload-placement-settings" } }, "application/xml" : { - "example" : "\n\n 0e9f311b-b942-4d30-9296-5631f02a1238\n Restart the modified Virtual Machine\n \n VcoRemediation\n VMWARE\n VirtualMachine\n reset\n \n\n", + "example" : "\n\n CLUSTER_BASED\n \n \n Operating System\n true\n \n \n \n \n \n \n \n Network\n false\n \n \n \n \n \n \n Operating System\n \n \n \n \n \n \n \n \n true\n false\n false\n\n", "schema" : { - "$ref" : "#/components/schemas/recommendation" + "$ref" : "#/components/schemas/workload-placement-settings" } } }, - "description" : "The updated recommendation" + "description" : "Update placement settings" } }, - "summary" : "Update an existing recommendation", - "tags" : [ "Recommendations" ] + "summary" : "Set up your business intent to place VMs based on criteria", + "tags" : [ "Optimization" ] } }, - "/api/recommendations/{id}" : { - "delete" : { - "description" : "If a recommendation with the specified identifier does not exist no error will be returned", - "operationId" : "deleteRecommendation", + "/api/policies" : { + "get" : { + "description" : "Returns all available policies.", + "operationId" : "getPolicies", "parameters" : [ { - "description" : "The identifier of the recommendation to delete", - "in" : "path", - "name" : "id", - "required" : true, - "schema" : { - "type" : "string" - } - }, { - "description" : "If true,then delete recommendation and if it is referenced in problem definition, update corresponding problem definition to remove the reference. If false, then delete recommendation only if it is not referenced by any problem definition.", + "description" : "True to get only active policies (the ones that have priority, and default policy).", "in" : "query", - "name" : "force", + "name" : "activesOnly", "required" : false, "schema" : { "type" : "boolean", "default" : false } } ], - "responses" : { - "204" : { - "description" : "The recommendation is deleted successfully" - } - }, - "summary" : "Delete a recommendation", - "tags" : [ "Recommendations" ] - }, - "get" : { - "description" : "Get the recommendation specified by the given identifier", - "operationId" : "getRecommendationById", - "parameters" : [ { - "description" : "The identifier of the recommendation", - "in" : "path", - "name" : "id", - "required" : true, - "schema" : { - "type" : "string" - } - } ], "responses" : { "200" : { "content" : { "application/json" : { - "example" : "{\n \"id\" : \"b3c41537-ec68-45fa-8ae2-ab9b5e435e96\",\n \"description\" : \"Reboot the Host after migrating the Virtual Machines\"\n}", + "example" : "{\n \"policySummaries\" : [ {\n \"id\" : \"07bb9692-6893-45dd-8f31-88b28e93b90c\",\n \"name\" : \"XYZ Production Policy\",\n \"defaultPolicy\" : false\n }, {\n \"id\" : \"a3cce416-5d9f-4312-8214-61690ec1681e\",\n \"name\" : \"CPU Overcommit Policy\",\n \"defaultPolicy\" : false\n } ]\n}", "schema" : { - "$ref" : "#/components/schemas/recommendation" + "$ref" : "#/components/schemas/policy-summaries-collection" } }, "application/xml" : { - "example" : "\n\n b3c41537-ec68-45fa-8ae2-ab9b5e435e96\n Reboot the Host after migrating the Virtual Machines\n\n", + "example" : "\n\n \n \n false\n \n \n false\n \n \n\n", "schema" : { - "$ref" : "#/components/schemas/recommendation" + "$ref" : "#/components/schemas/policy-summaries-collection" } } }, - "description" : "The recommendation corresponding to the specified ID" + "description" : "Array of policy summaries" } }, - "summary" : "Get the recommendation specified by the given identifier", - "tags" : [ "Recommendations" ] - } - }, - "/api/reportdefinitions" : { - "get" : { - "description" : "Get the Report Definitions based on the query specification specified", - "operationId" : "getReportDefinitions", - "parameters" : [ { - "description" : "Names of the Report Definitions", - "in" : "query", - "name" : "name", - "required" : false, - "schema" : { - "type" : "array", - "items" : { - "type" : "string" - } - } - }, { - "description" : "Subjects of the Report Definitions", - "in" : "query", - "name" : "subject", - "required" : false, - "schema" : { - "type" : "array", - "items" : { - "type" : "string" - } - } - }, { - "description" : "Owners of the Report Definitions", - "in" : "query", - "name" : "owner", - "required" : false, - "schema" : { - "type" : "array", - "items" : { - "type" : "string" + "summary" : "Get all available policies.", + "tags" : [ "Policies" ] + }, + "post" : { + "description" : "Create a new policy.", + "operationId" : "createPolicy", + "requestBody" : { + "content" : { + "application/json" : { + "example" : "{\n \"name\" : \"XYZ Production Policy\",\n \"description\" : \"=Production Policy Description\",\n \"parentPolicy\" : \"455266b0-f61a-4983-9f0b-628d35eddba0\"\n}", + "schema" : { + "$ref" : "#/components/schemas/policy" + } + }, + "application/xml" : { + "example" : "\n\n =Production Policy Description\n 455266b0-f61a-4983-9f0b-628d35eddba0\n\n", + "schema" : { + "$ref" : "#/components/schemas/policy" + } } - } - }, { - "description" : "Page number from which data needs to be displayed (0-based)", - "in" : "query", - "name" : "page", - "schema" : { - "type" : "integer", - "format" : "int32", - "default" : 0 - } - }, { - "description" : "Expected number of entries per page", - "in" : "query", - "name" : "pageSize", - "schema" : { - "type" : "integer", - "format" : "int32", - "default" : 1000 - } - } ], + }, + "description" : "The Policy object which can be used to create the policy", + "required" : true + }, "responses" : { - "200" : { + "201" : { "content" : { "application/json" : { - "example" : "{\n \"reportDefinitions\" : [ {\n \"id\" : \"4b577b7f-dc9b-4502-8b77-c49032c2231d\",\n \"description\" : \"Stressed VMs Report\",\n \"subject\" : [ ],\n \"lastRunTime\" : 1753425592632,\n \"active\" : true,\n \"owner\" : \"admin\"\n } ]\n}", + "example" : "No Custom Example is Available", "schema" : { - "$ref" : "#/components/schemas/report-definitions" + "$ref" : "#/components/schemas/policy" } }, "application/xml" : { - "example" : "\n\n \n Stressed VMs Report\n 2025-07-24T23:39:52.632-07:00\n admin\n \n\n", + "example" : "No Custom Example is Available", "schema" : { - "$ref" : "#/components/schemas/report-definitions" + "$ref" : "#/components/schemas/policy" } } }, - "description" : "The ReportDefinitions object that contains a list of ReportDefinition objects matching the query spec" + "description" : "Created Policy." + }, + "400" : { + "description" : "An invalid request body was specified", + "x-vmw-compiler-skip" : true } }, - "summary" : "Get the Report Definitions based on the query specification specified", - "tags" : [ "Reports" ] + "summary" : "Create a new policy.", + "tags" : [ "Policies" ] } }, - "/api/reportdefinitions/{id}" : { - "get" : { - "description" : "Get a Report Definition by identifier", - "operationId" : "getReportDefinition", + "/api/policies/apply" : { + "post" : { + "description" : "Applies policy to the given groups.", + "operationId" : "applyPolicy", + "requestBody" : { + "content" : { + "application/json" : { + "example" : "{\n \"id\" : \"ad79ef09-1927-41ec-a5d7-6687e6b3c43e\",\n \"groups\" : [ \"0a21423e-287e-49be-bbea-ef6e8d6ec99e\", \"affd8eec-6762-4d89-a67b-fae957b14187\" ]\n}", + "schema" : { + "$ref" : "#/components/schemas/policy-groups" + } + }, + "application/xml" : { + "example" : "\n\n", + "schema" : { + "$ref" : "#/components/schemas/policy-groups" + } + } + }, + "description" : "The Policy object carrying id and name of the policy", + "required" : true + }, + "responses" : { + "200" : { + "description" : "The policy is applied successfully" + } + }, + "summary" : "Apply policy to the given groups", + "tags" : [ "Policies" ] + } + }, + "/api/policies/default" : { + "put" : { + "description" : "Set given policy as default policy.", + "operationId" : "setDefaultPolicy", "parameters" : [ { - "description" : "The Report Definition identifier", - "in" : "path", + "in" : "query", "name" : "id", "required" : true, "schema" : { @@ -17008,161 +17655,192 @@ "format" : "uuid" } } ], + "responses" : { + "200" : { + "description" : "The given policy is now set as default." + } + }, + "summary" : "Set given policy as default policy.", + "tags" : [ "Policies" ] + } + }, + "/api/policies/export" : { + "get" : { + "description" : "Exports the content of policies into ZIP archive. The format of the exported data is subject to change and should be used only in the scope of same product version. Note: while exporting an embedded policy its parent will be exported as well.", + "operationId" : "exportPolicies", + "parameters" : [ { + "description" : "Policy identifiers to export", + "in" : "query", + "name" : "id", + "required" : true, + "schema" : { + "type" : "array", + "items" : { + "type" : "string", + "format" : "uuid" + } + } + } ], "responses" : { "200" : { "content" : { - "application/json" : { - "example" : "{\n \"id\" : \"4b577b7f-dc9b-4502-8b77-c49032c2231d\",\n \"description\" : \"Stressed VMs Report\",\n \"subject\" : [ ],\n \"lastRunTime\" : 1753425592632,\n \"active\" : true,\n \"owner\" : \"admin\"\n}", - "schema" : { - "$ref" : "#/components/schemas/report-definition" - } - }, - "application/xml" : { - "example" : "\n\n Stressed VMs Report\n 2025-07-24T23:39:52.632-07:00\n admin\n\n", + "application/zip" : { + "example" : "No Custom Example is Available", "schema" : { - "$ref" : "#/components/schemas/report-definition" + "type" : "string", + "format" : "byte" } } }, - "description" : "The ReportDefinition object" + "description" : "The content of specified policies are exported successfully." }, "404" : { - "description" : "There is no Report Definition in the system for the specified identifier", - "x-vmw-compiler-skip" : true + "description" : "Policies with provided ids not found." + }, + "500" : { + "description" : "Failed to export policies." } }, - "summary" : "Get a Report Definition", - "tags" : [ "Reports" ] + "summary" : "Export the content of policies into ZIP archive.", + "tags" : [ "Policies" ], + "x-vmw-compiler-skip" : "FILE" } }, - "/api/reportdefinitions/{id}/schedules" : { - "get" : { - "description" : "The date and time values configured within the Report Schedule are converted to GMT time zone.", - "operationId" : "getReportSchedules", + "/api/policies/import" : { + "post" : { + "description" : "Imports policy content from an archive of ZIP format.", + "operationId" : "importPolicies", "parameters" : [ { - "description" : "The Report Definition identifier", - "in" : "path", - "name" : "id", - "required" : true, - "schema" : { - "type" : "string", - "format" : "uuid" - } - }, { - "description" : "Flag to include schedules with not-existing resource", + "description" : "True to overwrite the existing policies, false to skip importing when there is a conflict", "in" : "query", - "name" : "includeResourcelessSchedules", + "name" : "forceImport", "required" : false, "schema" : { "type" : "boolean", "default" : false } - }, { - "description" : "Page number from which data needs to be displayed (0-based)", - "in" : "query", - "name" : "page", - "schema" : { - "type" : "integer", - "format" : "int32", - "default" : 0 - } - }, { - "description" : "Expected number of entries per page", - "in" : "query", - "name" : "pageSize", - "schema" : { - "type" : "integer", - "format" : "int32", - "default" : 1000 - } } ], + "requestBody" : { + "content" : { + "multipart/form-data" : { + "example" : "No Custom Example is Available", + "schema" : { + "type" : "object", + "properties" : { + "policy" : { + "type" : "string", + "format" : "binary", + "description" : "An archive of policy content to be imported" + } + }, + "required" : [ "policy" ] + } + } + } + }, "responses" : { "200" : { "content" : { "application/json" : { - "example" : "{\n \"reportSchedules\" : [ {\n \"reportDefinitionId\" : \"1041506e-4d2d-4290-b068-c16450d1e41b\",\n \"resourceId\" : [ \"ba30e734-aa18-4e51-9364-7e6603a9c8fc\" ],\n \"startDate\" : \"01/01/2015\",\n \"reportScheduleType\" : \"MONTHLY\",\n \"startHour\" : 8,\n \"startMinute\" : 0,\n \"recurrence\" : 1,\n \"dayOfTheMonth\" : 1,\n \"emailAddresses\" : [ \"vrops@broadcom.com\" ]\n } ]\n}", + "example" : "{\n \"createdPolicies\" : [ {\n \"id\" : \"ddd0d75a-efbb-41a9-9541-195316b27f61\",\n \"name\" : \"CPU Allocation Policy\",\n \"defaultPolicy\" : false\n } ],\n \"updatedPolicies\" : [ {\n \"id\" : \"99220245-ac92-4e1d-a0be-522b9e8511d6\",\n \"name\" : \"RAM Allocation Policy\",\n \"defaultPolicy\" : false\n } ],\n \"skippedPolicies\" : [ {\n \"id\" : \"3a522852-5e17-4f75-bb46-cfdbcaebe376\",\n \"name\" : \"CPU Overcommit Policy\",\n \"defaultPolicy\" : false\n } ]\n}", "schema" : { - "$ref" : "#/components/schemas/report-schedules" + "$ref" : "#/components/schemas/policy-update-outcome" } }, "application/xml" : { - "example" : "\n\n \n ba30e734-aa18-4e51-9364-7e6603a9c8fc\n 01/01/2015\n MONTHLY\n 8\n 0\n 1\n 1\n vrops@broadcom.com\n \n\n", + "example" : "\n\n \n \n false\n \n \n \n \n false\n \n \n \n \n false\n \n \n\n", "schema" : { - "$ref" : "#/components/schemas/report-schedules" + "$ref" : "#/components/schemas/policy-update-outcome" } } }, - "description" : "The Report Schedules associated with the Report Definition identifier" + "description" : "The Imported policies" } }, - "summary" : "Get all the Report Schedules associated with a Report Definition", - "tags" : [ "Reports" ] - }, - "post" : { - "description" : "To specify the time zone add X-Ops-API-Timezone header with value of format e.g. Asia/Yerevan.
All the schedules created using this API will be configured to use GMT time zone.", - "operationId" : "createReportSchedule", - "parameters" : [ { - "description" : "Report Definition identifier", - "in" : "path", - "name" : "id", - "required" : true, - "schema" : { - "type" : "string", - "format" : "uuid" - } - }, { - "description" : "Custom HTTP header used by Ops API clients to specify Timezone information.
This Timezone value will be typically used for Report Generation.
Either an abbreviation such as \"GMT\", \"PDT\" can be specified,
or a full name such as \"America/Los_Angeles\". Other
formats and representations are not supported.
", - "in" : "header", - "name" : "X-Ops-API-Timezone", - "schema" : { - "type" : "string" - } - } ], + "summary" : "Import policy content from an archive of ZIP format", + "tags" : [ "Policies" ], + "x-vmw-compiler-skip" : "FILE" + } + }, + "/api/policies/priorities" : { + "put" : { + "description" : "The priorities will be set based on the order of the provided policies. Additionally, it's necessary to include all active policies except for the default policy.", + "operationId" : "updatePriorities", "requestBody" : { "content" : { "application/json" : { - "example" : "{\n \"reportDefinitionId\" : \"98a8bbc9-46a8-4a80-b781-971772af98bb\",\n \"resourceId\" : [ \"791bd5d1-f6d3-41fe-966e-2f07cd34cf11\" ],\n \"traversalSpec\" : {\n \"name\" : \"Traversal spec name\",\n \"rootAdapterKindKey\" : \"VMWARE\",\n \"rootResourceKindKey\" : \"VM\",\n \"adapterInstanceAssociation\" : false\n },\n \"startDate\" : \"4/30/15\",\n \"reportScheduleType\" : \"WEEKLY\",\n \"daysOfTheWeek\" : [ \"SUNDAY\", \"MONDAY\" ],\n \"startHour\" : 1,\n \"startMinute\" : 0,\n \"recurrence\" : 2\n}", + "example" : "{\n \"policyIds\" : [ \"2ea2b85a-87c2-486f-b8e6-4a1621823b17\", \"b9ea151f-9b56-45e0-97e5-2491552da80f\", \"1d728025-9b7b-4b08-aa42-10a9f356230f\" ]\n}", "schema" : { - "$ref" : "#/components/schemas/report-schedule" + "$ref" : "#/components/schemas/policy-priorities" } }, "application/xml" : { - "example" : "\n\n 791bd5d1-f6d3-41fe-966e-2f07cd34cf11\n \n Traversal spec name\n VMWARE\n VM\n \n 4/30/15\n WEEKLY\n SUNDAY MONDAY\n 1\n 0\n 2\n\n", + "example" : "\n\n \n 2ea2b85a-87c2-486f-b8e6-4a1621823b17\n b9ea151f-9b56-45e0-97e5-2491552da80f\n 1d728025-9b7b-4b08-aa42-10a9f356230f\n \n\n", "schema" : { - "$ref" : "#/components/schemas/report-schedule" + "$ref" : "#/components/schemas/policy-priorities" } } }, - "description" : "The Report Schedule to create in the system", + "description" : "Ids of the active none-default policies in a desired priority order.", "required" : true }, "responses" : { - "200" : { - "content" : { - "application/json" : { - "example" : "{\n \"reportDefinitionId\" : \"1041506e-4d2d-4290-b068-c16450d1e41b\",\n \"resourceId\" : [ \"ba30e734-aa18-4e51-9364-7e6603a9c8fc\" ],\n \"startDate\" : \"01/01/2015\",\n \"reportScheduleType\" : \"MONTHLY\",\n \"startHour\" : 8,\n \"startMinute\" : 0,\n \"recurrence\" : 1,\n \"dayOfTheMonth\" : 1,\n \"emailAddresses\" : [ \"vrops@broadcom.com\" ]\n}", - "schema" : { - "$ref" : "#/components/schemas/report-schedule" - } - }, - "application/xml" : { - "example" : "\n\n ba30e734-aa18-4e51-9364-7e6603a9c8fc\n 01/01/2015\n MONTHLY\n 8\n 0\n 1\n 1\n vrops@broadcom.com\n\n", - "schema" : { - "$ref" : "#/components/schemas/report-schedule" - } - } - }, - "description" : "The Report Schedule to create in the system" + "204" : { + "description" : "Policy priorities were updated successfully" + }, + "400" : { + "description" : "Available active policies count doesn't match with input policy ids count", + "x-vmw-compiler-skip" : true } }, - "summary" : "Create a Report Schedule to generate a Report for the specified Report Definition and Resource(s)", - "tags" : [ "Reports" ] - }, + "summary" : "Update priority order of provided policies", + "tags" : [ "Policies" ] + } + }, + "/api/policies/{id}" : { + "delete" : { + "description" : "Delete the policy for the specified identifier included descendants if requested", + "operationId" : "deletePolicy", + "parameters" : [ { + "description" : "Policy identifier to delete", + "in" : "path", + "name" : "id", + "required" : true, + "schema" : { + "type" : "string", + "format" : "uuid" + } + }, { + "description" : "True to delete all policies including descendants.", + "in" : "query", + "name" : "deleteDescendants", + "required" : false, + "schema" : { + "type" : "boolean" + } + } ], + "responses" : { + "204" : { + "description" : "The policy is deleted successfully" + }, + "404" : { + "description" : "The policy being deleted is invalid/non-existent", + "x-vmw-compiler-skip" : true + }, + "409" : { + "description" : "Cannot deleted policy due to existing descendant policies. Use 'deleteDescendants' to delete also all descendants", + "x-vmw-compiler-skip" : true + } + }, + "summary" : "Delete policy for the specified identifier included descendants if requested.", + "tags" : [ "Policies" ] + } + }, + "/api/policies/{id}/assign" : { "put" : { - "description" : "The update of a schedule is a \"Replace\" operation.
If a schedule with the specified
schedule id is present in the system it will be replaced else the API returns a 404 error.", - "operationId" : "updateReportSchedule", + "description" : "Assigns policy to the given groups, and objects.", + "operationId" : "assignPolicy", "parameters" : [ { - "description" : "The Report Definition identifier", "in" : "path", "name" : "id", "required" : true, @@ -17174,54 +17852,50 @@ "requestBody" : { "content" : { "application/json" : { - "example" : "{\n \"reportDefinitionId\" : \"98a8bbc9-46a8-4a80-b781-971772af98bb\",\n \"resourceId\" : [ \"791bd5d1-f6d3-41fe-966e-2f07cd34cf11\" ],\n \"traversalSpec\" : {\n \"name\" : \"Traversal spec name\",\n \"rootAdapterKindKey\" : \"VMWARE\",\n \"rootResourceKindKey\" : \"VM\",\n \"adapterInstanceAssociation\" : false\n },\n \"startDate\" : \"4/30/15\",\n \"reportScheduleType\" : \"WEEKLY\",\n \"daysOfTheWeek\" : [ \"SUNDAY\", \"MONDAY\" ],\n \"startHour\" : 1,\n \"startMinute\" : 0,\n \"recurrence\" : 2\n}", + "example" : "{\n \"groupIds\" : [ \"9613f1e4-6b93-4d9d-ba82-09beb46d75a6\", \"ed050fc6-5136-46bb-93b4-6e2597296974\" ],\n \"resourceAssignments\" : [ {\n \"resourceId\" : \"529c2a31-a993-430f-ae30-e467d04f8d6e\",\n \"depth\" : 0\n }, {\n \"resourceId\" : \"a654ccb0-a82b-4420-b195-917a271f82a1\",\n \"depth\" : 2\n } ]\n}", "schema" : { - "$ref" : "#/components/schemas/report-schedule" + "$ref" : "#/components/schemas/policy-assignment-param" } }, "application/xml" : { - "example" : "\n\n 791bd5d1-f6d3-41fe-966e-2f07cd34cf11\n \n Traversal spec name\n VMWARE\n VM\n \n 4/30/15\n WEEKLY\n SUNDAY MONDAY\n 1\n 0\n 2\n\n", + "example" : "\n\n \n 9613f1e4-6b93-4d9d-ba82-09beb46d75a6\n ed050fc6-5136-46bb-93b4-6e2597296974\n \n \n \n 0\n \n \n 2\n \n \n\n", "schema" : { - "$ref" : "#/components/schemas/report-schedule" + "$ref" : "#/components/schemas/policy-assignment-param" } } }, - "description" : "The Report Schedule to update", + "description" : "The Policy assignment object carrying ids of groups, ids and depths of resources", "required" : true }, "responses" : { "200" : { "content" : { "application/json" : { - "example" : "{\n \"reportDefinitionId\" : \"1041506e-4d2d-4290-b068-c16450d1e41b\",\n \"resourceId\" : [ \"ba30e734-aa18-4e51-9364-7e6603a9c8fc\" ],\n \"startDate\" : \"01/01/2015\",\n \"reportScheduleType\" : \"MONTHLY\",\n \"startHour\" : 8,\n \"startMinute\" : 0,\n \"recurrence\" : 1,\n \"dayOfTheMonth\" : 1,\n \"emailAddresses\" : [ \"vrops@broadcom.com\" ]\n}", + "example" : "No Custom Example is Available", "schema" : { - "$ref" : "#/components/schemas/report-schedule" + "$ref" : "#/components/schemas/policy-associations-update-result" } }, "application/xml" : { - "example" : "\n\n ba30e734-aa18-4e51-9364-7e6603a9c8fc\n 01/01/2015\n MONTHLY\n 8\n 0\n 1\n 1\n vrops@broadcom.com\n\n", + "example" : "No Custom Example is Available", "schema" : { - "$ref" : "#/components/schemas/report-schedule" + "$ref" : "#/components/schemas/policy-associations-update-result" } } }, - "description" : "The updated Report Schedule object" - }, - "404" : { - "description" : "No Report Definition/Schedule is found with the specified identifier", - "x-vmw-compiler-skip" : true + "description" : "The policy is assigned successfully" } }, - "summary" : "Update Report Schedule associated with the specific Report Definition and for the specified Schedule identifier", - "tags" : [ "Reports" ] + "summary" : "Assign policy to the given groups, and objects", + "tags" : [ "Policies" ] } }, - "/api/reportdefinitions/{id}/schedules/{scheduleId}" : { + "/api/policies/{id}/settings" : { "delete" : { - "description" : "Delete Report Schedule associated with the specific Report Definition and for the specified Schedule identifier", - "operationId" : "deleteSchedule", + "description" : "Make provided settings in the policy inherited from parent policy.
NOTE: Currently, only one resource kind is supported.", + "operationId" : "deletePolicySettings", "parameters" : [ { - "description" : "The Report Definition identifier", + "description" : "Policy identifier", "in" : "path", "name" : "id", "required" : true, @@ -17230,32 +17904,59 @@ "format" : "uuid" } }, { - "description" : "The Report Schedule identifier", - "in" : "path", - "name" : "scheduleId", + "description" : "Types of policy settings to delete.", + "in" : "query", + "name" : "type", "required" : true, "schema" : { - "type" : "string", - "format" : "uuid" + "type" : "array", + "items" : { + "type" : "string", + "description" : "Indicates policy settings type", + "enum" : [ "VC_PRICING_POLICY_STATUS", "VC_PRICING_BASIC_CHARGES", "VC_PRICING_GUEST_OS_RATE", "VC_PRICING_TAGS", "VC_PRICING_OVERALL_CHARGES", "WORKLOAD_AUTOMATION_OPTIMIZATION", "WORKLOAD_AUTOMATION_MINIMUM_HEADROOM", "WORKLOAD_AUTOMATION_CHANGE_DATASTORE", "WORKLOAD_AUTOMATION_CONSIDER_STORAGE_FOR_EVICTION", "WORKLOAD_AUTOMATION_NETWORK", "CAPACITY_ALLOCATION_MODEL", "CAPACITY_CUSTOM_PROFILE", "CAPACITY_BUFFER", "TIME_REMAINING", "CAPACITY_REMAINING", "WORKLOAD" ], + "xml" : { + "name" : "policy-settings-type", + "namespace" : "http://webservice.vmware.com/vRealizeOpsMgr/1.0/" + } + } + } + }, { + "description" : "The adapter kind identifier", + "in" : "query", + "name" : "adapterKind", + "required" : false, + "schema" : { + "type" : "string" + } + }, { + "description" : "The resource kind identifiers", + "in" : "query", + "name" : "resourceKind", + "required" : false, + "schema" : { + "type" : "array", + "items" : { + "type" : "string" + } } } ], "responses" : { "204" : { - "description" : "The Report Schedule was successfully deleted from the system" + "description" : "Successfully made policy settings as inherited." }, "404" : { - "description" : "No Report Definition/Schedule is found with the specified identifier", + "description" : "The policy is invalid/non-existent", "x-vmw-compiler-skip" : true } }, - "summary" : "Delete Report Schedule associated with the specific Report Definition and for the specified Schedule identifier", - "tags" : [ "Reports" ] + "summary" : "Make provided settings in the policy inherited from parent policy.", + "tags" : [ "Policies" ] }, "get" : { - "description" : "The date and time values configured within the Report Schedule are converted to GMT time zone.", - "operationId" : "getReportSchedule", + "description" : "Get the policy settings for the specified identifier.
NOTE: Currently, only one resource kind is supported.", + "operationId" : "getPolicySettings", "parameters" : [ { - "description" : "The Report Definition identifier", + "description" : "Policy identifier to get", "in" : "path", "name" : "id", "required" : true, @@ -17264,182 +17965,126 @@ "format" : "uuid" } }, { - "description" : "The Report Schedule identifier", - "in" : "path", - "name" : "scheduleId", - "required" : true, - "schema" : { - "type" : "string", - "format" : "uuid" - } - } ], - "responses" : { - "200" : { - "content" : { - "application/json" : { - "example" : "{\n \"reportDefinitionId\" : \"1041506e-4d2d-4290-b068-c16450d1e41b\",\n \"resourceId\" : [ \"ba30e734-aa18-4e51-9364-7e6603a9c8fc\" ],\n \"startDate\" : \"01/01/2015\",\n \"reportScheduleType\" : \"MONTHLY\",\n \"startHour\" : 8,\n \"startMinute\" : 0,\n \"recurrence\" : 1,\n \"dayOfTheMonth\" : 1,\n \"emailAddresses\" : [ \"vrops@broadcom.com\" ]\n}", - "schema" : { - "$ref" : "#/components/schemas/report-schedule" - } - }, - "application/xml" : { - "example" : "\n\n ba30e734-aa18-4e51-9364-7e6603a9c8fc\n 01/01/2015\n MONTHLY\n 8\n 0\n 1\n 1\n vrops@broadcom.com\n\n", - "schema" : { - "$ref" : "#/components/schemas/report-schedule" - } - } - }, - "description" : "The Report Schedules associated with the Report Definition identifier" - }, - "404" : { - "description" : "No Report Definition/Schedule is found with the specified identifier", - "x-vmw-compiler-skip" : true - } - }, - "summary" : "Get a specific Report Schedule for the specified Report Definition and Schedule identifier", - "tags" : [ "Reports" ] - } - }, - "/api/reports" : { - "get" : { - "description" : "If the query spec is not provided, all Reports present in the system are returned.", - "operationId" : "getReports", - "parameters" : [ { - "description" : "Reports name with which the filtering can be done", + "description" : "Types of policy settings to retrieve.", "in" : "query", - "name" : "name", - "required" : false, + "name" : "type", + "required" : true, "schema" : { "type" : "array", "items" : { - "type" : "string" + "type" : "string", + "description" : "Indicates policy settings type", + "enum" : [ "VC_PRICING_POLICY_STATUS", "VC_PRICING_BASIC_CHARGES", "VC_PRICING_GUEST_OS_RATE", "VC_PRICING_TAGS", "VC_PRICING_OVERALL_CHARGES", "WORKLOAD_AUTOMATION_OPTIMIZATION", "WORKLOAD_AUTOMATION_MINIMUM_HEADROOM", "WORKLOAD_AUTOMATION_CHANGE_DATASTORE", "WORKLOAD_AUTOMATION_CONSIDER_STORAGE_FOR_EVICTION", "WORKLOAD_AUTOMATION_NETWORK", "CAPACITY_ALLOCATION_MODEL", "CAPACITY_CUSTOM_PROFILE", "CAPACITY_BUFFER", "TIME_REMAINING", "CAPACITY_REMAINING", "WORKLOAD" ], + "xml" : { + "name" : "policy-settings-type", + "namespace" : "http://webservice.vmware.com/vRealizeOpsMgr/1.0/" + } } } }, { - "description" : "Subjects with which the filtering can be done", + "description" : "True to obtain complete configuration, included inherited settings from parent policies", "in" : "query", - "name" : "subject", + "name" : "includeInherited", "required" : false, "schema" : { - "type" : "array", - "items" : { - "type" : "string" - } + "type" : "boolean", + "default" : false } }, { - "description" : "Status of the report", + "description" : "The adapter kind identifier", "in" : "query", - "name" : "status", + "name" : "adapterKind", "required" : false, "schema" : { - "type" : "array", - "items" : { - "type" : "string" - } + "type" : "string" } }, { - "description" : "Resources on which the reports are generated", + "description" : "The resource kind identifiers", "in" : "query", - "name" : "resourceId", + "name" : "resourceKind", "required" : false, "schema" : { "type" : "array", "items" : { - "type" : "string", - "format" : "uuid" + "type" : "string" } } - }, { - "description" : "Page number from which data needs to be displayed (0-based)", - "in" : "query", - "name" : "page", - "schema" : { - "type" : "integer", - "format" : "int32", - "default" : 0 - } - }, { - "description" : "Expected number of entries per page", - "in" : "query", - "name" : "pageSize", - "schema" : { - "type" : "integer", - "format" : "int32", - "default" : 1000 - } } ], "responses" : { "200" : { "content" : { "application/json" : { - "example" : "{\n \"reports\" : [ {\n \"description\" : \"Cluster Capacity Risk Forecast Report\",\n \"subject\" : [ ],\n \"owner\" : \"admin\",\n \"status\" : \"Completed\",\n \"publish\" : false\n } ]\n}", + "example" : "{\n \"vcPricingSettings\" : {\n \"pricingPolicyStatus\" : {\n \"enabled\" : false\n }\n }\n}", "schema" : { - "$ref" : "#/components/schemas/reports" + "$ref" : "#/components/schemas/policy-settings" } }, "application/xml" : { - "example" : "\n\n \n Cluster Capacity Risk Forecast Report\n \n admin\n Completed\n false\n \n\n", + "example" : "\n\n \n \n false\n \n \n\n", "schema" : { - "$ref" : "#/components/schemas/reports" + "$ref" : "#/components/schemas/policy-settings" } } }, - "description" : "The Collection of Reports matching the specified search critiera" + "description" : "The policy settings for the specified identifier." + }, + "404" : { + "description" : "There is no policy for the specified identifier.", + "x-vmw-compiler-skip" : true } }, - "summary" : "Get the Reports based on the Report Query Spec provided", - "tags" : [ "Reports" ] + "summary" : "Get policy settings for the specified identifier.", + "tags" : [ "Policies" ] }, - "post" : { - "description" : "Generate (create) a Report using the specified Report Definition and for the specified Resource", - "operationId" : "createReport", + "patch" : { + "description" : "Update only provided settings in the policy.", + "operationId" : "patchPolicySettings", + "parameters" : [ { + "description" : "Policy identifier to update", + "in" : "path", + "name" : "id", + "required" : true, + "schema" : { + "type" : "string", + "format" : "uuid" + } + } ], "requestBody" : { "content" : { "application/json" : { - "example" : "{\n \"resourceId\" : \"be82d29c-d82d-4d8c-8d9b-7f69d45b1c5f\",\n \"reportDefinitionId\" : \"97417a6d-708d-4b12-9142-484b5a0df4dc\",\n \"traversalSpec\" : {\n \"name\" : \"Traversal spec name\",\n \"rootAdapterKindKey\" : \"VMWARE\",\n \"rootResourceKindKey\" : \"VM\",\n \"adapterInstanceAssociation\" : false\n },\n \"subject\" : [ ],\n \"publish\" : false\n}", + "example" : "{\n \"vcPricingSettings\" : {\n \"pricingPolicyStatus\" : {\n \"enabled\" : false\n }\n }\n}", "schema" : { - "$ref" : "#/components/schemas/report" + "$ref" : "#/components/schemas/policy-settings" } }, "application/xml" : { - "example" : "\n\n be82d29c-d82d-4d8c-8d9b-7f69d45b1c5f\n 97417a6d-708d-4b12-9142-484b5a0df4dc\n \n Traversal spec name\n VMWARE\n VM\n \n \n false\n\n", + "example" : "\n\n \n \n false\n \n \n\n", "schema" : { - "$ref" : "#/components/schemas/report" + "$ref" : "#/components/schemas/policy-settings" } } }, - "description" : "The Report that needs to be generated", + "description" : "Only the specified fields in the settings will be applied to the provided policy", "required" : true }, "responses" : { - "200" : { - "content" : { - "application/json" : { - "example" : "{\n \"description\" : \"Cluster Capacity Risk Forecast Report\",\n \"subject\" : [ ],\n \"owner\" : \"admin\",\n \"completionTime\" : \"1 hour ago\",\n \"status\" : \"Completed\",\n \"publish\" : false\n}", - "schema" : { - "$ref" : "#/components/schemas/report" - } - }, - "application/xml" : { - "example" : "\n\n Cluster Capacity Risk Forecast Report\n \n admin\n 1 hour ago\n Completed\n false\n\n", - "schema" : { - "$ref" : "#/components/schemas/report" - } - } - }, - "description" : "The Generated Report" + "204" : { + "description" : "Policy settings was updated." + }, + "400" : { + "description" : "An invalid request body was specified", + "x-vmw-compiler-skip" : true } }, - "summary" : "Generate (create) a Report using the specified Report Definition and for the specified Resource", - "tags" : [ "Reports" ] + "summary" : "Update only provided settings in the policy.", + "tags" : [ "Policies" ] } }, - "/api/reports/{id}" : { - "delete" : { - "description" : "Delete a report by its identifier", - "operationId" : "deleteReport", + "/api/policies/{id}/unassign" : { + "put" : { + "description" : "Unassign policy from given groups, and objects.", + "operationId" : "unassignPolicy", "parameters" : [ { - "description" : "Report identifier", "in" : "path", "name" : "id", "required" : true, @@ -17448,106 +18093,130 @@ "format" : "uuid" } } ], - "responses" : { - "204" : { - "description" : "The report is deleted successfully" - } + "requestBody" : { + "content" : { + "application/json" : { + "example" : "{\n \"groupIds\" : [ \"dcc95660-a4b1-487b-a358-aaffd4d2cd9e\", \"1d553ea0-5d0b-492d-9a13-7b2e41e04e3f\" ],\n \"resourceIds\" : [ \"fffd261b-1d51-4824-8a50-c503528a1035\", \"e2191ec0-0b60-45df-92de-6ee637e0b716\" ]\n}", + "schema" : { + "$ref" : "#/components/schemas/policy-unassignment-param" + } + }, + "application/xml" : { + "example" : "\n\n \n dcc95660-a4b1-487b-a358-aaffd4d2cd9e\n 1d553ea0-5d0b-492d-9a13-7b2e41e04e3f\n \n \n fffd261b-1d51-4824-8a50-c503528a1035\n e2191ec0-0b60-45df-92de-6ee637e0b716\n \n\n", + "schema" : { + "$ref" : "#/components/schemas/policy-unassignment-param" + } + } + }, + "description" : "The Policy unassignment object carrying ids of groups, and objects", + "required" : true }, - "summary" : "Delete a report by its identifier", - "tags" : [ "Reports" ] - }, - "get" : { - "description" : "Get the detail of a Report given its identifier", - "operationId" : "getReport", - "parameters" : [ { - "description" : "The Identifier of the Report", - "in" : "path", - "name" : "id", - "required" : true, - "schema" : { - "type" : "string", - "format" : "uuid" - } - } ], "responses" : { "200" : { "content" : { "application/json" : { - "example" : "{\n \"description\" : \"Cluster Capacity Risk Forecast Report\",\n \"subject\" : [ ],\n \"owner\" : \"admin\",\n \"completionTime\" : \"1 hour ago\",\n \"status\" : \"Completed\",\n \"publish\" : false\n}", + "example" : "No Custom Example is Available", "schema" : { - "$ref" : "#/components/schemas/report" + "$ref" : "#/components/schemas/policy-associations-update-result" } }, "application/xml" : { - "example" : "\n\n Cluster Capacity Risk Forecast Report\n \n admin\n 1 hour ago\n Completed\n false\n\n", + "example" : "No Custom Example is Available", "schema" : { - "$ref" : "#/components/schemas/report" + "$ref" : "#/components/schemas/policy-associations-update-result" } } }, - "description" : "The details of the Report" + "description" : "The policy unassigned successfully" } }, - "summary" : "Get the detail of a Report given its identifier", - "tags" : [ "Reports" ] + "summary" : "Unassign policy from given groups, and objects", + "tags" : [ "Policies" ] } }, - "/api/reports/{id}/download" : { + "/api/product/licensing/edition" : { "get" : { - "description" : "The supported formats for Reports are PDF, CSV. If the format is not
specified the downloaded report will be in PDF format.
NOTE: In case the Accept header is provided, ensure that its value corresponds to the 'format' request parameter (including the default value when the request parameter is omitted).", - "x-vmw-compiler-skip" : "FILE", - "operationId" : "downloadReport", - "parameters" : [ { - "description" : "The Identifier of the Report", - "in" : "path", - "name" : "id", - "required" : true, - "schema" : { - "type" : "string", - "format" : "uuid" - } - }, { - "description" : "The format of the Report", - "in" : "query", - "name" : "format", - "required" : false, - "schema" : { - "type" : "string" + "description" : "Get edition of product licensing", + "operationId" : "getProductEdition", + "responses" : { + "200" : { + "content" : { + "application/json" : { + "example" : "{\n \"productLicensingEdition\" : \"ENTERPRISE\"\n}", + "schema" : { + "$ref" : "#/components/schemas/product-licensing" + } + }, + "application/xml" : { + "example" : "\n\n", + "schema" : { + "$ref" : "#/components/schemas/product-licensing" + } + } + }, + "description" : "The product licensing edition" } - } ], + }, + "summary" : "Get edition of product licensing", + "tags" : [ "Product Licensing" ] + } + }, + "/api/product/licensing/info" : { + "get" : { + "description" : "Get the license info for VMware Cloud Foundation Operations instance", + "operationId" : "getLicenseInfo", "responses" : { "200" : { "content" : { - "application/pdf" : { - "example" : "No Custom Example is Available", + "application/json" : { + "example" : "{\n \"licenseKey\" : \"license-key\",\n \"licensed\" : true,\n \"expirationDate\" : 1753339997385,\n \"licenseName\" : \"license-name\"\n}", "schema" : { - "type" : "string", - "format" : "byte" + "$ref" : "#/components/schemas/LicenseInfo" + } + } + }, + "description" : "An Object representing the license details" + } + }, + "summary" : "Get the license info for VMware Cloud Foundation Operations instance", + "tags" : [ "Product Licensing" ] + } + }, + "/api/product/licensing/npc/status" : { + "get" : { + "description" : "Get native public cloud licensing status", + "operationId" : "getNPCStatus", + "responses" : { + "200" : { + "content" : { + "application/json" : { + "example" : "{\n \"npcEnabled\" : true\n}", + "schema" : { + "$ref" : "#/components/schemas/product-licensing-npc-status" } }, - "text/csv" : { - "example" : "No Custom Example is Available", + "application/xml" : { + "example" : "\n\n true\n\n", "schema" : { - "type" : "string", - "format" : "byte" + "$ref" : "#/components/schemas/product-licensing-npc-status" } } }, - "description" : "The link to download the report" + "description" : "The native public cloud license" } }, - "summary" : "Download the Report given its identifier", - "tags" : [ "Reports" ] + "summary" : "Get native public cloud licensing status", + "tags" : [ "Product Licensing" ] } }, - "/api/resources" : { + "/api/recommendations" : { "get" : { - "description" : "Get a listing of resources based on the query spec specified", - "operationId" : "getResources", + "description" : "If no query set, all recommendations will be returned", + "operationId" : "getRecommendations", "parameters" : [ { - "description" : "Array of resource names to query for.
NOTE: Currently, only single element supported", + "description" : "Get Recommendations with the matching id, both system defined and user defined", "in" : "query", - "name" : "name", + "name" : "id", "required" : false, "schema" : { "type" : "array", @@ -17556,234 +18225,235 @@ } } }, { - "description" : "Array of resource names in java regex format.
NOTE: regex and name are mutually exclusive. If both are specified, name is given preference.", + "description" : "Get Recommendations that have an associated recommended action on and the action
is applicable to the resource of the specified adapter kind.", "in" : "query", - "name" : "regex", + "name" : "targetAdapterKind", "required" : false, "schema" : { - "type" : "array", - "items" : { - "type" : "string" - } + "type" : "string", + "description" : "Get Recommendations that have an associated recommended action on and the action
is applicable to the resource of the specified adapter kind." } }, { - "description" : "Array of Adapter Kind keys", + "description" : "Get Recommendations that have an associated recommended action on and the action
is applicable to the resource of the specified resource kind.", "in" : "query", - "name" : "adapterKind", + "name" : "targetResourceKind", "required" : false, "schema" : { - "type" : "array", - "items" : { - "type" : "string" - } + "type" : "string", + "description" : "Get Recommendations that have an associated recommended action on and the action
is applicable to the resource of the specified resource kind." } - }, { - "description" : "Array of Resource Kind keys", - "in" : "query", - "name" : "resourceKind", - "required" : false, - "schema" : { - "type" : "array", - "items" : { - "type" : "string" + } ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "example" : "{\n \"recommendations\" : [ {\n \"id\" : \"450125d0-8ce1-4b4e-af08-37043c304acf\",\n \"description\" : \"Restart the Virtual Machine\",\n \"action\" : {\n \"actionAdapterKindId\" : \"VcoRemediation\",\n \"targetAdapterKindId\" : \"VMWARE\",\n \"targetResourceKindId\" : \"VirtualMachine\",\n \"targetMethod\" : \"reset\"\n }\n }, {\n \"id\" : \"b3c41537-ec68-45fa-8ae2-ab9b5e435e96\",\n \"description\" : \"Reboot the Host after migrating the Virtual Machines\"\n } ]\n}", + "schema" : { + "$ref" : "#/components/schemas/recommendations" + } + }, + "application/xml" : { + "example" : "\n\n \n 450125d0-8ce1-4b4e-af08-37043c304acf\n Restart the Virtual Machine\n \n VcoRemediation\n VMWARE\n VirtualMachine\n reset\n \n \n \n b3c41537-ec68-45fa-8ae2-ab9b5e435e96\n Reboot the Host after migrating the Virtual Machines\n \n\n", + "schema" : { + "$ref" : "#/components/schemas/recommendations" + } + } + }, + "description" : "The list of recommendations" + } + }, + "summary" : "Get recommendations", + "tags" : [ "Recommendations" ] + }, + "post" : { + "description" : "The recommendation identifier must be unique for the system.", + "operationId" : "createRecommendation", + "requestBody" : { + "content" : { + "application/json" : { + "example" : "{\n \"description\" : \"Restart the Virtual Machine\",\n \"action\" : {\n \"actionAdapterKindId\" : \"VcoRemediation\",\n \"targetAdapterKindId\" : \"VMWARE\",\n \"targetResourceKindId\" : \"VirtualMachine\",\n \"targetMethod\" : \"reset\"\n }\n}", + "schema" : { + "$ref" : "#/components/schemas/recommendation" + } + }, + "application/xml" : { + "example" : "\n\n Restart the Virtual Machine\n \n VcoRemediation\n VMWARE\n VirtualMachine\n reset\n \n\n", + "schema" : { + "$ref" : "#/components/schemas/recommendation" + } } + }, + "description" : "The Recommendation to create", + "required" : true + }, + "responses" : { + "201" : { + "content" : { + "application/json" : { + "example" : "{\n \"description\" : \"Restart the Virtual Machine\",\n \"action\" : {\n \"actionAdapterKindId\" : \"VcoRemediation\",\n \"targetAdapterKindId\" : \"VMWARE\",\n \"targetResourceKindId\" : \"VirtualMachine\",\n \"targetMethod\" : \"reset\"\n }\n}", + "schema" : { + "$ref" : "#/components/schemas/recommendation" + } + }, + "application/xml" : { + "example" : "\n\n Restart the Virtual Machine\n \n VcoRemediation\n VMWARE\n VirtualMachine\n reset\n \n\n", + "schema" : { + "$ref" : "#/components/schemas/recommendation" + } + } + }, + "description" : "The created recommendation" } - }, { - "description" : "Array of Collector names", - "in" : "query", - "name" : "collectorName", - "required" : false, - "schema" : { - "type" : "array", - "items" : { - "type" : "string" + }, + "summary" : "Create a recommendation", + "tags" : [ "Recommendations" ] + }, + "put" : { + "description" : "Update an existing recommendation", + "operationId" : "updateRecommendation", + "requestBody" : { + "content" : { + "application/json" : { + "example" : "{\n \"id\" : \"0e9f311b-b942-4d30-9296-5631f02a1238\",\n \"description\" : \"Restart the modified Virtual Machine\",\n \"action\" : {\n \"actionAdapterKindId\" : \"VcoRemediation\",\n \"targetAdapterKindId\" : \"VMWARE\",\n \"targetResourceKindId\" : \"VirtualMachine\",\n \"targetMethod\" : \"reset\"\n }\n}", + "schema" : { + "$ref" : "#/components/schemas/recommendation" + } + }, + "application/xml" : { + "example" : "\n\n 0e9f311b-b942-4d30-9296-5631f02a1238\n Restart the modified Virtual Machine\n \n VcoRemediation\n VMWARE\n VirtualMachine\n reset\n \n\n", + "schema" : { + "$ref" : "#/components/schemas/recommendation" + } } + }, + "description" : "The Recommendation to update", + "required" : true + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "example" : "{\n \"id\" : \"0e9f311b-b942-4d30-9296-5631f02a1238\",\n \"description\" : \"Restart the modified Virtual Machine\",\n \"action\" : {\n \"actionAdapterKindId\" : \"VcoRemediation\",\n \"targetAdapterKindId\" : \"VMWARE\",\n \"targetResourceKindId\" : \"VirtualMachine\",\n \"targetMethod\" : \"reset\"\n }\n}", + "schema" : { + "$ref" : "#/components/schemas/recommendation" + } + }, + "application/xml" : { + "example" : "\n\n 0e9f311b-b942-4d30-9296-5631f02a1238\n Restart the modified Virtual Machine\n \n VcoRemediation\n VMWARE\n VirtualMachine\n reset\n \n\n", + "schema" : { + "$ref" : "#/components/schemas/recommendation" + } + } + }, + "description" : "The updated recommendation" } - }, { - "description" : "Array of Collector Identifiers", - "in" : "query", - "name" : "collectorId", - "required" : false, + }, + "summary" : "Update an existing recommendation", + "tags" : [ "Recommendations" ] + } + }, + "/api/recommendations/{id}" : { + "delete" : { + "description" : "If a recommendation with the specified identifier does not exist no error will be returned", + "operationId" : "deleteRecommendation", + "parameters" : [ { + "description" : "The identifier of the recommendation to delete", + "in" : "path", + "name" : "id", + "required" : true, "schema" : { - "type" : "array", - "items" : { - "type" : "integer", - "format" : "int32" - } + "type" : "string" } }, { - "deprecated" : true, - "description" : "Array of {@link UUID} that identify Maintenance Schedules.
Since vROps 6.1.0 release onwards, we don't support search
and look up of Resources using Maintenance Schedules' identifiers.", + "description" : "If true,then delete recommendation and if it is referenced in problem definition, update corresponding problem definition to remove the reference. If false, then delete recommendation only if it is not referenced by any problem definition.", "in" : "query", - "name" : "maintenanceScheduleId", + "name" : "force", "required" : false, "schema" : { - "type" : "array", - "items" : { - "type" : "string", - "format" : "uuid" - } - } - }, { - "description" : "Array of uuids that identify adapter instances", - "in" : "query", - "name" : "adapterInstanceId", - "required" : false, - "schema" : { - "type" : "array", - "items" : { - "type" : "string", - "format" : "uuid" - } - } - }, { - "description" : "Return resources created after the specified value. Value is the number of seconds since Midnight January 1, 1970 GMT.", - "in" : "query", - "name" : "recentlyAdded", - "required" : false, - "schema" : { - "type" : "integer", - "format" : "int64", - "description" : "Return resources created after the specified value. Value is the number of seconds since Midnight January 1, 1970 GMT." + "type" : "boolean", + "default" : false } - }, { - "description" : "Array of resource states. NOTE, the following states are applicable only for adapter instances: STOPPED, STARTING, STOPPING, UPDATING, FAILED, REMOVING", - "in" : "query", - "name" : "resourceState", - "required" : false, - "schema" : { - "type" : "array", - "description" : "Array of resource states. NOTE, the following states are applicable only for adapter instances: STOPPED, STARTING, STOPPING, UPDATING, FAILED, REMOVING", - "items" : { - "$ref" : "#/components/schemas/resource-state" - } + } ], + "responses" : { + "204" : { + "description" : "The recommendation is deleted successfully" } - }, { - "description" : "Array of resource data collection statuses. NOTE, the following statuses are applicable only for adapter instances: ERROR, DOWN, COLLECTOR_DOWN. The statuses OLD_DATA_RECEIVING, NO_PARENT_MONITORING and UNKNOWN are deprecated.", - "in" : "query", - "name" : "resourceStatus", - "required" : false, + }, + "summary" : "Delete a recommendation", + "tags" : [ "Recommendations" ] + }, + "get" : { + "description" : "Get the recommendation specified by the given identifier", + "operationId" : "getRecommendationById", + "parameters" : [ { + "description" : "The identifier of the recommendation", + "in" : "path", + "name" : "id", + "required" : true, "schema" : { - "type" : "array", - "description" : "Array of resource data collection statuses. NOTE, the following statuses are applicable only for adapter instances: ERROR, DOWN, COLLECTOR_DOWN. The statuses OLD_DATA_RECEIVING, NO_PARENT_MONITORING and UNKNOWN are deprecated.", - "items" : { - "$ref" : "#/components/schemas/resource-data-collection-status" - } + "type" : "string" } - }, { - "description" : "Array of resource health", - "in" : "query", - "name" : "resourceHealth", - "required" : false, - "schema" : { - "type" : "array", - "description" : "Array of resource health", - "items" : { - "$ref" : "#/components/schemas/resource-health" - } + } ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "example" : "{\n \"id\" : \"b3c41537-ec68-45fa-8ae2-ab9b5e435e96\",\n \"description\" : \"Reboot the Host after migrating the Virtual Machines\"\n}", + "schema" : { + "$ref" : "#/components/schemas/recommendation" + } + }, + "application/xml" : { + "example" : "\n\n b3c41537-ec68-45fa-8ae2-ab9b5e435e96\n Reboot the Host after migrating the Virtual Machines\n\n", + "schema" : { + "$ref" : "#/components/schemas/recommendation" + } + } + }, + "description" : "The recommendation corresponding to the specified ID" } - }, { - "description" : "Array of UUID of object that are the parent resource in a parent child relationship", + }, + "summary" : "Get the recommendation specified by the given identifier", + "tags" : [ "Recommendations" ] + } + }, + "/api/reportdefinitions" : { + "get" : { + "description" : "Get the Report Definitions based on the query specification specified", + "operationId" : "getReportDefinitions", + "parameters" : [ { + "description" : "Names of the Report Definitions", "in" : "query", - "name" : "parentId", + "name" : "name", "required" : false, "schema" : { "type" : "array", "items" : { - "type" : "string", - "format" : "uuid" + "type" : "string" } } }, { - "description" : "Array of CredentialIDs", + "description" : "Subjects of the Report Definitions", "in" : "query", - "name" : "credentialId", + "name" : "subject", "required" : false, "schema" : { "type" : "array", "items" : { - "type" : "string", - "format" : "uuid" + "type" : "string" } } }, { - "description" : "Array of Resource Identifiers", + "description" : "Owners of the Report Definitions", "in" : "query", - "name" : "resourceId", + "name" : "owner", "required" : false, "schema" : { "type" : "array", "items" : { - "type" : "string", - "format" : "uuid" + "type" : "string" } } - }, { - "description" : "Name of property. Query only supports filtering for a single property.", - "in" : "query", - "name" : "propertyName", - "required" : false, - "schema" : { - "type" : "string", - "description" : "Name of property. Query only supports filtering for a single property." - } - }, { - "description" : "Value of property. Omitting the property value will check for existence
of the property name on the resource.
NOTE: Use 'propertyConditions' to specify lookup of Resource using multiple properties.", - "in" : "query", - "name" : "propertyValue", - "required" : false, - "schema" : { - "type" : "string", - "description" : "Value of property. Omitting the property value will check for existence
of the property name on the resource.
NOTE: Use 'propertyConditions' to specify lookup of Resource using multiple properties." - } - }, { - "description" : "Name of resource StatKey to validate value is within a range.
Use with statKeyLowerBound, statKeyUpperBound and statKeyInclusive to create comparison conditions
NOTE: Use 'statConditions' to specify lookup of Resource using multiple stat keys.", - "in" : "query", - "name" : "statKey", - "required" : false, - "schema" : { - "type" : "string", - "description" : "Name of resource StatKey to validate value is within a range.
Use with statKeyLowerBound, statKeyUpperBound and statKeyInclusive to create comparison conditions
NOTE: Use 'statConditions' to specify lookup of Resource using multiple stat keys." - } - }, { - "description" : "StatKey value matching range lower bound", - "in" : "query", - "name" : "statKeyLowerBound", - "required" : false, - "schema" : { - "type" : "number", - "format" : "double", - "description" : "StatKey value matching range lower bound" - } - }, { - "description" : "StatKey value matching range upper bound", - "in" : "query", - "name" : "statKeyUpperBound", - "required" : false, - "schema" : { - "type" : "number", - "format" : "double", - "description" : "StatKey value matching range upper bound" - } - }, { - "description" : "Filtering by statKey values is inclusive or exclusive of boundary values. Defaults to true", - "in" : "query", - "name" : "statKeyInclusive", - "required" : false, - "schema" : { - "type" : "boolean", - "description" : "Filtering by statKey values is inclusive or exclusive of boundary values. Defaults to true" - } - }, { - "description" : "None null value specifies to include related resource ids of given relationship type in resource result.
Uses the RelationshipType.representation value.
", - "in" : "query", - "name" : "includeRelated", - "required" : false, - "schema" : { - "type" : "string", - "description" : "None null value specifies to include related resource ids of given relationship type in resource result.
Uses the RelationshipType.representation value.
", - "enum" : [ "PARENT", "CHILD" ] - } }, { "description" : "Page number from which data needs to be displayed (0-based)", "in" : "query", @@ -17807,475 +18477,492 @@ "200" : { "content" : { "application/json" : { - "example" : "No Custom Example is Available", + "example" : "{\n \"reportDefinitions\" : [ {\n \"id\" : \"4b577b7f-dc9b-4502-8b77-c49032c2231d\",\n \"description\" : \"Stressed VMs Report\",\n \"subject\" : [ ],\n \"lastRunTime\" : 1753425592632,\n \"active\" : true,\n \"owner\" : \"admin\"\n } ]\n}", "schema" : { - "$ref" : "#/components/schemas/resources" + "$ref" : "#/components/schemas/report-definitions" } }, "application/xml" : { - "example" : "No Custom Example is Available", + "example" : "\n\n \n Stressed VMs Report\n 2025-07-24T23:39:52.632-07:00\n admin\n \n\n", "schema" : { - "$ref" : "#/components/schemas/resources" + "$ref" : "#/components/schemas/report-definitions" } } }, - "description" : "The Collection of Resources matching the specified query parameters" + "description" : "The ReportDefinitions object that contains a list of ReportDefinition objects matching the query spec" } }, - "summary" : "Get a listing of resources based on the query spec specified", - "tags" : [ "Resources" ] - }, - "put" : { - "description" : "


Implementation Notes:


  • When updating a Resource, if the Resource Identifiers that are unique and required
    are not specified, the API would return an error with HTTP status code of 500
    and an error message indicating the set of missing Resource Identifiers.

  • When updating a Resource, if the Resource Identifiers that are unique but not required
    are not specified, the Resource is updated where the uniquely identifying Resource Identifiers
    that were not specified will have their value as an empty string.
", - "operationId" : "updateResource", - "requestBody" : { - "content" : { - "application/json" : { - "example" : "No Custom Example is Available", - "schema" : { - "$ref" : "#/components/schemas/resource" - } - }, - "application/xml" : { - "example" : "No Custom Example is Available", - "schema" : { - "$ref" : "#/components/schemas/resource" - } - } - }, - "description" : "The Resource object that needs to be updated", - "required" : true - }, + "summary" : "Get the Report Definitions based on the query specification specified", + "tags" : [ "Reports" ] + } + }, + "/api/reportdefinitions/{id}" : { + "get" : { + "description" : "Get a Report Definition by identifier", + "operationId" : "getReportDefinition", + "parameters" : [ { + "description" : "The Report Definition identifier", + "in" : "path", + "name" : "id", + "required" : true, + "schema" : { + "type" : "string", + "format" : "uuid" + } + } ], "responses" : { "200" : { "content" : { "application/json" : { - "example" : "No Custom Example is Available", + "example" : "{\n \"id\" : \"4b577b7f-dc9b-4502-8b77-c49032c2231d\",\n \"description\" : \"Stressed VMs Report\",\n \"subject\" : [ ],\n \"lastRunTime\" : 1753425592632,\n \"active\" : true,\n \"owner\" : \"admin\"\n}", "schema" : { - "$ref" : "#/components/schemas/resource" + "$ref" : "#/components/schemas/report-definition" } }, "application/xml" : { - "example" : "No Custom Example is Available", + "example" : "\n\n Stressed VMs Report\n 2025-07-24T23:39:52.632-07:00\n admin\n\n", "schema" : { - "$ref" : "#/components/schemas/resource" + "$ref" : "#/components/schemas/report-definition" } } }, - "description" : "The updated Resource object" + "description" : "The ReportDefinition object" }, "404" : { - "description" : "No Resource is found in the system corresponding to the identifier in the Request Body", - "x-vmw-compiler-skip" : true - }, - "500" : { - "description" : "The ResourceKey of the Resource is missing the uniquely identifying and required Resource Identifiers", + "description" : "There is no Report Definition in the system for the specified identifier", "x-vmw-compiler-skip" : true } }, - "summary" : "Update a Resource in the system", - "tags" : [ "Resources" ] + "summary" : "Get a Report Definition", + "tags" : [ "Reports" ] } }, - "/api/resources/adapterkinds/{adapterKindKey}" : { - "post" : { - "description" : "This adapter kind (referred to as 'Push' adapter kind) will be created if it does not
exist in the system and an instance of it will be associated with the Resource being created.
This adapter kind if it already exists must of OPENAPI adapter kind type.
The API will also create the missing Adapter Kind and Resource Kind
contained within the ResourceKey of the Resource if they do not exist.


Additional implementation notes:


  • When creating a Resource, if the Resource Identifiers that are unique and required
    are not specified, the API would return an error with HTTP status code of 500
    and an error message indicating the set of missing Resource Identifiers.

  • When creating a Resource, if the Resource Identifiers that are unique but not required
    are not specified, the Resource is created where the uniquely identifying Resource Identifiers
    that were not specified will have their value as an empty string.
", - "operationId" : "createResourceUsingAdapterKind", + "/api/reportdefinitions/{id}/schedules" : { + "get" : { + "description" : "The date and time values configured within the Report Schedule are converted to GMT time zone.", + "operationId" : "getReportSchedules", "parameters" : [ { - "description" : "The adapter kind key", + "description" : "The Report Definition identifier", "in" : "path", - "name" : "adapterKindKey", + "name" : "id", "required" : true, "schema" : { - "type" : "string" + "type" : "string", + "format" : "uuid" + } + }, { + "description" : "Flag to include schedules with not-existing resource", + "in" : "query", + "name" : "includeResourcelessSchedules", + "required" : false, + "schema" : { + "type" : "boolean", + "default" : false + } + }, { + "description" : "Page number from which data needs to be displayed (0-based)", + "in" : "query", + "name" : "page", + "schema" : { + "type" : "integer", + "format" : "int32", + "default" : 0 + } + }, { + "description" : "Expected number of entries per page", + "in" : "query", + "name" : "pageSize", + "schema" : { + "type" : "integer", + "format" : "int32", + "default" : 1000 } } ], - "requestBody" : { - "content" : { - "application/json" : { - "example" : "{\n \"description\" : \"Description of this virtual machine\",\n \"resourceKey\" : {\n \"name\" : \"VM1\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"VirtualMachine\",\n \"resourceIdentifiers\" : [ {\n \"identifierType\" : {\n \"name\" : \"VMEntityObjectID\",\n \"dataType\" : \"STRING\",\n \"isPartOfUniqueness\" : true\n },\n \"value\" : \"vm-123\"\n }, {\n \"identifierType\" : {\n \"name\" : \"VMEntityVCID\",\n \"dataType\" : \"STRING\",\n \"isPartOfUniqueness\" : true\n },\n \"value\" : \"CBAD174A-622E-4650-805A-064F824FFA76\"\n }, {\n \"identifierType\" : {\n \"name\" : \"VMEntityName\",\n \"dataType\" : \"STRING\",\n \"isPartOfUniqueness\" : true\n },\n \"value\" : \"VM1\"\n } ]\n },\n \"credentialInstanceId\" : \"51f8f60d-4a39-4839-9924-698d022e2e10\",\n \"resourceStatusStates\" : [ ],\n \"dtEnabled\" : true,\n \"monitoringInterval\" : 5,\n \"badges\" : [ ],\n \"relatedResources\" : [ ]\n}", - "schema" : { - "$ref" : "#/components/schemas/resource" - } - }, - "application/xml" : { - "example" : "\n\n Description of this virtual machine\n \n VM1\n VMWARE\n VirtualMachine\n \n \n \n vm-123\n \n \n \n CBAD174A-622E-4650-805A-064F824FFA76\n \n \n \n VM1\n \n \n \n 51f8f60d-4a39-4839-9924-698d022e2e10\n \n true\n 5\n \n \n\n", - "schema" : { - "$ref" : "#/components/schemas/resource" - } - } - }, - "description" : "The request object that contains info necessary to create a new resource", - "required" : true - }, "responses" : { - "201" : { + "200" : { "content" : { "application/json" : { - "example" : "{\n \"creationTime\" : 1753340199158,\n \"resourceKey\" : {\n \"name\" : \"VM1\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"VirtualMachine\",\n \"resourceIdentifiers\" : [ {\n \"identifierType\" : {\n \"name\" : \"VMEntityObjectID\",\n \"dataType\" : \"STRING\",\n \"isPartOfUniqueness\" : true\n },\n \"value\" : \"vm-123\"\n }, {\n \"identifierType\" : {\n \"name\" : \"VMEntityVCID\",\n \"dataType\" : \"STRING\",\n \"isPartOfUniqueness\" : true\n },\n \"value\" : \"CBAD174A-622E-4650-805A-064F824FFA76\"\n }, {\n \"identifierType\" : {\n \"name\" : \"VMEntityName\",\n \"dataType\" : \"STRING\",\n \"isPartOfUniqueness\" : true\n },\n \"value\" : \"VM1\"\n } ]\n },\n \"credentialInstanceId\" : \"51f8f60d-4a39-4839-9924-698d022e2e10\",\n \"resourceStatusStates\" : [ ],\n \"dtEnabled\" : true,\n \"badges\" : [ ],\n \"relatedResources\" : [ ],\n \"identifier\" : \"9a9cf74d-b1d0-4b24-9340-67a4625d8755\"\n}", + "example" : "{\n \"reportSchedules\" : [ {\n \"reportDefinitionId\" : \"1041506e-4d2d-4290-b068-c16450d1e41b\",\n \"resourceId\" : [ \"ba30e734-aa18-4e51-9364-7e6603a9c8fc\" ],\n \"startDate\" : \"01/01/2015\",\n \"reportScheduleType\" : \"MONTHLY\",\n \"startHour\" : 8,\n \"startMinute\" : 0,\n \"recurrence\" : 1,\n \"dayOfTheMonth\" : 1,\n \"emailAddresses\" : [ \"vrops@broadcom.com\" ]\n } ]\n}", "schema" : { - "$ref" : "#/components/schemas/resource" + "$ref" : "#/components/schemas/report-schedules" } }, "application/xml" : { - "example" : "\n\n \n VM1\n VMWARE\n VirtualMachine\n \n \n \n vm-123\n \n \n \n CBAD174A-622E-4650-805A-064F824FFA76\n \n \n \n VM1\n \n \n \n 51f8f60d-4a39-4839-9924-698d022e2e10\n \n true\n \n \n\n", + "example" : "\n\n \n ba30e734-aa18-4e51-9364-7e6603a9c8fc\n 01/01/2015\n MONTHLY\n 8\n 0\n 1\n 1\n vrops@broadcom.com\n \n\n", "schema" : { - "$ref" : "#/components/schemas/resource" + "$ref" : "#/components/schemas/report-schedules" } } }, - "description" : "The created Resource" - }, - "500" : { - "description" : "
  • The 'Push' adapter kind specified already exists in the system and doesn't correspond to an Adapter Kind that is of OPENAPI type
  • The ResourceKey of the Resource is missing the uniquely identifying and required Resource Identifiers", - "x-vmw-compiler-skip" : true + "description" : "The Report Schedules associated with the Report Definition identifier" } }, - "summary" : "Create a new Resource in the system associated with the specified adapter kind", - "tags" : [ "Resources" ] - } - }, - "/api/resources/adapters/{adapterInstanceId}" : { + "summary" : "Get all the Report Schedules associated with a Report Definition", + "tags" : [ "Reports" ] + }, "post" : { - "description" : "The API will create the missing Adapter Kind and Resource Kind
    contained within the ResourceKey of the Resource if they do not exist.
    The API will return an error if the adapter instance specified does not exist.
    Additional implementation notes:

    • When creating a Resource, if the Resource Identifiers that are unique and required
      are not specified, the API would return an error with HTTP status code of 500
      and an error message indicating the set of missing Resource Identifiers.

    • When creating a Resource, if the Resource Identifiers that are unique but not required
      are not specified, the Resource is created where the uniquely identifying Resource Identifiers
      that were not specified will have their value as an empty string.
    ", - "operationId" : "createResourceUsingAdapterInstance", + "description" : "To specify the time zone add X-Ops-API-Timezone header with value of format e.g. Asia/Yerevan.
    All the schedules created using this API will be configured to use GMT time zone.", + "operationId" : "createReportSchedule", "parameters" : [ { - "description" : "The adapter instance id", + "description" : "Report Definition identifier", "in" : "path", - "name" : "adapterInstanceId", + "name" : "id", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } + }, { + "description" : "Custom HTTP header used by Ops API clients to specify Timezone information.
    This Timezone value will be typically used for Report Generation.
    Either an abbreviation such as \"GMT\", \"PDT\" can be specified,
    or a full name such as \"America/Los_Angeles\". Other
    formats and representations are not supported.
    ", + "in" : "header", + "name" : "X-Ops-API-Timezone", + "schema" : { + "type" : "string" + } } ], "requestBody" : { "content" : { "application/json" : { - "example" : "{\n \"description\" : \"Description of this virtual machine\",\n \"resourceKey\" : {\n \"name\" : \"VM1\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"VirtualMachine\",\n \"resourceIdentifiers\" : [ {\n \"identifierType\" : {\n \"name\" : \"VMEntityObjectID\",\n \"dataType\" : \"STRING\",\n \"isPartOfUniqueness\" : true\n },\n \"value\" : \"vm-123\"\n }, {\n \"identifierType\" : {\n \"name\" : \"VMEntityVCID\",\n \"dataType\" : \"STRING\",\n \"isPartOfUniqueness\" : true\n },\n \"value\" : \"CBAD174A-622E-4650-805A-064F824FFA76\"\n }, {\n \"identifierType\" : {\n \"name\" : \"VMEntityName\",\n \"dataType\" : \"STRING\",\n \"isPartOfUniqueness\" : true\n },\n \"value\" : \"VM1\"\n } ]\n },\n \"credentialInstanceId\" : \"51f8f60d-4a39-4839-9924-698d022e2e10\",\n \"resourceStatusStates\" : [ ],\n \"dtEnabled\" : true,\n \"monitoringInterval\" : 5,\n \"badges\" : [ ],\n \"relatedResources\" : [ ]\n}", + "example" : "{\n \"reportDefinitionId\" : \"98a8bbc9-46a8-4a80-b781-971772af98bb\",\n \"resourceId\" : [ \"791bd5d1-f6d3-41fe-966e-2f07cd34cf11\" ],\n \"traversalSpec\" : {\n \"name\" : \"Traversal spec name\",\n \"rootAdapterKindKey\" : \"VMWARE\",\n \"rootResourceKindKey\" : \"VM\",\n \"adapterInstanceAssociation\" : false\n },\n \"startDate\" : \"4/30/15\",\n \"reportScheduleType\" : \"WEEKLY\",\n \"daysOfTheWeek\" : [ \"SUNDAY\", \"MONDAY\" ],\n \"startHour\" : 1,\n \"startMinute\" : 0,\n \"recurrence\" : 2\n}", "schema" : { - "$ref" : "#/components/schemas/resource" + "$ref" : "#/components/schemas/report-schedule" } }, "application/xml" : { - "example" : "\n\n Description of this virtual machine\n \n VM1\n VMWARE\n VirtualMachine\n \n \n \n vm-123\n \n \n \n CBAD174A-622E-4650-805A-064F824FFA76\n \n \n \n VM1\n \n \n \n 51f8f60d-4a39-4839-9924-698d022e2e10\n \n true\n 5\n \n \n\n", + "example" : "\n\n 791bd5d1-f6d3-41fe-966e-2f07cd34cf11\n \n Traversal spec name\n VMWARE\n VM\n \n 4/30/15\n WEEKLY\n SUNDAY MONDAY\n 1\n 0\n 2\n\n", "schema" : { - "$ref" : "#/components/schemas/resource" + "$ref" : "#/components/schemas/report-schedule" } } }, - "description" : "The request object that contains info necessary to create a new resource", + "description" : "The Report Schedule to create in the system", "required" : true }, "responses" : { - "201" : { + "200" : { "content" : { "application/json" : { - "example" : "{\n \"creationTime\" : 1753340199158,\n \"resourceKey\" : {\n \"name\" : \"VM1\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"VirtualMachine\",\n \"resourceIdentifiers\" : [ {\n \"identifierType\" : {\n \"name\" : \"VMEntityObjectID\",\n \"dataType\" : \"STRING\",\n \"isPartOfUniqueness\" : true\n },\n \"value\" : \"vm-123\"\n }, {\n \"identifierType\" : {\n \"name\" : \"VMEntityVCID\",\n \"dataType\" : \"STRING\",\n \"isPartOfUniqueness\" : true\n },\n \"value\" : \"CBAD174A-622E-4650-805A-064F824FFA76\"\n }, {\n \"identifierType\" : {\n \"name\" : \"VMEntityName\",\n \"dataType\" : \"STRING\",\n \"isPartOfUniqueness\" : true\n },\n \"value\" : \"VM1\"\n } ]\n },\n \"credentialInstanceId\" : \"51f8f60d-4a39-4839-9924-698d022e2e10\",\n \"resourceStatusStates\" : [ ],\n \"dtEnabled\" : true,\n \"badges\" : [ ],\n \"relatedResources\" : [ ],\n \"identifier\" : \"9a9cf74d-b1d0-4b24-9340-67a4625d8755\"\n}", + "example" : "{\n \"reportDefinitionId\" : \"1041506e-4d2d-4290-b068-c16450d1e41b\",\n \"resourceId\" : [ \"ba30e734-aa18-4e51-9364-7e6603a9c8fc\" ],\n \"startDate\" : \"01/01/2015\",\n \"reportScheduleType\" : \"MONTHLY\",\n \"startHour\" : 8,\n \"startMinute\" : 0,\n \"recurrence\" : 1,\n \"dayOfTheMonth\" : 1,\n \"emailAddresses\" : [ \"vrops@broadcom.com\" ]\n}", "schema" : { - "$ref" : "#/components/schemas/resource" + "$ref" : "#/components/schemas/report-schedule" } }, "application/xml" : { - "example" : "\n\n \n VM1\n VMWARE\n VirtualMachine\n \n \n \n vm-123\n \n \n \n CBAD174A-622E-4650-805A-064F824FFA76\n \n \n \n VM1\n \n \n \n 51f8f60d-4a39-4839-9924-698d022e2e10\n \n true\n \n \n\n", + "example" : "\n\n ba30e734-aa18-4e51-9364-7e6603a9c8fc\n 01/01/2015\n MONTHLY\n 8\n 0\n 1\n 1\n vrops@broadcom.com\n\n", "schema" : { - "$ref" : "#/components/schemas/resource" + "$ref" : "#/components/schemas/report-schedule" } } }, - "description" : "The created Resource" - }, - "404" : { - "description" : "No Adapter Instance is found in the system corresponding to the Path Parameter that was specified", - "x-vmw-compiler-skip" : true - }, - "500" : { - "description" : "The ResourceKey of the Resource is missing the uniquely identifying and required Resource Identifiers", - "x-vmw-compiler-skip" : true - } - }, - "summary" : "Create a new Resource in the system associated with an existing adapter instance", - "tags" : [ "Resources" ] - } - }, - "/api/resources/bulk" : { - "delete" : { - "description" : "NOTE: Deletion of Resources is not synchronous. As a result,
    the delete operation may not happen immediately. Furthermore, there is no way
    to track the status of the deletion operation. It is recommended to query back
    the system with the resource identifiers and ensure that the system returns a
    404 error.", - "operationId" : "deleteResources", - "requestBody" : { - "content" : { - "application/json" : { - "example" : "No Custom Example is Available", - "schema" : { - "$ref" : "#/components/schemas/uuid-values" - } - }, - "application/xml" : { - "example" : "No Custom Example is Available", - "schema" : { - "$ref" : "#/components/schemas/uuid-values" - } - } - }, - "description" : "Identifiers of Resources to delete", - "required" : true - }, - "responses" : { - "204" : { - "description" : "If there is no error in starting the deletion of Resource(s)" - }, - "500" : { - "description" : "If there is any error in starting the deletion of Resource(s)", - "x-vmw-compiler-skip" : true + "description" : "The Report Schedule to create in the system" } }, - "summary" : "Delete multiple Resources", - "tags" : [ "Resources" ] - } - }, - "/api/resources/bulk/relationships" : { - "post" : { - "description" : "Get resources that satisfy filtering criteria and are related to specified listof resources with the given relationship type", - "operationId" : "getResourcesRelationships", + "summary" : "Create a Report Schedule to generate a Report for the specified Report Definition and Resource(s)", + "tags" : [ "Reports" ] + }, + "put" : { + "description" : "The update of a schedule is a \"Replace\" operation.
    If a schedule with the specified
    schedule id is present in the system it will be replaced else the API returns a 404 error.", + "operationId" : "updateReportSchedule", "parameters" : [ { - "description" : "Page number from which data needs to be displayed (0-based)", - "in" : "query", - "name" : "page", - "schema" : { - "type" : "integer", - "format" : "int32", - "default" : 0 - } - }, { - "description" : "Expected number of entries per page", - "in" : "query", - "name" : "pageSize", + "description" : "The Report Definition identifier", + "in" : "path", + "name" : "id", + "required" : true, "schema" : { - "type" : "integer", - "format" : "int32", - "default" : 1000 + "type" : "string", + "format" : "uuid" } } ], "requestBody" : { "content" : { "application/json" : { - "example" : "{\n \"relationshipType\" : \"DESCENDANT\",\n \"resourceIds\" : [ \"20c42fce-d51d-4229-b5b7-0bf80e2628e6\", \"780a1304-14cc-40c2-aff2-3efec3aba981\" ],\n \"resourceQuery\" : {\n \"name\" : [ \"VMware Cloud Foundation Operations Node-VMware Cloud Foundation Cluster Node\" ],\n \"adapterKind\" : [ \"VMWARE\" ],\n \"resourceKind\" : [ \"ResourcePool\" ],\n \"collectorName\" : [ \"local_collector\" ],\n \"collectorId\" : [ 1 ],\n \"maintenanceScheduleId\" : [ \"7671e2ea-3589-4079-84e2-c34f92da36a9\" ],\n \"adapterInstanceId\" : [ \"34e5920e-b2c1-4ada-969b-082044dfe2ff\" ],\n \"resourceState\" : [ \"STARTED\" ],\n \"resourceStatus\" : [ \"DATA_RECEIVING\" ],\n \"credentialId\" : [ \"201725f4-c9c3-47ab-a544-7de32453b77d\" ],\n \"resourceId\" : [ \"8a5764f5-8ace-402f-bef3-b194733da68c\" ],\n \"statKeyInclusive\" : true,\n \"propertyConditions\" : {\n \"conjunctionOperator\" : \"OR\",\n \"conditions\" : [ {\n \"key\" : \"property_name\",\n \"operator\" : \"EQ\",\n \"stringValue\" : \"property_value\"\n } ]\n },\n \"statConditions\" : {\n \"conjunctionOperator\" : \"OR\",\n \"conditions\" : [ {\n \"key\" : \"stat|key1\",\n \"operator\" : \"LT_EQ\",\n \"doubleValue\" : 1.0\n } ]\n },\n \"resourceTag\" : [ {\n \"category\" : \"category_name\",\n \"name\" : \"tag_name\"\n } ]\n },\n \"hierarchyDepth\" : 5\n}", + "example" : "{\n \"reportDefinitionId\" : \"98a8bbc9-46a8-4a80-b781-971772af98bb\",\n \"resourceId\" : [ \"791bd5d1-f6d3-41fe-966e-2f07cd34cf11\" ],\n \"traversalSpec\" : {\n \"name\" : \"Traversal spec name\",\n \"rootAdapterKindKey\" : \"VMWARE\",\n \"rootResourceKindKey\" : \"VM\",\n \"adapterInstanceAssociation\" : false\n },\n \"startDate\" : \"4/30/15\",\n \"reportScheduleType\" : \"WEEKLY\",\n \"daysOfTheWeek\" : [ \"SUNDAY\", \"MONDAY\" ],\n \"startHour\" : 1,\n \"startMinute\" : 0,\n \"recurrence\" : 2\n}", "schema" : { - "$ref" : "#/components/schemas/resource-relationships-query" + "$ref" : "#/components/schemas/report-schedule" } }, "application/xml" : { - "example" : "\n\n 20c42fce-d51d-4229-b5b7-0bf80e2628e6 780a1304-14cc-40c2-aff2-3efec3aba981\n \n VMware Cloud Foundation Operations Node-VMware Cloud Foundation Cluster Node\n VMWARE\n ResourcePool\n local_collector\n 1\n 7671e2ea-3589-4079-84e2-c34f92da36a9\n 34e5920e-b2c1-4ada-969b-082044dfe2ff\n STARTED\n DATA_RECEIVING\n 201725f4-c9c3-47ab-a544-7de32453b77d\n 8a5764f5-8ace-402f-bef3-b194733da68c\n true\n \n \n \n property_value\n \n \n \n \n \n \n 1.0\n \n \n \n \n \n 5\n\n", + "example" : "\n\n 791bd5d1-f6d3-41fe-966e-2f07cd34cf11\n \n Traversal spec name\n VMWARE\n VM\n \n 4/30/15\n WEEKLY\n SUNDAY MONDAY\n 1\n 0\n 2\n\n", "schema" : { - "$ref" : "#/components/schemas/resource-relationships-query" + "$ref" : "#/components/schemas/report-schedule" } } }, - "description" : "Query spec that encapsulates various filtering criteria for related resources look up", + "description" : "The Report Schedule to update", "required" : true }, "responses" : { "200" : { "content" : { "application/json" : { - "example" : "{\n \"relationshipType\" : \"DESCENDANT\",\n \"resourcesRelations\" : [ {\n \"resource\" : {\n \"creationTime\" : 1753340199158,\n \"resourceKey\" : {\n \"name\" : \"VM1\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"VirtualMachine\",\n \"resourceIdentifiers\" : [ {\n \"identifierType\" : {\n \"name\" : \"VMEntityObjectID\",\n \"dataType\" : \"STRING\",\n \"isPartOfUniqueness\" : true\n },\n \"value\" : \"vm-123\"\n }, {\n \"identifierType\" : {\n \"name\" : \"VMEntityVCID\",\n \"dataType\" : \"STRING\",\n \"isPartOfUniqueness\" : true\n },\n \"value\" : \"CBAD174A-622E-4650-805A-064F824FFA76\"\n }, {\n \"identifierType\" : {\n \"name\" : \"VMEntityName\",\n \"dataType\" : \"STRING\",\n \"isPartOfUniqueness\" : true\n },\n \"value\" : \"VM1\"\n } ]\n },\n \"credentialInstanceId\" : \"51f8f60d-4a39-4839-9924-698d022e2e10\",\n \"resourceStatusStates\" : [ ],\n \"dtEnabled\" : true,\n \"badges\" : [ ],\n \"relatedResources\" : [ ],\n \"identifier\" : \"9a9cf74d-b1d0-4b24-9340-67a4625d8755\"\n },\n \"relatedResources\" : [ \"c6aa31fa-3715-458f-89fe-566e64acea44\", \"98a53a7d-bf03-49bb-9780-050eeb9190b8\" ]\n } ]\n}", + "example" : "{\n \"reportDefinitionId\" : \"1041506e-4d2d-4290-b068-c16450d1e41b\",\n \"resourceId\" : [ \"ba30e734-aa18-4e51-9364-7e6603a9c8fc\" ],\n \"startDate\" : \"01/01/2015\",\n \"reportScheduleType\" : \"MONTHLY\",\n \"startHour\" : 8,\n \"startMinute\" : 0,\n \"recurrence\" : 1,\n \"dayOfTheMonth\" : 1,\n \"emailAddresses\" : [ \"vrops@broadcom.com\" ]\n}", "schema" : { - "$ref" : "#/components/schemas/resources-relation" + "$ref" : "#/components/schemas/report-schedule" } }, "application/xml" : { - "example" : "\n\n \n \n \n \n VM1\n VMWARE\n VirtualMachine\n \n \n \n vm-123\n \n \n \n CBAD174A-622E-4650-805A-064F824FFA76\n \n \n \n VM1\n \n \n \n 51f8f60d-4a39-4839-9924-698d022e2e10\n \n true\n \n \n \n c6aa31fa-3715-458f-89fe-566e64acea44 98a53a7d-bf03-49bb-9780-050eeb9190b8\n \n \n\n", + "example" : "\n\n ba30e734-aa18-4e51-9364-7e6603a9c8fc\n 01/01/2015\n MONTHLY\n 8\n 0\n 1\n 1\n vrops@broadcom.com\n\n", "schema" : { - "$ref" : "#/components/schemas/resources-relation" + "$ref" : "#/components/schemas/report-schedule" } } }, - "description" : "The Collection of Resources related to given set of resources and matching the query Spec" + "description" : "The updated Report Schedule object" }, "404" : { - "description" : "If could find none of the resources from ResourceRelationshipsQuery.resourceIds", - "x-vmw-compiler-skip" : true - }, - "500" : { - "description" : "If there is an error during the query", + "description" : "No Report Definition/Schedule is found with the specified identifier", "x-vmw-compiler-skip" : true } }, - "summary" : "Get resources that satisfy filtering criteria and are related to specified list of resources with the given relationship type", - "tags" : [ "Resources" ] + "summary" : "Update Report Schedule associated with the specific Report Definition and for the specified Schedule identifier", + "tags" : [ "Reports" ] } }, - "/api/resources/customdatacenters" : { + "/api/reportdefinitions/{id}/schedules/{scheduleId}" : { "delete" : { - "description" : "Delete custom datacenters.
    NOTE: Deletion of custom datacenters is not synchronous. As a result,
    the delete operation may not happen immediately. Furthermore, there is no way
    to track the status of the deletion operation. It is recommended to query back
    the system and ensure that the resources (datacenters) with given ids are not present any more.
    NOTE: This API is only for custom datacenters deletion. Any invalid or none custom datacenter ids in the request body will be ignored.", - "operationId" : "deleteCustomDatacenters", - "requestBody" : { - "content" : { - "application/json" : { - "example" : "{\n \"uuids\" : [ \"5f6f1e91-ea7c-494c-bd86-d172192f9cfd\", \"563f1194-2d76-4678-b766-984ab13b3245\" ]\n}", - "schema" : { - "$ref" : "#/components/schemas/uuid-values" - } - }, - "application/xml" : { - "example" : "\n\n 5f6f1e91-ea7c-494c-bd86-d172192f9cfd 563f1194-2d76-4678-b766-984ab13b3245\n\n", - "schema" : { - "$ref" : "#/components/schemas/uuid-values" - } - } - }, - "description" : "Custom datacenter ids", - "required" : true - }, - "responses" : { + "description" : "Delete Report Schedule associated with the specific Report Definition and for the specified Schedule identifier", + "operationId" : "deleteSchedule", + "parameters" : [ { + "description" : "The Report Definition identifier", + "in" : "path", + "name" : "id", + "required" : true, + "schema" : { + "type" : "string", + "format" : "uuid" + } + }, { + "description" : "The Report Schedule identifier", + "in" : "path", + "name" : "scheduleId", + "required" : true, + "schema" : { + "type" : "string", + "format" : "uuid" + } + } ], + "responses" : { "204" : { - "description" : "Custom datacenter was deleted successfully" + "description" : "The Report Schedule was successfully deleted from the system" + }, + "404" : { + "description" : "No Report Definition/Schedule is found with the specified identifier", + "x-vmw-compiler-skip" : true } }, - "summary" : "Delete custom datacenters", - "tags" : [ "Resources" ] + "summary" : "Delete Report Schedule associated with the specific Report Definition and for the specified Schedule identifier", + "tags" : [ "Reports" ] }, "get" : { - "description" : "Get custom datacenters", - "operationId" : "getCustomDatacenters", + "description" : "The date and time values configured within the Report Schedule are converted to GMT time zone.", + "operationId" : "getReportSchedule", "parameters" : [ { - "description" : "Page number from which data needs to be displayed (0-based)", - "in" : "query", - "name" : "page", + "description" : "The Report Definition identifier", + "in" : "path", + "name" : "id", + "required" : true, "schema" : { - "type" : "integer", - "format" : "int32", - "default" : 0 + "type" : "string", + "format" : "uuid" } }, { - "description" : "Expected number of entries per page", - "in" : "query", - "name" : "pageSize", + "description" : "The Report Schedule identifier", + "in" : "path", + "name" : "scheduleId", + "required" : true, "schema" : { - "type" : "integer", - "format" : "int32", - "default" : 1000 + "type" : "string", + "format" : "uuid" } } ], "responses" : { "200" : { "content" : { "application/json" : { - "example" : "{\n \"pageInfo\" : {\n \"totalCount\" : 3000,\n \"page\" : 0,\n \"pageSize\" : 1000\n },\n \"customDatacenters\" : [ {\n \"id\" : \"496228bb-28e9-4be1-9be1-54978fe71636\",\n \"name\" : \"custom datacenter 1\",\n \"description\" : \"custom datacenter 1 description\",\n \"childResourceIds\" : [ \"a08e44bb-75cf-426c-b271-34937444889f\", \"f3ea1105-fda5-4c54-8b26-0fba196123c7\" ]\n }, {\n \"id\" : \"657e68ea-9551-4bce-9895-27a3f03849cb\",\n \"name\" : \"custom datacenter 2\",\n \"description\" : \"custom datacenter 2 description\",\n \"childResourceIds\" : [ \"ddc8f222-08e0-4dc6-9ff7-fd758f5ac6e9\", \"177ba97c-a0d8-41c4-b38d-82c36d6e793e\" ]\n } ]\n}", + "example" : "{\n \"reportDefinitionId\" : \"1041506e-4d2d-4290-b068-c16450d1e41b\",\n \"resourceId\" : [ \"ba30e734-aa18-4e51-9364-7e6603a9c8fc\" ],\n \"startDate\" : \"01/01/2015\",\n \"reportScheduleType\" : \"MONTHLY\",\n \"startHour\" : 8,\n \"startMinute\" : 0,\n \"recurrence\" : 1,\n \"dayOfTheMonth\" : 1,\n \"emailAddresses\" : [ \"vrops@broadcom.com\" ]\n}", "schema" : { - "$ref" : "#/components/schemas/custom-datacenters" + "$ref" : "#/components/schemas/report-schedule" } }, "application/xml" : { - "example" : "\n\n \n 0\n 1000\n \n \n \n custom datacenter 1\n custom datacenter 1 description\n \n a08e44bb-75cf-426c-b271-34937444889f\n f3ea1105-fda5-4c54-8b26-0fba196123c7\n \n \n \n custom datacenter 2\n custom datacenter 2 description\n \n ddc8f222-08e0-4dc6-9ff7-fd758f5ac6e9\n 177ba97c-a0d8-41c4-b38d-82c36d6e793e\n \n \n \n\n", + "example" : "\n\n ba30e734-aa18-4e51-9364-7e6603a9c8fc\n 01/01/2015\n MONTHLY\n 8\n 0\n 1\n 1\n vrops@broadcom.com\n\n", "schema" : { - "$ref" : "#/components/schemas/custom-datacenters" + "$ref" : "#/components/schemas/report-schedule" } } }, - "description" : "Custom datacenters" + "description" : "The Report Schedules associated with the Report Definition identifier" + }, + "404" : { + "description" : "No Report Definition/Schedule is found with the specified identifier", + "x-vmw-compiler-skip" : true } }, - "summary" : "Get custom datacenters", - "tags" : [ "Resources" ] - }, - "post" : { - "description" : "Create a custom datacenter", - "operationId" : "createCustomDatacenter", - "requestBody" : { - "content" : { - "application/json" : { - "example" : "{\n \"name\" : \"custom datacenter\",\n \"description\" : \"custom datacenter description\",\n \"childResourceIds\" : [ \"f1f26a23-e930-4b1f-aafd-84fca7da8dbb\", \"fc3316bb-938c-4eff-9049-d0e642db7ad2\" ]\n}", - "schema" : { - "$ref" : "#/components/schemas/custom-datacenter" - } - }, - "application/xml" : { - "example" : "\n\n custom datacenter\n custom datacenter description\n \n f1f26a23-e930-4b1f-aafd-84fca7da8dbb\n fc3316bb-938c-4eff-9049-d0e642db7ad2\n \n\n", - "schema" : { - "$ref" : "#/components/schemas/custom-datacenter" - } + "summary" : "Get a specific Report Schedule for the specified Report Definition and Schedule identifier", + "tags" : [ "Reports" ] + } + }, + "/api/reports" : { + "get" : { + "description" : "If the query spec is not provided, all Reports present in the system are returned.", + "operationId" : "getReports", + "parameters" : [ { + "description" : "Reports name with which the filtering can be done", + "in" : "query", + "name" : "name", + "required" : false, + "schema" : { + "type" : "array", + "items" : { + "type" : "string" } - }, - "description" : "Custom datacenter", - "required" : true - }, + } + }, { + "description" : "Subjects with which the filtering can be done", + "in" : "query", + "name" : "subject", + "required" : false, + "schema" : { + "type" : "array", + "items" : { + "type" : "string" + } + } + }, { + "description" : "Status of the report", + "in" : "query", + "name" : "status", + "required" : false, + "schema" : { + "type" : "array", + "items" : { + "type" : "string" + } + } + }, { + "description" : "Resources on which the reports are generated", + "in" : "query", + "name" : "resourceId", + "required" : false, + "schema" : { + "type" : "array", + "items" : { + "type" : "string", + "format" : "uuid" + } + } + }, { + "description" : "Page number from which data needs to be displayed (0-based)", + "in" : "query", + "name" : "page", + "schema" : { + "type" : "integer", + "format" : "int32", + "default" : 0 + } + }, { + "description" : "Expected number of entries per page", + "in" : "query", + "name" : "pageSize", + "schema" : { + "type" : "integer", + "format" : "int32", + "default" : 1000 + } + } ], "responses" : { - "201" : { + "200" : { "content" : { "application/json" : { - "example" : "{\n \"id\" : \"9454dd8a-1505-4a32-96e0-1d93405651e5\",\n \"name\" : \"custom datacenter\",\n \"description\" : \"custom datacenter description\",\n \"childResourceIds\" : [ \"f1f26a23-e930-4b1f-aafd-84fca7da8dbb\", \"fc3316bb-938c-4eff-9049-d0e642db7ad2\" ]\n}", + "example" : "{\n \"reports\" : [ {\n \"description\" : \"Cluster Capacity Risk Forecast Report\",\n \"subject\" : [ ],\n \"owner\" : \"admin\",\n \"status\" : \"Completed\",\n \"publish\" : false\n } ]\n}", "schema" : { - "$ref" : "#/components/schemas/custom-datacenter" + "$ref" : "#/components/schemas/reports" } }, "application/xml" : { - "example" : "\n\n custom datacenter\n custom datacenter description\n \n f1f26a23-e930-4b1f-aafd-84fca7da8dbb\n fc3316bb-938c-4eff-9049-d0e642db7ad2\n \n\n", + "example" : "\n\n \n Cluster Capacity Risk Forecast Report\n \n admin\n Completed\n false\n \n\n", "schema" : { - "$ref" : "#/components/schemas/custom-datacenter" + "$ref" : "#/components/schemas/reports" } } }, - "description" : "Created custom datacenter" + "description" : "The Collection of Reports matching the specified search critiera" } }, - "summary" : "Create a custom datacenter", - "tags" : [ "Resources" ] + "summary" : "Get the Reports based on the Report Query Spec provided", + "tags" : [ "Reports" ] }, - "put" : { - "description" : "Update a custom datacenter", - "operationId" : "updateCustomDatacenter", + "post" : { + "description" : "Generate (create) a Report using the specified Report Definition and for the specified Resource", + "operationId" : "createReport", "requestBody" : { "content" : { "application/json" : { - "example" : "{\n \"id\" : \"9454dd8a-1505-4a32-96e0-1d93405651e5\",\n \"name\" : \"custom datacenter\",\n \"description\" : \"custom datacenter description\",\n \"childResourceIds\" : [ \"f1f26a23-e930-4b1f-aafd-84fca7da8dbb\", \"fc3316bb-938c-4eff-9049-d0e642db7ad2\" ]\n}", + "example" : "{\n \"resourceId\" : \"be82d29c-d82d-4d8c-8d9b-7f69d45b1c5f\",\n \"reportDefinitionId\" : \"97417a6d-708d-4b12-9142-484b5a0df4dc\",\n \"traversalSpec\" : {\n \"name\" : \"Traversal spec name\",\n \"rootAdapterKindKey\" : \"VMWARE\",\n \"rootResourceKindKey\" : \"VM\",\n \"adapterInstanceAssociation\" : false\n },\n \"subject\" : [ ],\n \"publish\" : false\n}", "schema" : { - "$ref" : "#/components/schemas/custom-datacenter" + "$ref" : "#/components/schemas/report" } }, "application/xml" : { - "example" : "\n\n custom datacenter\n custom datacenter description\n \n f1f26a23-e930-4b1f-aafd-84fca7da8dbb\n fc3316bb-938c-4eff-9049-d0e642db7ad2\n \n\n", + "example" : "\n\n be82d29c-d82d-4d8c-8d9b-7f69d45b1c5f\n 97417a6d-708d-4b12-9142-484b5a0df4dc\n \n Traversal spec name\n VMWARE\n VM\n \n \n false\n\n", "schema" : { - "$ref" : "#/components/schemas/custom-datacenter" + "$ref" : "#/components/schemas/report" } } }, - "description" : "Custom datacenter", + "description" : "The Report that needs to be generated", "required" : true }, "responses" : { "200" : { "content" : { "application/json" : { - "example" : "{\n \"id\" : \"9454dd8a-1505-4a32-96e0-1d93405651e5\",\n \"name\" : \"custom datacenter\",\n \"description\" : \"custom datacenter description\",\n \"childResourceIds\" : [ \"f1f26a23-e930-4b1f-aafd-84fca7da8dbb\", \"fc3316bb-938c-4eff-9049-d0e642db7ad2\" ]\n}", + "example" : "{\n \"description\" : \"Cluster Capacity Risk Forecast Report\",\n \"subject\" : [ ],\n \"owner\" : \"admin\",\n \"completionTime\" : \"1 hour ago\",\n \"status\" : \"Completed\",\n \"publish\" : false\n}", "schema" : { - "$ref" : "#/components/schemas/custom-datacenter" + "$ref" : "#/components/schemas/report" } }, "application/xml" : { - "example" : "\n\n custom datacenter\n custom datacenter description\n \n f1f26a23-e930-4b1f-aafd-84fca7da8dbb\n fc3316bb-938c-4eff-9049-d0e642db7ad2\n \n\n", + "example" : "\n\n Cluster Capacity Risk Forecast Report\n \n admin\n 1 hour ago\n Completed\n false\n\n", "schema" : { - "$ref" : "#/components/schemas/custom-datacenter" + "$ref" : "#/components/schemas/report" } } }, - "description" : "Updated custom datacenter" - }, - "409" : { - "description" : "There are conflicting clusters", - "x-vmw-compiler-skip" : true + "description" : "The Generated Report" } }, - "summary" : "Update a custom datacenter", - "tags" : [ "Resources" ] + "summary" : "Generate (create) a Report using the specified Report Definition and for the specified Resource", + "tags" : [ "Reports" ] } }, - "/api/resources/customdatacenters/{id}" : { + "/api/reports/{id}" : { + "delete" : { + "description" : "Delete a report by its identifier", + "operationId" : "deleteReport", + "parameters" : [ { + "description" : "Report identifier", + "in" : "path", + "name" : "id", + "required" : true, + "schema" : { + "type" : "string", + "format" : "uuid" + } + } ], + "responses" : { + "204" : { + "description" : "The report is deleted successfully" + } + }, + "summary" : "Delete a report by its identifier", + "tags" : [ "Reports" ] + }, "get" : { - "description" : "Get custom datacenter by id", - "operationId" : "getCustomDatacenter", + "description" : "Get the detail of a Report given its identifier", + "operationId" : "getReport", "parameters" : [ { - "description" : "Custom datacenter id", + "description" : "The Identifier of the Report", "in" : "path", "name" : "id", "required" : true, @@ -18288,355 +18975,150 @@ "200" : { "content" : { "application/json" : { - "example" : "{\n \"id\" : \"9454dd8a-1505-4a32-96e0-1d93405651e5\",\n \"name\" : \"custom datacenter\",\n \"description\" : \"custom datacenter description\",\n \"childResourceIds\" : [ \"f1f26a23-e930-4b1f-aafd-84fca7da8dbb\", \"fc3316bb-938c-4eff-9049-d0e642db7ad2\" ]\n}", + "example" : "{\n \"description\" : \"Cluster Capacity Risk Forecast Report\",\n \"subject\" : [ ],\n \"owner\" : \"admin\",\n \"completionTime\" : \"1 hour ago\",\n \"status\" : \"Completed\",\n \"publish\" : false\n}", "schema" : { - "$ref" : "#/components/schemas/custom-datacenter" + "$ref" : "#/components/schemas/report" } }, "application/xml" : { - "example" : "\n\n custom datacenter\n custom datacenter description\n \n f1f26a23-e930-4b1f-aafd-84fca7da8dbb\n fc3316bb-938c-4eff-9049-d0e642db7ad2\n \n\n", + "example" : "\n\n Cluster Capacity Risk Forecast Report\n \n admin\n 1 hour ago\n Completed\n false\n\n", "schema" : { - "$ref" : "#/components/schemas/custom-datacenter" + "$ref" : "#/components/schemas/report" } } }, - "description" : "Custom datacenter" - }, - "404" : { - "description" : "No custom datacenter is found with the specified id", - "x-vmw-compiler-skip" : true + "description" : "The details of the Report" } }, - "summary" : "Get custom datacenter by id", - "tags" : [ "Resources" ] + "summary" : "Get the detail of a Report given its identifier", + "tags" : [ "Reports" ] } }, - "/api/resources/groups" : { + "/api/reports/{id}/download" : { "get" : { - "description" : "Get all custom groups with or without policy", - "operationId" : "getCustomGroups", + "description" : "The supported formats for Reports are PDF, CSV. If the format is not
    specified the downloaded report will be in PDF format.
    NOTE: In case the Accept header is provided, ensure that its value corresponds to the 'format' request parameter (including the default value when the request parameter is omitted).", + "operationId" : "downloadReport", "parameters" : [ { - "description" : "Collection of group identifiers", - "in" : "query", - "name" : "groupId", - "required" : false, + "description" : "The Identifier of the Report", + "in" : "path", + "name" : "id", + "required" : true, "schema" : { - "type" : "array", - "items" : { - "type" : "string", - "format" : "uuid" - } + "type" : "string", + "format" : "uuid" } }, { - "description" : "Flag that controls the retrieval of policy identifier applied to group", + "description" : "The format of the Report", "in" : "query", - "name" : "includePolicy", + "name" : "format", "required" : false, "schema" : { - "type" : "boolean", - "default" : false + "type" : "string" } } ], "responses" : { "200" : { "content" : { - "application/json" : { - "example" : "{\n \"groups\" : [ {\n \"id\" : \"358bf85c-e8c4-46dd-bb12-120da5bdeb2b\",\n \"resourceKey\" : {\n \"name\" : \"Sample Custom Group with Metric Key Condition\",\n \"adapterKindKey\" : \"Container\",\n \"resourceKindKey\" : \"Environment\"\n },\n \"autoResolveMembership\" : false,\n \"membershipDefinition\" : {\n \"includedResources\" : [ ],\n \"excludedResources\" : [ ],\n \"custom-group-properties\" : [ ],\n \"rules\" : [ {\n \"resourceKindKey\" : {\n \"resourceKind\" : \"VirtualMachine\",\n \"adapterKind\" : \"VMWARE\"\n },\n \"statConditionRules\" : [ {\n \"key\" : \"cpu|usage_average\",\n \"doubleValue\" : 85.0,\n \"compareOperator\" : \"GT\"\n } ],\n \"propertyConditionRules\" : [ ],\n \"resourceNameConditionRules\" : [ ],\n \"relationshipConditionRules\" : [ ],\n \"resourceTagConditionRules\" : [ ]\n } ]\n }\n } ]\n}", - "schema" : { - "$ref" : "#/components/schemas/cgroups" - } - }, - "application/xml" : { - "example" : "\n\n \n \n Sample Custom Group with Metric Key Condition\n Container\n Environment\n \n \n \n \n \n \n \n VirtualMachine\n VMWARE\n \n \n 85.0\n GT\n \n \n \n \n\n", - "schema" : { - "$ref" : "#/components/schemas/cgroups" - } - } - }, - "description" : "Collection of custom groups" - } - }, - "summary" : "Get all custom groups", - "tags" : [ "Resources" ] - }, - "post" : { - "description" : "See different request examples with Metric Key, Property Key, Relationship and Resource Name Condition.", - "operationId" : "createCustomGroup", - "requestBody" : { - "content" : { - "application/json" : { - "example" : "{\n \"resourceKey\" : {\n \"name\" : \"Sample Custom Group with Metric Key Condition\",\n \"adapterKindKey\" : \"Container\",\n \"resourceKindKey\" : \"Environment\"\n },\n \"autoResolveMembership\" : true,\n \"membershipDefinition\" : {\n \"includedResources\" : [ ],\n \"excludedResources\" : [ ],\n \"custom-group-properties\" : [ ],\n \"rules\" : [ {\n \"resourceKindKey\" : {\n \"resourceKind\" : \"VirtualMachine\",\n \"adapterKind\" : \"VMWARE\"\n },\n \"statConditionRules\" : [ {\n \"key\" : \"cpu|usage_average\",\n \"doubleValue\" : 80.0,\n \"compareOperator\" : \"GT\"\n } ],\n \"propertyConditionRules\" : [ {\n \"key\" : \"config|hardware|numCpu\",\n \"doubleValue\" : 4.0,\n \"compareOperator\" : \"LT\"\n } ],\n \"resourceNameConditionRules\" : [ {\n \"name\" : \"VSAN\",\n \"compareOperator\" : \"NOT_CONTAINS\"\n } ],\n \"relationshipConditionRules\" : [ {\n \"relation\" : \"CHILD\",\n \"name\" : \"SampleStorage\",\n \"compareOperator\" : \"CONTAINS\",\n \"travesalSpecId\" : \"vSphere Storage-VMWARE-vSphere World\"\n } ],\n \"resourceTagConditionRules\" : [ {\n \"category\" : \"VMFolder\",\n \"compareOperator\" : \"NOT_CONTAINS\",\n \"stringValue\" : \"TestVMFolder\"\n } ]\n } ]\n }\n}", - "schema" : { - "$ref" : "#/components/schemas/custom-group" - } - }, - "application/xml" : { - "example" : "\n\n \n Sample Custom Group with Metric Key Condition\n Container\n Environment\n \n \n \n \n \n \n \n VirtualMachine\n VMWARE\n \n \n 80.0\n GT\n \n \n 4.0\n LT\n \n \n \n \n \n \n\n", - "schema" : { - "$ref" : "#/components/schemas/custom-group" - } - } - }, - "description" : "The custom group definition", - "required" : true - }, - "responses" : { - "201" : { - "content" : { - "application/json" : { - "example" : "No Custom Example is Available", - "schema" : { - "$ref" : "#/components/schemas/custom-group" - } - }, - "application/xml" : { - "example" : "No Custom Example is Available", - "schema" : { - "$ref" : "#/components/schemas/custom-group" - } - } - }, - "description" : "The newly created custom group" - } - }, - "summary" : "Create a new custom group definition", - "tags" : [ "Resources" ] - }, - "put" : { - "description" : "NOTE: Method is enabled for user groups only", - "operationId" : "modifyCustomGroup", - "requestBody" : { - "content" : { - "application/json" : { - "example" : "{\n \"id\" : \"433b0861-e935-40ad-a0c1-79fc8e65aa94\",\n \"resourceKey\" : {\n \"name\" : \"Sample Custom Group with Metric Key Condition\",\n \"adapterKindKey\" : \"Container\",\n \"resourceKindKey\" : \"Environment\"\n },\n \"autoResolveMembership\" : true,\n \"membershipDefinition\" : {\n \"includedResources\" : [ ],\n \"excludedResources\" : [ ],\n \"custom-group-properties\" : [ ],\n \"rules\" : [ {\n \"resourceKindKey\" : {\n \"resourceKind\" : \"VirtualMachine\",\n \"adapterKind\" : \"VMWARE\"\n },\n \"statConditionRules\" : [ {\n \"key\" : \"cpu|usage_average\",\n \"doubleValue\" : 85.0,\n \"compareOperator\" : \"GT\"\n } ],\n \"propertyConditionRules\" : [ ],\n \"resourceNameConditionRules\" : [ ],\n \"relationshipConditionRules\" : [ ],\n \"resourceTagConditionRules\" : [ ]\n } ]\n }\n}", - "schema" : { - "$ref" : "#/components/schemas/custom-group" - } - }, - "application/xml" : { - "example" : "\n\n \n Sample Custom Group with Metric Key Condition\n Container\n Environment\n \n \n \n \n \n \n \n VirtualMachine\n VMWARE\n \n \n 85.0\n GT\n \n \n \n\n", - "schema" : { - "$ref" : "#/components/schemas/custom-group" - } - } - }, - "description" : "The custom group definition", - "required" : true - }, - "responses" : { - "200" : { - "content" : { - "application/json" : { + "application/pdf" : { "example" : "No Custom Example is Available", "schema" : { - "$ref" : "#/components/schemas/custom-group" + "type" : "string", + "format" : "byte" } }, - "application/xml" : { + "text/csv" : { "example" : "No Custom Example is Available", "schema" : { - "$ref" : "#/components/schemas/custom-group" + "type" : "string", + "format" : "byte" } } }, - "description" : "The updated custom group" + "description" : "The link to download the report" } }, - "summary" : "Modify an existing custom group definition", - "tags" : [ "Resources" ] + "summary" : "Download the Report given its identifier", + "tags" : [ "Reports" ], + "x-vmw-compiler-skip" : "FILE" } }, - "/api/resources/groups/types" : { + "/api/resources" : { "get" : { - "description" : "Get Group Types", - "operationId" : "getGroupTypes", - "responses" : { - "200" : { - "content" : { - "application/json" : { - "example" : "{\n \"groupTypes\" : [ {\n \"name\" : \"Department\",\n \"key\" : \"Department\"\n }, {\n \"name\" : \"Environment\",\n \"key\" : \"Environment\"\n }, {\n \"name\" : \"Security Zone\",\n \"key\" : \"Security Zone\"\n }, {\n \"name\" : \"Universe\",\n \"key\" : \"Universe\"\n } ]\n}", - "schema" : { - "$ref" : "#/components/schemas/group-types" - } - }, - "application/xml" : { - "example" : "\n\n \n \n \n \n\n", - "schema" : { - "$ref" : "#/components/schemas/group-types" - } - } - }, - "description" : "Collection of group types" - } - }, - "summary" : "Get group types", - "tags" : [ "Resources" ] - }, - "post" : { - "description" : "Add a new group type
    NOTE: The value of key must either not be sent or must match with the value of name.", - "operationId" : "addGroupType", - "requestBody" : { - "content" : { - "application/json" : { - "example" : "{\n \"name\" : \"Contexture\"\n}", - "schema" : { - "$ref" : "#/components/schemas/group-types" - } - }, - "application/xml" : { - "example" : "\n\n", - "schema" : { - "$ref" : "#/components/schemas/group-types" - } - } - }, - "description" : "The Group type to create", - "required" : true - }, - "responses" : { - "201" : { - "description" : "The group type is added successfully" - } - }, - "summary" : "Add a new group type", - "tags" : [ "Resources" ] - } - }, - "/api/resources/groups/types/{key}" : { - "delete" : { - "description" : "Delete the group type", - "operationId" : "deleteGroupType", + "description" : "Get a listing of resources based on the query spec specified", + "operationId" : "getResources", "parameters" : [ { - "description" : "Key of the group type to delete", - "in" : "path", - "name" : "key", - "required" : true, + "description" : "Array of resource names to query for.
    NOTE: Currently, only single element supported", + "in" : "query", + "name" : "name", + "required" : false, "schema" : { - "type" : "string" + "type" : "array", + "items" : { + "type" : "string" + } } - } ], - "responses" : { - "200" : { - "description" : "The group type is deleted successfully" + }, { + "description" : "Array of resource names in java regex format.
    NOTE: regex and name are mutually exclusive. If both are specified, name is given preference.", + "in" : "query", + "name" : "regex", + "required" : false, + "schema" : { + "type" : "array", + "items" : { + "type" : "string" + } } - }, - "summary" : "Delete the group type", - "tags" : [ "Resources" ] - } - }, - "/api/resources/groups/{groupId}" : { - "delete" : { - "description" : "NOTE: Method is enabled for user groups only", - "operationId" : "deleteCustomGroup", - "parameters" : [ { - "description" : "The Identifier of the group", - "in" : "path", - "name" : "groupId", - "required" : true, + }, { + "description" : "Array of Adapter Kind keys", + "in" : "query", + "name" : "adapterKind", + "required" : false, "schema" : { - "type" : "string", - "format" : "uuid" + "type" : "array", + "items" : { + "type" : "string" + } } - } ], - "responses" : { - "200" : { - "description" : "The custom group is deleted successfully" - } - }, - "summary" : "Delete a custom group", - "tags" : [ "Resources" ] - }, - "get" : { - "description" : "Get a custom group with or without policy", - "operationId" : "getCustomGroup", - "parameters" : [ { - "description" : "Group identifier", - "in" : "path", - "name" : "groupId", - "required" : true, + }, { + "description" : "Array of Resource Kind keys", + "in" : "query", + "name" : "resourceKind", + "required" : false, "schema" : { - "type" : "string", - "format" : "uuid" + "type" : "array", + "items" : { + "type" : "string" + } } }, { - "description" : "Flag that controls the retrieval of policy identifier applied to group", + "description" : "Array of Collector names", "in" : "query", - "name" : "includePolicy", + "name" : "collectorName", "required" : false, "schema" : { - "type" : "boolean", - "default" : false - } - } ], - "responses" : { - "200" : { - "content" : { - "application/json" : { - "example" : "{\n \"id\" : \"358bf85c-e8c4-46dd-bb12-120da5bdeb2b\",\n \"resourceKey\" : {\n \"name\" : \"Sample Custom Group with Metric Key Condition\",\n \"adapterKindKey\" : \"Container\",\n \"resourceKindKey\" : \"Environment\"\n },\n \"autoResolveMembership\" : false,\n \"membershipDefinition\" : {\n \"includedResources\" : [ ],\n \"excludedResources\" : [ ],\n \"custom-group-properties\" : [ ],\n \"rules\" : [ {\n \"resourceKindKey\" : {\n \"resourceKind\" : \"VirtualMachine\",\n \"adapterKind\" : \"VMWARE\"\n },\n \"statConditionRules\" : [ {\n \"key\" : \"cpu|usage_average\",\n \"doubleValue\" : 85.0,\n \"compareOperator\" : \"GT\"\n } ],\n \"propertyConditionRules\" : [ ],\n \"resourceNameConditionRules\" : [ ],\n \"relationshipConditionRules\" : [ ],\n \"resourceTagConditionRules\" : [ ]\n } ]\n }\n}", - "schema" : { - "$ref" : "#/components/schemas/custom-group" - } - }, - "application/xml" : { - "example" : "\n\n \n Sample Custom Group with Metric Key Condition\n Container\n Environment\n \n \n \n \n \n \n \n VirtualMachine\n VMWARE\n \n \n 85.0\n GT\n \n \n \n\n", - "schema" : { - "$ref" : "#/components/schemas/custom-group" - } - } - }, - "description" : "The custom group with sought identifier" + "type" : "array", + "items" : { + "type" : "string" + } } - }, - "summary" : "Get custom group", - "tags" : [ "Resources" ] - } - }, - "/api/resources/groups/{groupId}/members" : { - "get" : { - "description" : "Get members of the specified group", - "operationId" : "getCustomGroupMembers", - "parameters" : [ { - "description" : "Group identifier", - "in" : "path", - "name" : "groupId", - "required" : true, + }, { + "description" : "Array of Collector Identifiers", + "in" : "query", + "name" : "collectorId", + "required" : false, "schema" : { - "type" : "string", - "format" : "uuid" - } - } ], - "responses" : { - "200" : { - "content" : { - "application/json" : { - "example" : "{\n \"resourceList\" : [ {\n \"description\" : \"Description of this virtual machine\",\n \"creationTime\" : 1544433248,\n \"resourceKey\" : {\n \"name\" : \"VM1\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"VirtualMachine\",\n \"resourceIdentifiers\" : [ {\n \"identifierType\" : {\n \"name\" : \"VMEntityObjectID\",\n \"dataType\" : \"STRING\",\n \"isPartOfUniqueness\" : true\n },\n \"value\" : \"vm-123\"\n }, {\n \"identifierType\" : {\n \"name\" : \"VMEntityVCID\",\n \"dataType\" : \"STRING\",\n \"isPartOfUniqueness\" : true\n },\n \"value\" : \"ac947835-b292-4735-84e4-46b7ebf1f8ba\"\n }, {\n \"identifierType\" : {\n \"name\" : \"VMEntityName\",\n \"dataType\" : \"STRING\",\n \"isPartOfUniqueness\" : true\n },\n \"value\" : \"VM1\"\n } ]\n },\n \"credentialInstanceId\" : \"fce590e9-4cec-4fcd-a15a-76b4a7f1b146\",\n \"resourceStatusStates\" : [ ],\n \"dtEnabled\" : true,\n \"monitoringInterval\" : 5,\n \"badges\" : [ ],\n \"relatedResources\" : [ ],\n \"identifier\" : \"8c356ae4-f028-4986-b7a8-95b4b44bb4dc\"\n } ]\n}", - "schema" : { - "$ref" : "#/components/schemas/resources" - } - }, - "application/xml" : { - "example" : "\n\n \n Description of this virtual machine\n \n VM1\n VMWARE\n VirtualMachine\n \n \n \n vm-123\n \n \n \n ac947835-b292-4735-84e4-46b7ebf1f8ba\n \n \n \n VM1\n \n \n \n fce590e9-4cec-4fcd-a15a-76b4a7f1b146\n \n true\n 5\n \n \n \n\n", - "schema" : { - "$ref" : "#/components/schemas/resources" - } - } - }, - "description" : "Collection of the member resources of the group" + "type" : "array", + "items" : { + "type" : "integer", + "format" : "int32" + } } - }, - "summary" : "Get members of the group", - "tags" : [ "Resources" ] - } - }, - "/api/resources/maintained" : { - "delete" : { - "description" : "Bring the specified set of Resources out of Maintenance manually", - "operationId" : "unmarkResourcesAsBeingMaintained", - "parameters" : [ { - "description" : "A collection of Resource identifiers", + }, { + "deprecated" : true, + "description" : "Array of {@link UUID} that identify Maintenance Schedules.
    Since vROps 6.1.0 release onwards, we don't support search
    and look up of Resources using Maintenance Schedules' identifiers.", "in" : "query", - "name" : "id", - "required" : true, + "name" : "maintenanceScheduleId", + "required" : false, "schema" : { "type" : "array", "items" : { @@ -18644,23 +19126,11 @@ "format" : "uuid" } } - } ], - "responses" : { - "200" : { - "description" : "The resource is brought out from maintenance successfully" - } - }, - "summary" : "Bring the specified set of Resources out of Maintenance manually", - "tags" : [ "Resources" ] - }, - "put" : { - "description" : "The Resources can end up in two maintenance states - MAINTAINED OR MAINTAINED_MANUAL -
    depending upon the inputs specified.


    • If duration/end time is specified, the Resources will be placed in MAINTAINED
      state and after the duration/end time expires, the state of the Resources would be automatically
      set to the state they were in before entering the maintenance window.
    • If duration/end time is not specified, the Resources will be placed in MAINTAINED_MANUAL state.
      Callers have to execute DELETE /suite-api/api/resources/maintained?id=ID1&id=ID2 API
      to set the Resources back to whatever state they were in.
    • If both duration and end time are specified, end time takes preference over duration.
    ", - "operationId" : "markResourcesAsBeingMaintained", - "parameters" : [ { - "description" : "The Resource identifiers", + }, { + "description" : "Array of uuids that identify adapter instances", "in" : "query", - "name" : "id", - "required" : true, + "name" : "adapterInstanceId", + "required" : false, "schema" : { "type" : "array", "items" : { @@ -18669,54 +19139,55 @@ } } }, { - "description" : "The Duration for which this resource will be in maintenance (In Minutes)", + "description" : "Return resources created after the specified value. Value is the number of seconds since Midnight January 1, 1970 GMT.", "in" : "query", - "name" : "duration", + "name" : "recentlyAdded", "required" : false, "schema" : { "type" : "integer", - "format" : "int32" + "format" : "int64", + "description" : "Return resources created after the specified value. Value is the number of seconds since Midnight January 1, 1970 GMT." } }, { - "description" : "The End time of the maintenance window as a long value (Epoch time)", + "description" : "Array of resource states. NOTE, the following states are applicable only for adapter instances: STOPPED, STARTING, STOPPING, UPDATING, FAILED, REMOVING", "in" : "query", - "name" : "end", + "name" : "resourceState", "required" : false, "schema" : { - "type" : "integer", - "format" : "int64" + "type" : "array", + "description" : "Array of resource states. NOTE, the following states are applicable only for adapter instances: STOPPED, STARTING, STOPPING, UPDATING, FAILED, REMOVING", + "items" : { + "$ref" : "#/components/schemas/resource-state" + } } - } ], - "responses" : { - "200" : { - "description" : "The resource is put in maintenance successfully" + }, { + "description" : "Array of resource data collection statuses. NOTE, the following statuses are applicable only for adapter instances: ERROR, DOWN, COLLECTOR_DOWN. The statuses OLD_DATA_RECEIVING, NO_PARENT_MONITORING and UNKNOWN are deprecated.", + "in" : "query", + "name" : "resourceStatus", + "required" : false, + "schema" : { + "type" : "array", + "description" : "Array of resource data collection statuses. NOTE, the following statuses are applicable only for adapter instances: ERROR, DOWN, COLLECTOR_DOWN. The statuses OLD_DATA_RECEIVING, NO_PARENT_MONITORING and UNKNOWN are deprecated.", + "items" : { + "$ref" : "#/components/schemas/resource-data-collection-status" + } } - }, - "summary" : "Put all the specified Resource in Maintenance", - "tags" : [ "Resources" ] - } - }, - "/api/resources/monitoringstate/start" : { - "put" : { - "deprecated" : true, - "description" : "The query parameter id is for specifying the set of Resources that should
    be monitored.
    The optional query parameter adapterId determines which of the
    Adapters need to be informed to start monitoring the Resources. If this is
    not specified, then all of the Adapters will start monitoring the specified Resources.", - "operationId" : "startMonitoringResources", - "parameters" : [ { - "description" : "The Resource identifiers that need to be monitored", + }, { + "description" : "Array of resource health", "in" : "query", - "name" : "id", - "required" : true, + "name" : "resourceHealth", + "required" : false, "schema" : { "type" : "array", + "description" : "Array of resource health", "items" : { - "type" : "string", - "format" : "uuid" + "$ref" : "#/components/schemas/resource-health" } } }, { - "description" : "Collection of adapter instance identifiers that should start monitoring the Resources", + "description" : "Array of UUID of object that are the parent resource in a parent child relationship", "in" : "query", - "name" : "adapterId", + "name" : "parentId", "required" : false, "schema" : { "type" : "array", @@ -18725,26 +19196,11 @@ "format" : "uuid" } } - } ], - "responses" : { - "200" : { - "description" : "The resource monitoring is started successfully" - } - }, - "summary" : "Inform one or more or all Adapters to start monitoring a Collection of Resources. Note: Start isn't supported on per resource bases any more.", - "tags" : [ "Resources" ] - } - }, - "/api/resources/monitoringstate/stop" : { - "put" : { - "deprecated" : true, - "description" : "The query parameter id is for specifying the set of Resources that should
    no longer be monitored.
    The optional query parameter adapterId determines which of the
    Adapters need to be informed to stop monitoring the Resources. If this is
    not specified, then all of the Adapters will stop monitoring the specified Resources.", - "operationId" : "stopMonitoringResources", - "parameters" : [ { - "description" : "The Resource identifiers that no longer need to be monitored", + }, { + "description" : "Array of CredentialIDs", "in" : "query", - "name" : "id", - "required" : true, + "name" : "credentialId", + "required" : false, "schema" : { "type" : "array", "items" : { @@ -18753,9 +19209,9 @@ } } }, { - "description" : "Collection of adapter instance identifiers that should stop monitoring the Resources", + "description" : "Array of Resource Identifiers", "in" : "query", - "name" : "adapterId", + "name" : "resourceId", "required" : false, "schema" : { "type" : "array", @@ -18764,353 +19220,426 @@ "format" : "uuid" } } - } ], - "responses" : { - "200" : { - "description" : "The resource monitoring is stopped successfully" + }, { + "description" : "Name of property. Query only supports filtering for a single property.", + "in" : "query", + "name" : "propertyName", + "required" : false, + "schema" : { + "type" : "string", + "description" : "Name of property. Query only supports filtering for a single property." } - }, - "summary" : "Inform one or more or all Adapters to stop monitoring a Collection of Resources. Note: Stop isn't supported on per resource bases any more.", - "tags" : [ "Resources" ] - } - }, - "/api/resources/profiles" : { - "get" : { - "description" : "Get all custom profiles", - "operationId" : "getCustomProfiles", - "responses" : { - "200" : { - "content" : { - "application/json" : { - "example" : "{\n \"profiles\" : [ {\n \"id\" : \"1187e741-e965-45eb-8410-f99f33bf54a7\",\n \"name\" : \"Sample Custom Profile\",\n \"description\" : \"Description of Custom Profile\",\n \"objectType\" : {\n \"adapterKind\" : \"VMWARE\",\n \"resourceKind\" : \"VirtualMachine\"\n },\n \"custom-profile-metrics\" : [ {\n \"metric\" : \"cpu\",\n \"value\" : 117.49,\n \"unit\" : \"mhz\"\n }, {\n \"metric\" : \"mem-alloc\",\n \"value\" : 9999.0,\n \"unit\" : \"kb\"\n } ]\n }, {\n \"id\" : \"dd8ec82d-cbd3-4970-861c-16fea1d220c0\",\n \"name\" : \"Sample Custom Profile\",\n \"description\" : \"Description of Custom Profile\",\n \"objectType\" : {\n \"adapterKind\" : \"VMWARE\",\n \"resourceKind\" : \"VirtualMachine\"\n },\n \"custom-profile-metrics\" : [ {\n \"metric\" : \"cpu\",\n \"value\" : 44.44,\n \"unit\" : \"mhz\"\n }, {\n \"metric\" : \"mem-alloc\",\n \"value\" : 88.88,\n \"unit\" : \"kb\"\n } ]\n } ]\n}", - "schema" : { - "$ref" : "#/components/schemas/custom-profiles" - } - }, - "application/xml" : { - "example" : "\n\n \n Sample Custom Profile\n Description of Custom Profile\n \n VMWARE\n VirtualMachine\n \n \n \n cpu\n 117.49\n mhz\n \n \n mem-alloc\n 9999.0\n kb\n \n \n \n \n Sample Custom Profile\n Description of Custom Profile\n \n VMWARE\n VirtualMachine\n \n \n \n cpu\n 44.44\n mhz\n \n \n mem-alloc\n 88.88\n kb\n \n \n \n\n", - "schema" : { - "$ref" : "#/components/schemas/custom-profiles" + }, { + "description" : "Value of property. Omitting the property value will check for existence
    of the property name on the resource.
    NOTE: Use 'propertyConditions' to specify lookup of Resource using multiple properties.", + "in" : "query", + "name" : "propertyValue", + "required" : false, + "schema" : { + "type" : "string", + "description" : "Value of property. Omitting the property value will check for existence
    of the property name on the resource.
    NOTE: Use 'propertyConditions' to specify lookup of Resource using multiple properties." + } + }, { + "description" : "Name of resource StatKey to validate value is within a range.
    Use with statKeyLowerBound, statKeyUpperBound and statKeyInclusive to create comparison conditions
    NOTE: Use 'statConditions' to specify lookup of Resource using multiple stat keys.", + "in" : "query", + "name" : "statKey", + "required" : false, + "schema" : { + "type" : "string", + "description" : "Name of resource StatKey to validate value is within a range.
    Use with statKeyLowerBound, statKeyUpperBound and statKeyInclusive to create comparison conditions
    NOTE: Use 'statConditions' to specify lookup of Resource using multiple stat keys." + } + }, { + "description" : "StatKey value matching range lower bound", + "in" : "query", + "name" : "statKeyLowerBound", + "required" : false, + "schema" : { + "type" : "number", + "format" : "double", + "description" : "StatKey value matching range lower bound" + } + }, { + "description" : "StatKey value matching range upper bound", + "in" : "query", + "name" : "statKeyUpperBound", + "required" : false, + "schema" : { + "type" : "number", + "format" : "double", + "description" : "StatKey value matching range upper bound" + } + }, { + "description" : "Filtering by statKey values is inclusive or exclusive of boundary values. Defaults to true", + "in" : "query", + "name" : "statKeyInclusive", + "required" : false, + "schema" : { + "type" : "boolean", + "description" : "Filtering by statKey values is inclusive or exclusive of boundary values. Defaults to true" + } + }, { + "description" : "None null value specifies to include related resource ids of given relationship type in resource result.
    Uses the RelationshipType.representation value.
    ", + "in" : "query", + "name" : "includeRelated", + "required" : false, + "schema" : { + "type" : "string", + "description" : "None null value specifies to include related resource ids of given relationship type in resource result.
    Uses the RelationshipType.representation value.
    ", + "enum" : [ "PARENT", "CHILD" ] + } + }, { + "description" : "Page number from which data needs to be displayed (0-based)", + "in" : "query", + "name" : "page", + "schema" : { + "type" : "integer", + "format" : "int32", + "default" : 0 + } + }, { + "description" : "Expected number of entries per page", + "in" : "query", + "name" : "pageSize", + "schema" : { + "type" : "integer", + "format" : "int32", + "default" : 1000 + } + } ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "example" : "No Custom Example is Available", + "schema" : { + "$ref" : "#/components/schemas/resources" + } + }, + "application/xml" : { + "example" : "No Custom Example is Available", + "schema" : { + "$ref" : "#/components/schemas/resources" } } }, - "description" : "The Collection of all custom profiles" + "description" : "The Collection of Resources matching the specified query parameters" } }, - "summary" : "Get all custom profiles", + "summary" : "Get a listing of resources based on the query spec specified", "tags" : [ "Resources" ] }, - "post" : { - "description" : "Example: GET /api/alerts/{id}", - "operationId" : "createCustomProfile", + "put" : { + "description" : "


    Implementation Notes:


    • When updating a Resource, if the Resource Identifiers that are unique and required
      are not specified, the API would return an error with HTTP status code of 500
      and an error message indicating the set of missing Resource Identifiers.

    • When updating a Resource, if the Resource Identifiers that are unique but not required
      are not specified, the Resource is updated where the uniquely identifying Resource Identifiers
      that were not specified will have their value as an empty string.
    ", + "operationId" : "updateResource", "requestBody" : { "content" : { "application/json" : { - "example" : "{\n \"name\" : \"Sample Custom Profile\",\n \"description\" : \"Description of Custom Profile\",\n \"objectType\" : {\n \"adapterKind\" : \"VMWARE\",\n \"resourceKind\" : \"VirtualMachine\"\n },\n \"custom-profile-metrics\" : [ {\n \"metric\" : \"cpu\",\n \"value\" : 99.99,\n \"unit\" : \"mhz\"\n }, {\n \"metric\" : \"mem-alloc\",\n \"value\" : 77.77,\n \"unit\" : \"kb\"\n } ]\n}", + "example" : "No Custom Example is Available", "schema" : { - "$ref" : "#/components/schemas/custom-profile" + "$ref" : "#/components/schemas/resource" } }, "application/xml" : { - "example" : "\n\n Sample Custom Profile\n Description of Custom Profile\n \n VMWARE\n VirtualMachine\n \n \n \n cpu\n 99.99\n mhz\n \n \n mem-alloc\n 77.77\n kb\n \n \n\n", + "example" : "No Custom Example is Available", "schema" : { - "$ref" : "#/components/schemas/custom-profile" + "$ref" : "#/components/schemas/resource" } } }, - "description" : "The custom profile definition", + "description" : "The Resource object that needs to be updated", "required" : true }, "responses" : { - "201" : { + "200" : { "content" : { "application/json" : { "example" : "No Custom Example is Available", "schema" : { - "$ref" : "#/components/schemas/custom-profile" + "$ref" : "#/components/schemas/resource" } }, "application/xml" : { "example" : "No Custom Example is Available", "schema" : { - "$ref" : "#/components/schemas/custom-profile" + "$ref" : "#/components/schemas/resource" } } }, - "description" : "The newly created custom profile" + "description" : "The updated Resource object" }, "404" : { - "description" : "No Alert with the specified identifier is found", + "description" : "No Resource is found in the system corresponding to the identifier in the Request Body", "x-vmw-compiler-skip" : true }, "500" : { - "description" : "Error occurred while retrieving the Alert with the specified identifier", + "description" : "The ResourceKey of the Resource is missing the uniquely identifying and required Resource Identifiers", "x-vmw-compiler-skip" : true } }, - "summary" : "Create a new custom profile definition", + "summary" : "Update a Resource in the system", "tags" : [ "Resources" ] - }, - "put" : { - "description" : "Modify an existing custom profile definition", - "operationId" : "modifyCustomProfile", + } + }, + "/api/resources/adapterkinds/{adapterKindKey}" : { + "post" : { + "description" : "This adapter kind (referred to as 'Push' adapter kind) will be created if it does not
    exist in the system and an instance of it will be associated with the Resource being created.
    This adapter kind if it already exists must of OPENAPI adapter kind type.
    The API will also create the missing Adapter Kind and Resource Kind
    contained within the ResourceKey of the Resource if they do not exist.


    Additional implementation notes:


    • When creating a Resource, if the Resource Identifiers that are unique and required
      are not specified, the API would return an error with HTTP status code of 500
      and an error message indicating the set of missing Resource Identifiers.

    • When creating a Resource, if the Resource Identifiers that are unique but not required
      are not specified, the Resource is created where the uniquely identifying Resource Identifiers
      that were not specified will have their value as an empty string.
    ", + "operationId" : "createResourceUsingAdapterKind", + "parameters" : [ { + "description" : "The adapter kind key", + "in" : "path", + "name" : "adapterKindKey", + "required" : true, + "schema" : { + "type" : "string" + } + } ], "requestBody" : { "content" : { "application/json" : { - "example" : "{\n \"id\" : \"3c4f2be4-5678-4adb-8267-8077cac7aa26\",\n \"name\" : \"Sample Custom Profile\",\n \"description\" : \"Description of Custom Profile\",\n \"objectType\" : {\n \"adapterKind\" : \"VMWARE\",\n \"resourceKind\" : \"VirtualMachine\"\n },\n \"custom-profile-metrics\" : [ {\n \"metric\" : \"cpu\",\n \"value\" : 999.999,\n \"unit\" : \"mhz\"\n }, {\n \"metric\" : \"mem-alloc\",\n \"value\" : 777.777,\n \"unit\" : \"kb\"\n } ]\n}", + "example" : "{\n \"description\" : \"Description of this virtual machine\",\n \"resourceKey\" : {\n \"name\" : \"VM1\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"VirtualMachine\",\n \"resourceIdentifiers\" : [ {\n \"identifierType\" : {\n \"name\" : \"VMEntityObjectID\",\n \"dataType\" : \"STRING\",\n \"isPartOfUniqueness\" : true\n },\n \"value\" : \"vm-123\"\n }, {\n \"identifierType\" : {\n \"name\" : \"VMEntityVCID\",\n \"dataType\" : \"STRING\",\n \"isPartOfUniqueness\" : true\n },\n \"value\" : \"CBAD174A-622E-4650-805A-064F824FFA76\"\n }, {\n \"identifierType\" : {\n \"name\" : \"VMEntityName\",\n \"dataType\" : \"STRING\",\n \"isPartOfUniqueness\" : true\n },\n \"value\" : \"VM1\"\n } ]\n },\n \"credentialInstanceId\" : \"51f8f60d-4a39-4839-9924-698d022e2e10\",\n \"resourceStatusStates\" : [ ],\n \"dtEnabled\" : true,\n \"monitoringInterval\" : 5,\n \"badges\" : [ ],\n \"relatedResources\" : [ ]\n}", "schema" : { - "$ref" : "#/components/schemas/custom-profile" + "$ref" : "#/components/schemas/resource" } }, "application/xml" : { - "example" : "\n\n Sample Custom Profile\n Description of Custom Profile\n \n VMWARE\n VirtualMachine\n \n \n \n cpu\n 999.999\n mhz\n \n \n mem-alloc\n 777.777\n kb\n \n \n\n", + "example" : "\n\n Description of this virtual machine\n \n VM1\n VMWARE\n VirtualMachine\n \n \n \n vm-123\n \n \n \n CBAD174A-622E-4650-805A-064F824FFA76\n \n \n \n VM1\n \n \n \n 51f8f60d-4a39-4839-9924-698d022e2e10\n \n true\n 5\n \n \n\n", "schema" : { - "$ref" : "#/components/schemas/custom-profile" + "$ref" : "#/components/schemas/resource" } } }, - "description" : "The custom profile definition", + "description" : "The request object that contains info necessary to create a new resource", "required" : true }, "responses" : { - "200" : { + "201" : { "content" : { "application/json" : { - "example" : "No Custom Example is Available", + "example" : "{\n \"creationTime\" : 1753340199158,\n \"resourceKey\" : {\n \"name\" : \"VM1\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"VirtualMachine\",\n \"resourceIdentifiers\" : [ {\n \"identifierType\" : {\n \"name\" : \"VMEntityObjectID\",\n \"dataType\" : \"STRING\",\n \"isPartOfUniqueness\" : true\n },\n \"value\" : \"vm-123\"\n }, {\n \"identifierType\" : {\n \"name\" : \"VMEntityVCID\",\n \"dataType\" : \"STRING\",\n \"isPartOfUniqueness\" : true\n },\n \"value\" : \"CBAD174A-622E-4650-805A-064F824FFA76\"\n }, {\n \"identifierType\" : {\n \"name\" : \"VMEntityName\",\n \"dataType\" : \"STRING\",\n \"isPartOfUniqueness\" : true\n },\n \"value\" : \"VM1\"\n } ]\n },\n \"credentialInstanceId\" : \"51f8f60d-4a39-4839-9924-698d022e2e10\",\n \"resourceStatusStates\" : [ ],\n \"dtEnabled\" : true,\n \"badges\" : [ ],\n \"relatedResources\" : [ ],\n \"identifier\" : \"9a9cf74d-b1d0-4b24-9340-67a4625d8755\"\n}", "schema" : { - "$ref" : "#/components/schemas/custom-profile" + "$ref" : "#/components/schemas/resource" } }, "application/xml" : { - "example" : "No Custom Example is Available", + "example" : "\n\n \n VM1\n VMWARE\n VirtualMachine\n \n \n \n vm-123\n \n \n \n CBAD174A-622E-4650-805A-064F824FFA76\n \n \n \n VM1\n \n \n \n 51f8f60d-4a39-4839-9924-698d022e2e10\n \n true\n \n \n\n", "schema" : { - "$ref" : "#/components/schemas/custom-profile" + "$ref" : "#/components/schemas/resource" } } }, - "description" : "The updated custom profile" + "description" : "The created Resource" + }, + "500" : { + "description" : "
    • The 'Push' adapter kind specified already exists in the system and doesn't correspond to an Adapter Kind that is of OPENAPI type
    • The ResourceKey of the Resource is missing the uniquely identifying and required Resource Identifiers", + "x-vmw-compiler-skip" : true } }, - "summary" : "Modify an existing custom profile definition", + "summary" : "Create a new Resource in the system associated with the specified adapter kind", "tags" : [ "Resources" ] } }, - "/api/resources/profiles/{profileId}" : { - "delete" : { - "description" : "Delete a custom profile", - "operationId" : "deleteCustomProfile", + "/api/resources/adapters/{adapterInstanceId}" : { + "post" : { + "description" : "The API will create the missing Adapter Kind and Resource Kind
      contained within the ResourceKey of the Resource if they do not exist.
      The API will return an error if the adapter instance specified does not exist.
      Additional implementation notes:

      • When creating a Resource, if the Resource Identifiers that are unique and required
        are not specified, the API would return an error with HTTP status code of 500
        and an error message indicating the set of missing Resource Identifiers.

      • When creating a Resource, if the Resource Identifiers that are unique but not required
        are not specified, the Resource is created where the uniquely identifying Resource Identifiers
        that were not specified will have their value as an empty string.
      ", + "operationId" : "createResourceUsingAdapterInstance", "parameters" : [ { - "description" : "The Identifier of the profile", + "description" : "The adapter instance id", "in" : "path", - "name" : "profileId", + "name" : "adapterInstanceId", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], - "responses" : { - "200" : { - "description" : "The custom profile is deleted successfully" - } + "requestBody" : { + "content" : { + "application/json" : { + "example" : "{\n \"description\" : \"Description of this virtual machine\",\n \"resourceKey\" : {\n \"name\" : \"VM1\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"VirtualMachine\",\n \"resourceIdentifiers\" : [ {\n \"identifierType\" : {\n \"name\" : \"VMEntityObjectID\",\n \"dataType\" : \"STRING\",\n \"isPartOfUniqueness\" : true\n },\n \"value\" : \"vm-123\"\n }, {\n \"identifierType\" : {\n \"name\" : \"VMEntityVCID\",\n \"dataType\" : \"STRING\",\n \"isPartOfUniqueness\" : true\n },\n \"value\" : \"CBAD174A-622E-4650-805A-064F824FFA76\"\n }, {\n \"identifierType\" : {\n \"name\" : \"VMEntityName\",\n \"dataType\" : \"STRING\",\n \"isPartOfUniqueness\" : true\n },\n \"value\" : \"VM1\"\n } ]\n },\n \"credentialInstanceId\" : \"51f8f60d-4a39-4839-9924-698d022e2e10\",\n \"resourceStatusStates\" : [ ],\n \"dtEnabled\" : true,\n \"monitoringInterval\" : 5,\n \"badges\" : [ ],\n \"relatedResources\" : [ ]\n}", + "schema" : { + "$ref" : "#/components/schemas/resource" + } + }, + "application/xml" : { + "example" : "\n\n Description of this virtual machine\n \n VM1\n VMWARE\n VirtualMachine\n \n \n \n vm-123\n \n \n \n CBAD174A-622E-4650-805A-064F824FFA76\n \n \n \n VM1\n \n \n \n 51f8f60d-4a39-4839-9924-698d022e2e10\n \n true\n 5\n \n \n\n", + "schema" : { + "$ref" : "#/components/schemas/resource" + } + } + }, + "description" : "The request object that contains info necessary to create a new resource", + "required" : true }, - "summary" : "Delete a custom profile", - "tags" : [ "Resources" ] - }, - "get" : { - "description" : "Get custom profile", - "operationId" : "getCustomProfile", - "parameters" : [ { - "description" : "The Profile identifier", - "in" : "path", - "name" : "profileId", - "required" : true, - "schema" : { - "type" : "string", - "format" : "uuid" - } - } ], "responses" : { - "200" : { + "201" : { "content" : { "application/json" : { - "example" : "{\n \"id\" : \"3cd92d5b-e4ba-4aa9-a7bf-4fb703a9a1ba\",\n \"name\" : \"Sample Custom Profile\",\n \"description\" : \"Description of Custom Profile\",\n \"objectType\" : {\n \"adapterKind\" : \"VMWARE\",\n \"resourceKind\" : \"VirtualMachine\"\n },\n \"custom-profile-metrics\" : [ {\n \"metric\" : \"cpu\",\n \"value\" : 100.0,\n \"unit\" : \"mhz\"\n }, {\n \"metric\" : \"mem-alloc\",\n \"value\" : 10000.0,\n \"unit\" : \"kb\"\n } ]\n}", + "example" : "{\n \"creationTime\" : 1753340199158,\n \"resourceKey\" : {\n \"name\" : \"VM1\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"VirtualMachine\",\n \"resourceIdentifiers\" : [ {\n \"identifierType\" : {\n \"name\" : \"VMEntityObjectID\",\n \"dataType\" : \"STRING\",\n \"isPartOfUniqueness\" : true\n },\n \"value\" : \"vm-123\"\n }, {\n \"identifierType\" : {\n \"name\" : \"VMEntityVCID\",\n \"dataType\" : \"STRING\",\n \"isPartOfUniqueness\" : true\n },\n \"value\" : \"CBAD174A-622E-4650-805A-064F824FFA76\"\n }, {\n \"identifierType\" : {\n \"name\" : \"VMEntityName\",\n \"dataType\" : \"STRING\",\n \"isPartOfUniqueness\" : true\n },\n \"value\" : \"VM1\"\n } ]\n },\n \"credentialInstanceId\" : \"51f8f60d-4a39-4839-9924-698d022e2e10\",\n \"resourceStatusStates\" : [ ],\n \"dtEnabled\" : true,\n \"badges\" : [ ],\n \"relatedResources\" : [ ],\n \"identifier\" : \"9a9cf74d-b1d0-4b24-9340-67a4625d8755\"\n}", "schema" : { - "$ref" : "#/components/schemas/custom-profile" + "$ref" : "#/components/schemas/resource" } }, "application/xml" : { - "example" : "\n\n Sample Custom Profile\n Description of Custom Profile\n \n VMWARE\n VirtualMachine\n \n \n \n cpu\n 100.0\n mhz\n \n \n mem-alloc\n 10000.0\n kb\n \n \n\n", + "example" : "\n\n \n VM1\n VMWARE\n VirtualMachine\n \n \n \n vm-123\n \n \n \n CBAD174A-622E-4650-805A-064F824FFA76\n \n \n \n VM1\n \n \n \n 51f8f60d-4a39-4839-9924-698d022e2e10\n \n true\n \n \n\n", "schema" : { - "$ref" : "#/components/schemas/custom-profile" + "$ref" : "#/components/schemas/resource" } } }, - "description" : "The custom profile with sought identifier" + "description" : "The created Resource" + }, + "404" : { + "description" : "No Adapter Instance is found in the system corresponding to the Path Parameter that was specified", + "x-vmw-compiler-skip" : true + }, + "500" : { + "description" : "The ResourceKey of the Resource is missing the uniquely identifying and required Resource Identifiers", + "x-vmw-compiler-skip" : true } }, - "summary" : "Get custom profile", + "summary" : "Create a new Resource in the system associated with an existing adapter instance", "tags" : [ "Resources" ] } }, - "/api/resources/properties" : { - "get" : { - "description" : "Get all the Properties and their current (latest) values for the specified Resources", - "operationId" : "getResourcePropertiesList", - "parameters" : [ { - "description" : "The Collection of the Resource Identifiers", - "in" : "query", - "name" : "resourceId", - "required" : true, - "schema" : { - "type" : "array", - "items" : { - "type" : "string", - "format" : "uuid" - } - } - } ], - "responses" : { - "200" : { - "content" : { - "application/json" : { - "example" : "{\n \"resourcePropertiesList\" : [ {\n \"resourceId\" : \"e79be9bf-85d1-48d4-b0b3-4e8c621e8d10\",\n \"property\" : [ {\n \"name\" : \"Key1\",\n \"value\" : \"Value1\"\n } ]\n }, {\n \"resourceId\" : \"e79be9bf-85d1-48d4-b0b3-4e8c621e8d10\",\n \"property\" : [ {\n \"name\" : \"Key1\",\n \"value\" : \"Value1\"\n } ]\n } ]\n}", - "schema" : { - "$ref" : "#/components/schemas/resource-properties" - } - }, - "application/xml" : { - "example" : "\n\n \n Value1\n \n \n Value1\n \n\n", - "schema" : { - "$ref" : "#/components/schemas/resource-properties" - } - } - }, - "description" : "The Resources, their Properties and current values" - } - }, - "summary" : "Get all the Properties and their current (latest) values for the specified Resources", - "tags" : [ "Resources" ] - }, - "post" : { - "description" : "In this case, the adapter instance used for pushing data will default to vRealizeOpsMgrAPI.
      It is recommended (though not required) to use this API when the resources were created using the API
      POST /api/resources/{id}/adapters/{adapterInstanceId}. Otherwise an additional
      adapter instance might be created.", - "operationId" : "addResourcesProperties", + "/api/resources/bulk" : { + "delete" : { + "description" : "NOTE: Deletion of Resources is not synchronous. As a result,
      the delete operation may not happen immediately. Furthermore, there is no way
      to track the status of the deletion operation. It is recommended to query back
      the system with the resource identifiers and ensure that the system returns a
      404 error.", + "operationId" : "deleteResources", "requestBody" : { "content" : { "application/json" : { - "example" : "{\n \"values\" : [ {\n \"resourceId\" : \"867b729c-438d-42d6-9fc8-15e73187a4c1\",\n \"property-contents\" : {\n \"property-content\" : [ {\n \"statKey\" : \"system|availability\",\n \"timestamps\" : [ 1119844280663 ],\n \"values\" : [ \"UP\" ]\n }, {\n \"statKey\" : \"config|num|processes\",\n \"timestamps\" : [ 1119844280663 ],\n \"data\" : [ 93.0 ]\n } ]\n }\n }, {\n \"resourceId\" : \"a0239c3d-e71c-407b-a8a1-67016b5004d3\",\n \"property-contents\" : {\n \"property-content\" : [ {\n \"statKey\" : \"system|availability\",\n \"timestamps\" : [ 1119844280663 ],\n \"values\" : [ \"UP\" ]\n }, {\n \"statKey\" : \"config|num|processes\",\n \"timestamps\" : [ 1119844280663 ],\n \"data\" : [ 93.0 ]\n } ]\n }\n } ]\n}", + "example" : "No Custom Example is Available", "schema" : { - "$ref" : "#/components/schemas/resources-property-contents" + "$ref" : "#/components/schemas/uuid-values" } }, "application/xml" : { - "example" : "\n\n \n 867b729c-438d-42d6-9fc8-15e73187a4c1\n \n \n 1119844280663\n UP\n \n \n 1119844280663\n 93.0\n \n \n \n \n a0239c3d-e71c-407b-a8a1-67016b5004d3\n \n \n 1119844280663\n UP\n \n \n 1119844280663\n 93.0\n \n \n \n\n", + "example" : "No Custom Example is Available", "schema" : { - "$ref" : "#/components/schemas/resources-property-contents" + "$ref" : "#/components/schemas/uuid-values" } } }, - "description" : "The properties for the Resources", + "description" : "Identifiers of Resources to delete", "required" : true }, "responses" : { - "200" : { - "description" : "The properties are added successfully" + "204" : { + "description" : "If there is no error in starting the deletion of Resource(s)" + }, + "500" : { + "description" : "If there is any error in starting the deletion of Resource(s)", + "x-vmw-compiler-skip" : true } }, - "summary" : "Add Properties to Resources", + "summary" : "Delete multiple Resources", "tags" : [ "Resources" ] } }, - "/api/resources/properties/adapterkinds/{adapterKind}" : { + "/api/resources/bulk/relationships" : { "post" : { - "description" : "If the adapter kind specified is not present in the system, it will be created dynamically.
      However if the adapter kind specified already exists, then it must be of OPENAPI adapter kind type.", - "operationId" : "addResourcesPropertiesUsingAdapterKind", + "description" : "Get resources that satisfy filtering criteria and are related to specified listof resources with the given relationship type", + "operationId" : "getResourcesRelationships", "parameters" : [ { - "description" : "The Adapter Kind key of the adapter instance that will push the properties", - "in" : "path", - "name" : "adapterKind", - "required" : true, + "description" : "Page number from which data needs to be displayed (0-based)", + "in" : "query", + "name" : "page", "schema" : { - "type" : "string" + "type" : "integer", + "format" : "int32", + "default" : 0 + } + }, { + "description" : "Expected number of entries per page", + "in" : "query", + "name" : "pageSize", + "schema" : { + "type" : "integer", + "format" : "int32", + "default" : 1000 } } ], "requestBody" : { "content" : { "application/json" : { - "example" : "{\n \"values\" : [ {\n \"resourceId\" : \"867b729c-438d-42d6-9fc8-15e73187a4c1\",\n \"property-contents\" : {\n \"property-content\" : [ {\n \"statKey\" : \"system|availability\",\n \"timestamps\" : [ 1119844280663 ],\n \"values\" : [ \"UP\" ]\n }, {\n \"statKey\" : \"config|num|processes\",\n \"timestamps\" : [ 1119844280663 ],\n \"data\" : [ 93.0 ]\n } ]\n }\n }, {\n \"resourceId\" : \"a0239c3d-e71c-407b-a8a1-67016b5004d3\",\n \"property-contents\" : {\n \"property-content\" : [ {\n \"statKey\" : \"system|availability\",\n \"timestamps\" : [ 1119844280663 ],\n \"values\" : [ \"UP\" ]\n }, {\n \"statKey\" : \"config|num|processes\",\n \"timestamps\" : [ 1119844280663 ],\n \"data\" : [ 93.0 ]\n } ]\n }\n } ]\n}", + "example" : "{\n \"relationshipType\" : \"DESCENDANT\",\n \"resourceIds\" : [ \"20c42fce-d51d-4229-b5b7-0bf80e2628e6\", \"780a1304-14cc-40c2-aff2-3efec3aba981\" ],\n \"resourceQuery\" : {\n \"name\" : [ \"VMware Cloud Foundation Operations Node-VMware Cloud Foundation Cluster Node\" ],\n \"adapterKind\" : [ \"VMWARE\" ],\n \"resourceKind\" : [ \"ResourcePool\" ],\n \"collectorName\" : [ \"local_collector\" ],\n \"collectorId\" : [ 1 ],\n \"maintenanceScheduleId\" : [ \"7671e2ea-3589-4079-84e2-c34f92da36a9\" ],\n \"adapterInstanceId\" : [ \"34e5920e-b2c1-4ada-969b-082044dfe2ff\" ],\n \"resourceState\" : [ \"STARTED\" ],\n \"resourceStatus\" : [ \"DATA_RECEIVING\" ],\n \"credentialId\" : [ \"201725f4-c9c3-47ab-a544-7de32453b77d\" ],\n \"resourceId\" : [ \"8a5764f5-8ace-402f-bef3-b194733da68c\" ],\n \"statKeyInclusive\" : true,\n \"propertyConditions\" : {\n \"conjunctionOperator\" : \"OR\",\n \"conditions\" : [ {\n \"key\" : \"property_name\",\n \"operator\" : \"EQ\",\n \"stringValue\" : \"property_value\"\n } ]\n },\n \"statConditions\" : {\n \"conjunctionOperator\" : \"OR\",\n \"conditions\" : [ {\n \"key\" : \"stat|key1\",\n \"operator\" : \"LT_EQ\",\n \"doubleValue\" : 1.0\n } ]\n },\n \"resourceTag\" : [ {\n \"category\" : \"category_name\",\n \"name\" : \"tag_name\"\n } ]\n },\n \"hierarchyDepth\" : 5\n}", "schema" : { - "$ref" : "#/components/schemas/resources-property-contents" + "$ref" : "#/components/schemas/resource-relationships-query" } }, "application/xml" : { - "example" : "\n\n \n 867b729c-438d-42d6-9fc8-15e73187a4c1\n \n \n 1119844280663\n UP\n \n \n 1119844280663\n 93.0\n \n \n \n \n a0239c3d-e71c-407b-a8a1-67016b5004d3\n \n \n 1119844280663\n UP\n \n \n 1119844280663\n 93.0\n \n \n \n\n", + "example" : "\n\n 20c42fce-d51d-4229-b5b7-0bf80e2628e6 780a1304-14cc-40c2-aff2-3efec3aba981\n \n VMware Cloud Foundation Operations Node-VMware Cloud Foundation Cluster Node\n VMWARE\n ResourcePool\n local_collector\n 1\n 7671e2ea-3589-4079-84e2-c34f92da36a9\n 34e5920e-b2c1-4ada-969b-082044dfe2ff\n STARTED\n DATA_RECEIVING\n 201725f4-c9c3-47ab-a544-7de32453b77d\n 8a5764f5-8ace-402f-bef3-b194733da68c\n true\n \n \n \n property_value\n \n \n \n \n \n \n 1.0\n \n \n \n \n \n 5\n\n", "schema" : { - "$ref" : "#/components/schemas/resources-property-contents" + "$ref" : "#/components/schemas/resource-relationships-query" } } }, - "description" : "The properties for the Resources", + "description" : "Query spec that encapsulates various filtering criteria for related resources look up", "required" : true }, "responses" : { "200" : { - "description" : "The properties are added successfully" + "content" : { + "application/json" : { + "example" : "{\n \"relationshipType\" : \"DESCENDANT\",\n \"resourcesRelations\" : [ {\n \"resource\" : {\n \"creationTime\" : 1753340199158,\n \"resourceKey\" : {\n \"name\" : \"VM1\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"VirtualMachine\",\n \"resourceIdentifiers\" : [ {\n \"identifierType\" : {\n \"name\" : \"VMEntityObjectID\",\n \"dataType\" : \"STRING\",\n \"isPartOfUniqueness\" : true\n },\n \"value\" : \"vm-123\"\n }, {\n \"identifierType\" : {\n \"name\" : \"VMEntityVCID\",\n \"dataType\" : \"STRING\",\n \"isPartOfUniqueness\" : true\n },\n \"value\" : \"CBAD174A-622E-4650-805A-064F824FFA76\"\n }, {\n \"identifierType\" : {\n \"name\" : \"VMEntityName\",\n \"dataType\" : \"STRING\",\n \"isPartOfUniqueness\" : true\n },\n \"value\" : \"VM1\"\n } ]\n },\n \"credentialInstanceId\" : \"51f8f60d-4a39-4839-9924-698d022e2e10\",\n \"resourceStatusStates\" : [ ],\n \"dtEnabled\" : true,\n \"badges\" : [ ],\n \"relatedResources\" : [ ],\n \"identifier\" : \"9a9cf74d-b1d0-4b24-9340-67a4625d8755\"\n },\n \"relatedResources\" : [ \"c6aa31fa-3715-458f-89fe-566e64acea44\", \"98a53a7d-bf03-49bb-9780-050eeb9190b8\" ]\n } ]\n}", + "schema" : { + "$ref" : "#/components/schemas/resources-relation" + } + }, + "application/xml" : { + "example" : "\n\n \n \n \n \n VM1\n VMWARE\n VirtualMachine\n \n \n \n vm-123\n \n \n \n CBAD174A-622E-4650-805A-064F824FFA76\n \n \n \n VM1\n \n \n \n 51f8f60d-4a39-4839-9924-698d022e2e10\n \n true\n \n \n \n c6aa31fa-3715-458f-89fe-566e64acea44 98a53a7d-bf03-49bb-9780-050eeb9190b8\n \n \n\n", + "schema" : { + "$ref" : "#/components/schemas/resources-relation" + } + } + }, + "description" : "The Collection of Resources related to given set of resources and matching the query Spec" + }, + "404" : { + "description" : "If could find none of the resources from ResourceRelationshipsQuery.resourceIds", + "x-vmw-compiler-skip" : true + }, + "500" : { + "description" : "If there is an error during the query", + "x-vmw-compiler-skip" : true } }, - "summary" : "Add Properties to Resources Using Adapter Kind", + "summary" : "Get resources that satisfy filtering criteria and are related to specified list of resources with the given relationship type", "tags" : [ "Resources" ] } }, - "/api/resources/properties/latest/query" : { - "post" : { - "description" : "Get current (latest) values of requested properties for the specified resources", - "operationId" : "queryLatestPropertiesOfResources", + "/api/resources/customdatacenters" : { + "delete" : { + "description" : "Delete custom datacenters.
      NOTE: Deletion of custom datacenters is not synchronous. As a result,
      the delete operation may not happen immediately. Furthermore, there is no way
      to track the status of the deletion operation. It is recommended to query back
      the system and ensure that the resources (datacenters) with given ids are not present any more.
      NOTE: This API is only for custom datacenters deletion. Any invalid or none custom datacenter ids in the request body will be ignored.", + "operationId" : "deleteCustomDatacenters", "requestBody" : { "content" : { "application/json" : { - "example" : "{\n \"resourceIds\" : [ \"2ee0f2fe-9a42-47bb-877e-81d79e0384a7\", \"03166775-6fbc-401a-88c1-93479d59e875\" ],\n \"propertyKeys\" : [ \"prop|key1\", \"prop|key2\" ],\n \"instanced\" : false\n}", + "example" : "{\n \"uuids\" : [ \"5f6f1e91-ea7c-494c-bd86-d172192f9cfd\", \"563f1194-2d76-4678-b766-984ab13b3245\" ]\n}", "schema" : { - "$ref" : "#/components/schemas/properties-query" + "$ref" : "#/components/schemas/uuid-values" } }, "application/xml" : { - "example" : "\n\n 2ee0f2fe-9a42-47bb-877e-81d79e0384a7 03166775-6fbc-401a-88c1-93479d59e875\n prop|key1 prop|key2\n false\n\n", + "example" : "\n\n 5f6f1e91-ea7c-494c-bd86-d172192f9cfd 563f1194-2d76-4678-b766-984ab13b3245\n\n", "schema" : { - "$ref" : "#/components/schemas/properties-query" + "$ref" : "#/components/schemas/uuid-values" } } }, - "description" : "The query spec", + "description" : "Custom datacenter ids", "required" : true }, "responses" : { - "200" : { - "content" : { - "application/json" : { - "example" : "{\n \"values\" : [ {\n \"resourceId\" : \"19a034f7-20d1-4721-9d7f-fa19f5883718\",\n \"property-contents\" : {\n \"property-content\" : [ {\n \"statKey\" : \"system|availability\",\n \"timestamps\" : [ 1119844280663 ],\n \"values\" : [ \"UP\" ]\n }, {\n \"statKey\" : \"config|num|processes\",\n \"timestamps\" : [ 1119844280663 ],\n \"data\" : [ 93.0 ]\n } ]\n }\n }, {\n \"resourceId\" : \"19a034f7-20d1-4721-9d7f-fa19f5883718\",\n \"property-contents\" : {\n \"property-content\" : [ {\n \"statKey\" : \"system|availability\",\n \"timestamps\" : [ 1119844280663 ],\n \"values\" : [ \"UP\" ]\n }, {\n \"statKey\" : \"config|num|processes\",\n \"timestamps\" : [ 1119844280663 ],\n \"data\" : [ 93.0 ]\n } ]\n }\n } ]\n}", - "schema" : { - "$ref" : "#/components/schemas/resources-property-contents" - } - }, - "application/xml" : { - "example" : "\n\n \n 19a034f7-20d1-4721-9d7f-fa19f5883718\n \n \n 1119844280663\n UP\n \n \n 1119844280663\n 93.0\n \n \n \n \n 19a034f7-20d1-4721-9d7f-fa19f5883718\n \n \n 1119844280663\n UP\n \n \n 1119844280663\n 93.0\n \n \n \n\n", - "schema" : { - "$ref" : "#/components/schemas/resources-property-contents" - } - } - }, - "description" : "The mapping from requested resources to current (latest) values of specified properties" + "204" : { + "description" : "Custom datacenter was deleted successfully" } }, - "summary" : "Get current (latest) values of requested properties for the specified resources", + "summary" : "Delete custom datacenters", "tags" : [ "Resources" ] - } - }, - "/api/resources/query" : { - "post" : { - "description" : "Gets a listing of resources based on the query spec specified.
      NOTE: The operator field in statConditions/propertyConditions can only have one of the following values: EXISTS, NOT_EXISTS, GT_EQ, GT, LT_EQ, LT, EQ, NOT_EQ, CONTAINS, NOT_CONTAINS", - "operationId" : "getMatchingResources", + }, + "get" : { + "description" : "Get custom datacenters", + "operationId" : "getCustomDatacenters", "parameters" : [ { "description" : "Page number from which data needs to be displayed (0-based)", "in" : "query", @@ -19130,623 +19659,555 @@ "default" : 1000 } } ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "example" : "{\n \"pageInfo\" : {\n \"totalCount\" : 3000,\n \"page\" : 0,\n \"pageSize\" : 1000\n },\n \"customDatacenters\" : [ {\n \"id\" : \"496228bb-28e9-4be1-9be1-54978fe71636\",\n \"name\" : \"custom datacenter 1\",\n \"description\" : \"custom datacenter 1 description\",\n \"childResourceIds\" : [ \"a08e44bb-75cf-426c-b271-34937444889f\", \"f3ea1105-fda5-4c54-8b26-0fba196123c7\" ]\n }, {\n \"id\" : \"657e68ea-9551-4bce-9895-27a3f03849cb\",\n \"name\" : \"custom datacenter 2\",\n \"description\" : \"custom datacenter 2 description\",\n \"childResourceIds\" : [ \"ddc8f222-08e0-4dc6-9ff7-fd758f5ac6e9\", \"177ba97c-a0d8-41c4-b38d-82c36d6e793e\" ]\n } ]\n}", + "schema" : { + "$ref" : "#/components/schemas/custom-datacenters" + } + }, + "application/xml" : { + "example" : "\n\n \n 0\n 1000\n \n \n \n custom datacenter 1\n custom datacenter 1 description\n \n a08e44bb-75cf-426c-b271-34937444889f\n f3ea1105-fda5-4c54-8b26-0fba196123c7\n \n \n \n custom datacenter 2\n custom datacenter 2 description\n \n ddc8f222-08e0-4dc6-9ff7-fd758f5ac6e9\n 177ba97c-a0d8-41c4-b38d-82c36d6e793e\n \n \n \n\n", + "schema" : { + "$ref" : "#/components/schemas/custom-datacenters" + } + } + }, + "description" : "Custom datacenters" + } + }, + "summary" : "Get custom datacenters", + "tags" : [ "Resources" ] + }, + "post" : { + "description" : "Create a custom datacenter", + "operationId" : "createCustomDatacenter", "requestBody" : { "content" : { "application/json" : { - "example" : "{\n \"name\" : [ \"VMware Cloud Foundation Operations Node-VMware Cloud Foundation Cluster Node\" ],\n \"adapterKind\" : [ \"VMWARE\" ],\n \"resourceKind\" : [ \"ResourcePool\" ],\n \"collectorName\" : [ \"local_collector\" ],\n \"collectorId\" : [ 1 ],\n \"maintenanceScheduleId\" : [ \"7671e2ea-3589-4079-84e2-c34f92da36a9\" ],\n \"adapterInstanceId\" : [ \"34e5920e-b2c1-4ada-969b-082044dfe2ff\" ],\n \"resourceState\" : [ \"STARTED\" ],\n \"resourceStatus\" : [ \"DATA_RECEIVING\" ],\n \"credentialId\" : [ \"201725f4-c9c3-47ab-a544-7de32453b77d\" ],\n \"resourceId\" : [ \"8a5764f5-8ace-402f-bef3-b194733da68c\" ],\n \"statKeyInclusive\" : true,\n \"propertyConditions\" : {\n \"conjunctionOperator\" : \"OR\",\n \"conditions\" : [ {\n \"key\" : \"property_name\",\n \"operator\" : \"EQ\",\n \"stringValue\" : \"property_value\"\n } ]\n },\n \"statConditions\" : {\n \"conjunctionOperator\" : \"OR\",\n \"conditions\" : [ {\n \"key\" : \"stat|key1\",\n \"operator\" : \"LT_EQ\",\n \"doubleValue\" : 1.0\n } ]\n },\n \"resourceTag\" : [ {\n \"category\" : \"category_name\",\n \"name\" : \"tag_name\"\n } ]\n}", + "example" : "{\n \"name\" : \"custom datacenter\",\n \"description\" : \"custom datacenter description\",\n \"childResourceIds\" : [ \"f1f26a23-e930-4b1f-aafd-84fca7da8dbb\", \"fc3316bb-938c-4eff-9049-d0e642db7ad2\" ]\n}", "schema" : { - "$ref" : "#/components/schemas/resource-query" + "$ref" : "#/components/schemas/custom-datacenter" } }, "application/xml" : { - "example" : "\n\n VMware Cloud Foundation Operations Node-VMware Cloud Foundation Cluster Node\n VMWARE\n ResourcePool\n local_collector\n 1\n 7671e2ea-3589-4079-84e2-c34f92da36a9\n 34e5920e-b2c1-4ada-969b-082044dfe2ff\n STARTED\n DATA_RECEIVING\n 201725f4-c9c3-47ab-a544-7de32453b77d\n 8a5764f5-8ace-402f-bef3-b194733da68c\n true\n \n \n \n property_value\n \n \n \n \n \n \n 1.0\n \n \n \n \n\n", + "example" : "\n\n custom datacenter\n custom datacenter description\n \n f1f26a23-e930-4b1f-aafd-84fca7da8dbb\n fc3316bb-938c-4eff-9049-d0e642db7ad2\n \n\n", "schema" : { - "$ref" : "#/components/schemas/resource-query" + "$ref" : "#/components/schemas/custom-datacenter" } } }, - "description" : "Query spec that encapsulates various filtering criteria for looking up Resources", + "description" : "Custom datacenter", "required" : true }, "responses" : { - "200" : { + "201" : { "content" : { "application/json" : { - "example" : "No Custom Example is Available", + "example" : "{\n \"id\" : \"9454dd8a-1505-4a32-96e0-1d93405651e5\",\n \"name\" : \"custom datacenter\",\n \"description\" : \"custom datacenter description\",\n \"childResourceIds\" : [ \"f1f26a23-e930-4b1f-aafd-84fca7da8dbb\", \"fc3316bb-938c-4eff-9049-d0e642db7ad2\" ]\n}", "schema" : { - "$ref" : "#/components/schemas/resources" + "$ref" : "#/components/schemas/custom-datacenter" } }, "application/xml" : { - "example" : "No Custom Example is Available", + "example" : "\n\n custom datacenter\n custom datacenter description\n \n f1f26a23-e930-4b1f-aafd-84fca7da8dbb\n fc3316bb-938c-4eff-9049-d0e642db7ad2\n \n\n", "schema" : { - "$ref" : "#/components/schemas/resources" + "$ref" : "#/components/schemas/custom-datacenter" } } }, - "description" : "The Collection of Resources matching the specified query parameters" + "description" : "Created custom datacenter" } }, - "summary" : "Gets a listing of resources based on the query spec specified", + "summary" : "Create a custom datacenter", "tags" : [ "Resources" ] - } - }, - "/api/resources/statkeys" : { - "get" : { - "description" : "Sample URI:
      /api/resources/statkeys?resourceId=UUID1", - "operationId" : "getStatKeysOfResources", - "parameters" : [ { - "description" : "The identifiers of the Resources", - "in" : "query", - "name" : "resourceId", - "required" : true, - "schema" : { - "type" : "string", - "format" : "uuid" - } - }, { - "description" : "An optional wildcard search string that allows
      user to refine the list of returned Stat Key details by
      key name. Usage is similar to a LIKE \"%searchstring%\"", - "in" : "query", - "name" : "searchstring", - "required" : false, - "schema" : { - "type" : "string" - } - } ], + }, + "put" : { + "description" : "Update a custom datacenter", + "operationId" : "updateCustomDatacenter", + "requestBody" : { + "content" : { + "application/json" : { + "example" : "{\n \"id\" : \"9454dd8a-1505-4a32-96e0-1d93405651e5\",\n \"name\" : \"custom datacenter\",\n \"description\" : \"custom datacenter description\",\n \"childResourceIds\" : [ \"f1f26a23-e930-4b1f-aafd-84fca7da8dbb\", \"fc3316bb-938c-4eff-9049-d0e642db7ad2\" ]\n}", + "schema" : { + "$ref" : "#/components/schemas/custom-datacenter" + } + }, + "application/xml" : { + "example" : "\n\n custom datacenter\n custom datacenter description\n \n f1f26a23-e930-4b1f-aafd-84fca7da8dbb\n fc3316bb-938c-4eff-9049-d0e642db7ad2\n \n\n", + "schema" : { + "$ref" : "#/components/schemas/custom-datacenter" + } + } + }, + "description" : "Custom datacenter", + "required" : true + }, "responses" : { "200" : { "content" : { "application/json" : { - "example" : "{\n \"stat-key\" : [ {\n \"key\" : \"cpu|demand\"\n }, {\n \"key\" : \"cpu|usage\"\n } ]\n}", + "example" : "{\n \"id\" : \"9454dd8a-1505-4a32-96e0-1d93405651e5\",\n \"name\" : \"custom datacenter\",\n \"description\" : \"custom datacenter description\",\n \"childResourceIds\" : [ \"f1f26a23-e930-4b1f-aafd-84fca7da8dbb\", \"fc3316bb-938c-4eff-9049-d0e642db7ad2\" ]\n}", "schema" : { - "$ref" : "#/components/schemas/stat-keys" + "$ref" : "#/components/schemas/custom-datacenter" } }, "application/xml" : { - "example" : "\n\n \n cpu|demand\n \n \n cpu|usage\n \n\n", + "example" : "\n\n custom datacenter\n custom datacenter description\n \n f1f26a23-e930-4b1f-aafd-84fca7da8dbb\n fc3316bb-938c-4eff-9049-d0e642db7ad2\n \n\n", "schema" : { - "$ref" : "#/components/schemas/stat-keys" + "$ref" : "#/components/schemas/custom-datacenter" } } }, - "description" : "Collection of StatKey objects available for the Resources" + "description" : "Updated custom datacenter" + }, + "409" : { + "description" : "There are conflicting clusters", + "x-vmw-compiler-skip" : true } }, - "summary" : "Get all the available stat keys and their details for the specified resource", + "summary" : "Update a custom datacenter", "tags" : [ "Resources" ] } }, - "/api/resources/stats" : { + "/api/resources/customdatacenters/{id}" : { "get" : { - "description" : "This is a GET endpoint and the query parameters control the data that is retrieved.
      If the number of Resources for which one needs to query data is large, it is recommended to
      use the POST /api/stats/query endpoint to avoid the URL length limitations.
      Takes the form:
      api/resources/stats?resourceId=UUID1 OR
      api/resources/stats?resourceId=UUID2&statKey=cpu|usagemhz&rollUpType=&begin=&end=", - "operationId" : "getStatsOfResources", + "description" : "Get custom datacenter by id", + "operationId" : "getCustomDatacenter", "parameters" : [ { - "description" : "Array of Resource ids for which the stats should be fetched", - "in" : "query", - "name" : "resourceId", - "required" : false, + "description" : "Custom datacenter id", + "in" : "path", + "name" : "id", + "required" : true, "schema" : { - "type" : "array", - "items" : { - "type" : "string", - "format" : "uuid" - } + "type" : "string", + "format" : "uuid" } - }, { - "description" : "Array of stat keys for which the stats should be returned", + } ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "example" : "{\n \"id\" : \"9454dd8a-1505-4a32-96e0-1d93405651e5\",\n \"name\" : \"custom datacenter\",\n \"description\" : \"custom datacenter description\",\n \"childResourceIds\" : [ \"f1f26a23-e930-4b1f-aafd-84fca7da8dbb\", \"fc3316bb-938c-4eff-9049-d0e642db7ad2\" ]\n}", + "schema" : { + "$ref" : "#/components/schemas/custom-datacenter" + } + }, + "application/xml" : { + "example" : "\n\n custom datacenter\n custom datacenter description\n \n f1f26a23-e930-4b1f-aafd-84fca7da8dbb\n fc3316bb-938c-4eff-9049-d0e642db7ad2\n \n\n", + "schema" : { + "$ref" : "#/components/schemas/custom-datacenter" + } + } + }, + "description" : "Custom datacenter" + }, + "404" : { + "description" : "No custom datacenter is found with the specified id", + "x-vmw-compiler-skip" : true + } + }, + "summary" : "Get custom datacenter by id", + "tags" : [ "Resources" ] + } + }, + "/api/resources/groups" : { + "get" : { + "description" : "Get all custom groups with or without policy", + "operationId" : "getCustomGroups", + "parameters" : [ { + "description" : "Collection of group identifiers", "in" : "query", - "name" : "statKey", + "name" : "groupId", "required" : false, "schema" : { "type" : "array", "items" : { - "type" : "string" + "type" : "string", + "format" : "uuid" } } }, { - "description" : "The beginning date as a long value of the range of stats to return
      Value measures the number of milliseconds since January 1, 1970 00:00:00 UTC
      NOTE: If not provided, 24 hour rearward of ending date is used", - "in" : "query", - "name" : "begin", - "required" : false, - "schema" : { - "type" : "integer", - "format" : "int64", - "description" : "The beginning date as a long value of the range of stats to return
      Value measures the number of milliseconds since January 1, 1970 00:00:00 UTC
      NOTE: If not provided, 24 hour rearward of ending date is used" - } - }, { - "description" : "The ending date as a long value of the range of stats to return
      Long value is number of milliseconds since January 1, 1970 00:00:00 UTC
      NOTE: The ending date must not be less than the beginning date.
      If not provided, current time as UTC milliseconds is used", - "in" : "query", - "name" : "end", - "required" : false, - "schema" : { - "type" : "integer", - "format" : "int64", - "description" : "The ending date as a long value of the range of stats to return
      Long value is number of milliseconds since January 1, 1970 00:00:00 UTC
      NOTE: The ending date must not be less than the beginning date.
      If not provided, current time as UTC milliseconds is used" - } - }, { - "description" : "Rollup Type requested by the user (e.g.: AVG, MIN, MAX etc.)", - "in" : "query", - "name" : "rollUpType", - "required" : false, - "schema" : { - "type" : "string", - "description" : "Represents the type of Rollup required for the stats data", - "enum" : [ "SUM", "AVG", "MIN", "MAX", "NONE", "LATEST", "COUNT" ] - } - }, { - "description" : "Interval type requested by the user (e.g: Days, Weeks, Months etc.)", - "in" : "query", - "name" : "intervalType", - "required" : false, - "schema" : { - "type" : "string", - "description" : "The Interval types", - "enum" : [ "HOURS", "MINUTES", "SECONDS", "DAYS", "WEEKS", "MONTHS", "YEARS" ] - } - }, { - "description" : "Number for the interval type", - "in" : "query", - "name" : "intervalQuantifier", - "required" : false, - "schema" : { - "type" : "integer", - "format" : "int32", - "description" : "Number for the interval type", - "minimum" : 1 - } - }, { - "description" : "Indicates that the requested stats are based on some dynamic threshold.
      Defaults to false which indicates that stats are not based on dynamic threshold.", - "in" : "query", - "name" : "dt", - "required" : false, - "schema" : { - "type" : "boolean", - "description" : "Indicates that the requested stats are based on some dynamic threshold.
      Defaults to false which indicates that stats are not based on dynamic threshold." - } - }, { - "description" : "The maximum number of samples to return when querying latest.
      When processing the get latest stats query if it is omitted a value of 1 is assumed.
      A query for the latest samples is not compatible with specifying the RollUpType value.", - "in" : "query", - "name" : "latestMaxSamples", - "required" : false, - "schema" : { - "type" : "integer", - "format" : "int32", - "description" : "The maximum number of samples to return when querying latest.
      When processing the get latest stats query if it is omitted a value of 1 is assumed.
      A query for the latest samples is not compatible with specifying the RollUpType value." - } - }, { - "description" : "Indicates whether specified statKey-s of query should be forcibly treated as metrics (does not include instanced stats)", - "in" : "query", - "name" : "metrics", - "required" : false, - "schema" : { - "type" : "boolean", - "description" : "Indicates whether specified statKey-s of query should be forcibly treated as metrics (does not include instanced stats)" - } - }, { - "description" : "Indicates whether to report only \"current\" stat values, i.e. skip the stat-s that haven't published any value
      during recent collection cycles.", - "in" : "query", - "name" : "currentOnly", - "required" : false, - "schema" : { - "type" : "boolean", - "description" : "Indicates whether to report only \"current\" stat values, i.e. skip the stat-s that haven't published any value
      during recent collection cycles." - } - }, { - "description" : "Indicates whether stat values should be wrapped for application/xml response content type.
      This flag is false by default and not needed for application/json response.
      If set to true \"statValues\" will be returned instead of \"values\" for all content types.", + "description" : "Flag that controls the retrieval of policy identifier applied to group", "in" : "query", - "name" : "wrapStatValues", + "name" : "includePolicy", "required" : false, "schema" : { "type" : "boolean", - "description" : "Indicates whether stat values should be wrapped for application/xml response content type.
      This flag is false by default and not needed for application/json response.
      If set to true \"statValues\" will be returned instead of \"values\" for all content types." + "default" : false } } ], "responses" : { "200" : { "content" : { "application/json" : { - "example" : "No Custom Example is Available", + "example" : "{\n \"groups\" : [ {\n \"id\" : \"358bf85c-e8c4-46dd-bb12-120da5bdeb2b\",\n \"resourceKey\" : {\n \"name\" : \"Sample Custom Group with Metric Key Condition\",\n \"adapterKindKey\" : \"Container\",\n \"resourceKindKey\" : \"Environment\"\n },\n \"autoResolveMembership\" : false,\n \"membershipDefinition\" : {\n \"includedResources\" : [ ],\n \"excludedResources\" : [ ],\n \"custom-group-properties\" : [ ],\n \"rules\" : [ {\n \"resourceKindKey\" : {\n \"resourceKind\" : \"VirtualMachine\",\n \"adapterKind\" : \"VMWARE\"\n },\n \"statConditionRules\" : [ {\n \"key\" : \"cpu|usage_average\",\n \"doubleValue\" : 85.0,\n \"compareOperator\" : \"GT\"\n } ],\n \"propertyConditionRules\" : [ ],\n \"resourceNameConditionRules\" : [ ],\n \"relationshipConditionRules\" : [ ],\n \"resourceTagConditionRules\" : [ ]\n } ]\n }\n } ]\n}", "schema" : { - "$ref" : "#/components/schemas/stats-of-resources" + "$ref" : "#/components/schemas/cgroups" } }, "application/xml" : { + "example" : "\n\n \n \n Sample Custom Group with Metric Key Condition\n Container\n Environment\n \n \n \n \n \n \n \n VirtualMachine\n VMWARE\n \n \n 85.0\n GT\n \n \n \n \n\n", + "schema" : { + "$ref" : "#/components/schemas/cgroups" + } + } + }, + "description" : "Collection of custom groups" + } + }, + "summary" : "Get all custom groups", + "tags" : [ "Resources" ] + }, + "post" : { + "description" : "See different request examples with Metric Key, Property Key, Relationship and Resource Name Condition.", + "operationId" : "createCustomGroup", + "requestBody" : { + "content" : { + "application/json" : { + "example" : "{\n \"resourceKey\" : {\n \"name\" : \"Sample Custom Group with Metric Key Condition\",\n \"adapterKindKey\" : \"Container\",\n \"resourceKindKey\" : \"Environment\"\n },\n \"autoResolveMembership\" : true,\n \"membershipDefinition\" : {\n \"includedResources\" : [ ],\n \"excludedResources\" : [ ],\n \"custom-group-properties\" : [ ],\n \"rules\" : [ {\n \"resourceKindKey\" : {\n \"resourceKind\" : \"VirtualMachine\",\n \"adapterKind\" : \"VMWARE\"\n },\n \"statConditionRules\" : [ {\n \"key\" : \"cpu|usage_average\",\n \"doubleValue\" : 80.0,\n \"compareOperator\" : \"GT\"\n } ],\n \"propertyConditionRules\" : [ {\n \"key\" : \"config|hardware|numCpu\",\n \"doubleValue\" : 4.0,\n \"compareOperator\" : \"LT\"\n } ],\n \"resourceNameConditionRules\" : [ {\n \"name\" : \"VSAN\",\n \"compareOperator\" : \"NOT_CONTAINS\"\n } ],\n \"relationshipConditionRules\" : [ {\n \"relation\" : \"CHILD\",\n \"name\" : \"SampleStorage\",\n \"compareOperator\" : \"CONTAINS\",\n \"travesalSpecId\" : \"vSphere Storage-VMWARE-vSphere World\"\n } ],\n \"resourceTagConditionRules\" : [ {\n \"category\" : \"VMFolder\",\n \"compareOperator\" : \"NOT_CONTAINS\",\n \"stringValue\" : \"TestVMFolder\"\n } ]\n } ]\n }\n}", + "schema" : { + "$ref" : "#/components/schemas/custom-group" + } + }, + "application/xml" : { + "example" : "\n\n \n Sample Custom Group with Metric Key Condition\n Container\n Environment\n \n \n \n \n \n \n \n VirtualMachine\n VMWARE\n \n \n 80.0\n GT\n \n \n 4.0\n LT\n \n \n \n \n \n \n\n", + "schema" : { + "$ref" : "#/components/schemas/custom-group" + } + } + }, + "description" : "The custom group definition", + "required" : true + }, + "responses" : { + "201" : { + "content" : { + "application/json" : { "example" : "No Custom Example is Available", "schema" : { - "$ref" : "#/components/schemas/stats-of-resources" + "$ref" : "#/components/schemas/custom-group" } }, - "text/csv" : { + "application/xml" : { "example" : "No Custom Example is Available", "schema" : { - "$ref" : "#/components/schemas/stats-of-resources" + "$ref" : "#/components/schemas/custom-group" } } }, - "description" : "The object containing a map of list of stat objects keyed by each Resource identifier" + "description" : "The newly created custom group" } }, - "summary" : "Get stats for one or more Resources using the specific query spec", + "summary" : "Create a new custom group definition", "tags" : [ "Resources" ] }, - "post" : { - "description" : "In this case, the adapter instance used for pushing data will default to vRealizeOpsMgrAPI.
      It is recommended (though not required) to use this API when the resources were created using the API
      POST /api/resources/{id}/adapters/{adapterInstanceId}. Otherwise an additional
      adapter instance might be created.", - "operationId" : "addStatsForResources", - "parameters" : [ { - "description" : "Whether the current data set
      goes through Analytics processing (Threshold checking, Alert generation) or not.
      Defaults to false. But when set to true will result in no evaluation of Alerts
      but the data gets stored", - "in" : "query", - "name" : "disableAnalyticsProcessing", - "required" : false, - "schema" : { - "type" : "boolean", - "default" : false - } - } ], + "put" : { + "description" : "NOTE: Method is enabled for user groups only", + "operationId" : "modifyCustomGroup", "requestBody" : { "content" : { "application/json" : { - "example" : "{\n \"resource-stat-content\" : [ {\n \"id\" : \"560cd627-ac88-4216-a83d-1aea2437a87b\",\n \"stat-contents\" : [ {\n \"statKey\" : \"cpu|demandGhz\",\n \"timestamps\" : [ 1119844280663, 1119844280693, 1119844280713 ],\n \"data\" : [ 0.2, 0.3, 0.4 ]\n }, {\n \"statKey\" : \"mem|overload\",\n \"timestamps\" : [ 1119844280663, 1119844280693, 1119844280713, 1119844280718 ],\n \"data\" : [ 93.0, 95.0, 97.0, 99.0 ]\n } ]\n }, {\n \"id\" : \"7390e068-d659-426d-8d22-467f9012b8d6\",\n \"stat-contents\" : [ {\n \"statKey\" : \"cpu|demandGhz\",\n \"timestamps\" : [ 1119844280663, 1119844280693, 1119844280713 ],\n \"data\" : [ 0.2, 0.3, 0.4 ]\n }, {\n \"statKey\" : \"mem|overload\",\n \"timestamps\" : [ 1119844280663, 1119844280693, 1119844280713, 1119844280718 ],\n \"data\" : [ 93.0, 95.0, 97.0, 99.0 ]\n } ]\n } ]\n}", + "example" : "{\n \"id\" : \"433b0861-e935-40ad-a0c1-79fc8e65aa94\",\n \"resourceKey\" : {\n \"name\" : \"Sample Custom Group with Metric Key Condition\",\n \"adapterKindKey\" : \"Container\",\n \"resourceKindKey\" : \"Environment\"\n },\n \"autoResolveMembership\" : true,\n \"membershipDefinition\" : {\n \"includedResources\" : [ ],\n \"excludedResources\" : [ ],\n \"custom-group-properties\" : [ ],\n \"rules\" : [ {\n \"resourceKindKey\" : {\n \"resourceKind\" : \"VirtualMachine\",\n \"adapterKind\" : \"VMWARE\"\n },\n \"statConditionRules\" : [ {\n \"key\" : \"cpu|usage_average\",\n \"doubleValue\" : 85.0,\n \"compareOperator\" : \"GT\"\n } ],\n \"propertyConditionRules\" : [ ],\n \"resourceNameConditionRules\" : [ ],\n \"relationshipConditionRules\" : [ ],\n \"resourceTagConditionRules\" : [ ]\n } ]\n }\n}", "schema" : { - "$ref" : "#/components/schemas/resources-stat-contents" + "$ref" : "#/components/schemas/custom-group" } }, "application/xml" : { - "example" : "\n\n \n \n \n 1119844280663\n 1119844280693\n 1119844280713\n 0.2\n 0.3\n 0.4\n \n \n 1119844280663\n 1119844280693\n 1119844280713\n 1119844280718\n 93.0\n 95.0\n 97.0\n 99.0\n \n \n \n \n \n \n 1119844280663\n 1119844280693\n 1119844280713\n 0.2\n 0.3\n 0.4\n \n \n 1119844280663\n 1119844280693\n 1119844280713\n 1119844280718\n 93.0\n 95.0\n 97.0\n 99.0\n \n \n \n\n", + "example" : "\n\n \n Sample Custom Group with Metric Key Condition\n Container\n Environment\n \n \n \n \n \n \n \n VirtualMachine\n VMWARE\n \n \n 85.0\n GT\n \n \n \n\n", "schema" : { - "$ref" : "#/components/schemas/resources-stat-contents" + "$ref" : "#/components/schemas/custom-group" } } }, - "description" : "The Resources and their Stats", + "description" : "The custom group definition", "required" : true }, "responses" : { "200" : { - "description" : "The stats are added to resources successfully" - } - }, - "summary" : "Add Stats to a Collection of Resources", - "tags" : [ "Resources" ] - } - }, - "/api/resources/stats/adapterkinds/{adapterKind}" : { - "post" : { - "description" : "If the adapter kind specified is not present in the system, it will be created dynamically.
      However if the adapter kind specified already exists, then it must be of OPENAPI adapter kind type.", - "operationId" : "addStatsForResourcesUsingPushAdapterKind", - "parameters" : [ { - "description" : "The ID of the adapter kind that will push the stats", - "in" : "path", - "name" : "adapterKind", - "required" : true, - "schema" : { - "type" : "string" - } - }, { - "description" : "Whether the current data set
      goes through Analytics processing (Threshold checking, Alert generation) or not.
      Defaults to false. But when set to true will result in no evaluation of Alerts
      but the data gets stored.", - "in" : "query", - "name" : "disableAnalyticsProcessing", - "required" : false, - "schema" : { - "type" : "boolean", - "default" : false - } - } ], - "requestBody" : { - "content" : { - "application/json" : { - "example" : "{\n \"resource-stat-content\" : [ {\n \"id\" : \"560cd627-ac88-4216-a83d-1aea2437a87b\",\n \"stat-contents\" : [ {\n \"statKey\" : \"cpu|demandGhz\",\n \"timestamps\" : [ 1119844280663, 1119844280693, 1119844280713 ],\n \"data\" : [ 0.2, 0.3, 0.4 ]\n }, {\n \"statKey\" : \"mem|overload\",\n \"timestamps\" : [ 1119844280663, 1119844280693, 1119844280713, 1119844280718 ],\n \"data\" : [ 93.0, 95.0, 97.0, 99.0 ]\n } ]\n }, {\n \"id\" : \"7390e068-d659-426d-8d22-467f9012b8d6\",\n \"stat-contents\" : [ {\n \"statKey\" : \"cpu|demandGhz\",\n \"timestamps\" : [ 1119844280663, 1119844280693, 1119844280713 ],\n \"data\" : [ 0.2, 0.3, 0.4 ]\n }, {\n \"statKey\" : \"mem|overload\",\n \"timestamps\" : [ 1119844280663, 1119844280693, 1119844280713, 1119844280718 ],\n \"data\" : [ 93.0, 95.0, 97.0, 99.0 ]\n } ]\n } ]\n}", - "schema" : { - "$ref" : "#/components/schemas/resources-stat-contents" + "content" : { + "application/json" : { + "example" : "No Custom Example is Available", + "schema" : { + "$ref" : "#/components/schemas/custom-group" + } + }, + "application/xml" : { + "example" : "No Custom Example is Available", + "schema" : { + "$ref" : "#/components/schemas/custom-group" + } } }, - "application/xml" : { - "example" : "\n\n \n \n \n 1119844280663\n 1119844280693\n 1119844280713\n 0.2\n 0.3\n 0.4\n \n \n 1119844280663\n 1119844280693\n 1119844280713\n 1119844280718\n 93.0\n 95.0\n 97.0\n 99.0\n \n \n \n \n \n \n 1119844280663\n 1119844280693\n 1119844280713\n 0.2\n 0.3\n 0.4\n \n \n 1119844280663\n 1119844280693\n 1119844280713\n 1119844280718\n 93.0\n 95.0\n 97.0\n 99.0\n \n \n \n\n", - "schema" : { - "$ref" : "#/components/schemas/resources-stat-contents" - } - } - }, - "description" : "The Resources and their Stats", - "required" : true + "description" : "The updated custom group" + } }, + "summary" : "Modify an existing custom group definition", + "tags" : [ "Resources" ] + } + }, + "/api/resources/groups/types" : { + "get" : { + "description" : "Get Group Types", + "operationId" : "getGroupTypes", "responses" : { "200" : { - "description" : "The stats are added successfully" + "content" : { + "application/json" : { + "example" : "{\n \"groupTypes\" : [ {\n \"name\" : \"Department\",\n \"key\" : \"Department\"\n }, {\n \"name\" : \"Environment\",\n \"key\" : \"Environment\"\n }, {\n \"name\" : \"Security Zone\",\n \"key\" : \"Security Zone\"\n }, {\n \"name\" : \"Universe\",\n \"key\" : \"Universe\"\n } ]\n}", + "schema" : { + "$ref" : "#/components/schemas/group-types" + } + }, + "application/xml" : { + "example" : "\n\n \n \n \n \n\n", + "schema" : { + "$ref" : "#/components/schemas/group-types" + } + } + }, + "description" : "Collection of group types" } }, - "summary" : "Adds Stats to a Collection of Resources along with associating an adapter instance of the specified adapter kind as the source of data", + "summary" : "Get group types", "tags" : [ "Resources" ] - } - }, - "/api/resources/stats/dt/query" : { + }, "post" : { - "description" : "The API returns 24 hours of Stats and DT data by default for the specified Resources.", - "operationId" : "getStatsAndDTForResources", + "description" : "Add a new group type
      NOTE: The value of key must either not be sent or must match with the value of name.", + "operationId" : "addGroupType", "requestBody" : { "content" : { "application/json" : { - "example" : "{\n \"resourceIds\" : [ \"e4e9a8e5-cfa9-4f65-9e0a-c4483b57d66b\", \"15c396ff-d868-4bd8-a538-babc9b60f6fd\" ],\n \"statKeys\" : [ \"stat|key1\", \"stat|key2\" ],\n \"begin\" : 1753340050702,\n \"end\" : 1753340055037,\n \"showSmooth\" : true,\n \"smoothFactor\" : 2.0\n}", + "example" : "{\n \"name\" : \"Contexture\"\n}", "schema" : { - "$ref" : "#/components/schemas/dt-stat-query" + "$ref" : "#/components/schemas/group-types" } }, "application/xml" : { - "example" : "\n\n e4e9a8e5-cfa9-4f65-9e0a-c4483b57d66b 15c396ff-d868-4bd8-a538-babc9b60f6fd\n stat|key1 stat|key2\n 1753340050702\n 1753340055037\n true\n 2.0\n\n", + "example" : "\n\n", "schema" : { - "$ref" : "#/components/schemas/dt-stat-query" + "$ref" : "#/components/schemas/group-types" } } }, - "description" : "The object which specifies the search criteria", + "description" : "The Group type to create", "required" : true }, "responses" : { - "200" : { - "content" : { - "application/json" : { - "example" : "No Custom Example is Available", - "schema" : { - "$ref" : "#/components/schemas/stats-of-resources" - } - }, - "application/xml" : { - "example" : "No Custom Example is Available", - "schema" : { - "$ref" : "#/components/schemas/stats-of-resources" - } - }, - "text/csv" : { - "example" : "No Custom Example is Available", - "schema" : { - "$ref" : "#/components/schemas/stats-of-resources" - } - } - }, - "description" : "The object containing a map of list of stat objects keyed by each Resource identifier" + "201" : { + "description" : "The group type is added successfully" } }, - "summary" : "Get Stats and Dynamic Threshold values for one or more StatKeys and for a Collection of Resources", + "summary" : "Add a new group type", "tags" : [ "Resources" ] } }, - "/api/resources/stats/latest" : { - "get" : { - "description" : "Takes the form:
      api/resources/stats/latest?resourceId=UUID1&resourceId=UUID2 OR
      api/resources/stats/latest?resourceId=UUID2&statKey=cpu|usagemhz&statKey=cpu|demandmhz
      ", - "operationId" : "getLatestStatsOfResources", + "/api/resources/groups/types/{key}" : { + "delete" : { + "description" : "Delete the group type", + "operationId" : "deleteGroupType", "parameters" : [ { - "description" : "Array of Resource ids for which the latest stats should be fetched", - "in" : "query", - "name" : "resourceId", - "required" : false, + "description" : "Key of the group type to delete", + "in" : "path", + "name" : "key", + "required" : true, "schema" : { - "type" : "array", - "items" : { - "type" : "string", - "format" : "uuid" - }, - "maxItems" : 1000, - "minItems" : 1 + "type" : "string" } - }, { - "description" : "Array of stat keys for which the latest stats should be returned", - "in" : "query", - "name" : "statKey", - "required" : false, - "schema" : { - "type" : "array", - "items" : { - "type" : "string" - } + } ], + "responses" : { + "200" : { + "description" : "The group type is deleted successfully" } - }, { - "description" : "Indicates whether specified statKey-s of query should be forcibly treated as metrics (does not include instanced stats)", - "in" : "query", - "name" : "metrics", - "required" : false, + }, + "summary" : "Delete the group type", + "tags" : [ "Resources" ] + } + }, + "/api/resources/groups/{groupId}" : { + "delete" : { + "description" : "NOTE: Method is enabled for user groups only", + "operationId" : "deleteCustomGroup", + "parameters" : [ { + "description" : "The Identifier of the group", + "in" : "path", + "name" : "groupId", + "required" : true, "schema" : { - "type" : "boolean", - "description" : "Indicates whether specified statKey-s of query should be forcibly treated as metrics (does not include instanced stats)" + "type" : "string", + "format" : "uuid" } - }, { - "description" : "Indicates whether to report only \"current\" stat values, i.e. skip the stat-s that haven't published any value
      during recent collection cycles.", - "in" : "query", - "name" : "currentOnly", - "required" : false, - "schema" : { - "type" : "boolean", - "description" : "Indicates whether to report only \"current\" stat values, i.e. skip the stat-s that haven't published any value
      during recent collection cycles." + } ], + "responses" : { + "200" : { + "description" : "The custom group is deleted successfully" } - }, { - "description" : "The maximum number of samples to return when querying latest stats.
      Defaults to 1 so that when processing the query if it is omitted
      the response would contain a single sample", - "in" : "query", - "name" : "maxSamples", - "required" : false, + }, + "summary" : "Delete a custom group", + "tags" : [ "Resources" ] + }, + "get" : { + "description" : "Get a custom group with or without policy", + "operationId" : "getCustomGroup", + "parameters" : [ { + "description" : "Group identifier", + "in" : "path", + "name" : "groupId", + "required" : true, "schema" : { - "type" : "integer", - "format" : "int32", - "description" : "The maximum number of samples to return when querying latest stats.
      Defaults to 1 so that when processing the query if it is omitted
      the response would contain a single sample" + "type" : "string", + "format" : "uuid" } }, { - "description" : "Indicates whether stat values should be wrapped for application/xml response content type.
      This flag is false by default and not needed for application/json response.
      If set to true \"statValues\" will be returned instead of \"values\" for all content types.", + "description" : "Flag that controls the retrieval of policy identifier applied to group", "in" : "query", - "name" : "wrapStatValues", + "name" : "includePolicy", "required" : false, "schema" : { "type" : "boolean", - "description" : "Indicates whether stat values should be wrapped for application/xml response content type.
      This flag is false by default and not needed for application/json response.
      If set to true \"statValues\" will be returned instead of \"values\" for all content types." + "default" : false } } ], "responses" : { "200" : { "content" : { "application/json" : { - "example" : "{\n \"values\" : [ {\n \"resourceId\" : \"2d16d6ea-21cd-48e5-a8e8-936da75185b5\",\n \"stat-list\" : {\n \"stat\" : [ {\n \"timestamps\" : [ 1753340126993, 1753340136993 ],\n \"statKey\" : {\n \"key\" : \"stat|key1\"\n },\n \"rollUpType\" : \"NONE\",\n \"intervalUnit\" : {\n \"quantifier\" : 5,\n \"intervalType\" : \"MINUTES\"\n },\n \"data\" : [ 1.0, 2.0 ],\n \"dtTimestamps\" : [ 1753340126993, 1753340136993, 1753340146993 ],\n \"minThresholdData\" : [ 0.5, 1.0 ],\n \"maxThresholdData\" : [ 1.5, 3.0 ],\n \"smoothValues\" : [ 1.5, 1.5 ]\n } ]\n }\n } ]\n}", + "example" : "{\n \"id\" : \"358bf85c-e8c4-46dd-bb12-120da5bdeb2b\",\n \"resourceKey\" : {\n \"name\" : \"Sample Custom Group with Metric Key Condition\",\n \"adapterKindKey\" : \"Container\",\n \"resourceKindKey\" : \"Environment\"\n },\n \"autoResolveMembership\" : false,\n \"membershipDefinition\" : {\n \"includedResources\" : [ ],\n \"excludedResources\" : [ ],\n \"custom-group-properties\" : [ ],\n \"rules\" : [ {\n \"resourceKindKey\" : {\n \"resourceKind\" : \"VirtualMachine\",\n \"adapterKind\" : \"VMWARE\"\n },\n \"statConditionRules\" : [ {\n \"key\" : \"cpu|usage_average\",\n \"doubleValue\" : 85.0,\n \"compareOperator\" : \"GT\"\n } ],\n \"propertyConditionRules\" : [ ],\n \"resourceNameConditionRules\" : [ ],\n \"relationshipConditionRules\" : [ ],\n \"resourceTagConditionRules\" : [ ]\n } ]\n }\n}", "schema" : { - "$ref" : "#/components/schemas/stats-of-resources" + "$ref" : "#/components/schemas/custom-group" } }, "application/xml" : { - "example" : "\n\n \n 2d16d6ea-21cd-48e5-a8e8-936da75185b5\n \n \n 1753340126993 1753340136993\n \n stat|key1\n \n NONE\n \n 5\n MINUTES\n \n 1.0 2.0\n 1753340126993 1753340136993 1753340146993\n 0.5 1.0\n 1.5 3.0\n 1.5 1.5\n \n \n \n\n", - "schema" : { - "$ref" : "#/components/schemas/stats-of-resources" - } - }, - "text/csv" : { - "example" : "No Custom Example is Available", + "example" : "\n\n \n Sample Custom Group with Metric Key Condition\n Container\n Environment\n \n \n \n \n \n \n \n VirtualMachine\n VMWARE\n \n \n 85.0\n GT\n \n \n \n\n", "schema" : { - "$ref" : "#/components/schemas/stats-of-resources" + "$ref" : "#/components/schemas/custom-group" } } }, - "description" : "The object containing a map of list of stat objects keyed by each Resource identifier" + "description" : "The custom group with sought identifier" } }, - "summary" : "Get Latest stats of one or more Resources using the query spec that is specified", + "summary" : "Get custom group", "tags" : [ "Resources" ] } }, - "/api/resources/stats/latest/query" : { - "post" : { - "description" : "Get the last \"maxSamples\" stats values for specified one or more Resources", - "operationId" : "queryLatestStatsOfResources", - "requestBody" : { - "content" : { - "application/json" : { - "example" : "{\n \"resourceId\" : [ \"f271d537-d6df-4cf7-b0b7-8e77ccc06cee\", \"0a03244c-3b8f-47ed-9aa4-806dbde01d7a\" ],\n \"statKey\" : [ \"stat|key1\", \"stat|key2\" ],\n \"metrics\" : false,\n \"currentOnly\" : false,\n \"maxSamples\" : 1,\n \"wrapStatValues\" : false\n}", - "schema" : { - "$ref" : "#/components/schemas/latest-stat-query" - } - }, - "application/xml" : { - "example" : "\n\n f271d537-d6df-4cf7-b0b7-8e77ccc06cee 0a03244c-3b8f-47ed-9aa4-806dbde01d7a\n stat|key1 stat|key2\n false\n false\n 1\n false\n\n", - "schema" : { - "$ref" : "#/components/schemas/latest-stat-query" - } - } - }, - "description" : "The object which specifies the search criteria", - "required" : true - }, + "/api/resources/groups/{groupId}/members" : { + "get" : { + "description" : "Get members of the specified group", + "operationId" : "getCustomGroupMembers", + "parameters" : [ { + "description" : "Group identifier", + "in" : "path", + "name" : "groupId", + "required" : true, + "schema" : { + "type" : "string", + "format" : "uuid" + } + } ], "responses" : { "200" : { "content" : { "application/json" : { - "example" : "{\n \"values\" : [ {\n \"resourceId\" : \"2d16d6ea-21cd-48e5-a8e8-936da75185b5\",\n \"stat-list\" : {\n \"stat\" : [ {\n \"timestamps\" : [ 1753340126993, 1753340136993 ],\n \"statKey\" : {\n \"key\" : \"stat|key1\"\n },\n \"rollUpType\" : \"NONE\",\n \"intervalUnit\" : {\n \"quantifier\" : 5,\n \"intervalType\" : \"MINUTES\"\n },\n \"data\" : [ 1.0, 2.0 ],\n \"dtTimestamps\" : [ 1753340126993, 1753340136993, 1753340146993 ],\n \"minThresholdData\" : [ 0.5, 1.0 ],\n \"maxThresholdData\" : [ 1.5, 3.0 ],\n \"smoothValues\" : [ 1.5, 1.5 ]\n } ]\n }\n } ]\n}", + "example" : "{\n \"resourceList\" : [ {\n \"description\" : \"Description of this virtual machine\",\n \"creationTime\" : 1544433248,\n \"resourceKey\" : {\n \"name\" : \"VM1\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"VirtualMachine\",\n \"resourceIdentifiers\" : [ {\n \"identifierType\" : {\n \"name\" : \"VMEntityObjectID\",\n \"dataType\" : \"STRING\",\n \"isPartOfUniqueness\" : true\n },\n \"value\" : \"vm-123\"\n }, {\n \"identifierType\" : {\n \"name\" : \"VMEntityVCID\",\n \"dataType\" : \"STRING\",\n \"isPartOfUniqueness\" : true\n },\n \"value\" : \"ac947835-b292-4735-84e4-46b7ebf1f8ba\"\n }, {\n \"identifierType\" : {\n \"name\" : \"VMEntityName\",\n \"dataType\" : \"STRING\",\n \"isPartOfUniqueness\" : true\n },\n \"value\" : \"VM1\"\n } ]\n },\n \"credentialInstanceId\" : \"fce590e9-4cec-4fcd-a15a-76b4a7f1b146\",\n \"resourceStatusStates\" : [ ],\n \"dtEnabled\" : true,\n \"monitoringInterval\" : 5,\n \"badges\" : [ ],\n \"relatedResources\" : [ ],\n \"identifier\" : \"8c356ae4-f028-4986-b7a8-95b4b44bb4dc\"\n } ]\n}", "schema" : { - "$ref" : "#/components/schemas/stats-of-resources" + "$ref" : "#/components/schemas/resources" } }, "application/xml" : { - "example" : "\n\n \n 2d16d6ea-21cd-48e5-a8e8-936da75185b5\n \n \n 1753340126993 1753340136993\n \n stat|key1\n \n NONE\n \n 5\n MINUTES\n \n 1.0 2.0\n 1753340126993 1753340136993 1753340146993\n 0.5 1.0\n 1.5 3.0\n 1.5 1.5\n \n \n \n\n", + "example" : "\n\n \n Description of this virtual machine\n \n VM1\n VMWARE\n VirtualMachine\n \n \n \n vm-123\n \n \n \n ac947835-b292-4735-84e4-46b7ebf1f8ba\n \n \n \n VM1\n \n \n \n fce590e9-4cec-4fcd-a15a-76b4a7f1b146\n \n true\n 5\n \n \n \n\n", "schema" : { - "$ref" : "#/components/schemas/stats-of-resources" + "$ref" : "#/components/schemas/resources" } } }, - "description" : "The requested stats" - }, - "404" : { - "description" : "Non of the resources could be found", - "x-vmw-compiler-skip" : true - }, - "500" : { - "description" : "Error during the query", - "x-vmw-compiler-skip" : true + "description" : "Collection of the member resources of the group" } }, - "summary" : "Get the last \"maxSamples\" stats values for specified one or more Resources", + "summary" : "Get members of the group", "tags" : [ "Resources" ] } }, - "/api/resources/stats/query" : { - "post" : { - "description" : "Get stats for one or more Resources using the specific query spec", - "operationId" : "getStatsForResources", - "requestBody" : { - "content" : { - "application/json" : { - "example" : "{\n \"resourceId\" : [ \"95b0c395-6404-4473-828f-c3e7f64d446b\", \"266c6175-5f91-407b-8119-fa1eaf3ad5aa\" ],\n \"statKey\" : [ \"stat|key1\", \"stat|key2\" ],\n \"begin\" : 1753340007585,\n \"end\" : 1753340016072,\n \"rollUpType\" : \"SUM\",\n \"intervalType\" : \"DAYS\",\n \"intervalQuantifier\" : -1,\n \"dt\" : false,\n \"latestMaxSamples\" : 10,\n \"metrics\" : false,\n \"currentOnly\" : false,\n \"wrapStatValues\" : false\n}", - "schema" : { - "$ref" : "#/components/schemas/stat-query" - } - }, - "application/xml" : { - "example" : "\n\n 95b0c395-6404-4473-828f-c3e7f64d446b 266c6175-5f91-407b-8119-fa1eaf3ad5aa\n stat|key1 stat|key2\n 1753340007585\n 1753340016072\n SUM\n DAYS\n -1\n false\n 10\n false\n false\n false\n\n", - "schema" : { - "$ref" : "#/components/schemas/stat-query" - } + "/api/resources/maintained" : { + "delete" : { + "description" : "Bring the specified set of Resources out of Maintenance manually", + "operationId" : "unmarkResourcesAsBeingMaintained", + "parameters" : [ { + "description" : "A collection of Resource identifiers", + "in" : "query", + "name" : "id", + "required" : true, + "schema" : { + "type" : "array", + "items" : { + "type" : "string", + "format" : "uuid" } - }, - "description" : "The object which specifies the search criteria", - "required" : true - }, + } + } ], "responses" : { "200" : { - "content" : { - "application/json" : { - "example" : "{\n \"values\" : [ {\n \"resourceId\" : \"2d16d6ea-21cd-48e5-a8e8-936da75185b5\",\n \"stat-list\" : {\n \"stat\" : [ {\n \"timestamps\" : [ 1753340126993, 1753340136993 ],\n \"statKey\" : {\n \"key\" : \"stat|key1\"\n },\n \"rollUpType\" : \"NONE\",\n \"intervalUnit\" : {\n \"quantifier\" : 5,\n \"intervalType\" : \"MINUTES\"\n },\n \"data\" : [ 1.0, 2.0 ],\n \"dtTimestamps\" : [ 1753340126993, 1753340136993, 1753340146993 ],\n \"minThresholdData\" : [ 0.5, 1.0 ],\n \"maxThresholdData\" : [ 1.5, 3.0 ],\n \"smoothValues\" : [ 1.5, 1.5 ]\n } ]\n }\n } ]\n}", - "schema" : { - "$ref" : "#/components/schemas/stats-of-resources" - } - }, - "application/xml" : { - "example" : "\n\n \n 2d16d6ea-21cd-48e5-a8e8-936da75185b5\n \n \n 1753340126993 1753340136993\n \n stat|key1\n \n NONE\n \n 5\n MINUTES\n \n 1.0 2.0\n 1753340126993 1753340136993 1753340146993\n 0.5 1.0\n 1.5 3.0\n 1.5 1.5\n \n \n \n\n", - "schema" : { - "$ref" : "#/components/schemas/stats-of-resources" - } - } - }, - "description" : "The object containing a map of list of stat objects keyed by each Resource identifier" + "description" : "The resource is brought out from maintenance successfully" } }, - "summary" : "Get stats for one or more Resources using the specific query spec", + "summary" : "Bring the specified set of Resources out of Maintenance manually", "tags" : [ "Resources" ] - } - }, - "/api/resources/stats/topn" : { - "get" : { - "description" : "Get the Top-N stats data for one or more Resources and a set of StatKeys", - "operationId" : "getTopNStatsOfResources", + }, + "put" : { + "description" : "The Resources can end up in two maintenance states - MAINTAINED OR MAINTAINED_MANUAL -
      depending upon the inputs specified.


      • If duration/end time is specified, the Resources will be placed in MAINTAINED
        state and after the duration/end time expires, the state of the Resources would be automatically
        set to the state they were in before entering the maintenance window.
      • If duration/end time is not specified, the Resources will be placed in MAINTAINED_MANUAL state.
        Callers have to execute DELETE /suite-api/api/resources/maintained?id=ID1&id=ID2 API
        to set the Resources back to whatever state they were in.
      • If both duration and end time are specified, end time takes preference over duration.
      ", + "operationId" : "markResourcesAsBeingMaintained", "parameters" : [ { - "description" : "The number of results. Keep in mind if a grouping contains multiple items (eg:
      grouped by resource, with 4 metrics for the grouping resource) then returning the group with
      4 metrics counts as 4 topN entries. If there are not enough remaining open topN entries to
      return an entire group within the topN then the entire group is not returned. *", + "description" : "The Resource identifiers", "in" : "query", - "name" : "topN", + "name" : "id", "required" : true, "schema" : { - "type" : "integer", - "format" : "int32", - "description" : "The number of results. Keep in mind if a grouping contains multiple items (eg:
      grouped by resource, with 4 metrics for the grouping resource) then returning the group with
      4 metrics counts as 4 topN entries. If there are not enough remaining open topN entries to
      return an entire group within the topN then the entire group is not returned. *", - "minimum" : 1 + "type" : "array", + "items" : { + "type" : "string", + "format" : "uuid" + } } }, { - "description" : "The type of grouping, if not set defaults to ResourceStatGroupBy.RESOURCE", + "description" : "The Duration for which this resource will be in maintenance (In Minutes)", "in" : "query", - "name" : "groupBy", + "name" : "duration", "required" : false, "schema" : { - "type" : "string", - "description" : "Enumeration of the available Grouping for topN", - "enum" : [ "RESOURCE", "STATKEY" ] + "type" : "integer", + "format" : "int32" } }, { - "description" : "The type of sorting, if not set defaults to ResourceStatSort.ASCENDING", + "description" : "The End time of the maintenance window as a long value (Epoch time)", "in" : "query", - "name" : "sortOrder", + "name" : "end", "required" : false, "schema" : { - "type" : "string", - "description" : "The sort order", - "enum" : [ "ASCENDING", "DESCENDING" ], - "xml" : { - "name" : "sort-order", - "namespace" : "http://webservice.vmware.com/vRealizeOpsMgr/1.0/" - } + "type" : "integer", + "format" : "int64" } - }, { - "description" : "Array of Resource ids for which the stats should be fetched", + } ], + "responses" : { + "200" : { + "description" : "The resource is put in maintenance successfully" + } + }, + "summary" : "Put all the specified Resource in Maintenance", + "tags" : [ "Resources" ] + } + }, + "/api/resources/monitoringstate/start" : { + "put" : { + "deprecated" : true, + "description" : "The query parameter id is for specifying the set of Resources that should
      be monitored.
      The optional query parameter adapterId determines which of the
      Adapters need to be informed to start monitoring the Resources. If this is
      not specified, then all of the Adapters will start monitoring the specified Resources.", + "operationId" : "startMonitoringResources", + "parameters" : [ { + "description" : "The Resource identifiers that need to be monitored", "in" : "query", - "name" : "resourceId", - "required" : false, + "name" : "id", + "required" : true, "schema" : { "type" : "array", "items" : { @@ -19755,145 +20216,195 @@ } } }, { - "description" : "Array of stat keys for which the stats should be returned", + "description" : "Collection of adapter instance identifiers that should start monitoring the Resources", "in" : "query", - "name" : "statKey", + "name" : "adapterId", "required" : false, "schema" : { "type" : "array", "items" : { - "type" : "string" + "type" : "string", + "format" : "uuid" } } - }, { - "description" : "The beginning date as a long value of the range of stats to return
      Value measures the number of milliseconds since January 1, 1970 00:00:00 UTC
      NOTE: If not provided, 24 hour rearward of ending date is used", - "in" : "query", - "name" : "begin", - "required" : false, - "schema" : { - "type" : "integer", - "format" : "int64", - "description" : "The beginning date as a long value of the range of stats to return
      Value measures the number of milliseconds since January 1, 1970 00:00:00 UTC
      NOTE: If not provided, 24 hour rearward of ending date is used" - } - }, { - "description" : "The ending date as a long value of the range of stats to return
      Long value is number of milliseconds since January 1, 1970 00:00:00 UTC
      NOTE: The ending date must not be less than the beginning date.
      If not provided, current time as UTC milliseconds is used", - "in" : "query", - "name" : "end", - "required" : false, - "schema" : { - "type" : "integer", - "format" : "int64", - "description" : "The ending date as a long value of the range of stats to return
      Long value is number of milliseconds since January 1, 1970 00:00:00 UTC
      NOTE: The ending date must not be less than the beginning date.
      If not provided, current time as UTC milliseconds is used" - } - }, { - "description" : "Rollup Type requested by the user (e.g.: AVG, MIN, MAX etc.)", - "in" : "query", - "name" : "rollUpType", - "required" : false, - "schema" : { - "type" : "string", - "description" : "Represents the type of Rollup required for the stats data", - "enum" : [ "SUM", "AVG", "MIN", "MAX", "NONE", "LATEST", "COUNT" ] + } ], + "responses" : { + "200" : { + "description" : "The resource monitoring is started successfully" } - }, { - "description" : "Interval type requested by the user (e.g: Days, Weeks, Months etc.)", + }, + "summary" : "Inform one or more or all Adapters to start monitoring a Collection of Resources. Note: Start isn't supported on per resource bases any more.", + "tags" : [ "Resources" ] + } + }, + "/api/resources/monitoringstate/stop" : { + "put" : { + "deprecated" : true, + "description" : "The query parameter id is for specifying the set of Resources that should
      no longer be monitored.
      The optional query parameter adapterId determines which of the
      Adapters need to be informed to stop monitoring the Resources. If this is
      not specified, then all of the Adapters will stop monitoring the specified Resources.", + "operationId" : "stopMonitoringResources", + "parameters" : [ { + "description" : "The Resource identifiers that no longer need to be monitored", "in" : "query", - "name" : "intervalType", - "required" : false, + "name" : "id", + "required" : true, "schema" : { - "type" : "string", - "description" : "The Interval types", - "enum" : [ "HOURS", "MINUTES", "SECONDS", "DAYS", "WEEKS", "MONTHS", "YEARS" ] + "type" : "array", + "items" : { + "type" : "string", + "format" : "uuid" + } } }, { - "description" : "Number for the interval type", + "description" : "Collection of adapter instance identifiers that should stop monitoring the Resources", "in" : "query", - "name" : "intervalQuantifier", + "name" : "adapterId", "required" : false, "schema" : { - "type" : "integer", - "format" : "int32", - "description" : "Number for the interval type", - "minimum" : 1 + "type" : "array", + "items" : { + "type" : "string", + "format" : "uuid" + } } - }, { - "description" : "Indicates that the requested stats are based on some dynamic threshold.
      Defaults to false which indicates that stats are not based on dynamic threshold.", - "in" : "query", - "name" : "dt", - "required" : false, - "schema" : { - "type" : "boolean", - "description" : "Indicates that the requested stats are based on some dynamic threshold.
      Defaults to false which indicates that stats are not based on dynamic threshold." + } ], + "responses" : { + "200" : { + "description" : "The resource monitoring is stopped successfully" } - }, { - "description" : "The maximum number of samples to return when querying latest.
      When processing the get latest stats query if it is omitted a value of 1 is assumed.
      A query for the latest samples is not compatible with specifying the RollUpType value.", - "in" : "query", - "name" : "latestMaxSamples", - "required" : false, - "schema" : { - "type" : "integer", - "format" : "int32", - "description" : "The maximum number of samples to return when querying latest.
      When processing the get latest stats query if it is omitted a value of 1 is assumed.
      A query for the latest samples is not compatible with specifying the RollUpType value." - } - }, { - "description" : "Indicates whether specified statKey-s of query should be forcibly treated as metrics (does not include instanced stats)", - "in" : "query", - "name" : "metrics", - "required" : false, - "schema" : { - "type" : "boolean", - "description" : "Indicates whether specified statKey-s of query should be forcibly treated as metrics (does not include instanced stats)" - } - }, { - "description" : "Indicates whether to report only \"current\" stat values, i.e. skip the stat-s that haven't published any value
      during recent collection cycles.", - "in" : "query", - "name" : "currentOnly", - "required" : false, - "schema" : { - "type" : "boolean", - "description" : "Indicates whether to report only \"current\" stat values, i.e. skip the stat-s that haven't published any value
      during recent collection cycles." + }, + "summary" : "Inform one or more or all Adapters to stop monitoring a Collection of Resources. Note: Stop isn't supported on per resource bases any more.", + "tags" : [ "Resources" ] + } + }, + "/api/resources/profiles" : { + "get" : { + "description" : "Get all custom profiles", + "operationId" : "getCustomProfiles", + "responses" : { + "200" : { + "content" : { + "application/json" : { + "example" : "{\n \"profiles\" : [ {\n \"id\" : \"1187e741-e965-45eb-8410-f99f33bf54a7\",\n \"name\" : \"Sample Custom Profile\",\n \"description\" : \"Description of Custom Profile\",\n \"objectType\" : {\n \"adapterKind\" : \"VMWARE\",\n \"resourceKind\" : \"VirtualMachine\"\n },\n \"custom-profile-metrics\" : [ {\n \"metric\" : \"cpu\",\n \"value\" : 117.49,\n \"unit\" : \"mhz\"\n }, {\n \"metric\" : \"mem-alloc\",\n \"value\" : 9999.0,\n \"unit\" : \"kb\"\n } ]\n }, {\n \"id\" : \"dd8ec82d-cbd3-4970-861c-16fea1d220c0\",\n \"name\" : \"Sample Custom Profile\",\n \"description\" : \"Description of Custom Profile\",\n \"objectType\" : {\n \"adapterKind\" : \"VMWARE\",\n \"resourceKind\" : \"VirtualMachine\"\n },\n \"custom-profile-metrics\" : [ {\n \"metric\" : \"cpu\",\n \"value\" : 44.44,\n \"unit\" : \"mhz\"\n }, {\n \"metric\" : \"mem-alloc\",\n \"value\" : 88.88,\n \"unit\" : \"kb\"\n } ]\n } ]\n}", + "schema" : { + "$ref" : "#/components/schemas/custom-profiles" + } + }, + "application/xml" : { + "example" : "\n\n \n Sample Custom Profile\n Description of Custom Profile\n \n VMWARE\n VirtualMachine\n \n \n \n cpu\n 117.49\n mhz\n \n \n mem-alloc\n 9999.0\n kb\n \n \n \n \n Sample Custom Profile\n Description of Custom Profile\n \n VMWARE\n VirtualMachine\n \n \n \n cpu\n 44.44\n mhz\n \n \n mem-alloc\n 88.88\n kb\n \n \n \n\n", + "schema" : { + "$ref" : "#/components/schemas/custom-profiles" + } + } + }, + "description" : "The Collection of all custom profiles" } - }, { - "description" : "Indicates whether stat values should be wrapped for application/xml response content type.
      This flag is false by default and not needed for application/json response.
      If set to true \"statValues\" will be returned instead of \"values\" for all content types.", - "in" : "query", - "name" : "wrapStatValues", - "required" : false, - "schema" : { - "type" : "boolean", - "description" : "Indicates whether stat values should be wrapped for application/xml response content type.
      This flag is false by default and not needed for application/json response.
      If set to true \"statValues\" will be returned instead of \"values\" for all content types." + }, + "summary" : "Get all custom profiles", + "tags" : [ "Resources" ] + }, + "post" : { + "description" : "Example: GET /api/alerts/{id}", + "operationId" : "createCustomProfile", + "requestBody" : { + "content" : { + "application/json" : { + "example" : "{\n \"name\" : \"Sample Custom Profile\",\n \"description\" : \"Description of Custom Profile\",\n \"objectType\" : {\n \"adapterKind\" : \"VMWARE\",\n \"resourceKind\" : \"VirtualMachine\"\n },\n \"custom-profile-metrics\" : [ {\n \"metric\" : \"cpu\",\n \"value\" : 99.99,\n \"unit\" : \"mhz\"\n }, {\n \"metric\" : \"mem-alloc\",\n \"value\" : 77.77,\n \"unit\" : \"kb\"\n } ]\n}", + "schema" : { + "$ref" : "#/components/schemas/custom-profile" + } + }, + "application/xml" : { + "example" : "\n\n Sample Custom Profile\n Description of Custom Profile\n \n VMWARE\n VirtualMachine\n \n \n \n cpu\n 99.99\n mhz\n \n \n mem-alloc\n 77.77\n kb\n \n \n\n", + "schema" : { + "$ref" : "#/components/schemas/custom-profile" + } + } + }, + "description" : "The custom profile definition", + "required" : true + }, + "responses" : { + "201" : { + "content" : { + "application/json" : { + "example" : "No Custom Example is Available", + "schema" : { + "$ref" : "#/components/schemas/custom-profile" + } + }, + "application/xml" : { + "example" : "No Custom Example is Available", + "schema" : { + "$ref" : "#/components/schemas/custom-profile" + } + } + }, + "description" : "The newly created custom profile" + }, + "404" : { + "description" : "No Alert with the specified identifier is found", + "x-vmw-compiler-skip" : true + }, + "500" : { + "description" : "Error occurred while retrieving the Alert with the specified identifier", + "x-vmw-compiler-skip" : true } - } ], + }, + "summary" : "Create a new custom profile definition", + "tags" : [ "Resources" ] + }, + "put" : { + "description" : "Modify an existing custom profile definition", + "operationId" : "modifyCustomProfile", + "requestBody" : { + "content" : { + "application/json" : { + "example" : "{\n \"id\" : \"3c4f2be4-5678-4adb-8267-8077cac7aa26\",\n \"name\" : \"Sample Custom Profile\",\n \"description\" : \"Description of Custom Profile\",\n \"objectType\" : {\n \"adapterKind\" : \"VMWARE\",\n \"resourceKind\" : \"VirtualMachine\"\n },\n \"custom-profile-metrics\" : [ {\n \"metric\" : \"cpu\",\n \"value\" : 999.999,\n \"unit\" : \"mhz\"\n }, {\n \"metric\" : \"mem-alloc\",\n \"value\" : 777.777,\n \"unit\" : \"kb\"\n } ]\n}", + "schema" : { + "$ref" : "#/components/schemas/custom-profile" + } + }, + "application/xml" : { + "example" : "\n\n Sample Custom Profile\n Description of Custom Profile\n \n VMWARE\n VirtualMachine\n \n \n \n cpu\n 999.999\n mhz\n \n \n mem-alloc\n 777.777\n kb\n \n \n\n", + "schema" : { + "$ref" : "#/components/schemas/custom-profile" + } + } + }, + "description" : "The custom profile definition", + "required" : true + }, "responses" : { "200" : { "content" : { "application/json" : { - "example" : "{\n \"groupBy\" : \"RESOURCE\",\n \"sortOrder\" : \"ASCENDING\",\n \"resourceStatGroups\" : [ {\n \"groupKey\" : \"4c87380f-f014-454b-beb1-8e1231fa914a\",\n \"resourceStats\" : [ ]\n }, {\n \"groupKey\" : \"6a4665b2-f51d-428f-be4e-2d793076bce1\",\n \"resourceStats\" : [ ]\n } ]\n}", + "example" : "No Custom Example is Available", "schema" : { - "$ref" : "#/components/schemas/ResourceStatGroupList" + "$ref" : "#/components/schemas/custom-profile" } }, "application/xml" : { - "example" : "\n\n RESOURCE\n ASCENDING\n \n \n 4c87380f-f014-454b-beb1-8e1231fa914a\n \n \n \n 6a4665b2-f51d-428f-be4e-2d793076bce1\n \n \n \n\n", + "example" : "No Custom Example is Available", "schema" : { - "$ref" : "#/components/schemas/ResourceStatGroupList" + "$ref" : "#/components/schemas/custom-profile" } } }, - "description" : "TopN data keyed by each Resource identifier" + "description" : "The updated custom profile" } }, - "summary" : "Get the Top-N stats data for one or more Resources and a set of StatKeys", + "summary" : "Modify an existing custom profile definition", "tags" : [ "Resources" ] } }, - "/api/resources/{id}" : { + "/api/resources/profiles/{profileId}" : { "delete" : { - "description" : "

      NOTE: Deletion of a Resource is not synchronous. As a result, the delete operation may not happen immediately. It is recommended to query back the system with the resource identifier and ensure that the system returns a 404 error.", - "operationId" : "deleteResource", + "description" : "Delete a custom profile", + "operationId" : "deleteCustomProfile", "parameters" : [ { - "description" : "The Resource identifier", + "description" : "The Identifier of the profile", "in" : "path", - "name" : "id", + "name" : "profileId", "required" : true, "schema" : { "type" : "string", @@ -19901,24 +20412,20 @@ } } ], "responses" : { - "204" : { - "description" : "The resource is deleted successfully" - }, - "404" : { - "description" : "The Resource being deleted is invalid/non-existent", - "x-vmw-compiler-skip" : true + "200" : { + "description" : "The custom profile is deleted successfully" } }, - "summary" : "Delete a Resource with the given identifier", - "tags" : [ "Resource" ] + "summary" : "Delete a custom profile", + "tags" : [ "Resources" ] }, "get" : { - "description" : "Get the Resource for the specified identifier", - "operationId" : "getResource", + "description" : "Get custom profile", + "operationId" : "getCustomProfile", "parameters" : [ { - "description" : "The Resource identifier", + "description" : "The Profile identifier", "in" : "path", - "name" : "id", + "name" : "profileId", "required" : true, "schema" : { "type" : "string", @@ -19929,644 +20436,587 @@ "200" : { "content" : { "application/json" : { - "example" : "{\n \"creationTime\" : 1753340199158,\n \"resourceKey\" : {\n \"name\" : \"VM1\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"VirtualMachine\",\n \"resourceIdentifiers\" : [ {\n \"identifierType\" : {\n \"name\" : \"VMEntityObjectID\",\n \"dataType\" : \"STRING\",\n \"isPartOfUniqueness\" : true\n },\n \"value\" : \"vm-123\"\n }, {\n \"identifierType\" : {\n \"name\" : \"VMEntityVCID\",\n \"dataType\" : \"STRING\",\n \"isPartOfUniqueness\" : true\n },\n \"value\" : \"CBAD174A-622E-4650-805A-064F824FFA76\"\n }, {\n \"identifierType\" : {\n \"name\" : \"VMEntityName\",\n \"dataType\" : \"STRING\",\n \"isPartOfUniqueness\" : true\n },\n \"value\" : \"VM1\"\n } ]\n },\n \"credentialInstanceId\" : \"51f8f60d-4a39-4839-9924-698d022e2e10\",\n \"resourceStatusStates\" : [ ],\n \"dtEnabled\" : true,\n \"badges\" : [ ],\n \"relatedResources\" : [ ],\n \"identifier\" : \"9a9cf74d-b1d0-4b24-9340-67a4625d8755\"\n}", + "example" : "{\n \"id\" : \"3cd92d5b-e4ba-4aa9-a7bf-4fb703a9a1ba\",\n \"name\" : \"Sample Custom Profile\",\n \"description\" : \"Description of Custom Profile\",\n \"objectType\" : {\n \"adapterKind\" : \"VMWARE\",\n \"resourceKind\" : \"VirtualMachine\"\n },\n \"custom-profile-metrics\" : [ {\n \"metric\" : \"cpu\",\n \"value\" : 100.0,\n \"unit\" : \"mhz\"\n }, {\n \"metric\" : \"mem-alloc\",\n \"value\" : 10000.0,\n \"unit\" : \"kb\"\n } ]\n}", "schema" : { - "$ref" : "#/components/schemas/resource" + "$ref" : "#/components/schemas/custom-profile" } }, "application/xml" : { - "example" : "\n\n \n VM1\n VMWARE\n VirtualMachine\n \n \n \n vm-123\n \n \n \n CBAD174A-622E-4650-805A-064F824FFA76\n \n \n \n VM1\n \n \n \n 51f8f60d-4a39-4839-9924-698d022e2e10\n \n true\n \n \n\n", + "example" : "\n\n Sample Custom Profile\n Description of Custom Profile\n \n VMWARE\n VirtualMachine\n \n \n \n cpu\n 100.0\n mhz\n \n \n mem-alloc\n 10000.0\n kb\n \n \n\n", "schema" : { - "$ref" : "#/components/schemas/resource" + "$ref" : "#/components/schemas/custom-profile" } } }, - "description" : "The Resource for the specified UUID" + "description" : "The custom profile with sought identifier" } }, - "summary" : "Get the Resource for the specified identifier", - "tags" : [ "Resource" ] + "summary" : "Get custom profile", + "tags" : [ "Resources" ] } }, - "/api/resources/{id}/geolocation" : { - "put" : { - "description" : "Update the geographical location of the Resource", - "operationId" : "updateGeoLocationOfResource", + "/api/resources/properties" : { + "get" : { + "description" : "Get all the Properties and their current (latest) values for the specified Resources", + "operationId" : "getResourcePropertiesList", "parameters" : [ { - "description" : "The Resource identifier", - "in" : "path", - "name" : "id", - "required" : true, - "schema" : { - "type" : "string", - "format" : "uuid" - } - }, { - "description" : "The latitude of the location", - "in" : "query", - "name" : "latitude", - "required" : true, - "schema" : { - "type" : "number", - "format" : "double" - } - }, { - "description" : "The longitude of the location", + "description" : "The Collection of the Resource Identifiers", "in" : "query", - "name" : "longitude", + "name" : "resourceId", "required" : true, "schema" : { - "type" : "number", - "format" : "double" + "type" : "array", + "items" : { + "type" : "string", + "format" : "uuid" + } } } ], "responses" : { "200" : { - "description" : "The geolocation is updated successfully" + "content" : { + "application/json" : { + "example" : "{\n \"resourcePropertiesList\" : [ {\n \"resourceId\" : \"e79be9bf-85d1-48d4-b0b3-4e8c621e8d10\",\n \"property\" : [ {\n \"name\" : \"Key1\",\n \"value\" : \"Value1\"\n } ]\n }, {\n \"resourceId\" : \"e79be9bf-85d1-48d4-b0b3-4e8c621e8d10\",\n \"property\" : [ {\n \"name\" : \"Key1\",\n \"value\" : \"Value1\"\n } ]\n } ]\n}", + "schema" : { + "$ref" : "#/components/schemas/resource-properties" + } + }, + "application/xml" : { + "example" : "\n\n \n Value1\n \n \n Value1\n \n\n", + "schema" : { + "$ref" : "#/components/schemas/resource-properties" + } + } + }, + "description" : "The Resources, their Properties and current values" } }, - "summary" : "Update the geographical location of the Resource", - "tags" : [ "Resource" ] - } - }, - "/api/resources/{id}/maintained" : { - "delete" : { - "description" : "Bring the Resource out of Maintenance manually", - "operationId" : "unmarkResourceAsBeingMaintained", - "parameters" : [ { - "description" : "The Resource identifier", - "in" : "path", - "name" : "id", - "required" : true, - "schema" : { - "type" : "string", - "format" : "uuid" - } - } ], - "responses" : { - "200" : { - "description" : "The resource is brought out from maintenance successfully" - } - }, - "summary" : "Bring the Resource out of Maintenance manually", - "tags" : [ "Resource" ] + "summary" : "Get all the Properties and their current (latest) values for the specified Resources", + "tags" : [ "Resources" ] }, - "put" : { - "description" : "The Resource can end up in two maintenance states - MAINTAINED OR MAINTAINED_MANUAL -
      depending upon the inputs specified.


      • If duration/end time is specified, the resource will be placed in MAINTAINED
        state and after the duration/end time expires, the resource state is automatically set to the state
        it was in before entering the maintenance window.
      • If duration/end time is not specified, the resource will be placed in MAINTAINED_MANUAL state.
        Callers have to execute DELETE /suite-api/api/resources/{id}/maintained API to set the Resource
        back to whatever state it was in.
      • If both duration and end time are specified, end time takes preference over duration.
      ", - "operationId" : "markResourceAsBeingMaintained", - "parameters" : [ { - "description" : "The Resource identifier", - "in" : "path", - "name" : "id", - "required" : true, - "schema" : { - "type" : "string", - "format" : "uuid" - } - }, { - "description" : "Duration for which this resource will be in maintenance (In Minutes)", - "in" : "query", - "name" : "duration", - "required" : false, - "schema" : { - "type" : "integer", - "format" : "int32" - } - }, { - "description" : "End time of the maintenance window as a long value (Epoch time)", - "in" : "query", - "name" : "end", - "required" : false, - "schema" : { - "type" : "integer", - "format" : "int64" - } - } ], + "post" : { + "description" : "In this case, the adapter instance used for pushing data will default to vRealizeOpsMgrAPI.
      It is recommended (though not required) to use this API when the resources were created using the API
      POST /api/resources/{id}/adapters/{adapterInstanceId}. Otherwise an additional
      adapter instance might be created.", + "operationId" : "addResourcesProperties", + "requestBody" : { + "content" : { + "application/json" : { + "example" : "{\n \"values\" : [ {\n \"resourceId\" : \"867b729c-438d-42d6-9fc8-15e73187a4c1\",\n \"property-contents\" : {\n \"property-content\" : [ {\n \"statKey\" : \"system|availability\",\n \"timestamps\" : [ 1119844280663 ],\n \"values\" : [ \"UP\" ]\n }, {\n \"statKey\" : \"config|num|processes\",\n \"timestamps\" : [ 1119844280663 ],\n \"data\" : [ 93.0 ]\n } ]\n }\n }, {\n \"resourceId\" : \"a0239c3d-e71c-407b-a8a1-67016b5004d3\",\n \"property-contents\" : {\n \"property-content\" : [ {\n \"statKey\" : \"system|availability\",\n \"timestamps\" : [ 1119844280663 ],\n \"values\" : [ \"UP\" ]\n }, {\n \"statKey\" : \"config|num|processes\",\n \"timestamps\" : [ 1119844280663 ],\n \"data\" : [ 93.0 ]\n } ]\n }\n } ]\n}", + "schema" : { + "$ref" : "#/components/schemas/resources-property-contents" + } + }, + "application/xml" : { + "example" : "\n\n \n 867b729c-438d-42d6-9fc8-15e73187a4c1\n \n \n 1119844280663\n UP\n \n \n 1119844280663\n 93.0\n \n \n \n \n a0239c3d-e71c-407b-a8a1-67016b5004d3\n \n \n 1119844280663\n UP\n \n \n 1119844280663\n 93.0\n \n \n \n\n", + "schema" : { + "$ref" : "#/components/schemas/resources-property-contents" + } + } + }, + "description" : "The properties for the Resources", + "required" : true + }, "responses" : { "200" : { - "description" : "The resource is put in maintenance successfully" + "description" : "The properties are added successfully" } }, - "summary" : "Put the specific Resource in Maintenance", - "tags" : [ "Resource" ] + "summary" : "Add Properties to Resources", + "tags" : [ "Resources" ] } }, - "/api/resources/{id}/monitoringstate/start" : { - "put" : { - "deprecated" : true, - "description" : "The optional query parameter adapterId determines which of the Adapters need to be informed to start monitoring the Resource. If this is not specified, then all of the Adapters will start monitoring the Resource.", - "operationId" : "startMonitoringResource", + "/api/resources/properties/adapterkinds/{adapterKind}" : { + "post" : { + "description" : "If the adapter kind specified is not present in the system, it will be created dynamically.
      However if the adapter kind specified already exists, then it must be of OPENAPI adapter kind type.", + "operationId" : "addResourcesPropertiesUsingAdapterKind", "parameters" : [ { - "description" : "The Resource identifier", + "description" : "The Adapter Kind key of the adapter instance that will push the properties", "in" : "path", - "name" : "id", + "name" : "adapterKind", "required" : true, "schema" : { - "type" : "string", - "format" : "uuid" - } - }, { - "description" : "Collection of adapter instance identifiers that should start monitoring this Resource", - "in" : "query", - "name" : "adapterId", - "required" : false, - "schema" : { - "type" : "array", - "items" : { - "type" : "string", - "format" : "uuid" - } + "type" : "string" } } ], + "requestBody" : { + "content" : { + "application/json" : { + "example" : "{\n \"values\" : [ {\n \"resourceId\" : \"867b729c-438d-42d6-9fc8-15e73187a4c1\",\n \"property-contents\" : {\n \"property-content\" : [ {\n \"statKey\" : \"system|availability\",\n \"timestamps\" : [ 1119844280663 ],\n \"values\" : [ \"UP\" ]\n }, {\n \"statKey\" : \"config|num|processes\",\n \"timestamps\" : [ 1119844280663 ],\n \"data\" : [ 93.0 ]\n } ]\n }\n }, {\n \"resourceId\" : \"a0239c3d-e71c-407b-a8a1-67016b5004d3\",\n \"property-contents\" : {\n \"property-content\" : [ {\n \"statKey\" : \"system|availability\",\n \"timestamps\" : [ 1119844280663 ],\n \"values\" : [ \"UP\" ]\n }, {\n \"statKey\" : \"config|num|processes\",\n \"timestamps\" : [ 1119844280663 ],\n \"data\" : [ 93.0 ]\n } ]\n }\n } ]\n}", + "schema" : { + "$ref" : "#/components/schemas/resources-property-contents" + } + }, + "application/xml" : { + "example" : "\n\n \n 867b729c-438d-42d6-9fc8-15e73187a4c1\n \n \n 1119844280663\n UP\n \n \n 1119844280663\n 93.0\n \n \n \n \n a0239c3d-e71c-407b-a8a1-67016b5004d3\n \n \n 1119844280663\n UP\n \n \n 1119844280663\n 93.0\n \n \n \n\n", + "schema" : { + "$ref" : "#/components/schemas/resources-property-contents" + } + } + }, + "description" : "The properties for the Resources", + "required" : true + }, "responses" : { "200" : { - "description" : "The resource monitoring is started successfully" + "description" : "The properties are added successfully" } }, - "summary" : "Inform one or more or all Adapters to start monitoring this Resource. Note: Start isn't supported on per resource bases any more.", - "tags" : [ "Resource" ] + "summary" : "Add Properties to Resources Using Adapter Kind", + "tags" : [ "Resources" ] } }, - "/api/resources/{id}/monitoringstate/stop" : { - "put" : { - "deprecated" : true, - "description" : "The optional query parameter adapterId determines which of the Adapters need to be informed to stop monitoring the Resource. If this is not specified, then all of the Adapters will stop monitoring the Resource.", - "operationId" : "stopMonitoringResource", - "parameters" : [ { - "description" : "The Resource identifier", - "in" : "path", - "name" : "id", - "required" : true, - "schema" : { - "type" : "string", - "format" : "uuid" - } - }, { - "description" : "Collection of adapter instance identifiers that should stop monitoring this Resource", - "in" : "query", - "name" : "adapterId", - "required" : false, - "schema" : { - "type" : "array", - "items" : { - "type" : "string", - "format" : "uuid" + "/api/resources/properties/latest/query" : { + "post" : { + "description" : "Get current (latest) values of requested properties for the specified resources", + "operationId" : "queryLatestPropertiesOfResources", + "requestBody" : { + "content" : { + "application/json" : { + "example" : "{\n \"resourceIds\" : [ \"2ee0f2fe-9a42-47bb-877e-81d79e0384a7\", \"03166775-6fbc-401a-88c1-93479d59e875\" ],\n \"propertyKeys\" : [ \"prop|key1\", \"prop|key2\" ],\n \"instanced\" : false\n}", + "schema" : { + "$ref" : "#/components/schemas/properties-query" + } + }, + "application/xml" : { + "example" : "\n\n 2ee0f2fe-9a42-47bb-877e-81d79e0384a7 03166775-6fbc-401a-88c1-93479d59e875\n prop|key1 prop|key2\n false\n\n", + "schema" : { + "$ref" : "#/components/schemas/properties-query" + } } - } - } ], - "responses" : { - "200" : { - "description" : "The resource monitoring is stopped successfully" - } + }, + "description" : "The query spec", + "required" : true }, - "summary" : "Inform one or more or all Adapters to stop monitoring this Resource. Note: Stop isn't supported on per resource bases any more.", - "tags" : [ "Resource" ] - } - }, - "/api/resources/{id}/properties" : { - "get" : { - "description" : "Get all the properties for the specified Resource", - "operationId" : "getResourceProperties", - "parameters" : [ { - "description" : "The ID of the resource", - "in" : "path", - "name" : "id", - "required" : true, - "schema" : { - "type" : "string", - "format" : "uuid" - } - } ], "responses" : { "200" : { "content" : { "application/json" : { - "example" : "{\n \"resourceId\" : \"e79be9bf-85d1-48d4-b0b3-4e8c621e8d10\",\n \"property\" : [ {\n \"name\" : \"Key1\",\n \"value\" : \"Value1\"\n } ]\n}", + "example" : "{\n \"values\" : [ {\n \"resourceId\" : \"19a034f7-20d1-4721-9d7f-fa19f5883718\",\n \"property-contents\" : {\n \"property-content\" : [ {\n \"statKey\" : \"system|availability\",\n \"timestamps\" : [ 1119844280663 ],\n \"values\" : [ \"UP\" ]\n }, {\n \"statKey\" : \"config|num|processes\",\n \"timestamps\" : [ 1119844280663 ],\n \"data\" : [ 93.0 ]\n } ]\n }\n }, {\n \"resourceId\" : \"19a034f7-20d1-4721-9d7f-fa19f5883718\",\n \"property-contents\" : {\n \"property-content\" : [ {\n \"statKey\" : \"system|availability\",\n \"timestamps\" : [ 1119844280663 ],\n \"values\" : [ \"UP\" ]\n }, {\n \"statKey\" : \"config|num|processes\",\n \"timestamps\" : [ 1119844280663 ],\n \"data\" : [ 93.0 ]\n } ]\n }\n } ]\n}", "schema" : { - "$ref" : "#/components/schemas/resource-property" + "$ref" : "#/components/schemas/resources-property-contents" } }, "application/xml" : { - "example" : "\n\n Value1\n\n", + "example" : "\n\n \n 19a034f7-20d1-4721-9d7f-fa19f5883718\n \n \n 1119844280663\n UP\n \n \n 1119844280663\n 93.0\n \n \n \n \n 19a034f7-20d1-4721-9d7f-fa19f5883718\n \n \n 1119844280663\n UP\n \n \n 1119844280663\n 93.0\n \n \n \n\n", "schema" : { - "$ref" : "#/components/schemas/resource-property" + "$ref" : "#/components/schemas/resources-property-contents" } } }, - "description" : "The ResourceProperties object that has the current values of all the Properties for the Resource" + "description" : "The mapping from requested resources to current (latest) values of specified properties" } }, - "summary" : "Get all the properties for the specified Resource", - "tags" : [ "Resource" ] - }, + "summary" : "Get current (latest) values of requested properties for the specified resources", + "tags" : [ "Resources" ] + } + }, + "/api/resources/query" : { "post" : { - "description" : "In this case, the adapter instance used for pushing data will default to SuiteAPI. It is recommended (though not required) to use this API when the resource was created using the API
      POST /api/resources/{id}/adapters/{adapterInstanceId}. Otherwise an additional adapter instance might be created.
      Note: Those properties that are specified with old timestamp will be published with current time. As a result, only one of those properties will appear in vROps (e.g. the latest one will overwrite all previous ones).", - "operationId" : "addProperties", + "description" : "Gets a listing of resources based on the query spec specified.
      NOTE: The operator field in statConditions/propertyConditions can only have one of the following values: EXISTS, NOT_EXISTS, GT_EQ, GT, LT_EQ, LT, EQ, NOT_EQ, CONTAINS, NOT_CONTAINS", + "operationId" : "getMatchingResources", "parameters" : [ { - "description" : "The ID of the resource", - "in" : "path", - "name" : "id", - "required" : true, + "description" : "Page number from which data needs to be displayed (0-based)", + "in" : "query", + "name" : "page", "schema" : { - "type" : "string", - "format" : "uuid" + "type" : "integer", + "format" : "int32", + "default" : 0 + } + }, { + "description" : "Expected number of entries per page", + "in" : "query", + "name" : "pageSize", + "schema" : { + "type" : "integer", + "format" : "int32", + "default" : 1000 } } ], "requestBody" : { "content" : { "application/json" : { - "example" : "{\n \"property-content\" : [ {\n \"statKey\" : \"system|availability\",\n \"timestamps\" : [ 1119844280663 ],\n \"values\" : [ \"UP\" ]\n }, {\n \"statKey\" : \"config|num|processes\",\n \"timestamps\" : [ 1119844280663 ],\n \"data\" : [ 93.0 ]\n } ]\n}", + "example" : "{\n \"name\" : [ \"VMware Cloud Foundation Operations Node-VMware Cloud Foundation Cluster Node\" ],\n \"adapterKind\" : [ \"VMWARE\" ],\n \"resourceKind\" : [ \"ResourcePool\" ],\n \"collectorName\" : [ \"local_collector\" ],\n \"collectorId\" : [ 1 ],\n \"maintenanceScheduleId\" : [ \"7671e2ea-3589-4079-84e2-c34f92da36a9\" ],\n \"adapterInstanceId\" : [ \"34e5920e-b2c1-4ada-969b-082044dfe2ff\" ],\n \"resourceState\" : [ \"STARTED\" ],\n \"resourceStatus\" : [ \"DATA_RECEIVING\" ],\n \"credentialId\" : [ \"201725f4-c9c3-47ab-a544-7de32453b77d\" ],\n \"resourceId\" : [ \"8a5764f5-8ace-402f-bef3-b194733da68c\" ],\n \"statKeyInclusive\" : true,\n \"propertyConditions\" : {\n \"conjunctionOperator\" : \"OR\",\n \"conditions\" : [ {\n \"key\" : \"property_name\",\n \"operator\" : \"EQ\",\n \"stringValue\" : \"property_value\"\n } ]\n },\n \"statConditions\" : {\n \"conjunctionOperator\" : \"OR\",\n \"conditions\" : [ {\n \"key\" : \"stat|key1\",\n \"operator\" : \"LT_EQ\",\n \"doubleValue\" : 1.0\n } ]\n },\n \"resourceTag\" : [ {\n \"category\" : \"category_name\",\n \"name\" : \"tag_name\"\n } ]\n}", "schema" : { - "$ref" : "#/components/schemas/property-contents" + "$ref" : "#/components/schemas/resource-query" } }, "application/xml" : { - "example" : "\n\n \n 1119844280663\n UP\n \n \n 1119844280663\n 93.0\n \n\n", + "example" : "\n\n VMware Cloud Foundation Operations Node-VMware Cloud Foundation Cluster Node\n VMWARE\n ResourcePool\n local_collector\n 1\n 7671e2ea-3589-4079-84e2-c34f92da36a9\n 34e5920e-b2c1-4ada-969b-082044dfe2ff\n STARTED\n DATA_RECEIVING\n 201725f4-c9c3-47ab-a544-7de32453b77d\n 8a5764f5-8ace-402f-bef3-b194733da68c\n true\n \n \n \n property_value\n \n \n \n \n \n \n 1.0\n \n \n \n \n\n", "schema" : { - "$ref" : "#/components/schemas/property-contents" + "$ref" : "#/components/schemas/resource-query" } } }, - "description" : "The properties for the Resource", + "description" : "Query spec that encapsulates various filtering criteria for looking up Resources", "required" : true }, "responses" : { "200" : { - "description" : "The properties are added successfully" - } - }, - "summary" : "Add Properties to a Resource", - "tags" : [ "Resource" ] - } - }, - "/api/resources/{id}/properties/adapterkinds/{adapterKind}" : { - "post" : { - "description" : "If the adapter kind specified is not present in the system, it will be created dynamically. However if the adapter kind specified already exists, then it must be of OPENAPI adapter kind type.", - "operationId" : "addPropertiesUsingPushAdapterKind", - "parameters" : [ { - "description" : "The Adapter Kind key of the adapter instance that will push the properties", - "in" : "path", - "name" : "adapterKind", - "required" : true, - "schema" : { - "type" : "string" - } - }, { - "description" : "The ID of the resource", - "in" : "path", - "name" : "id", - "required" : true, - "schema" : { - "type" : "string", - "format" : "uuid" - } - } ], - "requestBody" : { - "content" : { - "application/json" : { - "example" : "{\n \"property-content\" : [ {\n \"statKey\" : \"system|availability\",\n \"timestamps\" : [ 1119844280663 ],\n \"values\" : [ \"UP\" ]\n }, {\n \"statKey\" : \"config|num|processes\",\n \"timestamps\" : [ 1119844280663 ],\n \"data\" : [ 93.0 ]\n } ]\n}", - "schema" : { - "$ref" : "#/components/schemas/property-contents" + "content" : { + "application/json" : { + "example" : "No Custom Example is Available", + "schema" : { + "$ref" : "#/components/schemas/resources" + } + }, + "application/xml" : { + "example" : "No Custom Example is Available", + "schema" : { + "$ref" : "#/components/schemas/resources" + } } }, - "application/xml" : { - "example" : "\n\n \n 1119844280663\n UP\n \n \n 1119844280663\n 93.0\n \n\n", - "schema" : { - "$ref" : "#/components/schemas/property-contents" - } - } - }, - "description" : "The properties for the Resource", - "required" : true - }, - "responses" : { - "200" : { - "description" : "The properties are added successfully" + "description" : "The Collection of Resources matching the specified query parameters" } }, - "summary" : "Add Properties to a Resource along with associating an adapter instance of the specified adapter kind as the source of data", - "tags" : [ "Resource" ] + "summary" : "Gets a listing of resources based on the query spec specified", + "tags" : [ "Resources" ] } }, - "/api/resources/{id}/relationships" : { + "/api/resources/statkeys" : { "get" : { - "description" : "If the optional query parameter 'relationshipType' is specified, relations of that particular Relationship Type are returned.
      Few sample URLs are shown below.
      /api/resources/{resourceId}/relationships?relationshipType=CHILD
      /api/resources/{resourceId}/relationships?relationshipType=PARENT", - "operationId" : "getRelationships", + "description" : "Sample URI:
      /api/resources/statkeys?resourceId=UUID1", + "operationId" : "getStatKeysOfResources", "parameters" : [ { - "description" : "The UUID of the resource to set the relationships for", - "in" : "path", - "name" : "id", + "description" : "The identifiers of the Resources", + "in" : "query", + "name" : "resourceId", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { - "description" : "The type of relationship of the objects; Uses the RelationshipType.representation value", + "description" : "An optional wildcard search string that allows
      user to refine the list of returned Stat Key details by
      key name. Usage is similar to a LIKE \"%searchstring%\"", "in" : "query", - "name" : "relationshipType", + "name" : "searchstring", "required" : false, "schema" : { - "type" : "string", - "enum" : [ "PARENT", "CHILD", "ALL" ] - } - }, { - "description" : "Page number from which data needs to be displayed (0-based)", - "in" : "query", - "name" : "page", - "schema" : { - "type" : "integer", - "format" : "int32", - "default" : 0 - } - }, { - "description" : "Expected number of entries per page", - "in" : "query", - "name" : "pageSize", - "schema" : { - "type" : "integer", - "format" : "int32", - "default" : 1000 + "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { - "example" : "{\n \"relationshipType\" : \"ALL\",\n \"resourceList\" : [ {\n \"description\" : \"Some Virtual Machine\",\n \"creationTime\" : 10202319,\n \"resourceKey\" : {\n \"name\" : \"Cloud-VM\",\n \"resourceIdentifiers\" : [ ]\n },\n \"resourceStatusStates\" : [ ],\n \"dtEnabled\" : true,\n \"badges\" : [ ],\n \"relatedResources\" : [ ],\n \"identifier\" : \"cc78adce-b771-4da8-992c-c633a3e74cbe\"\n }, {\n \"description\" : \"Some NFS\",\n \"creationTime\" : 10202330,\n \"resourceKey\" : {\n \"name\" : \"NFS-Datastore\",\n \"resourceIdentifiers\" : [ ]\n },\n \"resourceStatusStates\" : [ ],\n \"dtEnabled\" : true,\n \"badges\" : [ ],\n \"relatedResources\" : [ ],\n \"identifier\" : \"96625cb5-7963-4d15-a40f-aeb44b455747\"\n } ]\n}", + "example" : "{\n \"stat-key\" : [ {\n \"key\" : \"cpu|demand\"\n }, {\n \"key\" : \"cpu|usage\"\n } ]\n}", "schema" : { - "$ref" : "#/components/schemas/resource-relation" + "$ref" : "#/components/schemas/stat-keys" } }, "application/xml" : { - "example" : "\n\n ALL\n \n Some Virtual Machine\n \n Cloud-VM\n \n \n \n true\n \n \n \n \n Some NFS\n \n NFS-Datastore\n \n \n \n true\n \n \n \n\n", + "example" : "\n\n \n cpu|demand\n \n \n cpu|usage\n \n\n", "schema" : { - "$ref" : "#/components/schemas/resource-relation" + "$ref" : "#/components/schemas/stat-keys" } } }, - "description" : "All the related resources" + "description" : "Collection of StatKey objects available for the Resources" } }, - "summary" : "Get ALL the related resources of a particular Relationship Type for a Resource", - "tags" : [ "Resource" ] + "summary" : "Get all the available stat keys and their details for the specified resource", + "tags" : [ "Resources" ] } }, - "/api/resources/{id}/relationships/{relationshipType}" : { + "/api/resources/stats" : { "get" : { - "description" : "The URL path variable 'relationshipType' uses the RelationshipType.representation value.
      Few sample URLs are shown below.
      /api/resources/{resourceId}/relationships/children
      /api/resources/{resourceId}/relationships/parents
      ", - "operationId" : "getRelationship", + "description" : "This is a GET endpoint and the query parameters control the data that is retrieved.
      If the number of Resources for which one needs to query data is large, it is recommended to
      use the POST /api/stats/query endpoint to avoid the URL length limitations.
      Takes the form:
      api/resources/stats?resourceId=UUID1 OR
      api/resources/stats?resourceId=UUID2&statKey=cpu|usagemhz&rollUpType=&begin=&end=", + "operationId" : "getStatsOfResources", "parameters" : [ { - "description" : "The UUID of the resource to set the relationships for", - "in" : "path", - "name" : "id", - "required" : true, + "description" : "Array of Resource ids for which the stats should be fetched", + "in" : "query", + "name" : "resourceId", + "required" : false, + "schema" : { + "type" : "array", + "items" : { + "type" : "string", + "format" : "uuid" + } + } + }, { + "description" : "Array of stat keys for which the stats should be returned", + "in" : "query", + "name" : "statKey", + "required" : false, + "schema" : { + "type" : "array", + "items" : { + "type" : "string" + } + } + }, { + "description" : "The beginning date as a long value of the range of stats to return
      Value measures the number of milliseconds since January 1, 1970 00:00:00 UTC
      NOTE: If not provided, 24 hour rearward of ending date is used", + "in" : "query", + "name" : "begin", + "required" : false, + "schema" : { + "type" : "integer", + "format" : "int64", + "description" : "The beginning date as a long value of the range of stats to return
      Value measures the number of milliseconds since January 1, 1970 00:00:00 UTC
      NOTE: If not provided, 24 hour rearward of ending date is used" + } + }, { + "description" : "The ending date as a long value of the range of stats to return
      Long value is number of milliseconds since January 1, 1970 00:00:00 UTC
      NOTE: The ending date must not be less than the beginning date.
      If not provided, current time as UTC milliseconds is used", + "in" : "query", + "name" : "end", + "required" : false, + "schema" : { + "type" : "integer", + "format" : "int64", + "description" : "The ending date as a long value of the range of stats to return
      Long value is number of milliseconds since January 1, 1970 00:00:00 UTC
      NOTE: The ending date must not be less than the beginning date.
      If not provided, current time as UTC milliseconds is used" + } + }, { + "description" : "Rollup Type requested by the user (e.g.: AVG, MIN, MAX etc.)", + "in" : "query", + "name" : "rollUpType", + "required" : false, "schema" : { "type" : "string", - "format" : "uuid" + "description" : "Represents the type of Rollup required for the stats data", + "enum" : [ "SUM", "AVG", "MIN", "MAX", "NONE", "LATEST", "COUNT" ] } }, { - "description" : "The type of relationship of the objects; Uses the RelationshipType.representation value", - "in" : "path", - "name" : "relationshipType", - "required" : true, + "description" : "Interval type requested by the user (e.g: Days, Weeks, Months etc.)", + "in" : "query", + "name" : "intervalType", + "required" : false, "schema" : { "type" : "string", - "enum" : [ "PARENT", "CHILD", "ALL" ] + "description" : "The Interval types", + "enum" : [ "HOURS", "MINUTES", "SECONDS", "DAYS", "WEEKS", "MONTHS", "YEARS" ] } }, { - "description" : "Page number from which data needs to be displayed (0-based)", + "description" : "Number for the interval type", "in" : "query", - "name" : "page", + "name" : "intervalQuantifier", + "required" : false, "schema" : { "type" : "integer", "format" : "int32", - "default" : 0 + "description" : "Number for the interval type", + "minimum" : 1 } }, { - "description" : "Expected number of entries per page", + "description" : "Indicates that the requested stats are based on some dynamic threshold.
      Defaults to false which indicates that stats are not based on dynamic threshold.", "in" : "query", - "name" : "pageSize", + "name" : "dt", + "required" : false, + "schema" : { + "type" : "boolean", + "description" : "Indicates that the requested stats are based on some dynamic threshold.
      Defaults to false which indicates that stats are not based on dynamic threshold." + } + }, { + "description" : "The maximum number of samples to return when querying latest.
      When processing the get latest stats query if it is omitted a value of 1 is assumed.
      A query for the latest samples is not compatible with specifying the RollUpType value.", + "in" : "query", + "name" : "latestMaxSamples", + "required" : false, "schema" : { "type" : "integer", "format" : "int32", - "default" : 1000 + "description" : "The maximum number of samples to return when querying latest.
      When processing the get latest stats query if it is omitted a value of 1 is assumed.
      A query for the latest samples is not compatible with specifying the RollUpType value." + } + }, { + "description" : "Indicates whether specified statKey-s of query should be forcibly treated as metrics (does not include instanced stats)", + "in" : "query", + "name" : "metrics", + "required" : false, + "schema" : { + "type" : "boolean", + "description" : "Indicates whether specified statKey-s of query should be forcibly treated as metrics (does not include instanced stats)" + } + }, { + "description" : "Indicates whether to report only \"current\" stat values, i.e. skip the stat-s that haven't published any value
      during recent collection cycles.", + "in" : "query", + "name" : "currentOnly", + "required" : false, + "schema" : { + "type" : "boolean", + "description" : "Indicates whether to report only \"current\" stat values, i.e. skip the stat-s that haven't published any value
      during recent collection cycles." + } + }, { + "description" : "Indicates whether stat values should be wrapped for application/xml response content type.
      This flag is false by default and not needed for application/json response.
      If set to true \"statValues\" will be returned instead of \"values\" for all content types.", + "in" : "query", + "name" : "wrapStatValues", + "required" : false, + "schema" : { + "type" : "boolean", + "description" : "Indicates whether stat values should be wrapped for application/xml response content type.
      This flag is false by default and not needed for application/json response.
      If set to true \"statValues\" will be returned instead of \"values\" for all content types." } } ], "responses" : { "200" : { "content" : { "application/json" : { - "example" : "{\n \"relationshipType\" : \"CHILD\",\n \"resourceList\" : [ {\n \"creationTime\" : 1753426400609,\n \"resourceKey\" : {\n \"name\" : \"VM1\",\n \"resourceIdentifiers\" : [ ]\n },\n \"credentialInstanceId\" : \"51f8f60d-4a39-4839-9924-698d022e2e10\",\n \"resourceStatusStates\" : [ ],\n \"dtEnabled\" : true,\n \"badges\" : [ ],\n \"relatedResources\" : [ ],\n \"identifier\" : \"19464db6-8d2e-48e9-a682-642b388d453b\"\n }, {\n \"creationTime\" : 1753426411121,\n \"resourceKey\" : {\n \"name\" : \"VM2\",\n \"resourceIdentifiers\" : [ ]\n },\n \"credentialInstanceId\" : \"b1f8f60d-4a39-9348-9924-068d022e2b00\",\n \"resourceStatusStates\" : [ ],\n \"dtEnabled\" : true,\n \"badges\" : [ ],\n \"relatedResources\" : [ ],\n \"identifier\" : \"076e9396-3dfe-4cea-90ed-f0da719e3c15\"\n } ]\n}", + "example" : "No Custom Example is Available", "schema" : { - "$ref" : "#/components/schemas/resource-relation" + "$ref" : "#/components/schemas/stats-of-resources" } }, "application/xml" : { - "example" : "\n\n CHILD\n \n \n VM1\n \n \n 51f8f60d-4a39-4839-9924-698d022e2e10\n \n true\n \n \n \n \n \n VM2\n \n \n b1f8f60d-4a39-9348-9924-068d022e2b00\n \n true\n \n \n \n\n", + "example" : "No Custom Example is Available", "schema" : { - "$ref" : "#/components/schemas/resource-relation" + "$ref" : "#/components/schemas/stats-of-resources" + } + }, + "text/csv" : { + "example" : "No Custom Example is Available", + "schema" : { + "$ref" : "#/components/schemas/stats-of-resources" } } }, - "description" : "All the related resources" + "description" : "The object containing a map of list of stat objects keyed by each Resource identifier" } }, - "summary" : "Get the related resources of a particular Relationship Type for a Resource", - "tags" : [ "Resource" ] + "summary" : "Get stats for one or more Resources using the specific query spec", + "tags" : [ "Resources" ] }, "post" : { - "description" : "

      • If at least a few of the Resource that are part of relatedIds list
        are valid resources then the operation is performed.

      • If there are few Resource that are part of relatedIds list
        that will result in a cyclical relationship, then those resources will be skipped.

      NOTE: Adding relationship is not synchronous. As a
      result, the add operation may not happen immediately. It is recommended
      to query the relationships of the specific Resource back to ensure that the
      operation was indeed successful.

      ", - "operationId" : "addRelationship", + "description" : "In this case, the adapter instance used for pushing data will default to vRealizeOpsMgrAPI.
      It is recommended (though not required) to use this API when the resources were created using the API
      POST /api/resources/{id}/adapters/{adapterInstanceId}. Otherwise an additional
      adapter instance might be created.", + "operationId" : "addStatsForResources", "parameters" : [ { - "description" : "The UUID of the source resource", - "in" : "path", - "name" : "id", - "required" : true, - "schema" : { - "type" : "string", - "format" : "uuid" - } - }, { - "description" : "The type of relationship of the objects; Uses the RelationshipType.representation value", - "in" : "path", - "name" : "relationshipType", - "required" : true, + "description" : "Whether the current data set
      goes through Analytics processing (Threshold checking, Alert generation) or not.
      Defaults to false. But when set to true will result in no evaluation of Alerts
      but the data gets stored", + "in" : "query", + "name" : "disableAnalyticsProcessing", + "required" : false, "schema" : { - "type" : "string", - "enum" : [ "parents", "children" ] + "type" : "boolean", + "default" : false } } ], "requestBody" : { "content" : { "application/json" : { - "example" : "{\n \"uuids\" : [ \"df6de846-0e97-408d-bcff-be0026eba68a\", \"b3a3b7ef-7871-4238-86f4-3a5f10294450\" ]\n}", + "example" : "{\n \"resource-stat-content\" : [ {\n \"id\" : \"560cd627-ac88-4216-a83d-1aea2437a87b\",\n \"stat-contents\" : [ {\n \"statKey\" : \"cpu|demandGhz\",\n \"timestamps\" : [ 1119844280663, 1119844280693, 1119844280713 ],\n \"data\" : [ 0.2, 0.3, 0.4 ]\n }, {\n \"statKey\" : \"mem|overload\",\n \"timestamps\" : [ 1119844280663, 1119844280693, 1119844280713, 1119844280718 ],\n \"data\" : [ 93.0, 95.0, 97.0, 99.0 ]\n } ]\n }, {\n \"id\" : \"7390e068-d659-426d-8d22-467f9012b8d6\",\n \"stat-contents\" : [ {\n \"statKey\" : \"cpu|demandGhz\",\n \"timestamps\" : [ 1119844280663, 1119844280693, 1119844280713 ],\n \"data\" : [ 0.2, 0.3, 0.4 ]\n }, {\n \"statKey\" : \"mem|overload\",\n \"timestamps\" : [ 1119844280663, 1119844280693, 1119844280713, 1119844280718 ],\n \"data\" : [ 93.0, 95.0, 97.0, 99.0 ]\n } ]\n } ]\n}", "schema" : { - "$ref" : "#/components/schemas/uuid-values" + "$ref" : "#/components/schemas/resources-stat-contents" } }, "application/xml" : { - "example" : "\n\n df6de846-0e97-408d-bcff-be0026eba68a b3a3b7ef-7871-4238-86f4-3a5f10294450\n\n", + "example" : "\n\n \n \n \n 1119844280663\n 1119844280693\n 1119844280713\n 0.2\n 0.3\n 0.4\n \n \n 1119844280663\n 1119844280693\n 1119844280713\n 1119844280718\n 93.0\n 95.0\n 97.0\n 99.0\n \n \n \n \n \n \n 1119844280663\n 1119844280693\n 1119844280713\n 0.2\n 0.3\n 0.4\n \n \n 1119844280663\n 1119844280693\n 1119844280713\n 1119844280718\n 93.0\n 95.0\n 97.0\n 99.0\n \n \n \n\n", "schema" : { - "$ref" : "#/components/schemas/uuid-values" + "$ref" : "#/components/schemas/resources-stat-contents" } } }, - "description" : "UUID of resources to add as related to this resource", + "description" : "The Resources and their Stats", "required" : true }, "responses" : { - "204" : { - "description" : "The relationship is added successfully" - }, - "404" : { - "description" : "All of the Resource that are part of the relatedIds list are invalid/non-existent", - "x-vmw-compiler-skip" : true + "200" : { + "description" : "The stats are added to resources successfully" } }, - "summary" : "Add relationships of given type to the resource with specified resourceId", - "tags" : [ "Resource" ] - }, - "put" : { - "description" : "This API exposes replace semantics. Therefore, all the existing relationships of the
      specified relationshipType will be removed and replaced with the resources
      specified as part of the request body.

      • If at least a few of the Resource that are part of relatedIds list
        are valid resources then the operation is performed.

      • If there are few Resource that are part of relatedIds list
        that will result in a cyclical relationship, then the operation is aborted.

      NOTE: Setting relationship is not synchronous.
      As a result, the set operation may not happen immediately. It is recommended
      to query the relationships of the specific Resource back to ensure that the
      operation was indeed successful.", - "operationId" : "setRelationship", + "summary" : "Add Stats to a Collection of Resources", + "tags" : [ "Resources" ] + } + }, + "/api/resources/stats/adapterkinds/{adapterKind}" : { + "post" : { + "description" : "If the adapter kind specified is not present in the system, it will be created dynamically.
      However if the adapter kind specified already exists, then it must be of OPENAPI adapter kind type.", + "operationId" : "addStatsForResourcesUsingPushAdapterKind", "parameters" : [ { - "description" : "The UUID of the source resource", + "description" : "The ID of the adapter kind that will push the stats", "in" : "path", - "name" : "id", + "name" : "adapterKind", "required" : true, "schema" : { - "type" : "string", - "format" : "uuid" + "type" : "string" } }, { - "description" : "The type of relationship of the objects; Uses the RelationshipType.representation value", - "in" : "path", - "name" : "relationshipType", - "required" : true, + "description" : "Whether the current data set
      goes through Analytics processing (Threshold checking, Alert generation) or not.
      Defaults to false. But when set to true will result in no evaluation of Alerts
      but the data gets stored.", + "in" : "query", + "name" : "disableAnalyticsProcessing", + "required" : false, "schema" : { - "type" : "string", - "enum" : [ "parents", "children" ] + "type" : "boolean", + "default" : false } } ], "requestBody" : { "content" : { "application/json" : { - "example" : "{\n \"uuids\" : [ \"df6de846-0e97-408d-bcff-be0026eba68a\", \"b3a3b7ef-7871-4238-86f4-3a5f10294450\" ]\n}", + "example" : "{\n \"resource-stat-content\" : [ {\n \"id\" : \"560cd627-ac88-4216-a83d-1aea2437a87b\",\n \"stat-contents\" : [ {\n \"statKey\" : \"cpu|demandGhz\",\n \"timestamps\" : [ 1119844280663, 1119844280693, 1119844280713 ],\n \"data\" : [ 0.2, 0.3, 0.4 ]\n }, {\n \"statKey\" : \"mem|overload\",\n \"timestamps\" : [ 1119844280663, 1119844280693, 1119844280713, 1119844280718 ],\n \"data\" : [ 93.0, 95.0, 97.0, 99.0 ]\n } ]\n }, {\n \"id\" : \"7390e068-d659-426d-8d22-467f9012b8d6\",\n \"stat-contents\" : [ {\n \"statKey\" : \"cpu|demandGhz\",\n \"timestamps\" : [ 1119844280663, 1119844280693, 1119844280713 ],\n \"data\" : [ 0.2, 0.3, 0.4 ]\n }, {\n \"statKey\" : \"mem|overload\",\n \"timestamps\" : [ 1119844280663, 1119844280693, 1119844280713, 1119844280718 ],\n \"data\" : [ 93.0, 95.0, 97.0, 99.0 ]\n } ]\n } ]\n}", "schema" : { - "$ref" : "#/components/schemas/uuid-values" + "$ref" : "#/components/schemas/resources-stat-contents" } }, "application/xml" : { - "example" : "\n\n df6de846-0e97-408d-bcff-be0026eba68a b3a3b7ef-7871-4238-86f4-3a5f10294450\n\n", + "example" : "\n\n \n \n \n 1119844280663\n 1119844280693\n 1119844280713\n 0.2\n 0.3\n 0.4\n \n \n 1119844280663\n 1119844280693\n 1119844280713\n 1119844280718\n 93.0\n 95.0\n 97.0\n 99.0\n \n \n \n \n \n \n 1119844280663\n 1119844280693\n 1119844280713\n 0.2\n 0.3\n 0.4\n \n \n 1119844280663\n 1119844280693\n 1119844280713\n 1119844280718\n 93.0\n 95.0\n 97.0\n 99.0\n \n \n \n\n", "schema" : { - "$ref" : "#/components/schemas/uuid-values" + "$ref" : "#/components/schemas/resources-stat-contents" } } }, - "description" : "UUID of resources to set as related to this resource", + "description" : "The Resources and their Stats", "required" : true }, "responses" : { - "204" : { - "description" : "The relationship is set successfully" - }, - "404" : { - "description" : "All of the Resource that are part of the relatedIds list are invalid/non-existent", - "x-vmw-compiler-skip" : true + "200" : { + "description" : "The stats are added successfully" } }, - "summary" : "Set (Replace) Resource as RelationshipType of a specific Resource", - "tags" : [ "Resource" ] + "summary" : "Adds Stats to a Collection of Resources along with associating an adapter instance of the specified adapter kind as the source of data", + "tags" : [ "Resources" ] } }, - "/api/resources/{id}/relationships/{relationshipType}/{relatedId}" : { - "delete" : { - "description" : "

      NOTE: Removing a relationship is not synchronous. As a
      result, the delete operation may not happen immediately. It is recommended
      to query the relationships of the specific Resource back to ensure that the
      operation was indeed successful.

      ", - "operationId" : "deleteRelationship", - "parameters" : [ { - "description" : "The UUID of the resource", - "in" : "path", - "name" : "id", - "required" : true, - "schema" : { - "type" : "string", - "format" : "uuid" - } - }, { - "description" : "Type of the Relationship that needs to be removed", - "in" : "path", - "name" : "relationshipType", - "required" : true, - "schema" : { - "type" : "string" - } - }, { - "description" : "The UUID of the resource to remove from relationship", - "in" : "path", - "name" : "relatedId", - "required" : true, - "schema" : { - "type" : "string", - "format" : "uuid" - } - } ], - "responses" : { - "204" : { - "description" : "The relationship is deleted successfully" + "/api/resources/stats/dt/query" : { + "post" : { + "description" : "The API returns 24 hours of Stats and DT data by default for the specified Resources.", + "operationId" : "getStatsAndDTForResources", + "requestBody" : { + "content" : { + "application/json" : { + "example" : "{\n \"resourceIds\" : [ \"e4e9a8e5-cfa9-4f65-9e0a-c4483b57d66b\", \"15c396ff-d868-4bd8-a538-babc9b60f6fd\" ],\n \"statKeys\" : [ \"stat|key1\", \"stat|key2\" ],\n \"begin\" : 1753340050702,\n \"end\" : 1753340055037,\n \"showSmooth\" : true,\n \"smoothFactor\" : 2.0\n}", + "schema" : { + "$ref" : "#/components/schemas/dt-stat-query" + } + }, + "application/xml" : { + "example" : "\n\n e4e9a8e5-cfa9-4f65-9e0a-c4483b57d66b 15c396ff-d868-4bd8-a538-babc9b60f6fd\n stat|key1 stat|key2\n 1753340050702\n 1753340055037\n true\n 2.0\n\n", + "schema" : { + "$ref" : "#/components/schemas/dt-stat-query" + } + } }, - "404" : { - "description" : "Either of the Resource that are part of the path parameters are invalid/non-existent", - "x-vmw-compiler-skip" : true - } + "description" : "The object which specifies the search criteria", + "required" : true }, - "summary" : "Delete (remove) a Resource as RelationshipType of a specific Resource", - "tags" : [ "Resource" ] - } - }, - "/api/resources/{id}/statkeys" : { - "get" : { - "description" : "Get all the stat keys for the specified Resource", - "operationId" : "getStatKeys", - "parameters" : [ { - "description" : "The ID of the resource", - "in" : "path", - "name" : "id", - "required" : true, - "schema" : { - "type" : "string", - "format" : "uuid" - } - } ], "responses" : { "200" : { "content" : { "application/json" : { - "example" : "{\n \"stat-key\" : [ {\n \"key\" : \"cpu|demand\"\n }, {\n \"key\" : \"cpu|usage\"\n } ]\n}", + "example" : "No Custom Example is Available", "schema" : { - "$ref" : "#/components/schemas/stat-keys" + "$ref" : "#/components/schemas/stats-of-resources" } }, "application/xml" : { - "example" : "\n\n \n cpu|demand\n \n \n cpu|usage\n \n\n", + "example" : "No Custom Example is Available", "schema" : { - "$ref" : "#/components/schemas/stat-keys" + "$ref" : "#/components/schemas/stats-of-resources" + } + }, + "text/csv" : { + "example" : "No Custom Example is Available", + "schema" : { + "$ref" : "#/components/schemas/stats-of-resources" } } }, - "description" : "The list of Stat Keys" + "description" : "The object containing a map of list of stat objects keyed by each Resource identifier" } }, - "summary" : "Get all the stat keys for the specified Resource", - "tags" : [ "Resource" ] + "summary" : "Get Stats and Dynamic Threshold values for one or more StatKeys and for a Collection of Resources", + "tags" : [ "Resources" ] } }, - "/api/resources/{id}/stats" : { + "/api/resources/stats/latest" : { "get" : { - "description" : "NOTE: Unless a time range is explicitly set, the method returns statKeys which have received data in the last 24 hours.", - "operationId" : "getStatsOfResource", + "description" : "Takes the form:
      api/resources/stats/latest?resourceId=UUID1&resourceId=UUID2 OR
      api/resources/stats/latest?resourceId=UUID2&statKey=cpu|usagemhz&statKey=cpu|demandmhz
      ", + "operationId" : "getLatestStatsOfResources", "parameters" : [ { - "description" : "Array of Resource ids for which the stats should be fetched", + "description" : "Array of Resource ids for which the latest stats should be fetched", "in" : "query", "name" : "resourceId", "required" : false, @@ -20575,10 +21025,12 @@ "items" : { "type" : "string", "format" : "uuid" - } + }, + "maxItems" : 1000, + "minItems" : 1 } }, { - "description" : "Array of stat keys for which the stats should be returned", + "description" : "Array of stat keys for which the latest stats should be returned", "in" : "query", "name" : "statKey", "required" : false, @@ -20589,110 +21041,41 @@ } } }, { - "description" : "The beginning date as a long value of the range of stats to return
      Value measures the number of milliseconds since January 1, 1970 00:00:00 UTC
      NOTE: If not provided, 24 hour rearward of ending date is used", - "in" : "query", - "name" : "begin", - "required" : false, - "schema" : { - "type" : "integer", - "format" : "int64", - "description" : "The beginning date as a long value of the range of stats to return
      Value measures the number of milliseconds since January 1, 1970 00:00:00 UTC
      NOTE: If not provided, 24 hour rearward of ending date is used" - } - }, { - "description" : "The ending date as a long value of the range of stats to return
      Long value is number of milliseconds since January 1, 1970 00:00:00 UTC
      NOTE: The ending date must not be less than the beginning date.
      If not provided, current time as UTC milliseconds is used", - "in" : "query", - "name" : "end", - "required" : false, - "schema" : { - "type" : "integer", - "format" : "int64", - "description" : "The ending date as a long value of the range of stats to return
      Long value is number of milliseconds since January 1, 1970 00:00:00 UTC
      NOTE: The ending date must not be less than the beginning date.
      If not provided, current time as UTC milliseconds is used" - } - }, { - "description" : "Rollup Type requested by the user (e.g.: AVG, MIN, MAX etc.)", + "description" : "Indicates whether specified statKey-s of query should be forcibly treated as metrics (does not include instanced stats)", "in" : "query", - "name" : "rollUpType", + "name" : "metrics", "required" : false, "schema" : { - "type" : "string", - "description" : "Represents the type of Rollup required for the stats data", - "enum" : [ "SUM", "AVG", "MIN", "MAX", "NONE", "LATEST", "COUNT" ] + "type" : "boolean", + "description" : "Indicates whether specified statKey-s of query should be forcibly treated as metrics (does not include instanced stats)" } }, { - "description" : "Interval type requested by the user (e.g: Days, Weeks, Months etc.)", + "description" : "Indicates whether to report only \"current\" stat values, i.e. skip the stat-s that haven't published any value
      during recent collection cycles.", "in" : "query", - "name" : "intervalType", + "name" : "currentOnly", "required" : false, "schema" : { - "type" : "string", - "description" : "The Interval types", - "enum" : [ "HOURS", "MINUTES", "SECONDS", "DAYS", "WEEKS", "MONTHS", "YEARS" ] + "type" : "boolean", + "description" : "Indicates whether to report only \"current\" stat values, i.e. skip the stat-s that haven't published any value
      during recent collection cycles." } }, { - "description" : "Number for the interval type", + "description" : "The maximum number of samples to return when querying latest stats.
      Defaults to 1 so that when processing the query if it is omitted
      the response would contain a single sample", "in" : "query", - "name" : "intervalQuantifier", + "name" : "maxSamples", "required" : false, "schema" : { "type" : "integer", "format" : "int32", - "description" : "Number for the interval type", - "minimum" : 1 + "description" : "The maximum number of samples to return when querying latest stats.
      Defaults to 1 so that when processing the query if it is omitted
      the response would contain a single sample" } }, { - "description" : "Indicates that the requested stats are based on some dynamic threshold.
      Defaults to false which indicates that stats are not based on dynamic threshold.", + "description" : "Indicates whether stat values should be wrapped for application/xml response content type.
      This flag is false by default and not needed for application/json response.
      If set to true \"statValues\" will be returned instead of \"values\" for all content types.", "in" : "query", - "name" : "dt", + "name" : "wrapStatValues", "required" : false, "schema" : { "type" : "boolean", - "description" : "Indicates that the requested stats are based on some dynamic threshold.
      Defaults to false which indicates that stats are not based on dynamic threshold." - } - }, { - "description" : "The maximum number of samples to return when querying latest.
      When processing the get latest stats query if it is omitted a value of 1 is assumed.
      A query for the latest samples is not compatible with specifying the RollUpType value.", - "in" : "query", - "name" : "latestMaxSamples", - "required" : false, - "schema" : { - "type" : "integer", - "format" : "int32", - "description" : "The maximum number of samples to return when querying latest.
      When processing the get latest stats query if it is omitted a value of 1 is assumed.
      A query for the latest samples is not compatible with specifying the RollUpType value." - } - }, { - "description" : "Indicates whether specified statKey-s of query should be forcibly treated as metrics (does not include instanced stats)", - "in" : "query", - "name" : "metrics", - "required" : false, - "schema" : { - "type" : "boolean", - "description" : "Indicates whether specified statKey-s of query should be forcibly treated as metrics (does not include instanced stats)" - } - }, { - "description" : "Indicates whether to report only \"current\" stat values, i.e. skip the stat-s that haven't published any value
      during recent collection cycles.", - "in" : "query", - "name" : "currentOnly", - "required" : false, - "schema" : { - "type" : "boolean", - "description" : "Indicates whether to report only \"current\" stat values, i.e. skip the stat-s that haven't published any value
      during recent collection cycles." - } - }, { - "description" : "Indicates whether stat values should be wrapped for application/xml response content type.
      This flag is false by default and not needed for application/json response.
      If set to true \"statValues\" will be returned instead of \"values\" for all content types.", - "in" : "query", - "name" : "wrapStatValues", - "required" : false, - "schema" : { - "type" : "boolean", - "description" : "Indicates whether stat values should be wrapped for application/xml response content type.
      This flag is false by default and not needed for application/json response.
      If set to true \"statValues\" will be returned instead of \"values\" for all content types." - } - }, { - "description" : "The Identifier of the resource object", - "in" : "path", - "name" : "id", - "required" : true, - "schema" : { - "type" : "string", - "format" : "uuid" + "description" : "Indicates whether stat values should be wrapped for application/xml response content type.
      This flag is false by default and not needed for application/json response.
      If set to true \"statValues\" will be returned instead of \"values\" for all content types." } } ], "responses" : { @@ -20709,130 +21092,163 @@ "schema" : { "$ref" : "#/components/schemas/stats-of-resources" } + }, + "text/csv" : { + "example" : "No Custom Example is Available", + "schema" : { + "$ref" : "#/components/schemas/stats-of-resources" + } } }, - "description" : "Object, containing a map of List of Stat objects keyed by each resource UUID" + "description" : "The object containing a map of list of stat objects keyed by each Resource identifier" } }, - "summary" : "Look up stats of a group of objects with the resource ids", - "tags" : [ "Resource" ] - }, + "summary" : "Get Latest stats of one or more Resources using the query spec that is specified", + "tags" : [ "Resources" ] + } + }, + "/api/resources/stats/latest/query" : { "post" : { - "description" : "In this case, the adapter instance used for pushing data will default to vRealizeOpsMgrAPI. It is recommended (though not required) to use this API when the resource was created using the API POST /api/resources/{id}/adapters/{adapterInstanceId}. Otherwise an additional adapter instance might be created.", - "operationId" : "addStats", - "parameters" : [ { - "description" : "The Identifier of the resource object", - "in" : "path", - "name" : "id", - "required" : true, - "schema" : { - "type" : "string", - "format" : "uuid" - } - }, { - "description" : "Whether the current data set goes through Analytics processing (Threshold checking, Alert generation) or not. Defaults to false. But when set to true will result in no evaluation of Alerts but the data gets stored.", - "in" : "query", - "name" : "disableAnalyticsProcessing", - "required" : false, - "schema" : { - "type" : "boolean", - "default" : false - } - } ], + "description" : "Get the last \"maxSamples\" stats values for specified one or more Resources", + "operationId" : "queryLatestStatsOfResources", "requestBody" : { "content" : { "application/json" : { - "example" : "{\n \"stat-content\" : [ {\n \"statKey\" : \"cpu|demandGhz\",\n \"timestamps\" : [ 1119844280663, 1119844280693, 1119844280713 ],\n \"data\" : [ 0.2, 0.3, 0.4 ]\n }, {\n \"statKey\" : \"mem|overload\",\n \"timestamps\" : [ 1119844280663, 1119844280693, 1119844280713, 1119844280718 ],\n \"data\" : [ 93.0, 95.0, 97.0, 99.0 ]\n } ]\n}", + "example" : "{\n \"resourceId\" : [ \"f271d537-d6df-4cf7-b0b7-8e77ccc06cee\", \"0a03244c-3b8f-47ed-9aa4-806dbde01d7a\" ],\n \"statKey\" : [ \"stat|key1\", \"stat|key2\" ],\n \"metrics\" : false,\n \"currentOnly\" : false,\n \"maxSamples\" : 1,\n \"wrapStatValues\" : false\n}", "schema" : { - "$ref" : "#/components/schemas/stat-contents" + "$ref" : "#/components/schemas/latest-stat-query" } }, "application/xml" : { - "example" : "\n\n \n 1119844280663\n 1119844280693\n 1119844280713\n 0.2\n 0.3\n 0.4\n \n \n 1119844280663\n 1119844280693\n 1119844280713\n 1119844280718\n 93.0\n 95.0\n 97.0\n 99.0\n \n\n", + "example" : "\n\n f271d537-d6df-4cf7-b0b7-8e77ccc06cee 0a03244c-3b8f-47ed-9aa4-806dbde01d7a\n stat|key1 stat|key2\n false\n false\n 1\n false\n\n", "schema" : { - "$ref" : "#/components/schemas/stat-contents" + "$ref" : "#/components/schemas/latest-stat-query" } } }, - "description" : "The stats for the Resource", + "description" : "The object which specifies the search criteria", "required" : true }, "responses" : { "200" : { - "description" : "The stats are added successfully" + "content" : { + "application/json" : { + "example" : "{\n \"values\" : [ {\n \"resourceId\" : \"2d16d6ea-21cd-48e5-a8e8-936da75185b5\",\n \"stat-list\" : {\n \"stat\" : [ {\n \"timestamps\" : [ 1753340126993, 1753340136993 ],\n \"statKey\" : {\n \"key\" : \"stat|key1\"\n },\n \"rollUpType\" : \"NONE\",\n \"intervalUnit\" : {\n \"quantifier\" : 5,\n \"intervalType\" : \"MINUTES\"\n },\n \"data\" : [ 1.0, 2.0 ],\n \"dtTimestamps\" : [ 1753340126993, 1753340136993, 1753340146993 ],\n \"minThresholdData\" : [ 0.5, 1.0 ],\n \"maxThresholdData\" : [ 1.5, 3.0 ],\n \"smoothValues\" : [ 1.5, 1.5 ]\n } ]\n }\n } ]\n}", + "schema" : { + "$ref" : "#/components/schemas/stats-of-resources" + } + }, + "application/xml" : { + "example" : "\n\n \n 2d16d6ea-21cd-48e5-a8e8-936da75185b5\n \n \n 1753340126993 1753340136993\n \n stat|key1\n \n NONE\n \n 5\n MINUTES\n \n 1.0 2.0\n 1753340126993 1753340136993 1753340146993\n 0.5 1.0\n 1.5 3.0\n 1.5 1.5\n \n \n \n\n", + "schema" : { + "$ref" : "#/components/schemas/stats-of-resources" + } + } + }, + "description" : "The requested stats" + }, + "404" : { + "description" : "Non of the resources could be found", + "x-vmw-compiler-skip" : true + }, + "500" : { + "description" : "Error during the query", + "x-vmw-compiler-skip" : true } }, - "summary" : "Add Stats to a Resource", - "tags" : [ "Resource" ] + "summary" : "Get the last \"maxSamples\" stats values for specified one or more Resources", + "tags" : [ "Resources" ] } }, - "/api/resources/{id}/stats/adapterkinds/{adapterKind}" : { + "/api/resources/stats/query" : { "post" : { - "description" : "If the adapter kind specified is not present in the system, it will be created dynamically. However if the adapter kind specified already exists, then it must be of OPENAPI adapter kind type.", - "operationId" : "addStatsUsingPushAdapterKind", - "parameters" : [ { - "description" : "The ID of the adapter kind that will push the stats", - "in" : "path", - "name" : "adapterKind", - "required" : true, - "schema" : { - "type" : "string" - } - }, { - "description" : "The Identifier of the resource object", - "in" : "path", - "name" : "id", - "required" : true, - "schema" : { - "type" : "string", - "format" : "uuid" - } - }, { - "description" : "Whether the current data set goes through Analytics processing (Threshold checking, Alert generation) or not. Defaults to false. But when set to true will result in no evaluation of Alerts but the data gets stored.", - "in" : "query", - "name" : "disableAnalyticsProcessing", - "required" : false, - "schema" : { - "type" : "boolean", - "default" : false - } - } ], + "description" : "Get stats for one or more Resources using the specific query spec", + "operationId" : "getStatsForResources", "requestBody" : { "content" : { "application/json" : { - "example" : "{\n \"stat-content\" : [ {\n \"statKey\" : \"cpu|demandGhz\",\n \"timestamps\" : [ 1119844280663, 1119844280693, 1119844280713 ],\n \"data\" : [ 0.2, 0.3, 0.4 ]\n }, {\n \"statKey\" : \"mem|overload\",\n \"timestamps\" : [ 1119844280663, 1119844280693, 1119844280713, 1119844280718 ],\n \"data\" : [ 93.0, 95.0, 97.0, 99.0 ]\n } ]\n}", + "example" : "{\n \"resourceId\" : [ \"95b0c395-6404-4473-828f-c3e7f64d446b\", \"266c6175-5f91-407b-8119-fa1eaf3ad5aa\" ],\n \"statKey\" : [ \"stat|key1\", \"stat|key2\" ],\n \"begin\" : 1753340007585,\n \"end\" : 1753340016072,\n \"rollUpType\" : \"SUM\",\n \"intervalType\" : \"DAYS\",\n \"intervalQuantifier\" : -1,\n \"dt\" : false,\n \"latestMaxSamples\" : 10,\n \"metrics\" : false,\n \"currentOnly\" : false,\n \"wrapStatValues\" : false\n}", "schema" : { - "$ref" : "#/components/schemas/stat-contents" + "$ref" : "#/components/schemas/stat-query" } }, "application/xml" : { - "example" : "\n\n \n 1119844280663\n 1119844280693\n 1119844280713\n 0.2\n 0.3\n 0.4\n \n \n 1119844280663\n 1119844280693\n 1119844280713\n 1119844280718\n 93.0\n 95.0\n 97.0\n 99.0\n \n\n", + "example" : "\n\n 95b0c395-6404-4473-828f-c3e7f64d446b 266c6175-5f91-407b-8119-fa1eaf3ad5aa\n stat|key1 stat|key2\n 1753340007585\n 1753340016072\n SUM\n DAYS\n -1\n false\n 10\n false\n false\n false\n\n", "schema" : { - "$ref" : "#/components/schemas/stat-contents" + "$ref" : "#/components/schemas/stat-query" } } }, - "description" : "The stats for the Resource", + "description" : "The object which specifies the search criteria", "required" : true }, "responses" : { "200" : { - "description" : "The stats are added successfully" + "content" : { + "application/json" : { + "example" : "{\n \"values\" : [ {\n \"resourceId\" : \"2d16d6ea-21cd-48e5-a8e8-936da75185b5\",\n \"stat-list\" : {\n \"stat\" : [ {\n \"timestamps\" : [ 1753340126993, 1753340136993 ],\n \"statKey\" : {\n \"key\" : \"stat|key1\"\n },\n \"rollUpType\" : \"NONE\",\n \"intervalUnit\" : {\n \"quantifier\" : 5,\n \"intervalType\" : \"MINUTES\"\n },\n \"data\" : [ 1.0, 2.0 ],\n \"dtTimestamps\" : [ 1753340126993, 1753340136993, 1753340146993 ],\n \"minThresholdData\" : [ 0.5, 1.0 ],\n \"maxThresholdData\" : [ 1.5, 3.0 ],\n \"smoothValues\" : [ 1.5, 1.5 ]\n } ]\n }\n } ]\n}", + "schema" : { + "$ref" : "#/components/schemas/stats-of-resources" + } + }, + "application/xml" : { + "example" : "\n\n \n 2d16d6ea-21cd-48e5-a8e8-936da75185b5\n \n \n 1753340126993 1753340136993\n \n stat|key1\n \n NONE\n \n 5\n MINUTES\n \n 1.0 2.0\n 1753340126993 1753340136993 1753340146993\n 0.5 1.0\n 1.5 3.0\n 1.5 1.5\n \n \n \n\n", + "schema" : { + "$ref" : "#/components/schemas/stats-of-resources" + } + } + }, + "description" : "The object containing a map of list of stat objects keyed by each Resource identifier" } }, - "summary" : "Add Stats to a Resource along with associating an adapter instance of the specified adapter kind as the source of data", - "tags" : [ "Resource" ] + "summary" : "Get stats for one or more Resources using the specific query spec", + "tags" : [ "Resources" ] } }, - "/api/resources/{id}/stats/dt" : { + "/api/resources/stats/topn" : { "get" : { - "description" : "The API returns 24 hours of Stats and DT data by default for the specified Resource.", - "operationId" : "getDTStatsOfResource", + "description" : "Get the Top-N stats data for one or more Resources and a set of StatKeys", + "operationId" : "getTopNStatsOfResources", "parameters" : [ { - "description" : "Collection of Resource identifiers for which Stats and DT values need to be retrieved", + "description" : "The number of results. Keep in mind if a grouping contains multiple items (eg:
      grouped by resource, with 4 metrics for the grouping resource) then returning the group with
      4 metrics counts as 4 topN entries. If there are not enough remaining open topN entries to
      return an entire group within the topN then the entire group is not returned. *", "in" : "query", - "name" : "resourceId", + "name" : "topN", "required" : true, + "schema" : { + "type" : "integer", + "format" : "int32", + "description" : "The number of results. Keep in mind if a grouping contains multiple items (eg:
      grouped by resource, with 4 metrics for the grouping resource) then returning the group with
      4 metrics counts as 4 topN entries. If there are not enough remaining open topN entries to
      return an entire group within the topN then the entire group is not returned. *", + "minimum" : 1 + } + }, { + "description" : "The type of grouping, if not set defaults to ResourceStatGroupBy.RESOURCE", + "in" : "query", + "name" : "groupBy", + "required" : false, + "schema" : { + "type" : "string", + "description" : "Enumeration of the available Grouping for topN", + "enum" : [ "RESOURCE", "STATKEY" ] + } + }, { + "description" : "The type of sorting, if not set defaults to ResourceStatSort.ASCENDING", + "in" : "query", + "name" : "sortOrder", + "required" : false, + "schema" : { + "type" : "string", + "description" : "The sort order", + "enum" : [ "ASCENDING", "DESCENDING" ], + "xml" : { + "name" : "sort-order", + "namespace" : "http://webservice.vmware.com/vRealizeOpsMgr/1.0/" + } + } + }, { + "description" : "Array of Resource ids for which the stats should be fetched", + "in" : "query", + "name" : "resourceId", + "required" : false, "schema" : { "type" : "array", "items" : { @@ -20841,127 +21257,85 @@ } } }, { - "description" : "Collection of StatKeys for which Stats and DT values need to be retrieved", + "description" : "Array of stat keys for which the stats should be returned", "in" : "query", "name" : "statKey", - "required" : true, + "required" : false, "schema" : { "type" : "array", "items" : { "type" : "string" - }, - "maxItems" : 2147483647, - "minItems" : 1 + } } }, { - "description" : "The beginning date as a long value of the range of stats to return
      Value measures the number of milliseconds since January 1, 1970 00:00:00 UTC", + "description" : "The beginning date as a long value of the range of stats to return
      Value measures the number of milliseconds since January 1, 1970 00:00:00 UTC
      NOTE: If not provided, 24 hour rearward of ending date is used", "in" : "query", "name" : "begin", "required" : false, "schema" : { "type" : "integer", "format" : "int64", - "description" : "The beginning date as a long value of the range of stats to return
      Value measures the number of milliseconds since January 1, 1970 00:00:00 UTC" + "description" : "The beginning date as a long value of the range of stats to return
      Value measures the number of milliseconds since January 1, 1970 00:00:00 UTC
      NOTE: If not provided, 24 hour rearward of ending date is used" } }, { - "description" : "The ending date as a long value of the range of stats to return
      long value is number of milliseconds since January 1, 1970 00:00:00 UTC", + "description" : "The ending date as a long value of the range of stats to return
      Long value is number of milliseconds since January 1, 1970 00:00:00 UTC
      NOTE: The ending date must not be less than the beginning date.
      If not provided, current time as UTC milliseconds is used", "in" : "query", "name" : "end", "required" : false, "schema" : { "type" : "integer", "format" : "int64", - "description" : "The ending date as a long value of the range of stats to return
      long value is number of milliseconds since January 1, 1970 00:00:00 UTC" + "description" : "The ending date as a long value of the range of stats to return
      Long value is number of milliseconds since January 1, 1970 00:00:00 UTC
      NOTE: The ending date must not be less than the beginning date.
      If not provided, current time as UTC milliseconds is used" } }, { - "description" : "Flag that indicates whether stats should be smoothened or not. Default value is true", + "description" : "Rollup Type requested by the user (e.g.: AVG, MIN, MAX etc.)", "in" : "query", - "name" : "showSmooth", + "name" : "rollUpType", "required" : false, "schema" : { - "type" : "boolean", - "description" : "Flag that indicates whether stats should be smoothened or not. Default value is true" + "type" : "string", + "description" : "Represents the type of Rollup required for the stats data", + "enum" : [ "SUM", "AVG", "MIN", "MAX", "NONE", "LATEST", "COUNT" ] } }, { - "description" : "The smooth precision, default value is 2.0", + "description" : "Interval type requested by the user (e.g: Days, Weeks, Months etc.)", "in" : "query", - "name" : "smoothFactor", + "name" : "intervalType", "required" : false, - "schema" : { - "type" : "number", - "format" : "double", - "description" : "The smooth precision, default value is 2.0" - } - }, { - "description" : "The Identifier of the resource object", - "in" : "path", - "name" : "id", - "required" : true, "schema" : { "type" : "string", - "format" : "uuid" - } - } ], - "responses" : { - "200" : { - "content" : { - "application/json" : { - "example" : "No Custom Example is Available", - "schema" : { - "$ref" : "#/components/schemas/stats-of-resources" - } - }, - "application/xml" : { - "example" : "No Custom Example is Available", - "schema" : { - "$ref" : "#/components/schemas/stats-of-resources" - } - } - }, - "description" : "Object, containing a map of List of Stat objects keyed by each resource UUID" + "description" : "The Interval types", + "enum" : [ "HOURS", "MINUTES", "SECONDS", "DAYS", "WEEKS", "MONTHS", "YEARS" ] } - }, - "summary" : "Get Stats and Dynamic Threshold values for one or more StatKeys and for a Collection of Resources", - "tags" : [ "Resource" ] - } - }, - "/api/resources/{id}/stats/latest" : { - "get" : { - "description" : "Get the latest stat for a given Resource and given a set of attributes", - "operationId" : "getLatestStats", - "parameters" : [ { - "description" : "The StatsQuery object which can be used to refine the query", - "in" : "path", - "name" : "id", - "required" : true, + }, { + "description" : "Number for the interval type", + "in" : "query", + "name" : "intervalQuantifier", + "required" : false, "schema" : { - "type" : "string", - "format" : "uuid" + "type" : "integer", + "format" : "int32", + "description" : "Number for the interval type", + "minimum" : 1 } }, { - "description" : "Array of Resource ids for which the latest stats should be fetched", + "description" : "Indicates that the requested stats are based on some dynamic threshold.
      Defaults to false which indicates that stats are not based on dynamic threshold.", "in" : "query", - "name" : "resourceId", + "name" : "dt", "required" : false, "schema" : { - "type" : "array", - "items" : { - "type" : "string", - "format" : "uuid" - }, - "maxItems" : 1000, - "minItems" : 1 + "type" : "boolean", + "description" : "Indicates that the requested stats are based on some dynamic threshold.
      Defaults to false which indicates that stats are not based on dynamic threshold." } }, { - "description" : "Array of stat keys for which the latest stats should be returned", + "description" : "The maximum number of samples to return when querying latest.
      When processing the get latest stats query if it is omitted a value of 1 is assumed.
      A query for the latest samples is not compatible with specifying the RollUpType value.", "in" : "query", - "name" : "statKey", + "name" : "latestMaxSamples", "required" : false, "schema" : { - "type" : "array", - "items" : { - "type" : "string" - } + "type" : "integer", + "format" : "int32", + "description" : "The maximum number of samples to return when querying latest.
      When processing the get latest stats query if it is omitted a value of 1 is assumed.
      A query for the latest samples is not compatible with specifying the RollUpType value." } }, { "description" : "Indicates whether specified statKey-s of query should be forcibly treated as metrics (does not include instanced stats)", @@ -20981,16 +21355,6 @@ "type" : "boolean", "description" : "Indicates whether to report only \"current\" stat values, i.e. skip the stat-s that haven't published any value
      during recent collection cycles." } - }, { - "description" : "The maximum number of samples to return when querying latest stats.
      Defaults to 1 so that when processing the query if it is omitted
      the response would contain a single sample", - "in" : "query", - "name" : "maxSamples", - "required" : false, - "schema" : { - "type" : "integer", - "format" : "int32", - "description" : "The maximum number of samples to return when querying latest stats.
      Defaults to 1 so that when processing the query if it is omitted
      the response would contain a single sample" - } }, { "description" : "Indicates whether stat values should be wrapped for application/xml response content type.
      This flag is false by default and not needed for application/json response.
      If set to true \"statValues\" will be returned instead of \"values\" for all content types.", "in" : "query", @@ -21005,31 +21369,31 @@ "200" : { "content" : { "application/json" : { - "example" : "{\n \"values\" : [ {\n \"resourceId\" : \"2d16d6ea-21cd-48e5-a8e8-936da75185b5\",\n \"stat-list\" : {\n \"stat\" : [ {\n \"timestamps\" : [ 1753340126993, 1753340136993 ],\n \"statKey\" : {\n \"key\" : \"stat|key1\"\n },\n \"rollUpType\" : \"NONE\",\n \"intervalUnit\" : {\n \"quantifier\" : 5,\n \"intervalType\" : \"MINUTES\"\n },\n \"data\" : [ 1.0, 2.0 ],\n \"dtTimestamps\" : [ 1753340126993, 1753340136993, 1753340146993 ],\n \"minThresholdData\" : [ 0.5, 1.0 ],\n \"maxThresholdData\" : [ 1.5, 3.0 ],\n \"smoothValues\" : [ 1.5, 1.5 ]\n } ]\n }\n } ]\n}", + "example" : "{\n \"groupBy\" : \"RESOURCE\",\n \"sortOrder\" : \"ASCENDING\",\n \"resourceStatGroups\" : [ {\n \"groupKey\" : \"4c87380f-f014-454b-beb1-8e1231fa914a\",\n \"resourceStats\" : [ ]\n }, {\n \"groupKey\" : \"6a4665b2-f51d-428f-be4e-2d793076bce1\",\n \"resourceStats\" : [ ]\n } ]\n}", "schema" : { - "$ref" : "#/components/schemas/stats-of-resources" + "$ref" : "#/components/schemas/ResourceStatGroupList" } }, "application/xml" : { - "example" : "\n\n \n 2d16d6ea-21cd-48e5-a8e8-936da75185b5\n \n \n 1753340126993 1753340136993\n \n stat|key1\n \n NONE\n \n 5\n MINUTES\n \n 1.0 2.0\n 1753340126993 1753340136993 1753340146993\n 0.5 1.0\n 1.5 3.0\n 1.5 1.5\n \n \n \n\n", + "example" : "\n\n RESOURCE\n ASCENDING\n \n \n 4c87380f-f014-454b-beb1-8e1231fa914a\n \n \n \n 6a4665b2-f51d-428f-be4e-2d793076bce1\n \n \n \n\n", "schema" : { - "$ref" : "#/components/schemas/stats-of-resources" + "$ref" : "#/components/schemas/ResourceStatGroupList" } } }, - "description" : "Object, containing a map of List of Stat objects keyed by each resource UUID" + "description" : "TopN data keyed by each Resource identifier" } }, - "summary" : "Get the latest stat for a given Resource and given a set of attributes", - "tags" : [ "Resource" ] + "summary" : "Get the Top-N stats data for one or more Resources and a set of StatKeys", + "tags" : [ "Resources" ] } }, - "/api/resources/{id}/stats/query" : { - "post" : { - "description" : "NOTE: When making an XML request, make sure the statKey field does not contain any key name with spaces.", - "operationId" : "getStatsForResource", + "/api/resources/{id}" : { + "delete" : { + "description" : "

      NOTE: Deletion of a Resource is not synchronous. As a result, the delete operation may not happen immediately. It is recommended to query back the system with the resource identifier and ensure that the system returns a 404 error.", + "operationId" : "deleteResource", "parameters" : [ { - "description" : "The Identifier of the resource object", + "description" : "The Resource identifier", "in" : "path", "name" : "id", "required" : true, @@ -21038,53 +21402,60 @@ "format" : "uuid" } } ], - "requestBody" : { - "content" : { - "application/json" : { - "example" : "{\n \"resourceId\" : [ \"95b0c395-6404-4473-828f-c3e7f64d446b\", \"266c6175-5f91-407b-8119-fa1eaf3ad5aa\" ],\n \"statKey\" : [ \"stat|key1\", \"stat|key2\" ],\n \"begin\" : 1753340007585,\n \"end\" : 1753340016072,\n \"rollUpType\" : \"SUM\",\n \"intervalType\" : \"DAYS\",\n \"intervalQuantifier\" : -1,\n \"dt\" : false,\n \"latestMaxSamples\" : 10,\n \"metrics\" : false,\n \"currentOnly\" : false,\n \"wrapStatValues\" : false\n}", - "schema" : { - "$ref" : "#/components/schemas/stat-query" - } - }, - "application/xml" : { - "example" : "\n\n 95b0c395-6404-4473-828f-c3e7f64d446b 266c6175-5f91-407b-8119-fa1eaf3ad5aa\n stat|key1 stat|key2\n 1753340007585\n 1753340016072\n SUM\n DAYS\n -1\n false\n 10\n false\n false\n false\n\n", - "schema" : { - "$ref" : "#/components/schemas/stat-query" - } - } + "responses" : { + "204" : { + "description" : "The resource is deleted successfully" }, - "description" : "The StatsQuery object which can be used to refine the query", - "required" : true + "404" : { + "description" : "The Resource being deleted is invalid/non-existent", + "x-vmw-compiler-skip" : true + } }, + "summary" : "Delete a Resource with the given identifier", + "tags" : [ "Resource" ] + }, + "get" : { + "description" : "Get the Resource for the specified identifier", + "operationId" : "getResource", + "parameters" : [ { + "description" : "The Resource identifier", + "in" : "path", + "name" : "id", + "required" : true, + "schema" : { + "type" : "string", + "format" : "uuid" + } + } ], "responses" : { "200" : { "content" : { "application/json" : { - "example" : "{\n \"values\" : [ {\n \"resourceId\" : \"2d16d6ea-21cd-48e5-a8e8-936da75185b5\",\n \"stat-list\" : {\n \"stat\" : [ {\n \"timestamps\" : [ 1753340126993, 1753340136993 ],\n \"statKey\" : {\n \"key\" : \"stat|key1\"\n },\n \"rollUpType\" : \"NONE\",\n \"intervalUnit\" : {\n \"quantifier\" : 5,\n \"intervalType\" : \"MINUTES\"\n },\n \"data\" : [ 1.0, 2.0 ],\n \"dtTimestamps\" : [ 1753340126993, 1753340136993, 1753340146993 ],\n \"minThresholdData\" : [ 0.5, 1.0 ],\n \"maxThresholdData\" : [ 1.5, 3.0 ],\n \"smoothValues\" : [ 1.5, 1.5 ]\n } ]\n }\n } ]\n}", + "example" : "{\n \"creationTime\" : 1753340199158,\n \"resourceKey\" : {\n \"name\" : \"VM1\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"VirtualMachine\",\n \"resourceIdentifiers\" : [ {\n \"identifierType\" : {\n \"name\" : \"VMEntityObjectID\",\n \"dataType\" : \"STRING\",\n \"isPartOfUniqueness\" : true\n },\n \"value\" : \"vm-123\"\n }, {\n \"identifierType\" : {\n \"name\" : \"VMEntityVCID\",\n \"dataType\" : \"STRING\",\n \"isPartOfUniqueness\" : true\n },\n \"value\" : \"CBAD174A-622E-4650-805A-064F824FFA76\"\n }, {\n \"identifierType\" : {\n \"name\" : \"VMEntityName\",\n \"dataType\" : \"STRING\",\n \"isPartOfUniqueness\" : true\n },\n \"value\" : \"VM1\"\n } ]\n },\n \"credentialInstanceId\" : \"51f8f60d-4a39-4839-9924-698d022e2e10\",\n \"resourceStatusStates\" : [ ],\n \"dtEnabled\" : true,\n \"badges\" : [ ],\n \"relatedResources\" : [ ],\n \"identifier\" : \"9a9cf74d-b1d0-4b24-9340-67a4625d8755\"\n}", "schema" : { - "$ref" : "#/components/schemas/stats-of-resources" + "$ref" : "#/components/schemas/resource" } }, "application/xml" : { - "example" : "\n\n \n 2d16d6ea-21cd-48e5-a8e8-936da75185b5\n \n \n 1753340126993 1753340136993\n \n stat|key1\n \n NONE\n \n 5\n MINUTES\n \n 1.0 2.0\n 1753340126993 1753340136993 1753340146993\n 0.5 1.0\n 1.5 3.0\n 1.5 1.5\n \n \n \n\n", + "example" : "\n\n \n VM1\n VMWARE\n VirtualMachine\n \n \n \n vm-123\n \n \n \n CBAD174A-622E-4650-805A-064F824FFA76\n \n \n \n VM1\n \n \n \n 51f8f60d-4a39-4839-9924-698d022e2e10\n \n true\n \n \n\n", "schema" : { - "$ref" : "#/components/schemas/stats-of-resources" + "$ref" : "#/components/schemas/resource" } } }, - "description" : "Object, containing a map of List of Stat objects keyed by each resource UUID" + "description" : "The Resource for the specified UUID" } }, - "summary" : "Look up stats of a group of objects with the resource ids", + "summary" : "Get the Resource for the specified identifier", "tags" : [ "Resource" ] } }, - "/api/resources/{id}/stats/topn" : { - "get" : { - "description" : "Get the TopN stats for a given Resource and given a set of attributes", - "operationId" : "getTopNStatsOfResource", + "/api/resources/{id}/geolocation" : { + "put" : { + "description" : "Update the geographical location of the Resource", + "operationId" : "updateGeoLocationOfResource", "parameters" : [ { - "description" : "The ID of the resource", + "description" : "The Resource identifier", "in" : "path", "name" : "id", "required" : true, @@ -21093,255 +21464,208 @@ "format" : "uuid" } }, { - "description" : "The number of results. Keep in mind if a grouping contains multiple items (eg:
      grouped by resource, with 4 metrics for the grouping resource) then returning the group with
      4 metrics counts as 4 topN entries. If there are not enough remaining open topN entries to
      return an entire group within the topN then the entire group is not returned. *", + "description" : "The latitude of the location", "in" : "query", - "name" : "topN", + "name" : "latitude", "required" : true, "schema" : { - "type" : "integer", - "format" : "int32", - "description" : "The number of results. Keep in mind if a grouping contains multiple items (eg:
      grouped by resource, with 4 metrics for the grouping resource) then returning the group with
      4 metrics counts as 4 topN entries. If there are not enough remaining open topN entries to
      return an entire group within the topN then the entire group is not returned. *", - "minimum" : 1 + "type" : "number", + "format" : "double" } }, { - "description" : "The type of grouping, if not set defaults to ResourceStatGroupBy.RESOURCE", + "description" : "The longitude of the location", "in" : "query", - "name" : "groupBy", - "required" : false, + "name" : "longitude", + "required" : true, + "schema" : { + "type" : "number", + "format" : "double" + } + } ], + "responses" : { + "200" : { + "description" : "The geolocation is updated successfully" + } + }, + "summary" : "Update the geographical location of the Resource", + "tags" : [ "Resource" ] + } + }, + "/api/resources/{id}/maintained" : { + "delete" : { + "description" : "Bring the Resource out of Maintenance manually", + "operationId" : "unmarkResourceAsBeingMaintained", + "parameters" : [ { + "description" : "The Resource identifier", + "in" : "path", + "name" : "id", + "required" : true, "schema" : { "type" : "string", - "description" : "Enumeration of the available Grouping for topN", - "enum" : [ "RESOURCE", "STATKEY" ] + "format" : "uuid" + } + } ], + "responses" : { + "200" : { + "description" : "The resource is brought out from maintenance successfully" + } + }, + "summary" : "Bring the Resource out of Maintenance manually", + "tags" : [ "Resource" ] + }, + "put" : { + "description" : "The Resource can end up in two maintenance states - MAINTAINED OR MAINTAINED_MANUAL -
      depending upon the inputs specified.


      • If duration/end time is specified, the resource will be placed in MAINTAINED
        state and after the duration/end time expires, the resource state is automatically set to the state
        it was in before entering the maintenance window.
      • If duration/end time is not specified, the resource will be placed in MAINTAINED_MANUAL state.
        Callers have to execute DELETE /suite-api/api/resources/{id}/maintained API to set the Resource
        back to whatever state it was in.
      • If both duration and end time are specified, end time takes preference over duration.
      ", + "operationId" : "markResourceAsBeingMaintained", + "parameters" : [ { + "description" : "The Resource identifier", + "in" : "path", + "name" : "id", + "required" : true, + "schema" : { + "type" : "string", + "format" : "uuid" } }, { - "description" : "The type of sorting, if not set defaults to ResourceStatSort.ASCENDING", + "description" : "Duration for which this resource will be in maintenance (In Minutes)", "in" : "query", - "name" : "sortOrder", + "name" : "duration", "required" : false, "schema" : { - "type" : "string", - "description" : "The sort order", - "enum" : [ "ASCENDING", "DESCENDING" ], - "xml" : { - "name" : "sort-order", - "namespace" : "http://webservice.vmware.com/vRealizeOpsMgr/1.0/" - } + "type" : "integer", + "format" : "int32" } }, { - "description" : "Array of Resource ids for which the stats should be fetched", + "description" : "End time of the maintenance window as a long value (Epoch time)", "in" : "query", - "name" : "resourceId", - "required" : false, - "schema" : { - "type" : "array", - "items" : { - "type" : "string", - "format" : "uuid" - } - } - }, { - "description" : "Array of stat keys for which the stats should be returned", - "in" : "query", - "name" : "statKey", - "required" : false, - "schema" : { - "type" : "array", - "items" : { - "type" : "string" - } - } - }, { - "description" : "The beginning date as a long value of the range of stats to return
      Value measures the number of milliseconds since January 1, 1970 00:00:00 UTC
      NOTE: If not provided, 24 hour rearward of ending date is used", - "in" : "query", - "name" : "begin", - "required" : false, - "schema" : { - "type" : "integer", - "format" : "int64", - "description" : "The beginning date as a long value of the range of stats to return
      Value measures the number of milliseconds since January 1, 1970 00:00:00 UTC
      NOTE: If not provided, 24 hour rearward of ending date is used" - } - }, { - "description" : "The ending date as a long value of the range of stats to return
      Long value is number of milliseconds since January 1, 1970 00:00:00 UTC
      NOTE: The ending date must not be less than the beginning date.
      If not provided, current time as UTC milliseconds is used", - "in" : "query", - "name" : "end", + "name" : "end", "required" : false, "schema" : { "type" : "integer", - "format" : "int64", - "description" : "The ending date as a long value of the range of stats to return
      Long value is number of milliseconds since January 1, 1970 00:00:00 UTC
      NOTE: The ending date must not be less than the beginning date.
      If not provided, current time as UTC milliseconds is used" + "format" : "int64" } - }, { - "description" : "Rollup Type requested by the user (e.g.: AVG, MIN, MAX etc.)", - "in" : "query", - "name" : "rollUpType", - "required" : false, - "schema" : { - "type" : "string", - "description" : "Represents the type of Rollup required for the stats data", - "enum" : [ "SUM", "AVG", "MIN", "MAX", "NONE", "LATEST", "COUNT" ] + } ], + "responses" : { + "200" : { + "description" : "The resource is put in maintenance successfully" } - }, { - "description" : "Interval type requested by the user (e.g: Days, Weeks, Months etc.)", - "in" : "query", - "name" : "intervalType", - "required" : false, + }, + "summary" : "Put the specific Resource in Maintenance", + "tags" : [ "Resource" ] + } + }, + "/api/resources/{id}/monitoringstate/start" : { + "put" : { + "deprecated" : true, + "description" : "The optional query parameter adapterId determines which of the Adapters need to be informed to start monitoring the Resource. If this is not specified, then all of the Adapters will start monitoring the Resource.", + "operationId" : "startMonitoringResource", + "parameters" : [ { + "description" : "The Resource identifier", + "in" : "path", + "name" : "id", + "required" : true, "schema" : { "type" : "string", - "description" : "The Interval types", - "enum" : [ "HOURS", "MINUTES", "SECONDS", "DAYS", "WEEKS", "MONTHS", "YEARS" ] - } - }, { - "description" : "Number for the interval type", - "in" : "query", - "name" : "intervalQuantifier", - "required" : false, - "schema" : { - "type" : "integer", - "format" : "int32", - "description" : "Number for the interval type", - "minimum" : 1 - } - }, { - "description" : "Indicates that the requested stats are based on some dynamic threshold.
      Defaults to false which indicates that stats are not based on dynamic threshold.", - "in" : "query", - "name" : "dt", - "required" : false, - "schema" : { - "type" : "boolean", - "description" : "Indicates that the requested stats are based on some dynamic threshold.
      Defaults to false which indicates that stats are not based on dynamic threshold." + "format" : "uuid" } }, { - "description" : "The maximum number of samples to return when querying latest.
      When processing the get latest stats query if it is omitted a value of 1 is assumed.
      A query for the latest samples is not compatible with specifying the RollUpType value.", + "description" : "Collection of adapter instance identifiers that should start monitoring this Resource", "in" : "query", - "name" : "latestMaxSamples", + "name" : "adapterId", "required" : false, "schema" : { - "type" : "integer", - "format" : "int32", - "description" : "The maximum number of samples to return when querying latest.
      When processing the get latest stats query if it is omitted a value of 1 is assumed.
      A query for the latest samples is not compatible with specifying the RollUpType value." + "type" : "array", + "items" : { + "type" : "string", + "format" : "uuid" + } } - }, { - "description" : "Indicates whether specified statKey-s of query should be forcibly treated as metrics (does not include instanced stats)", - "in" : "query", - "name" : "metrics", - "required" : false, - "schema" : { - "type" : "boolean", - "description" : "Indicates whether specified statKey-s of query should be forcibly treated as metrics (does not include instanced stats)" + } ], + "responses" : { + "200" : { + "description" : "The resource monitoring is started successfully" } - }, { - "description" : "Indicates whether to report only \"current\" stat values, i.e. skip the stat-s that haven't published any value
      during recent collection cycles.", - "in" : "query", - "name" : "currentOnly", - "required" : false, + }, + "summary" : "Inform one or more or all Adapters to start monitoring this Resource. Note: Start isn't supported on per resource bases any more.", + "tags" : [ "Resource" ] + } + }, + "/api/resources/{id}/monitoringstate/stop" : { + "put" : { + "deprecated" : true, + "description" : "The optional query parameter adapterId determines which of the Adapters need to be informed to stop monitoring the Resource. If this is not specified, then all of the Adapters will stop monitoring the Resource.", + "operationId" : "stopMonitoringResource", + "parameters" : [ { + "description" : "The Resource identifier", + "in" : "path", + "name" : "id", + "required" : true, "schema" : { - "type" : "boolean", - "description" : "Indicates whether to report only \"current\" stat values, i.e. skip the stat-s that haven't published any value
      during recent collection cycles." + "type" : "string", + "format" : "uuid" } }, { - "description" : "Indicates whether stat values should be wrapped for application/xml response content type.
      This flag is false by default and not needed for application/json response.
      If set to true \"statValues\" will be returned instead of \"values\" for all content types.", + "description" : "Collection of adapter instance identifiers that should stop monitoring this Resource", "in" : "query", - "name" : "wrapStatValues", + "name" : "adapterId", "required" : false, "schema" : { - "type" : "boolean", - "description" : "Indicates whether stat values should be wrapped for application/xml response content type.
      This flag is false by default and not needed for application/json response.
      If set to true \"statValues\" will be returned instead of \"values\" for all content types." + "type" : "array", + "items" : { + "type" : "string", + "format" : "uuid" + } } } ], "responses" : { "200" : { - "content" : { - "application/json" : { - "example" : "{\n \"groupBy\" : \"RESOURCE\",\n \"sortOrder\" : \"ASCENDING\",\n \"resourceStatGroups\" : [ {\n \"groupKey\" : \"4c87380f-f014-454b-beb1-8e1231fa914a\",\n \"resourceStats\" : [ ]\n }, {\n \"groupKey\" : \"6a4665b2-f51d-428f-be4e-2d793076bce1\",\n \"resourceStats\" : [ ]\n } ]\n}", - "schema" : { - "$ref" : "#/components/schemas/ResourceStatGroupList" - } - }, - "application/xml" : { - "example" : "\n\n RESOURCE\n ASCENDING\n \n \n 4c87380f-f014-454b-beb1-8e1231fa914a\n \n \n \n 6a4665b2-f51d-428f-be4e-2d793076bce1\n \n \n \n\n", - "schema" : { - "$ref" : "#/components/schemas/ResourceStatGroupList" - } - } - }, - "description" : "The TopN stats" + "description" : "The resource monitoring is stopped successfully" } }, - "summary" : "Get the TopN stats for a given Resource and given a set of attributes", + "summary" : "Inform one or more or all Adapters to stop monitoring this Resource. Note: Stop isn't supported on per resource bases any more.", "tags" : [ "Resource" ] } }, - "/api/salt/resources/statuses" : { + "/api/resources/{id}/properties" : { "get" : { - "operationId" : "getSaltResources", + "description" : "Get all the properties for the specified Resource", + "operationId" : "getResourceProperties", "parameters" : [ { - "description" : "Minion Status", - "in" : "query", - "name" : "status", - "required" : false, + "description" : "The ID of the resource", + "in" : "path", + "name" : "id", + "required" : true, "schema" : { "type" : "string", - "description" : "Minion Status", - "enum" : [ "CONNECTED", "DISCONNECTED", "DISABLED", "UNKNOWN" ] - } - }, { - "description" : "Page number from which data needs to be displayed (0-based)", - "in" : "query", - "name" : "page", - "schema" : { - "type" : "integer", - "format" : "int32", - "default" : 0 - } - }, { - "description" : "Expected number of entries per page", - "in" : "query", - "name" : "pageSize", - "schema" : { - "type" : "integer", - "format" : "int32", - "default" : 1000 + "format" : "uuid" } } ], "responses" : { "200" : { "content" : { "application/json" : { - "examples" : { - "All resources" : { - "description" : "All resources", - "value" : "{\n \"resources\" : [ {\n \"minionId\" : \"minion-001\",\n \"resourceId\" : \"550e8400-e29b-41d4-a716-446655440000\",\n \"status\" : \"CONNECTED\"\n }, {\n \"minionId\" : \"minion-002\",\n \"resourceId\" : \"550e8400-e29b-41d4-a716-446655440002\",\n \"status\" : \"DISCONNECTED\"\n }, {\n \"minionId\" : \"minion-003\",\n \"resourceId\" : \"550e8400-e29b-41d4-a716-446655440003\",\n \"status\" : \"DISABLED\"\n } ]\n}" - }, - "Filtered by status" : { - "description" : "Filtered by status", - "value" : "{\n \"resources\" : [ {\n \"minionId\" : \"minion-001\",\n \"resourceId\" : \"550e8400-e29b-41d4-a716-446655440000\",\n \"status\" : \"CONNECTED\"\n }, {\n \"minionId\" : \"minion-004\",\n \"resourceId\" : \"550e8400-e29b-41d4-a716-446655440004\",\n \"status\" : \"CONNECTED\"\n } ]\n}" - } - }, + "example" : "{\n \"resourceId\" : \"e79be9bf-85d1-48d4-b0b3-4e8c621e8d10\",\n \"property\" : [ {\n \"name\" : \"Key1\",\n \"value\" : \"Value1\"\n } ]\n}", "schema" : { - "$ref" : "#/components/schemas/ResourceSaltStatuses" + "$ref" : "#/components/schemas/resource-property" + } + }, + "application/xml" : { + "example" : "\n\n Value1\n\n", + "schema" : { + "$ref" : "#/components/schemas/resource-property" } } }, - "description" : "Executed get all resources with their respective salt status" - }, - "400" : { - "description" : "Get Resources failed with errors", - "x-vmw-compiler-skip" : true - }, - "500" : { - "description" : "Error while processing get all resources with their respective salt status", - "x-vmw-compiler-skip" : true + "description" : "The ResourceProperties object that has the current values of all the Properties for the Resource" } }, - "summary" : "Get all resources with their respective salt status", - "tags" : [ "Salt Management" ] - } - }, - "/api/salt/resources/{id}/enable" : { + "summary" : "Get all the properties for the specified Resource", + "tags" : [ "Resource" ] + }, "post" : { - "operationId" : "configureMinion", + "description" : "In this case, the adapter instance used for pushing data will default to SuiteAPI. It is recommended (though not required) to use this API when the resource was created using the API
      POST /api/resources/{id}/adapters/{adapterInstanceId}. Otherwise an additional adapter instance might be created.
      Note: Those properties that are specified with old timestamp will be published with current time. As a result, only one of those properties will appear in vROps (e.g. the latest one will overwrite all previous ones).", + "operationId" : "addProperties", "parameters" : [ { - "description" : "ID of the resource", + "description" : "The ID of the resource", "in" : "path", "name" : "id", "required" : true, @@ -21353,63 +21677,44 @@ "requestBody" : { "content" : { "application/json" : { - "examples" : { - "Request with master ID" : { - "description" : "Request with master ID", - "value" : "{\n \"masterId\" : \"550e8400-e29b-41d4-a716-446655440001\"\n}" - }, - "Request without master ID" : { - "description" : "Request without master ID", - "value" : "{ }" - } - }, + "example" : "{\n \"property-content\" : [ {\n \"statKey\" : \"system|availability\",\n \"timestamps\" : [ 1119844280663 ],\n \"values\" : [ \"UP\" ]\n }, {\n \"statKey\" : \"config|num|processes\",\n \"timestamps\" : [ 1119844280663 ],\n \"data\" : [ 93.0 ]\n } ]\n}", "schema" : { - "$ref" : "#/components/schemas/ConfigureSaltRequest" + "$ref" : "#/components/schemas/property-contents" + } + }, + "application/xml" : { + "example" : "\n\n \n 1119844280663\n UP\n \n \n 1119844280663\n 93.0\n \n\n", + "schema" : { + "$ref" : "#/components/schemas/property-contents" } } }, - "description" : "Configuration for enabling salt for a particular resource", + "description" : "The properties for the Resource", "required" : true }, "responses" : { - "202" : { - "content" : { - "application/json" : { - "examples" : { - "Task queued" : { - "description" : "Task queued", - "value" : "{\n \"taskId\" : \"550e8400-e29b-41d4-a716-446655440010\",\n \"taskType\" : \"SALT_ENABLEMENT\",\n \"description\" : \"Configuration for enabling salt for resource\",\n \"createdTime\" : 1764547200000,\n \"taskStatus\" : \"QUEUED\",\n \"errorMessages\" : [ ],\n \"lastUpdateTime\" : 1764547200000\n}" - }, - "Task running" : { - "description" : "Task running", - "value" : "{\n \"taskId\" : \"550e8400-e29b-41d4-a716-446655440010\",\n \"taskType\" : \"SALT_ENABLEMENT\",\n \"description\" : \"Configuration for enabling salt for resource - in progress\",\n \"createdTime\" : 1764547170000,\n \"taskStatus\" : \"RUNNING\",\n \"errorMessages\" : [ ],\n \"lastUpdateTime\" : 1764547200000\n}" - }, - "Task succeeded" : { - "description" : "Task succeeded", - "value" : "{\n \"taskId\" : \"550e8400-e29b-41d4-a716-446655440010\",\n \"taskType\" : \"SALT_ENABLEMENT\",\n \"description\" : \"Configuration for enabling salt for resource completed successfully\",\n \"createdTime\" : 1764543600000,\n \"taskStatus\" : \"SUCCEEDED\",\n \"errorMessages\" : [ ],\n \"lastUpdateTime\" : 1764547200000\n}" - } - }, - "schema" : { - "$ref" : "#/components/schemas/SaltTaskDetails" - } - } - }, - "description" : "Configuration for enabling salt for resource done successfully" - }, - "500" : { - "description" : "Configuration for enabling salt for resource failed", - "x-vmw-compiler-skip" : true + "200" : { + "description" : "The properties are added successfully" } }, - "summary" : "Configuration for enabling salt for a particular resource", - "tags" : [ "Salt Management" ] + "summary" : "Add Properties to a Resource", + "tags" : [ "Resource" ] } }, - "/api/salt/resources/{id}/keys/rotate" : { + "/api/resources/{id}/properties/adapterkinds/{adapterKind}" : { "post" : { - "operationId" : "rotateResourceKeys", + "description" : "If the adapter kind specified is not present in the system, it will be created dynamically. However if the adapter kind specified already exists, then it must be of OPENAPI adapter kind type.", + "operationId" : "addPropertiesUsingPushAdapterKind", "parameters" : [ { - "description" : "ID of the resource", + "description" : "The Adapter Kind key of the adapter instance that will push the properties", + "in" : "path", + "name" : "adapterKind", + "required" : true, + "schema" : { + "type" : "string" + } + }, { + "description" : "The ID of the resource", "in" : "path", "name" : "id", "required" : true, @@ -21418,41 +21723,39 @@ "format" : "uuid" } } ], - "responses" : { - "202" : { - "content" : { - "application/json" : { - "examples" : { - "Task queued" : { - "description" : "Task queued", - "value" : "{\n \"taskId\" : \"550e8400-e29b-41d4-a716-446655440011\",\n \"taskType\" : \"ROTATE_KEYS\",\n \"description\" : \"Rotate keys for resource\",\n \"createdTime\" : 1764547200000,\n \"taskStatus\" : \"QUEUED\",\n \"errorMessages\" : [ ],\n \"lastUpdateTime\" : 1764547200000\n}" - }, - "Task succeeded" : { - "description" : "Task succeeded", - "value" : "{\n \"taskId\" : \"550e8400-e29b-41d4-a716-446655440011\",\n \"taskType\" : \"ROTATE_KEYS\",\n \"description\" : \"Rotate keys for resource completed successfully\",\n \"createdTime\" : 1764545400000,\n \"taskStatus\" : \"SUCCEEDED\",\n \"errorMessages\" : [ ],\n \"lastUpdateTime\" : 1764547200000\n}" - } - }, - "schema" : { - "$ref" : "#/components/schemas/SaltTaskDetails" - } + "requestBody" : { + "content" : { + "application/json" : { + "example" : "{\n \"property-content\" : [ {\n \"statKey\" : \"system|availability\",\n \"timestamps\" : [ 1119844280663 ],\n \"values\" : [ \"UP\" ]\n }, {\n \"statKey\" : \"config|num|processes\",\n \"timestamps\" : [ 1119844280663 ],\n \"data\" : [ 93.0 ]\n } ]\n}", + "schema" : { + "$ref" : "#/components/schemas/property-contents" } }, - "description" : "Rotate keys for resource done successfully" + "application/xml" : { + "example" : "\n\n \n 1119844280663\n UP\n \n \n 1119844280663\n 93.0\n \n\n", + "schema" : { + "$ref" : "#/components/schemas/property-contents" + } + } }, - "500" : { - "description" : "Rotate keys for resource failed", - "x-vmw-compiler-skip" : true + "description" : "The properties for the Resource", + "required" : true + }, + "responses" : { + "200" : { + "description" : "The properties are added successfully" } }, - "summary" : "Rotate keys for resource", - "tags" : [ "Salt Management" ] + "summary" : "Add Properties to a Resource along with associating an adapter instance of the specified adapter kind as the source of data", + "tags" : [ "Resource" ] } }, - "/api/salt/resources/{id}/status" : { + "/api/resources/{id}/relationships" : { "get" : { - "operationId" : "getSaltResourceById", + "description" : "If the optional query parameter 'relationshipType' is specified, relations of that particular Relationship Type are returned.
      Few sample URLs are shown below.
      /api/resources/{resourceId}/relationships?relationshipType=CHILD
      /api/resources/{resourceId}/relationships?relationshipType=PARENT", + "operationId" : "getRelationships", "parameters" : [ { - "description" : "ID of the resource", + "description" : "The UUID of the resource to set the relationships for", "in" : "path", "name" : "id", "required" : true, @@ -21460,211 +21763,314 @@ "type" : "string", "format" : "uuid" } + }, { + "description" : "The type of relationship of the objects; Uses the RelationshipType.representation value", + "in" : "query", + "name" : "relationshipType", + "required" : false, + "schema" : { + "type" : "string", + "enum" : [ "PARENT", "CHILD", "ALL" ] + } + }, { + "description" : "Page number from which data needs to be displayed (0-based)", + "in" : "query", + "name" : "page", + "schema" : { + "type" : "integer", + "format" : "int32", + "default" : 0 + } + }, { + "description" : "Expected number of entries per page", + "in" : "query", + "name" : "pageSize", + "schema" : { + "type" : "integer", + "format" : "int32", + "default" : 1000 + } } ], "responses" : { "200" : { "content" : { "application/json" : { - "examples" : { - "Connected minion" : { - "description" : "Connected minion", - "value" : "{\n \"minionId\" : \"minion-001\",\n \"resourceId\" : \"550e8400-e29b-41d4-a716-446655440000\",\n \"status\" : \"CONNECTED\"\n}" - }, - "Disabled minion" : { - "description" : "Disabled minion", - "value" : "{\n \"minionId\" : \"minion-003\",\n \"resourceId\" : \"550e8400-e29b-41d4-a716-446655440003\",\n \"status\" : \"DISABLED\"\n}" - }, - "Disconnected minion" : { - "description" : "Disconnected minion", - "value" : "{\n \"minionId\" : \"minion-002\",\n \"resourceId\" : \"550e8400-e29b-41d4-a716-446655440002\",\n \"status\" : \"DISCONNECTED\"\n}" - } - }, + "example" : "{\n \"relationshipType\" : \"ALL\",\n \"resourceList\" : [ {\n \"description\" : \"Some Virtual Machine\",\n \"creationTime\" : 10202319,\n \"resourceKey\" : {\n \"name\" : \"Cloud-VM\",\n \"resourceIdentifiers\" : [ ]\n },\n \"resourceStatusStates\" : [ ],\n \"dtEnabled\" : true,\n \"badges\" : [ ],\n \"relatedResources\" : [ ],\n \"identifier\" : \"cc78adce-b771-4da8-992c-c633a3e74cbe\"\n }, {\n \"description\" : \"Some NFS\",\n \"creationTime\" : 10202330,\n \"resourceKey\" : {\n \"name\" : \"NFS-Datastore\",\n \"resourceIdentifiers\" : [ ]\n },\n \"resourceStatusStates\" : [ ],\n \"dtEnabled\" : true,\n \"badges\" : [ ],\n \"relatedResources\" : [ ],\n \"identifier\" : \"96625cb5-7963-4d15-a40f-aeb44b455747\"\n } ]\n}", "schema" : { - "$ref" : "#/components/schemas/ResourceSaltStatus" + "$ref" : "#/components/schemas/resource-relation" + } + }, + "application/xml" : { + "example" : "\n\n ALL\n \n Some Virtual Machine\n \n Cloud-VM\n \n \n \n true\n \n \n \n \n Some NFS\n \n NFS-Datastore\n \n \n \n true\n \n \n \n\n", + "schema" : { + "$ref" : "#/components/schemas/resource-relation" } } }, - "description" : "Executed Get salt status for a resource" - }, - "500" : { - "description" : "Error while processing Get salt status for a resource", - "x-vmw-compiler-skip" : true + "description" : "All the related resources" } }, - "summary" : "Get salt status for a resource", - "tags" : [ "Salt Management" ] + "summary" : "Get ALL the related resources of a particular Relationship Type for a Resource", + "tags" : [ "Resource" ] } }, - "/api/salt/tasks/{taskId}" : { + "/api/resources/{id}/relationships/{relationshipType}" : { "get" : { - "operationId" : "getTask", + "description" : "The URL path variable 'relationshipType' uses the RelationshipType.representation value.
      Few sample URLs are shown below.
      /api/resources/{resourceId}/relationships/children
      /api/resources/{resourceId}/relationships/parents
      ", + "operationId" : "getRelationship", "parameters" : [ { - "description" : "Task Id", + "description" : "The UUID of the resource to set the relationships for", "in" : "path", - "name" : "taskId", + "name" : "id", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } + }, { + "description" : "The type of relationship of the objects; Uses the RelationshipType.representation value", + "in" : "path", + "name" : "relationshipType", + "required" : true, + "schema" : { + "type" : "string", + "enum" : [ "PARENT", "CHILD", "ALL" ] + } + }, { + "description" : "Page number from which data needs to be displayed (0-based)", + "in" : "query", + "name" : "page", + "schema" : { + "type" : "integer", + "format" : "int32", + "default" : 0 + } + }, { + "description" : "Expected number of entries per page", + "in" : "query", + "name" : "pageSize", + "schema" : { + "type" : "integer", + "format" : "int32", + "default" : 1000 + } } ], "responses" : { "200" : { "content" : { "application/json" : { - "examples" : { - "Task failed" : { - "description" : "Task failed", - "value" : "{\n \"taskId\" : \"550e8400-e29b-41d4-a716-446655440013\",\n \"taskType\" : \"SALT_ENABLEMENT\",\n \"description\" : \"Salt enablement task failed\",\n \"createdTime\" : 1764540000000,\n \"taskStatus\" : \"FAILED\",\n \"errorMessages\" : [ \"Connection timeout to minion\", \"Unable to establish SSH connection\" ],\n \"lastUpdateTime\" : 1764547200000\n}" - }, - "Task running" : { - "description" : "Task running", - "value" : "{\n \"taskId\" : \"550e8400-e29b-41d4-a716-446655440012\",\n \"taskType\" : \"ROTATE_KEYS\",\n \"description\" : \"Rotate keys task in progress\",\n \"createdTime\" : 1764547140000,\n \"taskStatus\" : \"RUNNING\",\n \"errorMessages\" : [ ],\n \"lastUpdateTime\" : 1764547200000\n}" - }, - "Task succeeded" : { - "description" : "Task succeeded", - "value" : "{\n \"taskId\" : \"550e8400-e29b-41d4-a716-446655440010\",\n \"taskType\" : \"SALT_ENABLEMENT\",\n \"description\" : \"Salt enablement task completed successfully\",\n \"createdTime\" : 1764543600000,\n \"taskStatus\" : \"SUCCEEDED\",\n \"errorMessages\" : [ ],\n \"lastUpdateTime\" : 1764547200000\n}" - } - }, + "example" : "{\n \"relationshipType\" : \"CHILD\",\n \"resourceList\" : [ {\n \"creationTime\" : 1753426400609,\n \"resourceKey\" : {\n \"name\" : \"VM1\",\n \"resourceIdentifiers\" : [ ]\n },\n \"credentialInstanceId\" : \"51f8f60d-4a39-4839-9924-698d022e2e10\",\n \"resourceStatusStates\" : [ ],\n \"dtEnabled\" : true,\n \"badges\" : [ ],\n \"relatedResources\" : [ ],\n \"identifier\" : \"19464db6-8d2e-48e9-a682-642b388d453b\"\n }, {\n \"creationTime\" : 1753426411121,\n \"resourceKey\" : {\n \"name\" : \"VM2\",\n \"resourceIdentifiers\" : [ ]\n },\n \"credentialInstanceId\" : \"b1f8f60d-4a39-9348-9924-068d022e2b00\",\n \"resourceStatusStates\" : [ ],\n \"dtEnabled\" : true,\n \"badges\" : [ ],\n \"relatedResources\" : [ ],\n \"identifier\" : \"076e9396-3dfe-4cea-90ed-f0da719e3c15\"\n } ]\n}", "schema" : { - "$ref" : "#/components/schemas/SaltTaskDetails" + "$ref" : "#/components/schemas/resource-relation" + } + }, + "application/xml" : { + "example" : "\n\n CHILD\n \n \n VM1\n \n \n 51f8f60d-4a39-4839-9924-698d022e2e10\n \n true\n \n \n \n \n \n VM2\n \n \n b1f8f60d-4a39-9348-9924-068d022e2b00\n \n true\n \n \n \n\n", + "schema" : { + "$ref" : "#/components/schemas/resource-relation" } } }, - "description" : "Executed Get salt task details for a task Id" - }, - "400" : { - "description" : "Get Resources failed with errors", - "x-vmw-compiler-skip" : true - }, - "404" : { - "description" : "Salt Task not found", - "x-vmw-compiler-skip" : true - }, - "500" : { - "description" : "Error while processing Get salt task details for a task Id", - "x-vmw-compiler-skip" : true + "description" : "All the related resources" } }, - "summary" : "Get task details for a task Id", - "tags" : [ "Salt Management" ] - } - }, - "/api/solutions" : { - "get" : { - "description" : "Get data about all the solutions associated with VMware Cloud Foundation Operations instance. Data includes name, version , vendor and adapterKinds of the solution.", - "operationId" : "getSolutions", - "responses" : { - "200" : { - "content" : { - "application/json" : { - "example" : "{\n \"id\" : \"VMware vSphere\",\n \"name\" : \"vSphere\",\n \"version\" : \"6.0.22\",\n \"description\" : \"DESCRIPTION\",\n \"vendor\" : \"VENDOR\",\n \"adapterKindKeys\" : [ \"VMWARE\", \"PythonRemediationAdapter\" ]\n}", - "schema" : { - "$ref" : "#/components/schemas/solutions" - } - }, - "application/xml" : { - "example" : "\n\n vSphere\n 6.0.22\n DESCRIPTION\n VENDOR\n VMWARE PythonRemediationAdapter\n\n", - "schema" : { - "$ref" : "#/components/schemas/solutions" - } + "summary" : "Get the related resources of a particular Relationship Type for a Resource", + "tags" : [ "Resource" ] + }, + "post" : { + "description" : "

      • If at least a few of the Resource that are part of relatedIds list
        are valid resources then the operation is performed.

      • If there are few Resource that are part of relatedIds list
        that will result in a cyclical relationship, then those resources will be skipped.

      NOTE: Adding relationship is not synchronous. As a
      result, the add operation may not happen immediately. It is recommended
      to query the relationships of the specific Resource back to ensure that the
      operation was indeed successful.

      ", + "operationId" : "addRelationship", + "parameters" : [ { + "description" : "The UUID of the source resource", + "in" : "path", + "name" : "id", + "required" : true, + "schema" : { + "type" : "string", + "format" : "uuid" + } + }, { + "description" : "The type of relationship of the objects; Uses the RelationshipType.representation value", + "in" : "path", + "name" : "relationshipType", + "required" : true, + "schema" : { + "type" : "string", + "enum" : [ "parents", "children" ] + } + } ], + "requestBody" : { + "content" : { + "application/json" : { + "example" : "{\n \"uuids\" : [ \"df6de846-0e97-408d-bcff-be0026eba68a\", \"b3a3b7ef-7871-4238-86f4-3a5f10294450\" ]\n}", + "schema" : { + "$ref" : "#/components/schemas/uuid-values" } }, - "description" : "The Solutions" + "application/xml" : { + "example" : "\n\n df6de846-0e97-408d-bcff-be0026eba68a b3a3b7ef-7871-4238-86f4-3a5f10294450\n\n", + "schema" : { + "$ref" : "#/components/schemas/uuid-values" + } + } + }, + "description" : "UUID of resources to add as related to this resource", + "required" : true + }, + "responses" : { + "204" : { + "description" : "The relationship is added successfully" + }, + "404" : { + "description" : "All of the Resource that are part of the relatedIds list are invalid/non-existent", + "x-vmw-compiler-skip" : true } }, - "summary" : "Get all solutions installed in the product", - "tags" : [ "Solutions" ] + "summary" : "Add relationships of given type to the resource with specified resourceId", + "tags" : [ "Resource" ] + }, + "put" : { + "description" : "This API exposes replace semantics. Therefore, all the existing relationships of the
      specified relationshipType will be removed and replaced with the resources
      specified as part of the request body.

      • If at least a few of the Resource that are part of relatedIds list
        are valid resources then the operation is performed.

      • If there are few Resource that are part of relatedIds list
        that will result in a cyclical relationship, then the operation is aborted.

      NOTE: Setting relationship is not synchronous.
      As a result, the set operation may not happen immediately. It is recommended
      to query the relationships of the specific Resource back to ensure that the
      operation was indeed successful.", + "operationId" : "setRelationship", + "parameters" : [ { + "description" : "The UUID of the source resource", + "in" : "path", + "name" : "id", + "required" : true, + "schema" : { + "type" : "string", + "format" : "uuid" + } + }, { + "description" : "The type of relationship of the objects; Uses the RelationshipType.representation value", + "in" : "path", + "name" : "relationshipType", + "required" : true, + "schema" : { + "type" : "string", + "enum" : [ "parents", "children" ] + } + } ], + "requestBody" : { + "content" : { + "application/json" : { + "example" : "{\n \"uuids\" : [ \"df6de846-0e97-408d-bcff-be0026eba68a\", \"b3a3b7ef-7871-4238-86f4-3a5f10294450\" ]\n}", + "schema" : { + "$ref" : "#/components/schemas/uuid-values" + } + }, + "application/xml" : { + "example" : "\n\n df6de846-0e97-408d-bcff-be0026eba68a b3a3b7ef-7871-4238-86f4-3a5f10294450\n\n", + "schema" : { + "$ref" : "#/components/schemas/uuid-values" + } + } + }, + "description" : "UUID of resources to set as related to this resource", + "required" : true + }, + "responses" : { + "204" : { + "description" : "The relationship is set successfully" + }, + "404" : { + "description" : "All of the Resource that are part of the relatedIds list are invalid/non-existent", + "x-vmw-compiler-skip" : true + } + }, + "summary" : "Set (Replace) Resource as RelationshipType of a specific Resource", + "tags" : [ "Resource" ] } }, - "/api/solutions/{solutionId}" : { - "get" : { - "description" : "Data includes name, version, vendor and adapterKinds of the solution", - "operationId" : "getSolution", + "/api/resources/{id}/relationships/{relationshipType}/{relatedId}" : { + "delete" : { + "description" : "

      NOTE: Removing a relationship is not synchronous. As a
      result, the delete operation may not happen immediately. It is recommended
      to query the relationships of the specific Resource back to ensure that the
      operation was indeed successful.

      ", + "operationId" : "deleteRelationship", "parameters" : [ { - "description" : "The Id of the solution", + "description" : "The UUID of the resource", "in" : "path", - "name" : "solutionId", + "name" : "id", + "required" : true, + "schema" : { + "type" : "string", + "format" : "uuid" + } + }, { + "description" : "Type of the Relationship that needs to be removed", + "in" : "path", + "name" : "relationshipType", "required" : true, "schema" : { "type" : "string" } + }, { + "description" : "The UUID of the resource to remove from relationship", + "in" : "path", + "name" : "relatedId", + "required" : true, + "schema" : { + "type" : "string", + "format" : "uuid" + } } ], "responses" : { - "200" : { - "content" : { - "application/json" : { - "example" : "{\n \"id\" : \"VMware vSphere\",\n \"name\" : \"vSphere\",\n \"version\" : \"6.0.22\",\n \"description\" : \"DESCRIPTION\",\n \"vendor\" : \"VENDOR\",\n \"adapterKindKeys\" : [ \"VMWARE\", \"PythonRemediationAdapter\" ]\n}", - "schema" : { - "$ref" : "#/components/schemas/solution" - } - }, - "application/xml" : { - "example" : "\n\n vSphere\n 6.0.22\n DESCRIPTION\n VENDOR\n VMWARE PythonRemediationAdapter\n\n", - "schema" : { - "$ref" : "#/components/schemas/solution" - } - } - }, - "description" : "The solution info" + "204" : { + "description" : "The relationship is deleted successfully" }, "404" : { - "description" : "The specified Id does not exist in the system", + "description" : "Either of the Resource that are part of the path parameters are invalid/non-existent", "x-vmw-compiler-skip" : true } }, - "summary" : "Get solution data for the specified id", - "tags" : [ "Solutions" ] + "summary" : "Delete (remove) a Resource as RelationshipType of a specific Resource", + "tags" : [ "Resource" ] } }, - "/api/solutions/{solutionId}/adapterkinds" : { + "/api/resources/{id}/statkeys" : { "get" : { - "description" : "Get Adapter Kind details for the specified solution id", - "operationId" : "getAdapterKindsForSolution", + "description" : "Get all the stat keys for the specified Resource", + "operationId" : "getStatKeys", "parameters" : [ { - "description" : "The id of the solution", + "description" : "The ID of the resource", "in" : "path", - "name" : "solutionId", + "name" : "id", "required" : true, "schema" : { - "type" : "string" + "type" : "string", + "format" : "uuid" } } ], "responses" : { "200" : { "content" : { "application/json" : { - "example" : "No Custom Example is Available", + "example" : "{\n \"stat-key\" : [ {\n \"key\" : \"cpu|demand\"\n }, {\n \"key\" : \"cpu|usage\"\n } ]\n}", "schema" : { - "$ref" : "#/components/schemas/adapter-kinds" + "$ref" : "#/components/schemas/stat-keys" } }, "application/xml" : { - "example" : "No Custom Example is Available", + "example" : "\n\n \n cpu|demand\n \n \n cpu|usage\n \n\n", "schema" : { - "$ref" : "#/components/schemas/adapter-kinds" + "$ref" : "#/components/schemas/stat-keys" } } }, - "description" : "The adapter kind info" - }, - "404" : { - "description" : "The specified Id does not exist in the system", - "x-vmw-compiler-skip" : true + "description" : "The list of Stat Keys" } }, - "summary" : "Get Adapter Kind details for the specified solution id", - "tags" : [ "Solutions" ] + "summary" : "Get all the stat keys for the specified Resource", + "tags" : [ "Resource" ] } }, - "/api/supermetrics" : { + "/api/resources/{id}/stats" : { "get" : { - "description" : "Get a collection of SuperMetrics based on search parameters", - "operationId" : "getSuperMetrics", + "description" : "NOTE: Unless a time range is explicitly set, the method returns statKeys which have received data in the last 24 hours.", + "operationId" : "getStatsOfResource", "parameters" : [ { - "description" : "SuperMetrics based on identifiers", + "description" : "Array of Resource ids for which the stats should be fetched", "in" : "query", - "name" : "id", + "name" : "resourceId", "required" : false, "schema" : { "type" : "array", @@ -21674,9 +22080,9 @@ } } }, { - "description" : "SuperMetrics based on names", + "description" : "Array of stat keys for which the stats should be returned", "in" : "query", - "name" : "name", + "name" : "statKey", "required" : false, "schema" : { "type" : "array", @@ -21685,160 +22091,197 @@ } } }, { - "description" : "Page number from which data needs to be displayed (0-based)", + "description" : "The beginning date as a long value of the range of stats to return
      Value measures the number of milliseconds since January 1, 1970 00:00:00 UTC
      NOTE: If not provided, 24 hour rearward of ending date is used", "in" : "query", - "name" : "page", + "name" : "begin", + "required" : false, "schema" : { "type" : "integer", - "format" : "int32", - "default" : 0 + "format" : "int64", + "description" : "The beginning date as a long value of the range of stats to return
      Value measures the number of milliseconds since January 1, 1970 00:00:00 UTC
      NOTE: If not provided, 24 hour rearward of ending date is used" } }, { - "description" : "Expected number of entries per page", + "description" : "The ending date as a long value of the range of stats to return
      Long value is number of milliseconds since January 1, 1970 00:00:00 UTC
      NOTE: The ending date must not be less than the beginning date.
      If not provided, current time as UTC milliseconds is used", "in" : "query", - "name" : "pageSize", + "name" : "end", + "required" : false, "schema" : { "type" : "integer", - "format" : "int32", - "default" : 1000 + "format" : "int64", + "description" : "The ending date as a long value of the range of stats to return
      Long value is number of milliseconds since January 1, 1970 00:00:00 UTC
      NOTE: The ending date must not be less than the beginning date.
      If not provided, current time as UTC milliseconds is used" } - } ], - "responses" : { - "200" : { - "content" : { - "application/json" : { - "example" : "{\n \"superMetrics\" : [ {\n \"id\" : \"f8dfc0a9-0ad2-42a7-b12e-09372d9179eb\",\n \"name\" : \"Example SuperMetric for DataCenter\",\n \"formula\" : \"sumN(\\\\$This:cpu|demandmhz,2)\",\n \"description\" : \"Sum the CPU usage in MHZ on the assigned resource and its children\"\n }, {\n \"id\" : \"f8dfc0a9-0ad2-42a7-b12e-09372d9179eb\",\n \"name\" : \"Example SuperMetric for DataCenter\",\n \"formula\" : \"sumN(\\\\$This:cpu|demandmhz,2)\",\n \"description\" : \"Sum the CPU usage in MHZ on the assigned resource and its children\"\n } ]\n}", - "schema" : { - "$ref" : "#/components/schemas/supermetrics" - } - }, - "application/xml" : { - "example" : "\n\n \n f8dfc0a9-0ad2-42a7-b12e-09372d9179eb\n Example SuperMetric for DataCenter\n sumN(\\$This:cpu|demandmhz,2)\n Sum the CPU usage in MHZ on the assigned resource and its children\n \n \n f8dfc0a9-0ad2-42a7-b12e-09372d9179eb\n Example SuperMetric for DataCenter\n sumN(\\$This:cpu|demandmhz,2)\n Sum the CPU usage in MHZ on the assigned resource and its children\n \n\n", - "schema" : { - "$ref" : "#/components/schemas/supermetrics" - } - } - }, - "description" : "The SuperMetrics for the given query" + }, { + "description" : "Rollup Type requested by the user (e.g.: AVG, MIN, MAX etc.)", + "in" : "query", + "name" : "rollUpType", + "required" : false, + "schema" : { + "type" : "string", + "description" : "Represents the type of Rollup required for the stats data", + "enum" : [ "SUM", "AVG", "MIN", "MAX", "NONE", "LATEST", "COUNT" ] } - }, - "summary" : "Get a collection of SuperMetrics based on search parameters", - "tags" : [ "Super Metrics" ] - }, - "post" : { - "description" : "Create a SuperMetric with the given name, formula and description", - "operationId" : "createSuperMetric", - "requestBody" : { - "content" : { - "application/json" : { - "example" : "{\n \"name\" : \"Example SuperMetric for DataCenter\",\n \"formula\" : \"sumN(\\\\$This:cpu|demandmhz,2)\",\n \"description\" : \"Sum the CPU usage in MHZ on the assigned resource and its children\"\n}", - "schema" : { - "$ref" : "#/components/schemas/supermetric" - } - }, - "application/xml" : { - "example" : "\n\n Example SuperMetric for DataCenter\n sumN(\\$This:cpu|demandmhz,2)\n Sum the CPU usage in MHZ on the assigned resource and its children\n\n", - "schema" : { - "$ref" : "#/components/schemas/supermetric" - } - } - }, - "description" : "The SuperMetric to create", - "required" : true - }, + }, { + "description" : "Interval type requested by the user (e.g: Days, Weeks, Months etc.)", + "in" : "query", + "name" : "intervalType", + "required" : false, + "schema" : { + "type" : "string", + "description" : "The Interval types", + "enum" : [ "HOURS", "MINUTES", "SECONDS", "DAYS", "WEEKS", "MONTHS", "YEARS" ] + } + }, { + "description" : "Number for the interval type", + "in" : "query", + "name" : "intervalQuantifier", + "required" : false, + "schema" : { + "type" : "integer", + "format" : "int32", + "description" : "Number for the interval type", + "minimum" : 1 + } + }, { + "description" : "Indicates that the requested stats are based on some dynamic threshold.
      Defaults to false which indicates that stats are not based on dynamic threshold.", + "in" : "query", + "name" : "dt", + "required" : false, + "schema" : { + "type" : "boolean", + "description" : "Indicates that the requested stats are based on some dynamic threshold.
      Defaults to false which indicates that stats are not based on dynamic threshold." + } + }, { + "description" : "The maximum number of samples to return when querying latest.
      When processing the get latest stats query if it is omitted a value of 1 is assumed.
      A query for the latest samples is not compatible with specifying the RollUpType value.", + "in" : "query", + "name" : "latestMaxSamples", + "required" : false, + "schema" : { + "type" : "integer", + "format" : "int32", + "description" : "The maximum number of samples to return when querying latest.
      When processing the get latest stats query if it is omitted a value of 1 is assumed.
      A query for the latest samples is not compatible with specifying the RollUpType value." + } + }, { + "description" : "Indicates whether specified statKey-s of query should be forcibly treated as metrics (does not include instanced stats)", + "in" : "query", + "name" : "metrics", + "required" : false, + "schema" : { + "type" : "boolean", + "description" : "Indicates whether specified statKey-s of query should be forcibly treated as metrics (does not include instanced stats)" + } + }, { + "description" : "Indicates whether to report only \"current\" stat values, i.e. skip the stat-s that haven't published any value
      during recent collection cycles.", + "in" : "query", + "name" : "currentOnly", + "required" : false, + "schema" : { + "type" : "boolean", + "description" : "Indicates whether to report only \"current\" stat values, i.e. skip the stat-s that haven't published any value
      during recent collection cycles." + } + }, { + "description" : "Indicates whether stat values should be wrapped for application/xml response content type.
      This flag is false by default and not needed for application/json response.
      If set to true \"statValues\" will be returned instead of \"values\" for all content types.", + "in" : "query", + "name" : "wrapStatValues", + "required" : false, + "schema" : { + "type" : "boolean", + "description" : "Indicates whether stat values should be wrapped for application/xml response content type.
      This flag is false by default and not needed for application/json response.
      If set to true \"statValues\" will be returned instead of \"values\" for all content types." + } + }, { + "description" : "The Identifier of the resource object", + "in" : "path", + "name" : "id", + "required" : true, + "schema" : { + "type" : "string", + "format" : "uuid" + } + } ], "responses" : { - "201" : { + "200" : { "content" : { "application/json" : { - "example" : "{\n \"id\" : \"f8dfc0a9-0ad2-42a7-b12e-09372d9179eb\",\n \"name\" : \"Example SuperMetric for DataCenter\",\n \"formula\" : \"sumN(\\\\$This:cpu|demandmhz,2)\",\n \"description\" : \"Sum the CPU usage in MHZ on the assigned resource and its children\"\n}", + "example" : "{\n \"values\" : [ {\n \"resourceId\" : \"2d16d6ea-21cd-48e5-a8e8-936da75185b5\",\n \"stat-list\" : {\n \"stat\" : [ {\n \"timestamps\" : [ 1753340126993, 1753340136993 ],\n \"statKey\" : {\n \"key\" : \"stat|key1\"\n },\n \"rollUpType\" : \"NONE\",\n \"intervalUnit\" : {\n \"quantifier\" : 5,\n \"intervalType\" : \"MINUTES\"\n },\n \"data\" : [ 1.0, 2.0 ],\n \"dtTimestamps\" : [ 1753340126993, 1753340136993, 1753340146993 ],\n \"minThresholdData\" : [ 0.5, 1.0 ],\n \"maxThresholdData\" : [ 1.5, 3.0 ],\n \"smoothValues\" : [ 1.5, 1.5 ]\n } ]\n }\n } ]\n}", "schema" : { - "$ref" : "#/components/schemas/supermetric" + "$ref" : "#/components/schemas/stats-of-resources" } }, "application/xml" : { - "example" : "\n\n f8dfc0a9-0ad2-42a7-b12e-09372d9179eb\n Example SuperMetric for DataCenter\n sumN(\\$This:cpu|demandmhz,2)\n Sum the CPU usage in MHZ on the assigned resource and its children\n\n", + "example" : "\n\n \n 2d16d6ea-21cd-48e5-a8e8-936da75185b5\n \n \n 1753340126993 1753340136993\n \n stat|key1\n \n NONE\n \n 5\n MINUTES\n \n 1.0 2.0\n 1753340126993 1753340136993 1753340146993\n 0.5 1.0\n 1.5 3.0\n 1.5 1.5\n \n \n \n\n", "schema" : { - "$ref" : "#/components/schemas/supermetric" + "$ref" : "#/components/schemas/stats-of-resources" } } }, - "description" : "The created SuperMetric from the server" + "description" : "Object, containing a map of List of Stat objects keyed by each resource UUID" } }, - "summary" : "Create a SuperMetric with the given name, formula and description", - "tags" : [ "Super Metrics" ] + "summary" : "Look up stats of a group of objects with the resource ids", + "tags" : [ "Resource" ] }, - "put" : { - "description" : "Update a SuperMetric with the given name, formula and description", - "operationId" : "updateSuperMetric", + "post" : { + "description" : "In this case, the adapter instance used for pushing data will default to vRealizeOpsMgrAPI. It is recommended (though not required) to use this API when the resource was created using the API POST /api/resources/{id}/adapters/{adapterInstanceId}. Otherwise an additional adapter instance might be created.", + "operationId" : "addStats", + "parameters" : [ { + "description" : "The Identifier of the resource object", + "in" : "path", + "name" : "id", + "required" : true, + "schema" : { + "type" : "string", + "format" : "uuid" + } + }, { + "description" : "Whether the current data set goes through Analytics processing (Threshold checking, Alert generation) or not. Defaults to false. But when set to true will result in no evaluation of Alerts but the data gets stored.", + "in" : "query", + "name" : "disableAnalyticsProcessing", + "required" : false, + "schema" : { + "type" : "boolean", + "default" : false + } + } ], "requestBody" : { "content" : { "application/json" : { - "example" : "{\n \"id\" : \"fd55436a-cd9c-47ea-85cf-64ac9549c5ca\",\n \"name\" : \"Example SuperMetric for DataCenter\",\n \"formula\" : \"sumN(\\\\$This:cpu|demandmhz,2)\",\n \"description\" : \"Sum the CPU usage in MHZ on the assigned resource and its children\"\n}", + "example" : "{\n \"stat-content\" : [ {\n \"statKey\" : \"cpu|demandGhz\",\n \"timestamps\" : [ 1119844280663, 1119844280693, 1119844280713 ],\n \"data\" : [ 0.2, 0.3, 0.4 ]\n }, {\n \"statKey\" : \"mem|overload\",\n \"timestamps\" : [ 1119844280663, 1119844280693, 1119844280713, 1119844280718 ],\n \"data\" : [ 93.0, 95.0, 97.0, 99.0 ]\n } ]\n}", "schema" : { - "$ref" : "#/components/schemas/supermetric" + "$ref" : "#/components/schemas/stat-contents" } }, "application/xml" : { - "example" : "\n\n fd55436a-cd9c-47ea-85cf-64ac9549c5ca\n Example SuperMetric for DataCenter\n sumN(\\$This:cpu|demandmhz,2)\n Sum the CPU usage in MHZ on the assigned resource and its children\n\n", + "example" : "\n\n \n 1119844280663\n 1119844280693\n 1119844280713\n 0.2\n 0.3\n 0.4\n \n \n 1119844280663\n 1119844280693\n 1119844280713\n 1119844280718\n 93.0\n 95.0\n 97.0\n 99.0\n \n\n", "schema" : { - "$ref" : "#/components/schemas/supermetric" + "$ref" : "#/components/schemas/stat-contents" } } }, - "description" : "The updated SuperMetric", + "description" : "The stats for the Resource", "required" : true }, "responses" : { "200" : { - "content" : { - "application/json" : { - "example" : "{\n \"id\" : \"f8dfc0a9-0ad2-42a7-b12e-09372d9179eb\",\n \"name\" : \"Example SuperMetric for DataCenter\",\n \"formula\" : \"sumN(\\\\$This:cpu|demandmhz,2)\",\n \"description\" : \"Sum the CPU usage in MHZ on the assigned resource and its children\"\n}", - "schema" : { - "$ref" : "#/components/schemas/supermetric" - } - }, - "application/xml" : { - "example" : "\n\n f8dfc0a9-0ad2-42a7-b12e-09372d9179eb\n Example SuperMetric for DataCenter\n sumN(\\$This:cpu|demandmhz,2)\n Sum the CPU usage in MHZ on the assigned resource and its children\n\n", - "schema" : { - "$ref" : "#/components/schemas/supermetric" - } - } - }, - "description" : "The updated SuperMetric object" + "description" : "The stats are added successfully" } }, - "summary" : "Update a SuperMetric with the given name, formula and description", - "tags" : [ "Super Metrics" ] + "summary" : "Add Stats to a Resource", + "tags" : [ "Resource" ] } }, - "/api/supermetrics/{id}" : { - "delete" : { - "description" : "Delete a SuperMetric", - "operationId" : "deleteSuperMetric", + "/api/resources/{id}/stats/adapterkinds/{adapterKind}" : { + "post" : { + "description" : "If the adapter kind specified is not present in the system, it will be created dynamically. However if the adapter kind specified already exists, then it must be of OPENAPI adapter kind type.", + "operationId" : "addStatsUsingPushAdapterKind", "parameters" : [ { - "description" : "The Identifier of the SuperMetric to delete", + "description" : "The ID of the adapter kind that will push the stats", "in" : "path", - "name" : "id", + "name" : "adapterKind", "required" : true, "schema" : { - "type" : "string", - "format" : "uuid" - } - } ], - "responses" : { - "204" : { - "description" : "The super metric is deleted successfully" + "type" : "string" } - }, - "summary" : "Delete a SuperMetric", - "tags" : [ "Super Metrics" ] - }, - "get" : { - "description" : "Get a SuperMetric with the given ID", - "operationId" : "getSuperMetric", - "parameters" : [ { - "description" : "The Identifier of the SuperMetric", + }, { + "description" : "The Identifier of the resource object", "in" : "path", "name" : "id", "required" : true, @@ -21846,56 +22289,175 @@ "type" : "string", "format" : "uuid" } + }, { + "description" : "Whether the current data set goes through Analytics processing (Threshold checking, Alert generation) or not. Defaults to false. But when set to true will result in no evaluation of Alerts but the data gets stored.", + "in" : "query", + "name" : "disableAnalyticsProcessing", + "required" : false, + "schema" : { + "type" : "boolean", + "default" : false + } } ], - "responses" : { - "200" : { - "content" : { - "application/json" : { - "example" : "{\n \"id\" : \"f8dfc0a9-0ad2-42a7-b12e-09372d9179eb\",\n \"name\" : \"Example SuperMetric for DataCenter\",\n \"formula\" : \"sumN(\\\\$This:cpu|demandmhz,2)\",\n \"description\" : \"Sum the CPU usage in MHZ on the assigned resource and its children\"\n}", - "schema" : { - "$ref" : "#/components/schemas/supermetric" - } - }, - "application/xml" : { - "example" : "\n\n f8dfc0a9-0ad2-42a7-b12e-09372d9179eb\n Example SuperMetric for DataCenter\n sumN(\\$This:cpu|demandmhz,2)\n Sum the CPU usage in MHZ on the assigned resource and its children\n\n", - "schema" : { - "$ref" : "#/components/schemas/supermetric" - } + "requestBody" : { + "content" : { + "application/json" : { + "example" : "{\n \"stat-content\" : [ {\n \"statKey\" : \"cpu|demandGhz\",\n \"timestamps\" : [ 1119844280663, 1119844280693, 1119844280713 ],\n \"data\" : [ 0.2, 0.3, 0.4 ]\n }, {\n \"statKey\" : \"mem|overload\",\n \"timestamps\" : [ 1119844280663, 1119844280693, 1119844280713, 1119844280718 ],\n \"data\" : [ 93.0, 95.0, 97.0, 99.0 ]\n } ]\n}", + "schema" : { + "$ref" : "#/components/schemas/stat-contents" } }, - "description" : "The Super Metric with the given identifier" + "application/xml" : { + "example" : "\n\n \n 1119844280663\n 1119844280693\n 1119844280713\n 0.2\n 0.3\n 0.4\n \n \n 1119844280663\n 1119844280693\n 1119844280713\n 1119844280718\n 93.0\n 95.0\n 97.0\n 99.0\n \n\n", + "schema" : { + "$ref" : "#/components/schemas/stat-contents" + } + } + }, + "description" : "The stats for the Resource", + "required" : true + }, + "responses" : { + "200" : { + "description" : "The stats are added successfully" } }, - "summary" : "Get a SuperMetric with the given id", - "tags" : [ "Super Metrics" ] + "summary" : "Add Stats to a Resource along with associating an adapter instance of the specified adapter kind as the source of data", + "tags" : [ "Resource" ] } }, - "/api/symptomdefinitions" : { + "/api/resources/{id}/stats/dt" : { "get" : { - "description" : "NOTE: When making an XML request, make sure the statKey field does not contain any key name with spaces.", - "operationId" : "getSymptomDefinitions", + "description" : "The API returns 24 hours of Stats and DT data by default for the specified Resource.", + "operationId" : "getDTStatsOfResource", "parameters" : [ { - "description" : "The adapter kind identifier of the symptom definitions to search for", + "description" : "Collection of Resource identifiers for which Stats and DT values need to be retrieved", "in" : "query", - "name" : "adapterKind", + "name" : "resourceId", + "required" : true, + "schema" : { + "type" : "array", + "items" : { + "type" : "string", + "format" : "uuid" + } + } + }, { + "description" : "Collection of StatKeys for which Stats and DT values need to be retrieved", + "in" : "query", + "name" : "statKey", + "required" : true, + "schema" : { + "type" : "array", + "items" : { + "type" : "string" + }, + "maxItems" : 2147483647, + "minItems" : 1 + } + }, { + "description" : "The beginning date as a long value of the range of stats to return
      Value measures the number of milliseconds since January 1, 1970 00:00:00 UTC", + "in" : "query", + "name" : "begin", "required" : false, "schema" : { - "type" : "string", - "description" : "The adapter kind identifier of the symptom definitions to search for" + "type" : "integer", + "format" : "int64", + "description" : "The beginning date as a long value of the range of stats to return
      Value measures the number of milliseconds since January 1, 1970 00:00:00 UTC" } }, { - "description" : "The resource kind identifier of the symptom definitions to search for", + "description" : "The ending date as a long value of the range of stats to return
      long value is number of milliseconds since January 1, 1970 00:00:00 UTC", "in" : "query", - "name" : "resourceKind", + "name" : "end", "required" : false, "schema" : { - "type" : "string", - "description" : "The resource kind identifier of the symptom definitions to search for" + "type" : "integer", + "format" : "int64", + "description" : "The ending date as a long value of the range of stats to return
      long value is number of milliseconds since January 1, 1970 00:00:00 UTC" } }, { - "description" : "The identifier(s) of the symptom definitions to search for. Exact match.", + "description" : "Flag that indicates whether stats should be smoothened or not. Default value is true", + "in" : "query", + "name" : "showSmooth", + "required" : false, + "schema" : { + "type" : "boolean", + "description" : "Flag that indicates whether stats should be smoothened or not. Default value is true" + } + }, { + "description" : "The smooth precision, default value is 2.0", "in" : "query", + "name" : "smoothFactor", + "required" : false, + "schema" : { + "type" : "number", + "format" : "double", + "description" : "The smooth precision, default value is 2.0" + } + }, { + "description" : "The Identifier of the resource object", + "in" : "path", "name" : "id", + "required" : true, + "schema" : { + "type" : "string", + "format" : "uuid" + } + } ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "example" : "No Custom Example is Available", + "schema" : { + "$ref" : "#/components/schemas/stats-of-resources" + } + }, + "application/xml" : { + "example" : "No Custom Example is Available", + "schema" : { + "$ref" : "#/components/schemas/stats-of-resources" + } + } + }, + "description" : "Object, containing a map of List of Stat objects keyed by each resource UUID" + } + }, + "summary" : "Get Stats and Dynamic Threshold values for one or more StatKeys and for a Collection of Resources", + "tags" : [ "Resource" ] + } + }, + "/api/resources/{id}/stats/latest" : { + "get" : { + "description" : "Get the latest stat for a given Resource and given a set of attributes", + "operationId" : "getLatestStats", + "parameters" : [ { + "description" : "The StatsQuery object which can be used to refine the query", + "in" : "path", + "name" : "id", + "required" : true, + "schema" : { + "type" : "string", + "format" : "uuid" + } + }, { + "description" : "Array of Resource ids for which the latest stats should be fetched", + "in" : "query", + "name" : "resourceId", + "required" : false, + "schema" : { + "type" : "array", + "items" : { + "type" : "string", + "format" : "uuid" + }, + "maxItems" : 1000, + "minItems" : 1 + } + }, { + "description" : "Array of stat keys for which the latest stats should be returned", + "in" : "query", + "name" : "statKey", "required" : false, "schema" : { "type" : "array", @@ -21904,294 +22466,171 @@ } } }, { - "description" : "The substring of the symptom definition's name to search for. Case-insensitive.", + "description" : "Indicates whether specified statKey-s of query should be forcibly treated as metrics (does not include instanced stats)", "in" : "query", - "name" : "name", + "name" : "metrics", "required" : false, "schema" : { - "type" : "string", - "description" : "The substring of the symptom definition's name to search for. Case-insensitive." + "type" : "boolean", + "description" : "Indicates whether specified statKey-s of query should be forcibly treated as metrics (does not include instanced stats)" } }, { - "description" : "Page number from which data needs to be displayed (0-based)", + "description" : "Indicates whether to report only \"current\" stat values, i.e. skip the stat-s that haven't published any value
      during recent collection cycles.", "in" : "query", - "name" : "page", + "name" : "currentOnly", + "required" : false, "schema" : { - "type" : "integer", - "format" : "int32", - "default" : 0 + "type" : "boolean", + "description" : "Indicates whether to report only \"current\" stat values, i.e. skip the stat-s that haven't published any value
      during recent collection cycles." } }, { - "description" : "Expected number of entries per page", + "description" : "The maximum number of samples to return when querying latest stats.
      Defaults to 1 so that when processing the query if it is omitted
      the response would contain a single sample", "in" : "query", - "name" : "pageSize", + "name" : "maxSamples", + "required" : false, "schema" : { "type" : "integer", "format" : "int32", - "default" : 1000 + "description" : "The maximum number of samples to return when querying latest stats.
      Defaults to 1 so that when processing the query if it is omitted
      the response would contain a single sample" + } + }, { + "description" : "Indicates whether stat values should be wrapped for application/xml response content type.
      This flag is false by default and not needed for application/json response.
      If set to true \"statValues\" will be returned instead of \"values\" for all content types.", + "in" : "query", + "name" : "wrapStatValues", + "required" : false, + "schema" : { + "type" : "boolean", + "description" : "Indicates whether stat values should be wrapped for application/xml response content type.
      This flag is false by default and not needed for application/json response.
      If set to true \"statValues\" will be returned instead of \"values\" for all content types." } } ], "responses" : { "200" : { "content" : { "application/json" : { - "example" : "{\n \"symptomDefinitions\" : [ {\n \"id\" : \"SymptomDefinition-1\",\n \"name\" : \"CPU Too High - only one state now allowed per symptom publicinition\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"VirtualMachine\",\n \"state\" : {\n \"severity\" : \"CRITICAL\",\n \"condition\" : {\n \"type\" : \"CONDITION_HT\",\n \"key\" : \"cpu|demandmhz\",\n \"operator\" : \"GT_EQ\",\n \"value\" : \"95\",\n \"valueType\" : \"NUMERIC\",\n \"instanced\" : false,\n \"thresholdType\" : \"STATIC\"\n }\n }\n }, {\n \"id\" : \"SymptomDefinition-1\",\n \"name\" : \"CPU Too High - only one state now allowed per symptom publicinition\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"VirtualMachine\",\n \"state\" : {\n \"severity\" : \"CRITICAL\",\n \"condition\" : {\n \"type\" : \"CONDITION_HT\",\n \"key\" : \"cpu|demandmhz\",\n \"operator\" : \"GT_EQ\",\n \"value\" : \"70\",\n \"valueType\" : \"NUMERIC\",\n \"instanced\" : false,\n \"thresholdType\" : \"STATIC\"\n }\n }\n }, {\n \"id\" : \"SymptomDefinition-1\",\n \"name\" : \"CPU Too High - only one state now allowed per symptom publicinition\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"VirtualMachine\",\n \"state\" : {\n \"severity\" : \"WARNING\",\n \"condition\" : {\n \"type\" : \"CONDITION_HT\",\n \"key\" : \"cpu|demandmhz\",\n \"operator\" : \"GT_EQ\",\n \"value\" : \"50\",\n \"valueType\" : \"NUMERIC\",\n \"instanced\" : false,\n \"thresholdType\" : \"STATIC\"\n }\n }\n }, {\n \"id\" : \"SymptomDefinition-1\",\n \"name\" : \"CPU Too High - only one state now allowed per symptom publicinition\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"VirtualMachine\",\n \"state\" : {\n \"severity\" : \"INFORMATION\",\n \"condition\" : {\n \"type\" : \"CONDITION_PROPERTY_NUMERIC\",\n \"value\" : 8.0,\n \"operator\" : \"LT_EQ\",\n \"key\" : \"system|installed_memGB\",\n \"instanced\" : false,\n \"thresholdType\" : \"STATIC\"\n }\n }\n }, {\n \"id\" : \"SymptomDefinition-1\",\n \"name\" : \"CPU Too High - only one state now allowed per symptom publicinition\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"VirtualMachine\",\n \"state\" : {\n \"severity\" : \"NONE\",\n \"condition\" : {\n \"type\" : \"CONDITION_MESSAGE_EVENT\",\n \"eventType\" : \"RESOURCE_DOWN\",\n \"message\" : \"message event conditions are of eventType NOTIFICATION, RESOURCE_DOWN, SYSTEM_DEGRADATION, and compare message to event message via EQ or CONTAINS operator\",\n \"operator\" : \"CONTAINS\"\n }\n }\n }, {\n \"id\" : \"SymptomDefinition-1\",\n \"name\" : \"CPU Too High - only one state now allowed per symptom publicinition\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"VirtualMachine\",\n \"state\" : {\n \"severity\" : \"UNKNOWN\",\n \"condition\" : {\n \"type\" : \"CONDITION_METRIC_EVENT\",\n \"hardThresholdEventType\" : \"ABOVE\",\n \"statKey\" : \"cpu|demandmhz\"\n }\n }\n }, {\n \"id\" : \"SymptomDefinition-1\",\n \"name\" : \"CPU Too High - only one state now allowed per symptom publicinition\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"VirtualMachine\",\n \"state\" : {\n \"severity\" : \"INFORMATION\",\n \"condition\" : {\n \"type\" : \"CONDITION_FAULT\",\n \"faultKey\" : \"FaultKey - FaultKey matches to a FaultEvent's FaultState\",\n \"faultEvents\" : [ \"FaultEvent1\", \"FaultEvent2\" ]\n }\n }\n }, {\n \"id\" : \"SymptomDefinition-2\",\n \"name\" : \"Memory High Usage Percentage - only one state now allowed per symptom publicinition\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"HostSystem\",\n \"state\" : {\n \"severity\" : \"CRITICAL\",\n \"condition\" : {\n \"type\" : \"CONDITION_HT\",\n \"key\" : \"mem|host_usagePct\",\n \"operator\" : \"GT_EQ\",\n \"value\" : \"95\",\n \"valueType\" : \"NUMERIC\",\n \"instanced\" : false,\n \"thresholdType\" : \"STATIC\"\n }\n }\n }, {\n \"id\" : \"SymptomDefinition-2\",\n \"name\" : \"Memory High Usage Percentage - only one state now allowed per symptom publicinition\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"HostSystem\",\n \"state\" : {\n \"severity\" : \"IMMEDIATE\",\n \"condition\" : {\n \"type\" : \"CONDITION_HT\",\n \"key\" : \"mem|host_usagePct\",\n \"operator\" : \"GT_EQ\",\n \"value\" : \"70\",\n \"valueType\" : \"NUMERIC\",\n \"instanced\" : false,\n \"thresholdType\" : \"STATIC\"\n }\n }\n }, {\n \"id\" : \"SymptomDefinition-2\",\n \"name\" : \"Memory High Usage Percentage - only one state now allowed per symptom publicinition\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"HostSystem\",\n \"state\" : {\n \"severity\" : \"WARNING\",\n \"condition\" : {\n \"type\" : \"CONDITION_HT\",\n \"key\" : \"mem|host_usagePct\",\n \"operator\" : \"GT_EQ\",\n \"value\" : \"50\",\n \"valueType\" : \"NUMERIC\",\n \"instanced\" : false,\n \"thresholdType\" : \"STATIC\"\n }\n }\n }, {\n \"id\" : \"SymptomDefinition-2\",\n \"name\" : \"Memory High Usage Percentage - only one state now allowed per symptom publicinition\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"HostSystem\",\n \"state\" : {\n \"severity\" : \"INFORMATION\",\n \"condition\" : {\n \"type\" : \"CONDITION_PROPERTY_STRING\",\n \"stringValue\" : \"PoweredOff\",\n \"operator\" : \"EQ\",\n \"key\" : \"system|power_state\",\n \"instanced\" : false,\n \"thresholdType\" : \"STATIC\"\n }\n }\n }, {\n \"id\" : \"SymptomDefinition-2\",\n \"name\" : \"Memory High Usage Percentage - only one state now allowed per symptom publicinition\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"HostSystem\",\n \"state\" : {\n \"severity\" : \"WARNING\",\n \"condition\" : {\n \"type\" : \"CONDITION_MESSAGE_EVENT\",\n \"eventType\" : \"RESOURCE_DOWN\",\n \"message\" : \"message event conditions are of eventType NOTIFICATION, RESOURCE_DOWN, SYSTEM_DEGRADATION, and compare message to event message via EQ or CONTAINS operator\",\n \"operator\" : \"CONTAINS\"\n }\n }\n }, {\n \"id\" : \"SymptomDefinition-2\",\n \"name\" : \"Memory High Usage Percentage - only one state now allowed per symptom publicinition\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"HostSystem\",\n \"state\" : {\n \"severity\" : \"WARNING\",\n \"condition\" : {\n \"type\" : \"CONDITION_METRIC_EVENT\",\n \"hardThresholdEventType\" : \"ABOVE\",\n \"statKey\" : \"cpu|demandmhz\"\n }\n }\n } ]\n}", + "example" : "{\n \"values\" : [ {\n \"resourceId\" : \"2d16d6ea-21cd-48e5-a8e8-936da75185b5\",\n \"stat-list\" : {\n \"stat\" : [ {\n \"timestamps\" : [ 1753340126993, 1753340136993 ],\n \"statKey\" : {\n \"key\" : \"stat|key1\"\n },\n \"rollUpType\" : \"NONE\",\n \"intervalUnit\" : {\n \"quantifier\" : 5,\n \"intervalType\" : \"MINUTES\"\n },\n \"data\" : [ 1.0, 2.0 ],\n \"dtTimestamps\" : [ 1753340126993, 1753340136993, 1753340146993 ],\n \"minThresholdData\" : [ 0.5, 1.0 ],\n \"maxThresholdData\" : [ 1.5, 3.0 ],\n \"smoothValues\" : [ 1.5, 1.5 ]\n } ]\n }\n } ]\n}", "schema" : { - "$ref" : "#/components/schemas/symptom-definitions" + "$ref" : "#/components/schemas/stats-of-resources" } }, "application/xml" : { - "example" : "\n\n \n CPU Too High - only one state now allowed per symptom publicinition\n \n \n cpu|demandmhz\n GT_EQ\n 95\n NUMERIC\n false\n STATIC\n \n \n \n \n CPU Too High - only one state now allowed per symptom publicinition\n \n \n cpu|demandmhz\n GT_EQ\n 70\n NUMERIC\n false\n STATIC\n \n \n \n \n CPU Too High - only one state now allowed per symptom publicinition\n \n \n cpu|demandmhz\n GT_EQ\n 50\n NUMERIC\n false\n STATIC\n \n \n \n \n CPU Too High - only one state now allowed per symptom publicinition\n \n \n LT_EQ\n system|installed_memGB\n false\n STATIC\n 8.0\n \n \n \n \n CPU Too High - only one state now allowed per symptom publicinition\n \n \n message event conditions are of eventType NOTIFICATION, RESOURCE_DOWN, SYSTEM_DEGRADATION, and compare message to event message via EQ or CONTAINS operator\n \n \n \n \n CPU Too High - only one state now allowed per symptom publicinition\n \n \n ABOVE\n cpu|demandmhz\n \n \n \n \n CPU Too High - only one state now allowed per symptom publicinition\n \n \n FaultKey - FaultKey matches to a FaultEvent's FaultState\n FaultEvent1 FaultEvent2\n \n \n \n \n Memory High Usage Percentage - only one state now allowed per symptom publicinition\n \n \n mem|host_usagePct\n GT_EQ\n 95\n NUMERIC\n false\n STATIC\n \n \n \n \n Memory High Usage Percentage - only one state now allowed per symptom publicinition\n \n \n mem|host_usagePct\n GT_EQ\n 70\n NUMERIC\n false\n STATIC\n \n \n \n \n Memory High Usage Percentage - only one state now allowed per symptom publicinition\n \n \n mem|host_usagePct\n GT_EQ\n 50\n NUMERIC\n false\n STATIC\n \n \n \n \n Memory High Usage Percentage - only one state now allowed per symptom publicinition\n \n \n EQ\n system|power_state\n false\n STATIC\n PoweredOff\n \n \n \n \n Memory High Usage Percentage - only one state now allowed per symptom publicinition\n \n \n message event conditions are of eventType NOTIFICATION, RESOURCE_DOWN, SYSTEM_DEGRADATION, and compare message to event message via EQ or CONTAINS operator\n \n \n \n \n Memory High Usage Percentage - only one state now allowed per symptom publicinition\n \n \n ABOVE\n cpu|demandmhz\n \n \n \n\n", + "example" : "\n\n \n 2d16d6ea-21cd-48e5-a8e8-936da75185b5\n \n \n 1753340126993 1753340136993\n \n stat|key1\n \n NONE\n \n 5\n MINUTES\n \n 1.0 2.0\n 1753340126993 1753340136993 1753340146993\n 0.5 1.0\n 1.5 3.0\n 1.5 1.5\n \n \n \n\n", "schema" : { - "$ref" : "#/components/schemas/symptom-definitions" + "$ref" : "#/components/schemas/stats-of-resources" } } }, - "description" : "The list of Symptom Definitions" + "description" : "Object, containing a map of List of Stat objects keyed by each resource UUID" } }, - "summary" : "Get Symptom Definitions", - "tags" : [ "Symptoms" ] - }, + "summary" : "Get the latest stat for a given Resource and given a set of attributes", + "tags" : [ "Resource" ] + } + }, + "/api/resources/{id}/stats/query" : { "post" : { - "description" : "The symptom definition identifier must be null and will be generated by the system.
      A symptom definition contains a symptom state, there may only be one symptom state per symptom definition.", - "operationId" : "createSymptomDefinition", + "description" : "NOTE: When making an XML request, make sure the statKey field does not contain any key name with spaces.", + "operationId" : "getStatsForResource", + "parameters" : [ { + "description" : "The Identifier of the resource object", + "in" : "path", + "name" : "id", + "required" : true, + "schema" : { + "type" : "string", + "format" : "uuid" + } + } ], "requestBody" : { "content" : { "application/json" : { - "examples" : { - "Symptom Definition with HT Condition" : { - "description" : "Symptom Definition with HT Condition", - "value" : "{\n \"name\" : \"CPU Too High - only one state now allowed per symptom publicinition\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"VirtualMachine\",\n \"state\" : {\n \"severity\" : \"CRITICAL\",\n \"condition\" : {\n \"type\" : \"CONDITION_HT\",\n \"key\" : \"cpu|demandmhz\",\n \"operator\" : \"GT_EQ\",\n \"value\" : \"95\",\n \"valueType\" : \"NUMERIC\",\n \"instanced\" : false,\n \"thresholdType\" : \"STATIC\"\n }\n }\n}" - }, - "Symptom Definition with Log Condition" : { - "description" : "Symptom Definition with Log Condition", - "value" : "{\n \"name\" : \"Log based symptom definition\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"VirtualMachine\",\n \"state\" : {\n \"severity\" : \"INFORMATION\",\n \"condition\" : {\n \"type\" : \"CONDITION_LOG\",\n \"logTriggerCondition\" : {\n \"functionType\" : \"COUNT\",\n \"value\" : 2.0,\n \"operatorType\" : \"GREATER_THAN\",\n \"timeInterval\" : 5,\n \"groupBy\" : [ ]\n },\n \"queryTexts\" : [ \"filter_1\", \"filter_2\" ]\n }\n }\n}" - } - }, + "example" : "{\n \"resourceId\" : [ \"95b0c395-6404-4473-828f-c3e7f64d446b\", \"266c6175-5f91-407b-8119-fa1eaf3ad5aa\" ],\n \"statKey\" : [ \"stat|key1\", \"stat|key2\" ],\n \"begin\" : 1753340007585,\n \"end\" : 1753340016072,\n \"rollUpType\" : \"SUM\",\n \"intervalType\" : \"DAYS\",\n \"intervalQuantifier\" : -1,\n \"dt\" : false,\n \"latestMaxSamples\" : 10,\n \"metrics\" : false,\n \"currentOnly\" : false,\n \"wrapStatValues\" : false\n}", "schema" : { - "$ref" : "#/components/schemas/symptom-definition" + "$ref" : "#/components/schemas/stat-query" } }, "application/xml" : { - "examples" : { - "Symptom Definition with HT Condition" : { - "description" : "Symptom Definition with HT Condition", - "value" : "\n\n CPU Too High - only one state now allowed per symptom publicinition\n \n \n cpu|demandmhz\n GT_EQ\n 95\n NUMERIC\n false\n STATIC\n \n \n\n" - }, - "Symptom Definition with Log Condition" : { - "description" : "Symptom Definition with Log Condition", - "value" : "\n\n Log based symptom definition\n \n \n \n COUNT\n 2.0\n GREATER_THAN\n 5\n \n \n \n filter_1\n filter_2\n \n \n \n\n" - } - }, + "example" : "\n\n 95b0c395-6404-4473-828f-c3e7f64d446b 266c6175-5f91-407b-8119-fa1eaf3ad5aa\n stat|key1 stat|key2\n 1753340007585\n 1753340016072\n SUM\n DAYS\n -1\n false\n 10\n false\n false\n false\n\n", "schema" : { - "$ref" : "#/components/schemas/symptom-definition" + "$ref" : "#/components/schemas/stat-query" } } }, - "description" : "The Symptom Definition to create", + "description" : "The StatsQuery object which can be used to refine the query", "required" : true }, "responses" : { - "201" : { + "200" : { "content" : { "application/json" : { - "examples" : { - "Symptom Definition with HT Condition" : { - "description" : "Symptom Definition with HT Condition", - "value" : "{\n \"name\" : \"CPU Too High - only one state now allowed per symptom publicinition\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"VirtualMachine\",\n \"state\" : {\n \"severity\" : \"CRITICAL\",\n \"condition\" : {\n \"type\" : \"CONDITION_HT\",\n \"key\" : \"cpu|demandmhz\",\n \"operator\" : \"GT_EQ\",\n \"value\" : \"95\",\n \"valueType\" : \"NUMERIC\",\n \"instanced\" : false,\n \"thresholdType\" : \"STATIC\"\n }\n }\n}" - }, - "Symptom Definition with LOG Condition" : { - "description" : "Symptom Definition with LOG Condition", - "value" : "{\n \"id\" : \"SymptomDefinition-45b0cc92-f082-4853-bce9-eeb09a3bcf9f\",\n \"name\" : \"Log based symptom definition\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"VirtualMachine\",\n \"state\" : {\n \"severity\" : \"INFORMATION\",\n \"condition\" : {\n \"type\" : \"CONDITION_LOG\",\n \"logTriggerCondition\" : {\n \"functionType\" : \"COUNT\",\n \"value\" : 2.0,\n \"operatorType\" : \"GREATER_THAN\",\n \"timeInterval\" : 5,\n \"groupBy\" : [ ]\n },\n \"queryTexts\" : [ \"filter_1\", \"filter_2\" ]\n }\n }\n}" - } - }, + "example" : "{\n \"values\" : [ {\n \"resourceId\" : \"2d16d6ea-21cd-48e5-a8e8-936da75185b5\",\n \"stat-list\" : {\n \"stat\" : [ {\n \"timestamps\" : [ 1753340126993, 1753340136993 ],\n \"statKey\" : {\n \"key\" : \"stat|key1\"\n },\n \"rollUpType\" : \"NONE\",\n \"intervalUnit\" : {\n \"quantifier\" : 5,\n \"intervalType\" : \"MINUTES\"\n },\n \"data\" : [ 1.0, 2.0 ],\n \"dtTimestamps\" : [ 1753340126993, 1753340136993, 1753340146993 ],\n \"minThresholdData\" : [ 0.5, 1.0 ],\n \"maxThresholdData\" : [ 1.5, 3.0 ],\n \"smoothValues\" : [ 1.5, 1.5 ]\n } ]\n }\n } ]\n}", "schema" : { - "$ref" : "#/components/schemas/symptom-definition" + "$ref" : "#/components/schemas/stats-of-resources" } }, "application/xml" : { - "examples" : { - "Symptom Definition with HT Condition" : { - "description" : "Symptom Definition with HT Condition", - "value" : "\n\n CPU Too High - only one state now allowed per symptom publicinition\n \n \n cpu|demandmhz\n GT_EQ\n 95\n NUMERIC\n false\n STATIC\n \n \n\n" - }, - "Symptom Definition with LOG Condition" : { - "description" : "Symptom Definition with LOG Condition", - "value" : "\n\n Log based symptom definition\n \n \n \n COUNT\n 2.0\n GREATER_THAN\n 5\n \n \n \n filter_1\n filter_2\n \n \n \n\n" - } - }, + "example" : "\n\n \n 2d16d6ea-21cd-48e5-a8e8-936da75185b5\n \n \n 1753340126993 1753340136993\n \n stat|key1\n \n NONE\n \n 5\n MINUTES\n \n 1.0 2.0\n 1753340126993 1753340136993 1753340146993\n 0.5 1.0\n 1.5 3.0\n 1.5 1.5\n \n \n \n\n", "schema" : { - "$ref" : "#/components/schemas/symptom-definition" + "$ref" : "#/components/schemas/stats-of-resources" } } }, - "description" : "The created Symptom Definition" + "description" : "Object, containing a map of List of Stat objects keyed by each resource UUID" } }, - "summary" : "Create the Symptom Definition", - "tags" : [ "Symptoms" ] - }, - "put" : { - "description" : "Update an existing Symptom Definition", - "operationId" : "updateSymptomDefinition", - "requestBody" : { - "content" : { - "application/json" : { - "examples" : { - "Symptom Definition with HT Condition" : { - "description" : "Symptom Definition with HT Condition", - "value" : "{\n \"id\" : \"SymptomDefinition-1\",\n \"name\" : \"CPU Too High - only one state now allowed per symptom publicinition\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"VirtualMachine\",\n \"state\" : {\n \"severity\" : \"CRITICAL\",\n \"condition\" : {\n \"type\" : \"CONDITION_HT\",\n \"key\" : \"cpu|demandmhz\",\n \"operator\" : \"GT_EQ\",\n \"value\" : \"95\",\n \"valueType\" : \"NUMERIC\",\n \"instanced\" : false,\n \"thresholdType\" : \"STATIC\"\n }\n }\n}" - }, - "Symptom Definition with LOG Condition" : { - "description" : "Symptom Definition with LOG Condition", - "value" : "{\n \"id\" : \"SymptomDefinition-45b0cc92-f082-4853-bce9-eeb09a3bcf9f\",\n \"name\" : \"Log based symptom definition\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"VirtualMachine\",\n \"state\" : {\n \"severity\" : \"INFORMATION\",\n \"condition\" : {\n \"type\" : \"CONDITION_LOG\",\n \"logTriggerCondition\" : {\n \"functionType\" : \"COUNT\",\n \"value\" : 2.0,\n \"operatorType\" : \"GREATER_THAN\",\n \"timeInterval\" : 5,\n \"groupBy\" : [ ]\n },\n \"queryTexts\" : [ \"filter_1\", \"filter_2\" ]\n }\n }\n}" - } - }, - "schema" : { - "$ref" : "#/components/schemas/symptom-definition" - } - }, - "application/xml" : { - "examples" : { - "Symptom Definition with HT Condition" : { - "description" : "Symptom Definition with HT Condition", - "value" : "\n\n CPU Too High - only one state now allowed per symptom publicinition\n \n \n cpu|demandmhz\n GT_EQ\n 95\n NUMERIC\n false\n STATIC\n \n \n\n" - }, - "Symptom Definition with LOG Condition" : { - "description" : "Symptom Definition with LOG Condition", - "value" : "\n\n Log based symptom definition\n \n \n \n COUNT\n 2.0\n GREATER_THAN\n 5\n \n \n \n filter_1\n filter_2\n \n \n \n\n" - } - }, - "schema" : { - "$ref" : "#/components/schemas/symptom-definition" - } - } - }, - "description" : "The Symptom Definition to update", - "required" : true - }, - "responses" : { - "200" : { - "content" : { - "application/json" : { - "examples" : { - "Symptom Definition with HT Condition" : { - "description" : "Symptom Definition with HT Condition", - "value" : "{\n \"id\" : \"SymptomDefinition-1\",\n \"name\" : \"CPU Too High - only one state now allowed per symptom publicinition\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"VirtualMachine\",\n \"state\" : {\n \"severity\" : \"CRITICAL\",\n \"condition\" : {\n \"type\" : \"CONDITION_HT\",\n \"key\" : \"cpu|demandmhz\",\n \"operator\" : \"GT_EQ\",\n \"value\" : \"95\",\n \"valueType\" : \"NUMERIC\",\n \"instanced\" : false,\n \"thresholdType\" : \"STATIC\"\n }\n }\n}" - }, - "Symptom Definition with LOG Condition" : { - "description" : "Symptom Definition with LOG Condition", - "value" : "{\n \"id\" : \"SymptomDefinition-45b0cc92-f082-4853-bce9-eeb09a3bcf9f\",\n \"name\" : \"Log based symptom definition\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"VirtualMachine\",\n \"state\" : {\n \"severity\" : \"INFORMATION\",\n \"condition\" : {\n \"type\" : \"CONDITION_LOG\",\n \"logTriggerCondition\" : {\n \"functionType\" : \"COUNT\",\n \"value\" : 2.0,\n \"operatorType\" : \"GREATER_THAN\",\n \"timeInterval\" : 5,\n \"groupBy\" : [ ]\n },\n \"queryTexts\" : [ \"filter_1\", \"filter_2\" ]\n }\n }\n}" - } - }, - "schema" : { - "$ref" : "#/components/schemas/symptom-definition" - } - }, - "application/xml" : { - "examples" : { - "Symptom Definition with HT Condition" : { - "description" : "Symptom Definition with HT Condition", - "value" : "\n\n CPU Too High - only one state now allowed per symptom publicinition\n \n \n cpu|demandmhz\n GT_EQ\n 95\n NUMERIC\n false\n STATIC\n \n \n\n" - }, - "Symptom Definition with LOG Condition" : { - "description" : "Symptom Definition with LOG Condition", - "value" : "\n\n Log based symptom definition\n \n \n \n COUNT\n 2.0\n GREATER_THAN\n 5\n \n \n \n filter_1\n filter_2\n \n \n \n\n" - } - }, - "schema" : { - "$ref" : "#/components/schemas/symptom-definition" - } - } - }, - "description" : "The updated Symptom Definition" - } - }, - "summary" : "Update an existing Symptom Definition", - "tags" : [ "Symptoms" ] + "summary" : "Look up stats of a group of objects with the resource ids", + "tags" : [ "Resource" ] } }, - "/api/symptomdefinitions/{id}" : { - "delete" : { - "description" : "Delete a Symptom Definition", - "operationId" : "deleteSymptomDefinition", + "/api/resources/{id}/stats/topn" : { + "get" : { + "description" : "Get the TopN stats for a given Resource and given a set of attributes", + "operationId" : "getTopNStatsOfResource", "parameters" : [ { - "description" : "The identifier of the Symptom Definition to delete", + "description" : "The ID of the resource", "in" : "path", "name" : "id", "required" : true, "schema" : { - "type" : "string" - } - } ], - "responses" : { - "204" : { - "description" : "The symptom definition is deleted successfully" + "type" : "string", + "format" : "uuid" } - }, - "summary" : "Delete a Symptom Definition", - "tags" : [ "Symptoms" ] - }, - "get" : { - "description" : "Get Symptom Definition specified by id", - "operationId" : "getSymptomDefinitionByKey", - "parameters" : [ { - "description" : "The id of the Symptom Definition", - "in" : "path", - "name" : "id", + }, { + "description" : "The number of results. Keep in mind if a grouping contains multiple items (eg:
      grouped by resource, with 4 metrics for the grouping resource) then returning the group with
      4 metrics counts as 4 topN entries. If there are not enough remaining open topN entries to
      return an entire group within the topN then the entire group is not returned. *", + "in" : "query", + "name" : "topN", "required" : true, "schema" : { - "type" : "string" + "type" : "integer", + "format" : "int32", + "description" : "The number of results. Keep in mind if a grouping contains multiple items (eg:
      grouped by resource, with 4 metrics for the grouping resource) then returning the group with
      4 metrics counts as 4 topN entries. If there are not enough remaining open topN entries to
      return an entire group within the topN then the entire group is not returned. *", + "minimum" : 1 } - } ], - "responses" : { - "200" : { - "content" : { - "application/json" : { - "examples" : { - "Symptom definition with HT condition" : { - "description" : "Symptom definition with HT condition", - "value" : "{\n \"id\" : \"SymptomDefinition-2\",\n \"name\" : \"Memory High Usage Percentage - only one state now allowed per symptom publicinition\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"HostSystem\",\n \"state\" : {\n \"severity\" : \"CRITICAL\",\n \"condition\" : {\n \"type\" : \"CONDITION_HT\",\n \"key\" : \"mem|host_usagePct\",\n \"operator\" : \"GT_EQ\",\n \"value\" : \"95\",\n \"valueType\" : \"NUMERIC\",\n \"instanced\" : false,\n \"thresholdType\" : \"STATIC\"\n }\n }\n}" - }, - "Symptom definition with LOG condition" : { - "description" : "Symptom definition with LOG condition", - "value" : "{\n \"id\" : \"SymptomDefinition-45b0cc92-f082-4853-bce9-eeb09a3bcf9f\",\n \"name\" : \"Log based symptom definition\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"VirtualMachine\",\n \"state\" : {\n \"severity\" : \"INFORMATION\",\n \"condition\" : {\n \"type\" : \"CONDITION_LOG\",\n \"logTriggerCondition\" : {\n \"functionType\" : \"COUNT\",\n \"value\" : 2.0,\n \"operatorType\" : \"GREATER_THAN\",\n \"timeInterval\" : 5,\n \"groupBy\" : [ ]\n },\n \"queryTexts\" : [ \"filter_1\", \"filter_2\" ]\n }\n }\n}" - } - }, - "schema" : { - "$ref" : "#/components/schemas/symptom-definition" - } - }, - "application/xml" : { - "examples" : { - "Symptom definition with HT condition" : { - "description" : "Symptom definition with HT condition", - "value" : "\n\n Memory High Usage Percentage - only one state now allowed per symptom publicinition\n \n \n mem|host_usagePct\n GT_EQ\n 95\n NUMERIC\n false\n STATIC\n \n \n\n" - }, - "Symptom definition with LOG condition" : { - "description" : "Symptom definition with LOG condition", - "value" : "\n\n Log based symptom definition\n \n \n \n COUNT\n 2.0\n GREATER_THAN\n 5\n \n \n \n filter_1\n filter_2\n \n \n \n\n" - } - }, - "schema" : { - "$ref" : "#/components/schemas/symptom-definition" - } - } - }, - "description" : "The Symptom Definition" + }, { + "description" : "The type of grouping, if not set defaults to ResourceStatGroupBy.RESOURCE", + "in" : "query", + "name" : "groupBy", + "required" : false, + "schema" : { + "type" : "string", + "description" : "Enumeration of the available Grouping for topN", + "enum" : [ "RESOURCE", "STATKEY" ] } - }, - "summary" : "Get Symptom Definition specified by id", - "tags" : [ "Symptoms" ] - } - }, - "/api/symptoms" : { - "get" : { - "description" : "Optionally these Symptoms can be looked up for a specific set of Resources and/or
      can include Symptoms that are no longer active.
      The list of Symptoms returned is a collection that supports pagination.", - "operationId" : "getSymptoms", - "parameters" : [ { - "description" : "Array of resource identifiers for which Symptoms need to be looked up", + }, { + "description" : "The type of sorting, if not set defaults to ResourceStatSort.ASCENDING", + "in" : "query", + "name" : "sortOrder", + "required" : false, + "schema" : { + "type" : "string", + "description" : "The sort order", + "enum" : [ "ASCENDING", "DESCENDING" ], + "xml" : { + "name" : "sort-order", + "namespace" : "http://webservice.vmware.com/vRealizeOpsMgr/1.0/" + } + } + }, { + "description" : "Array of Resource ids for which the stats should be fetched", "in" : "query", "name" : "resourceId", "required" : false, @@ -22203,188 +22642,208 @@ } } }, { - "description" : "Boolean that determines whether the results should include inactive Symptoms", + "description" : "Array of stat keys for which the stats should be returned", "in" : "query", - "name" : "activeOnly", + "name" : "statKey", "required" : false, "schema" : { - "type" : "boolean", - "default" : true + "type" : "array", + "items" : { + "type" : "string" + } } }, { - "description" : "Boolean that controls the retrieval of alarm information of the symptom", + "description" : "The beginning date as a long value of the range of stats to return
      Value measures the number of milliseconds since January 1, 1970 00:00:00 UTC
      NOTE: If not provided, 24 hour rearward of ending date is used", "in" : "query", - "name" : "includeAlarmInfo", + "name" : "begin", "required" : false, "schema" : { - "type" : "boolean", - "default" : false + "type" : "integer", + "format" : "int64", + "description" : "The beginning date as a long value of the range of stats to return
      Value measures the number of milliseconds since January 1, 1970 00:00:00 UTC
      NOTE: If not provided, 24 hour rearward of ending date is used" } }, { - "description" : "Page number from which data needs to be displayed (0-based)", + "description" : "The ending date as a long value of the range of stats to return
      Long value is number of milliseconds since January 1, 1970 00:00:00 UTC
      NOTE: The ending date must not be less than the beginning date.
      If not provided, current time as UTC milliseconds is used", "in" : "query", - "name" : "page", + "name" : "end", + "required" : false, "schema" : { "type" : "integer", - "format" : "int32", - "default" : 0 + "format" : "int64", + "description" : "The ending date as a long value of the range of stats to return
      Long value is number of milliseconds since January 1, 1970 00:00:00 UTC
      NOTE: The ending date must not be less than the beginning date.
      If not provided, current time as UTC milliseconds is used" } }, { - "description" : "Expected number of entries per page", + "description" : "Rollup Type requested by the user (e.g.: AVG, MIN, MAX etc.)", "in" : "query", - "name" : "pageSize", + "name" : "rollUpType", + "required" : false, + "schema" : { + "type" : "string", + "description" : "Represents the type of Rollup required for the stats data", + "enum" : [ "SUM", "AVG", "MIN", "MAX", "NONE", "LATEST", "COUNT" ] + } + }, { + "description" : "Interval type requested by the user (e.g: Days, Weeks, Months etc.)", + "in" : "query", + "name" : "intervalType", + "required" : false, + "schema" : { + "type" : "string", + "description" : "The Interval types", + "enum" : [ "HOURS", "MINUTES", "SECONDS", "DAYS", "WEEKS", "MONTHS", "YEARS" ] + } + }, { + "description" : "Number for the interval type", + "in" : "query", + "name" : "intervalQuantifier", + "required" : false, "schema" : { "type" : "integer", "format" : "int32", - "default" : 1000 + "description" : "Number for the interval type", + "minimum" : 1 } - } ], - "responses" : { - "200" : { - "content" : { - "application/json" : { - "example" : "{\n \"symptom\" : [ {\n \"id\" : \"31eeaeec-82d5-4037-a59b-efed2e7c8e3a\",\n \"resourceId\" : \"50000000-0000-0000-0000-000000000005\",\n \"startTimeUTC\" : 1753336526993,\n \"updateTimeUTC\" : 1753336526993,\n \"cancelTimeUTC\" : 0,\n \"kpi\" : false,\n \"symptomCriticality\" : \"INFORMATION\",\n \"symptomDefinitionId\" : \"SymptomDefinition-1\",\n \"message\" : \"symptom message\",\n \"faultDevices\" : [ ]\n }, {\n \"id\" : \"18589dea-9999-1234-abba-f1ee73004dac\",\n \"resourceId\" : \"50000000-0000-0000-0000-000000000005\",\n \"startTimeUTC\" : 1753336526993,\n \"updateTimeUTC\" : 1753336526993,\n \"cancelTimeUTC\" : 0,\n \"kpi\" : false,\n \"symptomCriticality\" : \"INFORMATION\",\n \"symptomDefinitionId\" : \"SymptomDefinition-1\",\n \"message\" : \"symptom message\",\n \"faultDevices\" : [ ]\n } ]\n}", - "schema" : { - "$ref" : "#/components/schemas/symptoms" - } - }, - "application/xml" : { - "example" : "\n\n \n 50000000-0000-0000-0000-000000000005\n 1753336526993\n 1753336526993\n 0\n INFORMATION\n SymptomDefinition-1\n symptom message\n \n \n \n 50000000-0000-0000-0000-000000000005\n 1753336526993\n 1753336526993\n 0\n INFORMATION\n SymptomDefinition-1\n symptom message\n \n \n\n", - "schema" : { - "$ref" : "#/components/schemas/symptoms" - } - } - }, - "description" : "List of Symptoms in the system" + }, { + "description" : "Indicates that the requested stats are based on some dynamic threshold.
      Defaults to false which indicates that stats are not based on dynamic threshold.", + "in" : "query", + "name" : "dt", + "required" : false, + "schema" : { + "type" : "boolean", + "description" : "Indicates that the requested stats are based on some dynamic threshold.
      Defaults to false which indicates that stats are not based on dynamic threshold." } - }, - "summary" : "Look up all Symptoms in the system", - "tags" : [ "Symptoms" ] - } - }, - "/api/symptoms/query" : { - "post" : { - "description" : "The list of Symptoms returned is a collection that supports pagination.", - "operationId" : "querySymptoms", - "parameters" : [ { - "description" : "Page number from which data needs to be displayed (0-based)", + }, { + "description" : "The maximum number of samples to return when querying latest.
      When processing the get latest stats query if it is omitted a value of 1 is assumed.
      A query for the latest samples is not compatible with specifying the RollUpType value.", "in" : "query", - "name" : "page", + "name" : "latestMaxSamples", + "required" : false, "schema" : { "type" : "integer", "format" : "int32", - "default" : 0 + "description" : "The maximum number of samples to return when querying latest.
      When processing the get latest stats query if it is omitted a value of 1 is assumed.
      A query for the latest samples is not compatible with specifying the RollUpType value." } }, { - "description" : "Expected number of entries per page", + "description" : "Indicates whether specified statKey-s of query should be forcibly treated as metrics (does not include instanced stats)", "in" : "query", - "name" : "pageSize", + "name" : "metrics", + "required" : false, "schema" : { - "type" : "integer", - "format" : "int32", - "default" : 1000 + "type" : "boolean", + "description" : "Indicates whether specified statKey-s of query should be forcibly treated as metrics (does not include instanced stats)" + } + }, { + "description" : "Indicates whether to report only \"current\" stat values, i.e. skip the stat-s that haven't published any value
      during recent collection cycles.", + "in" : "query", + "name" : "currentOnly", + "required" : false, + "schema" : { + "type" : "boolean", + "description" : "Indicates whether to report only \"current\" stat values, i.e. skip the stat-s that haven't published any value
      during recent collection cycles." + } + }, { + "description" : "Indicates whether stat values should be wrapped for application/xml response content type.
      This flag is false by default and not needed for application/json response.
      If set to true \"statValues\" will be returned instead of \"values\" for all content types.", + "in" : "query", + "name" : "wrapStatValues", + "required" : false, + "schema" : { + "type" : "boolean", + "description" : "Indicates whether stat values should be wrapped for application/xml response content type.
      This flag is false by default and not needed for application/json response.
      If set to true \"statValues\" will be returned instead of \"values\" for all content types." } } ], - "requestBody" : { - "content" : { - "application/json" : { - "example" : "{\n \"compositeOperator\" : \"AND\",\n \"symptomId\" : [ ],\n \"resource-query\" : {\n \"resourceId\" : [ \"5748438c-41d5-4397-a59b-efe973674653\" ],\n \"statKeyInclusive\" : true\n },\n \"includeChildrenResources\" : false,\n \"activeOnly\" : true,\n \"includeAlarmInfo\" : false,\n \"alarmType\" : [ ],\n \"alarmCriticality\" : [ \"CRITICAL\", \"IMMEDIATE\", \"WARNING\", \"INFORMATION\" ],\n \"symptomDefinitionId\" : [ ],\n \"statKey\" : [ ]\n}", - "schema" : { - "$ref" : "#/components/schemas/symptom-query" - } - }, - "application/xml" : { - "example" : "\n\n \n \n 5748438c-41d5-4397-a59b-efe973674653\n true\n \n false\n true\n false\n \n CRITICAL IMMEDIATE WARNING INFORMATION\n \n \n\n", - "schema" : { - "$ref" : "#/components/schemas/symptom-query" - } - } - }, - "description" : "Query object of the symptom", - "required" : true - }, "responses" : { "200" : { "content" : { "application/json" : { - "example" : "{\n \"symptom\" : [ {\n \"id\" : \"31eeaeec-82d5-4037-a59b-efed2e7c8e3a\",\n \"resourceId\" : \"50000000-0000-0000-0000-000000000005\",\n \"startTimeUTC\" : 1753336526993,\n \"updateTimeUTC\" : 1753336526993,\n \"cancelTimeUTC\" : 0,\n \"kpi\" : false,\n \"symptomCriticality\" : \"INFORMATION\",\n \"symptomDefinitionId\" : \"SymptomDefinition-1\",\n \"message\" : \"symptom message\",\n \"faultDevices\" : [ ]\n }, {\n \"id\" : \"18589dea-9999-1234-abba-f1ee73004dac\",\n \"resourceId\" : \"50000000-0000-0000-0000-000000000005\",\n \"startTimeUTC\" : 1753336526993,\n \"updateTimeUTC\" : 1753336526993,\n \"cancelTimeUTC\" : 0,\n \"kpi\" : false,\n \"symptomCriticality\" : \"INFORMATION\",\n \"symptomDefinitionId\" : \"SymptomDefinition-1\",\n \"message\" : \"symptom message\",\n \"faultDevices\" : [ ]\n } ]\n}", + "example" : "{\n \"groupBy\" : \"RESOURCE\",\n \"sortOrder\" : \"ASCENDING\",\n \"resourceStatGroups\" : [ {\n \"groupKey\" : \"4c87380f-f014-454b-beb1-8e1231fa914a\",\n \"resourceStats\" : [ ]\n }, {\n \"groupKey\" : \"6a4665b2-f51d-428f-be4e-2d793076bce1\",\n \"resourceStats\" : [ ]\n } ]\n}", "schema" : { - "$ref" : "#/components/schemas/symptoms" + "$ref" : "#/components/schemas/ResourceStatGroupList" } }, "application/xml" : { - "example" : "\n\n \n 50000000-0000-0000-0000-000000000005\n 1753336526993\n 1753336526993\n 0\n INFORMATION\n SymptomDefinition-1\n symptom message\n \n \n \n 50000000-0000-0000-0000-000000000005\n 1753336526993\n 1753336526993\n 0\n INFORMATION\n SymptomDefinition-1\n symptom message\n \n \n\n", + "example" : "\n\n RESOURCE\n ASCENDING\n \n \n 4c87380f-f014-454b-beb1-8e1231fa914a\n \n \n \n 6a4665b2-f51d-428f-be4e-2d793076bce1\n \n \n \n\n", "schema" : { - "$ref" : "#/components/schemas/symptoms" + "$ref" : "#/components/schemas/ResourceStatGroupList" } } }, - "description" : "List of all Symptoms that match the given query" + "description" : "The TopN stats" } }, - "summary" : "Look up a set of Symptoms using a query object", - "tags" : [ "Symptoms" ] + "summary" : "Get the TopN stats for a given Resource and given a set of attributes", + "tags" : [ "Resource" ] } }, - "/api/tasks" : { + "/api/salt/resources/statuses" : { "get" : { - "description" : "In general, to get the status of any long running operations, the operation
      must have been initiated through the VMware Cloud Foundation Operations REST API.
      This API endpoint returns the details of the long running tasks that were submitted via the API only.
      Furthermore, the list of tasks that this API returns includes tasks for long running operations such
      as Adapter Installation, Describe etc. This API does not return the tasks created when any
      Remediation Actions are executed in the system either via the UI or via the API.", - "operationId" : "getTasksStatus", + "operationId" : "getSaltResources", "parameters" : [ { - "description" : "States of the tasks", + "description" : "Minion Status", "in" : "query", - "name" : "taskState", + "name" : "status", "required" : false, "schema" : { - "type" : "array", - "description" : "States of the tasks", - "items" : { - "$ref" : "#/components/schemas/task-state" - }, - "uniqueItems" : true + "type" : "string", + "description" : "Minion Status", + "enum" : [ "CONNECTED", "DISCONNECTED", "DISABLED", "UNKNOWN" ] } }, { - "description" : "The task ids", + "description" : "Page number from which data needs to be displayed (0-based)", "in" : "query", - "name" : "taskId", - "required" : false, + "name" : "page", "schema" : { - "type" : "array", - "items" : { - "type" : "string", - "format" : "uuid" - } + "type" : "integer", + "format" : "int32", + "default" : 0 + } + }, { + "description" : "Expected number of entries per page", + "in" : "query", + "name" : "pageSize", + "schema" : { + "type" : "integer", + "format" : "int32", + "default" : 1000 } } ], "responses" : { "200" : { "content" : { "application/json" : { - "example" : "{\n \"taskStatusList\" : [ {\n \"taskId\" : \"bf41869d-1a6e-48de-8ba5-26399ca34de9\",\n \"statusMessage\" : \"Distributed Task Execution for ADAPTER_INSTALL\",\n \"taskState\" : \"RUNNING\",\n \"createdTime\" : 0,\n \"lastUpdateTime\" : 1753340192459,\n \"errorMessages\" : [ ]\n } ]\n}", - "schema" : { - "$ref" : "#/components/schemas/task-statuses" - } - }, - "application/xml" : { - "example" : "\n\n \n bf41869d-1a6e-48de-8ba5-26399ca34de9\n Distributed Task Execution for ADAPTER_INSTALL\n RUNNING\n 0\n 1753340192459\n \n \n\n", + "examples" : { + "All resources" : { + "description" : "All resources", + "value" : "{\n \"resources\" : [ {\n \"minionId\" : \"minion-001\",\n \"resourceId\" : \"550e8400-e29b-41d4-a716-446655440000\",\n \"status\" : \"CONNECTED\"\n }, {\n \"minionId\" : \"minion-002\",\n \"resourceId\" : \"550e8400-e29b-41d4-a716-446655440002\",\n \"status\" : \"DISCONNECTED\"\n }, {\n \"minionId\" : \"minion-003\",\n \"resourceId\" : \"550e8400-e29b-41d4-a716-446655440003\",\n \"status\" : \"DISABLED\"\n } ]\n}" + }, + "Filtered by status" : { + "description" : "Filtered by status", + "value" : "{\n \"resources\" : [ {\n \"minionId\" : \"minion-001\",\n \"resourceId\" : \"550e8400-e29b-41d4-a716-446655440000\",\n \"status\" : \"CONNECTED\"\n }, {\n \"minionId\" : \"minion-004\",\n \"resourceId\" : \"550e8400-e29b-41d4-a716-446655440004\",\n \"status\" : \"CONNECTED\"\n } ]\n}" + } + }, "schema" : { - "$ref" : "#/components/schemas/task-statuses" + "$ref" : "#/components/schemas/ResourceSaltStatuses" } } }, - "description" : "List of Tasks' Statuses" + "description" : "Executed get all resources with their respective salt status" + }, + "400" : { + "description" : "Get Resources failed with errors", + "x-vmw-compiler-skip" : true + }, + "500" : { + "description" : "Error while processing get all resources with their respective salt status", + "x-vmw-compiler-skip" : true } }, - "summary" : "Look up a list of task objects' statuses", - "tags" : [ "Tasks" ] + "summary" : "Get all resources with their respective salt status", + "tags" : [ "Salt Management" ] } }, - "/api/tasks/{id}" : { - "get" : { - "description" : "In general, to get the status of any long running operations, the operation
      must have been initiated through the VMware Cloud Foundation Operations REST API.
      This API returns the status of a specific task that was initiated via the REST API
      with the exception of tasks that get created when any Remediation Action is performed
      via the api/actions endpoint.", - "operationId" : "getTaskStatus", + "/api/salt/resources/{id}/enable" : { + "post" : { + "operationId" : "configureMinion", "parameters" : [ { - "description" : "The id of the task", + "description" : "ID of the resource", "in" : "path", "name" : "id", "required" : true, @@ -22393,266 +22852,339 @@ "format" : "uuid" } } ], + "requestBody" : { + "content" : { + "application/json" : { + "examples" : { + "Request with master ID" : { + "description" : "Request with master ID", + "value" : "{\n \"masterId\" : \"550e8400-e29b-41d4-a716-446655440001\"\n}" + }, + "Request without master ID" : { + "description" : "Request without master ID", + "value" : "{ }" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ConfigureSaltRequest" + } + } + }, + "description" : "Configuration for enabling salt for a particular resource", + "required" : true + }, "responses" : { - "200" : { + "202" : { "content" : { "application/json" : { - "example" : "{\n \"taskId\" : \"bf41869d-1a6e-48de-8ba5-26399ca34de9\",\n \"statusMessage\" : \"Distributed Task Execution for ADAPTER_INSTALL\",\n \"taskState\" : \"RUNNING\",\n \"createdTime\" : 0,\n \"lastUpdateTime\" : 1753340192459,\n \"errorMessages\" : [ ]\n}", - "schema" : { - "$ref" : "#/components/schemas/task-status" - } - }, - "application/xml" : { - "example" : "\n\n bf41869d-1a6e-48de-8ba5-26399ca34de9\n Distributed Task Execution for ADAPTER_INSTALL\n RUNNING\n 0\n 1753340192459\n \n\n", + "examples" : { + "Task queued" : { + "description" : "Task queued", + "value" : "{\n \"taskId\" : \"550e8400-e29b-41d4-a716-446655440010\",\n \"taskType\" : \"SALT_ENABLEMENT\",\n \"description\" : \"Configuration for enabling salt for resource\",\n \"createdTime\" : 1764547200000,\n \"taskStatus\" : \"QUEUED\",\n \"errorMessages\" : [ ],\n \"lastUpdateTime\" : 1764547200000\n}" + }, + "Task running" : { + "description" : "Task running", + "value" : "{\n \"taskId\" : \"550e8400-e29b-41d4-a716-446655440010\",\n \"taskType\" : \"SALT_ENABLEMENT\",\n \"description\" : \"Configuration for enabling salt for resource - in progress\",\n \"createdTime\" : 1764547170000,\n \"taskStatus\" : \"RUNNING\",\n \"errorMessages\" : [ ],\n \"lastUpdateTime\" : 1764547200000\n}" + }, + "Task succeeded" : { + "description" : "Task succeeded", + "value" : "{\n \"taskId\" : \"550e8400-e29b-41d4-a716-446655440010\",\n \"taskType\" : \"SALT_ENABLEMENT\",\n \"description\" : \"Configuration for enabling salt for resource completed successfully\",\n \"createdTime\" : 1764543600000,\n \"taskStatus\" : \"SUCCEEDED\",\n \"errorMessages\" : [ ],\n \"lastUpdateTime\" : 1764547200000\n}" + } + }, "schema" : { - "$ref" : "#/components/schemas/task-status" + "$ref" : "#/components/schemas/SaltTaskDetails" } } }, - "description" : "Task status with the specified identifier" + "description" : "Configuration for enabling salt for resource done successfully" }, - "404" : { - "description" : "No Task is found with the specified identifier", + "500" : { + "description" : "Configuration for enabling salt for resource failed", "x-vmw-compiler-skip" : true } }, - "summary" : "Look up a task status with the given identifier", - "tags" : [ "Tasks" ] + "summary" : "Configuration for enabling salt for a particular resource", + "tags" : [ "Salt Management" ] } }, - "/api/versions" : { - "get" : { - "description" : "Get all supported versions by the service", - "operationId" : "getSupportedApplicationVersions", + "/api/salt/resources/{id}/keys/rotate" : { + "post" : { + "operationId" : "rotateResourceKeys", + "parameters" : [ { + "description" : "ID of the resource", + "in" : "path", + "name" : "id", + "required" : true, + "schema" : { + "type" : "string", + "format" : "uuid" + } + } ], "responses" : { - "200" : { + "202" : { "content" : { "application/json" : { - "example" : "{\n \"values\" : [ {\n \"releaseName\" : \"VCF Operations 9.1.0.0\",\n \"major\" : 9,\n \"minor\" : 1,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1772568000000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, March 3, 2026 at 12:00:00 PM Pacific Standard Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware Aria Operations 8.18.6\",\n \"major\" : 1,\n \"minor\" : 76,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1771963200000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, February 24, 2026 at 12:00:00 PM Pacific Standard Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VCF Operations 9.0.1.0\",\n \"major\" : 2,\n \"minor\" : 1,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1759863600000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, October 7, 2025 at 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware Aria Operations 8.18.5\",\n \"major\" : 1,\n \"minor\" : 75,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1759172400000,\n \"humanlyReadableReleaseDate\" : \"Monday, September 29, 2025 at 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware Aria Operations 8.18.4\",\n \"major\" : 1,\n \"minor\" : 74,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1753210800000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, July 22, 2025 at 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VCF Operations 9.0.0.0\",\n \"major\" : 2,\n \"minor\" : 0,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1750186800000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, June 17, 2025 at 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware Aria Operations 8.18.3\",\n \"major\" : 1,\n \"minor\" : 73,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1738267200000,\n \"humanlyReadableReleaseDate\" : \"Thursday, January 30, 2025 at 12:00:00 PM Pacific Standard Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VCF Operations 9.0.2.0\",\n \"major\" : 2,\n \"minor\" : 2,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1737403200000,\n \"humanlyReadableReleaseDate\" : \"Monday, January 20, 2025 at 12:00:00 PM Pacific Standard Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware Aria Operations 8.18.2\",\n \"major\" : 1,\n \"minor\" : 72,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1732824000000,\n \"humanlyReadableReleaseDate\" : \"Thursday, November 28, 2024 at 12:00:00 PM Pacific Standard Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware Aria Operations 8.18.1\",\n \"major\" : 1,\n \"minor\" : 71,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1726772400000,\n \"humanlyReadableReleaseDate\" : \"Thursday, September 19, 2024 at 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware Aria Operations 8.18.0\",\n \"major\" : 1,\n \"minor\" : 70,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1720551600000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, July 9, 2024 at 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware Aria Operations 8.17.2\",\n \"major\" : 1,\n \"minor\" : 64,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1718391600000,\n \"humanlyReadableReleaseDate\" : \"Friday, June 14, 2024 at 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware Aria Operations 8.17.1\",\n \"major\" : 1,\n \"minor\" : 63,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1712862000000,\n \"humanlyReadableReleaseDate\" : \"Thursday, April 11, 2024 at 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware Aria Operations 8.16.1\",\n \"major\" : 1,\n \"minor\" : 59,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1709668800000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, March 5, 2024 at 12:00:00 PM Pacific Standard Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware Aria Operations 8.17.0\",\n \"major\" : 1,\n \"minor\" : 62,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1709236800000,\n \"humanlyReadableReleaseDate\" : \"Thursday, February 29, 2024 at 12:00:00 PM Pacific Standard Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware Aria Operations 8.16.0\",\n \"major\" : 1,\n \"minor\" : 58,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1705608000000,\n \"humanlyReadableReleaseDate\" : \"Thursday, January 18, 2024 at 12:00:00 PM Pacific Standard Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware Aria Operations 8.14.1\",\n \"major\" : 1,\n \"minor\" : 53,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1699560000000,\n \"humanlyReadableReleaseDate\" : \"Thursday, November 9, 2023 at 12:00:00 PM Pacific Standard Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware Aria Operations 8.15.1\",\n \"major\" : 1,\n \"minor\" : 57,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1698692400000,\n \"humanlyReadableReleaseDate\" : \"Monday, October 30, 2023 at 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware Aria Operations 8.14.0\",\n \"major\" : 1,\n \"minor\" : 52,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1697569200000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, October 17, 2023 at 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware Aria Operations 8.15.0\",\n \"major\" : 1,\n \"minor\" : 55,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1696964400000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, October 10, 2023 at 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware Aria Operations 8.13.1\",\n \"major\" : 1,\n \"minor\" : 51,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1696446000000,\n \"humanlyReadableReleaseDate\" : \"Wednesday, October 4, 2023 at 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware Aria Operations 8.13.0\",\n \"major\" : 1,\n \"minor\" : 50,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1687892400000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, June 27, 2023 at 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware Aria Operations 8.12.1\",\n \"major\" : 1,\n \"minor\" : 46,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1686855600000,\n \"humanlyReadableReleaseDate\" : \"Thursday, June 15, 2023 at 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware Aria Operations 8.12.0\",\n \"major\" : 1,\n \"minor\" : 45,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1682017200000,\n \"humanlyReadableReleaseDate\" : \"Thursday, April 20, 2023 at 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware Aria Operations 8.11.2\",\n \"major\" : 1,\n \"minor\" : 42,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1680030000000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, March 28, 2023 at 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations 8.10.2\",\n \"major\" : 1,\n \"minor\" : 37,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1675195200000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, January 31, 2023 at 12:00:00 PM Pacific Standard Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations 8.11.1\",\n \"major\" : 1,\n \"minor\" : 41,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1670356800000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, December 6, 2022 at 12:00:00 PM Pacific Standard Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations 8.10.1\",\n \"major\" : 1,\n \"minor\" : 36,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1670356800000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, December 6, 2022 at 12:00:00 PM Pacific Standard Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations 8.11.0\",\n \"major\" : 1,\n \"minor\" : 40,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1666724400000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, October 25, 2022 at 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations 8.10.0\",\n \"major\" : 1,\n \"minor\" : 35,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1664910000000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, October 4, 2022 at 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations 8.7.3\",\n \"major\" : 1,\n \"minor\" : 33,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1664132400000,\n \"humanlyReadableReleaseDate\" : \"Sunday, September 25, 2022 at 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations 8.6.4\",\n \"major\" : 1,\n \"minor\" : 21,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1660071600000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, August 9, 2022 at 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations 8.7.2\",\n \"major\" : 1,\n \"minor\" : 32,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1657652400000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, July 12, 2022 at 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations 8.7.1\",\n \"major\" : 1,\n \"minor\" : 31,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1651172400000,\n \"humanlyReadableReleaseDate\" : \"Thursday, April 28, 2022 at 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations 8.6.3\",\n \"major\" : 1,\n \"minor\" : 20,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1651172400000,\n \"humanlyReadableReleaseDate\" : \"Thursday, April 28, 2022 at 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations 8.7.0\",\n \"major\" : 1,\n \"minor\" : 30,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1643400000000,\n \"humanlyReadableReleaseDate\" : \"Friday, January 28, 2022 at 12:00:00 PM Pacific Standard Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations 8.6.2\",\n \"major\" : 1,\n \"minor\" : 19,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1640116800000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, December 21, 2021 at 12:00:00 PM Pacific Standard Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations 8.6.1\",\n \"major\" : 1,\n \"minor\" : 18,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1638907200000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, December 7, 2021 at 12:00:00 PM Pacific Standard Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations 8.6.0\",\n \"major\" : 1,\n \"minor\" : 17,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1634065200000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, October 12, 2021 at 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations Manager 8.5.0\",\n \"major\" : 1,\n \"minor\" : 16,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1626202800000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, July 13, 2021 at 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations Manager 8.4.0\",\n \"major\" : 1,\n \"minor\" : 15,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1618513200000,\n \"humanlyReadableReleaseDate\" : \"Thursday, April 15, 2021 at 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations Manager 8.3.0\",\n \"major\" : 1,\n \"minor\" : 14,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1612468800000,\n \"humanlyReadableReleaseDate\" : \"Thursday, February 4, 2021 at 12:00:00 PM Pacific Standard Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations Manager 8.2.0\",\n \"major\" : 1,\n \"minor\" : 13,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1602010800000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, October 6, 2020 at 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations Manager 8.1.0\",\n \"major\" : 1,\n \"minor\" : 12,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1586890800000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, April 14, 2020 at 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations Manager 8.0.0\",\n \"major\" : 1,\n \"minor\" : 11,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1571338800000,\n \"humanlyReadableReleaseDate\" : \"Thursday, October 17, 2019 at 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations Manager 7.5.0\",\n \"major\" : 1,\n \"minor\" : 10,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1555009200000,\n \"humanlyReadableReleaseDate\" : \"Thursday, April 11, 2019 at 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations Manager 7.0.0\",\n \"major\" : 1,\n \"minor\" : 9,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1537470000000,\n \"humanlyReadableReleaseDate\" : \"Thursday, September 20, 2018 at 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations Manager 6.7.0\",\n \"major\" : 1,\n \"minor\" : 8,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1523559600000,\n \"humanlyReadableReleaseDate\" : \"Thursday, April 12, 2018 at 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations Manager 6.6.0\",\n \"major\" : 1,\n \"minor\" : 7,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1497380400000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, June 13, 2017 at 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations Manager 6.5.0\",\n \"major\" : 1,\n \"minor\" : 6,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1488484800000,\n \"humanlyReadableReleaseDate\" : \"Thursday, March 2, 2017 at 12:00:00 PM Pacific Standard Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations Manager 6.4.0\",\n \"major\" : 1,\n \"minor\" : 5,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1479240000000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, November 15, 2016 at 12:00:00 PM Pacific Standard Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations Manager 6.3.0\",\n \"major\" : 1,\n \"minor\" : 4,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1471978800000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, August 23, 2016 at 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations Manager 6.2.1\",\n \"major\" : 1,\n \"minor\" : 3,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1462042800000,\n \"humanlyReadableReleaseDate\" : \"Saturday, April 30, 2016 at 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations Manager 6.1.0\",\n \"major\" : 1,\n \"minor\" : 2,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1446318000000,\n \"humanlyReadableReleaseDate\" : \"Saturday, October 31, 2015 at 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations Manager 6.0.3\",\n \"major\" : 1,\n \"minor\" : 1,\n \"minorMinor\" : 1,\n \"patch\" : 0,\n \"releasedDate\" : 1443639600000,\n \"humanlyReadableReleaseDate\" : \"Wednesday, September 30, 2015 at 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations Manager 6.0\",\n \"major\" : 1,\n \"minor\" : 0,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1418155200000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, December 9, 2014 at 12:00:00 PM Pacific Standard Time\",\n \"description\" : null\n } ]\n}", + "examples" : { + "Task queued" : { + "description" : "Task queued", + "value" : "{\n \"taskId\" : \"550e8400-e29b-41d4-a716-446655440011\",\n \"taskType\" : \"ROTATE_KEYS\",\n \"description\" : \"Rotate keys for resource\",\n \"createdTime\" : 1764547200000,\n \"taskStatus\" : \"QUEUED\",\n \"errorMessages\" : [ ],\n \"lastUpdateTime\" : 1764547200000\n}" + }, + "Task succeeded" : { + "description" : "Task succeeded", + "value" : "{\n \"taskId\" : \"550e8400-e29b-41d4-a716-446655440011\",\n \"taskType\" : \"ROTATE_KEYS\",\n \"description\" : \"Rotate keys for resource completed successfully\",\n \"createdTime\" : 1764545400000,\n \"taskStatus\" : \"SUCCEEDED\",\n \"errorMessages\" : [ ],\n \"lastUpdateTime\" : 1764547200000\n}" + } + }, "schema" : { - "$ref" : "#/components/schemas/versions" - } - }, - "application/xml" : { - "example" : "\n\n \n VCF Operations 9.1.0.0\n 9\n 1\n 0\n 0\n 2026-03-03T12:00:00-08:00\n Tuesday, March 3, 2026 at 12:00:00 PM Pacific Standard Time\n \n \n \n VMware Aria Operations 8.18.6\n 1\n 76\n 0\n 0\n 2026-02-24T12:00:00-08:00\n Tuesday, February 24, 2026 at 12:00:00 PM Pacific Standard Time\n \n \n \n VCF Operations 9.0.1.0\n 2\n 1\n 0\n 0\n 2025-10-07T12:00:00-07:00\n Tuesday, October 7, 2025 at 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware Aria Operations 8.18.5\n 1\n 75\n 0\n 0\n 2025-09-29T12:00:00-07:00\n Monday, September 29, 2025 at 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware Aria Operations 8.18.4\n 1\n 74\n 0\n 0\n 2025-07-22T12:00:00-07:00\n Tuesday, July 22, 2025 at 12:00:00 PM Pacific Daylight Time\n \n \n \n VCF Operations 9.0.0.0\n 2\n 0\n 0\n 0\n 2025-06-17T12:00:00-07:00\n Tuesday, June 17, 2025 at 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware Aria Operations 8.18.3\n 1\n 73\n 0\n 0\n 2025-01-30T12:00:00-08:00\n Thursday, January 30, 2025 at 12:00:00 PM Pacific Standard Time\n \n \n \n VCF Operations 9.0.2.0\n 2\n 2\n 0\n 0\n 2025-01-20T12:00:00-08:00\n Monday, January 20, 2025 at 12:00:00 PM Pacific Standard Time\n \n \n \n VMware Aria Operations 8.18.2\n 1\n 72\n 0\n 0\n 2024-11-28T12:00:00-08:00\n Thursday, November 28, 2024 at 12:00:00 PM Pacific Standard Time\n \n \n \n VMware Aria Operations 8.18.1\n 1\n 71\n 0\n 0\n 2024-09-19T12:00:00-07:00\n Thursday, September 19, 2024 at 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware Aria Operations 8.18.0\n 1\n 70\n 0\n 0\n 2024-07-09T12:00:00-07:00\n Tuesday, July 9, 2024 at 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware Aria Operations 8.17.2\n 1\n 64\n 0\n 0\n 2024-06-14T12:00:00-07:00\n Friday, June 14, 2024 at 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware Aria Operations 8.17.1\n 1\n 63\n 0\n 0\n 2024-04-11T12:00:00-07:00\n Thursday, April 11, 2024 at 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware Aria Operations 8.16.1\n 1\n 59\n 0\n 0\n 2024-03-05T12:00:00-08:00\n Tuesday, March 5, 2024 at 12:00:00 PM Pacific Standard Time\n \n \n \n VMware Aria Operations 8.17.0\n 1\n 62\n 0\n 0\n 2024-02-29T12:00:00-08:00\n Thursday, February 29, 2024 at 12:00:00 PM Pacific Standard Time\n \n \n \n VMware Aria Operations 8.16.0\n 1\n 58\n 0\n 0\n 2024-01-18T12:00:00-08:00\n Thursday, January 18, 2024 at 12:00:00 PM Pacific Standard Time\n \n \n \n VMware Aria Operations 8.14.1\n 1\n 53\n 0\n 0\n 2023-11-09T12:00:00-08:00\n Thursday, November 9, 2023 at 12:00:00 PM Pacific Standard Time\n \n \n \n VMware Aria Operations 8.15.1\n 1\n 57\n 0\n 0\n 2023-10-30T12:00:00-07:00\n Monday, October 30, 2023 at 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware Aria Operations 8.14.0\n 1\n 52\n 0\n 0\n 2023-10-17T12:00:00-07:00\n Tuesday, October 17, 2023 at 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware Aria Operations 8.15.0\n 1\n 55\n 0\n 0\n 2023-10-10T12:00:00-07:00\n Tuesday, October 10, 2023 at 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware Aria Operations 8.13.1\n 1\n 51\n 0\n 0\n 2023-10-04T12:00:00-07:00\n Wednesday, October 4, 2023 at 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware Aria Operations 8.13.0\n 1\n 50\n 0\n 0\n 2023-06-27T12:00:00-07:00\n Tuesday, June 27, 2023 at 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware Aria Operations 8.12.1\n 1\n 46\n 0\n 0\n 2023-06-15T12:00:00-07:00\n Thursday, June 15, 2023 at 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware Aria Operations 8.12.0\n 1\n 45\n 0\n 0\n 2023-04-20T12:00:00-07:00\n Thursday, April 20, 2023 at 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware Aria Operations 8.11.2\n 1\n 42\n 0\n 0\n 2023-03-28T12:00:00-07:00\n Tuesday, March 28, 2023 at 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware vRealize Operations 8.10.2\n 1\n 37\n 0\n 0\n 2023-01-31T12:00:00-08:00\n Tuesday, January 31, 2023 at 12:00:00 PM Pacific Standard Time\n \n \n \n VMware vRealize Operations 8.11.1\n 1\n 41\n 0\n 0\n 2022-12-06T12:00:00-08:00\n Tuesday, December 6, 2022 at 12:00:00 PM Pacific Standard Time\n \n \n \n VMware vRealize Operations 8.10.1\n 1\n 36\n 0\n 0\n 2022-12-06T12:00:00-08:00\n Tuesday, December 6, 2022 at 12:00:00 PM Pacific Standard Time\n \n \n \n VMware vRealize Operations 8.11.0\n 1\n 40\n 0\n 0\n 2022-10-25T12:00:00-07:00\n Tuesday, October 25, 2022 at 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware vRealize Operations 8.10.0\n 1\n 35\n 0\n 0\n 2022-10-04T12:00:00-07:00\n Tuesday, October 4, 2022 at 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware vRealize Operations 8.7.3\n 1\n 33\n 0\n 0\n 2022-09-25T12:00:00-07:00\n Sunday, September 25, 2022 at 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware vRealize Operations 8.6.4\n 1\n 21\n 0\n 0\n 2022-08-09T12:00:00-07:00\n Tuesday, August 9, 2022 at 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware vRealize Operations 8.7.2\n 1\n 32\n 0\n 0\n 2022-07-12T12:00:00-07:00\n Tuesday, July 12, 2022 at 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware vRealize Operations 8.7.1\n 1\n 31\n 0\n 0\n 2022-04-28T12:00:00-07:00\n Thursday, April 28, 2022 at 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware vRealize Operations 8.6.3\n 1\n 20\n 0\n 0\n 2022-04-28T12:00:00-07:00\n Thursday, April 28, 2022 at 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware vRealize Operations 8.7.0\n 1\n 30\n 0\n 0\n 2022-01-28T12:00:00-08:00\n Friday, January 28, 2022 at 12:00:00 PM Pacific Standard Time\n \n \n \n VMware vRealize Operations 8.6.2\n 1\n 19\n 0\n 0\n 2021-12-21T12:00:00-08:00\n Tuesday, December 21, 2021 at 12:00:00 PM Pacific Standard Time\n \n \n \n VMware vRealize Operations 8.6.1\n 1\n 18\n 0\n 0\n 2021-12-07T12:00:00-08:00\n Tuesday, December 7, 2021 at 12:00:00 PM Pacific Standard Time\n \n \n \n VMware vRealize Operations 8.6.0\n 1\n 17\n 0\n 0\n 2021-10-12T12:00:00-07:00\n Tuesday, October 12, 2021 at 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware vRealize Operations Manager 8.5.0\n 1\n 16\n 0\n 0\n 2021-07-13T12:00:00-07:00\n Tuesday, July 13, 2021 at 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware vRealize Operations Manager 8.4.0\n 1\n 15\n 0\n 0\n 2021-04-15T12:00:00-07:00\n Thursday, April 15, 2021 at 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware vRealize Operations Manager 8.3.0\n 1\n 14\n 0\n 0\n 2021-02-04T12:00:00-08:00\n Thursday, February 4, 2021 at 12:00:00 PM Pacific Standard Time\n \n \n \n VMware vRealize Operations Manager 8.2.0\n 1\n 13\n 0\n 0\n 2020-10-06T12:00:00-07:00\n Tuesday, October 6, 2020 at 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware vRealize Operations Manager 8.1.0\n 1\n 12\n 0\n 0\n 2020-04-14T12:00:00-07:00\n Tuesday, April 14, 2020 at 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware vRealize Operations Manager 8.0.0\n 1\n 11\n 0\n 0\n 2019-10-17T12:00:00-07:00\n Thursday, October 17, 2019 at 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware vRealize Operations Manager 7.5.0\n 1\n 10\n 0\n 0\n 2019-04-11T12:00:00-07:00\n Thursday, April 11, 2019 at 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware vRealize Operations Manager 7.0.0\n 1\n 9\n 0\n 0\n 2018-09-20T12:00:00-07:00\n Thursday, September 20, 2018 at 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware vRealize Operations Manager 6.7.0\n 1\n 8\n 0\n 0\n 2018-04-12T12:00:00-07:00\n Thursday, April 12, 2018 at 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware vRealize Operations Manager 6.6.0\n 1\n 7\n 0\n 0\n 2017-06-13T12:00:00-07:00\n Tuesday, June 13, 2017 at 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware vRealize Operations Manager 6.5.0\n 1\n 6\n 0\n 0\n 2017-03-02T12:00:00-08:00\n Thursday, March 2, 2017 at 12:00:00 PM Pacific Standard Time\n \n \n \n VMware vRealize Operations Manager 6.4.0\n 1\n 5\n 0\n 0\n 2016-11-15T12:00:00-08:00\n Tuesday, November 15, 2016 at 12:00:00 PM Pacific Standard Time\n \n \n \n VMware vRealize Operations Manager 6.3.0\n 1\n 4\n 0\n 0\n 2016-08-23T12:00:00-07:00\n Tuesday, August 23, 2016 at 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware vRealize Operations Manager 6.2.1\n 1\n 3\n 0\n 0\n 2016-04-30T12:00:00-07:00\n Saturday, April 30, 2016 at 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware vRealize Operations Manager 6.1.0\n 1\n 2\n 0\n 0\n 2015-10-31T12:00:00-07:00\n Saturday, October 31, 2015 at 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware vRealize Operations Manager 6.0.3\n 1\n 1\n 1\n 0\n 2015-09-30T12:00:00-07:00\n Wednesday, September 30, 2015 at 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware vRealize Operations Manager 6.0\n 1\n 0\n 0\n 0\n 2014-12-09T12:00:00-08:00\n Tuesday, December 9, 2014 at 12:00:00 PM Pacific Standard Time\n \n \n\n", - "schema" : { - "$ref" : "#/components/schemas/versions" + "$ref" : "#/components/schemas/SaltTaskDetails" } } }, - "description" : "The List of Supported Versions by the Server" + "description" : "Rotate keys for resource done successfully" + }, + "500" : { + "description" : "Rotate keys for resource failed", + "x-vmw-compiler-skip" : true } }, - "summary" : "Get all supported versions by the service", - "tags" : [ "Versions Info" ] + "summary" : "Rotate keys for resource", + "tags" : [ "Salt Management" ] } }, - "/api/versions/current" : { + "/api/salt/resources/{id}/status" : { "get" : { - "description" : "Get the current version of the service", - "operationId" : "getCurrentVersionOfServer", + "operationId" : "getSaltResourceById", + "parameters" : [ { + "description" : "ID of the resource", + "in" : "path", + "name" : "id", + "required" : true, + "schema" : { + "type" : "string", + "format" : "uuid" + } + } ], "responses" : { "200" : { "content" : { "application/json" : { - "example" : "{\n \"releaseName\" : \"VCF Operations 9.1.0.0\",\n \"major\" : 9,\n \"minor\" : 1,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1772568000000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, March 3, 2026 at 12:00:00 PM Pacific Standard Time\",\n \"description\" : null\n}", - "schema" : { - "$ref" : "#/components/schemas/version" - } - }, - "application/xml" : { - "example" : "\n\n VCF Operations 9.1.0.0\n 9\n 1\n 0\n 0\n 2026-03-03T12:00:00-08:00\n Tuesday, March 3, 2026 at 12:00:00 PM Pacific Standard Time\n \n\n", + "examples" : { + "Connected minion" : { + "description" : "Connected minion", + "value" : "{\n \"minionId\" : \"minion-001\",\n \"resourceId\" : \"550e8400-e29b-41d4-a716-446655440000\",\n \"status\" : \"CONNECTED\"\n}" + }, + "Disabled minion" : { + "description" : "Disabled minion", + "value" : "{\n \"minionId\" : \"minion-003\",\n \"resourceId\" : \"550e8400-e29b-41d4-a716-446655440003\",\n \"status\" : \"DISABLED\"\n}" + }, + "Disconnected minion" : { + "description" : "Disconnected minion", + "value" : "{\n \"minionId\" : \"minion-002\",\n \"resourceId\" : \"550e8400-e29b-41d4-a716-446655440002\",\n \"status\" : \"DISCONNECTED\"\n}" + } + }, "schema" : { - "$ref" : "#/components/schemas/version" + "$ref" : "#/components/schemas/ResourceSaltStatus" } } }, - "description" : "The current version of the Server" + "description" : "Executed Get salt status for a resource" + }, + "500" : { + "description" : "Error while processing Get salt status for a resource", + "x-vmw-compiler-skip" : true } }, - "summary" : "Get the current version of the service", - "tags" : [ "Versions Info" ] + "summary" : "Get salt status for a resource", + "tags" : [ "Salt Management" ] } }, - "/api/whatif/scenarios" : { + "/api/salt/tasks/{taskId}" : { "get" : { - "operationId" : "getScenarios", + "operationId" : "getTask", "parameters" : [ { - "in" : "query", - "name" : "scenarioStatus", - "required" : false, + "description" : "Task Id", + "in" : "path", + "name" : "taskId", + "required" : true, "schema" : { "type" : "string", - "description" : "Scenario Status", - "enum" : [ "SAVED", "COMMITTED" ] - } - }, { - "description" : "Page number from which data needs to be displayed (0-based)", - "in" : "query", - "name" : "page", - "schema" : { - "type" : "integer", - "format" : "int32", - "default" : 0 - } - }, { - "description" : "Expected number of entries per page", - "in" : "query", - "name" : "pageSize", - "schema" : { - "type" : "integer", - "format" : "int32", - "default" : 1000 + "format" : "uuid" } } ], "responses" : { "200" : { "content" : { "application/json" : { - "example" : "{\n \"pageInfo\" : {\n \"totalCount\" : 20,\n \"page\" : 1,\n \"pageSize\" : 20\n },\n \"whatIfScenarios\" : [ {\n \"name\" : \"Add capacity scenario\",\n \"actionType\" : \"ADD\",\n \"contentType\" : \"WORKLOAD\",\n \"workloadCapacityLocation\" : {\n \"dataCenterId\" : \"5cd97c63-22cf-444c-bb82-1b47c5d79812\",\n \"clusterId\" : \"f4d9a9ee-dfac-4e8c-a402-2b200674db00\"\n },\n \"scenarioContent\" : {\n \"manualVmConfig\" : {\n \"count\" : 2,\n \"cpu\" : 1,\n \"memory\" : 1,\n \"storage\" : 1,\n \"commonUtilization\" : 1.0,\n \"vmInstanceOS\" : \"LINUX\"\n },\n \"commonUtilizationGrowthRate\" : 5\n },\n \"startDate\" : 1719385200000,\n \"whatIfScenarioStatus\" : \"SAVED\"\n }, {\n \"name\" : \"Add capacity scenario\",\n \"actionType\" : \"MIGRATE\",\n \"contentType\" : \"WORKLOAD\",\n \"workloadCapacityLocation\" : {\n \"dataCenterId\" : \"5cd97c63-22cf-444c-bb82-1b47c5d79812\",\n \"clusterId\" : \"f4d9a9ee-dfac-4e8c-a402-2b200674db00\"\n },\n \"scenarioContent\" : {\n \"manualVmConfig\" : {\n \"count\" : 2,\n \"cpu\" : 1,\n \"memory\" : 1,\n \"storage\" : 1,\n \"commonUtilization\" : 1.0,\n \"vmInstanceOS\" : \"LINUX\"\n },\n \"commonUtilizationGrowthRate\" : 5\n },\n \"startDate\" : 1719385200000,\n \"whatIfScenarioStatus\" : \"SAVED\"\n } ]\n}", + "examples" : { + "Task failed" : { + "description" : "Task failed", + "value" : "{\n \"taskId\" : \"550e8400-e29b-41d4-a716-446655440013\",\n \"taskType\" : \"SALT_ENABLEMENT\",\n \"description\" : \"Salt enablement task failed\",\n \"createdTime\" : 1764540000000,\n \"taskStatus\" : \"FAILED\",\n \"errorMessages\" : [ \"Connection timeout to minion\", \"Unable to establish SSH connection\" ],\n \"lastUpdateTime\" : 1764547200000\n}" + }, + "Task running" : { + "description" : "Task running", + "value" : "{\n \"taskId\" : \"550e8400-e29b-41d4-a716-446655440012\",\n \"taskType\" : \"ROTATE_KEYS\",\n \"description\" : \"Rotate keys task in progress\",\n \"createdTime\" : 1764547140000,\n \"taskStatus\" : \"RUNNING\",\n \"errorMessages\" : [ ],\n \"lastUpdateTime\" : 1764547200000\n}" + }, + "Task succeeded" : { + "description" : "Task succeeded", + "value" : "{\n \"taskId\" : \"550e8400-e29b-41d4-a716-446655440010\",\n \"taskType\" : \"SALT_ENABLEMENT\",\n \"description\" : \"Salt enablement task completed successfully\",\n \"createdTime\" : 1764543600000,\n \"taskStatus\" : \"SUCCEEDED\",\n \"errorMessages\" : [ ],\n \"lastUpdateTime\" : 1764547200000\n}" + } + }, "schema" : { - "$ref" : "#/components/schemas/WhatIfScenarios" + "$ref" : "#/components/schemas/SaltTaskDetails" } } }, - "description" : "List scenarios" - } - }, - "summary" : "Get all saved scenarios", - "tags" : [ "What If" ] - }, - "post" : { - "operationId" : "saveScenario", - "requestBody" : { - "content" : { - "application/json" : { - "example" : "{\n \"name\" : \"Add capacity scenario\",\n \"actionType\" : \"ADD\",\n \"contentType\" : \"WORKLOAD\",\n \"workloadCapacityLocation\" : {\n \"dataCenterId\" : \"5cd97c63-22cf-444c-bb82-1b47c5d79812\",\n \"clusterId\" : \"f4d9a9ee-dfac-4e8c-a402-2b200674db00\"\n },\n \"scenarioContent\" : {\n \"manualVmConfig\" : {\n \"count\" : 2,\n \"cpu\" : 1,\n \"memory\" : 1,\n \"storage\" : 1,\n \"commonUtilization\" : 1.0,\n \"vmInstanceOS\" : \"LINUX\"\n },\n \"commonUtilizationGrowthRate\" : 5\n },\n \"startDate\" : 1719385200000,\n \"whatIfScenarioStatus\" : \"SAVED\"\n}", - "schema" : { - "$ref" : "#/components/schemas/WhatIfScenario" - } - } + "description" : "Executed Get salt task details for a task Id" }, - "description" : "Scenario to create", - "required" : true - }, - "responses" : { - "201" : { - "content" : { - "application/json" : { - "example" : "{\n \"name\" : \"Add capacity scenario\",\n \"actionType\" : \"ADD\",\n \"contentType\" : \"WORKLOAD\",\n \"workloadCapacityLocation\" : {\n \"dataCenterId\" : \"5cd97c63-22cf-444c-bb82-1b47c5d79812\",\n \"clusterId\" : \"f4d9a9ee-dfac-4e8c-a402-2b200674db00\"\n },\n \"scenarioContent\" : {\n \"manualVmConfig\" : {\n \"count\" : 2,\n \"cpu\" : 1,\n \"memory\" : 1,\n \"storage\" : 1,\n \"commonUtilization\" : 1.0,\n \"vmInstanceOS\" : \"LINUX\"\n },\n \"commonUtilizationGrowthRate\" : 5\n },\n \"startDate\" : 1719385200000,\n \"whatIfScenarioStatus\" : \"SAVED\"\n}", - "schema" : { - "$ref" : "#/components/schemas/WhatIfScenario" - } - } - }, - "description" : "Save scenario" - } - }, - "summary" : "Save scenario", - "tags" : [ "What If" ] - }, - "put" : { - "operationId" : "updateScenario", - "requestBody" : { - "content" : { - "application/json" : { - "example" : "{\n \"name\" : \"Add capacity scenario\",\n \"actionType\" : \"ADD\",\n \"contentType\" : \"WORKLOAD\",\n \"workloadCapacityLocation\" : {\n \"dataCenterId\" : \"5cd97c63-22cf-444c-bb82-1b47c5d79812\",\n \"clusterId\" : \"f4d9a9ee-dfac-4e8c-a402-2b200674db00\"\n },\n \"scenarioContent\" : {\n \"manualVmConfig\" : {\n \"count\" : 2,\n \"cpu\" : 1,\n \"memory\" : 1,\n \"storage\" : 1,\n \"commonUtilization\" : 1.0,\n \"vmInstanceOS\" : \"LINUX\"\n },\n \"commonUtilizationGrowthRate\" : 5\n },\n \"startDate\" : 1719385200000,\n \"whatIfScenarioStatus\" : \"SAVED\"\n}", - "schema" : { - "$ref" : "#/components/schemas/WhatIfScenario" - } - } + "400" : { + "description" : "Get Resources failed with errors", + "x-vmw-compiler-skip" : true }, - "description" : "Scenario to update", - "required" : true + "404" : { + "description" : "Salt Task not found", + "x-vmw-compiler-skip" : true + }, + "500" : { + "description" : "Error while processing Get salt task details for a task Id", + "x-vmw-compiler-skip" : true + } }, + "summary" : "Get task details for a task Id", + "tags" : [ "Salt Management" ] + } + }, + "/api/solutions" : { + "get" : { + "description" : "Get data about all the solutions associated with VMware Cloud Foundation Operations instance. Data includes name, version , vendor and adapterKinds of the solution.", + "operationId" : "getSolutions", "responses" : { "200" : { "content" : { "application/json" : { - "example" : "{\n \"name\" : \"Add capacity scenario\",\n \"actionType\" : \"ADD\",\n \"contentType\" : \"WORKLOAD\",\n \"workloadCapacityLocation\" : {\n \"dataCenterId\" : \"5cd97c63-22cf-444c-bb82-1b47c5d79812\",\n \"clusterId\" : \"f4d9a9ee-dfac-4e8c-a402-2b200674db00\"\n },\n \"scenarioContent\" : {\n \"manualVmConfig\" : {\n \"count\" : 2,\n \"cpu\" : 1,\n \"memory\" : 1,\n \"storage\" : 1,\n \"commonUtilization\" : 1.0,\n \"vmInstanceOS\" : \"LINUX\"\n },\n \"commonUtilizationGrowthRate\" : 5\n },\n \"startDate\" : 1719385200000,\n \"whatIfScenarioStatus\" : \"SAVED\"\n}", + "example" : "{\n \"id\" : \"VMware vSphere\",\n \"name\" : \"vSphere\",\n \"version\" : \"6.0.22\",\n \"description\" : \"DESCRIPTION\",\n \"vendor\" : \"VENDOR\",\n \"adapterKindKeys\" : [ \"VMWARE\", \"PythonRemediationAdapter\" ]\n}", "schema" : { - "$ref" : "#/components/schemas/WhatIfScenario" + "$ref" : "#/components/schemas/solutions" + } + }, + "application/xml" : { + "example" : "\n\n vSphere\n 6.0.22\n DESCRIPTION\n VENDOR\n VMWARE PythonRemediationAdapter\n\n", + "schema" : { + "$ref" : "#/components/schemas/solutions" } } }, - "description" : "Update scenario" + "description" : "The Solutions" } }, - "summary" : "Update scenario", - "tags" : [ "What If" ] + "summary" : "Get all solutions installed in the product", + "tags" : [ "Solutions" ] } }, - "/api/whatif/scenarios/run" : { - "post" : { - "operationId" : "runScenario", - "requestBody" : { - "content" : { - "application/json" : { - "example" : "{\n \"uuids\" : [ \"54b603a4-4a98-4365-a6b0-1370564f228a\", \"01cfc25b-2f00-4afd-a1b5-275df2ccd8d8\" ]\n}", - "schema" : { - "$ref" : "#/components/schemas/uuid-values" - } - } - }, - "description" : "List of scenarios.", - "required" : true - }, + "/api/solutions/{solutionId}" : { + "get" : { + "description" : "Data includes name, version, vendor and adapterKinds of the solution", + "operationId" : "getSolution", + "parameters" : [ { + "description" : "The Id of the solution", + "in" : "path", + "name" : "solutionId", + "required" : true, + "schema" : { + "type" : "string" + } + } ], "responses" : { "200" : { "content" : { "application/json" : { - "example" : "{\n \"clusterDetails\" : {\n \"scenarioFit\" : true,\n \"clusterSummaries\" : [ {\n \"clusterId\" : \"f4d9a9ee-dfac-4e8c-a402-2b200674db00\",\n \"clusterName\" : \"Palo-Alto-Cluster\"\n } ]\n },\n \"publicCloudMigrationDetails\" : {\n \"publicClouds\" : [ {\n \"id\" : \"AWS\",\n \"region\" : \"us-west-2\",\n \"instanceDetails\" : [ {\n \"instanceDetails\" : [ {\n \"key\" : \"COST\",\n \"value\" : \"5500\"\n }, {\n \"key\" : \"INSTANCE_TYPE\",\n \"value\" : \"small\"\n } ]\n } ],\n \"cost\" : 5500.0\n } ]\n }\n}", + "example" : "{\n \"id\" : \"VMware vSphere\",\n \"name\" : \"vSphere\",\n \"version\" : \"6.0.22\",\n \"description\" : \"DESCRIPTION\",\n \"vendor\" : \"VENDOR\",\n \"adapterKindKeys\" : [ \"VMWARE\", \"PythonRemediationAdapter\" ]\n}", "schema" : { - "$ref" : "#/components/schemas/RunWhatIfScenario" + "$ref" : "#/components/schemas/solution" + } + }, + "application/xml" : { + "example" : "\n\n vSphere\n 6.0.22\n DESCRIPTION\n VENDOR\n VMWARE PythonRemediationAdapter\n\n", + "schema" : { + "$ref" : "#/components/schemas/solution" } } }, - "description" : "Run scenario" + "description" : "The solution info" + }, + "404" : { + "description" : "The specified Id does not exist in the system", + "x-vmw-compiler-skip" : true } }, - "summary" : "Run scenario", - "tags" : [ "What If" ] + "summary" : "Get solution data for the specified id", + "tags" : [ "Solutions" ] } }, - "/api/whatif/scenarios/{id}" : { - "delete" : { - "operationId" : "deleteScenario", + "/api/solutions/{solutionId}/adapterkinds" : { + "get" : { + "description" : "Get Adapter Kind details for the specified solution id", + "operationId" : "getAdapterKindsForSolution", "parameters" : [ { + "description" : "The id of the solution", "in" : "path", - "name" : "id", + "name" : "solutionId", "required" : true, "schema" : { - "type" : "string", - "format" : "uuid" + "type" : "string" } } ], "responses" : { - "204" : { - "description" : "No Content" + "200" : { + "content" : { + "application/json" : { + "example" : "No Custom Example is Available", + "schema" : { + "$ref" : "#/components/schemas/adapter-kinds" + } + }, + "application/xml" : { + "example" : "No Custom Example is Available", + "schema" : { + "$ref" : "#/components/schemas/adapter-kinds" + } + } + }, + "description" : "The adapter kind info" + }, + "404" : { + "description" : "The specified Id does not exist in the system", + "x-vmw-compiler-skip" : true } }, - "summary" : "Delete list of saved scenarios", - "tags" : [ "What If" ] + "summary" : "Get Adapter Kind details for the specified solution id", + "tags" : [ "Solutions" ] } }, - "/api/whatif/serverconfigs" : { + "/api/supermetrics" : { "get" : { - "operationId" : "getServerConfigs", + "description" : "Get a collection of SuperMetrics based on search parameters", + "operationId" : "getSuperMetrics", "parameters" : [ { + "description" : "SuperMetrics based on identifiers", "in" : "query", - "name" : "clusterId", + "name" : "id", "required" : false, "schema" : { - "type" : "string", - "format" : "uuid" + "type" : "array", + "items" : { + "type" : "string", + "format" : "uuid" + } } }, { + "description" : "SuperMetrics based on names", "in" : "query", - "name" : "isHci", + "name" : "name", "required" : false, "schema" : { - "type" : "boolean", - "default" : false + "type" : "array", + "items" : { + "type" : "string" + } } }, { "description" : "Page number from which data needs to be displayed (0-based)", @@ -22677,2160 +23209,4455 @@ "200" : { "content" : { "application/json" : { - "example" : "{\n \"detailedServerConfigs\" : [ {\n \"id\" : \"f4d9a9ee-dfac-4e8c-a402-2b200674db00\",\n \"cpuInGhz\" : 2222.0,\n \"memoryInGb\" : 512.0,\n \"storageInGb\" : 512.0,\n \"coresCount\" : 4,\n \"socketsCount\" : 2,\n \"costPerServer\" : 5500.0,\n \"make\" : \"Intel\",\n \"cpuModel\" : \"Xeon2.2\",\n \"model\" : \"Xeon\",\n \"year\" : \"2020\"\n } ]\n}", + "example" : "{\n \"superMetrics\" : [ {\n \"id\" : \"f8dfc0a9-0ad2-42a7-b12e-09372d9179eb\",\n \"name\" : \"Example SuperMetric for DataCenter\",\n \"formula\" : \"sumN(\\\\$This:cpu|demandmhz,2)\",\n \"description\" : \"Sum the CPU usage in MHZ on the assigned resource and its children\"\n }, {\n \"id\" : \"f8dfc0a9-0ad2-42a7-b12e-09372d9179eb\",\n \"name\" : \"Example SuperMetric for DataCenter\",\n \"formula\" : \"sumN(\\\\$This:cpu|demandmhz,2)\",\n \"description\" : \"Sum the CPU usage in MHZ on the assigned resource and its children\"\n } ]\n}", "schema" : { - "$ref" : "#/components/schemas/WhatIfScenarioDetailedServerConfigs" + "$ref" : "#/components/schemas/supermetrics" + } + }, + "application/xml" : { + "example" : "\n\n \n f8dfc0a9-0ad2-42a7-b12e-09372d9179eb\n Example SuperMetric for DataCenter\n sumN(\\$This:cpu|demandmhz,2)\n Sum the CPU usage in MHZ on the assigned resource and its children\n \n \n f8dfc0a9-0ad2-42a7-b12e-09372d9179eb\n Example SuperMetric for DataCenter\n sumN(\\$This:cpu|demandmhz,2)\n Sum the CPU usage in MHZ on the assigned resource and its children\n \n\n", + "schema" : { + "$ref" : "#/components/schemas/supermetrics" } } }, - "description" : "List of server configs" + "description" : "The SuperMetrics for the given query" } }, - "summary" : "Get server configs", - "tags" : [ "What If" ] + "summary" : "Get a collection of SuperMetrics based on search parameters", + "tags" : [ "Super Metrics" ] + }, + "post" : { + "description" : "Create a SuperMetric with the given name, formula and description", + "operationId" : "createSuperMetric", + "requestBody" : { + "content" : { + "application/json" : { + "example" : "{\n \"name\" : \"Example SuperMetric for DataCenter\",\n \"formula\" : \"sumN(\\\\$This:cpu|demandmhz,2)\",\n \"description\" : \"Sum the CPU usage in MHZ on the assigned resource and its children\"\n}", + "schema" : { + "$ref" : "#/components/schemas/supermetric" + } + }, + "application/xml" : { + "example" : "\n\n Example SuperMetric for DataCenter\n sumN(\\$This:cpu|demandmhz,2)\n Sum the CPU usage in MHZ on the assigned resource and its children\n\n", + "schema" : { + "$ref" : "#/components/schemas/supermetric" + } + } + }, + "description" : "The SuperMetric to create", + "required" : true + }, + "responses" : { + "201" : { + "content" : { + "application/json" : { + "example" : "{\n \"id\" : \"f8dfc0a9-0ad2-42a7-b12e-09372d9179eb\",\n \"name\" : \"Example SuperMetric for DataCenter\",\n \"formula\" : \"sumN(\\\\$This:cpu|demandmhz,2)\",\n \"description\" : \"Sum the CPU usage in MHZ on the assigned resource and its children\"\n}", + "schema" : { + "$ref" : "#/components/schemas/supermetric" + } + }, + "application/xml" : { + "example" : "\n\n f8dfc0a9-0ad2-42a7-b12e-09372d9179eb\n Example SuperMetric for DataCenter\n sumN(\\$This:cpu|demandmhz,2)\n Sum the CPU usage in MHZ on the assigned resource and its children\n\n", + "schema" : { + "$ref" : "#/components/schemas/supermetric" + } + } + }, + "description" : "The created SuperMetric from the server" + } + }, + "summary" : "Create a SuperMetric with the given name, formula and description", + "tags" : [ "Super Metrics" ] + }, + "put" : { + "description" : "Update a SuperMetric with the given name, formula and description", + "operationId" : "updateSuperMetric", + "requestBody" : { + "content" : { + "application/json" : { + "example" : "{\n \"id\" : \"fd55436a-cd9c-47ea-85cf-64ac9549c5ca\",\n \"name\" : \"Example SuperMetric for DataCenter\",\n \"formula\" : \"sumN(\\\\$This:cpu|demandmhz,2)\",\n \"description\" : \"Sum the CPU usage in MHZ on the assigned resource and its children\"\n}", + "schema" : { + "$ref" : "#/components/schemas/supermetric" + } + }, + "application/xml" : { + "example" : "\n\n fd55436a-cd9c-47ea-85cf-64ac9549c5ca\n Example SuperMetric for DataCenter\n sumN(\\$This:cpu|demandmhz,2)\n Sum the CPU usage in MHZ on the assigned resource and its children\n\n", + "schema" : { + "$ref" : "#/components/schemas/supermetric" + } + } + }, + "description" : "The updated SuperMetric", + "required" : true + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "example" : "{\n \"id\" : \"f8dfc0a9-0ad2-42a7-b12e-09372d9179eb\",\n \"name\" : \"Example SuperMetric for DataCenter\",\n \"formula\" : \"sumN(\\\\$This:cpu|demandmhz,2)\",\n \"description\" : \"Sum the CPU usage in MHZ on the assigned resource and its children\"\n}", + "schema" : { + "$ref" : "#/components/schemas/supermetric" + } + }, + "application/xml" : { + "example" : "\n\n f8dfc0a9-0ad2-42a7-b12e-09372d9179eb\n Example SuperMetric for DataCenter\n sumN(\\$This:cpu|demandmhz,2)\n Sum the CPU usage in MHZ on the assigned resource and its children\n\n", + "schema" : { + "$ref" : "#/components/schemas/supermetric" + } + } + }, + "description" : "The updated SuperMetric object" + } + }, + "summary" : "Update a SuperMetric with the given name, formula and description", + "tags" : [ "Super Metrics" ] } }, - "/api/workflows/requests/{requestId}" : { + "/api/supermetrics/{id}" : { + "delete" : { + "description" : "Delete a SuperMetric", + "operationId" : "deleteSuperMetric", + "parameters" : [ { + "description" : "The Identifier of the SuperMetric to delete", + "in" : "path", + "name" : "id", + "required" : true, + "schema" : { + "type" : "string", + "format" : "uuid" + } + } ], + "responses" : { + "204" : { + "description" : "The super metric is deleted successfully" + } + }, + "summary" : "Delete a SuperMetric", + "tags" : [ "Super Metrics" ] + }, "get" : { - "operationId" : "getRequestById", + "description" : "Get a SuperMetric with the given ID", + "operationId" : "getSuperMetric", "parameters" : [ { - "description" : "requestId", + "description" : "The Identifier of the SuperMetric", "in" : "path", - "name" : "requestId", + "name" : "id", "required" : true, "schema" : { "type" : "string", - "example" : "825dd047-dd15-4e02-b636-808634013b01" + "format" : "uuid" } } ], "responses" : { "200" : { "content" : { "application/json" : { - "example" : "{\n \"errorCause\" : [ ]\n}", + "example" : "{\n \"id\" : \"f8dfc0a9-0ad2-42a7-b12e-09372d9179eb\",\n \"name\" : \"Example SuperMetric for DataCenter\",\n \"formula\" : \"sumN(\\\\$This:cpu|demandmhz,2)\",\n \"description\" : \"Sum the CPU usage in MHZ on the assigned resource and its children\"\n}", "schema" : { - "$ref" : "#/components/schemas/WorkflowRequest" + "$ref" : "#/components/schemas/supermetric" + } + }, + "application/xml" : { + "example" : "\n\n f8dfc0a9-0ad2-42a7-b12e-09372d9179eb\n Example SuperMetric for DataCenter\n sumN(\\$This:cpu|demandmhz,2)\n Sum the CPU usage in MHZ on the assigned resource and its children\n\n", + "schema" : { + "$ref" : "#/components/schemas/supermetric" } } }, - "description" : "Request by Id" - }, - "404" : { - "description" : "Error while fetching Request by Id", - "x-vmw-compiler-skip" : true + "description" : "The Super Metric with the given identifier" } }, - "summary" : "Get request by Id", - "tags" : [ "Workflow Request" ] + "summary" : "Get a SuperMetric with the given id", + "tags" : [ "Super Metrics" ] } - } - }, - "components" : { - "schemas" : { - "AccessTokenDetails" : { - "type" : "object", - "description" : "Access token Details related to ScimSyncClient", - "properties" : { - "accessToken" : { + }, + "/api/symptomdefinitions" : { + "get" : { + "description" : "NOTE: When making an XML request, make sure the statKey field does not contain any key name with spaces.", + "operationId" : "getSymptomDefinitions", + "parameters" : [ { + "description" : "The adapter kind identifier of the symptom definitions to search for", + "in" : "query", + "name" : "adapterKind", + "required" : false, + "schema" : { "type" : "string", - "description" : "Sync client generated bearer access token" - }, - "tokenExpiresAt" : { - "type" : "integer", - "format" : "int64", - "description" : "Timestamp at which generated access token expires" - } - } - }, - "AddressType" : { - "type" : "string", - "description" : "Type of the address", - "enum" : [ "IPV4", "IPV6", "FQDN", "UNKNOWN" ] - }, - "AffectedObjectsFilter" : { - "type" : "object", - "description" : "Parameters used to search for affected objects.", - "properties" : { - "fromOccurrenceTime" : { - "type" : "integer", - "format" : "int64", - "description" : "Timestamp designating the lowest required value for occurrence time for the returned affected objects" - }, - "resourceIds" : { - "type" : "array", - "description" : "List of resource IDs to filter by", - "items" : { - "type" : "string", - "format" : "uuid", - "description" : "List of resource IDs to filter by" - } + "description" : "The adapter kind identifier of the symptom definitions to search for" + } + }, { + "description" : "The resource kind identifier of the symptom definitions to search for", + "in" : "query", + "name" : "resourceKind", + "required" : false, + "schema" : { + "type" : "string", + "description" : "The resource kind identifier of the symptom definitions to search for" + } + }, { + "description" : "The identifier(s) of the symptom definitions to search for. Exact match.", + "in" : "query", + "name" : "id", + "required" : false, + "schema" : { + "type" : "array", + "items" : { + "type" : "string" + } + } + }, { + "description" : "The substring of the symptom definition's name to search for. Case-insensitive.", + "in" : "query", + "name" : "name", + "required" : false, + "schema" : { + "type" : "string", + "description" : "The substring of the symptom definition's name to search for. Case-insensitive." + } + }, { + "description" : "Page number from which data needs to be displayed (0-based)", + "in" : "query", + "name" : "page", + "schema" : { + "type" : "integer", + "format" : "int32", + "default" : 0 + } + }, { + "description" : "Expected number of entries per page", + "in" : "query", + "name" : "pageSize", + "schema" : { + "type" : "integer", + "format" : "int32", + "default" : 1000 + } + } ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "example" : "{\n \"symptomDefinitions\" : [ {\n \"id\" : \"SymptomDefinition-1\",\n \"name\" : \"CPU Too High - only one state now allowed per symptom publicinition\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"VirtualMachine\",\n \"state\" : {\n \"severity\" : \"CRITICAL\",\n \"condition\" : {\n \"type\" : \"CONDITION_HT\",\n \"key\" : \"cpu|demandmhz\",\n \"operator\" : \"GT_EQ\",\n \"value\" : \"95\",\n \"valueType\" : \"NUMERIC\",\n \"instanced\" : false,\n \"thresholdType\" : \"STATIC\"\n }\n }\n }, {\n \"id\" : \"SymptomDefinition-1\",\n \"name\" : \"CPU Too High - only one state now allowed per symptom publicinition\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"VirtualMachine\",\n \"state\" : {\n \"severity\" : \"CRITICAL\",\n \"condition\" : {\n \"type\" : \"CONDITION_HT\",\n \"key\" : \"cpu|demandmhz\",\n \"operator\" : \"GT_EQ\",\n \"value\" : \"70\",\n \"valueType\" : \"NUMERIC\",\n \"instanced\" : false,\n \"thresholdType\" : \"STATIC\"\n }\n }\n }, {\n \"id\" : \"SymptomDefinition-1\",\n \"name\" : \"CPU Too High - only one state now allowed per symptom publicinition\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"VirtualMachine\",\n \"state\" : {\n \"severity\" : \"WARNING\",\n \"condition\" : {\n \"type\" : \"CONDITION_HT\",\n \"key\" : \"cpu|demandmhz\",\n \"operator\" : \"GT_EQ\",\n \"value\" : \"50\",\n \"valueType\" : \"NUMERIC\",\n \"instanced\" : false,\n \"thresholdType\" : \"STATIC\"\n }\n }\n }, {\n \"id\" : \"SymptomDefinition-1\",\n \"name\" : \"CPU Too High - only one state now allowed per symptom publicinition\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"VirtualMachine\",\n \"state\" : {\n \"severity\" : \"INFORMATION\",\n \"condition\" : {\n \"type\" : \"CONDITION_PROPERTY_NUMERIC\",\n \"value\" : 8.0,\n \"operator\" : \"LT_EQ\",\n \"key\" : \"system|installed_memGB\",\n \"instanced\" : false,\n \"thresholdType\" : \"STATIC\"\n }\n }\n }, {\n \"id\" : \"SymptomDefinition-1\",\n \"name\" : \"CPU Too High - only one state now allowed per symptom publicinition\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"VirtualMachine\",\n \"state\" : {\n \"severity\" : \"NONE\",\n \"condition\" : {\n \"type\" : \"CONDITION_MESSAGE_EVENT\",\n \"eventType\" : \"RESOURCE_DOWN\",\n \"message\" : \"message event conditions are of eventType NOTIFICATION, RESOURCE_DOWN, SYSTEM_DEGRADATION, and compare message to event message via EQ or CONTAINS operator\",\n \"operator\" : \"CONTAINS\"\n }\n }\n }, {\n \"id\" : \"SymptomDefinition-1\",\n \"name\" : \"CPU Too High - only one state now allowed per symptom publicinition\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"VirtualMachine\",\n \"state\" : {\n \"severity\" : \"UNKNOWN\",\n \"condition\" : {\n \"type\" : \"CONDITION_METRIC_EVENT\",\n \"hardThresholdEventType\" : \"ABOVE\",\n \"statKey\" : \"cpu|demandmhz\"\n }\n }\n }, {\n \"id\" : \"SymptomDefinition-1\",\n \"name\" : \"CPU Too High - only one state now allowed per symptom publicinition\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"VirtualMachine\",\n \"state\" : {\n \"severity\" : \"INFORMATION\",\n \"condition\" : {\n \"type\" : \"CONDITION_FAULT\",\n \"faultKey\" : \"FaultKey - FaultKey matches to a FaultEvent's FaultState\",\n \"faultEvents\" : [ \"FaultEvent1\", \"FaultEvent2\" ]\n }\n }\n }, {\n \"id\" : \"SymptomDefinition-2\",\n \"name\" : \"Memory High Usage Percentage - only one state now allowed per symptom publicinition\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"HostSystem\",\n \"state\" : {\n \"severity\" : \"CRITICAL\",\n \"condition\" : {\n \"type\" : \"CONDITION_HT\",\n \"key\" : \"mem|host_usagePct\",\n \"operator\" : \"GT_EQ\",\n \"value\" : \"95\",\n \"valueType\" : \"NUMERIC\",\n \"instanced\" : false,\n \"thresholdType\" : \"STATIC\"\n }\n }\n }, {\n \"id\" : \"SymptomDefinition-2\",\n \"name\" : \"Memory High Usage Percentage - only one state now allowed per symptom publicinition\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"HostSystem\",\n \"state\" : {\n \"severity\" : \"IMMEDIATE\",\n \"condition\" : {\n \"type\" : \"CONDITION_HT\",\n \"key\" : \"mem|host_usagePct\",\n \"operator\" : \"GT_EQ\",\n \"value\" : \"70\",\n \"valueType\" : \"NUMERIC\",\n \"instanced\" : false,\n \"thresholdType\" : \"STATIC\"\n }\n }\n }, {\n \"id\" : \"SymptomDefinition-2\",\n \"name\" : \"Memory High Usage Percentage - only one state now allowed per symptom publicinition\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"HostSystem\",\n \"state\" : {\n \"severity\" : \"WARNING\",\n \"condition\" : {\n \"type\" : \"CONDITION_HT\",\n \"key\" : \"mem|host_usagePct\",\n \"operator\" : \"GT_EQ\",\n \"value\" : \"50\",\n \"valueType\" : \"NUMERIC\",\n \"instanced\" : false,\n \"thresholdType\" : \"STATIC\"\n }\n }\n }, {\n \"id\" : \"SymptomDefinition-2\",\n \"name\" : \"Memory High Usage Percentage - only one state now allowed per symptom publicinition\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"HostSystem\",\n \"state\" : {\n \"severity\" : \"INFORMATION\",\n \"condition\" : {\n \"type\" : \"CONDITION_PROPERTY_STRING\",\n \"stringValue\" : \"PoweredOff\",\n \"operator\" : \"EQ\",\n \"key\" : \"system|power_state\",\n \"instanced\" : false,\n \"thresholdType\" : \"STATIC\"\n }\n }\n }, {\n \"id\" : \"SymptomDefinition-2\",\n \"name\" : \"Memory High Usage Percentage - only one state now allowed per symptom publicinition\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"HostSystem\",\n \"state\" : {\n \"severity\" : \"WARNING\",\n \"condition\" : {\n \"type\" : \"CONDITION_MESSAGE_EVENT\",\n \"eventType\" : \"RESOURCE_DOWN\",\n \"message\" : \"message event conditions are of eventType NOTIFICATION, RESOURCE_DOWN, SYSTEM_DEGRADATION, and compare message to event message via EQ or CONTAINS operator\",\n \"operator\" : \"CONTAINS\"\n }\n }\n }, {\n \"id\" : \"SymptomDefinition-2\",\n \"name\" : \"Memory High Usage Percentage - only one state now allowed per symptom publicinition\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"HostSystem\",\n \"state\" : {\n \"severity\" : \"WARNING\",\n \"condition\" : {\n \"type\" : \"CONDITION_METRIC_EVENT\",\n \"hardThresholdEventType\" : \"ABOVE\",\n \"statKey\" : \"cpu|demandmhz\"\n }\n }\n } ]\n}", + "schema" : { + "$ref" : "#/components/schemas/symptom-definitions" + } + }, + "application/xml" : { + "example" : "\n\n \n CPU Too High - only one state now allowed per symptom publicinition\n \n \n cpu|demandmhz\n GT_EQ\n 95\n NUMERIC\n false\n STATIC\n \n \n \n \n CPU Too High - only one state now allowed per symptom publicinition\n \n \n cpu|demandmhz\n GT_EQ\n 70\n NUMERIC\n false\n STATIC\n \n \n \n \n CPU Too High - only one state now allowed per symptom publicinition\n \n \n cpu|demandmhz\n GT_EQ\n 50\n NUMERIC\n false\n STATIC\n \n \n \n \n CPU Too High - only one state now allowed per symptom publicinition\n \n \n LT_EQ\n system|installed_memGB\n false\n STATIC\n 8.0\n \n \n \n \n CPU Too High - only one state now allowed per symptom publicinition\n \n \n message event conditions are of eventType NOTIFICATION, RESOURCE_DOWN, SYSTEM_DEGRADATION, and compare message to event message via EQ or CONTAINS operator\n \n \n \n \n CPU Too High - only one state now allowed per symptom publicinition\n \n \n ABOVE\n cpu|demandmhz\n \n \n \n \n CPU Too High - only one state now allowed per symptom publicinition\n \n \n FaultKey - FaultKey matches to a FaultEvent's FaultState\n FaultEvent1 FaultEvent2\n \n \n \n \n Memory High Usage Percentage - only one state now allowed per symptom publicinition\n \n \n mem|host_usagePct\n GT_EQ\n 95\n NUMERIC\n false\n STATIC\n \n \n \n \n Memory High Usage Percentage - only one state now allowed per symptom publicinition\n \n \n mem|host_usagePct\n GT_EQ\n 70\n NUMERIC\n false\n STATIC\n \n \n \n \n Memory High Usage Percentage - only one state now allowed per symptom publicinition\n \n \n mem|host_usagePct\n GT_EQ\n 50\n NUMERIC\n false\n STATIC\n \n \n \n \n Memory High Usage Percentage - only one state now allowed per symptom publicinition\n \n \n EQ\n system|power_state\n false\n STATIC\n PoweredOff\n \n \n \n \n Memory High Usage Percentage - only one state now allowed per symptom publicinition\n \n \n message event conditions are of eventType NOTIFICATION, RESOURCE_DOWN, SYSTEM_DEGRADATION, and compare message to event message via EQ or CONTAINS operator\n \n \n \n \n Memory High Usage Percentage - only one state now allowed per symptom publicinition\n \n \n ABOVE\n cpu|demandmhz\n \n \n \n\n", + "schema" : { + "$ref" : "#/components/schemas/symptom-definitions" + } + } + }, + "description" : "The list of Symptom Definitions" + } + }, + "summary" : "Get Symptom Definitions", + "tags" : [ "Symptoms" ] + }, + "post" : { + "description" : "The symptom definition identifier must be null and will be generated by the system.
      A symptom definition contains a symptom state, there may only be one symptom state per symptom definition.", + "operationId" : "createSymptomDefinition", + "requestBody" : { + "content" : { + "application/json" : { + "examples" : { + "Symptom Definition with HT Condition" : { + "description" : "Symptom Definition with HT Condition", + "value" : "{\n \"name\" : \"CPU Too High - only one state now allowed per symptom publicinition\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"VirtualMachine\",\n \"state\" : {\n \"severity\" : \"CRITICAL\",\n \"condition\" : {\n \"type\" : \"CONDITION_HT\",\n \"key\" : \"cpu|demandmhz\",\n \"operator\" : \"GT_EQ\",\n \"value\" : \"95\",\n \"valueType\" : \"NUMERIC\",\n \"instanced\" : false,\n \"thresholdType\" : \"STATIC\"\n }\n }\n}" + }, + "Symptom Definition with Log Condition" : { + "description" : "Symptom Definition with Log Condition", + "value" : "{\n \"name\" : \"Log based symptom definition\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"VirtualMachine\",\n \"state\" : {\n \"severity\" : \"INFORMATION\",\n \"condition\" : {\n \"type\" : \"CONDITION_LOG\",\n \"logTriggerCondition\" : {\n \"functionType\" : \"COUNT\",\n \"value\" : 2.0,\n \"operatorType\" : \"GREATER_THAN\",\n \"timeInterval\" : 5,\n \"groupBy\" : [ ]\n },\n \"queryTexts\" : [ \"filter_1\", \"filter_2\" ]\n }\n }\n}" + } + }, + "schema" : { + "$ref" : "#/components/schemas/symptom-definition" + } + }, + "application/xml" : { + "examples" : { + "Symptom Definition with HT Condition" : { + "description" : "Symptom Definition with HT Condition", + "value" : "\n\n CPU Too High - only one state now allowed per symptom publicinition\n \n \n cpu|demandmhz\n GT_EQ\n 95\n NUMERIC\n false\n STATIC\n \n \n\n" + }, + "Symptom Definition with Log Condition" : { + "description" : "Symptom Definition with Log Condition", + "value" : "\n\n Log based symptom definition\n \n \n \n COUNT\n 2.0\n GREATER_THAN\n 5\n \n \n \n filter_1\n filter_2\n \n \n \n\n" + } + }, + "schema" : { + "$ref" : "#/components/schemas/symptom-definition" + } + } + }, + "description" : "The Symptom Definition to create", + "required" : true + }, + "responses" : { + "201" : { + "content" : { + "application/json" : { + "examples" : { + "Symptom Definition with HT Condition" : { + "description" : "Symptom Definition with HT Condition", + "value" : "{\n \"name\" : \"CPU Too High - only one state now allowed per symptom publicinition\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"VirtualMachine\",\n \"state\" : {\n \"severity\" : \"CRITICAL\",\n \"condition\" : {\n \"type\" : \"CONDITION_HT\",\n \"key\" : \"cpu|demandmhz\",\n \"operator\" : \"GT_EQ\",\n \"value\" : \"95\",\n \"valueType\" : \"NUMERIC\",\n \"instanced\" : false,\n \"thresholdType\" : \"STATIC\"\n }\n }\n}" + }, + "Symptom Definition with LOG Condition" : { + "description" : "Symptom Definition with LOG Condition", + "value" : "{\n \"id\" : \"SymptomDefinition-45b0cc92-f082-4853-bce9-eeb09a3bcf9f\",\n \"name\" : \"Log based symptom definition\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"VirtualMachine\",\n \"state\" : {\n \"severity\" : \"INFORMATION\",\n \"condition\" : {\n \"type\" : \"CONDITION_LOG\",\n \"logTriggerCondition\" : {\n \"functionType\" : \"COUNT\",\n \"value\" : 2.0,\n \"operatorType\" : \"GREATER_THAN\",\n \"timeInterval\" : 5,\n \"groupBy\" : [ ]\n },\n \"queryTexts\" : [ \"filter_1\", \"filter_2\" ]\n }\n }\n}" + } + }, + "schema" : { + "$ref" : "#/components/schemas/symptom-definition" + } + }, + "application/xml" : { + "examples" : { + "Symptom Definition with HT Condition" : { + "description" : "Symptom Definition with HT Condition", + "value" : "\n\n CPU Too High - only one state now allowed per symptom publicinition\n \n \n cpu|demandmhz\n GT_EQ\n 95\n NUMERIC\n false\n STATIC\n \n \n\n" + }, + "Symptom Definition with LOG Condition" : { + "description" : "Symptom Definition with LOG Condition", + "value" : "\n\n Log based symptom definition\n \n \n \n COUNT\n 2.0\n GREATER_THAN\n 5\n \n \n \n filter_1\n filter_2\n \n \n \n\n" + } + }, + "schema" : { + "$ref" : "#/components/schemas/symptom-definition" + } + } + }, + "description" : "The created Symptom Definition" + } + }, + "summary" : "Create the Symptom Definition", + "tags" : [ "Symptoms" ] + }, + "put" : { + "description" : "Update an existing Symptom Definition", + "operationId" : "updateSymptomDefinition", + "requestBody" : { + "content" : { + "application/json" : { + "examples" : { + "Symptom Definition with HT Condition" : { + "description" : "Symptom Definition with HT Condition", + "value" : "{\n \"id\" : \"SymptomDefinition-1\",\n \"name\" : \"CPU Too High - only one state now allowed per symptom publicinition\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"VirtualMachine\",\n \"state\" : {\n \"severity\" : \"CRITICAL\",\n \"condition\" : {\n \"type\" : \"CONDITION_HT\",\n \"key\" : \"cpu|demandmhz\",\n \"operator\" : \"GT_EQ\",\n \"value\" : \"95\",\n \"valueType\" : \"NUMERIC\",\n \"instanced\" : false,\n \"thresholdType\" : \"STATIC\"\n }\n }\n}" + }, + "Symptom Definition with LOG Condition" : { + "description" : "Symptom Definition with LOG Condition", + "value" : "{\n \"id\" : \"SymptomDefinition-45b0cc92-f082-4853-bce9-eeb09a3bcf9f\",\n \"name\" : \"Log based symptom definition\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"VirtualMachine\",\n \"state\" : {\n \"severity\" : \"INFORMATION\",\n \"condition\" : {\n \"type\" : \"CONDITION_LOG\",\n \"logTriggerCondition\" : {\n \"functionType\" : \"COUNT\",\n \"value\" : 2.0,\n \"operatorType\" : \"GREATER_THAN\",\n \"timeInterval\" : 5,\n \"groupBy\" : [ ]\n },\n \"queryTexts\" : [ \"filter_1\", \"filter_2\" ]\n }\n }\n}" + } + }, + "schema" : { + "$ref" : "#/components/schemas/symptom-definition" + } + }, + "application/xml" : { + "examples" : { + "Symptom Definition with HT Condition" : { + "description" : "Symptom Definition with HT Condition", + "value" : "\n\n CPU Too High - only one state now allowed per symptom publicinition\n \n \n cpu|demandmhz\n GT_EQ\n 95\n NUMERIC\n false\n STATIC\n \n \n\n" + }, + "Symptom Definition with LOG Condition" : { + "description" : "Symptom Definition with LOG Condition", + "value" : "\n\n Log based symptom definition\n \n \n \n COUNT\n 2.0\n GREATER_THAN\n 5\n \n \n \n filter_1\n filter_2\n \n \n \n\n" + } + }, + "schema" : { + "$ref" : "#/components/schemas/symptom-definition" + } + } + }, + "description" : "The Symptom Definition to update", + "required" : true + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "examples" : { + "Symptom Definition with HT Condition" : { + "description" : "Symptom Definition with HT Condition", + "value" : "{\n \"id\" : \"SymptomDefinition-1\",\n \"name\" : \"CPU Too High - only one state now allowed per symptom publicinition\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"VirtualMachine\",\n \"state\" : {\n \"severity\" : \"CRITICAL\",\n \"condition\" : {\n \"type\" : \"CONDITION_HT\",\n \"key\" : \"cpu|demandmhz\",\n \"operator\" : \"GT_EQ\",\n \"value\" : \"95\",\n \"valueType\" : \"NUMERIC\",\n \"instanced\" : false,\n \"thresholdType\" : \"STATIC\"\n }\n }\n}" + }, + "Symptom Definition with LOG Condition" : { + "description" : "Symptom Definition with LOG Condition", + "value" : "{\n \"id\" : \"SymptomDefinition-45b0cc92-f082-4853-bce9-eeb09a3bcf9f\",\n \"name\" : \"Log based symptom definition\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"VirtualMachine\",\n \"state\" : {\n \"severity\" : \"INFORMATION\",\n \"condition\" : {\n \"type\" : \"CONDITION_LOG\",\n \"logTriggerCondition\" : {\n \"functionType\" : \"COUNT\",\n \"value\" : 2.0,\n \"operatorType\" : \"GREATER_THAN\",\n \"timeInterval\" : 5,\n \"groupBy\" : [ ]\n },\n \"queryTexts\" : [ \"filter_1\", \"filter_2\" ]\n }\n }\n}" + } + }, + "schema" : { + "$ref" : "#/components/schemas/symptom-definition" + } + }, + "application/xml" : { + "examples" : { + "Symptom Definition with HT Condition" : { + "description" : "Symptom Definition with HT Condition", + "value" : "\n\n CPU Too High - only one state now allowed per symptom publicinition\n \n \n cpu|demandmhz\n GT_EQ\n 95\n NUMERIC\n false\n STATIC\n \n \n\n" + }, + "Symptom Definition with LOG Condition" : { + "description" : "Symptom Definition with LOG Condition", + "value" : "\n\n Log based symptom definition\n \n \n \n COUNT\n 2.0\n GREATER_THAN\n 5\n \n \n \n filter_1\n filter_2\n \n \n \n\n" + } + }, + "schema" : { + "$ref" : "#/components/schemas/symptom-definition" + } + } + }, + "description" : "The updated Symptom Definition" + } + }, + "summary" : "Update an existing Symptom Definition", + "tags" : [ "Symptoms" ] + } + }, + "/api/symptomdefinitions/{id}" : { + "delete" : { + "description" : "Delete a Symptom Definition", + "operationId" : "deleteSymptomDefinition", + "parameters" : [ { + "description" : "The identifier of the Symptom Definition to delete", + "in" : "path", + "name" : "id", + "required" : true, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "204" : { + "description" : "The symptom definition is deleted successfully" + } + }, + "summary" : "Delete a Symptom Definition", + "tags" : [ "Symptoms" ] + }, + "get" : { + "description" : "Get Symptom Definition specified by id", + "operationId" : "getSymptomDefinitionByKey", + "parameters" : [ { + "description" : "The id of the Symptom Definition", + "in" : "path", + "name" : "id", + "required" : true, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "examples" : { + "Symptom definition with HT condition" : { + "description" : "Symptom definition with HT condition", + "value" : "{\n \"id\" : \"SymptomDefinition-2\",\n \"name\" : \"Memory High Usage Percentage - only one state now allowed per symptom publicinition\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"HostSystem\",\n \"state\" : {\n \"severity\" : \"CRITICAL\",\n \"condition\" : {\n \"type\" : \"CONDITION_HT\",\n \"key\" : \"mem|host_usagePct\",\n \"operator\" : \"GT_EQ\",\n \"value\" : \"95\",\n \"valueType\" : \"NUMERIC\",\n \"instanced\" : false,\n \"thresholdType\" : \"STATIC\"\n }\n }\n}" + }, + "Symptom definition with LOG condition" : { + "description" : "Symptom definition with LOG condition", + "value" : "{\n \"id\" : \"SymptomDefinition-45b0cc92-f082-4853-bce9-eeb09a3bcf9f\",\n \"name\" : \"Log based symptom definition\",\n \"adapterKindKey\" : \"VMWARE\",\n \"resourceKindKey\" : \"VirtualMachine\",\n \"state\" : {\n \"severity\" : \"INFORMATION\",\n \"condition\" : {\n \"type\" : \"CONDITION_LOG\",\n \"logTriggerCondition\" : {\n \"functionType\" : \"COUNT\",\n \"value\" : 2.0,\n \"operatorType\" : \"GREATER_THAN\",\n \"timeInterval\" : 5,\n \"groupBy\" : [ ]\n },\n \"queryTexts\" : [ \"filter_1\", \"filter_2\" ]\n }\n }\n}" + } + }, + "schema" : { + "$ref" : "#/components/schemas/symptom-definition" + } + }, + "application/xml" : { + "examples" : { + "Symptom definition with HT condition" : { + "description" : "Symptom definition with HT condition", + "value" : "\n\n Memory High Usage Percentage - only one state now allowed per symptom publicinition\n \n \n mem|host_usagePct\n GT_EQ\n 95\n NUMERIC\n false\n STATIC\n \n \n\n" + }, + "Symptom definition with LOG condition" : { + "description" : "Symptom definition with LOG condition", + "value" : "\n\n Log based symptom definition\n \n \n \n COUNT\n 2.0\n GREATER_THAN\n 5\n \n \n \n filter_1\n filter_2\n \n \n \n\n" + } + }, + "schema" : { + "$ref" : "#/components/schemas/symptom-definition" + } + } + }, + "description" : "The Symptom Definition" + } + }, + "summary" : "Get Symptom Definition specified by id", + "tags" : [ "Symptoms" ] + } + }, + "/api/symptoms" : { + "get" : { + "description" : "Optionally these Symptoms can be looked up for a specific set of Resources and/or
      can include Symptoms that are no longer active.
      The list of Symptoms returned is a collection that supports pagination.", + "operationId" : "getSymptoms", + "parameters" : [ { + "description" : "Array of resource identifiers for which Symptoms need to be looked up", + "in" : "query", + "name" : "resourceId", + "required" : false, + "schema" : { + "type" : "array", + "items" : { + "type" : "string", + "format" : "uuid" + } + } + }, { + "description" : "Boolean that determines whether the results should include inactive Symptoms", + "in" : "query", + "name" : "activeOnly", + "required" : false, + "schema" : { + "type" : "boolean", + "default" : true + } + }, { + "description" : "Boolean that controls the retrieval of alarm information of the symptom", + "in" : "query", + "name" : "includeAlarmInfo", + "required" : false, + "schema" : { + "type" : "boolean", + "default" : false + } + }, { + "description" : "Page number from which data needs to be displayed (0-based)", + "in" : "query", + "name" : "page", + "schema" : { + "type" : "integer", + "format" : "int32", + "default" : 0 + } + }, { + "description" : "Expected number of entries per page", + "in" : "query", + "name" : "pageSize", + "schema" : { + "type" : "integer", + "format" : "int32", + "default" : 1000 + } + } ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "example" : "{\n \"symptom\" : [ {\n \"id\" : \"31eeaeec-82d5-4037-a59b-efed2e7c8e3a\",\n \"resourceId\" : \"50000000-0000-0000-0000-000000000005\",\n \"startTimeUTC\" : 1753336526993,\n \"updateTimeUTC\" : 1753336526993,\n \"cancelTimeUTC\" : 0,\n \"kpi\" : false,\n \"symptomCriticality\" : \"INFORMATION\",\n \"symptomDefinitionId\" : \"SymptomDefinition-1\",\n \"message\" : \"symptom message\",\n \"faultDevices\" : [ ]\n }, {\n \"id\" : \"18589dea-9999-1234-abba-f1ee73004dac\",\n \"resourceId\" : \"50000000-0000-0000-0000-000000000005\",\n \"startTimeUTC\" : 1753336526993,\n \"updateTimeUTC\" : 1753336526993,\n \"cancelTimeUTC\" : 0,\n \"kpi\" : false,\n \"symptomCriticality\" : \"INFORMATION\",\n \"symptomDefinitionId\" : \"SymptomDefinition-1\",\n \"message\" : \"symptom message\",\n \"faultDevices\" : [ ]\n } ]\n}", + "schema" : { + "$ref" : "#/components/schemas/symptoms" + } + }, + "application/xml" : { + "example" : "\n\n \n 50000000-0000-0000-0000-000000000005\n 1753336526993\n 1753336526993\n 0\n INFORMATION\n SymptomDefinition-1\n symptom message\n \n \n \n 50000000-0000-0000-0000-000000000005\n 1753336526993\n 1753336526993\n 0\n INFORMATION\n SymptomDefinition-1\n symptom message\n \n \n\n", + "schema" : { + "$ref" : "#/components/schemas/symptoms" + } + } + }, + "description" : "List of Symptoms in the system" + } + }, + "summary" : "Look up all Symptoms in the system", + "tags" : [ "Symptoms" ] + } + }, + "/api/symptoms/query" : { + "post" : { + "description" : "The list of Symptoms returned is a collection that supports pagination.", + "operationId" : "querySymptoms", + "parameters" : [ { + "description" : "Page number from which data needs to be displayed (0-based)", + "in" : "query", + "name" : "page", + "schema" : { + "type" : "integer", + "format" : "int32", + "default" : 0 + } + }, { + "description" : "Expected number of entries per page", + "in" : "query", + "name" : "pageSize", + "schema" : { + "type" : "integer", + "format" : "int32", + "default" : 1000 + } + } ], + "requestBody" : { + "content" : { + "application/json" : { + "example" : "{\n \"compositeOperator\" : \"AND\",\n \"symptomId\" : [ ],\n \"resource-query\" : {\n \"resourceId\" : [ \"5748438c-41d5-4397-a59b-efe973674653\" ],\n \"statKeyInclusive\" : true\n },\n \"includeChildrenResources\" : false,\n \"activeOnly\" : true,\n \"includeAlarmInfo\" : false,\n \"alarmType\" : [ ],\n \"alarmCriticality\" : [ \"CRITICAL\", \"IMMEDIATE\", \"WARNING\", \"INFORMATION\" ],\n \"symptomDefinitionId\" : [ ],\n \"statKey\" : [ ]\n}", + "schema" : { + "$ref" : "#/components/schemas/symptom-query" + } + }, + "application/xml" : { + "example" : "\n\n \n \n 5748438c-41d5-4397-a59b-efe973674653\n true\n \n false\n true\n false\n \n CRITICAL IMMEDIATE WARNING INFORMATION\n \n \n\n", + "schema" : { + "$ref" : "#/components/schemas/symptom-query" + } + } + }, + "description" : "Query object of the symptom", + "required" : true + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "example" : "{\n \"symptom\" : [ {\n \"id\" : \"31eeaeec-82d5-4037-a59b-efed2e7c8e3a\",\n \"resourceId\" : \"50000000-0000-0000-0000-000000000005\",\n \"startTimeUTC\" : 1753336526993,\n \"updateTimeUTC\" : 1753336526993,\n \"cancelTimeUTC\" : 0,\n \"kpi\" : false,\n \"symptomCriticality\" : \"INFORMATION\",\n \"symptomDefinitionId\" : \"SymptomDefinition-1\",\n \"message\" : \"symptom message\",\n \"faultDevices\" : [ ]\n }, {\n \"id\" : \"18589dea-9999-1234-abba-f1ee73004dac\",\n \"resourceId\" : \"50000000-0000-0000-0000-000000000005\",\n \"startTimeUTC\" : 1753336526993,\n \"updateTimeUTC\" : 1753336526993,\n \"cancelTimeUTC\" : 0,\n \"kpi\" : false,\n \"symptomCriticality\" : \"INFORMATION\",\n \"symptomDefinitionId\" : \"SymptomDefinition-1\",\n \"message\" : \"symptom message\",\n \"faultDevices\" : [ ]\n } ]\n}", + "schema" : { + "$ref" : "#/components/schemas/symptoms" + } + }, + "application/xml" : { + "example" : "\n\n \n 50000000-0000-0000-0000-000000000005\n 1753336526993\n 1753336526993\n 0\n INFORMATION\n SymptomDefinition-1\n symptom message\n \n \n \n 50000000-0000-0000-0000-000000000005\n 1753336526993\n 1753336526993\n 0\n INFORMATION\n SymptomDefinition-1\n symptom message\n \n \n\n", + "schema" : { + "$ref" : "#/components/schemas/symptoms" + } + } + }, + "description" : "List of all Symptoms that match the given query" + } + }, + "summary" : "Look up a set of Symptoms using a query object", + "tags" : [ "Symptoms" ] + } + }, + "/api/tasks" : { + "get" : { + "description" : "In general, to get the status of any long running operations, the operation
      must have been initiated through the VMware Cloud Foundation Operations REST API.
      This API endpoint returns the details of the long running tasks that were submitted via the API only.
      Furthermore, the list of tasks that this API returns includes tasks for long running operations such
      as Adapter Installation, Describe etc. This API does not return the tasks created when any
      Remediation Actions are executed in the system either via the UI or via the API.", + "operationId" : "getTasksStatus", + "parameters" : [ { + "description" : "States of the tasks", + "in" : "query", + "name" : "taskState", + "required" : false, + "schema" : { + "type" : "array", + "description" : "States of the tasks", + "items" : { + "$ref" : "#/components/schemas/task-state" + }, + "uniqueItems" : true + } + }, { + "description" : "The task ids", + "in" : "query", + "name" : "taskId", + "required" : false, + "schema" : { + "type" : "array", + "items" : { + "type" : "string", + "format" : "uuid" + } + } + } ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "example" : "{\n \"taskStatusList\" : [ {\n \"taskId\" : \"bf41869d-1a6e-48de-8ba5-26399ca34de9\",\n \"statusMessage\" : \"Distributed Task Execution for ADAPTER_INSTALL\",\n \"taskState\" : \"RUNNING\",\n \"createdTime\" : 0,\n \"lastUpdateTime\" : 1753340192459,\n \"errorMessages\" : [ ]\n } ]\n}", + "schema" : { + "$ref" : "#/components/schemas/task-statuses" + } + }, + "application/xml" : { + "example" : "\n\n \n bf41869d-1a6e-48de-8ba5-26399ca34de9\n Distributed Task Execution for ADAPTER_INSTALL\n RUNNING\n 0\n 1753340192459\n \n \n\n", + "schema" : { + "$ref" : "#/components/schemas/task-statuses" + } + } + }, + "description" : "List of Tasks' Statuses" + } + }, + "summary" : "Look up a list of task objects' statuses", + "tags" : [ "Tasks" ] + } + }, + "/api/tasks/{id}" : { + "get" : { + "description" : "In general, to get the status of any long running operations, the operation
      must have been initiated through the VMware Cloud Foundation Operations REST API.
      This API returns the status of a specific task that was initiated via the REST API
      with the exception of tasks that get created when any Remediation Action is performed
      via the api/actions endpoint.", + "operationId" : "getTaskStatus", + "parameters" : [ { + "description" : "The id of the task", + "in" : "path", + "name" : "id", + "required" : true, + "schema" : { + "type" : "string", + "format" : "uuid" + } + } ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "example" : "{\n \"taskId\" : \"bf41869d-1a6e-48de-8ba5-26399ca34de9\",\n \"statusMessage\" : \"Distributed Task Execution for ADAPTER_INSTALL\",\n \"taskState\" : \"RUNNING\",\n \"createdTime\" : 0,\n \"lastUpdateTime\" : 1753340192459,\n \"errorMessages\" : [ ]\n}", + "schema" : { + "$ref" : "#/components/schemas/task-status" + } + }, + "application/xml" : { + "example" : "\n\n bf41869d-1a6e-48de-8ba5-26399ca34de9\n Distributed Task Execution for ADAPTER_INSTALL\n RUNNING\n 0\n 1753340192459\n \n\n", + "schema" : { + "$ref" : "#/components/schemas/task-status" + } + } + }, + "description" : "Task status with the specified identifier" + }, + "404" : { + "description" : "No Task is found with the specified identifier", + "x-vmw-compiler-skip" : true + } + }, + "summary" : "Look up a task status with the given identifier", + "tags" : [ "Tasks" ] + } + }, + "/api/versions" : { + "get" : { + "description" : "Get all supported versions by the service", + "operationId" : "getSupportedApplicationVersions", + "responses" : { + "200" : { + "content" : { + "application/json" : { + "example" : "{\n \"values\" : [ {\n \"releaseName\" : \"VCF Operations 9.1.1.0\",\n \"major\" : 9,\n \"minor\" : 1,\n \"minorMinor\" : 1,\n \"patch\" : 0,\n \"releasedDate\" : 1788548400000,\n \"humanlyReadableReleaseDate\" : \"Friday, September 4, 2026, 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VCF Operations 9.1.0.0\",\n \"major\" : 9,\n \"minor\" : 1,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1772568000000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, March 3, 2026, 12:00:00 PM Pacific Standard Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware Aria Operations 8.18.6\",\n \"major\" : 1,\n \"minor\" : 76,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1771963200000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, February 24, 2026, 12:00:00 PM Pacific Standard Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VCF Operations 9.0.1.0\",\n \"major\" : 2,\n \"minor\" : 1,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1759863600000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, October 7, 2025, 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware Aria Operations 8.18.5\",\n \"major\" : 1,\n \"minor\" : 75,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1759172400000,\n \"humanlyReadableReleaseDate\" : \"Monday, September 29, 2025, 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware Aria Operations 8.18.4\",\n \"major\" : 1,\n \"minor\" : 74,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1753210800000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, July 22, 2025, 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VCF Operations 9.0.0.0\",\n \"major\" : 2,\n \"minor\" : 0,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1750186800000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, June 17, 2025, 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware Aria Operations 8.18.3\",\n \"major\" : 1,\n \"minor\" : 73,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1738267200000,\n \"humanlyReadableReleaseDate\" : \"Thursday, January 30, 2025, 12:00:00 PM Pacific Standard Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VCF Operations 9.0.2.0\",\n \"major\" : 2,\n \"minor\" : 2,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1737403200000,\n \"humanlyReadableReleaseDate\" : \"Monday, January 20, 2025, 12:00:00 PM Pacific Standard Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware Aria Operations 8.18.2\",\n \"major\" : 1,\n \"minor\" : 72,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1732824000000,\n \"humanlyReadableReleaseDate\" : \"Thursday, November 28, 2024, 12:00:00 PM Pacific Standard Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware Aria Operations 8.18.1\",\n \"major\" : 1,\n \"minor\" : 71,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1726772400000,\n \"humanlyReadableReleaseDate\" : \"Thursday, September 19, 2024, 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware Aria Operations 8.18.0\",\n \"major\" : 1,\n \"minor\" : 70,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1720551600000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, July 9, 2024, 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware Aria Operations 8.17.2\",\n \"major\" : 1,\n \"minor\" : 64,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1718391600000,\n \"humanlyReadableReleaseDate\" : \"Friday, June 14, 2024, 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware Aria Operations 8.17.1\",\n \"major\" : 1,\n \"minor\" : 63,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1712862000000,\n \"humanlyReadableReleaseDate\" : \"Thursday, April 11, 2024, 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware Aria Operations 8.16.1\",\n \"major\" : 1,\n \"minor\" : 59,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1709668800000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, March 5, 2024, 12:00:00 PM Pacific Standard Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware Aria Operations 8.17.0\",\n \"major\" : 1,\n \"minor\" : 62,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1709236800000,\n \"humanlyReadableReleaseDate\" : \"Thursday, February 29, 2024, 12:00:00 PM Pacific Standard Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware Aria Operations 8.16.0\",\n \"major\" : 1,\n \"minor\" : 58,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1705608000000,\n \"humanlyReadableReleaseDate\" : \"Thursday, January 18, 2024, 12:00:00 PM Pacific Standard Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware Aria Operations 8.14.1\",\n \"major\" : 1,\n \"minor\" : 53,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1699560000000,\n \"humanlyReadableReleaseDate\" : \"Thursday, November 9, 2023, 12:00:00 PM Pacific Standard Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware Aria Operations 8.15.1\",\n \"major\" : 1,\n \"minor\" : 57,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1698692400000,\n \"humanlyReadableReleaseDate\" : \"Monday, October 30, 2023, 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware Aria Operations 8.14.0\",\n \"major\" : 1,\n \"minor\" : 52,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1697569200000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, October 17, 2023, 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware Aria Operations 8.15.0\",\n \"major\" : 1,\n \"minor\" : 55,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1696964400000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, October 10, 2023, 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware Aria Operations 8.13.1\",\n \"major\" : 1,\n \"minor\" : 51,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1696446000000,\n \"humanlyReadableReleaseDate\" : \"Wednesday, October 4, 2023, 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware Aria Operations 8.13.0\",\n \"major\" : 1,\n \"minor\" : 50,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1687892400000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, June 27, 2023, 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware Aria Operations 8.12.1\",\n \"major\" : 1,\n \"minor\" : 46,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1686855600000,\n \"humanlyReadableReleaseDate\" : \"Thursday, June 15, 2023, 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware Aria Operations 8.12.0\",\n \"major\" : 1,\n \"minor\" : 45,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1682017200000,\n \"humanlyReadableReleaseDate\" : \"Thursday, April 20, 2023, 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware Aria Operations 8.11.2\",\n \"major\" : 1,\n \"minor\" : 42,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1680030000000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, March 28, 2023, 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations 8.10.2\",\n \"major\" : 1,\n \"minor\" : 37,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1675195200000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, January 31, 2023, 12:00:00 PM Pacific Standard Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations 8.11.1\",\n \"major\" : 1,\n \"minor\" : 41,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1670356800000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, December 6, 2022, 12:00:00 PM Pacific Standard Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations 8.10.1\",\n \"major\" : 1,\n \"minor\" : 36,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1670356800000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, December 6, 2022, 12:00:00 PM Pacific Standard Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations 8.11.0\",\n \"major\" : 1,\n \"minor\" : 40,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1666724400000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, October 25, 2022, 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations 8.10.0\",\n \"major\" : 1,\n \"minor\" : 35,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1664910000000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, October 4, 2022, 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations 8.7.3\",\n \"major\" : 1,\n \"minor\" : 33,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1664132400000,\n \"humanlyReadableReleaseDate\" : \"Sunday, September 25, 2022, 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations 8.6.4\",\n \"major\" : 1,\n \"minor\" : 21,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1660071600000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, August 9, 2022, 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations 8.7.2\",\n \"major\" : 1,\n \"minor\" : 32,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1657652400000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, July 12, 2022, 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations 8.7.1\",\n \"major\" : 1,\n \"minor\" : 31,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1651172400000,\n \"humanlyReadableReleaseDate\" : \"Thursday, April 28, 2022, 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations 8.6.3\",\n \"major\" : 1,\n \"minor\" : 20,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1651172400000,\n \"humanlyReadableReleaseDate\" : \"Thursday, April 28, 2022, 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations 8.7.0\",\n \"major\" : 1,\n \"minor\" : 30,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1643400000000,\n \"humanlyReadableReleaseDate\" : \"Friday, January 28, 2022, 12:00:00 PM Pacific Standard Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations 8.6.2\",\n \"major\" : 1,\n \"minor\" : 19,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1640116800000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, December 21, 2021, 12:00:00 PM Pacific Standard Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations 8.6.1\",\n \"major\" : 1,\n \"minor\" : 18,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1638907200000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, December 7, 2021, 12:00:00 PM Pacific Standard Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations 8.6.0\",\n \"major\" : 1,\n \"minor\" : 17,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1634065200000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, October 12, 2021, 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations Manager 8.5.0\",\n \"major\" : 1,\n \"minor\" : 16,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1626202800000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, July 13, 2021, 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations Manager 8.4.0\",\n \"major\" : 1,\n \"minor\" : 15,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1618513200000,\n \"humanlyReadableReleaseDate\" : \"Thursday, April 15, 2021, 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations Manager 8.3.0\",\n \"major\" : 1,\n \"minor\" : 14,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1612468800000,\n \"humanlyReadableReleaseDate\" : \"Thursday, February 4, 2021, 12:00:00 PM Pacific Standard Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations Manager 8.2.0\",\n \"major\" : 1,\n \"minor\" : 13,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1602010800000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, October 6, 2020, 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations Manager 8.1.0\",\n \"major\" : 1,\n \"minor\" : 12,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1586890800000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, April 14, 2020, 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations Manager 8.0.0\",\n \"major\" : 1,\n \"minor\" : 11,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1571338800000,\n \"humanlyReadableReleaseDate\" : \"Thursday, October 17, 2019, 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations Manager 7.5.0\",\n \"major\" : 1,\n \"minor\" : 10,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1555009200000,\n \"humanlyReadableReleaseDate\" : \"Thursday, April 11, 2019, 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations Manager 7.0.0\",\n \"major\" : 1,\n \"minor\" : 9,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1537470000000,\n \"humanlyReadableReleaseDate\" : \"Thursday, September 20, 2018, 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations Manager 6.7.0\",\n \"major\" : 1,\n \"minor\" : 8,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1523559600000,\n \"humanlyReadableReleaseDate\" : \"Thursday, April 12, 2018, 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations Manager 6.6.0\",\n \"major\" : 1,\n \"minor\" : 7,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1497380400000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, June 13, 2017, 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations Manager 6.5.0\",\n \"major\" : 1,\n \"minor\" : 6,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1488484800000,\n \"humanlyReadableReleaseDate\" : \"Thursday, March 2, 2017, 12:00:00 PM Pacific Standard Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations Manager 6.4.0\",\n \"major\" : 1,\n \"minor\" : 5,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1479240000000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, November 15, 2016, 12:00:00 PM Pacific Standard Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations Manager 6.3.0\",\n \"major\" : 1,\n \"minor\" : 4,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1471978800000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, August 23, 2016, 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations Manager 6.2.1\",\n \"major\" : 1,\n \"minor\" : 3,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1462042800000,\n \"humanlyReadableReleaseDate\" : \"Saturday, April 30, 2016, 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations Manager 6.1.0\",\n \"major\" : 1,\n \"minor\" : 2,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1446318000000,\n \"humanlyReadableReleaseDate\" : \"Saturday, October 31, 2015, 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations Manager 6.0.3\",\n \"major\" : 1,\n \"minor\" : 1,\n \"minorMinor\" : 1,\n \"patch\" : 0,\n \"releasedDate\" : 1443639600000,\n \"humanlyReadableReleaseDate\" : \"Wednesday, September 30, 2015, 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n }, {\n \"releaseName\" : \"VMware vRealize Operations Manager 6.0\",\n \"major\" : 1,\n \"minor\" : 0,\n \"minorMinor\" : 0,\n \"patch\" : 0,\n \"releasedDate\" : 1418155200000,\n \"humanlyReadableReleaseDate\" : \"Tuesday, December 9, 2014, 12:00:00 PM Pacific Standard Time\",\n \"description\" : null\n } ]\n}", + "schema" : { + "$ref" : "#/components/schemas/versions" + } + }, + "application/xml" : { + "example" : "\n\n \n VCF Operations 9.1.1.0\n 9\n 1\n 1\n 0\n 2026-09-04T12:00:00-07:00\n Friday, September 4, 2026, 12:00:00 PM Pacific Daylight Time\n \n \n \n VCF Operations 9.1.0.0\n 9\n 1\n 0\n 0\n 2026-03-03T12:00:00-08:00\n Tuesday, March 3, 2026, 12:00:00 PM Pacific Standard Time\n \n \n \n VMware Aria Operations 8.18.6\n 1\n 76\n 0\n 0\n 2026-02-24T12:00:00-08:00\n Tuesday, February 24, 2026, 12:00:00 PM Pacific Standard Time\n \n \n \n VCF Operations 9.0.1.0\n 2\n 1\n 0\n 0\n 2025-10-07T12:00:00-07:00\n Tuesday, October 7, 2025, 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware Aria Operations 8.18.5\n 1\n 75\n 0\n 0\n 2025-09-29T12:00:00-07:00\n Monday, September 29, 2025, 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware Aria Operations 8.18.4\n 1\n 74\n 0\n 0\n 2025-07-22T12:00:00-07:00\n Tuesday, July 22, 2025, 12:00:00 PM Pacific Daylight Time\n \n \n \n VCF Operations 9.0.0.0\n 2\n 0\n 0\n 0\n 2025-06-17T12:00:00-07:00\n Tuesday, June 17, 2025, 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware Aria Operations 8.18.3\n 1\n 73\n 0\n 0\n 2025-01-30T12:00:00-08:00\n Thursday, January 30, 2025, 12:00:00 PM Pacific Standard Time\n \n \n \n VCF Operations 9.0.2.0\n 2\n 2\n 0\n 0\n 2025-01-20T12:00:00-08:00\n Monday, January 20, 2025, 12:00:00 PM Pacific Standard Time\n \n \n \n VMware Aria Operations 8.18.2\n 1\n 72\n 0\n 0\n 2024-11-28T12:00:00-08:00\n Thursday, November 28, 2024, 12:00:00 PM Pacific Standard Time\n \n \n \n VMware Aria Operations 8.18.1\n 1\n 71\n 0\n 0\n 2024-09-19T12:00:00-07:00\n Thursday, September 19, 2024, 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware Aria Operations 8.18.0\n 1\n 70\n 0\n 0\n 2024-07-09T12:00:00-07:00\n Tuesday, July 9, 2024, 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware Aria Operations 8.17.2\n 1\n 64\n 0\n 0\n 2024-06-14T12:00:00-07:00\n Friday, June 14, 2024, 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware Aria Operations 8.17.1\n 1\n 63\n 0\n 0\n 2024-04-11T12:00:00-07:00\n Thursday, April 11, 2024, 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware Aria Operations 8.16.1\n 1\n 59\n 0\n 0\n 2024-03-05T12:00:00-08:00\n Tuesday, March 5, 2024, 12:00:00 PM Pacific Standard Time\n \n \n \n VMware Aria Operations 8.17.0\n 1\n 62\n 0\n 0\n 2024-02-29T12:00:00-08:00\n Thursday, February 29, 2024, 12:00:00 PM Pacific Standard Time\n \n \n \n VMware Aria Operations 8.16.0\n 1\n 58\n 0\n 0\n 2024-01-18T12:00:00-08:00\n Thursday, January 18, 2024, 12:00:00 PM Pacific Standard Time\n \n \n \n VMware Aria Operations 8.14.1\n 1\n 53\n 0\n 0\n 2023-11-09T12:00:00-08:00\n Thursday, November 9, 2023, 12:00:00 PM Pacific Standard Time\n \n \n \n VMware Aria Operations 8.15.1\n 1\n 57\n 0\n 0\n 2023-10-30T12:00:00-07:00\n Monday, October 30, 2023, 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware Aria Operations 8.14.0\n 1\n 52\n 0\n 0\n 2023-10-17T12:00:00-07:00\n Tuesday, October 17, 2023, 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware Aria Operations 8.15.0\n 1\n 55\n 0\n 0\n 2023-10-10T12:00:00-07:00\n Tuesday, October 10, 2023, 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware Aria Operations 8.13.1\n 1\n 51\n 0\n 0\n 2023-10-04T12:00:00-07:00\n Wednesday, October 4, 2023, 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware Aria Operations 8.13.0\n 1\n 50\n 0\n 0\n 2023-06-27T12:00:00-07:00\n Tuesday, June 27, 2023, 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware Aria Operations 8.12.1\n 1\n 46\n 0\n 0\n 2023-06-15T12:00:00-07:00\n Thursday, June 15, 2023, 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware Aria Operations 8.12.0\n 1\n 45\n 0\n 0\n 2023-04-20T12:00:00-07:00\n Thursday, April 20, 2023, 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware Aria Operations 8.11.2\n 1\n 42\n 0\n 0\n 2023-03-28T12:00:00-07:00\n Tuesday, March 28, 2023, 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware vRealize Operations 8.10.2\n 1\n 37\n 0\n 0\n 2023-01-31T12:00:00-08:00\n Tuesday, January 31, 2023, 12:00:00 PM Pacific Standard Time\n \n \n \n VMware vRealize Operations 8.11.1\n 1\n 41\n 0\n 0\n 2022-12-06T12:00:00-08:00\n Tuesday, December 6, 2022, 12:00:00 PM Pacific Standard Time\n \n \n \n VMware vRealize Operations 8.10.1\n 1\n 36\n 0\n 0\n 2022-12-06T12:00:00-08:00\n Tuesday, December 6, 2022, 12:00:00 PM Pacific Standard Time\n \n \n \n VMware vRealize Operations 8.11.0\n 1\n 40\n 0\n 0\n 2022-10-25T12:00:00-07:00\n Tuesday, October 25, 2022, 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware vRealize Operations 8.10.0\n 1\n 35\n 0\n 0\n 2022-10-04T12:00:00-07:00\n Tuesday, October 4, 2022, 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware vRealize Operations 8.7.3\n 1\n 33\n 0\n 0\n 2022-09-25T12:00:00-07:00\n Sunday, September 25, 2022, 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware vRealize Operations 8.6.4\n 1\n 21\n 0\n 0\n 2022-08-09T12:00:00-07:00\n Tuesday, August 9, 2022, 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware vRealize Operations 8.7.2\n 1\n 32\n 0\n 0\n 2022-07-12T12:00:00-07:00\n Tuesday, July 12, 2022, 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware vRealize Operations 8.7.1\n 1\n 31\n 0\n 0\n 2022-04-28T12:00:00-07:00\n Thursday, April 28, 2022, 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware vRealize Operations 8.6.3\n 1\n 20\n 0\n 0\n 2022-04-28T12:00:00-07:00\n Thursday, April 28, 2022, 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware vRealize Operations 8.7.0\n 1\n 30\n 0\n 0\n 2022-01-28T12:00:00-08:00\n Friday, January 28, 2022, 12:00:00 PM Pacific Standard Time\n \n \n \n VMware vRealize Operations 8.6.2\n 1\n 19\n 0\n 0\n 2021-12-21T12:00:00-08:00\n Tuesday, December 21, 2021, 12:00:00 PM Pacific Standard Time\n \n \n \n VMware vRealize Operations 8.6.1\n 1\n 18\n 0\n 0\n 2021-12-07T12:00:00-08:00\n Tuesday, December 7, 2021, 12:00:00 PM Pacific Standard Time\n \n \n \n VMware vRealize Operations 8.6.0\n 1\n 17\n 0\n 0\n 2021-10-12T12:00:00-07:00\n Tuesday, October 12, 2021, 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware vRealize Operations Manager 8.5.0\n 1\n 16\n 0\n 0\n 2021-07-13T12:00:00-07:00\n Tuesday, July 13, 2021, 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware vRealize Operations Manager 8.4.0\n 1\n 15\n 0\n 0\n 2021-04-15T12:00:00-07:00\n Thursday, April 15, 2021, 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware vRealize Operations Manager 8.3.0\n 1\n 14\n 0\n 0\n 2021-02-04T12:00:00-08:00\n Thursday, February 4, 2021, 12:00:00 PM Pacific Standard Time\n \n \n \n VMware vRealize Operations Manager 8.2.0\n 1\n 13\n 0\n 0\n 2020-10-06T12:00:00-07:00\n Tuesday, October 6, 2020, 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware vRealize Operations Manager 8.1.0\n 1\n 12\n 0\n 0\n 2020-04-14T12:00:00-07:00\n Tuesday, April 14, 2020, 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware vRealize Operations Manager 8.0.0\n 1\n 11\n 0\n 0\n 2019-10-17T12:00:00-07:00\n Thursday, October 17, 2019, 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware vRealize Operations Manager 7.5.0\n 1\n 10\n 0\n 0\n 2019-04-11T12:00:00-07:00\n Thursday, April 11, 2019, 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware vRealize Operations Manager 7.0.0\n 1\n 9\n 0\n 0\n 2018-09-20T12:00:00-07:00\n Thursday, September 20, 2018, 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware vRealize Operations Manager 6.7.0\n 1\n 8\n 0\n 0\n 2018-04-12T12:00:00-07:00\n Thursday, April 12, 2018, 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware vRealize Operations Manager 6.6.0\n 1\n 7\n 0\n 0\n 2017-06-13T12:00:00-07:00\n Tuesday, June 13, 2017, 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware vRealize Operations Manager 6.5.0\n 1\n 6\n 0\n 0\n 2017-03-02T12:00:00-08:00\n Thursday, March 2, 2017, 12:00:00 PM Pacific Standard Time\n \n \n \n VMware vRealize Operations Manager 6.4.0\n 1\n 5\n 0\n 0\n 2016-11-15T12:00:00-08:00\n Tuesday, November 15, 2016, 12:00:00 PM Pacific Standard Time\n \n \n \n VMware vRealize Operations Manager 6.3.0\n 1\n 4\n 0\n 0\n 2016-08-23T12:00:00-07:00\n Tuesday, August 23, 2016, 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware vRealize Operations Manager 6.2.1\n 1\n 3\n 0\n 0\n 2016-04-30T12:00:00-07:00\n Saturday, April 30, 2016, 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware vRealize Operations Manager 6.1.0\n 1\n 2\n 0\n 0\n 2015-10-31T12:00:00-07:00\n Saturday, October 31, 2015, 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware vRealize Operations Manager 6.0.3\n 1\n 1\n 1\n 0\n 2015-09-30T12:00:00-07:00\n Wednesday, September 30, 2015, 12:00:00 PM Pacific Daylight Time\n \n \n \n VMware vRealize Operations Manager 6.0\n 1\n 0\n 0\n 0\n 2014-12-09T12:00:00-08:00\n Tuesday, December 9, 2014, 12:00:00 PM Pacific Standard Time\n \n \n\n", + "schema" : { + "$ref" : "#/components/schemas/versions" + } + } + }, + "description" : "The List of Supported Versions by the Server" + } + }, + "summary" : "Get all supported versions by the service", + "tags" : [ "Versions Info" ] + } + }, + "/api/versions/current" : { + "get" : { + "description" : "Get the current version of the service", + "operationId" : "getCurrentVersionOfServer", + "responses" : { + "200" : { + "content" : { + "application/json" : { + "example" : "{\n \"releaseName\" : \"VCF Operations 9.1.1.0\",\n \"major\" : 9,\n \"minor\" : 1,\n \"minorMinor\" : 1,\n \"patch\" : 0,\n \"releasedDate\" : 1788548400000,\n \"humanlyReadableReleaseDate\" : \"Friday, September 4, 2026, 12:00:00 PM Pacific Daylight Time\",\n \"description\" : null\n}", + "schema" : { + "$ref" : "#/components/schemas/version" + } + }, + "application/xml" : { + "example" : "\n\n VCF Operations 9.1.1.0\n 9\n 1\n 1\n 0\n 2026-09-04T12:00:00-07:00\n Friday, September 4, 2026, 12:00:00 PM Pacific Daylight Time\n \n\n", + "schema" : { + "$ref" : "#/components/schemas/version" + } + } + }, + "description" : "The current version of the Server" + } + }, + "summary" : "Get the current version of the service", + "tags" : [ "Versions Info" ] + } + }, + "/api/whatif/scenarios" : { + "get" : { + "operationId" : "getScenarios", + "parameters" : [ { + "in" : "query", + "name" : "scenarioStatus", + "required" : false, + "schema" : { + "type" : "string", + "description" : "Scenario Status", + "enum" : [ "SAVED", "COMMITTED" ] + } + }, { + "description" : "Page number from which data needs to be displayed (0-based)", + "in" : "query", + "name" : "page", + "schema" : { + "type" : "integer", + "format" : "int32", + "default" : 0 + } + }, { + "description" : "Expected number of entries per page", + "in" : "query", + "name" : "pageSize", + "schema" : { + "type" : "integer", + "format" : "int32", + "default" : 1000 + } + } ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "example" : "{\n \"pageInfo\" : {\n \"totalCount\" : 20,\n \"page\" : 1,\n \"pageSize\" : 20\n },\n \"whatIfScenarios\" : [ {\n \"name\" : \"Add capacity scenario\",\n \"actionType\" : \"ADD\",\n \"contentType\" : \"WORKLOAD\",\n \"workloadCapacityLocation\" : {\n \"dataCenterId\" : \"5cd97c63-22cf-444c-bb82-1b47c5d79812\",\n \"clusterId\" : \"f4d9a9ee-dfac-4e8c-a402-2b200674db00\"\n },\n \"scenarioContent\" : {\n \"manualVmConfig\" : {\n \"count\" : 2,\n \"cpu\" : 1,\n \"memory\" : 1,\n \"storage\" : 1,\n \"commonUtilization\" : 1.0,\n \"vmInstanceOS\" : \"LINUX\"\n },\n \"commonUtilizationGrowthRate\" : 5\n },\n \"startDate\" : 1719385200000,\n \"whatIfScenarioStatus\" : \"SAVED\"\n }, {\n \"name\" : \"Add capacity scenario\",\n \"actionType\" : \"MIGRATE\",\n \"contentType\" : \"WORKLOAD\",\n \"workloadCapacityLocation\" : {\n \"dataCenterId\" : \"5cd97c63-22cf-444c-bb82-1b47c5d79812\",\n \"clusterId\" : \"f4d9a9ee-dfac-4e8c-a402-2b200674db00\"\n },\n \"scenarioContent\" : {\n \"manualVmConfig\" : {\n \"count\" : 2,\n \"cpu\" : 1,\n \"memory\" : 1,\n \"storage\" : 1,\n \"commonUtilization\" : 1.0,\n \"vmInstanceOS\" : \"LINUX\"\n },\n \"commonUtilizationGrowthRate\" : 5\n },\n \"startDate\" : 1719385200000,\n \"whatIfScenarioStatus\" : \"SAVED\"\n } ]\n}", + "schema" : { + "$ref" : "#/components/schemas/WhatIfScenarios" + } + } + }, + "description" : "List scenarios" + } + }, + "summary" : "Get all saved scenarios", + "tags" : [ "What If" ] + }, + "post" : { + "operationId" : "saveScenario", + "requestBody" : { + "content" : { + "application/json" : { + "example" : "{\n \"name\" : \"Add capacity scenario\",\n \"actionType\" : \"ADD\",\n \"contentType\" : \"WORKLOAD\",\n \"workloadCapacityLocation\" : {\n \"dataCenterId\" : \"5cd97c63-22cf-444c-bb82-1b47c5d79812\",\n \"clusterId\" : \"f4d9a9ee-dfac-4e8c-a402-2b200674db00\"\n },\n \"scenarioContent\" : {\n \"manualVmConfig\" : {\n \"count\" : 2,\n \"cpu\" : 1,\n \"memory\" : 1,\n \"storage\" : 1,\n \"commonUtilization\" : 1.0,\n \"vmInstanceOS\" : \"LINUX\"\n },\n \"commonUtilizationGrowthRate\" : 5\n },\n \"startDate\" : 1719385200000,\n \"whatIfScenarioStatus\" : \"SAVED\"\n}", + "schema" : { + "$ref" : "#/components/schemas/WhatIfScenario" + } + } + }, + "description" : "Scenario to create", + "required" : true + }, + "responses" : { + "201" : { + "content" : { + "application/json" : { + "example" : "{\n \"name\" : \"Add capacity scenario\",\n \"actionType\" : \"ADD\",\n \"contentType\" : \"WORKLOAD\",\n \"workloadCapacityLocation\" : {\n \"dataCenterId\" : \"5cd97c63-22cf-444c-bb82-1b47c5d79812\",\n \"clusterId\" : \"f4d9a9ee-dfac-4e8c-a402-2b200674db00\"\n },\n \"scenarioContent\" : {\n \"manualVmConfig\" : {\n \"count\" : 2,\n \"cpu\" : 1,\n \"memory\" : 1,\n \"storage\" : 1,\n \"commonUtilization\" : 1.0,\n \"vmInstanceOS\" : \"LINUX\"\n },\n \"commonUtilizationGrowthRate\" : 5\n },\n \"startDate\" : 1719385200000,\n \"whatIfScenarioStatus\" : \"SAVED\"\n}", + "schema" : { + "$ref" : "#/components/schemas/WhatIfScenario" + } + } + }, + "description" : "Save scenario" + } + }, + "summary" : "Save scenario", + "tags" : [ "What If" ] + }, + "put" : { + "operationId" : "updateScenario", + "requestBody" : { + "content" : { + "application/json" : { + "example" : "{\n \"name\" : \"Add capacity scenario\",\n \"actionType\" : \"ADD\",\n \"contentType\" : \"WORKLOAD\",\n \"workloadCapacityLocation\" : {\n \"dataCenterId\" : \"5cd97c63-22cf-444c-bb82-1b47c5d79812\",\n \"clusterId\" : \"f4d9a9ee-dfac-4e8c-a402-2b200674db00\"\n },\n \"scenarioContent\" : {\n \"manualVmConfig\" : {\n \"count\" : 2,\n \"cpu\" : 1,\n \"memory\" : 1,\n \"storage\" : 1,\n \"commonUtilization\" : 1.0,\n \"vmInstanceOS\" : \"LINUX\"\n },\n \"commonUtilizationGrowthRate\" : 5\n },\n \"startDate\" : 1719385200000,\n \"whatIfScenarioStatus\" : \"SAVED\"\n}", + "schema" : { + "$ref" : "#/components/schemas/WhatIfScenario" + } + } + }, + "description" : "Scenario to update", + "required" : true + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "example" : "{\n \"name\" : \"Add capacity scenario\",\n \"actionType\" : \"ADD\",\n \"contentType\" : \"WORKLOAD\",\n \"workloadCapacityLocation\" : {\n \"dataCenterId\" : \"5cd97c63-22cf-444c-bb82-1b47c5d79812\",\n \"clusterId\" : \"f4d9a9ee-dfac-4e8c-a402-2b200674db00\"\n },\n \"scenarioContent\" : {\n \"manualVmConfig\" : {\n \"count\" : 2,\n \"cpu\" : 1,\n \"memory\" : 1,\n \"storage\" : 1,\n \"commonUtilization\" : 1.0,\n \"vmInstanceOS\" : \"LINUX\"\n },\n \"commonUtilizationGrowthRate\" : 5\n },\n \"startDate\" : 1719385200000,\n \"whatIfScenarioStatus\" : \"SAVED\"\n}", + "schema" : { + "$ref" : "#/components/schemas/WhatIfScenario" + } + } + }, + "description" : "Update scenario" + } + }, + "summary" : "Update scenario", + "tags" : [ "What If" ] + } + }, + "/api/whatif/scenarios/run" : { + "post" : { + "operationId" : "runScenario", + "requestBody" : { + "content" : { + "application/json" : { + "example" : "{\n \"uuids\" : [ \"54b603a4-4a98-4365-a6b0-1370564f228a\", \"01cfc25b-2f00-4afd-a1b5-275df2ccd8d8\" ]\n}", + "schema" : { + "$ref" : "#/components/schemas/uuid-values" + } + } + }, + "description" : "List of scenarios.", + "required" : true + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "example" : "{\n \"clusterDetails\" : {\n \"scenarioFit\" : true,\n \"clusterSummaries\" : [ {\n \"clusterId\" : \"f4d9a9ee-dfac-4e8c-a402-2b200674db00\",\n \"clusterName\" : \"Palo-Alto-Cluster\"\n } ]\n },\n \"publicCloudMigrationDetails\" : {\n \"publicClouds\" : [ {\n \"id\" : \"AWS\",\n \"region\" : \"us-west-2\",\n \"instanceDetails\" : [ {\n \"instanceDetails\" : [ {\n \"key\" : \"COST\",\n \"value\" : \"5500\"\n }, {\n \"key\" : \"INSTANCE_TYPE\",\n \"value\" : \"small\"\n } ]\n } ],\n \"cost\" : 5500.0\n } ]\n }\n}", + "schema" : { + "$ref" : "#/components/schemas/RunWhatIfScenario" + } + } + }, + "description" : "Run scenario" + } + }, + "summary" : "Run scenario", + "tags" : [ "What If" ] + } + }, + "/api/whatif/scenarios/{id}" : { + "delete" : { + "operationId" : "deleteScenario", + "parameters" : [ { + "in" : "path", + "name" : "id", + "required" : true, + "schema" : { + "type" : "string", + "format" : "uuid" + } + } ], + "responses" : { + "204" : { + "description" : "No Content" + } + }, + "summary" : "Delete list of saved scenarios", + "tags" : [ "What If" ] + } + }, + "/api/whatif/serverconfigs" : { + "get" : { + "operationId" : "getServerConfigs", + "parameters" : [ { + "in" : "query", + "name" : "clusterId", + "required" : false, + "schema" : { + "type" : "string", + "format" : "uuid" + } + }, { + "in" : "query", + "name" : "isHci", + "required" : false, + "schema" : { + "type" : "boolean", + "default" : false + } + }, { + "description" : "Page number from which data needs to be displayed (0-based)", + "in" : "query", + "name" : "page", + "schema" : { + "type" : "integer", + "format" : "int32", + "default" : 0 + } + }, { + "description" : "Expected number of entries per page", + "in" : "query", + "name" : "pageSize", + "schema" : { + "type" : "integer", + "format" : "int32", + "default" : 1000 + } + } ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "example" : "{\n \"detailedServerConfigs\" : [ {\n \"id\" : \"f4d9a9ee-dfac-4e8c-a402-2b200674db00\",\n \"cpuInGhz\" : 2222.0,\n \"memoryInGb\" : 512.0,\n \"storageInGb\" : 512.0,\n \"coresCount\" : 4,\n \"socketsCount\" : 2,\n \"costPerServer\" : 5500.0,\n \"make\" : \"Intel\",\n \"cpuModel\" : \"Xeon2.2\",\n \"model\" : \"Xeon\",\n \"year\" : \"2020\"\n } ]\n}", + "schema" : { + "$ref" : "#/components/schemas/WhatIfScenarioDetailedServerConfigs" + } + } + }, + "description" : "List of server configs" + } + }, + "summary" : "Get server configs", + "tags" : [ "What If" ] + } + }, + "/api/workflows/requests/{requestId}" : { + "get" : { + "operationId" : "getRequestById", + "parameters" : [ { + "description" : "requestId", + "in" : "path", + "name" : "requestId", + "required" : true, + "schema" : { + "type" : "string", + "example" : "825dd047-dd15-4e02-b636-808634013b01" + } + } ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "example" : "{\n \"errorCause\" : [ ]\n}", + "schema" : { + "$ref" : "#/components/schemas/WorkflowRequest" + } + } + }, + "description" : "Request by Id" + }, + "404" : { + "description" : "Error while fetching Request by Id", + "x-vmw-compiler-skip" : true + } + }, + "summary" : "Get request by Id", + "tags" : [ "Workflow Request" ] + } + } + }, + "components" : { + "schemas" : { + "AccessTokenDetails" : { + "type" : "object", + "description" : "Access token Details related to ScimSyncClient", + "properties" : { + "accessToken" : { + "type" : "string", + "description" : "Sync client generated bearer access token" + }, + "tokenExpiresAt" : { + "type" : "integer", + "format" : "int64", + "description" : "Timestamp at which generated access token expires" + } + } + }, + "AddressType" : { + "type" : "string", + "description" : "Type of the address", + "enum" : [ "IPV4", "IPV6", "FQDN", "UNKNOWN" ] + }, + "AffectedObjectsFilter" : { + "type" : "object", + "description" : "Parameters used to search for affected objects.", + "properties" : { + "fromOccurrenceTime" : { + "type" : "integer", + "format" : "int64", + "description" : "Timestamp designating the lowest required value for occurrence time for the returned affected objects" + }, + "resourceIds" : { + "type" : "array", + "description" : "List of resource IDs to filter by", + "items" : { + "type" : "string", + "format" : "uuid", + "description" : "List of resource IDs to filter by" + } + } + } + }, + "AffectedObjectsQuery" : { + "type" : "object", + "description" : "Parameters used to search for affected objects.", + "properties" : { + "filter" : { + "$ref" : "#/components/schemas/AffectedObjectsFilter" + } + } + }, + "AffectedObjectsResponse" : { + "type" : "object", + "description" : "Model object containing information about affected objects", + "properties" : { + "affectedObjects" : { + "type" : "array", + "description" : "Collection of affected object data", + "items" : { + "$ref" : "#/components/schemas/AuditAffectedObject" + } + }, + "links" : { + "type" : "array", + "description" : "Collection of links", + "items" : { + "$ref" : "#/components/schemas/link" + }, + "xml" : { + "wrapped" : true + } + }, + "pageInfo" : { + "$ref" : "#/components/schemas/page-info" + } + } + }, + "AlertTypeFilter" : { + "type" : "object", + "description" : "Represents an alert type filter", + "properties" : { + "alertSubTypes" : { + "type" : "array", + "description" : "Sub Types of the alert", + "items" : { + "type" : "integer", + "format" : "int32", + "description" : "Sub Types of the alert" + } + }, + "alertType" : { + "type" : "integer", + "format" : "int32", + "description" : "Type of the alert" + } + } + }, + "AlertTypeMapping" : { + "type" : "object", + "description" : "Filter based on Alert Type", + "properties" : { + "subtype" : { + "type" : "array", + "items" : { + "type" : "integer", + "format" : "int32", + "xml" : { + "name" : "subtype" + } + } + }, + "type" : { + "type" : "integer", + "format" : "int32" + } + }, + "required" : [ "type" ] + }, + "ApiClient" : { + "type" : "object", + "description" : "Client for which one or more API tokens can be created to facilitate API-based access", + "properties" : { + "clientDescription" : { + "type" : "string", + "description" : "Optional description for the API client" + }, + "clientId" : { + "type" : "string", + "description" : "API client unique string that is used for the CRUD operations within identity broker single tenant", + "minLength" : 1 + }, + "clientName" : { + "type" : "string", + "description" : "Friendly name for the API client" + }, + "clientUuid" : { + "type" : "string", + "format" : "uuid", + "description" : "API Client unique string that is used as the principal for role assignment within identity broker" + }, + "roles" : { + "type" : "array", + "description" : "Roles assigned to this API client", + "items" : { + "$ref" : "#/components/schemas/VcfRoleAssignment" + } + } + }, + "required" : [ "clientId", "clientName" ] + }, + "ApiClients" : { + "type" : "object", + "description" : "List of API clients and associated pagination information", + "properties" : { + "apiClients" : { + "type" : "array", + "description" : "List of API clients in this page", + "items" : { + "$ref" : "#/components/schemas/ApiClient" + } + }, + "links" : { + "type" : "array", + "description" : "Collection of links", + "items" : { + "$ref" : "#/components/schemas/link" + }, + "xml" : { + "wrapped" : true + } + }, + "pageInfo" : { + "$ref" : "#/components/schemas/page-info" + } + }, + "required" : [ "apiClients" ] + }, + "ApiError" : { + "type" : "object", + "description" : "NetOps instance api response error code and message", + "properties" : { + "code" : { + "type" : "integer", + "format" : "int32", + "description" : "NetOps instance api error code (http)." + }, + "details" : { + "type" : "array", + "description" : "NetOps instance api error details.", + "items" : { + "$ref" : "#/components/schemas/ApiErrorDetail" + } + }, + "message" : { + "type" : "string", + "description" : "NetOps instance api error message." + } + } + }, + "ApiErrorDetail" : { + "type" : "object", + "description" : "NetOps instance api response internal error code and message", + "properties" : { + "code" : { + "type" : "integer", + "format" : "int32", + "description" : "NetOps instance api internal error code." + }, + "message" : { + "type" : "string", + "description" : "NetOps instance api internal error message." + }, + "target" : { + "type" : "array", + "description" : "Name of entity for which error occurred.", + "items" : { + "type" : "string", + "description" : "Name of entity for which error occurred." + } + } + } + }, + "ApiToken" : { + "type" : "object", + "description" : "API token that facilitates API-based access", + "properties" : { + "accessTokenTtl" : { + "type" : "integer", + "format" : "int32", + "description" : "Time-To-Live lifespan in minutes of the access tokens that are generated from this API token" + }, + "apiClientId" : { + "type" : "string", + "description" : "Client ID of the API client with which this API token is associated" + }, + "apiTokenTtl" : { + "type" : "integer", + "format" : "int32", + "description" : "Time-To-Live lifespan in minutes of the API token" + }, + "creationDate" : { + "type" : "integer", + "format" : "int64", + "description" : "The date on which the API token was created" + }, + "expirationDate" : { + "type" : "integer", + "format" : "int64", + "description" : "The date on which the API token expires" + }, + "id" : { + "type" : "string", + "format" : "uuid", + "description" : "Unique ID for API token in identity broker" + }, + "lastUsedDate" : { + "type" : "integer", + "format" : "int64", + "description" : "The date on which the API token was last exchanged for a bearer token" + }, + "oidcIssuerUrl" : { + "type" : "string", + "description" : "The OIDC issuer URL" + }, + "principalName" : { + "type" : "string", + "description" : "The name of the principal for which this token was generated: UPN for users and client ID for API clients" + }, + "principalStatus" : { + "type" : "string", + "description" : "Principal active / inactive status", + "enum" : [ "ACTIVE", "INACTIVE", "UNKNOWN" ] + }, + "token" : { + "type" : "string", + "description" : "Full API token string that callers can use to obtain bearer access tokens" + }, + "tokenDescription" : { + "type" : "string", + "description" : "Optional description of the API token" + }, + "tokenEndpointUrl" : { + "type" : "string", + "description" : "The token endpoint URL" + }, + "tokenLastChars" : { + "type" : "string", + "description" : "Sub string containing the last few characters of the full token string" + }, + "tokenName" : { + "type" : "string", + "description" : "User-friendly display name of the API token" + }, + "tokenStatus" : { + "type" : "string", + "description" : "API token active / expired status", + "enum" : [ "ACTIVE", "EXPIRED", "UNKNOWN" ] + }, + "tokenType" : { + "type" : "string", + "description" : "API token client / user type", + "enum" : [ "API_CLIENT", "USER", "UNKNOWN" ] + } + }, + "required" : [ "tokenName" ] + }, + "ApiTokens" : { + "type" : "object", + "description" : "List of API tokens and associated pagination information", + "properties" : { + "apiTokens" : { + "type" : "array", + "description" : "List of API token in this page", + "items" : { + "$ref" : "#/components/schemas/ApiToken" + } + }, + "links" : { + "type" : "array", + "description" : "Collection of links", + "items" : { + "$ref" : "#/components/schemas/link" + }, + "xml" : { + "wrapped" : true + } + }, + "pageInfo" : { + "$ref" : "#/components/schemas/page-info" + } + }, + "required" : [ "apiTokens" ] + }, + "AuditAffectedObject" : { + "type" : "object", + "description" : "Model for representing an affected object", + "properties" : { + "adapterKind" : { + "type" : "string", + "description" : "Adapter kind of the affected object" + }, + "checkTime" : { + "type" : "integer", + "format" : "int64", + "description" : "Check time of the affected object" + }, + "name" : { + "type" : "string", + "description" : "Name of the affected object" + }, + "occurrenceTime" : { + "type" : "integer", + "format" : "int64", + "description" : "Last occurrence time of the affected object" + }, + "resourceId" : { + "type" : "string", + "format" : "uuid", + "description" : "ID of the resource of the affected object" + }, + "resourceKind" : { + "type" : "string", + "description" : "Resource kinds of the affected object" + } + } + }, + "AuditFinding" : { + "type" : "object", + "description" : "Model for representing a finding", + "properties" : { + "affectedObjectsCount" : { + "type" : "integer", + "format" : "int32", + "description" : "Count of the affected objects of the finding" + }, + "capabilities" : { + "type" : "array", + "description" : "Capabilities of the finding", + "items" : { + "type" : "string", + "description" : "Capabilities of the finding" + } + }, + "category" : { + "type" : "string", + "description" : "Category of the finding" + }, + "findingType" : { + "type" : "string", + "description" : "Type of the finding" + }, + "lastObservedTimeInMillis" : { + "type" : "integer", + "format" : "int64", + "description" : "Last observed time of the finding" + }, + "refreshMode" : { + "type" : "string", + "description" : "Refresh mode of the finding" + }, + "ruleDescription" : { + "type" : "string", + "description" : "Description of the rule of the finding" + }, + "ruleName" : { + "type" : "string", + "description" : "Name of the rule of the finding" + }, + "ruleUuid" : { + "type" : "string", + "format" : "uuid", + "description" : "UUID of the rule of the finding" + }, + "severity" : { + "type" : "string", + "description" : "Severity of the finding" + } + } + }, + "AuditFindingsResponse" : { + "type" : "object", + "description" : "Model object containing information about findings", + "properties" : { + "findings" : { + "type" : "array", + "description" : "Collection of findings objects", + "items" : { + "$ref" : "#/components/schemas/AuditFinding" + } + }, + "links" : { + "type" : "array", + "description" : "Collection of links", + "items" : { + "$ref" : "#/components/schemas/link" + }, + "xml" : { + "wrapped" : true + } + }, + "pageInfo" : { + "$ref" : "#/components/schemas/page-info" + } + } + }, + "AutoRenewInfoGroup" : { + "type" : "object", + "description" : "Represents Auto renew information of a certificate", + "properties" : { + "autoRenewFailureReason" : { + "type" : "string", + "description" : "auto renew failure reason if any" + }, + "autoRenewOperationStatus" : { + "type" : "string", + "description" : "auto renew operation status of the certificate" + }, + "autoRenewStatus" : { + "type" : "string", + "description" : "auto renew status of the certificate" + } + } + }, + "BasePasswordPolicyTask" : { + "type" : "object", + "description" : "Base password policy task", + "properties" : { + "overrideComponentGroups" : { + "$ref" : "#/components/schemas/TargetComponentGroups" + }, + "policyId" : { + "type" : "string", + "format" : "uuid", + "description" : "Password policy ID. Required for POLICY_APPLY, POLICY_DETACH, POLICY_REMEDIATE, and POLICY_RETRY. Ignored for COMPLIANCE_RUN." + }, + "targetComponentGroups" : { + "$ref" : "#/components/schemas/TargetComponentGroups" + }, + "taskId" : { + "type" : "string", + "format" : "uuid", + "description" : "Task ID (set when a task is persisted; omitted on request)" + }, + "taskType" : { + "type" : "string", + "description" : "Policy operations task type", + "enum" : [ "POLICY_APPLY", "POLICY_DETACH", "POLICY_RETRY", "POLICY_REMEDIATE", "COMPLIANCE_RUN", "UNKNOWN" ] + } + }, + "required" : [ "taskType" ] + }, + "CertificateMetadataInfo" : { + "type" : "object", + "description" : "Certificate purpose, chain grouping, and management level metadata", + "properties" : { + "certificateChainGroupId" : { + "type" : "string", + "description" : "Chain group ID for grouping certificates in the same chain" + }, + "certificateChainPosition" : { + "type" : "integer", + "format" : "int32", + "description" : "Chain position (0=leaf, 1..n=intermediates, last=root)" + }, + "certificateChainRole" : { + "type" : "string", + "description" : "Certificate position in the chain: LEAF (end-entity), INTERMEDIATE, or ROOT.", + "enum" : [ "LEAF", "INTERMEDIATE", "ROOT", "UNKNOWN" ] + }, + "certificatePurpose" : { + "type" : "string", + "description" : "Certificate purpose (e.g., MACHINE_SSL_CERT, STS_CERT)" + }, + "managementLevel" : { + "type" : "string", + "description" : "Management level: CUSTOMER_MANAGED_MONITOR_ONLY, CUSTOMER_MANAGED_FULL_MANAGEMENT, or NON_CUSTOMER_MANAGED", + "enum" : [ "CUSTOMER_MANAGED_MONITOR_ONLY", "CUSTOMER_MANAGED_FULL_MANAGEMENT", "NON_CUSTOMER_MANAGED" ] + } + } + }, + "CertificateRenewalResponse" : { + "type" : "object", + "description" : "Represents result for collector's/collector-groups's certificate renewal request", + "properties" : { + "message" : { + "type" : "string", + "description" : "Success/Failure Message" + } + } + }, + "CertificateReplaceData" : { + "type" : "object", + "description" : "Represents a certificate replacement task", + "properties" : { + "caType" : { + "type" : "string", + "description" : "Certificate signing CA type (e.g., VMCA, OPENSSL_CA, MSCA, EXTERNAL_CA, SELF_SIGNED_CA)", + "enum" : [ "VMCA", "OPENSSL_CA", "MSCA", "EXTERNAL_CA", "SELF_SIGNED_CA", "UNKNOWN" ] + }, + "certificateChain" : { + "type" : "string", + "description" : "Full Certificate chain" + } + }, + "required" : [ "caType" ] + }, + "CertificateSignatureInfo" : { + "type" : "object", + "description" : "Represents certificate signing requests", + "properties" : { + "applianceHostname" : { + "type" : "string", + "description" : "certificate appliance host name" + }, + "applianceType" : { + "type" : "string", + "description" : "VCF Component type" + }, + "applianceTypeDisplayName" : { + "type" : "string", + "description" : "Display name for the appliance (VCF component) type" + }, + "certificateId" : { + "type" : "string", + "description" : "Identifier of the certificate for which this CSR was generated" + }, + "certificateType" : { + "type" : "string", + "description" : "Type or category of the certificate for which this CSR was generated" + }, + "certificateTypeDisplayName" : { + "type" : "string", + "description" : "Display name for the certificate type (category)" + }, + "commonName" : { + "type" : "string", + "description" : "certificate signing request common name" + }, + "csr" : { + "type" : "string", + "description" : "certificate signing request details" + }, + "id" : { + "type" : "string", + "description" : "certificate signing request id" + }, + "publicKey" : { + "type" : "string", + "description" : "Public key associated with the CSR" + } + } + }, + "CertificateSignatures" : { + "type" : "object", + "description" : "Paginated List of CertificateSigningRequest", + "properties" : { + "certificateSignatureInfo" : { + "type" : "array", + "description" : "List of What-If Scenarios", + "items" : { + "$ref" : "#/components/schemas/CertificateSignatureInfo" + } + }, + "links" : { + "type" : "array", + "description" : "Collection of links", + "items" : { + "$ref" : "#/components/schemas/link" + }, + "xml" : { + "wrapped" : true + } + }, + "pageInfo" : { + "$ref" : "#/components/schemas/page-info" + } + } + }, + "ClientTokenFilters" : { + "type" : "object", + "description" : "Field values that can be used to filter API client and API token data", + "properties" : { + "tokenStatus" : { + "type" : "array", + "description" : "One or more API token status values to match", + "items" : { + "type" : "string", + "description" : "API token active / expired status", + "enum" : [ "ACTIVE", "EXPIRED", "UNKNOWN" ] + }, + "maxItems" : 2147483647, + "minItems" : 1, + "uniqueItems" : true + }, + "tokenType" : { + "type" : "array", + "description" : "One or more API token types to match", + "items" : { + "type" : "string", + "description" : "API token client / user type", + "enum" : [ "API_CLIENT", "USER", "UNKNOWN" ] + }, + "maxItems" : 2147483647, + "minItems" : 1, + "uniqueItems" : true + } + } + }, + "ClientTokenQuery" : { + "type" : "object", + "description" : "Search, filter, and sort parameters for API clients and API tokens", + "properties" : { + "filters" : { + "$ref" : "#/components/schemas/ClientTokenFilters" + }, + "searchTerms" : { + "$ref" : "#/components/schemas/ClientTokenSearchGroupings" + } + } + }, + "ClientTokenSearchGroupings" : { + "type" : "object", + "description" : "Groupings of search conditions to match in API client and API token lists", + "properties" : { + "allOf" : { + "type" : "array", + "description" : "Search terms to query, ALL of which must match for the search to be successful", + "items" : { + "$ref" : "#/components/schemas/ClientTokenSearchTerm" + } + }, + "anyOf" : { + "type" : "array", + "description" : "Search terms to query, ANY of which must match for the search to be successful", + "items" : { + "$ref" : "#/components/schemas/ClientTokenSearchTerm" + } + } + } + }, + "ClientTokenSearchTerm" : { + "type" : "object", + "description" : "Search term matching logic to apply to a given field in API client and API token lists", + "properties" : { + "field" : { + "type" : "string", + "description" : "Fields that can be searched in API client and API token lists", + "enum" : [ "CLIENT_NAME", "CLIENT_ID", "TOKEN_NAME", "PRINCIPAL_NAME", "ROLES", "ROLE_NAME", "ROLE_DISPLAY_NAME", "UNKNOWN" ] + }, + "operator" : { + "type" : "string", + "description" : "The operator to use when searching fields in API client and API token lists", + "enum" : [ "LIKE", "EQUALS", "EMPTY", "NOT_EMPTY", "UNKNOWN" ] + }, + "terms" : { + "type" : "array", + "description" : "Strings to search in the given field; a match with any of these terms produces a successful search result", + "items" : { + "type" : "string", + "description" : "Strings to search in the given field; a match with any of these terms produces a successful search result" + } + } + }, + "required" : [ "field", "operator" ] + }, + "ClientsCertificateRenewContext" : { + "type" : "object", + "description" : "Model object containing Clients Certificate Renew information", + "properties" : { + "resourceId" : { + "type" : "string", + "description" : "EndPoint resource UUID" + }, + "status" : { + "type" : "string", + "description" : "EndPoint Certificate Renewal Status" + } + } + }, + "ClientsCertificateRenewalDetails" : { + "type" : "object", + "description" : "Client renew certificate details", + "properties" : { + "renewContexts" : { + "type" : "array", + "description" : "EndPoint Certificate Renew Context", + "items" : { + "$ref" : "#/components/schemas/ClientsCertificateRenewContext" + } + } + } + }, + "CloudAccountIntegration" : { + "type" : "object", + "description" : "A model that serves as the structure of the payload data for creating or updating cloud account integration.", + "properties" : { + "certificates" : { + "type" : "array", + "description" : "List of new trusted certificates, must be provided upon creation/update of new cloud account integration, for establishing connection.", + "items" : { + "$ref" : "#/components/schemas/certificate" + } + }, + "collectorGroupId" : { + "type" : "string", + "format" : "uuid", + "description" : "The Collector Group ID to be used for this cloud account integration" + }, + "collectorId" : { + "type" : "string", + "description" : "The Collector instance used by this cloud account integration" + }, + "credentialInstanceId" : { + "type" : "string", + "format" : "uuid", + "description" : "Credential Instance identifier, for this cloud account integration." + }, + "description" : { + "type" : "string", + "description" : "Optional description of the cloud account integration" + }, + "id" : { + "type" : "string", + "format" : "uuid", + "description" : "ID of existing cloud account integration, must be null at creation" + }, + "name" : { + "type" : "string", + "description" : "The name of the cloud account integration" + }, + "resourceIdentifiers" : { + "type" : "array", + "description" : "Cloud account integration specific resource identifiers", + "items" : { + "$ref" : "#/components/schemas/name-value" + } + } + }, + "required" : [ "name", "resourceIdentifiers" ] + }, + "CollectorCertDetails" : { + "type" : "object", + "description" : "Collector and certificate details", + "properties" : { + "CACertRenewalStatus" : { + "type" : "string", + "description" : "Collector certificate renewal status" + }, + "id" : { + "type" : "string", + "description" : "Collector Id" + }, + "name" : { + "type" : "string", + "description" : "Collector name" + }, + "uuId" : { + "type" : "string", + "description" : "Collector UUID" + } + } + }, + "CollectorCertificateRenewalStatusResponse" : { + "type" : "object", + "description" : "Collector Certificate Renewal Operation Response", + "properties" : { + "collector" : { + "$ref" : "#/components/schemas/CollectorCertDetails" + } + } + }, + "CollectorGroupCertificateRenewalStatusResponse" : { + "type" : "object", + "description" : "Provides the status of collector group certificate renewal", + "properties" : { + "collectorGroup" : { + "$ref" : "#/components/schemas/CollectorGroupCertificateRenewalStatusResponseElement" + } + } + }, + "CollectorGroupCertificateRenewalStatusResponseElement" : { + "type" : "object", + "description" : "Collector group and its certificate information DTO.", + "properties" : { + "CACertRenewalStatus" : { + "type" : "string", + "description" : "Collector group certificate renewal status" + }, + "collectors" : { + "type" : "array", + "description" : "List of collectors and its certificate renewal status", + "items" : { + "$ref" : "#/components/schemas/CollectorCertDetails" + } + }, + "id" : { + "type" : "string", + "description" : "Collector group id" + }, + "name" : { + "type" : "string", + "description" : "Collector group name" + } + } + }, + "ComplexityConstraints" : { + "type" : "object", + "description" : "Policy complexity constraints", + "properties" : { + "minLength" : { + "type" : "integer", + "format" : "int32", + "default" : 15, + "description" : "Minimum length of password", + "maximum" : 64, + "minimum" : 8 + }, + "minLowercase" : { + "type" : "integer", + "format" : "int32", + "default" : 1, + "description" : "Minimum number of lowercase characters allowed in password", + "maximum" : 10, + "minimum" : 0 + }, + "minNumeric" : { + "type" : "integer", + "format" : "int32", + "default" : 1, + "description" : "Minimum number of numeric characters allowed in password", + "maximum" : 10, + "minimum" : 0 + }, + "minSpecial" : { + "type" : "integer", + "format" : "int32", + "default" : 1, + "description" : "Minimum number of special characters allowed in password", + "maximum" : 10, + "minimum" : 0 + }, + "minUppercase" : { + "type" : "integer", + "format" : "int32", + "default" : 1, + "description" : "Minimum number of uppercase characters allowed in password", + "maximum" : 10, + "minimum" : 0 + }, + "passwordHistory" : { + "type" : "integer", + "format" : "int32", + "default" : 5, + "description" : "Number of previous passwords that cannot be reused", + "maximum" : 10, + "minimum" : 1 + } + }, + "required" : [ "minLength", "minLowercase", "minNumeric", "minSpecial", "minUppercase", "passwordHistory" ] + }, + "ComplianceStatusCount" : { + "type" : "object", + "description" : "Number of component groups in a given compliance status", + "properties" : { + "count" : { + "type" : "integer", + "format" : "int32", + "description" : "Number of component groups in this status" + }, + "status" : { + "type" : "string", + "description" : "Compliance status of the component group or component with respect to the password policy", + "enum" : [ "COMPLIANT", "NON_COMPLIANT", "NOT_ELIGIBLE", "IN_PROGRESS", "PENDING", "FAILED", "NO_POLICY", "UNKNOWN" ] + } + } + }, + "ComponentGroupQuery" : { + "type" : "object", + "description" : "Retrieves a list of component groups based on the provided query parameters. The body may include `componentGroupResourceIds`, `componentGroupResourceFqdns`, `componentGroupResourceNames`, `policyIds`, `policyNames`, `componentGroups`, and `componentGroupComplianceStatuses`.\n\n**Filtering Behavior:**\nParameters are combined using a logical OR. The system returns a deduplicated union of all matches. For example, if you query by `componentGroups` and `componentGroupResourceIds`, the response will include items that match the component group *plus* items that match the component group resource ID, with no duplicates.\n\n**Request JSON:** Use the property **`componentGroups`** (plural) as a **JSON array** of strings (`FLEET`, `MANAGEMENT`, `INSTANCE`).", + "properties" : { + "componentGroupComplianceStatuses" : { + "type" : "array", + "description" : "Compliance statuses of the component group", + "items" : { + "type" : "string", + "description" : "Compliance status of the component group or component with respect to the password policy", + "enum" : [ "COMPLIANT", "NON_COMPLIANT", "NOT_ELIGIBLE", "IN_PROGRESS", "PENDING", "FAILED", "NO_POLICY", "UNKNOWN" ] + }, + "maxItems" : 100, + "minItems" : 0 + }, + "componentGroupResourceFqdns" : { + "type" : "array", + "description" : "Component Group resource FQDNs (example item: sddc-manager.cloud.example.com)", + "items" : { + "type" : "string", + "description" : "Component Group resource FQDNs (example item: sddc-manager.cloud.example.com)", + "maxLength" : 255, + "minLength" : 0 + }, + "maxItems" : 100, + "minItems" : 0 + }, + "componentGroupResourceIds" : { + "type" : "array", + "description" : "Component group resource IDs", + "items" : { + "type" : "string", + "format" : "uuid", + "description" : "Component group resource IDs" + }, + "maxItems" : 100, + "minItems" : 0 + }, + "componentGroupResourceNames" : { + "type" : "array", + "description" : "Component Group resource names", + "items" : { + "type" : "string", + "description" : "Component Group resource names", + "maxLength" : 255, + "minLength" : 0 + }, + "maxItems" : 100, + "minItems" : 0 + }, + "componentGroups" : { + "type" : "array", + "description" : "JSON **`componentGroups`** (plural): array of FLEET, MANAGEMENT, INSTANCE. ", + "items" : { + "type" : "string", + "description" : "Identifies the specific group the component belongs to: FLEET, MANAGEMENT, or INSTANCE.", + "enum" : [ "FLEET", "MANAGEMENT", "INSTANCE", "UNKNOWN" ] + }, + "maxItems" : 100, + "minItems" : 0 + }, + "policyIds" : { + "type" : "array", + "description" : "Policy IDs", + "items" : { + "type" : "string", + "format" : "uuid", + "description" : "Policy IDs" + }, + "maxItems" : 100, + "minItems" : 0 + }, + "policyNames" : { + "type" : "array", + "description" : "Policy names", + "items" : { + "type" : "string", + "description" : "Policy names", + "maxLength" : 255, + "minLength" : 0 + }, + "maxItems" : 100, + "minItems" : 0 } } }, - "AffectedObjectsQuery" : { + "ComponentQuery" : { "type" : "object", - "description" : "Parameters used to search for affected objects.", + "description" : "Retrieves a flat, paged list of **component-only** fields (`PolicyComponent`): resource identity, component compliance, constraints snapshot, etc. Policy and component-group scope filters still apply on the request body, but **policy id/name and enclosing group metadata are not returned** on each component row.\n\nThe body may include `componentGroups`, `componentGroupResourceIds`, `componentGroupResourceFqdns`, `policyIds`, `policyNames`, `componentResourceIds`, `componentResourceFqdns`, `componentResourceTypes`, `componentComplianceStatuses`, and `componentGroupComplianceStatuses`.\n\n**Filtering Behavior:**\nA component row is kept only if it satisfies **every** non-empty filter dimension (logical AND). Within a single list field, multiple values are OR (match any). If nothing matches, `results` is empty.\n\n`componentGroups` selects which group kinds to query (FLEET, MANAGEMENT, INSTANCE). `componentGroupResourceIds` and `componentGroupResourceFqdns` resolve INSTANCE adapter instances and are unioned with `componentGroups`. If the body is omitted or carries no scope or component filters, components for every scope (FLEET, MANAGEMENT, and all INSTANCE rows present in compliance summary data) are included before URL pagination is applied to the merged list.\n\n**Request JSON:** Use the property **`componentGroups`** (plural) as a **JSON array** of strings (`FLEET`, `MANAGEMENT`, `INSTANCE`).", "properties" : { - "filter" : { - "$ref" : "#/components/schemas/AffectedObjectsFilter" + "componentComplianceStatuses" : { + "type" : "array", + "description" : "Compliance statuses of the components within the component group resource", + "items" : { + "type" : "string", + "description" : "Compliance status of the component group or component with respect to the password policy", + "enum" : [ "COMPLIANT", "NON_COMPLIANT", "NOT_ELIGIBLE", "IN_PROGRESS", "PENDING", "FAILED", "NO_POLICY", "UNKNOWN" ] + }, + "maxItems" : 100, + "minItems" : 0 + }, + "componentGroupComplianceStatuses" : { + "type" : "array", + "description" : "Compliance statuses of the component group", + "items" : { + "type" : "string", + "description" : "Compliance status of the component group or component with respect to the password policy", + "enum" : [ "COMPLIANT", "NON_COMPLIANT", "NOT_ELIGIBLE", "IN_PROGRESS", "PENDING", "FAILED", "NO_POLICY", "UNKNOWN" ] + }, + "maxItems" : 100, + "minItems" : 0 + }, + "componentGroupResourceFqdns" : { + "type" : "array", + "description" : "VCF adapter instance FQDNs (INSTANCE scope). Union with componentGroups and resource IDs.", + "items" : { + "type" : "string", + "description" : "VCF adapter instance FQDNs (INSTANCE scope). Union with componentGroups and resource IDs.", + "maxLength" : 255, + "minLength" : 0 + }, + "maxItems" : 100, + "minItems" : 0 + }, + "componentGroupResourceIds" : { + "type" : "array", + "description" : "VCF adapter instance resource IDs (INSTANCE scope). Union with componentGroups and FQDNs.", + "items" : { + "type" : "string", + "format" : "uuid", + "description" : "VCF adapter instance resource IDs (INSTANCE scope). Union with componentGroups and FQDNs." + }, + "maxItems" : 100, + "minItems" : 0 + }, + "componentGroups" : { + "type" : "array", + "description" : "JSON **`componentGroups`** (plural): array of FLEET, MANAGEMENT, INSTANCE (union with instance id/FQDN lists).", + "items" : { + "type" : "string", + "description" : "Identifies the specific group the component belongs to: FLEET, MANAGEMENT, or INSTANCE.", + "enum" : [ "FLEET", "MANAGEMENT", "INSTANCE", "UNKNOWN" ] + }, + "maxItems" : 100, + "minItems" : 0 + }, + "componentResourceFqdns" : { + "type" : "array", + "description" : "Resource FQDNs of the components within the component group resource", + "items" : { + "type" : "string", + "description" : "Resource FQDNs of the components within the component group resource", + "maxLength" : 255, + "minLength" : 0 + }, + "maxItems" : 100, + "minItems" : 0 + }, + "componentResourceIds" : { + "type" : "array", + "description" : "Resource IDs of the components within the component group resource", + "items" : { + "type" : "string", + "format" : "uuid", + "description" : "Resource IDs of the components within the component group resource" + }, + "maxItems" : 100, + "minItems" : 0 + }, + "componentResourceTypes" : { + "type" : "array", + "description" : "Resource types of the components within the component group resource", + "items" : { + "type" : "string", + "description" : "Resource types of the components within the component group resource", + "maxLength" : 255, + "minLength" : 0 + }, + "maxItems" : 100, + "minItems" : 0 + }, + "policyIds" : { + "type" : "array", + "description" : "Restrict to components whose policy id matches any listed id (OR within the list). Combined with other non-empty filter dimensions using logical AND.", + "items" : { + "type" : "string", + "format" : "uuid", + "description" : "Restrict to components whose policy id matches any listed id (OR within the list). Combined with other non-empty filter dimensions using logical AND." + }, + "maxItems" : 100, + "minItems" : 0 + }, + "policyNames" : { + "type" : "array", + "description" : "Restrict to components whose policy display name matches any listed name (OR within the list, case-insensitive trim). Combined with other non-empty filter dimensions using logical AND.", + "items" : { + "type" : "string", + "description" : "Restrict to components whose policy display name matches any listed name (OR within the list, case-insensitive trim). Combined with other non-empty filter dimensions using logical AND.", + "maxLength" : 255, + "minLength" : 0 + }, + "maxItems" : 100, + "minItems" : 0 } } }, - "AffectedObjectsResponse" : { + "ComponentRole" : { "type" : "object", - "description" : "Model object containing information about affected objects", + "description" : "Provisioned custom role definition", "properties" : { - "affectedObjects" : { + "importedAt" : { + "type" : "integer", + "format" : "int64", + "description" : "The imported timestamp of the role for the specific instance" + }, + "provisionDetails" : { "type" : "array", - "description" : "Collection of affected object data", + "description" : "Custom role provision details", "items" : { - "$ref" : "#/components/schemas/AuditAffectedObject" + "$ref" : "#/components/schemas/CustomRoleProvisionDetails" } }, - "links" : { + "roleId" : { + "type" : "string", + "format" : "uuid", + "description" : "ID of the Role" + }, + "roleName" : { + "type" : "string", + "description" : "Name of the Role" + }, + "sourceComponentId" : { + "type" : "string", + "format" : "uuid", + "description" : "Source component details" + }, + "targetVcfInstances" : { "type" : "array", - "description" : "Collection of links", + "description" : "VCF instances", "items" : { - "$ref" : "#/components/schemas/link" - }, - "xml" : { - "wrapped" : true + "type" : "string", + "format" : "uuid", + "description" : "VCF instances" } + } + }, + "required" : [ "sourceComponentId", "targetVcfInstances" ] + }, + "ComponentRoleDefinition" : { + "type" : "object", + "description" : "Custom role definition for a component", + "properties" : { + "definition" : { + "type" : "string", + "description" : "Role definition Json", + "example" : "{\"privileges\":[\"NSX.Security.View\",\"NSX.Security.Manage\"]}", + "minLength" : 1 }, - "pageInfo" : { - "$ref" : "#/components/schemas/page-info" + "description" : { + "type" : "string", + "description" : "Description of the role" + }, + "name" : { + "type" : "string", + "description" : "Name of the role", + "minLength" : 1 } - } + }, + "required" : [ "definition", "name" ] }, - "AlertTypeFilter" : { + "ComponentRoleDefinitions" : { "type" : "object", - "description" : "Represents an alert type filter", + "description" : "List of custom roles defined for the component", "properties" : { - "alertSubTypes" : { + "userRoles" : { "type" : "array", - "description" : "Sub Types of the alert", + "description" : "List of user roles", "items" : { - "type" : "integer", - "format" : "int32", - "description" : "Sub Types of the alert" + "$ref" : "#/components/schemas/ComponentRoleDefinition" } - }, - "alertType" : { - "type" : "integer", - "format" : "int32", - "description" : "Type of the alert" } } }, - "AlertTypeMapping" : { + "ComponentRoleSummaries" : { "type" : "object", - "description" : "Filter based on Alert Type", + "description" : "VCF Component Roles", "properties" : { - "subtype" : { + "componentRoleSummaries" : { "type" : "array", + "description" : "VCF Component Roles", "items" : { - "type" : "integer", - "format" : "int32", - "xml" : { - "name" : "subtype" - } + "$ref" : "#/components/schemas/ComponentRoleSummary" } - }, - "type" : { - "type" : "integer", - "format" : "int32" } - }, - "required" : [ "type" ] + } }, - "ApiClient" : { + "ComponentRoleSummary" : { "type" : "object", - "description" : "Client for which one or more API tokens can be created to facilitate API-based access", + "description" : "VCF Component Role", "properties" : { - "clientDescription" : { + "componentType" : { "type" : "string", - "description" : "Optional description for the API client" + "description" : "VCF Component type", + "enum" : [ "VCENTER", "NSX_MANAGER", "VCF_OPERATIONS", "VCF_AUTOMATION", "HCX", "VCF_ORCHESTRATOR", "UNKNOWN", "VCF_SALT_RAAS" ] }, - "clientId" : { + "description" : { "type" : "string", - "description" : "API client unique string that is used for the CRUD operations within identity broker single tenant", - "minLength" : 1 + "description" : "Role Description" + }, + "displayName" : { + "type" : "string", + "description" : "Role Display name" + }, + "name" : { + "type" : "string", + "description" : "Role name" + }, + "provisioningDetails" : { + "$ref" : "#/components/schemas/ProvisioningDetails" + }, + "type" : { + "type" : "string", + "description" : "VCF Role type", + "enum" : [ "BUILT_IN", "CUSTOM", "UNKNOWN" ] + } + } + }, + "ComponentRoles" : { + "type" : "object", + "description" : "Response wrapper for list of provisioned component roles", + "properties" : { + "componentRoles" : { + "type" : "array", + "description" : "List of provisioned roles", + "items" : { + "$ref" : "#/components/schemas/ComponentRole" + } + } + } + }, + "ConfigureSaltRequest" : { + "type" : "object", + "description" : "Represents a request to configure a Salt Minion", + "properties" : { + "masterId" : { + "type" : "string", + "format" : "uuid", + "description" : "Unique identifier of the Salt Master" + } + } + }, + "CostPlan" : { + "type" : "string", + "description" : "Public cloud CostPlan", + "enum" : [ "ONE_YEAR_PLAN", "THREE_YEAR_PLAN", "PAY_AS_YOU_GO", "ONE_YEAR_MONTHLY", "THREE_YEARS_MONTHLY" ] + }, + "CustomRoleProvisionDetails" : { + "type" : "object", + "description" : "Target VCF provisioning details", + "properties" : { + "components" : { + "type" : "array", + "description" : "Target provisioned component details", + "items" : { + "$ref" : "#/components/schemas/ProvisionedComponent" + } }, - "clientName" : { - "type" : "string", - "description" : "Friendly name for the API client" + "summary" : { + "$ref" : "#/components/schemas/StatusSummary" }, - "clientUuid" : { + "vcfInstanceId" : { "type" : "string", "format" : "uuid", - "description" : "API Client unique string that is used as the principal for role assignment within identity broker" - }, - "roles" : { - "type" : "array", - "description" : "Roles assigned to this API client", - "items" : { - "$ref" : "#/components/schemas/VcfRoleAssignment" - } + "description" : "VCF instance ID" } }, - "required" : [ "clientId", "clientName" ] + "required" : [ "vcfInstanceId" ] }, - "ApiClients" : { + "DCOptimizationConfiguration" : { "type" : "object", - "description" : "List of API clients and associated pagination information", + "description" : "Represents the DC optimization configuration for capacity exclusion", "properties" : { - "apiClients" : { + "reclaim" : { "type" : "array", - "description" : "List of API clients in this page", + "description" : "Collection of exclusionTagsForReclaim", "items" : { - "$ref" : "#/components/schemas/ApiClient" - } + "$ref" : "#/components/schemas/resourceTag" + }, + "nullable" : true, + "uniqueItems" : true }, - "links" : { + "rightsizing" : { "type" : "array", - "description" : "Collection of links", + "description" : "Collection of exclusionTagsForRightsizing", "items" : { - "$ref" : "#/components/schemas/link" + "$ref" : "#/components/schemas/resourceTag" }, - "xml" : { - "wrapped" : true - } - }, - "pageInfo" : { - "$ref" : "#/components/schemas/page-info" + "nullable" : true, + "uniqueItems" : true } - }, - "required" : [ "apiClients" ] + } }, - "ApiError" : { + "DT-condition" : { "type" : "object", - "description" : "NetOps instance api response error code and message", - "properties" : { - "code" : { - "type" : "integer", - "format" : "int32", - "description" : "NetOps instance api error code (http)." - }, - "details" : { - "type" : "array", - "description" : "NetOps instance api error details.", - "items" : { - "$ref" : "#/components/schemas/ApiErrorDetail" + "allOf" : [ { + "$ref" : "#/components/schemas/condition" + }, { + "type" : "object", + "properties" : { + "instanced" : { + "type" : "boolean", + "description" : "The instance group" + }, + "key" : { + "type" : "string", + "description" : "The StatKey for the dynamic threshold" + }, + "operator" : { + "type" : "string", + "description" : "Operator for Dynamic Conditions", + "enum" : [ "DT_ABOVE", "DT_BELOW", "DT_ABNORMAL" ] } - }, - "message" : { - "type" : "string", - "description" : "NetOps instance api error message." } + } ], + "description" : "The Dynamic Threshold Condition", + "required" : [ "key", "operator" ], + "xml" : { + "name" : "DT-condition", + "namespace" : "http://webservice.vmware.com/vRealizeOpsMgr/1.0/" } }, - "ApiErrorDetail" : { + "DTSM-condition" : { "type" : "object", - "description" : "NetOps instance api response internal error code and message", - "properties" : { - "code" : { - "type" : "integer", - "format" : "int32", - "description" : "NetOps instance api internal error code." - }, - "message" : { - "type" : "string", - "description" : "NetOps instance api internal error message." - }, - "target" : { - "type" : "array", - "description" : "Name of entity for which error occurred.", - "items" : { + "allOf" : [ { + "$ref" : "#/components/schemas/condition" + }, { + "type" : "object", + "properties" : { + "instanced" : { + "type" : "boolean", + "description" : "The instance group" + }, + "key" : { "type" : "string", - "description" : "Name of entity for which error occurred." + "description" : "The SuperMetric Id for the dynamic threshold" + }, + "operator" : { + "type" : "string", + "description" : "Operator for Dynamic Conditions", + "enum" : [ "DT_ABOVE", "DT_BELOW", "DT_ABNORMAL" ] } } + } ], + "description" : "Dynamic Threshold on Super Metrics Condition", + "required" : [ "key", "operator" ], + "xml" : { + "name" : "DTSM-condition", + "namespace" : "http://webservice.vmware.com/vRealizeOpsMgr/1.0/" } }, - "ApiToken" : { + "DomainController" : { "type" : "object", - "description" : "API token that facilitates API-based access", + "description" : "Domain controller details.", "properties" : { - "accessTokenTtl" : { - "type" : "integer", - "format" : "int32", - "description" : "Time-To-Live lifespan in minutes of the access tokens that are generated from this API token" - }, - "apiClientId" : { - "type" : "string", - "description" : "Client ID of the API client with which this API token is associated" - }, - "apiTokenTtl" : { - "type" : "integer", - "format" : "int32", - "description" : "Time-To-Live lifespan in minutes of the API token" - }, - "creationDate" : { - "type" : "integer", - "format" : "int64", - "description" : "The date on which the API token was created" - }, - "expirationDate" : { - "type" : "integer", - "format" : "int64", - "description" : "The date on which the API token expires" - }, - "id" : { - "type" : "string", - "format" : "uuid", - "description" : "Unique ID for API token in identity broker" - }, - "lastUsedDate" : { - "type" : "integer", - "format" : "int64", - "description" : "The date on which the API token was last exchanged for a bearer token" - }, - "oidcIssuerUrl" : { - "type" : "string", - "description" : "The OIDC issuer URL" - }, - "principalName" : { - "type" : "string", - "description" : "The name of the principal for which this token was generated: UPN for users and client ID for API clients" - }, - "principalStatus" : { - "type" : "string", - "description" : "Principal active / inactive status", - "enum" : [ "ACTIVE", "INACTIVE", "UNKNOWN" ] - }, - "token" : { + "certificate" : { "type" : "string", - "description" : "Full API token string that callers can use to obtain bearer access tokens" + "description" : "A certificate encoded in PEM format. Required for LDAPS; Should not be provided for LDAP." }, - "tokenDescription" : { + "certificateName" : { "type" : "string", - "description" : "Optional description of the API token" + "description" : "certificate file name" }, - "tokenEndpointUrl" : { + "host" : { "type" : "string", - "description" : "The token endpoint URL" + "description" : "Identifies the Domain Controller host", + "minLength" : 1 }, - "tokenLastChars" : { - "type" : "string", - "description" : "Sub string containing the last few characters of the full token string" + "port" : { + "type" : "integer", + "format" : "int32", + "description" : "Identifies the Domain Controller port", + "maximum" : 65535, + "minimum" : 1 }, - "tokenName" : { + "protocol" : { "type" : "string", - "description" : "User-friendly display name of the API token" - }, - "tokenStatus" : { + "description" : "Ldap Protocol", + "enum" : [ "LDAP", "LDAPS", "UNKNOWN" ] + } + }, + "required" : [ "host", "protocol" ] + }, + "DvpgsIpfixRequest" : { + "type" : "object", + "description" : "IPFIX enablement configuration for specific DVPGs under a DVS.", + "properties" : { + "dvs_key" : { "type" : "string", - "description" : "API token active / expired status", - "enum" : [ "ACTIVE", "EXPIRED", "UNKNOWN" ] + "description" : "Value of the dvs object whose dvpgs have to be set for ipfix enablement." }, - "tokenType" : { + "enable_for_dvpgs" : { "type" : "string", - "description" : "API token client / user type", - "enum" : [ "API_CLIENT", "USER", "UNKNOWN" ] + "description" : "Comma separated values of all the dvpgs objects for which ipfix should be enabled." } - }, - "required" : [ "tokenName" ] + } }, - "ApiTokens" : { + "DvsIpfixRequest" : { "type" : "object", - "description" : "List of API tokens and associated pagination information", + "description" : "Configuration options for enabling/disabling IPFIX on DVS and DVPGs.", "properties" : { - "apiTokens" : { - "type" : "array", - "description" : "List of API token in this page", - "items" : { - "$ref" : "#/components/schemas/ApiToken" - } + "disable_all" : { + "type" : "boolean", + "description" : "Disable flow collection for All DVS." }, - "links" : { + "disable_for_dvs" : { + "type" : "string", + "description" : "Comma separated values of all the dvs objects for wihch ipfix should be disabled." + }, + "dvpgs_ipfix_request" : { "type" : "array", - "description" : "Collection of links", + "description" : "List of IPFIX enable settings for specific DVPGs.", "items" : { - "$ref" : "#/components/schemas/link" - }, - "xml" : { - "wrapped" : true + "$ref" : "#/components/schemas/DvpgsIpfixRequest" } }, - "pageInfo" : { - "$ref" : "#/components/schemas/page-info" + "enable_all" : { + "type" : "boolean", + "description" : "Enable flow collection for All DVS." + }, + "enable_for_dvs" : { + "type" : "string", + "description" : "Comma separated values of all the dvs objects for which ipfix should be enabled." } - }, - "required" : [ "apiTokens" ] + } }, - "AuditAffectedObject" : { + "DvsIpfixResponse" : { "type" : "object", - "description" : "Model for representing an affected object", + "description" : "IPFIX response configuration for DVS", "properties" : { - "adapterKind" : { + "ipfix_disabled_for" : { "type" : "string", - "description" : "Adapter kind of the affected object" - }, - "checkTime" : { - "type" : "integer", - "format" : "int64", - "description" : "Check time of the affected object" + "description" : "Comma separated values of all the dvs objects for which enabling ipfix was unsuccessful." }, - "name" : { + "ipfix_disabling_failed" : { "type" : "string", - "description" : "Name of the affected object" - }, - "occurrenceTime" : { - "type" : "integer", - "format" : "int64", - "description" : "Last occurrence time of the affected object" + "description" : "Comma separated values of all the dvs objects for which ipfix disabling failed." }, - "resourceId" : { + "ipfix_enabled_for" : { "type" : "string", - "format" : "uuid", - "description" : "ID of the resource of the affected object" + "description" : "Comma separated values of all the dvs objects for which ipfix was successfully enabled." }, - "resourceKind" : { + "ipfix_enabling_failed" : { "type" : "string", - "description" : "Resource kinds of the affected object" + "description" : "Comma separated values of all the dvs objects for which ipfix enabling failed." } } }, - "AuditFinding" : { + "EmergencyClient" : { "type" : "object", - "description" : "Model for representing a finding", + "description" : "API Client with a long-lived privileged bearer access token to facilitate API-based access in emergency scenarios", "properties" : { - "affectedObjectsCount" : { - "type" : "integer", - "format" : "int32", - "description" : "Count of the affected objects of the finding" - }, - "capabilities" : { - "type" : "array", - "description" : "Capabilities of the finding", - "items" : { - "type" : "string", - "description" : "Capabilities of the finding" - } - }, - "category" : { + "accessToken" : { "type" : "string", - "description" : "Category of the finding" + "description" : "Bearer access token string" }, - "findingType" : { + "accessTokenExpirationDate" : { + "type" : "integer", + "format" : "int64", + "description" : "The date on which the access token for this emergency client expires" + }, + "accessTokenStatus" : { "type" : "string", - "description" : "Type of the finding" + "description" : "Active / expired status for tokens generated for emergency clients", + "enum" : [ "ACTIVE", "EXPIRED", "UNKNOWN" ] }, - "lastObservedTimeInMillis" : { + "accessTokenTtl" : { "type" : "integer", - "format" : "int64", - "description" : "Last observed time of the finding" + "format" : "int32", + "description" : "Time-To-Live lifespan in minutes of the access token for this emergency client" }, - "refreshMode" : { + "clientDescription" : { "type" : "string", - "description" : "Refresh mode of the finding" + "description" : "Description for the emergency client" }, - "ruleDescription" : { + "clientId" : { "type" : "string", - "description" : "Description of the rule of the finding" + "description" : "Unique string that is used as the principal for this emergency client", + "minLength" : 1 }, - "ruleName" : { + "clientName" : { "type" : "string", - "description" : "Name of the rule of the finding" + "description" : "Friendly name for the emergency client", + "minLength" : 1 }, - "ruleUuid" : { + "oidcIssuerUrl" : { "type" : "string", - "format" : "uuid", - "description" : "UUID of the rule of the finding" + "description" : "The OIDC issuer URL of the identity broker that generated this emergency client" }, - "severity" : { + "roles" : { + "type" : "array", + "description" : "Roles assigned to this client", + "items" : { + "$ref" : "#/components/schemas/VcfRoleAssignment" + } + }, + "tokenEndpointUrl" : { "type" : "string", - "description" : "Severity of the finding" + "description" : "The token endpoint URL of the identity broker that generated this emergency client" } - } + }, + "required" : [ "accessTokenTtl", "clientId", "clientName" ] }, - "AuditFindingsResponse" : { + "EmergencyClients" : { "type" : "object", - "description" : "Model object containing information about findings", + "description" : "List of emergency clients", "properties" : { - "findings" : { - "type" : "array", - "description" : "Collection of findings objects", - "items" : { - "$ref" : "#/components/schemas/AuditFinding" - } - }, - "links" : { + "emergencyClients" : { "type" : "array", - "description" : "Collection of links", + "description" : "List of emergency clients", "items" : { - "$ref" : "#/components/schemas/link" - }, - "xml" : { - "wrapped" : true + "$ref" : "#/components/schemas/EmergencyClient" } + } + }, + "required" : [ "emergencyClients" ] + }, + "ExpirationConstraints" : { + "type" : "object", + "description" : "Policy expiration constraints", + "properties" : { + "maxDays" : { + "type" : "integer", + "format" : "int32", + "default" : 90, + "description" : "Maximum number of days a password is valid", + "maximum" : 365, + "minimum" : 1 }, - "pageInfo" : { - "$ref" : "#/components/schemas/page-info" + "warnDays" : { + "type" : "integer", + "format" : "int32", + "default" : 7, + "description" : "Number of days before expiration to warn the user", + "maximum" : 14, + "minimum" : 0 } - } + }, + "required" : [ "maxDays", "warnDays" ] }, - "AutoRenewInfoGroup" : { + "FederatedIdentityProvider" : { "type" : "object", - "description" : "Represents Auto renew information of a certificate", + "description" : "Identity provider configuration", "properties" : { - "autoRenewFailureReason" : { + "certificateChain" : { + "type" : "array", + "description" : "List of certificate chain", + "items" : { + "type" : "string", + "description" : "List of certificate chain" + } + }, + "createdAt" : { + "type" : "integer", + "format" : "int64", + "description" : "IDP creation timestamp" + }, + "directories" : { + "type" : "array", + "description" : "IDP directory. Currently, only one directory is supported as part of IDP configuration.", + "items" : { + "$ref" : "#/components/schemas/IdpDirectory" + }, + "maxItems" : 1, + "minItems" : 0 + }, + "id" : { "type" : "string", - "description" : "auto renew failure reason if any" + "format" : "uuid", + "description" : "Identity Provider Id" }, - "autoRenewOperationStatus" : { + "idpConfig" : { + "$ref" : "#/components/schemas/IdpConfig" + }, + "idpProtocol" : { "type" : "string", - "description" : "auto renew operation status of the certificate" + "description" : "Indicates IDP Protocol.", + "enum" : [ "OIDC", "SAML", "LDAP_BIND", "UNKNOWN" ] }, - "autoRenewStatus" : { + "idpType" : { "type" : "string", - "description" : "auto renew status of the certificate" - } - } - }, - "CertificateRenewalResponse" : { - "type" : "object", - "description" : "Represents result for collector's/collector-groups's certificate renewal request", - "properties" : { - "message" : { + "description" : "Indicates IDP type", + "enum" : [ "OKTA", "PING", "ENTRA_ID", "SYMANTEC_IDSP", "ADFS", "ADLDAP", "OPENLDAP", "OTHER", "UNKNOWN" ] + }, + "name" : { "type" : "string", - "description" : "Success/Failure Message" - } - } - }, - "CertificateReplaceData" : { - "type" : "object", - "description" : "Represents a certificate replacement task", - "properties" : { - "caType" : { + "description" : "Identity Provider name", + "minLength" : 1 + }, + "provisionType" : { "type" : "string", - "description" : "Certificate signing CA type (e.g., VMCA, OPENSSL_CA, MSCA, EXTERNAL_CA)", - "enum" : [ "VMCA", "OPENSSL_CA", "MSCA", "EXTERNAL_CA", "UNKNOWN" ] + "description" : "Indicates provision type for the given IDP configuration", + "enum" : [ "JIT", "SCIM", "LDAP", "UNKNOWN" ] }, - "certificateChain" : { + "provisioningConfig" : { + "$ref" : "#/components/schemas/ProvisioningConfig" + }, + "ssoRealmId" : { "type" : "string", - "description" : "Full Certificate chain" + "format" : "uuid", + "description" : "ID of the SSO Realm that has this Identity Provider configuration." + }, + "updatedAt" : { + "type" : "integer", + "format" : "int64", + "description" : "IDP last updated timestamp" } }, - "required" : [ "caType" ] + "required" : [ "idpProtocol", "idpType", "name", "provisionType", "ssoRealmId" ] }, - "CertificateSignatureInfo" : { + "FindingsFilter" : { "type" : "object", - "description" : "Represents certificate signing requests", + "description" : "Parameters used to search for Findings.", "properties" : { - "applianceHostname" : { - "type" : "string", - "description" : "certificate appliance host name" - }, - "applianceType" : { - "type" : "string", - "description" : "VCF Component type" + "adapterKinds" : { + "type" : "array", + "description" : "List of adapter kinds to filter by", + "items" : { + "type" : "string", + "description" : "List of adapter kinds to filter by" + }, + "uniqueItems" : true }, - "commonName" : { - "type" : "string", - "description" : "certificate signing request common name" + "capabilities" : { + "type" : "array", + "description" : "List of capabilities to filter by", + "items" : { + "type" : "string", + "description" : "List of capabilities to filter by" + } }, - "csr" : { - "type" : "string", - "description" : "certificate signing request details" + "categories" : { + "type" : "array", + "description" : "List of categories to filter by", + "items" : { + "type" : "string", + "description" : "List of categories to filter by" + } }, - "id" : { - "type" : "string", - "description" : "certificate signing request id" - } - } - }, - "CertificateSignatures" : { - "type" : "object", - "description" : "Paginated List of CertificateSigningRequest", - "properties" : { - "certificateSignatureInfo" : { + "findingTypes" : { "type" : "array", - "description" : "List of What-If Scenarios", + "description" : "List of finding types to filter by", "items" : { - "$ref" : "#/components/schemas/CertificateSignatureInfo" + "type" : "string", + "description" : "List of finding types to filter by" } }, - "links" : { + "fromOccurrenceTime" : { + "type" : "integer", + "format" : "int64", + "description" : "Timestamp designating the lowest required value for occurrence time for the returned findings" + }, + "refreshTypes" : { "type" : "array", - "description" : "Collection of links", + "description" : "List of refresh types to filter by", "items" : { - "$ref" : "#/components/schemas/link" - }, - "xml" : { - "wrapped" : true + "type" : "string", + "description" : "List of refresh types to filter by" } }, - "pageInfo" : { - "$ref" : "#/components/schemas/page-info" - } - } - }, - "ClientTokenFilters" : { - "type" : "object", - "description" : "Field values that can be used to filter API client and API token data", - "properties" : { - "tokenStatus" : { + "resourceIds" : { "type" : "array", - "description" : "One or more API token status values to match", + "description" : "List of resource IDs to filter by", "items" : { "type" : "string", - "description" : "API token active / expired status", - "enum" : [ "ACTIVE", "EXPIRED", "UNKNOWN" ] - }, - "maxItems" : 2147483647, - "minItems" : 1, - "uniqueItems" : true + "format" : "uuid", + "description" : "List of resource IDs to filter by" + } }, - "tokenType" : { + "resourceKinds" : { "type" : "array", - "description" : "One or more API token types to match", + "description" : "List of resource kinds to filter by", "items" : { "type" : "string", - "description" : "API token client / user type", - "enum" : [ "API_CLIENT", "USER", "UNKNOWN" ] + "description" : "List of resource kinds to filter by" }, - "maxItems" : 2147483647, - "minItems" : 1, "uniqueItems" : true - } - } - }, - "ClientTokenQuery" : { - "type" : "object", - "description" : "Search, filter, and sort parameters for API clients and API tokens", - "properties" : { - "filters" : { - "$ref" : "#/components/schemas/ClientTokenFilters" }, - "searchTerms" : { - "$ref" : "#/components/schemas/ClientTokenSearchGroupings" - } - } - }, - "ClientTokenSearchGroupings" : { - "type" : "object", - "description" : "Groupings of search conditions to match in API client and API token lists", - "properties" : { - "allOf" : { + "ruleUuids" : { "type" : "array", - "description" : "Search terms to query, ALL of which must match for the search to be successful", + "description" : "List of rule UUIDs to filter by", "items" : { - "$ref" : "#/components/schemas/ClientTokenSearchTerm" + "type" : "string", + "format" : "uuid", + "description" : "List of rule UUIDs to filter by" } }, - "anyOf" : { + "severities" : { "type" : "array", - "description" : "Search terms to query, ANY of which must match for the search to be successful", + "description" : "List of severities to filter by", "items" : { - "$ref" : "#/components/schemas/ClientTokenSearchTerm" + "type" : "string", + "description" : "List of severities to filter by" } } } }, - "ClientTokenSearchTerm" : { + "FindingsQuery" : { "type" : "object", - "description" : "Search term matching logic to apply to a given field in API client and API token lists", + "description" : "Parameters used to search for Findings.", "properties" : { - "field" : { - "type" : "string", - "description" : "Fields that can be searched in API client and API token lists", - "enum" : [ "CLIENT_NAME", "CLIENT_ID", "TOKEN_NAME", "PRINCIPAL_NAME", "ROLES", "ROLE_NAME", "ROLE_DISPLAY_NAME", "UNKNOWN" ] - }, - "operator" : { - "type" : "string", - "description" : "The operator to use when searching fields in API client and API token lists", - "enum" : [ "LIKE", "EQUALS", "EMPTY", "NOT_EMPTY", "UNKNOWN" ] - }, - "terms" : { - "type" : "array", - "description" : "Strings to search in the given field; a match with any of these terms produces a successful search result", - "items" : { - "type" : "string", - "description" : "Strings to search in the given field; a match with any of these terms produces a successful search result" - } + "filter" : { + "$ref" : "#/components/schemas/FindingsFilter" } - }, - "required" : [ "field", "operator" ] + } }, - "ClientsCertificateRenewContext" : { + "FleetPasswordPolicy" : { "type" : "object", - "description" : "Model object containing Clients Certificate Renew information", + "description" : "Password policy", "properties" : { - "resourceId" : { + "complexityConstraints" : { + "$ref" : "#/components/schemas/ComplexityConstraints" + }, + "createdAt" : { + "type" : "integer", + "format" : "int64", + "description" : "Epoch milliseconds when the policy was created. Omit on create and update (server-managed)." + }, + "description" : { "type" : "string", - "description" : "EndPoint resource UUID" + "description" : "Policy description", + "maxLength" : 255, + "minLength" : 0 }, - "status" : { + "expirationConstraints" : { + "$ref" : "#/components/schemas/ExpirationConstraints" + }, + "fleet" : { + "type" : "boolean", + "description" : "Indicates whether this policy is the active fleet-wide policy; set to true when applied to the FLEET scope. Omit on create and update (server-managed).", + "readOnly" : true + }, + "id" : { "type" : "string", - "description" : "EndPoint Certificate Renewal Status" + "format" : "uuid", + "description" : "Policy ID. Omit on create; required on update." + }, + "lockoutConstraints" : { + "$ref" : "#/components/schemas/LockoutConstraints" + }, + "name" : { + "type" : "string", + "description" : "Policy name. Required on create and update.", + "maxLength" : 255, + "minLength" : 0 + }, + "updatedAt" : { + "type" : "integer", + "format" : "int64", + "description" : "Epoch milliseconds when the policy was last updated. Omit on create and update (server-managed)." } - } + }, + "required" : [ "complexityConstraints", "expirationConstraints", "lockoutConstraints", "name" ] }, - "ClientsCertificateRenewalDetails" : { + "GenerateCsrData" : { "type" : "object", - "description" : "Client renew certificate details", + "description" : "Represents request parameters for generate csr", "properties" : { - "renewContexts" : { - "type" : "array", - "description" : "EndPoint Certificate Renew Context", - "items" : { - "$ref" : "#/components/schemas/ClientsCertificateRenewContext" - } + "certificateId" : { + "type" : "string", + "format" : "uuid", + "description" : "A key/Id of certificate which represent the VCF component against which CSR has to be generated" + }, + "generateCsrSpec" : { + "$ref" : "#/components/schemas/GenerateCsrSpec" } - } + }, + "required" : [ "certificateId", "generateCsrSpec" ] }, - "CloudAccountIntegration" : { + "GenerateCsrSpec" : { "type" : "object", - "description" : "A model that serves as the structure of the payload data for creating or updating cloud account integration.", + "description" : "Represents request parameters for generate csr", "properties" : { - "certificates" : { - "type" : "array", - "description" : "List of new trusted certificates, must be provided upon creation/update of new cloud account integration, for establishing connection.", - "items" : { - "$ref" : "#/components/schemas/certificate" - } + "commonName" : { + "type" : "string", + "description" : "Common name", + "minLength" : 1, + "pattern" : "^[^<>]*$" }, - "collectorGroupId" : { + "country" : { "type" : "string", - "format" : "uuid", - "description" : "The Collector Group ID to be used for this cloud account integration" + "description" : "Country", + "pattern" : "^[^<>]*$" }, - "collectorId" : { + "email" : { "type" : "string", - "description" : "The Collector instance used by this cloud account integration" + "description" : "Email", + "pattern" : "^[^<>]*$" }, - "credentialInstanceId" : { + "keyAlgorithm" : { "type" : "string", - "format" : "uuid", - "description" : "Credential Instance identifier, for this cloud account integration." + "description" : "Key algorithm", + "pattern" : "^[^<>]*$" }, - "description" : { + "keySize" : { "type" : "string", - "description" : "Optional description of the cloud account integration" + "description" : "Key Size", + "enum" : [ "UNKNOWN", "KEY_2048", "KEY_3072", "KEY_4096" ] }, - "id" : { + "locality" : { "type" : "string", - "format" : "uuid", - "description" : "ID of existing cloud account integration, must be null at creation" + "description" : "Locality", + "pattern" : "^[^<>]*$" }, - "name" : { + "orgUnit" : { "type" : "string", - "description" : "The name of the cloud account integration" + "description" : "Organization unit", + "pattern" : "^[^<>]*$" }, - "resourceIdentifiers" : { - "type" : "array", - "description" : "Cloud account integration specific resource identifiers", - "items" : { - "$ref" : "#/components/schemas/name-value" - } + "organization" : { + "type" : "string", + "description" : "Organization", + "pattern" : "^[^<>]*$" + }, + "state" : { + "type" : "string", + "description" : "State", + "pattern" : "^[^<>]*$" + }, + "subjectAltNames" : { + "$ref" : "#/components/schemas/SubjectAlternativeNames" } }, - "required" : [ "name", "resourceIdentifiers" ] + "required" : [ "commonName", "keySize", "orgUnit", "organization", "subjectAltNames" ] }, - "CollectorCertDetails" : { + "GlobalIamSettings" : { "type" : "object", - "description" : "Collector and certificate details", + "description" : "IAM Global Settings", "properties" : { - "CACertRenewalStatus" : { - "type" : "string", - "description" : "Collector certificate renewal status" + "accessTokenTtl" : { + "type" : "integer", + "format" : "int32", + "default" : 480, + "description" : "Access Token TTL in minutes", + "maximum" : 480, + "minimum" : 30 }, - "id" : { - "type" : "string", - "description" : "Collector Id" + "allUsersGroupEnabled" : { + "type" : "boolean", + "default" : false, + "description" : "Enable 'ALL_USERS' group in identity broker" }, - "name" : { - "type" : "string", - "description" : "Collector name" + "apiTokenRetentionPeriod" : { + "type" : "integer", + "format" : "int32", + "default" : 43200, + "description" : "API Token Retention period in minutes", + "maximum" : 129600, + "minimum" : 43200 }, - "uuId" : { - "type" : "string", - "description" : "Collector UUID" + "apiTokenTtl" : { + "type" : "integer", + "format" : "int32", + "default" : 43200, + "description" : "API Token TTL in minutes", + "maximum" : 259200, + "minimum" : 43200 + }, + "jitInactiveUserEnabled" : { + "type" : "boolean", + "default" : false, + "description" : "Enable JIT Inactive User feature" + }, + "jitInactiveUserTtl" : { + "type" : "integer", + "format" : "int32", + "description" : "TTL for marking JITed user inactive. Minimum value is 10080 minutes and maximum value is 259200 minutes when jitInactiveUserEnabled is true. When jitInactiveUserEnabled is false the value is set as 0 by default" } - } + }, + "required" : [ "accessTokenTtl", "allUsersGroupEnabled", "apiTokenRetentionPeriod", "apiTokenTtl", "jitInactiveUserEnabled" ] }, - "CollectorCertificateRenewalStatusResponse" : { + "HT-condition" : { "type" : "object", - "description" : "Collector Certificate Renewal Operation Response", - "properties" : { - "collector" : { - "$ref" : "#/components/schemas/CollectorCertDetails" + "allOf" : [ { + "$ref" : "#/components/schemas/condition" + }, { + "type" : "object", + "properties" : { + "instanced" : { + "type" : "boolean", + "description" : "The instance group" + }, + "key" : { + "type" : "string", + "description" : "The StatKey for the condition" + }, + "operator" : { + "type" : "string", + "description" : "Comparison Operator used within the VMware Cloud Foundation Operations Suite API", + "enum" : [ "EQ", "NOT_EQ", "LIKE", "LT", "GT", "LT_EQ", "GT_EQ", "IN", "NOT_IN", "EXISTS", "CONTAINS", "STARTS_WITH", "ENDS_WITH", "NOT_STARTS_WITH", "NOT_ENDS_WITH", "NOT_CONTAINS", "REGEX", "NOT_REGEX", "NOT_EXISTS", "EMPTY", "NOT_EMPTY" ], + "xml" : { + "name" : "compare-operator", + "namespace" : "http://webservice.vmware.com/vRealizeOpsMgr/1.0/" + } + }, + "settingValue" : { + "type" : "string", + "description" : "The setting value" + }, + "targetKey" : { + "type" : "string", + "description" : "A target StatKey to compare the values between two metrics. Required for metric or property threshold type conditions" + }, + "thresholdType" : { + "type" : "string", + "description" : "Enumerate the type of value for the Right-hand side (RHS) of the comparison condition", + "enum" : [ "UNKNOWN", "STATIC", "STATKEY", "PROPERTY" ], + "xml" : { + "name" : "threshold-type", + "namespace" : "http://webservice.vmware.com/vRealizeOpsMgr/1.0/" + } + }, + "value" : { + "type" : "string", + "description" : "The static value of the condition" + }, + "valueType" : { + "type" : "string", + "description" : "Value type enum", + "enum" : [ "NUMERIC", "STRING" ] + } } + } ], + "description" : "Hard Threshold condition", + "required" : [ "instanced", "key", "operator", "thresholdType", "valueType" ], + "xml" : { + "name" : "HT-condition", + "namespace" : "http://webservice.vmware.com/vRealizeOpsMgr/1.0/" } }, - "CollectorGroupCertificateRenewalStatusResponse" : { + "HTSM-condition" : { "type" : "object", - "description" : "Provides the status of collector group certificate renewal", - "properties" : { - "collectorGroup" : { - "$ref" : "#/components/schemas/CollectorGroupCertificateRenewalStatusResponseElement" + "allOf" : [ { + "$ref" : "#/components/schemas/condition" + }, { + "type" : "object", + "properties" : { + "instanced" : { + "type" : "boolean", + "description" : "The instance group" + }, + "key" : { + "type" : "string", + "description" : "The super metric key" + }, + "operator" : { + "type" : "string", + "description" : "Comparison Operator used within the VMware Cloud Foundation Operations Suite API", + "enum" : [ "EQ", "NOT_EQ", "LIKE", "LT", "GT", "LT_EQ", "GT_EQ", "IN", "NOT_IN", "EXISTS", "CONTAINS", "STARTS_WITH", "ENDS_WITH", "NOT_STARTS_WITH", "NOT_ENDS_WITH", "NOT_CONTAINS", "REGEX", "NOT_REGEX", "NOT_EXISTS", "EMPTY", "NOT_EMPTY" ], + "xml" : { + "name" : "compare-operator", + "namespace" : "http://webservice.vmware.com/vRealizeOpsMgr/1.0/" + } + }, + "settingValue" : { + "type" : "string", + "description" : "The setting value" + }, + "value" : { + "type" : "number", + "format" : "double", + "description" : "The value of the condition" + } } + } ], + "description" : "Hard Threshold numeric Condition on a super metric", + "required" : [ "key", "operator", "value" ], + "xml" : { + "name" : "HTSM-condition", + "namespace" : "http://webservice.vmware.com/vRealizeOpsMgr/1.0/" } }, - "CollectorGroupCertificateRenewalStatusResponseElement" : { + "IamComponentAuthSource" : { "type" : "object", - "description" : "Collector group and its certificate information DTO.", + "description" : "IAM Component Auth Source model", "properties" : { - "CACertRenewalStatus" : { + "authSourceType" : { "type" : "string", - "description" : "Collector group certificate renewal status" - }, - "collectors" : { - "type" : "array", - "description" : "List of collectors and its certificate renewal status", - "items" : { - "$ref" : "#/components/schemas/CollectorCertDetails" - } + "description" : "Auth Source Type enum", + "enum" : [ "VCF_COMPONENT", "MANAGEMENT_COMPONENT", "UNKNOWN" ] }, - "id" : { + "componentType" : { "type" : "string", - "description" : "Collector group id" + "description" : "VCF Component type", + "enum" : [ "VCENTER", "NSX_MANAGER", "VCF_OPERATIONS", "VCF_AUTOMATION", "HCX", "VCF_ORCHESTRATOR", "UNKNOWN", "VCF_SALT_RAAS" ], + "example" : "VCF_OPERATIONS" }, - "name" : { - "type" : "string", - "description" : "Collector group name" - } - } - }, - "ComponentRole" : { - "type" : "object", - "description" : "Provisioned custom role definition", - "properties" : { - "importedAt" : { + "createdAt" : { "type" : "integer", "format" : "int64", - "description" : "The imported timestamp of the role for the specific instance" - }, - "provisionDetails" : { - "type" : "array", - "description" : "Custom role provision details", - "items" : { - "$ref" : "#/components/schemas/CustomRoleProvisionDetails" - } + "description" : "Authsource creation time" }, - "roleId" : { + "ssoRealmId" : { "type" : "string", "format" : "uuid", - "description" : "ID of the Role" - }, - "roleName" : { - "type" : "string", - "description" : "Name of the Role" + "description" : "SSO Realm identifier" }, - "sourceComponentId" : { + "status" : { "type" : "string", - "format" : "uuid", - "description" : "Source component details" + "description" : "Auth source configuration status", + "enum" : [ "CONFIGURING", "CONFIGURED", "NOT_CONFIGURED", "NOT_ELIGIBLE", "MARKED_FOR_CREATION", "FAILED", "MARKED_FOR_DELETION", "DISCOVERED", "UNKNOWN" ] }, - "targetVcfInstances" : { - "type" : "array", - "description" : "VCF instances", - "items" : { - "type" : "string", - "format" : "uuid", - "description" : "VCF instances" - } - } - }, - "required" : [ "sourceComponentId", "targetVcfInstances" ] - }, - "ComponentRoleDefinition" : { - "type" : "object", - "description" : "Custom role definition for a component", - "properties" : { - "definition" : { - "type" : "string", - "description" : "Role definition Json", - "example" : "{\"privileges\":[\"NSX.Security.View\",\"NSX.Security.Manage\"]}", - "minLength" : 1 + "updatedAt" : { + "type" : "integer", + "format" : "int64", + "description" : "Authsource last updated time" }, - "description" : { + "vcfComponentId" : { "type" : "string", - "description" : "Description of the role" + "format" : "uuid", + "description" : "VCF component identifier (required when authSourceType is VCF_COMPONENT)" }, - "name" : { + "vcfComponentResourceId" : { "type" : "string", - "description" : "Name of the role", - "minLength" : 1 + "format" : "uuid", + "description" : "VCF component resource ID for VCenter or NSX cluster" } }, - "required" : [ "definition", "name" ] + "required" : [ "authSourceType", "ssoRealmId" ] }, - "ComponentRoleDefinitions" : { - "type" : "object", - "description" : "List of custom roles defined for the component", - "properties" : { - "userRoles" : { - "type" : "array", - "description" : "List of user roles", - "items" : { - "$ref" : "#/components/schemas/ComponentRoleDefinition" - } + "IamComponentAuthSourceQuery" : { + "type" : "object", + "description" : "Filter to query the Iam Component Auth Sources", + "properties" : { + "filterField" : { + "type" : "string", + "description" : "Allowed fields to filter Auth Sources by", + "enum" : [ "VCF_COMPONENT", "MANAGEMENT_COMPONENT", "VCF_INSTANCE", "UNKNOWN" ] + }, + "filterValue" : { + "type" : "string", + "description" : "Value to filter by. Must be a valid UUID for VCF_COMPONENT and VCF_INSTANCE, or a valid ComponentType enum value for MANAGEMENT_COMPONENT" } } }, - "ComponentRoleSummaries" : { + "IamComponentAuthSources" : { "type" : "object", - "description" : "VCF Component Roles", + "description" : "List of IAM Component Auth Sources", "properties" : { - "componentRoleSummaries" : { + "iamComponentAuthSources" : { "type" : "array", - "description" : "VCF Component Roles", + "description" : "IAM Component Auth Sources list", "items" : { - "$ref" : "#/components/schemas/ComponentRoleSummary" + "$ref" : "#/components/schemas/IamComponentAuthSource" } } } }, - "ComponentRoleSummary" : { + "IamTaskDetails" : { "type" : "object", - "description" : "VCF Component Role", + "description" : "IAM task details", "properties" : { - "componentType" : { - "type" : "string", - "description" : "VCF Component type", - "enum" : [ "VCENTER", "NSX_MANAGER", "VCF_OPERATIONS", "VCF_AUTOMATION", "HCX", "VCF_ORCHESTRATOR", "UNKNOWN" ] - }, - "description" : { - "type" : "string", - "description" : "Role Description" + "errorDetails" : { + "$ref" : "#/components/schemas/IamTaskErrorDetails" }, - "displayName" : { + "taskId" : { "type" : "string", - "description" : "Role Display name" + "format" : "uuid", + "description" : "Identifier of the IAM task" }, - "name" : { + "taskStatus" : { "type" : "string", - "description" : "Role name" - }, - "provisioningDetails" : { - "$ref" : "#/components/schemas/ProvisioningDetails" + "description" : "State of the IAM task", + "enum" : [ "QUEUED", "IN_PROGRESS", "FAILED", "COMPLETED", "UNKNOWN" ] }, - "type" : { + "taskType" : { "type" : "string", - "description" : "VCF Role type", - "enum" : [ "BUILT_IN", "CUSTOM", "UNKNOWN" ] + "description" : "IAM Task Type", + "enum" : [ "IDP_RESET", "SSO_REALM_RESET", "COMPONENT_CUSTOM_ROLE_SYNC", "UNKNOWN" ] } - } + }, + "required" : [ "taskId" ] }, - "ComponentRoles" : { + "IamTaskErrorDetails" : { "type" : "object", - "description" : "Response wrapper for list of provisioned component roles", + "description" : "Error Details for sso task failure", "properties" : { - "componentRoles" : { - "type" : "array", - "description" : "List of provisioned roles", - "items" : { - "$ref" : "#/components/schemas/ComponentRole" - } + "errorCode" : { + "type" : "string", + "description" : "Reset failure error code" + }, + "errorMessage" : { + "type" : "string", + "description" : "Reset failure error message" + }, + "timestamp" : { + "type" : "integer", + "format" : "int64", + "description" : "Reset failure timestamp" } } }, - "ConfigureSaltRequest" : { + "IdpConfig" : { "type" : "object", - "description" : "Represents a request to configure a Salt Minion", + "description" : "IDP Configuration Details", "properties" : { - "masterId" : { - "type" : "string", - "format" : "uuid", - "description" : "Unique identifier of the Salt Master" + "oidcConfiguration" : { + "$ref" : "#/components/schemas/OidcConfiguration" + }, + "samlConfiguration" : { + "$ref" : "#/components/schemas/SamlConfiguration" } } }, - "CostPlan" : { - "type" : "string", - "description" : "Public cloud CostPlan", - "enum" : [ "ONE_YEAR_PLAN", "THREE_YEAR_PLAN", "PAY_AS_YOU_GO", "ONE_YEAR_MONTHLY", "THREE_YEARS_MONTHLY" ] - }, - "CustomRoleProvisionDetails" : { + "IdpDirectory" : { "type" : "object", - "description" : "Target VCF provisioning details", + "description" : "IDP Directory", "properties" : { - "components" : { + "defaultDomain" : { + "type" : "string", + "description" : "Default Domain" + }, + "domains" : { "type" : "array", - "description" : "Target provisioned component details", + "description" : "List of domains", "items" : { - "$ref" : "#/components/schemas/ProvisionedComponent" - } - }, - "summary" : { - "$ref" : "#/components/schemas/StatusSummary" + "type" : "string", + "description" : "List of domains" + }, + "minItems" : 1 }, - "vcfInstanceId" : { + "id" : { "type" : "string", "format" : "uuid", - "description" : "VCF instance ID" + "description" : "Directory Id" + }, + "name" : { + "type" : "string", + "description" : "Directory name", + "minLength" : 1 } }, - "required" : [ "vcfInstanceId" ] + "required" : [ "domains", "name" ] }, - "DCOptimizationConfiguration" : { + "InputBodyLocation" : { "type" : "object", - "description" : "Represents the DC optimization configuration for capacity exclusion", + "description" : "Location of parsing exception", "properties" : { - "reclaim" : { - "type" : "array", - "description" : "Collection of exclusionTagsForReclaim", - "items" : { - "$ref" : "#/components/schemas/resourceTag" - }, - "nullable" : true, - "uniqueItems" : true + "columnNumber" : { + "type" : "integer", + "format" : "int32", + "description" : "The exact column of the specified line of the input body" }, - "rightsizing" : { - "type" : "array", - "description" : "Collection of exclusionTagsForRightsizing", - "items" : { - "$ref" : "#/components/schemas/resourceTag" - }, - "nullable" : true, - "uniqueItems" : true + "lineNumber" : { + "type" : "integer", + "format" : "int32", + "description" : "The line number of the input body" } } }, - "DT-condition" : { + "IntervalType" : { + "type" : "string", + "description" : "The Interval types", + "enum" : [ "HOURS", "MINUTES", "SECONDS", "DAYS", "WEEKS", "MONTHS", "YEARS" ] + }, + "JitConfiguration" : { "type" : "object", - "allOf" : [ { - "$ref" : "#/components/schemas/condition" - }, { - "type" : "object", - "properties" : { - "instanced" : { - "type" : "boolean", - "description" : "The instance group" - }, - "key" : { - "type" : "string", - "description" : "The StatKey for the dynamic threshold" - }, - "operator" : { - "type" : "string", - "description" : "Operator for Dynamic Conditions", - "enum" : [ "DT_ABOVE", "DT_BELOW", "DT_ABNORMAL" ] + "description" : "JIT configuration details", + "properties" : { + "jitProvisioningGroups" : { + "type" : "array", + "description" : "JIT Provisioning Groups", + "items" : { + "$ref" : "#/components/schemas/JitProvisioningGroups" } + }, + "oidcJitConfiguration" : { + "$ref" : "#/components/schemas/OidcJitConfiguration" + }, + "samlJitConfiguration" : { + "$ref" : "#/components/schemas/SamlJitConfiguration" } - } ], - "description" : "The Dynamic Threshold Condition", - "required" : [ "key", "operator" ], - "xml" : { - "name" : "DT-condition", - "namespace" : "http://webservice.vmware.com/vRealizeOpsMgr/1.0/" } }, - "DTSM-condition" : { + "JitProvisioningGroups" : { "type" : "object", - "allOf" : [ { - "$ref" : "#/components/schemas/condition" - }, { - "type" : "object", - "properties" : { - "instanced" : { - "type" : "boolean", - "description" : "The instance group" - }, - "key" : { + "description" : "JIT Provisioning Groups", + "properties" : { + "domain" : { + "type" : "string", + "description" : "The domain string to associate with the group names.", + "minLength" : 1 + }, + "groupNames" : { + "type" : "array", + "description" : "The list of group names that correspond with groups defined in the external IDP.", + "items" : { "type" : "string", - "description" : "The SuperMetric Id for the dynamic threshold" + "description" : "The list of group names that correspond with groups defined in the external IDP." }, - "operator" : { - "type" : "string", - "description" : "Operator for Dynamic Conditions", - "enum" : [ "DT_ABOVE", "DT_BELOW", "DT_ABNORMAL" ] - } + "minItems" : 1 } - } ], - "description" : "Dynamic Threshold on Super Metrics Condition", - "required" : [ "key", "operator" ], - "xml" : { - "name" : "DTSM-condition", - "namespace" : "http://webservice.vmware.com/vRealizeOpsMgr/1.0/" - } + }, + "required" : [ "domain", "groupNames" ] }, - "DomainController" : { + "LdapBindConfiguration" : { "type" : "object", - "description" : "Domain controller details.", + "description" : "Ldap bind configuration", "properties" : { - "certificate" : { + "baseDn" : { + "type" : "string", + "description" : "Base distinguished name", + "minLength" : 1 + }, + "bindDn" : { + "type" : "string", + "description" : "Bind distinguished name", + "minLength" : 1 + }, + "bindDnPassword" : { "type" : "string", - "description" : "A certificate encoded in PEM format. Required for LDAPS; Should not be provided for LDAP." + "description" : "Bind distinguished name password" }, - "certificateName" : { + "communicationMode" : { "type" : "string", - "description" : "certificate file name" + "default" : "SECURE", + "description" : "The mode in which to communicate with remote servers", + "enum" : [ "SECURE", "UNSECURE" ] }, - "host" : { + "directorySearchAttribute" : { "type" : "string", - "description" : "Identifies the Domain Controller host", - "minLength" : 1 + "description" : "Identifies the name of the attribute that will be used to search for users in a directory" }, - "port" : { - "type" : "integer", - "format" : "int32", - "description" : "Identifies the Domain Controller port", - "maximum" : 65535, - "minimum" : 1 + "dnsLookupCertificateChain" : { + "type" : "array", + "description" : "List of certificate chain to use when connecting to domain controllers via DNS lookup, encoded in PEM format.", + "items" : { + "type" : "string", + "description" : "List of certificate chain to use when connecting to domain controllers via DNS lookup, encoded in PEM format." + } }, - "protocol" : { + "domainChanged" : { + "type" : "boolean", + "description" : "Is domain changed" + }, + "openLdapConfiguration" : { + "$ref" : "#/components/schemas/OpenLdapConfiguration" + }, + "primaryDomainController" : { + "$ref" : "#/components/schemas/DomainController" + }, + "secondaryDomainController" : { + "$ref" : "#/components/schemas/DomainController" + }, + "syncMode" : { "type" : "string", - "description" : "Ldap Protocol", - "enum" : [ "LDAP", "LDAPS", "UNKNOWN" ] + "description" : "LDAP directory sync mode" + }, + "type" : { + "type" : "string", + "description" : "Ldap directory type" } }, - "required" : [ "host", "protocol" ] + "required" : [ "baseDn", "bindDn", "type" ] }, - "DvpgsIpfixRequest" : { + "LdapConfiguration" : { "type" : "object", - "description" : "IPFIX enablement configuration for specific DVPGs under a DVS.", + "description" : "Ldap configuration", "properties" : { - "dvs_key" : { + "domains" : { + "type" : "array", + "description" : "List of domain names of the associated directory", + "items" : { + "type" : "string", + "description" : "List of domain names of the associated directory" + } + }, + "ldapBindConfiguration" : { + "$ref" : "#/components/schemas/LdapBindConfiguration" + }, + "ldapConfigurationId" : { "type" : "string", - "description" : "Value of the dvs object whose dvpgs have to be set for ipfix enablement." + "format" : "uuid", + "description" : "Ldap configuration Id" }, - "enable_for_dvpgs" : { + "name" : { "type" : "string", - "description" : "Comma separated values of all the dvpgs objects for which ipfix should be enabled." + "description" : "Ldap configuration name", + "minLength" : 1 } - } + }, + "required" : [ "domains", "ldapBindConfiguration", "name" ] }, - "DvsIpfixRequest" : { + "LdapDirectories" : { "type" : "object", - "description" : "Configuration options for enabling/disabling IPFIX on DVS and DVPGs.", + "description" : "Ldap Configuration Info list", "properties" : { - "disable_all" : { - "type" : "boolean", - "description" : "Disable flow collection for All DVS." - }, - "disable_for_dvs" : { - "type" : "string", - "description" : "Comma separated values of all the dvs objects for wihch ipfix should be disabled." - }, - "dvpgs_ipfix_request" : { + "ldapDirectories" : { "type" : "array", - "description" : "List of IPFIX enable settings for specific DVPGs.", + "description" : "List of Ldap Configuration Info", "items" : { - "$ref" : "#/components/schemas/DvpgsIpfixRequest" + "$ref" : "#/components/schemas/LdapDirectory" } - }, - "enable_all" : { - "type" : "boolean", - "description" : "Enable flow collection for All DVS." - }, - "enable_for_dvs" : { - "type" : "string", - "description" : "Comma separated values of all the dvs objects for which ipfix should be enabled." } } }, - "DvsIpfixResponse" : { + "LdapDirectory" : { "type" : "object", - "description" : "IPFIX response configuration for DVS", + "description" : "Ldap Configuration Info", "properties" : { - "ipfix_disabled_for" : { + "domainControllerHost" : { "type" : "string", - "description" : "Comma separated values of all the dvs objects for which enabling ipfix was unsuccessful." + "description" : "Domain Controller hostname" }, - "ipfix_disabling_failed" : { - "type" : "string", - "description" : "Comma separated values of all the dvs objects for which ipfix disabling failed." + "domainControllerPort" : { + "type" : "integer", + "format" : "int32", + "description" : "Domain Controller port" }, - "ipfix_enabled_for" : { + "domains" : { + "type" : "array", + "description" : "List of domains", + "items" : { + "type" : "string", + "description" : "List of domains" + }, + "uniqueItems" : true + }, + "lastSyncDateTime" : { + "type" : "integer", + "format" : "int64", + "description" : "Last Sync date and time, in milliseconds (epoch)" + }, + "lastSyncStatus" : { "type" : "string", - "description" : "Comma separated values of all the dvs objects for which ipfix was successfully enabled." + "description" : "Status of an LDAP sync execution", + "enum" : [ "STARTED", "IN_PROGRESS", "FAILED", "COMPLETED", "UNKNOWN" ] }, - "ipfix_enabling_failed" : { + "ldapConfigurationId" : { "type" : "string", - "description" : "Comma separated values of all the dvs objects for which ipfix enabling failed." - } - } - }, - "EmergencyClient" : { - "type" : "object", - "description" : "API Client with a long-lived privileged bearer access token to facilitate API-based access in emergency scenarios", - "properties" : { - "accessToken" : { + "format" : "uuid", + "description" : "Ldap configuration Id" + }, + "name" : { "type" : "string", - "description" : "Bearer access token string" + "description" : "Name of the LDAP configuration" }, - "accessTokenExpirationDate" : { + "numberOfAlerts" : { "type" : "integer", "format" : "int64", - "description" : "The date on which the access token for this emergency client expires" + "description" : "Number of alerts" }, - "accessTokenStatus" : { - "type" : "string", - "description" : "Active / expired status for tokens generated for emergency clients", - "enum" : [ "ACTIVE", "EXPIRED", "UNKNOWN" ] + "numberOfGroups" : { + "type" : "integer", + "format" : "int64", + "description" : "Number of groups synced" }, - "accessTokenTtl" : { + "numberOfUsers" : { "type" : "integer", - "format" : "int32", - "description" : "Time-To-Live lifespan in minutes of the access token for this emergency client" + "format" : "int64", + "description" : "Number of users synced" }, - "clientDescription" : { + "setupStatus" : { "type" : "string", - "description" : "Description for the emergency client" + "description" : "Ldap directory setup status", + "enum" : [ "INITIAL", "COMPLETED", "UNKNOWN" ] }, - "clientId" : { + "syncMode" : { "type" : "string", - "description" : "Unique string that is used as the principal for this emergency client", - "minLength" : 1 + "description" : "LDAP directory sync mode" }, - "clientName" : { + "vidbDirectoryId" : { "type" : "string", - "description" : "Friendly name for the emergency client", - "minLength" : 1 + "format" : "uuid", + "description" : "Vidb directory Id" + } + }, + "required" : [ "lastSyncStatus" ] + }, + "LdapGroup" : { + "type" : "object", + "description" : "Information about a group in an LDAP directory", + "properties" : { + "baseDn" : { + "type" : "string", + "description" : "Base distinguished name directory in which the group exists" }, - "oidcIssuerUrl" : { + "compliant" : { + "type" : "boolean", + "description" : "Field Valid and compliant with attributes validation" + }, + "dn" : { "type" : "string", - "description" : "The OIDC issuer URL of the identity broker that generated this emergency client" + "description" : "Full distinguished name of the group" }, - "roles" : { - "type" : "array", - "description" : "Roles assigned to this client", - "items" : { - "$ref" : "#/components/schemas/VcfRoleAssignment" - } + "id" : { + "type" : "string", + "format" : "uuid", + "description" : "Unique identifier of the group if provisioned in VIDB" }, - "tokenEndpointUrl" : { + "name" : { "type" : "string", - "description" : "The token endpoint URL of the identity broker that generated this emergency client" + "description" : "Name of the group" + }, + "objectGuid" : { + "type" : "string", + "description" : "Unique ID of the group defined in the LDAP directory" + }, + "roleAssignments" : { + "type" : "boolean", + "description" : "Indicates if the group has role assignments" + }, + "selectAll" : { + "type" : "boolean", + "description" : "Select all groups for a baseDn" + }, + "validationResult" : { + "$ref" : "#/components/schemas/ValidationResult" } }, - "required" : [ "accessTokenTtl", "clientId", "clientName" ] + "required" : [ "baseDn" ] }, - "EmergencyClients" : { + "LdapGroups" : { "type" : "object", - "description" : "List of emergency clients", + "description" : "Information about groups in an LDAP directory", "properties" : { - "emergencyClients" : { + "ldapGroups" : { "type" : "array", - "description" : "List of emergency clients", + "description" : "List of LDAP groups", "items" : { - "$ref" : "#/components/schemas/EmergencyClient" + "$ref" : "#/components/schemas/LdapGroup" } } - }, - "required" : [ "emergencyClients" ] + } + }, + "LdapQuery" : { + "type" : "object", + "description" : "Lookup request used to find users and groups in an LDAP directory", + "properties" : { + "searchDn" : { + "type" : "string", + "description" : "Base distinguished name directory in which to perform the search. Required for FULL_SYNC mode, optional for ON_DEMAND mode." + }, + "searchTerm" : { + "type" : "string", + "description" : "Constrains the search to entries starting with this string" + } + } }, - "FederatedIdentityProvider" : { + "LdapSyncDetails" : { "type" : "object", - "description" : "Identity provider configuration", + "description" : "Details of LDAP sync operation", "properties" : { - "certificateChain" : { - "type" : "array", - "description" : "List of certificate chain", - "items" : { - "type" : "string", - "description" : "List of certificate chain" - } + "groupsAdded" : { + "type" : "integer", + "format" : "int64", + "description" : "Number of groups added during the sync execution" }, - "createdAt" : { + "groupsRemoved" : { "type" : "integer", "format" : "int64", - "description" : "IDP creation timestamp" + "description" : "Number of groups removed during the sync execution" }, - "directories" : { - "type" : "array", - "description" : "IDP directory. Currently, only one directory is supported as part of IDP configuration.", - "items" : { - "$ref" : "#/components/schemas/IdpDirectory" - }, - "maxItems" : 1, - "minItems" : 0 + "groupsUpdated" : { + "type" : "integer", + "format" : "int64", + "description" : "Number of groups updated during the sync execution" + }, + "syncEndTime" : { + "type" : "integer", + "format" : "int64", + "description" : "Ending date and time of the sync execution, in milliseconds (epoch)" + }, + "usersAdded" : { + "type" : "integer", + "format" : "int64", + "description" : "Number of users added during the sync execution" + }, + "usersRemoved" : { + "type" : "integer", + "format" : "int64", + "description" : "Number of users removed during the sync execution" }, + "usersUpdated" : { + "type" : "integer", + "format" : "int64", + "description" : "Number of users updated during the sync execution" + } + } + }, + "LdapSyncLog" : { + "type" : "object", + "description" : "Information about an LDAP sync execution", + "properties" : { "id" : { "type" : "string", "format" : "uuid", - "description" : "Identity Provider Id" - }, - "idpConfig" : { - "$ref" : "#/components/schemas/IdpConfig" + "description" : "LDAP sync execution UUID" }, - "idpProtocol" : { - "type" : "string", - "description" : "Indicates IDP Protocol.", - "enum" : [ "OIDC", "SAML", "LDAP_BIND", "UNKNOWN" ] + "success" : { + "type" : "boolean", + "description" : "Whether the sync operation was successful" }, - "idpType" : { - "type" : "string", - "description" : "Indicates IDP type", - "enum" : [ "OKTA", "PING", "ENTRA_ID", "SYMANTEC_IDSP", "ADFS", "ADLDAP", "OPENLDAP", "OTHER", "UNKNOWN" ] + "syncDetails" : { + "$ref" : "#/components/schemas/LdapSyncDetails" }, - "name" : { + "syncResult" : { "type" : "string", - "description" : "Identity Provider name", - "minLength" : 1 + "description" : "Result of the sync operation" }, - "provisionType" : { + "syncResultMessageKey" : { "type" : "string", - "description" : "Indicates provision type for the given IDP configuration", - "enum" : [ "JIT", "SCIM", "LDAP", "UNKNOWN" ] - }, - "provisioningConfig" : { - "$ref" : "#/components/schemas/ProvisioningConfig" + "description" : "Property containing the sync failure code" }, - "ssoRealmId" : { + "syncType" : { "type" : "string", - "format" : "uuid", - "description" : "ID of the SSO Realm that has this Identity Provider configuration." + "description" : "Type of the sync operation" }, - "updatedAt" : { + "timeStamp" : { "type" : "integer", "format" : "int64", - "description" : "IDP last updated timestamp" + "description" : "Date and time at which the sync operation executed, in milliseconds (epoch)" } }, - "required" : [ "idpProtocol", "idpType", "name", "provisionType", "ssoRealmId" ] + "required" : [ "syncResultMessageKey" ] }, - "FindingsFilter" : { + "LdapSyncLogs" : { "type" : "object", - "description" : "Parameters used to search for Findings.", + "description" : "Ldap Sync Logs response response, wrapper of Ldap Sync Logs", "properties" : { - "adapterKinds" : { + "links" : { "type" : "array", - "description" : "List of adapter kinds to filter by", + "description" : "Collection of links", "items" : { - "type" : "string", - "description" : "List of adapter kinds to filter by" + "$ref" : "#/components/schemas/link" }, - "uniqueItems" : true - }, - "capabilities" : { - "type" : "array", - "description" : "List of capabilities to filter by", - "items" : { - "type" : "string", - "description" : "List of capabilities to filter by" + "xml" : { + "wrapped" : true } }, - "categories" : { - "type" : "array", - "description" : "List of categories to filter by", - "items" : { - "type" : "string", - "description" : "List of categories to filter by" - } + "pageInfo" : { + "$ref" : "#/components/schemas/page-info" }, - "findingTypes" : { + "syncLogs" : { "type" : "array", - "description" : "List of finding types to filter by", + "description" : "List of LDAP sync logs", "items" : { - "type" : "string", - "description" : "List of finding types to filter by" + "$ref" : "#/components/schemas/LdapSyncLog" } + } + } + }, + "LdapSyncProfile" : { + "type" : "object", + "description" : "Ldap Sync profile", + "properties" : { + "includeNestedGroupsAndMembers" : { + "type" : "boolean", + "description" : "Whether the nested Group Search is enabled" }, - "fromOccurrenceTime" : { - "type" : "integer", - "format" : "int64", - "description" : "Timestamp designating the lowest required value for occurrence time for the returned findings" - }, - "refreshTypes" : { + "ldapGroups" : { "type" : "array", - "description" : "List of refresh types to filter by", + "description" : "Provisioned groups", "items" : { - "type" : "string", - "description" : "List of refresh types to filter by" + "$ref" : "#/components/schemas/LdapGroup" } }, - "resourceIds" : { + "ldapUsers" : { "type" : "array", - "description" : "List of resource IDs to filter by", + "description" : "Provisioned users", "items" : { - "type" : "string", - "format" : "uuid", - "description" : "List of resource IDs to filter by" + "$ref" : "#/components/schemas/LdapUser" } }, - "resourceKinds" : { - "type" : "array", - "description" : "List of resource kinds to filter by", - "items" : { - "type" : "string", - "description" : "List of resource kinds to filter by" - }, - "uniqueItems" : true - }, - "ruleUuids" : { - "type" : "array", - "description" : "List of rule UUIDs to filter by", - "items" : { - "type" : "string", - "format" : "uuid", - "description" : "List of rule UUIDs to filter by" - } + "syncSchedule" : { + "$ref" : "#/components/schemas/LdapSyncSchedule" }, - "severities" : { + "userAttributeMappings" : { "type" : "array", - "description" : "List of severities to filter by", + "description" : "List of user attribute mappings", "items" : { - "type" : "string", - "description" : "List of severities to filter by" + "$ref" : "#/components/schemas/LdapUserAttributeMapping" } } - } + }, + "required" : [ "userAttributeMappings" ] }, - "FindingsQuery" : { + "LdapSyncResult" : { "type" : "object", - "description" : "Parameters used to search for Findings.", + "description" : "Result of initiating an LDAP sync operation", "properties" : { - "filter" : { - "$ref" : "#/components/schemas/FindingsFilter" + "syncStatus" : { + "type" : "string", + "description" : "Status of an LDAP sync execution", + "enum" : [ "STARTED", "IN_PROGRESS", "FAILED", "COMPLETED", "UNKNOWN" ] } } }, - "GenerateCsrData" : { + "LdapSyncSchedule" : { "type" : "object", - "description" : "Represents request parameters for generate csr", + "description" : "Sync schedule", "properties" : { - "certificateId" : { + "dayOfTheWeek" : { "type" : "string", - "format" : "uuid", - "description" : "A key/Id of certificate which represent the VCF component against which CSR has to be generated" + "description" : "Days of the Week", + "enum" : [ "UNKNOWN", "SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY" ] }, - "generateCsrSpec" : { - "$ref" : "#/components/schemas/GenerateCsrSpec" + "frequency" : { + "type" : "string", + "description" : "Ldap sync frequency", + "enum" : [ "WEEKLY", "DAILY", "TWELVE_HOURS", "SIX_HOURS", "TWO_HOURS", "HOURLY", "FIFTEEN_MINUTES", "MANUALLY", "UNKNOWN" ] + }, + "hours" : { + "type" : "integer", + "format" : "int32", + "description" : "Hour of the day on which sync is first scheduled" + }, + "minutes" : { + "type" : "integer", + "format" : "int32", + "description" : "Minute at which sync is first scheduled" + }, + "seconds" : { + "type" : "integer", + "format" : "int32", + "description" : "Second at which sync is first scheduled" } }, - "required" : [ "certificateId", "generateCsrSpec" ] + "required" : [ "frequency" ] }, - "GenerateCsrSpec" : { + "LdapUser" : { "type" : "object", - "description" : "Represents request parameters for generate csr", - "properties" : { - "commonName" : { - "type" : "string", - "description" : "Common name", - "pattern" : "^[^<>]*$" - }, - "country" : { - "type" : "string", - "description" : "Country", - "pattern" : "^[^<>]*$" - }, - "email" : { + "description" : "Information about a user in an LDAP directory", + "properties" : { + "baseDn" : { "type" : "string", - "description" : "Email", - "pattern" : "^[^<>]*$" + "description" : "Base distinguished name directory in which the user exists" }, - "keyAlgorithm" : { + "dn" : { "type" : "string", - "description" : "Key algorithm", - "pattern" : "^[^<>]*$" + "description" : "Full distinguished name of the user" }, - "keySize" : { + "id" : { "type" : "string", - "description" : "Key Size", - "enum" : [ "UNKNOWN", "KEY_2048", "KEY_3072", "KEY_4096" ] + "format" : "uuid", + "description" : "Unique identifier of the user if provisioned in VIDB" }, - "locality" : { + "mail" : { "type" : "string", - "description" : "Locality", - "pattern" : "^[^<>]*$" + "description" : "Email address of the user in UPN format" }, - "orgUnit" : { + "name" : { "type" : "string", - "description" : "Organization unit", - "pattern" : "^[^<>]*$" + "description" : "Name of the user" }, - "organization" : { + "roleAssignments" : { + "type" : "boolean", + "description" : "Indicates if the user has role assignments" + }, + "userId" : { "type" : "string", - "description" : "Organization", - "pattern" : "^[^<>]*$" + "description" : "User ID defined in LDAP directory" + } + }, + "required" : [ "baseDn", "dn", "name", "userId" ] + }, + "LdapUserAttributeMapping" : { + "type" : "object", + "description" : "Ldap User Attribute Mapping", + "properties" : { + "attributeName" : { + "type" : "string", + "description" : "Vidb Attribute Name", + "minLength" : 1 }, - "state" : { + "directoryAttributeName" : { "type" : "string", - "description" : "State", - "pattern" : "^[^<>]*$" + "description" : "Directory Attribute Name", + "minLength" : 1 }, - "subjectAltNames" : { - "$ref" : "#/components/schemas/SubjectAlternativeNames" + "required" : { + "type" : "boolean", + "description" : "Indicates whether it is a required attribute" } }, - "required" : [ "keySize", "orgUnit", "organization" ] + "required" : [ "attributeName", "directoryAttributeName" ] }, - "GlobalIamSettings" : { + "LdapUsers" : { "type" : "object", - "description" : "IAM Global Settings", + "description" : "Information about users in an LDAP directory", "properties" : { - "accessTokenTtl" : { + "ldapUsers" : { + "type" : "array", + "description" : "List of LDAP users", + "items" : { + "$ref" : "#/components/schemas/LdapUser" + } + } + } + }, + "LicenseInfo" : { + "type" : "object", + "description" : "Model represents license info", + "properties" : { + "expirationDate" : { "type" : "integer", - "format" : "int32", - "default" : 480, - "description" : "Access Token TTL in minutes", - "maximum" : 480, - "minimum" : 30 + "format" : "int64", + "description" : "license expiration date" }, - "allUsersGroupEnabled" : { - "type" : "boolean", - "default" : false, - "description" : "Enable 'ALL_USERS' group in identity broker" + "licenseKey" : { + "type" : "string", + "deprecated" : true, + "description" : "license key replaced with license name for VCF licenses" }, - "apiTokenRetentionPeriod" : { + "licenseName" : { + "type" : "string", + "description" : "license name" + }, + "licensed" : { + "type" : "boolean", + "description" : "licensed" + } + } + }, + "LockoutConstraints" : { + "type" : "object", + "description" : "Policy lockout constraints", + "properties" : { + "lockoutEvaluationPeriod" : { "type" : "integer", "format" : "int32", - "default" : 43200, - "description" : "API Token Retention period in minutes", - "maximum" : 129600, - "minimum" : 43200 + "default" : 900, + "description" : "Time interval between failures in seconds", + "maximum" : 1800, + "minimum" : 300 }, - "apiTokenTtl" : { + "lockoutMaxAuthFailures" : { "type" : "integer", "format" : "int32", - "default" : 43200, - "description" : "API Token TTL in minutes", - "maximum" : 259200, - "minimum" : 43200 - }, - "jitInactiveUserEnabled" : { - "type" : "boolean", - "default" : false, - "description" : "Enable JIT Inactive User feature" + "default" : 3, + "description" : "Maximum number of failed login attempts", + "maximum" : 5, + "minimum" : 0 }, - "jitInactiveUserTtl" : { + "lockoutPeriod" : { "type" : "integer", "format" : "int32", - "default" : 43200, - "description" : "TTL for marking JITed user inactive", - "maximum" : 259200, - "minimum" : 10080 + "default" : 900, + "description" : "Length of lockout period in seconds", + "maximum" : 1800, + "minimum" : 600 } }, - "required" : [ "accessTokenTtl", "allUsersGroupEnabled", "apiTokenRetentionPeriod", "apiTokenTtl", "jitInactiveUserEnabled" ] + "required" : [ "lockoutEvaluationPeriod", "lockoutMaxAuthFailures", "lockoutPeriod" ] }, - "HT-condition" : { + "LogsQueryConfig" : { "type" : "object", - "allOf" : [ { - "$ref" : "#/components/schemas/condition" - }, { - "type" : "object", - "properties" : { - "instanced" : { - "type" : "boolean", - "description" : "The instance group" - }, - "key" : { - "type" : "string", - "description" : "The StatKey for the condition" - }, - "operator" : { - "type" : "string", - "description" : "Comparison Operator used within the VMware Cloud Foundation Operations Suite API", - "enum" : [ "EQ", "NOT_EQ", "LIKE", "LT", "GT", "LT_EQ", "GT_EQ", "IN", "NOT_IN", "EXISTS", "CONTAINS", "STARTS_WITH", "ENDS_WITH", "NOT_STARTS_WITH", "NOT_ENDS_WITH", "NOT_CONTAINS", "REGEX", "NOT_REGEX", "NOT_EXISTS", "EMPTY", "NOT_EMPTY" ], - "xml" : { - "name" : "compare-operator", - "namespace" : "http://webservice.vmware.com/vRealizeOpsMgr/1.0/" - } - }, - "settingValue" : { - "type" : "string", - "description" : "The setting value" - }, - "targetKey" : { - "type" : "string", - "description" : "A target StatKey to compare the values between two metrics. Required for metric or property threshold type conditions" - }, - "thresholdType" : { - "type" : "string", - "description" : "Enumerate the type of value for the Right-hand side (RHS) of the comparison condition", - "enum" : [ "UNKNOWN", "STATIC", "STATKEY", "PROPERTY" ], - "xml" : { - "name" : "threshold-type", - "namespace" : "http://webservice.vmware.com/vRealizeOpsMgr/1.0/" - } - }, - "value" : { + "description" : "Logs query config", + "properties" : { + "dateRange" : { + "$ref" : "#/components/schemas/LogsQueryDateRange" + }, + "description" : { + "type" : "string", + "description" : "Description of Query Configuration." + }, + "id" : { + "type" : "string", + "format" : "uuid", + "description" : "Identifier of Query Configuration." + }, + "lastModifiedTime" : { + "type" : "integer", + "format" : "int64", + "description" : "Last modified time of Query Configuration." + }, + "modifiedBy" : { + "type" : "string", + "description" : "Username of the last user who modified it." + }, + "name" : { + "type" : "string", + "description" : "Name of Query Configuration." + }, + "queryFilters" : { + "$ref" : "#/components/schemas/log-query-filters" + }, + "queryText" : { + "type" : "array", + "description" : "Texts for Query Configuration.", + "items" : { "type" : "string", - "description" : "The static value of the condition" + "description" : "Texts for Query Configuration." }, - "valueType" : { - "type" : "string", - "description" : "Value type enum", - "enum" : [ "NUMERIC", "STRING" ] - } + "minItems" : 1 } - } ], - "description" : "Hard Threshold condition", - "required" : [ "instanced", "key", "operator", "thresholdType", "valueType" ], - "xml" : { - "name" : "HT-condition", - "namespace" : "http://webservice.vmware.com/vRealizeOpsMgr/1.0/" - } + }, + "required" : [ "dateRange", "name", "queryText" ] }, - "HTSM-condition" : { + "LogsQueryConfigs" : { "type" : "object", - "allOf" : [ { - "$ref" : "#/components/schemas/condition" - }, { - "type" : "object", - "properties" : { - "instanced" : { - "type" : "boolean", - "description" : "The instance group" - }, - "key" : { - "type" : "string", - "description" : "The super metric key" - }, - "operator" : { - "type" : "string", - "description" : "Comparison Operator used within the VMware Cloud Foundation Operations Suite API", - "enum" : [ "EQ", "NOT_EQ", "LIKE", "LT", "GT", "LT_EQ", "GT_EQ", "IN", "NOT_IN", "EXISTS", "CONTAINS", "STARTS_WITH", "ENDS_WITH", "NOT_STARTS_WITH", "NOT_ENDS_WITH", "NOT_CONTAINS", "REGEX", "NOT_REGEX", "NOT_EXISTS", "EMPTY", "NOT_EMPTY" ], - "xml" : { - "name" : "compare-operator", - "namespace" : "http://webservice.vmware.com/vRealizeOpsMgr/1.0/" - } - }, - "settingValue" : { - "type" : "string", - "description" : "The setting value" + "description" : "Logs query configs", + "properties" : { + "links" : { + "type" : "array", + "description" : "Collection of links", + "items" : { + "$ref" : "#/components/schemas/link" }, - "value" : { - "type" : "number", - "format" : "double", - "description" : "The value of the condition" + "xml" : { + "wrapped" : true } + }, + "logsQueryConfigs" : { + "type" : "array", + "description" : "Collection of Query Configurations.", + "items" : { + "$ref" : "#/components/schemas/LogsQueryConfig" + } + }, + "pageInfo" : { + "$ref" : "#/components/schemas/page-info" } - } ], - "description" : "Hard Threshold numeric Condition on a super metric", - "required" : [ "key", "operator", "value" ], - "xml" : { - "name" : "HTSM-condition", - "namespace" : "http://webservice.vmware.com/vRealizeOpsMgr/1.0/" } }, - "IamComponentAuthSource" : { + "LogsQueryDateRange" : { "type" : "object", - "description" : "IAM Component Auth Source model", + "description" : "Logs query date range. Either both startTime and endTime should be null with a non-null fixedRange, or both startTime and endTime should be non-null with startTime less than endTime and fixedRange null.", "properties" : { - "authSourceType" : { - "type" : "string", - "description" : "Auth Source Type enum", - "enum" : [ "VCF_COMPONENT", "MANAGEMENT_COMPONENT", "UNKNOWN" ] - }, - "componentType" : { - "type" : "string", - "description" : "VCF Component type", - "enum" : [ "VCENTER", "NSX_MANAGER", "VCF_OPERATIONS", "VCF_AUTOMATION", "HCX", "VCF_ORCHESTRATOR", "UNKNOWN" ], - "example" : "VCF_OPERATIONS" - }, - "createdAt" : { + "endTime" : { "type" : "integer", "format" : "int64", - "description" : "Authsource creation time" - }, - "ssoRealmId" : { - "type" : "string", - "format" : "uuid", - "description" : "SSO Realm identifier" + "description" : "End time in milliseconds." }, - "status" : { - "type" : "string", - "description" : "Auth source configuration status", - "enum" : [ "CONFIGURING", "CONFIGURED", "NOT_CONFIGURED", "NOT_ELIGIBLE", "MARKED_FOR_CREATION", "FAILED", "MARKED_FOR_DELETION", "DISCOVERED", "UNKNOWN" ] + "fixedRange" : { + "$ref" : "#/components/schemas/LogsQueryDateRangeValues" }, - "updatedAt" : { + "startTime" : { "type" : "integer", "format" : "int64", - "description" : "Authsource last updated time" + "description" : "Start time in milliseconds." + } + } + }, + "LogsQueryDateRangeValues" : { + "type" : "string", + "description" : "Date range enum", + "enum" : [ "LAST_5_MINS", "LAST_HOUR", "LAST_6_HOUR", "LAST_12_HOUR", "LAST_24_HOUR", "LAST_7_DAYS", "LAST_30_DAYS", "CURRENT_MONTH", "TODAY", "LAST_DAY", "LAST_WEEK", "LAST_MONTH", "UNKNOWN" ] + }, + "MeteringDetail" : { + "type" : "object", + "description" : "The metering details of the sub metering items of the bill", + "properties" : { + "instances" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/MeteringDetail" + } }, - "vcfComponentId" : { + "name" : { "type" : "string", - "format" : "uuid", - "description" : "VCF component identifier (required when authSourceType is VCF_COMPONENT)" + "description" : "The name of the component" }, - "vcfComponentResourceId" : { - "type" : "string", - "format" : "uuid", - "description" : "VCF component resource ID for VCenter or NSX cluster" + "price" : { + "type" : "number", + "format" : "double", + "description" : "The price of the component" + }, + "usage" : { + "type" : "number", + "format" : "double" } }, - "required" : [ "authSourceType", "ssoRealmId" ] + "required" : [ "instances", "name", "price", "usage" ] }, - "IamComponentAuthSourceQuery" : { + "MicrosoftCertificateAuthoritySpec" : { "type" : "object", - "description" : "Filter to query the Iam Component Auth Sources", + "description" : "Represents Microsoft Certificate Authority", "properties" : { - "filterField" : { + "secret" : { "type" : "string", - "description" : "Allowed fields to filter Auth Sources by", - "enum" : [ "VCF_COMPONENT", "MANAGEMENT_COMPONENT", "VCF_INSTANCE", "UNKNOWN" ] + "description" : "Secret", + "pattern" : "^[^<>]*$" }, - "filterValue" : { + "serverUrl" : { "type" : "string", - "description" : "Value to filter by. Must be a valid UUID for VCF_COMPONENT and VCF_INSTANCE, or a valid ComponentType enum value for MANAGEMENT_COMPONENT" + "description" : "Microsoft Certificate Authority URL", + "pattern" : "^[^<>]*$" + }, + "templateName" : { + "type" : "string", + "description" : "Name of Template", + "pattern" : "^[^<>]*$" + }, + "username" : { + "type" : "string", + "description" : "Username", + "pattern" : "^[^<>]*$" } } }, - "IamComponentAuthSources" : { + "NSXTIntegration" : { "type" : "object", - "description" : "List of IAM Component Auth Sources", + "description" : "A model that represents NSXT integration details of VCF domain.", "properties" : { - "iamComponentAuthSources" : { + "certificates" : { "type" : "array", - "description" : "IAM Component Auth Sources list", + "description" : "Trusted certificates of NSXT integration", "items" : { - "$ref" : "#/components/schemas/IamComponentAuthSource" + "$ref" : "#/components/schemas/certificate" } + }, + "credentialId" : { + "type" : "string", + "format" : "uuid", + "description" : "NSXT credential id." + }, + "enabled" : { + "type" : "boolean", + "default" : false, + "description" : "Indicates whether NSXT enabled or not for current VCF domain" + }, + "id" : { + "type" : "string", + "format" : "uuid", + "description" : "Resource id of NSXT integration" + }, + "serviceCredentialsUsed" : { + "type" : "boolean", + "description" : "Flag that indicates whether service credentials are used or not." + }, + "url" : { + "type" : "string", + "description" : "NSXT integration url" } } }, - "IamTaskDetails" : { + "NameIdFormatAttributeMapping" : { "type" : "object", - "description" : "IAM task details", + "description" : "NameIdFormat key and NameIdFormat Value mapping", "properties" : { - "errorDetails" : { - "$ref" : "#/components/schemas/IamTaskErrorDetails" - }, - "taskId" : { - "type" : "string", - "format" : "uuid", - "description" : "Identifier of the IAM task" - }, - "taskStatus" : { + "nameIdFormat" : { "type" : "string", - "description" : "State of the IAM task", - "enum" : [ "QUEUED", "IN_PROGRESS", "FAILED", "COMPLETED", "UNKNOWN" ] + "description" : "nameIdFormat Key", + "minLength" : 1 }, - "taskType" : { + "nameIdValue" : { "type" : "string", - "description" : "IAM Task Type", - "enum" : [ "IDP_RESET", "SSO_REALM_RESET", "COMPONENT_CUSTOM_ROLE_SYNC", "UNKNOWN" ] + "description" : "nameIdFormat Value", + "minLength" : 1 } }, - "required" : [ "taskId" ] + "required" : [ "nameIdFormat", "nameIdValue" ] }, - "IamTaskErrorDetails" : { + "NamedUnitValue" : { "type" : "object", - "description" : "Error Details for sso task failure", + "description" : "Represents key, value and unit", "properties" : { - "errorCode" : { + "description" : { "type" : "string", - "description" : "Reset failure error code" + "description" : "description" }, - "errorMessage" : { + "key" : { + "$ref" : "#/components/schemas/RunScenarioDetails" + }, + "unit" : { "type" : "string", - "description" : "Reset failure error message" + "description" : "unit" }, - "timestamp" : { - "type" : "integer", - "format" : "int64", - "description" : "Reset failure timestamp" + "value" : { + "type" : "string", + "description" : "value" } } }, - "IdpConfig" : { + "NetOpsConfig" : { "type" : "object", - "description" : "IDP Configuration Details", + "description" : "The NetOps instance configuration", "properties" : { - "oidcConfiguration" : { - "$ref" : "#/components/schemas/OidcConfiguration" + "collectorId" : { + "type" : "string", + "description" : "The NetOps collector instance used by this adapter instance.", + "minLength" : 1 }, - "samlConfiguration" : { - "$ref" : "#/components/schemas/SamlConfiguration" + "dvsIpfixRequest" : { + "$ref" : "#/components/schemas/DvsIpfixRequest" + }, + "enabled" : { + "type" : "boolean", + "description" : "Whether or not to enable network and flow collection for adapter instance. If not provided, it will be enabled by default." + }, + "response" : { + "$ref" : "#/components/schemas/NetOpsConfigResponse" + } + }, + "required" : [ "collectorId", "dvsIpfixRequest" ] + }, + "NetOpsConfigResponse" : { + "type" : "object", + "description" : "The NetOps data source sync response.", + "properties" : { + "enabled" : { + "type" : "boolean", + "description" : "Whether or not data collection is enabled." + }, + "entity_id" : { + "type" : "string", + "description" : "Internal ID of data source." + }, + "error" : { + "$ref" : "#/components/schemas/ApiError" + }, + "fqdn" : { + "type" : "string", + "description" : "Hostname of data source (either IP or FQDN will be present)." + }, + "ip" : { + "type" : "string", + "description" : "IP address of data source (either IP or FQDN will be present)." + }, + "ipfix_response" : { + "$ref" : "#/components/schemas/DvsIpfixResponse" + }, + "nickname" : { + "type" : "string", + "description" : "A friendly nickname for the data source." + }, + "proxy_id" : { + "type" : "string", + "description" : "ID of Collector VM which should register this data source." + }, + "vcfManaged" : { + "type" : "boolean", + "description" : "Whether or not data source is VCF managed." } } }, - "IdpDirectory" : { + "OAuthApp" : { "type" : "object", - "description" : "IDP Directory", + "description" : "OAuthApp object", "properties" : { - "defaultDomain" : { + "clientId" : { "type" : "string", - "description" : "Default Domain" + "description" : "Client Id" }, - "domains" : { - "type" : "array", - "description" : "List of domains", - "items" : { - "type" : "string", - "description" : "List of domains" - }, - "minItems" : 1 + "clientName" : { + "type" : "string", + "description" : "Client Name" + }, + "clientSecret" : { + "type" : "string", + "description" : "Client Secret" + }, + "createdAt" : { + "type" : "integer", + "format" : "int64", + "description" : "Created timestamp" }, "id" : { "type" : "string", "format" : "uuid", - "description" : "Directory Id" + "description" : "unique identifier for the object" }, - "name" : { + "issuerUrl" : { "type" : "string", - "description" : "Directory name", - "minLength" : 1 - } - }, - "required" : [ "domains", "name" ] - }, - "InputBodyLocation" : { - "type" : "object", - "description" : "Location of parsing exception", - "properties" : { - "columnNumber" : { - "type" : "integer", - "format" : "int32", - "description" : "The exact column of the specified line of the input body" + "description" : "Identity Broker issuer URL" }, - "lineNumber" : { - "type" : "integer", - "format" : "int32", - "description" : "The line number of the input body" - } - } - }, - "IntervalType" : { - "type" : "string", - "description" : "The Interval types", - "enum" : [ "HOURS", "MINUTES", "SECONDS", "DAYS", "WEEKS", "MONTHS", "YEARS" ] - }, - "JitConfiguration" : { - "type" : "object", - "description" : "JIT configuration details", - "properties" : { - "jitProvisioningGroups" : { + "logoutUrls" : { "type" : "array", - "description" : "JIT Provisioning Groups", + "description" : "Logout URL List", "items" : { - "$ref" : "#/components/schemas/JitProvisioningGroups" + "type" : "string", + "description" : "Logout URL List" } }, - "oidcJitConfiguration" : { - "$ref" : "#/components/schemas/OidcJitConfiguration" + "redirectUrls" : { + "type" : "array", + "description" : "Redirect URL List", + "items" : { + "type" : "string", + "description" : "Redirect URL List" + } }, - "samlJitConfiguration" : { - "$ref" : "#/components/schemas/SamlJitConfiguration" + "ssoRealmId" : { + "type" : "string", + "format" : "uuid", + "description" : "Sso Realm Id" + }, + "updatedAt" : { + "type" : "integer", + "format" : "int64", + "description" : "Updated timestamp" } - } + }, + "required" : [ "clientName" ] }, - "JitProvisioningGroups" : { + "OAuthApps" : { "type" : "object", - "description" : "JIT Provisioning Groups", + "description" : "List of OAuth Apps", "properties" : { - "domain" : { - "type" : "string", - "description" : "The domain string to associate with the group names.", - "minLength" : 1 - }, - "groupNames" : { + "oauthApps" : { "type" : "array", - "description" : "The list of group names that correspond with groups defined in the external IDP.", + "description" : "List of oauth app instances", "items" : { - "type" : "string", - "description" : "The list of group names that correspond with groups defined in the external IDP." - }, - "minItems" : 1 + "$ref" : "#/components/schemas/OAuthApp" + } } - }, - "required" : [ "domain", "groupNames" ] + } }, - "LdapBindConfiguration" : { + "OidcConfiguration" : { "type" : "object", - "description" : "Ldap bind configuration", + "description" : "Oidc Configuration Details", "properties" : { - "baseDn" : { + "clientId" : { "type" : "string", - "description" : "Base distinguished name", + "description" : "Client ID of the OAuth app used to connect to IDP", "minLength" : 1 }, - "bindDn" : { + "clientSecret" : { "type" : "string", - "description" : "Bind distinguished name", + "description" : "Client Secret of the OAuth app used to connect to IDP" + }, + "discoveryEndpoint" : { + "type" : "string", + "description" : "OIDC Discovery endpoint", "minLength" : 1 }, - "bindDnPassword" : { + "internalUserIdentifierAttribute" : { "type" : "string", - "description" : "Bind distinguished name password" + "description" : "Internal User Identifier Attribute." }, - "communicationMode" : { + "openIdUserIdentifierAttribute" : { "type" : "string", - "default" : "SECURE", - "description" : "The mode in which to communicate with remote servers", - "enum" : [ "SECURE", "UNSECURE" ] + "description" : "Open Id User Identifier attribute." + } + }, + "required" : [ "clientId", "discoveryEndpoint" ] + }, + "OidcJitConfiguration" : { + "type" : "object", + "description" : "OIDC JIT Configuration", + "properties" : { + "internalUserIdentifierAttribute" : { + "type" : "string", + "description" : "Internal User Identifier Attribute" }, - "directorySearchAttribute" : { + "openIdUserIdentifierAttribute" : { "type" : "string", - "description" : "Identifies the name of the attribute that will be used to search for users in a directory" + "description" : "OpenId User Identifier Attribute" }, - "dnsLookupCertificateChain" : { + "userAttributeMappings" : { "type" : "array", - "description" : "List of certificate chain to use when connecting to domain controllers via DNS lookup, encoded in PEM format.", + "description" : "User Attribute Mappings", "items" : { - "type" : "string", - "description" : "List of certificate chain to use when connecting to domain controllers via DNS lookup, encoded in PEM format." + "$ref" : "#/components/schemas/UserAttributeMapping" } + } + } + }, + "OneOfBasicChargesSetting" : { + "type" : "object", + "description" : "Basic charges settings", + "discriminator" : { + "mapping" : { + "cost-basic-charges-settings" : "#/components/schemas/cost-basic-charges-settings", + "rate-basic-charges-settings" : "#/components/schemas/rate-basic-charges-settings" }, - "domainChanged" : { - "type" : "boolean", - "description" : "Is domain changed" - }, - "openLdapConfiguration" : { - "$ref" : "#/components/schemas/OpenLdapConfiguration" + "propertyName" : "type" + }, + "oneOf" : [ { + "$ref" : "#/components/schemas/cost-basic-charges-settings" + }, { + "$ref" : "#/components/schemas/rate-basic-charges-settings" + } ] + }, + "OneOfCondition" : { + "type" : "object", + "description" : "Condition", + "discriminator" : { + "mapping" : { + "CONDITION_DT" : "#/components/schemas/DT-condition", + "CONDITION_DT_SUPER" : "#/components/schemas/DTSM-condition", + "CONDITION_FAULT" : "#/components/schemas/fault-condition", + "CONDITION_HT" : "#/components/schemas/HT-condition", + "CONDITION_HT_SUPER" : "#/components/schemas/HTSM-condition", + "CONDITION_LOG" : "#/components/schemas/log-condition", + "CONDITION_MESSAGE_EVENT" : "#/components/schemas/message-event-condition", + "CONDITION_METRIC_EVENT" : "#/components/schemas/metric-event-condition", + "CONDITION_PROPERTY" : "#/components/schemas/PropertyCondition", + "CONDITION_PROPERTY_NUMERIC" : "#/components/schemas/numeric-property-condition", + "CONDITION_PROPERTY_STRING" : "#/components/schemas/string-property-condition" }, - "primaryDomainController" : { - "$ref" : "#/components/schemas/DomainController" + "propertyName" : "type" + }, + "oneOf" : [ { + "$ref" : "#/components/schemas/HT-condition" + }, { + "$ref" : "#/components/schemas/HTSM-condition" + }, { + "$ref" : "#/components/schemas/DT-condition" + }, { + "$ref" : "#/components/schemas/DTSM-condition" + }, { + "$ref" : "#/components/schemas/PropertyCondition" + }, { + "$ref" : "#/components/schemas/numeric-property-condition" + }, { + "$ref" : "#/components/schemas/string-property-condition" + }, { + "$ref" : "#/components/schemas/fault-condition" + }, { + "$ref" : "#/components/schemas/message-event-condition" + }, { + "$ref" : "#/components/schemas/metric-event-condition" + }, { + "$ref" : "#/components/schemas/log-condition" + } ] + }, + "OneOfErrorMessage" : { + "type" : "object", + "description" : "Error message", + "discriminator" : { + "mapping" : { + "CertificatesError" : "#/components/schemas/certificates-error", + "Error" : "#/components/schemas/error" }, - "secondaryDomainController" : { - "$ref" : "#/components/schemas/DomainController" + "propertyName" : "type" + }, + "oneOf" : [ { + "$ref" : "#/components/schemas/certificates-error" + }, { + "$ref" : "#/components/schemas/error" + } ] + }, + "OneOfFormattingTemplate" : { + "type" : "object", + "description" : "Formatting template", + "discriminator" : { + "mapping" : { + "EMAIL_TEMPLATE" : "#/components/schemas/email-formatting-template", + "WEBHOOK_TEMPLATE" : "#/components/schemas/webhook-template" }, - "type" : { - "type" : "string", - "description" : "Ldap directory type" - } + "propertyName" : "type" }, - "required" : [ "baseDn", "bindDn", "type" ] + "oneOf" : [ { + "$ref" : "#/components/schemas/webhook-template" + }, { + "$ref" : "#/components/schemas/email-formatting-template" + } ] }, - "LdapConfiguration" : { + "OneOfNamedRate" : { "type" : "object", - "description" : "Ldap configuration", - "properties" : { - "domains" : { - "type" : "array", - "description" : "List of domain names of the associated directory", - "items" : { - "type" : "string", - "description" : "List of domain names of the associated directory" - } - }, - "ldapBindConfiguration" : { - "$ref" : "#/components/schemas/LdapBindConfiguration" - }, - "ldapConfigurationId" : { - "type" : "string", - "format" : "uuid", - "description" : "Ldap configuration Id" + "description" : "Named Rate", + "discriminator" : { + "mapping" : { + "named-charged-power-state-rate" : "#/components/schemas/named-charged-power-state-rate", + "named-rate" : "#/components/schemas/named-rate" }, - "name" : { - "type" : "string", - "description" : "Ldap configuration name", - "minLength" : 1 - } + "propertyName" : "type" }, - "required" : [ "domains", "ldapBindConfiguration", "name" ] + "oneOf" : [ { + "$ref" : "#/components/schemas/named-rate" + }, { + "$ref" : "#/components/schemas/named-charged-power-state-rate" + } ] }, - "LdapDirectories" : { + "OneOfOperationSummary" : { "type" : "object", - "description" : "Ldap Configuration Info list", - "properties" : { - "ldapDirectories" : { - "type" : "array", - "description" : "List of Ldap Configuration Info", - "items" : { - "$ref" : "#/components/schemas/LdapDirectory" - } - } - } + "description" : "Operations summaries", + "discriminator" : { + "mapping" : { + "export" : "#/components/schemas/export-operation-summary", + "import" : "#/components/schemas/import-operation-summary" + }, + "propertyName" : "type" + }, + "oneOf" : [ { + "$ref" : "#/components/schemas/import-operation-summary" + }, { + "$ref" : "#/components/schemas/export-operation-summary" + } ] }, - "LdapDirectory" : { + "OneOfSymptomSet" : { "type" : "object", - "description" : "Ldap Configuration Info", - "properties" : { - "domainControllerHost" : { - "type" : "string", - "description" : "Domain Controller hostname" - }, - "domainControllerPort" : { - "type" : "integer", - "format" : "int32", - "description" : "Domain Controller port" - }, - "domains" : { - "type" : "array", - "description" : "List of domains", - "items" : { - "type" : "string", - "description" : "List of domains" - }, - "uniqueItems" : true - }, - "lastSyncDateTime" : { - "type" : "integer", - "format" : "int64", - "description" : "Last Sync date and time, in milliseconds (epoch)" - }, - "lastSyncStatus" : { - "type" : "string", - "description" : "Status of an LDAP sync execution", - "enum" : [ "STARTED", "IN_PROGRESS", "FAILED", "COMPLETED", "UNKNOWN" ] - }, - "ldapConfigurationId" : { - "type" : "string", - "format" : "uuid", - "description" : "Ldap configuration Id" - }, - "name" : { - "type" : "string", - "description" : "Name of the LDAP configuration" - }, - "numberOfAlerts" : { - "type" : "integer", - "format" : "int64", - "description" : "Number of alerts" - }, - "numberOfGroups" : { - "type" : "integer", - "format" : "int64", - "description" : "Number of groups synced" + "description" : "Base symptom set", + "discriminator" : { + "mapping" : { + "SYMPTOM_SET" : "#/components/schemas/symptom-set", + "SYMPTOM_SET_COMPOSITE" : "#/components/schemas/composite-symptom-set" }, - "numberOfUsers" : { - "type" : "integer", - "format" : "int64", - "description" : "Number of users synced" + "propertyName" : "type" + }, + "oneOf" : [ { + "$ref" : "#/components/schemas/composite-symptom-set" + }, { + "$ref" : "#/components/schemas/symptom-set" + } ] + }, + "OneOfTagBasedRate" : { + "type" : "object", + "description" : "Tag Based Rate", + "discriminator" : { + "mapping" : { + "vc-tag-based-rate-factor" : "#/components/schemas/vc-tag-based-rate-factor" }, - "setupStatus" : { - "type" : "string", - "description" : "Ldap directory setup status", - "enum" : [ "INITIAL", "COMPLETED", "UNKNOWN" ] + "propertyName" : "type" + }, + "oneOf" : [ { + "$ref" : "#/components/schemas/vc-tag-based-rate-factor" + } ] + }, + "OneOfTaggingTaskResult" : { + "type" : "object", + "description" : "OneOf interface for TaggingTaskResult", + "discriminator" : { + "mapping" : { + "PULL_FROM_ADAPTER" : "#/components/schemas/TaggingPullTaskResult", + "PUSH_TO_ADAPTER" : "#/components/schemas/TaggingPushTaskResult", + "TAG_ASSIGNMENT" : "#/components/schemas/TaggingAssignmentTaskResult" }, - "vidbDirectoryId" : { - "type" : "string", - "format" : "uuid", - "description" : "Vidb directory Id" - } + "propertyName" : "type" }, - "required" : [ "lastSyncStatus" ] + "oneOf" : [ { + "$ref" : "#/components/schemas/TaggingAssignmentTaskResult" + }, { + "$ref" : "#/components/schemas/TaggingPullTaskResult" + }, { + "$ref" : "#/components/schemas/TaggingPushTaskResult" + } ] }, - "LdapGroup" : { + "OpenLdapConfiguration" : { "type" : "object", - "description" : "Information about a group in an LDAP directory", + "description" : "Open ldap configuration", "properties" : { - "baseDn" : { + "bindUserFilterQuery" : { "type" : "string", - "description" : "Base distinguished name directory in which the group exists" - }, - "compliant" : { - "type" : "boolean", - "description" : "Field Valid and compliant with attributes validation" + "description" : "Custom filter query for bind user in the schema" }, - "dn" : { + "directorySearchGroupAttribute" : { "type" : "string", - "description" : "Full distinguished name of the group" + "description" : "Group attribute for Open LDAP query" }, - "name" : { + "directorySearchUserAttribute" : { "type" : "string", - "description" : "Name of the group" + "description" : "User attribute for an Open LDAP query" }, - "objectGuid" : { + "groupsFilterQuery" : { "type" : "string", - "description" : "Unique ID of the group defined in the LDAP directory" - }, - "selectAll" : { - "type" : "boolean", - "description" : "Select all groups for a baseDn" + "description" : "Custom filter query for groups in the schema" }, - "validationResult" : { - "$ref" : "#/components/schemas/ValidationResult" - } - }, - "required" : [ "baseDn" ] - }, - "LdapGroups" : { - "type" : "object", - "description" : "Information about groups in an LDAP directory", - "properties" : { - "ldapGroups" : { - "type" : "array", - "description" : "List of LDAP groups", - "items" : { - "$ref" : "#/components/schemas/LdapGroup" - } - } - } - }, - "LdapQuery" : { - "type" : "object", - "description" : "Lookup request used to find users and groups in an LDAP directory", - "properties" : { - "searchDn" : { + "membershipAttribute" : { "type" : "string", - "description" : "Base distinguished name directory in which to perform the search", - "minLength" : 1 + "description" : "Membership attribute for groups in the schema" }, - "searchTerm" : { + "objectUuidAttribute" : { "type" : "string", - "description" : "Constrains the search to entries starting with this string" - } - }, - "required" : [ "searchDn" ] - }, - "LdapSyncDetails" : { - "type" : "object", - "description" : "Details of LDAP sync operation", - "properties" : { - "groupsAdded" : { - "type" : "integer", - "format" : "int64", - "description" : "Number of groups added during the sync execution" - }, - "groupsRemoved" : { - "type" : "integer", - "format" : "int64", - "description" : "Number of groups removed during the sync execution" - }, - "groupsUpdated" : { - "type" : "integer", - "format" : "int64", - "description" : "Number of groups updated during the sync execution" + "description" : "Name of the UUID attribute for user or group in the schema" }, - "syncEndTime" : { - "type" : "integer", - "format" : "int64", - "description" : "Ending date and time of the sync execution, in milliseconds (epoch)" + "uniquelyIdentifiableAttributeForGroup" : { + "type" : "string", + "description" : "Distinguished name attribute for group in the schema" }, - "usersAdded" : { - "type" : "integer", - "format" : "int64", - "description" : "Number of users added during the sync execution" + "uniquelyIdentifiableAttributeForUser" : { + "type" : "string", + "description" : "Distinguished name attribute for user in the schema" }, - "usersRemoved" : { - "type" : "integer", - "format" : "int64", - "description" : "Number of users removed during the sync execution" + "userMembershipsFilterQuery" : { + "type" : "string", + "description" : "Custom filter query for user memberships in the schema" }, - "usersUpdated" : { - "type" : "integer", - "format" : "int64", - "description" : "Number of users updated during the sync execution" + "usersFilterQuery" : { + "type" : "string", + "description" : "Custom filter query for Users in the schema" } - } + }, + "required" : [ "bindUserFilterQuery", "groupsFilterQuery", "objectUuidAttribute", "usersFilterQuery" ] }, - "LdapSyncLog" : { + "OpenSSLCertificateAuthoritySpec" : { "type" : "object", - "description" : "Information about an LDAP sync execution", + "description" : "Represents OpenSSL Certificate Authority", "properties" : { - "id" : { + "commonName" : { "type" : "string", - "format" : "uuid", - "description" : "LDAP sync execution UUID" - }, - "success" : { - "type" : "boolean", - "description" : "Whether the sync operation was successful" + "description" : "CommonName", + "pattern" : "^[^<>]*$" }, - "syncDetails" : { - "$ref" : "#/components/schemas/LdapSyncDetails" + "country" : { + "type" : "string", + "description" : "Country", + "pattern" : "^[^<>]*$" }, - "syncResult" : { + "locality" : { "type" : "string", - "description" : "Result of the sync operation" + "description" : "Locality", + "pattern" : "^[^<>]*$" }, - "syncResultMessageKey" : { + "organization" : { "type" : "string", - "description" : "Property containing the sync failure code" + "description" : "Organization", + "pattern" : "^[^<>]*$" }, - "syncType" : { + "organizationUnit" : { "type" : "string", - "description" : "Type of the sync operation" + "description" : "Organization Unit", + "pattern" : "^[^<>]*$" }, - "timeStamp" : { - "type" : "integer", - "format" : "int64", - "description" : "Date and time at which the sync operation executed, in milliseconds (epoch)" + "state" : { + "type" : "string", + "description" : "State", + "pattern" : "^[^<>]*$" } - }, - "required" : [ "syncResultMessageKey" ] + } }, - "LdapSyncLogs" : { + "PasswordPolicies" : { "type" : "object", - "description" : "Ldap Sync Logs response response, wrapper of Ldap Sync Logs", + "description" : "Paginated list of password policies", "properties" : { "links" : { "type" : "array", @@ -24845,225 +27672,136 @@ "pageInfo" : { "$ref" : "#/components/schemas/page-info" }, - "syncLogs" : { - "type" : "array", - "description" : "List of LDAP sync logs", - "items" : { - "$ref" : "#/components/schemas/LdapSyncLog" - } - } - } - }, - "LdapSyncProfile" : { - "type" : "object", - "description" : "Ldap Sync profile", - "properties" : { - "includeNestedGroupsAndMembers" : { - "type" : "boolean", - "description" : "Whether the nested Group Search is enabled" - }, - "ldapGroups" : { - "type" : "array", - "description" : "Provisioned groups", - "items" : { - "$ref" : "#/components/schemas/LdapGroup" - } - }, - "ldapUsers" : { - "type" : "array", - "description" : "Provisioned users", - "items" : { - "$ref" : "#/components/schemas/LdapUser" - } - }, - "syncSchedule" : { - "$ref" : "#/components/schemas/LdapSyncSchedule" - }, - "userAttributeMappings" : { + "policies" : { "type" : "array", - "description" : "List of user attribute mappings", + "description" : "Matching policies for the current page (union of query filters, deduplicated)", "items" : { - "$ref" : "#/components/schemas/LdapUserAttributeMapping" + "$ref" : "#/components/schemas/FleetPasswordPolicy" } } - }, - "required" : [ "userAttributeMappings" ] - }, - "LdapSyncResult" : { - "type" : "object", - "description" : "Result of initiating an LDAP sync operation", - "properties" : { - "syncStatus" : { - "type" : "string", - "description" : "Status of an LDAP sync execution", - "enum" : [ "STARTED", "IN_PROGRESS", "FAILED", "COMPLETED", "UNKNOWN" ] - } } }, - "LdapSyncSchedule" : { + "PasswordPolicyComponent" : { "type" : "object", - "description" : "Sync schedule", + "description" : "Password policy managed component within a component group resource", "properties" : { - "dayOfTheWeek" : { - "type" : "string", - "description" : "Days of the Week", - "enum" : [ "UNKNOWN", "SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY" ] - }, - "frequency" : { - "type" : "string", - "description" : "Ldap sync frequency", - "enum" : [ "WEEKLY", "DAILY", "TWELVE_HOURS", "SIX_HOURS", "TWO_HOURS", "HOURLY", "FIFTEEN_MINUTES", "MANUALLY", "UNKNOWN" ] - }, - "hours" : { - "type" : "integer", - "format" : "int32", - "description" : "Hour of the day on which sync is first scheduled" - }, - "minutes" : { + "complianceUpdatedAt" : { "type" : "integer", - "format" : "int32", - "description" : "Minute at which sync is first scheduled" + "format" : "int64", + "description" : "Epoch millis when compliance was last updated for this component" }, - "seconds" : { - "type" : "integer", - "format" : "int32", - "description" : "Second at which sync is first scheduled" - } - }, - "required" : [ "frequency" ] - }, - "LdapUser" : { - "type" : "object", - "description" : "Information about a user in an LDAP directory", - "properties" : { - "baseDn" : { + "componentComplianceStatus" : { "type" : "string", - "description" : "Base distinguished name directory in which the user exists" + "description" : "Compliance status of the component group or component with respect to the password policy", + "enum" : [ "COMPLIANT", "NON_COMPLIANT", "NOT_ELIGIBLE", "IN_PROGRESS", "PENDING", "FAILED", "NO_POLICY", "UNKNOWN" ] }, - "dn" : { + "componentDisplayName" : { "type" : "string", - "description" : "Full distinguished name of the user" + "description" : "Component display name" }, - "mail" : { + "componentResourceFqdn" : { "type" : "string", - "description" : "Email address of the user in UPN format" + "description" : "Component resource FQDN" }, - "name" : { + "componentResourceId" : { "type" : "string", - "description" : "Name of the user" + "format" : "uuid", + "description" : "Component resource ID" }, - "userId" : { + "componentResourceName" : { "type" : "string", - "description" : "User ID defined in LDAP directory" - } - }, - "required" : [ "baseDn", "dn", "name", "userId" ] - }, - "LdapUserAttributeMapping" : { - "type" : "object", - "description" : "Ldap User Attribute Mapping", - "properties" : { - "attributeName" : { - "type" : "string", - "description" : "Vidb Attribute Name", - "minLength" : 1 + "description" : "Component resource name" }, - "directoryAttributeName" : { + "componentResourceType" : { "type" : "string", - "description" : "Directory Attribute Name", - "minLength" : 1 + "description" : "Component resource type" }, - "required" : { + "isClustered" : { "type" : "boolean", - "description" : "Indicates whether it is a required attribute" - } - }, - "required" : [ "attributeName", "directoryAttributeName" ] - }, - "LdapUsers" : { - "type" : "object", - "description" : "Information about users in an LDAP directory", - "properties" : { - "ldapUsers" : { - "type" : "array", - "description" : "List of LDAP users", - "items" : { - "$ref" : "#/components/schemas/LdapUser" - } + "description" : "Indicates whether the component belongs to a multi-cluster workload domain" + }, + "snapshot" : { + "$ref" : "#/components/schemas/PasswordPolicySnapshot" } } }, - "LicenseInfo" : { + "PasswordPolicyComponentGroup" : { "type" : "object", - "description" : "Model represents license info", + "description" : "Password policy managed component group resource", "properties" : { - "expirationDate" : { + "complianceUpdatedAt" : { "type" : "integer", "format" : "int64", - "description" : "license expiration date" + "description" : "Epoch millis when compliance was updated" }, - "licenseKey" : { + "componentGroup" : { "type" : "string", - "deprecated" : true, - "description" : "license key replaced with license name for VCF licenses" + "description" : "Identifies the specific group the component belongs to: FLEET, MANAGEMENT, or INSTANCE.", + "enum" : [ "FLEET", "MANAGEMENT", "INSTANCE", "UNKNOWN" ] }, - "licenseName" : { + "componentGroupComplianceStatus" : { "type" : "string", - "description" : "license name" - }, - "licensed" : { - "type" : "boolean", - "description" : "licensed" - } - } - }, - "LogsQueryConfig" : { - "type" : "object", - "description" : "Logs query config", - "properties" : { - "dateRange" : { - "$ref" : "#/components/schemas/LogsQueryDateRange" + "description" : "Compliance status of the component group or component with respect to the password policy", + "enum" : [ "COMPLIANT", "NON_COMPLIANT", "NOT_ELIGIBLE", "IN_PROGRESS", "PENDING", "FAILED", "NO_POLICY", "UNKNOWN" ] }, - "description" : { + "componentGroupResourceFqdn" : { "type" : "string", - "description" : "Description of Query Configuration." + "description" : "Component group resource FQDN" }, - "id" : { + "componentGroupResourceId" : { "type" : "string", "format" : "uuid", - "description" : "Identifier of Query Configuration." - }, - "lastModifiedTime" : { - "type" : "integer", - "format" : "int64", - "description" : "Last modified time of Query Configuration." + "description" : "Component group resource ID" }, - "modifiedBy" : { + "componentGroupResourceName" : { "type" : "string", - "description" : "Username of the last user who modified it." + "description" : "Component group resource name" }, - "name" : { + "policyId" : { "type" : "string", - "description" : "Name of Query Configuration." + "format" : "uuid", + "description" : "Password policy ID for this component group row (from drift summary when available)" }, - "queryFilters" : { - "$ref" : "#/components/schemas/log-query-filters" + "policyName" : { + "type" : "string", + "description" : "Password policy display name for this component group row (from drift summary when available)" }, - "queryText" : { + "taskType" : { + "type" : "string", + "description" : "Policy operations task type", + "enum" : [ "POLICY_APPLY", "POLICY_DETACH", "POLICY_RETRY", "POLICY_REMEDIATE", "COMPLIANCE_RUN", "UNKNOWN" ] + } + } + }, + "PasswordPolicyComponentGroups" : { + "type" : "object", + "description" : "List of password policy managed component groups", + "properties" : { + "links" : { "type" : "array", - "description" : "Texts for Query Configuration.", + "description" : "Collection of links", "items" : { - "type" : "string", - "description" : "Texts for Query Configuration." + "$ref" : "#/components/schemas/link" }, - "minItems" : 1 + "xml" : { + "wrapped" : true + } + }, + "pageInfo" : { + "$ref" : "#/components/schemas/page-info" + }, + "results" : { + "type" : "array", + "description" : "Paged component group resources matching the query", + "items" : { + "$ref" : "#/components/schemas/PasswordPolicyComponentGroup" + } } - }, - "required" : [ "dateRange", "name", "queryText" ] + } }, - "LogsQueryConfigs" : { + "PasswordPolicyComponents" : { "type" : "object", - "description" : "Logs query configs", + "description" : "List of components within a password policy managed component group", "properties" : { "links" : { "type" : "array", @@ -25075,1601 +27813,1880 @@ "wrapped" : true } }, - "logsQueryConfigs" : { + "pageInfo" : { + "$ref" : "#/components/schemas/page-info" + }, + "results" : { "type" : "array", - "description" : "Collection of Query Configurations.", + "description" : "Paged components matching the query within the policy-managed component group context", "items" : { - "$ref" : "#/components/schemas/LogsQueryConfig" + "$ref" : "#/components/schemas/PasswordPolicyComponent" } - }, - "pageInfo" : { - "$ref" : "#/components/schemas/page-info" } } }, - "LogsQueryDateRange" : { + "PasswordPolicyQuery" : { "type" : "object", - "description" : "Logs query date range. Either both startTime and endTime should be null with a non-null fixedRange, or both startTime and endTime should be non-null with startTime less than endTime and fixedRange null.", + "description" : "Retrieves a list of policies based on the provided query parameters. \n\n**Filtering Behavior:**\nWhen `policyIds`, `policyNames`, and/or `fleet` are set, every returned policy must satisfy **all** non-empty dimensions (logical AND). Within `policyIds` or `policyNames`, multiple values are OR (match any listed id, or any listed name). If no policy matches every active filter, the result list is empty.", "properties" : { - "endTime" : { - "type" : "integer", - "format" : "int64", - "description" : "End time in milliseconds." - }, - "fixedRange" : { - "$ref" : "#/components/schemas/LogsQueryDateRangeValues" + "fleet" : { + "type" : "boolean", + "description" : "When true, returns only fleet-wide policies. When false, returns only non-fleet policies. When omitted, all policies are returned regardless of fleet designation." }, - "startTime" : { - "type" : "integer", - "format" : "int64", - "description" : "Start time in milliseconds." - } - } - }, - "LogsQueryDateRangeValues" : { - "type" : "string", - "description" : "Date range enum", - "enum" : [ "LAST_5_MINS", "LAST_HOUR", "LAST_6_HOUR", "LAST_12_HOUR", "LAST_24_HOUR", "LAST_7_DAYS", "LAST_30_DAYS", "CURRENT_MONTH", "TODAY", "LAST_DAY", "LAST_WEEK", "LAST_MONTH", "UNKNOWN" ] - }, - "MeteringDetail" : { - "type" : "object", - "description" : "The metering details of the sub metering items of the bill", - "properties" : { - "instances" : { + "policyIds" : { "type" : "array", + "description" : "List of policy ids to be queried", "items" : { - "$ref" : "#/components/schemas/MeteringDetail" - } - }, - "name" : { - "type" : "string", - "description" : "The name of the component" - }, - "price" : { - "type" : "number", - "format" : "double", - "description" : "The price of the component" + "type" : "string", + "format" : "uuid", + "description" : "List of policy ids to be queried" + }, + "maxItems" : 100, + "minItems" : 0 }, - "usage" : { - "type" : "number", - "format" : "double" + "policyNames" : { + "type" : "array", + "description" : "List of policy names to be queried", + "items" : { + "type" : "string", + "description" : "List of policy names to be queried", + "maxLength" : 255, + "minLength" : 0 + }, + "maxItems" : 100, + "minItems" : 0 } - }, - "required" : [ "instances", "name", "price", "usage" ] + } }, - "MicrosoftCertificateAuthoritySpec" : { + "PasswordPolicySnapshot" : { "type" : "object", - "description" : "Represents Microsoft Certificate Authority", + "description" : "Current vs desired password policy constraints snapshot", "properties" : { - "secret" : { - "type" : "string", - "description" : "Secret", - "pattern" : "^[^<>]*$" - }, - "serverUrl" : { - "type" : "string", - "description" : "Microsoft Certificate Authority URL", - "pattern" : "^[^<>]*$" - }, - "templateName" : { + "current" : { "type" : "string", - "description" : "Name of Template", - "pattern" : "^[^<>]*$" + "description" : "Current policy constraints" }, - "username" : { + "desired" : { "type" : "string", - "description" : "Username", - "pattern" : "^[^<>]*$" + "description" : "Desired policy constraints" } } }, - "NSXTIntegration" : { + "PasswordPolicyTask" : { "type" : "object", - "description" : "A model that represents NSXT integration details of VCF domain.", - "properties" : { - "certificates" : { - "type" : "array", - "description" : "Trusted certificates of NSXT integration", - "items" : { - "$ref" : "#/components/schemas/certificate" + "allOf" : [ { + "$ref" : "#/components/schemas/PasswordPolicyTaskSummary" + }, { + "type" : "object", + "properties" : { + "componentGroupsComplianceStatistics" : { + "type" : "array", + "description" : "Number of component group rows per compliance status", + "items" : { + "$ref" : "#/components/schemas/ComplianceStatusCount" + } + }, + "targetComponentGroupsState" : { + "type" : "array", + "description" : "Latest state per component group affected by the task", + "items" : { + "$ref" : "#/components/schemas/PasswordPolicyComponentGroup" + } } - }, - "credentialId" : { - "type" : "string", - "format" : "uuid", - "description" : "NSXT credential id." - }, - "enabled" : { - "type" : "boolean", - "default" : false, - "description" : "Indicates whether NSXT enabled or not for current VCF domain" - }, - "id" : { - "type" : "string", - "format" : "uuid", - "description" : "Resource id of NSXT integration" - }, - "serviceCredentialsUsed" : { - "type" : "boolean", - "description" : "Flag that indicates whether service credentials are used or not." - }, - "url" : { - "type" : "string", - "description" : "NSXT integration url" } - } + } ], + "description" : "Detailed state of the policy tasks invoked on component group(s)", + "required" : [ ] }, - "NameIdFormatAttributeMapping" : { + "PasswordPolicyTaskSummary" : { "type" : "object", - "description" : "NameIdFormat key and NameIdFormat Value mapping", - "properties" : { - "nameIdFormat" : { - "type" : "string", - "description" : "nameIdFormat Key", - "minLength" : 1 - }, - "nameIdValue" : { - "type" : "string", - "description" : "nameIdFormat Value", - "minLength" : 1 + "allOf" : [ { + "$ref" : "#/components/schemas/BasePasswordPolicyTask" + }, { + "type" : "object", + "properties" : { + "createdAt" : { + "type" : "integer", + "format" : "int64", + "description" : "Task creation time as epoch milliseconds" + }, + "errorMessage" : { + "type" : "string", + "description" : "When taskStatus is FAILED, orchestration error message (not the error from the VCF components, but application exceptions)" + }, + "policyName" : { + "type" : "string", + "description" : "Password policy display name at task creation (persisted with the task)" + }, + "taskStatus" : { + "type" : "string", + "description" : "Policy operations task status", + "enum" : [ "IN_PROGRESS", "COMPLETED", "FAILED", "UNKNOWN" ] + }, + "updatedAt" : { + "type" : "integer", + "format" : "int64", + "description" : "Task last update time as epoch milliseconds" + } } - }, - "required" : [ "nameIdFormat", "nameIdValue" ] + } ], + "description" : "Policy task summary", + "required" : [ ] }, - "NamedUnitValue" : { + "PasswordPolicyTasks" : { "type" : "object", - "description" : "Represents key, value and unit", + "description" : "List of policy tasks invoked on component groups", "properties" : { - "description" : { - "type" : "string", - "description" : "description" - }, - "key" : { - "$ref" : "#/components/schemas/RunScenarioDetails" + "links" : { + "type" : "array", + "description" : "Collection of links", + "items" : { + "$ref" : "#/components/schemas/link" + }, + "xml" : { + "wrapped" : true + } }, - "unit" : { - "type" : "string", - "description" : "unit" + "pageInfo" : { + "$ref" : "#/components/schemas/page-info" }, - "value" : { - "type" : "string", - "description" : "value" + "tasks" : { + "type" : "array", + "description" : "Paged policy task details matching the query", + "items" : { + "$ref" : "#/components/schemas/PasswordPolicyTask" + } } } }, - "NetOpsConfig" : { + "PropertyCondition" : { "type" : "object", - "description" : "The NetOps instance configuration", - "properties" : { - "collectorId" : { - "type" : "string", - "description" : "The NetOps collector instance used by this adapter instance.", - "minLength" : 1 - }, - "dvsIpfixRequest" : { - "$ref" : "#/components/schemas/DvsIpfixRequest" - }, - "enabled" : { - "type" : "boolean", - "description" : "Whether or not to enable network and flow collection for adapter instance. If not provided, it will be enabled by default." - }, - "response" : { - "$ref" : "#/components/schemas/NetOpsConfigResponse" + "allOf" : [ { + "$ref" : "#/components/schemas/condition" + }, { + "type" : "object", + "properties" : { + "instanced" : { + "type" : "boolean", + "description" : "The instance group" + }, + "key" : { + "type" : "string", + "description" : "The StatKey for the condition" + }, + "operator" : { + "type" : "string", + "description" : "Comparison Operator used within the VMware Cloud Foundation Operations Suite API", + "enum" : [ "EQ", "NOT_EQ", "LIKE", "LT", "GT", "LT_EQ", "GT_EQ", "IN", "NOT_IN", "EXISTS", "CONTAINS", "STARTS_WITH", "ENDS_WITH", "NOT_STARTS_WITH", "NOT_ENDS_WITH", "NOT_CONTAINS", "REGEX", "NOT_REGEX", "NOT_EXISTS", "EMPTY", "NOT_EMPTY" ], + "xml" : { + "name" : "compare-operator", + "namespace" : "http://webservice.vmware.com/vRealizeOpsMgr/1.0/" + } + }, + "settingValue" : { + "type" : "string", + "description" : "The setting value" + }, + "targetKey" : { + "type" : "string", + "description" : "A target StatKey to compare the values between two metrics. Required for metric or property threshold type conditions." + }, + "thresholdType" : { + "type" : "string", + "description" : "Enumerate the type of value for the Right-hand side (RHS) of the comparison condition", + "enum" : [ "UNKNOWN", "STATIC", "STATKEY", "PROPERTY" ], + "xml" : { + "name" : "threshold-type", + "namespace" : "http://webservice.vmware.com/vRealizeOpsMgr/1.0/" + } + } } - }, - "required" : [ "collectorId", "dvsIpfixRequest" ] + } ], + "description" : "Base class for Property Conditions. For JSON the class descendants will generate with a field named 'type' with one of the following values: CONDITION_PROPERTY_STRING, CONDITION_PROPERTY_NUMERIC", + "required" : [ "instanced", "key", "operator", "thresholdType" ], + "xml" : { + "name" : "condition", + "namespace" : "http://webservice.vmware.com/vRealizeOpsMgr/1.0/" + } }, - "NetOpsConfigResponse" : { + "ProvisionedComponent" : { "type" : "object", - "description" : "The NetOps data source sync response.", + "description" : "Target component instance details", "properties" : { - "enabled" : { - "type" : "boolean", - "description" : "Whether or not data collection is enabled." - }, - "entity_id" : { + "componentId" : { "type" : "string", - "description" : "Internal ID of data source." - }, - "error" : { - "$ref" : "#/components/schemas/ApiError" + "format" : "uuid", + "description" : "Component ID" }, - "fqdn" : { + "driftResult" : { "type" : "string", - "description" : "Hostname of data source (either IP or FQDN will be present)." + "description" : "Drift result if the component is drifted" }, - "ip" : { + "status" : { "type" : "string", - "description" : "IP address of data source (either IP or FQDN will be present)." + "description" : "Component Provision status", + "enum" : [ "PROVISIONED", "DRIFTED", "FAILED", "IN_PROGRESS", "UNAVAILABLE" ] + } + }, + "required" : [ "componentId" ] + }, + "ProvisioningConfig" : { + "type" : "object", + "description" : "User and Groups provisioning configuration", + "properties" : { + "jitConfiguration" : { + "$ref" : "#/components/schemas/JitConfiguration" }, - "ipfix_response" : { - "$ref" : "#/components/schemas/DvsIpfixResponse" + "ldapConfigurations" : { + "type" : "array", + "description" : "LDAP Configuration details", + "items" : { + "$ref" : "#/components/schemas/LdapConfiguration" + } + } + } + }, + "ProvisioningDetails" : { + "type" : "object", + "description" : "Component Role Provisioning info with source and target details.", + "properties" : { + "provisionedInstances" : { + "type" : "array", + "description" : "List of all the instances with the role provisioned", + "items" : { + "type" : "string", + "format" : "uuid", + "description" : "List of all the instances with the role provisioned" + } }, - "nickname" : { + "sourceComponentId" : { "type" : "string", - "description" : "A friendly nickname for the data source." + "format" : "uuid", + "description" : "Source component ID" }, - "proxy_id" : { + "sourceVcfInstanceId" : { "type" : "string", - "description" : "ID of Collector VM which should register this data source." - }, - "vcfManaged" : { - "type" : "boolean", - "description" : "Whether or not data source is VCF managed." + "format" : "uuid", + "description" : "Source VCF Instance ID" } } }, - "OAuthApp" : { + "RaidLevel" : { + "type" : "string", + "description" : "Raid level", + "enum" : [ "RAID1", "RAID5", "RAID6" ] + }, + "ReclaimRightsizeResource" : { "type" : "object", - "description" : "OAuthApp object", + "description" : "ReclaimRightsizeResource", "properties" : { - "clientId" : { - "type" : "string", - "description" : "Client Id" + "allocatedCpu" : { + "type" : "integer", + "format" : "int32", + "description" : "Allocated CPU to the resource (Available only for Rightsizing)" }, - "clientName" : { - "type" : "string", - "description" : "Client Name" + "allocatedMemory" : { + "type" : "integer", + "format" : "int32", + "description" : "Allocated memory to the resource (Available only for Rightsizing)" }, - "clientSecret" : { - "type" : "string", - "description" : "Client Secret" + "costSaving" : { + "type" : "number", + "format" : "double", + "description" : "Total reclaimable cost" }, - "createdAt" : { + "duration" : { "type" : "integer", - "format" : "int64", - "description" : "Created timestamp" + "format" : "int32", + "description" : "Duration for which resource is orphaned, idle etc" }, "id" : { "type" : "string", - "format" : "uuid", - "description" : "unique identifier for the object" + "description" : "ID of the resource" }, - "issuerUrl" : { + "name" : { "type" : "string", - "description" : "Identity Broker issuer URL" + "description" : "Name of the resource" }, - "logoutUrls" : { + "reclaimableCpu" : { + "type" : "integer", + "format" : "int32", + "description" : "Size of the reclaimable vCPUs" + }, + "reclaimableDiskSpace" : { + "type" : "number", + "format" : "double", + "description" : "Size of the reclaimable disk space (GB)" + }, + "reclaimableMemory" : { + "type" : "number", + "format" : "double", + "description" : "Size of the reclaimable memory (GB)" + } + } + }, + "ReclaimRightsizeResources" : { + "type" : "object", + "description" : "ReclaimRightsizeResources", + "properties" : { + "links" : { "type" : "array", - "description" : "Logout URL List", + "description" : "Collection of links", "items" : { - "type" : "string", - "description" : "Logout URL List" + "$ref" : "#/components/schemas/link" + }, + "xml" : { + "wrapped" : true } }, - "redirectUrls" : { + "pageInfo" : { + "$ref" : "#/components/schemas/page-info" + }, + "reclaimRightsizeResources" : { "type" : "array", - "description" : "Redirect URL List", + "description" : "List of reclaim/rightsizing resources", + "items" : { + "$ref" : "#/components/schemas/ReclaimRightsizeResource" + } + } + } + }, + "ResourceFilter" : { + "type" : "object", + "description" : "Filter for resources. If matchResourceIdOnly is specified, alerts are selected if their resource ids
      match with the 'resourceId' specified in the filter. Otherwise, the system looks at all the resource's children.
      The possible set of children can be further filtered based on the childrenResourceKindKeyFilters.", + "properties" : { + "childrenResourceKindFilters" : { + "type" : "array", + "deprecated" : true, + "description" : "If matchResourceIdOnly is set to false, this set allows the system to further filter children
      based on their Resource Kind keys. This filter is deprecated. Please use childrenResourceKindKeyFilters instead.", "items" : { "type" : "string", - "description" : "Redirect URL List" + "deprecated" : true, + "description" : "If matchResourceIdOnly is set to false, this set allows the system to further filter children
      based on their Resource Kind keys. This filter is deprecated. Please use childrenResourceKindKeyFilters instead." + }, + "uniqueItems" : true + }, + "childrenResourceKindKeyFilters" : { + "type" : "array", + "description" : "Filter based on children resource kind keys.", + "items" : { + "$ref" : "#/components/schemas/resource-kind-key" + }, + "uniqueItems" : true + }, + "matchResourceIdOnly" : { + "type" : "boolean", + "description" : "Deprecated, will be removed after couple of releases. Please use relationship instead.
      If set to true, the rule engine does not evaluate the resource's children. Default value is: false.
      NOTE: If set to true, childrenResourceKindKeyFilters has to be empty." + }, + "relationship" : { + "type" : "string", + "description" : "Relationship Types between resources. All relationships are many-to-many.
      Representation names are plural.", + "enum" : [ "PARENT", "CHILD", "CONTAINS", "CONTAINED_BY", "REFERENCES", "REFERENCED_BY", "USES", "USED_BY", "SELF", "DESCENDANT", "ANCESTOR", "TST", "ALL" ], + "xml" : { + "attribute" : true, + "name" : "relationship-type", + "namespace" : "http://webservice.vmware.com/vRealizeOpsMgr/1.0/" } }, - "ssoRealmId" : { + "resourceId" : { "type" : "string", "format" : "uuid", - "description" : "Sso Realm Id" - }, - "updatedAt" : { - "type" : "integer", - "format" : "int64", - "description" : "Updated timestamp" + "description" : "Id of the resource that should be matched against the generated alert", + "xml" : { + "attribute" : true + } } }, - "required" : [ "clientName" ] + "required" : [ "resourceId" ] }, - "OAuthApps" : { + "ResourceIdentifierDetails" : { "type" : "object", - "description" : "List of OAuth Apps", + "allOf" : [ { + "$ref" : "#/components/schemas/resource-identifier-type" + }, { + "type" : "object", + "properties" : { + "defaultValue" : { + "type" : "string", + "description" : "Default value of resource Identifier" + } + } + } ], + "description" : "Details of resource identifier", + "required" : [ ], + "xml" : { + "name" : "resource-identifier-type", + "namespace" : "http://webservice.vmware.com/vRealizeOpsMgr/1.0/" + } + }, + "ResourceIdentifiersDetails" : { + "type" : "object", + "description" : "Represents List of resource identifiers details", "properties" : { - "oauthApps" : { + "resourceIdentifiersDetails" : { "type" : "array", - "description" : "List of oauth app instances", "items" : { - "$ref" : "#/components/schemas/OAuthApp" + "$ref" : "#/components/schemas/ResourceIdentifierDetails" } } } }, - "OidcConfiguration" : { + "ResourceKindFilter" : { + "type" : "object", + "description" : "Filter based on the resource kind", + "properties" : { + "adapterKind" : { + "type" : "string", + "description" : "Adapter kind of a resource" + }, + "resourceKind" : { + "type" : "string", + "description" : "Resource kind of a resource" + } + } + }, + "ResourceSaltStatus" : { "type" : "object", - "description" : "Oidc Configuration Details", + "description" : "Represents the status of a Salt-managed resource as reported by a Minion.", "properties" : { - "clientId" : { - "type" : "string", - "description" : "Client ID of the OAuth app used to connect to IDP", - "minLength" : 1 - }, - "clientSecret" : { - "type" : "string", - "description" : "Client Secret of the OAuth app used to connect to IDP" - }, - "discoveryEndpoint" : { + "minionId" : { "type" : "string", - "description" : "OIDC Discovery endpoint", - "minLength" : 1 + "description" : "Unique identifier of the Minion reporting this resource status." }, - "internalUserIdentifierAttribute" : { + "resourceId" : { "type" : "string", - "description" : "Internal User Identifier Attribute." + "format" : "uuid", + "description" : "Unique identifier of the Salt-managed resource." }, - "openIdUserIdentifierAttribute" : { + "status" : { "type" : "string", - "description" : "Open Id User Identifier attribute." + "description" : "Minion Status", + "enum" : [ "CONNECTED", "DISCONNECTED", "DISABLED", "UNKNOWN" ] } }, - "required" : [ "clientId", "discoveryEndpoint" ] + "required" : [ "resourceId", "status" ] }, - "OidcJitConfiguration" : { + "ResourceSaltStatuses" : { "type" : "object", - "description" : "OIDC JIT Configuration", + "description" : "Paginated list of resource status entries reported by Minions.", "properties" : { - "internalUserIdentifierAttribute" : { - "type" : "string", - "description" : "Internal User Identifier Attribute" + "links" : { + "type" : "array", + "description" : "Collection of links", + "items" : { + "$ref" : "#/components/schemas/link" + }, + "xml" : { + "wrapped" : true + } }, - "openIdUserIdentifierAttribute" : { - "type" : "string", - "description" : "OpenId User Identifier Attribute" + "pageInfo" : { + "$ref" : "#/components/schemas/page-info" }, - "userAttributeMappings" : { + "resources" : { "type" : "array", - "description" : "User Attribute Mappings", + "description" : "List of resource status entries for the current page.", "items" : { - "$ref" : "#/components/schemas/UserAttributeMapping" + "$ref" : "#/components/schemas/ResourceSaltStatus" } } } }, - "OneOfBasicChargesSetting" : { - "type" : "object", - "description" : "Basic charges settings", - "discriminator" : { - "mapping" : { - "cost-basic-charges-settings" : "#/components/schemas/cost-basic-charges-settings", - "rate-basic-charges-settings" : "#/components/schemas/rate-basic-charges-settings" - }, - "propertyName" : "type" - }, - "oneOf" : [ { - "$ref" : "#/components/schemas/cost-basic-charges-settings" - }, { - "$ref" : "#/components/schemas/rate-basic-charges-settings" - } ] - }, - "OneOfCondition" : { - "type" : "object", - "description" : "Condition", - "discriminator" : { - "mapping" : { - "CONDITION_DT" : "#/components/schemas/DT-condition", - "CONDITION_DT_SUPER" : "#/components/schemas/DTSM-condition", - "CONDITION_FAULT" : "#/components/schemas/fault-condition", - "CONDITION_HT" : "#/components/schemas/HT-condition", - "CONDITION_HT_SUPER" : "#/components/schemas/HTSM-condition", - "CONDITION_LOG" : "#/components/schemas/log-condition", - "CONDITION_MESSAGE_EVENT" : "#/components/schemas/message-event-condition", - "CONDITION_METRIC_EVENT" : "#/components/schemas/metric-event-condition", - "CONDITION_PROPERTY" : "#/components/schemas/PropertyCondition", - "CONDITION_PROPERTY_NUMERIC" : "#/components/schemas/numeric-property-condition", - "CONDITION_PROPERTY_STRING" : "#/components/schemas/string-property-condition" - }, - "propertyName" : "type" - }, - "oneOf" : [ { - "$ref" : "#/components/schemas/HT-condition" - }, { - "$ref" : "#/components/schemas/HTSM-condition" - }, { - "$ref" : "#/components/schemas/DT-condition" - }, { - "$ref" : "#/components/schemas/DTSM-condition" - }, { - "$ref" : "#/components/schemas/PropertyCondition" - }, { - "$ref" : "#/components/schemas/numeric-property-condition" - }, { - "$ref" : "#/components/schemas/string-property-condition" - }, { - "$ref" : "#/components/schemas/fault-condition" - }, { - "$ref" : "#/components/schemas/message-event-condition" - }, { - "$ref" : "#/components/schemas/metric-event-condition" - }, { - "$ref" : "#/components/schemas/log-condition" - } ] - }, - "OneOfErrorMessage" : { - "type" : "object", - "description" : "Error message", - "discriminator" : { - "mapping" : { - "CertificatesError" : "#/components/schemas/certificates-error", - "Error" : "#/components/schemas/error" - }, - "propertyName" : "type" - }, - "oneOf" : [ { - "$ref" : "#/components/schemas/certificates-error" - }, { - "$ref" : "#/components/schemas/error" - } ] - }, - "OneOfFormattingTemplate" : { + "ResourceSelection" : { "type" : "object", - "description" : "Formatting template", - "discriminator" : { - "mapping" : { - "EMAIL_TEMPLATE" : "#/components/schemas/email-formatting-template", - "WEBHOOK_TEMPLATE" : "#/components/schemas/webhook-template" + "description" : "A selection type and set of resource ids.", + "properties" : { + "resourceId" : { + "type" : "array", + "description" : "Set of resource uuids", + "items" : { + "type" : "string", + "format" : "uuid", + "description" : "Set of resource uuids", + "xml" : { + "name" : "resourceId" + } + }, + "uniqueItems" : true }, - "propertyName" : "type" + "type" : { + "type" : "string", + "description" : "Enumerated type for how resources can be selected", + "enum" : [ "PROPAGATE", "UNPROPAGATE", "SPECIFIC" ], + "xml" : { + "attribute" : true, + "name" : "resource-selection-type", + "namespace" : "http://webservice.vmware.com/vRealizeOpsMgr/1.0/" + } + } }, - "oneOf" : [ { - "$ref" : "#/components/schemas/webhook-template" - }, { - "$ref" : "#/components/schemas/email-formatting-template" - } ] + "required" : [ "resourceId", "type" ] }, - "OneOfNamedRate" : { + "ResourceStatGroupList" : { "type" : "object", - "description" : "Named Rate", - "discriminator" : { - "mapping" : { - "named-charged-power-state-rate" : "#/components/schemas/named-charged-power-state-rate", - "named-rate" : "#/components/schemas/named-rate" + "properties" : { + "groupBy" : { + "type" : "string", + "description" : "Enumeration of the available Grouping for topN", + "enum" : [ "RESOURCE", "STATKEY" ] }, - "propertyName" : "type" - }, - "oneOf" : [ { - "$ref" : "#/components/schemas/named-rate" - }, { - "$ref" : "#/components/schemas/named-charged-power-state-rate" - } ] - }, - "OneOfOperationSummary" : { - "type" : "object", - "description" : "Operations summaries", - "discriminator" : { - "mapping" : { - "export" : "#/components/schemas/export-operation-summary", - "import" : "#/components/schemas/import-operation-summary" + "resourceStatGroups" : { + "type" : "array", + "description" : "Collection of resource stat groups", + "items" : { + "$ref" : "#/components/schemas/resource-stat-group" + }, + "xml" : { + "wrapped" : true + } }, - "propertyName" : "type" - }, - "oneOf" : [ { - "$ref" : "#/components/schemas/import-operation-summary" - }, { - "$ref" : "#/components/schemas/export-operation-summary" - } ] + "sortOrder" : { + "type" : "string", + "description" : "The sort order", + "enum" : [ "ASCENDING", "DESCENDING" ], + "xml" : { + "name" : "sort-order", + "namespace" : "http://webservice.vmware.com/vRealizeOpsMgr/1.0/" + } + } + } }, - "OneOfSymptomSet" : { + "RoleAssignmentResource" : { "type" : "object", - "description" : "Base symptom set", - "discriminator" : { - "mapping" : { - "SYMPTOM_SET" : "#/components/schemas/symptom-set", - "SYMPTOM_SET_COMPOSITE" : "#/components/schemas/composite-symptom-set" + "description" : "Represents a resource assigned to a role", + "properties" : { + "id" : { + "type" : "string", + "description" : "Id of the resource", + "minLength" : 1 }, - "propertyName" : "type" + "name" : { + "type" : "string", + "description" : "Name of the resource" + } }, - "oneOf" : [ { - "$ref" : "#/components/schemas/composite-symptom-set" - }, { - "$ref" : "#/components/schemas/symptom-set" - } ] + "required" : [ "id" ] }, - "OneOfTagBasedRate" : { + "RoleScope" : { "type" : "object", - "description" : "Tag Based Rate", - "discriminator" : { - "mapping" : { - "vc-tag-based-rate-factor" : "#/components/schemas/vc-tag-based-rate-factor" + "description" : "Role scope details", + "properties" : { + "resources" : { + "type" : "array", + "description" : "List of resources assigned to the role", + "items" : { + "$ref" : "#/components/schemas/RoleAssignmentResource" + } }, - "propertyName" : "type" + "scopeType" : { + "type" : "string", + "description" : "Scope of the role", + "enum" : [ "VCF_INSTANCE", "SSO_REALM", "UNKNOWN" ] + }, + "ssoName" : { + "type" : "string", + "description" : "SSO Name" + } }, - "oneOf" : [ { - "$ref" : "#/components/schemas/vc-tag-based-rate-factor" - } ] + "required" : [ "scopeType" ] }, - "OpenLdapConfiguration" : { + "RoleSyncComponent" : { "type" : "object", - "description" : "Open ldap configuration", + "description" : "Role Sync component", "properties" : { - "bindUserFilterQuery" : { + "eligibilityStatus" : { "type" : "string", - "description" : "Custom filter query for bind user in the schema" + "description" : "Component Eligibility Status", + "enum" : [ "ELIGIBLE", "NOT_ELIGIBLE", "UNKNOWN" ] }, - "directorySearchGroupAttribute" : { - "type" : "string", - "description" : "Group attribute for Open LDAP query" + "reasons" : { + "type" : "array", + "description" : "Reasons if Component is NOT_ELIGIBLE", + "items" : { + "type" : "string", + "description" : "Reasons if Component is NOT_ELIGIBLE" + } }, - "directorySearchUserAttribute" : { + "vcfComponentId" : { "type" : "string", - "description" : "User attribute for an Open LDAP query" + "format" : "uuid", + "description" : "VCF component identifier" }, - "groupsFilterQuery" : { + "vcfComponentResourceId" : { "type" : "string", - "description" : "Custom filter query for groups in the schema" + "format" : "uuid", + "description" : "VCF component resource ID" }, - "membershipAttribute" : { + "vcfInstanceId" : { "type" : "string", - "description" : "Membership attribute for groups in the schema" + "format" : "uuid", + "description" : "VCF Instance Id" + } + } + }, + "RoleSyncComponents" : { + "type" : "object", + "description" : "Response wrapper for list of eligible component", + "properties" : { + "eligibleComponents" : { + "type" : "array", + "description" : "List of Eligible Components", + "items" : { + "$ref" : "#/components/schemas/RoleSyncComponent" + } + } + } + }, + "RoleSyncOperationTargets" : { + "type" : "object", + "description" : "Request to trigger drift/apply operation on custom role", + "properties" : { + "targets" : { + "type" : "array", + "description" : "Target UUIDs for which drift/apply should be calculated", + "items" : { + "type" : "string", + "format" : "uuid", + "description" : "Target UUIDs for which drift/apply should be calculated" + }, + "minItems" : 1 + } + }, + "required" : [ "targets" ] + }, + "RollUpType" : { + "type" : "string", + "description" : "Represents the type of Rollup required for the stats data", + "enum" : [ "SUM", "AVG", "MIN", "MAX", "NONE", "LATEST", "COUNT" ] + }, + "RunScenarioDetails" : { + "type" : "string", + "description" : "Keys for scenario results", + "enum" : [ "INSTANCE_OS", "INSTANCE_TYPE", "COST", "HOST_SCENARIO_COST", "VM_SCENARIO_COST", "COST_PER_INSTANCE", "COST_PER_INSTANCE_TYPE", "TOTAL_HOST_CPU", "TOTAL_HOST_MEMORY", "TOTAL_HOST_STORAGE", "NUMBER_OF_HOSTS", "PAY_AS_YOU_GO_SUBSCRIPTION_COST", "PAY_AS_YOU_GO_UTILIZATION_COST", "ONE_YEAR_SUBSCRIPTION_COST", "ONE_YEAR_UTILIZATION_COST", "ONE_YEAR_MONTHLY_SUBSCRIPTION_COST", "ONE_YEAR_MONTHLY_UTILIZATION_COST", "THREE_YEAR_SUBSCRIPTION_COST", "THREE_YEAR_UTILIZATION_COST", "THREE_YEAR_MONTHLY_SUBSCRIPTION_COST", "THREE_YEAR_MONTHLY_UTILIZATION_COST", "RECOMMENDED_PLAN", "TIME_REMAINING", "PLANNED_TIME_REMAINING", "CPU", "CPU_DEMAND", "CPU_ALLOCATION", "CPU_UTILIZATION", "CPU_UTILIZATION_PERCENTAGE", "CPU_TIME_REMAINING", "CPU_ADDED_CAPACITY", "CPU_UTILIZATION_WITH_COMMIT", "CPU_CAPACITY_WITH_COMMIT", "CPU_CAPACITY_BEFORE_PLANNING", "CPU_CAPACITY_AFTER_PLANNING", "CPU_AVAILABLE_CAPACITY_BEFORE_PLANNING", "CPU_AVAILABLE_CAPACITY_AFTER_PLANNING", "CPU_ADDED_WORKLOAD", "CPU_UTILIZATION_BEFORE_PLANNING", "CPU_UTILIZATION_AFTER_PLANNING", "MEMORY", "MEMORY_DEMAND", "MEMORY_UTILIZATION", "MEMORY_ALLOCATION", "MEMORY_UTILIZATION_PERCENTAGE", "MEMORY_CAPACITY_WITH_COMMIT", "MEMORY_UTILIZATION_WITH_COMMIT", "MEMORY_ADDED_CAPACITY", "MEMORY_TIME_REMAINING", "MEMORY_UTILIZATION_BEFORE_PLANNING", "MEMORY_UTILIZATION_AFTER_PLANNING", "MEMORY_AVAILABLE_CAPACITY_BEFORE_PLANNING", "MEMORY_AVAILABLE_CAPACITY_AFTER_PLANNING", "MEMORY_ADDED_WORKLOAD", "MEMORY_CAPACITY_BEFORE_PLANNING", "MEMORY_CAPACITY_AFTER_PLANNING", "STORAGE", "STORAGE_DEMAND", "STORAGE_ALLOCATION", "STORAGE_ADDED_CAPACITY", "STORAGE_UTILIZATION_WITH_COMMIT", "STORAGE_CAPACITY_WITH_COMMIT", "STORAGE_CAPACITY_BEFORE_PLANNING", "STORAGE_CAPACITY_AFTER_PLANNING", "STORAGE_ADDED_WORKLOAD", "STORAGE_AVAILABLE_CAPACITY_BEFORE_PLANNING", "STORAGE_AVAILABLE_CAPACITY_AFTER_PLANNING", "STORAGE_UTILIZATION_BEFORE_PLANNING", "STORAGE_UTILIZATION_AFTER_PLANNING", "STORAGE_TIME_REMAINING", "STORAGE_UTILIZATION_PERCENTAGE", "STORAGE_UTILIZATION", "ALLOCATED_CPU_TIME_REMAINING", "ALLOCATED_MEMORY_TIME_REMAINING", "ALLOCATED_STORAGE_TIME_REMAINING", "ALLOCATED_CPU_UTILIZATION_BEFORE_PLANNING", "ALLOCATED_CPU_UTILIZATION_AFTER_PLANNING", "ALLOCATED_MEMORY_UTILIZATION_BEFORE_PLANNING", "ALLOCATED_MEMORY_UTILIZATION_AFTER_PLANNING", "ALLOCATED_STORAGE_UTILIZATION_BEFORE_PLANNING", "ALLOCATED_STORAGE_UTILIZATION_AFTER_PLANNING", "ALLOCATED_CPU_AVAILABLE_CAPACITY_BEFORE_PLANNING", "ALLOCATED_CPU_AVAILABLE_CAPACITY_AFTER_PLANNING", "ALLOCATED_MEMORY_AVAILABLE_CAPACITY_BEFORE_PLANNING", "ALLOCATED_MEMORY_AVAILABLE_CAPACITY_AFTER_PLANNING", "ALLOCATED_STORAGE_AVAILABLE_CAPACITY_BEFORE_PLANNING", "ALLOCATED_STORAGE_AVAILABLE_CAPACITY_AFTER_PLANNING", "ALLOCATED_CPU_ADDED_WORKLOAD", "ALLOCATED_MEMORY_ADDED_WORKLOAD", "ALLOCATED_STORAGE_ADDED_WORKLOAD", "ALLOCATED_CPU_ADDED_CAPACITY", "ALLOCATED_MEMORY_ADDED_CAPACITY", "ALLOCATED_STORAGE_ADDED_CAPACITY", "ALLOCATED_CPU_CAPACITY_BEFORE_PLANNING", "ALLOCATED_CPU_CAPACITY_AFTER_PLANNING", "ALLOCATED_MEMORY_CAPACITY_BEFORE_PLANNING", "ALLOCATED_MEMORY_CAPACITY_AFTER_PLANNING", "ALLOCATED_STORAGE_CAPACITY_BEFORE_PLANNING", "ALLOCATED_STORAGE_CAPACITY_AFTER_PLANNING", "ALLOCATED_CPU_CAPACITY_WITH_COMMIT", "ALLOCATED_MEMORY_CAPACITY_WITH_COMMIT", "ALLOCATED_STORAGE_CAPACITY_WITH_COMMIT", "ALLOCATED_CPU_UTILIZATION_WITH_COMMIT", "ALLOCATED_MEMORY_UTILIZATION_WITH_COMMIT", "ALLOCATED_STORAGE_UTILIZATION_WITH_COMMIT" ] + }, + "RunWhatIfScenario" : { + "type" : "object", + "description" : "What-if scenario results", + "properties" : { + "clusterDetails" : { + "$ref" : "#/components/schemas/WhatIfScenarioClusterDetails" }, - "objectUuidAttribute" : { + "error" : { "type" : "string", - "description" : "Name of the UUID attribute for user or group in the schema" + "description" : "Any error condition" }, - "uniquelyIdentifiableAttributeForGroup" : { + "privateCloudMigrationDetails" : { + "$ref" : "#/components/schemas/WhatIfScenarioPrivateCloudMigrationDetails" + }, + "publicCloudMigrationDetails" : { + "$ref" : "#/components/schemas/WhatIfScenarioPublicCloudMigrationDetails" + } + } + }, + "SaltTaskDetails" : { + "type" : "object", + "description" : "Represents the task details for the requested task", + "properties" : { + "createdTime" : { + "type" : "integer", + "format" : "int64", + "description" : "Task status creation time, in milliseconds (since midnight January 1, 1970)" + }, + "description" : { "type" : "string", - "description" : "Distinguished name attribute for group in the schema" + "description" : "A description for the task" }, - "uniquelyIdentifiableAttributeForUser" : { + "errorMessages" : { + "type" : "array", + "description" : "List of error messages that occurred", + "items" : { + "type" : "string", + "description" : "List of error messages that occurred" + } + }, + "lastUpdateTime" : { + "type" : "integer", + "format" : "int64", + "description" : "Task status last update time, in milliseconds (since midnight January 1, 1970)" + }, + "taskId" : { "type" : "string", - "description" : "Distinguished name attribute for user in the schema" + "format" : "uuid", + "description" : "The id of the task" }, - "userMembershipsFilterQuery" : { + "taskStatus" : { "type" : "string", - "description" : "Custom filter query for user memberships in the schema" + "description" : "Status of the task", + "enum" : [ "RUNNING", "FAILED", "SUCCEEDED", "CANCELLED", "UNKNOWN", "QUEUED" ] }, - "usersFilterQuery" : { + "taskType" : { "type" : "string", - "description" : "Custom filter query for Users in the schema" + "description" : "Salt Task Type", + "enum" : [ "SALT_ENABLEMENT", "ROTATE_KEYS", "UNKNOWN" ], + "minLength" : 1 } }, - "required" : [ "bindUserFilterQuery", "groupsFilterQuery", "objectUuidAttribute", "usersFilterQuery" ] + "required" : [ "taskId", "taskStatus", "taskType" ] }, - "OpenSSLCertificateAuthoritySpec" : { + "SamlAttributeMapping" : { "type" : "object", - "description" : "Represents OpenSSL Certificate Authority", + "description" : "Saml attribute mapping", "properties" : { - "commonName" : { + "idpAttribute" : { "type" : "string", - "description" : "CommonName", - "pattern" : "^[^<>]*$" + "description" : "Idp attribute", + "minLength" : 1 }, - "country" : { + "vidbAttribute" : { "type" : "string", - "description" : "Country", - "pattern" : "^[^<>]*$" + "description" : "Vidb attribute", + "minLength" : 1 + } + }, + "required" : [ "idpAttribute", "vidbAttribute" ] + }, + "SamlConfiguration" : { + "type" : "object", + "description" : "Saml Configuration Details", + "properties" : { + "authenticationContext" : { + "type" : "string", + "description" : "Authentication context" }, - "locality" : { + "metadataSourceType" : { "type" : "string", - "description" : "Locality", - "pattern" : "^[^<>]*$" + "description" : "Saml metadata source type", + "enum" : [ "XML", "URL", "UNKNOWN" ] }, - "organization" : { + "metadataUrl" : { "type" : "string", - "description" : "Organization", - "pattern" : "^[^<>]*$" + "description" : "Metadata Url" }, - "organizationUnit" : { + "metadataXml" : { "type" : "string", - "description" : "Organization Unit", - "pattern" : "^[^<>]*$" + "description" : "Metadata XML (Base64 Encoded XML)" }, - "state" : { + "nameIdAttributeMappings" : { + "type" : "array", + "description" : "Name id attribute mappings. Currently, only one name id attribute mapping can be specified.", + "items" : { + "$ref" : "#/components/schemas/SamlAttributeMapping" + }, + "maxItems" : 1, + "minItems" : 0 + }, + "nameIdFormatType" : { "type" : "string", - "description" : "State", - "pattern" : "^[^<>]*$" + "description" : "Name id format type" } - } + }, + "required" : [ "metadataSourceType", "nameIdAttributeMappings" ] }, - "PropertyCondition" : { + "SamlJitConfiguration" : { "type" : "object", - "allOf" : [ { - "$ref" : "#/components/schemas/condition" - }, { - "type" : "object", - "properties" : { - "instanced" : { - "type" : "boolean", - "description" : "The instance group" - }, - "key" : { - "type" : "string", - "description" : "The StatKey for the condition" - }, - "operator" : { - "type" : "string", - "description" : "Comparison Operator used within the VMware Cloud Foundation Operations Suite API", - "enum" : [ "EQ", "NOT_EQ", "LIKE", "LT", "GT", "LT_EQ", "GT_EQ", "IN", "NOT_IN", "EXISTS", "CONTAINS", "STARTS_WITH", "ENDS_WITH", "NOT_STARTS_WITH", "NOT_ENDS_WITH", "NOT_CONTAINS", "REGEX", "NOT_REGEX", "NOT_EXISTS", "EMPTY", "NOT_EMPTY" ], - "xml" : { - "name" : "compare-operator", - "namespace" : "http://webservice.vmware.com/vRealizeOpsMgr/1.0/" - } - }, - "settingValue" : { - "type" : "string", - "description" : "The setting value" - }, - "targetKey" : { - "type" : "string", - "description" : "A target StatKey to compare the values between two metrics. Required for metric or property threshold type conditions." - }, - "thresholdType" : { + "description" : "SAML JIT Configuration", + "properties" : { + "groupMembershipAttribute" : { + "type" : "string", + "description" : "Group membership Attribute" + }, + "passthroughClaimNames" : { + "type" : "array", + "description" : "Pass through claim names", + "items" : { "type" : "string", - "description" : "Enumerate the type of value for the Right-hand side (RHS) of the comparison condition", - "enum" : [ "UNKNOWN", "STATIC", "STATKEY", "PROPERTY" ], - "xml" : { - "name" : "threshold-type", - "namespace" : "http://webservice.vmware.com/vRealizeOpsMgr/1.0/" - } + "description" : "Pass through claim names" } } - } ], - "description" : "Base class for Property Conditions. For JSON the class descendants will generate with a field named 'type' with one of the following values: CONDITION_PROPERTY_STRING, CONDITION_PROPERTY_NUMERIC", - "required" : [ "instanced", "key", "operator", "thresholdType" ], - "xml" : { - "name" : "condition", - "namespace" : "http://webservice.vmware.com/vRealizeOpsMgr/1.0/" } }, - "ProvisionedComponent" : { + "SamlMetadataValidationResponse" : { "type" : "object", - "description" : "Target component instance details", + "description" : "Saml Metadata Validation Response", "properties" : { - "componentId" : { + "nameIdFormatAttributeMappings" : { + "type" : "array", + "description" : "List of NameIdFormat Key and NameIdFormat Value.", + "items" : { + "$ref" : "#/components/schemas/NameIdFormatAttributeMapping" + } + }, + "preferredBinding" : { "type" : "string", - "format" : "uuid", - "description" : "Component ID" + "description" : "Preferred Binding" + } + } + }, + "SamlXmlMetadata" : { + "type" : "object", + "description" : "Saml XML metadata", + "properties" : { + "certificate" : { + "type" : "string", + "description" : "PEM-encoded X.509 certificate(s) used as trust anchors for SSL when fetching SAML metadata from a URL. Required only when the metadata URL uses a self-signed or privately-issued certificate not trusted by well-known CAs. Accepts a single PEM certificate or a concatenated PEM bundle (cert chain or mixed). Only PEM format is accepted (not DER, P12, or PKCS#7). Ignored when metadata is XML." }, - "driftResult" : { + "metadata" : { "type" : "string", - "description" : "Drift result if the component is drifted" + "description" : "SAML metadata URL or XML (Base64 Encoded XML)", + "minLength" : 1 }, - "status" : { + "vidbResourceId" : { "type" : "string", - "description" : "Component Provision status", - "enum" : [ "PROVISIONED", "DRIFTED", "FAILED", "IN_PROGRESS", "UNAVAILABLE" ] + "format" : "uuid", + "description" : "Vidb resource id" } }, - "required" : [ "componentId" ] + "required" : [ "metadata", "vidbResourceId" ] }, - "ProvisioningConfig" : { + "ScimClientDetails" : { "type" : "object", - "description" : "User and Groups provisioning configuration", + "description" : "Client Details related to ScimSyncClient", "properties" : { - "jitConfiguration" : { - "$ref" : "#/components/schemas/JitConfiguration" + "clientId" : { + "type" : "string", + "description" : "Sync client ID" }, - "ldapConfigurations" : { - "type" : "array", - "description" : "LDAP Configuration details", - "items" : { - "$ref" : "#/components/schemas/LdapConfiguration" - } + "clientSecret" : { + "type" : "string", + "description" : "Sync client secret" + }, + "tokenTtl" : { + "type" : "integer", + "format" : "int32", + "description" : "Total lifetime of generated access token in minutes" } } }, - "ProvisioningDetails" : { + "ScimSyncClientDetails" : { "type" : "object", - "description" : "Component Role Provisioning info with source and target details.", + "description" : "Details of OAuth2 client used for SCIM provisioning operations", "properties" : { - "provisionedInstances" : { - "type" : "array", - "description" : "List of all the instances with the role provisioned", - "items" : { - "type" : "string", - "format" : "uuid", - "description" : "List of all the instances with the role provisioned" - } + "accessTokenDetails" : { + "$ref" : "#/components/schemas/AccessTokenDetails" }, - "sourceComponentId" : { + "scimClientDetails" : { + "$ref" : "#/components/schemas/ScimClientDetails" + } + } + }, + "ScimTokenConfiguration" : { + "type" : "object", + "description" : "Scim token configuration", + "properties" : { + "generateToken" : { + "type" : "boolean", + "description" : "Flag to generate a bearer access token for the SCIM sync client." + }, + "tokenTtl" : { + "type" : "integer", + "format" : "int32", + "description" : "Token lifetime in minutes when generating bearer access token (default: 262800, 6 months)" + } + } + }, + "SdmpConfig" : { + "type" : "object", + "description" : "A model that serves as the structure of the payload data for creating or updating vCenter Service Discovery adapter instance.
      NOTE: The defaultSRMCredentials field is deprecated and should not be used. It is ignored in requests and will no longer appear in responses.", + "properties" : { + "alternateCredentialsId" : { "type" : "string", "format" : "uuid", - "description" : "Source component ID" + "description" : "Alternate credentials if for Service Discovery adapter. If not set will reuse vCenter credentials instead" }, - "sourceVcfInstanceId" : { + "applicationDiscoveryEnabled" : { + "type" : "boolean", + "description" : "Enable application discovery flag, enabled by default." + }, + "defaultLinuxCredentials" : { + "$ref" : "#/components/schemas/credential-params" + }, + "defaultSRMCredentials" : { + "$ref" : "#/components/schemas/credential-params" + }, + "defaultWindowsCredentials" : { + "$ref" : "#/components/schemas/credential-params" + }, + "enabled" : { + "type" : "boolean", + "description" : "Enable service discovery flag, disabled by default." + }, + "id" : { "type" : "string", "format" : "uuid", - "description" : "Source VCF Instance ID" + "description" : "Identifier of this Service Discovery adapter, automatically assigned by the system on create. Must be set in case of update." } } }, - "RaidLevel" : { - "type" : "string", - "description" : "Raid level", - "enum" : [ "RAID1", "RAID5", "RAID6" ] + "SearchCriteria" : { + "type" : "object", + "description" : "The key value pair for storing search criteria", + "properties" : { + "key" : { + "type" : "string", + "description" : "Field for search and sort on bills summary", + "enum" : [ "RESOURCE_NAME", "POLICY_NAME", "TITLE", "START_TIME", "END_TIME", "EXECUTION_TIME", "TOTAL_PRICE", "RESOURCE_TYPE", "ASSIGNED_TO_TENANT" ] + }, + "value" : { + "type" : "string", + "description" : "Search Criteria value" + } + }, + "required" : [ "key", "value" ] }, - "ReclaimRightsizeResource" : { + "ServiceDetails" : { "type" : "object", - "description" : "ReclaimRightsizeResource", + "description" : "Represents the service details model, containing service key, service address, port, address type and certificates.", "properties" : { - "allocatedCpu" : { - "type" : "integer", - "format" : "int32", - "description" : "Allocated CPU to the resource (Available only for Rightsizing)" + "address" : { + "type" : "string", + "description" : "The address of the service to which the token applies." }, - "allocatedMemory" : { - "type" : "integer", - "format" : "int32", - "description" : "Allocated memory to the resource (Available only for Rightsizing)" + "addressType" : { + "$ref" : "#/components/schemas/AddressType" }, - "costSaving" : { - "type" : "number", - "format" : "double", - "description" : "Total reclaimable cost" + "basePath" : { + "type" : "string", + "description" : "The base URL path of the integration service." }, - "duration" : { - "type" : "integer", - "format" : "int32", - "description" : "Duration for which resource is orphaned, idle etc" + "certificates" : { + "type" : "array", + "description" : "Certificate chain associated with the service address.", + "items" : { + "type" : "string", + "description" : "Certificate chain associated with the service address." + } }, - "id" : { + "key" : { "type" : "string", - "description" : "ID of the resource" + "description" : "Unique service key." }, "name" : { "type" : "string", - "description" : "Name of the resource" + "description" : "The display name of the integration service." }, - "reclaimableCpu" : { + "port" : { "type" : "integer", "format" : "int32", - "description" : "Size of the reclaimable vCPUs" + "description" : "The port number associated with the service address." }, - "reclaimableDiskSpace" : { - "type" : "number", - "format" : "double", - "description" : "Size of the reclaimable disk space (GB)" + "type" : { + "type" : "string", + "description" : "The type of the integration service." }, - "reclaimableMemory" : { - "type" : "number", - "format" : "double", - "description" : "Size of the reclaimable memory (GB)" + "version" : { + "type" : "string", + "description" : "The version of the integration service." } } }, - "ReclaimRightsizeResources" : { + "ServicesDetails" : { "type" : "object", - "description" : "ReclaimRightsizeResources", + "description" : "Container class that holds a list of integration services details.", "properties" : { - "links" : { - "type" : "array", - "description" : "Collection of links", - "items" : { - "$ref" : "#/components/schemas/link" - }, - "xml" : { - "wrapped" : true - } - }, - "pageInfo" : { - "$ref" : "#/components/schemas/page-info" - }, - "reclaimRightsizeResources" : { + "servicesDetails" : { "type" : "array", - "description" : "List of reclaim/rightsizing resources", + "description" : "A list of integrated services details in the system.", "items" : { - "$ref" : "#/components/schemas/ReclaimRightsizeResource" + "$ref" : "#/components/schemas/ServiceDetails" } } } }, - "ResourceFilter" : { + "SsoRealm" : { "type" : "object", - "description" : "Filter for resources. If matchResourceIdOnly is specified, alerts are selected if their resource ids
      match with the 'resourceId' specified in the filter. Otherwise, the system looks at all the resource's children.
      The possible set of children can be further filtered based on the childrenResourceKindKeyFilters.", + "description" : "SSO Realm details", "properties" : { - "childrenResourceKindFilters" : { + "createdAt" : { + "type" : "integer", + "format" : "int64", + "description" : "SSO Realm Creation Timestamp" + }, + "id" : { + "type" : "string", + "format" : "uuid", + "description" : "SSO Realm Id" + }, + "idpId" : { + "type" : "string", + "format" : "uuid", + "description" : "Identity Provider ID" + }, + "issues" : { "type" : "array", - "deprecated" : true, - "description" : "If matchResourceIdOnly is set to false, this set allows the system to further filter children
      based on their Resource Kind keys. This filter is deprecated. Please use childrenResourceKindKeyFilters instead.", + "description" : "Issue details related to SSO", "items" : { - "type" : "string", - "deprecated" : true, - "description" : "If matchResourceIdOnly is set to false, this set allows the system to further filter children
      based on their Resource Kind keys. This filter is deprecated. Please use childrenResourceKindKeyFilters instead." - }, - "uniqueItems" : true + "$ref" : "#/components/schemas/SsoRealmIssue" + } }, - "childrenResourceKindKeyFilters" : { + "name" : { + "type" : "string", + "description" : "SSO Realm Name" + }, + "ssoRealmCoverage" : { "type" : "array", - "description" : "Filter based on children resource kind keys.", + "description" : "SSO Realm Coverage", "items" : { - "$ref" : "#/components/schemas/resource-kind-key" - }, - "uniqueItems" : true + "$ref" : "#/components/schemas/SsoRealmCoverage" + } }, - "matchResourceIdOnly" : { - "type" : "boolean", - "description" : "Deprecated, will be removed after couple of releases. Please use relationship instead.
      If set to true, the rule engine does not evaluate the resource's children. Default value is: false.
      NOTE: If set to true, childrenResourceKindKeyFilters has to be empty." + "totalConfiguredComponents" : { + "type" : "integer", + "format" : "int32", + "description" : "Total number of configured components in the SSO Realm" }, - "relationship" : { + "updatedAt" : { + "type" : "integer", + "format" : "int64", + "description" : "SSO Realm Updated Timestamp" + }, + "vcfInstanceId" : { "type" : "string", - "description" : "Relationship Types between resources. All relationships are many-to-many.
      Representation names are plural.", - "enum" : [ "PARENT", "CHILD", "CONTAINS", "CONTAINED_BY", "REFERENCES", "REFERENCED_BY", "USES", "USED_BY", "SELF", "DESCENDANT", "ANCESTOR", "TST", "ALL" ], - "xml" : { - "attribute" : true, - "name" : "relationship-type", - "namespace" : "http://webservice.vmware.com/vRealizeOpsMgr/1.0/" - } + "format" : "uuid", + "description" : "Vcf Instance Id" }, - "resourceId" : { + "vidbResourceId" : { "type" : "string", "format" : "uuid", - "description" : "Id of the resource that should be matched against the generated alert", - "xml" : { - "attribute" : true - } + "description" : "Vidb Resource Id" } }, - "required" : [ "resourceId" ] + "required" : [ "vidbResourceId" ] }, - "ResourceIdentifierDetails" : { + "SsoRealmCoverage" : { "type" : "object", - "allOf" : [ { - "$ref" : "#/components/schemas/resource-identifier-type" - }, { - "type" : "object", - "properties" : { - "defaultValue" : { - "type" : "string", - "description" : "Default value of resource Identifier" - } + "description" : "SSO Realm Coverage", + "properties" : { + "id" : { + "type" : "string", + "format" : "uuid", + "description" : "Identifier of VCF Instance or Management Component", + "minLength" : 1 + }, + "name" : { + "type" : "string", + "description" : "Name of VCF Instance or Management Component", + "minLength" : 1 + }, + "ssoEntityType" : { + "type" : "string", + "description" : "SsoEntityType", + "enum" : [ "VCF_INSTANCE", "MANAGEMENT_COMPONENT", "OTHER_COMPONENTS", "UNKNOWN" ], + "minLength" : 1 } - } ], - "description" : "Details of resource identifier", - "required" : [ ], - "xml" : { - "name" : "resource-identifier-type", - "namespace" : "http://webservice.vmware.com/vRealizeOpsMgr/1.0/" - } + }, + "required" : [ "id", "name", "ssoEntityType" ] }, - "ResourceIdentifiersDetails" : { + "SsoRealmCreationRequest" : { "type" : "object", - "description" : "Represents List of resource identifiers details", + "description" : "SSO Realm creation request", "properties" : { - "resourceIdentifiersDetails" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ResourceIdentifierDetails" - } + "vidbResourceId" : { + "type" : "string", + "format" : "uuid", + "description" : "Vidb Resource Id of the host vidb on which SSO Realm needs to be created." } - } + }, + "required" : [ "vidbResourceId" ] }, - "ResourceKindFilter" : { + "SsoRealmIssue" : { "type" : "object", - "description" : "Filter based on the resource kind", + "description" : "SSO Realm Issue details", "properties" : { - "adapterKind" : { + "alertId" : { "type" : "string", - "description" : "Adapter kind of a resource" + "description" : "Alert ID" }, - "resourceKind" : { + "message" : { "type" : "string", - "description" : "Resource kind of a resource" - } - } - }, - "ResourceSaltStatus" : { - "type" : "object", - "description" : "Represents the status of a Salt-managed resource as reported by a Minion.", - "properties" : { - "minionId" : { + "description" : "Message" + }, + "name" : { "type" : "string", - "description" : "Unique identifier of the Minion reporting this resource status." + "description" : "Issue Name" }, "resourceId" : { "type" : "string", - "format" : "uuid", - "description" : "Unique identifier of the Salt-managed resource." + "description" : "Resource ID" }, - "status" : { + "severity" : { "type" : "string", - "description" : "Minion Status", - "enum" : [ "CONNECTED", "DISCONNECTED", "DISABLED", "UNKNOWN" ] + "description" : "Issue Severity" } - }, - "required" : [ "resourceId", "status" ] + } }, - "ResourceSaltStatuses" : { + "SsoRealms" : { "type" : "object", - "description" : "Paginated list of resource status entries reported by Minions.", + "description" : "SSO Realm List", "properties" : { - "links" : { + "ssoRealms" : { "type" : "array", - "description" : "Collection of links", + "description" : "SSO Realm List", "items" : { - "$ref" : "#/components/schemas/link" - }, - "xml" : { - "wrapped" : true + "$ref" : "#/components/schemas/SsoRealm" } + } + } + }, + "StatusSummary" : { + "type" : "object", + "description" : "Status counts of role provision", + "properties" : { + "drifted" : { + "type" : "integer", + "format" : "int32", + "description" : "Drifted count" }, - "pageInfo" : { - "$ref" : "#/components/schemas/page-info" + "failed" : { + "type" : "integer", + "format" : "int32", + "description" : "Failed count" }, - "resources" : { - "type" : "array", - "description" : "List of resource status entries for the current page.", - "items" : { - "$ref" : "#/components/schemas/ResourceSaltStatus" - } + "inProgress" : { + "type" : "integer", + "format" : "int32", + "description" : "In progress count" + }, + "notProvisioned" : { + "type" : "integer", + "format" : "int32", + "description" : "Not provisioned count" + }, + "provisioned" : { + "type" : "integer", + "format" : "int32", + "description" : "Provisioned count" } } }, - "ResourceSelection" : { + "SubjectAlternativeNames" : { "type" : "object", - "description" : "A selection type and set of resource ids.", + "description" : "Subject alternative names specification for generate csr", "properties" : { - "resourceId" : { + "dns" : { "type" : "array", - "description" : "Set of resource uuids", + "description" : "List of dns", "items" : { "type" : "string", - "format" : "uuid", - "description" : "Set of resource uuids", - "xml" : { - "name" : "resourceId" - } - }, - "uniqueItems" : true + "description" : "List of dns" + } }, - "type" : { - "type" : "string", - "description" : "Enumerated type for how resources can be selected", - "enum" : [ "PROPAGATE", "UNPROPAGATE", "SPECIFIC" ], - "xml" : { - "attribute" : true, - "name" : "resource-selection-type", - "namespace" : "http://webservice.vmware.com/vRealizeOpsMgr/1.0/" + "ip" : { + "type" : "array", + "description" : "List of ip", + "items" : { + "type" : "string", + "description" : "List of ip" } } - }, - "required" : [ "resourceId", "type" ] + } }, - "ResourceStatGroupList" : { + "TaggingAssignmentResourceResult" : { "type" : "object", + "description" : "Task result for a resource in tag assignment operations", "properties" : { - "groupBy" : { - "type" : "string", - "description" : "Enumeration of the available Grouping for topN", - "enum" : [ "RESOURCE", "STATKEY" ] - }, - "resourceStatGroups" : { + "attachResults" : { "type" : "array", - "description" : "Collection of resource stat groups", + "description" : "List of tag attach results for the resource", "items" : { - "$ref" : "#/components/schemas/resource-stat-group" - }, - "xml" : { - "wrapped" : true + "$ref" : "#/components/schemas/TaggingAssignmentResult" } }, - "sortOrder" : { - "type" : "string", - "description" : "The sort order", - "enum" : [ "ASCENDING", "DESCENDING" ], - "xml" : { - "name" : "sort-order", - "namespace" : "http://webservice.vmware.com/vRealizeOpsMgr/1.0/" + "detachResults" : { + "type" : "array", + "description" : "List of tag detach results for the resource", + "items" : { + "$ref" : "#/components/schemas/TaggingAssignmentResult" } + }, + "error" : { + "type" : "string", + "description" : "Error message for any resource-level failure" + }, + "resourceId" : { + "type" : "string", + "description" : "Resource identifier" } } }, - "RoleAssignmentResource" : { + "TaggingAssignmentResult" : { "type" : "object", - "description" : "Represents a resource assigned to a role", + "description" : "Represents tag assignment result", "properties" : { - "id" : { + "error" : { "type" : "string", - "description" : "Id of the resource", - "minLength" : 1 + "description" : "Error message related to the assignment failure" }, - "name" : { + "tagId" : { "type" : "string", - "description" : "Name of the resource" + "format" : "uuid", + "description" : "ID of the tag" } }, - "required" : [ "id" ] + "required" : [ "tagId" ] }, - "RoleScope" : { + "TaggingAssignmentSpec" : { "type" : "object", - "description" : "Role scope details", + "description" : "Specification for tag assignment operations", "properties" : { - "resources" : { + "resourceIds" : { "type" : "array", - "description" : "List of resources assigned to the role", + "description" : "List of resource IDs for which tags need to be attached/detached", "items" : { - "$ref" : "#/components/schemas/RoleAssignmentResource" - } + "type" : "string", + "description" : "List of resource IDs for which tags need to be attached/detached" + }, + "maxItems" : 2147483647, + "minItems" : 1, + "uniqueItems" : true }, - "scopeType" : { - "type" : "string", - "description" : "Scope of the role", - "enum" : [ "VCF_INSTANCE", "SSO_REALM", "UNKNOWN" ] + "tagsToAttach" : { + "type" : "array", + "description" : "List of tag IDs to be attached to resources", + "items" : { + "type" : "string", + "format" : "uuid", + "description" : "List of tag IDs to be attached to resources" + }, + "uniqueItems" : true }, - "ssoName" : { - "type" : "string", - "description" : "SSO Name" + "tagsToDetach" : { + "type" : "array", + "description" : "List of tag IDs to be detached from resources", + "items" : { + "type" : "string", + "format" : "uuid", + "description" : "List of tag IDs to be detached from resources" + }, + "uniqueItems" : true } }, - "required" : [ "scopeType" ] + "required" : [ "resourceIds" ] }, - "RoleSyncComponent" : { + "TaggingAssignmentTaskResult" : { "type" : "object", - "description" : "Role Sync component", + "allOf" : [ { + "$ref" : "#/components/schemas/TaggingTaskResult" + }, { + "type" : "object", + "properties" : { + "assignmentResults" : { + "type" : "array", + "description" : "List of assignment resource results", + "items" : { + "$ref" : "#/components/schemas/TaggingAssignmentResourceResult" + } + } + } + } ], + "description" : "Task result for tag assignment operations" + }, + "TaggingAssociableType" : { + "type" : "object", + "description" : "Defines the adapter kind and the resource kinds within that adapter instance whose objects can be tagged", "properties" : { - "eligibilityStatus" : { + "adapterKind" : { "type" : "string", - "description" : "Component Eligibility Status", - "enum" : [ "ELIGIBLE", "NOT_ELIGIBLE", "UNKNOWN" ] + "description" : "Identifier of the adapter kind" }, - "reasons" : { + "resourceKinds" : { "type" : "array", - "description" : "Reasons if Component is NOT_ELIGIBLE", + "description" : "List of resource kind within the adapter instance that can be associated with tags", "items" : { "type" : "string", - "description" : "Reasons if Component is NOT_ELIGIBLE" + "description" : "List of resource kind within the adapter instance that can be associated with tags" } - }, - "vcfComponentId" : { - "type" : "string", - "format" : "uuid", - "description" : "VCF component identifier" - }, - "vcfComponentResourceId" : { - "type" : "string", - "format" : "uuid", - "description" : "VCF component resource ID" - }, - "vcfInstanceId" : { - "type" : "string", - "format" : "uuid", - "description" : "VCF Instance Id" } - } + }, + "required" : [ "adapterKind", "resourceKinds" ] }, - "RoleSyncComponents" : { + "TaggingAssociableTypes" : { "type" : "object", - "description" : "Response wrapper for list of eligible component", + "description" : "List of associable types", "properties" : { - "eligibleComponents" : { + "associableTypes" : { "type" : "array", - "description" : "List of Eligible Components", + "description" : "List of available associable types", "items" : { - "$ref" : "#/components/schemas/RoleSyncComponent" + "$ref" : "#/components/schemas/TaggingAssociableType" } } } }, - "RoleSyncOperationTargets" : { + "TaggingCategories" : { "type" : "object", - "description" : "Request to trigger drift/apply operation on custom role", + "description" : "Result object containing list of tagging categories with pagination info", "properties" : { - "targets" : { + "categories" : { "type" : "array", - "description" : "Target UUIDs for which drift/apply should be calculated", + "description" : "List of tagging categories", "items" : { - "type" : "string", - "format" : "uuid", - "description" : "Target UUIDs for which drift/apply should be calculated" - }, - "minItems" : 1 - } - }, - "required" : [ "targets" ] - }, - "RollUpType" : { - "type" : "string", - "description" : "Represents the type of Rollup required for the stats data", - "enum" : [ "SUM", "AVG", "MIN", "MAX", "NONE", "LATEST", "COUNT" ] - }, - "RunScenarioDetails" : { - "type" : "string", - "description" : "Keys for scenario results", - "enum" : [ "INSTANCE_OS", "INSTANCE_TYPE", "COST", "HOST_SCENARIO_COST", "VM_SCENARIO_COST", "COST_PER_INSTANCE", "COST_PER_INSTANCE_TYPE", "TOTAL_HOST_CPU", "TOTAL_HOST_MEMORY", "TOTAL_HOST_STORAGE", "NUMBER_OF_HOSTS", "PAY_AS_YOU_GO_SUBSCRIPTION_COST", "PAY_AS_YOU_GO_UTILIZATION_COST", "ONE_YEAR_SUBSCRIPTION_COST", "ONE_YEAR_UTILIZATION_COST", "ONE_YEAR_MONTHLY_SUBSCRIPTION_COST", "ONE_YEAR_MONTHLY_UTILIZATION_COST", "THREE_YEAR_SUBSCRIPTION_COST", "THREE_YEAR_UTILIZATION_COST", "THREE_YEAR_MONTHLY_SUBSCRIPTION_COST", "THREE_YEAR_MONTHLY_UTILIZATION_COST", "RECOMMENDED_PLAN", "TIME_REMAINING", "PLANNED_TIME_REMAINING", "CPU", "CPU_DEMAND", "CPU_ALLOCATION", "CPU_UTILIZATION", "CPU_UTILIZATION_PERCENTAGE", "CPU_TIME_REMAINING", "CPU_ADDED_CAPACITY", "CPU_UTILIZATION_WITH_COMMIT", "CPU_CAPACITY_WITH_COMMIT", "CPU_CAPACITY_BEFORE_PLANNING", "CPU_CAPACITY_AFTER_PLANNING", "CPU_AVAILABLE_CAPACITY_BEFORE_PLANNING", "CPU_AVAILABLE_CAPACITY_AFTER_PLANNING", "CPU_ADDED_WORKLOAD", "CPU_UTILIZATION_BEFORE_PLANNING", "CPU_UTILIZATION_AFTER_PLANNING", "MEMORY", "MEMORY_DEMAND", "MEMORY_UTILIZATION", "MEMORY_ALLOCATION", "MEMORY_UTILIZATION_PERCENTAGE", "MEMORY_CAPACITY_WITH_COMMIT", "MEMORY_UTILIZATION_WITH_COMMIT", "MEMORY_ADDED_CAPACITY", "MEMORY_TIME_REMAINING", "MEMORY_UTILIZATION_BEFORE_PLANNING", "MEMORY_UTILIZATION_AFTER_PLANNING", "MEMORY_AVAILABLE_CAPACITY_BEFORE_PLANNING", "MEMORY_AVAILABLE_CAPACITY_AFTER_PLANNING", "MEMORY_ADDED_WORKLOAD", "MEMORY_CAPACITY_BEFORE_PLANNING", "MEMORY_CAPACITY_AFTER_PLANNING", "STORAGE", "STORAGE_DEMAND", "STORAGE_ALLOCATION", "STORAGE_ADDED_CAPACITY", "STORAGE_UTILIZATION_WITH_COMMIT", "STORAGE_CAPACITY_WITH_COMMIT", "STORAGE_CAPACITY_BEFORE_PLANNING", "STORAGE_CAPACITY_AFTER_PLANNING", "STORAGE_ADDED_WORKLOAD", "STORAGE_AVAILABLE_CAPACITY_BEFORE_PLANNING", "STORAGE_AVAILABLE_CAPACITY_AFTER_PLANNING", "STORAGE_UTILIZATION_BEFORE_PLANNING", "STORAGE_UTILIZATION_AFTER_PLANNING", "STORAGE_TIME_REMAINING", "STORAGE_UTILIZATION_PERCENTAGE", "STORAGE_UTILIZATION", "ALLOCATED_CPU_TIME_REMAINING", "ALLOCATED_MEMORY_TIME_REMAINING", "ALLOCATED_STORAGE_TIME_REMAINING", "ALLOCATED_CPU_UTILIZATION_BEFORE_PLANNING", "ALLOCATED_CPU_UTILIZATION_AFTER_PLANNING", "ALLOCATED_MEMORY_UTILIZATION_BEFORE_PLANNING", "ALLOCATED_MEMORY_UTILIZATION_AFTER_PLANNING", "ALLOCATED_STORAGE_UTILIZATION_BEFORE_PLANNING", "ALLOCATED_STORAGE_UTILIZATION_AFTER_PLANNING", "ALLOCATED_CPU_AVAILABLE_CAPACITY_BEFORE_PLANNING", "ALLOCATED_CPU_AVAILABLE_CAPACITY_AFTER_PLANNING", "ALLOCATED_MEMORY_AVAILABLE_CAPACITY_BEFORE_PLANNING", "ALLOCATED_MEMORY_AVAILABLE_CAPACITY_AFTER_PLANNING", "ALLOCATED_STORAGE_AVAILABLE_CAPACITY_BEFORE_PLANNING", "ALLOCATED_STORAGE_AVAILABLE_CAPACITY_AFTER_PLANNING", "ALLOCATED_CPU_ADDED_WORKLOAD", "ALLOCATED_MEMORY_ADDED_WORKLOAD", "ALLOCATED_STORAGE_ADDED_WORKLOAD", "ALLOCATED_CPU_ADDED_CAPACITY", "ALLOCATED_MEMORY_ADDED_CAPACITY", "ALLOCATED_STORAGE_ADDED_CAPACITY", "ALLOCATED_CPU_CAPACITY_BEFORE_PLANNING", "ALLOCATED_CPU_CAPACITY_AFTER_PLANNING", "ALLOCATED_MEMORY_CAPACITY_BEFORE_PLANNING", "ALLOCATED_MEMORY_CAPACITY_AFTER_PLANNING", "ALLOCATED_STORAGE_CAPACITY_BEFORE_PLANNING", "ALLOCATED_STORAGE_CAPACITY_AFTER_PLANNING", "ALLOCATED_CPU_CAPACITY_WITH_COMMIT", "ALLOCATED_MEMORY_CAPACITY_WITH_COMMIT", "ALLOCATED_STORAGE_CAPACITY_WITH_COMMIT", "ALLOCATED_CPU_UTILIZATION_WITH_COMMIT", "ALLOCATED_MEMORY_UTILIZATION_WITH_COMMIT", "ALLOCATED_STORAGE_UTILIZATION_WITH_COMMIT" ] - }, - "RunWhatIfScenario" : { - "type" : "object", - "description" : "What-if scenario results", - "properties" : { - "clusterDetails" : { - "$ref" : "#/components/schemas/WhatIfScenarioClusterDetails" - }, - "error" : { - "type" : "string", - "description" : "Any error condition" + "$ref" : "#/components/schemas/TaggingCategory" + } }, - "privateCloudMigrationDetails" : { - "$ref" : "#/components/schemas/WhatIfScenarioPrivateCloudMigrationDetails" + "links" : { + "type" : "array", + "description" : "Collection of links", + "items" : { + "$ref" : "#/components/schemas/link" + }, + "xml" : { + "wrapped" : true + } }, - "publicCloudMigrationDetails" : { - "$ref" : "#/components/schemas/WhatIfScenarioPublicCloudMigrationDetails" + "pageInfo" : { + "$ref" : "#/components/schemas/page-info" } } }, - "SaltTaskDetails" : { + "TaggingCategory" : { "type" : "object", - "description" : "Represents the task details for the requested task", + "description" : "Represents a tagging category for organizing tags", "properties" : { - "createdTime" : { - "type" : "integer", - "format" : "int64", - "description" : "Task status creation time, in milliseconds (since midnight January 1, 1970)" - }, - "description" : { - "type" : "string", - "description" : "A description for the task" - }, - "errorMessages" : { + "associableTypes" : { "type" : "array", - "description" : "List of error messages that occurred", + "description" : "Type of objects which this category's tags can be associated with", "items" : { - "type" : "string", - "description" : "List of error messages that occurred" + "$ref" : "#/components/schemas/TaggingAssociableType" } }, - "lastUpdateTime" : { - "type" : "integer", - "format" : "int64", - "description" : "Task status last update time, in milliseconds (since midnight January 1, 1970)" + "cardinality" : { + "type" : "string", + "description" : "Defines the number of tags in a category that can be assigned to an object", + "enum" : [ "SINGLE", "MULTIPLE", "UNKNOWN" ] }, - "taskId" : { + "description" : { "type" : "string", - "format" : "uuid", - "description" : "The id of the task" + "description" : "Category description" }, - "taskStatus" : { + "id" : { "type" : "string", - "description" : "Status of the task", - "enum" : [ "RUNNING", "FAILED", "SUCCEEDED", "CANCELLED", "UNKNOWN", "QUEUED" ] + "format" : "uuid", + "description" : "ID associated with the category" }, - "taskType" : { + "name" : { "type" : "string", - "description" : "Salt Task Type", - "enum" : [ "SALT_ENABLEMENT", "ROTATE_KEYS", "UNKNOWN" ], - "minLength" : 1 + "description" : "Category name" } - }, - "required" : [ "taskId", "taskStatus", "taskType" ] + } }, - "SamlAttributeMapping" : { + "TaggingCategoryConflict" : { "type" : "object", - "description" : "Saml attribute mapping", + "description" : "Represents conflict for a tagging category object", "properties" : { - "idpAttribute" : { + "categoryId" : { "type" : "string", - "description" : "Idp attribute", - "minLength" : 1 + "format" : "uuid", + "description" : "ID associated with the category" }, - "vidbAttribute" : { + "error" : { "type" : "string", - "description" : "Vidb attribute", - "minLength" : 1 + "description" : "Error message related to the conflict of the category" + }, + "tagConflicts" : { + "type" : "array", + "description" : "List of conflicts related to tags under the category", + "items" : { + "$ref" : "#/components/schemas/TaggingTagConflict" + } } }, - "required" : [ "idpAttribute", "vidbAttribute" ] + "required" : [ "categoryId" ] }, - "SamlConfiguration" : { + "TaggingCategoryQuerySpec" : { "type" : "object", - "description" : "Saml Configuration Details", + "description" : "Query specification for filtering categories", "properties" : { - "authenticationContext" : { - "type" : "string", - "description" : "Authentication context" - }, - "metadataSourceType" : { - "type" : "string", - "description" : "Saml metadata source type", - "enum" : [ "XML", "URL", "UNKNOWN" ] - }, - "metadataUrl" : { - "type" : "string", - "description" : "Metadata Url" + "associableTypes" : { + "type" : "array", + "description" : "Resource types to filter categories that can be associated with these specific resource types", + "items" : { + "$ref" : "#/components/schemas/TaggingAssociableType" + } }, - "metadataXml" : { + "cardinality" : { "type" : "string", - "description" : "Metadata XML (Base64 Encoded XML)" + "description" : "Defines the number of tags in a category that can be assigned to an object", + "enum" : [ "SINGLE", "MULTIPLE", "UNKNOWN" ] }, - "nameIdAttributeMappings" : { + "ids" : { "type" : "array", - "description" : "Name id attribute mappings. Currently, only one name id attribute mapping can be specified.", + "description" : "Category IDs to filter categories by specific identifiers", "items" : { - "$ref" : "#/components/schemas/SamlAttributeMapping" + "type" : "string", + "format" : "uuid", + "description" : "Category IDs to filter categories by specific identifiers" }, - "maxItems" : 1, - "minItems" : 0 + "uniqueItems" : true }, - "nameIdFormatType" : { - "type" : "string", - "description" : "Name id format type" + "names" : { + "type" : "array", + "description" : "Category names to filter categories. Supports partial matching", + "items" : { + "type" : "string", + "description" : "Category names to filter categories. Supports partial matching" + }, + "uniqueItems" : true } - }, - "required" : [ "metadataSourceType", "nameIdAttributeMappings" ] + } }, - "SamlJitConfiguration" : { + "TaggingPaginatedTags" : { "type" : "object", - "description" : "SAML JIT Configuration", + "description" : "Result object containing list of tags with pagination info", "properties" : { - "groupMembershipAttribute" : { - "type" : "string", - "description" : "Group membership Attribute" + "links" : { + "type" : "array", + "description" : "Collection of links", + "items" : { + "$ref" : "#/components/schemas/link" + }, + "xml" : { + "wrapped" : true + } }, - "passthroughClaimNames" : { + "pageInfo" : { + "$ref" : "#/components/schemas/page-info" + }, + "tags" : { "type" : "array", - "description" : "Pass through claim names", + "description" : "List of tagging tags", "items" : { - "type" : "string", - "description" : "Pass through claim names" + "$ref" : "#/components/schemas/TaggingTag" } } } }, - "SamlMetadataValidationResponse" : { + "TaggingPullPushResourceResult" : { "type" : "object", - "description" : "Saml Metadata Validation Response", + "description" : "Task result for a resource in adapter pull/push operations", "properties" : { - "nameIdFormatAttributeMappings" : { + "categoryConflicts" : { "type" : "array", - "description" : "List of NameIdFormat Key and NameIdFormat Value.", + "description" : "List of category conflicts that occurred during pull/push operations", "items" : { - "$ref" : "#/components/schemas/NameIdFormatAttributeMapping" + "$ref" : "#/components/schemas/TaggingCategoryConflict" } }, - "preferredBinding" : { + "error" : { "type" : "string", - "description" : "Preferred Binding" + "description" : "Error message for any resource-level failure" + }, + "resourceId" : { + "type" : "string", + "description" : "Resource identifier" } } }, - "SamlXmlMetadata" : { + "TaggingPullPushTaskResult" : { "type" : "object", - "description" : "Saml XML metadata", - "properties" : { - "metadata" : { - "type" : "string", - "description" : "SAML metadata URL or XML (Base64 Encoded XML)", - "minLength" : 1 - }, - "vidbResourceId" : { - "type" : "string", - "format" : "uuid", - "description" : "Vidb resource id" + "allOf" : [ { + "$ref" : "#/components/schemas/TaggingTaskResult" + }, { + "type" : "object", + "properties" : { + "resourceResults" : { + "type" : "array", + "description" : "List of pull/push resource results", + "items" : { + "$ref" : "#/components/schemas/TaggingPullPushResourceResult" + } + } } - }, - "required" : [ "metadata", "vidbResourceId" ] + } ], + "description" : "Task result for adapter pull/push operations" }, - "ScimClientDetails" : { + "TaggingPullTaskResult" : { "type" : "object", - "description" : "Client Details related to ScimSyncClient", + "allOf" : [ { + "$ref" : "#/components/schemas/TaggingPullPushTaskResult" + }, { + "$ref" : "#/components/schemas/TaggingTaskResult" + } ], + "description" : "Task result for adapter pull operations" + }, + "TaggingPushTaskResult" : { + "type" : "object", + "allOf" : [ { + "$ref" : "#/components/schemas/TaggingPullPushTaskResult" + }, { + "$ref" : "#/components/schemas/TaggingTaskResult" + } ], + "description" : "Task result for adapter push operations" + }, + "TaggingPushToAdapterSpec" : { + "type" : "object", + "description" : "Specification for pushing tagging categories and tags to an adapter instance", "properties" : { - "clientId" : { - "type" : "string", - "description" : "Sync client ID" - }, - "clientSecret" : { - "type" : "string", - "description" : "Sync client secret" + "categoryIds" : { + "type" : "array", + "description" : "Set of category IDs which need to be pushed to the adapter instance", + "items" : { + "type" : "string", + "format" : "uuid", + "description" : "Set of category IDs which need to be pushed to the adapter instance" + }, + "minItems" : 1, + "uniqueItems" : true }, - "tokenTtl" : { - "type" : "integer", - "format" : "int32", - "description" : "Total lifetime of generated access token in minutes" + "overwrite" : { + "type" : "boolean", + "description" : "Overwrite the properties of categories and tags if already exists on the adapter instance" } - } + }, + "required" : [ "categoryIds" ] }, - "ScimSyncClientDetails" : { + "TaggingResource" : { "type" : "object", - "description" : "Details of OAuth2 client used for SCIM provisioning operations", + "description" : "Represents a resource that has been assigned tags", "properties" : { - "accessTokenDetails" : { - "$ref" : "#/components/schemas/AccessTokenDetails" + "resourceId" : { + "type" : "string", + "description" : "Unique identifier of the resource" }, - "scimClientDetails" : { - "$ref" : "#/components/schemas/ScimClientDetails" + "tags" : { + "type" : "array", + "description" : "List of tags currently assigned to this resource", + "items" : { + "$ref" : "#/components/schemas/TaggingTag" + } } - } + }, + "required" : [ "resourceId" ] }, - "ScimTokenConfiguration" : { + "TaggingResources" : { "type" : "object", - "description" : "Scim token configuration", + "description" : "Paginated list of tagged resources", "properties" : { - "generateToken" : { - "type" : "boolean", - "description" : "Flag to generate a bearer access token for the SCIM sync client." + "links" : { + "type" : "array", + "description" : "Collection of links", + "items" : { + "$ref" : "#/components/schemas/link" + }, + "xml" : { + "wrapped" : true + } }, - "tokenTtl" : { - "type" : "integer", - "format" : "int32", - "description" : "Token lifetime in minutes when generating bearer access token (default: 262800, 6 months)" + "pageInfo" : { + "$ref" : "#/components/schemas/page-info" + }, + "resources" : { + "type" : "array", + "description" : "List of resources with their assigned tags", + "items" : { + "$ref" : "#/components/schemas/TaggingResource" + } } } }, - "SdmpConfig" : { + "TaggingTag" : { "type" : "object", - "description" : "A model that serves as the structure of the payload data for creating or updating vCenter Service Discovery adapter instance.
      NOTE: The defaultSRMCredentials field is deprecated and should not be used. It is ignored in requests and will no longer appear in responses.", + "description" : "Represents a tag within a tagging category", "properties" : { - "alternateCredentialsId" : { + "categoryId" : { "type" : "string", "format" : "uuid", - "description" : "Alternate credentials if for Service Discovery adapter. If not set will reuse vCenter credentials instead" - }, - "applicationDiscoveryEnabled" : { - "type" : "boolean", - "description" : "Enable application discovery flag, enabled by default." - }, - "defaultLinuxCredentials" : { - "$ref" : "#/components/schemas/credential-params" + "description" : "ID of the category to which this tag belongs" }, - "defaultSRMCredentials" : { - "$ref" : "#/components/schemas/credential-params" - }, - "defaultWindowsCredentials" : { - "$ref" : "#/components/schemas/credential-params" + "categoryName" : { + "type" : "string", + "description" : "Name of the category to which this tag belongs" }, - "enabled" : { - "type" : "boolean", - "description" : "Enable service discovery flag, disabled by default." + "description" : { + "type" : "string", + "description" : "Tag description" }, "id" : { "type" : "string", "format" : "uuid", - "description" : "Identifier of this Service Discovery adapter, automatically assigned by the system on create. Must be set in case of update." + "description" : "ID associated with the tag" + }, + "name" : { + "type" : "string", + "description" : "Tag name" } } }, - "SearchCriteria" : { + "TaggingTagConflict" : { "type" : "object", - "description" : "The key value pair for storing search criteria", + "description" : "Represents conflict for a tagging tag object", "properties" : { - "key" : { + "error" : { "type" : "string", - "description" : "Field for search and sort on bills summary", - "enum" : [ "RESOURCE_NAME", "POLICY_NAME", "TITLE", "START_TIME", "END_TIME", "EXECUTION_TIME", "TOTAL_PRICE", "RESOURCE_TYPE", "ASSIGNED_TO_TENANT" ] + "description" : "Error message related to the conflict of the tag" }, - "value" : { + "tagId" : { "type" : "string", - "description" : "Search Criteria value" + "format" : "uuid", + "description" : "ID associated with the tag" } }, - "required" : [ "key", "value" ] + "required" : [ "tagId" ] }, - "ServiceDetails" : { + "TaggingTagQuerySpec" : { "type" : "object", - "description" : "Represents the service details model, containing service key, service address, port, address type and certificates.", + "description" : "Query specification for filtering tags", "properties" : { - "address" : { - "type" : "string", - "description" : "The address of the service to which the token applies." - }, - "addressType" : { - "$ref" : "#/components/schemas/AddressType" - }, - "basePath" : { - "type" : "string", - "description" : "The base URL path of the integration service." - }, - "certificates" : { + "ids" : { "type" : "array", - "description" : "Certificate chain associated with the service address.", + "description" : "Tag IDs to filter tags by specific identifiers", "items" : { "type" : "string", - "description" : "Certificate chain associated with the service address." - } - }, - "key" : { - "type" : "string", - "description" : "Unique service key." - }, - "name" : { - "type" : "string", - "description" : "The display name of the integration service." - }, - "port" : { - "type" : "integer", - "format" : "int32", - "description" : "The port number associated with the service address." - }, - "type" : { - "type" : "string", - "description" : "The type of the integration service." + "format" : "uuid", + "description" : "Tag IDs to filter tags by specific identifiers" + }, + "uniqueItems" : true }, - "version" : { - "type" : "string", - "description" : "The version of the integration service." - } - } - }, - "ServicesDetails" : { - "type" : "object", - "description" : "Container class that holds a list of integration services details.", - "properties" : { - "servicesDetails" : { + "names" : { "type" : "array", - "description" : "A list of integrated services details in the system.", + "description" : "Tag names to filter tags. Supports partial matching", "items" : { - "$ref" : "#/components/schemas/ServiceDetails" - } + "type" : "string", + "description" : "Tag names to filter tags. Supports partial matching" + }, + "uniqueItems" : true } } }, - "SsoRealm" : { + "TaggingTaggedResourceQuerySpec" : { "type" : "object", - "description" : "SSO Realm details", + "description" : "Specification containing search query filters to retrieve tagged resources", "properties" : { - "createdAt" : { - "type" : "integer", - "format" : "int64", - "description" : "SSO Realm Creation Timestamp" - }, - "id" : { - "type" : "string", - "format" : "uuid", - "description" : "SSO Realm Id" - }, - "idpId" : { - "type" : "string", - "format" : "uuid", - "description" : "Identity Provider ID" - }, - "issues" : { + "adapterInstanceIds" : { "type" : "array", - "description" : "Issue details related to SSO", + "description" : "Set of adapter instance IDs to filter resources managed by specific adapters", "items" : { - "$ref" : "#/components/schemas/SsoRealmIssue" - } - }, - "name" : { - "type" : "string", - "description" : "SSO Realm Name" + "type" : "string", + "format" : "uuid", + "description" : "Set of adapter instance IDs to filter resources managed by specific adapters" + }, + "uniqueItems" : true }, - "ssoRealmCoverage" : { + "customGroupIds" : { "type" : "array", - "description" : "SSO Realm Coverage", + "description" : "Set of custom group IDs to filter resources belonging to these groups", "items" : { - "$ref" : "#/components/schemas/SsoRealmCoverage" - } - }, - "totalConfiguredComponents" : { - "type" : "integer", - "format" : "int32", - "description" : "Total number of configured components in the SSO Realm" + "type" : "string", + "format" : "uuid", + "description" : "Set of custom group IDs to filter resources belonging to these groups" + }, + "uniqueItems" : true }, - "updatedAt" : { - "type" : "integer", - "format" : "int64", - "description" : "SSO Realm Updated Timestamp" + "resourceKinds" : { + "type" : "array", + "description" : "Set of resource kinds/types to filter results (e.g., VirtualMachine, HostSystem)", + "items" : { + "type" : "string", + "description" : "Set of resource kinds/types to filter results (e.g., VirtualMachine, HostSystem)" + }, + "uniqueItems" : true }, - "vcfInstanceId" : { - "type" : "string", - "format" : "uuid", - "description" : "Vcf Instance Id" + "tagIds" : { + "type" : "array", + "description" : "A single tag ID to filter resources that have this tag assigned", + "items" : { + "type" : "string", + "format" : "uuid", + "description" : "A single tag ID to filter resources that have this tag assigned" + }, + "maxItems" : 1, + "minItems" : 0, + "uniqueItems" : true }, - "vidbResourceId" : { + "tagName" : { "type" : "string", - "format" : "uuid", - "description" : "Vidb Resource Id" + "description" : "Tag name pattern for filtering resources that have tags matching this name" } - }, - "required" : [ "vidbResourceId" ] + } }, - "SsoRealmCoverage" : { + "TaggingTags" : { "type" : "object", - "description" : "SSO Realm Coverage", + "description" : "Result object containing list of tags", + "properties" : { + "tags" : { + "type" : "array", + "description" : "List of tagging tags", + "items" : { + "$ref" : "#/components/schemas/TaggingTag" + } + } + } + }, + "TaggingTask" : { + "type" : "object", + "description" : "Represents information of a tagging task", "properties" : { + "errorMessages" : { + "type" : "array", + "description" : "Error messages generated by the task", + "items" : { + "type" : "string", + "description" : "Error messages generated by the task" + } + }, "id" : { "type" : "string", "format" : "uuid", - "description" : "Identifier of VCF Instance or Management Component", - "minLength" : 1 + "description" : "ID of the task" }, - "name" : { + "status" : { "type" : "string", - "description" : "Name of VCF Instance or Management Component", - "minLength" : 1 + "description" : "Defines task status", + "enum" : [ "UNKNOWN", "RUNNING", "SUCCESS", "FAILED", "DISMISSED" ] }, - "ssoEntityType" : { - "type" : "string", - "description" : "SsoEntityType", - "enum" : [ "VCF_INSTANCE", "MANAGEMENT_COMPONENT", "OTHER_COMPONENTS", "UNKNOWN" ], - "minLength" : 1 + "taskResult" : { + "$ref" : "#/components/schemas/OneOfTaggingTaskResult" } }, - "required" : [ "id", "name", "ssoEntityType" ] + "required" : [ "id" ] }, - "SsoRealmCreationRequest" : { + "TaggingTaskResult" : { "type" : "object", - "description" : "SSO Realm creation request", + "description" : "Abstract base class for task results.", + "discriminator" : { + "mapping" : { + "PULL_FROM_ADAPTER" : "#/components/schemas/TaggingPullTaskResult", + "PUSH_TO_ADAPTER" : "#/components/schemas/TaggingPushTaskResult", + "TAG_ASSIGNMENT" : "#/components/schemas/TaggingAssignmentTaskResult" + }, + "propertyName" : "type" + }, "properties" : { - "vidbResourceId" : { + "type" : { "type" : "string", - "format" : "uuid", - "description" : "Vidb Resource Id of the host vidb on which SSO Realm needs to be created." + "description" : "Used to identify schema type. For each schema its equivalent value should be used. allowableValues = {TAG_ASSIGNMENT, PULL_FROM_ADAPTER, PUSH_TO_ADAPTER}" } - }, - "required" : [ "vidbResourceId" ] + } }, - "SsoRealmIssue" : { + "TaggingTaskUUID" : { "type" : "object", - "description" : "SSO Realm Issue details", + "description" : "Task ID wrapper for tagging operations", "properties" : { - "alertId" : { - "type" : "string", - "description" : "Alert ID" - }, - "message" : { - "type" : "string", - "description" : "Message" - }, - "name" : { - "type" : "string", - "description" : "Issue Name" - }, - "resourceId" : { - "type" : "string", - "description" : "Resource ID" - }, - "severity" : { + "taskId" : { "type" : "string", - "description" : "Issue Severity" + "format" : "uuid", + "description" : "Task ID" } - } + }, + "required" : [ "taskId" ] }, - "SsoRealms" : { + "TargetComponentGroups" : { "type" : "object", - "description" : "SSO Realm List", + "description" : "Target component group for a policy operation (apply, detach, remediate, retry, compliance run). Use JSON **`componentGroups`** (plural) as an array of FLEET, MANAGEMENT, INSTANCE. INSTANCE scope must supply componentGroupResourceIds; FQDNs are not accepted on this object. `policyId` on the enclosing policy task is required for all task types except `COMPLIANCE_RUN`. For detach, remediate, and retry the server resolves scope from assignment/compliance data together with that policy id.", "properties" : { - "ssoRealms" : { + "componentGroupResourceIds" : { "type" : "array", - "description" : "SSO Realm List", + "description" : "List of VCF instance resource IDs. Applicable only in case of INSTANCE component group", "items" : { - "$ref" : "#/components/schemas/SsoRealm" + "type" : "string", + "format" : "uuid", + "description" : "List of VCF instance resource IDs. Applicable only in case of INSTANCE component group" + } + }, + "componentGroups" : { + "type" : "array", + "description" : "Component group scope (JSON property name **`componentGroups`**, plural array).", + "items" : { + "type" : "string", + "description" : "Identifies the specific group the component belongs to: FLEET, MANAGEMENT, or INSTANCE.", + "enum" : [ "FLEET", "MANAGEMENT", "INSTANCE", "UNKNOWN" ] } } - } + }, + "required" : [ "componentGroups" ] }, - "StatusSummary" : { + "TasksQuery" : { "type" : "object", - "description" : "Status counts of role provision", + "description" : "Retrieves a list of policy tasks based on the provided query parameters. The body may include `taskIds`, `taskStatuses`, `taskTypes`, `policyIds`, `policyNames`, `componentGroups`, `componentGroupResourceIds`, and `componentGroupResourceFqdns`.\n\n**Filtering Behavior:**\nEvery returned task must satisfy **all** non-empty filter dimensions (logical AND). Within each list field, multiple values are OR (match any). `componentGroupResourceIds` and `componentGroupResourceFqdns` are resolved together to instance resource IDs before matching the task's persisted target. If no task matches every active filter, the result list is empty.\n\n**Request JSON:** Use the property **`componentGroups`** (plural) as a **JSON array** of strings (`FLEET`, `MANAGEMENT`, `INSTANCE`).", "properties" : { - "drifted" : { - "type" : "integer", - "format" : "int32", - "description" : "Drifted count" + "componentGroupResourceFqdns" : { + "type" : "array", + "description" : "Component group resource FQDNs (resolved to instance IDs; AND with other non-empty dimensions)", + "items" : { + "type" : "string", + "description" : "Component group resource FQDNs (resolved to instance IDs; AND with other non-empty dimensions)", + "maxLength" : 255, + "minLength" : 0 + }, + "maxItems" : 100, + "minItems" : 0 }, - "failed" : { - "type" : "integer", - "format" : "int32", - "description" : "Failed count" + "componentGroupResourceIds" : { + "type" : "array", + "description" : "Component group resource IDs (AND with other non-empty filter dimensions; OR within this list)", + "items" : { + "type" : "string", + "format" : "uuid", + "description" : "Component group resource IDs (AND with other non-empty filter dimensions; OR within this list)" + }, + "maxItems" : 100, + "minItems" : 0 }, - "inProgress" : { - "type" : "integer", - "format" : "int32", - "description" : "In progress count" + "componentGroups" : { + "type" : "array", + "description" : "JSON **`componentGroups`** (plural): array of FLEET, MANAGEMENT, INSTANCE. Matches tasks whose persisted target overlaps (AND with other non-empty filters; OR within this list).", + "items" : { + "type" : "string", + "description" : "Identifies the specific group the component belongs to: FLEET, MANAGEMENT, or INSTANCE.", + "enum" : [ "FLEET", "MANAGEMENT", "INSTANCE", "UNKNOWN" ] + }, + "maxItems" : 100, + "minItems" : 0 }, - "notProvisioned" : { - "type" : "integer", - "format" : "int32", - "description" : "Not provisioned count" + "policyIds" : { + "type" : "array", + "description" : "Policy IDs", + "items" : { + "type" : "string", + "format" : "uuid", + "description" : "Policy IDs" + }, + "maxItems" : 100, + "minItems" : 0 }, - "provisioned" : { - "type" : "integer", - "format" : "int32", - "description" : "Provisioned count" - } - } - }, - "SubjectAlternativeNames" : { - "type" : "object", - "description" : "Subject alternative names specification for generate csr", - "properties" : { - "dns" : { + "policyNames" : { "type" : "array", - "description" : "List of dns", + "description" : "Policy names (each name max length 255)", "items" : { "type" : "string", - "description" : "List of dns" - } + "description" : "Policy names (each name max length 255)", + "maxLength" : 255, + "minLength" : 0 + }, + "maxItems" : 100, + "minItems" : 0 }, - "ip" : { + "taskIds" : { "type" : "array", - "description" : "List of ip", + "description" : "Task IDs", "items" : { "type" : "string", - "description" : "List of ip" - } + "format" : "uuid", + "description" : "Task IDs" + }, + "maxItems" : 100, + "minItems" : 0 + }, + "taskStatuses" : { + "type" : "array", + "description" : "Task statuses", + "items" : { + "type" : "string", + "description" : "Policy operations task status", + "enum" : [ "IN_PROGRESS", "COMPLETED", "FAILED", "UNKNOWN" ] + }, + "maxItems" : 100, + "minItems" : 0 + }, + "taskTypes" : { + "type" : "array", + "description" : "Task types", + "items" : { + "type" : "string", + "description" : "Policy operations task type", + "enum" : [ "POLICY_APPLY", "POLICY_DETACH", "POLICY_RETRY", "POLICY_REMEDIATE", "COMPLIANCE_RUN", "UNKNOWN" ] + }, + "maxItems" : 100, + "minItems" : 0 } } }, @@ -26968,10 +29985,20 @@ "type" : "string", "description" : "certificate category" }, + "categoryDisplayName" : { + "type" : "string", + "description" : "Display name for certificate category (e.g. TLS Certificate)" + }, + "certificateMetadata" : { + "$ref" : "#/components/schemas/CertificateMetadataInfo" + }, "certificateResourceKey" : { "type" : "string", "description" : "certificate resource key" }, + "clusterInfo" : { + "$ref" : "#/components/schemas/VcfCertificateClusterInfo" + }, "daysToExpire" : { "type" : "integer", "format" : "int32", @@ -27035,14 +30062,38 @@ } } }, + "VcfCertificateClusterInfo" : { + "type" : "object", + "allOf" : [ { + "$ref" : "#/components/schemas/VcfCommonClusterInfo" + }, { + "type" : "object", + "properties" : { + "clusterFqdns" : { + "type" : "array", + "description" : "FQDNs of nodes participating in the certificate cluster", + "items" : { + "type" : "string", + "description" : "FQDNs of nodes participating in the certificate cluster" + } + }, + "clusterType" : { + "type" : "string", + "description" : "Certificate cluster layout type", + "enum" : [ "UNKNOWN", "COMMON_CLUSTER_CERTIFICATE", "NODE_CLUSTER_CERTIFICATE" ] + } + } + } ], + "description" : "Cluster metadata for a VCF certificate resource" + }, "VcfCertificateResponse" : { "type" : "object", "description" : "Represents certificate response model", "properties" : { "appliance" : { "type" : "string", - "description" : "Appliance or component type for certificate searches (e.g., VCENTER, NSXT_MANAGER, SDDC_MANAGER, VCF_AUTOMATION, LOG_MANAGEMENT, VCF_OPERATIONS, VCF_OPS_NETWORKS, IDENTITY_BROKER, VCF_OPS_HCX, ESX, VCF_SERVICES_RUNTIME, AVI_LOAD_BALANCER)", - "enum" : [ "VCENTER", "SDDC_MANAGER", "NSXT_MANAGER", "VCF_AUTOMATION", "LOG_MANAGEMENT", "VCF_OPERATIONS", "VCF_OPS_NETWORK", "IDENTITY_BROKER", "VCF_OPS_HCX", "ESX", "VCF_SERVICES_RUNTIME", "AVI_LOAD_BALANCER", "UNKNOWN" ] + "description" : "Appliance or component type for certificate searches (e.g., VCENTER, NSXT_MANAGER, SDDC_MANAGER, VCF_AUTOMATION, LOG_MANAGEMENT, VCF_OPERATIONS, VCF_OPS_NETWORKS, IDENTITY_BROKER, VCF_OPS_HCX, ESX, VCF_SERVICES_RUNTIME, AVI_LOAD_BALANCER, LICENSE_SERVER, CLOUD_PROXY)", + "enum" : [ "VCENTER", "SDDC_MANAGER", "NSXT_MANAGER", "VCF_AUTOMATION", "LOG_MANAGEMENT", "VCF_OPERATIONS", "VCF_OPS_NETWORK", "IDENTITY_BROKER", "VCF_OPS_HCX", "ESX", "VCF_SERVICES_RUNTIME", "AVI_LOAD_BALANCER", "LICENSE_SERVER", "UNKNOWN", "SUPERVISOR", "CLOUD_PROXY" ] }, "applianceFqdn" : { "type" : "string", @@ -27059,6 +30110,13 @@ "type" : "string", "description" : "certificate category" }, + "categoryDisplayName" : { + "type" : "string", + "description" : "Display name for certificate category" + }, + "certificateMetadata" : { + "$ref" : "#/components/schemas/CertificateMetadataInfo" + }, "certificateResourceKey" : { "type" : "string", "description" : "certificate resource key" @@ -27132,8 +30190,8 @@ "properties" : { "appliance" : { "type" : "string", - "description" : "Appliance or component type for certificate searches (e.g., VCENTER, NSXT_MANAGER, SDDC_MANAGER, VCF_AUTOMATION, LOG_MANAGEMENT, VCF_OPERATIONS, VCF_OPS_NETWORKS, IDENTITY_BROKER, VCF_OPS_HCX, ESX, VCF_SERVICES_RUNTIME, AVI_LOAD_BALANCER)", - "enum" : [ "VCENTER", "SDDC_MANAGER", "NSXT_MANAGER", "VCF_AUTOMATION", "LOG_MANAGEMENT", "VCF_OPERATIONS", "VCF_OPS_NETWORK", "IDENTITY_BROKER", "VCF_OPS_HCX", "ESX", "VCF_SERVICES_RUNTIME", "AVI_LOAD_BALANCER", "UNKNOWN" ] + "description" : "Appliance or component type for certificate searches (e.g., VCENTER, NSXT_MANAGER, SDDC_MANAGER, VCF_AUTOMATION, LOG_MANAGEMENT, VCF_OPERATIONS, VCF_OPS_NETWORKS, IDENTITY_BROKER, VCF_OPS_HCX, ESX, VCF_SERVICES_RUNTIME, AVI_LOAD_BALANCER, LICENSE_SERVER, CLOUD_PROXY)", + "enum" : [ "VCENTER", "SDDC_MANAGER", "NSXT_MANAGER", "VCF_AUTOMATION", "LOG_MANAGEMENT", "VCF_OPERATIONS", "VCF_OPS_NETWORK", "IDENTITY_BROKER", "VCF_OPS_HCX", "ESX", "VCF_SERVICES_RUNTIME", "AVI_LOAD_BALANCER", "LICENSE_SERVER", "UNKNOWN", "SUPERVISOR", "CLOUD_PROXY" ] }, "applianceFqdn" : { "type" : "string", @@ -27141,8 +30199,20 @@ }, "category" : { "type" : "string", - "description" : "Certificate category for search requests (e.g., TLS_CERT, ROOT_CERT, INTERMEDIATE_CERT)", - "enum" : [ "TLS_CERT", "ROOT_CERT", "INTERMEDIATE_CERT", "UNKNOWN" ] + "description" : "Certificate category for search requests. Common types: TLS_CERT, ROOT_CERT, INTERMEDIATE_CERT. Component-specific types are also supported (e.g., STS_CERT, VMCA_ROOT for vCenter; LOCAL_MANAGER, CBM_CORFU for NSX; VIP, NSX_LB for Supervisor; POLICY_LB_CERT, POLICY_VPN_CERT for NSX policy certificates).", + "enum" : [ "TLS_CERT", "ROOT_CERT", "INTERMEDIATE_CERT", "UNKNOWN", "STS_CERT", "VMCA_ROOT", "KMS_CLIENT_CERT", "KMS_SERVER_CERT", "SOLUTION_USER_CERT", "VRNI_GRPC_CERT", "VIP", "NSX_LB", "LOCAL_MANAGER", "GLOBAL_MANAGER", "CBM_CORFU", "CBM_CLUSTER_MANAGER", "APH", "APH_TN", "TN", "CCP", "WEB_PROXY", "SYSLOG_SERVER", "COMPUTE_MANAGER", "CLIENT_AUTH", "POLICY_LB_CERT", "POLICY_VPN_CERT" ] + }, + "certificateChainGroupId" : { + "type" : "string", + "description" : "Chain group ID for grouping certificates in the same chain" + }, + "certificateChainRole" : { + "type" : "string", + "description" : "Certificate chain role (LEAF, INTERMEDIATE, ROOT)" + }, + "certificatePurpose" : { + "type" : "string", + "description" : "Certificate purpose (e.g., MACHINE_SSL_CERT, STS_CERT)" }, "status" : { "type" : "string", @@ -27151,8 +30221,8 @@ }, "type" : { "type" : "string", - "description" : "Certificate signing CA type (e.g., VMCA, OPENSSL_CA, MSCA, EXTERNAL_CA)", - "enum" : [ "VMCA", "OPENSSL_CA", "MSCA", "EXTERNAL_CA", "UNKNOWN" ] + "description" : "Certificate signing CA type (e.g., VMCA, OPENSSL_CA, MSCA, EXTERNAL_CA, SELF_SIGNED_CA)", + "enum" : [ "VMCA", "OPENSSL_CA", "MSCA", "EXTERNAL_CA", "SELF_SIGNED_CA", "UNKNOWN" ] } } }, @@ -27207,6 +30277,24 @@ }, "required" : [ "cpuHeadroom", "instanceType", "slackSpace" ] }, + "VcfCommonClusterInfo" : { + "type" : "object", + "description" : "Common cluster metadata for VCF management resources", + "properties" : { + "isClustered" : { + "type" : "boolean", + "description" : "Whether the resource belongs to a clustered deployment" + }, + "isPrimaryNode" : { + "type" : "boolean", + "description" : "Whether this resource instance is the primary cluster node" + }, + "primaryNode" : { + "type" : "string", + "description" : "Primary node identifier (for example FQDN)" + } + } + }, "VcfComponentRole" : { "type" : "object", "description" : "VCF Components roles", @@ -27214,7 +30302,7 @@ "componentType" : { "type" : "string", "description" : "VCF Component type", - "enum" : [ "VCENTER", "NSX_MANAGER", "VCF_OPERATIONS", "VCF_AUTOMATION", "HCX", "VCF_ORCHESTRATOR", "UNKNOWN" ] + "enum" : [ "VCENTER", "NSX_MANAGER", "VCF_OPERATIONS", "VCF_AUTOMATION", "HCX", "VCF_ORCHESTRATOR", "UNKNOWN", "VCF_SALT_RAAS" ] }, "roles" : { "type" : "array", @@ -27278,8 +30366,8 @@ }, "appliance" : { "type" : "string", - "description" : "Appliance or component type for password account searches (e.g., VCENTER, NSXT_MANAGER, NSXT_EDGE, SDDC_MANAGER, VCF_AUTOMATION, LOG_MANAGEMENT, VCF_OPERATIONS, VCF_OPS_NETWORKS, IDENTITY_BROKER, VCF_OPS_HCX, ESX, VCF_SERVICES_RUNTIME, AVI_LOAD_BALANCER)", - "enum" : [ "VCENTER", "SDDC_MANAGER", "NSXT_MANAGER", "NSXT_EDGE", "VCF_AUTOMATION", "LOG_MANAGEMENT", "VCF_OPERATIONS", "VCF_OPS_NETWORK", "IDENTITY_BROKER", "VCF_OPS_HCX", "ESX", "VCF_SERVICES_RUNTIME", "AVI_LOAD_BALANCER", "UNKNOWN" ] + "description" : "Appliance or component type for password account searches (e.g., VCENTER, NSXT_MANAGER, NSXT_EDGE, SDDC_MANAGER, VCF_AUTOMATION, LOG_MANAGEMENT, VCF_OPERATIONS, VCF_OPS_NETWORKS, CLOUD_PROXY, IDENTITY_BROKER, VCF_OPS_HCX, ESX, VCF_SERVICES_RUNTIME, AVI_LOAD_BALANCER)", + "enum" : [ "VCENTER", "SDDC_MANAGER", "NSXT_MANAGER", "NSXT_EDGE", "VCF_AUTOMATION", "LOG_MANAGEMENT", "VCF_OPERATIONS", "VCF_OPS_NETWORK", "CLOUD_PROXY", "IDENTITY_BROKER", "VCF_OPS_HCX", "ESX", "VCF_SERVICES_RUNTIME", "AVI_LOAD_BALANCER", "UNKNOWN" ] }, "applianceFqdn" : { "type" : "string", @@ -27289,6 +30377,9 @@ "type" : "string", "description" : "Appliance resource ID" }, + "clusterInfo" : { + "$ref" : "#/components/schemas/VcfPasswordClusterInfo" + }, "credentialType" : { "type" : "string", "description" : "Credential type" @@ -27302,6 +30393,17 @@ "format" : "int64", "description" : "Password expiry date" }, + "lastPasswordUpdateTimestamp" : { + "type" : "integer", + "format" : "int64", + "description" : "Last password update timestamp.", + "nullable" : true + }, + "managedByFqdn" : { + "type" : "string", + "description" : "FQDN of the component that manages this account.", + "nullable" : true + }, "passwordAccountKey" : { "type" : "string", "description" : "password account key" @@ -27331,13 +30433,22 @@ "properties" : { "appliance" : { "type" : "string", - "description" : "Appliance or component type for password account searches (e.g., VCENTER, NSXT_MANAGER, NSXT_EDGE, SDDC_MANAGER, VCF_AUTOMATION, LOG_MANAGEMENT, VCF_OPERATIONS, VCF_OPS_NETWORKS, IDENTITY_BROKER, VCF_OPS_HCX, ESX, VCF_SERVICES_RUNTIME, AVI_LOAD_BALANCER)", - "enum" : [ "VCENTER", "SDDC_MANAGER", "NSXT_MANAGER", "NSXT_EDGE", "VCF_AUTOMATION", "LOG_MANAGEMENT", "VCF_OPERATIONS", "VCF_OPS_NETWORK", "IDENTITY_BROKER", "VCF_OPS_HCX", "ESX", "VCF_SERVICES_RUNTIME", "AVI_LOAD_BALANCER", "UNKNOWN" ] + "description" : "Appliance or component type for password account searches (e.g., VCENTER, NSXT_MANAGER, NSXT_EDGE, SDDC_MANAGER, VCF_AUTOMATION, LOG_MANAGEMENT, VCF_OPERATIONS, VCF_OPS_NETWORKS, CLOUD_PROXY, IDENTITY_BROKER, VCF_OPS_HCX, ESX, VCF_SERVICES_RUNTIME, AVI_LOAD_BALANCER)", + "enum" : [ "VCENTER", "SDDC_MANAGER", "NSXT_MANAGER", "NSXT_EDGE", "VCF_AUTOMATION", "LOG_MANAGEMENT", "VCF_OPERATIONS", "VCF_OPS_NETWORK", "CLOUD_PROXY", "IDENTITY_BROKER", "VCF_OPS_HCX", "ESX", "VCF_SERVICES_RUNTIME", "AVI_LOAD_BALANCER", "UNKNOWN" ] }, "applianceFqdn" : { "type" : "string", "description" : "Fully qualified domain name of the appliance" }, + "lastPasswordUpdateTimestamp" : { + "type" : "integer", + "format" : "int64", + "description" : "Last password update timestamp (milliseconds since epoch) for filtering" + }, + "managedByFqdn" : { + "type" : "string", + "description" : "FQDN of the component that manages the account for filtering" + }, "status" : { "type" : "string", "description" : "Password account status for search requests (e.g., ACTIVE, EXPIRING, EXPIRED, UNKNOWN)", @@ -27379,6 +30490,23 @@ } } }, + "VcfPasswordClusterInfo" : { + "type" : "object", + "allOf" : [ { + "$ref" : "#/components/schemas/VcfCommonClusterInfo" + }, { + "type" : "object", + "properties" : { + "accountType" : { + "type" : "string", + "description" : "Cluster account type for this password account", + "enum" : [ "COMMON_CLUSTER_ACCOUNT", "PER_NODE_ACCOUNT" ] + } + } + } ], + "description" : "Cluster metadata for a VCF password account", + "nullable" : true + }, "VcfRegistrationResult" : { "type" : "object", "description" : "A model that serves as the structure of VCF registration update result.", @@ -27634,6 +30762,33 @@ } } }, + "VidbPrincipal" : { + "type" : "object", + "description" : "VIDB principal for provisioning and un-provisioning operations via LDAP directory", + "properties" : { + "dn" : { + "type" : "string", + "description" : "Distinguished name (DN) for LDAP provisioning" + }, + "name" : { + "type" : "string", + "description" : "Display name of the principal", + "readOnly" : true + }, + "principalId" : { + "type" : "string", + "format" : "uuid", + "description" : "Server-generated principal identifier", + "readOnly" : true + }, + "principalType" : { + "type" : "string", + "description" : "Indicates Principal type.", + "enum" : [ "USER", "GROUP", "APICLIENT", "UNKNOWN" ] + } + }, + "required" : [ "dn", "principalType" ] + }, "VidbPrincipalQuery" : { "type" : "object", "description" : "Represents Principal Type search param", @@ -27680,7 +30835,7 @@ "searchableField" : { "type" : "string", "description" : "Fields that can be searched in identity broker principal lists", - "enum" : [ "USERNAME", "DOMAIN", "FIRSTNAME", "LASTNAME", "DISPLAY_NAME", "ROLES", "IS_ACTIVE", "UNKNOWN" ] + "enum" : [ "USERNAME", "DOMAIN", "FIRSTNAME", "LASTNAME", "DISPLAY_NAME", "ROLES", "IS_ACTIVE", "DN", "ID", "UNKNOWN" ] }, "terms" : { "type" : "array", @@ -27708,7 +30863,7 @@ "items" : { "type" : "string", "description" : "Reasons if identity broker is NOT_ELIGIBLE", - "enum" : [ "VC_VERSION_NOT_SUPPORTED", "VC_ELM_MODE_NOT_SUPPORTED", "VC_INVALID_LICENSE", "SETUP_INPROGRESS", "INVALID_VIDB_VERSION", "VCF_SSO_CONFIGURED_OTHER_OPS", "UNKNOWN" ] + "enum" : [ "VC_VERSION_NOT_SUPPORTED", "VC_ELM_MODE_NOT_SUPPORTED", "VC_INVALID_LICENSE", "SETUP_INPROGRESS", "INVALID_VIDB_VERSION", "VCF_SSO_CONFIGURED_OTHER_OPS", "INFRASTRUCTURE_COMPONENT_DOWN", "UNKNOWN" ] } } } @@ -27759,6 +30914,19 @@ } } }, + "VidbUserGroupDetails" : { + "type" : "object", + "description" : "Provides detailed information about user groups, including group identifiers, names, display names, domains, and the roles associated with each group.", + "properties" : { + "vidbGroups" : { + "type" : "array", + "description" : "List of group objects containing detailed information for each group the user belongs to.", + "items" : { + "$ref" : "#/components/schemas/VidbGroup" + } + } + } + }, "VidbUsers" : { "type" : "object", "description" : "Identity broker users list", @@ -28637,7 +31805,7 @@ "category" : { "type" : "string", "description" : "Categories for VCF workflow requests", - "enum" : [ "INVENTORY", "PASSWORD", "CERTIFICATE", "LCM_MIGRATION", "VCF_PASSWORD_MANAGEMENT", "VCF_CERTIFICATE_MANAGEMENT", "SERVICE_REGISTRY_ROTATION", "SOLUTIONS_CATALOG", "SALT_RAAS_CONFIGURATION", "VIDB_MIGRATION", "VCF_IAM" ] + "enum" : [ "INVENTORY", "PASSWORD", "CERTIFICATE", "LCM_MIGRATION", "VCF_PASSWORD_MANAGEMENT", "VCF_CERTIFICATE_MANAGEMENT", "SERVICE_REGISTRY_ROTATION", "SOLUTIONS_CATALOG", "SALT_RAAS_CONFIGURATION", "VIDB_MIGRATION", "VCF_IAM", "FLEET_SETTINGS" ] }, "duration" : { "type" : "integer", diff --git a/specifications/vsan-data-protection/vsan-data-protection-openapi.yaml b/specifications/vsan-data-protection/vsan-data-protection-openapi.yaml index bc8d3a7..d709e76 100644 --- a/specifications/vsan-data-protection/vsan-data-protection-openapi.yaml +++ b/specifications/vsan-data-protection/vsan-data-protection-openapi.yaml @@ -1,7 +1,7 @@ openapi: 3.0.3 info: title: Snapshot Appliance API - version: 9.1.0.0 + version: 9.1.1.0 servers: - url: "https://{host}/api" variables: diff --git a/specifications/vsphere/openapi/automation/vcenter.yaml b/specifications/vsphere/openapi/automation/vcenter.yaml index 8028b08..86e700f 100644 --- a/specifications/vsphere/openapi/automation/vcenter.yaml +++ b/specifications/vsphere/openapi/automation/vcenter.yaml @@ -1,7 +1,7 @@ openapi: 3.0.3 info: title: vSphere Automation API - version: 9.1.0.0 + version: 9.1.1.0 servers: - url: "https://{host}/api" variables: @@ -1423,10 +1423,11 @@ tags: This resource was added in __vSphere API 6.7.2__. - name: Vcenter.CertificateManagement.Vcenter.SigningCertificate - description: |- - The Vcenter.CertificateManagement.Vcenter.SigningCertificate interface provides operations to view and manage vCenter signing certificates which are used to sign and verify tokens issued by vCenter token service. Versioning is the same as for the com.vmware.vcenter package. 1.23 - vSphere 7.0 U3 - - This resource was added in __vSphere API 7.0.3.0__. + description: "The Vcenter.CertificateManagement.Vcenter.SigningCertificate interface\ + \ provides operations to view and manage vCenter signing certificates which are\ + \ used to sign and verify tokens issued by vCenter token service. \n\n Versioning\ + \ is the same as for the com.vmware.vcenter package. \n\n 1.23 - vSphere 7.0 U3\n\ + \nThis resource was added in __vSphere API 7.0.3.0__." - name: Vcenter.CertificateManagement.Vcenter.Tls description: |- The Vcenter.CertificateManagement.Vcenter.Tls interface provides operations to replace Tls certificate. @@ -1933,10 +1934,10 @@ tags: This resource was added in __vSphere API 9.1.0.0__. - name: Vcenter.NamespaceManagement.Supervisors.Certificates - description: |- - The Vcenter.NamespaceManagement.Supervisors.Certificates resource provides operation to get and update PEM-encoded x509 certificate(s) configured the given Supervisor control plane. - - This resource was added in __vSphere API 9.1.0.0__. + description: " The Vcenter.NamespaceManagement.Supervisors.Certificates resource\ + \ provides operation to manage the PEM-encoded X.509 certificates chain configured\ + \ on the Supervisor control plane. \n\nThis resource was added in __vSphere API\ + \ 9.1.0.0__." - name: Vcenter.NamespaceManagement.Supervisors.Conditions description: |- The Vcenter.NamespaceManagement.Supervisors.Conditions resource provides operations to retrieve conditions related to a particular Supervisor. @@ -2146,6 +2147,11 @@ tags: The Vcenter.Namespaces.Mobility.Virtualmachines.Imports resource provides operations to manage importing VM into a Supervisor. This resource was added in __vSphere API 9.0.0.0__. +- name: Vcenter.Namespaces.Networks.Nsx.SharedSubnets + description: |- + The Vcenter.Namespaces.Networks.Nsx.SharedSubnets resource provides operations to get information of shared Subnets. + + This resource was added in __vSphere API 9.1.1.0__. - name: Vcenter.Namespaces.Networks.Nsx.Subnets description: |- The Vcenter.Namespaces.Networks.Nsx.Subnets resource provides operations to get NSX Subnets present in a particular namespace. @@ -2768,61 +2774,6 @@ tags: The Vcenter.VmTemplate.LibraryItems.Versions resource provides operations for managing the live versions of the virtual machine templates contained in a library item. Live versions include the latest and previous virtual machine templates that are available on disk. As new versions of virtual machine templates are checked in, old versions of virtual machine templates are automatically purged. Currently, at most one previous virtual machine template version is stored. This resource was added in __vSphere API 6.9.1__. -- name: Vstats.AcqSpecs - description: |- - The Vstats.AcqSpecs resource provides operations to perform acquisition specification related operations. An acquisition specification defines the statistical data that should be collected at desired sampling rates from the underlying providers. It designates the resources and their counters which should be sampled, and a desired sampling rate. - - __Warning:__ this resource is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. -- name: Vstats.CounterMetadata - description: |- - The Vstats.CounterMetadata resource provides access to the different historical editions of counters. As computing platforms evolve over time the measurement units for different characteristics of the systems change. As such changes occur, counters will receive different editions reflected in a new metadata record. For example computer memory had changes from kilobytes through megabytes into gigabytes. - - __Warning:__ this resource is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. -- name: Vstats.CounterSets - description: |- - The Vstats.CounterSets resource provides operations for accessing groupings of counters. Counter-sets allow consumers to use groups of counters. The counters may relate to different resource types. When an *Vstats.AcqSpecs* record refers to a counter-set, only the relevant counters apply. - - __Warning:__ this resource is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. -- name: Vstats.Counters - description: |- - The Vstats.Counters resource provides operations to perform various Counter related operations. Counter is derived from metric. It applies the metric to a particular class of a resource. - - __Warning:__ this resource is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. -- name: Vstats.Data - description: |- - The Vstats.Data resource provides operations to query measurement and statistic data. - - __Warning:__ this resource is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. -- name: Vstats.Metrics - description: |- - The Vstats.Metrics resource provides operation to list metrics. A metric is a fundamental concept. It means a measurable aspect or property. For instance, temperature, count, velocity, data size, bandwidth. - - __Warning:__ this resource is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. -- name: Vstats.Providers - description: |- - The Vstats.Providers resource manages list of statistical data provider services that are currently used. - - __Warning:__ this resource is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. -- name: Vstats.ResourceAddressSchemas - description: |- - The Vstats.ResourceAddressSchemas resource manages inventory of resource addressing schemas used by *Vstats.Counters*. Each schema consists of a named list of resource identifiers of specific resource type. - - __Warning:__ this resource is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. -- name: Vstats.ResourceAddresses - description: |- - The Vstats.ResourceAddresses resource provides operations to perform resource addressing queries. - - __Warning:__ this resource is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. -- name: Vstats.ResourceTypes - description: "The Vstats.ResourceTypes resource provides list of resource types.\ - \ Resource refers to any item or concept that could have measurable properties.\ - \ It is a prerequisite that a resource can be identified. \n\n Example resource\ - \ types are virtual machine, virtual disk etc.\n\n__Warning:__ this resource is\ - \ available as Technology Preview. These are early access APIs provided to test,\ - \ automate and provide feedback on the feature. Since this can change based on\ - \ feedback, VMware does not guarantee backwards compatibility and recommends against\ - \ using them in production environments. Some Technology Preview APIs might only\ - \ be applicable to specific environments." paths: /appliance/health/{item}/messages: get: @@ -44948,6 +44899,102 @@ paths: description: Success! security: - api_key_auth: [] + post: + tags: + - Vcenter.CertificateManagement.Vcenter.SigningCertificate + description: "Generates a certificate signing request and stage the corresponding\ + \ private key on the appliance. The private key is not returned. Use *PATCH\ + \ /vcenter/certificate-management/vcenter/signing-certificate* with the signed\ + \ certificate chain to complete replacement; the private key is combined only\ + \ inside the appliance.\n\nThis operation was added in __vSphere API 9.1.1.0__.\n\ + \nReturns an authorization error if you do not have all of the privileges\ + \ described as follows: \n - Operation execution requires `CertificateManagement.Administer`.\ + \ \n" + operationId: Vcenter.CertificateManagement.Vcenter.SigningCertificate_create + requestBody: + description: Subject and key parameters for the CSR. + content: + application/json: + schema: + $ref: "#/components/schemas/Vcenter.CertificateManagement.Vcenter.SigningCertificate.CreateSpec" + required: true + responses: + "400": + description: If the specification is invalid. + content: + application/json: + schema: + $ref: "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + "401": + description: If the caller is not authenticated. + content: + application/json: + schema: + $ref: "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + "500": + description: If a CSR could not be created. + content: + application/json: + schema: + $ref: "#/components/schemas/Vapi.Std.Errors.Error" + "201": + description: The CSR in PEM format. + content: + application/json: + schema: + $ref: "#/components/schemas/Vcenter.CertificateManagement.Vcenter.SigningCertificate.CreateResult" + security: + - api_key_auth: [] + patch: + tags: + - Vcenter.CertificateManagement.Vcenter.SigningCertificate + description: "Updates the active STS signing certificate with an externally\ + \ signed chain while using the private key staged for the most recent CSR\ + \ created with *POST /vcenter/certificate-management/vcenter/signing-certificate*.\ + \ The private key must not be provided in the request; if no staged key exists,\ + \ the operation fails.\n\nThis operation was added in __vSphere API 9.1.1.0__.\n\ + \nReturns an authorization error if you do not have all of the privileges\ + \ described as follows: \n - Operation execution requires `CertificateManagement.Administer`.\ + \ \n" + operationId: Vcenter.CertificateManagement.Vcenter.SigningCertificate_update + requestBody: + description: "Signed certificate chain to install. If `signing_cert_chain`\ + \ is missing or `null`, the operation is a no-op." + content: + application/json: + schema: + $ref: "#/components/schemas/Vcenter.CertificateManagement.Vcenter.SigningCertificate.UpdateSpec" + required: true + responses: + "400": + description: If the certificate chain is invalid. + content: + application/json: + schema: + $ref: "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + "401": + description: If the caller is not authenticated. + content: + application/json: + schema: + $ref: "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + "500": + description: If replacement fails. + content: + application/json: + schema: + $ref: "#/components/schemas/Vapi.Std.Errors.Error" + "404": + description: "If no private key is staged from a previous CSR generation,\ + \ or the staged key is missing in the key store." + content: + application/json: + schema: + $ref: "#/components/schemas/Vapi.Std.Errors.NotFound" + "204": + description: Success! + security: + - api_key_auth: [] /vcenter/certificate-management/vcenter/signing-certificate?action=refresh: post: tags: @@ -45705,6 +45752,83 @@ paths: description: Success! security: - api_key_auth: [] + /vcenter/compute/policies?action=create-tags-and-policies: + post: + tags: + - Vcenter.Compute.Policies + description: "Creates multiple compute policies in a single operation. \n\n\ + \ This is a batch operation where individual policy creations can succeed\ + \ or fail independently. The *Vcenter.Compute.Policies.CreateResult* will\ + \ contain both successfully created policies and any failures with their associated\ + \ errors. \n\n If a policy specification uses a *Vcenter.Compute.Policies.TagSpec*\ + \ with a *Vcenter.Compute.Policies.TagSpec.tag_name_spec*, and the specified\ + \ tag does not already exist, it will be automatically created on behalf of\ + \ the user.\n\nThis operation was added in __vSphere API 9.1.1.0__." + operationId: Vcenter.Compute.Policies_createTagsAndPolicies + requestBody: + description: Specification containing the list of policies to be created. + Each policy will be an instance of the capability that has the creation + type equal to the type of the specified value. Capability-specific fields + will be validated based on the capability type. + content: + application/json: + schema: + $ref: "#/components/schemas/Vcenter.Compute.Policies.CreateTagsAndPoliciesSpec" + required: true + responses: + "403": + description: if the user doesn't have the required privileges. + content: + application/json: + schema: + $ref: "#/components/schemas/Vapi.Std.Errors.Unauthorized" + "200": + description: Result containing a map of successfully created policies and + a map of policies that failed to be created with their errors. + content: + application/json: + schema: + $ref: "#/components/schemas/Vcenter.Compute.Policies.CreateResult" + security: + - api_key_auth: [] + /vcenter/compute/policies?action=delete-tags-and-policies: + post: + tags: + - Vcenter.Compute.Policies + description: "Deletes multiple compute policies in a single batch operation.\ + \ The *Vcenter.Compute.Policies.DeleteResult* will contain errors for any\ + \ policies that failed to be deleted. \n\n For policies created via *POST\ + \ /vcenter/compute/policies?action=create-tags-and-policies* using a *Vcenter.Compute.Policies.TagSpec.tag_name_spec*,\ + \ any tags that were automatically created on behalf of the user will also\ + \ be deleted, provided no other policy still references them.\n\nThis operation\ + \ was added in __vSphere API 9.1.1.0__." + operationId: Vcenter.Compute.Policies_deleteTagsAndPolicies + requestBody: + description: Specification containing the set of policy identifiers to be + deleted. + content: + application/json: + schema: + $ref: "#/components/schemas/Vcenter.Compute.Policies.DeleteTagsAndPoliciesSpec" + required: true + responses: + "403": + description: if the user doesn't have the required privileges. + content: + application/json: + schema: + $ref: "#/components/schemas/Vapi.Std.Errors.Unauthorized" + "200": + description: "*Vcenter.Compute.Policies.DeleteResult* containing a map of\ + \ policy identifiers that failed to be deleted along with their error\ + \ details. If all policies are successfully deleted, the errors map will\ + \ be missing or `null`." + content: + application/json: + schema: + $ref: "#/components/schemas/Vcenter.Compute.Policies.DeleteResult" + security: + - api_key_auth: [] /vcenter/compute/policies/capabilities: get: tags: @@ -46675,7 +46799,8 @@ paths: \ operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization\ \ error if you do not have all of the privileges described as follows: \n\ \ - The resource `com.vmware.vcenter.consumption_domains.Zone` referenced\ - \ by the parameter zone requires `Zone.Manage`. \n" + \ by the parameter zone requires `Zone.Manage`. \n - The resource `ClusterComputeResource`\ + \ referenced by the parameter cluster requires `Zone.ObjectAttachable`. \n" operationId: Vcenter.ConsumptionDomains.Zones.Cluster.Associations_evacuateAndRemove$Task parameters: - name: zone @@ -51641,7 +51766,8 @@ paths: description: "Configure the external services connection details with vCenter\ \ appliance.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns\ \ an authorization error if you do not have all of the privileges described\ - \ as follows: \n - Operation execution requires `VcLifecycle.View`. \n" + \ as follows: \n - Operation execution requires `VcLifecycle.Upgrade`.\ + \ \n" operationId: Vcenter.Lcm.Depot.Services_set requestBody: description: SetSpec containing connection and certificate details of external @@ -58121,10 +58247,12 @@ paths: get: tags: - Vcenter.NamespaceManagement.Supervisors.Certificates - description: "List PEM-encoded x509 certificate(s) used by Supervisor endpoints.\n\ - \nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization\ - \ error if you do not have all of the privileges described as follows: \n\ - \ - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor`\ + description: " Lists PEM-encoded X.509 certificate chains used by Supervisor\ + \ endpoints. \n\nCurrently, only one TLS endpoint of type *Vcenter.NamespaceManagement.Supervisors.Certificates.EndpointType.VIP*\ + \ is supported on the Kubernetes API server, and the returned list will contain\ + \ a single certificate chain. \n\nThis operation was added in __vSphere API\ + \ 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the\ + \ privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor`\ \ referenced by the parameter supervisor requires `System.Read`. \n" operationId: Vcenter.NamespaceManagement.Supervisors.Certificates_list parameters: @@ -58139,10 +58267,9 @@ paths: type: string - name: filter in: query - description: |- - parameters on which to filter response contents. - - If missing or `null`, certificates of all Supervisor endpoints will be returned. + description: "parameters on which to filter response contents.\n\nIf missing\ + \ or `null`, leaf certificates and certificate chains of all Supervisor\ + \ endpoints will be returned. " required: false style: form explode: true @@ -58174,8 +58301,9 @@ paths: schema: $ref: "#/components/schemas/Vapi.Std.Errors.NotFound" "200": - description: "A list of {#link ListResult} with certificates configured\ - \ for Supervisor endpoints." + description: 'A list of *Vcenter.NamespaceManagement.Supervisors.Certificates.ListResult* + with leaf certificates and certificate chains configured for Supervisor + endpoints. ' content: application/json: schema: @@ -61537,7 +61665,7 @@ paths: description: "Sets the Supervisor log streaming configuration.\n\nThis operation\ \ was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error\ \ if you do not have all of the privileges described as follows: \n - Operation\ - \ execution requires `Namespaces.Observe`. \n" + \ execution requires `Namespaces.Manage`. \n" operationId: Vcenter.NamespaceManagement.Supervisors.Logs.AgentConfiguration_set parameters: - name: supervisor @@ -61573,8 +61701,8 @@ paths: schema: $ref: "#/components/schemas/Vapi.Std.Errors.Unauthenticated" "403": - description: if the user is missing the Namespaces.Observe privilege on - the Supervisor. + description: if the user is missing the Namespaces.Manage privilege on the + Supervisor. content: application/json: schema: @@ -66197,6 +66325,168 @@ paths: $ref: "#/components/schemas/Vcenter.Namespaces.Mobility.Virtualmachines.Imports.Info" security: - api_key_auth: [] + /vcenter/namespaces/networks/nsx/shared-subnets: + get: + tags: + - Vcenter.Namespaces.Networks.Nsx.SharedSubnets + description: "Returns Subnets matching the given filter.\n\nThis operation was\ + \ added in __vSphere API 9.1.1.0__.\n\nReturns an authorization error if you\ + \ do not have all of the privileges described as follows: \n - Operation\ + \ execution requires `System.Read`. \n" + operationId: Vcenter.Namespaces.Networks.Nsx.SharedSubnets_list + parameters: + - name: filter + in: query + description: Specification of matching Subnets for which information should + be returned. + required: true + style: form + explode: true + schema: + $ref: "#/components/schemas/Vcenter.Namespaces.Networks.Nsx.SharedSubnets.FilterSpec" + - name: zones + in: query + description: |- + Identifies the set of vSphere Zones for the vSphere Namespace. + + This property was added in __vSphere API 9.1.1.0__. + + If missing or `null`, the vSphere Namespace will use the same zones for Supervisor, *Vcenter.Namespaces.Networks.Nsx.SharedSubnets.FilterSpec.supervisor* needs to be set. + + When clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.consumption_domains.Zone`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.consumption_domains.Zone`. + required: false + style: form + explode: true + schema: + type: array + items: + type: string + - name: purposes + in: query + description: "Purpose of the shared Subnet. Filtered Subnets must be used\ + \ for all specified purposes.\n\nPossible values:\n - `NAMESPACE`: The\ + \ Subnet would be shared with vSphere Namespace and used by VMs or VKS Clusters.\ + \ Compatible Subnets for Namespace: \n - Are not auto-created by Supervisor\ + \ or VCF Automation.\n - Subnet span is Superset of Namespace zones.\n\ + \ - Subnet is shared with Namespace's Project if the Subnet is in a\ + \ different NSX Project.\n \n - `VM_DEFAULT`: The Subnet would be shared\ + \ with vSphere Namespace and used for VM default networks. Compatible Subnets\ + \ for VM default network: \n - In addition to the validations for *Vcenter.Namespaces.Networks.Nsx.SharedSubnets.SubnetPurpose.NAMESPACE*,\ + \ the Subnet must be part of the namespace's VPC defined in *Vcenter.Namespaces.Networks.Nsx.SharedSubnets.FilterSpec.vpc*.\n\ + \ \n - `POD_DEFAULT`: The Subnet would be shared with vSphere Namespace\ + \ and used for vSphere Pod default networks. Compatible Subnets for Pod\ + \ default network: \n - In addition to the validations for *Vcenter.Namespaces.Networks.Nsx.SharedSubnets.SubnetPurpose.VM_DEFAULT*,\ + \ the Subnet cannot be *Vcenter.Namespaces.Networks.Nsx.SharedSubnets.AccessMode.l2_ONLY*,\ + \ or *Vcenter.Namespaces.Networks.Nsx.SharedSubnets.StaticIpAllocation.enabled*\"\ + \ set to false.\n \n\n\nFor more information see: *Vcenter.Namespaces.Networks.Nsx.SharedSubnets.SubnetPurpose*.\n\ + \nThis property was added in __vSphere API 9.1.1.0__." + required: true + style: form + explode: true + schema: + uniqueItems: true + type: array + items: + type: string + responses: + "400": + description: if filter contains errors. + content: + application/json: + schema: + $ref: "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + "401": + description: if the user can not be authenticated. + content: + application/json: + schema: + $ref: "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + "404": + description: if resources in filter or vpc cannot be found or user does + not have System.Read privilege. + content: + application/json: + schema: + $ref: "#/components/schemas/Vapi.Std.Errors.NotFound" + "500": + description: if the system reports an error while responding to the request. + content: + application/json: + schema: + $ref: "#/components/schemas/Vapi.Std.Errors.Error" + "200": + description: List of entities. + content: + application/json: + schema: + $ref: "#/components/schemas/Vcenter.Namespaces.Networks.Nsx.SharedSubnets.ListResult" + security: + - api_key_auth: [] + /vcenter/namespaces/networks/nsx/shared-subnets/{subnet}: + get: + tags: + - Vcenter.Namespaces.Networks.Nsx.SharedSubnets + description: "Returns information of a Subnet.\n\nThis operation was added in\ + \ __vSphere API 9.1.1.0__.\n\nReturns an authorization error if you do not\ + \ have all of the privileges described as follows: \n - Operation execution\ + \ requires `System.Read`. \n" + operationId: Vcenter.Namespaces.Networks.Nsx.SharedSubnets_get + parameters: + - name: project + in: query + description: |- + Identifier of the Project. + + The parameter must be an identifier for the resource type: `NSXProject`. + required: true + schema: + type: string + - name: vpc + in: query + description: |- + Identifier of the VPC. + + The parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.networks.nsx.Vpc`. + required: true + schema: + type: string + - name: subnet + in: path + description: |- + Identifier of the Subnet. + + The parameter must be an identifier for the resource type: `com.vmware.vcenter.namespaces.networks.nsx.SharedSubnet`. + required: true + schema: + type: string + responses: + "401": + description: if the user cannot be authenticated. + content: + application/json: + schema: + $ref: "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + "404": + description: "if project, vpc or subnet cannot be located or user does not\ + \ have System.Read privilege." + content: + application/json: + schema: + $ref: "#/components/schemas/Vapi.Std.Errors.NotFound" + "500": + description: if the system reports an error while responding to the request. + content: + application/json: + schema: + $ref: "#/components/schemas/Vapi.Std.Errors.Error" + "200": + description: Information about a Subnet. + content: + application/json: + schema: + $ref: "#/components/schemas/Vcenter.Namespaces.Networks.Nsx.SharedSubnets.Info" + security: + - api_key_auth: [] /vcenter/namespaces/{namespace}/networks/nsx/subnets: get: tags: @@ -84824,1215 +85114,6 @@ paths: type: string security: - api_key_auth: [] - /stats/acq-specs: - get: - tags: - - Vstats.AcqSpecs - description: "Returns information about all acquisition specifications.\n\n\ - __Warning:__ this operation is available as Technology Preview. These are\ - \ early access APIs provided to test, automate and provide feedback on the\ - \ feature. Since this can change based on feedback, VMware does not guarantee\ - \ backwards compatibility and recommends against using them in production\ - \ environments. Some Technology Preview APIs might only be applicable to specific\ - \ environments.\n\nReturns an authorization error if you do not have all of\ - \ the privileges described as follows: \n - Operation execution requires\ - \ `System.View`. \n" - operationId: Vstats.AcqSpecs_list - parameters: - - name: filter - in: query - description: |- - Criteria for selecting records to return. - - When set filtering will be applied to the result. - required: false - style: form - explode: true - schema: - $ref: "#/components/schemas/Vstats.AcqSpecs.FilterSpec" - responses: - "400": - description: if any of the specified parameters are invalid. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.InvalidArgument" - "401": - description: if the user can not be authenticated. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Unauthenticated" - "403": - description: if the user does not have sufficient privileges. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Unauthorized" - "500": - description: if the system reports an error while responding to the request. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Error" - "200": - description: List of acquisition specification records. - content: - application/json: - schema: - $ref: "#/components/schemas/Vstats.AcqSpecs.ListResult" - security: - - api_key_auth: [] - post: - tags: - - Vstats.AcqSpecs - description: "Create a new acquisition specification record.\n\n__Warning:__\ - \ this operation is available as Technology Preview. These are early access\ - \ APIs provided to test, automate and provide feedback on the feature. Since\ - \ this can change based on feedback, VMware does not guarantee backwards compatibility\ - \ and recommends against using them in production environments. Some Technology\ - \ Preview APIs might only be applicable to specific environments.\n\nReturns\ - \ an authorization error if you do not have all of the privileges described\ - \ as follows: \n - Operation execution requires `vStats.CollectAny`. \n" - operationId: Vstats.AcqSpecs_create - requestBody: - description: Specification for the acquisition of stats data. - content: - application/json: - schema: - $ref: "#/components/schemas/Vstats.AcqSpecs.CreateSpec" - required: true - responses: - "400": - description: if acqSpec contain any errors. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.InvalidArgument" - "401": - description: if the user can not be authenticated. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Unauthenticated" - "403": - description: if the user does not have sufficient privileges. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Unauthorized" - "500": - description: if the system reports an error while responding to the request. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Error" - "201": - description: |- - Identifier of the newly created acquisition specification. - - The response will be an identifier for the resource type: `com.vmware.vstats.model.AcqSpec`. - content: - application/json: - schema: - type: string - security: - - api_key_auth: [] - /stats/acq-specs/{id}: - get: - tags: - - Vstats.AcqSpecs - description: "Returns information about a specific acquisition specification.\n\ - \n__Warning:__ this operation is available as Technology Preview. These are\ - \ early access APIs provided to test, automate and provide feedback on the\ - \ feature. Since this can change based on feedback, VMware does not guarantee\ - \ backwards compatibility and recommends against using them in production\ - \ environments. Some Technology Preview APIs might only be applicable to specific\ - \ environments.\n\nReturns an authorization error if you do not have all of\ - \ the privileges described as follows: \n - Operation execution requires\ - \ `System.View`. \n" - operationId: Vstats.AcqSpecs_get - parameters: - - name: id - in: path - description: |- - Acquisition specification ID. - - The parameter must be an identifier for the resource type: `com.vmware.vstats.model.AcqSpec`. - required: true - schema: - type: string - responses: - "400": - description: if id is invalid. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.InvalidArgument" - "401": - description: if the user can not be authenticated. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Unauthenticated" - "403": - description: if the user does not have sufficient privileges. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Unauthorized" - "404": - description: acquisition specification could not be located. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.NotFound" - "500": - description: if the system reports an error while responding to the request. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Error" - "200": - description: Information about the desired acquisition specification. - content: - application/json: - schema: - $ref: "#/components/schemas/Vstats.AcqSpecs.Info" - security: - - api_key_auth: [] - delete: - tags: - - Vstats.AcqSpecs - description: "Delete an acquisition specification.\n\n__Warning:__ this operation\ - \ is available as Technology Preview. These are early access APIs provided\ - \ to test, automate and provide feedback on the feature. Since this can change\ - \ based on feedback, VMware does not guarantee backwards compatibility and\ - \ recommends against using them in production environments. Some Technology\ - \ Preview APIs might only be applicable to specific environments.\n\nReturns\ - \ an authorization error if you do not have all of the privileges described\ - \ as follows: \n - Operation execution requires `vStats.CollectAny`. \n" - operationId: Vstats.AcqSpecs_delete - parameters: - - name: id - in: path - description: |- - Acquisition specification ID. - - The parameter must be an identifier for the resource type: `com.vmware.vstats.model.AcqSpec`. - required: true - schema: - type: string - responses: - "400": - description: if id is invalid. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.InvalidArgument" - "401": - description: if the user can not be authenticated. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Unauthenticated" - "403": - description: if the user does not have sufficient privileges. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Unauthorized" - "404": - description: if acquisition specification could not be located. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.NotFound" - "500": - description: if the system reports an error while responding to the request. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Error" - "204": - description: Success! - security: - - api_key_auth: [] - patch: - tags: - - Vstats.AcqSpecs - description: "Update an existing acquisition specification.\n\n__Warning:__\ - \ this operation is available as Technology Preview. These are early access\ - \ APIs provided to test, automate and provide feedback on the feature. Since\ - \ this can change based on feedback, VMware does not guarantee backwards compatibility\ - \ and recommends against using them in production environments. Some Technology\ - \ Preview APIs might only be applicable to specific environments.\n\nReturns\ - \ an authorization error if you do not have all of the privileges described\ - \ as follows: \n - Operation execution requires `vStats.CollectAny`. \n" - operationId: Vstats.AcqSpecs_update - parameters: - - name: id - in: path - description: |- - Acquisition specification ID. - - The parameter must be an identifier for the resource type: `com.vmware.vstats.model.AcqSpec`. - required: true - schema: - type: string - requestBody: - description: Updated acquisition specification. - content: - application/json: - schema: - $ref: "#/components/schemas/Vstats.AcqSpecs.UpdateSpec" - required: true - responses: - "400": - description: if any of the specified parameters are invalid. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.InvalidArgument" - "401": - description: if the user can not be authenticated. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Unauthenticated" - "403": - description: if the user does not have sufficient privileges. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Unauthorized" - "404": - description: acquisition specification could not be located. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.NotFound" - "500": - description: if the system reports an error while responding to the request. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Error" - "204": - description: Success! - security: - - api_key_auth: [] - /stats/counters/{cid}/metadata: - get: - tags: - - Vstats.CounterMetadata - description: "Returns information about all counter metadata records for a specific\ - \ Counter.\n\n__Warning:__ this operation is available as Technology Preview.\ - \ These are early access APIs provided to test, automate and provide feedback\ - \ on the feature. Since this can change based on feedback, VMware does not\ - \ guarantee backwards compatibility and recommends against using them in production\ - \ environments. Some Technology Preview APIs might only be applicable to specific\ - \ environments.\n\nReturns an authorization error if you do not have all of\ - \ the privileges described as follows: \n - Operation execution requires\ - \ `System.View`. \n" - operationId: Vstats.CounterMetadata_list - parameters: - - name: cid - in: path - description: |- - Counter ID. - - The parameter must be an identifier for the resource type: `com.vmware.vstats.model.Counter`. - required: true - schema: - type: string - - name: filter - in: query - description: |- - Filter specification. - - When missing or `null` no filtering will be performed. - required: false - style: form - explode: true - schema: - $ref: "#/components/schemas/Vstats.CounterMetadata.FilterSpec" - responses: - "400": - description: if any of the specified parameters are invalid. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.InvalidArgument" - "401": - description: if the user can not be authenticated. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Unauthenticated" - "403": - description: if the user does not have sufficient privileges. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Unauthorized" - "404": - description: if Counter could not be located. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.NotFound" - "500": - description: if the system reports an error while responding to the request. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Error" - "200": - description: List of counter metadata for the specified counter. - content: - application/json: - schema: - type: array - items: - $ref: "#/components/schemas/Vstats.CounterMetadata.Info" - security: - - api_key_auth: [] - /stats/counters/{cid}/metadata/default: - get: - tags: - - Vstats.CounterMetadata - description: "This operation returns the \"default\" CounterMetadata. A Counter\ - \ has at least one related metadata object. Usually, stats providers (for\ - \ example hosts) are in agreement about the default metadata. In this case\ - \ the returned list has a single metadata object. \n\n Sometimes, when providers\ - \ are in \"disagreement\" about the default, then the returned list would\ - \ include all the possible \"defaults\". This potential ambiguity isn't a\ - \ real issue because consumers of the vStats API rarely need to specify the\ - \ \"mid\" of metadata. Therefore, this API is used primarily for informational\ - \ purposes.\n\n__Warning:__ this operation is available as Technology Preview.\ - \ These are early access APIs provided to test, automate and provide feedback\ - \ on the feature. Since this can change based on feedback, VMware does not\ - \ guarantee backwards compatibility and recommends against using them in production\ - \ environments. Some Technology Preview APIs might only be applicable to specific\ - \ environments.\n\nReturns an authorization error if you do not have all of\ - \ the privileges described as follows: \n - Operation execution requires\ - \ `System.View`. \n" - operationId: Vstats.CounterMetadata_getDefault - parameters: - - name: cid - in: path - description: |- - Counter ID. - - The parameter must be an identifier for the resource type: `com.vmware.vstats.model.Counter`. - required: true - schema: - type: string - responses: - "400": - description: if cid is invalid. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.InvalidArgument" - "401": - description: if the user can not be authenticated. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Unauthenticated" - "403": - description: if the user does not have sufficient privileges. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Unauthorized" - "404": - description: if Counter could not be located. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.NotFound" - "500": - description: if the system reports an error while responding to the request. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Error" - "200": - description: List of counter metadata records. - content: - application/json: - schema: - type: array - items: - $ref: "#/components/schemas/Vstats.CounterMetadata.Info" - security: - - api_key_auth: [] - /stats/counters/{cid}/metadata/{mid}: - get: - tags: - - Vstats.CounterMetadata - description: "Returns information about a specific CounterMetadata.\n\n__Warning:__\ - \ this operation is available as Technology Preview. These are early access\ - \ APIs provided to test, automate and provide feedback on the feature. Since\ - \ this can change based on feedback, VMware does not guarantee backwards compatibility\ - \ and recommends against using them in production environments. Some Technology\ - \ Preview APIs might only be applicable to specific environments.\n\nReturns\ - \ an authorization error if you do not have all of the privileges described\ - \ as follows: \n - Operation execution requires `System.View`. \n" - operationId: Vstats.CounterMetadata_get - parameters: - - name: cid - in: path - description: |- - Counter ID. - - The parameter must be an identifier for the resource type: `com.vmware.vstats.model.Counter`. - required: true - schema: - type: string - - name: mid - in: path - description: |- - CounterMetadata ID. - - The parameter must be an identifier for the resource type: `com.vmware.vstats.model.CounterMetadata`. - required: true - schema: - type: string - responses: - "400": - description: if any of the specified parameters are invalid. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.InvalidArgument" - "401": - description: if the user can not be authenticated. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Unauthenticated" - "403": - description: if the user does not have sufficient privileges. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Unauthorized" - "404": - description: if Counter or CounterMetadata could not be located. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.NotFound" - "500": - description: if the system reports an error while responding to the request. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Error" - "200": - description: Information about the desired CounterMetadata. - content: - application/json: - schema: - $ref: "#/components/schemas/Vstats.CounterMetadata.Info" - security: - - api_key_auth: [] - /stats/counter-sets: - get: - tags: - - Vstats.CounterSets - description: "Returns information about all the counter sets.\n\n__Warning:__\ - \ this operation is available as Technology Preview. These are early access\ - \ APIs provided to test, automate and provide feedback on the feature. Since\ - \ this can change based on feedback, VMware does not guarantee backwards compatibility\ - \ and recommends against using them in production environments. Some Technology\ - \ Preview APIs might only be applicable to specific environments.\n\nReturns\ - \ an authorization error if you do not have all of the privileges described\ - \ as follows: \n - Operation execution requires `System.View`. \n" - operationId: Vstats.CounterSets_list - responses: - "401": - description: if the user can not be authenticated. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Unauthenticated" - "403": - description: if the user does not have sufficient privileges. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Unauthorized" - "500": - description: if the system reports an error while responding to the request. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Error" - "200": - description: List of counter sets. - content: - application/json: - schema: - type: array - items: - $ref: "#/components/schemas/Vstats.CounterSets.Info" - security: - - api_key_auth: [] - /stats/counter-sets/{counterSet}: - get: - tags: - - Vstats.CounterSets - description: "Returns information about a specific counter set.\n\n__Warning:__\ - \ this operation is available as Technology Preview. These are early access\ - \ APIs provided to test, automate and provide feedback on the feature. Since\ - \ this can change based on feedback, VMware does not guarantee backwards compatibility\ - \ and recommends against using them in production environments. Some Technology\ - \ Preview APIs might only be applicable to specific environments.\n\nReturns\ - \ an authorization error if you do not have all of the privileges described\ - \ as follows: \n - Operation execution requires `System.View`. \n" - operationId: Vstats.CounterSets_get - parameters: - - name: counterSet - in: path - description: |- - identifier of the counter set to retrieve. - - The parameter must be an identifier for the resource type: `com.vmware.vstats.model.CounterSet`. - required: true - schema: - type: string - responses: - "400": - description: if counterSet is invalid. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.InvalidArgument" - "401": - description: if the user can not be authenticated. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Unauthenticated" - "403": - description: if the user does not have sufficient privileges. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Unauthorized" - "404": - description: if the requested counter set could not be located. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.NotFound" - "500": - description: if the system reports an error while responding to the request. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Error" - "200": - description: Information about the desired CounterSet. - content: - application/json: - schema: - $ref: "#/components/schemas/Vstats.CounterSets.Info" - security: - - api_key_auth: [] - /stats/counters: - get: - tags: - - Vstats.Counters - description: "Returns information about all counters matching the filter parameters.\n\ - \n__Warning:__ this operation is available as Technology Preview. These are\ - \ early access APIs provided to test, automate and provide feedback on the\ - \ feature. Since this can change based on feedback, VMware does not guarantee\ - \ backwards compatibility and recommends against using them in production\ - \ environments. Some Technology Preview APIs might only be applicable to specific\ - \ environments.\n\nReturns an authorization error if you do not have all of\ - \ the privileges described as follows: \n - Operation execution requires\ - \ `System.View`. \n" - operationId: Vstats.Counters_list - parameters: - - name: filter - in: query - description: |- - Filters the returned records. - - When missing or `null` no filtering will be applied. - required: false - style: form - explode: true - schema: - $ref: "#/components/schemas/Vstats.Counters.FilterSpec" - - name: types - in: query - description: |- - Resource type filter. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - If missing or `null` resource type filter will not be applied. - - When clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vstats.model.RsrcType`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vstats.model.RsrcType`. - required: false - style: form - explode: true - schema: - type: array - items: - type: string - responses: - "400": - description: if any of the specified parameters are invalid. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.InvalidArgument" - "401": - description: if the user can not be authenticated. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Unauthenticated" - "403": - description: if the user does not have sufficient privileges. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Unauthorized" - "500": - description: if the system reports an error while responding to the request. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Error" - "200": - description: List of Counters. - content: - application/json: - schema: - type: array - items: - $ref: "#/components/schemas/Vstats.Counters.Info" - security: - - api_key_auth: [] - /stats/counters/{cid}: - get: - tags: - - Vstats.Counters - description: "Returns information about a specific Counter.\n\n__Warning:__\ - \ this operation is available as Technology Preview. These are early access\ - \ APIs provided to test, automate and provide feedback on the feature. Since\ - \ this can change based on feedback, VMware does not guarantee backwards compatibility\ - \ and recommends against using them in production environments. Some Technology\ - \ Preview APIs might only be applicable to specific environments.\n\nReturns\ - \ an authorization error if you do not have all of the privileges described\ - \ as follows: \n - Operation execution requires `System.View`. \n" - operationId: Vstats.Counters_get - parameters: - - name: cid - in: path - description: |- - Counter ID. - - The parameter must be an identifier for the resource type: `com.vmware.vstats.model.Counter`. - required: true - schema: - type: string - responses: - "400": - description: if cid is invalid. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.InvalidArgument" - "401": - description: if the user can not be authenticated. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Unauthenticated" - "403": - description: if the user does not have sufficient privileges. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Unauthorized" - "404": - description: if Counter could not be located. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.NotFound" - "500": - description: if the system reports an error while responding to the request. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Error" - "200": - description: Information about the requested counter. - content: - application/json: - schema: - $ref: "#/components/schemas/Vstats.Counters.Info" - security: - - api_key_auth: [] - /stats/data/dp: - get: - tags: - - Vstats.Data - description: "Returns *Vstats.Data.DataPointsResult* matching the filter parameters.\ - \ \n\n `\"/stats/data/dp?types=VM&types=VCPU\"` \n\n `\"/stats/data/dp?rsrcs=type.HOST=host-16&rsrcs=type.VM=vm-31\"\ - `\n\n__Warning:__ this operation is available as Technology Preview. These\ - \ are early access APIs provided to test, automate and provide feedback on\ - \ the feature. Since this can change based on feedback, VMware does not guarantee\ - \ backwards compatibility and recommends against using them in production\ - \ environments. Some Technology Preview APIs might only be applicable to specific\ - \ environments.\n\nReturns an authorization error if you do not have all of\ - \ the privileges described as follows: \n - Operation execution requires\ - \ `vStats.QueryAny`. \n" - operationId: Vstats.Data_queryDataPoints - parameters: - - name: filter - in: query - description: |- - Specification to match DataPoints. - - When set filtering will be applied to the result. - required: false - style: form - explode: true - schema: - $ref: "#/components/schemas/Vstats.Data.FilterSpec" - - name: types - in: query - description: |- - List of Resource types. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - When missing or `null` the result will not be filtered by resource types. - - When clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vstats.model.RsrcType`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vstats.model.RsrcType`. - required: false - style: form - explode: true - schema: - type: array - items: - type: string - - name: rsrcs - in: query - description: "Resources to include in the query. Each resource is specified\ - \ through a composite string that follows the following format. \n\n `type.[.]=` \n\n __resource type__ specifies the type\ - \ of resource for example `VM`, `VCPU` etc. \n\n __scheme__ is an optional\ - \ element to disambiguate the resource as needed for example to differentiate\ - \ managed object id from `uuid`. \n\n __resource id__ is the unique resource\ - \ identifier value for example: `vm-41` \n\n Example values include: `type.VM=vm-41`,\ - \ `type.VCPU=1`, `type.VM.moid=vm-41`\n\n__Warning:__ this property is available\ - \ as Technology Preview. These are early access APIs provided to test, automate\ - \ and provide feedback on the feature. Since this can change based on feedback,\ - \ VMware does not guarantee backwards compatibility and recommends against\ - \ using them in production environments. Some Technology Preview APIs might\ - \ only be applicable to specific environments.\n\nWhen left missing or `null`\ - \ the result will not be filtered for specific resources." - required: false - style: form - explode: true - schema: - type: array - items: - type: string - responses: - "400": - description: if any of the specified parameters are invalid. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.InvalidArgument" - "401": - description: if the user can not be authenticated. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Unauthenticated" - "403": - description: if the user does not have sufficient privileges. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Unauthorized" - "500": - description: if the system reports an error while responding to the request. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Error" - "200": - description: Data points matching the filter. - content: - application/json: - schema: - $ref: "#/components/schemas/Vstats.Data.DataPointsResult" - security: - - api_key_auth: [] - /stats/metrics: - get: - tags: - - Vstats.Metrics - description: "Returns list of available Metrics as supplied by the discovered\ - \ providers.\n\n__Warning:__ this operation is available as Technology Preview.\ - \ These are early access APIs provided to test, automate and provide feedback\ - \ on the feature. Since this can change based on feedback, VMware does not\ - \ guarantee backwards compatibility and recommends against using them in production\ - \ environments. Some Technology Preview APIs might only be applicable to specific\ - \ environments.\n\nReturns an authorization error if you do not have all of\ - \ the privileges described as follows: \n - Operation execution requires\ - \ `System.View`. \n" - operationId: Vstats.Metrics_list - responses: - "401": - description: if the user can not be authenticated. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Unauthenticated" - "403": - description: if the user does not have sufficient privileges. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Unauthorized" - "500": - description: if the system reports an error while responding to the request. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Error" - "200": - description: List of Metrics. - content: - application/json: - schema: - type: array - items: - $ref: "#/components/schemas/Vstats.Metrics.Summary" - security: - - api_key_auth: [] - /stats/providers: - get: - tags: - - Vstats.Providers - description: "Returns a list of stats providers.\n\n__Warning:__ this operation\ - \ is available as Technology Preview. These are early access APIs provided\ - \ to test, automate and provide feedback on the feature. Since this can change\ - \ based on feedback, VMware does not guarantee backwards compatibility and\ - \ recommends against using them in production environments. Some Technology\ - \ Preview APIs might only be applicable to specific environments.\n\nReturns\ - \ an authorization error if you do not have all of the privileges described\ - \ as follows: \n - Operation execution requires `System.View`. \n" - operationId: Vstats.Providers_list - responses: - "401": - description: if the user can not be authenticated. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Unauthenticated" - "403": - description: if the user does not have sufficient privileges. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Unauthorized" - "500": - description: if the system reports an error while responding to the request. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Error" - "200": - description: List of stats providers. - content: - application/json: - schema: - type: array - items: - $ref: "#/components/schemas/Vstats.Providers.Summary" - security: - - api_key_auth: [] - /stats/rsrc-addr-schemas/{id}: - get: - tags: - - Vstats.ResourceAddressSchemas - description: "Returns information about a specific resource address schema.\n\ - \n__Warning:__ this operation is available as Technology Preview. These are\ - \ early access APIs provided to test, automate and provide feedback on the\ - \ feature. Since this can change based on feedback, VMware does not guarantee\ - \ backwards compatibility and recommends against using them in production\ - \ environments. Some Technology Preview APIs might only be applicable to specific\ - \ environments.\n\nReturns an authorization error if you do not have all of\ - \ the privileges described as follows: \n - Operation execution requires\ - \ `System.View`. \n" - operationId: Vstats.ResourceAddressSchemas_get - parameters: - - name: id - in: path - description: Resource address schema identifier. - required: true - schema: - type: string - responses: - "400": - description: if id is invalid. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.InvalidArgument" - "401": - description: if the user can not be authenticated. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Unauthenticated" - "403": - description: if the user does not have sufficient privileges. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Unauthorized" - "404": - description: if RsrcAddrSchema could not be located. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.NotFound" - "500": - description: if the system reports an error while responding to the request. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Error" - "200": - description: Information about the desired resource address schema. - content: - application/json: - schema: - $ref: "#/components/schemas/Vstats.ResourceAddressSchemas.Info" - security: - - api_key_auth: [] - /stats/rsrc-addrs: - get: - tags: - - Vstats.ResourceAddresses - description: "Returns the list of Resource Addresses matching the filter parameters.\n\ - \n__Warning:__ this operation is available as Technology Preview. These are\ - \ early access APIs provided to test, automate and provide feedback on the\ - \ feature. Since this can change based on feedback, VMware does not guarantee\ - \ backwards compatibility and recommends against using them in production\ - \ environments. Some Technology Preview APIs might only be applicable to specific\ - \ environments.\n\nReturns an authorization error if you do not have all of\ - \ the privileges described as follows: \n - Operation execution requires\ - \ `vStats.QueryAny`. \n" - operationId: Vstats.ResourceAddresses_list - parameters: - - name: filter - in: query - description: |- - Criteria for selecting records to return. - - If missing or `null` all records will be returned. - required: false - style: form - explode: true - schema: - $ref: "#/components/schemas/Vstats.ResourceAddresses.FilterSpec" - - name: types - in: query - description: |- - List of Resource types. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - When missing or `null` the result will not be filtered by resource types. - - When clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vstats.model.RsrcType`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vstats.model.RsrcType`. - required: false - style: form - explode: true - schema: - type: array - items: - type: string - - name: rsrcs - in: query - description: "Resources to include in the query. Each resource is specified\ - \ through a composite string that follows the following format. \n\n `type.[.]=` \n\n __resource type__ specifies the type\ - \ of resource for example `VM`, `VCPU` etc. \n\n __scheme__ is an optional\ - \ element to disambiguate the resource as needed for example to differentiate\ - \ managed object id from `uuid`. \n\n __resource id__ is the unique resource\ - \ identifier value for example: `vm-41` \n\n Example values include: `type.VM=vm-41`,\ - \ `type.VCPU=1`, `type.VM.moid=vm-41`\n\n__Warning:__ this property is available\ - \ as Technology Preview. These are early access APIs provided to test, automate\ - \ and provide feedback on the feature. Since this can change based on feedback,\ - \ VMware does not guarantee backwards compatibility and recommends against\ - \ using them in production environments. Some Technology Preview APIs might\ - \ only be applicable to specific environments.\n\nWhen left missing or `null`\ - \ the result will not be filtered for specific resources." - required: false - style: form - explode: true - schema: - type: array - items: - type: string - responses: - "400": - description: if any of the specified parameters are invalid. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.InvalidArgument" - "401": - description: if the user can not be authenticated. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Unauthenticated" - "403": - description: if the user does not have sufficient privileges. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Unauthorized" - "500": - description: if the system reports an error while responding to the request. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Error" - "200": - description: Matching resource addresses. - content: - application/json: - schema: - $ref: "#/components/schemas/Vstats.ResourceAddresses.ListResult" - security: - - api_key_auth: [] - /stats/rsrc-addrs/{id}: - get: - tags: - - Vstats.ResourceAddresses - description: "Returns information about a specific Resource Address.\n\n__Warning:__\ - \ this operation is available as Technology Preview. These are early access\ - \ APIs provided to test, automate and provide feedback on the feature. Since\ - \ this can change based on feedback, VMware does not guarantee backwards compatibility\ - \ and recommends against using them in production environments. Some Technology\ - \ Preview APIs might only be applicable to specific environments.\n\nReturns\ - \ an authorization error if you do not have all of the privileges described\ - \ as follows: \n - Operation execution requires `vStats.QueryAny`. \n" - operationId: Vstats.ResourceAddresses_get - parameters: - - name: id - in: path - description: |- - Resource Address ID. - - The parameter must be an identifier for the resource type: `com.vmware.vstats.model.RsrcAddr`. - required: true - schema: - type: string - responses: - "400": - description: if id is invalid. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.InvalidArgument" - "401": - description: if the user can not be authenticated. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Unauthenticated" - "403": - description: if the user does not have sufficient privileges. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Unauthorized" - "404": - description: if Resource Address could not be located. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.NotFound" - "500": - description: if the system reports an error while responding to the request. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Error" - "200": - description: Information about the desired Resource Address. - content: - application/json: - schema: - $ref: "#/components/schemas/Vstats.ResourceAddresses.Info" - security: - - api_key_auth: [] - /stats/rsrc-types: - get: - tags: - - Vstats.ResourceTypes - description: "Returns a list of available resource types.\n\n__Warning:__ this\ - \ operation is available as Technology Preview. These are early access APIs\ - \ provided to test, automate and provide feedback on the feature. Since this\ - \ can change based on feedback, VMware does not guarantee backwards compatibility\ - \ and recommends against using them in production environments. Some Technology\ - \ Preview APIs might only be applicable to specific environments.\n\nReturns\ - \ an authorization error if you do not have all of the privileges described\ - \ as follows: \n - Operation execution requires `System.View`. \n" - operationId: Vstats.ResourceTypes_list - responses: - "401": - description: if the user can not be authenticated. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Unauthenticated" - "403": - description: if the user does not have sufficient privileges. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Unauthorized" - "500": - description: if the system reports an error while responding to the request. - content: - application/json: - schema: - $ref: "#/components/schemas/Vapi.Std.Errors.Error" - "200": - description: List of resource types. - content: - application/json: - schema: - type: array - items: - $ref: "#/components/schemas/Vstats.ResourceTypes.Summary" - security: - - api_key_auth: [] components: schemas: Appliance.AutoRollbackState: @@ -95043,8 +94124,9 @@ components: format: password ssl_thumbprint: type: string - description: "An optional SHA-1 hash of the SSL certificate for the remote\ - \ endpoint. \n\n If this value is defined the SSL certificate will be\ + description: "An optional SHA-256 hash of the SSL certificate for the remote\ + \ endpoint (SHA-1 is supported for backward compatibility when explicitly\ + \ enabled). \n\n If this value is defined the SSL certificate will be\ \ verified by comparing it to the SSL thumbprint. The SSL certificate\ \ must verify against the thumbprint. When specified, the standard certificate\ \ chain validation behavior is not used. The certificate chain is validated\ @@ -95975,7 +95057,7 @@ components: ssl_certificate_thumbprint: type: string description: |- - Thumbprint of the expected SSL certificate for this endpoint. Only used for HTTPS connections. The thumbprint is the SHA-1 hash of the DER encoding of the remote endpoint's SSL certificate. If set, the remote endpoint's SSL certificate is only accepted if it matches this thumbprint, and no other certificate validation is performed. The specified sslCertificateThumbprint will not be checked for SSL certificate validation if {TransferEndpoint#sslCertificate} is also set. + Thumbprint of the expected SSL certificate for this endpoint. Only used for HTTPS connections. The thumbprint is the SHA-256 hash of the DER encoding of the remote endpoint's SSL certificate (SHA-1 is supported for backward compatibility when explicitly enabled). If set, the remote endpoint's SSL certificate is only accepted if it matches this thumbprint, and no other certificate validation is performed. The specified sslCertificateThumbprint will not be checked for SSL certificate validation if {TransferEndpoint#sslCertificate} is also set. If missing or `null`, standard certificate validation is performed. ssl_certificate: @@ -96166,8 +95248,12 @@ components: The Content.Library.Item.File.ChecksumAlgorithm enumerated type defines the valid checksum algorithms. Possible values: - - `SHA1`: Checksum algorithm: SHA-1 - - `MD5`: Checksum algorithm: MD5 + - `SHA1`: SHA-1 is deprecated and will be removed in a future release. Use *Content.Library.Item.File.ChecksumAlgorithm.SH_a256* instead. + + Checksum algorithm: SHA-1 + - `MD5`: MD5 is deprecated and will be removed in a future release. Use *Content.Library.Item.File.ChecksumAlgorithm.SH_a256* instead. + + Checksum algorithm: MD5 - `SHA256`: Checksum algorithm: SHA-256 This constant was added in __vSphere API 6.8__. @@ -96190,8 +95276,12 @@ components: The checksum algorithm (ChecksumAlgorithm) used to calculate the checksum. Possible values: - - `SHA1`: Checksum algorithm: SHA-1 - - `MD5`: Checksum algorithm: MD5 + - `SHA1`: SHA-1 is deprecated and will be removed in a future release. Use *Content.Library.Item.File.ChecksumAlgorithm.SH_a256* instead. + + Checksum algorithm: SHA-1 + - `MD5`: MD5 is deprecated and will be removed in a future release. Use *Content.Library.Item.File.ChecksumAlgorithm.SH_a256* instead. + + Checksum algorithm: MD5 - `SHA256`: Checksum algorithm: SHA-256 This constant was added in __vSphere API 6.8__. @@ -130036,14 +129126,131 @@ components: - $ref: "#/components/schemas/Vcenter.CertificateManagement.X509CertChain" private_key: type: string - description: |- - The corresponding unencrypted PKCS#8 private key in base64-encoded PEM format. - - This property was added in __vSphere API 7.0.3.0__. + description: "The corresponding unencrypted PKCS#8 private key in base64-encoded\ + \ PEM format. \n\n Prefer #create (CSR) followed by #update so the private\ + \ key is not transmitted over the network; sending the key in this field\ + \ is only for backward compatibility.\n\nThis property was added in __vSphere\ + \ API 7.0.3.0__." description: |- The Vcenter.CertificateManagement.Vcenter.SigningCertificate.SetSpec schema contains data to set the active vCenter signing certificate. This schema was added in __vSphere API 7.0.3.0__. + Vcenter.CertificateManagement.Vcenter.SigningCertificate.CreateSpec: + type: object + properties: + common_name: + type: string + description: |- + Common name field in certificate subject. + + This property was added in __vSphere API 9.1.1.0__. + + If missing or `null`, the common name will be the PNID. + organization: + type: string + description: |- + Organization field in certificate subject. + + This property was added in __vSphere API 9.1.1.0__. + + If missing or `null`, the implementation supplies an appliance-appropriate default when building the CSR. + organization_unit: + type: string + description: "Organization unit field in certificate subject. \n\n CA Browser\ + \ forum announced that \"CAs MUST NOT include the organizationalUnitName\ + \ field\". Omission is preferred; some CAs reject a non-empty OU in the\ + \ CSR.\n\nThis property was added in __vSphere API 9.1.1.0__.\n\nIf missing\ + \ or `null`, the OU is omitted from the subject." + locality: + type: string + description: |- + Locality field in certificate subject. + + This property was added in __vSphere API 9.1.1.0__. + + If missing or `null`, the locality is omitted. + state_or_province: + type: string + description: |- + State or province in certificate subject. + + This property was added in __vSphere API 9.1.1.0__. + + If missing or `null`, the state is omitted. + country: + type: string + description: |- + Country in certificate subject. + + This property was added in __vSphere API 9.1.1.0__. + + If missing or `null`, the country is omitted. + email_address: + type: string + description: "Email address in certificate subject or extensions. \n\n Omission\ + \ is preferred; many modern certificate profiles and CAs discourage or\ + \ reject email addresses in the subject DN.\n\nThis property was added\ + \ in __vSphere API 9.1.1.0__.\n\nIf missing or `null`, the email address\ + \ is omitted." + subject_alt_name: + type: array + description: "Subject alternative names to include in the CSR. \n\n STS\ + \ signing certificates are not TLS server certificates; the CSR does not\ + \ add implicit PNID-based SAN entries. If this field is missing or `null`,\ + \ the CSR has no subject alternative names (subject distinguished name\ + \ only). If set, only the provided entries are included in the CSR.\n\n\ + This property was added in __vSphere API 9.1.1.0__.\n\nIf missing or `null`,\ + \ no subject alternative names are included in the CSR." + items: + type: string + key_size: + type: integer + description: "The size of the key to be used for public and private key\ + \ generation. \n\n The key algorithm may evolve over time; this field\ + \ is provided for cases where a specific size is required. Leaving it\ + \ missing or `null` is recommended for most deployments.\n\nThis property\ + \ was added in __vSphere API 9.1.1.0__.\n\nIf missing or `null`, the server\ + \ will use a secure default." + format: int64 + description: "The Vcenter.CertificateManagement.Vcenter.SigningCertificate.CreateSpec\ + \ schema contains the subject and key parameters for generating a certificate\ + \ signing request for the STS signing certificate. A private key is created\ + \ and stored in the appliance; only the CSR is returned to the client. \n\n\ + \ Product requirements for STS token-signing key material, certificate name\ + \ constraints, and CSR extensions are defined by the SSO/identity program.\ + \ Confirm field usage and any required defaults with the SSO team for production\ + \ configuration.\n\nThis schema was added in __vSphere API 9.1.1.0__." + Vcenter.CertificateManagement.Vcenter.SigningCertificate.CreateResult: + required: + - csr + type: object + properties: + csr: + type: string + description: |- + Certificate signing request in PEM format. + + This property was added in __vSphere API 9.1.1.0__. + description: |- + The Vcenter.CertificateManagement.Vcenter.SigningCertificate.CreateResult schema is returned from CSR generation and contains the CSR in PEM format. + + This schema was added in __vSphere API 9.1.1.0__. + Vcenter.CertificateManagement.Vcenter.SigningCertificate.UpdateSpec: + type: object + properties: + signing_cert_chain: + description: |- + The signing certificate chain (leaf, intermediates, root) that the vCenter token service will actively use to sign tokens. + + This property was added in __vSphere API 9.1.1.0__. + + If missing or `null`, the #update operation is a no-op and returns successfully without modifying the active signing certificate. + allOf: + - $ref: "#/components/schemas/Vcenter.CertificateManagement.X509CertChain" + description: |- + The Vcenter.CertificateManagement.Vcenter.SigningCertificate.UpdateSpec schema contains a certificate chain signed by a certificate authority for a CSR previously created using *POST /vcenter/certificate-management/vcenter/signing-certificate*. The private key corresponding to the CSR is read only from the appliance. No private key is accepted in this schema. + + This schema was added in __vSphere API 9.1.1.0__. Vcenter.CertificateManagement.Vcenter.Tls.Info: required: - authority_information_access_uri @@ -130734,7 +129941,9 @@ components: com.vmware.vcenter.compute.policies.capabilities.vm_host_affinity: "#/components/schemas/Vcenter.Compute.Policies.Capabilities.VmHostAffinity.CreateSpec" com.vmware.vcenter.compute.policies.capabilities.vm_host_anti_affinity: "#/components/schemas/Vcenter.Compute.Policies.Capabilities.VmHostAntiAffinity.CreateSpec" com.vmware.vcenter.compute.policies.capabilities.vm_vm_affinity: "#/components/schemas/Vcenter.Compute.Policies.Capabilities.VmVmAffinity.CreateSpec" + com.vmware.vcenter.compute.policies.capabilities.vm_vm_affinity_v2: "#/components/schemas/Vcenter.Compute.Policies.Capabilities.VmVmAffinity.CreateSpecV2" com.vmware.vcenter.compute.policies.capabilities.vm_vm_anti_affinity: "#/components/schemas/Vcenter.Compute.Policies.Capabilities.VmVmAntiAffinity.CreateSpec" + com.vmware.vcenter.compute.policies.capabilities.vm_vm_anti_affinity_v2: "#/components/schemas/Vcenter.Compute.Policies.Capabilities.VmVmAntiAffinity.CreateSpecV2" Vcenter.Compute.Policies.Info: required: - capability @@ -130788,7 +129997,187 @@ components: com.vmware.vcenter.compute.policies.capabilities.vm_host_affinity: "#/components/schemas/Vcenter.Compute.Policies.Capabilities.VmHostAffinity.Info" com.vmware.vcenter.compute.policies.capabilities.vm_host_anti_affinity: "#/components/schemas/Vcenter.Compute.Policies.Capabilities.VmHostAntiAffinity.Info" com.vmware.vcenter.compute.policies.capabilities.vm_vm_affinity: "#/components/schemas/Vcenter.Compute.Policies.Capabilities.VmVmAffinity.Info" + com.vmware.vcenter.compute.policies.capabilities.vm_vm_affinity_v2: "#/components/schemas/Vcenter.Compute.Policies.Capabilities.VmVmAffinity.InfoV2" com.vmware.vcenter.compute.policies.capabilities.vm_vm_anti_affinity: "#/components/schemas/Vcenter.Compute.Policies.Capabilities.VmVmAntiAffinity.Info" + com.vmware.vcenter.compute.policies.capabilities.vm_vm_anti_affinity_v2: "#/components/schemas/Vcenter.Compute.Policies.Capabilities.VmVmAntiAffinity.InfoV2" + Vcenter.Compute.Policies.TagNameSpec: + required: + - category_name + - tag_name + type: object + properties: + category_name: + type: string + description: |- + Name of the category the tag belongs to. + + This property was added in __vSphere API 9.1.1.0__. + tag_name: + type: string + description: |- + Name of the tag. + + This property was added in __vSphere API 9.1.1.0__. + description: |- + The Vcenter.Compute.Policies.TagNameSpec schema specifies a tag by name and the name of category the tag belongs to. + + This schema was added in __vSphere API 9.1.1.0__. + Vcenter.Compute.Policies.TagSpec: + type: object + properties: + tag_id: + type: string + description: |- + Identifier of a tag. + + This property was added in __vSphere API 9.1.1.0__. + + if missing or `null`, the tag will be identified by name and category instead. + + When clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.tagging.Tag`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.tagging.Tag`. + tag_name_spec: + description: |- + Tag specified by its name and the name of the category it belongs to. + + This property was added in __vSphere API 9.1.1.0__. + + if missing or `null`, the tag will be identified by its identifier instead. + allOf: + - $ref: "#/components/schemas/Vcenter.Compute.Policies.TagNameSpec" + description: |- + The Vcenter.Compute.Policies.TagSpec schema contains ways to specify a vSphere tag in a compute policy. When specifying a tag by TagSpec in ObjectSelectorSpec, see *Vcenter.Compute.Policies.ObjectSelectorSpec*, only one of among the tagId or tagNameSpec must be specified. + + This schema was added in __vSphere API 9.1.1.0__. + Vcenter.Compute.Policies.ObjectSelectorSpec: + type: object + properties: + tag: + description: |- + Tag-based selection. The compute policy will be applicable to the objects that have the specified tag attached. + + This property was added in __vSphere API 9.1.1.0__. + + if missing or `null`, objects will be selected using a different selector type. + allOf: + - $ref: "#/components/schemas/Vcenter.Compute.Policies.TagSpec" + description: "The Vcenter.Compute.Policies.ObjectSelectorSpec schema specifies\ + \ the object selection criteria for enforcing a compute policy. \n\n At least\ + \ one selection criterion must be specified. Currently, only tag-based selection\ + \ is supported.\n\nThis schema was added in __vSphere API 9.1.1.0__." + Vcenter.Compute.Policies.CreateItem: + required: + - spec + type: object + properties: + spec: + $ref: "#/components/schemas/Vcenter.Compute.Policies.CreateSpec" + description: |- + The Vcenter.Compute.Policies.CreateItem schema contains the specification for a single compute policy to be created as part of a batch operation using *POST /vcenter/compute/policies?action=create-tags-and-policies*. + + This schema was added in __vSphere API 9.1.1.0__. + Vcenter.Compute.Policies.CreateTagsAndPoliciesSpec: + required: + - policies + type: object + properties: + policies: + type: array + description: |- + List of specifications for the policies to be created. + + This property was added in __vSphere API 9.1.1.0__. + items: + $ref: "#/components/schemas/Vcenter.Compute.Policies.CreateItem" + description: |- + The Vcenter.Compute.Policies.CreateTagsAndPoliciesSpec schema contains the specification for a batch create operation using *POST /vcenter/compute/policies?action=create-tags-and-policies*. + + This schema was added in __vSphere API 9.1.1.0__. + Vcenter.Compute.Policies.CreateResultInfo: + required: + - info + - policy + type: object + properties: + policy: + type: string + description: |- + Identifier of the created compute policy. + + This property was added in __vSphere API 9.1.1.0__. + + When clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.compute.Policy`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.compute.Policy`. + info: + $ref: "#/components/schemas/Vcenter.Compute.Policies.Info" + description: |- + The Vcenter.Compute.Policies.CreateResultInfo schema contains the information about a successfully created compute policy as part of a batch create operation. See *POST /vcenter/compute/policies?action=create-tags-and-policies* + + This schema was added in __vSphere API 9.1.1.0__. + Vcenter.Compute.Policies.CreateResult: + type: object + properties: + policies: + type: object + additionalProperties: + $ref: "#/components/schemas/Vcenter.Compute.Policies.CreateResultInfo" + description: |- + Map from policy name to the result information for each successfully created compute policy. + + This property was added in __vSphere API 9.1.1.0__. + + if missing or `null`, no policies were successfully created. + errors: + type: object + additionalProperties: + $ref: "#/components/schemas/Vapi.Std.Errors.Error" + description: |- + Map from policy name to the error encountered during creation of the compute policy. + + This property was added in __vSphere API 9.1.1.0__. + + if missing or `null`, all policies were successfully created. + description: |- + The Vcenter.Compute.Policies.CreateResult schema contains the result of a batch create operation for compute policies. See *POST /vcenter/compute/policies?action=create-tags-and-policies* + + This schema was added in __vSphere API 9.1.1.0__. + Vcenter.Compute.Policies.DeleteTagsAndPoliciesSpec: + required: + - policies + type: object + properties: + policies: + uniqueItems: true + type: array + description: |- + Set of identifiers of the policies to be deleted. + + This property was added in __vSphere API 9.1.1.0__. + + When clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.compute.Policy`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.compute.Policy`. + items: + type: string + description: |- + The Vcenter.Compute.Policies.DeleteTagsAndPoliciesSpec schema contains the specification for a batch delete operation using *POST /vcenter/compute/policies?action=delete-tags-and-policies*. + + This schema was added in __vSphere API 9.1.1.0__. + Vcenter.Compute.Policies.DeleteResult: + type: object + properties: + errors: + type: object + additionalProperties: + $ref: "#/components/schemas/Vapi.Std.Errors.Error" + description: |- + Map from policy identifier to the error encountered during deletion. + + This property was added in __vSphere API 9.1.1.0__. + + if missing or `null`, all policies were successfully deleted. + + When clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.compute.Policy`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.compute.Policy`. + description: |- + The Vcenter.Compute.Policies.DeleteResult schema contains the result of a batch delete operation for compute policies. + + This schema was added in __vSphere API 9.1.1.0__. Vcenter.Compute.Policies.Status: required: - status @@ -131630,7 +131019,7 @@ components: When clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.tagging.Tag:VirtualMachine`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.tagging.Tag:VirtualMachine`. description: |- - The Vcenter.Compute.Policies.Capabilities.VmVmAffinity.CreateSpec schema contains information used to create a new VM-VM affinity policy, see *POST /vcenter/compute/policies*. All virtual machines that share the tag indicated by *Vcenter.Compute.Policies.Capabilities.VmVmAffinity.CreateSpec.vm_tag* will be affined to each other in VMware Cloud on AWS. Usage beyond VMware Cloud on AWS is not supported. + The Vcenter.Compute.Policies.Capabilities.VmVmAffinity.CreateSpec schema contains information used to create a new VM-VM affinity policy, see *POST /vcenter/compute/policies*. All virtual machines that share the tag indicated by *Vcenter.Compute.Policies.Capabilities.VmVmAffinity.CreateSpec.vm_tag* will be affined to each other in vCenter. __Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. allOf: @@ -131649,11 +131038,52 @@ components: When clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.tagging.Tag:VirtualMachine`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.tagging.Tag:VirtualMachine`. description: |- - The Vcenter.Compute.Policies.Capabilities.VmVmAffinity.Info schema contains information about a VM-VM affinity policy, see *GET /vcenter/compute/policies/{policy}*. All virtual machines that share the tag indicated by *Vcenter.Compute.Policies.Capabilities.VmVmAffinity.Info.vm_tag* are affined to each other in VMware Cloud on AWS. Usage beyond VMware Cloud on AWS is not supported. + The Vcenter.Compute.Policies.Capabilities.VmVmAffinity.Info schema contains information about a VM-VM affinity policy, see *GET /vcenter/compute/policies/{policy}*. All virtual machines that share the tag indicated by *Vcenter.Compute.Policies.Capabilities.VmVmAffinity.Info.vm_tag* are affined to each other in vCenter. __Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. allOf: - $ref: "#/components/schemas/Vcenter.Compute.Policies.Info" + Vcenter.Compute.Policies.Capabilities.VmVmAffinity.CreateSpecV2: + required: + - vm_selector + type: object + properties: + vm_selector: + description: |- + Selector that identifies which virtual machines this affinity policy applies to. All VMs selected by this selector will be affined to each other. + + This property was added in __vSphere API 9.1.1.0__. + allOf: + - $ref: "#/components/schemas/Vcenter.Compute.Policies.ObjectSelectorSpec" + description: "The Vcenter.Compute.Policies.Capabilities.VmVmAffinity.CreateSpecV2\ + \ schema contains information used to create a new VM-VM affinity policy with\ + \ enhanced object selection capabilities. \n\n All virtual machines selected\ + \ by *Vcenter.Compute.Policies.Capabilities.VmVmAffinity.CreateSpecV2.vm_selector*\ + \ will be affined to each other. \n\n __Note:__ This specification is only\ + \ supported through the *POST /vcenter/compute/policies?action=create-tags-and-policies*\ + \ batch operation and is not accepted by the single *POST /vcenter/compute/policies*\ + \ method.\n\nThis schema was added in __vSphere API 9.1.1.0__." + allOf: + - $ref: "#/components/schemas/Vcenter.Compute.Policies.CreateSpec" + Vcenter.Compute.Policies.Capabilities.VmVmAffinity.InfoV2: + required: + - vm_selector + type: object + properties: + vm_selector: + description: |- + Selector that identifies which virtual machines this affinity policy applies to. All VMs selected by this selector will be affined to each other. + + This property was added in __vSphere API 9.1.1.0__. + allOf: + - $ref: "#/components/schemas/Vcenter.Compute.Policies.ObjectSelectorSpec" + description: "The Vcenter.Compute.Policies.Capabilities.VmVmAffinity.InfoV2\ + \ schema contains information about a VM-VM affinity policy with enhanced\ + \ object selection capabilities, see *GET /vcenter/compute/policies/{policy}*.\ + \ \n\n All virtual machines selected by *Vcenter.Compute.Policies.Capabilities.VmVmAffinity.InfoV2.vm_selector*\ + \ are affined to each other.\n\nThis schema was added in __vSphere API 9.1.1.0__." + allOf: + - $ref: "#/components/schemas/Vcenter.Compute.Policies.Info" Vcenter.Compute.Policies.Capabilities.VmVmAntiAffinity.CreateSpec: required: - vm_tag @@ -131668,7 +131098,7 @@ components: When clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.tagging.Tag:VirtualMachine`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.tagging.Tag:VirtualMachine`. description: |- - The Vcenter.Compute.Policies.Capabilities.VmVmAntiAffinity.CreateSpec schema contains information used to create a new VM-VM anti-affinity policy, see *POST /vcenter/compute/policies*. All virtual machines that share the tag indicated by *Vcenter.Compute.Policies.Capabilities.VmVmAntiAffinity.CreateSpec.vm_tag* will be anti-affine to each other in VMware Cloud on AWS. Usage beyond VMware Cloud on AWS is not supported. + The Vcenter.Compute.Policies.Capabilities.VmVmAntiAffinity.CreateSpec schema contains information used to create a new VM-VM anti-affinity policy, see *POST /vcenter/compute/policies*. All virtual machines that share the tag indicated by *Vcenter.Compute.Policies.Capabilities.VmVmAntiAffinity.CreateSpec.vm_tag* will be anti-affine to each other in vCenter. __Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. allOf: @@ -131687,11 +131117,53 @@ components: When clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.tagging.Tag:VirtualMachine`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.tagging.Tag:VirtualMachine`. description: |- - The Vcenter.Compute.Policies.Capabilities.VmVmAntiAffinity.Info schema contains information about a VM-VM anti-affinity policy, see *GET /vcenter/compute/policies/{policy}*. All virtual machines that share the tag indicated by *Vcenter.Compute.Policies.Capabilities.VmVmAntiAffinity.Info.vm_tag* are anti-affine to each other in VMware Cloud on AWS. Usage beyond VMware Cloud on AWS is not supported. + The Vcenter.Compute.Policies.Capabilities.VmVmAntiAffinity.Info schema contains information about a VM-VM anti-affinity policy, see *GET /vcenter/compute/policies/{policy}*. All virtual machines that share the tag indicated by *Vcenter.Compute.Policies.Capabilities.VmVmAntiAffinity.Info.vm_tag* are anti-affine to each other in vCenter. __Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. allOf: - $ref: "#/components/schemas/Vcenter.Compute.Policies.Info" + Vcenter.Compute.Policies.Capabilities.VmVmAntiAffinity.CreateSpecV2: + required: + - vm_selector + type: object + properties: + vm_selector: + description: |- + Selector that identifies which virtual machines this anti-affinity policy applies to. All VMs selected by this selector will be anti-affined to each other. + + This property was added in __vSphere API 9.1.1.0__. + allOf: + - $ref: "#/components/schemas/Vcenter.Compute.Policies.ObjectSelectorSpec" + description: "The Vcenter.Compute.Policies.Capabilities.VmVmAntiAffinity.CreateSpecV2\ + \ schema contains information used to create a new VM-VM anti-affinity policy\ + \ with enhanced object selection capabilities, see *POST /vcenter/compute/policies?action=create-tags-and-policies*.\ + \ \n\n All virtual machines selected by *Vcenter.Compute.Policies.Capabilities.VmVmAntiAffinity.CreateSpecV2.vm_selector*\ + \ will be anti-affined to each other. \n\n __Note:__ This specification is\ + \ only supported through the *POST /vcenter/compute/policies?action=create-tags-and-policies*\ + \ batch operation and is not accepted by the single *POST /vcenter/compute/policies*\ + \ method.\n\nThis schema was added in __vSphere API 9.1.1.0__." + allOf: + - $ref: "#/components/schemas/Vcenter.Compute.Policies.CreateSpec" + Vcenter.Compute.Policies.Capabilities.VmVmAntiAffinity.InfoV2: + required: + - vm_selector + type: object + properties: + vm_selector: + description: |- + Selector that identifies which virtual machines this anti-affinity policy applies to. All VMs selected by this selector will be anti-affined to each other. + + This property was added in __vSphere API 9.1.1.0__. + allOf: + - $ref: "#/components/schemas/Vcenter.Compute.Policies.ObjectSelectorSpec" + description: "The Vcenter.Compute.Policies.Capabilities.VmVmAntiAffinity.InfoV2\ + \ schema contains information about a VM-VM anti-affinity policy with enhanced\ + \ object selection capabilities, see *GET /vcenter/compute/policies/{policy}*.\ + \ \n\n All virtual machines selected by *Vcenter.Compute.Policies.Capabilities.VmVmAntiAffinity.InfoV2.vm_selector*\ + \ are anti-affined to each other.\n\nThis schema was added in __vSphere API\ + \ 9.1.1.0__." + allOf: + - $ref: "#/components/schemas/Vcenter.Compute.Policies.Info" Vcenter.ConfidentialComputing.Sgx.Hosts.RegisterSpec: required: - host_id @@ -142753,8 +142225,8 @@ components: type: string tls_management_endpoint_certificate: type: string - description: |- - PEM-encoded x509 certificate used by TLS endpoint on Kubernetes API servers when accessed from the management network, e.g. from ESX servers or VCSA. + description: |2- + PEM-encoded X.509 certificate used by TLS endpoint on Kubernetes API servers when accessed from the management network, e.g. from ESX servers or VCSA. This property was added in __vSphere API 7.0.0.0__. @@ -142763,13 +142235,10 @@ components: type: string description: "This property is deprecated as of __vSphere API 9.1.0.0__.\ \ Use *Vcenter.NamespaceManagement.Supervisors.Certificates.Info.tls_endpoint_certificate*\ - \ instead. \n\nPEM-encoded x509 certificate(s) used by TLS endpoint on\ - \ Kubernetes API servers when accessed via the load balancer, e.g. devops\ - \ user on corporate network. \n\nIn case of a certificates chain, the\ - \ order of the certificates in this field is important. The first certificate\ - \ must be the leaf certificate for your domain name, the second the intermediate\ - \ certificate(s) and the last one must be the root certificate.\n\nThis\ - \ property was added in __vSphere API 7.0.0.0__.\n\nset only when *Vcenter.NamespaceManagement.Clusters.Info.api_server_management_endpoint*\ + \ instead. \n\n PEM-encoded X.509 leaf certificate used for TLS traffic\ + \ to the Kubernetes API server through the load balancer, e.g. devops\ + \ user on corporate network. \n\nThis property was added in __vSphere\ + \ API 7.0.0.0__.\n\nset only when *Vcenter.NamespaceManagement.Clusters.Info.api_server_management_endpoint*\ \ is used." deprecated: true network_provider: @@ -143538,8 +143007,8 @@ components: When clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `NSXEdgeCluster`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `NSXEdgeCluster`. default_ingress_tls_certificate: type: string - description: |- - PEM-encoded x509 certificate used by NSX as a default fallback certificate for Kubernetes Ingress services. + description: |2- + PEM-encoded X.509 leaf certificate used by NSX as a default fallback certificate for Kubernetes Ingress services. This property was added in __vSphere API 7.0.0.0__. nsx_tier0_gateway: @@ -143690,14 +143159,14 @@ components: $ref: "#/components/schemas/Vcenter.NamespaceManagement.Ipv4Cidr" default_ingress_tls_certificate: type: string - description: "PEM-encoded x509 certificate used by NSX as a default fallback\ - \ certificate for Kubernetes Ingress services. Certificate(s) used can\ - \ be created by one of the two supported methods: \n\n1. By signing the\ + description: " PEM-encoded X.509 certificate used by NSX as a default fallback\ + \ certificate for Kubernetes Ingress services. Certificate used can\ + \ be created by one of the two supported methods: \n\n1. By signing the\ \ Certificate Signing Request obtained from the Namespace Certificate\ \ Management API. \n\nOR \n\n2. By creating a certificate using public\ \ key cryptography. In such case the certificate *Vcenter.NamespaceManagement.Clusters.NCPClusterNetworkUpdateSpec.default_ingress_tls_certificate*\ \ should be specified along with the private key *Vcenter.NamespaceManagement.Clusters.NCPClusterNetworkUpdateSpec.default_ingress_tls_private_key*\ - \ used to generate the certificate. \n\nThis property was added in __vSphere\ + \ used to generate the certificate.\n\nThis property was added in __vSphere\ \ API 7.0.0.0__.\n\nIf missing or `null`, the Kubernetes Ingress services\ \ certificate will not be modified." default_ingress_tls_private_key: @@ -143773,8 +143242,8 @@ components: $ref: "#/components/schemas/Vcenter.NamespaceManagement.Ipv4Cidr" default_ingress_tls_certificate: type: string - description: |- - PEM-encoded x509 certificate used by NSX as a default fallback certificate for Kubernetes Ingress services. + description: |2- + PEM-encoded X.509 leaf certificate used by NSX as a default fallback certificate for Kubernetes Ingress services. This property was added in __vSphere API 7.0.0.0__. description: |- @@ -144295,21 +143764,22 @@ components: type: string description: "This property is deprecated as of __vSphere API 9.1.0.0__.\ \ Use *Vcenter.NamespaceManagement.Supervisors.Certificates.UpdateSpec.tls_endpoint_certificate*\ - \ instead. \n\nPEM-encoded x509 certificate(s) issued for Kubernetes API\ - \ Server. Certificate(s) used can be created by one of the two supported\ - \ methods: \n\n1. By signing the Certificate Signing Request obtained\ - \ from the Namespace Certificate Management API. \n\nOR \n\n2. By creating\ - \ a certificate using public key cryptography. In such case the certificate\ - \ *Vcenter.NamespaceManagement.Clusters.UpdateSpec.tls_endpoint_certificate*\ + \ instead. \n\n PEM-encoded X.509 certificate(s) issued for Kubernetes\ + \ API Server. Certificate(s) used can be created by one of the two\ + \ supported methods: \n\n1. By signing the Certificate Signing Request\ + \ obtained from the Namespace Certificate Management API. \n\nOR \n\n\ + 2. By creating a certificate using public key cryptography. In such case\ + \ the certificate *Vcenter.NamespaceManagement.Clusters.UpdateSpec.tls_endpoint_certificate*\ \ should be specified along with the private key *Vcenter.NamespaceManagement.Clusters.UpdateSpec.tls_endpoint_private_key*\ \ used to generate the certificate. \n\nBecause a Kubernetes CertificateSigningRequest\ \ is created on an existing Namespaces-enabled cluster, you must use the\ \ Vcenter.NamespaceManagement.Clusters.UpdateSpec to specify this *Vcenter.NamespaceManagement.Clusters.UpdateSpec.tls_endpoint_certificate*\ \ on an existing cluster rather than during initially enabling Namespaces\ - \ on a cluster. \n\nIn case of providing the trust chain, the certificates\ - \ should be simply concatenated into a single string.\n\nThis property\ - \ was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, Kubernetes\ - \ API Server certificate(s) will not be modified." + \ on a cluster. \n\nFor certificate trust chains, concatenate all certificates\ + \ into a single string. Only the leaf certificate is returned when retrieving\ + \ cluster details. \n\nThis property was added in __vSphere API 7.0.0.0__.\n\ + \nIf missing or `null`, Kubernetes API Server certificate(s) will not\ + \ be modified." deprecated: true tls_endpoint_private_key: type: string @@ -150346,6 +149816,49 @@ components: The Vcenter.NamespaceManagement.Networks.Nsx.Projects.Compatibility.Summary schema contains information about a Project, including whether it is compatible with the Supervisor enablement feature and incompatibility reasons. This schema was added in __vSphere API 9.0.0.0__. + Vcenter.NamespaceManagement.Networks.Nsx.Projects.VpcConnectivityProfiles.NetworkStack: + type: string + description: |- + The Vcenter.NamespaceManagement.Networks.Nsx.Projects.VpcConnectivityProfiles.NetworkStack enumerated type indicates the network stack options supported by the connected VPCs. + + Possible values: + - `FULL_STACK_VPC`: FULL_STACK_VPC provides the complete VPC feature set, including all supported services and topologies, to Tunnel Endpoint (TEP) of the overlay network. + - `VLAN_BACKED_VPC`: VLAN_BACKED_VPC provides essential VPC services to environments without Tunnel Endpoint (TEP) of the overlay network. + + + This enumeration was added in __vSphere API 9.1.1.0__. + enum: + - FULL_STACK_VPC + - VLAN_BACKED_VPC + Vcenter.NamespaceManagement.Networks.Nsx.Projects.VpcConnectivityProfiles.TransitGatewayInfo: + required: + - network_stack + - nsx_path + type: object + properties: + nsx_path: + type: string + description: |- + NSX path of the Transit Gateway. + + This property was added in __vSphere API 9.1.1.0__. + network_stack: + type: string + description: |- + Indicates the networking stack supported by the connected VPCs. + + Possible values: + - `FULL_STACK_VPC`: FULL_STACK_VPC provides the complete VPC feature set, including all supported services and topologies, to Tunnel Endpoint (TEP) of the overlay network. + - `VLAN_BACKED_VPC`: VLAN_BACKED_VPC provides essential VPC services to environments without Tunnel Endpoint (TEP) of the overlay network. + + + For more information see: *Vcenter.NamespaceManagement.Networks.Nsx.Projects.VpcConnectivityProfiles.NetworkStack*. + + This property was added in __vSphere API 9.1.1.0__. + description: |- + The Vcenter.NamespaceManagement.Networks.Nsx.Projects.VpcConnectivityProfiles.TransitGatewayInfo schema contains information about a Transit Gateway. + + This schema was added in __vSphere API 9.1.1.0__. Vcenter.NamespaceManagement.Networks.Nsx.Projects.VpcConnectivityProfiles.Info: required: - default_profile @@ -150388,6 +149901,15 @@ components: `true` if this profile is the default VPC connectivity profile in the NSX project that profiles belongs to, `false` otherwise. This property was added in __vSphere API 9.0.0.0__. + transit_gateway: + description: |- + Transit gateway currently configured with the VPC Connectivity Profile. + + This property was added in __vSphere API 9.1.1.0__. + + This property is optional because it was added in a newer version than its parent node. + allOf: + - $ref: "#/components/schemas/Vcenter.NamespaceManagement.Networks.Nsx.Projects.VpcConnectivityProfiles.TransitGatewayInfo" external_ip_blocks: type: array description: |- @@ -153639,11 +153161,12 @@ components: properties: tls_endpoint_certificate: type: string - description: "PEM-encoded x509 certificate(s) issued for Supervisor endpoints.\ - \ \n\nCertificate(s) used can be created by one of the two supported methods:\ - \ \n 1. By signing the Certificate Signing Request obtained from the\ - \ Namespace Certificate Management API.\n 2. By creating a certificate\ - \ using public key cryptography. In such case the certificate *Vcenter.NamespaceManagement.Supervisors.Certificates.UpdateSpec.tls_endpoint_certificate*\ + description: " PEM-encoded X.509 certificate(s) issued for Supervisor endpoints.\ + \ \n\nCertificate(s) used can be created by one of the two supported\ + \ methods: \n 1. By signing the Certificate Signing Request obtained\ + \ from the Namespace Certificate Management API.\n 2. By creating a\ + \ certificate using public key cryptography. In such case the certificate\ + \ *Vcenter.NamespaceManagement.Supervisors.Certificates.UpdateSpec.tls_endpoint_certificate*\ \ should be specified along with the private key *Vcenter.NamespaceManagement.Supervisors.Certificates.UpdateSpec.tls_endpoint_private_key*\ \ used to generate the certificate.\n \n\nBecause a Kubernetes ```CertificateSigningRequest```\ \ is created on an existing Namespaces-enabled cluster, you must use the\ @@ -153651,7 +153174,10 @@ components: \ this *Vcenter.NamespaceManagement.Supervisors.Certificates.UpdateSpec.tls_endpoint_certificate*\ \ on an existing Supervisor rather than during initially enabling Namespaces\ \ on a Supervisor. \n\nIn case of providing the trust chain, the certificates\ - \ should be simply concatenated into a single string.\n\nThis property\ + \ should be simply concatenated into a single string. The order of the\ + \ certificates in this field is important. The first certificate must\ + \ be the leaf certificate for your domain name, followed by the intermediate\ + \ certificate(s), and conclude with the root certificate.\n\nThis property\ \ was added in __vSphere API 9.1.0.0__." tls_endpoint_private_key: type: string @@ -153693,12 +153219,18 @@ components: properties: tls_endpoint_certificate: type: string - description: "PEM-encoded x509 certificate used by Supervisor TLS endpoint.\ - \ \n\nIn case of a certificate chain, the order of the certificates in\ - \ this field is important. The first certificate must be the leaf certificate\ - \ for your domain name, followed by the intermediate certificate(s), and\ - \ conclude with the root certificate.\n\nThis property was added in __vSphere\ - \ API 9.1.0.0__." + description: "This property is deprecated as of __vSphere API 9.1.1.0__.\ + \ Use *Vcenter.NamespaceManagement.Supervisors.Certificates.Info.tls_endpoint_certificate_chain*\ + \ instead. \n\n\n\nThis property was added in __vSphere API 9.1.0.0__." + deprecated: true + tls_endpoint_certificate_chain: + type: string + description: "PEM-encoded X.509 certificate chain used by Supervisor TLS\ + \ endpoint. \n\nIn case of a certificate chain, the order of the certificates\ + \ will be: first the leaf certificate for your domain name then the intermediate\ + \ certificate(s) then the root certificate.\n\nThis property was added\ + \ in __vSphere API 9.1.1.0__.\n\nThis property is optional because it\ + \ was added in a newer version than its parent node." endpoint: type: string description: |- @@ -153711,10 +153243,10 @@ components: For more information see: *Vcenter.NamespaceManagement.Supervisors.Certificates.EndpointType*. This property was added in __vSphere API 9.1.0.0__. - description: |- - The Vcenter.NamespaceManagement.Supervisors.Certificates.Info schema contains information about the PEM-encoded x509 certificate(s) used by Supervisor endpoints. - - This schema was added in __vSphere API 9.1.0.0__. + description: "The Vcenter.NamespaceManagement.Supervisors.Certificates.Info\ + \ schema contains information about the PEM-encoded X.509 leaf certificate\ + \ and certificate chain used by Supervisor endpoints. \n\nThis schema was\ + \ added in __vSphere API 9.1.0.0__." Vcenter.NamespaceManagement.Supervisors.Certificates.ListResult: required: - certificates @@ -153722,37 +153254,30 @@ components: properties: certificates: type: array - description: |- - All certificates matching the provided filters or lists certificates of all Supervisor endpoints. - - This property was added in __vSphere API 9.1.0.0__. + description: " The certificate details for the Supervisor endpoints. \n\ + \n This list is filtered based on the provided query parameters, or returns\ + \ all certificates if no filters are applied. \n\nThis property was added\ + \ in __vSphere API 9.1.0.0__." items: $ref: "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Certificates.Info" - description: |- - The Vcenter.NamespaceManagement.Supervisors.Certificates.ListResult schema list the PEM-encoded x509 certificate(s) used by Supervisor endpoints. - - This schema was added in __vSphere API 9.1.0.0__. + description: " The Vcenter.NamespaceManagement.Supervisors.Certificates.ListResult\ + \ schema lists the PEM-encoded X.509 certificate chains used by Supervisor\ + \ endpoints. \n\nThis schema was added in __vSphere API 9.1.0.0__." Vcenter.NamespaceManagement.Supervisors.Certificates.FilterSpec: type: object properties: endpoint: type: string - description: |- - Filter certificates based on endpoint type. - - Possible values: - - `VIP`: TLS endpoint on Kubernetes API servers when accessed via the load balancer. - - - For more information see: *Vcenter.NamespaceManagement.Supervisors.Certificates.EndpointType*. - - This property was added in __vSphere API 9.1.0.0__. - - If missing or `null`, the filter will be ignored. - description: |- - The Vcenter.NamespaceManagement.Supervisors.Certificates.FilterSpec schema contains properties to filter certificates based on endpoint type. - - This schema was added in __vSphere API 9.1.0.0__. + description: "\n\nPossible values:\n - `VIP`: TLS endpoint on Kubernetes\ + \ API servers when accessed via the load balancer.\n\n\nFor more information\ + \ see: *Vcenter.NamespaceManagement.Supervisors.Certificates.EndpointType*.\n\ + \nThis property was added in __vSphere API 9.1.0.0__.\n\nIf set, return\ + \ the leaf certificate and certificate chain for that endpoint Otherwise,\ + \ the filter will be ignored. " + description: "The Vcenter.NamespaceManagement.Supervisors.Certificates.FilterSpec\ + \ schema contains properties to filter leaf certificates and certificate\ + \ chains based on endpoint type. \n\nThis schema was added in __vSphere API\ + \ 9.1.0.0__." Vcenter.NamespaceManagement.Supervisors.Conditions.Severity: type: string description: |- @@ -155931,10 +155456,69 @@ components: This property was added in __vSphere API 9.1.0.0__. If missing or `null`, no email address will be set in the Certificate Signing Request. + subject_alternative_names: + description: "Subject Alternative Names (SAN) to be set in the Certificate\ + \ Signing Request.\n\nThis property was added in __vSphere API 9.1.1.0__.\n\ + \nIf missing or `null`, the behavior depends on the *Vcenter.NamespaceManagement.Supervisors.Certificates.SigningRequests.CreateSpec.csr_type*:\ + \ \n - For *Vcenter.NamespaceManagement.Supervisors.Certificates.SigningRequests.CSRType.KUBERNETES_API_SERVER*:\ + \ Both the IP address and the DNS names will be automatically populated\ + \ using active Supervisor configurations. The DNS names are retrieved\ + \ from *Vcenter.NamespaceManagement.Supervisors.Workloads.KubeApiServerSettings.Info.certificate_dns_names*,\ + \ and the IP addresses are retrieved from the Virtual IP (VIP) addresses\ + \ configured under *Vcenter.NamespaceManagement.Networks.Edges.Edge.load_balancer_address_ranges*.\n\ + \ - For *Vcenter.NamespaceManagement.Supervisors.Certificates.SigningRequests.CSRType.DEFAULT_NSX_INGRESS*:\ + \ No default Subject Alternative Names will be set.\n \n\nIf this structure\ + \ is provided, the behavior is governed by the following rules: \n -\ + \ For *Vcenter.NamespaceManagement.Supervisors.Certificates.SigningRequests.CSRType.KUBERNETES_API_SERVER*:\ + \ \n - If only *Vcenter.NamespaceManagement.Supervisors.Certificates.SigningRequests.SubjectAlternativeNames.dns_names*\ + \ are provided, the IP address will not be automatically populated.\n\ + \ - If only *Vcenter.NamespaceManagement.Supervisors.Certificates.SigningRequests.SubjectAlternativeNames.ip_addresses*\ + \ are provided, the configured default DNS names will still be automatically\ + \ populated.\n - If both fields are provided, the provided DNS names\ + \ will be combined with the default configured DNS names, and only the\ + \ provided IP addresses will be set.\n \n - For *Vcenter.NamespaceManagement.Supervisors.Certificates.SigningRequests.CSRType.DEFAULT_NSX_INGRESS*:\ + \ No automatic population of default values takes place; only the provided\ + \ DNS names and/or IP addresses will be added to the Certificate Signing\ + \ Request.\n " + allOf: + - $ref: "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Certificates.SigningRequests.SubjectAlternativeNames" description: |- The Vcenter.NamespaceManagement.Supervisors.Certificates.SigningRequests.CreateSpec schema contains the specification required to create new Certificate Signing Request for the Supervisor. This schema was added in __vSphere API 9.1.0.0__. + Vcenter.NamespaceManagement.Supervisors.Certificates.SigningRequests.SubjectAlternativeNames: + type: object + properties: + dns_names: + type: array + description: "DNS names to be set as Subject Alternative Names.\n\nThis\ + \ property was added in __vSphere API 9.1.1.0__.\n\nThe behavior depends\ + \ on the *Vcenter.NamespaceManagement.Supervisors.Certificates.SigningRequests.CSRType*\ + \ selected during creation: \n - For *Vcenter.NamespaceManagement.Supervisors.Certificates.SigningRequests.CSRType.KUBERNETES_API_SERVER*:\ + \ If *Vcenter.NamespaceManagement.Supervisors.Certificates.SigningRequests.SubjectAlternativeNames.dns_names*\ + \ is provided, it should include the DNS names configured in *Vcenter.NamespaceManagement.Supervisors.Workloads.KubeApiServerSettings.Info.certificate_dns_names*.\ + \ Additional DNS names are permitted. If the configured DNS names are\ + \ not provided they will be added automatically to the list.\n - For\ + \ *Vcenter.NamespaceManagement.Supervisors.Certificates.SigningRequests.CSRType.DEFAULT_NSX_INGRESS*:\ + \ This field is optional.\n If missing or `null` or empty, for *Vcenter.NamespaceManagement.Supervisors.Certificates.SigningRequests.CSRType.KUBERNETES_API_SERVER*\ + \ the configured DNS names will be automatically added and for *Vcenter.NamespaceManagement.Supervisors.Certificates.SigningRequests.CSRType.DEFAULT_NSX_INGRESS*\ + \ no DNS names will be added." + items: + type: string + ip_addresses: + type: array + description: |- + IP addresses to be set as Subject Alternative Names. + + This property was added in __vSphere API 9.1.1.0__. + + If missing or `null` or empty, no IP addresses will be added as Subject Alternative Names. + items: + type: string + description: |- + The Vcenter.NamespaceManagement.Supervisors.Certificates.SigningRequests.SubjectAlternativeNames schema contains the list of Subject Alternative Names to be embedded in the Certificate Signing Request. + + This schema was added in __vSphere API 9.1.1.0__. Vcenter.NamespaceManagement.Supervisors.Certificates.SigningRequests.CreateResult: required: - csr @@ -158290,10 +157874,23 @@ components: properties: default_ingress_tls_certificate: type: string - description: |- - *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.NSXLoadBalancerInfo.default_ingress_tls_certificate* defines a default certificate that is served on Ingress services when another certificate is not configured. - - This property was added in __vSphere API 9.0.0.0__. + description: "This property is deprecated as of __vSphere API 9.1.1.0__.\ + \ Use *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.NSXLoadBalancerInfo.default_ingress_tls_certificate_chain*\ + \ instead. \n\n *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.NSXLoadBalancerInfo.default_ingress_tls_certificate*\ + \ defines the default PEM-encoded X.509 leaf certificate that is served\ + \ on Ingress services when another certificate is not configured.\n\n\ + This property was added in __vSphere API 9.0.0.0__." + deprecated: true + default_ingress_tls_certificate_chain: + type: string + description: "*Vcenter.NamespaceManagement.Supervisors.Networks.Edges.NSXLoadBalancerInfo.default_ingress_tls_certificate_chain*\ + \ defines the default PEM-encoded X.509 certificate chain that is served\ + \ on Ingress services when another certificate chain is not configured.\ + \ \n\nIn case of a certificate chain, the order of the certificates will\ + \ be: first the leaf certificate for your domain name then the intermediate\ + \ certificate(s) then the root certificate.\n\nThis property was added\ + \ in __vSphere API 9.1.1.0__.\n\nThis property is optional because it\ + \ was added in a newer version than its parent node." description: |- Vcenter.NamespaceManagement.Supervisors.Networks.Edges.NSXLoadBalancerInfo contains detailed information about an NSX Load Balancer. @@ -158419,16 +158016,21 @@ components: properties: default_ingress_tls_certificate: type: string - description: "PEM-encoded x509 certificate used by NSX as a default fallback\ - \ certificate for Kubernetes Ingress services. Certificate(s) used can\ - \ be created by one of the two supported methods: \n 1. 1. By signing\ - \ the Certificate Signing Request obtained from the Namespace Certificate\ - \ Management API. OR\n 2. 2. By creating a certificate using public\ - \ key cryptography. In such case the certificate *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.NSXLoadBalancerUpdateSpec.default_ingress_tls_certificate*\ + description: " The PEM-encoded X.509 leaf certificate for the Kubernetes\ + \ Ingress service. Certificate(s) used can be created by one of the\ + \ two supported methods: \n 1. 1. By signing the Certificate Signing\ + \ Request obtained from the Namespace Certificate Management API. OR\n\ + \ 2. 2. By creating a certificate using public key cryptography. In\ + \ such case the certificate *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.NSXLoadBalancerUpdateSpec.default_ingress_tls_certificate*\ \ should be specified along with the private key *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.NSXLoadBalancerUpdateSpec.default_ingress_tls_private_key*\ - \ used to generate the certificate.\n \n\nThis property was added in __vSphere\ - \ API 9.0.0.0__.\n\nIf missing or `null`, the Kubernetes Ingress services\ - \ certificate will not be modified." + \ used to generate the certificate.\n \n\nTrust chains concatenate all\ + \ certificates into a single string. The order of the certificates is:\ + \ first the leaf certificate for your domain name then the intermediate\ + \ certificate(s) then the root certificate. When retrieving load balancer\ + \ details, this field contains only the leaf certificate. See *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.NSXLoadBalancerInfo.default_ingress_tls_certificate_chain*\ + \ for the full chain. \n\nThis property was added in __vSphere API 9.0.0.0__.\n\ + \nIf missing or `null`, the current Ingress certificate chain remains\ + \ unchanged. " default_ingress_tls_private_key: type: string description: "Private Key matching *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.NSXLoadBalancerUpdateSpec.default_ingress_tls_certificate*\ @@ -162322,6 +161924,9 @@ components: - `PUBLIC`: *Vcenter.Namespaces.Instances.VpcSubnetAccessMode.PUBLIC* indicates new Subnets are allocated from *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.VpcNetwork.vpc_connectivity_profile* external IP blocks and are routable from external networks. - `PRIVATE_TGW`: *Vcenter.Namespaces.Instances.VpcSubnetAccessMode.PRIVATE_TGW* indicates new Subnets are allocated from *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.VpcNetwork.vpc_connectivity_profile* project IP blocks and are routable within other VPCs from the same project. - `PRIVATE`: *Vcenter.Namespaces.Instances.VpcSubnetAccessMode.PRIVATE* indicates new Subnets are allocated from *Vcenter.Namespaces.Instances.VpcConfig.private_cidrs* and are routable only within the same VPC. + - `L2_ONLY`: *Vcenter.Namespaces.Instances.VpcSubnetAccessMode.l2_ONLY* offers Layer 2 connectivity with optional VLAN bridging and full user-managed IP control. + + This constant was added in __vSphere API 9.1.1.0__. This enumeration was added in __vSphere API 9.0.0.0__. @@ -162329,6 +161934,7 @@ components: - PUBLIC - PRIVATE_TGW - PRIVATE + - L2_ONLY Vcenter.Namespaces.Instances.EdgeProvider: type: string description: |- @@ -162841,6 +162447,44 @@ components: NSX path of the shared Subnet created outside of the Supervisor to be associated with this vSphere Namespace. This property was added in __vSphere API 9.1.0.0__. + pod_default: + type: boolean + description: "Indicates the shared Subnet is used for vSphere Pod default\ + \ networks in this Namespace. \n\nIf the shared Subnet is specified to\ + \ be used for vSphere Pod default networks, com.vmware.vcenter.namespaces.VpcNetworkCreateSpec#vpc\ + \ must also be specified since shared Subnets for vSphere Pods need to\ + \ match the vSphere Namespace's VPC to create resources like Load Balancer\ + \ Virtual Services and Static Routes.\n\nThis property was added in __vSphere\ + \ API 9.1.1.0__.\n\nIf missing or `null`, the shared Subnet is not used\ + \ for vSphere Pod default networks. \n\nIf no shared Subnets are specified\ + \ as Pod default networks and there is PrivateTGW IPBlock with sufficient\ + \ space in the Namespace's VPC, the Pod default network will use Subnets\ + \ generated from the IPBlock. Otherwise, Pods are not assigned a default\ + \ network." + vm_default: + type: boolean + description: "Indicates the shared Subnet is used for VM default networks\ + \ in this Namespace. \n\nIf the shared Subnet is specified to be used\ + \ for VM default networks, com.vmware.vcenter.namespaces.VpcNetworkCreateSpec#vpc\ + \ must also be specified since shared Subnets for VMs need to match the\ + \ vSphere Namespace's VPC to create resources like Load Balancer Virtual\ + \ Services and Static Routes.\n\nThis property was added in __vSphere\ + \ API 9.1.1.0__.\n\nIf missing or `null`, the shared Subnet is not used\ + \ for VM default networks. \n\nIf no shared Subnets are specified as VM\ + \ default networks and there is PrivateCIDRs with sufficient space in\ + \ the Namespace's VPC, the VM default network will use Subnets generated\ + \ from PrivateCIDRs. Otherwise, there will be no VM default network." + name: + type: string + description: "Name of the shared Subnet that can be used to reference this\ + \ object. After creation, the name cannot be updated. This must be a valid\ + \ DNS subdomain name as defined in [RFC 1123](https://tools.ietf.org/html/rfc1123).\ + \ It must: \n - have a maximum length of 253 characters\n - contain\ + \ only lowercase alphanumeric characters, '-', or '.'\n - start and\ + \ end with an alphanumeric character\n This name must also be unique\ + \ within a vSphere Namespace.\n\nThis property was added in __vSphere\ + \ API 9.1.1.0__.\n\nIf missing or `null`, a non-conflicting and valid\ + \ DNS subdomain name will be generated." description: |- The Vcenter.Namespaces.Instances.SharedSubnet schema defines the information for a Subnet shared with a vSphere Namespace. @@ -165479,6 +165123,20 @@ components: The Vcenter.Namespaces.Mobility.Virtualmachines.Imports.Info schema represents an Import, containing both the spec and status. This schema was added in __vSphere API 9.0.0.0__. + Vcenter.Namespaces.Networks.Nsx.NetworkStack: + type: string + description: |- + The Vcenter.Namespaces.Networks.Nsx.NetworkStack enumerated type indicates the network stack options supported by the connected VPCs. + + Possible values: + - `FULL_STACK_VPC`: VPC in TEP mode that support full overlay network stack. + - `VLAN_BACKED_VPC`: VPC in TEPLess mode that only support VLAN-backed networking. + + + This enumeration was added in __vSphere API 9.1.1.0__. + enum: + - FULL_STACK_VPC + - VLAN_BACKED_VPC Vcenter.Namespaces.Networks.Nsx.VpcSubnetAccessMode: type: string description: |- @@ -165488,6 +165146,9 @@ components: - `PUBLIC`: *Vcenter.Namespaces.Networks.Nsx.VpcSubnetAccessMode.PUBLIC* indicates new subnets are allocated from *Vcenter.Namespaces.Networks.Nsx.VpcConnectivityProfileInfo.external_IP_blocks* and are routable from external networks. - `PRIVATE_TGW`: *Vcenter.Namespaces.Networks.Nsx.VpcSubnetAccessMode.PRIVATE_TGW* indicates new subnets are allocated from *Vcenter.Namespaces.Networks.Nsx.VpcConnectivityProfileInfo.privateTGW_IP_blocks* and are routable within other VPCs from the same project. - `PRIVATE`: *Vcenter.Namespaces.Networks.Nsx.VpcSubnetAccessMode.PRIVATE* indicates new subnets are allocated from private CIDRs and are routable only within the same VPC. + - `L2_ONLY`: *Vcenter.Namespaces.Networks.Nsx.VpcSubnetAccessMode.l2_ONLY* offers Layer 2 connectivity with optional VLAN bridging and full user-managed IP control. + + This constant was added in __vSphere API 9.1.1.0__. This enumeration was added in __vSphere API 9.0.0.0__. @@ -165495,6 +165156,7 @@ components: - PUBLIC - PRIVATE_TGW - PRIVATE + - L2_ONLY Vcenter.Namespaces.Networks.Nsx.VpcConnectivityProfileInfo: required: - default_profile @@ -165537,6 +165199,15 @@ components: `true` if this profile is the default connectivity profile in NSX project, `false` otherwise. This property was added in __vSphere API 9.0.0.0__. + transit_gateway: + description: |- + Transit gateway currently configured with the VPC Connectivity Profile. + + This property was added in __vSphere API 9.1.1.0__. + + This property is optional because it was added in a newer version than its parent node. + allOf: + - $ref: "#/components/schemas/Vcenter.Namespaces.Networks.Nsx.TransitGatewayInfo" external_ip_blocks: type: array description: |- @@ -165561,6 +165232,35 @@ components: The Vcenter.Namespaces.Networks.Nsx.VpcConnectivityProfileInfo provides information of NSX VPC Connectivity Profile. This schema was added in __vSphere API 9.0.0.0__. + Vcenter.Namespaces.Networks.Nsx.TransitGatewayInfo: + required: + - network_stack + - nsx_path + type: object + properties: + nsx_path: + type: string + description: |- + NSX path of the Transit Gateway. + + This property was added in __vSphere API 9.1.1.0__. + network_stack: + type: string + description: |- + Indicates the network stack supported by the connected VPCs. + + Possible values: + - `FULL_STACK_VPC`: VPC in TEP mode that support full overlay network stack. + - `VLAN_BACKED_VPC`: VPC in TEPLess mode that only support VLAN-backed networking. + + + For more information see: *Vcenter.Namespaces.Networks.Nsx.NetworkStack*. + + This property was added in __vSphere API 9.1.1.0__. + description: |- + The Vcenter.Namespaces.Networks.Nsx.TransitGatewayInfo schema contains information about a Transit Gateway. + + This schema was added in __vSphere API 9.1.1.0__. Vcenter.Namespaces.Networks.Nsx.IPBlockInfo: required: - available_ip_count @@ -165840,6 +165540,420 @@ components: The Vcenter.Namespaces.Networks.Nsx.VpcInfo schema contains information about a VPC. This schema was added in __vSphere API 9.0.0.0__. + Vcenter.Namespaces.Networks.Nsx.SharedSubnets.ConnectivityState: + type: string + description: |- + The Vcenter.Namespaces.Networks.Nsx.SharedSubnets.ConnectivityState enumerated type represents connectivity status of the Subnet from other Subnets to the VPC. + + Possible values: + - `CONNECTED`: Routing through the VPC gateway is enabled for the Subnet. + - `DISCONNECTED`: Routing through the VPC gateway is disabled for the Subnet. + + + This enumeration was added in __vSphere API 9.1.1.0__. + enum: + - CONNECTED + - DISCONNECTED + Vcenter.Namespaces.Networks.Nsx.SharedSubnets.AccessMode: + type: string + description: |- + The Vcenter.Namespaces.Networks.Nsx.SharedSubnets.AccessMode enumerates the default access modes of Subnets hosting resources created in vSphere Namespaces. + + Possible values: + - `PUBLIC`: *Vcenter.Namespaces.Networks.Nsx.SharedSubnets.AccessMode.PUBLIC* indicates the Subnet is routable from external networks. + - `PRIVATE_TGW`: *Vcenter.Namespaces.Networks.Nsx.SharedSubnets.AccessMode.PRIVATE_TGW* indicates the Subnet is routable within other VPCs from the same Project. + - `PRIVATE`: *Vcenter.Namespaces.Networks.Nsx.SharedSubnets.AccessMode.PRIVATE* indicates the Subnet is routable only within the same VPC. + - `L2_ONLY`: *Vcenter.Namespaces.Networks.Nsx.SharedSubnets.AccessMode.l2_ONLY* offers Layer 2 connectivity with optional VLAN bridging and full user-managed IP control. + + + This enumeration was added in __vSphere API 9.1.1.0__. + enum: + - PUBLIC + - PRIVATE_TGW + - PRIVATE + - L2_ONLY + Vcenter.Namespaces.Networks.Nsx.SharedSubnets.DHCPMode: + type: string + description: |- + The Vcenter.Namespaces.Networks.Nsx.SharedSubnets.DHCPMode enumerated type represents DHCP mode of Subnet. + + Possible values: + - `DHCP_SERVER`: DHCP_SERVER mode. + - `DHCP_RELAY`: DHCP_RELAY mode. + + + This enumeration was added in __vSphere API 9.1.1.0__. + enum: + - DHCP_SERVER + - DHCP_RELAY + Vcenter.Namespaces.Networks.Nsx.SharedSubnets.SubnetPurpose: + type: string + description: "The Vcenter.Namespaces.Networks.Nsx.SharedSubnets.SubnetPurpose\ + \ enumerated type represents how the Subnet is used.\n\nPossible values:\n\ + \ - `NAMESPACE`: The Subnet would be shared with vSphere Namespace and used\ + \ by VMs or VKS Clusters. Compatible Subnets for Namespace: \n - Are not\ + \ auto-created by Supervisor or VCF Automation.\n - Subnet span is Superset\ + \ of Namespace zones.\n - Subnet is shared with Namespace's Project if\ + \ the Subnet is in a different NSX Project.\n \n - `VM_DEFAULT`: The Subnet\ + \ would be shared with vSphere Namespace and used for VM default networks.\ + \ Compatible Subnets for VM default network: \n - In addition to the validations\ + \ for *Vcenter.Namespaces.Networks.Nsx.SharedSubnets.SubnetPurpose.NAMESPACE*,\ + \ the Subnet must be part of the namespace's VPC defined in *Vcenter.Namespaces.Networks.Nsx.SharedSubnets.FilterSpec.vpc*.\n\ + \ \n - `POD_DEFAULT`: The Subnet would be shared with vSphere Namespace and\ + \ used for vSphere Pod default networks. Compatible Subnets for Pod default\ + \ network: \n - In addition to the validations for *Vcenter.Namespaces.Networks.Nsx.SharedSubnets.SubnetPurpose.VM_DEFAULT*,\ + \ the Subnet cannot be *Vcenter.Namespaces.Networks.Nsx.SharedSubnets.AccessMode.l2_ONLY*,\ + \ or *Vcenter.Namespaces.Networks.Nsx.SharedSubnets.StaticIpAllocation.enabled*\"\ + \ set to false.\n \n\n\nThis enumeration was added in __vSphere API 9.1.1.0__." + enum: + - NAMESPACE + - VM_DEFAULT + - POD_DEFAULT + Vcenter.Namespaces.Networks.Nsx.SharedSubnets.StaticIpAllocation: + required: + - enabled + type: object + properties: + enabled: + type: boolean + description: |- + Whether to enable IP address allocation for VPC Subnet ports from static ip pool. + + This property was added in __vSphere API 9.1.1.0__. + description: |- + The Vcenter.Namespaces.Networks.Nsx.SharedSubnets.StaticIpAllocation describes static IP allocation for VPC Subnet ports. + + This schema was added in __vSphere API 9.1.1.0__. + Vcenter.Namespaces.Networks.Nsx.SharedSubnets.SubnetDHCPConfig: + required: + - mode + type: object + properties: + mode: + type: string + description: |- + DHCP mode of NSX Subnet. + + Possible values: + - `DHCP_SERVER`: DHCP_SERVER mode. + - `DHCP_RELAY`: DHCP_RELAY mode. + + + For more information see: *Vcenter.Namespaces.Networks.Nsx.SharedSubnets.DHCPMode*. + + This property was added in __vSphere API 9.1.1.0__. + description: |- + The Vcenter.Namespaces.Networks.Nsx.SharedSubnets.SubnetDHCPConfig contains DHCP configuration for the Subnet. + + This schema was added in __vSphere API 9.1.1.0__. + Vcenter.Namespaces.Networks.Nsx.SharedSubnets.Ipv4Cidr: + required: + - address + - prefix + type: object + properties: + address: + type: string + description: |- + The IPv4 address. + + This property was added in __vSphere API 9.1.1.0__. + prefix: + type: integer + description: |- + The CIDR prefix. + + This property was added in __vSphere API 9.1.1.0__. + format: int64 + description: |- + The Vcenter.Namespaces.Networks.Nsx.SharedSubnets.Ipv4Cidr schema contains the specification for representing CIDR notation of IP range. For example, this can be used to represent 256 IP addresses using 10.10.10.0/24. + + This schema was added in __vSphere API 9.1.1.0__. + Vcenter.Namespaces.Networks.Nsx.SharedSubnets.SubnetStaticConfig: + required: + - static_ip_allocation + type: object + properties: + static_ip_allocation: + description: |- + Static IP allocation configuration for VPC Subnet Ports. + + This property was added in __vSphere API 9.1.1.0__. + allOf: + - $ref: "#/components/schemas/Vcenter.Namespaces.Networks.Nsx.SharedSubnets.StaticIpAllocation" + description: |- + The Vcenter.Namespaces.Networks.Nsx.SharedSubnets.SubnetStaticConfig contains static IP configuration for the Subnet. + + This schema was added in __vSphere API 9.1.1.0__. + Vcenter.Namespaces.Networks.Nsx.SharedSubnets.Info: + required: + - access_mode + - connectivity_state + - ip_addresses + - ipv4_subnet_size + - name + - nsx_path + - parent_vpc + - subnet + type: object + properties: + subnet: + type: string + description: |- + Identifier of the Subnet. + + This property was added in __vSphere API 9.1.1.0__. + + When clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespaces.networks.nsx.SharedSubnet`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespaces.networks.nsx.SharedSubnet`. + name: + type: string + description: |- + Name of the Subnet. + + This property was added in __vSphere API 9.1.1.0__. + nsx_path: + type: string + description: |- + NSX path of the Subnet. + + This property was added in __vSphere API 9.1.1.0__. + parent_vpc: + description: |- + Information of the parent VPC. + + This property was added in __vSphere API 9.1.1.0__. + allOf: + - $ref: "#/components/schemas/Vcenter.Namespaces.Networks.Nsx.SharedSubnets.Vpc" + access_mode: + type: string + description: |- + Access mode of the Subnet. + + Possible values: + - `PUBLIC`: *Vcenter.Namespaces.Networks.Nsx.SharedSubnets.AccessMode.PUBLIC* indicates the Subnet is routable from external networks. + - `PRIVATE_TGW`: *Vcenter.Namespaces.Networks.Nsx.SharedSubnets.AccessMode.PRIVATE_TGW* indicates the Subnet is routable within other VPCs from the same Project. + - `PRIVATE`: *Vcenter.Namespaces.Networks.Nsx.SharedSubnets.AccessMode.PRIVATE* indicates the Subnet is routable only within the same VPC. + - `L2_ONLY`: *Vcenter.Namespaces.Networks.Nsx.SharedSubnets.AccessMode.l2_ONLY* offers Layer 2 connectivity with optional VLAN bridging and full user-managed IP control. + + + For more information see: *Vcenter.Namespaces.Networks.Nsx.SharedSubnets.AccessMode*. + + This property was added in __vSphere API 9.1.1.0__. + ipv4_subnet_size: + type: integer + description: |- + Size of the Subnet. + + This property was added in __vSphere API 9.1.1.0__. + format: int64 + ip_addresses: + type: array + description: |- + Subnet IP addresses. + + This property was added in __vSphere API 9.1.1.0__. + items: + $ref: "#/components/schemas/Vcenter.Namespaces.Networks.Nsx.SharedSubnets.Ipv4Cidr" + connectivity_state: + type: string + description: |- + Connectivity status of the Subnet from other Subnets to the VPC. + + Possible values: + - `CONNECTED`: Routing through the VPC gateway is enabled for the Subnet. + - `DISCONNECTED`: Routing through the VPC gateway is disabled for the Subnet. + + + For more information see: *Vcenter.Namespaces.Networks.Nsx.SharedSubnets.ConnectivityState*. + + This property was added in __vSphere API 9.1.1.0__. + subnet_static_config: + description: |- + Subnet static IP configuration. + + This property was added in __vSphere API 9.1.1.0__. + + If missing or `null`, the Subnet has no static IP configuration. + allOf: + - $ref: "#/components/schemas/Vcenter.Namespaces.Networks.Nsx.SharedSubnets.SubnetStaticConfig" + subnet_dhcp_config: + description: |- + Subnet DHCP configuration. + + This property was added in __vSphere API 9.1.1.0__. + + If missing or `null`, the Subnet has no DHCP configuration. + allOf: + - $ref: "#/components/schemas/Vcenter.Namespaces.Networks.Nsx.SharedSubnets.SubnetDHCPConfig" + vlan_connection: + type: string + description: |- + Distributed VLAN connection path. + + This property was added in __vSphere API 9.1.1.0__. + + If missing or `null`, the Subnet has no vlan connection. + description: |- + The Vcenter.Namespaces.Networks.Nsx.SharedSubnets.Info contains selected fields from the corresponding Subnet. + + This schema was added in __vSphere API 9.1.1.0__. + Vcenter.Namespaces.Networks.Nsx.SharedSubnets.Vpc: + required: + - name + - nsx_path + - vpc + type: object + properties: + vpc: + type: string + description: |- + VPC ID. + + This property was added in __vSphere API 9.1.1.0__. + nsx_path: + type: string + description: |- + NSX path of the VPC. + + This property was added in __vSphere API 9.1.1.0__. + name: + type: string + description: |- + VPC name. + + This property was added in __vSphere API 9.1.1.0__. + description: |- + The Vcenter.Namespaces.Networks.Nsx.SharedSubnets.Vpc schema contains the basic information about a VPC. + + This schema was added in __vSphere API 9.1.1.0__. + Vcenter.Namespaces.Networks.Nsx.SharedSubnets.Summary: + required: + - compatible + - incompatibility_reasons + - name + - nsx_path + - subnet + type: object + properties: + subnet: + type: string + description: |- + Identifier of the Subnet. + + This property was added in __vSphere API 9.1.1.0__. + + When clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespaces.networks.nsx.SharedSubnet`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespaces.networks.nsx.SharedSubnet`. + name: + type: string + description: |- + Human-readable identifier of the Subnet. + + This property was added in __vSphere API 9.1.1.0__. + nsx_path: + type: string + description: |- + NSX path of the Subnet. + + This property was added in __vSphere API 9.1.1.0__. + compatible: + type: boolean + description: |- + Compatibility of this Subnet with vSphere Namespaces. + + This property was added in __vSphere API 9.1.1.0__. + incompatibility_reasons: + type: array + description: |- + List of reasons for incompatibility. If empty, this Subnet is compatible. + + This property was added in __vSphere API 9.1.1.0__. + items: + $ref: "#/components/schemas/Vapi.Std.LocalizableMessage" + description: |- + The Vcenter.Namespaces.Networks.Nsx.SharedSubnets.Summary schema contains the basic information about a Subnet. + + This schema was added in __vSphere API 9.1.1.0__. + Vcenter.Namespaces.Networks.Nsx.SharedSubnets.FilterSpec: + required: + - project + - vpc + type: object + properties: + project: + type: string + description: |- + Identifier of NSX Project for a vSphere Namespace. This parameter is used to list subnets. + + This property was added in __vSphere API 9.1.1.0__. + + When clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `NSXProject`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `NSXProject`. + vpc: + type: string + description: |- + Identifier of VPC for a vSphere Namespace. This parameter is used to list subnets. + + This property was added in __vSphere API 9.1.1.0__. + + When clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.networks.nsx.Vpc`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.networks.nsx.Vpc`. + namespace_project: + type: string + description: |- + Identifier of the NSX Project for a vSphere Namespace. This parameter is used to check shared subnet compatibility. + + This property was added in __vSphere API 9.1.1.0__. + + If missing or `null`, the system will not check if the listed subnet is shared with *Vcenter.Namespaces.Networks.Nsx.SharedSubnets.FilterSpec.namespace_project* + + When clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `NSXProject`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `NSXProject`. + namespace_vpc: + type: string + description: |- + Identifier of VPC for a vSphere Namespace. This parameter is used to check shared subnet compatibility. + + This property was added in __vSphere API 9.1.1.0__. + + If missing or `null`, the system will not check if the listed subnet is shared with *Vcenter.Namespaces.Networks.Nsx.SharedSubnets.FilterSpec.namespace_project* + + When clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.networks.nsx.Vpc`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.networks.nsx.Vpc`. + supervisor: + type: string + description: |- + Identifier for the Supervisor. + + This property was added in __vSphere API 9.1.1.0__. + + If missing or `null`, *Vcenter.Namespaces.Networks.Nsx.SharedSubnets.FilterSpec.zones* needs to be set. + + When clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`. + compatible: + type: boolean + description: |- + Compatibility criteria. If true, either *Vcenter.Namespaces.Networks.Nsx.SharedSubnets.FilterSpec.zones* or *Vcenter.Namespaces.Networks.Nsx.SharedSubnets.FilterSpec.supervisor* need to be set. Only Subnets which are compatible with that vSphere Namespace will be returned. If false only incompatible Subnets matching the other specified criteria will be returned. + + This property was added in __vSphere API 9.1.1.0__. + + If missing or `null`, both compatible and incompatible Subnets will be returned. + description: |- + The Vcenter.Namespaces.Networks.Nsx.SharedSubnets.FilterSpec schema contains properties used to filter the results when listing Subnets (see *GET /vcenter/namespaces/networks/nsx/shared-subnets*). + + This schema was added in __vSphere API 9.1.1.0__. + Vcenter.Namespaces.Networks.Nsx.SharedSubnets.ListResult: + required: + - subnets + type: object + properties: + subnets: + type: array + description: |- + List of the current page of Subnets. + + This property was added in __vSphere API 9.1.1.0__. + items: + $ref: "#/components/schemas/Vcenter.Namespaces.Networks.Nsx.SharedSubnets.Summary" + description: |- + The Vcenter.Namespaces.Networks.Nsx.SharedSubnets.ListResult schema represents the result of the *GET /vcenter/namespaces/networks/nsx/shared-subnets* operation. + + This schema was added in __vSphere API 9.1.1.0__. Vcenter.Namespaces.Networks.Nsx.Subnets.Entity: type: string description: |- @@ -184386,1193 +184500,6 @@ components: The Vcenter.VmTemplate.LibraryItems.Versions.RollbackSpec schema defines the information required to rollback a virtual machine template library item to a previous version. This schema was added in __vSphere API 6.9.1__. - Vstats.QueryPredicate: - type: string - description: |- - The Vstats.QueryPredicate enum describes how to query an id present in a Vstats.RsrcId. - - Possible values: - - `EQUAL`: Matching id-s by equality. - - `ALL`: Matching all available id-s. - - - __Warning:__ this enumeration is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - enum: - - EQUAL - - ALL - Vstats.CidMid: - required: - - cid - type: object - properties: - cid: - type: string - description: |- - Counter Id. CID is a string with rather strong semantic consistency across deployments and versions. If two CIDs are identical it implies the corresponding counters are the same. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - When clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vstats.model.Counter`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vstats.model.Counter`. - mid: - type: string - description: |- - MID is a 64-bit integer with strong consistency. Given a particular CID=cid, if two MIDs are the same, then the corresponding counter-metadata objects are same. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - When this property is missing or `null` vStats will use default for the counter metadata as obtained from the provider. - - When clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vstats.model.CounterMetadata`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vstats.model.CounterMetadata`. - description: |- - The Vstats.CidMid schema is used to designate a counter. It contains a counter id that identifies the semantical counter. There is optional metadata identifier that identifies the particular generation of the counter. When counter metadata is not designated vStats will use a default for the counter metadata. - - __Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - Vstats.RsrcId: - required: - - id_value - type: object - properties: - key: - type: string - description: |- - Key relates to the corresponding ResourceIdDefinition of the related resource address schema. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - When this property is missing or `null`, type property will be used. - type: - type: string - description: |- - Type of the resource identified by the Resource Id. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - When this property is missing or `null`, in current version the api will throw InvalidArgument error. To be made optional in future. - id_value: - type: string - description: |- - The id value binding the related resource id definition. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - predicate: - type: string - description: |- - Predicate to use to match resource Ids. - - Possible values: - - `EQUAL`: Matching id-s by equality. - - `ALL`: Matching all available id-s. - - - For more information see: *Vstats.QueryPredicate*. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - When this property is missing or `null`, default predicate is EQUAL. - scheme: - type: string - description: |- - An optional designation of the scheme. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - When this property is missing or `null`, default scheme is moid (ManagedObject Identifier). - description: |- - The Vstats.RsrcId schema specifies identification of a resource to be monitored by an acquisition specification record. - - __Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - Vstats.UserInfo: - required: - - description - - label - type: object - properties: - label: - description: |- - Short label. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - allOf: - - $ref: "#/components/schemas/Vapi.Std.LocalizableMessage" - description: - description: |- - Detailed description of the object. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - allOf: - - $ref: "#/components/schemas/Vapi.Std.LocalizableMessage" - description: |- - The Vstats.UserInfo schema contains human legible, localizable description, used for VMware provided objects. - - __Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - Vstats.AcqSpecs.Status: - type: string - description: |- - Describes the status of an Acquisition Specification. - - Possible values: - - `ENABLED`: The acquisition specification is enabled when the stats data collection is going on. - - `DISABLED`: The acquisition specification is disabled when the stats data collection is paused. This can happen when the counters are enabled or disabled dynamically on providers. - - `EXPIRED`: The acquisition specification is expired when the expiration time is exceeded. There is no data collection in that case. - - - __Warning:__ this enumeration is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - enum: - - ENABLED - - DISABLED - - EXPIRED - Vstats.AcqSpecs.CounterSpec: - type: object - properties: - cid_mid: - description: |- - Counter and optional meatadata identifier. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - When missing or `null` the set_id field will be used. - allOf: - - $ref: "#/components/schemas/Vstats.CidMid" - set_id: - type: string - description: |- - Counter set identifier - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - When missing or `null` the cid_mid field will be used. - - When clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vstats.model.CounterSet`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vstats.model.CounterSet`. - description: |- - The Vstats.AcqSpecs.CounterSpec schema designates a counter or counter set in an acquisition specification. - - __Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - Vstats.AcqSpecs.CreateSpec: - required: - - counters - - resources - type: object - properties: - counters: - description: |- - Designates the counter(s) to be sampled. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - allOf: - - $ref: "#/components/schemas/Vstats.AcqSpecs.CounterSpec" - resources: - type: array - description: |- - A set of resource identifiers representing a single resource to be monitored. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - items: - $ref: "#/components/schemas/Vstats.RsrcId" - interval: - type: integer - description: |- - Desired sampling rate in seconds. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - If missing or `null` default of 10s will be used. - format: int64 - expiration: - type: integer - description: |- - Expiration time for this acquisition specification in Unix UTC number of seconds (since epoch). - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - When this property is missing or `null` or 0, default expiration duration is 100 minutes. - format: int64 - memo_: - type: string - description: |- - Consumer provided text about this acquisition specification. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - If missing or `null` default empty string will be used. - description: |- - The Vstats.AcqSpecs.CreateSpec schema contains information for a new data acquisition specification. - - __Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - Vstats.AcqSpecs.Info: - required: - - counters - - id - - memo_ - - resources - - status - type: object - properties: - id: - type: string - description: |- - Acquisition specification identifier. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - When clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vstats.model.AcqSpec`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vstats.model.AcqSpec`. - counters: - description: |- - Designates the counter(s) to be sampled. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - allOf: - - $ref: "#/components/schemas/Vstats.AcqSpecs.CounterSpec" - resources: - type: array - description: |- - A set of resource identifiers representing a single resource to be monitored. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - items: - $ref: "#/components/schemas/Vstats.RsrcId" - interval: - type: integer - description: |- - Desired sampling rate in seconds. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - When this property is missing or `null`, default interval is 10 seconds. - format: int64 - expiration: - type: integer - description: |- - Expiration time for this acquisition specification represented as Unix UTC number of seconds (since epoch). - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - When this property is missing or `null` or 0, default expiration duration is 100 minutes. - format: int64 - memo_: - type: string - description: |- - Consumer provided text about this Acquisition Specification. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - status: - type: string - description: |- - Acquisition Specification status. - - Possible values: - - `ENABLED`: The acquisition specification is enabled when the stats data collection is going on. - - `DISABLED`: The acquisition specification is disabled when the stats data collection is paused. This can happen when the counters are enabled or disabled dynamically on providers. - - `EXPIRED`: The acquisition specification is expired when the expiration time is exceeded. There is no data collection in that case. - - - For more information see: *Vstats.AcqSpecs.Status*. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - description: |- - The Vstats.AcqSpecs.Info schema is the information about an acquisition specification. It specifies the statistical data that should be collected at desired sampling rates. It designates the resources and their counters which should be sampled, and a desired sampling rate. - - __Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - Vstats.AcqSpecs.ListResult: - required: - - acq_specs - type: object - properties: - acq_specs: - type: array - description: |- - List of acquisition specifications received. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - items: - $ref: "#/components/schemas/Vstats.AcqSpecs.Info" - next: - type: string - description: |- - The next property is a token used to retrieve paged data for larger result sets. This is opaque token generated by the server. It is to be sent in the *Vstats.AcqSpecs.FilterSpec.page* property to issue a subsequent call to the list operation for retrieving results that did not fit the current page. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - set when there are more results to retrieve. - description: |- - The Vstats.AcqSpecs.ListResult schema contains properties used to return the acquisition specifications. - - __Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - Vstats.AcqSpecs.FilterSpec: - type: object - properties: - page: - type: string - description: |- - Used to retrieve paged data for larger result sets. The value of this token is generated by server and returned as `next` property in the result of list operations. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - missing or `null` the first page of results will be returned. - description: |- - The Vstats.AcqSpecs.FilterSpec schema contains properties used to filter the results when listing acquisition specifications. - - __Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - Vstats.AcqSpecs.UpdateSpec: - type: object - properties: - counters: - description: |- - Designates the counter(s) to be sampled. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - If missing or `null`, the value is unchanged. - allOf: - - $ref: "#/components/schemas/Vstats.AcqSpecs.CounterSpec" - resources: - type: array - description: |- - A set of resource identifiers representing a single resource to be monitored. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - If missing or `null`, the value is unchanged. - items: - $ref: "#/components/schemas/Vstats.RsrcId" - interval: - type: integer - description: |- - Desired sampling rate in seconds. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - If missing or `null`, the value is unchanged. - format: int64 - expiration: - type: integer - description: |- - Expiration time for this acquisition specification in Unix UTC number of seconds (since epoch). When this property is 0, the default expiration duration is 100 minutes. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - If missing or `null`, the value is unchanged. - format: int64 - memo_: - type: string - description: |- - Consumer provided text about this Acquisition Specification. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - If missing or `null`, the value is unchanged. - description: |- - The Vstats.AcqSpecs.UpdateSpec schema contains properties that can be updated in an acquisition specification. - - __Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - Vstats.CounterMetadata.CounterEditionStatus: - type: string - description: |- - Counter metadata status. - - Possible values: - - `DEFAULT`: The counter edition is current and is the default. - - `CURRENT`: The counter edition is current. This implies a support commitment. - - `DEPRECATED`: The counter edition is deprecated. It will be decommissioned rather soon. - - `EXPERIMENTAL`: The counter edition is experimental. Consumers shouldn't rely on it for the long haul. - - `REMOVED`: The counter edition was removed. - - - __Warning:__ this enumeration is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - enum: - - DEFAULT - - CURRENT - - DEPRECATED - - EXPERIMENTAL - - REMOVED - Vstats.CounterMetadata.SampleType: - type: string - description: |- - Type of the sampled data. - - Possible values: - - `RAW`: Raw samples. The value unprocessed as-is sampled. - - `ABSOLUTE`: Absolute value samples. Represents an actual value of the counter. - - `FRACTION`: Fraction samples. Implies range from 0.00 to 1.00. - - `RATE`: Rate samples. Represents a value that has been normalized over the time period. - - `DELTA`: Delta samples. Represents an amount of change for the counter between the current time-stamp and the last time-stamp when the counter was sampled. - - `LOGN`: Log(n) samples. A natural logarithm of the value. - - - __Warning:__ this enumeration is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - enum: - - RAW - - ABSOLUTE - - FRACTION - - RATE - - DELTA - - LOGN - Vstats.CounterMetadata.MetricUnits: - type: string - description: |- - Unit used by a metric. - - Possible values: - - `PERCENT`: Percent - - `NUMBER`: Number - - `SECOND`: Second - - `HERTZ`: Hertz - - `METER`: Meter - - `METERSPERSECOND`: Meters per second - - `METERSPERSECONDSQUARED`: Meters per second squared - - `BYTE`: Byte - - `BIT`: Bit - - `BYTESPERSECOND`: Bytes per second - - `BITSPERSECOND`: Bits per second - - `KILOGRAM`: Kilogram - - `GRAM`: Gram - - `CELSIUS`: Celsius - - `KELVIN`: Kelvin - - `JOULE`: Joule - - `WATT`: Watt - - `VOLT`: Volt - - `AMPERE`: Ampere - - `VOLTAMPERE`: Volt Ampere - - `CANDELA`: Candela - - `MOLE`: Mole - - - __Warning:__ this enumeration is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - enum: - - PERCENT - - NUMBER - - SECOND - - HERTZ - - METER - - METERSPERSECOND - - METERSPERSECONDSQUARED - - BYTE - - BIT - - BYTESPERSECOND - - BITSPERSECOND - - KILOGRAM - - GRAM - - CELSIUS - - KELVIN - - JOULE - - WATT - - VOLT - - AMPERE - - VOLTAMPERE - - CANDELA - - MOLE - Vstats.CounterMetadata.UnitsFactor: - type: string - description: |- - Unit factor of measurement. - - Possible values: - - `YOTTA`: Yotta 10^24 - - `ZETTA`: Zetta 10^21 - - `EXA`: Exa 10^18 - - `PETA`: Peta 10^15 - - `TERA`: Tera 10^12 - - `GIGA`: Giga 10^9 - - `MEGA`: Mega 10^6 - - `KILO`: Kilo 10^3 - - `HECTO`: Hecto 10^2 - - `DECA`: Deca 10 - - `ONE`: One - - `DECI`: Deci 10^-1 - - `CENTI`: Centi 10^-2 - - `MILLI`: Milli 10^-3 - - `MICRO`: Micro 10^-6 - - `NANO`: Nano 10^-9 - - `PIKO`: Pico 10^-12 - - `FEMTO`: Femto 10^-15 - - `ATTO`: Atto 10^-18 - - `ZEPTO`: Zepto 10^-21 - - `YOCTO`: Yocto 10^-24 - - `YOBI`: Yobi 2^80, 1024^8 - - `ZEBI`: Zebi 2^70, 1024^7 - - `EXBI`: Exbi 2^60, 1024^6 - - `PEBI`: Pebi 2^50, 1024^5 - - `TEBI`: Tebi 2^40, 1024^4 - - `GIBI`: Gibi 2^30, 1024^3 - - `MEBI`: Mebi 2^20, 1024^2 - - `KIBI`: Kibi 2^10, 1024 - - - __Warning:__ this enumeration is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - enum: - - YOTTA - - ZETTA - - EXA - - PETA - - TERA - - GIGA - - MEGA - - KILO - - HECTO - - DECA - - ONE - - DECI - - CENTI - - MILLI - - MICRO - - NANO - - PIKO - - FEMTO - - ATTO - - ZEPTO - - YOCTO - - YOBI - - ZEBI - - EXBI - - PEBI - - TEBI - - GIBI - - MEBI - - KIBI - Vstats.CounterMetadata.Info: - required: - - cid - - mid - - status - - type - - units - type: object - properties: - cid: - type: string - description: |- - Counter Id. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - When clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vstats.model.Counter`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vstats.model.Counter`. - mid: - type: string - description: |- - Metadata Id. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - When clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vstats.model.CounterMetadata`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vstats.model.CounterMetadata`. - status: - type: string - description: |- - Counter Edition status. - - Possible values: - - `DEFAULT`: The counter edition is current and is the default. - - `CURRENT`: The counter edition is current. This implies a support commitment. - - `DEPRECATED`: The counter edition is deprecated. It will be decommissioned rather soon. - - `EXPERIMENTAL`: The counter edition is experimental. Consumers shouldn't rely on it for the long haul. - - `REMOVED`: The counter edition was removed. - - - For more information see: *Vstats.CounterMetadata.CounterEditionStatus*. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - type: - type: string - description: |- - Numeric properties of the sampled data. - - Possible values: - - `RAW`: Raw samples. The value unprocessed as-is sampled. - - `ABSOLUTE`: Absolute value samples. Represents an actual value of the counter. - - `FRACTION`: Fraction samples. Implies range from 0.00 to 1.00. - - `RATE`: Rate samples. Represents a value that has been normalized over the time period. - - `DELTA`: Delta samples. Represents an amount of change for the counter between the current time-stamp and the last time-stamp when the counter was sampled. - - `LOGN`: Log(n) samples. A natural logarithm of the value. - - - For more information see: *Vstats.CounterMetadata.SampleType*. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - units: - type: string - description: |- - The units of the measurement. - - Possible values: - - `PERCENT`: Percent - - `NUMBER`: Number - - `SECOND`: Second - - `HERTZ`: Hertz - - `METER`: Meter - - `METERSPERSECOND`: Meters per second - - `METERSPERSECONDSQUARED`: Meters per second squared - - `BYTE`: Byte - - `BIT`: Bit - - `BYTESPERSECOND`: Bytes per second - - `BITSPERSECOND`: Bits per second - - `KILOGRAM`: Kilogram - - `GRAM`: Gram - - `CELSIUS`: Celsius - - `KELVIN`: Kelvin - - `JOULE`: Joule - - `WATT`: Watt - - `VOLT`: Volt - - `AMPERE`: Ampere - - `VOLTAMPERE`: Volt Ampere - - `CANDELA`: Candela - - `MOLE`: Mole - - - For more information see: *Vstats.CounterMetadata.MetricUnits*. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - scale: - type: string - description: |- - Additional multiplier factors to be used with units. - - Possible values: - - `YOTTA`: Yotta 10^24 - - `ZETTA`: Zetta 10^21 - - `EXA`: Exa 10^18 - - `PETA`: Peta 10^15 - - `TERA`: Tera 10^12 - - `GIGA`: Giga 10^9 - - `MEGA`: Mega 10^6 - - `KILO`: Kilo 10^3 - - `HECTO`: Hecto 10^2 - - `DECA`: Deca 10 - - `ONE`: One - - `DECI`: Deci 10^-1 - - `CENTI`: Centi 10^-2 - - `MILLI`: Milli 10^-3 - - `MICRO`: Micro 10^-6 - - `NANO`: Nano 10^-9 - - `PIKO`: Pico 10^-12 - - `FEMTO`: Femto 10^-15 - - `ATTO`: Atto 10^-18 - - `ZEPTO`: Zepto 10^-21 - - `YOCTO`: Yocto 10^-24 - - `YOBI`: Yobi 2^80, 1024^8 - - `ZEBI`: Zebi 2^70, 1024^7 - - `EXBI`: Exbi 2^60, 1024^6 - - `PEBI`: Pebi 2^50, 1024^5 - - `TEBI`: Tebi 2^40, 1024^4 - - `GIBI`: Gibi 2^30, 1024^3 - - `MEBI`: Mebi 2^20, 1024^2 - - `KIBI`: Kibi 2^10, 1024 - - - For more information see: *Vstats.CounterMetadata.UnitsFactor*. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - When missing or `null` default of ONE is used. - user_info: - description: |- - Human legible localizable text about the counter. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - This property is missing or `null` in the current version. - allOf: - - $ref: "#/components/schemas/Vstats.UserInfo" - pid: - type: string - description: |- - ID of the respective provider. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - This property is missing or `null` in the current version. - - When clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vstats.model.Provider`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vstats.model.Provider`. - description: |- - The Vstats.CounterMetadata.Info schema contains information about CounterMetadata. It represents edition of the Counter. - - __Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - Vstats.CounterMetadata.FilterSpec: - type: object - properties: - status: - type: string - description: |- - Counter edition status. - - Possible values: - - `DEFAULT`: The counter edition is current and is the default. - - `CURRENT`: The counter edition is current. This implies a support commitment. - - `DEPRECATED`: The counter edition is deprecated. It will be decommissioned rather soon. - - `EXPERIMENTAL`: The counter edition is experimental. Consumers shouldn't rely on it for the long haul. - - `REMOVED`: The counter edition was removed. - - - For more information see: *Vstats.CounterMetadata.CounterEditionStatus*. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - When missing or `null` no filtering on counter metadata status will be made. - description: |- - The Vstats.CounterMetadata.FilterSpec schema is used to filter the counter metadata list. - - __Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - Vstats.CounterSets.Info: - required: - - counters - - id - type: object - properties: - id: - type: string - description: |- - Counter set identifier. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - counters: - type: array - description: |- - List of Counter CidMids. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - items: - $ref: "#/components/schemas/Vstats.CidMid" - user_info: - description: |- - Human legible localizable conter set description. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - In future versions it may be possible to have custom counter sets that lack localizable descriptions. - allOf: - - $ref: "#/components/schemas/Vstats.UserInfo" - description: |- - The Vstats.CounterSets.Info schema contains information about a set of counters. - - __Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - Vstats.Counters.Info: - required: - - cid - - metric - - resource_address_schema - type: object - properties: - cid: - type: string - description: |- - Counter Id. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - When clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vstats.model.Counter`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vstats.model.Counter`. - metric: - type: string - description: |- - A metric is typically human-legible ASCII/English name of a measurable aspect, for example "length" and "temperature". It is not internationalizable. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - When clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vstats.model.Metric`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vstats.model.Metric`. - resource_address_schema: - type: string - description: |- - Describes formally how to address (or identify) the resources the counter could be bound to (or instantiated for). - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - When clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vstats.model.RsrcAddrSchema`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vstats.model.RsrcAddrSchema`. - description: |- - The Vstats.Counters.Info schema contains the counter information. Counter is derived from metric. It applies the metric to a particular class of a resource. - - __Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - Vstats.Counters.FilterSpec: - type: object - properties: - cid: - type: string - description: |- - Counter identifier that will be listed. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - If missing or `null` counter filter will not be applied. - - When clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vstats.model.Counter`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vstats.model.Counter`. - metric: - type: string - description: |- - Metric for which counters will be listed. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - If missing or `null` metric filter will not be applied. - - When clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vstats.model.Metric`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vstats.model.Metric`. - description: |- - The Vstats.Counters.FilterSpec schema contains fields that can be used to filter list of counters. - - __Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - Vstats.Data.DataPoint: - required: - - cid - - mid - - rid - - ts - - val - type: object - properties: - cid: - type: string - description: |- - Counter Id. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - When clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vstats.model.Counter`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vstats.model.Counter`. - mid: - type: string - description: |- - CounterMetadata Id. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - When clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vstats.model.CounterMetadata`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vstats.model.CounterMetadata`. - rid: - type: string - description: |- - Resource Id. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - ts: - type: integer - description: |- - Timestamp for the data point. format: 64-bit integer - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - format: int64 - val: - type: number - description: |- - Stat value. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - format: double - description: |- - The Vstats.Data.DataPoint schema is an instance of a measurement or stat. A data point is comprised of a Counter, CounterMetadata, Resource, timestamp and value. - - __Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - Vstats.Data.FilterSpec: - type: object - properties: - start: - type: integer - description: |- - Start of a time window (included), timestamp in seconds UTC. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - When missing or `null` the result will not be limited by start time. - format: int64 - end: - type: integer - description: |- - End of a time window (excluded), timestamp in seconds UTC. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - When missing or `null` the result will not be limited by end time. - format: int64 - cid: - type: string - description: |- - Counter ID. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - When missing or `null` the result will not be filtered by counter. - - When clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vstats.model.Counter`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vstats.model.Counter`. - metric: - type: string - description: |- - Metric name. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - When missing or `null` the result will not be filtered by metric name. - - When clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vstats.model.Metric`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vstats.model.Metric`. - order: - type: string - description: |- - Directs the server to order the returned data. Passing a value of `DEFAULT` will apply default ordering of the results that makes them easier for consumption. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - When this parameter is missing or `null` the server will not order the result, save computational time and therefore the API will operate faster. - page: - type: string - description: |- - Used to retrieve paged data for larger result sets. The value of this token is generated by server and returned as `next` property in the result of query_data_points operations. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - When missing or `null` the first page of results will be returned. - description: |- - The Vstats.Data.FilterSpec schema contains properties used to filter the results when listing DataPoint. - - __Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - Vstats.Data.DataPointsResult: - required: - - data_points - type: object - properties: - data_points: - type: array - description: |- - List of DataPoints received. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - items: - $ref: "#/components/schemas/Vstats.Data.DataPoint" - next: - type: string - description: |- - The next property is a token used to retrieve paged data for larger result sets. This is opaque token generated by the server. It is to be sent in the *Vstats.Data.FilterSpec.page* property to issue a subsequent call to the query operation for retrieving results that did not fit the current page. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - set when there are more results to retrieve. - description: |- - The Vstats.Data.DataPointsResult schema contains properties used to return DataPoints. - - __Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - Vstats.Metrics.Summary: - required: - - metric - type: object - properties: - metric: - type: string - description: |- - Metric name. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - When clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vstats.model.Metric`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vstats.model.Metric`. - description: |- - The Vstats.Metrics.Summary schema contains metric summary. - - __Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - Vstats.Providers.Summary: - required: - - id - - id_value - - type - type: object - properties: - id: - type: string - description: |- - Provider identifier. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - When clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vstats.model.Provider`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vstats.model.Provider`. - id_value: - type: string - description: |- - The ID given to the provider by its respective inventory. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - type: - type: string - description: |- - Provider type. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - scheme: - type: string - description: |- - An optional designation of the scheme. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - When missing or `null` the provider is not designating a specific scheme. - metadata: - type: string - description: |- - Schema-less metadata with extra information for the provider. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - As supplied by the provider. - tracking_sn: - type: integer - description: |- - Timestamp which is obtained when querying counters from a provider and is used as since parameter when new counter listing is needed. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - {term unset} if no timestamp has been obtained yet. - format: int64 - description: |- - Vstats.Providers.Summary schema describes a statistical data provider. - - __Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - Vstats.ResourceAddressSchemas.QueryCapabilities: - type: string - description: |- - Declares which predicates are supported by the Vstats.ResourceAddressSchemas.ResourceIdDefinition. - - Possible values: - - `EQUAL`: Equal. - - `EQUAL_ALL`: Supports both Equality and Aggregation. - - - __Warning:__ this enumeration is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - enum: - - EQUAL - - EQUAL_ALL - Vstats.ResourceAddressSchemas.ResourceIdDefinition: - required: - - key - - query_options - - type - type: object - properties: - key: - type: string - description: |- - Designates a semantic key for the resource identifier. This could be "vm" for virtual machine whose CPU usage is metered or "source" to identify the virtual machine that is origin of measured network traffic. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - type: - type: string - description: |- - Type of the resource. This represents various entities for which statistical data is gathered such as virtual machines, containers, servers, disks etc. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - When clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vstats.model.RsrcType`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vstats.model.RsrcType`. - query_options: - type: string - description: |- - Designates the supported query-options. - - Possible values: - - `EQUAL`: Equal. - - `EQUAL_ALL`: Supports both Equality and Aggregation. - - - For more information see: *Vstats.ResourceAddressSchemas.QueryCapabilities*. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - description: |- - The Vstats.ResourceAddressSchemas.ResourceIdDefinition schema describes a single identifier of the Resource Addressing Schema. - - __Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - Vstats.ResourceAddressSchemas.Info: - required: - - id - - schema - type: object - properties: - id: - type: string - description: |- - Identifier. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - When clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vstats.model.RsrcAddrSchema`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vstats.model.RsrcAddrSchema`. - schema: - type: array - description: |- - List of *Vstats.ResourceAddressSchemas.ResourceIdDefinition*s. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - items: - $ref: "#/components/schemas/Vstats.ResourceAddressSchemas.ResourceIdDefinition" - description: |- - The Vstats.ResourceAddressSchemas.Info schema defines addressing schema for a counter. This is set of named placeholders for different resource types. For example a network link between VMs will take two arguments "source" and "destination" both of type VM. For each argument query capability is defined. - - __Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - Vstats.ResourceAddresses.Info: - required: - - id - - resource_ids - type: object - properties: - id: - type: string - description: |- - Identifier. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - When clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vstats.model.RsrcAddr`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vstats.model.RsrcAddr`. - resource_ids: - type: array - description: |- - List of Resource Identifiers. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - items: - $ref: "#/components/schemas/Vstats.RsrcId" - description: |- - The Vstats.ResourceAddresses.Info schema contains global address of a specific Resource. - - __Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - Vstats.ResourceAddresses.ListResult: - required: - - rsrc_addrs - type: object - properties: - rsrc_addrs: - type: array - description: |- - List of Resource Addresses received. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - items: - $ref: "#/components/schemas/Vstats.ResourceAddresses.Info" - next: - type: string - description: |- - Used to retrieve paged data for larger result sets. Token is generated by server. The value of this field should be supplied in a subsequent call to *GET /stats/rsrc-addrs* operation. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - missing or `null` when there are no more pages of data to be retrieved. - description: |- - The *Vstats.ResourceAddresses.ListResult* schema contains properties used to return the resource addresses. - - __Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - Vstats.ResourceAddresses.FilterSpec: - type: object - properties: - page: - type: string - description: |- - The page field is used to retrieve paged data for large result sets. It is an opaque paging token obtained from a prior call to the *GET /stats/rsrc-addrs* API. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - when set a follow up page in a paged result set will be delivered. - description: |- - Vstats.ResourceAddresses.FilterSpec schema describes filter criteria for resource addresses. - - __Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - Vstats.ResourceTypes.Summary: - required: - - type - type: object - properties: - type: - type: string - description: |- - Resource type. - - __Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. - - When clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vstats.model.RsrcType`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vstats.model.RsrcType`. - description: |- - The Vstats.ResourceTypes.Summary schema contains information of addressable resource. - - __Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments. securitySchemes: basic_auth: type: http diff --git a/specifications/vsphere/openapi/vi-json/vi-json.yaml b/specifications/vsphere/openapi/vi-json/vi-json.yaml index 71f0668..25801e2 100644 --- a/specifications/vsphere/openapi/vi-json/vi-json.yaml +++ b/specifications/vsphere/openapi/vi-json/vi-json.yaml @@ -1,7 +1,7 @@ openapi: 3.0.0 info: title: 'Virtual Infrastructure JSON API' - version: 9.1.0.0 + version: 9.1.1.0 servers: - url: https://{vcenter-host}/sdk/vim25/{release} @@ -9,9 +9,10 @@ servers: vcenter-host: default: localhost release: - default: 9.1.0.0 - description: The vSphere release schema. The current specification covers vSphere 9.1.0.0 APIs. + default: 9.1.1.0 + description: The vSphere release schema. The current specification covers vSphere 9.1.1.0 APIs. enum: + - 9.1.1.0 - 9.1.0.0 - 9.0.0.0 - 8.0.3.1 @@ -15392,6 +15393,18 @@ paths: This task can either be one returned from a vSphere API operation or an extension task created by calling *TaskManager.CreateTask*. + **Audit-record posting** requires the additional + Global.SetAuditId privilege. A caller is treated as + posting an audit record (and the additional privilege is enforced) + when either of the following is true: + - *Event.auditId* is supplied on the event. + - The event type is registered in the server's audit-id mapping + (see *EventManager#auditMappings*); for these types the + server populates *Event.auditId* automatically. + + Callers that hold only Global.LogEvent may continue to + post non-audit events without an explicit auditId. + ***Required privileges:*** Global.LogEvent parameters: - $ref: '#/components/parameters/moId' @@ -15414,6 +15427,10 @@ paths: *EntityEventArgument* fields - an invalid severity value is passed in an *EventEx*. + ***NoPermission***: if the caller supplies an explicit + *Event.auditId* or posts an audit-mapped event type without + holding Global.SetAuditId on the root folder. + ***InvalidEvent***: no longer thrown by this API content: application/json: @@ -15791,6 +15808,10 @@ paths: This method will unset any public key or subject name associated with the extension. + To clear (unset) the certificate and thumbprint stored for the + extension, pass the reserved string "UNSET" + (case-insensitive) as the "certificatePem" argument. + ***Required privileges:*** Extension.Update parameters: - $ref: '#/components/parameters/moId' @@ -37857,6 +37878,8 @@ paths: Requires Datastore.FileManagement privilege. ***Since:*** vSphere API Release 9.0.0.0 + + ***Required privileges:*** System.View parameters: - $ref: '#/components/parameters/moId' security: @@ -38092,6 +38115,8 @@ paths: \- A thin-provisioned disk will always be extended as a thin-provisioned disk. + Requires Datastore.FileManagement privilege. + ***Since:*** vSphere API Release 8.0.2.0 ***Required privileges:*** System.View @@ -38465,6 +38490,8 @@ paths: description: |2 Rename a virtual storage object. + Requires Datastore.FileManagement privilege. + ***Since:*** vSphere API Release 8.0.2.0 ***Required privileges:*** System.View @@ -39022,6 +39049,8 @@ paths: description: |2 Convert FCD disk to legacy disk. + Requires Datastore.FileManagement privilege. + ***Since:*** vSphere API Release 9.1.0.0 parameters: - $ref: '#/components/parameters/moId' @@ -47286,7 +47315,7 @@ paths: Modifies VirtualCenter Server's built-in *historical intervals*, within certain limits. **Supported Modifications** - +
      @@ -56470,6 +56499,8 @@ paths: Requires Datastore.FileManagement privilege. ***Since:*** vSphere API Release 9.0.0.0 + + ***Required privileges:*** System.View parameters: - $ref: '#/components/parameters/moId' security: @@ -56529,6 +56560,8 @@ paths: \- A thin-provisioned disk will always be extended as a thin-provisioned disk. + Requires Datastore.FileManagement privilege. + ***Since:*** vSphere API Release 8.0.2.0 ***Required privileges:*** System.View @@ -56581,6 +56614,8 @@ paths: description: |2 Rename a virtual storage object. + Requires Datastore.FileManagement privilege. + ***Since:*** vSphere API Release 8.0.2.0 ***Required privileges:*** System.View @@ -56736,6 +56771,8 @@ paths: description: |2 Convert FCD disk to legacy disk. + Requires Datastore.FileManagement privilege. + ***Since:*** vSphere API Release 9.1.0.0 parameters: - $ref: '#/components/parameters/moId' @@ -57252,6 +57289,8 @@ paths: Requires Datastore.FileManagement privilege. ***Since:*** vSphere API Release 9.0.0.0 + + ***Required privileges:*** System.View parameters: - $ref: '#/components/parameters/moId' security: @@ -57521,6 +57560,8 @@ paths: \- A thin-provisioned disk will always be extended as a thin-provisioned disk. + Requires Datastore.FileManagement privilege. + ***Since:*** vSphere API Release 8.0.2.0 ***Required privileges:*** System.View @@ -58104,6 +58145,8 @@ paths: description: |2 Rename a virtual storage object. + Requires Datastore.FileManagement privilege. + ***Since:*** vSphere API Release 8.0.2.0 ***Required privileges:*** System.View @@ -58198,6 +58241,8 @@ paths: description: |2 Retrieves snapshot disk details of a given snapshot. + Requires Datastore.FileManagement privilege. + ***Required privileges:*** System.View parameters: - $ref: '#/components/parameters/moId' @@ -58663,6 +58708,8 @@ paths: description: |2 Convert FCD disk to legacy disk. + Requires Datastore.FileManagement privilege. + ***Since:*** vSphere API Release 9.1.0.0 parameters: - $ref: '#/components/parameters/moId' @@ -65495,13 +65542,14 @@ paths: - VirtualMachine.Interact.DeviceConnection if changing the runtime connection state of a device as embodied by the Connectable property. - VirtualMachine.Interact.SetCDMedia if changing the backing of a CD-ROM - device + device, or configuring a USB CD-ROM device via extraConfig - VirtualMachine.Interact.SetFloppyMedia if changing the backing of a floppy device - VirtualMachine.Config.Rename if renaming the virtual machine - VirtualMachine.Config.Annotation if setting annotation a value - VirtualMachine.Config.AddExistingDisk if adding a virtual disk device - that is backed by an existing virtual disk file + that is backed by an existing virtual disk file, or configuring a + USB disk device via extraConfig - VirtualMachine.Config.AddNewDisk if adding a virtual disk device for which the backing virtual disk file is to be created - VirtualMachine.Config.RemoveDisk if removing a virtual disk device that @@ -65511,7 +65559,8 @@ paths: - VirtualMachine.Config.RawDevice if adding, removing or editing a raw device mapping (RDM) or SCSI passthrough device - VirtualMachine.Config.AddRemoveDevice if adding or removing any - device other than disk, raw, or USB device + device other than disk, raw, or USB device, or adding or removing + a virtual USB device not backed by a host USB device via extraConfig - VirtualMachine.Config.EditDevice if changing the settings of any device - VirtualMachine.Config.Settings if changing any basic settings such as @@ -65520,6 +65569,10 @@ paths: affinities, or setting network traffic shaping or virtual disk shares - VirtualMachine.Config.AdvancedConfig if changing values in extraConfig + - VirtualMachine.Interact.PowerOff and VirtualMachine.Inventory.Delete + if adding, modifying, or deleting keys in extraConfig that have + special semantics (for example, EAM-specific extra configuration + keys) - VirtualMachine.Config.SwapPlacement if changing swapPlacement - VirtualMachine.Config.HostUSBDevice if adding, removing or editing a VirtualUSB device backed by the host USB device. @@ -65531,6 +65584,8 @@ paths: limits or the guest auto-lock feature. - VirtualMachine.Config.ManagedBy if changing *managedBy* property of the VM. + - VirtualMachine.Hbr.ConfigureReplication if configuring replication + via *repConfig*. - VirtualMachine.Config.UpgradeVirtualHardware if upgrading the VM's virtual hardware to the latest revision that is supported by the VM's host. - Cryptographer.Encrypt if vm home folder is encrypted or existing @@ -77852,6 +77907,10 @@ paths: the same. If user choose to invoke APIs for cluster setup, please explicitly invoke *ClusterComputeResource.AbandonHciWorkflow* API to opt out the system HCI workflow after the cluster is fully configured. + Note: Since 9.1.1.0, *HostConnectSpec.sslThumbprint* is no longer + accepted in *VsanVcPostDeployConfigSpec.firstHost* or + *VsanVcPostDeployConfigSpec.hostsToAdd*. Callers must use + *HostConnectSpec.sslCertificate* instead. ***Required privileges:*** Host.Inventory.EditCluster parameters: @@ -77878,7 +77937,10 @@ paths: description: |2 ***NotFound***: when specified cluster doesn't exist. - ***VsanFault***: when there are too many tasks running. + ***VsanFault***: when there are too many tasks running, or + when *HostConnectSpec.sslThumbprint* is set in + *VsanVcPostDeployConfigSpec.firstHost* or + *VsanVcPostDeployConfigSpec.hostsToAdd*. content: application/json: schema: @@ -107748,6 +107810,8 @@ components: The datastore where the virtual storage object is located. + ***Required privileges:*** Datastore.FileManagement + Refers instance of *Datastore*. allOf: - $ref: '#/components/schemas/ManagedObjectReference' @@ -108420,6 +108484,8 @@ components: The datastore where the source virtual storage object is located. + ***Required privileges:*** Datastore.FileManagement + Refers instance of *Datastore*. allOf: - $ref: '#/components/schemas/ManagedObjectReference' @@ -108699,6 +108765,8 @@ components: The datastore where the source virtual storage object is located. + ***Required privileges:*** Datastore.FileManagement + Refers instance of *Datastore*. allOf: - $ref: '#/components/schemas/ManagedObjectReference' @@ -109039,6 +109107,9 @@ components: description: |2 PEM encoded certificate. If not specified, the certificate passed over SSL handshake is used. + If set to the reserved string + "UNSET" (case-insensitive), the + stored certificate and thumbprint are cleared. type: string required: - extensionKey @@ -111974,6 +112045,8 @@ components: The datastore where the source virtual storage object is located. + ***Required privileges:*** Datastore.FileManagement + Refers instance of *Datastore*. allOf: - $ref: '#/components/schemas/ManagedObjectReference' @@ -112043,6 +112116,8 @@ components: The datastore where the source virtual storage object is located. + ***Required privileges:*** Datastore.FileManagement + Refers instance of *Datastore*. allOf: - $ref: '#/components/schemas/ManagedObjectReference' @@ -112073,6 +112148,8 @@ components: The datastore where the source virtual storage object is located. + ***Required privileges:*** Datastore.FileManagement + Refers instance of *Datastore*. allOf: - $ref: '#/components/schemas/ManagedObjectReference' @@ -112102,6 +112179,8 @@ components: description: |2 The datastore where the virtual disk is located. + ***Required privileges:*** Datastore.FileManagement + Refers instance of *Datastore*. allOf: - $ref: '#/components/schemas/ManagedObjectReference' @@ -125336,13 +125415,13 @@ components: on the objectType. -
      key samplingPeriod
      +
      - +
      **PbmObjectType****key value**
      virtualMachine_virtual-machine-MOR_
      virtualDiskId _virtual-disk-MOR_:_VirtualDisk.key_
      datastore_datastore-MOR_
      MOR = ManagedObjectReference
      MOR = ManagedObjectReference
      type: string serverUuid: @@ -127921,7 +128000,7 @@ components: These names shouldn't be used as a K8s `StorageClass`'s name associated with any other profiles. Note that, it doesn't indicate that `StorageClass` with following names actually exists, - i.e. it's not a profile-K8s `StorageClass` association data. These are used to keep + i.e. it's not a profile->K8s `StorageClass` association data. These are used to keep track of all the reserved K8s compliant names which can't be used for any other profile and used to avoid any K8s compliant name collision when a profile is being created. It can include the following: @@ -140886,7 +140965,7 @@ components: For ESX systems, a single instance of this data object exists. It cannot be modified. It has these properties: - +
      @@ -140932,7 +141011,7 @@ components: Default properties for the four built-in historical intervals include: -
      key samplingPeriod
      +
      @@ -141607,7 +141686,11 @@ components: entry in *HttpNfcLease.info*. type: string sha1: + deprecated: true description: |2 + Deprecated as of VCF 9.2, use *HttpNfcLeaseManifestEntry.checksum* and *HttpNfcLeaseManifestEntry.checksumType*, + which should have a supported *HttpNfcLeaseManifestEntryChecksumType_enum* value, instead. + SHA-1 checksum of the data stream sent from the server. This can be used @@ -162381,9 +162464,9 @@ components: True if the ping test for network latency using small-sized packets is successful between all connected hosts. The network latency test fails when: - - The ping latency between any two data hosts 5ms or - - The ping latency between a data site and a witness(non-ROBO) 200ms or - - The ping latency between a data site and a witness(ROBO) 500ms + - The ping latency between any two data hosts > 5ms or + - The ping latency between a data site and a witness(non-ROBO) > 200ms or + - The ping latency between a data site and a witness(ROBO) > 500ms type: boolean potentialMulticastIssue: description: |2 @@ -171220,7 +171303,7 @@ components: This class defines Network Filter configuration. ** Supported Qualifier and Actions ** -
      key samplingPeriod
      +
      @@ -171737,7 +171820,7 @@ components: This class defines Traffic Filter configuration. ** Supported Qualifier and Actions ** -
      Network Filter Config Supported classes
      +
      @@ -259029,6 +259112,8 @@ components: Note this may become deprecated in the future releases. We discourage any unnecessary dependency on this field. + + Reconfigure privilege: VirtualMachine.Hbr.ConfigureReplication allOf: - $ref: '#/components/schemas/ReplicationConfigSpec' vAppConfigRemoved: @@ -259160,6 +259245,8 @@ components: description: |2 Whether to allow tunneling of clients from the guest VM into the common message bus on the host network. + + Reconfigure privilege: VirtualMachine.Config.Settings type: boolean crypto: description: |2 @@ -259194,6 +259281,8 @@ components: \- If this property is unset, the mode of encrypted Fault Tolerance will be set to opportunistic. + Reconfigure privilege: VirtualMachine.Config.Settings + ***Since:*** vSphere API Release 7.0.2.0 type: string guestMonitoringModeInfo: @@ -268274,7 +268363,7 @@ components: It is in json or yaml format. The max size of the metadata is 524288 bytes. - See detail information about Instance Metadata. + See detail information about Instance Metadata. type: string userdata: description: |2 @@ -268282,7 +268371,7 @@ components: configure the VM. The max size of the userdata is 524288 bytes. - See detail information about User-Data formats. + See detail information about User-Data formats. type: string required: - metadata @@ -268608,7 +268697,7 @@ components: The GuiRunOnce data object type maps to the GuiRunOnce key in the `sysprep.xml` answer file. These values are transferred into the `sysprep.xml` file that VirtualCenter stores on the target virtual disk. For - more detailed information, see Performing Unattended Installations. + more detailed information, see Performing Unattended Installations. properties: commandList: description: |2 @@ -268643,7 +268732,7 @@ components: These values are plugged directly into the `sysprep.xml` file that VirtualCenter stores on the target virtual disk. For more detailed - information, see Performing Unattended Installations. + information, see Performing Unattended Installations. properties: password: description: |2 @@ -268667,7 +268756,7 @@ components: The time zone index for the virtual machine. Numbers correspond to time zones - listed at Microsoft Time Zone Index Values. + listed at Microsoft Time Zone Index Values. type: integer format: int32 autoLogon: @@ -268839,7 +268928,7 @@ components: The Identification data object type maps to the Identification key in the `sysprep.xml` answer file. These values are transferred into the `sysprep.xml` file that VirtualCenter stores on the target virtual disk. For - more detailed information, see Performing Unattended Installations. + more detailed information, see Performing Unattended Installations. properties: joinWorkgroup: description: |2 @@ -268970,7 +269059,7 @@ components: These values are transferred into the `sysprep.xml` file that VirtualCenter stores on the target virtual disk. For - more detailed information, see Performing Unattended Installations. + more detailed information, see Performing Unattended Installations. LicenseFilePrintData provides licensing information for Windows server operating systems. properties: @@ -269079,14 +269168,14 @@ components: description: |2 The case-sensitive timezone, such as Europe/Sofia. - + **Valid timeZone values** are based on the tz (timezone) database used by Linux and other Unix systems. The values are strings (xsd:string) in the form "Area/Location," in which Area is a continent or ocean name, and Location is the city, island, or other regional designation. - See the List of supported time zones for different vSphere versions in Linux/Unix systems. + See the List of supported time zones for different vSphere versions in Linux/Unix systems. type: string hwClockUTC: description: |2 @@ -269112,7 +269201,7 @@ components: Please set the compatible customization method to a supported string value e.g. "GOSC\_METHOD\_1". - See Supported compatible customization method list. + See Supported compatible customization method list. ***Since:*** vSphere API Release 8.0.3.0 type: string @@ -269376,7 +269465,7 @@ components: The sysprep type encloses all the individual keys listed in a `sysprep.xml` file. For - more detailed information, see Performing Unattended Installations. + more detailed information, see Performing Unattended Installations. properties: guiUnattended: description: |2 @@ -269411,7 +269500,7 @@ components: The script to run before and after GOS customization. The script must be a batch file for Windows virtual machines. - For additional information, refer to Setting the customization script for virtual machines in vSphere. + For additional information, refer to Setting the customization script for virtual machines in vSphere. ***Since:*** vSphere API Release 9.1.0.0 type: string @@ -269463,8 +269552,8 @@ components: description: |2 Text for the `sysprep.xml` answer file. - For additional details, see Using custom sysprep.xml for vCenter Guest Customization and - Specifying network settings in custom sysprep.xml. + For additional details, see Using custom sysprep.xml for vCenter Guest Customization and + Specifying network settings in custom sysprep.xml. type: string required: - value @@ -269565,7 +269654,7 @@ components: The UserData data object type maps to the UserData key in the `sysprep.xml` answer file. These values are transferred directly into the `sysprep.xml` file that VirtualCenter stores on the target virtual disk. For more detailed - information, see Performing Unattended Installations. + information, see Performing Unattended Installations. properties: fullName: description: |2 @@ -280361,7 +280450,7 @@ components: { - faultDomainId: + faultDomainId: deviceGroupId: ffffffff-ffff-ffff-ffff-ffffffffffff @@ -286946,6 +287035,16 @@ components: properties: description: |2 The additional properties of the object store instance. + + example values: + { + "name": "object-store-name", + "policy": { + "id": "policy-id", + "name": "policy-name", + "vsanExpression": "((...))" + } + } type: string required: - id @@ -302982,7 +303081,9 @@ components: List of supported algorithms for checksum calculation. Possible values: - - `sha1` + - `sha1`: + + Deprecated as of VCF 9.2, use *sha256* instead. - `sha256` enum: - 'sha1' diff --git a/specifications/vsphere/wsdl/pbm/pbm.wsdl b/specifications/vsphere/wsdl/pbm/pbm.wsdl index eefd26f..8d791be 100644 --- a/specifications/vsphere/wsdl/pbm/pbm.wsdl +++ b/specifications/vsphere/wsdl/pbm/pbm.wsdl @@ -3533,7 +3533,7 @@ - + @@ -3545,7 +3545,7 @@ - + @@ -3560,7 +3560,7 @@ - + @@ -3575,7 +3575,7 @@ - + @@ -3590,7 +3590,7 @@ - + @@ -3605,7 +3605,7 @@ - + @@ -3623,7 +3623,7 @@ - + @@ -3638,7 +3638,7 @@ - + @@ -3653,7 +3653,7 @@ - + @@ -3665,7 +3665,7 @@ - + @@ -3677,7 +3677,7 @@ - + @@ -3692,7 +3692,7 @@ - + @@ -3704,7 +3704,7 @@ - + @@ -3716,7 +3716,7 @@ - + @@ -3728,7 +3728,7 @@ - + @@ -3743,7 +3743,7 @@ - + @@ -3764,7 +3764,7 @@ - + @@ -3782,7 +3782,7 @@ - + @@ -3794,7 +3794,7 @@ - + @@ -3809,7 +3809,7 @@ - + @@ -3824,7 +3824,7 @@ - + @@ -3839,7 +3839,7 @@ - + @@ -3854,7 +3854,7 @@ - + @@ -3869,7 +3869,7 @@ - + @@ -3890,7 +3890,7 @@ - + @@ -3902,7 +3902,7 @@ - + @@ -3926,7 +3926,7 @@ - + @@ -3950,7 +3950,7 @@ - + @@ -3971,7 +3971,7 @@ - + @@ -3983,7 +3983,7 @@ - + @@ -4001,7 +4001,7 @@ - + @@ -4016,7 +4016,7 @@ - + diff --git a/specifications/vsphere/wsdl/sms/sms.wsdl b/specifications/vsphere/wsdl/sms/sms.wsdl index 7b727f7..97336b7 100644 --- a/specifications/vsphere/wsdl/sms/sms.wsdl +++ b/specifications/vsphere/wsdl/sms/sms.wsdl @@ -3995,7 +3995,7 @@ - + @@ -4007,7 +4007,7 @@ - + @@ -4019,7 +4019,7 @@ - + @@ -4031,7 +4031,7 @@ - + @@ -4049,7 +4049,7 @@ - + @@ -4067,7 +4067,7 @@ - + @@ -4082,7 +4082,7 @@ - + @@ -4100,7 +4100,7 @@ - + @@ -4118,7 +4118,7 @@ - + @@ -4136,7 +4136,7 @@ - + @@ -4154,7 +4154,7 @@ - + @@ -4172,7 +4172,7 @@ - + @@ -4190,7 +4190,7 @@ - + @@ -4208,7 +4208,7 @@ - + @@ -4226,7 +4226,7 @@ - + @@ -4244,7 +4244,7 @@ - + @@ -4262,7 +4262,7 @@ - + @@ -4280,7 +4280,7 @@ - + @@ -4298,7 +4298,7 @@ - + @@ -4316,7 +4316,7 @@ - + @@ -4334,7 +4334,7 @@ - + @@ -4352,7 +4352,7 @@ - + @@ -4370,7 +4370,7 @@ - + @@ -4388,7 +4388,7 @@ - + @@ -4406,7 +4406,7 @@ - + @@ -4424,7 +4424,7 @@ - + @@ -4442,7 +4442,7 @@ - + @@ -4457,7 +4457,7 @@ - + @@ -4472,7 +4472,7 @@ - + @@ -4484,7 +4484,7 @@ - + @@ -4496,7 +4496,7 @@ - + @@ -4508,7 +4508,7 @@ - + @@ -4523,7 +4523,7 @@ - + @@ -4538,7 +4538,7 @@ - + @@ -4553,7 +4553,7 @@ - + @@ -4571,7 +4571,7 @@ - + @@ -4595,7 +4595,7 @@ - + @@ -4619,7 +4619,7 @@ - + @@ -4643,7 +4643,7 @@ - + @@ -4673,7 +4673,7 @@ - + @@ -4706,7 +4706,7 @@ - + @@ -4736,7 +4736,7 @@ - + @@ -4766,7 +4766,7 @@ - + @@ -4796,7 +4796,7 @@ - + @@ -4826,7 +4826,7 @@ - + @@ -4856,7 +4856,7 @@ - + diff --git a/specifications/vsphere/wsdl/vim/vim.wsdl b/specifications/vsphere/wsdl/vim/vim.wsdl index 061567f..e8a5954 100644 --- a/specifications/vsphere/wsdl/vim/vim.wsdl +++ b/specifications/vsphere/wsdl/vim/vim.wsdl @@ -21678,7 +21678,7 @@ - + @@ -21696,7 +21696,7 @@ - + @@ -21714,7 +21714,7 @@ - + @@ -21735,7 +21735,7 @@ - + @@ -21753,7 +21753,7 @@ - + @@ -21768,7 +21768,7 @@ - + @@ -21780,7 +21780,7 @@ - + @@ -21792,7 +21792,7 @@ - + @@ -21813,7 +21813,7 @@ - + @@ -21834,7 +21834,7 @@ - + @@ -21852,7 +21852,7 @@ - + @@ -21864,7 +21864,7 @@ - + @@ -21876,7 +21876,7 @@ - + @@ -21888,7 +21888,7 @@ - + @@ -21900,7 +21900,7 @@ - + @@ -21912,7 +21912,7 @@ - + @@ -21924,7 +21924,7 @@ - + @@ -21936,7 +21936,7 @@ - + @@ -21948,7 +21948,7 @@ - + @@ -21960,7 +21960,7 @@ - + @@ -21975,7 +21975,7 @@ - + @@ -21990,7 +21990,7 @@ - + @@ -22002,7 +22002,7 @@ - + @@ -22014,7 +22014,7 @@ - + @@ -22026,7 +22026,7 @@ - + @@ -22038,7 +22038,7 @@ - + @@ -22059,7 +22059,7 @@ - + @@ -22080,7 +22080,7 @@ - + @@ -22098,7 +22098,7 @@ - + @@ -22110,7 +22110,7 @@ - + @@ -22122,7 +22122,7 @@ - + @@ -22134,7 +22134,7 @@ - + @@ -22146,7 +22146,7 @@ - + @@ -22161,7 +22161,7 @@ - + @@ -22173,7 +22173,7 @@ - + @@ -22185,7 +22185,7 @@ - + @@ -22197,7 +22197,7 @@ - + @@ -22215,7 +22215,7 @@ - + @@ -22227,7 +22227,7 @@ - + @@ -22239,7 +22239,7 @@ - + @@ -22251,7 +22251,7 @@ - + @@ -22263,7 +22263,7 @@ - + @@ -22281,7 +22281,7 @@ - + @@ -22293,7 +22293,7 @@ - + @@ -22308,7 +22308,7 @@ - + @@ -22320,7 +22320,7 @@ - + @@ -22332,7 +22332,7 @@ - + @@ -22347,7 +22347,7 @@ - + @@ -22365,7 +22365,7 @@ - + @@ -22386,7 +22386,7 @@ - + @@ -22401,7 +22401,7 @@ - + @@ -22419,7 +22419,7 @@ - + @@ -22437,7 +22437,7 @@ - + @@ -22449,7 +22449,7 @@ - + @@ -22464,7 +22464,7 @@ - + @@ -22479,7 +22479,7 @@ - + @@ -22491,7 +22491,7 @@ - + @@ -22503,7 +22503,7 @@ - + @@ -22521,7 +22521,7 @@ - + @@ -22539,7 +22539,7 @@ - + @@ -22551,7 +22551,7 @@ - + @@ -22563,7 +22563,7 @@ - + @@ -22575,7 +22575,7 @@ - + @@ -22593,7 +22593,7 @@ - + @@ -22605,7 +22605,7 @@ - + @@ -22629,7 +22629,7 @@ - + @@ -22647,7 +22647,7 @@ - + @@ -22662,7 +22662,7 @@ - + @@ -22677,7 +22677,7 @@ - + @@ -22692,7 +22692,7 @@ - + @@ -22707,7 +22707,7 @@ - + @@ -22731,7 +22731,7 @@ - + @@ -22752,7 +22752,7 @@ - + @@ -22776,7 +22776,7 @@ - + @@ -22794,7 +22794,7 @@ - + @@ -22821,7 +22821,7 @@ - + @@ -22845,7 +22845,7 @@ - + @@ -22857,7 +22857,7 @@ - + @@ -22872,7 +22872,7 @@ - + @@ -22890,7 +22890,7 @@ - + @@ -22908,7 +22908,7 @@ - + @@ -22920,7 +22920,7 @@ - + @@ -22938,7 +22938,7 @@ - + @@ -22959,7 +22959,7 @@ - + @@ -22977,7 +22977,7 @@ - + @@ -22989,7 +22989,7 @@ - + @@ -23004,7 +23004,7 @@ - + @@ -23016,7 +23016,7 @@ - + @@ -23028,7 +23028,7 @@ - + @@ -23040,7 +23040,7 @@ - + @@ -23085,7 +23085,7 @@ - + @@ -23106,7 +23106,7 @@ - + @@ -23130,7 +23130,7 @@ - + @@ -23151,7 +23151,7 @@ - + @@ -23172,7 +23172,7 @@ - + @@ -23187,7 +23187,7 @@ - + @@ -23211,7 +23211,7 @@ - + @@ -23229,7 +23229,7 @@ - + @@ -23247,7 +23247,7 @@ - + @@ -23271,7 +23271,7 @@ - + @@ -23289,7 +23289,7 @@ - + @@ -23313,7 +23313,7 @@ - + @@ -23343,7 +23343,7 @@ - + @@ -23358,7 +23358,7 @@ - + @@ -23376,7 +23376,7 @@ - + @@ -23397,7 +23397,7 @@ - + @@ -23412,7 +23412,7 @@ - + @@ -23427,7 +23427,7 @@ - + @@ -23439,7 +23439,7 @@ - + @@ -23451,7 +23451,7 @@ - + @@ -23463,7 +23463,7 @@ - + @@ -23475,7 +23475,7 @@ - + @@ -23487,7 +23487,7 @@ - + @@ -23499,7 +23499,7 @@ - + @@ -23514,7 +23514,7 @@ - + @@ -23526,7 +23526,7 @@ - + @@ -23538,7 +23538,7 @@ - + @@ -23553,7 +23553,7 @@ - + @@ -23565,7 +23565,7 @@ - + @@ -23577,7 +23577,7 @@ - + @@ -23595,7 +23595,7 @@ - + @@ -23610,7 +23610,7 @@ - + @@ -23622,7 +23622,7 @@ - + @@ -23634,7 +23634,7 @@ - + @@ -23652,7 +23652,7 @@ - + @@ -23670,7 +23670,7 @@ - + @@ -23688,7 +23688,7 @@ - + @@ -23706,7 +23706,7 @@ - + @@ -23727,7 +23727,7 @@ - + @@ -23745,7 +23745,7 @@ - + @@ -23763,7 +23763,7 @@ - + @@ -23784,7 +23784,7 @@ - + @@ -23823,7 +23823,7 @@ - + @@ -23865,7 +23865,7 @@ - + @@ -23883,7 +23883,7 @@ - + @@ -23901,7 +23901,7 @@ - + @@ -23922,7 +23922,7 @@ - + @@ -23940,7 +23940,7 @@ - + @@ -23958,7 +23958,7 @@ - + @@ -23985,7 +23985,7 @@ - + @@ -24003,7 +24003,7 @@ - + @@ -24015,7 +24015,7 @@ - + @@ -24027,7 +24027,7 @@ - + @@ -24039,7 +24039,7 @@ - + @@ -24057,7 +24057,7 @@ - + @@ -24069,7 +24069,7 @@ - + @@ -24081,7 +24081,7 @@ - + @@ -24096,7 +24096,7 @@ - + @@ -24111,7 +24111,7 @@ - + @@ -24126,7 +24126,7 @@ - + @@ -24144,7 +24144,7 @@ - + @@ -24159,7 +24159,7 @@ - + @@ -24174,7 +24174,7 @@ - + @@ -24189,7 +24189,7 @@ - + @@ -24204,7 +24204,7 @@ - + @@ -24219,7 +24219,7 @@ - + @@ -24234,7 +24234,7 @@ - + @@ -24249,7 +24249,7 @@ - + @@ -24264,7 +24264,7 @@ - + @@ -24279,7 +24279,7 @@ - + @@ -24294,7 +24294,7 @@ - + @@ -24309,7 +24309,7 @@ - + @@ -24324,7 +24324,7 @@ - + @@ -24339,7 +24339,7 @@ - + @@ -24351,7 +24351,7 @@ - + @@ -24363,7 +24363,7 @@ - + @@ -24375,7 +24375,7 @@ - + @@ -24387,7 +24387,7 @@ - + @@ -24399,7 +24399,7 @@ - + @@ -24411,7 +24411,7 @@ - + @@ -24423,7 +24423,7 @@ - + @@ -24435,7 +24435,7 @@ - + @@ -24459,7 +24459,7 @@ - + @@ -24471,7 +24471,7 @@ - + @@ -24489,7 +24489,7 @@ - + @@ -24507,7 +24507,7 @@ - + @@ -24522,7 +24522,7 @@ - + @@ -24537,7 +24537,7 @@ - + @@ -24564,7 +24564,7 @@ - + @@ -24588,7 +24588,7 @@ - + @@ -24600,7 +24600,7 @@ - + @@ -24612,7 +24612,7 @@ - + @@ -24627,7 +24627,7 @@ - + @@ -24639,7 +24639,7 @@ - + @@ -24654,7 +24654,7 @@ - + @@ -24669,7 +24669,7 @@ - + @@ -24681,7 +24681,7 @@ - + @@ -24699,7 +24699,7 @@ - + @@ -24711,7 +24711,7 @@ - + @@ -24726,7 +24726,7 @@ - + @@ -24741,7 +24741,7 @@ - + @@ -24753,7 +24753,7 @@ - + @@ -24768,7 +24768,7 @@ - + @@ -24792,7 +24792,7 @@ - + @@ -24804,7 +24804,7 @@ - + @@ -24822,7 +24822,7 @@ - + @@ -24837,7 +24837,7 @@ - + @@ -24855,7 +24855,7 @@ - + @@ -24873,7 +24873,7 @@ - + @@ -24888,7 +24888,7 @@ - + @@ -24909,7 +24909,7 @@ - + @@ -24924,7 +24924,7 @@ - + @@ -24939,7 +24939,7 @@ - + @@ -24960,7 +24960,7 @@ - + @@ -24978,7 +24978,7 @@ - + @@ -24993,7 +24993,7 @@ - + @@ -25005,7 +25005,7 @@ - + @@ -25020,7 +25020,7 @@ - + @@ -25035,7 +25035,7 @@ - + @@ -25050,7 +25050,7 @@ - + @@ -25065,7 +25065,7 @@ - + @@ -25077,7 +25077,7 @@ - + @@ -25089,7 +25089,7 @@ - + @@ -25101,7 +25101,7 @@ - + @@ -25116,7 +25116,7 @@ - + @@ -25128,7 +25128,7 @@ - + @@ -25140,7 +25140,7 @@ - + @@ -25152,7 +25152,7 @@ - + @@ -25164,7 +25164,7 @@ - + @@ -25179,7 +25179,7 @@ - + @@ -25194,7 +25194,7 @@ - + @@ -25206,7 +25206,7 @@ - + @@ -25218,7 +25218,7 @@ - + @@ -25230,7 +25230,7 @@ - + @@ -25242,7 +25242,7 @@ - + @@ -25260,7 +25260,7 @@ - + @@ -25275,7 +25275,7 @@ - + @@ -25293,7 +25293,7 @@ - + @@ -25311,7 +25311,7 @@ - + @@ -25332,7 +25332,7 @@ - + @@ -25344,7 +25344,7 @@ - + @@ -25356,7 +25356,7 @@ - + @@ -25368,7 +25368,7 @@ - + @@ -25380,7 +25380,7 @@ - + @@ -25392,7 +25392,7 @@ - + @@ -25404,7 +25404,7 @@ - + @@ -25416,7 +25416,7 @@ - + @@ -25434,7 +25434,7 @@ - + @@ -25449,7 +25449,7 @@ - + @@ -25464,7 +25464,7 @@ - + @@ -25488,7 +25488,7 @@ - + @@ -25512,7 +25512,7 @@ - + @@ -25539,7 +25539,7 @@ - + @@ -25569,7 +25569,7 @@ - + @@ -25596,7 +25596,7 @@ - + @@ -25608,7 +25608,7 @@ - + @@ -25620,7 +25620,7 @@ - + @@ -25632,7 +25632,7 @@ - + @@ -25644,7 +25644,7 @@ - + @@ -25656,7 +25656,7 @@ - + @@ -25668,7 +25668,7 @@ - + @@ -25680,7 +25680,7 @@ - + @@ -25692,7 +25692,7 @@ - + @@ -25704,7 +25704,7 @@ - + @@ -25716,7 +25716,7 @@ - + @@ -25728,7 +25728,7 @@ - + @@ -25740,7 +25740,7 @@ - + @@ -25764,7 +25764,7 @@ - + @@ -25782,7 +25782,7 @@ - + @@ -25800,7 +25800,7 @@ - + @@ -25821,7 +25821,7 @@ - + @@ -25833,7 +25833,7 @@ - + @@ -25860,7 +25860,7 @@ - + @@ -25890,7 +25890,7 @@ - + @@ -25926,7 +25926,7 @@ - + @@ -25959,7 +25959,7 @@ - + @@ -25971,7 +25971,7 @@ - + @@ -25983,7 +25983,7 @@ - + @@ -25995,7 +25995,7 @@ - + @@ -26010,7 +26010,7 @@ - + @@ -26022,7 +26022,7 @@ - + @@ -26034,7 +26034,7 @@ - + @@ -26046,7 +26046,7 @@ - + @@ -26058,7 +26058,7 @@ - + @@ -26070,7 +26070,7 @@ - + @@ -26082,7 +26082,7 @@ - + @@ -26094,7 +26094,7 @@ - + @@ -26109,7 +26109,7 @@ - + @@ -26124,7 +26124,7 @@ - + @@ -26136,7 +26136,7 @@ - + @@ -26148,7 +26148,7 @@ - + @@ -26163,7 +26163,7 @@ - + @@ -26175,7 +26175,7 @@ - + @@ -26187,7 +26187,7 @@ - + @@ -26199,7 +26199,7 @@ - + @@ -26211,7 +26211,7 @@ - + @@ -26229,7 +26229,7 @@ - + @@ -26247,7 +26247,7 @@ - + @@ -26268,7 +26268,7 @@ - + @@ -26280,7 +26280,7 @@ - + @@ -26295,7 +26295,7 @@ - + @@ -26307,7 +26307,7 @@ - + @@ -26322,7 +26322,7 @@ - + @@ -26337,7 +26337,7 @@ - + @@ -26364,7 +26364,7 @@ - + @@ -26385,7 +26385,7 @@ - + @@ -26403,7 +26403,7 @@ - + @@ -26415,7 +26415,7 @@ - + @@ -26427,7 +26427,7 @@ - + @@ -26442,7 +26442,7 @@ - + @@ -26454,7 +26454,7 @@ - + @@ -26466,7 +26466,7 @@ - + @@ -26478,7 +26478,7 @@ - + @@ -26496,7 +26496,7 @@ - + @@ -26508,7 +26508,7 @@ - + @@ -26523,7 +26523,7 @@ - + @@ -26535,7 +26535,7 @@ - + @@ -26547,7 +26547,7 @@ - + @@ -26559,7 +26559,7 @@ - + @@ -26571,7 +26571,7 @@ - + @@ -26586,7 +26586,7 @@ - + @@ -26598,7 +26598,7 @@ - + @@ -26610,7 +26610,7 @@ - + @@ -26622,7 +26622,7 @@ - + @@ -26637,7 +26637,7 @@ - + @@ -26655,7 +26655,7 @@ - + @@ -26670,7 +26670,7 @@ - + @@ -26682,7 +26682,7 @@ - + @@ -26694,7 +26694,7 @@ - + @@ -26706,7 +26706,7 @@ - + @@ -26721,7 +26721,7 @@ - + @@ -26736,7 +26736,7 @@ - + @@ -26748,7 +26748,7 @@ - + @@ -26760,7 +26760,7 @@ - + @@ -26775,7 +26775,7 @@ - + @@ -26814,7 +26814,7 @@ - + @@ -26829,7 +26829,7 @@ - + @@ -26862,7 +26862,7 @@ - + @@ -26886,7 +26886,7 @@ - + @@ -26916,7 +26916,7 @@ - + @@ -26937,7 +26937,7 @@ - + @@ -26958,7 +26958,7 @@ - + @@ -26976,7 +26976,7 @@ - + @@ -26994,7 +26994,7 @@ - + @@ -27012,7 +27012,7 @@ - + @@ -27030,7 +27030,7 @@ - + @@ -27051,7 +27051,7 @@ - + @@ -27069,7 +27069,7 @@ - + @@ -27087,7 +27087,7 @@ - + @@ -27105,7 +27105,7 @@ - + @@ -27123,7 +27123,7 @@ - + @@ -27141,7 +27141,7 @@ - + @@ -27159,7 +27159,7 @@ - + @@ -27177,7 +27177,7 @@ - + @@ -27195,7 +27195,7 @@ - + @@ -27213,7 +27213,7 @@ - + @@ -27231,7 +27231,7 @@ - + @@ -27249,7 +27249,7 @@ - + @@ -27267,7 +27267,7 @@ - + @@ -27279,7 +27279,7 @@ - + @@ -27309,7 +27309,7 @@ - + @@ -27339,7 +27339,7 @@ - + @@ -27369,7 +27369,7 @@ - + @@ -27390,7 +27390,7 @@ - + @@ -27414,7 +27414,7 @@ - + @@ -27438,7 +27438,7 @@ - + @@ -27477,7 +27477,7 @@ - + @@ -27501,7 +27501,7 @@ - + @@ -27516,7 +27516,7 @@ - + @@ -27543,7 +27543,7 @@ - + @@ -27561,7 +27561,7 @@ - + @@ -27579,7 +27579,7 @@ - + @@ -27597,7 +27597,7 @@ - + @@ -27618,7 +27618,7 @@ - + @@ -27639,7 +27639,7 @@ - + @@ -27660,7 +27660,7 @@ - + @@ -27675,7 +27675,7 @@ - + @@ -27690,7 +27690,7 @@ - + @@ -27705,7 +27705,7 @@ - + @@ -27735,7 +27735,7 @@ - + @@ -27768,7 +27768,7 @@ - + @@ -27804,7 +27804,7 @@ - + @@ -27834,7 +27834,7 @@ - + @@ -27858,7 +27858,7 @@ - + @@ -27879,7 +27879,7 @@ - + @@ -27903,7 +27903,7 @@ - + @@ -27921,7 +27921,7 @@ - + @@ -27936,7 +27936,7 @@ - + @@ -27957,7 +27957,7 @@ - + @@ -27975,7 +27975,7 @@ - + @@ -28002,7 +28002,7 @@ - + @@ -28014,7 +28014,7 @@ - + @@ -28035,7 +28035,7 @@ - + @@ -28050,7 +28050,7 @@ - + @@ -28065,7 +28065,7 @@ - + @@ -28083,7 +28083,7 @@ - + @@ -28107,7 +28107,7 @@ - + @@ -28137,7 +28137,7 @@ - + @@ -28167,7 +28167,7 @@ - + @@ -28188,7 +28188,7 @@ - + @@ -28209,7 +28209,7 @@ - + @@ -28230,7 +28230,7 @@ - + @@ -28251,7 +28251,7 @@ - + @@ -28275,7 +28275,7 @@ - + @@ -28293,7 +28293,7 @@ - + @@ -28332,7 +28332,7 @@ - + @@ -28359,7 +28359,7 @@ - + @@ -28398,7 +28398,7 @@ - + @@ -28425,7 +28425,7 @@ - + @@ -28446,7 +28446,7 @@ - + @@ -28467,7 +28467,7 @@ - + @@ -28479,7 +28479,7 @@ - + @@ -28497,7 +28497,7 @@ - + @@ -28509,7 +28509,7 @@ - + @@ -28539,7 +28539,7 @@ - + @@ -28557,7 +28557,7 @@ - + @@ -28575,7 +28575,7 @@ - + @@ -28593,7 +28593,7 @@ - + @@ -28608,7 +28608,7 @@ - + @@ -28644,7 +28644,7 @@ - + @@ -28668,7 +28668,7 @@ - + @@ -28683,7 +28683,7 @@ - + @@ -28701,7 +28701,7 @@ - + @@ -28734,7 +28734,7 @@ - + @@ -28749,7 +28749,7 @@ - + @@ -28764,7 +28764,7 @@ - + @@ -28779,7 +28779,7 @@ - + @@ -28791,7 +28791,7 @@ - + @@ -28809,7 +28809,7 @@ - + @@ -28827,7 +28827,7 @@ - + @@ -28839,7 +28839,7 @@ - + @@ -28851,7 +28851,7 @@ - + @@ -28863,7 +28863,7 @@ - + @@ -28875,7 +28875,7 @@ - + @@ -28887,7 +28887,7 @@ - + @@ -28899,7 +28899,7 @@ - + @@ -28911,7 +28911,7 @@ - + @@ -28923,7 +28923,7 @@ - + @@ -28938,7 +28938,7 @@ - + @@ -28950,7 +28950,7 @@ - + @@ -28962,7 +28962,7 @@ - + @@ -28980,7 +28980,7 @@ - + @@ -29004,7 +29004,7 @@ - + @@ -29022,7 +29022,7 @@ - + @@ -29034,7 +29034,7 @@ - + @@ -29046,7 +29046,7 @@ - + @@ -29058,7 +29058,7 @@ - + @@ -29070,7 +29070,7 @@ - + @@ -29082,7 +29082,7 @@ - + @@ -29094,7 +29094,7 @@ - + @@ -29106,7 +29106,7 @@ - + @@ -29121,7 +29121,7 @@ - + @@ -29133,7 +29133,7 @@ - + @@ -29145,7 +29145,7 @@ - + @@ -29160,7 +29160,7 @@ - + @@ -29178,7 +29178,7 @@ - + @@ -29196,7 +29196,7 @@ - + @@ -29211,7 +29211,7 @@ - + @@ -29226,7 +29226,7 @@ - + @@ -29241,7 +29241,7 @@ - + @@ -29259,7 +29259,7 @@ - + @@ -29274,7 +29274,7 @@ - + @@ -29289,7 +29289,7 @@ - + @@ -29301,7 +29301,7 @@ - + @@ -29313,7 +29313,7 @@ - + @@ -29328,7 +29328,7 @@ - + @@ -29346,7 +29346,7 @@ - + @@ -29361,7 +29361,7 @@ - + @@ -29376,7 +29376,7 @@ - + @@ -29388,7 +29388,7 @@ - + @@ -29400,7 +29400,7 @@ - + @@ -29412,7 +29412,7 @@ - + @@ -29424,7 +29424,7 @@ - + @@ -29436,7 +29436,7 @@ - + @@ -29448,7 +29448,7 @@ - + @@ -29460,7 +29460,7 @@ - + @@ -29472,7 +29472,7 @@ - + @@ -29484,7 +29484,7 @@ - + @@ -29496,7 +29496,7 @@ - + @@ -29508,7 +29508,7 @@ - + @@ -29520,7 +29520,7 @@ - + @@ -29532,7 +29532,7 @@ - + @@ -29544,7 +29544,7 @@ - + @@ -29556,7 +29556,7 @@ - + @@ -29568,7 +29568,7 @@ - + @@ -29580,7 +29580,7 @@ - + @@ -29592,7 +29592,7 @@ - + @@ -29607,7 +29607,7 @@ - + @@ -29619,7 +29619,7 @@ - + @@ -29631,7 +29631,7 @@ - + @@ -29643,7 +29643,7 @@ - + @@ -29655,7 +29655,7 @@ - + @@ -29667,7 +29667,7 @@ - + @@ -29679,7 +29679,7 @@ - + @@ -29691,7 +29691,7 @@ - + @@ -29703,7 +29703,7 @@ - + @@ -29715,7 +29715,7 @@ - + @@ -29727,7 +29727,7 @@ - + @@ -29742,7 +29742,7 @@ - + @@ -29754,7 +29754,7 @@ - + @@ -29766,7 +29766,7 @@ - + @@ -29781,7 +29781,7 @@ - + @@ -29808,7 +29808,7 @@ - + @@ -29832,7 +29832,7 @@ - + @@ -29850,7 +29850,7 @@ - + @@ -29874,7 +29874,7 @@ - + @@ -29892,7 +29892,7 @@ - + @@ -29907,7 +29907,7 @@ - + @@ -29919,7 +29919,7 @@ - + @@ -29934,7 +29934,7 @@ - + @@ -29949,7 +29949,7 @@ - + @@ -29964,7 +29964,7 @@ - + @@ -29979,7 +29979,7 @@ - + @@ -29997,7 +29997,7 @@ - + @@ -30009,7 +30009,7 @@ - + @@ -30021,7 +30021,7 @@ - + @@ -30033,7 +30033,7 @@ - + @@ -30048,7 +30048,7 @@ - + @@ -30060,7 +30060,7 @@ - + @@ -30072,7 +30072,7 @@ - + @@ -30084,7 +30084,7 @@ - + @@ -30096,7 +30096,7 @@ - + @@ -30108,7 +30108,7 @@ - + @@ -30120,7 +30120,7 @@ - + @@ -30132,7 +30132,7 @@ - + @@ -30147,7 +30147,7 @@ - + @@ -30162,7 +30162,7 @@ - + @@ -30177,7 +30177,7 @@ - + @@ -30192,7 +30192,7 @@ - + @@ -30207,7 +30207,7 @@ - + @@ -30219,7 +30219,7 @@ - + @@ -30234,7 +30234,7 @@ - + @@ -30249,7 +30249,7 @@ - + @@ -30261,7 +30261,7 @@ - + @@ -30273,7 +30273,7 @@ - + @@ -30291,7 +30291,7 @@ - + @@ -30309,7 +30309,7 @@ - + @@ -30327,7 +30327,7 @@ - + @@ -30345,7 +30345,7 @@ - + @@ -30363,7 +30363,7 @@ - + @@ -30381,7 +30381,7 @@ - + @@ -30399,7 +30399,7 @@ - + @@ -30417,7 +30417,7 @@ - + @@ -30435,7 +30435,7 @@ - + @@ -30453,7 +30453,7 @@ - + @@ -30471,7 +30471,7 @@ - + @@ -30489,7 +30489,7 @@ - + @@ -30507,7 +30507,7 @@ - + @@ -30528,7 +30528,7 @@ - + @@ -30552,7 +30552,7 @@ - + @@ -30576,7 +30576,7 @@ - + @@ -30597,7 +30597,7 @@ - + @@ -30612,7 +30612,7 @@ - + @@ -30627,7 +30627,7 @@ - + @@ -30642,7 +30642,7 @@ - + @@ -30657,7 +30657,7 @@ - + @@ -30675,7 +30675,7 @@ - + @@ -30687,7 +30687,7 @@ - + @@ -30705,7 +30705,7 @@ - + @@ -30720,7 +30720,7 @@ - + @@ -30732,7 +30732,7 @@ - + @@ -30744,7 +30744,7 @@ - + @@ -30759,7 +30759,7 @@ - + @@ -30771,7 +30771,7 @@ - + @@ -30783,7 +30783,7 @@ - + @@ -30798,7 +30798,7 @@ - + @@ -30816,7 +30816,7 @@ - + @@ -30831,7 +30831,7 @@ - + @@ -30849,7 +30849,7 @@ - + @@ -30867,7 +30867,7 @@ - + @@ -30882,7 +30882,7 @@ - + @@ -30894,7 +30894,7 @@ - + @@ -30912,7 +30912,7 @@ - + @@ -30930,7 +30930,7 @@ - + @@ -30948,7 +30948,7 @@ - + @@ -30960,7 +30960,7 @@ - + @@ -30975,7 +30975,7 @@ - + @@ -30987,7 +30987,7 @@ - + @@ -30999,7 +30999,7 @@ - + @@ -31023,7 +31023,7 @@ - + @@ -31035,7 +31035,7 @@ - + @@ -31047,7 +31047,7 @@ - + @@ -31059,7 +31059,7 @@ - + @@ -31071,7 +31071,7 @@ - + @@ -31083,7 +31083,7 @@ - + @@ -31095,7 +31095,7 @@ - + @@ -31107,7 +31107,7 @@ - + @@ -31119,7 +31119,7 @@ - + @@ -31131,7 +31131,7 @@ - + @@ -31143,7 +31143,7 @@ - + @@ -31161,7 +31161,7 @@ - + @@ -31173,7 +31173,7 @@ - + @@ -31188,7 +31188,7 @@ - + @@ -31200,7 +31200,7 @@ - + @@ -31218,7 +31218,7 @@ - + @@ -31233,7 +31233,7 @@ - + @@ -31248,7 +31248,7 @@ - + @@ -31260,7 +31260,7 @@ - + @@ -31275,7 +31275,7 @@ - + @@ -31287,7 +31287,7 @@ - + @@ -31299,7 +31299,7 @@ - + @@ -31314,7 +31314,7 @@ - + @@ -31329,7 +31329,7 @@ - + @@ -31347,7 +31347,7 @@ - + @@ -31365,7 +31365,7 @@ - + @@ -31404,7 +31404,7 @@ - + @@ -31434,7 +31434,7 @@ - + @@ -31446,7 +31446,7 @@ - + @@ -31458,7 +31458,7 @@ - + @@ -31473,7 +31473,7 @@ - + @@ -31488,7 +31488,7 @@ - + @@ -31503,7 +31503,7 @@ - + @@ -31521,7 +31521,7 @@ - + @@ -31536,7 +31536,7 @@ - + @@ -31551,7 +31551,7 @@ - + @@ -31566,7 +31566,7 @@ - + @@ -31584,7 +31584,7 @@ - + @@ -31599,7 +31599,7 @@ - + @@ -31614,7 +31614,7 @@ - + @@ -31626,7 +31626,7 @@ - + @@ -31638,7 +31638,7 @@ - + @@ -31662,7 +31662,7 @@ - + @@ -31680,7 +31680,7 @@ - + @@ -31698,7 +31698,7 @@ - + @@ -31713,7 +31713,7 @@ - + @@ -31728,7 +31728,7 @@ - + @@ -31749,7 +31749,7 @@ - + @@ -31770,7 +31770,7 @@ - + @@ -31791,7 +31791,7 @@ - + @@ -31812,7 +31812,7 @@ - + @@ -31833,7 +31833,7 @@ - + @@ -31854,7 +31854,7 @@ - + @@ -31872,7 +31872,7 @@ - + @@ -31890,7 +31890,7 @@ - + @@ -31911,7 +31911,7 @@ - + @@ -31929,7 +31929,7 @@ - + @@ -31950,7 +31950,7 @@ - + @@ -31965,7 +31965,7 @@ - + @@ -31986,7 +31986,7 @@ - + @@ -32007,7 +32007,7 @@ - + @@ -32025,7 +32025,7 @@ - + @@ -32037,7 +32037,7 @@ - + @@ -32052,7 +32052,7 @@ - + @@ -32073,7 +32073,7 @@ - + @@ -32094,7 +32094,7 @@ - + @@ -32115,7 +32115,7 @@ - + @@ -32136,7 +32136,7 @@ - + @@ -32160,7 +32160,7 @@ - + @@ -32181,7 +32181,7 @@ - + @@ -32205,7 +32205,7 @@ - + @@ -32229,7 +32229,7 @@ - + @@ -32265,7 +32265,7 @@ - + @@ -32289,7 +32289,7 @@ - + @@ -32310,7 +32310,7 @@ - + @@ -32334,7 +32334,7 @@ - + @@ -32346,7 +32346,7 @@ - + @@ -32361,7 +32361,7 @@ - + @@ -32376,7 +32376,7 @@ - + @@ -32394,7 +32394,7 @@ - + @@ -32415,7 +32415,7 @@ - + @@ -32436,7 +32436,7 @@ - + @@ -32457,7 +32457,7 @@ - + @@ -32475,7 +32475,7 @@ - + @@ -32487,7 +32487,7 @@ - + @@ -32505,7 +32505,7 @@ - + @@ -32523,7 +32523,7 @@ - + @@ -32535,7 +32535,7 @@ - + @@ -32553,7 +32553,7 @@ - + @@ -32571,7 +32571,7 @@ - + @@ -32589,7 +32589,7 @@ - + @@ -32607,7 +32607,7 @@ - + @@ -32631,7 +32631,7 @@ - + @@ -32655,7 +32655,7 @@ - + @@ -32670,7 +32670,7 @@ - + @@ -32685,7 +32685,7 @@ - + @@ -32700,7 +32700,7 @@ - + @@ -32715,7 +32715,7 @@ - + @@ -32730,7 +32730,7 @@ - + @@ -32748,7 +32748,7 @@ - + @@ -32766,7 +32766,7 @@ - + @@ -32784,7 +32784,7 @@ - + @@ -32796,7 +32796,7 @@ - + @@ -32808,7 +32808,7 @@ - + @@ -32823,7 +32823,7 @@ - + @@ -32838,7 +32838,7 @@ - + @@ -32856,7 +32856,7 @@ - + @@ -32874,7 +32874,7 @@ - + @@ -32889,7 +32889,7 @@ - + @@ -32904,7 +32904,7 @@ - + @@ -32922,7 +32922,7 @@ - + @@ -32940,7 +32940,7 @@ - + @@ -32958,7 +32958,7 @@ - + @@ -32976,7 +32976,7 @@ - + @@ -32994,7 +32994,7 @@ - + @@ -33012,7 +33012,7 @@ - + @@ -33030,7 +33030,7 @@ - + @@ -33048,7 +33048,7 @@ - + @@ -33066,7 +33066,7 @@ - + @@ -33084,7 +33084,7 @@ - + @@ -33102,7 +33102,7 @@ - + @@ -33120,7 +33120,7 @@ - + @@ -33138,7 +33138,7 @@ - + @@ -33156,7 +33156,7 @@ - + @@ -33174,7 +33174,7 @@ - + @@ -33189,7 +33189,7 @@ - + @@ -33204,7 +33204,7 @@ - + @@ -33228,7 +33228,7 @@ - + @@ -33252,7 +33252,7 @@ - + @@ -33267,7 +33267,7 @@ - + @@ -33282,7 +33282,7 @@ - + @@ -33303,7 +33303,7 @@ - + @@ -33318,7 +33318,7 @@ - + @@ -33330,7 +33330,7 @@ - + @@ -33351,7 +33351,7 @@ - + @@ -33369,7 +33369,7 @@ - + @@ -33390,7 +33390,7 @@ - + @@ -33411,7 +33411,7 @@ - + @@ -33432,7 +33432,7 @@ - + @@ -33456,7 +33456,7 @@ - + @@ -33480,7 +33480,7 @@ - + @@ -33495,7 +33495,7 @@ - + @@ -33510,7 +33510,7 @@ - + @@ -33528,7 +33528,7 @@ - + @@ -33543,7 +33543,7 @@ - + @@ -33561,7 +33561,7 @@ - + @@ -33576,7 +33576,7 @@ - + @@ -33591,7 +33591,7 @@ - + @@ -33606,7 +33606,7 @@ - + @@ -33621,7 +33621,7 @@ - + @@ -33639,7 +33639,7 @@ - + @@ -33657,7 +33657,7 @@ - + @@ -33675,7 +33675,7 @@ - + @@ -33693,7 +33693,7 @@ - + @@ -33705,7 +33705,7 @@ - + @@ -33717,7 +33717,7 @@ - + @@ -33729,7 +33729,7 @@ - + @@ -33747,7 +33747,7 @@ - + @@ -33759,7 +33759,7 @@ - + @@ -33780,7 +33780,7 @@ - + @@ -33801,7 +33801,7 @@ - + @@ -33822,7 +33822,7 @@ - + @@ -33843,7 +33843,7 @@ - + @@ -33861,7 +33861,7 @@ - + @@ -33879,7 +33879,7 @@ - + @@ -33897,7 +33897,7 @@ - + @@ -33912,7 +33912,7 @@ - + @@ -33927,7 +33927,7 @@ - + @@ -33942,7 +33942,7 @@ - + @@ -33960,7 +33960,7 @@ - + @@ -33981,7 +33981,7 @@ - + @@ -34002,7 +34002,7 @@ - + @@ -34020,7 +34020,7 @@ - + @@ -34038,7 +34038,7 @@ - + @@ -34053,7 +34053,7 @@ - + @@ -34068,7 +34068,7 @@ - + @@ -34086,7 +34086,7 @@ - + @@ -34104,7 +34104,7 @@ - + @@ -34122,7 +34122,7 @@ - + @@ -34134,7 +34134,7 @@ - + @@ -34146,7 +34146,7 @@ - + @@ -34158,7 +34158,7 @@ - + @@ -34170,7 +34170,7 @@ - + @@ -34182,7 +34182,7 @@ - + @@ -34194,7 +34194,7 @@ - + @@ -34206,7 +34206,7 @@ - + @@ -34218,7 +34218,7 @@ - + @@ -34230,7 +34230,7 @@ - + @@ -34245,7 +34245,7 @@ - + @@ -34260,7 +34260,7 @@ - + @@ -34275,7 +34275,7 @@ - + @@ -34290,7 +34290,7 @@ - + @@ -34305,7 +34305,7 @@ - + @@ -34320,7 +34320,7 @@ - + @@ -34332,7 +34332,7 @@ - + @@ -34344,7 +34344,7 @@ - + @@ -34356,7 +34356,7 @@ - + @@ -34368,7 +34368,7 @@ - + @@ -34380,7 +34380,7 @@ - + @@ -34398,7 +34398,7 @@ - + @@ -34410,7 +34410,7 @@ - + @@ -34422,7 +34422,7 @@ - + @@ -34446,7 +34446,7 @@ - + @@ -34464,7 +34464,7 @@ - + @@ -34479,7 +34479,7 @@ - + @@ -34494,7 +34494,7 @@ - + @@ -34506,7 +34506,7 @@ - + @@ -34518,7 +34518,7 @@ - + @@ -34530,7 +34530,7 @@ - + @@ -34542,7 +34542,7 @@ - + @@ -34554,7 +34554,7 @@ - + @@ -34566,7 +34566,7 @@ - + @@ -34578,7 +34578,7 @@ - + @@ -34590,7 +34590,7 @@ - + @@ -34602,7 +34602,7 @@ - + @@ -34614,7 +34614,7 @@ - + @@ -34629,7 +34629,7 @@ - + @@ -34641,7 +34641,7 @@ - + @@ -34653,7 +34653,7 @@ - + @@ -34668,7 +34668,7 @@ - + @@ -34680,7 +34680,7 @@ - + @@ -34692,7 +34692,7 @@ - + @@ -34710,7 +34710,7 @@ - + @@ -34722,7 +34722,7 @@ - + @@ -34737,7 +34737,7 @@ - + @@ -34752,7 +34752,7 @@ - + @@ -34767,7 +34767,7 @@ - + @@ -34782,7 +34782,7 @@ - + @@ -34797,7 +34797,7 @@ - + @@ -34809,7 +34809,7 @@ - + @@ -34827,7 +34827,7 @@ - + @@ -34839,7 +34839,7 @@ - + @@ -34851,7 +34851,7 @@ - + @@ -34863,7 +34863,7 @@ - + @@ -34875,7 +34875,7 @@ - + @@ -34887,7 +34887,7 @@ - + @@ -34902,7 +34902,7 @@ - + @@ -34914,7 +34914,7 @@ - + @@ -34926,7 +34926,7 @@ - + @@ -34938,7 +34938,7 @@ - + @@ -34950,7 +34950,7 @@ - + @@ -34962,7 +34962,7 @@ - + @@ -34974,7 +34974,7 @@ - + @@ -34986,7 +34986,7 @@ - + @@ -34998,7 +34998,7 @@ - + @@ -35010,7 +35010,7 @@ - + @@ -35022,7 +35022,7 @@ - + @@ -35034,7 +35034,7 @@ - + @@ -35049,7 +35049,7 @@ - + @@ -35070,7 +35070,7 @@ - + @@ -35085,7 +35085,7 @@ - + @@ -35103,7 +35103,7 @@ - + @@ -35115,7 +35115,7 @@ - + @@ -35133,7 +35133,7 @@ - + @@ -35145,7 +35145,7 @@ - + @@ -35163,7 +35163,7 @@ - + @@ -35178,7 +35178,7 @@ - + @@ -35190,7 +35190,7 @@ - + @@ -35202,7 +35202,7 @@ - + @@ -35214,7 +35214,7 @@ - + @@ -35226,7 +35226,7 @@ - + @@ -35238,7 +35238,7 @@ - + @@ -35250,7 +35250,7 @@ - + @@ -35262,7 +35262,7 @@ - + @@ -35274,7 +35274,7 @@ - + @@ -35286,7 +35286,7 @@ - + @@ -35298,7 +35298,7 @@ - + @@ -35310,7 +35310,7 @@ - + @@ -35322,7 +35322,7 @@ - + @@ -35334,7 +35334,7 @@ - + @@ -35346,7 +35346,7 @@ - + @@ -35358,7 +35358,7 @@ - + @@ -35370,7 +35370,7 @@ - + @@ -35382,7 +35382,7 @@ - + @@ -35394,7 +35394,7 @@ - + @@ -35406,7 +35406,7 @@ - + @@ -35418,7 +35418,7 @@ - + @@ -35430,7 +35430,7 @@ - + @@ -35442,7 +35442,7 @@ - + @@ -35469,7 +35469,7 @@ - + @@ -35496,7 +35496,7 @@ - + @@ -35523,7 +35523,7 @@ - + @@ -35550,7 +35550,7 @@ - + @@ -35565,7 +35565,7 @@ - + @@ -35586,7 +35586,7 @@ - + @@ -35607,7 +35607,7 @@ - + @@ -35628,7 +35628,7 @@ - + @@ -35646,7 +35646,7 @@ - + @@ -35664,7 +35664,7 @@ - + @@ -35676,7 +35676,7 @@ - + @@ -35691,7 +35691,7 @@ - + @@ -35706,7 +35706,7 @@ - + @@ -35721,7 +35721,7 @@ - + @@ -35736,7 +35736,7 @@ - + @@ -35757,7 +35757,7 @@ - + @@ -35778,7 +35778,7 @@ - + @@ -35799,7 +35799,7 @@ - + @@ -35820,7 +35820,7 @@ - + @@ -35841,7 +35841,7 @@ - + @@ -35862,7 +35862,7 @@ - + @@ -35883,7 +35883,7 @@ - + @@ -35904,7 +35904,7 @@ - + @@ -35928,7 +35928,7 @@ - + @@ -35952,7 +35952,7 @@ - + @@ -35976,7 +35976,7 @@ - + @@ -36000,7 +36000,7 @@ - + @@ -36024,7 +36024,7 @@ - + @@ -36048,7 +36048,7 @@ - + @@ -36072,7 +36072,7 @@ - + @@ -36096,7 +36096,7 @@ - + @@ -36120,7 +36120,7 @@ - + @@ -36144,7 +36144,7 @@ - + @@ -36168,7 +36168,7 @@ - + @@ -36192,7 +36192,7 @@ - + @@ -36213,7 +36213,7 @@ - + @@ -36234,7 +36234,7 @@ - + @@ -36255,7 +36255,7 @@ - + @@ -36276,7 +36276,7 @@ - + @@ -36297,7 +36297,7 @@ - + @@ -36318,7 +36318,7 @@ - + @@ -36339,7 +36339,7 @@ - + @@ -36360,7 +36360,7 @@ - + @@ -36381,7 +36381,7 @@ - + @@ -36408,7 +36408,7 @@ - + @@ -36429,7 +36429,7 @@ - + @@ -36453,7 +36453,7 @@ - + @@ -36477,7 +36477,7 @@ - + @@ -36501,7 +36501,7 @@ - + @@ -36525,7 +36525,7 @@ - + @@ -36549,7 +36549,7 @@ - + @@ -36573,7 +36573,7 @@ - + @@ -36591,7 +36591,7 @@ - + @@ -36612,7 +36612,7 @@ - + @@ -36639,7 +36639,7 @@ - + @@ -36666,7 +36666,7 @@ - + @@ -36687,7 +36687,7 @@ - + @@ -36708,7 +36708,7 @@ - + @@ -36735,7 +36735,7 @@ - + @@ -36756,7 +36756,7 @@ - + @@ -36777,7 +36777,7 @@ - + @@ -36792,7 +36792,7 @@ - + @@ -36813,7 +36813,7 @@ - + @@ -36837,7 +36837,7 @@ - + @@ -36858,7 +36858,7 @@ - + @@ -36879,7 +36879,7 @@ - + @@ -36897,7 +36897,7 @@ - + @@ -36915,7 +36915,7 @@ - + @@ -36939,7 +36939,7 @@ - + @@ -36963,7 +36963,7 @@ - + @@ -36987,7 +36987,7 @@ - + @@ -37011,7 +37011,7 @@ - + @@ -37035,7 +37035,7 @@ - + @@ -37056,7 +37056,7 @@ - + @@ -37077,7 +37077,7 @@ - + @@ -37101,7 +37101,7 @@ - + @@ -37128,7 +37128,7 @@ - + @@ -37149,7 +37149,7 @@ - + @@ -37167,7 +37167,7 @@ - + @@ -37185,7 +37185,7 @@ - + @@ -37203,7 +37203,7 @@ - + @@ -37224,7 +37224,7 @@ - + @@ -37251,7 +37251,7 @@ - + @@ -37278,7 +37278,7 @@ - + @@ -37299,7 +37299,7 @@ - + @@ -37323,7 +37323,7 @@ - + @@ -37347,7 +37347,7 @@ - + @@ -37371,7 +37371,7 @@ - + @@ -37392,7 +37392,7 @@ - + @@ -37419,7 +37419,7 @@ - + @@ -37440,7 +37440,7 @@ - + @@ -37461,7 +37461,7 @@ - + @@ -37473,7 +37473,7 @@ - + @@ -37488,7 +37488,7 @@ - + @@ -37509,7 +37509,7 @@ - + @@ -37533,7 +37533,7 @@ - + @@ -37554,7 +37554,7 @@ - + @@ -37575,7 +37575,7 @@ - + @@ -37590,7 +37590,7 @@ - + @@ -37605,7 +37605,7 @@ - + @@ -37620,7 +37620,7 @@ - + @@ -37635,7 +37635,7 @@ - + @@ -37653,7 +37653,7 @@ - + @@ -37671,7 +37671,7 @@ - + @@ -37695,7 +37695,7 @@ - + @@ -37719,7 +37719,7 @@ - + @@ -37743,7 +37743,7 @@ - + @@ -37767,7 +37767,7 @@ - + @@ -37791,7 +37791,7 @@ - + @@ -37815,7 +37815,7 @@ - + @@ -37842,7 +37842,7 @@ - + @@ -37869,7 +37869,7 @@ - + @@ -37890,7 +37890,7 @@ - + @@ -37908,7 +37908,7 @@ - + @@ -37926,7 +37926,7 @@ - + @@ -37950,7 +37950,7 @@ - + @@ -37965,7 +37965,7 @@ - + @@ -37980,7 +37980,7 @@ - + @@ -37995,7 +37995,7 @@ - + @@ -38010,7 +38010,7 @@ - + @@ -38022,7 +38022,7 @@ - + @@ -38037,7 +38037,7 @@ - + @@ -38052,7 +38052,7 @@ - + @@ -38067,7 +38067,7 @@ - + @@ -38082,7 +38082,7 @@ - + @@ -38094,7 +38094,7 @@ - + @@ -38106,7 +38106,7 @@ - + diff --git a/specifications/vsphere/wsdl/vim/vsan.wsdl b/specifications/vsphere/wsdl/vim/vsan.wsdl index 44d68a7..8fbd66d 100644 --- a/specifications/vsphere/wsdl/vim/vsan.wsdl +++ b/specifications/vsphere/wsdl/vim/vsan.wsdl @@ -9080,7 +9080,7 @@ - + @@ -9107,7 +9107,7 @@ - + @@ -9128,7 +9128,7 @@ - + @@ -9149,7 +9149,7 @@ - + @@ -9170,7 +9170,7 @@ - + @@ -9194,7 +9194,7 @@ - + @@ -9218,7 +9218,7 @@ - + @@ -9242,7 +9242,7 @@ - + @@ -9257,7 +9257,7 @@ - + @@ -9272,7 +9272,7 @@ - + @@ -9284,7 +9284,7 @@ - + @@ -9296,7 +9296,7 @@ - + @@ -9308,7 +9308,7 @@ - + @@ -9323,7 +9323,7 @@ - + @@ -9338,7 +9338,7 @@ - + @@ -9353,7 +9353,7 @@ - + @@ -9368,7 +9368,7 @@ - + @@ -9383,7 +9383,7 @@ - + @@ -9398,7 +9398,7 @@ - + @@ -9413,7 +9413,7 @@ - + @@ -9428,7 +9428,7 @@ - + @@ -9443,7 +9443,7 @@ - + @@ -9458,7 +9458,7 @@ - + @@ -9473,7 +9473,7 @@ - + @@ -9488,7 +9488,7 @@ - + @@ -9503,7 +9503,7 @@ - + @@ -9518,7 +9518,7 @@ - + @@ -9536,7 +9536,7 @@ - + @@ -9548,7 +9548,7 @@ - + @@ -9563,7 +9563,7 @@ - + @@ -9578,7 +9578,7 @@ - + @@ -9593,7 +9593,7 @@ - + @@ -9611,7 +9611,7 @@ - + @@ -9632,7 +9632,7 @@ - + @@ -9650,7 +9650,7 @@ - + @@ -9668,7 +9668,7 @@ - + @@ -9689,7 +9689,7 @@ - + @@ -9704,7 +9704,7 @@ - + @@ -9725,7 +9725,7 @@ - + @@ -9743,7 +9743,7 @@ - + @@ -9758,7 +9758,7 @@ - + @@ -9782,7 +9782,7 @@ - + @@ -9806,7 +9806,7 @@ - + @@ -9830,7 +9830,7 @@ - + @@ -9854,7 +9854,7 @@ - + @@ -9878,7 +9878,7 @@ - + @@ -9893,7 +9893,7 @@ - + @@ -9908,7 +9908,7 @@ - + @@ -9923,7 +9923,7 @@ - + @@ -9938,7 +9938,7 @@ - + @@ -9953,7 +9953,7 @@ - + @@ -9968,7 +9968,7 @@ - + @@ -9983,7 +9983,7 @@ - + @@ -9998,7 +9998,7 @@ - + @@ -10013,7 +10013,7 @@ - + @@ -10028,7 +10028,7 @@ - + @@ -10043,7 +10043,7 @@ - + @@ -10058,7 +10058,7 @@ - + @@ -10073,7 +10073,7 @@ - + @@ -10088,7 +10088,7 @@ - + @@ -10103,7 +10103,7 @@ - + @@ -10118,7 +10118,7 @@ - + @@ -10133,7 +10133,7 @@ - + @@ -10148,7 +10148,7 @@ - + @@ -10163,7 +10163,7 @@ - + @@ -10178,7 +10178,7 @@ - + @@ -10193,7 +10193,7 @@ - + @@ -10208,7 +10208,7 @@ - + @@ -10223,7 +10223,7 @@ - + @@ -10247,7 +10247,7 @@ - + @@ -10271,7 +10271,7 @@ - + @@ -10289,7 +10289,7 @@ - + @@ -10307,7 +10307,7 @@ - + @@ -10322,7 +10322,7 @@ - + @@ -10337,7 +10337,7 @@ - + @@ -10352,7 +10352,7 @@ - + @@ -10370,7 +10370,7 @@ - + @@ -10388,7 +10388,7 @@ - + @@ -10415,7 +10415,7 @@ - + @@ -10442,7 +10442,7 @@ - + @@ -10469,7 +10469,7 @@ - + @@ -10490,7 +10490,7 @@ - + @@ -10517,7 +10517,7 @@ - + @@ -10532,7 +10532,7 @@ - + @@ -10559,7 +10559,7 @@ - + @@ -10577,7 +10577,7 @@ - + @@ -10607,7 +10607,7 @@ - + @@ -10625,7 +10625,7 @@ - + @@ -10655,7 +10655,7 @@ - + @@ -10679,7 +10679,7 @@ - + @@ -10694,7 +10694,7 @@ - + @@ -10721,7 +10721,7 @@ - + @@ -10748,7 +10748,7 @@ - + @@ -10775,7 +10775,7 @@ - + @@ -10802,7 +10802,7 @@ - + @@ -10814,7 +10814,7 @@ - + @@ -10826,7 +10826,7 @@ - + @@ -10838,7 +10838,7 @@ - + @@ -10853,7 +10853,7 @@ - + @@ -10871,7 +10871,7 @@ - + @@ -10883,7 +10883,7 @@ - + @@ -10898,7 +10898,7 @@ - + @@ -10913,7 +10913,7 @@ - + @@ -10931,7 +10931,7 @@ - + @@ -10952,7 +10952,7 @@ - + @@ -10970,7 +10970,7 @@ - + @@ -10991,7 +10991,7 @@ - + @@ -11006,7 +11006,7 @@ - + @@ -11024,7 +11024,7 @@ - + @@ -11039,7 +11039,7 @@ - + @@ -11060,7 +11060,7 @@ - + @@ -11078,7 +11078,7 @@ - + @@ -11096,7 +11096,7 @@ - + @@ -11114,7 +11114,7 @@ - + @@ -11126,7 +11126,7 @@ - + @@ -11138,7 +11138,7 @@ - + @@ -11150,7 +11150,7 @@ - + @@ -11165,7 +11165,7 @@ - + @@ -11183,7 +11183,7 @@ - + @@ -11195,7 +11195,7 @@ - + @@ -11207,7 +11207,7 @@ - + @@ -11222,7 +11222,7 @@ - + @@ -11237,7 +11237,7 @@ - + @@ -11258,7 +11258,7 @@ - + @@ -11276,7 +11276,7 @@ - + @@ -11291,7 +11291,7 @@ - + @@ -11306,7 +11306,7 @@ - + @@ -11324,7 +11324,7 @@ - + @@ -11342,7 +11342,7 @@ - + @@ -11360,7 +11360,7 @@ - + @@ -11375,7 +11375,7 @@ - + @@ -11387,7 +11387,7 @@ - + @@ -11402,7 +11402,7 @@ - + @@ -11423,7 +11423,7 @@ - + @@ -11444,7 +11444,7 @@ - + @@ -11465,7 +11465,7 @@ - + @@ -11477,7 +11477,7 @@ - + @@ -11495,7 +11495,7 @@ - + @@ -11516,7 +11516,7 @@ - + @@ -11534,7 +11534,7 @@ - + @@ -11552,7 +11552,7 @@ - + @@ -11567,7 +11567,7 @@ - + @@ -11582,7 +11582,7 @@ - + @@ -11600,7 +11600,7 @@ - + @@ -11618,7 +11618,7 @@ - + @@ -11633,7 +11633,7 @@ - + @@ -11654,7 +11654,7 @@ - + @@ -11672,7 +11672,7 @@ - + @@ -11693,7 +11693,7 @@ - + @@ -11714,7 +11714,7 @@ - + @@ -11735,7 +11735,7 @@ - + @@ -11756,7 +11756,7 @@ - + @@ -11777,7 +11777,7 @@ - + @@ -11798,7 +11798,7 @@ - + @@ -11819,7 +11819,7 @@ - + @@ -11837,7 +11837,7 @@ - + @@ -11858,7 +11858,7 @@ - + @@ -11876,7 +11876,7 @@ - + @@ -11894,7 +11894,7 @@ - + @@ -11909,7 +11909,7 @@ - + @@ -11927,7 +11927,7 @@ - + @@ -11942,7 +11942,7 @@ - + @@ -11954,7 +11954,7 @@ - + @@ -11975,7 +11975,7 @@ - + @@ -11990,7 +11990,7 @@ - + @@ -12005,7 +12005,7 @@ - + @@ -12020,7 +12020,7 @@ - + @@ -12035,7 +12035,7 @@ - + @@ -12050,7 +12050,7 @@ - + @@ -12065,7 +12065,7 @@ - + @@ -12080,7 +12080,7 @@ - + @@ -12095,7 +12095,7 @@ - + @@ -12110,7 +12110,7 @@ - + @@ -12125,7 +12125,7 @@ - + @@ -12140,7 +12140,7 @@ - + @@ -12155,7 +12155,7 @@ - + @@ -12170,7 +12170,7 @@ - + @@ -12194,7 +12194,7 @@ - + @@ -12215,7 +12215,7 @@ - + @@ -12236,7 +12236,7 @@ - + @@ -12254,7 +12254,7 @@ - + @@ -12272,7 +12272,7 @@ - + @@ -12287,7 +12287,7 @@ - + @@ -12305,7 +12305,7 @@ - + @@ -12323,7 +12323,7 @@ - + @@ -12338,7 +12338,7 @@ - + @@ -12356,7 +12356,7 @@ - + @@ -12374,7 +12374,7 @@ - + @@ -12398,7 +12398,7 @@ - + @@ -12422,7 +12422,7 @@ - + @@ -12434,7 +12434,7 @@ - + @@ -12449,7 +12449,7 @@ - + @@ -12467,7 +12467,7 @@ - + @@ -12488,7 +12488,7 @@ - + @@ -12509,7 +12509,7 @@ - + @@ -12530,7 +12530,7 @@ - + @@ -12554,7 +12554,7 @@ - + @@ -12581,7 +12581,7 @@ - + @@ -12605,7 +12605,7 @@ - + @@ -12623,7 +12623,7 @@ - + @@ -12641,7 +12641,7 @@ - + @@ -12662,7 +12662,7 @@ - + @@ -12683,7 +12683,7 @@ - + @@ -12704,7 +12704,7 @@ - + @@ -12722,7 +12722,7 @@ - + @@ -12746,7 +12746,7 @@ - + @@ -12767,7 +12767,7 @@ - + @@ -12791,7 +12791,7 @@ - + @@ -12821,7 +12821,7 @@ - + @@ -12842,7 +12842,7 @@ - + @@ -12857,7 +12857,7 @@ - + @@ -12872,7 +12872,7 @@ - + @@ -12887,7 +12887,7 @@ - + @@ -12902,7 +12902,7 @@ - + @@ -12920,7 +12920,7 @@ - + @@ -12938,7 +12938,7 @@ - + @@ -12953,7 +12953,7 @@ - + @@ -12968,7 +12968,7 @@ - + @@ -12983,7 +12983,7 @@ - + @@ -12998,7 +12998,7 @@ - + @@ -13025,7 +13025,7 @@ - + @@ -13043,7 +13043,7 @@ - + @@ -13061,7 +13061,7 @@ - + @@ -13076,7 +13076,7 @@ - + @@ -13091,7 +13091,7 @@ - + @@ -13106,7 +13106,7 @@ - + @@ -13121,7 +13121,7 @@ - + @@ -13136,7 +13136,7 @@ - + @@ -13151,7 +13151,7 @@ - + @@ -13166,7 +13166,7 @@ - + @@ -13181,7 +13181,7 @@ - + @@ -13202,7 +13202,7 @@ - + @@ -13217,7 +13217,7 @@ - + @@ -13232,7 +13232,7 @@ - + @@ -13247,7 +13247,7 @@ - + @@ -13262,7 +13262,7 @@ - + @@ -13280,7 +13280,7 @@ - + @@ -13292,7 +13292,7 @@ - + @@ -13304,7 +13304,7 @@ - + @@ -13316,7 +13316,7 @@ - + @@ -13328,7 +13328,7 @@ - + @@ -13343,7 +13343,7 @@ - + @@ -13355,7 +13355,7 @@ - + @@ -13370,7 +13370,7 @@ - + @@ -13385,7 +13385,7 @@ - + @@ -13397,7 +13397,7 @@ - + @@ -13415,7 +13415,7 @@ - + @@ -13436,7 +13436,7 @@ - + @@ -13454,7 +13454,7 @@ - + @@ -13472,7 +13472,7 @@ - + @@ -13490,7 +13490,7 @@ - + @@ -13508,7 +13508,7 @@ - + @@ -13526,7 +13526,7 @@ - + @@ -13547,7 +13547,7 @@ - + @@ -13568,7 +13568,7 @@ - + @@ -13589,7 +13589,7 @@ - + @@ -13604,7 +13604,7 @@ - + @@ -13616,7 +13616,7 @@ - + @@ -13628,7 +13628,7 @@ - + @@ -13640,7 +13640,7 @@ - + @@ -13658,7 +13658,7 @@ - + @@ -13676,7 +13676,7 @@ - + @@ -13694,7 +13694,7 @@ - + @@ -13709,7 +13709,7 @@ - + @@ -13727,7 +13727,7 @@ - + @@ -13745,7 +13745,7 @@ - + @@ -13763,7 +13763,7 @@ - + @@ -13781,7 +13781,7 @@ - + @@ -13796,7 +13796,7 @@ - + @@ -13808,7 +13808,7 @@ - + @@ -13826,7 +13826,7 @@ - + @@ -13844,7 +13844,7 @@ - + @@ -13862,7 +13862,7 @@ - + @@ -13880,7 +13880,7 @@ - + @@ -13898,7 +13898,7 @@ - + @@ -13925,7 +13925,7 @@ - + @@ -13943,7 +13943,7 @@ - + @@ -13958,7 +13958,7 @@ - + @@ -13970,7 +13970,7 @@ - + @@ -13985,7 +13985,7 @@ - + @@ -14000,7 +14000,7 @@ - + @@ -14021,7 +14021,7 @@ - + @@ -14042,7 +14042,7 @@ - + @@ -14057,7 +14057,7 @@ - + @@ -14078,7 +14078,7 @@ - + @@ -14099,7 +14099,7 @@ - + @@ -14117,7 +14117,7 @@ - + @@ -14135,7 +14135,7 @@ - + @@ -14150,7 +14150,7 @@ - + @@ -14165,7 +14165,7 @@ - + @@ -14180,7 +14180,7 @@ - + @@ -14192,7 +14192,7 @@ - + @@ -14204,7 +14204,7 @@ - + @@ -14216,7 +14216,7 @@ - + @@ -14228,7 +14228,7 @@ - + @@ -14240,7 +14240,7 @@ - + @@ -14258,7 +14258,7 @@ - + @@ -14270,7 +14270,7 @@ - + @@ -14282,7 +14282,7 @@ - + @@ -14306,7 +14306,7 @@ - +
      Traffic Filter Config Supported classes