Commit 8a244c24 authored by vreck's avatar vreck
Browse files

Merge branch '3.5.1-dev' into 'master'

3.5.1 dev

Closes #18, #4, #17, #11, #12, and #5

See merge request !18
parents daeef6b1 d433d1d6
Pipeline #9376 passed with stage
in 0 seconds
......@@ -3,10 +3,14 @@ openapi: 3.0.2
info:
title: SOL005 - API version interface
description: |
SOL005 - API version Interface IMPORTANT: Please note that this file might be not aligned to the current version of
the ETSI Group Specification it refers to and has not been approved by the ETSI NFV ISG. In case of discrepancies the
published ETSI Group Specification takes precedence.
SOL005 - API version Interface
IMPORTANT: Please note that this file might be not aligned to the current
version of the ETSI Group Specification it refers to. In case of
discrepancies the published ETSI Group Specification takes precedence.
Please report bugs to Please report bugs to https://forge.etsi.org/rep/nfv/SOL005/issues
contact:
name: NFV-SOL WG
license:
......@@ -15,8 +19,8 @@ info:
version: 1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1
externalDocs:
description: ETSI GS NFV-SOL 005 V3.3.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.03.01_60/gs_nfv-sol005v030301p.pdf
description: ETSI GS NFV-SOL 005 V3.5.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.05.01_60/gs_nfv-sol005v030501p.pdf
servers:
- url: http://127.0.0.1/
......
......@@ -4,10 +4,13 @@ info:
title: SOL005 - NFVI Capacity Information Interface
description: |
SOL005 - NFVI Capacity Information Interface
IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it
refers to and has not been approved by the ETSI NFV ISG. In case of discrepancies the published ETSI Group Specification
takes precedence.
IMPORTANT: Please note that this file might be not aligned to the current
version of the ETSI Group Specification it refers to. In case of
discrepancies the published ETSI Group Specification takes precedence.
Please report bugs to https://forge.etsi.org/rep/nfv/SOL005/issues
contact:
name: NFV-SOL WG
license:
......@@ -16,8 +19,8 @@ info:
version: 1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1
externalDocs:
description: ETSI GS NFV-SOL 005 V3.3.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.03.01_60/gs_nfv-sol005v030301p.pdf
description: ETSI GS NFV-SOL 005 V3.5.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.05.01_60/gs_nfv-sol005v030501p.pdf
servers:
- url: http://127.0.0.1/nfvici/v1
......@@ -32,9 +35,8 @@ paths:
- $ref: ../components/SOL005_params.yaml#/components/parameters/Version
- $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
get:
summary: Query NFVI capacity information
description: |
The API consumer can use this method to retrieve information about NFVI capacity information.
The API consumer can use this method to retrieve information about NFVI capacity information. See clause 10.4.2.3.2.
parameters:
- $ref: ../components/SOL005_params.yaml#/components/parameters/filter
- $ref: ../components/SOL005_params.yaml#/components/parameters/all_fields
......@@ -45,7 +47,7 @@ paths:
- $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
responses:
"200":
$ref: '#/components/responses/NfviCapacityInfos.Get'
$ref: '#/components/responses/NfviCapacityInfos.Get.200'
"400":
$ref: ../responses/SOL005_resp.yaml#/components/responses/400
"401":
......@@ -71,15 +73,14 @@ paths:
- $ref: ../components/SOL005_params.yaml#/components/parameters/Version
- $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
get:
summary: Query NFVI capacity information for a specific VIM
description: |
The API consumer can use this method for reading an individual VIMs NFVI capacity information.
The API consumer can use this method for reading an individual VIM's NFVI capacity information. See clause 10.4.3.3.2.
parameters:
- $ref: ../components/SOL005_params.yaml#/components/parameters/filter
- $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
responses:
"200":
$ref: '#/components/responses/NfviCapacityInfo.Get'
$ref: '#/components/responses/NfviCapacityInfo.Get.200'
"400":
$ref: ../responses/SOL005_resp.yaml#/components/responses/400
"401":
......@@ -104,17 +105,15 @@ paths:
- $ref: ../components/SOL005_params.yaml#/components/parameters/Version
- $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
get:
summary: Query NFVI capacity thresholds
description: |
This resource represents NFVI capacity thresholds.
The API consumer can use this resource to create and query NFVI capacity thresholds.
The API consumer can use this method to query information about NFVI capacity thresholds. See clause 10.4.4.3.2
parameters:
- $ref: ../components/SOL005_params.yaml#/components/parameters/filter
- $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
- $ref: ../components/SOL005_params.yaml#/components/parameters/nextpage_opaque_marker
responses:
"200":
$ref: '#/components/responses/CapacityThresholds.Get'
$ref: '#/components/responses/CapacityThresholds.Get.200'
"400":
$ref: ../responses/SOL005_resp.yaml#/components/responses/400
"401":
......@@ -135,11 +134,8 @@ paths:
$ref: ../responses/SOL005_resp.yaml#/components/responses/504
post:
summary: Create a NFVI capacity threshold
description: |
The POST method creates a new NFVI capacity threshold.
As a result of successfully executing this method, a new "Individual capacity threshold" resource as defined
in clause 10.4.5 shall have been created.
The POST method creates a new NFVI capacity threshold. See clause 10.4.4.3.1.
parameters:
- $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
- $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType
......@@ -147,7 +143,7 @@ paths:
$ref: '#/components/requestBodies/NfviCapacityThresholdRequest'
responses:
"201":
$ref: '#/components/responses/CapacityThresholds.Post'
$ref: '#/components/responses/CapacityThresholds.Post.201'
"400":
$ref: ../responses/SOL005_resp.yaml#/components/responses/400
"401":
......@@ -161,7 +157,7 @@ paths:
"406":
$ref: ../responses/SOL005_resp.yaml#/components/responses/406
"422":
$ref: ../responses/SOL005_resp.yaml#/components/responses/422
$ref: '#/components/responses/CapacityThresholds.Post.422'
"500":
$ref: ../responses/SOL005_resp.yaml#/components/responses/500
"503":
......@@ -175,16 +171,13 @@ paths:
- $ref: ../components/SOL005_params.yaml#/components/parameters/Version
- $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
get:
summary: Query Individual NFVI capacity threshold
description: |
The API consumer can use this method for reading information about an NFVI capacity threshold.
This method shall follow the provisions specified in the tables 10.4.5.3.2-1 and 10.4.5.3.2-2 for URI query
parameters, request and response data structures, and response codes.
The API consumer can use this method for reading information about an NFVI capacity threshold. See clause 10.4.5.3.2.
parameters:
- $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
responses:
"200":
$ref: '#/components/responses/IndividualCapacityThreshold.Get'
$ref: '#/components/responses/IndividualCapacityThreshold.Get.200'
"400":
$ref: ../responses/SOL005_resp.yaml#/components/responses/400
"401":
......@@ -205,16 +198,13 @@ paths:
$ref: ../responses/SOL005_resp.yaml#/components/responses/504
patch:
summary: Modify an "Individual capacity threshold" resource
description: |
This method iallows to modify an "Individual capacity threshold" resource.
This method shall follow the provisions specified in the Tables 10.4.5.3.4-1 and 10.4.5.3.4-2 for URI query
parameters, request and response data structures, and response codes.
This method allows to modify an "Individual capacity threshold" resource. See clause 10.4.5.3.4.
requestBody:
$ref: '#/components/requestBodies/IndividualNfviCapacityThresholdRequest'
responses:
"200":
$ref: '#/components/responses/IndividualCapacityThreshold.Patch'
$ref: '#/components/responses/IndividualCapacityThreshold.Patch.200'
"400":
$ref: ../responses/SOL005_resp.yaml#/components/responses/400
"401":
......@@ -228,147 +218,9 @@ paths:
"406":
$ref: ../responses/SOL005_resp.yaml#/components/responses/406
"412":
$ref: ../responses/SOL005_resp.yaml#/components/responses/412
"422":
$ref: ../responses/SOL005_resp.yaml#/components/responses/422
"500":
$ref: ../responses/SOL005_resp.yaml#/components/responses/500
"503":
$ref: ../responses/SOL005_resp.yaml#/components/responses/503
"504":
$ref: ../responses/SOL005_resp.yaml#/components/responses/504
delete:
summary: Delete an NFVI capacity threshold
description: |
This method allows to delete an NFVI capacity threshold.
As a result of successfully executing this method, the "Individual capacity threshold" resource shall not exist
any longer.
responses:
"204":
$ref: '#/components/responses/IndividualCapacityThreshold.Delete'
"400":
$ref: ../responses/SOL005_resp.yaml#/components/responses/400
"401":
$ref: ../responses/SOL005_resp.yaml#/components/responses/401
"403":
$ref: ../responses/SOL005_resp.yaml#/components/responses/403
"404":
$ref: ../responses/SOL005_resp.yaml#/components/responses/404
"405":
$ref: ../responses/SOL005_resp.yaml#/components/responses/405
"406":
$ref: ../responses/SOL005_resp.yaml#/components/responses/406
"500":
$ref: ../responses/SOL005_resp.yaml#/components/responses/500
"503":
$ref: ../responses/SOL005_resp.yaml#/components/responses/503
"504":
$ref: ../responses/SOL005_resp.yaml#/components/responses/504
/subscriptions:
parameters:
- $ref: ../components/SOL005_params.yaml#/components/parameters/Version
- $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
get:
summary: Query multiple subscriptions.
description: |
The API consumer can use this method to query the list of active subscriptions to NFVI capacity information
notifications subscribed by the API consumer.
parameters:
- $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
- $ref: ../components/SOL005_params.yaml#/components/parameters/filter
- $ref: ../components/SOL005_params.yaml#/components/parameters/nextpage_opaque_marker
responses:
"200":
$ref: '#/components/responses/NfviCiSubscriptions.Get'
"400":
$ref: ../responses/SOL005_resp.yaml#/components/responses/400
"401":
$ref: ../responses/SOL005_resp.yaml#/components/responses/401
"403":
$ref: ../responses/SOL005_resp.yaml#/components/responses/403
"404":
$ref: ../responses/SOL005_resp.yaml#/components/responses/404
"405":
$ref: ../responses/SOL005_resp.yaml#/components/responses/405
"406":
$ref: ../responses/SOL005_resp.yaml#/components/responses/406
"500":
$ref: ../responses/SOL005_resp.yaml#/components/responses/500
"503":
$ref: ../responses/SOL005_resp.yaml#/components/responses/503
"504":
$ref: ../responses/SOL005_resp.yaml#/components/responses/504
post:
summary: Create an NFVI capacity subscription
description: |
The POST method creates a new subscription.
This method shall follow the provisions specified in the Tables 10.4.6.3.1-1 and 10.4.6.3.1-2 for URI query
parameters, request and response data structures, and response codes.
parameters:
- $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
- $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType
requestBody:
$ref: '#/components/requestBodies/NfviCapacitySubscriptionRequest'
responses:
"201":
$ref: '#/components/responses/NfviCiSubscriptions.Post'
"303":
$ref: ../responses/SOL005_resp.yaml#/components/responses/303
"400":
$ref: ../responses/SOL005_resp.yaml#/components/responses/400
"401":
$ref: ../responses/SOL005_resp.yaml#/components/responses/401
"403":
$ref: ../responses/SOL005_resp.yaml#/components/responses/403
"404":
$ref: ../responses/SOL005_resp.yaml#/components/responses/404
"405":
$ref: ../responses/SOL005_resp.yaml#/components/responses/405
"406":
$ref: ../responses/SOL005_resp.yaml#/components/responses/406
$ref: '#/components/responses/IndividualCapacityThreshold.Patch.412'
"422":
$ref: ../responses/SOL005_resp.yaml#/components/responses/422
"500":
$ref: ../responses/SOL005_resp.yaml#/components/responses/500
"503":
$ref: ../responses/SOL005_resp.yaml#/components/responses/503
"504":
$ref: ../responses/SOL005_resp.yaml#/components/responses/504
callbacks:
CapacityShortageNotification:
$ref: '#/components/callbacks/CapacityShortageNotification'
/subscriptions/{subscriptionId}:
parameters:
- $ref: '#/components/parameters/SubscriptionId'
- $ref: ../components/SOL005_params.yaml#/components/parameters/Version
- $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
get:
summary: Read an individual subscription resource
description: |
The API consumer can use this method for reading an individual subscription about NFVI capacity information
notifications subscribed by the API consumer.
parameters:
- $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
responses:
"200":
$ref: '#/components/responses/NfviCiSubscription.Get'
"400":
$ref: ../responses/SOL005_resp.yaml#/components/responses/400
"401":
$ref: ../responses/SOL005_resp.yaml#/components/responses/401
"403":
$ref: ../responses/SOL005_resp.yaml#/components/responses/403
"404":
$ref: ../responses/SOL005_resp.yaml#/components/responses/404
"405":
$ref: ../responses/SOL005_resp.yaml#/components/responses/405
"406":
$ref: ../responses/SOL005_resp.yaml#/components/responses/406
$ref: '#/components/responses/IndividualCapacityThreshold.Patch.422'
"500":
$ref: ../responses/SOL005_resp.yaml#/components/responses/500
"503":
......@@ -377,14 +229,11 @@ paths:
$ref: ../responses/SOL005_resp.yaml#/components/responses/504
delete:
summary: Terminate a subscription.
description: |
This method terminates an individual subscription.
This method shall follow the provisions specified in the Tables 10.4.7.3.5-1 and 10.4.7.3.5-2 for URI query
parameters, request and response data structures, and response codes.
This method allows to delete an NFVI capacity threshold. See clause 10.4.5.3.5.
responses:
"204":
$ref: '#/components/responses/NfviCiSubscription.Delete'
$ref: '#/components/responses/IndividualCapacityThreshold.Delete.204'
"400":
$ref: ../responses/SOL005_resp.yaml#/components/responses/400
"401":
......@@ -433,20 +282,6 @@ components:
schema:
type: string
SubscriptionId:
name: subscriptionId
in: path
description: |
Identifier of the subscription.
This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response to a
POST request creating a new subscription resource. It can also be retrieved from the "id" attribute in the payload
body of that response.
required: true
style: simple
explode: false
schema:
type: string
requestBodies:
NfviCapacityThresholdRequest:
description: |
......@@ -467,27 +302,8 @@ components:
$ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/CapacityThresholdModifications
required: true
NfviCapacitySubscriptionRequest:
description: |
Details of the subscription to be created.
content:
application/json:
schema:
$ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/NfviCapacityInfoSubscriptionRequest
required: true
CapacityShortageNotificationRequest:
description: |
Notification about the available NFVI capacity having crossed below a threshold value or having re-covered from
a capacity shortage.
content:
application/json:
schema:
$ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/CapacityShortageNotification
required: true
responses:
NfviCapacityInfos.Get:
NfviCapacityInfos.Get.200:
description: |
Shall be returned when information about NFVI capacity information has been queried successfully.
The response body shall contain NFVI capacity information, as defined in clause 10.5.2.4.
......@@ -524,7 +340,7 @@ components:
items:
$ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/NfviCapacityInfo
NfviCapacityInfo.Get:
NfviCapacityInfo.Get.200:
description: |
Shall be returned when information of an individual VIM’s NFVI capacity has been read successfully.
The response body shall contain a representation of the NFVI capacity information, as defined in clause 10.5.2.4.
......@@ -555,7 +371,7 @@ components:
schema:
$ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/NfviCapacityInfo
CapacityThresholds.Get:
CapacityThresholds.Get.200:
description: |
Shall be returned when information about zero or more capacity thresholds has been queried successfully.
If the "filter" URI parameter was supplied in the request, the data in the response body shall have been
......@@ -593,7 +409,7 @@ components:
items:
$ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/CapacityThreshold
CapacityThresholds.Post:
CapacityThresholds.Post.201:
description: |
Shall be returned when a capacity threshold has been created successfully.
The response body shall contain a representation of the created "Individual capacity threshold" resource,
......@@ -626,10 +442,17 @@ components:
schema:
$ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/CapacityThreshold
IndividualCapacityThreshold.Get:
CapacityThresholds.Post.422:
description: |
Shall be returned when information about an individual capacity threshold has been read successfully.
The response body shall contain in a representation of the capacity threshold, as defined in clause 10.5.2.8.
422 UNPROCESSABLE ENTITY
Shall be returned upon the following error: The content type of the payload body is supported and the payload
body of a request contains syntactically correct data but the data cannot be processed.
The general cause for this error and its handling is specified in clause 6.4 of ETSI GS NFV-SOL 013 [16],
including rules for the presence of the response body.
Specifically in case of this resource, the response code 422 shall also be returned if the NFVO has tested
the Notification endpoint as described in clause 10.4.6.3.2 and the test has failed.
In this case, the "detail" attribute in the "ProblemDetails" structure shall convey more information about the error.
headers:
Version:
description: |
......@@ -655,13 +478,12 @@ components:
content:
application/json:
schema:
$ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/CapacityThreshold
$ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails"
IndividualCapacityThreshold.Patch:
IndividualCapacityThreshold.Get.200:
description: |
200 OK
Shall be returned when the request has been processed successfully.
The response body shall contain a data structure of type "CapacityThresholdModifications".
Shall be returned when information about an individual capacity threshold has been read successfully.
The response body shall contain in a representation of the capacity threshold, as defined in clause 10.5.2.8.
headers:
Version:
description: |
......@@ -687,46 +509,13 @@ components:
content:
application/json:
schema:
$ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/CapacityThresholdModifications
IndividualCapacityThreshold.Delete:
description: |
Shall be returned when the NFVI capacity threshold has been deleted successfully.
The response body shall be empty.
headers:
Version:
description: |
Version of the API used in the response.
style: simple
explode: false
schema:
type: string
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.
style: simple
explode: false
schema:
type: string
Content-Type:
description: The MIME type of the body of the response.
style: simple
explode: false
schema:
type: string
content: {}
$ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/CapacityThreshold
NfviCiSubscriptions.Get:
IndividualCapacityThreshold.Patch.200:
description: |
Shall be returned when the list of subscriptions has been queried successfully.
The response body shall contain in an array the representations of all active subscriptions of the functional
block that invokes the method, i.e. zero or more representations of NFVI capacity information subscriptions,
as defined in clause 10.5.2.9.
If the "filter" URI parameter was supplied in the request, the data in the response body shall have been
transformed according to the rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013.
If the NFVO supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV SOL 013 for this resource,
inclusion of the Link HTTP header in this response shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV SOL 013.
200 OK
Shall be returned when the request has been processed successfully.
The response body shall contain a data structure of type "CapacityThresholdModifications".
headers:
Version:
description: |
......@@ -752,17 +541,16 @@ components:
content:
application/json:
schema:
type: array
items:
$ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/NfviCapacityInfoSubscription
$ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/CapacityThresholdModifications
NfviCiSubscriptions.Post:
IndividualCapacityThreshold.Patch.412:
description: |
Shall be returned when the subscription has been created successfully.
A representation of the created subscription resource shall be returned in the response body, as defined in
clause 10.5.2.9.
The HTTP response shall include a "Location" HTTP header that contains the resource URI of the created subscription
resource.
412 PRECONDITION FAILED
A precondition given in an HTTP request header is not fulfilled.
Typically, this is due to an ETag mismatch, indicating that the resource was modified by another entity.
The response body should contain a ProblemDetails structure, in which the "detail" attribute should convey
more information about the error
headers:
Version:
description: |
......@@ -785,15 +573,18 @@ components:
explode: false
schema:
type: string
content:
application/json:
schema:
$ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/NfviCapacityInfoSubscription
NfviCiSubscription.Get:
IndividualCapacityThreshold.Patch.422:
description: |
Shall be returned when the subscription has been read successfully.
The response body shall contain a representation of the subscription resource, as defined in clause 10.5.2.9.
422 UNPROCESSABLE ENTITY
content type of the payload body is supported and the payload body of a request contains syntactically
correct data but the data cannot be processed.
The general cause for this error and its handling is specified in clause 6.4 of ETSI GS NFV-SOL 013 [16],
including rules for the presence of the response body.
Specifically in case of this resource, the response code 422 shall also be returned if the NFVO has tested
the Notification endpoint as described in clause 10.4.6.3.2 and the test has failed.
In this case, the "detail" attribute in the "ProblemDetails" structure shall convey more information about the error.
headers:
Version:
description: |
......@@ -819,66 +610,11 @@ components:
content:
application/json:
schema:
$ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/NfviCapacityInfoSubscription
$ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails"
NfviCiSubscription.Delete:
IndividualCapacityThreshold.Delete.204:
description: |
Shall be returned when the subscription resource has been deleted successfully.
The response body shall be empty.
headers:
Version:
description: |
Version of the API used in the response.
style: simple
explode: false
schema:
type: string
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.
style: simple
explode: false
schema:
type: string
Content-Type:
description: The MIME type of the body of the response.
style: simple
explode: false
schema:
type: string
content: {}
CapacityShortageNotification.Post:
description: |