Commit 67cca8c0 authored by rameshnaraya's avatar rameshnaraya
Browse files

NFV-SOL005-NS Lifecycle Management-Swagger-Files

parent fbdafb88
Pipeline #141 passed with stage
in 0 seconds
<
......@@ -22,15 +22,1818 @@ basePath: "/nslcm/v1"
schemes:
- https
consumes:
- "application/json"
produces:
- "application/json"
paths:
/resource:
###############################################################################
# NSInstances #
###############################################################################
'/ns_instances':
#ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.2
post:
summary: "NS instances"
description: >
The POST method creates a new NS instance resource.
parameters:
- name: createNsRequest
description: "The NS Instance creation parameters."
in: body
required: true
schema:
$ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/CreateNsRequest"
- name: Accept
description: >
Content-Types that are acceptable for the response.
Reference: IETF RFC 7231
in: header
required: true
type: string
- name: Authorization
description: >
The authorization token for the request.
Reference: IETF RFC 7235
in: header
required: false
type: string
- name: Content-Type
description: >
The MIME type of the body of the request.
Reference: IETF RFC 7231
in: header
required: true
type: string
responses:
201:
description: >
201 Created
A NS Instance identifier was created successfully.
The response body shall contain a representation of
the created NS instance, as defined in clause 6.5.2.8.
The HTTP response shall include a "Location" HTTP
header that contains the resource URI of the created
NS instance.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
Location:
description: The resource URI of the created NS instance
type: string
format: url
WWW-Authenticate:
description: >
Challenge if the corresponding HTTP request has not provided
authorization, or error details if the corresponding HTTP
request has provided an invalid authorization token.
type: string
maximum: 1
minimum: 0
schema:
$ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsInstance"
400:
$ref: "responses/SOL005_resp.yaml#/responses/400-attr-selector"
401:
$ref: "responses/SOL005_resp.yaml#/responses/401"
403:
$ref: "responses/SOL005_resp.yaml#/responses/403"
404:
$ref: "responses/SOL005_resp.yaml#/responses/404"
405:
$ref: "responses/SOL005_resp.yaml#/responses/405"
406:
$ref: "responses/SOL005_resp.yaml#/responses/406"
409:
$ref: "responses/NSLifecycleManagement_resp.yaml#/responses/409-inconsistent-state"
416:
$ref: "responses/SOL005_resp.yaml#/responses/416"
500:
$ref: "responses/SOL005_resp.yaml#/responses/500"
503:
$ref: "responses/SOL005_resp.yaml#/responses/503"
get:
summary: "NS instances"
description: >
Query NS Instances
The GET method queries information about multiple NS instances.
This method shall support the URI query parameters, request and response data structures, and response codes, as
specified in the Tables 6.4.2.3.2-1 and 6.4.2.3.2-2.
parameters:
- name: "filter"
in: "query"
required: false
type: "string"
description: >
"Attribute-based filtering parameters according to clause 4.3.2.
The NFVO shall support receiving filtering parameters as part of the URI
query string. The OSS/BSS may supply filtering parameters.
All attribute names that appear in the NsInstance and in data types
referenced from it shall be supported in attribute-based filtering parameters"
- name: "all_fields"
in: "query"
required: false
type: "string"
description: >
"Include all complex attributes in the response. See clause 4.3.3 for details.
The NFVO shall support this parameter."
- name: "fields"
in: "query"
required: false
type: "string"
description: >
"Complex attributes to be included into the response. See clause 4.3.3 for
details. The NFVO should support this parameter."
- name: "exclude_fields"
in: "query"
required: false
type: "string"
description: >
"Complex attributes to be excluded from the response. See clause 4.3.3 for
details. The NFVO should support this parameter."
- name: "exclude_default"
in: "query"
required: false
type: "string"
description: >
"Indicates to exclude the following complex attributes from the response.
See clause 4.3.3 for details. The NFVO shall support this parameter.
The following attributes shall be excluded from the NsInstance structure in
the response body if this parameter is provided, or none of the parameters
"all_fields," "fields", "exclude_fields", "exclude_default" are provided:
- vnfInstances
- pnfInfo
- virtualLinkInfo
- vnffgInfo
- sapInfo
- nsScaleStatus
- additionalAffinityOrAntiAffinityRules"
- name: Accept
description: >
Content-Types that are acceptable for the response.
Reference: IETF RFC 7231
in: header
required: true
type: string
- name: Authorization
description: >
The authorization token for the request.
Reference: IETF RFC 7235
in: header
required: false
type: string
responses:
200:
description: >
200 OK
Information about zero or more NS instances was
queried successfully.
The response body shall contain representations of
zero or more NS instances.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
WWW-Authenticate:
description: >
Challenge if the corresponding HTTP request has not provided
authorization, or error details if the corresponding HTTP
request has provided an invalid authorization token.
type: string
maximum: 1
minimum: 0
schema:
type: array
items:
$ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsInstance"
400:
$ref: "responses/SOL005_resp.yaml#/responses/400-attr-selector"
401:
$ref: "responses/SOL005_resp.yaml#/responses/401"
403:
$ref: "responses/SOL005_resp.yaml#/responses/403"
404:
$ref: "responses/SOL005_resp.yaml#/responses/404"
405:
$ref: "responses/SOL005_resp.yaml#/responses/405"
406:
$ref: "responses/SOL005_resp.yaml#/responses/406"
409:
$ref: "responses/NSLifecycleManagement_resp.yaml#/responses/409-inconsistent-state"
416:
$ref: "responses/SOL005_resp.yaml#/responses/416"
500:
$ref: "responses/SOL005_resp.yaml#/responses/500"
503:
$ref: "responses/SOL005_resp.yaml#/responses/503"
###############################################################################
# Individual NS instance #
###############################################################################
'/ns_instances/{nsInstanceId}':
#ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.3
summary: "Read an individual NS instance resource"
parameters:
- name: nsInstanceId
description: >
Identifier of the NS instance.
in: path
type: string
required: true
get:
summary: Individual NS instance
description: >
The GET method retrieves information about a NS instance by
reading an individual NS instance resource.
parameters:
- name: Accept
description: >
Content-Types that are acceptable for the response.
Reference: IETF RFC 7231
in: header
required: true
type: string
- name: Authorization
description: >
The authorization token for the request.
Reference: IETF RFC 7235
in: header
required: false
type: string
- name: Content-Type
description: >
The MIME type of the body of the request.
Reference: IETF RFC 7231
in: header
required: true
type: string
responses:
200:
description: >
200 OK
Information about an individual NS instance was
queried successfully.
The response body shall contain a representation of
the NS instance.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
WWW-Authenticate:
description: >
Challenge if the corresponding HTTP request has not provided
authorization, or error details if the corresponding HTTP
request has provided an invalid authorization token.
type: string
maximum: 1
minimum: 0
schema:
$ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsInstance"
400:
$ref: "responses/SOL005_resp.yaml#/responses/400-attr-selector"
401:
$ref: "responses/SOL005_resp.yaml#/responses/401"
403:
$ref: "responses/SOL005_resp.yaml#/responses/403"
404:
$ref: "responses/SOL005_resp.yaml#/responses/404"
405:
$ref: "responses/SOL005_resp.yaml#/responses/405"
406:
$ref: "responses/SOL005_resp.yaml#/responses/406"
409:
$ref: "responses/NSLifecycleManagement_resp.yaml#/responses/409-inconsistent-state"
416:
$ref: "responses/SOL005_resp.yaml#/responses/416"
500:
$ref: "responses/SOL005_resp.yaml#/responses/500"
503:
$ref: "responses/SOL005_resp.yaml#/responses/503"
delete:
summary: Individual NS instance.
description: >
Delete NS Identifier
This method deletes an individual NS instance resource.
parameters:
- name: Authorization
description: >
The authorization token for the request.
Reference: IETF RFC 7235
in: header
required: false
type: string
responses:
204:
description: >
204 No Content
The NS instance resource and the associated NS
identifier were deleted successfully.
The response body shall be empty.
headers:
WWW-Authenticate:
description: >
Challenge if the corresponding HTTP request has not provided
authorization, or error details if the corresponding HTTP
request has provided an invalid authorization token.
type: string
maximum: 1
minimum: 0
400:
$ref: "responses/SOL005_resp.yaml#/responses/400-attr-selector"
401:
$ref: "responses/SOL005_resp.yaml#/responses/401"
403:
$ref: "responses/SOL005_resp.yaml#/responses/403"
404:
$ref: "responses/SOL005_resp.yaml#/responses/404"
405:
$ref: "responses/SOL005_resp.yaml#/responses/405"
406:
$ref: "responses/SOL005_resp.yaml#/responses/406"
409:
$ref: "responses/NSLifecycleManagement_resp.yaml#/responses/409-state-conflict-INSTANTIATED"
412:
$ref: "responses/SOL005_resp.yaml#/responses/412"
500:
$ref: "responses/SOL005_resp.yaml#/responses/500"
503:
$ref: "responses/SOL005_resp.yaml#/responses/503"
###############################################################################
# Instantiate NS task #
###############################################################################
'/ns_instances/{nsInstanceId}/instantiate':
#ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.4
parameters:
- name: nsInstanceId
description: >
Identifier of the NS instance to be instantiated.
in: path
type: string
required: true
post:
summary: Instantiate NS task.
description: >
The POST method requests to instantiate a NS instance resource.
parameters:
- name: InstantiateNsRequest
description: >
Parameters for the instantiate NS operation, as defined in clause 6.5.2.10.
in: body
required: true
schema:
$ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/InstantiateNsRequest"
- name: Accept
description: >
Content-Types that are acceptable for the response.
Reference: IETF RFC 7231
in: header
required: true
type: string
- name: Authorization
description: >
The authorization token for the request.
Reference: IETF RFC 7235
in: header
required: false
type: string
- name: Content-Type
description: >
The MIME type of the body of the request.
Reference: IETF RFC 7231
in: header
required: true
type: string
responses:
202:
description: >
202 Accepted
The request was accepted for processing, but the
processing has not been completed.
The response body shall be empty.
The HTTP response shall include a "Location" HTTP
header that contains the URI of the newly-created
"NS LCM operation occurrence" resource
corresponding to the operation.
headers:
Location:
description: The resource URI of the created VNF instance
type: string
format: url
WWW-Authenticate:
description: >
Challenge if the corresponding HTTP request has not provided
authorization, or error details if the corresponding HTTP
request has provided an invalid authorization token.
type: string
maximum: 1
minimum: 0
400:
$ref: "responses/SOL005_resp.yaml#/responses/400"
401:
$ref: "responses/SOL005_resp.yaml#/responses/401"
403:
$ref: "responses/SOL005_resp.yaml#/responses/403"
404:
$ref: "responses/SOL005_resp.yaml#/responses/404"
405:
$ref: "responses/SOL005_resp.yaml#/responses/405"
406:
$ref: "responses/SOL005_resp.yaml#/responses/406"
409:
$ref: "responses/NSLifecycleManagement_resp.yaml#/responses/409-state-conflict-INSTANTIATED"
416:
$ref: "responses/SOL005_resp.yaml#/responses/416"
500:
$ref: "responses/SOL005_resp.yaml#/responses/500"
503:
$ref: "responses/SOL005_resp.yaml#/responses/503"
###############################################################################
# Scale NS task #
###############################################################################
'/ns_instances/{nsInstanceId}/scale':
#ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.5
description: >
This task resource represents the "Scale NS" operation. The client can use this resource to request to scale a NS
instance. Scaling an NS instance can be performed by explicitly adding/removing existing VNF instances to/from the
NS instance, by leveraging on the abstraction mechanism provided by the NS scaling aspects and NS levels information
elements declared in the NSD or by scaling individual VNF instances that are part of the NS itself. When adding VNFs
and nested NSs - already existing or not - to the NS to be scaled, the NFVO shall follow the indications provided by the
dependencies attribute, as specified in the corresponding NSD.
In case the NS is a composite NS, it is also possible to scale directly its nested NS, as they are also NS
and thus indirectly effectively scale the composite NS
parameters:
- name: nsInstanceId
description: >
Identifier of the NS instance to be scaled.
in: path
type: string
required: true
post:
#SOL005v020401p location: 6.4.5.2
summary: Scale NS task.
description: >
The POST method requests to scale a NS instance resource.
parameters:
- name: ScaleNsRequest
description: Represents a request for the scale NS operation
in: body
required: true
schema:
$ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/ScaleNsRequest"
- name: Accept
description: >
Content-Types that are acceptable for the response.
Reference: IETF RFC 7231
in: header
required: true
type: string
- name: Authorization
description: >
The authorization token for the request.
Reference: IETF RFC 7235
in: header
required: false
type: string
- name: Content-Type
description: >
The MIME type of the body of the request.
Reference: IETF RFC 7231
in: header
required: true
type: string
responses:
202:
$ref: "responses/NSLifecycleManagement_resp.yaml#/responses/202-with-Location"
400:
$ref: "responses/SOL005_resp.yaml#/responses/400"
401:
$ref: "responses/SOL005_resp.yaml#/responses/401"
403:
$ref: "responses/SOL005_resp.yaml#/responses/403"
404:
$ref: "responses/SOL005_resp.yaml#/responses/404-task-resource-not-exists"
405:
$ref: "responses/SOL005_resp.yaml#/responses/405"
406:
$ref: "responses/SOL005_resp.yaml#/responses/406"
409:
$ref: "responses/NSLifecycleManagement_resp.yaml#/responses/409-state-conflict-NOT-INSTANTIATED"
500:
$ref: "responses/SOL005_resp.yaml#/responses/500"
503:
$ref: "responses/SOL005_resp.yaml#/responses/503"
###############################################################################
# Update NS task #
###############################################################################
'/ns_instances/{nsInstanceId}/update':
#ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.6
description: >
This task resource represents the "Update NS" operation.
The client can use this resource to update a NS instance.
parameters:
- name: nsInstanceId
description: >
Identifier of the NS instance to be updated.
in: path
type: string
required: true
post:
summary: Update NS task.
description: >
Scale NS instance.
The POST method requests to scale a NS instance resource.
parameters:
- name: UpdateNsRequest
description: Represents a request for the scale NS operation.
in: body
required: true
schema:
$ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/UpdateNsRequest"
- name: Accept
description: >
Content-Types that are acceptable for the response.
Reference: IETF RFC 7231
in: header
required: true
type: string
- name: Authorization
description: >
The authorization token for the request.
Reference: IETF RFC 7235
in: header
required: false
type: string
- name: Content-Type
description: >
The MIME type of the body of the request.
Reference: IETF RFC 7231
in: header
required: true
type: string
responses:
202:
$ref: "responses/NSLifecycleManagement_resp.yaml#/responses/202-with-Location"
400:
$ref: "responses/SOL005_resp.yaml#/responses/400"
401:
$ref: "responses/SOL005_resp.yaml#/responses/401"
403:
$ref: "responses/SOL005_resp.yaml#/responses/403"
404:
$ref: "responses/SOL005_resp.yaml#/responses/404-task-resource-not-exists"
405:
$ref: "responses/SOL005_resp.yaml#/responses/405"
406:
$ref: "responses/SOL005_resp.yaml#/responses/406"
409:
$ref: "responses/NSLifecycleManagement_resp.yaml#/responses/409-state-conflict-NOT-INSTANTIATED"
500:
$ref: "responses/SOL005_resp.yaml#/responses/500"
503:
$ref: "responses/SOL005_resp.yaml#/responses/503"
###############################################################################
# Heal NS task #
###############################################################################
'/ns_instances/{nsInstanceId}/heal':