Commit 351c14fc authored by rameshnaraya's avatar rameshnaraya

Fixed SOL005 v2.4.1 Review issues.

parent d5e85885
Pipeline #312 pending with stage
swagger: "2.0"
info:
version: "2.4.1"
version: "1.0.0"
title: SOL005 - NS Lifecycle Management Interface
description: >
SOL005 - NS Lifecycle Management Interface
......@@ -32,7 +32,7 @@ paths:
'/ns_instances':
#ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.2
post:
summary: "Create a NS instance resource."
summary: Create a NS instance resource.
description: >
The POST method creates a new NS instance resource.
parameters:
......@@ -71,25 +71,21 @@ paths:
The NS creation parameters, as defined in clause 6.5.2.7.
responses:
201:
description: "201 Created."
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.
schema:
type: "object"
description: >
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.
properties:
NsInstance:
$ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsInstance"
headers:
Location:
type: "string"
description: >
The HTTP response shall include a Location HTTP header
that contains the resource URI of the new NS descriptor resource.
Content-Type:
type: "string"
description: >
......@@ -102,6 +98,8 @@ paths:
Challenge if the corresponding HTTP request has not provided
authorization, or error details if the corresponding HTTP request
has provided an invalid authorization token.
maximum: 1
minimum: 0
400:
$ref: "responses/SOL005_resp.yaml#/responses/400-attr-selector"
401:
......@@ -123,7 +121,7 @@ paths:
503:
$ref: "responses/SOL005_resp.yaml#/responses/503"
get:
summary: "Query multiple NS instances."
summary: Query multiple NS instances.
description: >
Query NS Instances.
......@@ -196,7 +194,7 @@ paths:
responses:
200:
description: >
200 OK.
200 OK
Information about zero or more NS instances was
queried successfully.
......@@ -210,11 +208,13 @@ paths:
maximum: 1
minimum: 1
WWW-Authenticate:
type: string
type: "string"
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.
authorization, or error details if the corresponding HTTP request
has provided an invalid authorization token.
maximum: 1
minimum: 0
schema:
type: array
items:
......@@ -283,23 +283,17 @@ paths:
type: string
responses:
200:
description: 200 OK.
description: >
200 OK
Information about an individual NS instance was queried successfully.
The response body shall contain a representation of the NS instance.
schema:
type: "object"
description: >
Information about an individual NS instance was
queried successfully.
The response body shall contain a representation of
the NS instance.
properties:
NsInstance:
$ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsInstance"
headers:
Location:
type: "string"
description: >
The HTTP response shall include a Location HTTP header
that contains the resource URI of the new NS descriptor resource.
Content-Type:
type: "string"
description: >
......@@ -312,7 +306,7 @@ paths:
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.
has provided an invalid authorization token.
maximum: 1
minimum: 0
400:
......@@ -360,11 +354,11 @@ paths:
The response body shall be empty.
headers:
WWW-Authenticate:
type: "string"
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
authorization, or error details if the corresponding HTTP request
has provided an invalid authorization token.
maximum: 1
minimum: 0
400:
......@@ -606,30 +600,26 @@ paths:
$ref: "responses/SOL005_resp.yaml#/responses/500"
503:
$ref: "responses/SOL005_resp.yaml#/responses/503"
###############################################################################
# Terminate NS task #
# Heal NS task #
###############################################################################
'/ns_instances/{nsInstanceId}/terminate':
#ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.8
'/ns_instances/{nsInstanceId}/heal':
#ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.7
parameters:
- name: nsInstanceId
description: >
The identifier of the NS instance to be terminated.
Identifier of the NS instance to be healed.
in: path
type: string
required: true
post:
summary: Terminate a NS instance.
description: >
Terminate NS task.
The POST method terminates a NS instance. This method can only be
used with a NS instance in the INSTANTIATED
state. Terminating a NS instance does not delete the NS instance identifier,
but rather transitions the NS into the NOT_INSTANTIATED state.
This method shall support the URI query parameters, request and
response data structures, and response codes, as
specified in the Tables 6.4.8.3.1-1 and 6.8.8.3.1-2.
summary: Heal a NS instance.
description: >
The POST method requests to heal a NS instance resource.
This method shall follow the provisions specified in the Tables 6.4.7.3.1-1 and
6.4.7.3.1-2 for URI query parameters,
request and response data structures, and response codes.
parameters:
- name: Accept
description: >
......@@ -658,15 +648,15 @@ paths:
schema:
type: "object"
required:
- "TerminateNsRequest"
- "HealNsRequest"
properties:
TerminateNsRequest:
$ref: "definitions/NSLifecycleManagement_def.yaml#/definitions/TerminateNsRequest"
HealNsRequest:
$ref: "definitions/NSLifecycleManagement_def.yaml#/definitions/HealNsRequest"
description: >
The terminate NS request parameters, as defined in clause 6.5.2.14.
Parameters for the heal NS operation, as defined in clause 6.5.2.12.
responses:
202:
$ref: "responses/NSLifecycleManagement_resp.yaml#/responses/202-with-Location"
$ref: "responses/NSLifecycleManagement_resp.yaml#/responses/202-with-Location"
400:
$ref: "responses/SOL005_resp.yaml#/responses/400"
401:
......@@ -684,27 +674,31 @@ paths:
500:
$ref: "responses/SOL005_resp.yaml#/responses/500"
503:
$ref: "responses/SOL005_resp.yaml#/responses/503"
$ref: "responses/SOL005_resp.yaml#/responses/503"
###############################################################################
# Heal NS task #
# Terminate NS task #
###############################################################################
'/ns_instances/{nsInstanceId}/heal':
#ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.7
'/ns_instances/{nsInstanceId}/terminate':
#ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.8
parameters:
- name: nsInstanceId
description: >
Identifier of the NS instance to be healed.
The identifier of the NS instance to be terminated.
in: path
type: string
required: true
post:
summary: Heal a NS instance.
description: >
The POST method requests to heal a NS instance resource.
This method shall follow the provisions specified in the Tables 6.4.7.3.1-1 and
6.4.7.3.1-2 for URI query parameters,
request and response data structures, and response codes.
summary: Terminate a NS instance.
description: >
Terminate NS task.
The POST method terminates a NS instance. This method can only be
used with a NS instance in the INSTANTIATED
state. Terminating a NS instance does not delete the NS instance identifier,
but rather transitions the NS into the NOT_INSTANTIATED state.
This method shall support the URI query parameters, request and
response data structures, and response codes, as
specified in the Tables 6.4.8.3.1-1 and 6.8.8.3.1-2.
parameters:
- name: Accept
description: >
......@@ -733,15 +727,15 @@ paths:
schema:
type: "object"
required:
- "HealNsRequest"
- "TerminateNsRequest"
properties:
HealNsRequest:
$ref: "definitions/NSLifecycleManagement_def.yaml#/definitions/HealNsRequest"
TerminateNsRequest:
$ref: "definitions/NSLifecycleManagement_def.yaml#/definitions/TerminateNsRequest"
description: >
Parameters for the heal NS operation, as defined in clause 6.5.2.12.
The terminate NS request parameters, as defined in clause 6.5.2.14.
responses:
202:
$ref: "responses/NSLifecycleManagement_resp.yaml#/responses/202-with-Location"
$ref: "responses/NSLifecycleManagement_resp.yaml#/responses/202-with-Location"
400:
$ref: "responses/SOL005_resp.yaml#/responses/400"
401:
......@@ -759,7 +753,7 @@ paths:
500:
$ref: "responses/SOL005_resp.yaml#/responses/500"
503:
$ref: "responses/SOL005_resp.yaml#/responses/503"
$ref: "responses/SOL005_resp.yaml#/responses/503"
###############################################################################
# NS LCM operation occurrences #
......@@ -829,7 +823,7 @@ paths:
responses:
200:
description: >
200 OK.
200 OK
Status information for zero or more NS lifecycle
management operation occurrences was queried successfully.
......@@ -843,11 +837,13 @@ paths:
maximum: 1
minimum: 1
WWW-Authenticate:
type: string
type: "string"
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.
authorization, or error details if the corresponding HTTP request
has provided an invalid authorization token.
maximum: 1
minimum: 0
schema:
type: array
items:
......@@ -918,24 +914,19 @@ paths:
type: string
responses:
200:
description: 200 OK.
description: >
200 OK
Information about an individual NS instance was queried successfully.
The response body shall contain status information
about a NS lifecycle management operation
occurrence (see clause 6.5.2.3).
schema:
type: "object"
description: >
Information about an individual NS instance was
queried successfully.
The response body shall contain status information
about a NS lifecycle management operation
occurrence (see clause 6.5.2.3).
type: "object"
properties:
NsLcmOpOcc:
$ref: "definitions/NSLifecycleManagement_def.yaml#/definitions/NsLcmOpOcc"
headers:
Location:
type: "string"
description: >
The HTTP response shall include a Location HTTP header
that contains the resource URI of the new NS descriptor resource.
Content-Type:
type: "string"
description: >
......@@ -1135,7 +1126,7 @@ paths:
# Fail operation task #
###############################################################################
'/nslcm/v1/ns_lcm_op_occs/{nsLcmOpOccId}/fail':
#ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.14
#ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.14
parameters:
- name: nsLcmOpOccId
description: >
......@@ -1172,7 +1163,7 @@ paths:
type: string
responses:
200:
description: 200 OK.
description: 200 OK
schema:
type: "object"
description: >
......@@ -1184,11 +1175,6 @@ paths:
NsLcmOpOcc:
$ref: "definitions/NSLifecycleManagement_def.yaml#/definitions/NsLcmOpOcc"
headers:
Location:
type: "string"
description: >
The HTTP response shall include a Location HTTP header
that contains the resource URI of the new NS descriptor resource.
Content-Type:
type: "string"
description: >
......@@ -1228,7 +1214,7 @@ paths:
# Cancel operation task #
###############################################################################
'/nslcm/v1/ns_lcm_op_occs/{nsLcmOpOccId}/cancel':
#ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.15
#ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.15
parameters:
- name: nsLcmOpOccId
description: >
......@@ -1321,11 +1307,11 @@ paths:
maximum: 1
minimum: 1
WWW-Authenticate:
type: "string"
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
authorization, or error details if the corresponding HTTP request
has provided an invalid authorization token.
maximum: 1
minimum: 0
schema:
......@@ -1339,7 +1325,7 @@ paths:
# Subscriptions #
###############################################################################
'/subscriptions':
#ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.16
#ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.16
post:
summary: Subscribe to NS lifecycle change notifications.
description: >
......@@ -1388,24 +1374,20 @@ paths:
Details of the subscription to be created, as defined in clause 6.5.2.2.
responses:
201:
description: 201 Created.
description: >
201 Created
The subscription was created successfully.
The response body shall contain a representation of
the created subscription resource.
The HTTP response shall include a "Location:"
HTTP header that points to the created subscription resource.
schema:
type: "object"
description: >
The subscription was created successfully.
The response body shall contain a representation of
the created subscription resource.
The HTTP response shall include a "Location:"
HTTP header that points to the created subscription resource.
type: "object"
properties:
LccnSubscription:
$ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/LccnSubscription"
headers:
Location:
type: "string"
description: >
The HTTP response shall include a Location HTTP header
that contains the resource URI of the new NS descriptor resource.
Content-Type:
type: "string"
description: >
......@@ -1418,6 +1400,8 @@ paths:
Challenge if the corresponding HTTP request has not provided
authorization, or error details if the corresponding HTTP request
has provided an invalid authorization token.
maximum: 1
minimum: 0
303:
description: >
See Other.
......@@ -1430,16 +1414,12 @@ paths:
existing subscription resource.
The response body shall be empty.
headers:
Location:
description: The resource URI of the created NS instance
type: string
format: url
WWW-Authenticate:
type: "string"
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
authorization, or error details if the corresponding HTTP request
has provided an invalid authorization token.
maximum: 1
minimum: 0
400:
......@@ -1484,24 +1464,28 @@ paths:
responses:
200:
description: >
200 OK.
200 OK
The list of subscriptions was queried successfully.
The response body shall contain the representations of
all active subscriptions of the functional block that
invokes the method.
invokes the method.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
type: "string"
description: >
The MIME type of the body of the response.This header
field shall be present if the response has a non-empty message
body.
WWW-Authenticate:
type: string
type: "string"
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.
authorization, or error details if the corresponding HTTP request
has provided an invalid authorization token.
maximum: 1
minimum: 0
schema:
type: array
items:
......@@ -1523,11 +1507,11 @@ paths:
maximum: 1
minimum: 1
WWW-Authenticate:
type: "string"
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
authorization, or error details if the corresponding HTTP request
has provided an invalid authorization token.
maximum: 1
minimum: 0
schema:
......@@ -1551,7 +1535,7 @@ paths:
# Individual subscription #
###############################################################################
'/subscriptions/{subscriptionId}':
#ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.17
#ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.17
parameters:
- name: subscriptionId
description: >
......@@ -1582,22 +1566,18 @@ paths:
type: string
responses:
200:
description: 200 OK.
description: >
200 OK
The operation has completed successfully.
The response body shall contain a representation of
the subscription resource.
schema:
type: "object"
description: >
The operation has completed successfully.
The response body shall contain a representation of
the subscription resource.
type: "object"
properties:
LccnSubscription:
$ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/LccnSubscription"
headers:
Location:
type: "string"
description: >
The HTTP response shall include a Location HTTP header
that contains the resource URI of the new NS descriptor resource.
Content-Type:
type: "string"
description: >
......@@ -1608,8 +1588,9 @@ paths:
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.
has provided an invalid authorization token.
maximum: 1
minimum: 0
400:
$ref: "responses/SOL005_resp.yaml#/responses/400"
401:
......@@ -1643,17 +1624,17 @@ paths:
responses:
204:
description: >
204 No Content.
204 No Content
The subscription resource was deleted successfully.
The response body shall be empty.
headers:
WWW-Authenticate:
type: "string"
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
authorization, or error details if the corresponding HTTP request
has provided an invalid authorization token.
maximum: 1
minimum: 0
400:
......@@ -1671,23 +1652,20 @@ paths:
503:
$ref: "responses/SOL005_resp.yaml#/responses/503"
###############################################################################
# Notification endpoint #
# "/notification_endpoint" is the #
# is the dummy URI used for testing, in real case endpoint URI has to #
# provided by client. #
###############################################################################
'/notification_endpoint':
##################################################################################
# Notification endpoint #
# Dummy URI is used for testing. #
# In real, resource URI is provided by the client when creating the subscription.#
##################################################################################
'/URI_is_provided_by_the_client_when_creating_the_subscription-NsLcmOperationOccurrenceNotification':
#ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.18
post:
summary: Notify about NS lifecycle change.
summary: Notify about NS lifecycle change
description: >
The POST method delivers a notification from the server to the client.
This method shall support the URI query parameters, request and response data structures, and response codes, as
specified in the Tables 6.4.18.3.1-1 and 6.4.18.3.1-2.
# Don't know how to pass multiple body parameters.
# Jenkin build is failing if enable more than one body parameters, So commented body parameters.
parameters:
- name: NsLcmOperationOccurrenceNotification
description: >
......@@ -1699,26 +1677,6 @@ paths:
properties:
NsLcmOperationOccurrenceNotification:
$ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsLcmOperationOccurrenceNotification"
#- name: NsIdentifierCreationNotification
# description: >
# A notification about the creation of a NS identifier and the related
# NS instance resource.
# in: body
# required: true
# schema:
# properties:
# NsIdentifierCreationNotification:
# $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsIdentifierCreationNotification"
#- name: NsIdentifierDeletionNotification
# description: >
# A notification about the deletion of a NS identifier and the related
# NS instance resource.
# in: body
# required: true
# schema:
# properties:
# NsIdentifierDeletionNotification:
# $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsIdentifierDeletionNotification"
- name: Accept
description: >
Content-Types that are acceptable for the response.
......@@ -1743,23 +1701,93 @@ paths:
responses:
204:
description: >
204 No Content
The notification was delivered successfully.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
WWW-Authenticate:
type: "string"
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.
maximum: 1
minimum: 1
Location:
description: The resource URI of the created NS instance
type: string
format: url
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-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"
'/URI_is_provided_by_the_client_when_creating_the_subscription-NsIdentifierCreationNotification':
#ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.18
post:
summary: Notify about NS lifecycle change
description: >
The POST method delivers a notification from the server to the client.
This method shall support the URI query parameters, request and response data structures, and response codes, as
specified in the Tables 6.4.18.3.1-1 and 6.4.18.3.1-2.
parameters:
- name: NsIdentifierCreationNotification
description: >
A notification about the creation of a NS identifier and the related
NS instance resource.
in: body
required: true
schema:
properties:
NsIdentifierCreationNotification:
$ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsIdentifierCreationNotification"
- 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