Newer
Older
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
Reference: IETF RFC 7235
in: header
required: false
type: string
- name: Version
description: >
Version of the API requested to use when responding to this request.
in: header
required: true
type: string
get:
description: >
The GET method reads the content of the PNFD within a PNFD archive.
The PNFD can be implemented as a single file or as a collection of
multiple files. If the PNFD is implemented in the form of multiple
files, a ZIP file embedding these files shall be returned. If the
PNFD is implemented as a single file, either that file or a ZIP file
embedding that file shall be returned.
The selection of the format is controlled by the "Accept" HTTP header
passed in the GET request:
• If the "Accept" header contains only "text/plain" and the PNFD is
implemented as a single file, the file shall be returned; otherwise,
an error message shall be returned.
• If the "Accept" header contains only "application/zip", the single
file or the multiple files that make up the PNFD shall be returned
embedded in a ZIP file.
• If the "Accept" header contains both "text/plain" and "application/zip",
it is up to the NFVO to choose the format to return for a single-file PNFD;
for a multi-file PNFD, a ZIP file shall be returned.
The default format of the ZIP file shall be the one specified in ETSI GS
NFV-SOL 004 where only the YAML files representing the PNFD, and information
necessary to navigate the ZIP file and to identify the file that is the entry
point for parsing the PNFD and (if requested) further security information
are included. This means that the content of the ZIP archive shall contain
the following files from the PNFD archive:
• TOSCA.meta (if available in the PNFD archive);
• the main service template (either as referenced from TOSCA.meta or
available as a file with the extension ".yml" or ".yaml" from the
root of the archive);
• every component of the PNFD referenced (recursively) from the main
service template;
• the related security information, if the "include_signatures" URI
parameter is provided, as follows:
- the manifest file;
- the singleton certificate file in the root of the PNFD archive
(if available in the PNFD archive);
- the signing certificates of the individual files included in the
ZIP archive (if available in the PNFD archive);
- the signatures of the individual files (if available in the PNFD archive).
This method shall follow the provisions specified in the Tables 5.4.7a.3.2-1 and
5.4.7a.3.2-2 for URI query parameters, request and response data structures, and response codes.
parameters:
- name: Accept
description: >
Content-Types that are acceptable for the response.
in: header
required: true
type: string
enum:
- text/plain
- name: Range
description: >
The request may contain a "Range" HTTP header to obtain
single range of bytes from the PNFD archive. This can be
used to continue an aborted transmission.
If the NFVO does not support range requests, the NFVO
shall ignore the "Range" header, process the GET request,
and return the whole PNFD archive with a 200 OK response
(rather than returning a 4xx error status code).
in: header
required: false
type: string
- name: include_signatures
description: >
If this parameter is provided, the NFVO shall include in the
ZIP file the security information as specified above.
This URI query parameter is a flag, i.e. it shall have no value.
The NFVO shall support this parameter.
in: query
required: false
type: string
responses:
200:
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
Shall be returned when the content of the PNFD has been read successfully.
The payload body shall contain a copy of the file representing the PNFD
or a ZIP file that contains the file or multiple files representing the
PNFD, as specified above.
The "Content-Type" HTTP header shall be set according to the format of
the returned file. It shall be set to "text/plain" for a YAML file.
headers:
Content-Type:
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
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: 0
Version:
description: >
Version of the API used in the response.
type: string
maximum: 1
minimum: 1
400:
$ref: "../responses/SOL005_resp.yaml#/components/responses/400"
$ref: "../responses/SOL005_resp.yaml#/components/responses/401"
$ref: "../responses/SOL005_resp.yaml#/components/responses/403"
$ref: "../responses/SOL005_resp.yaml#/components/responses/404"
$ref: "../responses/SOL005_resp.yaml#/components/responses/405"
$ref: "../responses/SOL005_resp.yaml#/components/responses/406"
$ref: "../responses/SOL005_resp.yaml#/components/responses/409"
rameshnaraya
committed
500:
$ref: "../responses/SOL005_resp.yaml#/components/responses/500"
rameshnaraya
committed
503:
$ref: "../responses/SOL005_resp.yaml#/components/responses/503"
$ref: "../responses/SOL005_resp.yaml#/components/responses/504"
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
###############################################################################
# PNFD Archive Manifest #
###############################################################################
'/pnf_descriptors/{pnfdInfoId}/manifest':
#ETSI GS NFV-SOL 005 V2.4.1 location: 5.4.7b
parameters:
- name: pnfdInfoId
description: >
Identifier of the individual PNF descriptor.
This identifier can be retrieved from the resource referenced
by the "Location" HTTP header in the response to a POST request
creating a new PNF descriptor resource. It can also be retrieved
from the "id" attribute in the payload body of that response.
in: path
required: true
type: string
- name: Authorization
description: >
The authorization token for the request.
Reference: IETF RFC 7235
in: header
required: false
type: string
- name: Version
description: >
Version of the API requested to use when responding to this request.
in: header
required: true
type: string
get:
description: >
The GET method reads the content of the manifest file within a PNFD archive.
This method shall follow the provisions specified in the Tables 5.4.7b.3.2-1
and 5.4.7b.3.2-2 for URI query parameters, request and response data structures,
and response codes.
parameters:
- name: Accept
description: >
Content-Types that are acceptable for the response.
in: header
required: true
type: string
enum:
- text/plain
- application/zip
- name: include_signatures
description: >
If this parameter is provided, the NFVO shall return the manifest
and related security information (signature and certificate) either
in a single text file if the signature and certificate are included
in the manifest file, or in a zip file containing the manifest and
the certificate file, if this is provided as a separate file in the
PNFD archive.
If this parameter is not given, the NFVO shall provide only a copy
of the manifest file, as onboarded. If the security information is
included in the onboarded manifest, it shall also be included in
the returned copy.
This URI query parameter is a flag, i.e. it shall have no value.
The NFVO shall support this parameter.
in: query
required: false
type: string
responses:
200:
description: >
Shall be returned when the content of the manifest file has been
read successfully.
If the "include_signatures" URI query parameter was absent in the
request, or if the manifest file has all security-related information
embedded (i.e. there is no separate certificate file), the payload
body shall contain a copy of the manifest file of the PNFD archive,
and the "Content-Type" HTTP header shall be set to "text/plain".
If the "include_signatures" URI query parameter was present in the
related request and the manifest file does not have all the
security-related information embedded (i.e. there is a separate certificate file),
the "Content-Type" HTTP header shall be set to "application/zip" and
the payload body shall contain a ZIP archive which includes:
- a copy of the manifest file of the PNFD archive;
- a copy of the related individual certificate file.
headers:
Content-Type:
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.
enum:
- text/plain
- application/zip
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: 0
Version:
description: >
Version of the API used in the response.
type: string
maximum: 1
minimum: 1
400:
$ref: "../responses/SOL005_resp.yaml#/components/responses/400"
$ref: "../responses/SOL005_resp.yaml#/components/responses/401"
$ref: "../responses/SOL005_resp.yaml#/components/responses/403"
$ref: "../responses/SOL005_resp.yaml#/components/responses/404"
$ref: "../responses/SOL005_resp.yaml#/components/responses/405"
$ref: "../responses/SOL005_resp.yaml#/components/responses/406"
$ref: "../responses/SOL005_resp.yaml#/components/responses/409"
$ref: "../responses/SOL005_resp.yaml#/components/responses/500"
$ref: "../responses/SOL005_resp.yaml#/components/responses/503"
$ref: "../responses/SOL005_resp.yaml#/components/responses/504"
moscatelli
committed
###############################################################################
# Subscriptions #
###############################################################################
rameshnaraya
committed
'/subscriptions':
#ETSI GS NFV-SOL 005 V2.4.1 location: 5.4.8
parameters:
- name: Authorization
description: >
The authorization token for the request.
Reference: IETF RFC 7235.
in: header
required: false
type: string
- name: Version
description: >
Version of the API requested to use when responding to this request.
in: header
required: true
type: string
post:
summary: Subscribe to NSD and PNFD change notifications.
description: >
The POST method creates a new subscription.
This method shall support the URI query parameters, request and
response data structures, and response codes, as specified in
the Tables 5.4.8.3.1-1 and 5.4.8.3.1-2.
Creation of two subscription resources with the same callback URI
and the same filter can result in performance degradation and will
provide duplicates of notifications to the OSS, and might make
sense only in very rare use cases. Consequently, the NFVO may
either allow creating a subscription resource if another subscription
resource with the same filter and callback URI already exists (in which
case it shall return the "201 Created" response code), or may decide to
not create a duplicate subscription resource (in which case it shall
return a "303 See Other" response code referencing the existing
subscription resource with the same filter and callbackUricallback URI).
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
parameters:
- name: Accept
description: >
Content-Types that are acceptable for the response.
Reference: IETF RFC 7231.
in: header
required: true
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
- name: NsdmSubscriptionRequest
in: body
required: true
schema:
$ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdmSubscriptionRequest"
description: >
Details of the subscription to be created, as defined in clause 5.5.2.7.
responses:
201:
description: >
201 CREATED
Shall be returned when the subscription has been created successfully.
A representation of the created "Individual subscription" resource shall
be returned in the response body, as defined in clause 5.5.2.8.
The HTTP response shall include a "Location:" HTTP header that points
to the created "Individual subscription" resource.
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
schema:
$ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdmSubscription"
headers:
Content-Type:
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
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: 0
Version:
description: >
Version of the API used in the response.
type: string
maximum: 1
minimum: 1
303:
Samir Medjiah
committed
# description: >
# 303 SEE OTHER
# Shall be returned when 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.
$ref: "../responses/SOL005_resp.yaml#/components/responses/303"
$ref: "../responses/SOL005_resp.yaml#/components/responses/400"
$ref: "../responses/SOL005_resp.yaml#/components/responses/401"
$ref: "../responses/SOL005_resp.yaml#/components/responses/403"
$ref: "../responses/SOL005_resp.yaml#/components/responses/404"
$ref: "../responses/SOL005_resp.yaml#/components/responses/405"
$ref: "../responses/SOL005_resp.yaml#/components/responses/406"
$ref: "../responses/SOL005_resp.yaml#/components/responses/422"
$ref: "../responses/SOL005_resp.yaml#/components/responses/500"
$ref: "../responses/SOL005_resp.yaml#/components/responses/503"
504:
$ref: "../responses/SOL005_resp.yaml#/components/responses/504"
summary: Query multiple subscriptions.
moscatelli
committed
description: >
TThe GET method queries the list of active subscriptions of the
functional block that invokes the method. It can be used e.g.
for resynchronization after error situations.
This method shall support the URI query parameters, request and
response data structures, and response codes, as specified in
the Tables 5.4.8.3.2-1 and 5.4.8.3.2-2.
moscatelli
committed
- name: filter
in: query
rameshnaraya
committed
required: false
moscatelli
committed
type: string
description: >
AAttribute filtering expression according to clause 5.2 of ETSI GS NFV SOL 013.
The NFVO shall support receiving this parameter as part of the URI query string.
the OSS/BSS may supply this parameter.
All attribute names that appear in the NsdmSubscription and in data types referenced
from it shall be supported by the NFVO in the filter expression.
moscatelli
committed
- name: nextpage_opaque_marker
in: query
required: false
type: string
description: >
Marker to obtain the next page of a paged response. Shall be supported by
the NFVO if the NFVO supports alternative 2 (paging) according to clause
5.4.2.1 of ETSI GS NFV-SOL 013 for this resource.
rameshnaraya
committed
- name: Accept
description: >
Content-Types that are acceptable for the response.
moscatelli
committed
in: header
required: true
type: string
moscatelli
committed
description: >
moscatelli
committed
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 NSD management subscriptions as defined in clause 5.5.2.8.
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.
rameshnaraya
committed
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
moscatelli
committed
type: string
rameshnaraya
committed
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.
rameshnaraya
committed
maximum: 1
moscatelli
committed
Version:
description: >
Version of the API used in the response.
type: string
maximum: 1
minimum: 1
moscatelli
committed
Link:
description: >
Reference to other resources. Used for paging in the present document, see clause 4.7.2.1.
type: string
maximum: 1
minimum: 0
rameshnaraya
committed
schema:
description: >
The list of subscriptions was 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 NSD management
subscriptions as defined in clause 5.5.2.8.
If the NFVO supports alternative 2 (paging) according to clause 4.7.2.1 for this resource,
inclusion of the Link HTTP header in this response shall follow the provisions in clause 4.7.2.3.
moscatelli
committed
type: array
items:
$ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdmSubscription"
rameshnaraya
committed
400:
$ref: "../responses/SOL005_resp.yaml#/components/responses/400"
rameshnaraya
committed
401:
$ref: "../responses/SOL005_resp.yaml#/components/responses/401"
rameshnaraya
committed
403:
$ref: "../responses/SOL005_resp.yaml#/components/responses/403"
rameshnaraya
committed
404:
$ref: "../responses/SOL005_resp.yaml#/components/responses/404"
rameshnaraya
committed
405:
$ref: "../responses/SOL005_resp.yaml#/components/responses/405"
rameshnaraya
committed
406:
$ref: "../responses/SOL005_resp.yaml#/components/responses/406"
$ref: "../responses/SOL005_resp.yaml#/components/responses/500"
$ref: "../responses/SOL005_resp.yaml#/components/responses/503"
504:
$ref: "../responses/SOL005_resp.yaml#/components/responses/504"
moscatelli
committed
###############################################################################
# Individual Subscription #
###############################################################################
rameshnaraya
committed
'/subscriptions/{subscriptionId}':
#ETSI GS NFV-SOL 005 V2.4.1 location: 5.4.9
parameters:
moscatelli
committed
- name: subscriptionId
description: >
Identifier of this 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.
moscatelli
committed
in: path
moscatelli
committed
type: string
- name: Authorization
in: header
required: false
type: string
description: >
The authorization token for the request. Details are specified
in clause 4.5.3 of GS NFV-SOL 005.
- name: Version
description: >
Version of the API requested to use when responding to this request.
in: header
required: true
type: string
summary: Read an individual subscription resource.
description: >
This resource represents an individual subscription.
It can be used by the client to read and to terminate a subscription to
notifications related to NSD management.
moscatelli
committed
The GET method retrieves information about a subscription by reading
an individual subscription resource.
This resource represents an individual subscription.
It can be used by the client to read and to terminate a subscription to
notifications related to NSD management.
parameters:
moscatelli
committed
- name: Accept
in: header
required: true
type: string
description: >
Content-Types that are acceptable for the response. This header
field shall be present if the response is expected to have a non-empty
message body.
Shall be returned when information about an individual subscription has been read successfully.
The response body shall contain a representation of the subscription resource.
$ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdmSubscription"
headers:
Content-Type:
moscatelli
committed
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:
moscatelli
committed
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: 0
moscatelli
committed
Version:
description: >
Version of the API used in the response.
type: string
maximum: 1
minimum: 1
$ref: "../responses/SOL005_resp.yaml#/components/responses/400"
$ref: "../responses/SOL005_resp.yaml#/components/responses/401"
$ref: "../responses/SOL005_resp.yaml#/components/responses/403"
$ref: "../responses/SOL005_resp.yaml#/components/responses/404"
$ref: "../responses/SOL005_resp.yaml#/components/responses/405"
$ref: "../responses/SOL005_resp.yaml#/components/responses/406"
$ref: "../responses/SOL005_resp.yaml#/components/responses/500"
$ref: "../responses/SOL005_resp.yaml#/components/responses/503"
504:
$ref: "../responses/SOL005_resp.yaml#/components/responses/504"
summary: Terminate Subscription
description: >
This resource represents an individual subscription.
It can be used by the client to read and to terminate a subscription to
notifications related to NSD management.
moscatelli
committed
The DELETE method terminates an individual subscription.
This method shall support the URI query parameters, request and
response data structures, and response codes, as
specified in the Table 5.4.9.3.3-2.
moscatelli
committed
- name: Authorization
in: header
required: false
type: string
description: >
The authorization token for the request.
Details are specified in clause 4.5.3 of GS NFV-SOL 005.
- name: Version
description: >
Version of the API requested to use when responding to this request.
in: header
required: true
type: string
moscatelli
committed
Shall be returned when the "Individual subscription" resource
has been 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.
maximum: 1
minimum: 0
Version:
description: >
Version of the API used in the response.
type: string
maximum: 1
minimum: 1
$ref: "../responses/SOL005_resp.yaml#/components/responses/400"
$ref: "../responses/SOL005_resp.yaml#/components/responses/401"
$ref: "../responses/SOL005_resp.yaml#/components/responses/403"
$ref: "../responses/SOL005_resp.yaml#/components/responses/404"
$ref: "../responses/SOL005_resp.yaml#/components/responses/405"
$ref: "../responses/SOL005_resp.yaml#/components/responses/406"
$ref: "../responses/SOL005_resp.yaml#/components/responses/500"
$ref: "../responses/SOL005_resp.yaml#/components/responses/503"
504:
$ref: "../responses/SOL005_resp.yaml#/components/responses/504"