openapi: 3.0.0 info: contact: name: VMware description: Interconnect Tasks APIs. license: name: Copyright (c) 2016-2017 VMware, Inc. All rights reserved. termsOfService: https://hcx.vmware.com/terms-and-conditions title: Interconnect Tasks APIs. version: "1.0" servers: - url: https://{server}/hybridity/api/interconnect variables: server: default: api.example.com description: server host name tags: - description: Interconnect Tasks Apis name: Tasks paths: /tasks: get: description: Get all interconnect tasks operationId: getAllInterconnectTasks parameters: - description: offset query parameter explode: true in: query name: offset required: false schema: default: 1 format: int32 type: integer style: form - description: pageSize query parameter explode: true in: query name: pageSize required: false schema: default: 100 format: int32 type: integer style: form responses: 200: content: application/json: schema: $ref: '#/components/schemas/tasksListResponse' description: Accepted 401: description: Unauthorized 403: description: Forbidden 500: content: application/json: schema: $ref: '#/components/schemas/errorResponse' description: Internal Server Error summary: Get all interconnect tasks tags: - Tasks /tasks/{interconnectTaskId}: get: description: Get a interconnect task by id. operationId: getInterconnectTask parameters: - description: task id explode: false in: path name: interconnectTaskId required: true schema: type: string style: simple responses: 200: content: application/json: schema: $ref: '#/components/schemas/taskResponse' description: Accepted 401: description: Unauthorized 403: description: Forbidden 500: content: application/json: schema: $ref: '#/components/schemas/errorResponse' description: Internal Server Error summary: Get a interconnect task by id. tags: - Tasks /tasks/query: post: description: query interconnect tasks. operationId: getInterconnectTasksByFilter requestBody: content: application/json: schema: $ref: '#/components/schemas/taskFilter' description: Filter object. required: true responses: 200: content: application/json: schema: $ref: '#/components/schemas/tasksListResponse' description: Accepted 401: description: Unauthorized 403: description: Forbidden 500: content: application/json: schema: $ref: '#/components/schemas/errorResponse' description: Internal Server Error summary: query interconnect tasks. tags: - Tasks components: schemas: errorResponse: properties: errors: items: $ref: '#/components/schemas/error' type: array type: object taskResponse: example: request: "" entityDetails: name: name id: id type: type response: "" progress: 0 startTime: 6 endTime: 1 type: type message: message steps: - children: - jobId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 parentJobId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 progress: 7 startTime: 9 location: location endTime: 3 title: title type: type message: message status: RUNNING - jobId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 parentJobId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 progress: 7 startTime: 9 location: location endTime: 3 title: title type: type message: message status: RUNNING warnings: - message: message - message: message progress: 5 startTime: 5 endTime: 2 title: title message: message errors: - code: code message: message - code: code message: message status: RUNNING - children: - jobId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 parentJobId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 progress: 7 startTime: 9 location: location endTime: 3 title: title type: type message: message status: RUNNING - jobId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 parentJobId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 progress: 7 startTime: 9 location: location endTime: 3 title: title type: type message: message status: RUNNING warnings: - message: message - message: message progress: 5 startTime: 5 endTime: 2 title: title message: message errors: - code: code message: message - code: code message: message status: RUNNING interconnectTaskId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 status: RUNNING properties: interconnectTaskId: format: uuid type: string entityDetails: $ref: '#/components/schemas/taskResponse_entityDetails' type: type: string status: enum: - RUNNING - QUEUED - SUCCESS - FAILED type: string progress: type: integer message: type: string startTime: format: int64 type: integer endTime: format: int64 type: integer request: oneOf: - $ref: '#/components/schemas/computeProfileTaskRequest' - $ref: '#/components/schemas/serviceMeshTaskRequest' - $ref: '#/components/schemas/deleteComputeProfileTaskRequest' - $ref: '#/components/schemas/deleteServiceMeshTaskRequest' - $ref: '#/components/schemas/interconnectRedeployTaskRequest' response: oneOf: - $ref: '#/components/schemas/computeProfileTaskRequest' - $ref: '#/components/schemas/taskResponseErrorData' steps: items: $ref: '#/components/schemas/taskStep' type: array type: object tasksListResponse: example: paging: totalSize: 7 offset: 2 pageSize: 4 items: - request: "" entityDetails: name: name id: id type: type response: "" progress: 0 startTime: 6 endTime: 1 type: type message: message steps: - children: - jobId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 parentJobId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 progress: 7 startTime: 9 location: location endTime: 3 title: title type: type message: message status: RUNNING - jobId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 parentJobId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 progress: 7 startTime: 9 location: location endTime: 3 title: title type: type message: message status: RUNNING warnings: - message: message - message: message progress: 5 startTime: 5 endTime: 2 title: title message: message errors: - code: code message: message - code: code message: message status: RUNNING - children: - jobId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 parentJobId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 progress: 7 startTime: 9 location: location endTime: 3 title: title type: type message: message status: RUNNING - jobId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 parentJobId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 progress: 7 startTime: 9 location: location endTime: 3 title: title type: type message: message status: RUNNING warnings: - message: message - message: message progress: 5 startTime: 5 endTime: 2 title: title message: message errors: - code: code message: message - code: code message: message status: RUNNING interconnectTaskId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 status: RUNNING - request: "" entityDetails: name: name id: id type: type response: "" progress: 0 startTime: 6 endTime: 1 type: type message: message steps: - children: - jobId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 parentJobId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 progress: 7 startTime: 9 location: location endTime: 3 title: title type: type message: message status: RUNNING - jobId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 parentJobId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 progress: 7 startTime: 9 location: location endTime: 3 title: title type: type message: message status: RUNNING warnings: - message: message - message: message progress: 5 startTime: 5 endTime: 2 title: title message: message errors: - code: code message: message - code: code message: message status: RUNNING - children: - jobId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 parentJobId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 progress: 7 startTime: 9 location: location endTime: 3 title: title type: type message: message status: RUNNING - jobId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 parentJobId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 progress: 7 startTime: 9 location: location endTime: 3 title: title type: type message: message status: RUNNING warnings: - message: message - message: message progress: 5 startTime: 5 endTime: 2 title: title message: message errors: - code: code message: message - code: code message: message status: RUNNING interconnectTaskId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 status: RUNNING properties: items: items: $ref: '#/components/schemas/taskResponse' type: array paging: $ref: '#/components/schemas/tasksListResponse_paging' type: object taskFilter: properties: filter: $ref: '#/components/schemas/taskFilter_filter' paging: $ref: '#/components/schemas/taskFilter_paging' required: - filter type: object error: example: code: code message: message properties: code: type: string message: type: string type: object taskStep: example: children: - jobId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 parentJobId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 progress: 7 startTime: 9 location: location endTime: 3 title: title type: type message: message status: RUNNING - jobId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 parentJobId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 progress: 7 startTime: 9 location: location endTime: 3 title: title type: type message: message status: RUNNING warnings: - message: message - message: message progress: 5 startTime: 5 endTime: 2 title: title message: message errors: - code: code message: message - code: code message: message status: RUNNING properties: title: type: string status: enum: - RUNNING - QUEUED - SUCCESS - FAILED type: string progress: type: integer startTime: format: int64 type: integer endTime: format: int64 type: integer message: type: string children: items: $ref: '#/components/schemas/taskStepChild' type: array errors: items: $ref: '#/components/schemas/error' type: array warnings: items: $ref: '#/components/schemas/warning' type: array type: object taskStepChild: example: jobId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 parentJobId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 progress: 7 startTime: 9 location: location endTime: 3 title: title type: type message: message status: RUNNING properties: title: type: string type: type: string status: enum: - RUNNING - QUEUED - SUCCESS - FAILED type: string progress: type: integer startTime: format: int64 type: integer endTime: format: int64 type: integer message: type: string parentJobId: format: uuid type: string jobId: format: uuid type: string location: type: string type: object warning: example: message: message properties: message: type: string type: object computeProfileTaskRequest: properties: computeProfile: $ref: '#/components/schemas/computeProfile' type: object computeProfile: properties: computeProfileId: type: string name: type: string location: type: string locationName: type: string state: type: string deploymentComputeClusterName: type: string deploymentComputeClusterId: type: string compute: items: $ref: '#/components/schemas/compute' minItems: 1 type: array services: items: $ref: '#/components/schemas/service' minItems: 1 type: array deploymentContainer: $ref: '#/components/schemas/deploymentContainer' networks: items: $ref: '#/components/schemas/network' minItems: 1 type: array switches: items: $ref: '#/components/schemas/switch' type: array storage: items: $ref: '#/components/schemas/storage' minItems: 0 type: array required: - compute - deploymentContainer - name - networks - services type: object compute: properties: cmpId: type: string cmpName: type: string cmpType: type: string type: type: string id: type: string name: type: string status: $ref: '#/components/schemas/status' required: - cmpId - id - type type: object status: additionalProperties: false properties: state: type: string errorMessage: type: string required: - state type: object service: properties: name: type: string required: - name type: object deploymentContainer: properties: compute: items: $ref: '#/components/schemas/compute' minItems: 1 type: array storage: items: $ref: '#/components/schemas/storage' minItems: 1 type: array folder: $ref: '#/components/schemas/folder' cpuReservation: maximum: 100 minimum: 0 type: integer memoryReservation: maximum: 100 minimum: 0 type: integer type: object storage: additionalProperties: false properties: cmpId: type: string cmpName: type: string cmpType: type: string type: type: string id: type: string name: type: string status: $ref: '#/components/schemas/status' required: - cmpId - id - type type: object folder: additionalProperties: false properties: cmpId: type: string cmpName: type: string type: type: string id: type: string name: type: string status: $ref: '#/components/schemas/status' required: - cmpId - id - type type: object network: properties: id: type: string name: type: string tags: items: enum: - management - vmotion - replication - guest - uplink type: string minItems: 1 type: array staticRoutes: items: $ref: '#/components/schemas/networkStaticRoute' type: array status: $ref: '#/components/schemas/status' required: - id - tags type: object networkStaticRoute: properties: network: type: string nextHop: type: string required: - network - nextHop type: object switch: additionalProperties: false properties: cmpId: type: string id: type: string type: type: string name: type: string maxMtu: type: number l2cApplianceCount: type: number host: $ref: '#/components/schemas/switchHost' status: $ref: '#/components/schemas/status' required: - cmpId - id - type type: object switchHost: additionalProperties: false properties: id: type: string name: type: string required: - id type: object serviceMeshTaskRequest: properties: computeProfile: $ref: '#/components/schemas/serviceMesh' type: object serviceMesh: additionalProperties: false properties: serviceMeshId: type: string name: type: string updateAvailable: type: boolean switchPairCount: items: $ref: '#/components/schemas/switchPair' minItems: 1 type: array wanoptConfig: $ref: '#/components/schemas/wanoptConfig' services: items: $ref: '#/components/schemas/service' minItems: 1 type: array computeProfiles: items: $ref: '#/components/schemas/serviceMeshComputeProfile' minItems: 2 type: array trafficEnggCfg: $ref: '#/components/schemas/trafficEnggCfg' required: - computeProfiles - name - services type: object switchPair: properties: switches: items: $ref: '#/components/schemas/switch' maxItems: 2 minItems: 2 type: array l2cApplianceCount: type: number required: - l2cApplianceCount - switches type: object wanoptConfig: additionalProperties: false properties: uplinkMaxBandwidth: maximum: 10000000 minimum: 5000 type: number required: - uplinkMaxBandwidth type: object serviceMeshComputeProfile: additionalProperties: false properties: endpointId: type: string endpointName: type: string computeProfileId: type: string computeProfileName: type: string locationType: type: string networks: items: $ref: '#/components/schemas/serviceMeshComputeProfileNetwork' minItems: 0 type: array required: - endpointId type: object serviceMeshComputeProfileNetwork: properties: id: type: string name: type: string tags: items: type: string minItems: 1 type: array type: object trafficEnggCfg: additionalProperties: false description: Service Mesh traffic engineering configuration options. properties: isAppPathResiliencyEnabled: description: The HCX Service Mesh builds multiple transport tunnels to establish path diversity to the target, and intelligently directs HCX service traffic using the optimal path for performance and resiliency. type: boolean isTcpFlowConditioningEnabled: description: The HCX Service Mesh dynamically manages the TCP segment size to reduce packet fragmentation, optimizing transport performance and efficiency for HCX Network Extension traffic. type: boolean type: object deleteComputeProfileTaskRequest: properties: computeProfileId: type: string type: object deleteServiceMeshTaskRequest: properties: serviceMeshId: type: string type: object interconnectRedeployTaskRequest: properties: serviceMeshId: type: string applianceId: type: string applianceName: type: string force: enum: - "true" - "false" type: string local: enum: - "true" - "false" type: string type: object taskResponseErrorData: properties: errors: items: $ref: '#/components/schemas/error' type: array type: object taskResponse_entityDetails: example: name: name id: id type: type properties: id: type: string type: type: string name: type: string tasksListResponse_paging: example: totalSize: 7 offset: 2 pageSize: 4 properties: offset: type: integer pageSize: type: integer totalSize: type: integer taskFilter_filter: properties: interconnectTaskIds: items: type: string type: array status: items: enum: - RUNNING - QUEUED - SUCCESS - FAILED type: string type: array entityIds: items: type: string type: array startTime: format: int64 type: integer endTime: format: int64 type: integer taskFilter_paging: properties: offset: type: integer pageSize: type: integer securitySchemes: x-hm-authorization: description: Obtained from /hybridity/api/session in: header name: x-hm-authorization type: apiKey