openapi: 3.0.0 info: title: Telco Cloud Automation Partner Systems API description: Telco Cloud Automation Partner Systems API. Registers, modifies, lists and deletes Partner Systems. termsOfService: https://www.vmware.com/help/legal.html contact: name: VMware license: name: Copyright (c) 2020-2021 VMware, Inc. All rights reserved. version: "1.0" servers: - url: https://{server}/hybridity/api variables: server: description: server host name default: localhost tags: - name: Extension description: Telco Cloud Automation Partner Systems API paths: /extensions: get: tags: - Extension description: Get all Extension operationId: getExtensions responses: "200": description: get extensions response content: application/json: schema: $ref: '#/components/schemas/Extensions' /extensions/svnfms: get: tags: - Extension description: Get SVNFM extensionSubtype operationId: getExtensionSubtype parameters: - name: extensionSubtype in: query required: true style: form explode: true schema: type: string responses: "200": description: get extension subtype response content: application/json: schema: $ref: '#/components/schemas/inline_response_200' post: tags: - Extension description: Create SVNFM Extension operationId: createSvnfmExtension requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateSvnfmExtension' responses: "200": description: create SVNFM Extension response content: application/json: schema: $ref: '#/components/schemas/CreateSvnfmExtensionResponse' /extensions/{extensionId}: get: tags: - Extension description: Get Extension with given extensionId operationId: getExtension parameters: - name: extensionId in: path required: true style: simple explode: false schema: type: string responses: "200": description: get extension response content: application/json: schema: $ref: '#/components/schemas/Extension' post: tags: - Extension description: Modifies Extension operationId: editExtension parameters: - name: extensionId in: path required: true style: simple explode: false schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateSvnfmExtension' required: true responses: "200": description: edit Extension response content: application/json: schema: $ref: '#/components/schemas/CreateSvnfmExtensionResponse' delete: tags: - Extension description: Delete Extension operationId: deleteExtension parameters: - name: extensionId in: path required: true style: simple explode: false schema: type: string responses: "200": description: delete Extension response content: application/json: schema: $ref: '#/components/schemas/CreateSvnfmExtensionResponse' /extensions/svnfms/{extensionId}: post: tags: - Extension description: Modifies SVNFM Extension operationId: editSvnfmExtension parameters: - name: extensionId in: path required: true style: simple explode: false schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateSvnfmExtension' required: true responses: "200": description: edit SVNFM Extension response content: application/json: schema: $ref: '#/components/schemas/CreateSvnfmExtensionResponse' /extensions/svnfms/{extensionId}/packages: get: tags: - Extension description: Get packages for SVNFM Extension operationId: getSvnfmPackages parameters: - name: extensionId in: path required: true style: simple explode: false schema: type: string responses: "200": description: create SVNFM Extension response content: application/json: schema: $ref: '#/components/schemas/SvnfmPackages' post: tags: - Extension description: Register package for SVNFM Extension operationId: registerSvnfmPackages parameters: - name: extensionId in: path required: true style: simple explode: false schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/SvnfmPackages' required: true responses: "200": description: create SVNFM Extension response content: application/json: schema: $ref: '#/components/schemas/RegisterSvnfmPackagesResponse' /extensions/svnfms/{extensionId}/vnfInstances: get: tags: - Extension description: Get vnfInstances for SVNFM Extension operationId: getSvnfmVnfInstances parameters: - name: extensionId in: path required: true style: simple explode: false schema: type: string responses: "200": description: get Svnfm Vnf Instances response content: application/json: schema: $ref: '#/components/schemas/inline_response_200_1' /hybridity/api/extensions/types: get: tags: - Extension description: Get Extension types operationId: getExtensionsType responses: "200": description: get extension typesresponse content: application/json: schema: $ref: '#/components/schemas/inline_response_200_2' components: schemas: VnfInstance: type: object properties: _id: $ref: '#/components/schemas/VnfInstance__id' id: type: string vnfInstanceName: type: string vnfdId: type: string vnfProvider: type: string vnfProductName: type: string vnfdVersion: type: string vnfPkgId: type: string vnfCatalogName: type: string instantiationState: type: string instantiatedVnfInfo: $ref: '#/components/schemas/VnfInstance_instantiatedVnfInfo' nfType: type: string managedBy: $ref: '#/components/schemas/VnfInstance_managedBy' lastUpdated: type: number creationDate: type: number creationUser: type: string lcmOperation: type: string lcmOperationState: type: string vimConnectionInfo: $ref: '#/components/schemas/VnfInstance_vimConnectionInfo' Extensions: type: object properties: extensions: type: array items: $ref: '#/components/schemas/Extension' Extension: type: object properties: extensionId: type: string name: type: string type: type: string extensionKey: type: string description: type: string interfaceInfo: $ref: '#/components/schemas/Extension_interfaceInfo' accessInfo: $ref: '#/components/schemas/Extension_accessInfo' additionalParameters: type: object state: type: string extensionSubtype: type: string products: type: array items: {} vimInfo: type: array items: $ref: '#/components/schemas/Extension_vimInfo' autoScaleEnabled: type: boolean autoHealEnabled: type: boolean version: type: string vnfCount: type: integer vnfCatalogCount: type: integer CreateSvnfmExtension: type: object properties: name: type: string version: type: string type: type: string extensionKey: type: string extensionSubtype: type: string products: type: array items: {} vimInfo: type: array items: $ref: '#/components/schemas/CreateSvnfmExtension_vimInfo' interfaceInfo: $ref: '#/components/schemas/Extension_interfaceInfo' accessInfo: $ref: '#/components/schemas/Extension_accessInfo' additionalParameters: type: object autoScaleEnabled: type: boolean autoHealEnabled: type: boolean CreateSvnfmExtensionResponse: type: object properties: extensionId: type: string SvnfmPackages: type: array items: $ref: '#/components/schemas/SvnfmPackages_inner' RegisterSvnfmPackagesResponse: type: object properties: catalogs: type: array items: $ref: '#/components/schemas/RegisterSvnfmPackagesResponse_catalogs' inline_response_200: type: object properties: extensionSubType: type: array items: type: string inline_response_200_1: type: object properties: vnfs: type: array items: $ref: '#/components/schemas/VnfInstance' inline_response_200_2: type: object properties: types: type: array items: $ref: '#/components/schemas/inline_response_200_2_types' VnfInstance__id: type: object properties: timestamp: type: number machineIdentifier: type: number processIdentifier: type: number counter: type: number time: type: number date: type: number timeSecond: type: number VnfInstance_instantiatedVnfInfo_resourceHandle: type: object properties: resourceId: type: string vimConnectionId: type: string VnfInstance_instantiatedVnfInfo_extVirtualLinkInfo: type: object properties: resourceHandle: $ref: '#/components/schemas/VnfInstance_instantiatedVnfInfo_resourceHandle' VnfInstance_instantiatedVnfInfo: type: object properties: flavourId: type: string vnfState: type: string scaleStatus: type: array items: type: object extCpInfo: type: array items: type: object extVirtualLinkInfo: type: array items: $ref: '#/components/schemas/VnfInstance_instantiatedVnfInfo_extVirtualLinkInfo' monitoringParameters: type: object vnfcResourceInfo: type: array items: type: object vnfVirtualLinkResourceInfo: type: array items: type: object virtualStorageResourceInfo: type: array items: type: object VnfInstance_managedBy: type: object properties: extensionSubtype: type: string extensionName: type: string VnfInstance_vimConnectionInfo: type: object properties: id: type: string vimName: type: string Extension_interfaceInfo: type: object properties: url: type: string description: type: string trustedCertificates: type: array items: {} Extension_accessInfo: type: object properties: clientId: type: string clientSecret: type: string Extension_vimInfo: type: object properties: vimName: type: string vimId: type: string CreateSvnfmExtension_vimInfo: properties: vimName: type: string vimId: type: string SvnfmPackages_inner: type: object properties: catalogName: type: string vnfdId: type: string vnfProductName: type: string vnfSoftwareVersion: type: string vnfdVersion: type: string RegisterSvnfmPackagesResponse_info_userDefinedData: type: object properties: vimType: type: string name: type: string RegisterSvnfmPackagesResponse_info_managedBy: type: object properties: extensionSubtype: type: string extensionId: type: string extensionName: type: string version: type: string RegisterSvnfmPackagesResponse_info: type: object properties: id: type: string vnfdId: type: string vnfProductName: type: string vnfSoftwareVersion: type: string vnfdVersion: type: string userDefinedData: $ref: '#/components/schemas/RegisterSvnfmPackagesResponse_info_userDefinedData' onboardingState: type: string operationalState: type: string managedBy: $ref: '#/components/schemas/RegisterSvnfmPackagesResponse_info_managedBy' vnfProvider: type: string RegisterSvnfmPackagesResponse_catalogs: type: object properties: id: type: string info: $ref: '#/components/schemas/RegisterSvnfmPackagesResponse_info' inline_response_200_2_types: type: object properties: subTypes: type: array items: type: string uri: type: string type: type: string