$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
+ '/nslcm/v1/ns_instances/{nsInstanceId}/heal':
+ parameters:
+ - name: nsInstanceId
+ in: path
+ required: true
+ description: NS Instance ID
+ schema:
+ type: string
+ post:
+ tags:
+ - "NS instances"
+ summary: Heal a NS instance
+ description: |
+ Heal a NS instance. The precondition is that the NS instance must have
+ been created and must be in INSTANTIATED state. As a result of the
+ success of this operation, the NFVO creates a "NS Lifecycle Operation
+ Occurrence" resource for the request, and the NS instance state remains
+ INSTANTIATED.
+ operationId: healNSinstance
+ requestBody:
+ $ref: '#/components/requestBodies/HealNsRequest'
+ responses:
+ '202':
+ description: Accepted
+ headers:
+ Location:
+ description: |
+ It must point to the new "NS Lifecycle Operation Occurrence"
+ resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
+ schema:
+ type: string
+ format: uri
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/nslcm/v1/ns_instances/{nsInstanceId}/migrate':
+ parameters:
+ - name: nsInstanceId
+ in: path
+ required: true
+ description: NS Instance ID
+ schema:
+ type: string
+ post:
+ tags:
+ - "NS instances"
+ summary: Migrate VNFs in a NS instance
+ description: |
+ Migrate the VNFs and VDUs in a NS instance. The precondition is
+ that the NS instance must have been created and must be in
+ INSTANTIATED state. As a result of the success of this operation,
+ the NFVO creates a "NS Lifecycle Operation Occurrence" resource
+ for the request, and the NS instance state remains INSTANTIATED.
+ operationId: migrateNSinstance
+ requestBody:
+ $ref: '#/components/requestBodies/NSinstanceMigrateRequest'
+ responses:
+ '202':
+ description: Accepted
+ headers:
+ Location:
+ description: |
+ It must point to the new "NS Lifecycle Operation Occurrence"
+ resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
+ schema:
+ type: string
+ format: uri
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
'/nslcm/v1/ns_instances/{nsInstanceId}/terminate':
parameters:
- name: nsInstanceId
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
+ '/nslcm/v1/ns_instances/{nsInstanceId}/update':
+ parameters:
+ - name: nsInstanceId
+ in: path
+ required: true
+ description: NS Instance ID
+ schema:
+ type: string
+ post:
+ tags:
+ - "NS instances"
+ summary: Update a NS instance
+ description: |
+ Update a NS instance. The precondition is that the NS instance must have
+ been created and must be in INSTANTIATED state. As a result of the
+ success of this operation, the NFVO creates a "NS Lifecycle Operation
+ Occurrence" resource for the request, and the NS instance state remains
+ INSTANTIATED.
+ operationId: updateNSinstance
+ requestBody:
+ $ref: '#/components/requestBodies/UpdateNsRequest'
+ responses:
+ '202':
+ description: Accepted
+ headers:
+ Location:
+ description: |
+ It must point to the new "NS Lifecycle Operation Occurrence"
+ resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
+ schema:
+ type: string
+ format: uri
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/nslcm/v1/ns_instances/{nsInstanceId}/verticalscale':
+ parameters:
+ - name: nsInstanceId
+ in: path
+ required: true
+ description: NS Instance ID
+ schema:
+ type: string
+ post:
+ tags:
+ - "NS instances"
+ summary: Vertical scale a NS instance
+ description:
+ Execute an verticalscale on a NS instance.
+ The NS instance must have been created and must be in INSTANTIATED state.
+ operationId: verticalscaleNSinstance
+ requestBody:
+ $ref: '#/components/requestBodies/VerticalscaleNsRequest'
+ responses:
+ '202':
+ description: Accepted
+ headers:
+ Location:
+ description: |
+ It must point to the new "NS Lifecycle Operation Occurrence"
+ resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
+ schema:
+ type: string
+ format: uri
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
'/nslcm/v1/ns_instances_content':
get:
tags:
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
- /nslcm/v1/subscriptions:
+ '/nslcm/v1/subscriptions':
get:
tags:
- NS instances
content:
application/json:
schema:
- $ref: '#/components/schemas/TokenInfo'
+ oneOf:
+ - $ref: '#/components/schemas/TokenInfo'
+ - $ref: '#/components/schemas/PasswordExpiryInfo'
application/yaml:
schema:
- $ref: '#/components/schemas/TokenInfo'
+ oneOf:
+ - $ref: '#/components/schemas/TokenInfo'
+ - $ref: '#/components/schemas/PasswordExpiryInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
- scaleType
- scaleVnfData
additionalProperties: false
+ HealNsRequest:
+ description: >
+ This type represents request parameters for the "Heal NS" operation. This operation supports the healing of an NS
+ instance by healing one or more of the VNF that are part of this NS.
+ type: object
+ properties:
+ timeout_ns_heal:
+ description: timeout for the heal operation in seconds
+ type: integer
+ healVnfData:
+ description: >
+ List of VNF to be healed, together with the information needed to heal each.
+ type: array
+ items:
+ $ref: "#/components/schemas/HealVnfData"
+ required:
+ - healVnfData
+ HealVnfData:
+ description: >
+ This type represents the information to heal a VNF that is part of an NS.
+ type: object
+ required:
+ - vnfInstanceId
+ properties:
+ vnfInstanceId:
+ description: >
+ Identifies the VNF instance, part of the NS, requiring a
+ healing action.
+ type: string
+ format: uuid
+ cause:
+ description: >
+ Indicates the reason why a healing procedure is required.
+ type: string
+ additionalParams:
+ description: >
+ Additional parameters passed by the NFVO as input to
+ the healing process, specific to the VNF being healed.
+ type: object
+ properties:
+ run-day1:
+ description: >
+ Flag to indicate whether or not to run day1 primitives for the VNF (default: false).
+ type: boolean
+ default: false
+ vdu:
+ description: >
+ List of VDU to be healed, together with the information needed to heal each.
+ type: array
+ items:
+ $ref: "#/components/schemas/HealVduData"
+ HealVduData:
+ description: >
+ This type represents the information to heal a VDU that is part of a VNF.
+ type: object
+ required:
+ - vdu-id
+ properties:
+ vdu-id:
+ description: >
+ Identifies the VDU id, part of the VNF, requiring a healing action.
+ type: string
+ format: uuid
+ count-index:
+ description: >
+ Indicates the VDU number when the VDU is part of a scale-group.
+ type: integer
+ minimum: 0
+ run-day1:
+ description: >
+ Flag to indicate whether or not to run day1 primitives for the VDU (default: false).
+ type: boolean
+ default: false
+ NSinstanceMigrateRequest:
+ description: >
+ This type represents request parameters for the "Migrate" operation. This operation supports the migration of an NS
+ instance by migrating one or more of the VDUs that are part of this NS.
+ type: object
+ properties:
+ vnfInstanceId:
+ type: string
+ migrateToHost:
+ type: string
+ vdu:
+ type: object
+ properties:
+ vduId:
+ type: string
+ vduCountIndex:
+ type: integer
+ required:
+ - vduId
+ required:
+ - vnfInstanceId
+ additionalProperties: false
TerminateNsRequest:
type: object
properties:
- primitive
- primitive_params
additionalProperties: false
+ UpdateNsRequest:
+ description: >
+ This type represents request parameters for the "Update NS" operation. This operation supports the update of an NS
+ instance by updating one or more of the VNFs that are part of this NS.
+ type: object
+ properties:
+ updateType:
+ type: string
+ enum:
+ - CHANGE_VNFPKG
+ - REMOVE_VNF
+ - MODIFY_VNF_INFORMATION
+ - OPERATE_VNF
+ changeVnfPackageData:
+ type: object
+ properties:
+ vnfInstanceId:
+ type: string
+ vnfdId:
+ type: string
+ required:
+ - vnfInstanceId
+ - vnfdId
+ removeVnfInstanceId:
+ type: string
+ modifyVnfInfoData:
+ type: object
+ properties:
+ vnfInstanceId:
+ type: string
+ vnfdId:
+ type: string
+ required:
+ - vnfInstanceId
+ - vnfdId
+ operateVnfData:
+ type: object
+ properties:
+ vnfInstanceId:
+ type: string
+ changeStateTo:
+ type: string
+ additionalParam:
+ type: object
+ properties:
+ run-day1:
+ type: boolean
+ vdu_id:
+ type: string
+ count-index:
+ type: number
+ required:
+ - vdu_id
+ - count-index
+ required:
+ - vnfInstanceId
+ - changeStateTo
+ additionalProperties: false
+ required:
+ - updateType
+ additionalProperties: false
+ VerticalscaleNsRequest:
+ description: >
+ This type represents request parameters for the "Vertical Scale NS" operation.
+ This operation supports the vertical scale of an NS instance by verticalscaling
+ one or more of the VNFs that are part of this NS.
+ type: object
+ properties:
+ verticalScale:
+ type: string
+ changeVnfFlavorData:
+ type: object
+ properties:
+ vnfInstanceId:
+ type: string
+ format: uuid
+ additionalParams:
+ type: object
+ properties:
+ vduid:
+ type: string
+ format: uuid
+ vduCountIndex:
+ type: integer
+ virtualMemory:
+ type: integer
+ sizeOfStorage:
+ type: integer
+ numVirtualCpu:
+ type: integer
+ required:
+ - vnfInstanceId
+ - additionalParams
+ additionalProperties: false
+ required:
+ - verticalScale
+ additionalProperties: false
# CreateNSinstanceContentRequest:
# Substituted by InstantiateNsRequest
CreateNSinstanceContentResponse:
type: string
admin:
type: boolean
+ admin_show:
+ type: boolean
project_id:
type: string
format: uuid
issued_at:
type: number
format: float
+ user_show:
+ type: boolean
+ last_login:
+ type: number
+ format: float
+ login_count:
+ type: number
expires:
type: number
format: float
format: uuid
name:
type: string
+ PasswordExpiryInfo:
+ type: object
+ properties:
+ id:
+ type: string
+ message:
+ type: string
+ user_id:
+ type: string
+ format: uuid
ArrayOfTokenInfo:
type: array
items:
type: string
password:
type: string
+ old_password:
+ type: string
+ system_admin_id:
+ type: string
+ format: uuid
+ unlock:
+ type: boolean
+ renew:
+ type: boolean
projects:
oneOf:
- $ref: '#/components/schemas/ShortNameList'
config:
type: object
additionalProperties: true
+ prometheus-config:
+ type: object
+ additionalProperties: true
resources:
type: object
required:
vca:
type: string
format: uuid
+ prometheus-config:
+ type: object
+ additionalProperties: true
config:
type: object
additionalProperties: true
type: array
items:
type: object
- additionalProperties: true
+ additionalProperties: false
+ K8sClusterDeploymentMethods:
+ type: object
+ properties:
+ helm-chart:
+ type: boolean
+ juju-bundle:
+ type: boolean
+ helm-chart-v3:
+ type: boolean
+ additionalProperties: false
+ minProperties: 3
K8sClusterInfo:
type: object
properties:
type: string
nets:
$ref: '#/components/schemas/K8sClusterNetList'
+ deployment_methods:
+ $ref: '#/components/schemas/K8sClusterDeploymentMethods'
namespace:
type: string
cni:
application/yaml:
schema:
$ref: '#/components/schemas/InstantiateNsRequest'
+ HealNsRequest:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/HealNsRequest'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/HealNsRequest'
+ NSinstanceMigrateRequest:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/NSinstanceMigrateRequest'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/NSinstanceMigrateRequest'
ScaleNsRequest:
content:
application/json:
application/yaml:
schema:
$ref: '#/components/schemas/TerminateNsRequest'
+ UpdateNsRequest:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/UpdateNsRequest'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/UpdateNsRequest'
+ VerticalscaleNsRequest:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/VerticalscaleNsRequest'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/VerticalscaleNsRequest'
# CreateNSinstanceContentRequest:
# Substituted by InstantiateNsRequest
CreateNstInfoRequest: