$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_content':
get:
tags:
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
- /nslcm/v1/subscriptions:
+ '/nslcm/v1/subscriptions':
get:
tags:
- NS instances
$ref: '#/components/responses/UnexpectedError'
# END NS Instances
+# BEGIN Alarms
+ '/nsfm/v1/alarms':
+ get:
+ tags:
+ - "Alarms"
+ summary: Query information about multiple alarms
+ description: Query information about multiple alarms
+ operationId: getAlarms
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ArrayOfAlarm'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ArrayOfAlarm'
+ '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'
+ '/nsfm/v1/alarms/{uuid}':
+ parameters:
+ - name: uuid
+ in: path
+ required: true
+ description: Alarm UUID
+ schema:
+ type: string
+ get:
+ tags:
+ - "Alarms"
+ summary: Read an individual Alarm
+ description: Read an individual Alarm
+ operationId: getAlarm
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Alarm'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/Alarm'
+ '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'
+ patch:
+ tags:
+ - "Alarms"
+ summary: Modify the data of an individual Alarm
+ description: Modify the data of an individual Alarm
+ operationId: updateAlarm
+ requestBody:
+ $ref: '#/components/requestBodies/AlarmInfoModifications'
+ responses:
+ '204':
+ description: No Content
+ '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'
+# END Alarms
+
# BEGIN NetSlice Templates
'/nst/v1/netslice_templates':
get:
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':
description:
description: NSD Description
type: string
+ AlarmInfoModifications:
+ description: |
+ Alarm Information
+ type: object
+ properties:
+ id:
+ description: UUID
+ type: string
+ is_enable:
+ description: To enable/disable the alarm.
+ type: string
+ threshold:
+ description: Threshold value of the Alarm
+ type: string
NsdInfo:
description: |
NS Descriptor Information
- 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
+ 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
+ required:
+ - updateType
+ additionalProperties: false
# CreateNSinstanceContentRequest:
# Substituted by InstantiateNsRequest
CreateNSinstanceContentResponse:
type: array
items:
$ref: '#/components/schemas/NetSliceInstance'
+ Alarm:
+ description: |
+ Alarm Information
+ type: object
+ properties:
+ _id:
+ description: Identifier of the Alarm.
+ type: string
+ format: uuid
+ id:
+ description: Identifier of the Alarm.
+ type: string
+ format: uuid
+ metric:
+ description: Alarm metric.
+ type: string
+ threshold:
+ description: Threshold value of the Alarm.
+ type: number
+ format: float
+ operation:
+ description: Operation to be applied.
+ type: string
+ action:
+ description: Action to be taken.
+ type: string
+ status:
+ description: Current status of the alarm.
+ type: string
+ required:
+ - _id
+ - id
+ - metric
+ - threshold
+ - operation
+ ArrayOfAlarm:
+ type: array
+ items:
+ $ref: '#/components/schemas/Alarm'
# CreateNsiRequest:
# Substituted by InstantiateNsiRequest
InstantiateNsiRequest:
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:
application/yaml:
schema:
$ref: '#/components/schemas/NsdInfoModifications'
+ AlarmInfoModifications:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/AlarmInfoModifications'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/AlarmInfoModifications'
NsDescriptor:
content:
text/plain:
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'
# CreateNSinstanceContentRequest:
# Substituted by InstantiateNsRequest
CreateNstInfoRequest: