openapi: 3.0.1 info: title: OpenAPI definition version: v0 servers: - url: https://localhost:9443 description: Generated server url tags: - name: task description: Task Controller - name: login description: Login Controller - name: environment description: Lifecycle Management Environment Controller - name: product description: Lifecycle Management Product Controller - name: about description: About CP LCM paths: /api/v1/task/{taskId}: get: tags: - task summary: Get a specific task. operationId: getTask parameters: - name: taskId in: path required: true schema: type: integer format: int64 responses: "401": description: Unauthorized access content: '*/*': schema: $ref: '#/components/schemas/Task' "200": description: Details of requested tasks. content: '*/*': schema: $ref: '#/components/schemas/Task' put: tags: - task summary: Cancel or restart a task. operationId: updateTask parameters: - name: taskId in: path required: true schema: type: integer format: int64 - name: action in: query required: true schema: pattern: ^(cancel)|(restart)$ type: string responses: "200": description: Task ID for the task to cancel. "404": description: Task doesn't exist "401": description: Unauthorized access /api/v1/lcm/environment/{environmentId}/product/{productId}/upgrade: put: tags: - product summary: Upgrade a deployed product in an LCM environment. operationId: upgradeProduct parameters: - name: action in: query required: false schema: type: string default: VALIDATE enum: - UPGRADE - VALIDATE - name: ignoreValidation in: query required: false schema: type: boolean default: false - name: disableRollback in: query required: false schema: type: boolean default: false - name: environmentId in: path required: true schema: type: string - name: productId in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ProductUpgradeSpec' required: true responses: "200": description: Task ID for the task updating the product. content: '*/*': schema: $ref: '#/components/schemas/TaskResponse' "400": description: Invalid product spec content: '*/*': schema: $ref: '#/components/schemas/TaskResponse' "401": description: Unauthorized access content: '*/*': schema: $ref: '#/components/schemas/TaskResponse' /api/v1/lcm/environment/{environmentId}/product/{productId}/node/{nodeId}: get: tags: - product summary: Get a product node by node id. operationId: getProductNodeSpecById parameters: - name: environmentId in: path required: true schema: type: string - name: productId in: path required: true schema: type: string - name: nodeId in: path required: true schema: type: integer format: int32 responses: "200": description: One product node. content: '*/*': schema: $ref: '#/components/schemas/ProductNodeSpec' "404": description: Environment or product doesn't exist content: '*/*': schema: $ref: '#/components/schemas/ProductNodeSpec' "400": description: Invalid product node spec content: '*/*': schema: $ref: '#/components/schemas/ProductNodeSpec' "401": description: Unauthorized access content: '*/*': schema: $ref: '#/components/schemas/ProductNodeSpec' put: tags: - product summary: Redeploy a product node by node id. operationId: redeployProductNode parameters: - name: environmentId in: path required: true schema: type: string - name: productId in: path required: true schema: type: string - name: nodeId in: path required: true schema: type: integer format: int32 - name: force in: query required: false schema: type: boolean default: false responses: "405": description: "Product does not support redeployment of nodes. In order to\ \ redeploy, delete the product from the environment or the entire environment." content: '*/*': schema: $ref: '#/components/schemas/TaskResponse' "404": description: Environment or product doesn't exist content: '*/*': schema: $ref: '#/components/schemas/TaskResponse' "400": description: Invalid product node spec content: '*/*': schema: $ref: '#/components/schemas/TaskResponse' "200": description: Task ID for the task that redeploys a product node. content: '*/*': schema: $ref: '#/components/schemas/TaskResponse' "401": description: Unauthorized access content: '*/*': schema: $ref: '#/components/schemas/TaskResponse' delete: tags: - product summary: Delete a product node by node id. operationId: deleteProductNode parameters: - name: environmentId in: path required: true schema: type: string - name: productId in: path required: true schema: type: string - name: nodeId in: path required: true schema: type: integer format: int32 - name: force in: query required: false schema: type: boolean default: false responses: "405": description: "Product does not support deletion of nodes. In order to delete\ \ the single node, delete the product or the entire environment" content: '*/*': schema: $ref: '#/components/schemas/TaskResponse' "200": description: Task ID for the task that deletes a product node. content: '*/*': schema: $ref: '#/components/schemas/TaskResponse' "404": description: Environment or product doesn't exist content: '*/*': schema: $ref: '#/components/schemas/TaskResponse' "400": description: Invalid product node spec content: '*/*': schema: $ref: '#/components/schemas/TaskResponse' "401": description: Unauthorized access content: '*/*': schema: $ref: '#/components/schemas/TaskResponse' patch: tags: - product summary: Update a product node by node id. operationId: updateProductNode parameters: - name: environmentId in: path required: true schema: type: string - name: productId in: path required: true schema: type: string - name: nodeId in: path required: true schema: type: integer format: int32 - name: ignoreValidation in: query required: false schema: type: boolean default: false - name: force in: query required: false schema: type: boolean default: false requestBody: content: application/json: schema: $ref: '#/components/schemas/ProductUpdateNodeSpec' required: true responses: "404": description: Environment or product doesn't exist content: '*/*': schema: $ref: '#/components/schemas/TaskResponse' "400": description: Invalid product node spec content: '*/*': schema: $ref: '#/components/schemas/TaskResponse' "401": description: Unauthorized access content: '*/*': schema: $ref: '#/components/schemas/TaskResponse' "200": description: Task ID for the task that updates a product node. content: '*/*': schema: $ref: '#/components/schemas/TaskResponse' /api/v1/lcm/environment/{environmentId}/product/{productId}/certificate: get: tags: - product summary: Get product certificate's details. operationId: getCertificate parameters: - name: environmentId in: path required: true schema: type: string - name: productId in: path required: true schema: type: string responses: "200": description: Product certificate's details. content: '*/*': schema: type: object additionalProperties: $ref: '#/components/schemas/CertificateSpec' "401": description: Unauthorized access content: '*/*': schema: type: object additionalProperties: $ref: '#/components/schemas/CertificateSpec' put: tags: - product summary: Update a product certificate. operationId: configureCertificate parameters: - name: environmentId in: path required: true schema: type: string - name: productId in: path required: true schema: type: string requestBody: content: application/json: schema: type: object additionalProperties: $ref: '#/components/schemas/CertificateSpec' required: true responses: "200": description: Task ID for the task updating a product certificate. content: '*/*': schema: $ref: '#/components/schemas/TaskResponse' "401": description: Unauthorized access content: '*/*': schema: $ref: '#/components/schemas/TaskResponse' "400": description: Invalid product certificate spec content: '*/*': schema: $ref: '#/components/schemas/TaskResponse' /api/v1/session: post: tags: - login summary: Perform login with specified credentials and generate session token. operationId: login requestBody: content: application/json: schema: $ref: '#/components/schemas/LoginCredentials' required: true responses: "200": description: Session ID for logged in user. content: '*/*': schema: $ref: '#/components/schemas/LoginResponse' "401": description: Unauthorized access content: '*/*': schema: $ref: '#/components/schemas/LoginResponse' /api/v1/lcm/environment: get: tags: - environment summary: Get all deployed LCM environments. operationId: getEnvironmentList responses: "200": description: List of LCM environments. content: '*/*': schema: type: array items: $ref: '#/components/schemas/EnvironmentSpec' "401": description: Unauthorized access content: '*/*': schema: type: array items: $ref: '#/components/schemas/EnvironmentSpec' post: tags: - environment summary: Create a new LCM environment by deploying the specified products. operationId: createEnvironment parameters: - name: action in: query required: false schema: type: string default: VALIDATE enum: - DEPLOY - IMPORT - VALIDATE - name: ignoreValidation in: query required: false schema: type: boolean default: false requestBody: content: application/json: schema: $ref: '#/components/schemas/EnvironmentSpec' required: true responses: "400": description: Invalid environment spec content: '*/*': schema: $ref: '#/components/schemas/TaskResponse' "401": description: Unauthorized access content: '*/*': schema: $ref: '#/components/schemas/TaskResponse' "200": description: Task ID for the task creating the environment. content: '*/*': schema: $ref: '#/components/schemas/TaskResponse' /api/v1/lcm/environment/{environmentId}/product/{productId}/node: get: tags: - product summary: Get all product nodes. operationId: getAllProductNodes parameters: - name: environmentId in: path required: true schema: type: string - name: productId in: path required: true schema: type: string responses: "200": description: List of product nodes. content: '*/*': schema: type: array items: $ref: '#/components/schemas/ProductNodeSpec' "404": description: Environment or product doesn't exist content: '*/*': schema: type: array items: $ref: '#/components/schemas/ProductNodeSpec' "400": description: Invalid product node spec content: '*/*': schema: type: array items: $ref: '#/components/schemas/ProductNodeSpec' "401": description: Unauthorized access content: '*/*': schema: type: array items: $ref: '#/components/schemas/ProductNodeSpec' post: tags: - product summary: Create a new product node. operationId: addProductNode parameters: - name: environmentId in: path required: true schema: type: string - name: productId in: path required: true schema: type: string - name: disableRollback in: query required: false schema: type: boolean default: false requestBody: content: application/json: schema: $ref: '#/components/schemas/ProductNodeSpec' required: true responses: "405": description: The number of deployed nodes reached the allowed maximum content: '*/*': schema: $ref: '#/components/schemas/TaskResponse' "404": description: Environment or product doesn't exist content: '*/*': schema: $ref: '#/components/schemas/TaskResponse' "200": description: Task ID for the task that adds a new product node. content: '*/*': schema: $ref: '#/components/schemas/TaskResponse' "400": description: Invalid product node spec content: '*/*': schema: $ref: '#/components/schemas/TaskResponse' "401": description: Unauthorized access content: '*/*': schema: $ref: '#/components/schemas/TaskResponse' /api/v1/task: get: tags: - task summary: Get all task for CP LCM requests. operationId: getTasks responses: "200": description: List of tasks. content: '*/*': schema: type: array items: $ref: '#/components/schemas/Task' "401": description: Unauthorized access content: '*/*': schema: type: array items: $ref: '#/components/schemas/Task' /api/v1/lcm/environment/{environmentId}: get: tags: - environment summary: Get a deployed LCM environment by ID. operationId: getEnvironment parameters: - name: environmentId in: path required: true schema: type: string responses: "404": description: Requested environment not found content: '*/*': schema: $ref: '#/components/schemas/EnvironmentSpec' "200": description: Details of LCM environment. content: '*/*': schema: $ref: '#/components/schemas/EnvironmentSpec' "401": description: Unauthorized access content: '*/*': schema: $ref: '#/components/schemas/EnvironmentSpec' /api/about: get: tags: - about summary: Show version information for CP LCM. operationId: getAbout responses: "200": description: Version information for CP LCM content: '*/*': schema: $ref: '#/components/schemas/About' "401": description: Unauthorized access content: '*/*': schema: $ref: '#/components/schemas/About' components: schemas: ProductUpgradeSpec: required: - upgradeDetails type: object properties: upgradeDetails: $ref: '#/components/schemas/UpgradeDetailsSpec' UpgradeDetailsSpec: required: - targetVersion type: object properties: targetVersion: type: string additionalProperties: type: object additionalProperties: type: object TaskResponse: required: - taskId type: object properties: taskId: type: string CertificateSpec: required: - certificate type: object properties: certificate: pattern: "^(-----BEGIN CERTIFICATE-----\\n[A-Za-z0-9+/\r\n]+={0,2}\\n-----END\ \ CERTIFICATE-----(\\n?))+$" type: string description: Certificate (single or chain) in PEM format. privateKey: pattern: "^-----BEGIN RSA PRIVATE KEY-----\\n[A-Za-z0-9+/\r\n]+={0,2}\\\ n-----END RSA PRIVATE KEY-----(\\n?)$" type: string description: Private key in PEM format. validFrom: type: string validTo: type: string thumbprint: type: string LoginCredentials: required: - password - username type: object properties: username: type: string password: type: string LoginResponse: type: object properties: jsessionID: type: string VcdIntegrationSpec: required: - integrationPassword - integrationUsername type: object properties: properties: type: object additionalProperties: type: object integrationId: pattern: "^[^;'\"]{1,80}$" type: string description: ID of an integration. integrationUsername: pattern: "^[^;'\"]{1,80}$" type: string description: Username for an integration. integrationPassword: pattern: "^[^'\"]{2,24}$" type: string description: Password for an integration. anyOf: - $ref: '#/components/schemas/VcdNsxtIntegration' - $ref: '#/components/schemas/VcdRmqIntegration' - $ref: '#/components/schemas/VcdVcenterIntegration' UsageIntegrationSpec: required: - integrationPassword - integrationUsername type: object properties: properties: type: object additionalProperties: type: object integrationId: pattern: "^[^;'\"]{1,80}$" type: string description: ID of an integration. integrationUsername: pattern: "^[^;'\"]{1,80}$" type: string description: Username for an integration. integrationPassword: pattern: "^[^'\"]{2,24}$" type: string description: Password for an integration. anyOf: - $ref: '#/components/schemas/UsageNsxtIntegration' - $ref: '#/components/schemas/UsageVcdIntegration' - $ref: '#/components/schemas/UsageVcenterIntegration' - $ref: '#/components/schemas/UsageVropsIntegration' VropstaIntegrationSpec: required: - integrationPassword - integrationUsername type: object properties: properties: type: object additionalProperties: type: object integrationId: pattern: "^[^;'\"]{1,80}$" type: string description: ID of an integration. integrationUsername: pattern: "^[^;'\"]{1,80}$" type: string description: Username for an integration. integrationPassword: pattern: "^[^'\"]{2,24}$" type: string description: Password for an integration. anyOf: - $ref: '#/components/schemas/VropstaVcdIntegration' - $ref: '#/components/schemas/VropstaVropsIntegration' RmqIntegrationSpec: required: - integrationPassword - integrationUsername type: object properties: properties: type: object additionalProperties: type: object integrationId: pattern: "^[^;'\"]{1,80}$" type: string description: ID of an integration. integrationUsername: pattern: "^[^;'\"]{1,80}$" type: string description: Username for an integration. integrationPassword: pattern: "^[^'\"]{2,24}$" type: string description: Password for an integration. BaseIntegrationSpec: required: - integrationPassword - integrationUsername type: object properties: properties: type: object additionalProperties: type: object integrationId: pattern: "^[^;'\"]{1,80}$" type: string description: ID of an integration. integrationUsername: pattern: "^[^;'\"]{1,80}$" type: string description: Username for an integration. integrationPassword: pattern: "^[^'\"]{2,24}$" type: string description: Password for an integration. anyOf: - $ref: '#/components/schemas/VropstaVcdIntegration' - $ref: '#/components/schemas/VropstaVropsIntegration' - $ref: '#/components/schemas/UsageNsxtIntegration' - $ref: '#/components/schemas/UsageVcdIntegration' - $ref: '#/components/schemas/UsageVcenterIntegration' - $ref: '#/components/schemas/UsageVropsIntegration' - $ref: '#/components/schemas/VcdNsxtIntegration' - $ref: '#/components/schemas/VcdRmqIntegration' - $ref: '#/components/schemas/VcdVcenterIntegration' DeploymentInfrastructure: required: - vcenter type: object properties: vcenter: $ref: '#/components/schemas/VcenterSpec' nsxt: $ref: '#/components/schemas/NsxtSpec' EnvironmentSpec: required: - deploymentInfrastructures - environmentName - products type: object properties: environmentName: type: string description: "Name of an environment. If no ID is specified, this name will\ \ be normalized and used as ID." environmentId: type: string description: ID of an environment. environmentState: type: string products: type: array items: $ref: '#/components/schemas/ProductSpec' deploymentInfrastructures: type: object additionalProperties: $ref: '#/components/schemas/DeploymentInfrastructure' NetworkSpec: required: - gateway - portGroupName - subnetMask type: object properties: portGroupName: type: string description: vCenter port group name. gateway: pattern: "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$" type: string description: Gateway to be used for network's subnet. subnetMask: pattern: "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$" type: string description: Subnet mask to be used for network's subnet. domainName: 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])?$" type: string description: Domain name to be used for network's subnet. searchPath: type: array description: Domain search path to be used for network's subnet. items: type: string description: Domain search path to be used for network's subnet. useDhcp: type: boolean description: Flag indicating whether to use DHCP in the subnet. dns: type: array description: List of DNS servers for network's subnet. items: type: string description: List of DNS servers for network's subnet. ntp: type: array description: List of NTP servers for network's subnet. items: type: string description: List of NTP servers for network's subnet. description: List of networks (defining port groups and related subnets) used for deployments. NicSpec: required: - ipAddress - networkName type: object properties: ipAddress: pattern: "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$" type: string description: IP address to set for the NIC. networkName: type: string description: "Name of the network defined in the deployment infrastructure's\ \ vCenter networks. Note: This is not a VC port group but refers to the\ \ definition of the network that specifies the port group." staticRoutes: type: array description: List of static routes to configure for the NIC. items: type: string description: List of static routes to configure for the NIC. description: List of NICs to configure for the VM. NsxtSpec: required: - nsxCliPassword - nsxManagerIp - nsxRootPassword - nsxVip type: object properties: nsxVip: type: string nsxManagerIp: type: string nsxRootPassword: pattern: "^[^'\"]{2,24}$" type: string nsxCliPassword: pattern: "^[^'\"]{2,24}$" type: string ProductNodeSpec: required: - hostName - nics - rootPassword - vmName type: object properties: properties: type: object additionalProperties: type: object nodeId: type: integer format: int32 cpuNum: minimum: 1 type: integer description: Number of CPUs to configure the VM with. format: int32 ramMemory: minimum: 1024 type: integer description: Memory size (in MB) to configure the VM with. format: int32 hostName: 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])?$" type: string description: Hostname of the node. vmName: pattern: "^[a-zA-Z0-9][a-zA-Z0-9\\-_.()\\[\\]{}]{0,79}$" type: string description: VM name of the node. deploymentOption: type: string description: Deployment option of the VM (values depend on the product's OVF properties). nics: type: array description: List of NICs to configure for the VM. items: $ref: '#/components/schemas/NicSpec' datastoreName: type: string description: "Datastore to use for the VM. If not defined, the first datastore\ \ of specified deployment infrastructure vCenter will be used." clusterName: type: string description: "vCenter cluster name to use for the VM. If not defined, the\ \ cluster defined for specified deployment infrastructure vCenter will\ \ be used." resourcePool: type: string description: "vCenter resource pool name to use for the VM. If not defined,\ \ the resource pool defined for specified deployment infrastructure vCenter\ \ will be used." datacenterName: type: string description: "Datacenter name to use for the VM. If not defined, the datacenter\ \ defined for specified deployment infrastructure vCenter will be used." rootPassword: pattern: "^[^'\"]{2,24}$" type: string description: The password for root user (or similar admin user depending on OS). gateway: pattern: "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$" type: string description: "The gateway to configure for the VM. If not set, the value\ \ of the first NIC's network will be used." description: List of nodes for the product ProductSpec: required: - adminPassword - nodes - productId - productType - version type: object properties: properties: type: object additionalProperties: type: object infraReference: type: string productType: type: string description: "Product type, defining the type of application to integrate\ \ with (VCD, USAGE, RMQ, VROPSTA)." enum: - VCD - USAGE - VROPSTA - RMQ productId: type: string version: pattern: "^[0-9]+(\\.[0-9]+){0,3}(-[a-zA-Z0-9]+)?$" type: string description: Version of the product to deploy or import. license: pattern: "^([a-zA-Z0-9]{5}-){4}[a-zA-Z0-9]{5}$" type: string description: License for the product adminPassword: pattern: "^[^'\"]{2,24}$" type: string description: Admin password for the product's administrator account nodes: type: array description: List of nodes for the product items: $ref: '#/components/schemas/ProductNodeSpec' integrations: type: array description: List of integrations to configure for the product items: $ref: '#/components/schemas/BaseIntegrationSpec' certificate: type: object additionalProperties: $ref: '#/components/schemas/CertificateSpec' description: Certificates for the product anyOf: - $ref: '#/components/schemas/VcdProductSpec' - $ref: '#/components/schemas/UsageProductSpec' - $ref: '#/components/schemas/VropstaProductSpec' - $ref: '#/components/schemas/RmqProductSpec' RmqProductSpec: required: - adminPassword - nodes - productId - productType - version type: object properties: properties: type: object properties: diskMode: pattern: ^thin|thick|eagerZeroedThick$ type: string description: "The mode to use for creating the virtual disk of the VM\ \ (thin, thick, eagerZeroedThick). Default: thin" lbName: pattern: "^[^;'\"]{1,80}$" type: string description: The name of the load balancer for RabbitMQ. lbFqdn: 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])?$" type: string description: The FQDN of the load balancer for RabbitMQ. lbIp: pattern: "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$" type: string description: The IP address of the load balancer for RabbitMQ. portAmqpSsl: pattern: "^((6553[0-5])|(655[0-2][0-9])|(65[0-4][0-9]{2})|(6[0-4][0-9]{3})|([1-5][0-9]{4})|([1-9][0-9]{0,3}))$" type: string description: "Port to be configured for AMQP ssl service. Default: 5671" portRmqMgmt: pattern: "^((6553[0-5])|(655[0-2][0-9])|(65[0-4][0-9]{2})|(6[0-4][0-9]{3})|([1-5][0-9]{4})|([1-9][0-9]{0,3}))$" type: string description: "Port to be configured for RabbitMQ management service.\ \ Default: 15671" users: type: array description: List of user accounts to be created in RabbitMQ items: $ref: '#/components/schemas/VcplcmRmqUserProperties' infraReference: type: string productType: type: string description: "Product type, defining the type of application to integrate\ \ with (VCD, USAGE, RMQ, VROPSTA)." enum: - VCD - USAGE - VROPSTA - RMQ productId: type: string version: pattern: "^[0-9]+(\\.[0-9]+){0,3}(-[a-zA-Z0-9]+)?$" type: string description: Version of the product to deploy or import. license: pattern: "^([a-zA-Z0-9]{5}-){4}[a-zA-Z0-9]{5}$" type: string description: License for the product adminPassword: pattern: "^[^'\"]{2,24}$" type: string description: Admin password for the product's administrator account nodes: type: array description: List of nodes for the product items: $ref: '#/components/schemas/ProductNodeSpec' integrations: type: array description: List of integrations to configure for the product items: $ref: '#/components/schemas/RmqIntegrationSpec' certificate: type: object properties: product: $ref: '#/components/schemas/CertificateSpec' UsageNsxtIntegration: required: - hostname - integrationPassword - integrationUsername type: object properties: properties: type: object additionalProperties: type: object integrationId: pattern: "^[^;'\"]{1,80}$" type: string description: ID of an integration. integrationUsername: pattern: "^[^;'\"]{1,80}$" type: string description: Username for an integration. integrationPassword: pattern: "^[^'\"]{2,24}$" type: string description: Password for an integration. hostname: 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])?$" type: string description: Hostname or IP address of the integration port: maximum: 65535 minimum: 1 type: integer description: Port to connect to the integration's endpoint. format: int32 datacenterComponentId: type: string description: ID of the integration. datacenterComponentType: type: string enum: - VCENTER - NSXT - VRSLCM - VROPS - VRLI UsageProductSpec: required: - adminPassword - nodes - productId - productType - version type: object properties: properties: type: object properties: diskMode: pattern: ^thin|thick|eagerZeroedThick$ type: string description: "The mode to use for creating the virtual disk of the VM\ \ (thin, thick, eagerZeroedThick). Default: thin" auditorPassword: pattern: "^[^'\"]{2,24}$" type: string description: "The password to be used for auditor password. If not defined,\ \ the admin password will be used." proxy: $ref: '#/components/schemas/VcplcmUmProxyProperties' infraReference: type: string productType: type: string description: "Product type, defining the type of application to integrate\ \ with (VCD, USAGE, RMQ, VROPSTA)." enum: - VCD - USAGE - VROPSTA - RMQ productId: type: string version: pattern: "^[0-9]+(\\.[0-9]+){0,3}(-[a-zA-Z0-9]+)?$" type: string description: Version of the product to deploy or import. license: pattern: "^([a-zA-Z0-9]{5}-){4}[a-zA-Z0-9]{5}$" type: string description: License for the product adminPassword: pattern: "^[^'\"]{2,24}$" type: string description: Admin password for the product's administrator account nodes: type: array description: List of nodes for the product items: $ref: '#/components/schemas/ProductNodeSpec' integrations: type: array items: $ref: '#/components/schemas/UsageIntegrationSpec' certificate: type: object properties: product: $ref: '#/components/schemas/CertificateSpec' UsageVcdIntegration: required: - hostname - integrationPassword - integrationUsername type: object properties: properties: type: object additionalProperties: type: object integrationId: pattern: "^[^;'\"]{1,80}$" type: string description: ID of an integration. integrationUsername: pattern: "^[^;'\"]{1,80}$" type: string description: Username for an integration. integrationPassword: pattern: "^[^'\"]{2,24}$" type: string description: Password for an integration. hostname: 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])?$" type: string description: Hostname or IP address of the integration port: maximum: 65535 minimum: 1 type: integer description: Port to connect to the integration's endpoint. format: int32 productId: type: string description: ID of the integration. productType: type: string enum: - VCD - USAGE - VROPSTA - RMQ UsageVcenterIntegration: required: - hostname - integrationPassword - integrationUsername type: object properties: properties: type: object properties: externalSSO: type: boolean description: "Use an external Platform Service Controller (PSC) for\ \ authentication. Note: External PSC is currently not supported in\ \ VCP LCM, so default value is: false" vcfEdition: pattern: ^None|Basic|Standard|Enterprise$ type: string description: "The VCF edition to configure for vCenter collector (possible\ \ values: None, Basic, Standard, Enterprise). Default: None" integrationId: pattern: "^[^;'\"]{1,80}$" type: string description: ID of an integration. integrationUsername: pattern: "^[^;'\"]{1,80}$" type: string description: Username for an integration. integrationPassword: pattern: "^[^'\"]{2,24}$" type: string description: Password for an integration. hostname: 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])?$" type: string description: Hostname or IP address of the integration port: maximum: 65535 minimum: 1 type: integer description: Port to connect to the integration's endpoint. format: int32 datacenterComponentId: type: string description: ID of the integration. datacenterComponentType: type: string enum: - VCENTER - NSXT - VRSLCM - VROPS - VRLI UsageVropsIntegration: required: - hostname - integrationPassword - integrationUsername type: object properties: properties: type: object properties: vcReferences: type: array description: A list of vCenter integration IDs (refering to a vCenter integration configured as VC collector in UM). This will be used to identify the auto discovered vROPS collector in UM. items: type: string description: A list of vCenter integration IDs (refering to a vCenter integration configured as VC collector in UM). This will be used to identify the auto discovered vROPS collector in UM. integrationId: pattern: "^[^;'\"]{1,80}$" type: string description: ID of an integration. integrationUsername: pattern: "^[^;'\"]{1,80}$" type: string description: Username for an integration. integrationPassword: pattern: "^[^'\"]{2,24}$" type: string description: Password for an integration. hostname: 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])?$" type: string description: Hostname or IP address of the integration port: maximum: 65535 minimum: 1 type: integer description: Port to connect to the integration's endpoint. format: int32 datacenterComponentId: type: string description: ID of the integration. datacenterComponentType: type: string enum: - VCENTER - NSXT - VRSLCM - VROPS - VRLI VcdNsxtIntegration: required: - hostname - integrationPassword - integrationUsername type: object properties: properties: type: object properties: networkPools: type: object additionalProperties: type: string description: "Network pools, mapping VCD network pool name to NSXT\ \ transport zone." description: "Network pools, mapping VCD network pool name to NSXT transport\ \ zone." vcdExternalNetworks: type: object additionalProperties: $ref: '#/components/schemas/VcdNsxtIntegrationPropertiesExtNw' description: External networks nsxt_id: pattern: "^urn:vcloud:[0-9a-z]+:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$" type: string description: VCD URN identifying the NSXT instance. integrationId: pattern: "^[^;'\"]{1,80}$" type: string description: ID of an integration. integrationUsername: pattern: "^[^;'\"]{1,80}$" type: string description: Username for an integration. integrationPassword: pattern: "^[^'\"]{2,24}$" type: string description: Password for an integration. hostname: 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])?$" type: string description: Hostname or IP address of the integration port: maximum: 65535 minimum: 1 type: integer description: Port to connect to the integration's endpoint. format: int32 datacenterComponentId: type: string description: ID of the integration. datacenterComponentType: type: string enum: - VCENTER - NSXT - VRSLCM - VROPS - VRLI VcdNsxtIntegrationPropertiesExtNw: type: object properties: subnets: type: array description: List of subnets for external network. items: $ref: '#/components/schemas/VcdNsxtIntegrationPropertiesExtNwSubnet' description: pattern: "^[^;'\"]{1,80}$" type: string description: External network description. tier0Name: pattern: "^[^;'\"]{1,80}$" type: string description: Name of Tier 0 gateway this external network is backed by. tier0backingId: pattern: "^[^;'\"]{1,80}$" type: string description: ID of Tier 0 gateway this external network is backed by. backingType: pattern: ^NSXT_TIER0|NSXT_VRF_TIER0|NETWORK|DV_PORTGROUP$ type: string description: The backing type of this external network. description: External networks VcdNsxtIntegrationPropertiesExtNwSubnet: type: object properties: gateway: pattern: "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$" type: string description: The gateway defined for the external network. prefixLength: maximum: 31 minimum: 1 type: integer description: The subnet prefix for the external network format: int32 dnsSuffix: 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])?$" type: string description: The DNS suffix for the external network. dnsServer1: pattern: "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$" type: string description: The first DNS server for the external network. dnsServer2: pattern: "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$" type: string description: The second DNS server for the external network. ipRanges: type: array description: List of IP ranges for the external network. items: $ref: '#/components/schemas/VcdNsxtIntegrationPropertiesExtNwSubnetIpRange' description: List of subnets for external network. VcdNsxtIntegrationPropertiesExtNwSubnetIpRange: type: object properties: startAddress: pattern: "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$" type: string description: Start address (IP v4) of IP range. endAddress: pattern: "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$" type: string description: End address (IP v4) of IP range. description: List of IP ranges for the external network. VcdProductPublicAddressProperties: type: object properties: restApiBaseUri: pattern: "^(?:(http|https)://)?([a-zA-Z0-9-._]+)(?::([0-9]+))?(/[a-zA-Z0-9-._/]+)*(\\\ ?([^=&\n]+=[^=&\n]+)(?:&(?:amp;)?([^=&\n]+=[^=&\n]+))*)?$" type: string description: The URL to be used for public access to VCD REST API (https) restApiBaseHttpUri: pattern: "^(?:(http|https)://)?([a-zA-Z0-9-._]+)(?::([0-9]+))?(/[a-zA-Z0-9-._/]+)*(\\\ ?([^=&\n]+=[^=&\n]+)(?:&(?:amp;)?([^=&\n]+=[^=&\n]+))*)?$" type: string description: The URL to be used for public access to VCD REST API (http) tenantPortalExternalAddress: pattern: "^(?:(http|https)://)?([a-zA-Z0-9-._]+)(?::([0-9]+))?(/[a-zA-Z0-9-._/]+)*(\\\ ?([^=&\n]+=[^=&\n]+)(?:&(?:amp;)?([^=&\n]+=[^=&\n]+))*)?$" type: string description: The URL to be used for public access to tenant portal (https) tenantPortalExternalHttpAddress: pattern: "^(?:(http|https)://)?([a-zA-Z0-9-._]+)(?::([0-9]+))?(/[a-zA-Z0-9-._/]+)*(\\\ ?([^=&\n]+=[^=&\n]+)(?:&(?:amp;)?([^=&\n]+=[^=&\n]+))*)?$" type: string description: The URL to be used for public access to tenant portal (http) consoleProxyExternalAddress: pattern: "^(?:(http|https)://)?([a-zA-Z0-9-._]+)(?::([0-9]+))?(/[a-zA-Z0-9-._/]+)*(\\\ ?([^=&\n]+=[^=&\n]+)(?:&(?:amp;)?([^=&\n]+=[^=&\n]+))*)?$" type: string description: The address to be configured for public access to VCD console proxy. VcdProductSpec: required: - adminPassword - nodes - productId - productType - version type: object properties: properties: required: - dbPassword - nfsMount type: object properties: installationId: maximum: 63 minimum: 1 type: integer description: "The installation ID is used to generate unique MAC addresses\ \ for VMs running in the VCD instance. Default: 1" format: int32 systemName: pattern: "^[^;'\"]{1,80}$" type: string description: "The system name is used for the vCenter Server folder\ \ to create for this vCloud Director installation. Default: vcd1" dbPassword: pattern: "^[^'\"]{2,24}$" type: string description: The password to use for the integrated VCD Postgres database. adminEmail: pattern: "^[a-zA-Z0-9\\._\\-]+@[a-zA-Z0-9\\._\\-]+\\.[a-zA-Z0-9]{2,}$" type: string description: The email address of the system administrator. adminFullName: pattern: "^[^;'\"]{1,80}$" type: string description: "The full name of the system administrator. Default: vCD\ \ Admin" adminUsername: pattern: "^[^;'\"]{1,80}$" type: string description: "The username to use for the system administrator. Default:\ \ administrator" nfsMount: pattern: "^[^;'\":]+:(\\/[^;'\":]*)+$" type: string description: "The NFS share to be used for VCD cells transfer storage.\ \ Format: nfs_ip_address:nfs_mount_path" deploymentOption: pattern: "^[^;'\"]{1,80}$" type: string description: "The deployment option to use for the VCD cell (‘primary-large’\ , ‘standby-large’, ‘primary-small’, ‘standby-small’, ‘cell’, ‘large’\ , ‘small). Default: primary-large" diskMode: pattern: ^thin|thick|eagerZeroedThick$ type: string description: "The mode to use for creating the virtual disk of the VM\ \ (thin, thick, eagerZeroedThick). Default: thin" enableSsh: type: boolean description: "Option to enable or disable SSH for VCD cells. Default:\ \ true" expireRootPassword: type: boolean description: "Option to enable prompt for a new root password after\ \ deployment. Default: false" clusterFailoverMode: pattern: AUTOMATIC|MANUAL type: string description: "The VCD database cluster failover mode. Note: This cannot\ \ be configured by VCP LCM in version 1.1.0. Instead, it is discovered\ \ only from the environment." keystorePassword: pattern: "^[^'\"]{2,24}$" type: string description: The store password used for creating certificate keystore. publicAddress: $ref: '#/components/schemas/VcdProductPublicAddressProperties' infraReference: type: string productType: type: string description: "Product type, defining the type of application to integrate\ \ with (VCD, USAGE, RMQ, VROPSTA)." enum: - VCD - USAGE - VROPSTA - RMQ productId: type: string version: pattern: "^[0-9]+(\\.[0-9]+){0,3}(-[a-zA-Z0-9]+)?$" type: string description: Version of the product to deploy or import. license: pattern: "^([a-zA-Z0-9]{5}-){4}[a-zA-Z0-9]{5}$" type: string description: License for the product adminPassword: pattern: "^[^'\"]{2,24}$" type: string description: Admin password for the product's administrator account nodes: type: array description: List of nodes for the product items: $ref: '#/components/schemas/ProductNodeSpec' integrations: type: array items: $ref: '#/components/schemas/VcdIntegrationSpec' certificate: type: object properties: product: $ref: '#/components/schemas/CertificateSpec' management: $ref: '#/components/schemas/CertificateSpec' restApi: $ref: '#/components/schemas/CertificateSpec' tenantPortal: $ref: '#/components/schemas/CertificateSpec' VcdRmqIntegration: required: - hostname - integrationPassword - integrationUsername type: object properties: properties: type: object properties: amqpExchange: pattern: "^[^;'\"]{1,80}$" type: string description: AMQP exchange name. amqpVHost: pattern: "^[^;'\"]{1,80}$" type: string description: AMQP virtual host. amqpUseSSL: type: boolean description: Use SSL for AMQP connection. amqpSslAcceptAll: type: boolean description: Auto accept AMQP servers ssl certificate. amqpPrefix: pattern: "^[^;'\"]{1,80}$" type: string description: AMQP prefix. integrationId: pattern: "^[^;'\"]{1,80}$" type: string description: ID of an integration. integrationUsername: pattern: "^[^;'\"]{1,80}$" type: string description: Username for an integration. integrationPassword: pattern: "^[^'\"]{2,24}$" type: string description: Password for an integration. hostname: 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])?$" type: string description: Hostname or IP address of the integration port: maximum: 65535 minimum: 1 type: integer description: Port to connect to the integration's endpoint. format: int32 productId: type: string description: ID of the integration. productType: type: string enum: - VCD - USAGE - VROPSTA - RMQ VcdVcenterIntegration: required: - hostname - integrationPassword - integrationUsername type: object properties: properties: type: object properties: providerVdcs: type: object additionalProperties: $ref: '#/components/schemas/VcdVcenterIntegrationPropertiesPvdc' description: "Provider VDCs to create - key: PVDC name, value: definition\ \ of PVDC." vc_id: pattern: "^urn:vcloud:[0-9a-z]+:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$" type: string description: VCD URN identifying the vCenter instance. integrationId: pattern: "^[^;'\"]{1,80}$" type: string description: ID of an integration. integrationUsername: pattern: "^[^;'\"]{1,80}$" type: string description: Username for an integration. integrationPassword: pattern: "^[^'\"]{2,24}$" type: string description: Password for an integration. hostname: 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])?$" type: string description: Hostname or IP address of the integration port: maximum: 65535 minimum: 1 type: integer description: Port to connect to the integration's endpoint. format: int32 datacenterComponentId: type: string description: ID of the integration. datacenterComponentType: type: string enum: - VCENTER - NSXT - VRSLCM - VROPS - VRLI VcdVcenterIntegrationPropertiesPvdc: required: - storageProfile type: object properties: description: pattern: "^[^;'\"]{1,80}$" type: string description: Description of the PVDC. highestSupportedHardwareVersion: pattern: "^vmx-[1-9][0-9]*$" type: string description: "The hardware version to set for the PVDC. Default: vmx-14" clusterName: pattern: "^[^;'\"]{1,80}$" type: string description: The name of the vCenter cluster to use for PVDC creation. If not specified the resource pool will be searched in all available clusters. resourcePoolname: pattern: "^[^;'\"]{1,80}$" type: string description: "The name of the vCenter resource pool to use for PVDC creation.\ \ If no cluster is specified the resource pool will be searched in all\ \ available clusters. If no resource pool is specified, the root resource\ \ pool of the cluster will be used." nsxIntegration: pattern: "^[^;'\"]{1,80}$" type: string description: "The name of the NSX integration to that specifies details\ \ for network pool name. If no NSX integration is defined, PVDC will not\ \ be configured." storageProfile: type: array description: The list of storage profiles to be used for PVDC. items: type: string description: The list of storage profiles to be used for PVDC. networkPoolname: pattern: "^[^;'\"]{1,80}$" type: string description: The name of the network pool to be used for PVDC. The network pool is defined in the referenced NSX integration. enabled: type: boolean description: "Provider VDCs to create - key: PVDC name, value: definition of\ \ PVDC." VcenterSpec: required: - clusterName - datacenterName - datastores - networks - vcenterHost - vcenterName - vcenterPassword - vcenterUsername type: object properties: vcenterName: type: string description: A name to identify the vCenter instance. vcenterHost: 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])?$" type: string description: Hostname or IP address of the vCenter instance. vcenterUsername: type: string description: Username to connect to the vCenter instance. vcenterPassword: pattern: "^[^'\"]{2,24}$" type: string description: Password to connect to the vCenter instance. datacenterName: type: string description: Datacenter to deploy in. clusterName: type: string description: Cluster to deploy in. datastores: type: array description: List of datastores to use for deployments. items: type: string description: List of datastores to use for deployments. networks: type: object additionalProperties: $ref: '#/components/schemas/NetworkSpec' description: List of networks (defining port groups and related subnets) used for deployments. folderName: type: string description: vCenter folder to deploy in. resourcePool: type: string description: Resource pool to deploy in. VcplcmRmqUserProperties: required: - password - username type: object properties: username: pattern: "^[^;'\"]{1,80}$" type: string description: Username of the user to create password: pattern: "^[^'\"]{2,24}$" type: string description: Password for the user to create description: List of user accounts to be created in RabbitMQ VcplcmUmProxyProperties: required: - host - port - type type: object properties: type: pattern: ^none|http|https$ type: string description: "Proxy protocol type: none, http and https" host: 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])?$" type: string description: Proxy hostname or IP address port: maximum: 65535 minimum: 1 type: integer description: Proxy listening port format: int32 user: type: string description: Proxy user password: pattern: "^[^'\"]{2,24}$" type: string description: User's password description: Properties needed to configure a Proxy server. VropstaProductSpec: required: - adminPassword - nodes - productId - productType - version type: object properties: properties: type: object properties: diskMode: pattern: ^thin|thick|eagerZeroedThick$ type: string description: "The mode to use for creating the virtual disk of the VM\ \ (thin, thick, eagerZeroedThick). Default: thin" infraReference: type: string productType: type: string description: "Product type, defining the type of application to integrate\ \ with (VCD, USAGE, RMQ, VROPSTA)." enum: - VCD - USAGE - VROPSTA - RMQ productId: type: string version: pattern: "^[0-9]+(\\.[0-9]+){0,3}(-[a-zA-Z0-9]+)?$" type: string description: Version of the product to deploy or import. license: pattern: "^([a-zA-Z0-9]{5}-){4}[a-zA-Z0-9]{5}$" type: string description: License for the product adminPassword: pattern: "^[^'\"]{2,24}$" type: string description: Admin password for the product's administrator account nodes: type: array description: List of nodes for the product items: $ref: '#/components/schemas/ProductNodeSpec' integrations: type: array items: $ref: '#/components/schemas/VropstaIntegrationSpec' certificate: type: object properties: product: $ref: '#/components/schemas/CertificateSpec' VropstaVcdIntegration: required: - hostname - integrationPassword - integrationUsername type: object properties: properties: type: object properties: tenantAppProxy: 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])?$" type: string description: The URL to use for public access to vROPS Tenant App. amqp: $ref: '#/components/schemas/VropstaVcdIntegrationPropertiesAmqp' credentials: $ref: '#/components/schemas/VropstaVcdIntegrationPropertiesCredentials' integrationId: pattern: "^[^;'\"]{1,80}$" type: string description: ID of an integration. integrationUsername: pattern: "^[^;'\"]{1,80}$" type: string description: Username for an integration. integrationPassword: pattern: "^[^'\"]{2,24}$" type: string description: Password for an integration. hostname: 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])?$" type: string description: Hostname or IP address of the integration port: maximum: 65535 minimum: 1 type: integer description: Port to connect to the integration's endpoint. format: int32 productId: type: string description: ID of the integration. productType: type: string enum: - VCD - USAGE - VROPSTA - RMQ VropstaVcdIntegrationPropertiesAmqp: required: - amqpHost type: object properties: amqpHost: 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])?$" type: string description: The hostname or IP address of the AMQP host. amqpPort: pattern: "^((6553[0-5])|(655[0-2][0-9])|(65[0-4][0-9]{2})|(6[0-4][0-9]{3})|([1-5][0-9]{4})|([1-9][0-9]{0,3}))$" type: string description: "Port of the AMQP service to configure in vROPS Tenant App.\ \ Default: 5672" amqpVHost: pattern: "^[^;'\"]{1,80}$" type: string description: "The AMQP virtual host path to use for AMQP service. Default:\ \ /" amqpUseSSL: pattern: ^true|false$ type: string description: "Definition whether to use SSL for AMQP service or plain-text.\ \ Default: false (plain-text)" description: The AMQP settings for vROPS Tenant App. VropstaVcdIntegrationPropertiesCredentials: type: object properties: vcdAmqp: $ref: '#/components/schemas/VropstaVcdIntegrationPropertiesCredentialsVcdAmqp' tenantAppAmqp: $ref: '#/components/schemas/VropstaVcdIntegrationPropertiesCredentialsTenantAppAmqp' description: Credentials to use for the VCD integration (for configuring AMQP access). VropstaVcdIntegrationPropertiesCredentialsTenantAppAmqp: type: object properties: username: pattern: "^[^;'\"]{1,80}$" type: string description: Username to use for vROPS Tenant App AMQP password: pattern: "^[^'\"]{2,24}$" type: string description: Password for AMQP user to use vROPS Tenant App AMQP description: Credentials for vROPS Tenant App AMQP VropstaVcdIntegrationPropertiesCredentialsVcdAmqp: type: object properties: password: pattern: "^[^'\"]{2,24}$" type: string description: Password for the user used for VCD AMQP integration description: Credentials for VCD AMQP (should match the AMQP service configured in VCD). VropstaVropsIntegration: required: - hostname - integrationPassword - integrationUsername type: object properties: properties: type: object additionalProperties: type: object integrationId: pattern: "^[^;'\"]{1,80}$" type: string description: ID of an integration. integrationUsername: pattern: "^[^;'\"]{1,80}$" type: string description: Username for an integration. integrationPassword: pattern: "^[^'\"]{2,24}$" type: string description: Password for an integration. hostname: 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])?$" type: string description: Hostname or IP address of the integration port: maximum: 65535 minimum: 1 type: integer description: Port to connect to the integration's endpoint. format: int32 datacenterComponentId: type: string description: ID of the integration. datacenterComponentType: type: string enum: - VCENTER - NSXT - VRSLCM - VROPS - VRLI ProductUpdateNodeSpec: type: object properties: cpuNum: minimum: 1 type: integer format: int32 ramMemory: minimum: 1024 type: integer format: int32 rootPassword: pattern: "^[^'\"]{2,24}$" type: string SubTask: type: object properties: name: type: string status: type: string enum: - NOT_STARTED - IN_PROGRESS - SUCCESS - ERROR - CANCELLED message: type: object nextSubTasks: type: object additionalProperties: type: string ignoreStatus: type: boolean Task: type: object properties: id: type: integer format: int64 subTasks: type: object additionalProperties: $ref: '#/components/schemas/SubTask' status: type: string enum: - NOT_STARTED - IN_PROGRESS - SUCCESS - ERROR - CANCELLED message: type: object About: required: - apiVersions - productVersion type: object properties: productVersion: type: string buildNumber: type: string apiVersions: type: array items: $ref: '#/components/schemas/ApiVersion' ApiVersion: type: object properties: apiVersion: type: string deprecated: type: boolean