Commit efe5fa2f authored by moscatelli's avatar moscatelli

SOL005: Common definitions file updated + NSD mgmt and NS Performance mgmt def files updated

parent 9f82be0a
Pipeline #652 passed with stage
in 0 seconds
......@@ -406,9 +406,9 @@ paths:
an already disabled individual NS descriptor resource, or the "nsdOnboardingState" is not ONBOARDED.
The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey
more information about the error.
$ref: "responses/SOL005NSDescriptorManagement_resp.yaml#/responses/409"
$ref: "../responses/SOL005_resp.yaml#/responses/409"
412:
$ref: "responses/SOL005NSDescriptorManagement_resp.yaml#/responses/412"
$ref: "../responses/SOL005_resp.yaml#/responses/412"
500:
$ref: "../responses/SOL005_resp.yaml#/responses/500"
503:
......@@ -477,7 +477,7 @@ paths:
NS descriptor resource (i.e. usageState = IN_USE).
The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall
convey more information about the error.
$ref: "responses/SOL005NSDescriptorManagement_resp.yaml#/responses/409"
$ref: "../responses/SOL005_resp.yaml#/responses/409"
500:
$ref: "../responses/SOL005_resp.yaml#/responses/500"
503:
......@@ -587,7 +587,7 @@ paths:
The response body shall contain the requested part of the NSD file.
The "Content-Range" HTTP header shall be provided according to IETF RFC 7233.
The "Content-Type" HTTP header shall be set as defined above for the "200 OK" response.
$ref: "responses/SOL005NSDescriptorManagement_resp.yaml#/responses/206"
$ref: "../responses/SOL005_resp.yaml#/responses/206"
400:
$ref: "../responses/SOL005_resp.yaml#/responses/400"
401:
......@@ -606,13 +606,13 @@ paths:
Typically, this is due to the fact "nsdOnboardingState" has a value different from ONBOARDED.
The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall
convey more information about the error.
$ref: "responses/SOL005NSDescriptorManagement_resp.yaml#/responses/409"
$ref: "../responses/SOL005_resp.yaml#/responses/409"
416:
description: >
The byte range passed in the "Range" header did not match any available byte range in the NSD file
(e.g. "access after end of file").
The response body may contain a ProblemDetails structure.
$ref: "responses/SOL005NSDescriptorManagement_resp.yaml#/responses/416"
$ref: "../responses/SOL005_resp.yaml#/responses/416"
500:
$ref: "../responses/SOL005_resp.yaml#/responses/500"
503:
......@@ -705,7 +705,7 @@ paths:
Typically, this is due to the fact that the NsdOnboardingState has a value other than CREATED.
The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall
convey more information about the error.
$ref: "responses/SOL005NSDescriptorManagement_resp.yaml#/responses/409"
$ref: "../responses/SOL005_resp.yaml#/responses/409"
500:
$ref: "../responses/SOL005_resp.yaml#/responses/500"
503:
......@@ -1086,7 +1086,7 @@ paths:
406:
$ref: "../responses/SOL005_resp.yaml#/responses/406"
412:
$ref: "responses/SOL005NSDescriptorManagement_resp.yaml#/responses/412"
$ref: "../responses/SOL005_resp.yaml#/responses/412"
500:
$ref: "../responses/SOL005_resp.yaml#/responses/500"
503:
......@@ -1214,7 +1214,7 @@ paths:
Typically, this is due to the fact pnfdOnboardingState has a value different from ONBOARDED.
The response body shall contain a ProblemDetails structure, in which the "detail" attribute
shall convey more information about the error.
$ref: "responses/SOL005NSDescriptorManagement_resp.yaml#/responses/409"
$ref: "../responses/SOL005_resp.yaml#/responses/409"
500:
$ref: "../responses/SOL005_resp.yaml#/responses/500"
503:
......@@ -1261,7 +1261,7 @@ paths:
Typically, this is due to the fact that the PnfdOnboardingState has a value other than CREATED.
The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall
convey more information about the error.
$ref: "responses/SOL005NSDescriptorManagement_resp.yaml#/responses/409"
$ref: "../responses/SOL005_resp.yaml#/responses/409"
500:
$ref: "../responses/SOL005_resp.yaml#/responses/500"
503:
......@@ -1368,7 +1368,7 @@ paths:
The HTTP response shall include a "Location" HTTP header that contains the resource URI of the existing
subscription resource.
The response body shall be empty.
$ref: "responses/SOL005NSDescriptorManagement_resp.yaml#/responses/303"
$ref: "../responses/SOL005_resp.yaml#/responses/303"
400:
$ref: "../responses/SOL005_resp.yaml#/responses/400"
401:
......
# Copyright (c) ETSI 2017.
# https://forge.etsi.org/etsi-forge-copyright-notice.txt
definitions:
Identifier:
description: >
An identifier with the intention of being globally unique.
type: string
KeyValuePairs:
description: >
This type represents a list of key-value pairs. The order of the pairs in the list is not significant.
In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions
defined in clause 4 of IETF RFC 7159.
type: object
String:
description: >
This type represents stack of string values
type: string
Version:
description: >
A Version.
type: string
Uri:
description: >
String formatted according to IETF RFC 3986.
type: string
DateTime:
description: >
Date-time stamp.
Representation: String formatted according to IETF RFC 3339.
type: string
format: "date-time"
ProblemDetails:
#SOL005 location: 4.3.5.3-1
description: >
The definition of the general "ProblemDetails" data structure from
IETF RFC 7807 [19] is reproduced in this structure. Compared to the
general framework defined in IETF RFC 7807 [19], the "status" and
"detail" attributes are mandated to be included by the present document,
to ensure that the response contains additional textual information about
an error. IETF RFC 7807 [19] foresees extensibility of the
"ProblemDetails" type. It is possible that particular APIs in the present
document, or particular implementations, define extensions to define
additional attributes that provide more information about the error.
The description column only provides some explanation of the meaning to
Facilitate understanding of the design. For a full description, see
IETF RFC 7807 [19].
type: object
required:
- statussss
- detail
properties:
type:
description: >
A URI reference according to IETF RFC 3986 [5] that identifies the
problem type. It is encouraged that the URI provides human-readable
documentation for the problem (e.g. using HTML) when dereferenced.
When this member is not present, its value is assumed to be
"about:blank".
type: string
format: URI
title:
description: >
A short, human-readable summary of the problem type. It should not
change from occurrence to occurrence of the problem, except for
purposes of localization. If type is given and other than
"about:blank", this attribute shall also be provided.
A short, human-readable summary of the problem
type. It SHOULD NOT change from occurrence to occurrence of the
problem, except for purposes of localization (e.g., using
proactive content negotiation; see [RFC7231], Section 3.4).
type: string
status:
description: >
The HTTP status code for this occurrence of the problem.
The HTTP status code ([RFC7231], Section 6) generated by the origin
server for this occurrence of the problem.
type: integer
detail:
description: >
A human-readable explanation specific to this occurrence of the
problem.
type: string
instance:
description: >
A URI reference that identifies the specific occurrence of the
problem. It may yield further information if dereferenced.
type: string
format: URI
\ No newline at end of file
# Copyright (c) ETSI 2017.
# https://forge.etsi.org/etsi-forge-copyright-notice.txt
responses:
206:
description: >
206 PARTIAL CONTENT
headers:
Content-Type:
description: >
The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
Content-Range:
description: >
The Content-Range response HTTP header indicates where in a full body message a partial message belongs.
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
Version:
description: >
Version of the API used in the response.
type: string
maximum: 1
minimum: 1
schema:
$ref: "../../definitions/SOL005_def.yaml#/definitions/ProblemDetails"
303:
description: >
303 SEE OTHER
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
Version:
description: >
Version of the API used in the response.
type: string
maximum: 1
minimum: 1
409:
description: >
409 CONFLICT
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
Version:
description: >
Version of the API used in the response.
type: string
maximum: 1
minimum: 1
schema:
$ref: "../../definitions/SOL005_def.yaml#/definitions/ProblemDetails"
412:
description: >
412 PRECONDITION FAILED
Error: 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:
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
Version:
description: >
Version of the API used in the response.
type: string
maximum: 1
minimum: 1
schema:
$ref: "../../definitions/SOL005_def.yaml#/definitions/ProblemDetails"
416:
description: >
416 RANGE NOT SATISFIABLE
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
Version:
description: >
Version of the API used in the response.
type: string
maximum: 1
minimum: 1
schema:
$ref: "../../definitions/SOL005_def.yaml#/definitions/ProblemDetails"
\ No newline at end of file
This diff is collapsed.
definitions:
Identifier:
description: >
An identifier with the intention of being globally unique.
type: string
DateTime:
description: >
Date-time stamp.
Representation: String formatted according to IETF RFC 3339.
type: string
format: "date-time"
String:
description: >
This type represents stack of string values
type: string
Object:
description: >
This type represents stack of object values
type: object
KeyValuePairs:
description: >
This type represents a list of key-value pairs. The order of the pairs in the list is not significant.
In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions
defined in clause 4 of IETF RFC 7159.
type: object
Uri:
description: >
String formatted according to IETF RFC 3986.
type: string
ProblemDetails:
#SOL005 location: 4.3.5.3-1
description: >
The definition of the general "ProblemDetails" data structure from
IETF RFC 7807 [19] is reproduced inthis structure. Compared to the
general framework defined in IETF RFC 7807 [19], the "status" and
"detail" attributes are mandated to be included by the present document,
to ensure that the response contains additional textual information about
an error. IETF RFC 7807 [19] foresees extensibility of the
"ProblemDetails" type. It is possible that particular APIs in the present
document, or particular implementations, define extensions to define
additional attributes that provide more information about the error.
The description column only provides some explanation of the meaning to
Facilitate understanding of the design. For a full description, see
IETF RFC 7807 [19].
type: object
required:
- status
- detail
properties:
type:
description: >
A URI reference according to IETF RFC 3986 [5] that identifies the
problem type. It is encouraged that the URI provides human-readable
documentation for the problem (e.g. using HTML) when dereferenced.
When this member is not present, its value is assumed to be
"about:blank".
type: string
format: URI
title:
description: >
A short, human-readable summary of the problem type. It should not
change from occurrence to occurrence of the problem, except for
purposes of localization. If type is given and other than
"about:blank", this attribute shall also be provided.
A short, human-readable summary of the problem
type. It SHOULD NOT change from occurrence to occurrence of the
problem, except for purposes of localization (e.g., using
proactive content negotiation; see [RFC7231], Section 3.4).
type: string
status:
description: >
The HTTP status code for this occurrence of the problem.
The HTTP status code ([RFC7231], Section 6) generated by the origin
server for this occurrence of the problem.
type: integer
detail:
description: >
A human-readable explanation specific to this occurrence of the
problem.
type: string
instance:
description: >
A URI reference that identifies the specific occurrence of the
problem. It may yield further information if dereferenced.
type: string
format: URI
IdentifierInVnfd:
description: >
Identifier of the software image.
type: string
NSInstanceSubscriptionFilter:
description: >
This type represents subscription filter criteria to match NS instances.
type: object
properties:
nsdIds:
description: >
If present, match NS instances that were created
based on a NSD identified by one of the nsdId
values listed in this attribute.
type: array
items:
$ref: "#/definitions/Identifier"
vnfdIds:
description: >
If present, match NS instances that contain VNF
instances that were created based on a VNFD
identified by one of the vnfdId values listed in
this attribute.
type: array
items:
$ref: "#/definitions/Identifier"
pnfdIds:
description: >
If present, match NS instances that contain
PNFs that are represented by a PNFD identified
by one of the pnfdId values listed in this
attribute.
type: array
items:
$ref: "#/definitions/Identifier"
nsInstanceIds:
description: >
If present, match NS instances with an instance
identifier listed in this attribute.
type: array
items:
$ref: "#/definitions/Identifier"
nsInstanceNames:
description: >
If present, match NS instances with a NS
Instance Name listed in this attribute.
type: array
items:
$ref: "#/definitions/String"
SubscriptionAuthentication:
type: object
required:
- authType
properties:
authType:
description: >
Defines the types of Authentication / Authorization which the API
consumer is willing to accept when receiving a notification.
Permitted values:
- BASIC: In every HTTP request to the notification endpoint, use
HTTP Basic authentication with the client credentials.
- OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the
notification endpoint, use an OAuth 2.0 Bearer token, obtained
using the client credentials grant type.
- TLS_CERT: Every HTTP request to the notification endpoint is sent
over a mutually authenticated TLS session, i.e. not only the
server is authenticated, but also the client is authenticated
during the TLS tunnel setup.
type: array
items:
type: string
enum:
- BASIC
- OAUTH2_CLIENT_CREDENTIALS
- TLS_CERT
paramsBasic:
description: >
Parameters for authentication/authorization using BASIC.
Shall be present if authType is "BASIC" and the contained
information has not been provisioned out of band.
Shall be absent otherwise.
type: object
properties:
userName:
description: >
Username to be used in HTTP Basic authentication. Shall be
present if it has not been provisioned out of band.
type: string
password:
description: >
Password to be used in HTTP Basic authentication. Shall be
present if it has not been provisioned out of band.
type: string
paramsOauth2ClientCredentials:
description: >
Parameters for authentication/authorization using
OAUTH2_CLIENT_CREDENTIALS.
Shall be present if authType is "OAUTH2_CLIENT_CREDENTIALS" and the
contained information has not been provisioned out of band.
Shall be absent otherwise.
type: object
properties:
clientId:
description: >
Client identifier to be used in the access token request of the
OAuth 2.0 client credentials grant type.
Shall be present if it has not been provisioned out of band.
The clientId and clientPassword passed in a subscription shall
not be the same as the clientId and clientPassword that are used
to obtain authorization for API requests. Client credentials may
differ between subscriptions. The value of clientPassword should
be generated by a random process.
type: string
clientPassword:
description: >
Client password to be used in the access token request of the
OAuth 2.0 client credentials grant type.
Shall be present if it has not been provisioned out of band.
The clientId and clientPassword passed in a subscription shall
not be the same as the clientId and clientPassword that are used
to obtain authorization for API requests. Client credentials may
differ between subscriptions. The value of clientPassword should
be generated by a random process.
type: string
tokenEndpoint:
description: >
The token endpoint from which the access token can be obtained.
Shall be present if it has not been provisioned out of band.
$ref: "#/definitions/Uri"
\ No newline at end of file
# Copyright (c) ETSI 2017.
# https://forge.etsi.org/etsi-forge-copyright-notice.txt
responses:
303:
description: >
See Other.
A subscription with the same callbackURI and the
same filter already exits and the policy of the NFVO is
to not create redundant subscriptions.
The HTTP response shall include a "Location" HTTP
header that contains the resource URI of the existing
subscription resource.
The response body shall be empty.
416:
description: >
The byte range passed in the "Range" header did not
match any available byte range in the NSD file (e.g.
"access after end of file").
The response body may contain a ProblemDetails structure.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
schema:
$ref: "../../definitions/SOL005_def.yaml#/definitions/ProblemDetails"
\ No newline at end of file
......@@ -178,6 +178,52 @@ definitions:
type: string
format: url
NSInstanceSubscriptionFilter:
description: >
This type represents subscription filter criteria to match NS instances.
type: object
properties:
nsdIds:
description: >
If present, match NS instances that were created
based on a NSD identified by one of the nsdId
values listed in this attribute.
type: array
items:
$ref: "#/definitions/Identifier"
vnfdIds:
description: >
If present, match NS instances that contain VNF
instances that were created based on a VNFD
identified by one of the vnfdId values listed in
this attribute.
type: array
items:
$ref: "#/definitions/Identifier"
pnfdIds:
description: >
If present, match NS instances that contain
PNFs that are represented by a PNFD identified
by one of the pnfdId values listed in this
attribute.
type: array
items:
$ref: "#/definitions/Identifier"
nsInstanceIds:
description: >
If present, match NS instances with an instance
identifier listed in this attribute.
type: array
items:
$ref: "#/definitions/Identifier"
nsInstanceNames:
description: >
If present, match NS instances with a NS
Instance Name listed in this attribute.
type: array
items:
$ref: "#/definitions/String"
ResourceHandle:
description: >
This type represents the information that allows addressing a virtualised resource
......@@ -254,4 +300,85 @@ definitions:
This attribute may be included if the value of the isDeprecated attribute
is set to true and shall be absent otherwise.
$ref: "#/definitions/DateTime"
required: false
\ No newline at end of file
required: false
SubscriptionAuthentication:
type: object
required:
- authType
properties:
authType:
description: >
Defines the types of Authentication / Authorization which the API
consumer is willing to accept when receiving a notification.
Permitted values:
- BASIC: In every HTTP request to the notification endpoint, use
HTTP Basic authentication with the client credentials.
- OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the
notification endpoint, use an OAuth 2.0 Bearer token, obtained
using the client credentials grant type.
- TLS_CERT: Every HTTP request to the notification endpoint is sent
over a mutually authenticated TLS session, i.e. not only the
server is authenticated, but also the client is authenticated
during the TLS tunnel setup.
type: array
items:
type: string
enum:
- BASIC
- OAUTH2_CLIENT_CREDENTIALS
- TLS_CERT
paramsBasic:
description: >
Parameters for authentication/authorization using BASIC.
Shall be present if authType is "BASIC" and the contained
information has not been provisioned out of band.
Shall be absent otherwise.
type: object
properties:
userName:
description: >
Username to be used in HTTP Basic authentication. Shall be
present if it has not been provisioned out of band.
type: string
password:
description: >
Password to be used in HTTP Basic authentication. Shall be
present if it has not been provisioned out of band.
type: string
paramsOauth2ClientCredentials:
description: >
Parameters for authentication/authorization using
OAUTH2_CLIENT_CREDENTIALS.
Shall be present if authType is "OAUTH2_CLIENT_CREDENTIALS" and the
contained information has not been provisioned out of band.
Shall be absent otherwise.
type: object
properties:
clientId:
description: >
Client identifier to be used in the access token request of the
OAuth 2.0 client credentials grant type.
Shall be present if it has not been provisioned out of band.
The clientId and clientPassword passed in a subscription shall
not be the same as the clientId and clientPassword that are used
to obtain authorization for API requests. Client credentials may
differ between subscriptions. The value of clientPassword should
be generated by a random process.
type: string
clientPassword:
description: >
Client password to be used in the access token request of the
OAuth 2.0 client credentials grant type.
Shall be present if it has not been provisioned out of band.
The clientId and clientPassword passed in a subscription shall
not be the same as the clientId and clientPassword that are used
to obtain authorization for API requests. Client credentials may
differ between subscriptions. The value of clientPassword should
be generated by a random process.
type: string