diff --git a/src/SOL005/APIVersion/APIVersion.yaml b/src/SOL005/APIVersion/APIVersion.yaml new file mode 100644 index 0000000000000000000000000000000000000000..3fec67c7254d6ce8c968548f1c972dde0240e802 --- /dev/null +++ b/src/SOL005/APIVersion/APIVersion.yaml @@ -0,0 +1,50 @@ +swagger: "2.0" + +info: + version: "1.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" + 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. + Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + license: + name: "ETSI Forge copyright notice" + url: https://forge.etsi.org/etsi-forge-copyright-notice.txt + contact: + name: "NFV-SOL WG" + +externalDocs: + description: ETSI GS NFV-SOL 005 V2.5.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.05.01_60/gs_NFV-SOL005v020501p.pdf + +schemes: + - http + - https + +consumes: + - application/json + +produces: + - application/json + +paths: + ############################################################################### + # API Versions # + ############################################################################### + '/nsd/api-versions': + $ref: '../endpoints/SOL005_endpoints.yaml#/endpoints/api-versions' + + '/nsfm/api-versions': + $ref: '../endpoints/SOL005_endpoints.yaml#/endpoints/api-versions' + + '/nslcm/api-versions': + $ref: '../endpoints/SOL005_endpoints.yaml#/endpoints/api-versions' + + '/nspm/api-versions': + $ref: '../endpoints/SOL005_endpoints.yaml#/endpoints/api-versions' + + '/vnfpkgm/api-versions': + $ref: '../endpoints/SOL005_endpoints.yaml#/endpoints/api-versions' \ No newline at end of file diff --git a/src/SOL005/NSDManagement/NSDManagement.yaml b/src/SOL005/NSDManagement/NSDManagement.yaml index b0be633980085c86f4d08ed23afac64bdd3ec5e5..23df6eeec99596d778f0132b5ab06825d5653e15 100644 --- a/src/SOL005/NSDManagement/NSDManagement.yaml +++ b/src/SOL005/NSDManagement/NSDManagement.yaml @@ -1,7 +1,7 @@ swagger: "2.0" info: - version: "1.0.0" + version: "1.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" title: "SOL005 - NSD Management Interface" description: > SOL005 - NSD Management Interface @@ -13,97 +13,201 @@ info: license: name: "ETSI Forge copyright notice" url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - contact: + contact: name: "NFV-SOL WG" + externalDocs: - description: ETSI GS NFV-SOL 005 V2.4.1 - url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.04.01_60/gs_NFV-SOL005v020401p.pdf -basePath: "/nsd/v1" + description: ETSI GS NFV-SOL 005 V2.5.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.05.01_60/gs_NFV-SOL005v020501p.pdf + +basePath: /nsd/v1 + schemes: - - https + - http + - https + consumes: -- "application/json" + - application/json + produces: -- "application/json" + - application/json + paths: -############################################################################### -# NS Descriptors # -############################################################################### + ############################################################################### + # API Versions # + ############################################################################### + '/api-versions': + $ref: '../endpoints/SOL005_endpoints.yaml#/endpoints/api-versions' + + ############################################################################### + # NS Descriptors # + ############################################################################### '/ns_descriptors': #ETSI GS NFV-SOL 005 V2.4.1 location: 5.4.2 + 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: Create a new NS descriptor resource. + description: > + The POST method is used to create a new NS descriptor resource or a new version of an on-boarded NS descriptor. + 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: CreateNsdInfoRequest + in: body + required: true + schema: + $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/CreateNsdInfoRequest" + description: > + Parameters of creating an NS descriptor resource, as defined in clause 5.5.2.3. + responses: + 201: + description: > + 201 CREATED + + An NS descriptor resource was created successfully, as a new NS descriptor resource. + The response body shall contain a representation of the new NS descriptor resource, + as defined in clause 5.5.2.2. + The HTTP response shall include a "Location" HTTP header that contains the resource URI + of the new NS descriptor resource. + schema: + $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdInfo" + 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#/responses/400" + 401: + $ref: "../responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../responses/SOL005_resp.yaml#/responses/404" + 405: + $ref: "../responses/SOL005_resp.yaml#/responses/405" + 406: + $ref: "../responses/SOL005_resp.yaml#/responses/406" + 500: + $ref: "../responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../responses/SOL005_resp.yaml#/responses/503" + get: summary: Query information about multiple NS descriptor resources. - description: > - "The GET method queries information about multiple NS descriptor resources. - This method shall follow the provisions specified in the + description: > + The GET method queries information about multiple NS descriptor resources. + This method shall follow the provisions specified in the Tables 5.4.2.3.2-1 and 5.4.2.3.2-2 for URI query parameters, - request and response data structures, and response codes." + request and response data structures, and response codes. parameters: - - name: "filter" - in: "query" + - name: filter + in: query + required: false + type: string + description: > + Attribute-based filtering expression according to clause 4.3.2. + The NFVO shall support receiving this filtering parameter as part of the URI query string. + The OSS/BSS may supply this parameter. + All attribute names that appear in the NsdInfo and in data types referenced from it shall + be supported by the NFVO in the filter expression. + - name: all_fields + in: query required: false - type: "string" - description: > - "Attribute-based filtering parameters according to clause 4.3.2. - The NFVO shall support receiving filtering parameters as part of the URI query - string. The OSS/BSS may supply filtering parameters. - All attribute names that appear in the NsdInfo and in data types referenced from - it shall be supported in attribute-based filtering parameters." - - name: "all_fields" - in: "query" + type: string + description: > + Include all complex attributes in the response. See clause 4.3.3 for details. + The NFVO shall support this parameter. + - name: fields + in: query required: false - type: "string" - description: > - "Include all complex attributes in the response. See clause 4.3.3 for details. - The NFVO shall support this parameter." - - name: "fields" - in: "query" + type: string + description: > + Complex attributes to be included into the response. See clause 4.3.3 for + details. The NFVO should support this parameter. + - name: exclude_fields + in: query required: false - type: "string" - description: > - "Complex attributes to be included into the response. See clause 4.3.3 for - details. The NFVO should support this parameter." - - name: "exclude_fields" - in: "query" + type: string + description: > + Complex attributes to be excluded from the response. See clause 4.3.3 for + details. The NFVO should support this parameter. + - name: exclude_default + in: query required: false - type: "string" - description: > - "Complex attributes to be excluded from the response. See clause 4.3.3 for - details. The NFVO should support this parameter." - - name: "exclude_default" - in: "query" + type: string + description: > + Indicates to exclude the following complex attributes from the response. See clause 4.3.3 for details. + The VNFM shall support this parameter. + The following attributes shall be excluded from the NsdInfo structure in the response body if this + parameter is provided, or none of the parameters "all_fields," "fields", "exclude_fields", "exclude_default" + are provided: userDefinedData. + - name: nextpage_opaque_marker + in: query + 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 4.7.2.1 for this resource. required: false - type: "string" - description: > - "Indicates to exclude the following complex attributes from the response. See - clause 4.3.3 for details. The VNFM shall support this parameter. - The following attributes shall be excluded from the NsdInfo structure in the - response body if this parameter is provided, or none of the parameters - "all_fields," "fields", "exclude_fields", "exclude_default" are provided: - userDefinedData." + type: string - name: Accept description: > Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 + Reference: IETF RFC 7231. in: header required: true type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string responses: 200: description: > 200 OK - + Information about zero or more NS descriptors. - The response body shall contain a representation of - zero or more NS descriptors, as defined in - clause 5.5.2.2 + The response body shall contain in an array the representations of zero or more NS descriptors, + as defined in clause 5.5.2.2. + 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. headers: Content-Type: description: The MIME type of the body of the response. @@ -111,219 +215,137 @@ 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. maximum: 1 - minimum: 0 + minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + 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 schema: type: array items: - properties: - NsdInfo: - $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdInfo" + $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdInfo" 400: - $ref: "responses/SOL005_resp.yaml#/responses/400" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: - $ref: "responses/SOL005_resp.yaml#/responses/404" + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" - 409: - $ref: "responses/NSDescriptorManagement_resp.yaml#/responses/409" - 412: - $ref: "responses/SOL005_resp.yaml#/responses/412" - 416: - $ref: "responses/SOL005_resp.yaml#/responses/416" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" - post: - summary: Create a new NS descriptor resource. - description: > - The POST method is used to create a new NS descriptor resource or a new version of an on-boarded NS descriptor. - parameters: - - name: Accept + $ref: "../responses/SOL005_resp.yaml#/responses/503" + + ############################################################################### + # Individual NS Descriptor # + ############################################################################### + '/ns_descriptors/{nsdInfoId}': + #ETSI GS NFV-SOL 005 V2.4.1 location: 5.4.3 + parameters: + - name: nsdInfoId description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header + Identifier of the individual NS descriptor resource. + in: path required: true type: string - name: Authorization description: > The authorization token for the request. - Reference: IETF RFC 7235 + Reference: IETF RFC 7235. in: header required: false type: string - - name: Content-Type + - name: Version description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 + Version of the API requested to use when responding to this request. in: header required: true type: string - - name: "body" - in: "body" - required: true - schema: - type: "object" - required: - - "CreateNsdInfoRequest" - properties: - CreateNsdInfoRequest: - $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/CreateNsdInfoRequest" - description: > - Parameters of creating an NS descriptor resource, as defined in clause 5.5.2.3 - responses: - 201: - description: > - Status 201 - - An NS descriptor resource was created successfully, as a new NS descriptor resource. - The response body shall contain a representation - of the new NS descriptor resource, as defined in clause 5.5.2.3 of GS NFV-SOL 005. - The HTTP response shall include a "Location" - HTTP header that contains the resource URI of the - new NS descriptor resource. - schema: - type: "object" - properties: - NsdInfo: - $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdInfo" - 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 - 400: - $ref: "responses/SOL005_resp.yaml#/responses/400" - 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" - 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" - 404: - $ref: "responses/SOL005_resp.yaml#/responses/404" - 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" - 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" - 409: - $ref: "responses/NSDescriptorManagement_resp.yaml#/responses/409" - 412: - $ref: "responses/SOL005_resp.yaml#/responses/412" - 416: - $ref: "responses/SOL005_resp.yaml#/responses/416" - 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" - 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" - -############################################################################### -# Individual NS Descriptor # -############################################################################### - '/ns_descriptors/{nsdInfoId}': - #ETSI GS NFV-SOL 005 V2.4.1 location: 5.4.3 - parameters: - - name: "nsdInfoId" - description: > - Identifier of the individual NS descriptor resource. - in: "path" - required: true - type: "string" + get: summary: Read information about an individual NS descriptor resource. - description: > - "The GET method reads information about an individual NS descriptor. + description: > + The GET method reads information about an individual NS descriptor. This method shall follow the provisions specified in GS NFV-SOL 005 Tables 5.4.3.3.2-1 and 5.4.3.3.2-2 of GS NFV-SOL 005 for URI query parameters, - request and response data structures, and response codes." + request and response data structures, and response codes. parameters: - name: Accept description: > Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 + Reference: IETF RFC 7231. in: header required: true type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string responses: 200: description: > 200 OK - + Information about the individual NS descriptor. - The response body shall contain a representation of - the individual NS descriptor. + The response body shall contain a representation of the individual NS descriptor, + as defined in clause 5.5.2.2. schema: - type: "object" - properties: - NsdInfo: - $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdInfo" + $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdInfo" headers: Content-Type: - type: "string" + 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. 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#/responses/400-attr-selector" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: - $ref: "responses/SOL005_resp.yaml#/responses/404" + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" - 409: - $ref: "responses/NSDescriptorManagement_resp.yaml#/responses/409" - 412: - $ref: "responses/SOL005_resp.yaml#/responses/412" - 416: - $ref: "responses/SOL005_resp.yaml#/responses/416" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" + $ref: "../responses/SOL005_resp.yaml#/responses/503" + patch: summary: Modify the operational state and/or the user defined data of an individual NS descriptor resource. - description: > + description: > The PATCH method modifies the operational state and/or user defined data of an individual NS descriptor resource. This method can be used to: 1) Enable a previously disabled individual NS descriptor resource, allowing @@ -334,41 +356,28 @@ paths: The usage state (i.e. "IN_USE/NOT_IN_USE") shall not changes a result. 3) Modify the user defined data of an individual NS descriptor resource. parameters: - - name: "body" - in: "body" - required: true - schema: - type: "object" - required: - - "NsdInfoModifications" - properties: - NsdInfoModifications: - $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdInfoModifications" - description: > - Parameters for the modification of an individual NS descriptor resource. - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - responses: + - name: NsdInfoModifications + in: body + required: true + schema: + $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdInfoModifications" + description: > + Parameters for the modification of an individual NS descriptor resource. + - name: Content-Type + description: > + The MIME type of the body of the request. + Reference: IETF RFC 7231. + in: header + required: true + type: string + responses: 200: description: > 200 OK - + The operation was completed successfully. - The response body shall contain attribute - modifications for an 'Individual NS Descriptor' - resource. + The response body shall contain attribute modifications for an 'Individual NS Descriptor' + resource (see clause 5.5.2.6). headers: Content-Type: description: The MIME type of the body of the response. @@ -376,45 +385,53 @@ 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. maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 schema: - type: array - items: - properties: - NsdInfoModifications: - $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdInfoModifications" + $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdInfoModifications" 400: - $ref: "responses/SOL005_resp.yaml#/responses/400-attr-selector" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: - $ref: "responses/SOL005_resp.yaml#/responses/404" + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 409: - $ref: "responses/NSDescriptorManagement_resp.yaml#/responses/409" + description: > + 409 CONFLICT + + Error: The operation cannot be executed currently, due to a conflict with the state of the resource. + Typically, this is due to an operational state mismatch, i.e. enable an already enabled or disable + 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/SOL005_resp.yaml#/responses/409" 412: - $ref: "responses/SOL005_resp.yaml#/responses/412" - 416: - $ref: "responses/SOL005_resp.yaml#/responses/416" + $ref: "../responses/SOL005_resp.yaml#/responses/412" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" - + $ref: "../responses/SOL005_resp.yaml#/responses/503" + delete: summary: Delete an individual NS descriptor resource. - description: > + description: > The DELETE method deletes an individual NS descriptor resource. An individual NS descriptor resource can only be deleted when there is no NS instance using it (i.e. usageState = NOT_IN_USE) and has been disabled already (i.e. operationalState = DISABLED). Otherwise, the DELETE method @@ -423,63 +440,93 @@ paths: - name: Authorization description: > The authorization token for the request. - Reference: IETF RFC 7235 + Reference: IETF RFC 7235. in: header required: false - type: string + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 204: - description: > - 204 No Content - + description: > + 204 NO CONTENT + The operation has completed successfully. The response body shall be empty. headers: 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. 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#/responses/400-attr-selector" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: - $ref: "responses/SOL005_resp.yaml#/responses/404" + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 409: - $ref: "responses/NSDescriptorManagement_resp.yaml#/responses/409" - 412: - $ref: "responses/SOL005_resp.yaml#/responses/412" - 416: - $ref: "responses/SOL005_resp.yaml#/responses/416" + description: > + 409 CONFLICT + + Error: The operation cannot be executed currently, due to a conflict with the state of the resource. + Typically, this is due to the fact the NS descriptor resource is in the enabled operational state + (i.e. operationalState = ENABLED) or there are running NS instances using the concerned individual + 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/SOL005_resp.yaml#/responses/409" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" - - -############################################################################### -# NSD Content # -############################################################################### + $ref: "../responses/SOL005_resp.yaml#/responses/503" + + ############################################################################### + # NSD Content # + ############################################################################### '/ns_descriptors/{nsdInfoId}/nsd_content': #ETSI GS NFV-SOL 005 V2.4.1 location: 5.4.4 parameters: - - name: "nsdInfoId" - in: "path" + - name: nsdInfoId + 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" + type: string + get: summary: Fetch the content of a NSD. - description: > + description: > The GET method fetches the content of the NSD. The NSD can be implemented as a single file or as a collection of multiple files. If the NSD is implemented in the form of multiple files, a ZIP file embedding @@ -496,39 +543,32 @@ paths: for a multi-file NSD, a ZIP file shall be returned.NOTE: The structure of the NSD zip file is outside the scope of the present document. parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - in: header - required: true - type: string - enum: - - text/plain - - application/zip - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: "Range" - in: "header" - required: false - type: "string" - description: > - "The request may contain a "Range" HTTP header to obtain single - range of bytes from the NSD file. 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 NSD file with a 200 OK response (rather than returning a 4xx - error status code)." - responses: - 200: - description: > - 200 OK - - On success, the content of the NSD is returned. + - name: Accept + description: > + Content-Types that are acceptable for the response. + in: header + required: true + type: string + enum: + - text/plain + - application/zip + - name: Range + in: header + required: false + type: string + description: > + "The request may contain a "Range" HTTP header to obtain single + range of bytes from the NSD file. 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 NSD file with a 200 OK response (rather than returning a 4xx + error status code)." + responses: + 200: + description: > + 200 OK + + On success, the content of the NSD is returned. The payload body shall contain a copy of the file representing the NSD or a ZIP file that contains the file or multiple files representing the NSD, as specified @@ -544,41 +584,66 @@ 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. maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 206: - $ref: "responses/SOL005_resp.yaml#/responses/206" + description: > + 206 PARTIAL CONTENT + + On success, if the NFVO supports range requests, a single consecutive byte range from the content + of the NSD file is returned. + 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/SOL005_resp.yaml#/responses/206" 400: - $ref: "responses/SOL005_resp.yaml#/responses/400-attr-selector" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: - $ref: "responses/SOL005_resp.yaml#/responses/404" + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 409: - $ref: "responses/NSDescriptorManagement_resp.yaml#/responses/409-nsd-onboarding-state-NOT-ONBOARDED" - 412: - $ref: "responses/SOL005_resp.yaml#/responses/412" + description: > + 409 CONFLICT + + Error: The operation cannot be executed currently, due to a conflict with the state of the resource. + 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/SOL005_resp.yaml#/responses/409" 416: - $ref: "responses/SOL005_resp.yaml#/responses/416" + description: > + 416 RANGE NOT SATISFIABLE + + 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/SOL005_resp.yaml#/responses/416" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" - + $ref: "../responses/SOL005_resp.yaml#/responses/503" + put: summary: Upload the content of a NSD. - description: > + description: > "The PUT method is used to upload the content of a NSD. The NSD to be uploaded can be implemented as a single file or as a collection of multiple files, as defined in clause 5.4.4.3.2 of GS NFV-SOL 005. @@ -596,34 +661,29 @@ paths: of GS-NFV-SOL 005 for URI query parameters, request and response data structures, and response codes." parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - The payload body contains a copy of the file representing the NSD - or a ZIP file that contains the file or multiple files representing the NSD. - in: header - required: true - type: string - enum: - - text/plain - - application/zip - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string + - name: Accept + description: > + Content-Types that are acceptable for the response. + The payload body contains a copy of the file representing the NSD + or a ZIP file that contains the file or multiple files representing the NSD. + in: header + required: true + type: string + enum: + - text/plain + - application/zip responses: 202: - description: > - 202 Accepted - - The NSD content was accepted for uploading, but the - processing has not been completed. It is expected to - take some time for processing (asynchronous mode). - - The response body shall be empty. + description: > + 202 ACCEPTED + + The NSD content was accepted for uploading, but the processing has not been completed. + It is expected to take some time for processing (asynchronous mode). + The response body shall be empty. + + The client can track the uploading progress by receiving the "NsdOnBoardingNotification" and + "NsdOnBoardingFailureNotification" from the NFVO or by reading the status of the individual + NS descriptor resource using the GET method. headers: Content-Type: description: The MIME type of the body of the response. @@ -631,192 +691,117 @@ 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. maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 204: - description: > - 204 No Content - + description: > + 204 NO CONTENT + The NSD content was successfully uploaded and validated (synchronous mode). The response body shall be empty. - 206: - $ref: "responses/SOL005_resp.yaml#/responses/206" - 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/NSDescriptorManagement_resp.yaml#/responses/409-nsd-onboarding-state-NOT-ONBOARDED" - 412: - $ref: "responses/SOL005_resp.yaml#/responses/412" - 416: - $ref: "responses/SOL005_resp.yaml#/responses/416" - 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" - 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" - - -############################################################################### -# PNF Descriptors # -############################################################################### - '/pnf_descriptors': - #ETSI GS NFV-SOL 005 V2.4.1 location: 5.4.5 - get: - summary: Query information about multiple PNF descriptor resources. - description: > - "The GET method queries information about multiple PNF descriptor - resources." - parameters: - - name: "filter" - in: "query" - required: false - type: "string" - description: > - Attribute-based filtering parameters according to clause 4.3.2. - The NFVO shall support receiving filtering parameters as part of the URI - query string. The OSS/BSS may supply filtering parameters. - All attribute names that appear in the PnfdInfo and in data types referenced - from it shall be supported in attribute-based filtering parameters. - - name: "all_fields" - in: "query" - required: false - type: "string" - description: > - Include all complex attributes in the response. See clause 4.3.3 for details. - The NFVO shall support this parameter. - - name: "fields" - in: "query" - required: false - type: "string" - description: > - Complex attributes to be included into the response. See clause 4.3.3 for - details. The NFVO should support this parameter. - - name: "exclude_fields" - in: "query" - required: false - type: "string" - description: > - Complex attributes to be excluded from the response. See clause 4.3.3 for - details. The NFVO should support this parameter. - - name: "exclude_default" - in: "query" - required: false - type: "string" - description: > - Indicates to exclude the following complex attributes from the response. See - clause 4.3.3 for details. The NFVO shall support this parameter. - The following attributes shall be excluded from the PnfdInfo structure in the - response body if this parameter is provided, or none of the parameters - "all_fields," "fields", "exclude_fields", "exclude_default" are provided: - userDefinedData. - responses: - 200: - description: > - 200 OK - - Information about zero or more PNF descriptors. - The response body shall contain a representation of - zero or more PNF descriptors, as defined in - clause 5.5.2.2 headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - 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. maximum: 1 minimum: 0 - schema: - type: "array" - items: - properties: - PnfdInfo: - $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/PnfdInfo" + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 400: - $ref: "responses/SOL005_resp.yaml#/responses/400-attr-selector" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: - $ref: "responses/SOL005_resp.yaml#/responses/404" + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 409: - $ref: "responses/NSDescriptorManagement_resp.yaml#/responses/409" - 412: - $ref: "responses/SOL005_resp.yaml#/responses/412" - 416: - $ref: "responses/SOL005_resp.yaml#/responses/416" + description: > + 409 CONFLICT + + Error: The operation cannot be executed currently, due to a conflict with the state of the resource. + 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/SOL005_resp.yaml#/responses/409" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" - post: - summary: Create a new PNF descriptor resource. - description: > - The POST method is used to create a new PNF descriptor resource - parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string + $ref: "../responses/SOL005_resp.yaml#/responses/503" + + ############################################################################### + # PNF Descriptors # + ############################################################################### + '/pnf_descriptors': + #ETSI GS NFV-SOL 005 V2.4.1 location: 5.4.5 + parameters: - name: Authorization description: > The authorization token for the request. - Reference: IETF RFC 7235 + Reference: IETF RFC 7235. in: header required: false type: string - - name: Content-Type + - name: Version description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 + Version of the API requested to use when responding to this request. in: header required: true type: string - - name: "body" - in: "body" - required: true - schema: - type: "object" - required: - - "CreatePnfdInfoRequest" - properties: - CreatePnfdInfoRequest: - $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/CreatePnfdInfoRequest" - description: > - Parameters of creating a PNF descriptor resource. - responses: + + post: + summary: Create a new PNF descriptor resource. + description: > + The POST method is used to create a new PNF descriptor resource + 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: CreatePnfdInfoRequest + in: body + required: true + schema: + $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/CreatePnfdInfoRequest" + description: > + Parameters of creating a PNF descriptor resource. + responses: 201: description: > - 201 Created - + 201 CREATED + A PNF descriptor resource was created successfully, as a new PNF descriptor resource. The response body shall contain a representation of the new PNF descriptor resource, as defined in @@ -825,89 +810,209 @@ paths: header that contains the resource URI of the new PNF descriptor resource. schema: - type: "object" - properties: - PnfdInfo: - $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/PnfdInfo" + $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/PnfdInfo" headers: Content-Type: - type: "string" + 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. maximum: 1 - minimum: 0 - 206: - $ref: "responses/SOL005_resp.yaml#/responses/206" + minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 400: - $ref: "responses/SOL005_resp.yaml#/responses/400-attr-selector" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: - $ref: "responses/SOL005_resp.yaml#/responses/404" + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" - 409: - $ref: "responses/NSDescriptorManagement_resp.yaml#/responses/409" - 412: - $ref: "responses/SOL005_resp.yaml#/responses/412" - 416: - $ref: "responses/SOL005_resp.yaml#/responses/416" + $ref: "../responses/SOL005_resp.yaml#/responses/406" + 500: + $ref: "../responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../responses/SOL005_resp.yaml#/responses/503" + + get: + summary: Query information about multiple PNF descriptor resources. + description: > + "The GET method queries information about multiple PNF descriptor + resources." + parameters: + - name: filter + in: query + required: false + type: string + description: > + Attribute-based filtering expression according to clause 4.3.2. + The NFVO shall support receiving this filtering parameter as part + of the URI query string. The OSS/BSS may supply this parameter. + All attribute names that appear in the PnfdInfo and in data types + referenced from it shall be supported by the NFVO in the filter expression. + - name: all_fields + in: query + required: false + type: string + description: > + Include all complex attributes in the response. See clause 4.3.3 for details. + The NFVO shall support this parameter. + - name: fields + in: query + required: false + type: string + description: > + Complex attributes to be included into the response. See clause 4.3.3 for + details. The NFVO should support this parameter. + - name: exclude_fields + in: query + required: false + type: string + description: > + Complex attributes to be excluded from the response. See clause 4.3.3 for + details. The NFVO should support this parameter. + - name: exclude_default + in: query + required: false + type: string + description: > + Indicates to exclude the following complex attributes from the response. See + clause 4.3.3 for details. The NFVO shall support this parameter. + The following attributes shall be excluded from the PnfdInfo structure in the + response body if this parameter is provided, or none of the parameters + "all_fields," "fields", "exclude_fields", "exclude_default" are provided: + userDefinedData. + - name: nextpage_opaque_marker + in: query + type: string + required: false + 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 4.7.2.1 for this resource. + responses: + 200: + description: > + 200 OK + + Information about zero or more PNF descriptors. + The response body shall contain a representation of + zero or more PNF descriptors, as defined in + clause 5.5.2.2 + headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + 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. + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + 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 + schema: + description: > + Information about zero or more PNF descriptors. + The response body shall contain a representation in an array the representations + of zero or more PNF descriptors, as defined in clause 5.5.2.2. + 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. + type: array + items: + $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/PnfdInfo" + 400: + $ref: "../responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../responses/SOL005_resp.yaml#/responses/404" + 405: + $ref: "../responses/SOL005_resp.yaml#/responses/405" + 406: + $ref: "../responses/SOL005_resp.yaml#/responses/406" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" -############################################################################### -# Individual PNF Descriptor # -############################################################################### + $ref: "../responses/SOL005_resp.yaml#/responses/503" + + ############################################################################### + # Individual PNF Descriptor # + ############################################################################### '/pnf_descriptors/{pnfdInfoId}': #ETSI GS NFV-SOL 005 V2.4.1 location: 5.4.6 parameters: - - name: "pnfdInfoId" + - name: pnfdInfoId description: > Identifier of the individual PNF descriptor resource. - in: "path" + in: path required: true - type: "string" + type: string + get: summary: Read an individual PNFD resource. - description: > + description: > The GET method reads information about an individual PNF descriptor. This method shall follow the provisions specified in the Tables 5.4.6.3.2-1 and 5.4.6.3.2-2 of GS NFV-SOL 005 for URI query parameters, request and response data structures, and response codes. parameters: - - 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. - - 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: 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. + - 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 responses: 200: - description: > + description: > 200 OK - + Information about the individual PNFD descriptor. The response body shall contain a representation of the individual PNF descriptor. @@ -918,438 +1023,174 @@ 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. maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 schema: - type: "object" - properties: - PnfdInfo: - $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/PnfdInfo" + $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/PnfdInfo" 400: - $ref: "responses/SOL005_resp.yaml#/responses/400-attr-selector" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: - $ref: "responses/SOL005_resp.yaml#/responses/404" + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" - 409: - $ref: "responses/NSDescriptorManagement_resp.yaml#/responses/409" - 412: - $ref: "responses/SOL005_resp.yaml#/responses/412" - 416: - $ref: "responses/SOL005_resp.yaml#/responses/416" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" - delete: - summary: Delete an individual PNF descriptor resource. - description: > - The DELETE method deletes an individual PNF descriptor resource. - An individual PNF descriptor resource can only be deleted when there is no NS instance using it or there is NSD - referencing it. - To delete all PNFD versions identified by a particular value of the "pnfdInvariantId" attribute, the procedure is to first - use the GET method with filter "pnfdInvariantId" towards the PNF descriptors resource to find all versions of the - PNFD. Then, the client uses the DELETE method described in this clause to delete each PNFD version individually. - responses: - 204: - description: > - 204 No Content - - The operation has completed successfully. - The response body shall be empty. - 206: - $ref: "responses/SOL005_resp.yaml#/responses/206" - 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/NSDescriptorManagement_resp.yaml#/responses/409" - 412: - $ref: "responses/SOL005_resp.yaml#/responses/412" - 416: - $ref: "responses/SOL005_resp.yaml#/responses/416" - 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" - 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" + $ref: "../responses/SOL005_resp.yaml#/responses/503" + patch: summary: Modify the user defined data of an individual PNF descriptor resource. - description: > + description: > The PATCH method modifies the user defined data of an individual PNF descriptor resource. - parameters: - - 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. - - name: "Content-Type" - in: "header" - required: true - type: "string" - description: > - The MIME type of the body of the request. This header field - shall be present if the request has a non-empty message body. - - name: "Authorization" - in: "header" - required: false - type: "string" - description: > - The authorization token for the request. Details are specified in clause 4.5.3. - - name: "body" - in: "body" - required: true - schema: - type: "object" - required: - - "PnfdInfoModifications" - properties: - PnfdInfoModifications: - $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/PnfdInfoModifications" - description: > - Parameters for the modification of an individual PNF descriptor resource, as defined in clause 5.5.2.4. + parameters: + - 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. + - name: Content-Type + in: header + required: true + type: string + description: > + The MIME type of the body of the request. This header field + shall be present if the request has a non-empty message body. + - name: PnfdInfoModifications + in: body + required: true + schema: + $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/PnfdInfoModifications" + description: > + Parameters for the modification of an individual PNF descriptor resource, as defined in clause 5.5.2.4. responses: 200: description: > 200 OK - + The operation was completed successfully. - The response body shall contain attribute - modifications for an 'Individual PNF Descriptor' resource. + The response body shall contain attribute modifications for an 'Individual PNF Descriptor' + resource (see clause 5.5.2.4). schema: - type: "object" - properties: - PnfdInfoModifications: - $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/PnfdInfoModifications" + $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/PnfdInfoModifications" headers: Content-Type: - type: "string" + 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. maximum: 1 - minimum: 0 - 206: - $ref: "responses/SOL005_resp.yaml#/responses/206" - 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/NSDescriptorManagement_resp.yaml#/responses/409" - 412: - $ref: "responses/SOL005_resp.yaml#/responses/412" - 416: - $ref: "responses/SOL005_resp.yaml#/responses/416" - 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" - 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" - - -############################################################################### -# PNFD Content # -############################################################################### - '/pnf_descriptors/{pnfdInfoId}/pnfd_content': - #ETSI GS NFV-SOL 005 V2.4.1 location: 5.4.7 - parameters: - - name: "pnfdInfoId" - description: > - Identifier of the individual PNF descriptor. - in: "path" - required: true - type: "string" - get: - summary: Fetch the content of a PNFD. - description: > - The GET method fetches the content of the PNFD. - This method shall follow the provisions specified in the - Table 5.4.7.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: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - responses: - 200: - description: > - 200 OK - - On success, the content of the PNFD is returned. The payload - body shall contain a copy of the file representing the PNFD. - The Content-Type" HTTP header shall be set to "text/plain". - headers: - Content-Type: - description: The MIME type of the body of the response. + minimum: 0 + Version: + description: > + Version of the API used in the response. type: string 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. - maximum: 1 - minimum: 0 - 206: - $ref: "responses/SOL005_resp.yaml#/responses/206" 400: - $ref: "responses/SOL005_resp.yaml#/responses/400-attr-selector" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: - $ref: "responses/SOL005_resp.yaml#/responses/404" + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" - 409: - $ref: "responses/NSDescriptorManagement_resp.yaml#/responses/409-pnfd-onboarding-state-NOT-ONBOARDED" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 412: - $ref: "responses/SOL005_resp.yaml#/responses/412" - 416: - $ref: "responses/SOL005_resp.yaml#/responses/416" + $ref: "../responses/SOL005_resp.yaml#/responses/412" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" - put: - summary: Upload the content of a PNFD. - description: > - The PUT method is used to upload the content of a PNFD. - This resource represents the content of the individual PNF descriptor, i.e. PNFD content. - The client can use this resource to upload and download the content of the PNFD. - parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - in: header - required: true - type: string - enum: - - text/plain - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string + $ref: "../responses/SOL005_resp.yaml#/responses/503" + + delete: + summary: Delete an individual PNF descriptor resource. + description: > + The DELETE method deletes an individual PNF descriptor resource. + An individual PNF descriptor resource can only be deleted when there is no NS instance using it or there is NSD + referencing it. + To delete all PNFD versions identified by a particular value of the "pnfdInvariantId" attribute, the procedure + is to first use the GET method with filter "pnfdInvariantId" towards the PNF descriptors resource to find + all versions of the PNFD. + Then, the client uses the DELETE method described in this clause to delete each PNFD version individually. responses: 204: - description: > - 204 No Content - - The PNFD content was successfully uploaded and validated. - The response body shall be empty. - 206: - $ref: "responses/SOL005_resp.yaml#/responses/206" - 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/NSDescriptorManagement_resp.yaml#/responses/409-pnfd-onboarding-state-NOT-CREATED" - 412: - $ref: "responses/SOL005_resp.yaml#/responses/412" - 416: - $ref: "responses/SOL005_resp.yaml#/responses/416" - 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" - 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" - -############################################################################### -# Subscriptions # -############################################################################### - '/subscriptions': - #ETSI GS NFV-SOL 005 V2.4.1 location: 5.4.8 - get: - summary: Query multiple subscriptions. - description: > - The 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. - - This resource represents subscriptions. - The client can use this resource to subscribe to notifications related to NSD - management and to query its subscriptions. - parameters: - - name: "filter" - in: "query" - required: false - type: "string" - description: > - Attribute filtering parameters according to clause 4.3.2. - The NFVO shall support receiving attribute filter parameters as part of the URI query - string. The OSS/BSS may supply an attribute filter. - All attribute names that appear in the NsdmSubscription and in data types referenced - from it shall be supported in attribute filter parameters. - - name: Accept description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - responses: - 200: - description: > - 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. + 204 NO CONTENT + + The operation has completed successfully. + The response body shall be empty. headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - 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. maximum: 1 minimum: 0 - schema: - type: "array" - items: - properties: - NsdmSubscription: - $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdmSubscription" - 303: - description: > - 303 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. - 206: - $ref: "responses/SOL005_resp.yaml#/responses/206" + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 400: - $ref: "responses/SOL005_resp.yaml#/responses/400-attr-selector" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: - $ref: "responses/SOL005_resp.yaml#/responses/404" + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" - 409: - $ref: "responses/NSDescriptorManagement_resp.yaml#/responses/409" - 412: - $ref: "responses/SOL005_resp.yaml#/responses/412" - 416: - $ref: "responses/SOL005_resp.yaml#/responses/416" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" - - 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 - of GS-NFV SOL 005. Creation of two subscription resources with the same - callbackURI 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 callbackUri 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 - callbackUri). - - This resource represents subscriptions. - The client can use this resource to subscribe to notifications related to NSD - management and to query its subscriptions. - parameters: - - name: Accept + $ref: "../responses/SOL005_resp.yaml#/responses/503" + + ############################################################################### + # PNFD Content # + ############################################################################### + '/pnf_descriptors/{pnfdInfoId}/pnfd_content': + #ETSI GS NFV-SOL 005 V2.4.1 location: 5.4.7 + parameters: + - name: pnfdInfoId description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header + Identifier of the individual PNF descriptor. + in: path required: true type: string - name: Authorization @@ -1359,842 +1200,519 @@ paths: in: header required: false type: string - - name: Content-Type + - name: Version description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 + Version of the API requested to use when responding to this request. in: header required: true type: string - - name: "body" - in: "body" - required: true - schema: - type: "object" - required: - - "NsdmSubscriptionRequest" - properties: - NsdmSubscriptionRequest: - $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 - - 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" - properties: - NsdmSubscription: - $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 - 206: - $ref: "responses/SOL005_resp.yaml#/responses/206" - 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/NSDescriptorManagement_resp.yaml#/responses/409" - 412: - $ref: "responses/SOL005_resp.yaml#/responses/412" - 416: - $ref: "responses/SOL005_resp.yaml#/responses/416" - 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" - 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" - -############################################################################### -# Individual Subscription # -############################################################################### - '/subscriptions/{subscriptionId}': - #ETSI GS NFV-SOL 005 V2.4.1 location: 5.4.9 - parameters: - - name: "subscriptionId" - description: Identifier of this subscription. - in: "path" - required: true - type: "string" - get: - 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. - - 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: - - 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. - - 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. - - responses: - 200: - description: > - 200 OK - The operation has completed successfully. - The response body shall contain a representation of - the subscription resource. - schema: - type: "object" - properties: - NsdmSubscription: - $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 - 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/NSDescriptorManagement_resp.yaml#/responses/409" - 412: - $ref: "responses/SOL005_resp.yaml#/responses/412" - 416: - $ref: "responses/SOL005_resp.yaml#/responses/416" - 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" - 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" - delete: - summary: 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. - - 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. - parameters: - - 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. - responses: - 204: - description: > - 204 No Content - - The subscription resource was deleted successfully. - The response body shall be empty. - 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/NSDescriptorManagement_resp.yaml#/responses/409" - 412: - $ref: "responses/SOL005_resp.yaml#/responses/412" - 416: - $ref: "responses/SOL005_resp.yaml#/responses/416" - 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" - 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" - -################################################################################## -# 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-NsdOnBoardingNotification': - #ETSI GS NFV-SOL 005 V2.4.1 location: 5.4.10 - post: - summary: Notify about NSD and PNFD changes + get: + summary: Fetch the content of a PNFD. description: > - This resource represents a notification endpoint. The server can use - this resource to send notifications to a subscribed - client, which has provided the URI of this resource during the subscription process. - - 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 Table 5.4.10.3.1-2. + The GET method fetches the content of the PNFD. + This method shall follow the provisions specified in the + Table 5.4.7.3.2-2 for URI query parameters, + request and response data structures, and response codes. parameters: - - name: NsdOnBoardingNotification - description: > - A notification about the successful on-boarding of an NSD. - in: body - required: true - schema: - properties: - NsdOnBoardingNotification: - $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdOnBoardingNotification" - name: Accept description: > Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 in: header required: true type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string + enum: + - text/plain responses: - 204: + 200: description: > - 204 No Content - - The notification was delivered successfully. + 200 OK + + On success, the content of the PNFD is returned. The payload + body shall contain a copy of the file representing the PNFD. + The Content-Type" HTTP header shall be set to "text/plain". 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. + Content-Type: + description: The MIME type of the body of the response. + type: string maximum: 1 - minimum: 0 - 400: - $ref: "responses/SOL005_resp.yaml#/responses/400-attr-selector" - 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" - 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" - 404: - $ref: "responses/SOL005_resp.yaml#/responses/404" - 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" - 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" - 409: - $ref: "responses/NSDescriptorManagement_resp.yaml#/responses/409" - 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-NsdOnBoardingFailureNotification': - #ETSI GS NFV-SOL 005 V2.4.1 location: 5.4.10 - post: - summary: Notify about NSD and PNFD changes - description: > - This resource represents a notification endpoint. The server can use - this resource to send notifications to a subscribed - client, which has provided the URI of this resource during the subscription process. - - 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 Table 5.4.10.3.1-2. - parameters: - - name: NsdOnBoardingFailureNotification - description: > - A notification about the failure of on-boarding an NSD. - in: body - required: true - schema: - properties: - NsdOnBoardingFailureNotification: - $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdOnBoardingFailureNotification" - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - responses: - 204: - description: > - 204 No Content - - The notification was delivered successfully. - headers: + 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. maximum: 1 - minimum: 0 - 400: - $ref: "responses/SOL005_resp.yaml#/responses/400-attr-selector" - 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" - 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" - 404: - $ref: "responses/SOL005_resp.yaml#/responses/404" - 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" - 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" - 409: - $ref: "responses/NSDescriptorManagement_resp.yaml#/responses/409" - 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-NsdChangeNotification': - #ETSI GS NFV-SOL 005 V2.4.1 location: 5.4.10 - post: - summary: Notify about NSD and PNFD changes - description: > - This resource represents a notification endpoint. The server can use - this resource to send notifications to a subscribed - client, which has provided the URI of this resource during the subscription process. - - 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 Table 5.4.10.3.1-2. - parameters: - - name: NsdChangeNotification - description: > - A notification about the state change of an on-boarded NSD. - in: body - required: true - schema: - properties: - NsdChangeNotification: - $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdChangeNotification" - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - responses: - 204: - description: > - 204 No Content - - The notification was delivered successfully. - headers: - WWW-Authenticate: - type: "string" + minimum: 0 + Version: 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. + Version of the API used in the response. + type: string maximum: 1 - minimum: 0 + minimum: 1 400: - $ref: "responses/SOL005_resp.yaml#/responses/400-attr-selector" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: - $ref: "responses/SOL005_resp.yaml#/responses/404" + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 409: - $ref: "responses/NSDescriptorManagement_resp.yaml#/responses/409" - 416: - $ref: "responses/SOL005_resp.yaml#/responses/416" + description: > + 409 CONFLICT + + Error: The operation cannot be executed currently, due to a conflict with the state of the resource. + 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/SOL005_resp.yaml#/responses/409" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" + $ref: "../responses/SOL005_resp.yaml#/responses/503" - '/URI_is_provided_by_the_client_when_creating_the_subscription-NsdDeletionNotification': - #ETSI GS NFV-SOL 005 V2.4.1 location: 5.4.10 - post: - summary: Notify about NSD and PNFD changes + put: + summary: Upload the content of a PNFD. description: > - This resource represents a notification endpoint. The server can use - this resource to send notifications to a subscribed - client, which has provided the URI of this resource during the subscription process. - - 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 Table 5.4.10.3.1-2. + The PUT method is used to upload the content of a PNFD. + This resource represents the content of the individual PNF descriptor, i.e. PNFD content. + The client can use this resource to upload and download the content of the PNFD. parameters: - - name: NsdDeletionNotification - description: > - A notification about the deletion of an on-boarded NSD. - in: body - required: true - schema: - properties: - NsdDeletionNotification: - $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdDeletionNotification" - name: Accept description: > Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 in: header required: true type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string + enum: + - text/plain responses: 204: description: > - 204 No Content - - The notification was delivered successfully. + 204 NO CONTENT + + The PNFD content was successfully uploaded and validated. + The response body shall be empty. headers: 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. maximum: 1 - minimum: 0 + minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 400: - $ref: "responses/SOL005_resp.yaml#/responses/400-attr-selector" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: - $ref: "responses/SOL005_resp.yaml#/responses/404" + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 409: - $ref: "responses/NSDescriptorManagement_resp.yaml#/responses/409" - 416: - $ref: "responses/SOL005_resp.yaml#/responses/416" + description: > + 409 CONFLICT + + Error: The operation cannot be executed currently, due to a conflict with the state of the resource. + 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/SOL005_resp.yaml#/responses/409" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" + $ref: "../responses/SOL005_resp.yaml#/responses/503" + + ############################################################################### + # Subscriptions # + ############################################################################### + '/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 - '/URI_is_provided_by_the_client_when_creating_the_subscription-PnfdOnBoardingNotification': - #ETSI GS NFV-SOL 005 V2.4.1 location: 5.4.10 post: - summary: Notify about NSD and PNFD changes + summary: Subscribe to NSD and PNFD change notifications. description: > - This resource represents a notification endpoint. The server can use - this resource to send notifications to a subscribed - client, which has provided the URI of this resource during the subscription process. - - 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 Table 5.4.10.3.1-2. + 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 + of GS-NFV SOL 005. Creation of two subscription resources with the same + callbackURI 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 callbackUri 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 + callbackUri). + + This resource represents subscriptions. + The client can use this resource to subscribe to notifications related to NSD + management and to query its subscriptions. parameters: - - name: PnfdOnBoardingNotification - description: > - A notification about the successful on-boarding of a PNFD. - in: body - required: true - schema: - properties: - PnfdOnBoardingNotification: - $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/PnfdOnBoardingNotification" - name: Accept description: > Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 + 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 + Reference: IETF RFC 7231. in: header required: true - type: string + 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: - 204: + 201: description: > - 204 No Content - - The notification was delivered successfully. + 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: + $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" + 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 + minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + 303: + description: > + 303 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. + $ref: "../responses/SOL005_resp.yaml#/responses/303" 400: - $ref: "responses/SOL005_resp.yaml#/responses/400-attr-selector" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: - $ref: "responses/SOL005_resp.yaml#/responses/404" + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" - 409: - $ref: "responses/NSDescriptorManagement_resp.yaml#/responses/409" - 416: - $ref: "responses/SOL005_resp.yaml#/responses/416" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" + $ref: "../responses/SOL005_resp.yaml#/responses/503" - '/URI_is_provided_by_the_client_when_creating_the_subscription-PnfdOnBoardingFailureNotification': - #ETSI GS NFV-SOL 005 V2.4.1 location: 5.4.10 - post: - summary: Notify about NSD and PNFD changes + get: + summary: Query multiple subscriptions. description: > - This resource represents a notification endpoint. The server can use - this resource to send notifications to a subscribed - client, which has provided the URI of this resource during the subscription process. - - 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 Table 5.4.10.3.1-2. + The 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. + + This resource represents subscriptions. + The client can use this resource to subscribe to notifications related to NSD + management and to query its subscriptions. parameters: - - name: PnfdOnBoardingFailureNotification - description: > - A notification about the failure of on-boarding a PNFD. - in: body - required: true - schema: - properties: - PnfdOnBoardingFailureNotification: - $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/PnfdOnBoardingFailureNotification" - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true + - name: filter + in: query + required: false type: string - - name: Authorization description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header + Attribute filtering expression according to clause 4.3.2. + 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. + - name: nextpage_opaque_marker + in: query required: false type: string - - name: Content-Type description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 + 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 4.7.2.1 for this resource. + - name: Accept + description: > + Content-Types that are acceptable for the response. + Reference: IETF RFC 7231. in: header required: true - type: string + type: string responses: - 204: + 200: description: > - 204 No Content - - The notification was delivered successfully. + 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. headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + 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. maximum: 1 - minimum: 0 + minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + 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 + 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. + type: array + items: + $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdmSubscription" 400: - $ref: "responses/SOL005_resp.yaml#/responses/400-attr-selector" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: - $ref: "responses/SOL005_resp.yaml#/responses/404" + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" - 409: - $ref: "responses/NSDescriptorManagement_resp.yaml#/responses/409" - 416: - $ref: "responses/SOL005_resp.yaml#/responses/416" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" + $ref: "../responses/SOL005_resp.yaml#/responses/503" - '/URI_is_provided_by_the_client_when_creating_the_subscription-PnfdDeletionNotification': - #ETSI GS NFV-SOL 005 V2.4.1 location: 5.4.10 - post: - summary: Notify about NSD and PNFD changes + ############################################################################### + # Individual Subscription # + ############################################################################### + '/subscriptions/{subscriptionId}': + #ETSI GS NFV-SOL 005 V2.4.1 location: 5.4.9 + parameters: + - name: subscriptionId + description: Identifier of this subscription. + in: path + required: true + 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 + + get: + summary: Read an individual subscription resource. description: > - This resource represents a notification endpoint. The server can use - this resource to send notifications to a subscribed - client, which has provided the URI of this resource during the subscription process. - - 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 Table 5.4.10.3.1-2. + 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. + + 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: - - name: PnfdDeletionNotification - description: > - A notification about the deletion of an on-boarded PNFD. - in: body - required: true - schema: - properties: - PnfdDeletionNotification: - $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/PnfdDeletionNotification" - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 in: header required: true type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string + 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. responses: - 204: + 200: description: > - 204 No Content - - The notification was delivered successfully. + 200 OK + + The operation has completed successfully. + The response body shall contain a representation of + the subscription resource. + 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" + 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 + minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 400: - $ref: "responses/SOL005_resp.yaml#/responses/400-attr-selector" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: - $ref: "responses/SOL005_resp.yaml#/responses/404" + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" - 409: - $ref: "responses/NSDescriptorManagement_resp.yaml#/responses/409" - 416: - $ref: "responses/SOL005_resp.yaml#/responses/416" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" - - get: - summary: Test the notification endpoint + $ref: "../responses/SOL005_resp.yaml#/responses/503" + + delete: + summary: Terminate Subscription description: > - This resource represents a notification endpoint. The server can use - this resource to send notifications to a subscribed - client, which has provided the URI of this resource during the subscription process. - - The GET method allows the server to test the notification endpoint - that is provided by the client, e.g. during subscription. - This method shall follow the provisions specified in the Table 5.4.10.3.2-2 for URI query parameters, - request and response data structures, and response codes. + 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. + + 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. parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 + - name: Authorization in: header - required: true + required: false type: string - - name: Authorization description: > The authorization token for the request. - Reference: IETF RFC 7235 + 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: false + required: true type: string responses: 204: description: > - 204 No Content - - The notification endpoint was tested successfully. + 204 NO CONTENT + + The subscription resource was deleted successfully. The response body shall be empty. headers: 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. 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#/responses/400-attr-selector" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: - $ref: "responses/SOL005_resp.yaml#/responses/404" + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" - 409: - $ref: "responses/NSDescriptorManagement_resp.yaml#/responses/409" - 416: - $ref: "responses/SOL005_resp.yaml#/responses/416" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" \ No newline at end of file + $ref: "../responses/SOL005_resp.yaml#/responses/503" \ No newline at end of file diff --git a/src/SOL005/NSDManagement/definitions/SOL005NSDescriptorManagement_def.yaml b/src/SOL005/NSDManagement/definitions/SOL005NSDescriptorManagement_def.yaml index 702a0c71342ffd725ee89fd2b7a281d78f5974fa..336caacd80e9274ac04fd8103cfebf82597faaea 100644 --- a/src/SOL005/NSDManagement/definitions/SOL005NSDescriptorManagement_def.yaml +++ b/src/SOL005/NSDManagement/definitions/SOL005NSDescriptorManagement_def.yaml @@ -1,884 +1,511 @@ - definitions: - NsdInfo: - type: "object" - required: - - "id" - - "nsdOnboardingState" - - "nsdOperationalState" - - "nsdUsageState" - - "_links" - properties: - id: - description: > - Identifier of the on boarded individual NS descriptor - resource. This identifier is allocated by the NFVO. - $ref: "SOL005_def.yaml#/definitions/Identifier" - nsdId: - description: > - This identifier, which is allocated by the NSD - designer, identifies the NSD in a globally unique - way. It is copied from the NSD content and shall be - present after the NSD content is on-boarded. - $ref: "SOL005_def.yaml#/definitions/Identifier" - nsdName: - type: "string" - description: > - "Name of the on boarded NSD. This information is copied from the - NSD content and shall be present after the NSD content is on-boarded." - nsdVersion: - description: > - Version of the on-boarded NSD. This information is - copied from the NSD content and shall be present - after the NSD content is on-boarded. - $ref: "SOL005_def.yaml#/definitions/Version" - nsdDesigner: - type: "string" - description: > - "Designer of the on-boarded NSD. This information is copied - from the NSD content and shall be present after the NSD content is on-boarded." - nsdInvariantId: - description: > - This identifier, which is allocated by the NSD - designer, identifies an NSD in a version independent - manner. This information is copied from the NSD - content and shall be present after the NSD content is - on-boarded. - $ref: "SOL005_def.yaml#/definitions/Identifier" - vnfPkgIds: - description: > - Identifies the VNF package for the VNFD referenced - by the on-boarded NS descriptor resource. - type: array - items: - $ref: "SOL005_def.yaml#/definitions/Identifier" - pnfdInfoIds: - description: > - Identifies the PnfdInfo element for the PNFD - referenced by the on-boarded NS descriptor - resource. - type: array - items: - $ref: "SOL005_def.yaml#/definitions/Identifier" - nestedNsdInfoIds: - description: > - Identifies the NsdInfo element for the nested NSD - referenced by the on-boarded NS descriptor - resource. - type: array - items: - $ref: "SOL005_def.yaml#/definitions/Identifier" - nsdOnboardingState: - description: > - On boarding state of the individual NS descriptor resource. +# Copyright (c) ETSI 2017. +# https://forge.etsi.org/etsi-forge-copyright-notice.txt + +definitions: + NsdInfoModifications: + type: object + description: > + This type represents attribute modifications for an individual NS + descriptor resource based on the NsdInfo data type. The attributes of + NsdInfo that can be modified are included in the NsdInfoModifications + data type.NOTE: At least one of the attributes - nsdOperationalState and + userDefinedData - shall be present. + properties: + nsdOperationalState: + $ref: "#/definitions/NsdOperationalStateType" + userDefinedData: + description: > + Modifications of the userDefinedData attribute in NsdInfo + data type. See note. If present, these modifications shall be applied + according to the rules of JSON Merge PATCH (see IETF RFC 7396 [25]). + NOTE- At least one of the attributes - nsdOperationalState and userDefinedData - shall be present. + type: array + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" + + NsdInfo: + type: object + required: + - id + - nsdOnboardingState + - nsdOperationalState + - nsdUsageState + - _links + properties: + id: + description: > + Identifier of the on boarded individual NS descriptor + resource. This identifier is allocated by the NFVO. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + nsdId: + description: > + This identifier, which is allocated by the NSD + designer, identifies the NSD in a globally unique + way. It is copied from the NSD content and shall be + present after the NSD content is on-boarded. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + nsdName: + type: string + description: > + Name of the on boarded NSD. This information is copied from the + NSD content and shall be present after the NSD content is on-boarded. + nsdVersion: + description: > + Version of the on-boarded NSD. This information is + copied from the NSD content and shall be present + after the NSD content is on-boarded. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Version" + nsdDesigner: + type: string + description: > + Designer of the on-boarded NSD. This information is copied + from the NSD content and shall be present after the NSD content is on-boarded. + nsdInvariantId: + description: > + This identifier, which is allocated by the NSD + designer, identifies an NSD in a version independent + manner. This information is copied from the NSD + content and shall be present after the NSD content is + on-boarded. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + vnfPkgIds: + description: > + Identifies the VNF package for the VNFD referenced + by the on-boarded NS descriptor resource. + type: array + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + pnfdInfoIds: + description: > + Identifies the PnfdInfo element for the PNFD + referenced by the on-boarded NS descriptor + resource. + type: array + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + nestedNsdInfoIds: + description: > + Identifies the NsdInfo element for the nested NSD + referenced by the on-boarded NS descriptor + resource. + type: array + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + nsdOnboardingState: + description: > + On boarding state of the individual NS descriptor resource. + $ref: "#/definitions/NsdOnboardingStateType" + onboardingFailureDetails: + description: > + Failure details of current on boarding procedure. See + clause 4.3.5.3 for the details of "ProblemDetails" + structure. + It shall be present when the "nsdOnboardingState" + attribute is CREATED and the uploading or + processing fails in NFVO. + $ref: "../../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + nsdOperationalState: + description: > + Operational state of the individual NS descriptor + resource. This attribute can be modified with the + PATCH method. + $ref: "#/definitions/NsdOperationalStateType" + nsdUsageState: + description: > + Usage state of the individual NS descriptor resource. + $ref: "#/definitions/NsdUsageStateType" + userDefinedData: + description: > + User defined data for the individual NS descriptor + resource. This attribute can be modified with the + PATCH method. + $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" + _links: + type: object + required: + - self + - nsd_content + description: > + Links to resources related to this resource. + properties: + self: + description: > + URI of this resource. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" + nsd_content: + description: > + Link to the NSD content resource. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" + description: > + This type represents a response for the query NSD operation. + + CreateNsdInfoRequest: + type: object + properties: + userDefinedData: + $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" + description: > + This type creates a completely new NS descriptor resource. + + PnfdInfoModifications: + type: object + required: + - userDefinedData + properties: + userDefinedData: + $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" + description: > + This type represents attribute modifications for an individual PNF + descriptor resource based on the "PnfdInfo" data type. The attributes of + "PnfdInfo" that can be modified are included in the "PnfdInfoModifications" + data type. + + PnfdInfo: + type: object + required: + - id + - pnfdOnboardingState + - pnfdUsageState + - _links + properties: + id: + description: > + Identifier of the on-boarded individual PNF + descriptor resource. This identifier is allocated by + the NFVO. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + pnfdId: + description: > + This identifier, which is managed by the PNFD + designer, identifies the PNFD in a globally unique way. + It is copied from the PNFD content and shall + be present after the PNFD content is on-boarded. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + pnfdName: + description: > + Name of the on-boarded PNFD. This information + is copied from the PNFD content and shall be + present after the PNFD content is on-boarded. + type: string + pnfdersion: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Version" + pnfdProvider: + description: > + Provider of the on-boarded PNFD. This information is copied from + the PNFD content and shall be present after the PNFD content is on-boarded. + type: string + pnfdInvariantId: + description: > + Identifies a PNFD in a version independent + manner. This attribute is invariant across versions + of PNFD. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + pnfdOnboardingState: + description: > + On-boarding state of the individual PNF descriptor resource. + $ref: "#/definitions/PnfdOnboardingStateType" + onboardingFailureDetails: + description: > + Failure details of current on-boarding procedure. + It shall be present when the + pnfdOnboardingState attribute is CREATED + and the uploading or processing fails in the NFVO. + $ref: "../../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + pnfdUsageState: + description: > + Usage state of the individual PNF descriptor resource. + $ref: "#/definitions/PnfdUsageStateType" + userDefinedData: + description: > + User defined data for the individual PNF descriptor resource. + This attribute can be modified with the PATCH method. + $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" + _links: + required: + - pnfd_content + - self + type: object + description: > + Links to resources related to this resource. + properties: + self: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" + pnfd_content: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" + description: > + This type represents a response for the query PNFD operation. + + CreatePnfdInfoRequest: + type: object + properties: + userDefinedData: + $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" + description: > + User-defined data for the PNF descriptor resource to be created. + It shall be present when the user defined data is set for + the individual PNF descriptor resource to be created. + + NsdmSubscriptionRequest: + type: object + required: + - callbackUri + properties: + filter: + $ref: "#/definitions/NsdmNotificationsFilter" + callbackUri: + type: string + description: > + The URI of the endpoint to send the notification to. + authentication: + $ref: "../../definitions/SOL005_def.yaml#/definitions/SubscriptionAuthentication" + description: > + This type represents a subscription request related to notifications + about NSD management. + + NsdmSubscription: + type: object + required: + - id + - callbackUri + - _links + properties: + id: + description: > + Identifier of this subscription resource. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + filter: + description: > + Filter settings for this subscription, to define the subset + of all notifications this subscription relates to. + A particular notification is sent to the subscriber if the filter + matches, or if there is no filter. + $ref: "#/definitions/NsdmNotificationsFilter" + callbackUri: + description: > + The URI of the endpoint to send the notification to. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Uri" + _links: + type: object + description: > + Links to resources related to this resource. + properties: + self: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" + description: > + This type represents a subscription related to notifications about NSD management. + + NsdmNotificationsFilter: + type: object + description: > + This type represents a subscription filter related to notifications + about NSD management. It shall comply with the provisions defined in Table + 5.5.3.2-1 of GS NFV-SOL 005. At a particular nesting level in the filter structure, + the following applies: All attributes shall match in order for the filter + to match (logical "and" between different filter attributes). If an attribute + is an array, the attribute shall match if at least one of the values in the + array matches (logical "or" between the values of one filter attribute). + properties: + notificationTypes: + description: > + Match particular notification types. Permitted values: NsdOnBoardingNotification, + NsdOnboardingFailureNotification, NsdChangeNotification, NsdDeletionNotification + PnfdOnBoardingNotification, PnfdOnBoardingFailureNotification, PnfdDeletionNotification. + The permitted values of the "notificationTypes" ] attribute are spelled + exactly as the names of the notification types to facilitate automated + code generation systems. + type: array + items: + type: string + enum: + - NsdOnBoardingNotification + - NsdOnboardingFailureNotification + - NsdChangeNotification + - NsdDeletionNotification + - PnfdOnBoardingNotification + - PnfdOnBoardingFailureNotification + - PnfdDeletionNotification + nsdInfoId: + description: > + Match the NsdInfo identifier which is allocated by the NFVO. + type: array + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + nsdId: + description: > + Match the NSD identifier, which is allocated by the NSD designer. + type: array + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + nsdName: + description: > + Match the name of the on boarded NSD. + type: array + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/String" + nsdVersion: + description: > + Match the NSD version listed as part of this attribute. + type: array + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Version" + nsdDesigner: + description: > + Match the NSD designer of the on-boarded NSD. + type: array + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/String" + nsdInvariantId: + description: > + Match the NSD invariant identifier which is allocated + by the NSD designer and identifies an NSD in a + version independent manner. + type: array + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + vnfPkgIds: + description: > + Match VNF packages with a package identifier listed + in the attribute. + type: array + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + pnfdInfoIds: + description: > + Match the PnfdInfo identifier for the PNFD + referenced by the on-boarded NSD. + type: array + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + nestedNsdInfoIds: + description: > + Match the NsdInfo identifier for the nested NSD + referenced by the on-boarded NSD. + type: array + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + nsdOnboardingState: + description: > + Match particular on-boarding state of the NSD. + type: array + items: $ref: "#/definitions/NsdOnboardingStateType" - onboardingFailureDetails: - description: > - Failure details of current on boarding procedure. See - clause 4.3.5.3 for the details of "ProblemDetails" - structure. - It shall be present when the "nsdOnboardingState" - attribute is CREATED and the uploading or - processing fails in NFVO. - $ref: "SOL005_def.yaml#/definitions/ProblemDetails" - nsdOperationalState: - description: > - Operational state of the individual NS descriptor - resource. This attribute can be modified with the - PATCH method. + nsdOperationalState: + description: > + Match particular operational state of the on-boarded NSD. + type: array + items: $ref: "#/definitions/NsdOperationalStateType" - nsdUsageState: - description: > - Usage state of the individual NS descriptor resource. + nsdUsageState: + description: > + Match particular usage state of the on-boarded NSD. + type: array + items: $ref: "#/definitions/NsdUsageStateType" - userDefinedData: - description: > - User defined data for the individual NS descriptor - resource. This attribute can be modified with the - PATCH method. - $ref: "SOL005_def.yaml#/definitions/KeyValuePairs" - _links: - type: "object" - required: - - "self" - - "nsd_content" - description: > - "Links to resources related to this resource." - properties: - self: - description: > - "URI of this resource." - $ref: "SOL005_def.yaml#/definitions/Link" - nsd_content: - description: > - "Link to the NSD content resource" - $ref: "SOL005_def.yaml#/definitions/Link" - description: > - "This type represents a response for the query NSD operation." - - NsdInfoModifications: - type: "object" - description: > - This type represents attribute modifications for an individual NS - descriptor resource based on the NsdInfo data type. The attributes of - NsdInfo that can be modified are included in the NsdInfoModifications - data type.NOTE: At least one of the attributes - nsdOperationalState and - userDefinedData - shall be present. - properties: - nsdOperationalState: - $ref: "#/definitions/NsdOperationalStateType" - userDefinedData: - description: > - Modifications of the userDefinedData attribute in NsdInfo - data type. See note. If present, these modifications shall be applied - according to the rules of JSON Merge PATCH (see IETF RFC 7396 [25]). - NOTE- At least one of the attributes - nsdOperationalState and userDefinedData - shall be present. - type: "array" - items: - $ref: "SOL005_def.yaml#/definitions/KeyValuePairs" - - nsdOperationalState: - description: > - "New value of the "nsdOperationalState" attribute in "NsdInfo" - data type. See note.Permitted values: - ENABLED, - DISABLED" - type: "array" - items: - $ref: "#/definitions/NsdInfoModifications" - - NsdmSubscription: - type: "object" - required: - - "id" - - "callbackUri" - - "_links" - properties: - id: - description: > - Identifier of this subscription resource. - $ref: "SOL005_def.yaml#/definitions/Identifier" - filter: - description: > - Filter settings for this subscription, to define the subset - of all notifications this subscription relates to. - A particular notification is sent to the subscriber if the filter - matches, or if there is no filter. - $ref: "#/definitions/NsdmNotificationsFilter" - callbackUri: - description: > - The URI of the endpoint to send the notification to. - $ref: "SOL005_def.yaml#/definitions/Uri" - _links: - type: "object" - description: > - Links to resources related to this resource. - properties: - self: - $ref: "SOL005_def.yaml#/definitions/Link" - description: > - This type represents a subscription related to notifications about NSD management. - - NsdmSubscriptionRequest: - type: "object" - required: - - "callbackUri" - properties: - filter: - $ref: "#/definitions/NsdmNotificationsFilter" - callbackUri: - type: "string" - description: > - The URI of the endpoint to send the notification to. - authentication: - $ref: "#/definitions/SubscriptionAuthentication" - description: > - This type represents a subscription request related to notifications - about NSD management. - NsdmNotificationsFilter: - type: "object" - description: > - "This type represents a subscription filter related to notifications - about NSD management. It shall comply with the provisions defined in Table - 5.5.3.2-1 of GS NFV-SOL 005. At a particular nesting level in the filter structure, - the following applies: All attributes shall match in order for the filter - to match (logical "and" between different filter attributes). If an attribute - is an array, the attribute shall match if at least one of the values in the - array matches (logical "or" between the values of one filter attribute)." - properties: - notificationTypes: - description: > - "Match particular notification types. Permitted values: NsdOnBoardingNotification, - NsdOnboardingFailureNotification, NsdChangeNotification, NsdDeletionNotification - PnfdOnBoardingNotification, PnfdOnBoardingFailureNotification, PnfdDeletionNotification. - The permitted values of the "notificationTypes" ] attribute are spelled - exactly as the names of the notification types to facilitate automated - code generation systems." - type: array - items: - type: string - enum: - - "NsdOnBoardingNotification" - - "NsdOnboardingFailureNotification" - - "NsdChangeNotification" - - "NsdDeletionNotification" - - "PnfdOnBoardingNotification" - - "PnfdOnBoardingFailureNotification" - - "PnfdDeletionNotification" - nsdInfoId: - description: > - Match the NsdInfo identifier which is allocated by the NFVO. - type: array - items: - $ref: "SOL005_def.yaml#/definitions/Identifier" - nsdId: - description: > - Match the NSD identifier, which is allocated by the NSD designer. - type: array - items: - $ref: "SOL005_def.yaml#/definitions/Identifier" - nsdName: - description: > - Match the name of the on boarded NSD. - type: array - items: - $ref: "SOL005_def.yaml#/definitions/String" - nsdVersion: - description: > - Match the NSD version listed as part of this attribute. - type: array - items: - $ref: "SOL005_def.yaml#/definitions/Version" - nsdDesigner: - description: > - "Match the NSD designer of the on-boarded NSD." - type: array - items: - $ref: "SOL005_def.yaml#/definitions/String" - nsdInvariantId: - description: > - Match the NSD invariant identifier which is allocated - by the NSD designer and identifies an NSD in a - version independent manner. - type: array - items: - $ref: "SOL005_def.yaml#/definitions/Identifier" - vnfPkgIds: - description: > - Match VNF packages with a package identifier listed - in the attribute. - type: array - items: - $ref: "SOL005_def.yaml#/definitions/Identifier" - pnfdInfoIds: - description: > - Match the PnfdInfo identifier for the PNFD - referenced by the on-boarded NSD. - type: array - items: - $ref: "SOL005_def.yaml#/definitions/Identifier" - nestedNsdInfoIds: - description: > - Match the NsdInfo identifier for the nested NSD - referenced by the on-boarded NSD. - type: array - items: - $ref: "SOL005_def.yaml#/definitions/Identifier" - nsdOnboardingState: - description: > - Match particular on-boarding state of the NSD. - type: array - items: - $ref: "#/definitions/NsdOnboardingStateType" - nsdOperationalState: - description: > - Match particular operational state of the on-boarded NSD. - type: array - items: - $ref: "#/definitions/NsdOperationalStateType" - nsdUsageState: - description: > - Match particular usage state of the on-boarded NSD. - type: array - items: - $ref: "#/definitions/NsdUsageStateType" - pnfdId: - description: > - Match the PNFD identifier which is copied from the PNFD content. - type: array - items: - $ref: "SOL005_def.yaml#/definitions/Identifier" - pnfdName: - description: > - Match the name of the on-boarded PNFD. - type: array - items: - $ref: "SOL005_def.yaml#/definitions/String" - pnfdVersion: - description: > - Match the PNFD designer of the on-boarded PNFD. - type: array - items: - $ref: "SOL005_def.yaml#/definitions/Version" - pnfdProvider: - description: > - Match the provider of the on-boarded PNFD. - type: array - items: - $ref: "SOL005_def.yaml#/definitions/String" - pnfdInvariantId: - description: > - Match the PNFD in a version independent manner. - type: array - items: - $ref: "SOL005_def.yaml#/definitions/Identifier" - pnfdOnboardingState: - description: > - Match particular on-boarding state of the PNFD. - type: array - items: - $ref: "#/definitions/PnfdOnboardingStateType" - pnfdUsageState: - description: > - Match the usage state of the individual PNF descriptor resource. - type: array - items: - $ref: "#/definitions/PnfdUsageStateType" - SubscriptionAuthentication: - description: > - The procedure defined in clause 4.5.2 allows an API consumer to - obtain authorization to perform API requests towards - the API producer, including subscription requests. - For sending the actual notifications matching a subscription, the API - producer needs to obtain separate authorization to actually send the notification to the API consumer. - If an API consumer requires the API producer to authorize for sending notifications to that API consumer, it shall - include in the subscription request a data structure that defines the authorization requirements, as defined in - Table 4.5.3.4-1. - type: "object" - required: - - "authType" - properties: - authType: - description: > - Defines the types of Authentication - Authorization the API consumer is willing to - accept when receiving a notification. - - Permitted values: + pnfdId: + description: > + Match the PNFD identifier which is copied from the PNFD content. + type: array + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + pnfdName: + description: > + Match the name of the on-boarded PNFD. + type: array + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/String" + pnfdVersion: + description: > + Match the PNFD designer of the on-boarded PNFD. + type: array + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Version" + pnfdProvider: + description: > + Match the provider of the on-boarded PNFD. + type: array + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/String" + pnfdInvariantId: + description: > + Match the PNFD in a version independent manner. + type: array + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + pnfdOnboardingState: + description: > + Match particular on-boarding state of the PNFD. + type: array + items: + $ref: "#/definitions/PnfdOnboardingStateType" + pnfdUsageState: + description: > + Match the usage state of the individual PNF descriptor resource. + type: array + items: + $ref: "#/definitions/PnfdUsageStateType" + + NsdOperationalStateType: + type: string + description: > + The enumeration NsdOperationalStateType shall comply with the provisions + defined in Table 5.5.4.3-1 of GS NFV_SOL 005. It indicates the operational + state of the resource. + ENABLED = The operational state of the resource is enabled. + DISABLED = The operational state of the resource is disabled. + enum: + - ENABLED + - DISABLED + + NsdUsageStateType: + type: string + description: > + The enumeration NsdUsageStateType shall comply with the provisions + defined in Table 5.5.4.4-1 of GS NFV-SOL 005. It indicates the usage state + of the resource.IN_USE = The resource is in use.NOT_IN_USE = The resource + is not-in-use. + enum: + - IN_USE + - NOT_IN_USE + + NsdOnboardingStateType: + type: string + description: > + The enumeration NsdOnboardingStateType shall comply with the provisions + defined in Table 5.5.4.5-1 of GS NFV-SOL 005. It indicates the on-boarding + state of the NSD. + CREATED = The NSD information object is created. + UPLOADING = The associated NSD content is being uploaded. + PROCESSING = The associated NSD content is being processed, e.g. validation. + ONBOARDED = The associated NSD content is on-boarded. + enum: + - CREATED + - UPLOADING + - PROCESSING + - ONBOARDED - 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 server - is authenticated, but also the client is - authenticated during the TLS tunnel setup + PnfdOnboardingStateType: + type: string + description: > + The enumeration PnfdOnboardingStateType shall comply with the provisions + defined in Table 5.5.4.6-1 of GS-NFV SOL005. It indicates the on-boarding state + of the individual PNF descriptor resource. + CREATED = The PNF descriptor resource is created. + UPLOADING = The associated PNFD content is being uploaded. + PROCESSING = The associated PNFD content is being processed, e.g. validation. + ONBOARDED = The associated PNFD content is on-boarded. + enum: + - CREATED + - UPLOADING + - PROCESSING + - ONBOARDING - type: string - enum: - - BASIC - - OAUTH2_CLIENT_CREDENTIALS - - TLS_CERT - paramsBasic: - type: "object" - 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. - 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: - type: "object" - 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 - 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. - 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. - 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: "SOL005_def.yaml#/definitions/Uri" - - NsdOperationalStateType: - type: "string" - description: > - "The enumeration NsdOperationalStateType shall comply with the provisions - defined in Table 5.5.4.3-1 of GS NFV_SOL 005. It indicates the operational - state of the resource. - ENABLED = The operational state of the resource is enabled. - DISABLED = The operational state of the resource is disabled." - enum: - - "ENABLED" - - "DISABLED" - NsdOnboardingStateType: - type: "string" - description: > - "The enumeration NsdOnboardingStateType shall comply with the provisions - defined in Table 5.5.4.5-1 of GS NFV-SOL 005. It indicates the on-boarding - state of the NSD. - CREATED = The NSD information object is created. - UPLOADING = The associated NSD content is being uploaded. - PROCESSING = The associated NSD content is being processed, e.g. validation. - ONBOARDED = The associated NSD content is on-boarded." - enum: - - "CREATED" - - "UPLOADING" - - "PROCESSING" - - "ONBOARDED" - NsdUsageStateType: - type: "string" - description: > - "The enumeration NsdUsageStateType shall comply with the provisions - defined in Table 5.5.4.4-1 of GS NFV-SOL 005. It indicates the usage state - of the resource.IN_USE = The resource is in use.NOT_IN_USE = The resource - is not-in-use." - enum: - - "IN_USE" - - "NOT_IN_USE" - CreateNsdInfoRequest: - type: "object" - properties: - userDefinedData: - $ref: "SOL005_def.yaml#/definitions/KeyValuePairs" - description: > - "This type creates a completely new NS descriptor resource." - PnfdInfoModifications: - type: "object" - required: - - "userDefinedData" - properties: - userDefinedData: - $ref: "SOL005_def.yaml#/definitions/KeyValuePairs" - description: > - "This type represents attribute modifications for an individual PNF - descriptor resource based on the "PnfdInfo" data type. The attributes of - "PnfdInfo" that can be modified are included in the "PnfdInfoModifications" - data type." - PnfdInfo: - type: "object" - required: - - "id" - - "pnfdOnboardingState" - - "pnfdUsageState" - - "_links" - properties: - id: - description: > - Identifier of the on-boarded individual PNF - descriptor resource. This identifier is allocated by - the NFVO. - $ref: "SOL005_def.yaml#/definitions/Identifier" - pnfdId: - description: > - This identifier, which is managed by the PNFD - designer, identifies the PNFD in a globally unique way. - It is copied from the PNFD content and shall - be present after the PNFD content is on-boarded. - $ref: "SOL005_def.yaml#/definitions/Identifier" - pnfdName: - description: > - Name of the on-boarded PNFD. This information - is copied from the PNFD content and shall be - present after the PNFD content is on-boarded. - type: "string" - pnfdersion: - $ref: "SOL005_def.yaml#/definitions/Version" - pnfdProvider: - description: > - "Provider of the on-boarded PNFD. This information is copied from - the PNFD content and shall be present after the PNFD content is on-boarded." - type: "string" - pnfdInvariantId: - description: > - Identifies a PNFD in a version independent - manner. This attribute is invariant across versions - of PNFD. - $ref: "SOL005_def.yaml#/definitions/Identifier" - pnfdOnboardingState: - description: > - On-boarding state of the individual PNF descriptor resource. - $ref: "#/definitions/PnfdOnboardingStateType" - onboardingFailureDetails: - description: > - Failure details of current on-boarding procedure. - It shall be present when the - pnfdOnboardingState attribute is CREATED - and the uploading or processing fails in the NFVO. - $ref: "SOL005_def.yaml#/definitions/ProblemDetails" - pnfdUsageState: - description: > - Usage state of the individual PNF descriptor resource. - $ref: "#/definitions/PnfdUsageStateType" - userDefinedData: - type: "array" - description: > - User defined data for the individual PNF descriptor resource. - This attribute can be modified with the PATCH method. - items: - type: "object" - _links: - required: - - "pnfd_content" - - "self" - type: "object" - description: > - "Links to resources related to this resource." - properties: - self: - $ref: "SOL005_def.yaml#/definitions/Link" - pnfd_content: - $ref: "SOL005_def.yaml#/definitions/Link" - description: > - "This type represents a response for the query PNFD operation." - - PnfdOnboardingStateType: - type: "string" - description: > - The enumeration PnfdOnboardingStateType shall comply with the provisions - defined in Table 5.5.4.6-1 of GS-NFV SOL005. It indicates the on-boarding state - of the individual PNF descriptor resource. - CREATED = The PNF descriptor resource is created. - UPLOADING = The associated PNFD content is being uploaded. - PROCESSING = The associated PNFD content is being processed, e.g. validation. - ONBOARDED = The associated PNFD content is on-boarded. - enum: - - "CREATED" - - "UPLOADING" - - "PROCESSING" - - "ONBOARDING" - PnfdUsageStateType: - type: "string" - description: > - "The enumeration PnfdUsageStateType shall comply with the provisions - defined in Table 5.5.4.7-1 of GS NFV-SOL005. It indicates the usage state - of the resource.IN-USE = The resource is in use.NOT_IN_USE = The resource - is not-in-use." - enum: - - "IN_USE" - - "NOT_IN_USE" - CreatePnfdInfoRequest: - type: "object" - properties: - userDefinedData: - $ref: "SOL005_def.yaml#/definitions/KeyValuePairs" - description: > - User-defined data for the PNF descriptor resource to be created. - It shall be present when the user defined data is set for - the individual PNF descriptor resource to be created. - NsdmLinks: - type: "object" - required: - - "nsdInfo" - - "subscription" - properties: - nsdInfo: - $ref: "SOL005_def.yaml#/definitions/Link" - subscription: - $ref: "SOL005_def.yaml#/definitions/Link" - description: > - "This type represents the links to resources that an NSD management - notification can contain." - PnfdmLinks: - type: "object" - required: - - "pnfdInfo" - - "subscription" - properties: - pnfdInfo: - $ref: "SOL005_def.yaml#/definitions/Link" - subscription: - $ref: "SOL005_def.yaml#/definitions/Link" - description: > - "This type represents the links to resources that a PNFD management - notification can contain." - NsdOnBoardingNotification: - type: "object" - required: - - "_links" - - "id" - - "notificationType" - - "nsdId" - - "nsdInfoId" - - "timeStamp" - properties: - id: - $ref: "SOL005_def.yaml#/definitions/Identifier" - notificationType: - type: "string" - description: > - "Discriminator for the different notification types. Shall be - set to "NsdOnboardingNotification" for this notification type." - subscriptionId: - $ref: "SOL005_def.yaml#/definitions/Identifier" - timeStamp: - description: > - Date-time of the generation of the notification. - $ref: "SOL005_def.yaml#/definitions/DateTime" - nsdInfoId: - $ref: "SOL005_def.yaml#/definitions/Identifier" - nsdId: - $ref: "SOL005_def.yaml#/definitions/Identifier" - _links: - $ref: "#/definitions/NsdmLinks" - description: > - "This type represents an NSD management notification, which informs - the receiver of the successful on-boarding of an NSD. It shall comply with - the provisions defined in Table 5.5.2.9-1. The support of this notification - is mandatory. The notification shall be triggered by the NFVO when the " - nsdOnboardingState" attribute of a new NSD has changed to "ONBOARDED"." - NsdOnBoardingFailureNotification: - type: "object" - required: - - "_links" - - "id" - - "notificationType" - - "nsdInfoId" - - "onboardingFailureDetails" - - "timeStamp" - properties: - id: - $ref: "SOL005_def.yaml#/definitions/Identifier" - notificationType: - type: "string" - description: > - "Discriminator for the different notification types. Shall be - set to "NsdOnboardingFailureNotification" for this notification type." - subscriptionId: - $ref: "SOL005_def.yaml#/definitions/Identifier" - timeStamp: - description: > - Date-time of the generation of the notification. - $ref: "SOL005_def.yaml#/definitions/DateTime" - nsdInfoId: - $ref: "SOL005_def.yaml#/definitions/Identifier" - nsdId: - $ref: "SOL005_def.yaml#/definitions/Identifier" - onboardingFailureDetails: - $ref: "SOL005_def.yaml#/definitions/ProblemDetails" - _links: - $ref: "#/definitions/NsdmLinks" - description: > - "This type represents an NSD management notification, which informs - the receiver of the failure of on-boarding an NSD. It shall comply with the - provisions defined in Table 5.5.2.10-1. The support of this notification is - mandatory. The notification shall be triggered by the NFVO when the on-boarding - of an NSD has failed." - NsdChangeNotification: - type: "object" - required: - - "_links" - - "id" - - "notificationType" - - "nsdId" - - "nsdInfoId" - - "nsdOperationalState" - - "timeStamp" - properties: - id: - $ref: "SOL005_def.yaml#/definitions/Identifier" - notificationType: - type: "string" - description: > - "Discriminator for the different notification types. Shall be - set to "NsdChangeNotification" for this notification type." - subscriptionId: - $ref: "SOL005_def.yaml#/definitions/Identifier" - timeStamp: - description: > - Date-time of the generation of the notification. - $ref: "SOL005_def.yaml#/definitions/DateTime" - nsdInfoId: - $ref: "SOL005_def.yaml#/definitions/Identifier" - nsdId: - $ref: "SOL005_def.yaml#/definitions/Identifier" - nsdOperationalState: - $ref: "#/definitions/NsdOperationalStateType" - _links: - $ref: "#/definitions/NsdmLinks" - description: > - "This type represents an NSD management notification, which informs - the receiver of a change of the "nsdOperationalState" attribute of an on-boarded - NSD. Changes in the value of the "nsdUsageState" and "nsdOnboardingState" - attributes are not reported. The notification shall comply with the provisions - defined in Table 5.5.2.11-1. The support of this notification is mandatory. - The notification shall be triggered by the NFVO when the value of the "nsdOperationalState" - attribute has changed, and the "nsdOperationalState" attribute has the value - "ONBOARDED"." - NsdDeletionNotification: - type: "object" - required: - - "_links" - - "id" - - "notificationType" - - "nsdId" - - "nsdInfoId" - - "timeStamp" - properties: - id: - $ref: "SOL005_def.yaml#/definitions/Identifier" - notificationType: - type: "string" - description: > - "Discriminator for the different notification types. Shall be - set to "NsdDeletionNotification " for this notification type." - subscriptionId: - $ref: "SOL005_def.yaml#/definitions/Identifier" - timeStamp: - description: > - Date-time of the generation of the notification. - $ref: "SOL005_def.yaml#/definitions/DateTime" - nsdInfoId: - $ref: "SOL005_def.yaml#/definitions/Identifier" - nsdId: - $ref: "SOL005_def.yaml#/definitions/Identifier" - _links: - $ref: "#/definitions/NsdmLinks" - description: > - "This type represents an NSD management notification, which informs - the receiver of the deletion of an on-boarded NSD. The notification shall - comply with the provisions defined in Table 5.5.2.12-1. The support of this - notification is mandatory. The notification shall be triggered by the NFVO - when it has deleted an on-boarded NSD." - PnfdOnBoardingNotification: - type: "object" - required: - - "_links" - - "id" - - "notificationType" - - "pnfdId" - - "pnfdInfoId" - - "timeStamp" - properties: - id: - $ref: "SOL005_def.yaml#/definitions/Identifier" - notificationType: - type: "string" - description: > - "Discriminator for the different notification types. Shall be - set to "PnfdOnboardingNotification" for this notification type." - subscriptionId: - $ref: "SOL005_def.yaml#/definitions/Identifier" - timeStamp: - description: > - Date-time of the generation of the notification. - $ref: "SOL005_def.yaml#/definitions/DateTime" - pnfdInfoId: - $ref: "SOL005_def.yaml#/definitions/Identifier" - pnfdId: - $ref: "SOL005_def.yaml#/definitions/Identifier" - _links: - $ref: "#/definitions/PnfdmLinks" - description: > - "This type represents a PNFD management notification, which informs - the receiver of the successful on-boarding of aPNFD. It shall comply with - the provisions defined in Table 5.5.2.13-1. The support of this notification - is mandatory. The notification is triggered when a new PNFD is on-boarded." - PnfdOnBoardingFailureNotification: - type: "object" - required: - - "_links" - - "id" - - "notificationType" - - "onboardingFailureDetails" - - "pnfdInfoId" - - "timeStamp" - properties: - id: - $ref: "SOL005_def.yaml#/definitions/Identifier" - notificationType: - type: "string" - description: > - "Discriminator for the different notification types. Shall be - set to "PnfdOnboardingFailureNotification" for this notification type." - subscriptionId: - $ref: "SOL005_def.yaml#/definitions/Identifier" - timeStamp: - description: > - Date-time of the generation of the notification. - $ref: "SOL005_def.yaml#/definitions/DateTime" - pnfdInfoId: - $ref: "SOL005_def.yaml#/definitions/Identifier" - pnfdId: - $ref: "SOL005_def.yaml#/definitions/Identifier" - onboardingFailureDetails: - $ref: "SOL005_def.yaml#/definitions/ProblemDetails" - _links: - $ref: "#/definitions/PnfdmLinks" - description: > - "This type represents a PNFD management notification, which informs - the receiver of the failure of on-boarding a PNFD. It shall comply with - the provisions defined in Table 5.5.2.14-1. The support of this notification - is mandatory. The notification is triggered when the on-boarding of a PNFD - fails." - PnfdDeletionNotification: - type: "object" - required: - - "_links" - - "id" - - "notificationType" - - "pnfdId" - - "pnfdInfoId" - - "timeStamp" - properties: - id: - type: "string" - description: > - "Identifier of this notification. If a notification is sent multiple - times due to multiple subscriptions, the "id" attribute of all these - notifications shall have the same value." - notificationType: - type: "string" - description: > - "Discriminator for the different notification types. Shall be - set to "PnfdDeletionNotification " for this notification type." - subscriptionId: - $ref: "SOL005_def.yaml#/definitions/Identifier" - timeStamp: - description: > - Date-time of the generation of the notification. - $ref: "SOL005_def.yaml#/definitions/DateTime" - pnfdInfoId: - $ref: "SOL005_def.yaml#/definitions/Identifier" - pnfdId: - $ref: "SOL005_def.yaml#/definitions/Identifier" - _links: - $ref: "#/definitions/PnfdmLinks" - description: > - "This type represents a PNFD management notification, which informs - the receiver of the deletion of an on-boarded PNFD. The notification shall - comply with the provisions defined in Table 5.5.2.15-1. The support of this - notification is mandatory. The notification is triggered when an on-boarded - PNFD is deleted." \ No newline at end of file + PnfdUsageStateType: + type: string + description: > + The enumeration PnfdUsageStateType shall comply with the provisions + defined in Table 5.5.4.7-1 of GS NFV-SOL005. It indicates the usage state + of the resource.IN-USE = The resource is in use.NOT_IN_USE = The resource + is not-in-use. + enum: + - IN_USE + - NOT_IN_USE \ No newline at end of file diff --git a/src/SOL005/NSDManagement/definitions/SOL005_def.yaml b/src/SOL005/NSDManagement/definitions/SOL005_def.yaml deleted file mode 100644 index efc9b178e478beae91f2daf7f2368408eccb56b2..0000000000000000000000000000000000000000 --- a/src/SOL005/NSDManagement/definitions/SOL005_def.yaml +++ /dev/null @@ -1,102 +0,0 @@ -# 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 - Link: - description: > - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: > - URI of the referenced resource. - type: string - format: url - 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 diff --git a/src/SOL005/NSDManagement/responses/NSDescriptorManagement_resp.yaml b/src/SOL005/NSDManagement/responses/NSDescriptorManagement_resp.yaml deleted file mode 100644 index 97eaac7c4d049c686c63db1cbfbce8c3286a023d..0000000000000000000000000000000000000000 --- a/src/SOL005/NSDManagement/responses/NSDescriptorManagement_resp.yaml +++ /dev/null @@ -1,292 +0,0 @@ - responses: - 202-with-Location: - description: > - Accepted - - The request was accepted for processing, but the processing has not - been completed. The response body shall be empty. - The HTTP response shall include a "Location" HTTP - header that contains the URI of the newly-created - "NS lifecycle operation occurrence" resource - corresponding to the operation. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Location: - description: The resource URI of the created NS instance - type: string - format: url - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - $ref: "../definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsInstance" - 202-with-Location-empty: - description: > - Accepted - - The request was accepted for processing, but the processing has not - been completed. On success, the HTTP response shall include a - "Location" HTTP header that contains the URI of the newly-created - "NS Descriptor operation occurrence" resource corresponding to the - operation. - The response body shall be empty. - headers: - Location: - description: The resource URI of the created NS instance - type: string - format: url - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - 409: - description: > - Conflict - - Error: The operation cannot be executed currently, - due to a conflict with the state of the resource. - Typically, this is due to the fact the NS descriptor - resource is in the enabled operational state (i.e. - operationalState = ENABLED) or there are running - NS instances using the concerned individual 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. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 409-another-nsd-operation-ongoing: - description: > - Conflict - - The operation cannot be executed currently, due to a conflict with the - state of the NS instance resource. - Typically, this is due to the fact that another Descriptor operation is - ongoing. - The response body shall 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 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 409-inconsistent-state: - description: > - Conflict - - Another request is in progress that prohibits the fulfillment of - the current request, or the current resource state is inconsistent - with the request. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 409-state-conflict-INSTANTIATED: - description: > - Conflict - - The operation cannot be executed currently, due to a conflict with the - state of the NS instance resource. - Typically, this is due to the fact that the NS instance resource is in - INSTANTIATED state. - The response body shall 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 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 409-state-conflict-not-FAILED_TEMP: - description: > - The operation cannot be executed currently, due to a conflict with the - state of the NS instance resource. - Typically, this is due to the fact that the NS instance resource is - not in FAILED_TEMP state, or another error handling action is starting, - such as rollback or fail. - The response body shall 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 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 409-state-conflict-NOT-INSTANTIATED: - description: > - Conflict - - The operation cannot be executed currently, due to a conflict with the - state of the NS instance resource. - Typically, this is due to the fact that the NS instance resource is in - NOT-INSTANTIATED state, or that another lifecycle management operation - is ongoing. - The response body shall 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 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 409-nsd-onboarding-state-NOT-ONBOARDED: - description: > - Conflict - - Error: The operation cannot be executed currently, - due to a conflict with the state of the resource. - 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. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 409-pnfd-onboarding-state-NOT-ONBOARDED: - description: > - Conflict - - Error: The operation cannot be executed currently, - due to a conflict with the state of the resource. - 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. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 409-pnfd-onboarding-state-NOT-CREATED: - description: > - Conflict. - - Error: The operation cannot be executed currently, - due to a conflict with the state of the resource. - 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. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" \ No newline at end of file diff --git a/src/SOL005/NSDManagement/responses/SOL005_resp.yaml b/src/SOL005/NSDManagement/responses/SOL005_resp.yaml deleted file mode 100644 index 63de4a652c8fc2b7589f9e5a6ea4eb2cf9ce0a1e..0000000000000000000000000000000000000000 --- a/src/SOL005/NSDManagement/responses/SOL005_resp.yaml +++ /dev/null @@ -1,417 +0,0 @@ - # Copyright (c) ETSI 2017. - # https://forge.etsi.org/etsi-forge-copyright-notice.txt - responses: - 202: - description: > - Accepted - - The request was accepted for processing, but processing has not - been completed. The response shall have an empty payload body. - headers: - Location: - description: The resource URI of the created NS instance - type: string - format: url - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - 202-with-Location: - description: > - Accepted - - The request was accepted for processing, but the processing has not - been completed. On success, the HTTP response shall include a - "Location" HTTP header that contains the URI of the newly-created - "NS LCM operation occurrence" resource corresponding to the - operation. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Location: - description: The resource URI of the created NS instance - type: string - format: url - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - 206: - description: > - Partial Content. - - On success, if the NFVO supports range requests, a - single consecutive byte range from the content of the - NSD file is returned. - 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 [23]. - The "Content-Type" HTTP header shall be set as - defined above for the "200 OK" response. - headers: - Content-Range: - type: "string" - Content-Type: - type: "string" - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 303: - description: > - See Other - A subscription with the same callbackURI and the same filter already - exists and the policy of the VNFM 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. - 400: - description: > - Bad Request - - Error: Invalid attribute-based filtering parameters. - The response body shall 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 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 400-attr-based-filtering-error: - description: > - Bad Request - Invalid attribute-based filtering parameters or Invalid attribute - selector. - It the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, - and should include in the "detail" attribute more information about - the source of the problem. - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall - be returned in the WWW-Authenticate HTTP header, as defined in - IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - 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 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 400-attr-selector: - description: > - Error: Invalid attribute selector. - The response body shall 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 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 401: - description: > - Unauthorized - If the request contains no access token even though one is - required, or if the request contains an authorization token that - is invalid (e.g. expired or revoked), the API producer should - respond with this response. The details of the error shall be - returned in the WWW-Authenticate HTTP header, as defined in - IETF RFC 6750 and IETF RFC 7235. The ProblemDetails - structure may be provided. - headers: - Content-Type: - type: string - description: The MIME type of the body of the response. - 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. - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 403: - description: > - Forbidden - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. - It should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - 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" - 404: - description: > - Not Found - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. - The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source - of the problem, e.g. a wrong resource URI variable. - 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" - 404-task-resource-not-exists: - description: > - Not Found - Error: The API producer did not find a current representation for the - target resource or is not willing to disclose that one exists. - Specifically in case of this task resource, the response code 404 shall - also returned if the task is not supported for the NS instance - represented by the parent resource, which means that the task resource - consequently does not exist. - In this case, the response body shall be present, and shall contain a - ProblemDetails structure, in which the "detail" attribute shall 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 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 404-task-resource-not-exists-NSD: - description: > - Not Found - Error: The API producer did not find a current representation for the - target resource or is not willing to disclose that one exists. - Specifically in case of this task resource, the response code 404 shall - also be returned if the task is not supported for the NS LCM operation - occurrence represented by the parent resource, which means that the task - resource consequently does not exist. - In this case, the response body shall be present, and shall contain a - ProblemDetails structure, in which the "detail" attribute shall 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 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 404-task-not-suported: - description: > - Not Found - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. - Specifically in case of this task resource, the reason can also be that - the task is not supported for the NS instance represented by the parent - resource, and that the task resource consequently does not exist. - The "ProblemDetails" structure may be provided, including in the - "detail" attribute information about the sourceof the problem, e.g. a - wrong resource URI variable. - 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" - 404-task-not-suported-NSD: - description: > - Not Found - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. - Specifically in case of this task resource, the reason can also be that - the task is not supported for the NS LCM operation occurrence - represented by the parent resource, and that the task resource - consequently does not exist. - The "ProblemDetails" structure may be provided, including in the - "detail" attribute information about the source of the problem, e.g. a - wrong resource URI variable. - 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" - 405: - description: > - Method Not Allowed - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted in that case. - 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" - 406: - description: > - 406 Not Acceptable - - If the "Accept" header does not contain at least one - name of a content type for which the NFVO can - provide a representation of the NSD, the NFVO shall - respond with this response code. - The "ProblemDetails" structure may be included with - the "detail" attribute providing more information about - the error. - 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" - 412: - description: > - 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: - 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" - 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" - 422: - description: > - Unprocessable Entity - If the payload body of a request contains syntactically correct - data (e.g. well-formed JSON) but the data cannot be processed - (e.g. because it fails validation against a schema), the API - producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include - in the "detail" attribute more information about the source of the - problem. - NOTE 2: This error response code is only applicable for methods - that have a request body. - 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" - 500: - description: > - Internal Server Error - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code - ("catch all error"), the API producer shall respond with this - response code. The ProblemDetails structure shall be provided, - and shall include in the "detail" attribute more information about - the source of the problem. - 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" - 503: - description: > - Service Unavailable - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the Retry-After HTTP header and for the alternative - to refuse the connection. The "ProblemDetails" structure may be omitted. - 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 diff --git a/src/SOL005/NSDManagementNotification/NSDManagementNotification.yaml b/src/SOL005/NSDManagementNotification/NSDManagementNotification.yaml new file mode 100644 index 0000000000000000000000000000000000000000..c2ce4a7608868633e950f65c30ce4bf124116baa --- /dev/null +++ b/src/SOL005/NSDManagementNotification/NSDManagementNotification.yaml @@ -0,0 +1,1066 @@ +swagger: "2.0" + +info: + version: "1.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" + title: SOL005 - NSD Management Notification interface + description: > + SOL005 - NSD Management Notification 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 https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + license: + name: "ETSI Forge copyright notice" + url: https://forge.etsi.org/etsi-forge-copyright-notice.txt + +externalDocs: + description: ETSI GS NFV-SOL 005 V2.5.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.05.01_60/gs_NFV-SOL005v020501p.pdf + +basePath: /callback/v1 + +schemes: + - http + - https + +consumes: + - application/json +produces: + - application/json + +paths: + ############################################################################### + # Notification endpoint NsdOnBoardingNotification # + ############################################################################### + '/URI_is_provided_by_the_client_when_creating_the_subscription_NsdOnBoardingNotification': + 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: Notify about NSD and PNFD changes + description: > + This resource represents a notification endpoint. The server can use + this resource to send notifications to a subscribed + client, which has provided the URI of this resource during the subscription process. + + 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 Table 5.4.10.3.1-2. + parameters: + - name: NsdOnBoardingNotification + description: > + A notification about the successful on-boarding of an NSD. + in: body + required: true + schema: + $ref: "definitions/SOL005NSDescriptorManagementNotification_def.yaml#/definitions/NsdOnBoardingNotification" + - 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 + responses: + 204: + description: > + 204 NO CONTENT + + The notification was delivered successfully. + 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 + 400: + $ref: "../responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../responses/SOL005_resp.yaml#/responses/404" + 405: + $ref: "../responses/SOL005_resp.yaml#/responses/405" + 406: + $ref: "../responses/SOL005_resp.yaml#/responses/406" + 500: + $ref: "../responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../responses/SOL005_resp.yaml#/responses/503" + + get: + summary: Test the notification endpoint + description: > + This resource represents a notification endpoint. The server can use + this resource to send notifications to a subscribed + client, which has provided the URI of this resource during the subscription process. + + The GET method allows the server to test the notification endpoint + that is provided by the client, e.g. during subscription. + This method shall follow the provisions specified in the Table 5.4.10.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. + Reference: IETF RFC 7231. + in: header + required: true + type: string + responses: + 204: + description: > + 204 NO CONTENT + + The notification endpoint was tested 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 + 400: + $ref: "../responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../responses/SOL005_resp.yaml#/responses/404" + 405: + $ref: "../responses/SOL005_resp.yaml#/responses/405" + 406: + $ref: "../responses/SOL005_resp.yaml#/responses/406" + 500: + $ref: "../responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../responses/SOL005_resp.yaml#/responses/503" + + ############################################################################### + # Notification endpoint NsdOnBoardingFailureNotification # + ############################################################################### + '/URI_is_provided_by_the_client_when_creating_the_subscription_NsdOnBoardingFailureNotification': + 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: Notify about NSD and PNFD changes + description: > + This resource represents a notification endpoint. The server can use + this resource to send notifications to a subscribed + client, which has provided the URI of this resource during the subscription process. + + 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 Table 5.4.10.3.1-2. + parameters: + - name: NsdOnBoardingFailureNotification + description: > + A notification about the failure of on-boarding an NSD. + in: body + required: true + schema: + $ref: "definitions/SOL005NSDescriptorManagementNotification_def.yaml#/definitions/NsdOnBoardingFailureNotification" + - 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 + responses: + 204: + description: > + 204 NO CONTENT + + The notification was delivered successfully. + 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 + 400: + $ref: "../responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../responses/SOL005_resp.yaml#/responses/404" + 405: + $ref: "../responses/SOL005_resp.yaml#/responses/405" + 406: + $ref: "../responses/SOL005_resp.yaml#/responses/406" + 500: + $ref: "../responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../responses/SOL005_resp.yaml#/responses/503" + + get: + summary: Test the notification endpoint + description: > + This resource represents a notification endpoint. The server can use + this resource to send notifications to a subscribed + client, which has provided the URI of this resource during the subscription process. + + The GET method allows the server to test the notification endpoint + that is provided by the client, e.g. during subscription. + This method shall follow the provisions specified in the Table 5.4.10.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. + Reference: IETF RFC 7231. + in: header + required: true + type: string + responses: + 204: + description: > + 204 NO CONTENT + + The notification endpoint was tested 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 + 400: + $ref: "../responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../responses/SOL005_resp.yaml#/responses/404" + 405: + $ref: "../responses/SOL005_resp.yaml#/responses/405" + 406: + $ref: "../responses/SOL005_resp.yaml#/responses/406" + 500: + $ref: "../responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../responses/SOL005_resp.yaml#/responses/503" + + ############################################################################### + # Notification endpoint NsdChangeNotification # + ############################################################################### + '/URI_is_provided_by_the_client_when_creating_the_subscription_NsdChangeNotification': + 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: Notify about NSD and PNFD changes + description: > + This resource represents a notification endpoint. The server can use + this resource to send notifications to a subscribed + client, which has provided the URI of this resource during the subscription process. + + 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 Table 5.4.10.3.1-2. + parameters: + - name: NsdChangeNotification + description: > + A notification about the state change of an on-boarded NSD. + in: body + required: true + schema: + $ref: "definitions/SOL005NSDescriptorManagementNotification_def.yaml#/definitions/NsdChangeNotification" + - 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 + responses: + 204: + description: > + 204 NO CONTENT + + The notification was delivered successfully. + 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 + 400: + $ref: "../responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../responses/SOL005_resp.yaml#/responses/404" + 405: + $ref: "../responses/SOL005_resp.yaml#/responses/405" + 406: + $ref: "../responses/SOL005_resp.yaml#/responses/406" + 500: + $ref: "../responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../responses/SOL005_resp.yaml#/responses/503" + + get: + summary: Test the notification endpoint + description: > + This resource represents a notification endpoint. The server can use + this resource to send notifications to a subscribed + client, which has provided the URI of this resource during the subscription process. + + The GET method allows the server to test the notification endpoint + that is provided by the client, e.g. during subscription. + This method shall follow the provisions specified in the Table 5.4.10.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. + Reference: IETF RFC 7231. + in: header + required: true + type: string + responses: + 204: + description: > + 204 NO CONTENT + + The notification endpoint was tested 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 + 400: + $ref: "../responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../responses/SOL005_resp.yaml#/responses/404" + 405: + $ref: "../responses/SOL005_resp.yaml#/responses/405" + 406: + $ref: "../responses/SOL005_resp.yaml#/responses/406" + 500: + $ref: "../responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../responses/SOL005_resp.yaml#/responses/503" + + ############################################################################### + # Notification endpoint NsdDeletionNotification # + ############################################################################### + '/URI_is_provided_by_the_client_when_creating_the_subscription_NsdDeletionNotification': + 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: Notify about NSD and PNFD changes + description: > + This resource represents a notification endpoint. The server can use + this resource to send notifications to a subscribed + client, which has provided the URI of this resource during the subscription process. + + 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 Table 5.4.10.3.1-2. + parameters: + - name: NsdDeletionNotification + description: > + A notification about the deletion of an on-boarded NSD. + in: body + required: true + schema: + $ref: "definitions/SOL005NSDescriptorManagementNotification_def.yaml#/definitions/NsdDeletionNotification" + - 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 + responses: + 204: + description: > + 204 NO CONTENT + + The notification was delivered successfully. + 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 + 400: + $ref: "../responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../responses/SOL005_resp.yaml#/responses/404" + 405: + $ref: "../responses/SOL005_resp.yaml#/responses/405" + 406: + $ref: "../responses/SOL005_resp.yaml#/responses/406" + 500: + $ref: "../responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../responses/SOL005_resp.yaml#/responses/503" + + get: + summary: Test the notification endpoint + description: > + This resource represents a notification endpoint. The server can use + this resource to send notifications to a subscribed + client, which has provided the URI of this resource during the subscription process. + + The GET method allows the server to test the notification endpoint + that is provided by the client, e.g. during subscription. + This method shall follow the provisions specified in the Table 5.4.10.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. + Reference: IETF RFC 7231. + in: header + required: true + type: string + responses: + 204: + description: > + 204 NO CONTENT + + The notification endpoint was tested 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 + 400: + $ref: "../responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../responses/SOL005_resp.yaml#/responses/404" + 405: + $ref: "../responses/SOL005_resp.yaml#/responses/405" + 406: + $ref: "../responses/SOL005_resp.yaml#/responses/406" + 500: + $ref: "../responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../responses/SOL005_resp.yaml#/responses/503" + + ############################################################################### + # Notification endpoint PnfdOnBoardingNotification # + ############################################################################### + '/URI_is_provided_by_the_client_when_creating_the_subscription_PnfdOnBoardingNotification': + 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: Notify about NSD and PNFD changes + description: > + This resource represents a notification endpoint. The server can use + this resource to send notifications to a subscribed + client, which has provided the URI of this resource during the subscription process. + + 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 Table 5.4.10.3.1-2. + parameters: + - name: PnfdOnBoardingNotification + description: > + A notification about the successful on-boarding of a PNFD. + in: body + required: true + schema: + $ref: "definitions/SOL005NSDescriptorManagementNotification_def.yaml#/definitions/PnfdOnBoardingNotification" + - 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 + responses: + 204: + description: > + 204 NO CONTENT + + The notification was delivered successfully. + 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 + 400: + $ref: "../responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../responses/SOL005_resp.yaml#/responses/404" + 405: + $ref: "../responses/SOL005_resp.yaml#/responses/405" + 406: + $ref: "../responses/SOL005_resp.yaml#/responses/406" + 500: + $ref: "../responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../responses/SOL005_resp.yaml#/responses/503" + + get: + summary: Test the notification endpoint + description: > + This resource represents a notification endpoint. The server can use + this resource to send notifications to a subscribed + client, which has provided the URI of this resource during the subscription process. + + The GET method allows the server to test the notification endpoint + that is provided by the client, e.g. during subscription. + This method shall follow the provisions specified in the Table 5.4.10.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. + Reference: IETF RFC 7231. + in: header + required: true + type: string + responses: + 204: + description: > + 204 NO CONTENT + + The notification endpoint was tested 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 + 400: + $ref: "../responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../responses/SOL005_resp.yaml#/responses/404" + 405: + $ref: "../responses/SOL005_resp.yaml#/responses/405" + 406: + $ref: "../responses/SOL005_resp.yaml#/responses/406" + 500: + $ref: "../responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../responses/SOL005_resp.yaml#/responses/503" + + ############################################################################### + # Notification endpoint PnfdOnBoardingFailureNotification # + ############################################################################### + '/URI_is_provided_by_the_client_when_creating_the_subscription_PnfdOnBoardingFailureNotification': + 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: Notify about NSD and PNFD changes + description: > + This resource represents a notification endpoint. The server can use + this resource to send notifications to a subscribed + client, which has provided the URI of this resource during the subscription process. + + 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 Table 5.4.10.3.1-2. + parameters: + - name: PnfdOnBoardingFailureNotification + description: > + A notification about the failure of on-boarding a PNFD. + in: body + required: true + schema: + $ref: "definitions/SOL005NSDescriptorManagementNotification_def.yaml#/definitions/PnfdOnBoardingFailureNotification" + - 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 + responses: + 204: + description: > + 204 NO CONTENT + + The notification was delivered successfully. + 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 + 400: + $ref: "../responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../responses/SOL005_resp.yaml#/responses/404" + 405: + $ref: "../responses/SOL005_resp.yaml#/responses/405" + 406: + $ref: "../responses/SOL005_resp.yaml#/responses/406" + 500: + $ref: "../responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../responses/SOL005_resp.yaml#/responses/503" + + get: + summary: Test the notification endpoint + description: > + This resource represents a notification endpoint. The server can use + this resource to send notifications to a subscribed + client, which has provided the URI of this resource during the subscription process. + + The GET method allows the server to test the notification endpoint + that is provided by the client, e.g. during subscription. + This method shall follow the provisions specified in the Table 5.4.10.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. + Reference: IETF RFC 7231. + in: header + required: true + type: string + responses: + 204: + description: > + 204 NO CONTENT + + The notification endpoint was tested 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 + 400: + $ref: "../responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../responses/SOL005_resp.yaml#/responses/404" + 405: + $ref: "../responses/SOL005_resp.yaml#/responses/405" + 406: + $ref: "../responses/SOL005_resp.yaml#/responses/406" + 500: + $ref: "../responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../responses/SOL005_resp.yaml#/responses/503" + + ############################################################################### + # Notification endpoint PnfdDeletionNotification # + ############################################################################### + '/URI_is_provided_by_the_client_when_creating_the_subscription_PnfdDeletionNotification': + 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: Notify about NSD and PNFD changes + description: > + This resource represents a notification endpoint. The server can use + this resource to send notifications to a subscribed + client, which has provided the URI of this resource during the subscription process. + + 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 Table 5.4.10.3.1-2. + parameters: + - name: PnfdDeletionNotification + description: > + A notification about the deletion of an on-boarded PNFD. + in: body + required: true + schema: + $ref: "definitions/SOL005NSDescriptorManagementNotification_def.yaml#/definitions/PnfdDeletionNotification" + - 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 + responses: + 204: + description: > + 204 NO CONTENT + + The notification was delivered successfully. + 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 + 400: + $ref: "../responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../responses/SOL005_resp.yaml#/responses/404" + 405: + $ref: "../responses/SOL005_resp.yaml#/responses/405" + 406: + $ref: "../responses/SOL005_resp.yaml#/responses/406" + 500: + $ref: "../responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../responses/SOL005_resp.yaml#/responses/503" + + get: + summary: Test the notification endpoint + description: > + This resource represents a notification endpoint. The server can use + this resource to send notifications to a subscribed + client, which has provided the URI of this resource during the subscription process. + + The GET method allows the server to test the notification endpoint + that is provided by the client, e.g. during subscription. + This method shall follow the provisions specified in the Table 5.4.10.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. + Reference: IETF RFC 7231. + in: header + required: true + type: string + responses: + 204: + description: > + 204 NO CONTENT + + The notification endpoint was tested 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 + 400: + $ref: "../responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../responses/SOL005_resp.yaml#/responses/404" + 405: + $ref: "../responses/SOL005_resp.yaml#/responses/405" + 406: + $ref: "../responses/SOL005_resp.yaml#/responses/406" + 500: + $ref: "../responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../responses/SOL005_resp.yaml#/responses/503" \ No newline at end of file diff --git a/src/SOL005/NSDManagementNotification/definitions/SOL005NSDescriptorManagementNotification_def.yaml b/src/SOL005/NSDManagementNotification/definitions/SOL005NSDescriptorManagementNotification_def.yaml new file mode 100644 index 0000000000000000000000000000000000000000..5b4568c3a9d68f78d29409a672f38635dddcf5b8 --- /dev/null +++ b/src/SOL005/NSDManagementNotification/definitions/SOL005NSDescriptorManagementNotification_def.yaml @@ -0,0 +1,302 @@ +# Copyright (c) ETSI 2017. +# https://forge.etsi.org/etsi-forge-copyright-notice.txt +definitions: + NsdOnBoardingNotification: + type: object + required: + - _links + - id + - notificationType + - subscriptionId + - nsdId + - nsdInfoId + - timeStamp + properties: + id: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + notificationType: + type: string + description: > + Discriminator for the different notification types. Shall be + set to "NsdOnboardingNotification" for this notification type. + subscriptionId: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + timeStamp: + description: > + Date-time of the generation of the notification. + $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" + nsdInfoId: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + nsdId: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + _links: + $ref: "#/definitions/NsdmLinks" + description: > + This type represents an NSD management notification, which informs + the receiver of the successful on-boarding of an NSD. It shall comply with + the provisions defined in Table 5.5.2.9-1. The support of this notification + is mandatory. The notification shall be triggered by the NFVO when the " + nsdOnboardingState" attribute of a new NSD has changed to "ONBOARDED". + + NsdOnBoardingFailureNotification: + type: object + required: + - _links + - id + - notificationType + - subscriptionId + - nsdInfoId + - onboardingFailureDetails + - timeStamp + properties: + id: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + notificationType: + type: string + description: > + Discriminator for the different notification types. Shall be + set to "NsdOnboardingFailureNotification" for this notification type. + subscriptionId: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + timeStamp: + description: > + Date-time of the generation of the notification. + $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" + nsdInfoId: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + nsdId: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + onboardingFailureDetails: + $ref: "../../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + _links: + $ref: "#/definitions/NsdmLinks" + description: > + This type represents an NSD management notification, which informs + the receiver of the failure of on-boarding an NSD. It shall comply with the + provisions defined in Table 5.5.2.10-1. The support of this notification is + mandatory. The notification shall be triggered by the NFVO when the on-boarding + of an NSD has failed. + + NsdChangeNotification: + type: object + required: + - _links + - id + - notificationType + - subscriptionId + - nsdId + - nsdInfoId + - nsdOperationalState + - timeStamp + properties: + id: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + notificationType: + type: string + description: > + Discriminator for the different notification types. Shall be + set to "NsdChangeNotification" for this notification type. + subscriptionId: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + timeStamp: + description: > + Date-time of the generation of the notification. + $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" + nsdInfoId: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + nsdId: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + nsdOperationalState: + $ref: "../../NSDManagement/definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdOperationalStateType" + _links: + $ref: "#/definitions/NsdmLinks" + description: > + This type represents an NSD management notification, which informs + the receiver of a change of the "nsdOperationalState" attribute of an on-boarded + NSD. Changes in the value of the "nsdUsageState" and "nsdOnboardingState" + attributes are not reported. The notification shall comply with the provisions + defined in Table 5.5.2.11-1. The support of this notification is mandatory. + The notification shall be triggered by the NFVO when the value of the "nsdOperationalState" + attribute has changed, and the "nsdOperationalState" attribute has the value + "ONBOARDED". + + NsdDeletionNotification: + type: object + required: + - _links + - id + - notificationType + - subscriptionId + - nsdId + - nsdInfoId + - timeStamp + properties: + id: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + notificationType: + type: string + description: > + Discriminator for the different notification types. Shall be + set to "NsdDeletionNotification " for this notification type. + subscriptionId: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + timeStamp: + description: > + Date-time of the generation of the notification. + $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" + nsdInfoId: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + nsdId: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + _links: + $ref: "#/definitions/NsdmLinks" + description: > + This type represents an NSD management notification, which informs + the receiver of the deletion of an on-boarded NSD. The notification shall + comply with the provisions defined in Table 5.5.2.12-1. The support of this + notification is mandatory. The notification shall be triggered by the NFVO + when it has deleted an on-boarded NSD. + + PnfdOnBoardingNotification: + type: object + required: + - _links + - id + - notificationType + - subscriptionId + - pnfdId + - pnfdInfoId + - timeStamp + properties: + id: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + notificationType: + type: string + description: > + Discriminator for the different notification types. Shall be + set to "PnfdOnboardingNotification" for this notification type. + subscriptionId: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + timeStamp: + description: > + Date-time of the generation of the notification. + $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" + pnfdInfoId: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + pnfdId: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + _links: + $ref: "#/definitions/PnfdmLinks" + description: > + This type represents a PNFD management notification, which informs + the receiver of the successful on-boarding of aPNFD. It shall comply with + the provisions defined in Table 5.5.2.13-1. The support of this notification + is mandatory. The notification is triggered when a new PNFD is on-boarded. + + PnfdOnBoardingFailureNotification: + type: object + required: + - _links + - id + - notificationType + - subscriptionId + - onboardingFailureDetails + - pnfdInfoId + - timeStamp + properties: + id: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + notificationType: + type: string + description: > + Discriminator for the different notification types. Shall be + set to "PnfdOnboardingFailureNotification" for this notification type. + subscriptionId: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + timeStamp: + description: > + Date-time of the generation of the notification. + $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" + pnfdInfoId: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + pnfdId: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + onboardingFailureDetails: + $ref: "../../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + _links: + $ref: "#/definitions/PnfdmLinks" + description: > + This type represents a PNFD management notification, which informs + the receiver of the failure of on-boarding a PNFD. It shall comply with + the provisions defined in Table 5.5.2.14-1. The support of this notification + is mandatory. The notification is triggered when the on-boarding of a PNFD + fails. + + PnfdDeletionNotification: + type: object + required: + - _links + - id + - notificationType + - subscriptionId + - pnfdId + - pnfdInfoId + - timeStamp + properties: + id: + type: string + description: > + Identifier of this notification. If a notification is sent multiple + times due to multiple subscriptions, the "id" attribute of all these + notifications shall have the same value. + notificationType: + type: string + description: > + Discriminator for the different notification types. Shall be + set to "PnfdDeletionNotification " for this notification type. + subscriptionId: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + timeStamp: + description: > + Date-time of the generation of the notification. + $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" + pnfdInfoId: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + pnfdId: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + _links: + $ref: "#/definitions/PnfdmLinks" + description: > + This type represents a PNFD management notification, which informs + the receiver of the deletion of an on-boarded PNFD. The notification shall + comply with the provisions defined in Table 5.5.2.15-1. The support of this + notification is mandatory. The notification is triggered when an on-boarded + PNFD is deleted. + + NsdmLinks: + type: object + required: + - nsdInfo + - subscription + properties: + nsdInfo: + $ref: "../../definitions/SOL005_def.yaml#/definitions/NotificationLink" + subscription: + $ref: "../../definitions/SOL005_def.yaml#/definitions/NotificationLink" + description: > + This type represents the links to resources that an NSD management + notification can contain. + + PnfdmLinks: + type: object + required: + - pnfdInfo + - subscription + properties: + pnfdInfo: + $ref: "../../definitions/SOL005_def.yaml#/definitions/NotificationLink" + subscription: + $ref: "../../definitions/SOL005_def.yaml#/definitions/NotificationLink" + description: > + This type represents the links to resources that a PNFD management + notification can contain. \ No newline at end of file diff --git a/src/SOL005/NSFaultManagement/NSFaultManagement.yaml b/src/SOL005/NSFaultManagement/NSFaultManagement.yaml index 497d6e8d9f41c28189e33c4279b39ae66d75dd45..c835424fb3854efcd0408f971eae3f0bdcb9fd8e 100644 --- a/src/SOL005/NSFaultManagement/NSFaultManagement.yaml +++ b/src/SOL005/NSFaultManagement/NSFaultManagement.yaml @@ -1,8 +1,8 @@ swagger: "2.0" info: - version: "1.0.0" - title: SOL005 - NS Fault Management Interface + version: "1.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" + title: "SOL005 - NS Fault Management Interface" description: > SOL005 - NS Fault Management Interface IMPORTANT: Please note that this file might be not aligned to the current @@ -13,24 +13,45 @@ info: license: name: "ETSI Forge copyright notice" url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - contact: + contact: name: "NFV-SOL WG" externalDocs: - description: ETSI GS NFV-SOL 005 V2.4.1 - url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.04.01_60/gs_NFV-SOL005v020401p.pdf -basePath: "/nsfm/v1" + description: ETSI GS NFV-SOL 005 V2.5.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.05.01_60/gs_NFV-SOL005v020501p.pdf +basePath: /nsfm/v1 schemes: + - http - https consumes: - - "application/json" + - application/json produces: - - "application/json" + - application/json paths: -############################################################################### -# Alarms # -############################################################################### + ############################################################################### + # API Versions # + ############################################################################### + '/api-versions': + $ref: '../endpoints/SOL005_endpoints.yaml#/endpoints/api-versions' + + ############################################################################### + # Alarms # + ############################################################################### '/alarms': #ETSI GS NFV-SOL 005 V2.4.1 location: 8.4.2 + 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 get: summary: Query alarms related to NS instances. description: > @@ -38,16 +59,16 @@ paths: The client can use this method to retrieve information about the alarm list. parameters: - - name: "filter" - in: "query" + - name: filter + in: query required: false - type: "string" - description: > - Attribute-based filtering parameters according to clause 4.3.2. - The NFVO shall support receiving filtering parameters as part of the URI query string. - The OSS/BSS may supply filtering parameters. - The following attribute names shall be supported in attribute-based - filtering parameters: + type: string + description: > + Attribute-based filtering expression according to clause 4.3.2. + The NFVO shall support receiving this parameter as part of the URI query string. + The OSS/BSS may supply this parameter. + The following attribute names shall be supported by the NFVO in the filter + expression: - id - nsInstanceId - rootCauseFaultyComponent.faultyNestedNsInstanceId @@ -57,6 +78,13 @@ paths: - eventType - perceivedSeverity - probableCause + - name: nextpage_opaque_marker + in: query + 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 4.7.2.1 for this resource. + required: false + type: string - name: Accept description: > Content-Types that are acceptable for the response. @@ -64,20 +92,16 @@ paths: in: header required: true type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string responses: 200: description: > 200 OK - - The request has succeeded. + + Information about zero or more alarms was queried successfully. The response body shall contain the list of related alarms. + 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. headers: Content-Type: description: The MIME type of the body of the response. @@ -85,37 +109,49 @@ 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. maximum: 1 - minimum: 0 + minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + 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 schema: type: array items: properties: Alarm: - $ref: "definitions/SOL005NSFaultManagement_def.yaml#/definitions/Alarm" + $ref: "definitions/SOL005NSFaultManagement_def.yaml#/definitions/Alarm" 400: - $ref: "responses/SOL005_resp.yaml#/responses/400" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" - -############################################################################### -# Individual alarm # -############################################################################### + $ref: "../responses/SOL005_resp.yaml#/responses/503" + + ############################################################################### + # Individual alarm # + ############################################################################### '/alarms/{alarmId}': #ETSI GS NFV-SOL 005 V2.4.1 location: 8.4.3 parameters: @@ -129,6 +165,19 @@ paths: in: path type: string required: true + - 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: summary: Read individual alarm. description: > @@ -148,18 +197,11 @@ paths: in: header required: true type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - responses: + responses: 200: description: > 200 OK - + Information about an individual alarm was read successfully. The response body shall contain a representation of the individual alarm. @@ -170,78 +212,73 @@ 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. maximum: 1 - minimum: 0 + minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 schema: properties: Alarm: - $ref: "definitions/SOL005NSFaultManagement_def.yaml#/definitions/Alarm" + $ref: "definitions/SOL005NSFaultManagement_def.yaml#/definitions/Alarm" 400: - $ref: "responses/SOL005_resp.yaml#/responses/400" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" + $ref: "../responses/SOL005_resp.yaml#/responses/503" patch: summary: Acknowledge individual alarm. description: > Acknowledge Alarm - + This method modifies an individual alarm resource. parameters: - - name: "body" - in: "body" - required: true - schema: - type: "object" - required: - - "AlarmModifications" - properties: - AlarmModifications: - $ref: "definitions/SOL005NSFaultManagement_def.yaml#/definitions/AlarmModifications" - description: > + - name: body + in: body + required: true + schema: + $ref: "definitions/SOL005NSFaultManagement_def.yaml#/definitions/AlarmModifications" + description: > The parameter for the alarm modification, as defined in clause 8.5.2.8. - - 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 Content-Type header shall be set to - "application/merge-patch+json" according to - IETF RFC 7396. - in: header - required: true - type: string - enum: ["application/merge-patch+json"] + - 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 Content-Type header shall be set to + "application/merge-patch+json" according to + IETF RFC 7396. + in: header + required: true + type: string + enum: + - application/merge-patch+json responses: 200: description: > 200 OK - + The request was accepted and completed. The response body shall contain attribute modifications for an 'Individual alarm' resource (see clause 8.5.2.4). @@ -252,53 +289,74 @@ 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. maximum: 1 - minimum: 0 + minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 schema: properties: AlarmModifications: $ref: "definitions/SOL005NSFaultManagement_def.yaml#/definitions/AlarmModifications" 400: - $ref: "responses/SOL005_resp.yaml#/responses/400" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 409: - $ref: "responses/NSFManagement_resp.yaml#/responses/409-alarm-state-conflict" + $ref: "../responses/SOL005_resp.yaml#/responses/409" 412: - $ref: "responses/SOL005_resp.yaml#/responses/412" + $ref: "../responses/SOL005_resp.yaml#/responses/412" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" -############################################################################## -#Subscriptions # -############################################################################## + $ref: "../responses/SOL005_resp.yaml#/responses/503" + + ############################################################################## + #Subscriptions # + ############################################################################## '/subscriptions': #ETSI GS NFV-SOL 005 V2.4.1 location: 8.4.4 + 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 alarms related to NSs. - description: > + description: > The POST method creates a new subscription. - This method shall follow the provisions specified in the Tables 8.4.4.3.1-1 and 8.4.4.3.1-2 for URI query parameters, - request and response data structures, and response codes. + This method shall follow the provisions specified in the Tables 8.4.4.3.1-1 and 8.4.4.3.1-2 for URI query + parameters, request and response data structures, and response codes. Creation of two subscription resources with the same callbackURI 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 callbackUri 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 callbackUri). - parameters: + 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 callbackUri 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 callbackUri). + parameters: - name: Accept description: > Content-Types that are acceptable for the response. @@ -306,103 +364,99 @@ paths: in: header required: true type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - name: Content-Type description: > The MIME type of the body of the request. Reference: IETF RFC 7231 in: header required: true - type: string - - name: "body" - in: "body" + type: string + - name: body + in: body required: true schema: - type: "object" - required: - - "FmSubscriptionRequest" - properties: - FmSubscriptionRequest: - $ref: "definitions/SOL005NSFaultManagement_def.yaml#/definitions/FmSubscriptionRequest" - description: > - Details of the subscription to be created, as defined in clause 8.5.2.2. - + $ref: "definitions/SOL005NSFaultManagement_def.yaml#/definitions/FmSubscriptionRequest" + description: > + Details of the subscription to be created, as defined in clause 8.5.2.2. responses: 201: 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" - properties: - FmSubscription: - $ref: "definitions/SOL005NSFaultManagement_def.yaml#/definitions/FmSubscription" + $ref: "definitions/SOL005NSFaultManagement_def.yaml#/definitions/FmSubscription" headers: Content-Type: - type: "string" + 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. maximum: 1 - minimum: 0 + minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 303: - $ref: "responses/SOL005_resp.yaml#/responses/303" + $ref: "../responses/SOL005_resp.yaml#/responses/303" 400: - $ref: "responses/SOL005_resp.yaml#/responses/400" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" + $ref: "../responses/SOL005_resp.yaml#/responses/503" get: summary: Query multiple subscriptions. description: > Query Subscription Information - + The client can use this method to retrieve the list of active subscriptions for alarms related to a NS subscribed by the client. It can be used e.g. for resynchronization after error situations. - - This method shall follow the provisions specified in the Tables 8.4.4.3.2-1 and 8.4.4.3.2-2 for URI query parameters, - request and response data structures, and response codes. - Table 8.4.4.3.2-1: URI query parameters supported. + This method shall follow the provisions specified in the Tables 8.4.4.3.2-1 and 8.4.4.3.2-2 + for URI query parameters, request and response data structures, and response codes. + Table 8.4.4.3.2-1: URI query parameters supported. parameters: - - name: "filter" - in: "query" + - name: filter + in: query required: false - type: "string" - description: > - Attribute-based filtering parameters according to clause 4.3.2. - The NFVO shall support receiving filtering parameters as part of the URI - query string. The OSS/BSS may supply filtering parameters. + type: string + description: > + Attribute-based filtering expression according to clause 4.3.2. + 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 FmSubscription and in data types - referenced from it shall be supported in attribute-based filtering parameters. + referenced from it shall be supported by the NFVO in the filter expression. + - name: nextpage_opaque_marker + in: query + 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 4.7.2.1 for this resource. + required: false + type: string - name: Accept description: > Content-Types that are acceptable for the response. @@ -410,13 +464,6 @@ paths: 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. @@ -428,11 +475,15 @@ paths: 200: description: > 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. + 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 FM subscriptions, + as defined in clause 8.5.2.3. + 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. headers: Content-Type: description: The MIME type of the body of the response. @@ -440,39 +491,49 @@ 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. maximum: 1 - minimum: 0 + minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + 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 schema: type: array items: - properties: - FmSubscription: - $ref: "definitions/SOL005NSFaultManagement_def.yaml#/definitions/FmSubscription" + $ref: "definitions/SOL005NSFaultManagement_def.yaml#/definitions/FmSubscription" 400: - $ref: "responses/SOL005_resp.yaml#/responses/400-attr-based-filtering-error" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 412: - $ref: "responses/SOL005_resp.yaml#/responses/412" + $ref: "../responses/SOL005_resp.yaml#/responses/412" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" - -############################################################################### -# Individual subscription # -############################################################################### + $ref: "../responses/SOL005_resp.yaml#/responses/503" + + ############################################################################### + # Individual subscription # + ############################################################################### '/subscriptions/{subscriptionId}': #ETSI GS NFV-SOL 005 V2.4.1 location: 8.4.5 parameters: @@ -486,14 +547,27 @@ paths: in: path type: string required: true + - 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: summary: Read an individual subscription. description: > Query Subscription Information - - The client can use this method for reading an individual subscription for alarms related to NSs subscribed by the client. - This method shall follow the provisions specified in the Tables 8.4.5.3.2-1 and 8.4.5.3.2-2 for URI query parameters, - request and response data structures, and response codes + + The client can use this method for reading an individual subscription for alarms related to NSs subscribed + by the client. This method shall follow the provisions specified in the Tables 8.4.5.3.2-1 and 8.4.5.3.2-2 + for URI query parameters, request and response data structures, and response codes parameters: - name: Accept description: > @@ -502,13 +576,6 @@ paths: 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. @@ -520,7 +587,7 @@ paths: 200: description: > 200 OK - + The operation has completed successfully. The response body shall contain a representation of the subscription resource. @@ -533,317 +600,74 @@ 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. maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 schema: - properties: - FmSubscription: - $ref: "definitions/SOL005NSFaultManagement_def.yaml#/definitions/FmSubscription" + $ref: "definitions/SOL005NSFaultManagement_def.yaml#/definitions/FmSubscription" 400: - $ref: "responses/SOL005_resp.yaml#/responses/400" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" + $ref: "../responses/SOL005_resp.yaml#/responses/503" delete: summary: Terminate a subscription. description: > Terminate Subscription - + This method terminates an individual subscription. - parameters: - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string responses: 204: - description: > + description: > 204 - No Content - + The subscription resource was deleted successfully. The response body shall be empty. headers: 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. maximum: 1 minimum: 0 - 400: - $ref: "responses/SOL005_resp.yaml#/responses/400" - 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" - 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" - 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" - 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" - 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" - 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" - -################################################################################## -# 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-AlarmNotification': - #ETSI GS NFV-SOL 005 V2.4.1 location: 8.4.6 - post: - summary: Notify about NS alarms - description: > - The POST method notifies an alarm related to a NS or that the alarm list has been rebuilt. - - parameters: - - name: alarmNotification - description: > - Information of a NS alarm. - in: body - required: true - schema: - properties: - AlarmNotification: - $ref: "definitions/SOL005NSFaultManagement_def.yaml#/definitions/AlarmNotification" - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - responses: - 204: - description: > - 204 No Content - - The notification was delivered 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 - 400: - $ref: "responses/SOL005_resp.yaml#/responses/400" - 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" - 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" - 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-AlarmClearedNotification': - #ETSI GS NFV-SOL 005 V2.4.1 location: 8.4.6 - post: - summary: Notify about NS alarms - description: > - The POST method notifies an alarm related to a NS or that the alarm list has been rebuilt. - parameters: - - name: alarmClearedNotification - description: > - Information of the clearance of a NS alarm. - in: body - required: true - schema: - properties: - AlarmClearedNotification: - $ref: "definitions/SOL005NSFaultManagement_def.yaml#/definitions/AlarmClearedNotification" - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - responses: - 204: - description: > - 204 No Content - - The notification was delivered successfully. - The response body shall be empty. - headers: - WWW-Authenticate: - type: "string" + Version: 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 - 400: - $ref: "responses/SOL005_resp.yaml#/responses/400" - 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" - 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" - 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-AlarmListRebuiltNotification': - #ETSI GS NFV-SOL 005 V2.4.1 location: 8.4.6 - post: - summary: Notify about NS alarms - description: > - The POST method notifies an alarm related to a NS or that the alarm list has been rebuilt. - parameters: - - name: AlarmListRebuiltNotification - description: > - Information that the alarm list has been rebuilt by the NFVO. - in: body - required: true - schema: - properties: - AlarmListRebuiltNotification: - $ref: "definitions/SOL005NSFaultManagement_def.yaml#/definitions/AlarmListRebuiltNotification" - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - responses: - 204: - description: > - 204 No Content - - The notification was delivered 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 - 400: - $ref: "responses/SOL005_resp.yaml#/responses/400" - 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" - 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" - 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" - 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" - - get: - summary: Test the notification endpoint - description: > - The GET method allows the server to test the notification endpoint that is provided by the client, e.g. during - subscription. - parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - responses: - 204: - description: > - 204 No Content - - The notification endpoint was tested 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. + Version of the API used in the response. + type: string maximum: 1 - minimum: 0 + minimum: 1 400: - $ref: "responses/SOL005_resp.yaml#/responses/400" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" + 405: + $ref: "../responses/SOL005_resp.yaml#/responses/405" + 406: + $ref: "../responses/SOL005_resp.yaml#/responses/406" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" \ No newline at end of file + $ref: "../responses/SOL005_resp.yaml#/responses/503" \ No newline at end of file diff --git a/src/SOL005/NSFaultManagement/definitions/SOL005NSFaultManagement_def.yaml b/src/SOL005/NSFaultManagement/definitions/SOL005NSFaultManagement_def.yaml index 2feda900ddcb9695c2da74d8ca22b08515818452..ab28ca20c3b737b84edfa7b9c707fbd60cc44184 100644 --- a/src/SOL005/NSFaultManagement/definitions/SOL005NSFaultManagement_def.yaml +++ b/src/SOL005/NSFaultManagement/definitions/SOL005NSFaultManagement_def.yaml @@ -6,27 +6,27 @@ definitions: The alarm data type encapsulates information about an alarm. It shall comply with the provisions defined in Table 8.5.2.4-1 type: object - required: + required: - id - managedObjectId - - alarmRaisedTime + - alarmRaisedTime - rootCauseFaultyComponent - ackState - perceivedSeverity - eventTime - eventType - - probableCause + - probableCause - isRootCause - - _links + - _links properties: id: description: > Identifier of this Alarm information element. - $ref: "SOL005_def.yaml#/definitions/Identifier" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" managedObjectId: description: > Identifier of the affected NS instance. - $ref: "SOL005_def.yaml#/definitions/Identifier" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" rootCauseFaultyComponent: description: > The NS components that are causing the NS fault. @@ -36,19 +36,19 @@ definitions: The virtualised resources that are causing the NS fault. It shall be present when the faulty component is "NS Virtual Link" or "VNF". - $ref: "#/definitions/FaultyResourceInfo" + $ref: "#/definitions/FaultyResourceInfo" alarmRaisedTime: description: > Alarm identifier. - $ref: "SOL005_def.yaml#/definitions/DateTime" + $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" alarmChangedTime: description: > The time stamp indicating when the alarm was cleared. - $ref: "SOL005_def.yaml#/definitions/DateTime" + $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" alarmClearedTime: description: > Links to resources related to this notification. - $ref: "SOL005_def.yaml#/definitions/DateTime" + $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" ackState: description: > Acknowledgment state of the alarm. @@ -66,7 +66,7 @@ definitions: eventTime: description: > Time stamp indicating when the fault was observed. - $ref: "SOL005_def.yaml#/definitions/DateTime" + $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" eventType: description: > Type of event. @@ -78,7 +78,7 @@ definitions: probableCause: description: > Information about the probable cause of the fault. - type: string + type: string isRootCause: description: > Attribute indicating if this fault is the root for other @@ -89,8 +89,8 @@ definitions: description: > List of identifiers of other alarms correlated to this fault. type: array - items: - $ref: "SOL005_def.yaml#/definitions/Identifier" + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" faultDetails: description: > Provides additional information about the fault.. @@ -105,127 +105,14 @@ definitions: self: description: > URI of this resource. - $ref: "SOL005_def.yaml#/definitions/Link" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" objectInstance: description: > Link to the resource representing the NS instance to which the notified alarm is correlated. Shall be present if the NS instance information is accessible as a resource. - $ref: "SOL005_def.yaml#/definitions/Link" - - AlarmClearedNotification: - description: > - This type represents an alarm cleared notification about VNF faults. - The notification shall be triggered by the VNFM when an alarm has been - cleared. - type: object - required: - - id - - notificationType - - subscriptionId - - timeStamp - - alarmId - - alarmClearedTime - - _links - properties: - id: - description: > - Identifier of this notification. If a notification is sent multiple - times due to multiple subscriptions, the "id" attribute of all these - notifications shall have the same value. - $ref: "SOL005_def.yaml#/definitions/Identifier" - notificationType: - description: > - Discriminator for the different notification types. Shall be set to - "AlarmClearedNotification" for this notification type. - type: string - enum: - - AlarmClearedNotification - subscriptionId: - description: > - Identifier of the subscription that this notification relates to. - $ref: "SOL005_def.yaml#/definitions/Identifier" - timeStamp: - description: > - Date-time of the generation of the notification. - $ref: "SOL005_def.yaml#/definitions/DateTime" - alarmId: - description: > - Alarm identifier. - $ref: "SOL005_def.yaml#/definitions/Identifier" - alarmClearedTime: - description: > - The time stamp indicating when the alarm was cleared. - _links: - description: > - Links to resources related to this notification. - type: object - required: - - subscription - - alarm - properties: - subscription: - description: > - Link to the related subscription. - $ref: "SOL005_def.yaml#/definitions/Link" - alarm: - description: > - Link to the resource that represents the related alarm. - $ref: "SOL005_def.yaml#/definitions/Link" - - AlarmListRebuiltNotification: - description: > - This type represents a notification that the alarm list has been - rebuilt, e.g. if the VNFM detects its storage holding the alarm - list is corrupted. - The notification shall be triggered by the VNFM when the alarm list has - been rebuilt. - type: object - required: - - id - - notificationType - - subscriptionId - - timeStamp - - _links - properties: - id: - description: > - Identifier of this notification. If a notification is sent multiple - times due to multiple subscriptions, the "id" attribute of all these - notifications shall have the same value. - $ref: "SOL005_def.yaml#/definitions/Identifier" - notificationType: - description: > - Discriminator for the different notification types. Shall be set to - "AlarmListRebuiltNotification" for this notification type. - type: string - enum: - - AlarmListRebuiltNotification - subscriptionId: - description: > - Identifier of the subscription that this notification relates to. - $ref: "SOL005_def.yaml#/definitions/Identifier" - timeStamp: - description: > - Date-time of the generation of the notification. - $ref: "SOL005_def.yaml#/definitions/DateTime" - _links: - description: > - Links to resources related to this notification. - type: object - required: - - subscription - - alarms - properties: - subscription: - description: > - Link to the related subscription. - $ref: "SOL005_def.yaml#/definitions/Link" - alarms: - description: > - Link to the alarm list, i.e. the "Alarms" resource. - $ref: "SOL005_def.yaml#/definitions/Link" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" AlarmModifications: description: > @@ -236,7 +123,7 @@ definitions: type: object required: - ackState - properties: + properties: ackState: description: > New value of the "ackState" attribute in "Alarm". @@ -262,7 +149,7 @@ definitions: - EQUIPMENT_ALARM: An alarm of this type is associated with an equipment fault (ITU-T Recommendation X.733). type: string - enum: + enum: - COMMUNICATIONS_ALARM - PROCESSING_ERROR_ALARM - ENVIRONMENTAL_ALARM @@ -273,15 +160,15 @@ definitions: description: > This type represents the faulty virtual resources that have a negative impact on a NS. type: object - required: + required: - faultyResource - faultyResourceType - properties: + properties: faultyResource: description: > Information that identifies the faulty resource instance and its managing entity. - $ref: "SOL005_def.yaml#/definitions/ResourceHandle" + $ref: "../../definitions/SOL005_def.yaml#/definitions/ResourceHandle" faultyResourceType: description: > Type of the faulty resource. @@ -296,7 +183,7 @@ definitions: - STORAGE - Virtual storage resource. - NETWORK - Virtual network resource. type: string - enum: + enum: - COMPUTE - STORAGE - NETWORK @@ -316,7 +203,7 @@ definitions: nsInstanceSubscriptionFilter: description: > Filter criteria to select NS instances about which to notify. - $ref: "SOL005_def.yaml#/definitions/NsInstanceSubscriptionFilter" + $ref: "../../definitions/SOL005_def.yaml#/definitions/NsInstanceSubscriptionFilter" notificationTypes: description: > Match particular notification types. @@ -335,41 +222,42 @@ definitions: description: > Match alarms related to NSs with a faulty resource type listed in this attribute. type: array - items: + items: $ref: "#/definitions/FaultyResourceType" perceivedSeverities: description: > Match VNF alarms with a perceived severity listed in this attribute. type: array - items: + items: $ref: "#/definitions/PerceivedSeverityType" eventTypes: description: > - Match VNF alarms with an event type listed in this attribute. + Match VNF alarms related to NSs with an event type listed + in this attribute. type: array - items: + items: $ref: "#/definitions/EventType" probableCauses: description: > Match VNF alarms with a probable cause listed in this attribute. type: array - items: - type: string + items: + type: string FmSubscription: description: > This type represents a subscription related to notifications about VNF faults. type: object - required: + required: - id - callbackUri - _links - properties: + properties: id: description: > Identifier of this subscription resource. - $ref: "SOL005_def.yaml#/definitions/Identifier" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" filter: description: > Filter settings for this subscription, to define the subset of all @@ -392,14 +280,14 @@ definitions: self: description: > URI of this resource. - $ref: "SOL005_def.yaml#/definitions/Link" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" FmSubscriptionRequest: description: > This type represents a subscription request related to notifications about VNF faults. type: object - required: + required: - callbackUri properties: filter: @@ -420,7 +308,7 @@ definitions: sending notifications corresponding to this subscription. This attribute shall only be present if the subscriber requires authorization of notifications. - $ref: "SOL005_def.yaml#/definitions/SubscriptionAuthentication" + $ref: "../../definitions/SOL005_def.yaml#/definitions/SubscriptionAuthentication" PerceivedSeverityType: description: > @@ -454,88 +342,30 @@ definitions: managed object that have the same Alarm type, Probable cause and Specific problems (if given) (ITU-T Recommendation X.733). type: string - enum: + enum: - CRITICAL - MAJOR - MINOR - WARNING - INDETERMINATE - CLEARED - + FaultyComponentInfo: description: > This type represents the faulty component that has a negative impact on an NS. It shall comply with the provisions defined in Table 8.5.3.4-1. type: object - properties: + properties: faultyNestedNsInstanceId: description: > Identifier of the faulty nested NS instance. - $ref: "SOL005_def.yaml#/definitions/Identifier" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" faultyResourceType: description: > Identifier of the faulty NS virtual link instance. - $ref: "SOL005_def.yaml#/definitions/Identifier" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" faultyNsVirtualLinkInstanceId: description: > Identifier of the faulty VNF instance. - $ref: "SOL005_def.yaml#/definitions/Identifier" - - AlarmNotification: - description: > - This type represents an alarm notification about NS faults. - type: object - required: - - id - - notificationType - - subscriptionId - - timeStamp - - alarm - - _links - properties: - id: - description: > - Identifier of this notification. If a notification is sent - multiple times due to multiple subscriptions, the "id" - attribute of all these notifications shall have the same value. - $ref: "SOL005_def.yaml#/definitions/Identifier" - notificationType: - description: > - Discriminator for the different notification types. - Shall be set to "AlarmNotification" for this notification type. - type: string - enum: - - AlarmClearedNotification - subscriptionId: - description: > - Identifier of the subscription that this notification relates to. - $ref: "SOL005_def.yaml#/definitions/Identifier" - timeStamp: - description: > - Date-time of the generation of the notification. - $ref: "SOL005_def.yaml#/definitions/DateTime" - alarm: - description: > - Information about an alarm including AlarmId, affected - NS identifier, and FaultDetails. - $ref: "#/definitions/Alarm" - alarmClearedTime: - description: > - The time stamp indicating when the alarm was cleared. - _links: - description: > - Links to resources related to this notification. - type: object - required: - - subscription - - alarm - properties: - subscription: - description: > - Link to the related subscription. - $ref: "SOL005_def.yaml#/definitions/Link" - alarm: - description: > - Link to the resource that represents the related alarm. - $ref: "SOL005_def.yaml#/definitions/Link" \ No newline at end of file + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" \ No newline at end of file diff --git a/src/SOL005/NSFaultManagement/definitions/SOL005_def.yaml b/src/SOL005/NSFaultManagement/definitions/SOL005_def.yaml deleted file mode 100644 index 333b278b42fed168e075b0d02b413c6c40e94354..0000000000000000000000000000000000000000 --- a/src/SOL005/NSFaultManagement/definitions/SOL005_def.yaml +++ /dev/null @@ -1,269 +0,0 @@ - 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" - 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 - ResourceHandle: - required: - - resourceId - type: object - description: > - This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by - an NS instance. Information about the resource is available from the VIM. The ResourceHandle type shall comply with - the provisions defined in Table 6.5.3.54-1.. - properties: - vimId: - description: > - Identifier of the VIM under whose control this resource is placed. - This attribute shall be present if VNF-related resource - management in direct mode is applicable. It shall also - be present for resources that are part of an NS instance - such as virtual link resources. - $ref: "#/definitions/Identifier" - resourceProviderId: - description: > - Identifier of the entity responsible for the management of - the resource. - This attribute shall only be supported and present when - VNF-related resource management in indirect mode is - applicable. The identification scheme is outside the - scope of the present document. - $ref: "#/definitions/Identifier" - resourceId: - description: > - Identifier of the resource in the scope of the VIM or the - resource provider. - $ref: "#/definitions/IdentifierInVim" - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or the resource provider. - type: string - - IdentifierInVim: - description: > - An identifier maintained by the VIM or other resource provider. It is - expected to be unique within the VIM instance. - type: string - - Link: - description: > - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: > - URI of the referenced resource. - type: string - format: url - - SubscriptionAuthentication: - description: > - Authentication parameters to conFigure the use of - Authorization when sendingnotifications corresponding to - this subscription, as defined in clause 4.5.3.4. - This attribute shall only be present if the subscriber - requires authorization of notifications. - 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" - Uri: - description: > - String formatted according to IETF RFC 3986. - type: string - - String: - description: > - This type represents stack of string values - type: string - - NsInstanceSubscriptionFilter: - required: - - nsdIds - - vnfdIds - - pnfdIds - - nsInstanceIds - type: object - description: > - This type represents subscription filter criteria to match NS instances. - It shall comply with the provisions defined in Table 4.4.1.5-1. - 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 - dentifier 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" \ No newline at end of file diff --git a/src/SOL005/NSFaultManagement/responses/NSFManagement_resp.yaml b/src/SOL005/NSFaultManagement/responses/NSFManagement_resp.yaml deleted file mode 100644 index 5bb238ad03360c21208096a91d800310c4a2015b..0000000000000000000000000000000000000000 --- a/src/SOL005/NSFaultManagement/responses/NSFManagement_resp.yaml +++ /dev/null @@ -1,29 +0,0 @@ -responses: - 409-alarm-state-conflict: - description: > - Conflict - - Error: The operation cannot be executed currently, due - to a conflict with the state of the "Individual alarm" resource. - Typically, this is due to the fact that the alarm is already - in the state that is requested to be set (such as trying to - acknowledge an already-acknowledged alarm). - The response body shall contain a ProblemDetails - structure, in which the "detail" attribute shall 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 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" \ No newline at end of file diff --git a/src/SOL005/NSFaultManagement/responses/SOL005_resp.yaml b/src/SOL005/NSFaultManagement/responses/SOL005_resp.yaml deleted file mode 100644 index 30ea9e98adf0a65f1dc3cb83888ae8eb8e7644ed..0000000000000000000000000000000000000000 --- a/src/SOL005/NSFaultManagement/responses/SOL005_resp.yaml +++ /dev/null @@ -1,195 +0,0 @@ - # 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 - eader that contains the resource URI of the existing - subscription resource. - The response body shall be empty. - 400: - description: > - Bad Request - - Error: Invalid attribute-based filtering parameters. - The response body shall 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 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 400-attr-based-filtering-error: - description: > - Bad Request - Invalid attribute-based filtering parameters or Invalid attribute - selector. - It the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, - and should include in the "detail" attribute more information about - the source of the problem. - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall - be returned in the WWW-Authenticate HTTP header, as defined in - IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - 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 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 401: - description: > - Unauthorized. - If the request contains no access token even though one is - required, or if the request contains an authorization token that - is invalid (e.g. expired or revoked), the API producer should - respond with this response. The details of the error shall be - returned in the WWW-Authenticate HTTP header, as defined in - IETF RFC 6750 and IETF RFC 7235. The ProblemDetails - structure may be provided. - headers: - Content-Type: - type: string - description: The MIME type of the body of the response. - 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. - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 403: - description: > - Forbidden - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. - It should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - 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" - 405: - description: > - Method Not Allowed - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted in that case. - 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" - 406: - description: > - If the "Accept" header does not contain at least one - name of a content type for which the NFVO can - provide a representation of the NSD, the NFVO shall - respond with this response code. - The "ProblemDetails" structure may be included with - the "detail" attribute providing more information about - the error. - 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" - 412: - description: > - 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 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 500: - description: > - Internal Server Error - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code - ("catch all error"), the API producer shall respond withthis - response code. The ProblemDetails structure shall be provided, - and shall include in the "detail" attribute more information about - the source of the problem. - 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" - 503: - description: > - Service Unavailable - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the Retry-After HTTP header and for the alternative - to refuse the connection. The "ProblemDetails" structure may be omitted. - 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 diff --git a/src/SOL005/NSFaultManagementNotification/NSFaultManagementNotification.yaml b/src/SOL005/NSFaultManagementNotification/NSFaultManagementNotification.yaml new file mode 100644 index 0000000000000000000000000000000000000000..a5732c72692f85d61a04ab3894a73f82c788f57b --- /dev/null +++ b/src/SOL005/NSFaultManagementNotification/NSFaultManagementNotification.yaml @@ -0,0 +1,306 @@ +swagger: "2.0" + +info: + version: "1.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" + title: "SOL005 - NS Fault Management Notification interface" + description: > + SOL005 - NS Fault Management Notification 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 https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + license: + name: "ETSI Forge copyright notice" + url: https://forge.etsi.org/etsi-forge-copyright-notice.txt + +externalDocs: + description: ETSI GS NFV-SOL 005 V2.5.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.05.01_60/gs_NFV-SOL005v020501p.pdf + +basePath: /callback/v1 + +schemes: + - http + - https + +consumes: + - application/json +produces: + - application/json +paths: + ################################################################################## + # Notification endpoint NS Fault Management # + ################################################################################## + '/URI_is_provided_by_the_client_when_creating_the_subscription-AlarmNotification': + post: + summary: Notify about NS alarms + description: > + The POST method notifies an alarm related to a NS or that the alarm list has been rebuilt. + + parameters: + - name: alarmNotification + description: > + Information of a NS alarm. + in: body + required: true + schema: + $ref: "definitions/SOL005NSFaultManagementNotification_def.yaml#/definitions/AlarmNotification" + - name: Accept + description: > + Content-Types that are acceptable for the response. + Reference: IETF RFC 7231 + in: header + required: true + type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string + - name: Content-Type + description: > + The MIME type of the body of the request. + Reference: IETF RFC 7231 + in: header + required: true + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string + responses: + 204: + description: > + 204 No Content + + The notification was delivered 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 + 400: + $ref: "../responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../responses/SOL005_resp.yaml#/responses/403" + 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-AlarmClearedNotification': + #ETSI GS NFV-SOL 005 V2.4.1 location: 8.4.6 + post: + summary: Notify about NS alarms + description: > + The POST method notifies an alarm related to a NS or that the alarm list has been rebuilt. + parameters: + - name: alarmClearedNotification + description: > + Information of the clearance of a NS alarm. + in: body + required: true + schema: + $ref: "definitions/SOL005NSFaultManagementNotification_def.yaml#/definitions/AlarmClearedNotification" + - name: Accept + description: > + Content-Types that are acceptable for the response. + Reference: IETF RFC 7231 + in: header + required: true + type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string + - name: Content-Type + description: > + The MIME type of the body of the request. + Reference: IETF RFC 7231 + in: header + required: true + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string + responses: + 204: + description: > + 204 No Content + + The notification was delivered 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 + 400: + $ref: "../responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../responses/SOL005_resp.yaml#/responses/403" + 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-AlarmListRebuiltNotification': + post: + summary: Notify about NS alarms + description: > + The POST method notifies an alarm related to a NS or that the alarm list has been rebuilt. + parameters: + - name: AlarmListRebuiltNotification + description: > + Information that the alarm list has been rebuilt by the NFVO. + in: body + required: true + schema: + $ref: "definitions/SOL005NSFaultManagementNotification_def.yaml#/definitions/AlarmListRebuiltNotification" + - name: Accept + description: > + Content-Types that are acceptable for the response. + Reference: IETF RFC 7231 + in: header + required: true + type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string + - name: Content-Type + description: > + The MIME type of the body of the request. + Reference: IETF RFC 7231 + in: header + required: true + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string + responses: + 204: + description: > + 204 No Content + + The notification was delivered 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 + 400: + $ref: "../responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../responses/SOL005_resp.yaml#/responses/403" + 500: + $ref: "../responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../responses/SOL005_resp.yaml#/responses/503" + + get: + summary: Test the notification endpoint + description: > + The GET method allows the server to test the notification endpoint that is provided by the client, e.g. during + subscription. + parameters: + - name: Accept + description: > + Content-Types that are acceptable for the response. + Reference: IETF RFC 7231 + in: header + required: true + type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string + responses: + 204: + description: > + 204 No Content + + The notification endpoint was tested 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 + 400: + $ref: "../responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../responses/SOL005_resp.yaml#/responses/403" + 500: + $ref: "../responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../responses/SOL005_resp.yaml#/responses/503" \ No newline at end of file diff --git a/src/SOL005/NSFaultManagementNotification/definitions/SOL005NSFaultManagementNotification_def.yaml b/src/SOL005/NSFaultManagementNotification/definitions/SOL005NSFaultManagementNotification_def.yaml new file mode 100644 index 0000000000000000000000000000000000000000..bdeec9abcf58e3006fc9fc356bf0ab2ea76e6391 --- /dev/null +++ b/src/SOL005/NSFaultManagementNotification/definitions/SOL005NSFaultManagementNotification_def.yaml @@ -0,0 +1,173 @@ +# Copyright (c) ETSI 2017. +# https://forge.etsi.org/etsi-forge-copyright-notice.txt +definitions: + AlarmNotification: + description: > + This type represents an alarm notification about NS faults. + type: object + required: + - id + - notificationType + - subscriptionId + - timeStamp + - alarm + - _links + properties: + id: + description: > + Identifier of this notification. If a notification is sent + multiple times due to multiple subscriptions, the "id" + attribute of all these notifications shall have the same value. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + notificationType: + description: > + Discriminator for the different notification types. + Shall be set to "AlarmNotification" for this notification type. + type: string + enum: + - AlarmClearedNotification + subscriptionId: + description: > + Identifier of the subscription that this notification relates to. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + timeStamp: + description: > + Date-time of the generation of the notification. + $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" + alarm: + description: > + Information about an alarm including AlarmId, affected + NS identifier, and FaultDetails. + $ref: "../../NSFaultManagement/definitions/SOL005NSFaultManagement_def.yaml#/definitions/Alarm" + alarmClearedTime: + description: > + The time stamp indicating when the alarm was cleared. + _links: + description: > + Links to resources related to this notification. + type: object + required: + - subscription + - alarm + properties: + subscription: + description: > + Link to the related subscription. + $ref: "../../definitions/SOL005_def.yaml#/definitions/NotificationLink" + alarm: + description: > + Link to the resource that represents the related alarm. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" + + AlarmClearedNotification: + description: > + This type represents an alarm cleared notification about VNF faults. + The notification shall be triggered by the VNFM when an alarm has been + cleared. + type: object + required: + - id + - notificationType + - subscriptionId + - timeStamp + - alarmId + - alarmClearedTime + - _links + properties: + id: + description: > + Identifier of this notification. If a notification is sent multiple + times due to multiple subscriptions, the "id" attribute of all these + notifications shall have the same value. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + notificationType: + description: > + Discriminator for the different notification types. Shall be set to + "AlarmClearedNotification" for this notification type. + type: string + enum: + - AlarmClearedNotification + subscriptionId: + description: > + Identifier of the subscription that this notification relates to. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + timeStamp: + description: > + Date-time of the generation of the notification. + $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" + alarmId: + description: > + Alarm identifier. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + alarmClearedTime: + description: > + The time stamp indicating when the alarm was cleared. + _links: + description: > + Links to resources related to this notification. + type: object + required: + - subscription + - alarm + properties: + subscription: + description: > + Link to the related subscription. + $ref: "../../definitions/SOL005_def.yaml#/definitions/NotificationLink" + alarm: + description: > + Link to the resource that represents the related alarm. + $ref: "../../definitions/SOL005_def.yaml#/definitions/NotificationLink" + + AlarmListRebuiltNotification: + description: > + This type represents a notification that the alarm list has been + rebuilt, e.g. if the VNFM detects its storage holding the alarm + list is corrupted. + The notification shall be triggered by the VNFM when the alarm list has + been rebuilt. + type: object + required: + - id + - notificationType + - subscriptionId + - timeStamp + - _links + properties: + id: + description: > + Identifier of this notification. If a notification is sent multiple + times due to multiple subscriptions, the "id" attribute of all these + notifications shall have the same value. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + notificationType: + description: > + Discriminator for the different notification types. Shall be set to + "AlarmListRebuiltNotification" for this notification type. + type: string + enum: + - AlarmListRebuiltNotification + subscriptionId: + description: > + Identifier of the subscription that this notification relates to. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + timeStamp: + description: > + Date-time of the generation of the notification. + $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" + _links: + description: > + Links to resources related to this notification. + type: object + required: + - subscription + - alarms + properties: + subscription: + description: > + Link to the related subscription. + $ref: "../../definitions/SOL005_def.yaml#/definitions/NotificationLink" + alarms: + description: > + Link to the alarm list, i.e. the "Alarms" resource. + $ref: "../../definitions/SOL005_def.yaml#/definitions/NotificationLink" \ No newline at end of file diff --git a/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml b/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml index c0f218eb8c41ea99b4924f172d2fd28c02fb7a6b..4bf0b068a6cb2fad970b8fe58b8b4484f8db3b5b 100644 --- a/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml +++ b/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml @@ -1,8 +1,7 @@ swagger: "2.0" - info: - version: "1.0.0" - title: SOL005 - NS Lifecycle Management Interface + version: "1.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" + title: "SOL005 - NS Lifecycle Management Interface" description: > SOL005 - NS Lifecycle Management Interface IMPORTANT: Please note that this file might be not aligned to the current @@ -13,24 +12,45 @@ info: license: name: "ETSI Forge copyright notice" url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - contact: + contact: name: "NFV-SOL WG" externalDocs: - description: ETSI GS NFV-SOL 005 V2.4.1 - url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.04.01_60/gs_NFV-SOL005v020401p.pdf -basePath: "/nslcm/v1" + description: ETSI GS NFV-SOL 005 V2.5.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.05.01_60/gs_NFV-SOL005v020501p.pdf +basePath: /nslcm/v1 schemes: + - http - https consumes: - - "application/json" + - application/json produces: - - "application/json" + - application/json paths: -############################################################################### -# NSInstances # -############################################################################### + ############################################################################### + # API Versions # + ############################################################################### + '/api-versions': + $ref: '../endpoints/SOL005_endpoints.yaml#/endpoints/api-versions' + + ############################################################################### + # NSInstances # + ############################################################################### '/ns_instances': #ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.2 + 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: Create a NS instance resource. description: > @@ -43,37 +63,25 @@ paths: in: header required: true type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - name: Content-Type description: > The MIME type of the body of the request. Reference: IETF RFC 7231 in: header required: true - type: string - - name: "body" - in: "body" + type: string + - name: body + in: body required: true schema: - type: "object" - required: - - "CreateNsRequest" - properties: - CreateNsRequest: - $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/CreateNsRequest" - description: > - The NS creation parameters, as defined in clause 6.5.2.7. - responses: + $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/CreateNsRequest" + description: > + The NS creation parameters, as defined in clause 6.5.2.7. + responses: 201: description: > 201 Created - + A NS Instance identifier was created successfully. The response body shall contain a representation of the created NS instance, as defined in clause 6.5.2.8. @@ -81,90 +89,93 @@ paths: header that contains the resource URI of the created NS instance. schema: - type: "object" - properties: - NsInstance: - $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsInstance" + $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsInstance" headers: Content-Type: - type: "string" + 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. 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#/responses/400-attr-selector" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: - $ref: "responses/SOL005_resp.yaml#/responses/404" + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 409: - $ref: "responses/NSLifecycleManagement_resp.yaml#/responses/409-inconsistent-state" + $ref: "../responses/SOL005_resp.yaml#/responses/409" 416: - $ref: "responses/SOL005_resp.yaml#/responses/416" + $ref: "../responses/SOL005_resp.yaml#/responses/416" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" + $ref: "../responses/SOL005_resp.yaml#/responses/503" get: summary: Query multiple NS instances. description: > Query NS Instances. - + The GET method queries information about multiple NS instances. This method shall support the URI query parameters, request and response data structures, and response codes, as specified in the Tables 6.4.2.3.2-1 and 6.4.2.3.2-2. parameters: - - name: "filter" - in: "query" + - name: filter + in: query required: false - type: "string" - description: > - "Attribute-based filtering parameters according to clause 4.3.2. - The NFVO shall support receiving filtering parameters as part of the URI - query string. The OSS/BSS may supply filtering parameters. + type: string + description: > + Attribute-based filtering expression according to clause 4.3.2. + 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 NsInstance and in data types - referenced from it shall be supported in attribute-based filtering parameters" - - name: "all_fields" - in: "query" + referenced from it shall be supported by the NFVO in the filter expression. + - name: all_fields + in: query required: false - type: "string" - description: > - "Include all complex attributes in the response. See clause 4.3.3 for details. - The NFVO shall support this parameter." - - name: "fields" - in: "query" + type: string + description: > + Include all complex attributes in the response. See clause 4.3.3 for details. + The NFVO shall support this parameter. + - name: fields + in: query required: false - type: "string" - description: > + type: string + description: > "Complex attributes to be included into the response. See clause 4.3.3 for details. The NFVO should support this parameter." - - name: "exclude_fields" - in: "query" + - name: exclude_fields + in: query required: false - type: "string" - description: > + type: string + description: > "Complex attributes to be excluded from the response. See clause 4.3.3 for details. The NFVO should support this parameter." - - name: "exclude_default" - in: "query" + - name: exclude_default + in: query required: false - type: "string" - description: > + type: string + description: > "Indicates to exclude the following complex attributes from the response. See clause 4.3.3 for details. The NFVO shall support this parameter. The following attributes shall be excluded from the NsInstance structure in @@ -177,6 +188,13 @@ paths: - sapInfo - nsScaleStatus - additionalAffinityOrAntiAffinityRules" + - name: nextpage_opaque_marker + in: query + 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 4.7.2.1 for this resource. + required: false + type: string - name: Accept description: > Content-Types that are acceptable for the response. @@ -184,23 +202,17 @@ paths: in: header required: true type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string responses: 200: description: > 200 OK - - Information about zero or more NS instances was - queried successfully. - The response body shall contain representations of - zero or more NS instances, as defined in - clause 6.5.2.8. + + Information about zero or more NS instances was queried successfully. + The response body shall contain in an array the representations of + zero or more NS instances, as defined in clause 6.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. headers: Content-Type: description: The MIME type of the body of the response. @@ -208,43 +220,55 @@ 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. maximum: 1 - minimum: 0 + minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + 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 schema: type: array items: properties: NsInstance: - $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsInstance" + $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsInstance" 400: - $ref: "responses/SOL005_resp.yaml#/responses/400-attr-selector" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: - $ref: "responses/SOL005_resp.yaml#/responses/404" + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 409: - $ref: "responses/NSLifecycleManagement_resp.yaml#/responses/409-inconsistent-state" + $ref: "../responses/SOL005_resp.yaml#/responses/409" 416: - $ref: "responses/SOL005_resp.yaml#/responses/416" + $ref: "../responses/SOL005_resp.yaml#/responses/416" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" - -############################################################################### -# Individual NS instance # -############################################################################### + $ref: "../responses/SOL005_resp.yaml#/responses/503" + + ############################################################################### + # Individual NS instance # + ############################################################################### '/ns_instances/{nsInstanceId}': #ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.3 parameters: @@ -254,6 +278,19 @@ paths: in: path type: string required: true + - 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: summary: Read an individual NS instance resource. description: > @@ -267,13 +304,6 @@ paths: 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. @@ -285,106 +315,107 @@ paths: 200: 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" - properties: - NsInstance: - $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsInstance" + $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsInstance" headers: Content-Type: - type: "string" + 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. maximum: 1 - minimum: 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. 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#/responses/400-attr-selector" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: - $ref: "responses/SOL005_resp.yaml#/responses/404" + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 409: - $ref: "responses/NSLifecycleManagement_resp.yaml#/responses/409-inconsistent-state" + $ref: "../responses/SOL005_resp.yaml#/responses/409" 416: - $ref: "responses/SOL005_resp.yaml#/responses/416" + $ref: "../responses/SOL005_resp.yaml#/responses/416" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" - + $ref: "../responses/SOL005_resp.yaml#/responses/503" + delete: summary: Delete NS instance resource. description: > Delete NS Identifier - + This method deletes an individual NS instance resource. - parameters: - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string responses: 204: description: > 204 No Content - + The NS instance resource and the associated NS identifier were deleted successfully. The response body shall be empty. headers: WWW-Authenticate: - 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. 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#/responses/400-attr-selector" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: - $ref: "responses/SOL005_resp.yaml#/responses/404" + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 409: - $ref: "responses/NSLifecycleManagement_resp.yaml#/responses/409-state-conflict-INSTANTIATED" + $ref: "../responses/SOL005_resp.yaml#/responses/409" 412: - $ref: "responses/SOL005_resp.yaml#/responses/412" + $ref: "../responses/SOL005_resp.yaml#/responses/412" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" + $ref: "../responses/SOL005_resp.yaml#/responses/503" -############################################################################### -# Instantiate NS task # -############################################################################### + ############################################################################### + # Instantiate NS task # + ############################################################################### '/ns_instances/{nsInstanceId}/instantiate': #ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.4 parameters: @@ -394,71 +425,72 @@ paths: in: path type: string required: true - post: + post: summary: Instantiate a NS. description: > The POST method requests to instantiate a NS instance resource. parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: "body" - in: "body" - required: true - schema: - type: "object" - required: - - "InstantiateNsRequest" - properties: - InstantiateNsRequest: - $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/InstantiateNsRequest" + - name: Accept + description: > + Content-Types that are acceptable for the response. + Reference: IETF RFC 7231 + in: header + required: true + type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string + - name: Content-Type + description: > + The MIME type of the body of the request. + Reference: IETF RFC 7231 + in: header + required: true + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string + - name: body + in: body + required: true + schema: + $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/InstantiateNsRequest" description: > Parameters for the instantiate NS operation, as defined in clause 6.5.2.10. responses: 202: - $ref: "responses/NSLifecycleManagement_resp.yaml#/responses/202-with-Location" + $ref: "../responses/SOL005_resp.yaml#/responses/202-with-Location" 400: - $ref: "responses/SOL005_resp.yaml#/responses/400" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: - $ref: "responses/SOL005_resp.yaml#/responses/404" + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 409: - $ref: "responses/NSLifecycleManagement_resp.yaml#/responses/409-state-conflict-INSTANTIATED" + $ref: "../responses/SOL005_resp.yaml#/responses/409" 416: - $ref: "responses/SOL005_resp.yaml#/responses/416" + $ref: "../responses/SOL005_resp.yaml#/responses/416" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" - -############################################################################### -# Scale NS task # -############################################################################### + $ref: "../responses/SOL005_resp.yaml#/responses/503" + + ############################################################################### + # Scale NS task # + ############################################################################### '/ns_instances/{nsInstanceId}/scale': #ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.5 parameters: @@ -468,69 +500,70 @@ paths: in: path type: string required: true - post: + post: summary: Scale a NS instance. description: > The POST method requests to scale a NS instance resource. - parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: "body" - in: "body" - required: true - schema: - type: "object" - required: - - "ScaleNsRequest" - properties: - ScaleNsRequest: - $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/ScaleNsRequest" - description: > - Parameters for the scale NS operation, as defined in clause 6.5.2.13. + parameters: + - name: Accept + description: > + Content-Types that are acceptable for the response. + Reference: IETF RFC 7231 + in: header + required: true + type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string + - name: Content-Type + description: > + The MIME type of the body of the request. + Reference: IETF RFC 7231 + in: header + required: true + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string + - name: body + in: body + required: true + schema: + $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/ScaleNsRequest" + description: > + Parameters for the scale NS operation, as defined in clause 6.5.2.13. responses: 202: - $ref: "responses/NSLifecycleManagement_resp.yaml#/responses/202-with-Location" + $ref: "../responses/SOL005_resp.yaml#/responses/202-with-Location" 400: - $ref: "responses/SOL005_resp.yaml#/responses/400" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: - $ref: "responses/SOL005_resp.yaml#/responses/404-task-resource-not-exists" + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 409: - $ref: "responses/NSLifecycleManagement_resp.yaml#/responses/409-state-conflict-NOT-INSTANTIATED" + $ref: "../responses/SOL005_resp.yaml#/responses/409" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" - -############################################################################### -# Update NS task # -############################################################################### + $ref: "../responses/SOL005_resp.yaml#/responses/503" + + ############################################################################### + # Update NS task # + ############################################################################### '/ns_instances/{nsInstanceId}/update': #ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.6 parameters: @@ -540,70 +573,71 @@ paths: in: path type: string required: true - post: + post: summary: Updates a NS instance. description: > Scale NS instance. The POST method requests to scale a NS instance resource. - parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: "body" - in: "body" - required: true - schema: - type: "object" - required: - - "UpdateNsRequest" - properties: - UpdateNsRequest: - $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/UpdateNsRequest" + parameters: + - name: Accept + description: > + Content-Types that are acceptable for the response. + Reference: IETF RFC 7231 + in: header + required: true + type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string + - name: Content-Type + description: > + The MIME type of the body of the request. + Reference: IETF RFC 7231 + in: header + required: true + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string + - name: body + in: body + required: true + schema: + $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/UpdateNsRequest" description: > Parameters for the update NS operation, as defined in clause 6.5.2.11. responses: 202: - $ref: "responses/NSLifecycleManagement_resp.yaml#/responses/202-with-Location" + $ref: "../responses/SOL005_resp.yaml#/responses/202-with-Location" 400: - $ref: "responses/SOL005_resp.yaml#/responses/400" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: - $ref: "responses/SOL005_resp.yaml#/responses/404-task-resource-not-exists" + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 409: - $ref: "responses/NSLifecycleManagement_resp.yaml#/responses/409-state-conflict-NOT-INSTANTIATED" + $ref: "../responses/SOL005_resp.yaml#/responses/409" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" - -############################################################################### -# Heal NS task # -############################################################################### + $ref: "../responses/SOL005_resp.yaml#/responses/503" + + ############################################################################### + # Heal NS task # + ############################################################################### '/ns_instances/{nsInstanceId}/heal': #ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.7 parameters: @@ -614,71 +648,72 @@ paths: type: string required: true post: - summary: Heal a NS instance. - description: > + 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: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: "body" - in: "body" - required: true - schema: - type: "object" - required: - - "HealNsRequest" - properties: - HealNsRequest: - $ref: "definitions/NSLifecycleManagement_def.yaml#/definitions/HealNsRequest" + - name: Accept + description: > + Content-Types that are acceptable for the response. + Reference: IETF RFC 7231 + in: header + required: true + type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string + - name: Content-Type + description: > + The MIME type of the body of the request. + Reference: IETF RFC 7231 + in: header + required: true + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string + - name: body + in: body + required: true + schema: + $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/HealNsRequest" description: > 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/SOL005_resp.yaml#/responses/202-with-Location" 400: - $ref: "responses/SOL005_resp.yaml#/responses/400" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: - $ref: "responses/SOL005_resp.yaml#/responses/404-task-resource-not-exists" + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 409: - $ref: "responses/NSLifecycleManagement_resp.yaml#/responses/409-state-conflict-NOT-INSTANTIATED" + $ref: "../responses/SOL005_resp.yaml#/responses/409" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" + $ref: "../responses/SOL005_resp.yaml#/responses/503" -############################################################################### -# Terminate NS task # -############################################################################### + ############################################################################### + # Terminate NS task # + ############################################################################### '/ns_instances/{nsInstanceId}/terminate': #ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.8 parameters: @@ -700,64 +735,65 @@ paths: 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: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: "body" - in: "body" - required: true - schema: - type: "object" - required: - - "TerminateNsRequest" - properties: - TerminateNsRequest: - $ref: "definitions/NSLifecycleManagement_def.yaml#/definitions/TerminateNsRequest" + - name: Accept + description: > + Content-Types that are acceptable for the response. + Reference: IETF RFC 7231 + in: header + required: true + type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string + - name: Content-Type + description: > + The MIME type of the body of the request. + Reference: IETF RFC 7231 + in: header + required: true + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string + - name: body + in: body + required: true + schema: + $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/TerminateNsRequest" description: > 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/SOL005_resp.yaml#/responses/202-with-Location" 400: - $ref: "responses/SOL005_resp.yaml#/responses/400" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: - $ref: "responses/SOL005_resp.yaml#/responses/404-task-resource-not-exists" + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 409: - $ref: "responses/NSLifecycleManagement_resp.yaml#/responses/409-state-conflict-NOT-INSTANTIATED" + $ref: "../responses/SOL005_resp.yaml#/responses/409" 500: - $ref: "responses/SOL005_resp.yaml#/responses/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 # -############################################################################### + ############################################################################### + # NS LCM operation occurrences # + ############################################################################### '/ns_lcm_op_occs': #ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.9 get: @@ -769,35 +805,35 @@ paths: This method shall follow the provisions specified in the Tables 6.4.9.3.2-1 and 6.4.9.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - - name: "filter" - in: "query" + - name: filter + in: query required: false - type: "string" - description: > - Attribute-based filtering parameters according to clause 4.3.2. - The NFVO shall support receiving filtering parameters as part of the URI query string. - The OSS/BSS may supply an attribute filter. + type: string + description: > + Attribute-based filtering expression according to clause 4.3.2. + 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 NsLcmOpOcc and in data types referenced - from it shall be supported in filtering parameters. - - name: "fields" - in: "query" + from it shall be supported by the NFVO in the filter expression. + - name: fields + in: query required: false - type: "string" - description: > + type: string + description: > Complex attributes to be included into the response. See clause 4.3.3 for details. The NFVO should support this parameter. - - name: "exclude_fields" - in: "query" + - name: exclude_fields + in: query required: false - type: "string" - description: > + type: string + description: > Complex attributes to be excluded from the response. See clause 4.3.3 for details. The NFVO should support this parameter. - - name: "exclude_default" - in: "query" + - name: exclude_default + in: query required: false - type: "string" - description: > + type: string + description: > Indicates to exclude the following complex attributes from the response. See clause 4.3.3 for details. The NFVO shall support this parameter. The following attributes shall be excluded from the NsLcmOpOcc structure in the @@ -806,6 +842,13 @@ paths: - changedVnfInfo - error - resourceChanges + - name: nextpage_opaque_marker + in: query + 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 4.7.2.1 for this resource. + required: false + type: string - name: Accept description: > Content-Types that are acceptable for the response. @@ -820,16 +863,24 @@ paths: 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 responses: 200: description: > 200 OK - - Status information for zero or more NS lifecycle - management operation occurrences was queried successfully. - The response body shall contain representations of - zero or more NS instances, as defined in - clause 5.5.2.13. + + Status information for zero or more NS lifecycle management operation + occurrences was queried successfully. + The response body shall contain in an array the representations of + zero or more NS instances, as defined in clause 5.5.2.13. + 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. headers: Content-Type: description: The MIME type of the body of the response. @@ -837,41 +888,53 @@ 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. maximum: 1 - minimum: 0 + minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + 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 schema: type: array items: properties: NsLcmOpOcc: - $ref: "definitions/NSLifecycleManagement_def.yaml#/definitions/NsLcmOpOcc" + $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsLcmOpOcc" 400: - $ref: "responses/SOL005_resp.yaml#/responses/400" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: - $ref: "responses/SOL005_resp.yaml#/responses/404" + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 409: - $ref: "responses/NSLifecycleManagement_resp.yaml#/responses/409-inconsistent-state" + $ref: "../responses/SOL005_resp.yaml#/responses/409" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" + $ref: "../responses/SOL005_resp.yaml#/responses/503" -############################################################################### -# Individual NS lifecycle operation occurrence # -############################################################################### + ############################################################################### + # Individual NS lifecycle operation occurrence # + ############################################################################### '/ns_lcm_op_occs/{nsLcmOpOccId}': #ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.10 parameters: @@ -881,15 +944,15 @@ paths: in: path type: string required: true - get: + get: summary: Read an individual NS LCM operation occurrence resource. description: > - The client can use this method to retrieve status information about - a NS lifecycle management operation occurrence by - reading an individual "NS LCM operation occurrence" resource. - This method shall follow the provisions specified in the - Tables 6.4.10.3.2-1 and 6.4.10.3.2-2 for URI query parameters, - request and response data structures, and response codes. + The client can use this method to retrieve status information about + a NS lifecycle management operation occurrence by + reading an individual "NS LCM operation occurrence" resource. + This method shall follow the provisions specified in the + Tables 6.4.10.3.2-1 and 6.4.10.3.2-2 for URI query parameters, + request and response data structures, and response codes. parameters: - name: Accept description: > @@ -912,67 +975,76 @@ paths: in: header required: true type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string responses: 200: description: > 200 OK - - Information about an individual NS instance was queried successfully. - The response body shall contain status information - about a NS lifecycle management operation - occurrence (see clause 6.5.2.3). + + Information about a NS LCM operation occurrence 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" - properties: - NsLcmOpOcc: - $ref: "definitions/NSLifecycleManagement_def.yaml#/definitions/NsLcmOpOcc" + $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsLcmOpOcc" headers: Content-Type: - type: "string" + 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. maximum: 1 - minimum: 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. maximum: 1 - minimum: 0 + minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 400: - $ref: "responses/SOL005_resp.yaml#/responses/400" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: - $ref: "responses/SOL005_resp.yaml#/responses/404" + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 409: - $ref: "responses/NSLifecycleManagement_resp.yaml#/responses/409-inconsistent-state" + $ref: "../responses/SOL005_resp.yaml#/responses/409" 416: - $ref: "responses/SOL005_resp.yaml#/responses/416" + $ref: "../responses/SOL005_resp.yaml#/responses/416" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" + $ref: "../responses/SOL005_resp.yaml#/responses/503" -############################################################################### -# Retry operation task # -############################################################################### + ############################################################################### + # Retry operation task # + ############################################################################### '/ns_lcm_op_occs/{nsLcmOpOccId}/retry': #ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.11 parameters: - name: nsLcmOpOccId description: > Identifier of a NS lifecycle management operation occurrence to be retried. - + This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response to a POST request triggering a NS LCM operation. It can also be retrieved from the "nsLcmOpOccId" attribute in the NsLcmOperationOccurrenceNotification. @@ -996,38 +1068,44 @@ paths: 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 responses: 202: - $ref: "responses/SOL005_resp.yaml#/responses/202" + $ref: "../responses/SOL005_resp.yaml#/responses/202-with-Location-empty" 400: - $ref: "responses/SOL005_resp.yaml#/responses/400" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: - $ref: "responses/SOL005_resp.yaml#/responses/404-task-resource-not-exists-NS-LCM" + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 409: - $ref: "responses/NSLifecycleManagement_resp.yaml#/responses/409-state-conflict-not-FAILED_TEMP" + $ref: "../responses/SOL005_resp.yaml#/responses/409" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" - -############################################################################### -# Rollback a NS lifecycle management operation occurrence. # -############################################################################### + $ref: "../responses/SOL005_resp.yaml#/responses/503" + + ############################################################################### + # Rollback a NS lifecycle management operation occurrence. # + ############################################################################### '/ns_lcm_op_occs/{nsLcmOpOccId}/rollback': #ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.12 parameters: - name: nsLcmOpOccId description: > Identifier of a NS lifecycle management operation occurrence to be rolled back. - + This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response to a POST request triggering a NS LCM operation. It can also be retrieved from the "nsLcmOpOccId" attribute in the NsLcmOperationOccurrenceNotification. @@ -1051,31 +1129,37 @@ paths: 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 responses: 202: - $ref: "responses/SOL005_resp.yaml#/responses/202" + $ref: "../responses/SOL005_resp.yaml#/responses/202-with-Location-empty" 400: - $ref: "responses/SOL005_resp.yaml#/responses/400" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: - $ref: "responses/SOL005_resp.yaml#/responses/404-not-found" + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 409: - $ref: "responses/NSLifecycleManagement_resp.yaml#/responses/409-state-conflict-not-FAILED_TEMP" + $ref: "../responses/SOL005_resp.yaml#/responses/409" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" + $ref: "../responses/SOL005_resp.yaml#/responses/503" -############################################################################### -# Continue a NS lifecycle management operation occurrence. # -############################################################################### + ############################################################################### + # Continue a NS lifecycle management operation occurrence. # + ############################################################################### '/ns_lcm_op_occs/{nsLcmOpOccId}/continue': #ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.13 parameters: @@ -1085,7 +1169,7 @@ paths: in: path required: true type: string - post: + post: summary: Continue a NS lifecycle management operation occurrence. description: > The POST method initiates continuing an NS lifecycle operation if that operation has experienced a temporary failure, @@ -1100,38 +1184,44 @@ paths: 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 responses: 202: - $ref: "responses/SOL005_resp.yaml#/responses/202" + $ref: "../responses/SOL005_resp.yaml#/responses/202-with-Location-empty" 400: - $ref: "responses/SOL005_resp.yaml#/responses/400" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: - $ref: "responses/SOL005_resp.yaml#/responses/404-not-found" + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 409: - $ref: "responses/NSLifecycleManagement_resp.yaml#/responses/409-state-conflict-not-FAILED_TEMP" + $ref: "../responses/SOL005_resp.yaml#/responses/409" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" - -############################################################################### -# Fail operation task # -############################################################################### + $ref: "../responses/SOL005_resp.yaml#/responses/503" + + ############################################################################### + # Fail operation task # + ############################################################################### '/nslcm/v1/ns_lcm_op_occs/{nsLcmOpOccId}/fail': #ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.14 parameters: - name: nsLcmOpOccId description: > Identifier of a NS lifecycle management operation occurrence to be marked as "failed". - + This identifier can be retrieved from the resource referenced by he "Location" HTTP header in the response to a POST request triggering a NS LCM operation. @@ -1161,65 +1251,75 @@ paths: 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 responses: 200: - description: 200 OK + description: > + 200 OK + + The state of the NS lifecycle management operation + occurrence was changed successfully. + The response shall include a representation of the NS + lifecycle management operation occurrence resource. schema: - type: "object" - description: > - The state of the NS lifecycle management operation - occurrence was changed successfully. - The response shall include a representation of the NS - lifecycle management operation occurrence resource. - properties: - NsLcmOpOcc: - $ref: "definitions/NSLifecycleManagement_def.yaml#/definitions/NsLcmOpOcc" + $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsLcmOpOcc" headers: Content-Type: - type: "string" + 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. maximum: 1 - minimum: 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. maximum: 1 - minimum: 0 + minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 400: - $ref: "responses/SOL005_resp.yaml#/responses/400" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: - $ref: "responses/SOL005_resp.yaml#/responses/404-not-found" + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 409: - $ref: "responses/NSLifecycleManagement_resp.yaml#/responses/409-state-conflict-not-FAILED_TEMP" + $ref: "../responses/SOL005_resp.yaml#/responses/409" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" - -############################################################################### -# Cancel operation task # -############################################################################### + $ref: "../responses/SOL005_resp.yaml#/responses/503" + + ############################################################################### + # Cancel operation task # + ############################################################################### '/nslcm/v1/ns_lcm_op_occs/{nsLcmOpOccId}/cancel': #ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.15 parameters: - name: nsLcmOpOccId description: > Identifier of a NS lifecycle management operation occurrence to be canceled. - + This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response to a POST request triggering a NS LCM operation. It can also be retrieved from the "nsLcmOpOccId" attribute in the NsLcmOperationOccurrenceNotification. @@ -1237,96 +1337,84 @@ paths: Tables 6.4.15.3.1-1 and 6.4.15.3.1-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. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: "body" - in: "body" - required: true - schema: - type: "object" - required: - - "CancelMode" - properties: - CancelMode: - $ref: "definitions/NSLifecycleManagement_def.yaml#/definitions/CancelMode" + - name: Accept + description: > + Content-Types that are acceptable for the response. + Reference: IETF RFC 7231 + in: header + required: true + type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string + - name: Content-Type + description: > + The MIME type of the body of the request. + Reference: IETF RFC 7231 + in: header + required: true + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string + - name: body + in: body + required: true + schema: + $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/CancelMode" description: > The POST request to this resource shall include a CancelMode structure in the payload body to choose between "graceful" and "forceful" cancellation. responses: 202: - $ref: "responses/SOL005_resp.yaml#/responses/202" + $ref: "../responses/SOL005_resp.yaml#/responses/202-with-Location-empty" 400: - $ref: "responses/SOL005_resp.yaml#/responses/400" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: - $ref: "responses/SOL005_resp.yaml#/responses/404-task-resource-not-exists-NS-LCM" + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 409: - description: > - 409 Conflict. - - Error: The operation cannot be executed currently, due - to a conflict with the state of the NS LCM operation - occurrence resource. - Typically, this is due to the fact that the operation - occurrence is not in STARTING, PROCESSING or - ROLLING_BACK state. - The response body shall contain a ProblemDetails - structure, in which the "detail" attribute shall 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: - 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 - schema: - $ref: "definitions/SOL005_def.yaml#/definitions/ProblemDetails" + $ref: "../responses/SOL005_resp.yaml#/responses/409" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" + $ref: "../responses/SOL005_resp.yaml#/responses/503" -############################################################################### -# Subscriptions # -############################################################################### + ############################################################################### + # Subscriptions # + ############################################################################### '/subscriptions': #ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.16 - post: + 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 NS lifecycle change notifications. description: > The POST method creates a new subscription. @@ -1339,106 +1427,79 @@ paths: 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 callbackUri). parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: "body" - in: "body" - required: true - schema: - type: "object" - required: - - "LccnSubscriptionRequest" - properties: - LccnSubscriptionRequest: - $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/LccnSubscriptionRequest" + - 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: body + in: body + required: true + schema: + $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/LccnSubscriptionRequest" description: > Details of the subscription to be created, as defined in clause 6.5.2.2. responses: 201: 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" - properties: - LccnSubscription: - $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/LccnSubscription" + $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/LccnSubscription" headers: Content-Type: - type: "string" + 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. maximum: 1 minimum: 0 - 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. - headers: - WWW-Authenticate: - type: "string" + Version: 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. + Version of the API used in the response. + type: string maximum: 1 - minimum: 0 + minimum: 1 + 303: + $ref: "../responses/SOL005_resp.yaml#/responses/303" 400: - $ref: "responses/SOL005_resp.yaml#/responses/400" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: - $ref: "responses/SOL005_resp.yaml#/responses/404-task-not-suported-NS-LCM" + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" - get: + $ref: "../responses/SOL005_resp.yaml#/responses/503" + get: summary: Query multiple subscriptions. description: > Query Subscription Information. @@ -1447,6 +1508,23 @@ paths: functional block that invokes the method. It can be used e.g. for resynchronization after error situations. parameters: + - name: filter + in: query + required: false + type: string + description: > + Attribute-based filtering expression according to clause 4.3.2. + 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 LccnSubscription and in data types + referenced from it shall be supported by the NFVO in the filter expression. + - name: nextpage_opaque_marker + in: query + 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 4.7.2.1 for this resource. + required: false + type: string - name: Accept description: > Content-Types that are acceptable for the response. @@ -1454,86 +1532,68 @@ paths: in: header required: true type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string responses: 200: description: > 200 OK - + 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. + The response body shall contain the representations of all active + subscriptions of the functional block that invokes the method. + 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. headers: Content-Type: - type: "string" + 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. maximum: 1 - minimum: 0 - - schema: - type: array - items: - properties: - LccnSubscription: - $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/LccnSubscription" - 400: - description: > - Bad Request. - - Invalid attribute-based filtering parameters. - The response body shall 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. + minimum: 0 + Version: + description: > + Version of the API used in the response. type: string maximum: 1 minimum: 1 - WWW-Authenticate: - type: "string" + Link: 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. + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + type: string maximum: 1 minimum: 0 schema: - $ref: "definitions/SOL005_def.yaml#/definitions/ProblemDetails" + type: array + items: + $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/LccnSubscription" + 400: + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: - $ref: "responses/SOL005_resp.yaml#/responses/404-task-not-suported-NS-LCM" + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" - -############################################################################### -# Individual subscription # -############################################################################### + $ref: "../responses/SOL005_resp.yaml#/responses/503" + + ############################################################################### + # Individual subscription # + ############################################################################### '/subscriptions/{subscriptionId}': #ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.17 parameters: @@ -1543,6 +1603,19 @@ paths: in: path type: string required: true + - 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: summary: Read an individual subscription resource. description: > @@ -1557,393 +1630,91 @@ paths: in: header required: true type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - responses: + responses: 200: description: > 200 OK - + The operation has completed successfully. The response body shall contain a representation of the subscription resource. schema: - type: "object" - properties: - LccnSubscription: - $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/LccnSubscription" + $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/LccnSubscription" headers: Content-Type: - type: "string" + 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. maximum: 1 - minimum: 0 + minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 400: - $ref: "responses/SOL005_resp.yaml#/responses/400" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: - $ref: "responses/SOL005_resp.yaml#/responses/404-task-not-suported-NS-LCM" + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" + $ref: "../responses/SOL005_resp.yaml#/responses/503" delete: summary: Terminate a subscription. description: > 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 Tables 6.4.17.3.5-1 and 6.4.17.3.5-2. - parameters: - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string responses: 204: - description: > + description: > 204 No Content - + The subscription resource was deleted successfully. The response body shall be empty. headers: 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. maximum: 1 minimum: 0 - 400: - $ref: "responses/SOL005_resp.yaml#/responses/400" - 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" - 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" - 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" - 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" - 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" - 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" - -################################################################################## -# 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 - 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: NsLcmOperationOccurrenceNotification - description: > - A notification about lifecycle changes triggered by a NS LCM. - operation occurrence. - in: body - required: true - schema: - properties: - NsLcmOperationOccurrenceNotification: - $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsLcmOperationOccurrenceNotification" - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - responses: - 204: - description: > - 204 No Content - - The notification was delivered successfully. - headers: - WWW-Authenticate: - type: "string" + Version: 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 - 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 - in: header - required: true - type: string - responses: - 204: - description: > - 204 No Content - - The notification was delivered successfully. - 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 - 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-NsIdentifierDeletionNotification': - #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: 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. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - responses: - 204: - description: > - 204 No Content - - The notification was delivered successfully. - 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 - 400: - $ref: "responses/SOL005_resp.yaml#/responses/400-attr-selector" - 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" - 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" - 404: - $ref: "responses/SOL005_resp.yaml#/responses/404" - 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" - 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" - 409: - $ref: "responses/NSLifecycleManagement_resp.yaml#/responses/409-inconsistent-state" - 416: - $ref: "responses/SOL005_resp.yaml#/responses/416" - 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" - 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" - - get: - summary: Test the notification endpoint. - description: > - Query NS Instances. - - The GET method queries information about multiple NS instances. - This method shall support the URI query parameters, request and response data structures, and response codes, as - specified in the Tables 6.4.2.3.2-1 and 6.4.2.3.2-2. - parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - responses: - 204: - description: > - 204 No Content - - The notification endpoint was tested 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. + Version of the API used in the response. + type: string maximum: 1 - minimum: 0 + minimum: 1 400: - $ref: "responses/SOL005_resp.yaml#/responses/400-attr-selector" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" - 404: - $ref: "responses/SOL005_resp.yaml#/responses/404" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 405: - $ref: "responses/SOL005_resp.yaml#/responses/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" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" \ No newline at end of file + $ref: "../responses/SOL005_resp.yaml#/responses/503" \ No newline at end of file diff --git a/src/SOL005/NSLifecycleManagement/definitions/NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/NSLifecycleManagement_def.yaml deleted file mode 100644 index 633135a4549193957e4cce3e7472eccc7aa8d395..0000000000000000000000000000000000000000 --- a/src/SOL005/NSLifecycleManagement/definitions/NSLifecycleManagement_def.yaml +++ /dev/null @@ -1,394 +0,0 @@ -# Copyright (c) ETSI 2017. -# https://forge.etsi.org/etsi-forge-copyright-notice.txt -definitions: - HealNsRequest: - description: > - This operation supports the healing of an NS instance, - either by healing the complete NS instance or by healing one of - more of the VNF instances that are part of this NS. - It shall comply with the provisions defined in Table 6.5.2.13-1. - type: object - properties: - healNsData: - description: > - Indicates the reason why a healing procedure is required. - $ref: "#/definitions/HealNsData" - healVnfData: - description: > - Additional parameters passed by the NFVO as input to the healing - process, specific to the VNF being healed, as declared in the VNFD - as part of "HealVnfOpConfig". - type: array - items: - $ref: "#/definitions/HealVnfData" - - NsLcmOpOcc: - description: > - This type represents a request a NS lifecycle operation occurrence. - It shall comply with the provisions defined in Table 6.5.2.3-1. - type: object - required: - - id - - operationState - - stateEnteredTime - - nsInstanceId - - lcmOperationType - - startTime - - isAutomaticInvocation - - operationParams - - isCancelPending - - _links - properties: - id: - description: > - Identifier of this NS lifecycle operation occurrence. - $ref: "SOL005_def.yaml#/definitions/Identifier" - operationState: - description: > - The state of the NS LCM operation. - $ref: "SOL005NSLifecycleManagement_def.yaml#/definitions/NsLcmOperationStateType" - stateEnteredTime: - description: > - Date-time when the current state was entered. - type: string - format: date-time - nsInstanceId: - description: > - Identifier of the NS instance to which the operation applies. - $ref: "SOL005_def.yaml#/definitions/Identifier" - lcmOperationType: - description: > - Type of the actual LCM operation represented by this - lcm operation occurrence. - $ref: "SOL005NSLifecycleManagement_def.yaml#/definitions/NsLcmOpType" - startTime: - description: > - Date-time of the start of the operation. - type: string - format: date-time - isAutomaticInvocation: - description: > - Set to true if this NS LCM operation occurrence has - been automatically triggered by the NFVO. This occurs - in the case of auto-scaling, auto-healing and when a - nested NS is modified as a result of an operation on its - composite NS. Set to false otherwise. - type: boolean - operationParams: - description: > - Input parameters of the LCM operation. This attribute - shall be formatted according to the request data type of - the related LCM operation. - The following mapping between lcmOperationType and - the data type of this attribute shall apply: - - INSTANTIATE: InstantiateNsRequest - - SCALE: ScaleNsRequest - - UPDATE: UpdateNsRequest - - HEAL: HealNsRequest - - TERMINATE: TerminateNsRequest - type: string - enum: - - INSTANTIATE - - SCALE - - UPDATE - - HEAL - - TERMINATE - isCancelPending: - description: > - If the LCM operation occurrence is in "PROCESSING" - or "ROLLING_BACK" state and the operation is being - cancelled, this attribute shall be set to true. Otherwise, it - shall be set to false. - type: boolean - cancelMode: - description: > - The mode of an ongoing cancellation. Shall be present - when isCancelPending=true, and shall be absent otherwise. - $ref: "#/definitions/CancelModeType" - error: - description: > - If "operationState" is "FAILED_TEMP" or "FAILED" or "operationState" - is "PROCESSING" or "ROLLING_BACK" and previous value of - "operationState" was "FAILED_TEMP", this attribute shall be present - and contain error information, unless it has been requested to be - excluded via an attribute selector. - $ref: "#/definitions/ProblemDetails" - resourceChanges: - description: > - This attribute contains information about the cumulative - changes to virtualised resources that were performed so - far by the LCM operation since its start, if applicable - type: object - properties: - affectedVnfs: - description: > - Information about the VNF instances that were affected - during the lifecycle operation, if this notification - represents the result of a lifecycle operation. - type: array - items: - $ref: "SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedVnf" - affectedPnfs: - description: > - Information about the PNF instances that were affected - during the lifecycle operation, if this notification - represents the result of a lifecycle operation. - type: array - items: - $ref: "SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedPnf" - affectedVls: - description: > - Information about the VL instances that were affected - during the lifecycle operation, if this notification - represents the result of a lifecycle operation. - type: array - items: - $ref: "SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedVl" - affectedVnffgs: - description: > - Information about the VNFFG instances that were - affected during the lifecycle operation, if this notification - represents the result of a lifecycle operation. See note - type: array - items: - $ref: "SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedVnffg" - affectedNss: - description: > - Information about the nested NS instances that were - affected during the lifecycle operation, if this notification - represents the result of a lifecycle operation. See note. - type: array - items: - $ref: "SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedNs" - affectedSaps: - description: > - Information about the nested NS instances that were - affected during the lifecycle operation, if this notification - represents the result of a lifecycle operation. See note. - type: array - items: - $ref: "SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedSap" - _links: - description: > - Links to resources related to this resource. - type: object - required: - - self - - nsInstance - properties: - self: - description: > - URI of this resource. - $ref: "SOL005_def.yaml#/definitions/Link" - nsInstance: - description: > - Link to the NS instance that the operation applies to. - $ref: "SOL005_def.yaml#/definitions/Link" - cancel: - description: > - Link to the task resource that represents the "cancel" - operation for this LCM operation occurrence, if - cancelling is currently allowed. - $ref: "SOL005_def.yaml#/definitions/Link" - retry: - description: > - Link to the task resource that represents the "cancel" - operation for this LCM operation occurrence, - if cancelling is currently allowed. - $ref: "SOL005_def.yaml#/definitions/Link" - rollback: - description: > - Link to the task resource that represents the "rollback" - operation for this LCM operation occurrence, if rolling - back is currently allowed. - $ref: "SOL005_def.yaml#/definitions/Link" - continue: - description: > - Link to the task resource that represents the "continue" - operation for this LCM operation occurrence, if rolling - back is currently allowed. - $ref: "SOL005_def.yaml#/definitions/Link" - fail: - description: > - Link to the task resource that represents the "fail" - operation for this LCM operation occurrence, if rolling - back is currently allowed. - $ref: "SOL005_def.yaml#/definitions/Link" - CancelMode: - description: > - This type represents a parameter to select the mode of canceling an ongoing NS LCM operation occurrence. - It shall comply with the provisions defined in Table 6.5.2.16-1.. - type: object - required: - - cancelMode - properties: - cancelMode: - description: > - Cancellation mode to apply. - $ref: "#/definitions/CancelModeType" - - CancelModeType: - description: > - Cancellation mode. - - The NFVO shall not start any new VNF lifecycle management and resource - management operation, and shall wait for the ongoing VNF lifecycle management - and resource management operations in the underlying system, typically the VNFM - and VIM, to finish execution or to time out. After that, the NFVO shall put the - operation occurrence into the FAILED_TEMP state. - - The NFVO shall not start any new VNF lifecycle management and resource - management operation, shall cancel the ongoing VNF lifecycle management and - resource management operations in the underlying system, typically the VNFM and - VIM, and shall wait for the cancellation to finish or to time out. After that, the NFVO - shall put the operation occurrence into the FAILED_TEMP state. - type: string - enum: - - GRACEFUL - - FORCEFUL - - HealNsData: - description: > - This type represents the information used to heal a NS. - It shall comply with the provisions defined in Table 6.5.3.43-1. - type: object - required: - - degreeHealing - properties: - degreeHealing: - description: > - Indicates the degree of healing. Possible values - include: - - HEAL_RESTORE: Complete the healing of - the NS restoring the state of the NS before - the failure occurred - - HEAL_QOS: Complete the healing of the NS - based on the newest QoS values - - HEAL_RESET: Complete the healing of the - NS resetting to the original instantiation state of the NS - - PARTIAL_HEALING - type: string - enum: - - HEAL_RESTORE - - HEAL_QOS - - HEAL_RESET - - PARTIAL_HEALING - actionsHealing: - description: > - Used to specify dedicated healing actions in a - particular order (e.g. as a script). The actionsHealing - attribute can be used to provide a specific script whose - content and actions might only be possible to be - derived during runtime. - type: array - items: - $ref: "SOL005_def.yaml#/definitions/String" - healScript: - description: > - Reference to a script from the NSD that shall be used - to execute dedicated healing actions in a particular - order. The healScript, since it refers to a script in the - NSD, can be used to execute healing actions which - are defined during NS design time. - $ref: "SOL005_def.yaml#/definitions/IdentifierInNsd" - additionalParamsforNs: - description: > - Allows the OSS/BSS to provide additional - parameter(s) to the healing process at the NS level. - $ref: "SOL005_def.yaml#/definitions/KeyValuePairs" - - HealVnfData: - description: > - This type represents the information to heal a VNF that is part of an NS. - The NFVO shall then invoke the HealVNF - operation towards the appropriate VNFM. - It shall comply with the provisions defined in Table 6.5.3.44-1. - type: object - required: - - vnfInstanceId - properties: - vnfInstanceId: - description: > - Identifies the VNF instance, part of the NS, requiring a - healing action. - $ref: "SOL005_def.yaml#/definitions/Identifier" - cause: - description: > - Indicates the reason why a healing procedure is required. - type: string - additionalParams: - description: > - Additional parameters passed by the NFVO as input to - the healing process, specific to the VNF being healed. - EXAMPLE: Input parameters to VNF-specific healing procedures. - $ref: "SOL005_def.yaml#/definitions/KeyValuePairs" - - TerminateNsRequest: - description: > - This type represents a NS termination request. - It shall comply with the provisions defined in Table 6.5.2.15-1. - type: object - properties: - terminationTime: - description: > - Timestamp indicating the end time of the NS, i.e. the NS - will be terminated automatically at this timestamp. - Cardinality "0" indicates the NS termination takes place immediately - $ref: "SOL005_def.yaml#/definitions/DateTime" - - ProblemDetails: - 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 \ No newline at end of file diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index 2c2aea5c38a3969b69e31e40b7b304eb0b4181e4..8fdea55f85e35ad626e72f20a3f851f3a1816748 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -1,6 +1,130 @@ # Copyright (c) ETSI 2017. # https://forge.etsi.org/etsi-forge-copyright-notice.txt definitions: + + HealNsRequest: + description: > + This operation supports the healing of an NS instance, + either by healing the complete NS instance or by healing one of + more of the VNF instances that are part of this NS. + It shall comply with the provisions defined in Table 6.5.2.13-1. + type: object + properties: + healNsData: + description: > + Indicates the reason why a healing procedure is required. + $ref: "#/definitions/HealNsData" + healVnfData: + description: > + Additional parameters passed by the NFVO as input to the healing + process, specific to the VNF being healed, as declared in the VNFD + as part of "HealVnfOpConfig". + type: array + items: + $ref: "#/definitions/HealVnfData" + + CancelMode: + description: > + This type represents a parameter to select the mode of canceling an ongoing NS LCM operation occurrence. + It shall comply with the provisions defined in Table 6.5.2.16-1. + type: object + required: + - cancelMode + properties: + cancelMode: + description: > + Cancellation mode to apply. + $ref: "#/definitions/CancelModeType" + + HealNsData: + description: > + This type represents the information used to heal a NS. + It shall comply with the provisions defined in Table 6.5.3.43-1. + type: object + required: + - degreeHealing + properties: + degreeHealing: + description: > + Indicates the degree of healing. Possible values + include: + - HEAL_RESTORE: Complete the healing of + the NS restoring the state of the NS before + the failure occurred + - HEAL_QOS: Complete the healing of the NS + based on the newest QoS values + - HEAL_RESET: Complete the healing of the + NS resetting to the original instantiation state of the NS + - PARTIAL_HEALING + type: string + enum: + - HEAL_RESTORE + - HEAL_QOS + - HEAL_RESET + - PARTIAL_HEALING + actionsHealing: + description: > + Used to specify dedicated healing actions in a + particular order (e.g. as a script). The actionsHealing + attribute can be used to provide a specific script whose + content and actions might only be possible to be + derived during runtime. + type: array + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/String" + healScript: + description: > + Reference to a script from the NSD that shall be used + to execute dedicated healing actions in a particular + order. The healScript, since it refers to a script in the + NSD, can be used to execute healing actions which + are defined during NS design time. + $ref: "#/definitions/IdentifierInNsd" + additionalParamsforNs: + description: > + Allows the OSS/BSS to provide additional + parameter(s) to the healing process at the NS level. + $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" + + HealVnfData: + description: > + This type represents the information to heal a VNF that is part of an NS. + The NFVO shall then invoke the HealVNF + operation towards the appropriate VNFM. + It shall comply with the provisions defined in Table 6.5.3.44-1. + type: object + required: + - vnfInstanceId + properties: + vnfInstanceId: + description: > + Identifies the VNF instance, part of the NS, requiring a + healing action. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + cause: + description: > + Indicates the reason why a healing procedure is required. + type: string + additionalParams: + description: > + Additional parameters passed by the NFVO as input to + the healing process, specific to the VNF being healed. + EXAMPLE: Input parameters to VNF-specific healing procedures. + $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" + + TerminateNsRequest: + description: > + This type represents a NS termination request. + It shall comply with the provisions defined in Table 6.5.2.15-1. + type: object + properties: + terminationTime: + description: > + Timestamp indicating the end time of the NS, i.e. the NS + will be terminated automatically at this timestamp. + Cardinality "0" indicates the NS termination takes place immediately + $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" + CreateNsRequest: type: object required: @@ -12,7 +136,7 @@ definitions: description: > Identifier of the NSD that defines the NS instance to be created. - $ref: "SOL005_def.yaml#/definitions/Identifier" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" nsName: description: > Human-readable name of the NS instance to be created. @@ -21,7 +145,27 @@ definitions: description: > Human-readable description of the NS instance to be created. type: string - + + CancelModeType: + description: > + Cancellation mode. + + The NFVO shall not start any new VNF lifecycle management and resource + management operation, and shall wait for the ongoing VNF lifecycle management + and resource management operations in the underlying system, typically the VNFM + and VIM, to finish execution or to time out. After that, the NFVO shall put the + operation occurrence into the FAILED_TEMP state. + + The NFVO shall not start any new VNF lifecycle management and resource + management operation, shall cancel the ongoing VNF lifecycle management and + resource management operations in the underlying system, typically the VNFM and + VIM, and shall wait for the cancellation to finish or to time out. After that, the NFVO + shall put the operation occurrence into the FAILED_TEMP state. + type: string + enum: + - GRACEFUL + - FORCEFUL + NsInstance: description: > This type represents a response for Query NS operation. @@ -38,7 +182,7 @@ definitions: id: description: > Identifier of the NS instance. - $ref: "SOL005_def.yaml#/definitions/Identifier" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" nsInstanceName: description: > Human readable name of the NS instance. @@ -50,30 +194,30 @@ definitions: nsdId: description: > Identifier of the NSD on which the NS instance is based. - $ref: "SOL005_def.yaml#/definitions/Identifier" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" nsdInfoId: description: > Identifier of the NSD information object on which the NS instance is based. This identifier was allocated by the NFVO. - $ref: "SOL005_def.yaml#/definitions/Identifier" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" flavourId: description: > Identifier of the NS deployment flavor applied to the NS instance. This attribute shall be present if the nsState attribute value is INSTANTIATED. - $ref: "SOL005_def.yaml#/definitions/IdentifierInNsd" + $ref: "#/definitions/IdentifierInNsd" vnfInstance: description: > Information on constituent VNF(s) of the NS instance. type: array items: - $ref: "#/definitions/VnfInstance" + $ref: "#/definitions/VnfInstance" pnfInfo: description: > Information on the PNF(s) that are part of the NS instance. type: array items: - $ref: "#/definitions/PnfInfo" + $ref: "#/definitions/PnfInfo" virtualLinkInfo: description: > Information on the VL(s) of the NS instance. @@ -82,25 +226,25 @@ definitions: specified connectivity. type: array items: - $ref: "#/definitions/NsVirtualLinkInfo" + $ref: "#/definitions/NsVirtualLinkInfo" vnffgInfo: description: > Information on the VNFFG(s) of the NS instance. type: array items: - $ref: "#/definitions/VnffgInfo" + $ref: "#/definitions/VnffgInfo" sapInfo: description: > Information on the SAP(s) of the NS instance. type: array - items: + items: $ref: "#/definitions/SapInfo" nestedNsInstanceId: description: > Identifier of the nested NS(s) of the NS instance. type: array - items: - $ref: "SOL005_def.yaml#/definitions/Identifier" + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" nsState: description: > The state of the NS instance. @@ -109,9 +253,17 @@ definitions: terminated or not instantiated. INSTANTIATED: The NS instance is instantiated. type: string - enum: + enum: - NOT_INSTANTIATED - - INSTANTIATED + - INSTANTIATED + monitoringParameter: + description: > + Performance metrics tracked by the NFVO (e.g. for + auto-scaling purposes) as identified by the NS + designer in the NSD. + type: array + items: + $ref: "#/definitions/NsMonitoringParameter" nsScaleStatus: description: > Status of each NS scaling aspect declared in the @@ -121,14 +273,14 @@ definitions: value is INSTANTIATED. type: array items: - $ref: "#/definitions/NsScaleInfo" + $ref: "#/definitions/NsScaleInfo" additionalAffinityOrAntiAffinityRule: description: > Information on the additional affinity or anti-affinity rule from NS instantiation operation. Shall not conflict with rules already specified in the NSD. type: array - items: + items: $ref: "#/definitions/AffinityOrAntiAffinityRule" _links: type: object @@ -139,34 +291,34 @@ definitions: self: description: > URI of this resource. - $ref: "SOL005_def.yaml#/definitions/Link" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" nestedNsInstances: description: > Links to resources related to this notification. type: array items: - $ref: "SOL005_def.yaml#/definitions/Link" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" instantiate: description: > Link to the "instantiate" task resource, if the related operation is possible based on the current status of this NS instance resource (i.e. NS instance in NOT_INSTANTIATED state). - $ref: "SOL005_def.yaml#/definitions/Link" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" terminate: description: > Link to the "terminate" task resource, if the related operation is possible based on the current status of this NS instance resource (i.e. NS instance is in INSTANTIATED state). - $ref: "SOL005_def.yaml#/definitions/Link" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" update: description: > Link to the "update" task resource, if the related operation is possible based on the current status of this NS instance resource (i.e. NS instance is in INSTANTIATED state). - $ref: "SOL005_def.yaml#/definitions/Link" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" scale: description: > Link to the "scale" task resource, if the related @@ -174,7 +326,7 @@ definitions: possible based on the current status of this NS instance resource (i.e. NS instance is in INSTANTIATED state). - $ref: "SOL005_def.yaml#/definitions/Link" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" heal: description: > Link to the "heal" task resource, if the related @@ -182,8 +334,8 @@ definitions: possible based on the current status of this NS instance resource (i.e. NS instance is in INSTANTIATED state). - $ref: "SOL005_def.yaml#/definitions/Link" - + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" + VnfInstance: description: > This type represents a VNF instance. @@ -201,7 +353,7 @@ definitions: id: description: > Identifier of the VNF instance. - $ref: "SOL005_def.yaml#/definitions/Identifier" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" vnfInstanceName: description: > Name of the VNF instance. @@ -215,7 +367,7 @@ definitions: vnfdId: description: > Identifier of the VNFD on which the VNF instance is based. - $ref: "SOL005_def.yaml#/definitions/Identifier" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" vnfProvider: description: > Provider of the VNF and the VNFD. The value is copied from the VNFD. @@ -227,19 +379,19 @@ definitions: vnfSoftwareVersion: description: > Software version of the VNF. The value is copied from the VNFD. - $ref: "#/definitions/Version" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Version" vnfdVersion: description: > Identifies the version of the VNFD. The value is copied from the VNFD. - $ref: "#/definitions/Version" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Version" vnfPkgId: description: > - Identifier of information held by the NFVO about - the specific VNF package on which the VNF is - based. This identifier was allocated by the NFVO. - This attribute can be modified with the PATCH - method. - $ref: "SOL005_def.yaml#/definitions/Identifier" + Identifier of information held by the NFVO about + the specific VNF package on which the VNF is + based. This identifier was allocated by the NFVO. + This attribute can be modified with the PATCH + method. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" vnfConfigurableProperties: description: > Current values of the configurable properties of the VNF instance. @@ -265,11 +417,11 @@ definitions: set to true, auto-healing is currently enabled. If set to false, auto-healing is currently disabled. This attribute can be modified with the PATCH method. - $ref: "SOL005_def.yaml#/definitions/KeyValuePairs" + $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" vimId: description: > Identifier of a VIM that manages resources for the VNF instance. - $ref: "SOL005_def.yaml#/definitions/Identifier" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" instantiationState: description: > The instantiation state of the VNF. @@ -289,7 +441,7 @@ definitions: flavourId: description: > Identifier of the VNF deployment flavor applied to this VNF instance. - $ref: "SOL005_def.yaml#/definitions/IdentifierInVnfd" + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd" vnfState: description: > The state of the VNF instance. @@ -307,32 +459,7 @@ definitions: type: array minItems: 1 items: - type: object - required: - - id - - cpdId - properties: - id: - description: > - Identifier of the external CP instance and the related information instance. - $ref: "SOL005_def.yaml#/definitions/IdentifierInVnf" - cpdId: - description: > - Identifier of the external CPD, VnfExtCpd, in the VNFD. - $ref: "SOL005_def.yaml#/definitions/IdentifierInVnfd" - cpProtocolInfo: - description: > - Network protocol information for this CP. - type: array - items: - $ref: "#/definitions/CpProtocolInfo" - extLinkPortId: - description: > - Identifier of the "extLinkPortInfo" structure inside the the - "extVirtualLinkInfo" structure. Shall be present if the CP is - associated to a link port. - $ref: "SOL005_def.yaml#/definitions/Identifier" - + $ref: "#/definitions/VnfExtCpInfo" extVirtualLinkInfo: description: > Information about the external VLs the VNF instance is connected to. @@ -347,10 +474,12 @@ definitions: $ref: "#/definitions/ExtManagedVirtualLinkInfo" monitoringParameters: description: > - Active monitoring parameters. + Performance metrics tracked by the VNFM (e.g. for + auto-scaling purposes) as identified by the VNF + provider in the VNFD. type: array items: - $ref: "#/definitions/MonitoringParameter" + $ref: "#/definitions/VnfMonitoringParameter" localizationLanguage: description: > Information about localization language of the VNF (includes e.g. @@ -361,8 +490,8 @@ definitions: type: string vnfcResourceInfo: description: > - Information about the virtualised compute and storage resources used - by the VNFCs of the VNF instance. + Information about the virtualised compute and storage resources used + by the VNFCs of the VNF instance. type: array items: $ref: "#/definitions/VnfcResourceInfo" @@ -384,49 +513,44 @@ definitions: Additional VNF-specific metadata describing the VNF instance. Metadata that are writeable are declared in the VNFD. This attribute can be modified with the PATCH method. - $ref: "SOL005_def.yaml#/definitions/KeyValuePairs" + $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" extensions: description: > VNF-specific attributes that affect the lifecycle management of this VNF instance by the VNFM, or the lifecycle management scripts. Extensions that are writeable are declared in the VNFD. This attribute can be modified with the PATCH method. - $ref: "SOL005_def.yaml#/definitions/KeyValuePairs" - + $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" + LccnLinks: description: > This type represents the links to resources that a notification can contain. type: object - required: + required: - nsInstance - properties: + properties: nsInstance: description: > Link to the resource representing the NS instance to which the notified change applies.. - $ref: "SOL005_def.yaml#/definitions/Link" + $ref: "../../definitions/SOL005_def.yaml#/definitions/NotificationLink" subscription: description: > Link to the subscription that triggered this notification. - $ref: "SOL005_def.yaml#/definitions/Link" - lcOpOcc: + $ref: "../../definitions/SOL005_def.yaml#/definitions/NotificationLink" + nslcmOpOcc: description: > Link to the lifecycle operation occurrence that this notification is related to. Shall be present if there is a related lifecycle operation occurrence - $ref: "SOL005_def.yaml#/definitions/Link" - - Version: - description: > - A Version. - type: string - + $ref: "../../definitions/SOL005_def.yaml#/definitions/NotificationLink" + VnfOperationalStateType: type: string enum: - STARTED - STOPPED - + VnfScaleInfo: required: - aspectId @@ -436,7 +560,7 @@ definitions: aspectId: description: > Identifier of the scaling aspect. - $ref: "SOL005_def.yaml#/definitions/IdentifierInVnfd" + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd" scaleLevel: description: > Indicates the scale level. The minimum value shall be 0 and the @@ -458,7 +582,7 @@ definitions: pnfId: description: > Identifier of the PNF. This identifier is allocated by the OSS/BSS. - $ref: "SOL005_def.yaml#/definitions/Identifier" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" pnfName: description: > Name of the PNF. @@ -466,22 +590,22 @@ definitions: pnfdId: description: > Identifier of the PNFD on which the PNF is based. - $ref: "SOL005_def.yaml#/definitions/Identifier" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" pnfdInfoId: description: > Identifier of the PNFD information onject related to this PNF. This identifier is allocated by the NFVO - $ref: "SOL005_def.yaml#/definitions/Identifier" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" pnfProfileId: description: > Identifier of the related PnfProfile in the NSD on which the PNF is based. - $ref: "SOL005_def.yaml#/definitions/IdentifierInNsd" + $ref: "#/definitions/IdentifierInNsd" cpInfo: description: > Information on the external CP of the PNF. $ref: "#/definitions/PnfExtCpInfo" - + PnfExtCpInfo: description: > This type represents the information about the external CP of the PNF. @@ -495,19 +619,19 @@ definitions: cpInstanceId: description: > Identifier of the CP in the scope of the PNF. - $ref: "SOL005_def.yaml#/definitions/IdentifierInPnf" + $ref: "#/definitions/IdentifierInPnf" cpdId: description: > Identifier of (reference to) the Connection Point Descriptor (CPD) for this CP. - $ref: "SOL005_def.yaml#/definitions/IdentifierInNsd" + $ref: "#/definitions/IdentifierInNsd" cpProtocolData: description: > Parameters for configuring the network protocols on the CP. type: array - items: - $ref: "SOL005_def.yaml#/definitions/CpProtocolData" - + items: + $ref: "#/definitions/CpProtocolData" + NsVirtualLinkInfo: description: > This type specifies the information about an NS VL instance. @@ -517,29 +641,34 @@ definitions: required: - id - nsVirtualLinkDescId + - nsVirtualLinkProfileId properties: id: description: > Identifier of the VL instance. - $ref: "SOL005_def.yaml#/definitions/IdentifierInNs" + $ref: "#/definitions/IdentifierInNs" nsVirtualLinkDescId: description: > Identifier of the VLD in the NSD. - $ref: "SOL005_def.yaml#/definitions/IdentifierInNsd" + $ref: "#/definitions/IdentifierInNsd" + nsVirtualLinkProfileId: + description: > + Identifier of the VL profile in the NSD. + $ref: "#/definitions/IdentifierInNsd" resourceHandle: description: > Identifier(s) of the virtualised network resource(s) realizing the VL instance. See note. type: array - items: - $ref: "SOL005_def.yaml#/definitions/ResourceHandle" + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/ResourceHandle" linkPort: description: > Link ports of the VL instance. Cardinality of zero indicates that no port has yet been created for the VL instance. type: array - items: + items: $ref: "#/definitions/NsLinkPortInfo" VnffgInfo: @@ -555,83 +684,140 @@ definitions: id: description: > Identifier of this VNFFG instance. - $ref: "SOL005_def.yaml#/definitions/Identifier" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" vnffgdId: description: > Identifier of the VNFFGD in the NSD. - $ref: "SOL005_def.yaml#/definitions/IdentifierInNsd" + $ref: "#/definitions/IdentifierInNsd" vnfInstanceId: description: > Identifier(s) of the constituent VNF instance(s) of this VNFFG instance. type: array - items: - $ref: "SOL005_def.yaml#/definitions/Identifier" + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" pnfdInfoId: description: > Identifier(s) of the constituent PNF instance(s) of this VNFFG instance. type: array - items: - $ref: "SOL005_def.yaml#/definitions/Identifier" + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" nsVirtualLinkInfoId: description: > Identifier(s) of the constituent VL instance(s) of this VNFFG instance. type: array - items: - $ref: "SOL005_def.yaml#/definitions/IdentifierInNs" + items: + $ref: "#/definitions/IdentifierInNs" nsCpHandle: description: > Identifiers of the CP instances attached to the constituent VNFs and PNFs or the SAP instances of the VNFFG. See note. type: array - items: + items: + $ref: "#/definitions/NsCpHandle" + + NfpInfo: + description: > + This type represents an NFP instance. It shall comply with + the provisions defined in Table 6.5.3.66-1. + type: object + required: + - id + - nfpRule + - nfpState + properties: + id: + description: > + Identifier of this NFP instance. + $ref: "#/definitions/IdentifierInNs" + nfpdId: + description: > + Identifier of the NFPD used to instantiate this NFP + instance. It shall be present if the NFP instance is + instantiated from the NFPD. + $ref: "#/definitions/IdentifierInNsd" + nfpName: + description: > + Human readable name for the NFP instance. + type: string + description: + description: > + Human readable description for the NFP instance. + type: string + cpGroup: + description: > + Group(s) of CPs and/or SAPs which the NFP passes through. + When multiple identifiers are included, the position of + the identifier in the CpGroup data type specifies the + position of the group in the path. + type: array + minItems: 1 + items: $ref: "#/definitions/NsCpHandle" + totalCp: + description: > + Total number of CP and SAP instances in this NFP instance. + type: integer + nfpRule: + description: > + NFP classification and selection rule. + $ref: "#/definitions/NfpRule" + nfpState: + description: > + The state of the NFP instance. + Permitted values: + * ENABLED: The NFP instance is enabled. + * DISABLED: The NFP instance is disabled. + type: string + enum: + - ENABLED + - DISABLED NsCpHandle: description: > This type represents an identifier of the CP or SAP instance. It shall comply with the provisions defined in Table 6.5.3.56-1. - type: object + type: object properties: vnfInstanceId: description: > Identifier of the VNF instance associated to the CP instance. This attribute shall be present if the CP instance is VNF external CP. - $ref: "SOL005_def.yaml#/definitions/Identifier" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" vnfExtCpInstanceId: description: > Identifier of the VNF external CP instance in the scope of the VNF instance. This attribute shall be present if the CP instance is VNF external CP. See notes 1 and 4. - $ref: "SOL005_def.yaml#/definitions/IdentifierInVnf" + $ref: "#/definitions/IdentifierInVnf" pnfInfoId: description: > Identifier of the PNF instance associated to the CP instance. This attribute shall be present if the CP instance is PNF external CP. See notes 2 and 4. - $ref: "SOL005_def.yaml#/definitions/Identifier" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" pnfExtCpInstanceId: description: > Identifier of the PNF external CP instance in the scope of the PNF. This attribute shall be present if the CP instance is PNF external CP. See notes 2 and 4. - $ref: "SOL005_def.yaml#/definitions/IdentifierInPnf" + $ref: "#/definitions/IdentifierInPnf" nsInstanceId: description: > Identifier of the NS instance associated to the SAP instance. This attribute shall be present if the CP instance is NS SAP. See notes 3 and 4. - $ref: "SOL005_def.yaml#/definitions/Identifier" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" nsSapInstanceId: description: > Identifier of the SAP instance in the scope of the NS instance. This attribute shall be present if the CP instance is NS SAP. See notes 3 and 4. - $ref: "SOL005_def.yaml#/definitions/IdentifierInNs" - + $ref: "#/definitions/IdentifierInNs" + SapInfo: description: > This type represents an SAP instance. It shall comply with the provisions defined in Table 6.5.3.67-1. @@ -645,11 +831,11 @@ definitions: id: description: > Identifier of the SAP instance. - $ref: "SOL005_def.yaml#/definitions/IdentifierInNs" + $ref: "#/definitions/IdentifierInNs" sapdId: description: > Identifier of the SAPD in the NSD. - $ref: "SOL005_def.yaml#/definitions/IdentifierInNsd" + $ref: "#/definitions/IdentifierInNsd" sapName: description: > Human readable name for the SAP instance. @@ -662,9 +848,215 @@ definitions: description: > Network protocol information for this SAP. type: array - items: + items: + $ref: "#/definitions/CpProtocolInfo" + + NsMonitoringParameter: + description: > + This type represents a monitoring parameter that is tracked by the NFVO, for example, + for auto-scaling purposes. It shall comply with the provisions defined in Table 6.5.3.68-1. + type: object + required: + - id + - performanceMetric + properties: + id: + description: > + Identifier of the monitoring parameter defined in the NSD. + $ref: "#/definitions/IdentifierInNsd" + name: + description: > + Human readable name of the monitoring parameter, as defined in the NSD. + type: string + performanceMetric: + description: > + Performance metric that is monitored. This attribute shall contain the related + "Measurement Name" value as defined in clause 7.2 of ETSI GS NFV-IFA 027. + type: string + + VnfMonitoringParameter: + description: > + This type represents a monitoring parameter that is tracked by the VNFM, for example, + for auto-scaling purposes. It shall comply with the provisions defined in Table 6.5.3.69-1. + type: object + required: + - id + - performanceMetric + properties: + id: + description: > + Identifier of the monitoring parameter defined in the VNFD. + $ref: "#/definitions/IdentifierInNsd" + name: + description: > + Human readable name of the monitoring parameter, as defined in the VNFD. + type: string + performanceMetric: + description: > + Performance metric that is monitored. This attribute shall contain the related + "Measurement Name" value as defined in clause 7.2 of ETSI GS NFV-IFA 027. + type: string + + VnfExtCpInfo: + description: > + This type represents information about an external CP of a VNF. It shall comply + with the provisions defined in Table 6.5.3.70-1. + type: object + required: + - id + - cpdId + properties: + id: + description: > + Identifier of the external CP instance and the related information instance. + $ref: "#/definitions/IdentifierInVnf" + cpdId: + description: > + Identifier of the external CPD, VnfExtCpd, in the VNFD. + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd" + cpProtocolInfo: + description: > + Network protocol information for this CP. + type: array + minItems: 1 + items: $ref: "#/definitions/CpProtocolInfo" - + extLinkPortId: + description: > + Identifier of the "extLinkPortInfo" structure inside the "extVirtualLinkInfo" + structure. Shall be present if the CP is associated to a link port. + $ref: "#/definitions/CpProtocolInfo" + metadata: + description: > + Metadata about this external CP. + $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" + associatedVnfcCpId: + description: > + Identifier of the "vnfcCpInfo" structure in "VnfcResourceInfo" structure + that represents the VNFC CP which is exposed by this external CP instance. + Shall be present in case this CP instance maps to a VNFC CP(s). + The attributes "associatedVnfcCpId" and "associatedVnfVirtualLinkId" are + mutually exclusive. One and only one shall be present. + $ref: "#/definitions/IdentifierInVnf" + associatedVnfVirtualLinkId: + description: > + Identifier of the "VnfVirtualLinkResourceInfo" structure that represents + the internal VL, which is exposed by this external CP instance. Shall be + present in case this CP instance maps to an internal VL. + The attributes "associatedVnfcCpId" and "associatedVnfVirtualLinkId" are + mutually exclusive. One and only one shall be present. + $ref: "#/definitions/IdentifierInVnf" + + CpGroupInfo: + description: > + This type represents describes a group of CPs and/or SAPs pairs associated to + the same position in an NFP. It shall comply with the provisions defined in + Table 6.5.3.71-1. + type: object + properties: + cpPairInfo: + description: > + One or more pair(s) of ingress and egress CPs or SAPs which the NFP passes by. + All CP or SAP pairs in a group shall be instantiated from connection point + descriptors or service access point descriptors referenced in the corresponding + NfpPositionDesc. + type: array + minItems: 1 + items: + $ref: "#/definitions/CpPairInfo" + forwardingBehaviour: + description: > + Identifies a rule to apply to forward traffic to the ingress CPs or SAPs of + the group. + Permitted values: + * ALL = Traffic flows shall be forwarded simultaneously to all CPs or SAPs + of the group. + * LB = Traffic flows shall be forwarded to one CP or SAP of the group selected + based on a loadbalancing algorithm. + type: string + enum: + - ALL + - LB + forwardingBehaviourInputParameters: + description: > + Provides input parameters to configure the forwarding behaviour (e.g. identifies + a load balancing algorithm and criteria). + $ref: "#/definitions/ForwardingBehaviourInputParameters" + + CpPairInfo: + description: > + This type represents describes a pair of ingress and egress CPs or SAPs which + the NFP passes by. It shall comply with the provisions defined in Table 6.5.3.72-1. + type: object + properties: + vnfExtCpIds: + description: > + Identifier(s) of the VNF CP(s) which form the pair. + The presence of a single vnfExpCpId, pnfExtCpId, or sapId occurrence indicates + that the CP or SAP is used both as an ingress and egress port at a particular + NFP position. + type: array + maxItems: 2 + items: + $ref: "#/definitions/IdentifierInVnf" + pnfExtCpIds: + description: > + Identifier(s) of the PNF CP(s) which form the pair. + The presence of a single vnfExpCpId, pnfExtCpId, or sapId occurrence indicates + that the CP or SAP is used both as an ingress and egress port at a particular + NFP position. + type: array + maxItems: 2 + items: + $ref: "#/definitions/IdentifierInPnf" + sapIds: + description: > + Identifier(s) of the SAP(s) which form the pair. + The presence of a single vnfExpCpId, pnfExtCpId, or sapId occurrence indicates + that the CP or SAP is used both as an ingress and egress port at a particular + NFP position. + type: array + maxItems: 2 + items: + $ref: "#/definitions/IdentifierInNs" + + ForwardingBehaviourInputParameters: + description: > + This type represents provides input parameters to configure the forwarding behaviour. + It shall comply with the provisions defined in Table 6.5.3.73-1. + type: object + properties: + algortihmName: + description: > + May be included if forwarding behaviour is equal to LB. Shall not be included otherwise. + Permitted values: + * ROUND_ROBIN + * LEAST_CONNECTION + * LEAST_TRAFFIC + * LEAST_RESPONSE_TIME + * CHAINED_FAILOVER + * SOURCE_IP_HASH + * SOURCE_MAC_HASH + type: string + enum: + - ROUND_ROBIN + - LEAST_CONNECTION + - LEAST_TRAFFIC + - LEAST_RESPONSE_TIME + - CHAINED_FAILOVER + - SOURCE_IP_HASH + - SOURCE_MAC_HASH + algorithmWeights: + description: > + Percentage of messages sent to a CP instance. May be included if applicable to + the algorithm. + If applicable to the algorithm but not provided, default values determined by + the VIM or NFVI are expected to be used. + Weight applies to the CP instances in the order they have been created. + type: array + items: + type: integer + CpProtocolInfo: description: > This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like @@ -691,135 +1083,135 @@ definitions: $ref: "#/definitions/IpOverEthernetAddressInfo" IpOverEthernetAddressInfo: - description: > - This type represents information about a network address that has been assigned. - It shall comply with the provisions defined in Table 6.5.3.18-1. - type: object - required: - - macAddress - - ipAddresses - - subnetId - - addresses - - addressRange - properties: - macAddress: - description: > - Assigned MAC address. - $ref: "SOL005_def.yaml#/definitions/MacAddress" - ipAddresses: - description: > - Addresses assigned to the CP instance. Each entry represents IP - addresses assigned by fixed or dynamic IP address assignment per - subnet. - type: array - items: - type: object - required: - - type - properties: - type: - description: > - The type of the IP addresses. - Permitted values: IPV4, IPV6. - type: string - enum: - - IPV4 - - IPV6 - addresses: - description: > - Fixed addresses assigned (from the subnet defined by - "subnetId" if provided). - type: array - items: - $ref: "SOL005_def.yaml#/definitions/IpAddress" - isDynamic: - description: > - Indicates whether this set of addresses was assigned - dynamically (true) or based on address information provided as - input from the API consumer (false). Shall be present if - "addresses" is present and shall be absent otherwise. - type: boolean - addressRange: - description: > - An IP address range used, e.g., in case of egress connections. - Exactly one of "addresses" or "addressRange" shall be present. - type: object - required: - - minAddress - - maxAddress - properties: - minAddress: - description: > - Lowest IP address belonging to the range. - $ref: "SOL005_def.yaml#/definitions/IpAddress" - maxAddress: - description: > - Highest IP address belonging to the range - $ref: "SOL005_def.yaml#/definitions/IpAddress" - subnetId: - description: > - Subnet defined by the identifier of the subnet resource in - the VIM. - In case this attribute is present, IP addresses are bound - to that subnet. - $ref: "SOL005_def.yaml#/definitions/IdentifierInVim" - - - type: - description: > - The type of the IP addresses - type: string - enum: - - PV4 - - PV6 - addresses: - description: > - Fixed addresses assigned (from the subnet - defined by "subnetId" if provided). See note. - type: array - items: - $ref: "SOL005_def.yaml#/definitions/IpAddress" - isDynamic: - description: > - Indicates whether this set of addresses was - assigned dynamically (true) or based on address - information provided as input from the API - consumer (false). Shall be present if "addresses" - is present and shall be absent otherwise. - type: boolean - addressRange: - description: > - An IP address range used, e.g. in case of egress - connections. See note. - type: object - required: - - minAddress - - maxAddress - properties: - minAddress: - description: > - Lowest IP address belonging to the range. - $ref: "SOL005_def.yaml#/definitions/IpAddress" - maxAddress: - description: > - Highest IP address belonging to the range - $ref: "SOL005_def.yaml#/definitions/IpAddress" - minAddress: - description: > - Lowest IP address belonging to the range - $ref: "SOL005_def.yaml#/definitions/IpAddress" - maxAddress: - description: > - Highest IP address belonging to the range. - $ref: "SOL005_def.yaml#/definitions/IpAddress" - subnetId: - description: > - Subnet defined by the identifier of the subnet - resource in the VIM. - In case this attribute is present, IP addresses - are bound to that subnet. - $ref: "SOL005_def.yaml#/definitions/IdentifierInVim" - + description: > + This type represents information about a network address that has been assigned. + It shall comply with the provisions defined in Table 6.5.3.18-1. + type: object + required: + - macAddress + - ipAddresses + - subnetId + - addresses + - addressRange + properties: + macAddress: + description: > + Assigned MAC address. + $ref: "#/definitions/MacAddress" + ipAddresses: + description: > + Addresses assigned to the CP instance. Each entry represents IP + addresses assigned by fixed or dynamic IP address assignment per + subnet. + type: array + items: + type: object + required: + - type + properties: + type: + description: > + The type of the IP addresses. + Permitted values: IPV4, IPV6. + type: string + enum: + - IPV4 + - IPV6 + addresses: + description: > + Fixed addresses assigned (from the subnet defined by + "subnetId" if provided). + type: array + items: + $ref: "#/definitions/IpAddress" + isDynamic: + description: > + Indicates whether this set of addresses was assigned + dynamically (true) or based on address information provided as + input from the API consumer (false). Shall be present if + "addresses" is present and shall be absent otherwise. + type: boolean + addressRange: + description: > + An IP address range used, e.g., in case of egress connections. + Exactly one of "addresses" or "addressRange" shall be present. + type: object + required: + - minAddress + - maxAddress + properties: + minAddress: + description: > + Lowest IP address belonging to the range. + $ref: "#/definitions/IpAddress" + maxAddress: + description: > + Highest IP address belonging to the range + $ref: "#/definitions/IpAddress" + subnetId: + description: > + Subnet defined by the identifier of the subnet resource in + the VIM. + In case this attribute is present, IP addresses are bound + to that subnet. + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVim" + + + type: + description: > + The type of the IP addresses + type: string + enum: + - PV4 + - PV6 + addresses: + description: > + Fixed addresses assigned (from the subnet + defined by "subnetId" if provided). See note. + type: array + items: + $ref: "#/definitions/IpAddress" + isDynamic: + description: > + Indicates whether this set of addresses was + assigned dynamically (true) or based on address + information provided as input from the API + consumer (false). Shall be present if "addresses" + is present and shall be absent otherwise. + type: boolean + addressRange: + description: > + An IP address range used, e.g. in case of egress + connections. See note. + type: object + required: + - minAddress + - maxAddress + properties: + minAddress: + description: > + Lowest IP address belonging to the range. + $ref: "#/definitions/IpAddress" + maxAddress: + description: > + Highest IP address belonging to the range + $ref: "#/definitions/IpAddress" + minAddress: + description: > + Lowest IP address belonging to the range + $ref: "#/definitions/IpAddress" + maxAddress: + description: > + Highest IP address belonging to the range. + $ref: "#/definitions/IpAddress" + subnetId: + description: > + Subnet defined by the identifier of the subnet + resource in the VIM. + In case this attribute is present, IP addresses + are bound to that subnet. + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVim" + ExtVirtualLinkInfo: type: object required: @@ -827,16 +1219,16 @@ definitions: - resourceHandle properties: id: - description: > - Identifier of the external VL and the related external VL - information instance. - The identifier is assigned by the NFV-MANO entity that manages this - VL instance. - $ref: "SOL005_def.yaml#/definitions/Identifier" + description: > + Identifier of the external VL and the related external VL + information instance. + The identifier is assigned by the NFV-MANO entity that manages this + VL instance. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" resourceHandle: description: > Reference to the resource realizing this VL. - $ref: "SOL005_def.yaml#/definitions/ResourceHandle" + $ref: "../../definitions/SOL005_def.yaml#/definitions/ResourceHandle" extLinkPorts: description: > Link ports of this VL. @@ -857,18 +1249,18 @@ definitions: description: > Identifier of this link port as provided by the entity that has created the link port. - $ref: "SOL005_def.yaml#/definitions/Identifier" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" resourceHandle: description: > Reference to the virtualised resource realizing this link port. - $ref: "SOL005_def.yaml#/definitions/ResourceHandle" + $ref: "../../definitions/SOL005_def.yaml#/definitions/ResourceHandle" cpInstanceId: description: > Identifier of the external CP of the VNF connected to this link port. There shall be at most one link port associated with any external connection point instance. The value refers to an "extCpInfo" item in the VnfInstance. - $ref: "SOL005_def.yaml#/definitions/IdentifierInVnf" + $ref: "#/definitions/IdentifierInVnf" ExtManagedVirtualLinkInfo: type: object @@ -882,15 +1274,15 @@ definitions: externally-managed VL information instance. The identifier is assigned by the NFV-MANO entity that manages this VL instance. - $ref: "SOL005_def.yaml#/definitions/Identifier" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" vnfVirtualLinkDescId: description: > Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD. - $ref: "SOL005_def.yaml#/definitions/IdentifierInVnfd" + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd" networkResource: description: > Reference to the VirtualNetwork resource. - $ref: "SOL005_def.yaml#/definitions/ResourceHandle" + $ref: "../../definitions/SOL005_def.yaml#/definitions/ResourceHandle" vnfLinkPorts: description: > Link ports of this VL. @@ -907,11 +1299,11 @@ definitions: id: description: > Identifier of this link port as provided by the entity that has created the link port. - $ref: "SOL005_def.yaml#/definitions/IdentifierInVnf" + $ref: "#/definitions/IdentifierInVnf" resourceHandle: description: > Reference to the virtualised network resource realizing this link port. - $ref: "SOL005_def.yaml#/definitions/ResourceHandle" + $ref: "../../definitions/SOL005_def.yaml#/definitions/ResourceHandle" cpInstanceId: description: > When the link port is used for external connectivity by the VNF, @@ -928,7 +1320,19 @@ definitions: (i.e. VNFC CP) instance. The value refers to an "extCpInfo" item in the VnfInstance or a "vnfcCpInfo" item of a "vnfcResouceInfo" item in the VnfInstance. - $ref: "SOL005_def.yaml#/definitions/IdentifierInVnf" + $ref: "#/definitions/IdentifierInVnf" + cpInstanceType: + description: > + Type of the CP instance that is identified by cpInstanceId. + Shall be present if "cpInstanceId" is present, and shall be + absent otherwise. + Permitted values: + * VNFC_CP: The link port is connected to a VNFC CP + * EXT_CP: The link port is associated to an external CP. + type: string + enum: + - VNFC_CP + - EXT_CP MonitoringParameter: type: object @@ -940,7 +1344,7 @@ definitions: id: description: > Identifier of the monitoring parameter defined in the VNFD. - $ref: "SOL005_def.yaml#/definitions/IdentifierInVnfd" + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd" name: description: > Human readable name of the monitoring parameter, as defined in the VNFD. @@ -973,27 +1377,27 @@ definitions: id: description: > Identifier of this VnfcResourceInfo instance. - $ref: "SOL005_def.yaml#/definitions/IdentifierInVnf" + $ref: "#/definitions/IdentifierInVnf" vduId: description: > Reference to the applicable VDU in the VNFD. - $ref: "SOL005_def.yaml#/definitions/IdentifierInVnfd" + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd" computeResource: description: > Reference to the VirtualCompute resource. - $ref: "SOL005_def.yaml#/definitions/ResourceHandle" + $ref: "../../definitions/SOL005_def.yaml#/definitions/ResourceHandle" storageResourceIds: description: > References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance. type: array items: - $ref: "SOL005_def.yaml#/definitions/Identifier" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" reservationId: description: > The reservation identifier applicable to the resource. It shall be present when an applicable reservation exists. - $ref: "SOL005_def.yaml#/definitions/Identifier" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" vnfcCpInfo: description: > CPs of the VNFC instance. @@ -1011,16 +1415,16 @@ definitions: description: > Identifier of this VNFC CP instance and the associated array entry. - $ref: "SOL005_def.yaml#/definitions/IdentifierInVnf" + $ref: "#/definitions/IdentifierInVnf" cpdId: description: > Identifier of the VDU CPD, cpdId, in the VNFD. - $ref: "SOL005_def.yaml#/definitions/IdentifierInVnfd" + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd" vnfExtCpId: description: > When the VNFC CP is exposed as external CP of the VNF, the identifier of this external VNF CP. - $ref: "SOL005_def.yaml#/definitions/IdentifierInVnf" + $ref: "#/definitions/IdentifierInVnf" cpProtocolInfo: description: > Network protocol information for this CP. @@ -1030,224 +1434,238 @@ definitions: vnfLinkPortId: description: > Identifier of the "vnfLinkPorts" structure in the - "vnfVirtualLinkResourceInfo" structure. Shall be present if + "VnfVirtualLinkResourceInfo" structure. Shall be present if the CP is associated to a link port. - $ref: "SOL005_def.yaml#/definitions/IdentifierInVnf" + $ref: "#/definitions/IdentifierInVnf" + metadata: + description: > + Metadata about this CP. + $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" metadata: description: > Metadata about this resource. - $ref: "SOL005_def.yaml#/definitions/KeyValuePairs" + $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" VnfVirtualLinkResourceInfo: - description: > - This type represents the information that allows addressing a virtualised - resource that is used by an internal VL instance in a VNF instance. - type: object - required: - - id - - vnfVirtualLinkDescId - - networkResource - properties: - id: - description: > - Identifier of this VnfVirtualLinkResourceInfo instance. - $ref: "SOL005_def.yaml#/definitions/IdentifierInVnf" - vnfVirtualLinkDescId: - description: > - Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD. - $ref: "SOL005_def.yaml#/definitions/IdentifierInVnfd" - networkResource: - description: > - Reference to the VirtualNetwork resource. - $ref: "SOL005_def.yaml#/definitions/ResourceHandle" - reservationId: - description: > - The reservation identifier applicable to the resource. It shall be - present when an applicable reservation exists. - $ref: "SOL005_def.yaml#/definitions/Identifier" - vnfLinkPorts: - description: > - Links ports of this VL. - Shall be present when the linkPort is used for external connectivity - by the VNF (refer to VnfLinkPortInfo). - May be present otherwise. - type: array - items: - $ref: "#/definitions/VnfLinkPortInfo" - metadata: - description: > - Metadata about this resource. - $ref: "SOL005_def.yaml#/definitions/KeyValuePairs" - - VirtualStorageResourceInfo: - description: > - This type represents the information that allows addressing a virtualised - resource that is used by a VNF instance. - type: object - required: - - id - - virtualStorageDescId - - storageResource - properties: - id: - description: > - Identifier of this VirtualStorageResourceInfo instance. - $ref: "SOL005_def.yaml#/definitions/IdentifierInVnf" - virtualStorageDescId: - description: > - Identifier of the VirtualStorageDesc in the VNFD. - $ref: "SOL005_def.yaml#/definitions/IdentifierInVnfd" - storageResource: - description: > - Reference to the VirtualStorage resource. - $ref: "SOL005_def.yaml#/definitions/ResourceHandle" - reservationId: - description: > - The reservation identifier applicable to the resource. It shall be - present when an applicable reservation exists. - $ref: "SOL005_def.yaml#/definitions/Identifier" - metadata: - description: > - Metadata about this resource. - $ref: "SOL005_def.yaml#/definitions/KeyValuePairs" - - NsLinkPortInfo: - description: > - This type represents information about a link port of a VL instance. - It shall comply with the provisions defined in Table 6.5.3.55-1. - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - Identifier of this link port as provided by the entity that - has created the link port. - $ref: "SOL005_def.yaml#/definitions/Identifier" - resourceHandle: - description: > - Identifier of the virtualised network resource realizing - this link port. - $ref: "SOL005_def.yaml#/definitions/ResourceHandle" - nsCpHandle: - description: > - Identifier of the CP/SAP instance to be connected to this - link port. The value refers to a vnfExtCpInfo item in the - VnfInstance, or a pnfExtCpInfo item in the PnfInfo, or a - sapInfo item in the NS instance. - There shall be at most one link port associated with any - connection point instance. - type: array - items: - $ref: "#/definitions/NsCpHandle" - - AffinityOrAntiAffinityRule: - description: > - This type describes the additional affinity or anti-affinity rule - applicable between the VNF instances to be instantiated - in the NS instantiation operation request or between the VNF instances - to be instantiated in the NS instantiation - operation request and the existing VNF instances.. - type: object - required: - - affinityOrAntiAffiinty - - scope - properties: - vnfdId: - description: > - Reference to a VNFD. - When the VNFD which is not used to instantiate VNF, it - presents all VNF instances of this type as the subjects - of the affinity or anti-affinity rule. The VNF instance - which the VNFD presents is not necessary as a part of - the NS to be instantiated. - type: array - items: - $ref: "SOL005_def.yaml#/definitions/Identifier" - vnfProfileId: - description: > - Reference to a vnfProfile defined in the NSD. - At least one VnfProfile which is used to instantiate VNF - for the NS to be instantiated as the subject of the affinity - or anti-affinity rule shall be present. When the VnfProfile - which is not used to instantiate VNF, it presents all VNF - instances of this type as the subjects of the affinity or - anti-affinity rule. The VNF instance which the VnfProfile - presents is not necessary as a part of the NS to be instantiated. - type: array - items: - $ref: "SOL005_def.yaml#/definitions/IdentifierInNsd" - vnfInstanceId: - description: > - Reference to the existing VNF instance as the subject of - the affinity or anti-affinity rule. The existing VNF instance - is not necessary as a part of the NS to be instantiated. - type: array - items: - $ref: "SOL005_def.yaml#/definitions/Identifier" - affinityOrAntiAffiinty: - description: > - The type of the constraint. - Permitted values: - AFFINITY - ANTI_AFFINITY. - type: string - enum: - - AFFINITY - - ANTI_AFFINITY - scope: - description: > - Specifies the scope of the rule where the placement - constraint applies. - Permitted values: - NFVI_POP - ZONE - ZONE_GROUP - NFVI_NODE. - type: string - enum: - - NFVI_POP - - ZONE - - ZONE_GROUP - - NFVI_NODE - - InstantiateNsRequest: + description: > + This type represents the information that allows addressing a virtualised + resource that is used by an internal VL instance in a VNF instance. type: object required: - - nsFlavourId + - id + - vnfVirtualLinkDescId + - networkResource properties: - nsFlavourId: + id: description: > - Identifier of the NS deployment flavor to be instantiated. - $ref: "SOL005_def.yaml#/definitions/IdentifierInNsd" - sapData: + Identifier of this VnfVirtualLinkResourceInfo instance. + $ref: "#/definitions/IdentifierInVnf" + vnfVirtualLinkDescId: + description: > + Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD. + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd" + networkResource: + description: > + Reference to the VirtualNetwork resource. + $ref: "../../definitions/SOL005_def.yaml#/definitions/ResourceHandle" + reservationId: + description: > + The reservation identifier applicable to the resource. It shall be + present when an applicable reservation exists. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + vnfLinkPorts: + description: > + Links ports of this VL. + Shall be present when the linkPort is used for external connectivity + by the VNF (refer to VnfLinkPortInfo). + May be present otherwise. + type: array + items: + $ref: "#/definitions/VnfLinkPortInfo" + metadata: + description: > + Metadata about this resource. + $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" + + VirtualStorageResourceInfo: + description: > + This type represents the information that allows addressing a virtualised + resource that is used by a VNF instance. + type: object + required: + - id + - virtualStorageDescId + - storageResource + properties: + id: + description: > + Identifier of this VirtualStorageResourceInfo instance. + $ref: "#/definitions/IdentifierInVnf" + virtualStorageDescId: + description: > + Identifier of the VirtualStorageDesc in the VNFD. + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd" + storageResource: + description: > + Reference to the VirtualStorage resource. + $ref: "../../definitions/SOL005_def.yaml#/definitions/ResourceHandle" + reservationId: + description: > + The reservation identifier applicable to the resource. It shall be + present when an applicable reservation exists. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + metadata: + description: > + Metadata about this resource. + $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" + + NsLinkPortInfo: + description: > + This type represents information about a link port of a VL instance. + It shall comply with the provisions defined in Table 6.5.3.55-1. + type: object + required: + - id + - resourceHandle + properties: + id: + description: > + Identifier of this link port as provided by the entity that + has created the link port. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + resourceHandle: + description: > + Identifier of the virtualised network resource realizing + this link port. + $ref: "../../definitions/SOL005_def.yaml#/definitions/ResourceHandle" + nsCpHandle: + description: > + Identifier of the CP/SAP instance to be connected to this + link port. The value refers to a vnfExtCpInfo item in the + VnfInstance, or a pnfExtCpInfo item in the PnfInfo, or a + sapInfo item in the NS instance. + There shall be at most one link port associated with any + connection point instance. + type: array + items: + $ref: "#/definitions/NsCpHandle" + + AffinityOrAntiAffinityRule: + description: > + This type describes the additional affinity or anti-affinity rule + applicable between the VNF instances to be instantiated + in the NS instantiation operation request or between the VNF instances + to be instantiated in the NS instantiation + operation request and the existing VNF instances.. + type: object + required: + - affinityOrAntiAffiinty + - scope + properties: + vnfdId: + description: > + Reference to a VNFD. + When the VNFD which is not used to instantiate VNF, it + presents all VNF instances of this type as the subjects + of the affinity or anti-affinity rule. The VNF instance + which the VNFD presents is not necessary as a part of + the NS to be instantiated. + type: array + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + vnfProfileId: + description: > + Reference to a vnfProfile defined in the NSD. + At least one VnfProfile which is used to instantiate VNF + for the NS to be instantiated as the subject of the affinity + or anti-affinity rule shall be present. When the VnfProfile + which is not used to instantiate VNF, it presents all VNF + instances of this type as the subjects of the affinity or + anti-affinity rule. The VNF instance which the VnfProfile + presents is not necessary as a part of the NS to be instantiated. + type: array + items: + $ref: "#/definitions/IdentifierInNsd" + vnfInstanceId: + description: > + Reference to the existing VNF instance as the subject of + the affinity or anti-affinity rule. The existing VNF instance + is not necessary as a part of the NS to be instantiated. + type: array + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + affinityOrAntiAffiinty: + description: > + The type of the constraint. + Permitted values: + AFFINITY + ANTI_AFFINITY. + type: string + enum: + - AFFINITY + - ANTI_AFFINITY + scope: + description: > + Specifies the scope of the rule where the placement + constraint applies. + Permitted values: + NFVI_POP + ZONE + ZONE_GROUP + NFVI_NODE. + type: string + enum: + - NFVI_POP + - ZONE + - ZONE_GROUP + - NFVI_NODE + + InstantiateNsRequest: + type: object + required: + - nsFlavourId + properties: + nsFlavourId: + description: > + Identifier of the NS deployment flavor to be instantiated. + $ref: "#/definitions/IdentifierInNsd" + sapData: description: > - Create data concerning the SAPs of this NS. + Create data concerning the SAPs of this NS. type: array - items: - $ref: "#/definitions/SapData" + items: + $ref: "#/definitions/SapData" addpnfData: description: > Information on the PNF(s) that are part of this NS. type: array - items: - $ref: "#/definitions/AddPnfData" + items: + $ref: "#/definitions/AddPnfData" vnfInstanceData: description: > Specify an existing VNF instance to be used in the NS. If needed, the VNF Profile to be used for this VNF instance is also provided. + The DF of the VNF instance shall match the VNF DF + present in the associated VNF Profile. type: array - items: + items: $ref: "#/definitions/VnfInstanceData" - nestedNsInstanceId: + nestedNsInstanceData: description: > Specify an existing NS instance to be used as a nested NS within the NS. + If needed, the NS Profile to be used for this nested NS + instance is also provided. + NOTE 2: The NS DF of each nested NS shall be one of the + allowed flavours in the associated NSD (as referenced in the + nestedNsd attribute of the NSD of the NS to be instantiated). + NOTE 3: The NSD of each referenced NSs (i.e. each + nestedInstanceId) shall match the one of the nested NSD in + the composite NSD. type: array - items: - $ref: "SOL005_def.yaml#/definitions/Identifier" + items: + $ref: "#/definitions/NestedNsInstanceData" localizationLanguage: description: > Defines the location constraints for the VNF to be @@ -1255,211 +1673,267 @@ definitions: An example can be a constraint for the VNF to be in a specific geographic location.. type: array - items: - $ref: "#/definitions/VnfLocationConstraint" + items: + $ref: "#/definitions/VnfLocationConstraint" additionalParamsForNs: description: > Allows the OSS/BSS to provide additional parameter(s) - at the NS level (as opposed to the VNF level, which is - covered in additionalParamsForVnf).. - $ref: "SOL005_def.yaml#/definitions/KeyValuePairs" - additionalParamsForVnf: + at the composite NS level (as opposed to the VNF level, + which is covered in additionalParamsForVnf), and as + opposed to the nested NS level, which is covered in + additionalParamForNestedNs. + $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" + additionalParamForNestedNs: description: > Allows the OSS/BSS to provide additional parameter(s) - per VNF instance (as opposed to the NS level, which is - covered in additionalParamsForNs). This is for VNFs + per nested NS instance (as opposed to the composite NS + level, which is covered in additionalParamForNs, and as + opposed to the VNF level, which is covered in + additionalParamForVnf). This is for nested NS instances that are to be created by the NFVO as part of the NS - instantiation and not for existing VNF that are - referenced for reuse.. + instantiation and not for existing nested NS instances that + are referenced for reuse. + type: array + items: + $ref: "#/definitions/ParamsForNestedNs" + additionalParamsForVnf: + description: > + Allows the OSS/BSS to provide additional parameter(s) + per VNF instance (as opposed to the composite NS level, + which is covered in additionalParamsForNs and as opposed + to the nested NS level, which is covered in + additionalParamForNestedNs). This is for VNFs that are + to be created by the NFVO as part of the NS instantiation + and not for existing VNF that are referenced for reuse. type: array - items: - $ref: "#/definitions/ParamsForVnf" + items: + $ref: "#/definitions/ParamsForVnf" startTime: description: > Timestamp indicating the earliest time to instantiate the NS. Cardinality "0" indicates the NS instantiation takes place immediately. - $ref: "SOL005_def.yaml#/definitions/DateTime" + $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" nsInstantiationLevelId: description: > Identifies one of the NS instantiation levels declared in the DF applicable to this NS instance. If not present, the default NS instantiation level as declared in the NSD shall be used. - $ref: "SOL005_def.yaml#/definitions/IdentifierInNsd" - additionalAffinityOrAntiAffiniityRule: + $ref: "#/definitions/IdentifierInNsd" + additionalAffinityOrAntiAffinityRule: description: > - Specifies additional affinity or anti-affinity constraint for - the VNF instances to be instantiated as part of the NS - instantiation. - Shall not conflict with rules already specified in the NSD. + Specifies additional affinity or anti-affinity constraint for + the VNF instances to be instantiated as part of the NS + instantiation. + Shall not conflict with rules already specified in the NSD. type: array - items: + items: $ref: "#/definitions/AffinityOrAntiAffinityRule" + ParamsForNestedNs: + description: > + This type specifies additional parameters on a per-nested NS instance basis. + It shall comply with the provisions defined in Table 6.5.3.21a-1. + type: object + required: + - nsProfileId + properties: + nsProfileId: + description: > + Identifier of a NsProfile to which the additional parameters apply. + $ref: "#/definitions/IdentifierInNsd" + additionalParam: + description: > + Additional parameters that are to be applied on a per nested NS instance. + type: array + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" + ParamsForVnf: - description: > - This type defines the additional parameters for the VNF instance - to be created associated with an NS instance. - It shall comply with the provisions defined in Table 6.5.3.22-1. - type: object - required: - - vnfProfileId - properties: - vnfProfileId: - description: > - Identifier of (reference to) a vnfProfile to which the - additional parameters apply. - $ref: "SOL005_def.yaml#/definitions/IdentifierInNsd" - additionalParams: - description: > - Additional parameters that are applied for the VNF - instance to be created. - $ref: "SOL005_def.yaml#/definitions/KeyValuePairs" - + description: > + This type defines the additional parameters for the VNF instance + to be created associated with an NS instance. + It shall comply with the provisions defined in Table 6.5.3.22-1. + type: object + required: + - vnfProfileId + properties: + vnfProfileId: + description: > + Identifier of (reference to) a vnfProfile to which the + additional parameters apply. + $ref: "#/definitions/IdentifierInNsd" + additionalParams: + description: > + Additional parameters that are applied for the VNF + instance to be created. + $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" + LocationConstraints: - description: > - This type represents location constraints for a VNF to be instantiated. - The location constraints shall be presented as a - country code, optionally followed by a civic address based on - the format defined by IETF RFC 4776 [13]. - type: object - required: - - countryCode - properties: - countryCode: - description: > - The two-letter ISO 3166 [29] country code in capital letters. - type: string - civicAddressElement: - description: > - Zero or more elements comprising the civic address. - type: array - items: - type: object - required: - - caType - - caValue - properties: - caType: - description: > - Describe the content type of caValue. The value of - caType shall comply with Section 3.4 of IETF - RFC 4776 [13]. - type: integer - caValue: - description: > - Content of civic address element corresponding to the - caType. The format caValue shall comply with - Section 3.4 of IETF RFC 4776 [13]. - type: string - + description: > + This type represents location constraints for a VNF to be instantiated. + The location constraints shall be presented as a + country code, optionally followed by a civic address based on + the format defined by IETF RFC 4776 [13]. + type: object + required: + - countryCode + properties: + countryCode: + description: > + The two-letter ISO 3166 [29] country code in capital letters. + type: string + civicAddressElement: + description: > + Zero or more elements comprising the civic address. + type: array + items: + type: object + required: + - caType + - caValue + properties: + caType: + description: > + Describe the content type of caValue. The value of + caType shall comply with Section 3.4 of IETF + RFC 4776 [13]. + type: integer + caValue: + description: > + Content of civic address element corresponding to the + caType. The format caValue shall comply with + Section 3.4 of IETF RFC 4776 [13]. + type: string + VnfLocationConstraint: - description: > - This type represents the association of location constraints to a VNF instance - to be created according to a specific VNF profile. - It shall comply with the provisions defined in Table 6.5.3.20-1. - type: object - required: - - vnfProfileId - properties: - vnfProfileId: - description: > - Identifier of (reference to) a vnfProfile to which the - additional parameters apply. - $ref: "SOL005_def.yaml#/definitions/IdentifierInNsd" - locationConstraints: - description: > - Defines the location constraints for the VNF instance to - be created based on the VNF profile. - $ref: "#/definitions/LocationConstraints" + description: > + This type represents the association of location constraints to a VNF instance + to be created according to a specific VNF profile. + It shall comply with the provisions defined in Table 6.5.3.20-1. + type: object + required: + - vnfProfileId + properties: + vnfProfileId: + description: > + Identifier of (reference to) a vnfProfile to which the + additional parameters apply. + $ref: "#/definitions/IdentifierInNsd" + locationConstraints: + description: > + Defines the location constraints for the VNF instance to + be created based on the VNF profile. + $ref: "#/definitions/LocationConstraints" VnfInstanceData: - description: > - This type specifies an existing VNF instance to be used in the NS instance and - if needed, the VNF Profile to use for this VNF instance. - It shall comply with the provisions defined in Table 6.5.3.19-1. - type: object - required: - - vnfInstanceId - - vnfProfileId - properties: - vnfInstanceId: - description: > - Identifier of the existing VNF instance to be used in the NS. - $ref: "SOL005_def.yaml#/definitions/Identifier" - vnfProfileId: - description: > - Identifier of (Reference to) a vnfProfile defined in the - NSD which the existing VNF instance shall be matched - with. If not present, the NFVO will select the VnfProfile - matching the information in the VNF instance. - $ref: "SOL005_def.yaml#/definitions/IdentifierInNsd" - + description: > + This type specifies an existing VNF instance to be used in the NS instance and + if needed, the VNF Profile to use for this VNF instance. + It shall comply with the provisions defined in Table 6.5.3.19-1. + type: object + required: + - vnfInstanceId + - vnfProfileId + properties: + vnfInstanceId: + description: > + Identifier of the existing VNF instance to be used in the NS. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + vnfProfileId: + description: > + Identifier of (Reference to) a vnfProfile defined in the + NSD which the existing VNF instance shall be matched + with. If not present, the NFVO will select the VnfProfile + matching the information in the VNF instance. + $ref: "#/definitions/IdentifierInNsd" + + NestedNsInstanceData: + description: > + This type specifies an existing nested NS instance to be used in the NS instance + and if needed, the NsProfile to use for this nested NS instance. + It shall comply with the provisions defined in Table 6.5.3.19a-1. + type: object + required: + - nestedNsInstanceId + properties: + nestedNsInstanceId: + description: > + Identifier of the existing nested NS instance to be used in the NS. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + nsProfileId: + description: > + Identifier of an NsProfile defined in the NSD which the existing + nested NS instance shall be matched with. + If not present, the NFVO will select the NsProfile matching the + information in the nested NS instance. + $ref: "#/definitions/IdentifierInNs" + SapData: - description: > - This type represents the information related to a SAP of a NS. - It shall comply with the provisions defined in Table 6.5.3.10-1. - type: object - required: - - sapdId - - sapName - - description - properties: - sapdId: - description: > - Reference to the SAPD for this SAP. - $ref: "SOL005_def.yaml#/definitions/IdentifierInNsd" - sapName: - description: > - Human readable name for the SAP. - type: string - description: - description: > - Human readable description for the SAP. - type: string - sapProtocolData: + description: > + This type represents the information related to a SAP of a NS. + It shall comply with the provisions defined in Table 6.5.3.10-1. + type: object + required: + - sapdId + - sapName + - description + properties: + sapdId: + description: > + Reference to the SAPD for this SAP. + $ref: "#/definitions/IdentifierInNsd" + sapName: + description: > + Human readable name for the SAP. + type: string + description: + description: > + Human readable description for the SAP. + type: string + sapProtocolData: description: > Parameters for configuring the network protocols on the SAP. type: array - items: - $ref: "SOL005_def.yaml#/definitions/CpProtocolData" + items: + $ref: "#/definitions/CpProtocolData" ScaleNsRequest: - description: > - This type represents a request for the scale NS operation. - type: object - required: - - scaleType - properties: - scaleType: - description: > - Indicates the type of scaling to be performed. - Possible values: - - SCALE_NS - - SCALE_VNF - type: string - enum: - - SCALE_NS - - SCALE_VNF - scaleNsData: - description: > - The necessary information to scale the referenced NS instance. - It shall be present when scaleType = SCALE_NS. - $ref: "#/definitions/ScaleNsData" - scaleVnfData: - description: > - The necessary information to scale the referenced NS instance. - It shall be present when scaleType = SCALE_VNF. - type: array - items: - $ref: "#/definitions/ScaleVnfData" - scaleTime: - description: > + description: > + This type represents a request for the scale NS operation. + type: object + required: + - scaleType + properties: + scaleType: + description: > + Indicates the type of scaling to be performed. + Possible values: + - SCALE_NS + - SCALE_VNF + type: string + enum: + - SCALE_NS + - SCALE_VNF + scaleNsData: + description: > + The necessary information to scale the referenced NS instance. + It shall be present when scaleType = SCALE_NS. + $ref: "#/definitions/ScaleNsData" + scaleVnfData: + description: > + The necessary information to scale the referenced NS instance. + It shall be present when scaleType = SCALE_VNF. + type: array + items: + $ref: "#/definitions/ScaleVnfData" + scaleTime: + description: > Timestamp indicating the scale time of the NS, i.e. the NS will be scaled at this timestamp. Cardinality "0" indicates the NS scaling takes place immediately". - $ref: "SOL005_def.yaml#/definitions/DateTime" - + $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" + UpdateNsRequest: description: > This operation supports the update of a NS instance, @@ -1502,7 +1976,7 @@ definitions: * MODIFY_PNF: Modifying PNF * REMOVE_PNF: Removing PNF type: string - enum: + enum: - ADD_VNF - REMOVE_VNF - INSTANTIATE_VNF @@ -1516,18 +1990,18 @@ definitions: - ASSOC_NEW_NSD_VERSION - MOVE_VNF - ADD_VNFFG - - REMOVE_VNFFG - - UPDATE_VNFFG - - CHANGE_NS_DF - - ADD_PNF - - MODIFY_PNF - - REMOVE_PNF + - REMOVE_VNFFG + - UPDATE_VNFFG + - CHANGE_NS_DF + - ADD_PNF + - MODIFY_PNF + - REMOVE_PNF addVnfIstance: description: > Identifies an existing VNF instance to be added to the NS instance. It shall be present only if updateType = "ADD_VNF". type: array - items: + items: $ref: "#/definitions/VnfInstanceData" removeVnfInstanceId: description: > @@ -1539,37 +2013,37 @@ definitions: which this VNF instance was a part, the VNF instance is terminated by the NFVO. type: array - items: - $ref: "SOL005_def.yaml#/definitions/Identifier" + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" instantiateVnfData: description: > Identifies the new VNF to be instantiated. It can be used e.g. for the bottom-up NS creation. It shall be present only if updateType = "INSTANTIATE_VNF". type: array - items: - $ref: "#/definitions/InstantiateVnfData" + items: + $ref: "#/definitions/InstantiateVnfData" changeVnfFlavourData: description: > Identifies the new DF of the VNF instance to be changed to. It shall be present only if updateType = "CHANGE_VNF_DF". type: array - items: - $ref: "#/definitions/ChangeVnfFlavourData" + items: + $ref: "#/definitions/ChangeVnfFlavourData" operateVnfData: description: > Identifies the state of the VNF instance to be changed. It shall be present only if updateType = "OPERATE_VNF". type: array - items: - $ref: "#/definitions/OperateVnfData" + items: + $ref: "#/definitions/OperateVnfData" modifyVnfInfoData: description: > Identifies the VNF information parameters and/or the configurable properties of VNF instance to be modified. It shall be present only if updateType = "MODIFY_VNF_INFORMATION". type: array - items: + items: $ref: "#/definitions/ModifyVnfInfoData" changeExtVnfConnectivityData: description: > @@ -1577,38 +2051,38 @@ definitions: instance to be changed. It shall be present only if updateType = "CHANGE_EXTERNAL_VNF_CONNECTIVITY". type: array - items: - $ref: "#/definitions/ChangeExtVnfConnectivityData" + items: + $ref: "#/definitions/ChangeExtVnfConnectivityData" addSap: description: > Identifies a new SAP to be added to the NS instance. It shall be present only if updateType = "ADD_SAP." type: array - items: - $ref: "#/definitions/SapData" + items: + $ref: "#/definitions/SapData" removeSapId: description: > The identifier an existing SAP to be removed from the NS instance. It shall be present only if updateType = "REMOVE_SAP." type: array - items: - $ref: "SOL005_def.yaml#/definitions/Identifier" - addNestedNsId: + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + addNestedNsData: description: > The identifier of an existing nested NS instance to be added to (nested within) the NS instance. It shall be present only if updateType = "ADD_NESTED_NS". type: array - items: - $ref: "SOL005_def.yaml#/definitions/Identifier" + items: + $ref: "#/definitions/NestedNsInstanceData" removeNestedNsId: - description: > - The identifier of an existing nested NS instance to be - removed from the NS instance. It shall be present only if - updateType = "REMOVE_NESTED_NS". - type: array - items: - $ref: "SOL005_def.yaml#/definitions/IdentifierInNs" + description: > + The identifier of an existing nested NS instance to be + removed from the NS instance. It shall be present only if + updateType = "REMOVE_NESTED_NS". + type: array + items: + $ref: "#/definitions/IdentifierInNs" assocNewNsdVersionData: description: > Specify the new NSD to be used for the NS instance. It @@ -1621,65 +2095,66 @@ definitions: instance to another NS instance. It shall be present only if updateType = MOVE_VNF". type: array - items: - $ref: "#/definitions/MoveVnfInstanceData" + items: + $ref: "#/definitions/MoveVnfInstanceData" addVnffg: description: > Specify the new VNFFG to be created to the NS Instance. It shall be present only if updateType = "ADD_VNFFG". type: array - items: - $ref: "#/definitions/AddVnffgData" + items: + $ref: "#/definitions/AddVnffgData" removeVnffgId: description: > Identifier of an existing VNFFG to be removed from the NS Instance. It shall be present only if updateType = "REMOVE_VNFFG". type: array - items: - $ref: "SOL005_def.yaml#/definitions/Identifier" + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" updateVnffg: description: > Specify the new VNFFG Information data to be updated for a VNFFG of the NS Instance. It shall be present only if updateType = "UPDATE_VNFFG". type: array - items: - $ref: "#/definitions/UpdateVnffgData" + items: + $ref: "#/definitions/UpdateVnffgData" changeNsFlavourData: description: > Specifies the new DF to be applied to the NS instance. It shall be present only if updateType = "CHANGE_NS_DF". - $ref: "#/definitions/ChangeNsFlavourData" + $ref: "#/definitions/ChangeNsFlavourData" addPnfData: description: > specifies the PNF to be added into the NS instance. It shall be present only if updateType = "ADD_PNF". type: array - items: - $ref: "#/definitions/AddPnfData" + items: + $ref: "#/definitions/AddPnfData" modifyPnfData: description: > Specifies the PNF to be modified in the NS instance. It shall be present only if updateType = "MODIFY_PNF". type: array - items: - $ref: "#/definitions/ModifyPnfData" + items: + $ref: "#/definitions/ModifyPnfData" removePnfId: description: > Identifier of the PNF to be deleted from the NS instance. It shall be present only if updateType = "REMOVE_PNF". type: array - items: - $ref: "SOL005_def.yaml#/definitions/Identifier" + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" updateTime: description: > Timestamp indicating the update time of the NS, i.e. the NS will be updated at this timestamp. Cardinality "0" indicates the NS update takes place immediately. - $ref: "SOL005_def.yaml#/definitions/DateTime" + $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" + InstantiateVnfData: description: > This type represents the information related to a SAP of a NS. The InstantiateVnfData data type specifies the @@ -1690,24 +2165,24 @@ definitions: type: object required: - vnfdId - - vnfFlavourId + - vnfFlavourId properties: vnfdId: description: > Information sufficient to identify the VNFD which defines the VNF to be instantiated. - $ref: "SOL005_def.yaml#/definitions/Identifier" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" vnfFlavourId: description: > Identifier of the VNF deployment flavor to be instantiated. - $ref: "SOL005_def.yaml#/definitions/IdentifierInVnfd" + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd" vnfInstantiationLevelId: description: > Identifier of the instantiation level of the deployment flavor to be instantiated. If not present, the default instantiation level as declared in the VNFD is instantiated. - $ref: "SOL005_def.yaml#/definitions/IdentifierInVnfd" + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd" vnfInstanceName: description: > Human-readable name of the VNF instance to be created. @@ -1720,14 +2195,14 @@ definitions: description: > Information about external VLs to connect the VNF to. type: array - items: - $ref: "SOL005_def.yaml#/definitions/ExtVirtualLinkData" + items: + $ref: "#/definitions/ExtVirtualLinkData" extManagedVirtualLinks: description: > Information about internal VLs that are managed by other entities than the VNFM. type: array - items: - $ref: "SOL005_def.yaml#/definitions/ExtManagedVirtualLinkData" + items: + $ref: "#/definitions/ExtManagedVirtualLinkData" localizationLanguage: description: > Localization language of the VNF to be instantiated. @@ -1737,52 +2212,52 @@ definitions: description: > Additional input parameters for the instantiation process, specific to the VNF being instantiated. - $ref: "SOL005_def.yaml#/definitions/KeyValuePairs" - + $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" + ChangeVnfFlavourData: - description: > - The type represents the information that is requested to be changed - deployment flavor for an existing VNF instance. - It shall comply with the provisions defined in Table 6.5.3.25-1. - type: object - required: - - vnfInstanceId - - newFlavourId - properties: - vnfInstanceId: - description: > - Identifier of the VNF instance to be modified. - $ref: "SOL005_def.yaml#/definitions/Identifier" - newFlavourId: - description: > - Identifier of the VNF deployment flavor to be instantiated. - $ref: "SOL005_def.yaml#/definitions/IdentifierInVnfd" - instantiationLevelId: - description: > - Identifier of the instantiation level of the deployment - flavor to be instantiated. If not present, the default - instantiation level as declared in the VNFD is - instantiated. - $ref: "SOL005_def.yaml#/definitions/IdentifierInVnfd" - extVirtualLinks: - description: > - Information about external VLs to connect the VNF to. - type: array - items: - $ref: "SOL005_def.yaml#/definitions/ExtVirtualLinkData" - extManagedVirtualLinks: - description: > - information about internal VLs that are managed by NFVO. - type: array - items: - $ref: "SOL005_def.yaml#/definitions/ExtManagedVirtualLinkData" - additionalParams: - description: > - Additional input parameters for the flavor change - process, specific to the VNF being modified, as declared - in the VNFD as part of "ChangeVnfFlavourOpConfig". - $ref: "SOL005_def.yaml#/definitions/KeyValuePairs" - + description: > + The type represents the information that is requested to be changed + deployment flavor for an existing VNF instance. + It shall comply with the provisions defined in Table 6.5.3.25-1. + type: object + required: + - vnfInstanceId + - newFlavourId + properties: + vnfInstanceId: + description: > + Identifier of the VNF instance to be modified. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + newFlavourId: + description: > + Identifier of the VNF deployment flavor to be instantiated. + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd" + instantiationLevelId: + description: > + Identifier of the instantiation level of the deployment + flavor to be instantiated. If not present, the default + instantiation level as declared in the VNFD is + instantiated. + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd" + extVirtualLinks: + description: > + Information about external VLs to connect the VNF to. + type: array + items: + $ref: "#/definitions/ExtVirtualLinkData" + extManagedVirtualLinks: + description: > + information about internal VLs that are managed by NFVO. + type: array + items: + $ref: "#/definitions/ExtManagedVirtualLinkData" + additionalParams: + description: > + Additional input parameters for the flavor change + process, specific to the VNF being modified, as declared + in the VNFD as part of "ChangeVnfFlavourOpConfig". + $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" + OperateVnfData: description: > This type represents a VNF instance for which the operational state @@ -1796,7 +2271,7 @@ definitions: vnfInstanceId: description: > Identifier of the VNF instance. - $ref: "SOL005_def.yaml#/definitions/Identifier" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" changeStateTo: description: > The desired operational state (i.e. started or stopped) @@ -1812,535 +2287,546 @@ definitions: taken out of service during graceful stop, before stopping the VNF. type: integer - + OperationalStates: - description: > - STARTED - The VNF instance is up and running. - STOPPED - The VNF instance has been shut down. - type: string - enum: - - STARTED - - STOPPED + description: > + STARTED - The VNF instance is up and running. + STOPPED - The VNF instance has been shut down. + type: string + enum: + - STARTED + - STOPPED + StopType: - description: > - * FORCEFUL: The VNFM will stop the VNF immediately after accepting the - request. - * GRACEFUL: The VNFM will first arrange to take the VNF out of service - after accepting the request. Once that operation is successful or once - the timer value specified in the "gracefulStopTimeout" attribute - expires, the VNFM will stop the VNF. - type: string - enum: - - FORCEFUL - - GRACEFUL + description: > + * FORCEFUL: The VNFM will stop the VNF immediately after accepting the + request. + * GRACEFUL: The VNFM will first arrange to take the VNF out of service + after accepting the request. Once that operation is successful or once + the timer value specified in the "gracefulStopTimeout" attribute + expires, the VNFM will stop the VNF. + type: string + enum: + - FORCEFUL + - GRACEFUL ModifyVnfInfoData: - description: > - This type represents the information that is requested to be modified for a VNF instance. The information to be - modified shall comply with the associated NSD. - EXAMPLE. The vnfPkgId attribute value for a particular VNF instance can only be updated with a value that - matches the identifier value of a VNF package whose vnfdId is present in the associated profile of the NSD. - type: object - required: - - vnfInstanceId - properties: - vnfInstanceId: - description: > - Identifier of the VNF instance. - $ref: "SOL005_def.yaml#/definitions/Identifier" - vnfInstanceName: - description: > - New value of the "vnfInstanceName" attribute in - "VnfInstance", or "null" to remove the attribute. - type: string - vnfInstanceDescription: - description: > - New value of the "vnfInstanceDescription" attribute in "VnfInstance", - or "null" to remove the attribute. - type: string - vnfPkgId: - description: > - New value of the "vnfPkgId" attribute in "VnfInstance". - The value "null" is not permitted - $ref: "SOL005_def.yaml#/definitions/Identifier" - vnfConfigurableProperties: - description: > - Modifications to entries in the - "vnfConfigurableProperties" list, as defined below this Table. - $ref: "SOL005_def.yaml#/definitions/KeyValuePairs" - Metadata: - description: > - Modifications to entries in the "metadata" list, as - defined below this Table. - $ref: "SOL005_def.yaml#/definitions/KeyValuePairs" - Extensions: - description: > - Modifications to entries in the "extensions" list, as - defined below this Table. - $ref: "SOL005_def.yaml#/definitions/KeyValuePairs" - - ChangeExtVnfConnectivityData: - description: > - This type describes the information invoked by the NFVO to change the external VNF connectivity information - maintained by the VNFM. The types of changes that this operation supports are: - 1) Disconnect the external CPs that are connected to a particular external VL, and connect them to a different - external VL. - 2) Change the connectivity parameters of the existing external CPs, including changing addresses. - NOTE: Depending on the capabilities of the underlying VIM resources, certain changes (e.g. modifying the IP - address assignment) might not be supported without deleting the resource and creating another one with - the modified configuration. - This type shall comply with the provisions defined in Table 6.5.3.33-1. - type: object - required: - - vnfInstanceId - - extVirtualLink - properties: - vnfInstanceId: - description: > - Identifier of the VNF instance. - $ref: "SOL005_def.yaml#/definitions/Identifier" - extVirtualLink: - description: > - Information about external VLs to change (e.g. connect the VNF to). - type: array - items: - $ref: "SOL005_def.yaml#/definitions/ExtVirtualLinkData" - additionalParams: - description: > - Additional parameters passed by the OSS as input to - the external connectivity change process, specific to the - VNF instance being changed. - $ref: "SOL005_def.yaml#/definitions/KeyValuePairs" - - AssocNewNsdVersionData: - description: > - This type specifies a new NSD version that is associated to the NS instance. After issuing the Update NS operation with - updateType = "AssocNewNsdVersion", the NFVO shall use the referred NSD as a basis for the given NS instance. - Different versions of the same NSD have same nsdInvariantId, but different nsdId attributes, therefore if the - nsdInvariantId of the NSD version that is to be associated to this NS instance is different from the one used before, the - NFVO shall reject the request. Only new versions of the same NSD can be associated to an existing NS instance. This - data type shall comply with the provisions defined in Table 6.5.3.34-1. - type: object - required: - - newNsdId - properties: - newNsdId: - description: > - Identifier of the new NSD version that is to be - associated to the NS instance. - $ref: "SOL005_def.yaml#/definitions/Identifier" - sync: - description: > - Specify whether the NS instance shall be automatically - synchronized to the new NSD by the NFVO (in case of - true value) or the NFVO shall not do any action (in case - of a false value) and wait for further guidance from - OSS/BSS (i.e. waiting for OSS/BSS to issue NS - lifecycle management operation to explicitly add/remove - VNFs and modify information of VNF instances - according to the new NSD). - The synchronization to the new NSD means e.g. - instantiating/adding those VNFs whose VNFD is - referenced by the new NSD version but not referenced - by the old one, terminating/removing those VNFs whose - VNFD is referenced by the old NSD version but not - referenced by the new NSD version, modifying - information of VNF instances to the new applicable - VNFD provided in the new NSD version. - A cardinality of 0 indicates that synchronization shall not be done. - type: boolean - + description: > + This type represents the information that is requested to be modified for a VNF instance. The information to be + modified shall comply with the associated NSD. + EXAMPLE. The vnfPkgId attribute value for a particular VNF instance can only be updated with a value that + matches the identifier value of a VNF package whose vnfdId is present in the associated profile of the NSD. + type: object + required: + - vnfInstanceId + properties: + vnfInstanceId: + description: > + Identifier of the VNF instance. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + vnfInstanceName: + description: > + New value of the "vnfInstanceName" attribute in + "VnfInstance", or "null" to remove the attribute. + type: string + vnfInstanceDescription: + description: > + New value of the "vnfInstanceDescription" attribute in "VnfInstance", + or "null" to remove the attribute. + type: string + vnfPkgId: + description: > + New value of the "vnfPkgId" attribute in "VnfInstance". + The value "null" is not permitted + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + vnfConfigurableProperties: + description: > + Modifications to entries in the + "vnfConfigurableProperties" list, as defined below this Table. + $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" + Metadata: + description: > + Modifications to entries in the "metadata" list, as + defined below this Table. + $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" + Extensions: + description: > + Modifications to entries in the "extensions" list, as + defined below this Table. + $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" + + ChangeExtVnfConnectivityData: + description: > + This type describes the information invoked by the NFVO to change the external VNF connectivity information + maintained by the VNFM. The types of changes that this operation supports are: + 1) Disconnect the external CPs that are connected to a particular external VL, and connect them to a different + external VL. + 2) Change the connectivity parameters of the existing external CPs, including changing addresses. + NOTE: Depending on the capabilities of the underlying VIM resources, certain changes (e.g. modifying the IP + address assignment) might not be supported without deleting the resource and creating another one with + the modified configuration. + This type shall comply with the provisions defined in Table 6.5.3.33-1. + type: object + required: + - vnfInstanceId + - extVirtualLink + properties: + vnfInstanceId: + description: > + Identifier of the VNF instance. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + extVirtualLink: + description: > + Information about external VLs to change (e.g. connect the VNF to). + type: array + items: + $ref: "#/definitions/ExtVirtualLinkData" + additionalParams: + description: > + Additional parameters passed by the OSS as input to + the external connectivity change process, specific to the + VNF instance being changed. + $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" + + AssocNewNsdVersionData: + description: > + This type specifies a new NSD version that is associated to the NS instance. After issuing the Update NS operation with + updateType = "AssocNewNsdVersion", the NFVO shall use the referred NSD as a basis for the given NS instance. + Different versions of the same NSD have same nsdInvariantId, but different nsdId attributes, therefore if the + nsdInvariantId of the NSD version that is to be associated to this NS instance is different from the one used before, the + NFVO shall reject the request. Only new versions of the same NSD can be associated to an existing NS instance. This + data type shall comply with the provisions defined in Table 6.5.3.34-1. + type: object + required: + - newNsdId + properties: + newNsdId: + description: > + Identifier of the new NSD version that is to be + associated to the NS instance. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + sync: + description: > + Specify whether the NS instance shall be automatically + synchronized to the new NSD by the NFVO (in case of + true value) or the NFVO shall not do any action (in case + of a false value) and wait for further guidance from + OSS/BSS (i.e. waiting for OSS/BSS to issue NS + lifecycle management operation to explicitly add/remove + VNFs and modify information of VNF instances + according to the new NSD). + The synchronization to the new NSD means e.g. + instantiating/adding those VNFs whose VNFD is + referenced by the new NSD version but not referenced + by the old one, terminating/removing those VNFs whose + VNFD is referenced by the old NSD version but not + referenced by the new NSD version, modifying + information of VNF instances to the new applicable + VNFD provided in the new NSD version. + A cardinality of 0 indicates that synchronization shall not be done. + type: boolean + MoveVnfInstanceData: - description: > - This type specifies existing VNF instances to be moved from one NS instance (source) to another NS instance - (destination). The NS instance defined in the Update NS operation indicates the source NS instance and the destination - NS instance is specified in this data type (referred to targetNsInstanceId). - It shall comply with the provisions defined in Table 6.5.3.35-1. - type: object - required: - - targetNsInstanceId - properties: - targetNsInstanceId: - description: > - Specify the target NS instance where the VNF instances - are moved to. - $ref: "SOL005_def.yaml#/definitions/Identifier" - vnfInstanceId: - description: > - Specify the VNF instance that is moved. - type: array - items: - $ref: "SOL005_def.yaml#/definitions/Identifier" - + description: > + This type specifies existing VNF instances to be moved from one NS instance (source) to another NS instance + (destination). The NS instance defined in the Update NS operation indicates the source NS instance and the destination + NS instance is specified in this data type (referred to targetNsInstanceId). + It shall comply with the provisions defined in Table 6.5.3.35-1. + type: object + required: + - targetNsInstanceId + properties: + targetNsInstanceId: + description: > + Specify the target NS instance where the VNF instances + are moved to. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + vnfInstanceId: + description: > + Specify the VNF instance that is moved. + type: array + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + AddVnffgData: - description: > - This type specifies the parameters used for the creation of a new VNFFG instance. - It shall comply with the provisions defined in Table 6.5.3.36-1. - type: object - required: - - vnffgdId - - vnffgName - - description - properties: - targetNsInstanceId: - description: > - Identifier of the VNFFGD used to create this VNFFG - instance. - $ref: "SOL005_def.yaml#/definitions/IdentifierInNsd" - vnffgName: - description: > - Human readable name for the VNFFG. - type: string - description: - description: > - Human readable description for the VNFFG. - type: string - + description: > + This type specifies the parameters used for the creation of a new VNFFG instance. + It shall comply with the provisions defined in Table 6.5.3.36-1. + type: object + required: + - vnffgdId + - vnffgName + - description + properties: + targetNsInstanceId: + description: > + Identifier of the VNFFGD used to create this VNFFG + instance. + $ref: "#/definitions/IdentifierInNsd" + vnffgName: + description: > + Human readable name for the VNFFG. + type: string + description: + description: > + Human readable description for the VNFFG. + type: string + UpdateVnffgData: - description: > - This type specifies the parameters used for the update of an existing VNFFG instance. - It shall comply with the provisions defined in Table 6.5.3.37-1. - type: object - required: - - vnffgInfoId - properties: - vnffgInfoId: - description: > - Identifier of an existing VNFFG to be updated for the NS Instance. - $ref: "SOL005_def.yaml#/definitions/IdentifierInNs" - nfp: - description: > - Indicate the desired new NFP(s) for a given VNFFG - after the operations of addition/removal of NS - components (e.g. VNFs, VLs, etc.) have been - completed, or indicate the updated or newly created - NFP classification and selection rule which applied to an existing NFP. - type: array - items: - $ref: "#/definitions/NfpData" - nfpInfoId: - description: > - Identifier(s) of the NFP to be deleted from a given VNFFG. - type: array - items: - $ref: "SOL005_def.yaml#/definitions/IdentifierInNs" + description: > + This type specifies the parameters used for the update of an existing VNFFG instance. + It shall comply with the provisions defined in Table 6.5.3.37-1. + type: object + required: + - vnffgInfoId + properties: + vnffgInfoId: + description: > + Identifier of an existing VNFFG to be updated for the NS Instance. + $ref: "#/definitions/IdentifierInNs" + nfp: + description: > + Indicate the desired new NFP(s) for a given VNFFG + after the operations of addition/removal of NS + components (e.g. VNFs, VLs, etc.) have been + completed, or indicate the updated or newly created + NFP classification and selection rule which applied to an existing NFP. + type: array + items: + $ref: "#/definitions/NfpData" + nfpInfoId: + description: > + Identifier(s) of the NFP to be deleted from a given VNFFG. + type: array + items: + $ref: "#/definitions/IdentifierInNs" NfpData: - description: > - This type contains information used to create or modify NFP instance parameters - for the update of an existing VNFFG instance. - It shall comply with the provisions defined in Table 6.5.3.38-1. - type: object - properties: - nfpInfoId: - description: > - Identifier of the NFP to be modified. It shall be present - for modified NFPs and shall be absent for the new NFP. - $ref: "SOL005_def.yaml#/definitions/IdentifierInNs" - nfpName: - description: > - Human readable name for the NFP. It shall be present - for the new NFP, and it may be present otherwise. - type: string - description: - description: > - Human readable description for the NFP. It shall be - present for the new NFP, and it may be present otherwise. - type: string - nsCpHandle: - description: > - Identifier(s) of the CPs and SAPs which the NFP passes by. - Cardinality can be 0 if only updated or newly created - NFP classification and selection rule which applied to an - existing NFP is provided. - type: array - items: - $ref: "#/definitions/NsCpHandle" - nfpRule: - description: > - NFP classification and selection rule. See note 1. - $ref: "#/definitions/NfpRule" + description: > + This type contains information used to create or modify NFP instance parameters + for the update of an existing VNFFG instance. + It shall comply with the provisions defined in Table 6.5.3.38-1. + type: object + properties: + nfpInfoId: + description: > + Identifier of the NFP to be modified. It shall be present + for modified NFPs and shall be absent for the new NFP. + It shall be present for modified NFPs and shall be absent + for the new NFP. + $ref: "#/definitions/IdentifierInNs" + nfpName: + description: > + Human readable name for the NFP. It shall be present + for the new NFP, and it may be present otherwise. + It shall be present for the new NFP, and it may be + present otherwise. + type: string + description: + description: > + Human readable description for the NFP. It shall be + present for the new NFP, and it may be present otherwise. + It shall be present for the new NFP, and it may be + present otherwise. + type: string + cpGroup: + description: > + Group(s) of CPs and/or SAPs which the NFP passes by. + Cardinality can be 0 if only updated or newly created + NFP classification and selection rule which applied to an + existing NFP is provided. + At least a CP or an nfpRule shall be present. + When multiple identifiers are included, the position of + the identifier in the cpGroup value specifies the position + of the group in the path. + type: array + items: + $ref: "#/definitions/CpGroupInfo" + nfpRule: + description: > + NFP classification and selection rule. See note 1. + $ref: "#/definitions/NfpRule" NfpRule: - description: > - The NfpRule data type is an expression of the conditions that shall be met - in order for the NFP to be applicable to the packet. The condition acts as a flow classifier and - it is met only if all the values expressed in the condition are matched - by those in the packet. It shall comply with the provisions defined in Table 6.5.3.40-1. - type: object - properties: - etherDestinationAddress: - description: > - Indicates a destination Mac address. - $ref: "SOL005_def.yaml#/definitions/MacAddress" - etherSourceAddress: - description: > - Indicates a source Mac address. - $ref: "SOL005_def.yaml#/definitions/MacAddress" - etherType: - description: > - Human readable description for the VNFFG. - type: string - enum: - - IPV4 - - IPV6 - vlanTag: - description: > - Indicates a VLAN identifier in an IEEE 802.1Q-2014 - tag [6] Multiple tags can be included for QinQ stacking. See note. - type: array - items: - $ref: "SOL005_def.yaml#/definitions/String" - protocol: - description: > - Indicates the L4 protocol, For IPv4 [7] this - corresponds to the field called "Protocol" to identify - the next level protocol. For IPv6 [28] this - corresponds to the field is called the "Next Header" field. - Permitted values: Any keyword defined in the IANA - protocol registry [1], e.g.: - TCP - UDP - ICMP - type: string - enum: - - TCP - - UDP - - ICMP - dscp: - description: > - For IPv4 [7] a string of "0" and "1" digits that - corresponds to the 6-bit Differentiated Services - Code Point (DSCP) field of the IP header. - For IPv6 [28] a string of "0" and "1" digits that - corresponds to the 6 differentiated services bits of - the traffic class header field - type: string - sourcePortRange: - description: > - Indicates a range of source ports - $ref: "SOL005_def.yaml#/definitions/PortRange" - destinationPortRange: - description: > - Indicates a range of destination ports. - $ref: "SOL005_def.yaml#/definitions/PortRange" - sourceIpAddressPrefix: - description: > - Indicates the source IP address range in CIDR format. - $ref: "SOL005_def.yaml#/definitions/IpAddressPrefix" - destinationIpAddressPrefix: - description: > - Indicates the destination IP address range in CIDR format. - $ref: "SOL005_def.yaml#/definitions/IpAddressPrefix" - extendedCriteria: - description: > - Indicates values of specific bits in a frame. - type: array - items: - $ref: "SOL005_def.yaml#/definitions/Mask" - + description: > + The NfpRule data type is an expression of the conditions that shall be met + in order for the NFP to be applicable to the packet. The condition acts as a flow classifier and + it is met only if all the values expressed in the condition are matched + by those in the packet. It shall comply with the provisions defined in Table 6.5.3.40-1. + type: object + properties: + etherDestinationAddress: + description: > + Indicates a destination Mac address. + $ref: "#/definitions/MacAddress" + etherSourceAddress: + description: > + Indicates a source Mac address. + $ref: "#/definitions/MacAddress" + etherType: + description: > + Human readable description for the VNFFG. + type: string + enum: + - IPV4 + - IPV6 + vlanTag: + description: > + Indicates a VLAN identifier in an IEEE 802.1Q-2014 + tag [6] Multiple tags can be included for QinQ stacking. See note. + type: array + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/String" + protocol: + description: > + Indicates the L4 protocol, For IPv4 [7] this + corresponds to the field called "Protocol" to identify + the next level protocol. For IPv6 [28] this + corresponds to the field is called the "Next Header" field. + Permitted values: Any keyword defined in the IANA + protocol registry [1], e.g.: + TCP + UDP + ICMP + type: string + enum: + - TCP + - UDP + - ICMP + dscp: + description: > + For IPv4 [7] a string of "0" and "1" digits that + corresponds to the 6-bit Differentiated Services + Code Point (DSCP) field of the IP header. + For IPv6 [28] a string of "0" and "1" digits that + corresponds to the 6 differentiated services bits of + the traffic class header field + type: string + sourcePortRange: + description: > + Indicates a range of source ports + $ref: "#/definitions/PortRange" + destinationPortRange: + description: > + Indicates a range of destination ports. + $ref: "#/definitions/PortRange" + sourceIpAddressPrefix: + description: > + Indicates the source IP address range in CIDR format. + $ref: "#/definitions/IpAddressPrefix" + destinationIpAddressPrefix: + description: > + Indicates the destination IP address range in CIDR format. + $ref: "#/definitions/IpAddressPrefix" + extendedCriteria: + description: > + Indicates values of specific bits in a frame. + type: array + items: + $ref: "#/definitions/Mask" + ChangeNsFlavourData: - description: > - This type specifies an existing NS instance for which the DF needs to be changed. - This specifies the new DF, the instantiationLevel of the new DF that may be used and - the additional parameters as input for the flavour change. - It shall comply with the provisions defined in Table 6.5.3.39-1. - type: object - required: - - newNsFlavourId - properties: - newNsFlavourId: - description: > - Identifier of an existing VNFFG to be updated for the NS Instance. - $ref: "SOL005_def.yaml#/definitions/IdentifierInNsd" - instantiationLevelId: - description: > - Identifier of the instantiation level of the deployment flavour to be instantiated. - If not present, the default instantiation level as declared in the NSD is instantiated. - $ref: "SOL005_def.yaml#/definitions/IdentifierInNsd" + description: > + This type specifies an existing NS instance for which the DF needs to be changed. + This specifies the new DF, the instantiationLevel of the new DF that may be used and + the additional parameters as input for the flavour change. + It shall comply with the provisions defined in Table 6.5.3.39-1. + type: object + required: + - newNsFlavourId + properties: + newNsFlavourId: + description: > + Identifier of an existing VNFFG to be updated for the NS Instance. + $ref: "#/definitions/IdentifierInNsd" + instantiationLevelId: + description: > + Identifier of the instantiation level of the deployment flavour to be instantiated. + If not present, the default instantiation level as declared in the NSD is instantiated. + $ref: "#/definitions/IdentifierInNsd" AddPnfData: - description: > - This type specifies an PNF to be added to the NS instance and the PNF Profile - to use for this PNF. It shall comply with the provisions defined in Table 6.5.3.14-1. - type: object - required: - - pnfId - - pnfName - - pnfdId - - pnfProfileId - properties: - pnfId: - description: > - Identifier of the PNF. This identifier is allocated by the OSS/BSS. - $ref: "SOL005_def.yaml#/definitions/Identifier" - pnfName: - description: > - Name of the PNF - type: string - pnfdId: - description: > - Identifier of the PNFD on which the PNF is based. - $ref: "SOL005_def.yaml#/definitions/Identifier" - pnfProfileId: - description: > - Identifier of related PnfProfile in the NSD on which the PNF is based. - $ref: "SOL005_def.yaml#/definitions/IdentifierInNsd" - cpData: - description: > - Address assigned for the PNF external CP(s). - type: array - items: - $ref: "#/definitions/PnfExtCpData" - + description: > + This type specifies an PNF to be added to the NS instance and the PNF Profile + to use for this PNF. It shall comply with the provisions defined in Table 6.5.3.14-1. + type: object + required: + - pnfId + - pnfName + - pnfdId + - pnfProfileId + properties: + pnfId: + description: > + Identifier of the PNF. This identifier is allocated by the OSS/BSS. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + pnfName: + description: > + Name of the PNF + type: string + pnfdId: + description: > + Identifier of the PNFD on which the PNF is based. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + pnfProfileId: + description: > + Identifier of related PnfProfile in the NSD on which the PNF is based. + $ref: "#/definitions/IdentifierInNsd" + cpData: + description: > + Address assigned for the PNF external CP(s). + type: array + items: + $ref: "#/definitions/PnfExtCpData" + PnfExtCpData: - description: > - This type represents the configuration data on the external CP of the PNF. - It shall comply with the provisions defined in - Table 6.5.3.16-1. - type: object - required: - - cpProtocolData - properties: - cpInstanceI16: - description: > - Identifier of the CP. Shall be present for existing CP. - $ref: "SOL005_def.yaml#/definitions/IdentifierInPnf" - cpdId: - description: > - Identifier of the Connection Point Descriptor (CPD) for this CP. Shall be present for new CP. - $ref: "SOL005_def.yaml#/definitions/IdentifierInNsd" - cpProtocolData: - description: > - Address assigned for this CP. - type: array - items: - $ref: "SOL005_def.yaml#/definitions/CpProtocolData" - + description: > + This type represents the configuration data on the external CP of the PNF. + It shall comply with the provisions defined in + Table 6.5.3.16-1. + type: object + required: + - cpProtocolData + properties: + cpInstanceI16: + description: > + Identifier of the CP. Shall be present for existing CP. + $ref: "#/definitions/IdentifierInPnf" + cpdId: + description: > + Identifier of the Connection Point Descriptor (CPD) for this CP. Shall be present for new CP. + $ref: "#/definitions/IdentifierInNsd" + cpProtocolData: + description: > + Address assigned for this CP. + type: array + items: + $ref: "#/definitions/CpProtocolData" + ModifyPnfData: - description: > - This type specifies an PNF to be modified in the NS instance. - It shall comply with the provisions defined in - Table 6.5.3.15-1. - type: object - required: - - pnfId - properties: - pnfId: - description: > - Identifier of the PNF. This identifier is allocated by the OSS/BSS. - $ref: "SOL005_def.yaml#/definitions/Identifier" - pnfName: - description: > - Name of the PNF. - type: string - cpData: - description: > - Address assigned for the PNF external CP(s). - type: array - items: - $ref: "#/definitions/PnfExtCpData" - + description: > + This type specifies an PNF to be modified in the NS instance. + It shall comply with the provisions defined in + Table 6.5.3.15-1. + type: object + required: + - pnfId + properties: + pnfId: + description: > + Identifier of the PNF. This identifier is allocated by the OSS/BSS. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + pnfName: + description: > + Name of the PNF. + type: string + cpData: + description: > + Address assigned for the PNF external CP(s). + type: array + items: + $ref: "#/definitions/PnfExtCpData" + AffectedVirtualLink: - description: > - This type provides information about added, deleted, modified and - temporary VLs. - type: object - required: - - id - - virtualLinkDescId - - changeType - - networkResource - properties: - id: - description: > - Identifier of the virtual link instance, identifying the applicable - "vnfVirtualLinkResourceInfo" entry in the "VnfInstance" data type. - $ref: "SOL005_def.yaml#/definitions/IdentifierInVnf" - virtualLinkDescId: - description: > - Identifier of the related VLD in the VNFD. - $ref: "SOL005_def.yaml#/definitions/IdentifierInVnfd" - changeType: - description: > - Signals the type of change. Permitted values: - * ADDED - * REMOVED - * MODIFIED - * TEMPORARY - * LINK_PORT_ADDED - * LINK_PORT_REMOVED - For a temporary resource, an AffectedVirtualLink structure exists as - long as the temporary resource exists. - type: string - enum: - - ADDED - - REMOVED - - MODIFIED - - TEMPORARY - - LINK_PORT_ADDED - - LINK_PORT_REMOVED - networkResource: - description: > - Reference to the VirtualNetwork resource. Detailed information is - (for new and modified resources) or has been (for removed - resources) available from the VIM. - $ref: "SOL005_def.yaml#/definitions/ResourceHandle" - metadata: - description: > - Metadata about this resource. - The content of this attribute shall be a copy of the content of the - "metadata" attribute of the VnfVirtualLinkResourceInfo structure. - $ref: "SOL005_def.yaml#/definitions/KeyValuePairs" + description: > + This type provides information about added, deleted, modified and + temporary VLs. + type: object + required: + - id + - virtualLinkDescId + - changeType + - networkResource + properties: + id: + description: > + Identifier of the virtual link instance, identifying the applicable + "vnfVirtualLinkResourceInfo" entry in the "VnfInstance" data type. + $ref: "#/definitions/IdentifierInVnf" + virtualLinkDescId: + description: > + Identifier of the related VLD in the VNFD. + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd" + changeType: + description: > + Signals the type of change. Permitted values: + * ADDED + * REMOVED + * MODIFIED + * TEMPORARY + * LINK_PORT_ADDED + * LINK_PORT_REMOVED + For a temporary resource, an AffectedVirtualLink structure exists as + long as the temporary resource exists. + type: string + enum: + - ADDED + - REMOVED + - MODIFIED + - TEMPORARY + - LINK_PORT_ADDED + - LINK_PORT_REMOVED + networkResource: + description: > + Reference to the VirtualNetwork resource. Detailed information is + (for new and modified resources) or has been (for removed + resources) available from the VIM. + $ref: "../../definitions/SOL005_def.yaml#/definitions/ResourceHandle" + metadata: + description: > + Metadata about this resource. + The content of this attribute shall be a copy of the content of the + "metadata" attribute of the VnfVirtualLinkResourceInfo structure. + $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" AffectedVirtualStorage: - description: > - This type provides information about added, deleted, modified and - temporary virtual storage resources. - type: object - required: - - id - - virtualStorageDescId - - changeType - - storageResource - properties: - id: - description: > - Identifier of the storage instance, identifying the applicable - "virtualStorageResourceInfo" entry in the "VnfInstance" data type. - $ref: "SOL005_def.yaml#/definitions/IdentifierInVnf" - virtualStorageDescId: - description: > - Identifier of the related VirtualStorage descriptor in the VNFD. - $ref: "SOL005_def.yaml#/definitions/IdentifierInVnfd" - changeType: - description: > - Signals the type of change. Permitted values: - * ADDED - * REMOVED - * MODIFIED - * TEMPORARY - For a temporary resource, an AffectedVirtualStorage structure exists - as long as the temporary resource exists. - type: string - enum: - - ADDED - - REMOVED - - MODIFIED - - TEMPORARY - storageResource: - description: > - Reference to the VirtualStorage resource. Detailed information is - (for new and modified resources) or has been (for removed - resources) available from the VIM. - $ref: "SOL005_def.yaml#/definitions/ResourceHandle" - metadata: - description: > - Metadata about this resource. - The content of this attribute shall be a copy of the content of the - "metadata" attribute of the VirtualStorageResourceInfo structure. - $ref: "SOL005_def.yaml#/definitions/KeyValuePairs" - + description: > + This type provides information about added, deleted, modified and + temporary virtual storage resources. + type: object + required: + - id + - virtualStorageDescId + - changeType + - storageResource + properties: + id: + description: > + Identifier of the storage instance, identifying the applicable + "virtualStorageResourceInfo" entry in the "VnfInstance" data type. + $ref: "#/definitions/IdentifierInVnf" + virtualStorageDescId: + description: > + Identifier of the related VirtualStorage descriptor in the VNFD. + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd" + changeType: + description: > + Signals the type of change. Permitted values: + * ADDED + * REMOVED + * MODIFIED + * TEMPORARY + For a temporary resource, an AffectedVirtualStorage structure exists + as long as the temporary resource exists. + type: string + enum: + - ADDED + - REMOVED + - MODIFIED + - TEMPORARY + storageResource: + description: > + Reference to the VirtualStorage resource. Detailed information is + (for new and modified resources) or has been (for removed + resources) available from the VIM. + $ref: "../../definitions/SOL005_def.yaml#/definitions/ResourceHandle" + metadata: + description: > + Metadata about this resource. + The content of this attribute shall be a copy of the content of the + "metadata" attribute of the VirtualStorageResourceInfo structure. + $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" + AffectedVnf: description: > This type provides information about added, deleted and modified VNFs. @@ -2349,20 +2835,20 @@ definitions: required: - vnfInstanceId - vnfdId - - vnfProfileId + - vnfProfileId properties: vnfInstanceId: description: > Identifier of the VNF instance. - $ref: "SOL005_def.yaml#/definitions/Identifier" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" vnfdId: description: > Identifier of the VNFD of the VNF Instance. - $ref: "SOL005_def.yaml#/definitions/Identifier" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" vnfProfileId: description: > Identifier of the VNF profile of the NSD. - $ref: "SOL005_def.yaml#/definitions/IdentifierInNsd" + $ref: "#/definitions/IdentifierInNsd" vnfName: description: > Name of the VNF Instance. @@ -2384,13 +2870,13 @@ definitions: type: string enum: - ADD - - REMOVE + - REMOVE - INSTANTIATE - TERMINATE - SCALE - CHANGE_FLAVOUR - HEAL - - OPERATE + - OPERATE - MODIFY_INFORMATION - CHANGE_EXTERNAL_VNF_CONNECTIVITY changeResult: @@ -2404,7 +2890,7 @@ definitions: type: string enum: - COMPLETED - - ROLLED_BACK + - ROLLED_BACK - FAILED changedInfo: description: > @@ -2438,21 +2924,21 @@ definitions: - pnfId - pnfdId - pnfProfileId - - cpInstanceId + - cpInstanceId properties: pnfId: description: > Identifier of the affected PNF. This identifier is allocated by the OSS/BSS. - $ref: "SOL005_def.yaml#/definitions/Identifier" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" pnfdId: description: > Identifier of the PNFD on which the PNF is based. - $ref: "SOL005_def.yaml#/definitions/IdentifierInNsd" + $ref: "#/definitions/IdentifierInNsd" pnfProfileId: description: > Identifier of the VNF profile of the NSD. - $ref: "SOL005_def.yaml#/definitions/IdentifierInNsd" + $ref: "#/definitions/IdentifierInNsd" pnfName: description: > Name of the PNF. @@ -2461,8 +2947,8 @@ definitions: description: > Identifier of the CP in the scope of the PNF. type: array - items: - $ref: "SOL005_def.yaml#/definitions/IdentifierInPnf" + items: + $ref: "#/definitions/IdentifierInPnf" changeType: description: > Signals the type of change. @@ -2473,8 +2959,8 @@ definitions: type: string enum: - ADD - - REMOVE - - MODIFY + - REMOVE + - MODIFY changeResult: description: > Signals the result of change identified by the @@ -2486,9 +2972,9 @@ definitions: type: string enum: - COMPLETED - - ROLLED_BACK - - FAILED - + - ROLLED_BACK + - FAILED + AffectedVl: description: > This type provides information about added, deleted and modified VLs. @@ -2497,20 +2983,20 @@ definitions: required: - nsVirtualLinkInstanceId - nsVirtualLinkDescId - - vlProfileId + - vlProfileId properties: nsVirtualLinkInstanceId: description: > Identifier of the VL Instance. - $ref: "SOL005_def.yaml#/definitions/IdentifierInNs" + $ref: "#/definitions/IdentifierInNs" nsVirtualLinkDescId: description: > Identifier of the VLD in the NSD for this VL. - $ref: "SOL005_def.yaml#/definitions/IdentifierInNsd" + $ref: "#/definitions/IdentifierInNsd" vlProfileId: description: > Identifier of the VLD in the NSD for this VL. - $ref: "SOL005_def.yaml#/definitions/IdentifierInNsd" + $ref: "#/definitions/IdentifierInNsd" changeType: description: > Signals the type of change. @@ -2523,10 +3009,10 @@ definitions: type: string enum: - ADD - - DELETE - - MODIFY + - DELETE + - MODIFY - ADD_LINK_PORT - - REMOVE_LINK_PORT + - REMOVE_LINK_PORT changeResult: description: > Signals the result of change identified by the @@ -2538,153 +3024,155 @@ definitions: type: string enum: - COMPLETED - - ROLLED_BACK + - ROLLED_BACK - FAILED - + AffectedVnffg: - description: > - This type provides information about added, deleted and modified VNFFG instances. - It shall comply with the - provisions in Table 6.5.3.5-1. - type: object - required: - - vnffgInstanceId - - vnffgdId - properties: - vnffgInstanceId: - description: > - Identifier of the VNFFG instance. - $ref: "SOL005_def.yaml#/definitions/IdentifierInNs" - vnffgdId: - description: > - Identifier of the VNFFGD of the VNFFG instance. - $ref: "SOL005_def.yaml#/definitions/IdentifierInNsd" - changeType: - description: > - Signals the type of change. - Permitted values: - - ADD - - DELETE - - MODIFY - type: string - enum: - - ADD - - DELETE - - MODIFY - changeResult: - description: > - Signals the result of change identified by the - "changeType" attribute. - Permitted values: - - COMPLETED - - ROLLED_BACK - - FAILED - type: string - enum: - - COMPLETED - - ROLLED_BACK - - FAILED - + description: > + This type provides information about added, deleted and modified VNFFG instances. + It shall comply with the + provisions in Table 6.5.3.5-1. + type: object + required: + - vnffgInstanceId + - vnffgdId + properties: + vnffgInstanceId: + description: > + Identifier of the VNFFG instance. + $ref: "#/definitions/IdentifierInNs" + vnffgdId: + description: > + Identifier of the VNFFGD of the VNFFG instance. + $ref: "#/definitions/IdentifierInNsd" + changeType: + description: > + Signals the type of change. + Permitted values: + - ADD + - DELETE + - MODIFY + type: string + enum: + - ADD + - DELETE + - MODIFY + changeResult: + description: > + Signals the result of change identified by the + "changeType" attribute. + Permitted values: + - COMPLETED + - ROLLED_BACK + - FAILED + type: string + enum: + - COMPLETED + - ROLLED_BACK + - FAILED + AffectedNs: - description: > - This type provides information about added, deleted and modified nested NSs. - It shall comply with the provisions in Table 6.5.3.6-1. - type: object - required: - - nsInstanceId - - nsdId - properties: - nsInstanceId: - description: > - Identifier of the nested NS instance. - $ref: "SOL005_def.yaml#/definitions/Identifier" - nsdId: - description: > - Identifier of the NSD of the nested NS instance. - $ref: "SOL005_def.yaml#/definitions/Identifier" - changeType: - description: > - Signals the type of lifecycle change. - Permitted values: - - ADD - - REMOVE - - INSTANTIATE - - SCALE - - UPDATE - - HEAL - - TERMINATE - type: string - enum: - - ADD - - REMOVE - - INSTANTIATE - - SCALE - - UPDATE - - HEAL - - TERMINATE - changeResult: - description: > - Signals the result of change identified by the - "changeType" attribute. - Permitted values: - - COMPLETED - - ROLLED_BACK - - FAILED - - PARTIALLY_COMPLETED - type: string - enum: - - COMPLETED - - ROLLED_BACK - - FAILED - - PARTIALLY_COMPLETED + description: > + This type provides information about added, deleted and modified nested NSs. + It shall comply with the provisions in Table 6.5.3.6-1. + type: object + required: + - nsInstanceId + - nsdId + - changeType + - changeResult + properties: + nsInstanceId: + description: > + Identifier of the nested NS instance. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + nsdId: + description: > + Identifier of the NSD of the nested NS instance. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + changeType: + description: > + Signals the type of lifecycle change. + Permitted values: + - ADD + - REMOVE + - INSTANTIATE + - SCALE + - UPDATE + - HEAL + - TERMINATE + type: string + enum: + - ADD + - REMOVE + - INSTANTIATE + - SCALE + - UPDATE + - HEAL + - TERMINATE + changeResult: + description: > + Signals the result of change identified by the + "changeType" attribute. + Permitted values: + - COMPLETED + - ROLLED_BACK + - FAILED + - PARTIALLY_COMPLETED + type: string + enum: + - COMPLETED + - ROLLED_BACK + - FAILED + - PARTIALLY_COMPLETED AffectedSap: - description: > - This type provides information about added, deleted and modified SAP of a NS. - It shall comply with the provisions in Table 6.5.3.7-1. - type: object - required: - - sapInstanceId - - sapdId - properties: - sapInstanceId: - description: > - Identifier of the nested NS instance. - $ref: "SOL005_def.yaml#/definitions/Identifier" - sapdId: - description: > - Identifier of the NSD of the nested NS instance. - $ref: "SOL005_def.yaml#/definitions/Identifier" - sapName: - description: > - Human readable name for the SAP. - type: string - changeType: - description: > - Signals the type of lifecycle change. - Permitted values: - - ADD - - REMOVE - - MODIFY - type: string - enum: - - ADD - - REMOVE - - MODIFY - changeResult: - description: > - Signals the result of change identified by the - "changeType" attribute. - Permitted values: - - COMPLETED - - ROLLED_BACK - - FAILED - type: string - enum: - - COMPLETED - - ROLLED_BACK - - FAILED - + description: > + This type provides information about added, deleted and modified SAP of a NS. + It shall comply with the provisions in Table 6.5.3.7-1. + type: object + required: + - sapInstanceId + - sapdId + properties: + sapInstanceId: + description: > + Identifier of the nested NS instance. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + sapdId: + description: > + Identifier of the NSD of the nested NS instance. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + sapName: + description: > + Human readable name for the SAP. + type: string + changeType: + description: > + Signals the type of lifecycle change. + Permitted values: + - ADD + - REMOVE + - MODIFY + type: string + enum: + - ADD + - REMOVE + - MODIFY + changeResult: + description: > + Signals the result of change identified by the + "changeType" attribute. + Permitted values: + - COMPLETED + - ROLLED_BACK + - FAILED + type: string + enum: + - COMPLETED + - ROLLED_BACK + - FAILED + NsLcmOperationStateType: description: > The enumeration NsLcmOperationStateType shall comply with the provisions defined in Table 6.5.4.4-1. @@ -2704,25 +3192,26 @@ definitions: - FAILED_TEMP - FAILED - ROLLING_BACK - - ROLLED_BACK + - ROLLED_BACK NsLcmOpType: - description: > - The enumeration NsLcmOpType represents those lifecycle operations that trigger a NS lifecycle management operation - occurrence notification. - Value | Description - ------|------------ - INSTANTIATE | Represents the "Instantiate NS" LCM operation. - SCALE | Represents the "Scale NS" LCM operation. - UPDATE | Represents the "Update NS" LCM operation. - TERMINATE | Represents the "Terminate NS" LCM operation. - HEAL | Represents the "Heal NS" LCM operation. - type: string - enum: - - INSTANTIATE - - SCALE - - UPDATE - - TERMINATE - - HEAL + description: > + The enumeration NsLcmOpType represents those lifecycle operations that trigger a NS lifecycle management operation + occurrence notification. + Value | Description + ------|------------ + INSTANTIATE | Represents the "Instantiate NS" LCM operation. + SCALE | Represents the "Scale NS" LCM operation. + UPDATE | Represents the "Update NS" LCM operation. + TERMINATE | Represents the "Terminate NS" LCM operation. + HEAL | Represents the "Heal NS" LCM operation. + type: string + enum: + - INSTANTIATE + - SCALE + - UPDATE + - TERMINATE + - HEAL + LccnSubscriptionRequest: description: > This type represents a subscription request related to notifications @@ -2732,17 +3221,17 @@ definitions: required: - callbackUri properties: - filter: + filter: description: > - Filter settings for this subscription, to define the subset - of all notifications this subscription relates to. A - particular notification is sent to the subscriber if the filter - matches, or if there is no filter. + Filter settings for this subscription, to define the subset + of all notifications this subscription relates to. A + particular notification is sent to the subscriber if the filter + matches, or if there is no filter. $ref: "#/definitions/LifecycleChangeNotificationsFilter" callbackUri: description: > The URI of the endpoint to send the notification to. - $ref: "SOL005_def.yaml#/definitions/Uri" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Uri" authentication: description: > Authentication parameters to configure the use of Authorization when @@ -2750,8 +3239,8 @@ definitions: in clause 4.5.3.4. This attribute shall only be present if the subscriber requires authorization of notifications. - $ref: "SOL005_def.yaml#/definitions/SubscriptionAuthentication" - + $ref: "../../definitions/SOL005_def.yaml#/definitions/SubscriptionAuthentication" + LccnSubscription: description: > This type represents a subscription related to notifications about NS lifecycle changes. @@ -2765,7 +3254,7 @@ definitions: id: description: > Identifier of this subscription resource. - $ref: "SOL005_def.yaml#/definitions/Identifier" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" filter: description: > Filter settings for this subscription, to define the subset of all @@ -2776,7 +3265,7 @@ definitions: callbackUri: description: > The URI of the endpoint to send the notification to. - $ref: "SOL005_def.yaml#/definitions/Uri" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Uri" _links: description: > Links to resources related to this resource. @@ -2787,7 +3276,8 @@ definitions: self: description: > URI of this resource. - $ref: "SOL005_def.yaml#/definitions/Link" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" + LifecycleChangeNotificationsFilter: description: > This type represents a subscription filter related to notifications about @@ -2803,7 +3293,7 @@ definitions: nsInstanceSubscriptionFilter: description: > Filter criteria to select NS instances about which to notify. - $ref: "#/definitions/NsInstanceSubscriptionFilter" + $ref: "../../definitions/SOL005_def.yaml#/definitions/NsInstanceSubscriptionFilter" notificationTypes: description: > Match particular notification types. @@ -2819,7 +3309,7 @@ definitions: - NsLcmOperationOccurenceNotification - NsIdentifierCreationNotification - NsIdentifierDeletionNotification - - NsChangeNotification + - NsChangeNotification operationTypes: description: > Match particular NS lifecycle operation types @@ -2830,7 +3320,7 @@ definitions: "NsLcmOperationOccurrenceNotification", and shall be absent otherwise. type: array - items: + items: $ref: "#/definitions/NsLcmOpType" operationStates: description: > @@ -2842,7 +3332,7 @@ definitions: "NsLcmOperationOccurrenceNotification", and shall be absent otherwise. type: array - items: + items: $ref: "#/definitions/LcmOperationStateType" nsComponentTypes: description: > @@ -2851,7 +3341,7 @@ definitions: May be present if the "notificationTypes" attribute contains the value "NsChang. type: array - items: + items: $ref: "#/definitions/NsComponentType" lcmOpNameImpactingNsComponent: description: > @@ -2861,7 +3351,7 @@ definitions: attribute contains the value "NsChangeNotification", and shall be absent otherwise. type: array - items: + items: $ref: "#/definitions/LcmOpNameForChangeNotificationType" lcmOpOccStatusImpactingNsComponent: description: > @@ -2872,181 +3362,9 @@ definitions: attribute contains the value "NsChangeNotification", and shall be absent otherwise. type: array - items: - $ref: "#/definitions/LcmOpOccStatusForChangeNotificationType" - - NsLcmOperationOccurrenceNotification: - type: object - required: - - id - - nsInstanceId - - nsLcmOpOccId - - subscriptionId - properties: - id: - description: > - Identifier of this notification. If a notification is sent - multiple times due to multiple subscriptions, the "id" - attribute of all these notifications shall have the same value. - $ref: "SOL005_def.yaml#/definitions/Identifier" - nsInstanceId: - description: > - The identifier of the NS instance affected. - $ref: "SOL005_def.yaml#/definitions/Identifier" - nsLcmOpOccId: - description: > - The identifier of the NS lifecycle operation occurrence - associated to the notification. - $ref: "SOL005_def.yaml#/definitions/Identifier" - operation: - description: > - The lifecycle operation. - $ref: "#/definitions/NsLcmOpType" - notificationType: - description: > - Discriminator for the different notification types. Shall be - set to "NsLcmOperationOccurrenceNotification" for this - notification type. - type: string - subscriptionId: - description: > - Identifier of the subscription that this notification relates to. - $ref: "SOL005_def.yaml#/definitions/Identifier" - timestamp: - description: > - Date-time of the generation of the notification. - $ref: "SOL005_def.yaml#/definitions/DateTime" - notificationStatus: - description: > - Indicates whether this notification reports about the start - of a NS lifecycle operation or the result of a NS lifecycle - operation. - Permitted values: - - START: Informs about the start of the NS LCM - operation occurrence. - - RESULT: Informs about the final or intermediate - result of the NS LCM operation occurrence. - type: string - enum: - - START - - RESULT - operationState: - description: > - The state of the NS lifecycle operation occurrence. - $ref: "#/definitions/NsLcmOperationStateType" - isAutomaticInvocation: - description: > - Set to true if this NS LCM operation occurrence has - been automatically triggered by the NFVO. This occurs - in case of auto-scaling, auto-healing and when a nested - NS is modified as a result of an operation on its - composite NS. Set to false otherwise. - type: boolean - affectedVnf: - description: > - Information about the VNF instances that were affected - during the lifecycle operation. - $ref: "#/definitions/AffectedVnf" - affectedPnf: - description: > - Information about the PNF instances that were affected - during the lifecycle operation. - $ref: "#/definitions/AffectedPnf" - affectedVl: - description: > - Information about the VL instances that were affected - during the lifecycle operation. - type: array items: - $ref: "#/definitions/AffectedVirtualLink" - affectedVnffg: - description: > - Information about the VNFFG instances that were - affected during the lifecycle operation. - type: array - items: - $ref: "#/definitions/AffectedVnffg" - affectedNs: - description: > - Information about the SAP instances that were affected - during the lifecycle operation. See note. - type: array - items: - $ref: "#/definitions/AffectedSap" - affectedSap: - description: > - The lifecycle operation. - $ref: "#/definitions/NsLcmOpType" - error: - description: > - Details of the latest error, if one has occurred during - executing the LCM operation (see clause 4.3.5). Shall - be present if operationState is "FAILED_TEMP" or - "FAILED", and shall be absent otherwise. - $ref: "SOL005_def.yaml#/definitions/ProblemDetails" - _links: - description: > - Links to resources related to this notification. - $ref: "#/definitions/LccnLinks" - - NsIdentifierCreationNotification: - type: object - required: - - subscriptionId - - nsInstanceId - properties: - notificationType: - description: > - Discriminator for the different notification types. - Shall be set to "NsIdentifierDeletionNotification" for this - notification type. - type: string - subscriptionId: - description: > - Identifier of the subscription that this notification relates to. - $ref: "SOL005_def.yaml#/definitions/Identifier" - timestamp: - description: > - Date-time of the generation of the notification. - $ref: "SOL005_def.yaml#/definitions/DateTime" - nsInstanceId: - description: > - The created NS instance identifier - $ref: "SOL005_def.yaml#/definitions/Identifier" - _links: - description: > - Links to resources related to this notification. - $ref: "#/definitions/LccnLinks" + $ref: "#/definitions/LcmOpOccStatusForChangeNotificationType" - NsIdentifierDeletionNotification: - type: object - required: - - subscriptionId - - nsInstanceId - properties: - notificationType: - description: > - Discriminator for the different notification types. - Shall be set to "NsIdentifierDeletionNotification" for this - notification type. - type: string - subscriptionId: - description: > - Identifier of the subscription that this notification relates to. - $ref: "SOL005_def.yaml#/definitions/Identifier" - timestamp: - description: > - Date-time of the generation of the notification. - $ref: "SOL005_def.yaml#/definitions/DateTime" - nsInstanceId: - description: > - The created NS instance identifier - $ref: "SOL005_def.yaml#/definitions/Identifier" - _links: - description: > - Links to resources related to this notification. - $ref: "#/definitions/LccnLinks" - NsScaleInfo: description: > This type represents the target NS Scale level for each NS scaling aspect of the current deployment flavor. @@ -3058,11 +3376,12 @@ definitions: nsScalingAspectId: description: > Identifier of the NS scaling aspect. - $ref: "SOL005_def.yaml#/definitions/IdentifierInNsd" + $ref: "#/definitions/IdentifierInNsd" nsScaleLevelId: description: > Identifier of the NS scale level. - $ref: "SOL005_def.yaml#/definitions/IdentifierInNsd" + $ref: "#/definitions/IdentifierInNsd" + ScaleNsData: description: > This type represents the information to scale a NS. @@ -3075,31 +3394,31 @@ definitions: needed, the VNF Profile to be used for this VNF instance may also be provided. type: array - items: - $ref: "#/definitions/VnfInstanceData" + items: + $ref: "#/definitions/VnfInstanceData" vnfInstanceToBeRemoved: description: > The VNF instance to be removed from the NS instance as part of the scaling operation. type: array - items: - $ref: "SOL005_def.yaml#/definitions/Identifier" + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" scaleNsByStepsData: description: > The information used to scale an NS instance by one or more scaling steps. - $ref: "#/definitions/ScaleNsByStepsData" + $ref: "#/definitions/ScaleNsByStepsData" scaleNsToLevelData: description: > The information used to scale an NS instance to a target size. - $ref: "#/definitions/ScaleNsToLevelData" + $ref: "#/definitions/ScaleNsToLevelData" additionalParamsForNs: description: > Allows the OSS/BSS to provide additional parameter(s) at the NS level necessary for the NS scaling (as opposed to the VNF level, which is covered in additionalParamForVnf). - $ref: "#/definitions/ParamsForVnf" + $ref: "#/definitions/ParamsForVnf" additionalParamsForVnf: description: > Allows the OSS/BSS to provide additional @@ -3110,8 +3429,8 @@ definitions: scaling and not for existing VNF that are covered by the scaleVnfData. type: array - items: - $ref: "#/definitions/ParamsForVnf" + items: + $ref: "#/definitions/ParamsForVnf" locationConstraints: description: > The location constraints for the VNF to be @@ -3119,8 +3438,8 @@ definitions: An example can be a constraint for the VNF to be in a specific geographic location. type: array - items: - $ref: "#/definitions/VnfLocationConstraint" + items: + $ref: "#/definitions/VnfLocationConstraint" ScaleVnfData: description: > @@ -3129,12 +3448,12 @@ definitions: type: object required: - vnfInstanceid - - scaleVnfType + - scaleVnfType properties: vnfInstanceid: description: > Identifier of the VNF instance being scaled. - $ref: "SOL005_def.yaml#/definitions/Identifier" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" scaleVnfType: description: > Type of the scale VNF operation requested. @@ -3146,20 +3465,20 @@ definitions: The set of types actually supported depends on the capabilities of the VNF being managed. type: string - enum: + enum: - SCALE_OUT - - SCALE_IN - - SCALE_TO_INSTANTIATION_LEVEL - - SCALE_TO_SCALE_LEVEL(S) + - SCALE_IN + - SCALE_TO_INSTANTIATION_LEVEL + - SCALE_TO_SCALE_LEVEL(S) scaleToLevelData: description: > The information used for scaling to a given level. - $ref: "#/definitions/ScaleToLevelData" + $ref: "#/definitions/ScaleToLevelData" scaleByStepData: description: > The information used for scaling by steps. - $ref: "#/definitions/ScaleByStepData" - + $ref: "#/definitions/ScaleByStepData" + ScaleNsByStepsData: description: > This type represents the information used to scale an NS instance by one or more scaling steps, with respect to a @@ -3184,7 +3503,7 @@ definitions: description: > The aspect of the NS that is requested to be scaled, as declared in the NSD. - $ref: "SOL005_def.yaml#/definitions/IdentifierInNsd" + $ref: "#/definitions/IdentifierInNsd" numberOfSteps: description: > The number of scaling steps to be performed. Defaults to 1. @@ -3203,15 +3522,15 @@ definitions: description: > Identifier of the target NS instantiation level of the current DF to which the NS instance is requested to be scaled. - $ref: "SOL005_def.yaml#/definitions/IdentifierInNsd" + $ref: "#/definitions/IdentifierInNsd" nsScaleInfo: description: > For each NS scaling aspect of the current DF, defines the target NS scale level to which the NS instance is to be scaled. type: array - items: + items: $ref: "#/definitions/NsScaleInfo" - + ScaleToLevelData: description: > This type describes the information used to scale a VNF instance to a target size. The target size is either expressed as @@ -3224,20 +3543,20 @@ definitions: description: > Identifier of the target instantiation level of the current deployment flavor to which the VNF is requested to be scaled. - $ref: "SOL005_def.yaml#/definitions/IdentifierInVnfd" + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd" vnfScaleInfo: description: > For each scaling aspect of the current deployment flavor, indicates the target scale level to which the VNF is to be scaled. type: array - items: - $ref: "#/definitions/VnfScaleInfo" + items: + $ref: "#/definitions/VnfScaleInfo" additionalParams: description: > Additional parameters passed by the NFVO as input to the scaling process, specific to the VNF being scaled. - $ref: "SOL005_def.yaml#/definitions/KeyValuePairs" + $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" ScaleByStepData: description: > @@ -3252,7 +3571,7 @@ definitions: description: > Identifier of (reference to) the aspect of the VNF that is requested to be scaled, as declared in the VNFD. - $ref: "SOL005_def.yaml#/definitions/IdentifierInVnfd" + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd" numberOfSteps: description: > Number of scaling steps. It shall be a positive number. @@ -3262,60 +3581,13 @@ definitions: at a time. Such a property in the VNFD applies for all instances of a particular VNF. type: integer - default: 1 + default: 1 additionalParams: description: > Additional parameters passed by the NFVO as input to the scaling process, specific to the VNF instance being scaled. - $ref: "SOL005_def.yaml#/definitions/KeyValuePairs" + $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" - NsInstanceSubscriptionFilter: - description: > - This type represents subscription filter criteria to match NS instances. - It shall comply with the provisions defined in - Table 4.4.1.5-1. - 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: "SOL005_def.yaml#/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: "SOL005_def.yaml#/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: "SOL005_def.yaml#/definitions/Identifier" - nsInstanceIds: - description: > - If present, match NS instances with an instance - identifier listed in this attribute. - type: array - items: - $ref: "SOL005_def.yaml#/definitions/Identifier" - nsInstanceNames: - description: > - If present, match NS instances with a NS - Instance Name listed in this attribute. - type: array - items: - $ref: "SOL005_def.yaml#/definitions/String" - LcmOperationStateType: description: > Value | Description @@ -3336,7 +3608,7 @@ definitions: - FAILED - ROLLING_BACK - ROLLED_BACK - + NsComponentType: description: > The enumeration NsComponentType represents the NS component type. It shall comply with the provisions defined in Table 6.5.4.5-1. @@ -3349,7 +3621,8 @@ definitions: enum: - VNF - PNF - - NS + - NS + LcmOpNameForChangeNotificationType: description: > The enumeration LcmOpNameForChangeNotificationType represents the name of the lifecycle operation that impacts the NS component and trigger an NS change notification. It shall comply with the provisions defined in Table 6.5.4.6-1. @@ -3373,7 +3646,7 @@ definitions: enum: - VNF_INSTANTIATE - VNF_SCALE - - VNF_SCALE_TO_LEVEL + - VNF_SCALE_TO_LEVEL - VNF_CHANGE_FLAVOUR - VNF_TERMINATE - VNF_HEAL @@ -3382,9 +3655,10 @@ definitions: - VNF_MODIFY_INFO - NS_INSTANTIATE - NS_SCALE - - NS_UPDATE + - NS_UPDATE - NS_TERMINATE - NS_HEAL + LcmOpOccStatusForChangeNotificationType: description: > The enumeration LcmOpOccStatusForChangeNotificationType represents the status of the lifecycle management @@ -3401,6 +3675,592 @@ definitions: enum: - START - COMPLETED - - PARTIALLY_COMPLETED + - PARTIALLY_COMPLETED - FAILED - - ROLLED_BACK \ No newline at end of file + - ROLLED_BACK + + NsLcmOpOcc: + description: > + This type represents a request a NS lifecycle operation occurrence. + It shall comply with the provisions defined in Table 6.5.2.3-1. + type: object + required: + - id + - operationState + - stateEnteredTime + - nsInstanceId + - lcmOperationType + - startTime + - isAutomaticInvocation + - isCancelPending + - _links + properties: + id: + description: > + Identifier of this NS lifecycle operation occurrence. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + operationState: + description: > + The state of the NS LCM operation. + $ref: "#/definitions/NsLcmOperationStateType" + stateEnteredTime: + description: > + Date-time when the current state was entered. + type: string + format: date-time + nsInstanceId: + description: > + Identifier of the NS instance to which the operation applies. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + lcmOperationType: + description: > + Type of the actual LCM operation represented by this + lcm operation occurrence. + $ref: "#/definitions/NsLcmOpType" + startTime: + description: > + Date-time of the start of the operation. + type: string + format: date-time + isAutomaticInvocation: + description: > + Set to true if this NS LCM operation occurrence has + been automatically triggered by the NFVO. This occurs + in the case of auto-scaling, auto-healing and when a + nested NS is modified as a result of an operation on its + composite NS. Set to false otherwise. + type: boolean + operationParams: + description: > + Input parameters of the LCM operation. This attribute + shall be formatted according to the request data type of + the related LCM operation. + The following mapping between lcmOperationType and + the data type of this attribute shall apply: + - INSTANTIATE: InstantiateNsRequest + - SCALE: ScaleNsRequest + - UPDATE: UpdateNsRequest + - HEAL: HealNsRequest + - TERMINATE: TerminateNsRequest + This attribute shall be present if this data type is returned + in a response to reading an individual resource, and may + be present according to the chosen attribute selector + parameter if this data type is returned in a response to a + query of a container resource. + type: string + enum: + - INSTANTIATE + - SCALE + - UPDATE + - HEAL + - TERMINATE + isCancelPending: + description: > + If the LCM operation occurrence is in "PROCESSING" + or "ROLLING_BACK" state and the operation is being + cancelled, this attribute shall be set to true. Otherwise, it + shall be set to false. + type: boolean + cancelMode: + description: > + The mode of an ongoing cancellation. Shall be present + when isCancelPending=true, and shall be absent otherwise. + $ref: "#/definitions/CancelModeType" + error: + description: > + If "operationState" is "FAILED_TEMP" or "FAILED" or "operationState" + is "PROCESSING" or "ROLLING_BACK" and previous value of + "operationState" was "FAILED_TEMP", this attribute shall be present + and contain error information, unless it has been requested to be + excluded via an attribute selector. + $ref: "../../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + resourceChanges: + description: > + This attribute contains information about the cumulative + changes to virtualised resources that were performed so + far by the LCM operation since its start, if applicable + type: object + properties: + affectedVnfs: + description: > + Information about the VNF instances that were affected + during the lifecycle operation, if this notification + represents the result of a lifecycle operation. + type: array + items: + $ref: "#/definitions/AffectedVnf" + affectedPnfs: + description: > + Information about the PNF instances that were affected + during the lifecycle operation, if this notification + represents the result of a lifecycle operation. + type: array + items: + $ref: "#/definitions/AffectedPnf" + affectedVls: + description: > + Information about the VL instances that were affected + during the lifecycle operation, if this notification + represents the result of a lifecycle operation. + type: array + items: + $ref: "#/definitions/AffectedVl" + affectedVnffgs: + description: > + Information about the VNFFG instances that were + affected during the lifecycle operation, if this notification + represents the result of a lifecycle operation. See note + type: array + items: + $ref: "#/definitions/AffectedVnffg" + affectedNss: + description: > + Information about the nested NS instances that were + affected during the lifecycle operation, if this notification + represents the result of a lifecycle operation. See note. + type: array + items: + $ref: "#/definitions/AffectedNs" + affectedSaps: + description: > + Information about the nested NS instances that were + affected during the lifecycle operation, if this notification + represents the result of a lifecycle operation. See note. + type: array + items: + $ref: "#/definitions/AffectedSap" + _links: + description: > + Links to resources related to this resource. + type: object + required: + - self + - nsInstance + properties: + self: + description: > + URI of this resource. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" + nsInstance: + description: > + Link to the NS instance that the operation applies to. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" + cancel: + description: > + Link to the task resource that represents the "cancel" + operation for this LCM operation occurrence, if + cancelling is currently allowed. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" + retry: + description: > + Link to the task resource that represents the "cancel" + operation for this LCM operation occurrence, + if cancelling is currently allowed. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" + rollback: + description: > + Link to the task resource that represents the "rollback" + operation for this LCM operation occurrence, if rolling + back is currently allowed. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" + continue: + description: > + Link to the task resource that represents the "continue" + operation for this LCM operation occurrence, if rolling + back is currently allowed. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" + fail: + description: > + Link to the task resource that represents the "fail" + operation for this LCM operation occurrence, if rolling + back is currently allowed. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" + + subscriptionId: + description: > + Identifier of the subscription that this notification relates to. + type: string + + nsInstanceId: + description: > + The deleted NS instance identifier. + type: string + + CpProtocolData: + description: > + This type represents network protocol data. + type: object + required: + - layerProtocol + properties: + layerProtocol: + description: > + Identifier of layer(s) and protocol(s). + Permitted values: IP_OVER_ETHERNET. + type: string + enum: + - IP_OVER_ETHERNET + ipOverEthernet: + description: > + Network address data for IP over Ethernet to + assign to the extCP instance. Shall be + present if layerProtocol is equal to + "IP_OVER_ETHERNET", and shall be absent otherwise. + $ref: "#/definitions/IpOverEthernetAddressData" + + IpOverEthernetAddressData: + description: > + This type represents network address data for IP over Ethernet. + type: object + properties: + macAddress: + description: > + MAC address. If this attribute is not present, it shall be chosen by the NFV MANO. + $ref: "#/definitions/MacAddress" + ipAddresses: + description: > + List of IP addresses to assign to the CP instance. Each entry + represents IP address data for fixed or dynamic IP address + assignment per subnet. + If this attribute is not present, no IP address shall be assigned. + type: array + items: + type: object + required: + - type + properties: + type: + description: > + The type of the IP addresses. + Permitted values: IPV4, IPV6. + type: string + enum: + - IPV4 + - IPV6 + fixedAddresses: + description: > + Fixed addresses to assign (from the subnet defined by + "subnetId" if provided). + Exactly one of "fixedAddresses", "numDynamicAddresses" or + "ipAddressRange" shall be present. + type: array + items: + $ref: "#/definitions/IpAddress" + numDynamicAddresses: + description: > + Number of dynamic addresses to assign (from the subnet defined + by "subnetId" if provided). + Exactly one of "fixedAddresses", "numDynamicAddresses" or + "ipAddressRange" shall be present. + type: integer + addressRange: + description: > + An IP address range to be used, e.g. in case of egress + connections. + In case this attribute is present, IP addresses from the range + will be used. + type: object + required: + - minAddress + - maxAddress + properties: + minAddress: + description: > + Lowest IP address belonging to the range. + $ref: "#/definitions/IpAddress" + maxAddress: + description: > + Highest IP address belonging to the range. + $ref: "#/definitions/IpAddress" + subnetId: + description: > + Subnet defined by the identifier of the subnet resource in the + VIM. + In case this attribute is present, IP addresses from that + subnet will be assigned; otherwise, IP addresses not bound to + a subnet will be assigned. + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVim" + + ExtVirtualLinkData: + description: > + This type represents an external VL. It shall comply with the provisions defined in Table 6.5.3.26-1. + type: object + required: + - resourceId + - extCps + properties: + extVirtualLinkId: + description: > + The identifier of the external VL instance, if provided. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + vimId: + description: > + Identifier of the VIM that manages this resource. This + attribute shall only be supported and present if VNFrelated + resource management in direct mode is applicable. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + resourceProviderId: + description: > + Identifies the entity responsible for the management of + this resource. + This attribute shall only be supported and present if + VNF-related resource management in indirect mode is + applicable. The identification scheme is outside the + scope of the present document. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + resourceId: + description: > + The identifier of the resource in the scope of the VIM or + the resource provider. + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVim" + extCps: + description: > + External CPs of the VNF to be connected to this external VL. + type: array + items: + $ref: "#/definitions/VnfExtCpData" + extLinkPorts: + description: > + Externally provided link ports to be used to connect + external connection points to this external VL. + type: array + items: + $ref: "#/definitions/ExtLinkPortData" + + ExtManagedVirtualLinkData: + description: > + This type represents an externally-managed internal VL. + It shall comply with the provisions defined in Table 6.5.3.27-1. + type: object + required: + - virtualLinkDescId + - resourceId + properties: + extManagedVirtualLinkId: + description: > + The identifier of the externally-managed internal VL + instance, if provided. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + vmfVirtualLinkDescId: + description: > + The identifier of the VLD in the VNFD for this VL. + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd" + vimId: + description: > + Identifier of the VIM that manage this resource. This + attribute shall only be supported and present if VNFrelated + resource management in direct mode is applicable. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + resourceProviderId: + description: > + Identifies the entity responsible for the management of + this resource. This attribute shall only be supported and present if + VNF-related resource management in indirect mode is + applicable. The identification scheme is outside the + scope of the present document. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + resourceId: + description: > + The identifier of the resource in the scope of the VIM or + the resource provider. + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVim" + + VnfExtCpData: + description: > + This type represents configuration information for external CPs created + from a CPD. + type: object + required: + - cpdId + properties: + cpdId: + description: > + The identifier of the CPD in the VNFD. + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd" + cpConfig: + description: > + List of instance data that need to be configured on the CP instances + created from the respective CPD. + type: array + items: + $ref: "#/definitions/VnfExtCpConfig" + + ExtLinkPortData: + description: > + This type represents an externally provided link port to be used to + connect an external connection point to an external VL. + type: object + required: + - id + - resourceHandle + properties: + id: + description: > + Identifier of this link port as provided by the entity that has + created the link port. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + resourceHandle: + description: > + Reference to the virtualised resource realizing this link port. + $ref: "../../definitions/SOL005_def.yaml#/definitions/ResourceHandle" + + VnfExtCpConfig: + description: > + This type represents an externally provided link port or network address + information per instance of an external connection point. In case a link + port is provided, the VNFM shall use that link port when connecting the + external CP to the external VL. In a link port is not provided, the VNFM + shall create a link port on the external VL, and use that link port to + connect the external CP to the external VL. + type: object + properties: + cpInstanceId: + description: > + Identifier of the external CP instance to which this set of + configuration parameters is requested to be applied. + Shall be present if this instance has already been created. + $ref: "#/definitions/IdentifierInVnf" + linkPortId: + description: > + Identifier of a pre-configured link port to which the external CP + will be associated. + The following conditions apply to the attributes "linkPortId" and + "cpProtocolData": + * The "linkPortId" and "cpProtocolData" attributes shall both be + absent for the deletion of an existing external CP instance + addressed by cpInstanceId. + * At least one of these attributes shall be present for a + to-be-created external CP instance or an existing external + CP instance. + * If the "linkPortId" attribute is absent, the VNFM shall create a + link port. + * If the "cpProtocolData" attribute is absent, the "linkPortId" + attribute shall be provided referencing a pre-created link port, + and the VNFM can use means outside the scope of the present + document to obtain the pre-configured address information for the + connection point from the resource representing the link port. + * If both "cpProtocolData" and "linkportId" are provided, the API + consumer shall ensure that the cpProtocolData can be used with the + pre-created link port referenced by "linkPortId". + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + cpProtocolData: + description: > + Parameters for configuring the network protocols on the link port + that connects the CP to a VL. + The following conditions apply to the attributes "linkPortId" and + "cpProtocolData": + * The "linkPortId" and "cpProtocolData" attributes shall both be + absent for the deletion of an existing external CP instance + addressed by cpInstanceId. + * At least one of these attributes shall be present for a + to-be-created external CP instance or an existing external + CP instance. + * If the "linkPortId" attribute is absent, the VNFM shall create a + link port. + * If the "cpProtocolData" attribute is absent, the "linkPortId" + attribute shall be provided referencing a pre-created link port, + and the VNFM can use means outside the scope of the present + document to obtain the pre-configured address information for the + connection point from the resource representing the link port. + * If both "cpProtocolData" and "linkportId" are provided, the API + consumer shall ensure that the cpProtocolData can be used with the + pre-created link port referenced by "linkPortId". + type: array + items: + $ref: "#/definitions/CpProtocolData" + + IdentifierInNs: + description: > + An identifier that is unique with respect to a NS. Representation: string of variable length. + type: string + + IdentifierInNsd: + description: > + An identifier that is unique within a NS descriptor. Representation: string of variable length. + type: string + + IdentifierInPnf: + description: > + An Identifier that is unique within respect to a PNF. Representation: string of variable length. + type: string + + IdentifierInVim: + description: > + An identifier maintained by the VIM or other resource provider. + It is expected to be unique within the VIM instance. Representation: string of variable length. + type: string + + + + IdentifierInVnf: + description: > + An identifier that is unique for the respective type within a VNF + instance, but may not be globally unique. + type: string + + MacAddress: + description: > + A MAC address. Representation: string that consists of groups of two hexadecimal digits, + separated by hyphens or colons. + type: string + format: MAC + + IpAddress: + description: > + An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal + integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that + consists of groups of zero to four hexadecimal digits, separated by colons. + type: string + format: IP + + IpAddressPrefix: + description: > + An IPV4 or IPV6 address range in CIDR format. For IPV4 address range, refer to IETF RFC 4632 [12]. + For IPV6 address range, refer to IETF RFC 4291. + type: string + + PortRange: + description: > + The PortRange data type provides the lower and upper bounds of a range of Internet ports. + It shall comply with the provisions defined in Table 6.5.3.42-1. + type: object + required: + - lowerPort + - upperPort + properties: + lowerPort: + description: > + Identifies the lower bound of the port range. upperPort Integer + type: integer + minimum: 0 + upperPort: + description: > + Identifies the upper bound of the port range. + type: integer + minimum: 0 + + Mask: + description: > + The Mask data type identifies the value to be matched for a sequence of + bits at a particular location in a frame. It shall + comply with the provisions defined in Table 6.5.3.41-1. + type: object + required: + - startingPoint + - length + - value + properties: + startingPoint: + description: > + Indicates the offset between the last bit of the source + mac address and the first bit of the sequence of bits + to be matched. + type: integer + length: + description: > + Indicates the number of bits to be matched. + type: integer + value: + description: > + Provide the sequence of bit values to be matched. + type: string diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005_def.yaml deleted file mode 100644 index 8c492601e9f7a4f16913552fe5f3dddcc9742380..0000000000000000000000000000000000000000 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005_def.yaml +++ /dev/null @@ -1,616 +0,0 @@ -# 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 - - subscriptionId: - description: > - Identifier of the subscription that this notification relates to. - type: string - - nsInstanceId: - description: > - The deleted NS instance identifier. - type: string - - Link: - description: > - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: > - URI of the referenced resource. - type: string - format: url - - 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 - - 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 - - IdentifierInVnfd: - description: > - Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD. - type: string - - IdentifierInVnf: - description: > - An identifier that is unique for the respective type within a VNF - instance, but may not be globally unique. - type: string - - IdentifierInNsd: - description: > - An identifier that is unique within a NS descriptor. Representation: string of variable - length. - type: string - - IdentifierInPnf: - description: > - Identifier of the CP in the scope of the PNF. - type: string - - IdentifierInNs: - description: > - An identifier that is unique with respect to a NS. - Representation: string of variable length. - type: string - - MacAddress: - description: > - A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons. - type: string - format: MAC - - IpAddress: - description: > - An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal - integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that - consists of groups of zero to four hexadecimal digits, separated by colons. - type: string - format: IP - - IpAddressPrefix: - description: > - An IPV4 or IPV6 address range in CIDR format. For IPV4 address range, refer to IETF - RFC 4632 [12]. For IPV6 address range, refer to IETF RFC 4291 [11]. - type: string - format: CIDR - - IdentifierInVim: - description: > - An identifier maintained by the VIM or other resource provider. It is - expected to be unique within the VIM instance. - 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 - #TODO: How to express "any additional attributes"? - - ResourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows addressing a virtualised - resource that is used by a VNF instance. Information about the resource - is available from the VIM. - properties: - vimConnectionId: - description: > - Identifier of the VIM connection to manage the resource. This - attribute shall only be supported and present if VNF-related resource - management in direct mode is applicable. The applicable - "VimConnectionInfo" structure, which is referenced by - vimConnectionId, can be obtained from the "vimConnectionInfo" - attribute of the "VnfInstance" structure. - $ref: "#/definitions/Identifier" - resourceProviderId: - description: > - Identifier of the entity responsible for the management of the - resource. This attribute shall only be supported and present when - VNF-related resource management in indirect mode is applicable. The - identification scheme is outside the scope of the present document. - $ref: "#/definitions/Identifier" - resourceId: - description: > - Identifier of the resource in the scope of the VIM or the resource - provider. - $ref: "#/definitions/IdentifierInVim" - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or the resource - provider. - type: string - #TODO: Note of Table 4.4.1.7-1 - - CpProtocolData: - description: > - This type represents network protocol data. - type: object - required: - - layerProtocol - properties: - layerProtocol: - description: > - Identifier of layer(s) and protocol(s). - Permitted values: IP_OVER_ETHERNET. - type: string - enum: - - IP_OVER_ETHERNET - ipOverEthernet: - description: > - Network address data for IP over Ethernet to - assign to the extCP instance. Shall be - present if layerProtocol is equal to - "IP_OVER_ETHERNET", and shall be absent otherwise. - $ref: "#/definitions/IpOverEthernetAddressData" - - IpOverEthernetAddressData: - description: > - This type represents network address data for IP over Ethernet. - type: object - properties: - macAddress: - description: > - MAC address. If this attribute is not present, it shall be chosen by the NFV MANO. - $ref: "#/definitions/MacAddress" - ipAddresses: - description: > - List of IP addresses to assign to the CP instance. Each entry - represents IP address data for fixed or dynamic IP address - assignment per subnet. - If this attribute is not present, no IP address shall be assigned. - type: array - items: - type: object - required: - - type - properties: - type: - description: > - The type of the IP addresses. - Permitted values: IPV4, IPV6. - type: string - enum: - - IPV4 - - IPV6 - fixedAddresses: - description: > - Fixed addresses to assign (from the subnet defined by - "subnetId" if provided). - Exactly one of "fixedAddresses", "numDynamicAddresses" or - "ipAddressRange" shall be present. - type: array - items: - $ref: "#/definitions/IpAddress" - numDynamicAddresses: - description: > - Number of dynamic addresses to assign (from the subnet defined - by "subnetId" if provided). - Exactly one of "fixedAddresses", "numDynamicAddresses" or - "ipAddressRange" shall be present. - type: integer - addressRange: - description: > - An IP address range to be used, e.g. in case of egress - connections. - In case this attribute is present, IP addresses from the range - will be used. - type: object - required: - - minAddress - - maxAddress - properties: - minAddress: - description: > - Lowest IP address belonging to the range. - $ref: "#/definitions/IpAddress" - maxAddress: - description: > - Highest IP address belonging to the range. - $ref: "#/definitions/IpAddress" - subnetId: - description: > - Subnet defined by the identifier of the subnet resource in the - VIM. - In case this attribute is present, IP addresses from that - subnet will be assigned; otherwise, IP addresses not bound to - a subnet will be assigned. - $ref: "#/definitions/IdentifierInVim" - - ExtVirtualLinkData: - description: > - This type represents an external VL. It shall comply with the provisions defined in Table 6.5.3.26-1. - type: object - required: - - resourceId - - extCps - properties: - extVirtualLinkId: - description: > - The identifier of the external VL instance, if provided. - $ref: "#/definitions/Identifier" - vimId: - description: > - Identifier of the VIM that manages this resource. This - attribute shall only be supported and present if VNFrelated - resource management in direct mode is applicable. - $ref: "#/definitions/Identifier" - resourceProviderId: - description: > - Identifies the entity responsible for the management of - this resource. - This attribute shall only be supported and present if - VNF-related resource management in indirect mode is - applicable. The identification scheme is outside the - scope of the present document. - $ref: "#/definitions/Identifier" - resourceId: - description: > - The identifier of the resource in the scope of the VIM or - the resource provider. - $ref: "#/definitions/IdentifierInVim" - extCps: - description: > - External CPs of the VNF to be connected to this external VL. - type: array - items: - $ref: "#/definitions/VnfExtCpData" - extLinkPorts: - description: > - Externally provided link ports to be used to connect - external connection points to this external VL. - type: array - items: - $ref: "#/definitions/ExtLinkPortData" - - ExtManagedVirtualLinkData: - description: > - This type represents an externally-managed internal VL. - It shall comply with the provisions defined in Table 6.5.3.27-1. - type: object - required: - - virtualLinkDescId - - resourceId - properties: - extManagedVirtualLinkId: - description: > - The identifier of the externally-managed internal VL - instance, if provided. - $ref: "#/definitions/Identifier" - virtualLinkDescId: - description: > - The identifier of the VLD in the VNFD for this VL. - $ref: "#/definitions/IdentifierInVnfd" - vimId: - description: > - Identifier of the VIMthat manage this resource. This - attribute shall only be supported and present if VNFrelated - resource management in direct mode is applicable. - $ref: "#/definitions/Identifier" - resourceProviderId: - description: > - Identifies the entity responsible for the management of - this resource. This attribute shall only be supported and present if - VNF-related resource management in indirect mode is - applicable. The identification scheme is outside the - scope of the present document. - $ref: "#/definitions/Identifier" - resourceId: - description: > - The identifier of the resource in the scope of the VIM or - the resource provider. - $ref: "#/definitions/IdentifierInVim" - - VnfExtCpData: - description: > - This type represents configuration information for external CPs created - from a CPD. - type: object - required: - - cpdId - properties: - cpdId: - description: > - The identifier of the CPD in the VNFD. - $ref: "#/definitions/IdentifierInVnfd" - cpConfig: - description: > - List of instance data that need to be configured on the CP instances - created from the respective CPD. - type: array - items: - $ref: "#/definitions/VnfExtCpConfig" - - ExtLinkPortData: - description: > - This type represents an externally provided link port to be used to - connect an external connection point to an external VL. - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - Identifier of this link port as provided by the entity that has - created the link port. - $ref: "#/definitions/Identifier" - resourceHandle: - description: > - Reference to the virtualised resource realizing this link port. - $ref: "#/definitions/ResourceHandle" - - VnfExtCpConfig: - description: > - This type represents an externally provided link port or network address - information per instance of an external connection point. In case a link - port is provided, the VNFM shall use that link port when connecting the - external CP to the external VL. In a link port is not provided, the VNFM - shall create a link port on the external VL, and use that link port to - connect the external CP to the external VL. - type: object - properties: - cpInstanceId: - description: > - Identifier of the external CP instance to which this set of - configuration parameters is requested to be applied. - Shall be present if this instance has already been created. - $ref: "#/definitions/IdentifierInVnf" - linkPortId: - description: > - Identifier of a pre-configured link port to which the external CP - will be associated. - The following conditions apply to the attributes "linkPortId" and - "cpProtocolData": - * The "linkPortId" and "cpProtocolData" attributes shall both be - absent for the deletion of an existing external CP instance - addressed by cpInstanceId. - * At least one of these attributes shall be present for a - to-be-created external CP instance or an existing external - CP instance. - * If the "linkPortId" attribute is absent, the VNFM shall create a - link port. - * If the "cpProtocolData" attribute is absent, the "linkPortId" - attribute shall be provided referencing a pre-created link port, - and the VNFM can use means outside the scope of the present - document to obtain the pre-configured address information for the - connection point from the resource representing the link port. - * If both "cpProtocolData" and "linkportId" are provided, the API - consumer shall ensure that the cpProtocolData can be used with the - pre-created link port referenced by "linkPortId". - $ref: "#/definitions/Identifier" - cpProtocolData: - description: > - Parameters for configuring the network protocols on the link port - that connects the CP to a VL. - The following conditions apply to the attributes "linkPortId" and - "cpProtocolData": - * The "linkPortId" and "cpProtocolData" attributes shall both be - absent for the deletion of an existing external CP instance - addressed by cpInstanceId. - * At least one of these attributes shall be present for a - to-be-created external CP instance or an existing external - CP instance. - * If the "linkPortId" attribute is absent, the VNFM shall create a - link port. - * If the "cpProtocolData" attribute is absent, the "linkPortId" - attribute shall be provided referencing a pre-created link port, - and the VNFM can use means outside the scope of the present - document to obtain the pre-configured address information for the - connection point from the resource representing the link port. - * If both "cpProtocolData" and "linkportId" are provided, the API - consumer shall ensure that the cpProtocolData can be used with the - pre-created link port referenced by "linkPortId". - type: array - items: - $ref: "#/definitions/CpProtocolData" - - PortRange: - description: > - The PortRange data type provides the lower and upper bounds of a range of Internet ports. - It shall comply with the provisions defined in Table 6.5.3.42-1. - type: object - required: - - lowerPort - - upperPort - properties: - lowerPort: - description: > - Identifies the lower bound of the port range. upperPort Integer - type: integer - minimum: 0 - upperPort: - description: > - Identifies the upper bound of the port range. - type: integer - minimum: 0 - - Mask: - description: > - The Mask data type identifies the value to be matched for a sequence of - bits at a particular location in a frame. It shall - comply with the provisions defined in Table 6.5.3.41-1. - type: object - required: - - startingPoint - - length - - value - properties: - startingPoint: - description: > - Indicates the offset between the last bit of the source - mac address and the first bit of the sequence of bits - to be matched. - type: integer - length: - description: > - Indicates the number of bits to be matched. - type: integer - value: - description: > - Provide the sequence of bit values to be matched. - type: string - - Uri: - description: > - String formatted according to IETF RFC 3986. - type: 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" diff --git a/src/SOL005/NSLifecycleManagement/responses/NSLifecycleManagement_resp.yaml b/src/SOL005/NSLifecycleManagement/responses/NSLifecycleManagement_resp.yaml deleted file mode 100644 index 6737bf1dc418d85699a0eb64304c5d3e4c6d000c..0000000000000000000000000000000000000000 --- a/src/SOL005/NSLifecycleManagement/responses/NSLifecycleManagement_resp.yaml +++ /dev/null @@ -1,190 +0,0 @@ - # Copyright (c) ETSI 2017. - # https://forge.etsi.org/etsi-forge-copyright-notice.txt - - responses: - 202-with-Location: - description: > - 202 Accepted - - The request was accepted for processing, but the processing has not - been completed. - - The response body shall be empty. - - The HTTP response shall include a "Location" HTTP - header that contains the URI of the newly-created - "NS lifecycle operation occurrence" resource - corresponding to the operation. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Location: - description: The resource URI of the created NS instance - type: string - format: url - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - $ref: "../definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsInstance" - 202-with-Location-empty: - description: > - Accepted - - The request was accepted for processing, but the processing has not - been completed. On success, the HTTP response shall include a - "Location" HTTP header that contains the URI of the newly-created - "NS LCM operation occurrence" resource corresponding to the - operation. - The response body shall be empty. - headers: - Location: - description: The resource URI of the created NS instance - type: string - format: url - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - 409-another-lcm-operation-ongoing: - description: > - Conflict - - The operation cannot be executed currently, due to a conflict with the - state of the NS instance resource. - Typically, this is due to the fact that another LCM operation is - ongoing. - The response body shall 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 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 409-inconsistent-state: - description: > - Conflict - - Another request is in progress that prohibits the fulfilment of - the current request, or the current resource state is inconsistent - with the request. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 409-state-conflict-INSTANTIATED: - description: > - Conflict - - Error: The operation cannot be executed currently, due - to a conflict with the state of the NS LCM operation - occurrence resource. - Typically, this is due to the fact that the NS LCM - operation occurrence is not in FAILED_TEMP state, or - another error handling action is starting, such as retry or fail. - The response body shall contain a ProblemDetails - structure, in which the "detail" attribute shall 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 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 409-state-conflict-not-FAILED_TEMP: - description: > - The operation cannot be executed currently, due to a conflict with the - state of the NS instance resource. - Typically, this is due to the fact that the NS instance resource is - not in FAILED_TEMP state, or another error handling action is starting, - such as rollback or fail. - The response body shall 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 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 409-state-conflict-NOT-INSTANTIATED: - description: > - Conflict - - The operation cannot be executed currently, due to a conflict with the - state of the NS instance resource. - Typically, this is due to the fact that the NS instance resource is in - NOT-INSTANTIATED state, or that another lifecycle management operation - is ongoing. - The response body shall 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 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" \ No newline at end of file diff --git a/src/SOL005/NSLifecycleManagement/responses/SOL005_resp.yaml b/src/SOL005/NSLifecycleManagement/responses/SOL005_resp.yaml deleted file mode 100644 index cbcd81ac476facc7ee94d2fb7cd99befbe1a6dd0..0000000000000000000000000000000000000000 --- a/src/SOL005/NSLifecycleManagement/responses/SOL005_resp.yaml +++ /dev/null @@ -1,416 +0,0 @@ - # Copyright (c) ETSI 2017. - # https://forge.etsi.org/etsi-forge-copyright-notice.txt - responses: - 202: - description: > - Accepted - - The request was accepted for processing, but processing has not - been completed. The response shall have an empty payload body. - headers: - Location: - description: The resource URI of the created NS instance - type: string - format: url - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - 202-with-Location: - description: > - Accepted - - The request was accepted for processing, but the processing has not - been completed. On success, the HTTP response shall include a - "Location" HTTP header that contains the URI of the newly-created - "NS LCM operation occurrence" resource corresponding to the - operation. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Location: - description: The resource URI of the created NS instance - type: string - format: url - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - 303: - description: > - See Other - A subscription with the same callbackURI and the same filter already - exists and the policy of the VNFM 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. - 400: - description: > - Bad Request - - Error: Invalid attribute-based filtering parameters. - The response body shall 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 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 400-attr-based-filtering-error: - description: > - Bad Request - Invalid attribute-based filtering parameters or Invalid attribute - selector. - It fhe request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, - and should include in the "detail" attribute more information about - the source of the problem. - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall - be returned in the WWW-Authenticate HTTP header, as defined in - IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - 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 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 400-attr-selector: - description: > - Error: Invalid attribute selector. - The response body shall 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 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 401: - description: > - Unauthorized - If the request contains no access token even though one is - required, or if the request contains an authorization token that - is invalid (e.g. expired or revoked), the API producer should - respond with this response. The details of the error shall be - returned in the WWW-Authenticate HTTP header, as defined in - IETF RFC 6750 and IETF RFC 7235. The ProblemDetails - structure may be provided. - headers: - Content-Type: - type: string - description: The MIME type of the body of the response. - 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. - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 403: - description: > - Forbidden - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. - It should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - 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" - 404: - description: > - Not Found - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. - The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source - of the problem, e.g. a wrong resource URI variable. - 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" - 404-task-resource-not-exists: - description: > - Not Found - Error: The API producer did not find a current representation for the - target resource or is not willing to disclose that one exists. - Specifically in case of this task resource, the response code 404 shall - also returned if the task is not supported for the NS instance - represented by the parent resource, which means that the task resource - consequently does not exist. - In this case, the response body shall be present, and shall contain a - ProblemDetails structure, in which the "detail" attribute shall 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 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 404-task-resource-not-exists-NS-LCM: - description: > - Not Found - Error: The API producer did not find a current representation for the - target resource or is not willing to disclose that one exists. - Specifically in case of this task resource, the response code 404 shall - also be returned if the task is not supported for the NS LCM operation - occurrence represented by the parent resource, which means that the task - resource consequently does not exist. - In this case, the response body shall be present, and shall contain a - ProblemDetails structure, in which the "detail" attribute shall 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 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 404-task-not-suported: - description: > - Not Found - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. - Specifically in case of this task resource, the reason can also be that - the task is not supported for the NS instance represented by the parent - resource, and that the task resource consequently does not exist. - The "ProblemDetails" structure may be provided, including in the - "detail" attribute information about the sourceof the problem, e.g. a - wrong resource URI variable. - 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" - 404-task-not-suported-NS-LCM: - description: > - Not Found - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. - Specifically in case of this task resource, the reason can also be that - the task is not supported for the NS LCM operation occurrence - represented by the parent resource, and that the task resource - consequently does not exist. - The "ProblemDetails" structure may be provided, including in the - "detail" attribute information about the source of the problem, e.g. a - wrong resource URI variable. - 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" - 404-not-found: - description: > - Not Found - Error: The API producer did not find a current - representation for the target resource or is not willing to - disclose that one exists. - The general cause for this error and its handling is - specified in clause 4.3.5.4, including rules for the - presence of the response body. - Specifically, in case of this task resource, the reason - can also be that the task is not supported for the NS - LCM operation occurrence represented by the parent - source, and that the task resource consequently - does not exist. - In this case, the response body shall be present, and - shall contain a ProblemDetails structure, in which the - "detail" attribute shall 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 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 405: - description: > - Method Not Allowed - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted in that case. - 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" - 406: - description: > - Not Acceptable - If the Accept HTTP header does not contain at least one name of - a content type that is acceptable to the API producer, the API - producer shall respond with this response code. The - ProblemDetails structure may be omitted in that case. - 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" - 412: - description: > - 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: - 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" - 416: - description: > - Requested Range Not Satisfiable - This code is returned if the requested byte range in the - Range HTTP header is not present in the requested resource. - 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" - 422: - description: > - Unprocessable Entity - If the payload body of a request contains syntactically correct - data (e.g. well-formed JSON) but the data cannot be processed - (e.g. because it fails validation against a schema), the API - producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include - in the "detail" attribute more information about the source of the - problem. - NOTE 2: This error response code is only applicable for methods - that have a request body. - 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" - 500: - description: > - Internal Server Error - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code - ("catch all error"), the API producer shall respond withthis - response code. The ProblemDetails structure shall be provided, - and shall include in the "detail" attribute more information about - the source of the problem. - 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" - 503: - description: > - Service Unavailable - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the Retry-After HTTP header and for the alternative - to refuse the connection. The "ProblemDetails" structure may be omitted. - 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 diff --git a/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml b/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml new file mode 100644 index 0000000000000000000000000000000000000000..25f98f797d078da10117919e872a145b04907365 --- /dev/null +++ b/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml @@ -0,0 +1,360 @@ +swagger: "2.0" + +info: + version: "1.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" + title: "SOL005 - NS Lifecycle Management Notification interface" + description: > + SOL005 - NS Lifecycle Management Notification 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 https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + license: + name: "ETSI Forge copyright notice" + url: https://forge.etsi.org/etsi-forge-copyright-notice.txt + +externalDocs: + description: ETSI GS NFV-SOL 005 V2.5.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.05.01_60/gs_NFV-SOL005v020501p.pdf + +basePath: /callback/v1 + +schemes: + - http + - https + +consumes: + - application/json +produces: + - application/json +paths: + ################################################################################## + # Notification endpoint NS Lifecycle Management # + ################################################################################## + '/URI_is_provided_by_the_client_when_creating_the_subscription-NsLcmOperationOccurrenceNotification': + 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: NsLcmOperationOccurrenceNotification + description: > + A notification about lifecycle changes triggered by a NS LCM. + operation occurrence. + in: body + required: true + schema: + $ref: "definitions/SOL005NSLifecycleManagementNotification_def.yaml#/definitions/NsLcmOperationOccurrenceNotification" + - name: Accept + description: > + Content-Types that are acceptable for the response. + Reference: IETF RFC 7231 + in: header + required: true + type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string + - name: Content-Type + description: > + The MIME type of the body of the request. + Reference: IETF RFC 7231 + in: header + required: true + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string + responses: + 204: + description: > + 204 No Content + + The notification was delivered successfully. + 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 + 400: + $ref: "../responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../responses/SOL005_resp.yaml#/responses/404" + 405: + $ref: "../responses/SOL005_resp.yaml#/responses/405" + 406: + $ref: "../responses/SOL005_resp.yaml#/responses/406" + 409: + $ref: "../responses/SOL005_resp.yaml#/responses/409" + 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': + 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: + $ref: "definitions/SOL005NSLifecycleManagementNotification_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 + in: header + required: true + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string + responses: + 204: + description: > + 204 No Content + + The notification was delivered successfully. + 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 + 400: + $ref: "../responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../responses/SOL005_resp.yaml#/responses/404" + 405: + $ref: "../responses/SOL005_resp.yaml#/responses/405" + 406: + $ref: "../responses/SOL005_resp.yaml#/responses/406" + 409: + $ref: "../responses/SOL005_resp.yaml#/responses/409" + 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-NsIdentifierDeletionNotification': + 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: NsIdentifierDeletionNotification + description: > + A notification about the deletion of a NS identifier and the related + NS instance resource. + in: body + required: true + schema: + $ref: "definitions/SOL005NSLifecycleManagementNotification_def.yaml#/definitions/NsIdentifierDeletionNotification" + - name: Accept + description: > + Content-Types that are acceptable for the response. + Reference: IETF RFC 7231 + in: header + required: true + type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string + - name: Content-Type + description: > + The MIME type of the body of the request. + Reference: IETF RFC 7231 + in: header + required: true + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string + responses: + 204: + description: > + 204 No Content + + The notification was delivered successfully. + 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 + 400: + $ref: "../responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../responses/SOL005_resp.yaml#/responses/404" + 405: + $ref: "../responses/SOL005_resp.yaml#/responses/405" + 406: + $ref: "../responses/SOL005_resp.yaml#/responses/406" + 409: + $ref: "../responses/SOL005_resp.yaml#/responses/409" + 416: + $ref: "../responses/SOL005_resp.yaml#/responses/416" + 500: + $ref: "../responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../responses/SOL005_resp.yaml#/responses/503" + + get: + summary: Test the notification endpoint. + description: > + Query NS Instances. + + The GET method queries information about multiple NS instances. + This method shall support the URI query parameters, request and response data structures, and response codes, as + specified in the Tables 6.4.2.3.2-1 and 6.4.2.3.2-2. + parameters: + - name: 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: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string + responses: + 204: + description: > + 204 No Content + + The notification endpoint was tested 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 + 400: + $ref: "../responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../responses/SOL005_resp.yaml#/responses/404" + 405: + $ref: "../responses/SOL005_resp.yaml#/responses/405" + 406: + $ref: "../responses/SOL005_resp.yaml#/responses/406" + 409: + $ref: "../responses/SOL005_resp.yaml#/responses/409" + 416: + $ref: "../responses/SOL005_resp.yaml#/responses/416" + 500: + $ref: "../responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../responses/SOL005_resp.yaml#/responses/503" \ No newline at end of file diff --git a/src/SOL005/NSLifecycleManagementNotification/definitions/SOL005NSLifecycleManagementNotification_def.yaml b/src/SOL005/NSLifecycleManagementNotification/definitions/SOL005NSLifecycleManagementNotification_def.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f62006d7fe6419501b509fc23e94f770190dc3c9 --- /dev/null +++ b/src/SOL005/NSLifecycleManagementNotification/definitions/SOL005NSLifecycleManagementNotification_def.yaml @@ -0,0 +1,187 @@ +# Copyright (c) ETSI 2017. +# https://forge.etsi.org/etsi-forge-copyright-notice.txt +definitions: + NsLcmOperationOccurrenceNotification: + type: object + required: + - id + - nsInstanceId + - nsLcmOpOccId + - subscriptionId + - timestamp + - notificationStatus + - operationState + - isAutomaticInvocation + - _links + properties: + id: + description: > + Identifier of this notification. If a notification is sent + multiple times due to multiple subscriptions, the "id" + attribute of all these notifications shall have the same value. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + nsInstanceId: + description: > + The identifier of the NS instance affected. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + nsLcmOpOccId: + description: > + The identifier of the NS lifecycle operation occurrence + associated to the notification. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + operation: + description: > + The lifecycle operation. + $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsLcmOpType" + notificationType: + description: > + Discriminator for the different notification types. Shall be + set to "NsLcmOperationOccurrenceNotification" for this + notification type. + type: string + subscriptionId: + description: > + Identifier of the subscription that this notification relates to. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + timestamp: + description: > + Date-time of the generation of the notification. + $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" + notificationStatus: + description: > + Indicates whether this notification reports about the start + of a NS lifecycle operation or the result of a NS lifecycle + operation. + Permitted values: + - START: Informs about the start of the NS LCM + operation occurrence. + - RESULT: Informs about the final or intermediate + result of the NS LCM operation occurrence. + type: string + enum: + - START + - RESULT + operationState: + description: > + The state of the NS lifecycle operation occurrence. + $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsLcmOperationStateType" + isAutomaticInvocation: + description: > + Set to true if this NS LCM operation occurrence has + been automatically triggered by the NFVO. This occurs + in case of auto-scaling, auto-healing and when a nested + NS is modified as a result of an operation on its + composite NS. Set to false otherwise. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Boolean" + affectedVnf: + description: > + Information about the VNF instances that were affected + during the lifecycle operation. + type: array + items: + $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedVnf" + affectedPnf: + description: > + Information about the PNF instances that were affected + during the lifecycle operation. + type: array + items: + $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedPnf" + affectedVl: + description: > + Information about the VL instances that were affected + during the lifecycle operation. + type: array + items: + $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedVirtualLink" + affectedVnffg: + description: > + Information about the VNFFG instances that were + affected during the lifecycle operation. + type: array + items: + $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedVnffg" + affectedNs: + description: > + Information about the SAP instances that were affected + during the lifecycle operation. See note. + type: array + items: + $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedNs" + affectedSap: + description: > + Information about the SAP instances that were affected during the lifecycle operation. + Shall be present if the "notificationStatus" is set to "RESULT" and the operation + has performed any resource modification. Shall be absent otherwise. + type: array + items: + $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedSap" + error: + description: > + Details of the latest error, if one has occurred during + executing the LCM operation (see clause 4.3.5). Shall + be present if operationState is "FAILED_TEMP" or + "FAILED", and shall be absent otherwise. + $ref: "../../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + _links: + description: > + Links to resources related to this notification. + $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/LccnLinks" + + NsIdentifierCreationNotification: + type: object + required: + - subscriptionId + - nsInstanceId + properties: + notificationType: + description: > + Discriminator for the different notification types. + Shall be set to "NsIdentifierDeletionNotification" for this + notification type. + type: string + subscriptionId: + description: > + Identifier of the subscription that this notification relates to. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + timestamp: + description: > + Date-time of the generation of the notification. + $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" + nsInstanceId: + description: > + The created NS instance identifier + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + _links: + description: > + Links to resources related to this notification. + $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/LccnLinks" + + NsIdentifierDeletionNotification: + type: object + required: + - subscriptionId + - nsInstanceId + properties: + notificationType: + description: > + Discriminator for the different notification types. + Shall be set to "NsIdentifierDeletionNotification" for this + notification type. + type: string + subscriptionId: + description: > + Identifier of the subscription that this notification relates to. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + timestamp: + description: > + Date-time of the generation of the notification. + $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" + nsInstanceId: + description: > + The created NS instance identifier + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + _links: + description: > + Links to resources related to this notification. + $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/LccnLinks" \ No newline at end of file diff --git a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml index bea3ace7bfdd2bf300d183d05147f6d4c144e329..9dbdae32109bc08f7beacdd8dfb9b2068433ddfc 100644 --- a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml +++ b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml @@ -1,8 +1,8 @@ swagger: "2.0" info: - version: "1.0.0" - title: SOL005 - NS Performance Management Interface + version: "1.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" + title: "SOL005 - NS Performance Management Interface" description: > SOL005 - NS Performance Management Interface IMPORTANT: Please note that this file might be not aligned to the current @@ -13,51 +13,38 @@ info: license: name: "ETSI Forge copyright notice" url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - contact: + contact: name: "NFV-SOL WG" + externalDocs: - description: ETSI GS NFV-SOL 005 V2.4.1 - url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.04.01_60/gs_NFV-SOL005v020401p.pdf -basePath: "/nspm/v1" + description: ETSI GS NFV-SOL 005 V2.5.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.05.01_60/gs_NFV-SOL005v020501p.pdf + +basePath: /nspm/v1 + schemes: + - http - https + consumes: - - "application/json" + - application/json + produces: - - "application/json" + - application/json + paths: -############################################################################### -# PM Jobs # -############################################################################### + ############################################################################### + # API Versions # + ############################################################################### + '/api-versions': + $ref: '../endpoints/SOL005_endpoints.yaml#/endpoints/api-versions' + + ############################################################################### + # PM Jobs # + ############################################################################### '/pm_jobs': #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.2 - post: - summary: Create a PM job. - description: > - The POST method creates a PM job. - This method shall follow the provisions specified in the - Tables 7.4.2.3.1-1 and 7.4.2.3.1-2 for URI query parameters, - request and response data structures, and response codes. - parameters: - - name: "CreatePmJobRequest" - in: "body" - required: true - schema: - type: "object" - required: - - "CreatePmJobRequest" - properties: - CreatePmJobRequest: - $ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/CreatePmJobRequest" - description: > - The VNF creation parameters. - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string + parameters: - name: Authorization description: > The authorization token for the request. @@ -65,109 +52,146 @@ paths: in: header required: false type: string - - name: Content-Type + - name: Version description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 + Version of the API requested to use when responding to this request. in: header required: true - type: string - responses: + type: string + + post: + summary: Create a PM job. + description: > + The POST method creates a PM job. + This method shall follow the provisions specified in the + Tables 7.4.2.3.1-1 and 7.4.2.3.1-2 for URI query parameters, + request and response data structures, and response codes. + parameters: + - name: CreatePmJobRequest + in: body + required: true + schema: + $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/CreatePmJobRequest" + description: > + The VNF creation 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 + responses: 201: - description: > - 201 Created - + description: > + 201 CREATED + The PM job was created successfully. The response body shall contain a representation of the created PM job resource, as defined in clause 7.5.2.7. The HTTP response shall include a "Location" HTTP header that points to the created PM job resource. schema: - type: "object" - properties: - PmJob: - $ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/PmJob" + $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/PmJob" headers: Content-Type: - type: "string" + 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. maximum: 1 - minimum: 0 + minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 400: - $ref: "responses/SOL005_resp.yaml#/responses/400" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: - $ref: "responses/SOL005_resp.yaml#/responses/404" + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/404" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" - 416: - $ref: "responses/SOL005_resp.yaml#/responses/416" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" + $ref: "../responses/SOL005_resp.yaml#/responses/503" get: summary: Query PM jobs. - description: > - "The client can use this method to retrieve information about PM jobs" + description: > + The client can use this method to retrieve information about PM jobs. parameters: - - name: "filter" - in: "query" + - name: filter + in: query required: false - type: "string" - description: > - "Attribute-based filtering parameters according to clause 4.3.2. - The NFVO shall support receiving filtering parameters as part of the URI query string. - The OSS/BSS may supply filtering parameters. + type: string + description: > + Attribute-based filtering expression according to clause 4.3.2. + 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 PmJob and in data types referenced from it - shall be supported in attribute-based filtering parameters" - - name: "all_fields" - in: "query" + shall be supported by the NFVO in the filter expression. + - name: all_fields + in: query required: false - type: "string" - description: > - "Include all complex attributes in the response. See clause 4.3.3 for details. The - NFVO shall support this parameter" - - name: "include" - in: "query" + type: string + description: > + Include all complex attributes in the response. See clause 4.3.3 for details. The + NFVO shall support this parameter. + - name: include + in: query required: false - type: "string" - description: > - "Complex attributes to be included into the response. See clause 4.3.3 for details. The - NFVO should support this parameter" - - name: "exclude" - in: "query" + type: string + description: > + Complex attributes to be included into the response. See clause 4.3.3 for details. The + NFVO should support this parameter. + - name: exclude + in: query required: false - type: "string" - description: > - "Complex attributes to be excluded from the response. See clause 4.3.3 for details. - The NFVO should support this parameter." - - name: "exclude_default" - in: "query" + type: string + description: > + Complex attributes to be excluded from the response. See clause 4.3.3 for details. + The NFVO should support this parameter. + - name: exclude_default + in: query required: false - type: "string" - description: > - "Indicates to exclude the following complex attributes from the response. + type: string + description: > + Indicates to exclude the following complex attributes from the response. See clause 4.3.3 for details. The NFVO shall support this parameter. The following attributes shall be excluded from the PmJob structure in the response body if this parameter is provided, or none of the parameters "all_fields," "fields", "exclude_fields", "exclude_default" are provided: - reports." + reports. + - name: nextpage_opaque_marker + 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 4.7.2.1 for this resource. + in: query + required: false + type: string - name: Accept description: > Content-Types that are acceptable for the response. @@ -175,28 +199,21 @@ paths: in: header required: true type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - 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 + type: string responses: 200: description: > 200 OK - + Information about zero or more PM jobs was queried successfully. The response body shall contain representations of - zero or more PM jobs, as defined in clause 7.5.2.7 + zero or more PM jobs, as defined in clause 7.5.2.7. headers: Content-Type: description: The MIME type of the body of the response. @@ -204,37 +221,49 @@ 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. maximum: 1 - minimum: 0 + minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + 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 schema: type: array items: - properties: - PmJob: - $ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/PmJob" + $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/PmJob" 400: - $ref: "responses/SOL005_resp.yaml#/responses/400" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" - -############################################################################### -# Individual PM job # -############################################################################### + $ref: "../responses/SOL005_resp.yaml#/responses/503" + + ############################################################################### + # Individual PM job # + ############################################################################### '/pm_jobs/{pmJobId}': #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.3 parameters: @@ -247,6 +276,20 @@ paths: in: path type: string required: true + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235. + in: header + required: true + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string + get: summary: Read a single PM job. description: > @@ -255,14 +298,7 @@ paths: - 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 + Reference: IETF RFC 7231. in: header required: true type: string @@ -270,89 +306,95 @@ paths: 200: description: > 200 OK - + Information about an individual PM job was queried successfully. The response body shall contain a representation of the PM job resource, as defined in clause 7.5.2.7. schema: - type: "object" - properties: - PmJob: - $ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/PmJob" + $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/PmJob" headers: Content-Type: - type: "string" + 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. 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#/responses/400" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" + $ref: "../responses/SOL005_resp.yaml#/responses/503" + delete: summary: Delete a PM job. description: > This method terminates an individual PM job. - parameters: - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: true - type: string responses: 204: - description: > - 204 No Content - + description: > + 204 NO CONTENT + The PM job was deleted successfully. The response body shall be empty. headers: 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. 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#/responses/400" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" + $ref: "../responses/SOL005_resp.yaml#/responses/503" -############################################################################### -# Individual performance report # -############################################################################### + ############################################################################### + # Individual performance report # + ############################################################################### '/pm_jobs/{pmJobId}/reports/{reportId}': #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.4 parameters: @@ -368,6 +410,20 @@ paths: in: path type: string required: true + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235. + in: header + required: true + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string + get: summary: Read an individual performance report. description: > @@ -377,14 +433,7 @@ paths: - 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 + Reference: IETF RFC 7231. in: header required: true type: string @@ -398,72 +447,50 @@ paths: the performance report resource, as defined in clause 7.5.2.10. schema: - type: "object" - properties: - PerformanceReport: - $ref: "definitions/NSPerfomananceManagement_def.yaml#/definitions/PerformanceReport" + $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/PerformanceReport" headers: Content-Type: - type: "string" + 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. 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#/responses/400" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" + $ref: "../responses/SOL005_resp.yaml#/responses/503" -############################################################################### -# Thresholds # -############################################################################### + ############################################################################### + # Thresholds # + ############################################################################### '/thresholds': #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.5 - post: - summary: Create a threshold. - description: > - The POST method can be used by the client to create a threshold. - - This method shall follow the provisions specified in the - table 7.4.5.3.1-2 for URI query parameters, - request and response data structures, and response codes. - parameters: - - name: "CreateThresholdRequest" - in: "body" - required: true - schema: - type: "object" - required: - - "CreateThresholdRequest" - properties: - CreateThresholdRequest: - $ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/CreateThresholdRequest" - description: > - Request parameters to create a threshold resource. - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string + parameters: - name: Authorization description: > The authorization token for the request. @@ -471,18 +498,48 @@ paths: in: header required: false type: string - - name: Content-Type + - name: Version description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 + Version of the API requested to use when responding to this request. in: header required: true - type: string + type: string + + post: + summary: Create a threshold. + description: > + The POST method can be used by the client to create a threshold. + + This method shall follow the provisions specified in the + table 7.4.5.3.1-2 for URI query parameters, + request and response data structures, and response codes. + parameters: + - name: CreateThresholdRequest + in: body + required: true + schema: + $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/CreateThresholdRequest" + description: > + Request parameters to create a threshold resource. + - 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 responses: 201: description: > - 201 Created - + 201 CREATED + A threshold was created successfully. The response body shall contain a representation of the created threshold resource, as defined in clause 7.5.2.9. @@ -490,54 +547,67 @@ paths: header that contains the resource URI of the created threshold resource. schema: - type: "object" - properties: - Threshold: - $ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/Threshold" + $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/Threshold" headers: Content-Type: - type: "string" + 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. 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#/responses/400" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" + $ref: "../responses/SOL005_resp.yaml#/responses/503" + get: - summary: Query thresholds. + summary: Query thresholds. description: > The client can use this method to query information about thresholds. parameters: - - name: "filter" - in: "query" + - name: filter + in: query + required: false + type: string + description: > + Attribute-based filtering expression according to clause 4.3.2. + 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 Thresholds data type and in data types referenced from it + shall be supported by the NFVO in the filter expression. + - name: nextpage_opaque_marker + in: query required: false - type: "string" - description: > - Attribute-based filtering parameters according to clause 4.3.2. - The NFVO shall support receiving filtering parameters as part of the URI query string. - The OSS/BSS may supply filtering parameters. - All attribute names that appear in the Thresholds data type and in data types - referenced from it shall be supported in attribute-based filtering parameters. + 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 4.7.2.1 for this resource. - name: Accept description: > Content-Types that are acceptable for the response. @@ -545,19 +615,11 @@ paths: in: header required: true type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: true - type: string - responses: 200: description: > 200 OK - + Information about zero or more thresholds was queried successfully. The response body shall contain representations of zero or more thresholds, as defined in clause 7.5.2.9. @@ -568,40 +630,52 @@ 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. maximum: 1 - minimum: 0 + minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + 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 schema: type: array items: - properties: - Threshold: - $ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/Threshold" + $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/Threshold" 400: - $ref: "responses/SOL005_resp.yaml#/responses/400" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" - -############################################################################### -# Individual threshold # -############################################################################### + $ref: "../responses/SOL005_resp.yaml#/responses/503" + + ############################################################################### + # Individual threshold # + ############################################################################### '/thresholds/{thresholdId}': - #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.6 - parameters: + #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.6 + parameters: - name: thresholdId description: > Identifier of the threshold. @@ -612,6 +686,20 @@ paths: in: path type: string required: true + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: true + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string + get: summary: Query a single threshold. description: > @@ -627,54 +715,53 @@ paths: in: header required: true type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: true - type: string responses: 200: description: > 200 OK - + Information about an individual threshold was queried successfully. The response body shall contain a representation of the threshold, as defined in clause 7.5.2.9. schema: - type: "object" - properties: - Threshold: - $ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/Threshold" + $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/Threshold" headers: Content-Type: - type: "string" + 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. 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#/responses/400" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" + $ref: "../responses/SOL005_resp.yaml#/responses/503" + delete: summary: Delete a threshold. description: > @@ -687,48 +774,65 @@ paths: in: header required: true type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: true - type: string responses: 204: - description: > - 204 No Content - + description: > + 204 NO CONTENT + The threshold was deleted successfully. The response body shall be empty. headers: 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. 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#/responses/400" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" -############################################################################### -# Subscriptions # -############################################################################### + $ref: "../responses/SOL005_resp.yaml#/responses/503" + + ############################################################################### + # Subscriptions # + ############################################################################### '/subscriptions': #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.7 + 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 PM notifications. description: > @@ -742,117 +846,110 @@ paths: 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 callbackUri) parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: "body" - in: "body" - required: true - schema: - type: "object" - required: - - "PmSubscriptionRequest" - properties: - PmSubscriptionRequest: - $ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/PmSubscriptionRequest" + - name: Accept description: > - Details of the subscription to be created. + 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: body + in: body + required: true + schema: + $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/PmSubscriptionRequest" + description: > + Details of the subscription to be created. responses: 201: description: > - 201 Created - + 201 CREATED + The subscription was created successfully. A representation of the created subscription resource shall be returned in the response body, as defined in clause 7.5.2.3. The HTTP response shall include a "Location" HTTP header that contains the resource URI of the created subscription resource. schema: - type: "object" - properties: - PmSubscription: - $ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/PmSubscription" + $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/PmSubscription" headers: Content-Type: - type: "string" + 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. maximum: 1 - minimum: 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. maximum: 1 - minimum: 0 + minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 303: - $ref: "responses/SOL005_resp.yaml#/responses/303" + $ref: "../responses/SOL005_resp.yaml#/responses/303" 400: - $ref: "responses/SOL005_resp.yaml#/responses/400" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" + $ref: "../responses/SOL005_resp.yaml#/responses/503" + get: - summary: Query PM related subscriptions. + summary: Query PM related subscriptions. description: > The client can use this method to query the list of active subscriptions to Performance management notifications subscribed by the client. This method shall follow the provisions specified in the Tables 7.4.7.3.2-1 and 7.4.7.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - - name: "filter" - in: "query" + - name: filter + in: query required: false - type: "string" - description: > - Attribute-based filtering parameters according to clause 4.3.2. - The NFVO shall support receiving filtering parameters as part of the URI - query string. The OSS/BSS may supply filtering parameters. - All attribute names that appear in the PmSubscription and in data types - referenced from it shall be supported in attribute-based filtering - parameters. - - name: Accept + type: string description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true + Attribute-based filtering expression according to clause 4.3.2. + 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 PmSubscription and in data types referenced from it + shall be supported by the NFVO in the filter expression. + - name: nextpage_opaque_marker + in: query + required: false type: string - - name: Authorization description: > - The authorization token for the request. - Reference: IETF RFC 7235 + 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 4.7.2.1 for this resource. + - name: Accept + description: > + Content-Types that are acceptable for the response. + Reference: IETF RFC 7231. in: header required: true type: string @@ -860,7 +957,7 @@ paths: 200: description: > 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 @@ -872,36 +969,49 @@ 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. maximum: 1 - minimum: 0 + minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + 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 schema: type: array items: - properties: - PmSubscription: - $ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/PmSubscription" + $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/PmSubscription" 400: - $ref: "responses/SOL005_resp.yaml#/responses/400" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" -############################################################################### -# Individual subscription # -############################################################################### + $ref: "../responses/SOL005_resp.yaml#/responses/503" + + ############################################################################### + # Individual subscription # + ############################################################################### '/subscriptions/{subscriptionId}': #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.8 parameters: @@ -914,6 +1024,20 @@ paths: in: path type: string required: true + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: true + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string + get: summary: Query a single PM related subscription. description: > @@ -929,57 +1053,56 @@ paths: in: header required: true type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: true - type: string responses: 200: description: > 200 OK - + The subscription was read successfully. The response body shall contain a representation of the subscription resource, as defined in clause 7.5.2.3. schema: - type: "object" - properties: - PmSubscription: - $ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/PmSubscription" + $ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/PmSubscription" headers: Content-Type: - type: "string" + 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. 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#/responses/400" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" + $ref: "../responses/SOL005_resp.yaml#/responses/503" + delete: - summary: Terminate a subscription. + summary: Terminate a subscription. description: > This method terminates an individual subscription. This method shall follow the provisions specified in the @@ -989,231 +1112,45 @@ paths: - 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 + Reference: IETF RFC 7231. in: header required: true type: string responses: 204: - description: > - 204 No Content - + description: > + 204 NO CONTENT + The subscription resource was deleted successfully. The response body shall be empty. headers: 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. maximum: 1 minimum: 0 - 400: - $ref: "responses/SOL005_resp.yaml#/responses/400" - 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" - 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" - 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" - 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" - 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" - 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" - -################################################################################## -# 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-PerformanceInformationAvailableNotification': - #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.9 - post: - summary: Notify about PM related events - description: > - The POST method delivers a notification regarding a performance management event from the server to the client. - This method shall follow the provisions specified in the - Tables 7.4.9.3.1-1 and 7.4.9.3.1-2 for URI query parameters, - - parameters: - - name: PerformanceInformationAvailableNotification - description: > - Notification about performance information availability. - in: body - required: true - schema: - properties: - PerformanceInformationAvailableNotification: - $ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/PerformanceInformationAvailableNotification" - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - responses: - 204: - description: > - 204 No Content - - The notification was delivered successfully. - headers: - WWW-Authenticate: - type: "string" + Version: 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 - 400: - $ref: "responses/SOL005_resp.yaml#/responses/400" - 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" - 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" - 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-ThresholdCrossedNotification': - #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.9 - post: - summary: Notify about PM related events - description: > - The POST method delivers a notification regarding a performance management event from the server to the client. - This method shall follow the provisions specified in the - Tables 7.4.9.3.1-1 and 7.4.9.3.1-2 for URI query parameters, - - parameters: - - name: ThresholdCrossedNotification - description: > - Notification about threshold crossing. - in: body - required: true - schema: - properties: - ThresholdCrossedNotification: - $ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/ThresholdCrossedNotification" - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - responses: - 204: - description: > - 204 No Content - - The notification was delivered successfully. - 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 - 400: - $ref: "responses/SOL005_resp.yaml#/responses/400" - 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" - 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" - 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" - 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" - - get: - summary: Test the notification endpoint - description: > - The GET method allows the server to test the notification endpoint that is provided by the client, e.g. during - subscription. - This method shall follow the provisions specified in the - Tables 7.4.9.3.2-1 and 7.4.9.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. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - responses: - 204: - description: > - 204 No Content - - The notification endpoint was tested 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. + Version of the API used in the response. + type: string maximum: 1 - minimum: 0 + minimum: 1 400: - $ref: "responses/SOL005_resp.yaml#/responses/400" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/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" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" \ No newline at end of file + $ref: "../responses/SOL005_resp.yaml#/responses/503" \ No newline at end of file diff --git a/src/SOL005/NSPerformanceManagement/definitions/NSPerfomananceManagement_def.yaml b/src/SOL005/NSPerformanceManagement/definitions/NSPerfomananceManagement_def.yaml deleted file mode 100644 index 8acb95f7a68e49aab2a69821270e4c9e78b9bc0d..0000000000000000000000000000000000000000 --- a/src/SOL005/NSPerformanceManagement/definitions/NSPerfomananceManagement_def.yaml +++ /dev/null @@ -1,63 +0,0 @@ -definitions: - PerformanceReport: - description: > - This type defines the format of a performance report provided by the NFVO - to the OSS/BSS as a result of collecting - performance information as part of a PM job. - The type shall comply with the provisions defined in Table 7.5.2.10-1. - type: object - required: - - entries - properties: - entries: - description: > - List of performance information entries. Each - performance report entry is for a given metric of a given - object (i.e. NS instance), but can include multiple - collected values. - type: array - items: - type: object - required: - - objectType - - objectInstanceId - - performanceMetric - - performanceValue - properties: - objectType: - description: > - Defines the object type for which performance - information is reported (i.e. NS type). The string value - shall be set to the nsdId of the NS instance to which the - performance information relates. - type: string - objectInstanceId: - description: > - The object instance for which the performance metric is - reported. - The object instances for this information element will be - NS instances. - $ref: "SOL005_def.yaml#/definitions/Identifier" - performanceMetric: - description: > - Name of the metric collected. - type: string - performanceValues: - description: > - List of performance values with associated timestamp. - type: array - items: - type: object - required: - - timeStamp - - performanceValue - properties: - timeStamp: - description: > - Time stamp indicating when the data was collected. - $ref: "SOL005_def.yaml#/definitions/DateTime" - value: - description: > - The type of the "performanceValue" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars, - arrays or structures / Objects)) is outside the scope of the present document. - type: object \ No newline at end of file diff --git a/src/SOL005/NSPerformanceManagement/definitions/SOL005NSPerfomananceManagement_def.yaml b/src/SOL005/NSPerformanceManagement/definitions/SOL005NSPerformanceManagement_def.yaml similarity index 58% rename from src/SOL005/NSPerformanceManagement/definitions/SOL005NSPerfomananceManagement_def.yaml rename to src/SOL005/NSPerformanceManagement/definitions/SOL005NSPerformanceManagement_def.yaml index 5e0d8c1df364d3c5857c754b136e209f55c8f0ea..6035136d145be10244b7a7fedb5a80c48ba0866b 100644 --- a/src/SOL005/NSPerformanceManagement/definitions/SOL005NSPerfomananceManagement_def.yaml +++ b/src/SOL005/NSPerformanceManagement/definitions/SOL005NSPerformanceManagement_def.yaml @@ -1,4 +1,70 @@ +# Copyright (c) ETSI 2017. +# https://forge.etsi.org/etsi-forge-copyright-notice.txt + definitions: + PmSubscriptionRequest: + description: > + This type represents a subscription request. + type: object + required: + - callbackUri + properties: + filter: + description: > + Filter settings for this subscription, to define the subset of + all notifications this subscription relates to. A particular + notification is sent to the subscriber if the filter matches, + or if there is no filter. + $ref: "#/definitions/PmNotificationsFilter" + callbackUri: + description: > + The URI of the endpoint to send the notification to. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Uri" + authentication: + description: > + Authentication parameters to conFigure the use of + Authorization when sending notifications corresponding + to this subscription, as defined in clause 4.5.3.4. + This attribute shall only be present if the subscriber + requires authorization of notifications.. + $ref: "../../definitions/SOL005_def.yaml#/definitions/SubscriptionAuthentication" + + PmSubscription: + description: > + This type represents a subscription. + type: object + required: + - id + - callbackUri + - _links + properties: + id: + description: > + Identifier that identifies the subscription. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + filter: + description: > + Filter settings for this subscription, to define the subset of all + notifications this subscription relates to. A particular + notification is sent to the subscriber if the filter matches, or if + there is no filter. + $ref: "#/definitions/PmNotificationsFilter" + callbackUri: + description: > + The URI of the endpoint to send the notification to. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Uri" + _links: + description: > + Links to resources related to this resource. + type: object + required: + - self + properties: + self: + description: > + URI of this resource. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" + CreatePmJobRequest: description: > This type represents a request to create a PM job. @@ -6,84 +72,19 @@ definitions: type: object required: - objectInstanceIds - - criteria + - criteria properties: objectInstanceIds: description: > Identifiers of the NS instances for which performance information is requested to be collected. type: "array" - items: - $ref: "SOL005_def.yaml#/definitions/Identifier" + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" criteria: description: > Criteria of the collection of performance information. $ref: "#/definitions/PmJobCriteria" - - PmJobCriteria: - description: > - This type represents collection criteria for PM jobs. - It shall comply with the provisions defined in Table 7.5.3.3-1. - type: object - required: - - collectionPeriod - - reportingPeriod - properties: - performanceMetric: - description: > - This defines the types of performance metrics - for the specified object instances. At least one - of the two attributes (performance metric or - group) shall be present. - type: "array" - items: - $ref: "SOL005_def.yaml#/definitions/String" - performanceMetricGroup: - description: > - Group of performance metrics. - A metric group is a pre-defined list of metrics, - known to the producer that it can decompose to - individual metrics. At least one of the two - attributes (performance metric or group) shall - be present. - type: "array" - items: - $ref: "SOL005_def.yaml#/definitions/String" - collectionPeriod: - description: > - Specifies the periodicity at which the producer - will collect performance information. The unit - shall be seconds. - At the end of each reportingPeriod, the producer will inform the consumer about availability of the performance - data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be - equal to or a multiple of the collectionPeriod. In the latter case, the performance data for the collection periods - within one reporting period are reported together. - In particular when choosing short collection and reporting periods, the number of PM jobs that can be - supported depends on the capability of the producing entity. - type: integer - minimum: 0 - default: 0 - reportingPeriod: - description: > - Specifies the periodicity at which the producer - will report to the consumer. - about performance information. The unit shall be seconds. - At the end of each reportingPeriod, the producer will inform the consumer about availability of the performance - data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be - equal to or a multiple of the collectionPeriod. In the latter case, the performance data for the collection periods - within one reporting period are reported together. - In particular when choosing short collection and reporting periods, the number of PM jobs that can be - supported depends on the capability of the producing entity. - type: integer - minimum: 0 - default: 0 - reportingBoundary: - description: > - Identifies a time boundary after which the - reporting will stop. The boundary shall allow a - single reporting as well as periodic reporting up - to the boundary. - $ref: "SOL005_def.yaml#/definitions/DateTime" PmJob: description: > @@ -92,19 +93,19 @@ definitions: required: - id - objectInstanceIds - - criteria + - criteria properties: id: description: > Identifier of this PM job. - $ref: "SOL005_def.yaml#/definitions/Identifier" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" objectInstanceIds: description: > Identifiers of the NS instances for which performance information is collected. type: array items: - $ref: "SOL005_def.yaml#/definitions/Identifier" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" criteria: description: > Criteria of the collection of performance information. @@ -121,19 +122,19 @@ definitions: href: description: > The Uri where the report can be obtained. - $ref: "SOL005_def.yaml#/definitions/Uri" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Uri" readyTime: description: > The time when the report was made available. - $ref: "SOL005_def.yaml#/definitions/DateTime" + $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" expiryTime: description: > The time when the report will expire. - $ref: "SOL005_def.yaml#/definitions/DateTime" + $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" fileSize: description: > The size of the report file in bytes, if known. - type: integer + type: integer _links: description: > Links for this resource. @@ -144,7 +145,7 @@ definitions: self: description: > URI of this resource. - $ref: "SOL005_def.yaml#/definitions/Link" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" objects: description: > Links to resources representing the NS @@ -152,9 +153,9 @@ definitions: collected. Shall be present if the NS instance information is accessible as a resource. type: array - items: - $ref: "SOL005_def.yaml#/definitions/Link" - + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" + CreateThresholdRequest: description: > This type represents a request to create a threshold. @@ -162,34 +163,34 @@ definitions: required: - objectInstanceId - criteria - properties: + properties: objectInstanceId: description: > Identifier of the NS instance associated with this threshold. - $ref: "SOL005_def.yaml#/definitions/Identifier" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" criteria: description: > Criteria that define this threshold. $ref: "#/definitions/ThresholdCriteria" - + Threshold: description: > This type represents a threshold. type: object - required: + required: - id - objectInstanceId - criteria - _links - properties: + properties: id: description: > Identifier of this threshold resource. - $ref: "SOL005_def.yaml#/definitions/Identifier" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" objectInstanceId: description: > Identifier of the NS instance associated with the threshold. - $ref: "SOL005_def.yaml#/definitions/Identifier" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" criteria: description: > Criteria that define this threshold. @@ -198,118 +199,99 @@ definitions: description: > Links for this resource. type: object - required: + required: - self - properties: + properties: self: description: > URI of this resource. - $ref: "SOL005_def.yaml#/definitions/Link" - object: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" + object: description: > Link to a resource representing the NS instance for which performance information is collected. Shall be present if the NS instance information is accessible as a resource. - - ThresholdCriteria: - description: > - This type represents criteria that define a threshold. - type: object - required: - - performanceMetric - - thresholdType - properties: - performanceMetric: - description: > - Defines the performance metric associated with the - threshold, as specified in ETSI GS NFV-IFA 027). - type: string - thresholdType: - description: > - Type of threshold. This attribute determines which other attributes - are present in the data structure. - Permitted values: - * SIMPLE: Single-valued static threshold - In the present document, simple thresholds are defined. The - definition of additional threshold types is left for future - specification. - type: string - enum: - - SIMPLE - simpleThresholdDetails: - description: > - Details of a simple threshold. Shall be present if - thresholdType="SIMPLE". - type: object - required: - - thresholdValue - - hysteresis - properties: - thresholdValue: - description: > - The threshold value. Shall be represented as a floating point - number. - type: integer - hysteresis: - description: > - The hysteresis of the threshold. Shall be represented as a - non-negative floating point number. - A notification with crossing direction "UP" will be generated if - the measured value reaches or exceeds - "thresholdValue" + "hysteresis". A notification with crossing - direction "DOWN" will be generated if the measured value reaches - or undercuts "thresholdValue" - "hysteresis". - The hysteresis is defined to prevent storms of threshold - crossing notifications. When processing a request to create a - threshold, implementations should enforce a suitable minimum - value for this attribute (e.g. override the value or reject the - request). - type: integer - - PmSubscriptionRequest: + + PerformanceReport: description: > - This type represents a subscription request. + This type defines the format of a performance report provided by the NFVO + to the OSS/BSS as a result of collecting + performance information as part of a PM job. + The type shall comply with the provisions defined in Table 7.5.2.10-1. type: object - required: - - callbackUri + required: + - entries properties: - filter: - description: > - Filter settings for this subscription, to define the subset of - all notifications this subscription relates to. A particular - notification is sent to the subscriber if the filter matches, - or if there is no filter. - $ref: "#/definitions/PmNotificationsFilter" - callbackUri: + entries: description: > - The URI of the endpoint to send the notification to. - $ref: "SOL005_def.yaml#/definitions/Uri" - authentication: - description: > - Authentication parameters to conFigure the use of - Authorization when sending notifications corresponding - to this subscription, as defined in clause 4.5.3.4. - This attribute shall only be present if the subscriber - requires authorization of notifications.. - $ref: "SOL005_def.yaml#/definitions/SubscriptionAuthentication" - + List of performance information entries. Each + performance report entry is for a given metric of a given + object (i.e. NS instance), but can include multiple + collected values. + type: array + items: + type: object + required: + - objectType + - objectInstanceId + - performanceMetric + - performanceValue + properties: + objectType: + description: > + Defines the object type for which performance + information is reported (i.e. NS type). The string value + shall be set to the nsdId of the NS instance to which the + performance information relates. + type: string + objectInstanceId: + description: > + The object instance for which the performance metric is + reported. + The object instances for this information element will be + NS instances. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + performanceMetric: + description: > + Name of the metric collected. + type: string + performanceValues: + description: > + List of performance values with associated timestamp. + type: array + items: + type: object + required: + - timeStamp + - performanceValue + properties: + timeStamp: + description: > + Time stamp indicating when the data was collected. + $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" + value: + description: > + The type of the "performanceValue" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars, + arrays or structures / Objects)) is outside the scope of the present document. + type: object + PmNotificationsFilter: description: > - This type represents a filter that can be used to subscribe for + This type represents a filter that can be used to subscribe for notifications related to performance management events. It shall comply with the provisions defined in Table 7.5.3.2-1. - At a particular nesting level in the filter structure, the following applies: + At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter - to match (logical "and" between different filter attributes). + to match (logical "and" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical "or" between the values of one filter attribute). type: object - properties: + properties: nsInstanceSubscriptionFilter: description: > Filter criteria to select NS instances about which to notify. - $ref: "SOL005_def.yaml#/definitions/NSInstanceSubscriptionFilter" + $ref: "../../definitions/SOL005_def.yaml#/definitions/NsInstanceSubscriptionFilter" notificationTypes: description: > Match particular notification types. @@ -318,242 +300,130 @@ definitions: - PerformanceInformationAvailableNotification The permitted values of the "notificationTypes" attribute are spelled exactly as the names of the notification types to facilitate - automated code generation systems. + automated code generation systems. type: array items: type: string enum: - ThresholdCrossedNotification - PerformanceInformationAvailableNotification - PmSubscription: - description: > - This type represents a subscription. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: > - Identifier that identifies the subscription. - $ref: "SOL005_def.yaml#/definitions/Identifier" - filter: - description: > - Filter settings for this subscription, to define the subset of all - notifications this subscription relates to. A particular - notification is sent to the subscriber if the filter matches, or if - there is no filter. - $ref: "#/definitions/PmNotificationsFilter" - callbackUri: - description: > - The URI of the endpoint to send the notification to. - $ref: "SOL005_def.yaml#/definitions/Uri" - _links: - description: > - Links to resources related to this resource. - type: object - required: - - self - properties: - self: - description: > - URI of this resource. - $ref: "SOL005_def.yaml#/definitions/Link" - - Version: - description: > - Software version of the VNF. This is - changed when there is any change to the - software included in the VNF package. - This information is copied from the VNFD. - It shall be present after the VNF package - content has been on-boarded and absent otherwise. - type: string - Checksum: - description: > - This type represents the checksum of a VNF package or an artifact file. - required: - - algorithm - - hash - type: object - properties: - algorithm: - description: > - Name of the algorithm used to generate the checksum, - as defined in ETSI GS NFV-SOL 004 [5]. For example, SHA-256, SHA-512. - type: string - hash: - description: > - The hexadecimal value of the checksum. - type: string - Link: - type: "object" - - PerformanceInformationAvailableNotification: + PmJobCriteria: description: > - This notification informs the receiver that performance information is available. + This type represents collection criteria for PM jobs. + It shall comply with the provisions defined in Table 7.5.3.3-1. type: object required: - - id - - notificationType - - subscriptionId - - timeStamp - - objectInstanceId - - _links + - collectionPeriod + - reportingPeriod properties: - id: - description: > - Identifier of this notification. If a notification is - sent multiple times due to multiple - subscriptions, the "id" attribute of all these - notifications shall have the same value. - $ref: "SOL005_def.yaml#/definitions/Identifier" - notificationType: + performanceMetric: description: > - Discriminator for the different notification types. - Shall be set to - "PerformanceInformationAvailableNotification" - for this notification type. - type: string - subscriptionId: + This defines the types of performance metrics + for the specified object instances. At least one + of the two attributes (performance metric or + group) shall be present. + type: array + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/String" + performanceMetricGroup: description: > - Identifier of the subscription that this notification relates to. - $ref: "SOL005_def.yaml#/definitions/Identifier" - timeStamp: + Group of performance metrics. + A metric group is a pre-defined list of metrics, + known to the producer that it can decompose to + individual metrics. At least one of the two + attributes (performance metric or group) shall + be present. + type: array + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/String" + collectionPeriod: description: > - Date and time of the generation of the notification. - $ref: "SOL005_def.yaml#/definitions/DateTime" - objectInstanceId: + Specifies the periodicity at which the producer + will collect performance information. The unit + shall be seconds. + At the end of each reportingPeriod, the producer will inform the consumer about availability of the performance + data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be + equal to or a multiple of the collectionPeriod. In the latter case, the performance data for the collection periods + within one reporting period are reported together. + In particular when choosing short collection and reporting periods, the number of PM jobs that can be + supported depends on the capability of the producing entity. + type: integer + minimum: 0 + default: 0 + reportingPeriod: description: > - Identifier that identifies a NS instance. - $ref: "SOL005_def.yaml#/definitions/Identifier" - _links: + Specifies the periodicity at which the producer + will report to the consumer. + about performance information. The unit shall be seconds. + At the end of each reportingPeriod, the producer will inform the consumer about availability of the performance + data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be + equal to or a multiple of the collectionPeriod. In the latter case, the performance data for the collection periods + within one reporting period are reported together. + In particular when choosing short collection and reporting periods, the number of PM jobs that can be + supported depends on the capability of the producing entity. + type: integer + minimum: 0 + default: 0 + reportingBoundary: description: > - Links to resources related to this notification. - type: object - required: - - subscription - - pmJob - - performanceReport - properties: - subscription: - description: > - Link to the related subscription. - $ref: "SOL005_def.yaml#/definitions/Link" - objectInstance: - description: > - Link to the resource representing the NS - instance to which the notified change applies. - Shall be present if the NS instance information - is accessible as a resource. - $ref: "SOL005_def.yaml#/definitions/Link" - pmJob: - description: > - Link to the resource that represents the PM job - for which performance information is available. - $ref: "SOL005_def.yaml#/definitions/Link" - performanceReport: - description: > - Link from which the available performance - information of data type "PerformanceReport" - (see clause 7.5.2.10) can be obtained. - This link should point to an "Individual - performance report" resource as defined in - clause 6.4.3a. - $ref: "SOL005_def.yaml#/definitions/Link" + Identifies a time boundary after which the + reporting will stop. The boundary shall allow a + single reporting as well as periodic reporting up + to the boundary. + $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" - ThresholdCrossedNotification: + ThresholdCriteria: description: > - This type represents a notification that is sent when a threshold has been crossed. + This type represents criteria that define a threshold. type: object required: - - id - - notificationType - - subscriptionId - - timeStamp - - thresholdId - - crossingDirection - - objectInstanceId - performanceMetric - - performanceValue - - _links + - thresholdType properties: - id: - description: > - Identifier of this notification. If a notification is - sent multiple times due to multiple - subscriptions, the "id" attribute of all these - notifications shall have the same value.. - $ref: "SOL005_def.yaml#/definitions/Identifier" - notificationType: - description: > - Discriminator for the different notification types. - Shall be set to "ThresholdCrossedNotification " - for this notification type. - type: string - subscriptionId: - description: > - Identifier of the subscription that this notification relates to. - $ref: "SOL005_def.yaml#/definitions/Identifier" - timeStamp: - description: > - Date and time of the generation of the notification. - $ref: "SOL005_def.yaml#/definitions/DateTime" - thresholdId: - description: > - Identifier of the threshold which has been crossed. - $ref: "SOL005_def.yaml#/definitions/Identifier" - crossingDirection: - description: > - An indication of whether the threshold was crossed in upward or downward direction. - $ref: "#/definitions/CrossingDirectionType" - objectInstanceId: - description: > - Identifier that identifies a NS instance. - $ref: "SOL005_def.yaml#/definitions/Identifier" performanceMetric: description: > - Performance metric associated with the threshold. + Defines the performance metric associated with the + threshold, as specified in ETSI GS NFV-IFA 027). type: string - performanceValue: + thresholdType: description: > - Value of the metric that resulted in threshold crossing. See note. - type: object - _links: + Type of threshold. This attribute determines which other attributes + are present in the data structure. + Permitted values: + * SIMPLE: Single-valued static threshold + In the present document, simple thresholds are defined. The + definition of additional threshold types is left for future + specification. + type: string + enum: + - SIMPLE + simpleThresholdDetails: description: > - Links to resources related to this notification. + Details of a simple threshold. Shall be present if + thresholdType="SIMPLE". type: object required: - - subscription - - objectInstance - - threshold + - thresholdValue + - hysteresis properties: - subscription: - description: > - Link to the related subscription. - $ref: "SOL005_def.yaml#/definitions/Link" - objectInstance: + thresholdValue: description: > - Link to the resource representing the NS - instance to which the notified change applies. - Shall be present if the NS instance information - is accessible as a resource.. - $ref: "SOL005_def.yaml#/definitions/Link" - threshold: + The threshold value. Shall be represented as a floating point + number. + type: integer + hysteresis: description: > - Link to the resource that represents the - threshold that was crossed. - $ref: "SOL005_def.yaml#/definitions/Link" - - CrossingDirectionType: - description: > - The enumeration CrossingDirectionType shall comply with the provisions. - Acceptable Values are: - UP - The threshold was crossed in upward direction. - DOWN - The threshold was crossed in downward direction. - type: string - enum: - - UP - - DOWN \ No newline at end of file + The hysteresis of the threshold. Shall be represented as a + non-negative floating point number. + A notification with crossing direction "UP" will be generated if + the measured value reaches or exceeds + "thresholdValue" + "hysteresis". A notification with crossing + direction "DOWN" will be generated if the measured value reaches + or undercuts "thresholdValue" - "hysteresis". + The hysteresis is defined to prevent storms of threshold + crossing notifications. When processing a request to create a + threshold, implementations should enforce a suitable minimum + value for this attribute (e.g. override the value or reject the + request). + type: integer \ No newline at end of file diff --git a/src/SOL005/NSPerformanceManagement/definitions/SOL005_def.yaml b/src/SOL005/NSPerformanceManagement/definitions/SOL005_def.yaml deleted file mode 100644 index 28025f0b561bee8ac92a6c59e439806955f028f1..0000000000000000000000000000000000000000 --- a/src/SOL005/NSPerformanceManagement/definitions/SOL005_def.yaml +++ /dev/null @@ -1,236 +0,0 @@ - definitions: - Identifier: - description: > - An identifier with the intention of being globally unique. - type: string - - Link: - description: > - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: > - URI of the referenced resource. - type: string - format: url - - 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 diff --git a/src/SOL005/NSPerformanceManagement/responses/SOL005_resp.yaml b/src/SOL005/NSPerformanceManagement/responses/SOL005_resp.yaml deleted file mode 100644 index d5a535c04eb8a313d940e9a5edfd344231f7e891..0000000000000000000000000000000000000000 --- a/src/SOL005/NSPerformanceManagement/responses/SOL005_resp.yaml +++ /dev/null @@ -1,245 +0,0 @@ - # 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. - 400: - description: > - Bad Request. - - Error: Invalid attribute-based filtering parameters. - The response body shall 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 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 400-attr-based-filtering-error: - description: > - Bad Request - Invalid attribute-based filtering parameters or Invalid attribute - selector. - It the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, - and should include in the "detail" attribute more information about - the source of the problem. - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall - be returned in the WWW-Authenticate HTTP header, as defined in - IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - 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 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 401: - description: > - Unauthorized. - If the request contains no access token even though one is - required, or if the request contains an authorization token that - is invalid (e.g. expired or revoked), the API producer should - respond with this response. The details of the error shall be - returned in the WWW-Authenticate HTTP header, as defined in - IETF RFC 6750 and IETF RFC 7235. The ProblemDetails - structure may be provided. - headers: - Content-Type: - type: string - description: The MIME type of the body of the response. - 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. - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 403: - description: > - Forbidden - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. - It should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - 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" - 404: - description: > - Not Found - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. - The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source - of the problem, e.g. a wrong resource URI variable. - 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" - 404-task-resource-not-exists: - description: > - Not Found - Error: The API producer did not find a current representation for the - target resource or is not willing to disclose that one exists. - Specifically in case of this task resource, the response code 404 shall - also returned if the task is not supported for the NS instance - represented by the parent resource, which means that the task resource - consequently does not exist. - In this case, the response body shall be present, and shall contain a - ProblemDetails structure, in which the "detail" attribute shall 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 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 404-task-not-suported: - description: > - Not Found - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. - Specifically in case of this task resource, the reason can also be that - the task is not supported for the NS instance represented by the parent - resource, and that the task resource consequently does not exist. - The "ProblemDetails" structure may be provided, including in the - "detail" attribute information about the sourceof the problem, e.g. a - wrong resource URI variable. - 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" - 405: - description: > - Method Not Allowed - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted in that case. - 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" - 406: - description: > - If the "Accept" header does not contain at least one - name of a content type for which the NFVO can - provide a representation of the VNFD, the NFVO - shall respond with this response code. - 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" - 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" - 500: - description: > - Internal Server Error - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code - ("catch all error"), the API producer shall respond withthis - response code. The ProblemDetails structure shall be provided, - and shall include in the "detail" attribute more information about - the source of the problem. - 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" - 503: - description: > - Service Unavailable - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the Retry-After HTTP header and for the alternative - to refuse the connection. The "ProblemDetails" structure may be omitted. - 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 diff --git a/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml b/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml new file mode 100644 index 0000000000000000000000000000000000000000..4bb1943baa16477ec11ac1bd6e64a75805825967 --- /dev/null +++ b/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml @@ -0,0 +1,311 @@ +swagger: "2.0" + +info: + version: "1.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" + title: "SOL005 - NS Performance Management Notification interface" + description: > + SOL005 - NS Performance Management Notification 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 https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + license: + name: "ETSI Forge copyright notice" + url: https://forge.etsi.org/etsi-forge-copyright-notice.txt + +externalDocs: + description: ETSI GS NFV-SOL 005 V2.5.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.05.01_60/gs_NFV-SOL005v020501p.pdf + +basePath: /callback/v1 + +schemes: + - http + - https + +consumes: + - application/json + +produces: + - application/json + +paths: + ################################################################################## + # Notification endpoint PerformanceInformationAvailableNotification # + ################################################################################## + '/URI_is_provided_by_the_client_when_creating_the_subscription_PerformanceInformationAvailableNotificatio': + 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: Notify about PM related events + description: > + The POST method delivers a notification regarding a performance management event from the server to the client. + This method shall follow the provisions specified in the + Tables 7.4.9.3.1-1 and 7.4.9.3.1-2 for URI query parameters, + parameters: + - name: PerformanceInformationAvailableNotification + description: > + Notification about performance information availability. + in: body + required: true + schema: + $ref: "definitions/SOL005NSPerformanceManagementNotification_def.yaml#/definitions/PerformanceInformationAvailableNotification" + - 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 + responses: + 204: + description: > + 204 NO CONTENT + + The notification was delivered successfully. + 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 + 400: + $ref: "../responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../responses/SOL005_resp.yaml#/responses/404" + 405: + $ref: "../responses/SOL005_resp.yaml#/responses/405" + 406: + $ref: "../responses/SOL005_resp.yaml#/responses/406" + 500: + $ref: "../responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../responses/SOL005_resp.yaml#/responses/503" + + get: + summary: Test the notification endpoint + description: > + The GET method allows the server to test the notification endpoint that is provided by the client, e.g. during + subscription. + This method shall follow the provisions specified in the + Tables 7.4.9.3.2-1 and 7.4.9.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. + Reference: IETF RFC 7231. + in: header + required: true + type: string + responses: + 204: + description: > + 204 NO CONTENT + + The notification endpoint was tested 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 + 400: + $ref: "../responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../responses/SOL005_resp.yaml#/responses/404" + 405: + $ref: "../responses/SOL005_resp.yaml#/responses/405" + 406: + $ref: "../responses/SOL005_resp.yaml#/responses/406" + 500: + $ref: "../responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../responses/SOL005_resp.yaml#/responses/503" + + ################################################################################## + # Notification endpoint ThresholdCrossedNotification # + ################################################################################## + '/URI_is_provided_by_the_client_when_creating_the_subscription_ThresholdCrossedNotification': + 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: Notify about PM related events + description: > + The POST method delivers a notification regarding a performance management event from the server to the client. + This method shall follow the provisions specified in the + Tables 7.4.9.3.1-1 and 7.4.9.3.1-2 for URI query parameters, + parameters: + - name: ThresholdCrossedNotification + description: > + Notification about threshold crossing. + in: body + required: true + schema: + $ref: "definitions/SOL005NSPerformanceManagementNotification_def.yaml#/definitions/ThresholdCrossedNotification" + - 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 + responses: + 204: + description: > + 204 NO CONTENT + + The notification was delivered successfully. + 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 + 400: + $ref: "../responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../responses/SOL005_resp.yaml#/responses/404" + 405: + $ref: "../responses/SOL005_resp.yaml#/responses/405" + 406: + $ref: "../responses/SOL005_resp.yaml#/responses/406" + 500: + $ref: "../responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../responses/SOL005_resp.yaml#/responses/503" + + get: + summary: Test the notification endpoint + description: > + The GET method allows the server to test the notification endpoint that is provided by the client, e.g. during + subscription. + This method shall follow the provisions specified in the + Tables 7.4.9.3.2-1 and 7.4.9.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. + Reference: IETF RFC 7231. + in: header + required: true + type: string + responses: + 204: + description: > + 204 NO CONTENT + + The notification endpoint was tested 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 + 400: + $ref: "../responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../responses/SOL005_resp.yaml#/responses/404" + 405: + $ref: "../responses/SOL005_resp.yaml#/responses/405" + 406: + $ref: "../responses/SOL005_resp.yaml#/responses/406" + 500: + $ref: "../responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../responses/SOL005_resp.yaml#/responses/503" \ No newline at end of file diff --git a/src/SOL005/NSPerformanceManagementNotification/definitions/SOL005NSPerformanceManagementNotification_def.yaml b/src/SOL005/NSPerformanceManagementNotification/definitions/SOL005NSPerformanceManagementNotification_def.yaml new file mode 100644 index 0000000000000000000000000000000000000000..be28039093756bdafa425fd8aa651714c1880b1d --- /dev/null +++ b/src/SOL005/NSPerformanceManagementNotification/definitions/SOL005NSPerformanceManagementNotification_def.yaml @@ -0,0 +1,174 @@ +# Copyright (c) ETSI 2017. +# https://forge.etsi.org/etsi-forge-copyright-notice.txt + +definitions: + PerformanceInformationAvailableNotification: + description: > + This notification informs the receiver that performance information is available. + type: object + required: + - id + - notificationType + - subscriptionId + - timeStamp + - objectInstanceId + - _links + properties: + id: + description: > + Identifier of this notification. If a notification is + sent multiple times due to multiple + subscriptions, the "id" attribute of all these + notifications shall have the same value. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + notificationType: + description: > + Discriminator for the different notification types. + Shall be set to + "PerformanceInformationAvailableNotification" + for this notification type. + type: string + subscriptionId: + description: > + Identifier of the subscription that this notification relates to. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + timeStamp: + description: > + Date and time of the generation of the notification. + $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" + objectInstanceId: + description: > + Identifier that identifies a NS instance. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + _links: + description: > + Links to resources related to this notification. + type: object + required: + - subscription + - pmJob + - performanceReport + properties: + subscription: + description: > + Link to the related subscription. + $ref: "../../definitions/SOL005_def.yaml#/definitions/NotificationLink" + objectInstance: + description: > + Link to the resource representing the NS + instance to which the notified change applies. + Shall be present if the NS instance information + is accessible as a resource. + $ref: "../../definitions/SOL005_def.yaml#/definitions/NotificationLink" + pmJob: + description: > + Link to the resource that represents the PM job + for which performance information is available. + $ref: "../../definitions/SOL005_def.yaml#/definitions/NotificationLink" + performanceReport: + description: > + Link from which the available performance + information of data type "PerformanceReport" + (see clause 7.5.2.10) can be obtained. + This link should point to an "Individual + performance report" resource as defined in + clause 6.4.3a. + $ref: "../../definitions/SOL005_def.yaml#/definitions/NotificationLink" + + ThresholdCrossedNotification: + description: > + This type represents a notification that is sent when a threshold has been crossed. + type: object + required: + - id + - notificationType + - subscriptionId + - timeStamp + - thresholdId + - crossingDirection + - objectInstanceId + - performanceMetric + - performanceValue + - _links + properties: + id: + description: > + Identifier of this notification. If a notification is + sent multiple times due to multiple + subscriptions, the "id" attribute of all these + notifications shall have the same value.. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + notificationType: + description: > + Discriminator for the different notification types. + Shall be set to "ThresholdCrossedNotification " + for this notification type. + type: string + subscriptionId: + description: > + Identifier of the subscription that this notification relates to. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + timeStamp: + description: > + Date and time of the generation of the notification. + $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" + thresholdId: + description: > + Identifier of the threshold which has been crossed. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + crossingDirection: + description: > + An indication of whether the threshold was crossed in upward or downward direction. + $ref: "#/definitions/CrossingDirectionType" + objectInstanceId: + description: > + Identifier that identifies a NS instance. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + performanceMetric: + description: > + Performance metric associated with the threshold. + This attribute shall contain the related "Measurement Name" value + as defined in clause 7.2 of ETSI GS NFV-IFA 027. + type: string + performanceValue: + description: > + Value of the metric that resulted in threshold crossing. + The type of this attribute shall correspond to the related + "Measurement Unit" as defined in clause 7.2 of ETSI GS NFV-IFA 027. + type: object + _links: + description: > + Links to resources related to this notification. + type: object + required: + - subscription + - objectInstance + - threshold + properties: + subscription: + description: > + Link to the related subscription. + $ref: "../../definitions/SOL005_def.yaml#/definitions/NotificationLink" + objectInstance: + description: > + Link to the resource representing the NS + instance to which the notified change applies. + Shall be present if the NS instance information + is accessible as a resource.. + $ref: "../../definitions/SOL005_def.yaml#/definitions/NotificationLink" + threshold: + description: > + Link to the resource that represents the + threshold that was crossed. + $ref: "../../definitions/SOL005_def.yaml#/definitions/NotificationLink" + + CrossingDirectionType: + description: > + The enumeration CrossingDirectionType shall comply with the provisions. + Acceptable Values are: + UP - The threshold was crossed in upward direction. + DOWN - The threshold was crossed in downward direction. + type: string + enum: + - UP + - DOWN \ No newline at end of file diff --git a/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml b/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml index 3b0a479427e45d00da8f947cd3db629169db16c1..e4659a086e6f321d0e4e709110aa00147844ec3a 100644 --- a/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml +++ b/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml @@ -1,7 +1,7 @@ swagger: "2.0" info: - version: "1.0.0" + version: "1.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" title: SOL005 - VNF Package Management Interface description: > SOL005 - VNF Package Management Interface @@ -13,68 +13,89 @@ info: license: name: "ETSI Forge copyright notice" url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - contact: + contact: name: "NFV-SOL WG" externalDocs: - description: ETSI GS NFV-SOL 005 V2.4.1 - url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.04.01_60/gs_NFV-SOL005v020401p.pdf -basePath: "/vnfpkgm/v1" + description: ETSI GS NFV-SOL 005 V2.5.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.05.01_60/gs_NFV-SOL005v020501p.pdf + +basePath: /vnfpkgm/v1 schemes: - https consumes: - - "application/json" + - application/json produces: - - "application/json" + - application/json paths: -############################################################################### -# VNF Packages # -############################################################################### + ############################################################################### + # API Versions # + ############################################################################### + '/api-versions': + $ref: '../endpoints/SOL005_endpoints.yaml#/endpoints/api-versions' + + ############################################################################### + # VNF Packages # + ############################################################################### '/vnf_packages': #ETSI GS NFV-SOL 005 V2.4.1 location: 9.4.2 + 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 get: summary: Query VNF packages information. - description: > + description: > The GET method queries the information of the VNF packages matching the filter. This method shall follow the provisions specified in the Tables 9.4.2.3.2-1 and 9.4.2.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - - name: "filter" - in: "query" + - name: filter + in: query required: false - type: "string" - description: > + type: string + description: > Attribute-based filtering parameters according to clause 4.3.2. The NFVO shall support receiving filtering parameters as part of the URI query string. The OSS/BSS may supply filtering parameters. All attribute names that appear in the VnfPkgInfo and in data types referenced from it shall be supported in attribute-based filtering parameters. - - name: "all_fields" - in: "query" + - name: all_fields + in: query required: false - type: "string" - description: > + type: string + description: > Include all complex attributes in the response. See clause 4.3.3 for details. The NFVO shall support this parameter. - - name: "fields" - in: "query" + - name: fields + in: query required: false - type: "string" - description: > + type: string + description: > Complex attributes to be included into the response. See clause 4.3.3 for details. The NFVO should support this parameter. - - name: "exclude_fields" - in: "query" + - name: exclude_fields + in: query required: false - type: "string" - description: > + type: string + description: > Complex attributes to be excluded from the response. See clause 4.3.3 for details. The NFVO should support this parameter. - - name: "exclude_default" - in: "query" + - name: exclude_default + in: query required: false - type: "string" - description: > + type: string + description: > Indicates to exclude the following complex attributes from the response. See clause 4.3.3 for details. The NFVO shall support this parameter. @@ -92,18 +113,11 @@ paths: in: header required: true type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string responses: 200: description: > 200 OK - + Information of the selected VNF packages. headers: Content-Type: @@ -111,83 +125,76 @@ paths: type: string maximum: 1 minimum: 1 - WWW-Authenticate: - 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: 0 + minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 schema: type: array items: properties: VnfPkgInfo: - $ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/VnfPkgInfo" + $ref: "definitions/SOL005VNFPackageManagement_def.yaml#/definitions/VnfPkgInfo" 400: - $ref: "responses/SOL005_resp.yaml#/responses/400" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: - $ref: "responses/SOL005_resp.yaml#/responses/404" + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 416: - $ref: "responses/SOL005_resp.yaml#/responses/416" + $ref: "../responses/SOL005_resp.yaml#/responses/416" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" + $ref: "../responses/SOL005_resp.yaml#/responses/503" post: summary: Create a new individual VNF package resource. - description: > + description: > The POST method creates a new individual VNF package resource. parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: "body" - in: "body" - required: true - schema: - type: "object" - required: - - "CreateVnfPkgInfoRequest" - properties: - CreateVnfPkgInfoRequest: - $ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/CreateVnfPkgInfoRequest" + - 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: body + in: body + required: true + schema: + $ref: "definitions/SOL005VNFPackageManagement_def.yaml#/definitions/CreateVnfPkgInfoRequest" description: > IndividualVNF package resource creation parameters, as defined in clause 9.5.2.2 - responses: 201: - description: > + description: > 201 Created - + An individual VNF package resource has been created successfully. The response body shall contain a representation of the new individual VNF package resource, as defined @@ -196,41 +203,58 @@ paths: header that contains the resource URI of the individual VNF package resource. schema: - properties: - VnfPkgInfo: - $ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/VnfPkgInfo" + $ref: "definitions/SOL005VNFPackageManagement_def.yaml#/definitions/VnfPkgInfo" headers: Content-Type: - type: "string" + 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. maximum: 1 - minimum: 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. maximum: 1 minimum: 0 -############################################################################### -# Individual VNF Package # -############################################################################### + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + ############################################################################### + # Individual VNF Package # + ############################################################################### '/vnf_packages/{vnfPkgId}': #ETSI GS NFV-SOL 005 V2.4.1 location: 9.4.3 parameters: - - name: "vnfPkgId" + - name: vnfPkgId description: > Identifier of the VNF package. The identifier is allocated by the NFVO. - in: "path" - type: "string" + in: path + type: string + required: true + - 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: summary: Read information about an individual VNF package. - description: > + description: > The GET method reads the information of a VNF package. parameters: - name: Accept @@ -240,135 +264,120 @@ paths: in: header required: true type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string responses: 200: description: > 200 OK - + Information of the VNF package. schema: - type: "object" - properties: - VnfPkgInfo: - $ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/VnfPkgInfo" + $ref: "definitions/SOL005VNFPackageManagement_def.yaml#/definitions/VnfPkgInfo" headers: Content-Type: - type: "string" + 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. 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#/responses/400" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: - $ref: "responses/SOL005_resp.yaml#/responses/404" + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 416: - $ref: "responses/SOL005_resp.yaml#/responses/416" + $ref: "../responses/SOL005_resp.yaml#/responses/416" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" + $ref: "../responses/SOL005_resp.yaml#/responses/503" + delete: summary: Delete an individual VNF package. - description: > + description: > The DELETE method deletes an individual VNF Package resource. - parameters: - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string responses: 204: description: > 204 No Content - + The VNF package was deleted successfully. The response body shall be empty. + headers: + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 409: - $ref: "responses/VNFPackageManagement_resp.yaml#/responses/409" + $ref: "../responses/SOL005_resp.yaml#/responses/409" 400: - $ref: "responses/SOL005_resp.yaml#/responses/400" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: - $ref: "responses/SOL005_resp.yaml#/responses/404" + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 416: - $ref: "responses/SOL005_resp.yaml#/responses/416" + $ref: "../responses/SOL005_resp.yaml#/responses/416" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" + $ref: "../responses/SOL005_resp.yaml#/responses/503" + patch: summary: Update information about an individual VNF package. - description: > + description: > "The PATCH method updates the information of a VNF package." - + "This method shall follow the provisions specified in the Tables 9.4.3.3.4-1 and 9.4.3.3.4-2 for URI query parameters, request and response data structures, and response codes." parameters: - - name: "body" - in: "body" - required: true - schema: - type: "object" - required: - - "VnfPkgInfoModifications" - properties: - VnfPkgInfoModifications: - $ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/VnfPkgInfoModifications" - description: > + - name: body + in: body + required: true + schema: + $ref: "definitions/SOL005VNFPackageManagement_def.yaml#/definitions/VnfPkgInfoModifications" + description: > Parameters for VNF package information modifications. - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - responses: + - name: Content-Type + description: > + The MIME type of the body of the request. + Reference: IETF RFC 7231 + in: header + required: true + type: string + responses: 200: description: > 200 OK - + The operation was completed successfully. The response body shall contain attribute modifications for an "Individual VNF @@ -380,55 +389,74 @@ 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. maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 schema: properties: - VnfPkgInfoModifications: - $ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/VnfPkgInfoModifications" + VnfPkgInfoModifications: + $ref: "definitions/SOL005VNFPackageManagement_def.yaml#/definitions/VnfPkgInfoModifications" 409: - $ref: "responses/VNFPackageManagement_resp.yaml#/responses/409" + $ref: "../responses/SOL005_resp.yaml#/responses/409" 400: - $ref: "responses/SOL005_resp.yaml#/responses/400" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: - $ref: "responses/SOL005_resp.yaml#/responses/404" + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 416: - $ref: "responses/SOL005_resp.yaml#/responses/416" + $ref: "../responses/SOL005_resp.yaml#/responses/416" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" - -############################################################################### -# VNFD in an individual VNF package # -############################################################################### + $ref: "../responses/SOL005_resp.yaml#/responses/503" + + ############################################################################### + # VNFD in an individual VNF package # + ############################################################################### '/vnf_packages/{vnfPkgId}/vnfd': #ETSI GS NFV-SOL 005 V2.4.1 location: 9.4.4 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 - name: vnfPkgId description: > Identifier of the on-boarded VNF package. The identifier is allocated by the NFVO. in: path type: string - required: true + required: true get: summary: Read VNFD of an on-boarded VNF package. - description: > + description: > The GET method reads the content of the VNFD within a VNF package. - + The VNFD can be implemented as a single file or as a collection of multiple files. If the VNFD is implemented in the form of multiple files, a ZIP file embedding these files shall be returned. If the VNFD is implemented as a single file, either that file or a ZIP file embedding that file shall be returned. @@ -445,25 +473,18 @@ paths: This method shall follow the provisions specified in the Tables 9.4.4.3.2-1 and 9.4.4.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: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string + - name: Accept + description: > + Content-Types that are acceptable for the response. + in: header + required: true + type: string + enum: + - text/plain + - application/zip responses: 200: - description: > + description: > 200 OK On success, the content of the VNFD is returned. @@ -481,88 +502,94 @@ 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. 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#/responses/400" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: - $ref: "responses/SOL005_resp.yaml#/responses/404" + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - description: > - "406 Not AccepTable" - - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 409: - description: > - "409 Conflict" - - $ref: "responses/VNFPackageManagement_resp.yaml#/responses/406-state-conflict" + $ref: "../responses/SOL005_resp.yaml#/responses/409" 416: - $ref: "responses/SOL005_resp.yaml#/responses/416" + $ref: "../responses/SOL005_resp.yaml#/responses/416" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" - -############################################################################### -# VNF Package Content # -############################################################################### + $ref: "../responses/SOL005_resp.yaml#/responses/503" + + ############################################################################### + # VNF Package Content # + ############################################################################### '/vnf_packages/{vnfPkgId}/package_content': #ETSI GS NFV-SOL 005 V2.4.1 location: 9.4.5 parameters: - - name: "vnfPkgId" + - 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 + - name: vnfPkgId description: > Identifier of the on-boarded VNF package. The identifier is allocated by the NFVO. - in: "path" + in: path required: true - type: "string" + type: string get: summary: Fetch an on-boarded VNF package. - description: > + description: > The GET method fetches the content of a VNF package identified by the VNF package identifier allocated by the NFVO. This method shall follow the provisions specified in the Tables 9.4.5.3.2-1 and 9.4.5.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: - - application/zip - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: "Range" - in: "header" - required: false - type: "string" - description: > - The request may contain a "Range" HTTP header to obtain single - range of bytes from the VNF package file. This can be used to - continue an aborted transmission. - - If the NFVO does not support range requests, it should return the - whole file with a 200 OK response instead. + - name: Accept + description: > + Content-Types that are acceptable for the response. + in: header + required: true + type: string + enum: + - application/zip + - name: Range + in: header + required: false + type: string + description: > + The request may contain a "Range" HTTP header to obtain single + range of bytes from the VNF package file. This can be used to + continue an aborted transmission. + + If the NFVO does not support range requests, it should return the + whole file with a 200 OK response instead. responses: 200: - description: > + description: > 200 OK On success, a copy of the VNF package file is returned. @@ -578,323 +605,351 @@ 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. maximum: 1 minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 206: - $ref: "responses/SOL005_resp.yaml#/responses/206" + $ref: "../responses/SOL005_resp.yaml#/responses/206" 409: - description: > - $ref: "responses/VNFPackageManagement_resp.yaml#/responses/409-state-conflict-ONBOARDING" + $ref: "../responses/SOL005_resp.yaml#/responses/409" 416: - $ref: "responses/SOL005_resp.yaml#/responses/416" + $ref: "../responses/SOL005_resp.yaml#/responses/416" 400: - $ref: "responses/SOL005_resp.yaml#/responses/400" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: - $ref: "responses/SOL005_resp.yaml#/responses/404" + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" - + $ref: "../responses/SOL005_resp.yaml#/responses/503" + put: summary: Upload a VNF package by providing the content of the VNF package. - description: > + description: > The PUT method uploads the content of a VNF package. This method shall follow the provisions specified in the Tables 9.4.5.3.3-1 and 9.4.5.3.3-2 for URI query parameters, request and response data structures, and response codes. consumes: - - multipart/form-data + - multipart/form-data parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - in: header - required: true - type: string - enum: - - application/zip - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - in: formData - name: file - required: false - type: file - description: > - The payload body contains a ZIP file that represents the VNF package. - The "Content-Type" HTTP header shall be set according to the - type of the file, i.e. to "application/zip" for a VNF Package as - defined in ETSI GS NFV-SOL 004 [5]. - responses: - 202: - description: > - 202 Accepted - - The VNF package was accepted for uploading, but the - processing has not been completed. It is expected to - take some time for processing. + - name: Accept + description: > + Content-Types that are acceptable for the response. + in: header + required: true + type: string + enum: + - application/zip + - in: formData + name: file + required: false + type: file + description: > + The payload body contains a ZIP file that represents the VNF package. + The "Content-Type" HTTP header shall be set according to the + type of the file, i.e. to "application/zip" for a VNF Package as + defined in ETSI GS NFV-SOL 004 [5]. + responses: + 202: + description: > + 202 Accepted + + The VNF package was accepted for uploading, but the + processing has not been completed. It is expected to + take some time for processing. The response body shall be empty. + headers: + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 409: - description: > - $ref: "responses/VNFPackageManagement_resp.yaml#/responses/409-state-conflict-ONBOARDING-NOT-CREATED" + description: > + $ref: "../responses/SOL005_resp.yaml#/responses/409" 400: - $ref: "responses/SOL005_resp.yaml#/responses/400" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: - $ref: "responses/SOL005_resp.yaml#/responses/404" + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" + $ref: "../responses/SOL005_resp.yaml#/responses/503" -############################################################################### -# Upload VNF package from URI task # -############################################################################### + ############################################################################### + # Upload VNF package from URI task # + ############################################################################### '/vnf_packages/{vnfPkgId}/package_content/upload_from_uri': #ETSI GS NFV-SOL 005 V2.4.1 location: 9.4.6 post: summary: Upload a VNF package by providing the address information of the VNF package. - description: > + description: > The POST method provides the information for the NFVO to get the content of a VNF package. This method shall follow the provisions specified in the Tables 9.4.6.3.1-1 and 9.4.6.3.1-2 for URI query parameters, request and response data structures, and response codes. - parameters: - - name: Accept + parameters: + - name: Accept + description: > + Content-Types that are acceptable for the response. + Reference: IETF RFC 7231 + in: header + required: true + type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string + - name: vnfPkgId + description: > + Identifier of the VNF package. The identifier is allocated by the NFVO. + in: path + required: true + type: string + - name: body + in: body + required: true + schema: + $ref: "definitions/SOL005VNFPackageManagement_def.yaml#/definitions/UploadVnfPkgFromUriRequest" + description: > + The payload body contains the address information based on + which the NFVO can obtain the content of the VNF package. + responses: + 202: + description: > + 202 Accepted + + The information about the VNF package was received + successfully, but the on-boarding has not been + completed. It is expected to take some time for processing. + The response body shall be empty. + headers: + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + 409: + $ref: "../responses/SOL005_resp.yaml#/responses/409" + 400: + $ref: "../responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../responses/SOL005_resp.yaml#/responses/403" + 404: + $ref: "../responses/SOL005_resp.yaml#/responses/404" + 405: + $ref: "../responses/SOL005_resp.yaml#/responses/405" + 406: + $ref: "../responses/SOL005_resp.yaml#/responses/406" + 500: + $ref: "../responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../responses/SOL005_resp.yaml#/responses/503" + + ############################################################################### + # Individual VNF package artifact # + ############################################################################### + '/vnf_packages/{vnfPkgId}/artifacts/{artifactPath}': + #ETSI GS NFV-SOL 005 V2.4.1 location: 9.4.7 + parameters: + - name: vnfPkgId description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header + Identifier of the on-boarded VNF package. + The identifier is allocated by the NFVO. + This identifier can be retrieved from the "vnfPkgId" attribute in the VnfPackageOnboardingNotification or + VnfPackageChangeNotification. + in: path + type: string required: true + - name: artifactPath + description: > + Path of the artifact within the VNF package. + This identifier can be retrieved from the "artifactPath" attribute of the applicable "additionalArtifacts" entry in + the body of the response to a GET request querying the "Individual VNF package" or the "VNF packages" + resource. + in: path type: string + required: true - name: Authorization description: > The authorization token for the request. - Reference: IETF RFC 7235 + Reference: IETF RFC 7235. in: header required: false type: string - - name: Content-Type + - name: Version description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 + Version of the API requested to use when responding to this request. in: header required: true - type: string - - - name: "vnfPkgId" - description: > - Identifier of the VNF package. The identifier is allocated by the NFVO. - in: "path" - required: true - type: "string" - - - name: "body" - in: "body" - required: true - schema: - type: "object" - required: - - "UploadVnfPkgFromUriRequest" - properties: - UploadVnfPkgFromUriRequest: - $ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/UploadVnfPkgFromUriRequest" + type: string + get: + summary: Fetch individual VNF package artifact. + description: > + The GET method fetches the content of an artifact within a VNF package. + This method shall follow the provisions specified in the + Tables 9.4.7.3.2-1 and 9.4.7.3.2-2 for URI query parameters, + request and response data structures, and response codes. + parameters: + - name: Accept description: > - The payload body contains the address information based on - which the NFVO can obtain the content of the VNF package. - + Content-Types that are acceptable for the response. + in: header + required: true + type: string + - name: Range + description: > + The request may contain a "Range" HTTP header to obtain single + range of bytes from the VNF package file. This can be used to + continue an aborted transmission. + If the NFVO does not support range requests, it should return the + whole file with a 200 OK response instead. + in: header + type: string responses: - 202: + 200: description: > - 202 Accepted - - The information about the VNF package was received - successfully, but the on-boarding has not been - completed. It is expected to take some time for processing. - The response body shall be empty. - 409: - $ref: "responses/VNFPackageManagement_resp.yaml#/responses/409-state-conflict-ONBOARDING-NOT-CREATED" + 200 OK + On success, the content of the artifact is returned. + The payload body shall contain a copy of the artifact file from + the VNF package, as defined by ETSI GS NFV-SOL 004. + The "Content-Type" HTTP header shall be set according to the + content type of the artifact file. If the content type cannot be + determined, the header shall be set to the value + "application/octet-stream". + headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + 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. + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + 206: + description: > + Partial Content. + On success, if the NFVO supports range requests, a single + consecutive byte range from the content of the VNF package file is + returned. + The response body shall contain the requested part of the VNF + package 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. + headers: + Content-Range: + type: string + maximum: 1 + minimum: 1 + Content-Type: + description: The MIME type of the body of the response. + type: string + 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. + maximum: 1 + minimum: 0 400: - $ref: "responses/SOL005_resp.yaml#/responses/400" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: - $ref: "responses/SOL005_resp.yaml#/responses/404" + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" + 409: + $ref: "../responses/SOL005_resp.yaml#/responses/409" + 416: + $ref: "../responses/SOL005_resp.yaml#/responses/416" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" - -############################################################################### -# Individual VNF package artifact # -############################################################################### - '/vnf_packages/{vnfPkgId}/artifacts/{artifactPath}': - #ETSI GS NFV-SOL 005 V2.4.1 location: 9.4.7 - parameters: - - name: vnfPkgId - description: > - Identifier of the on-boarded VNF package. - The identifier is allocated by the NFVO. - This identifier can be retrieved from the "vnfPkgId" attribute in the VnfPackageOnboardingNotification or - VnfPackageChangeNotification. - in: path - type: string - required: true - - name: artifactPath - description: > - Path of the artifact within the VNF package. - This identifier can be retrieved from the "artifactPath" attribute of the applicable "additionalArtifacts" entry in - the body of the response to a GET request querying the "Individual VNF package" or the "VNF packages" - resource. - in: path - type: string - required: true - get: - summary: Fetch individual VNF package artifact. - description: > - The GET method fetches the content of an artifact within a VNF package. - This method shall follow the provisions specified in the - Tables 9.4.7.3.2-1 and 9.4.7.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 - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Range - description: > - The request may contain a "Range" HTTP header to obtain single - range of bytes from the VNF package file. This can be used to - continue an aborted transmission. - If the NFVO does not support range requests, it should return the - whole file with a 200 OK response instead. - in: header - type: string - responses: - 200: - description: > - 200 OK - On success, the content of the artifact is returned. - The payload body shall contain a copy of the artifact file from - the VNF package, as defined by ETSI GS NFV-SOL 004. - The "Content-Type" HTTP header shall be set according to the - content type of the artifact file. If the content type cannot be - determined, the header shall be set to the value - "application/octet-stream". - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - 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. - maximum: 1 - minimum: 0 - - 206: - description: > - Partial Content. - On success, if the NFVO supports range requests, a single - consecutive byte range from the content of the VNF package file is - returned. - The response body shall contain the requested part of the VNF - package 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. - headers: - Content-Range: - type: string - maximum: 1 - minimum: 1 - Content-Type: - description: The MIME type of the body of the response. - type: string - 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. - maximum: 1 - minimum: 0 - 400: - $ref: "responses/SOL005_resp.yaml#/responses/400" - 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" - 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" - 404: - $ref: "responses/SOL005_resp.yaml#/responses/404" - 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" - 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" - 409: - $ref: "responses/VNFPackageManagement_resp.yaml#/responses/409" - 416: - $ref: "responses/SOL005_resp.yaml#/responses/416" - 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" - 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" - -############################################################################## -# Subscriptions # -############################################################################### + $ref: "../responses/SOL005_resp.yaml#/responses/503" + + ############################################################################### + # Subscriptions # + ############################################################################### '/subscriptions': - #ETSI GS NFV-SOL 005 V2.4.1 location: 9.4.8 + #ETSI GS NFV-SOL 005 V2.4.1 location: 9.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 notifications related to on-boarding and/or changes of VNF packages. - description: > + description: > The POST method creates a new subscription. This method shall follow the provisions specified in the Tables 9.4.8.3.1-1 and 9.4.8.3.1-2 for URI query parameters, request and response data structures, and response codes. @@ -905,47 +960,34 @@ paths: 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 callbackUri). parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: "body" - in: "body" - required: true - schema: - type: "object" - required: - - "PkgmSubscriptionRequest" - properties: - PkgmSubscriptionRequest: - $ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/PkgmSubscriptionRequest" + - 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: body + in: body + required: true + schema: + $ref: "definitions/SOL005VNFPackageManagement_def.yaml#/definitions/PkgmSubscriptionRequest" description: > Representation of the created subscription resource. The HTTP response shall include a "Location" HTTP header that points to the created subscription resource. - responses: 201: description: > 201 Created - + Representation of the created subscription resource. The HTTP response shall include a "Location" HTTP header that points to the created subscription resource. @@ -956,53 +998,57 @@ 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. maximum: 1 - minimum: 0 + minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 schema: type: array items: - properties: - PkgmSubscription: - $ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/PkgmSubscription" + $ref: "definitions/SOL005VNFPackageManagement_def.yaml#/definitions/PkgmSubscription" 303: - $ref: "responses/SOL005_resp.yaml#/responses/303" + $ref: "../responses/SOL005_resp.yaml#/responses/303" 400: - $ref: "responses/SOL005_resp.yaml#/responses/400" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: - $ref: "responses/SOL005_resp.yaml#/responses/404" + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 416: - $ref: "responses/SOL005_resp.yaml#/responses/416" + $ref: "../responses/SOL005_resp.yaml#/responses/416" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" + $ref: "../responses/SOL005_resp.yaml#/responses/503" get: summary: Query multiple subscriptions. - description: > + description: > The 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 follow the provisions specified in the Tables 9.4.7.8.2-1 and 9.4.8.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - - name: "filter" - in: "query" + - name: filter + in: query required: false - type: "string" - description: > + type: string + description: > Attribute-based filtering parameters according to clause 4.3.2. The NFVO shall support receiving filtering parameters as part of the URI query string. The OSS/BSS may supply filtering parameters. @@ -1015,18 +1061,11 @@ paths: in: header required: true type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string responses: 200: description: > 200 OK - + Active subscriptions of the functional block that invokes the method. headers: Content-Type: @@ -1035,43 +1074,47 @@ 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. maximum: 1 - minimum: 0 + minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 schema: type: array items: - properties: - PkgmSubscription: - $ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/PkgmSubscription" + $ref: "definitions/SOL005VNFPackageManagement_def.yaml#/definitions/PkgmSubscription" 400: - $ref: "responses/SOL005_resp.yaml#/responses/400" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: - $ref: "responses/SOL005_resp.yaml#/responses/404" + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 416: - $ref: "responses/SOL005_resp.yaml#/responses/416" + $ref: "../responses/SOL005_resp.yaml#/responses/416" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" - -############################################################################### -# Individual subscription # -############################################################################### + $ref: "../responses/SOL005_resp.yaml#/responses/503" + + ############################################################################### + # Individual subscription # + ############################################################################### '/subscriptions/{subscriptionId}': - #ETSI GS NFV-SOL 005 V2.4.1 location: 9.4.9 + #ETSI GS NFV-SOL 005 V2.4.1 location: 9.4.9 parameters: - name: subscriptionId description: > @@ -1083,8 +1126,21 @@ paths: in: path type: string required: true + - 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: - summary: Read an individual subscription resource. + summary: Read an individual subscription resource. description: > Query Subscription Information The GET method reads an individual subscription. @@ -1096,18 +1152,11 @@ paths: in: header required: true type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string responses: 200: description: > 200 OK - + Representation of the subscription resource. headers: Content-Type: @@ -1116,254 +1165,79 @@ 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. maximum: 1 - minimum: 0 + minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 schema: - properties: - PkgmSubscription: - $ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/PkgmSubscription" + $ref: "definitions/SOL005VNFPackageManagement_def.yaml#/definitions/PkgmSubscription" 400: - $ref: "responses/SOL005_resp.yaml#/responses/400" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: - $ref: "responses/SOL005_resp.yaml#/responses/404" + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 416: - $ref: "responses/SOL005_resp.yaml#/responses/416" + $ref: "../responses/SOL005_resp.yaml#/responses/416" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" + $ref: "../responses/SOL005_resp.yaml#/responses/503" delete: summary: Terminate a subscription. - description: > + description: > The DELETE method terminates an individual subscription. - parameters: - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string responses: 204: - description: > + description: > No Content The subscription resource was deleted successfully. headers: 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. 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#/responses/400" + $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" + $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: - $ref: "responses/SOL005_resp.yaml#/responses/404" + $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "responses/SOL005_resp.yaml#/responses/405" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: - $ref: "responses/SOL005_resp.yaml#/responses/406" + $ref: "../responses/SOL005_resp.yaml#/responses/406" 416: - $ref: "responses/SOL005_resp.yaml#/responses/416" - 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" - 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" - -################################################################################## -# 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-VnfPackageOnboardingNotification': - #ETSI GS NFV-SOL 005 V2.4.1 location: 9.4.10 - post: - summary: Notify about VNF package onboarding or change - description: > - The POST method delivers a notification from the server to the client. - This method shall follow the provisions specified in the - Tables 9.4.10.3.1-1 and 9.4.10.3.1-2 for URI query parameters, - request and response data structures, and response codes. - parameters: - - name: VnfPackageOnboardingNotification - description: > - A notification about on-boarding of a VNF package. - in: body - required: true - schema: - properties: - VnfPackageOnboardingNotification: - $ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/VnfPackageOnboardingNotification" - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - responses: - 204: - description: > - 204 No Content - - The notification was delivered successfully. - 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 - 400: - $ref: "responses/SOL005_resp.yaml#/responses/400" - 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" - 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" - 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-VnfPackageChangeNotification': - #ETSI GS NFV-SOL 005 V2.4.1 location: 9.4.10 - post: - summary: Notify about VNF package onboarding or change - description: > - The POST method delivers a notification from the server to the client. - This method shall follow the provisions specified in the - Tables 9.4.10.3.1-1 and 9.4.10.3.1-2 for URI query parameters, - request and response data structures, and response codes. - parameters: - - name: VnfPackageChangeNotification - description: > - A notification about changes of status in a VNF package. - in: body - required: true - schema: - properties: - VnfPackageChangeNotification: - $ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/VnfPackageChangeNotification" - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The MIME type of the body of the request. - Reference: IETF RFC 7231 - in: header - required: true - type: string - responses: - 204: - description: > - 204 No Content - - The notification was delivered successfully. - 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 - 400: - $ref: "responses/SOL005_resp.yaml#/responses/400" - 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" - 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" - 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" - 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" - - get: - summary: Test the notification endpoint - description: > - The GET method allows the server to test the notification endpoint that is provided by the client, e.g. during - subscription. - This method shall follow the provisions specified in the Tables 9.4.10.3.2-1 and 9.4.10.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. - Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235 - in: header - required: false - type: string - responses: - 204: - description: > - 204 No Content - - The notification endpoint was tested successfully. - The response body shall be empty. - 400: - $ref: "responses/SOL005_resp.yaml#/responses/400" - 401: - $ref: "responses/SOL005_resp.yaml#/responses/401" - 403: - $ref: "responses/SOL005_resp.yaml#/responses/403" + $ref: "../responses/SOL005_resp.yaml#/responses/416" 500: - $ref: "responses/SOL005_resp.yaml#/responses/500" + $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: - $ref: "responses/SOL005_resp.yaml#/responses/503" \ No newline at end of file + $ref: "../responses/SOL005_resp.yaml#/responses/503" \ No newline at end of file diff --git a/src/SOL005/VNFPackageManagement/definitions/SOL005VNFPMManagement_def.yaml b/src/SOL005/VNFPackageManagement/definitions/SOL005VNFPackageManagement_def.yaml similarity index 65% rename from src/SOL005/VNFPackageManagement/definitions/SOL005VNFPMManagement_def.yaml rename to src/SOL005/VNFPackageManagement/definitions/SOL005VNFPackageManagement_def.yaml index 2f978032ec38e4a59cfc25fc5725705f13d7c47a..0a55d1de5ecad17871daf65105311d6305a502e0 100644 --- a/src/SOL005/VNFPackageManagement/definitions/SOL005VNFPMManagement_def.yaml +++ b/src/SOL005/VNFPackageManagement/definitions/SOL005VNFPackageManagement_def.yaml @@ -5,19 +5,19 @@ definitions: - id - onboardingState - operationalState - - usageState + - usageState properties: id: description: > Identifier of the VNF package. This identifier is allocated by the NFVO. - $ref: "SOL005_def.yaml#/definitions/Identifier" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" vnfdId: description: > This identifier, which is managed by the VNF provider, identifies the VNF package and the VNFD in a globally unique way. It is copied from the VNFD of the on boarded VNF package. It shall be present after the VNF package content has been on-boarded and absent otherwise. - $ref: "SOL005_def.yaml#/definitions/Identifier" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" vnfProvider: description: > Provider of the VNF package and the VNFD. This information is copied from the VNFD. @@ -37,20 +37,20 @@ definitions: This information is copied from the VNFD. It shall be present after the VNF package content has been on-boarded and absent otherwise. - $ref: "SOL005_def.yaml#/definitions/Version" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Version" vnfdVersion: description: > The version of the VNFD. This information is copied from the VNFD. It shall be present after the VNF package content has been on-boarded and absent otherwise. - $ref: "SOL005_def.yaml#/definitions/Version" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Version" checksum: description: > Checksum of the on-boarded VNF package. It shall be present after the VNF package content has been on-boarded and absent otherwise. - $ref: "SOL005_def.yaml#/definitions/Checksum" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Checksum" softwareImages: description: > Information about VNF package artifacts that are software images. @@ -58,7 +58,7 @@ definitions: Otherwise, this attribute shall be present unless it has been requested to be excluded per attribute selector. type: "array" - items: + items: $ref: "#/definitions/VnfPackageSoftwareImageInfo" additionalArtifacts: description: > @@ -69,47 +69,47 @@ definitions: Otherwise, this attribute shall be present if the VNF package contains additional artifacts. type: "array" - items: - $ref: "#/definitions/VnfPackageArtifactInfo" + items: + $ref: "#/definitions/VnfPackageArtifactInfo" onboardingState: description: > On-boarding state of the VNF package. - $ref: "#/definitions/PackageOnboardingStateType" + $ref: "#/definitions/PackageOnboardingStateType" operationalState: description: > Operational state of the VNF package. - $ref: "#/definitions/PackageOperationalStateType" + $ref: "#/definitions/PackageOperationalStateType" usageState: description: > Usage state of the VNF package. - $ref: "#/definitions/PackageUsageStateType" + $ref: "#/definitions/PackageUsageStateType" userDefinedData: description: > Usage state of the VNF package. - $ref: "SOL005_def.yaml#/definitions/KeyValuePairs" + $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" _links: type: object description: > Links to resources related to this resource. required: - self - - packageContent + - packageContent properties: self: description: > URI of this resource. - $ref: "SOL005_def.yaml#/definitions/Link" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" vnfd: description: > Link to the VNFD resource. This link shall be present after the VNF package content is on-boarded. - $ref: "SOL005_def.yaml#/definitions/Link" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" packageContent: description: > Link to the "VNF package content" resource. - $ref: "SOL005_def.yaml#/definitions/Link" - + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" + VnfPackageArtifactInfo: description: > This type represents an artifact other than a software image which is contained in a VNF package. @@ -123,17 +123,17 @@ definitions: description: > Path in the VNF package, which identifies the artifact and also allows to access a copy of the artifact. - $ref: "SOL005_def.yaml#/definitions/String" + $ref: "../../definitions/SOL005_def.yaml#/definitions/String" checksum: description: > Checksum of the artifact file. - $ref: "SOL005_def.yaml#/definitions/Checksum" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Checksum" metadata: description: > The metadata of the artifact that are available in the VNF package, such as Content type, size, creation date, etc. - $ref: "SOL005_def.yaml#/definitions/KeyValuePairs" - + $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" + PkgmLinks: description: > This type represents the links to resources that a VNF package management notification can contain. @@ -147,12 +147,12 @@ definitions: Link to the resource representing the VNF package to which the notified change applies, i.e. the individual on boarded VNF package resource that represents the VNF package. - $ref: "SOL005_def.yaml#/definitions/Link" + $ref: "../../definitions/SOL005_def.yaml#/definitions/NotificationLink" subscription: description: > Link to the related subscription. - $ref: "SOL005_def.yaml#/definitions/Link" - + $ref: "../../definitions/SOL005_def.yaml#/definitions/NotificationLink" + VnfPackageSoftwareImageInfo: description: > This type represents an artifact contained in a VNF package which represents a software image. @@ -161,21 +161,21 @@ definitions: - name - provider - version - - checksum + - checksum - containerFormat - diskFormat - createdAt - - minDisk + - minDisk - minRam - - size - - imagePath + - size + - imagePath type: object properties: id: description: > Name of the algorithm used to generate the checksum, as defined in ETSI GS NFV-SOL 004 [5]. For example, SHA-256, SHA-512. - $ref: "SOL005_def.yaml#/definitions/IdentifierInVnfd" + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd" name: description: > Name of the software image. @@ -183,15 +183,15 @@ definitions: provider: description: > Provider of the software image. - type: string + type: string version: description: > Version of the software image. - $ref: "SOL005_def.yaml#/definitions/Version" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Version" checksum: description: > Checksum of the software image file. - $ref: "SOL005_def.yaml#/definitions/Checksum" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Checksum" containerFormat: description: > Container format indicates whether the software image @@ -212,7 +212,7 @@ definitions: - BARE - DOCKER - OVA - - OVF + - OVF diskFormat: description: > Disk format of a software image is the format of the @@ -241,30 +241,30 @@ definitions: - VDI - VHD - VHDX - - VMDK + - VMDK createdAt: description: > Time when this software image was created. - $ref: "SOL005_def.yaml#/definitions/DateTime" + $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" minDisk: description: > The minimal disk for this software image in bytes. type: integer - minimum: 0 + minimum: 0 minRam: description: > The minimal RAM for this software image in bytes. type: integer - minimum: 0 + minimum: 0 size: description: > Size of this software image in bytes. type: integer - minimum: 0 + minimum: 0 userMetadata: description: > User-defined data. - $ref: "SOL005_def.yaml#/definitions/KeyValuePairs" + $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" imagePath: description: > Path in the VNF package, which identifies the image @@ -274,25 +274,26 @@ definitions: NsdOperationalStateType: type: "string" - description: > + description: > "The enumeration NsdOperationalStateType shall comply with the provisions defined in Table 5.5.4.3-1 of GS NFV_SOL 005. It indicates the operational state of the resource.ENABLED = The operational state of the resource is enabled. DISABLED = The operational state of the resource is disabled." enum: - - "ENABLED" - - "DISABLED" + - "ENABLED" + - "DISABLED" PackageOperationalStateType: type: "string" - description: > + description: > "The enumeration PackageOperationalStateType shall comply with the provisions defined in Table 9.5.4.4-1." Acceptable values are: - -ENABLED - The VNF package is enabled, i.e. it can be used for instantiation of new VNF instances. - -DISABLED - The VNF package is disabled, i.e. it cannot be used for further VNF instantiation requests (unless and until the VNF package is re-enabled). + - ENABLED - The VNF package is enabled, i.e. it can be used for instantiation of new VNF instances. + - DISABLED - The VNF package is disabled, i.e. it cannot be used for further VNF instantiation requests + (unless and until the VNF package is re-enabled). enum: - - "ENABLED" - - "DISABLED" + - ENABLED + - DISABLED PackageOnboardingStateType: description: > The enumeration PackageOnboardingStateType shall comply with the provisions defined in Table 9.5.4.3-1. @@ -306,24 +307,24 @@ definitions: - CREATED - UPLOADING - PROCESSING - - ONBOARDED + - ONBOARDED PackageUsageStateType: type: "string" - description: > + description: > "The enumeration PackageUsageStateType shall comply with the provisions. Acceptable values are: -IN_USE - VNF instances instantiated from this VNF package exist. -NOT_IN_USE - No existing VNF instance is instantiated from this VNF package" enum: - - "IN_USE" - - "NOT_IN_USE" - + - "IN_USE" + - "NOT_IN_USE" + CreateVnfPkgInfoRequest: type: "object" properties: userDefinedData: - $ref: "SOL005_def.yaml#/definitions/KeyValuePairs" - description: > + $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" + description: > IndividualVNF package resource creation parameters, as defined in clause 9.5.2.2. VnfPkgInfoModifications: @@ -337,19 +338,19 @@ definitions: instance of the VNF package. $ref: "#/definitions/PackageOperationalStateType" userDefinedData: - description: > + description: > User defined data to be updated. For existing keys, the value is replaced. - $ref: "SOL005_def.yaml#/definitions/KeyValuePairs" - + $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" + UploadVnfPkgFromUriRequest: type: "object" properties: userDefinedData: - $ref: "SOL005_def.yaml#/definitions/KeyValuePairs" - description: > + $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" + description: > "The payload body contains the address information based on which the NFVO can obtain the content of the VNF package" - + PkgmSubscription: description: > This type represents a subscription related to notifications about VNF package management. @@ -362,7 +363,7 @@ definitions: id: description: > Identifier of this subscription resource - $ref: "SOL005_def.yaml#/definitions/Uri" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Uri" filter: description: > Filter settings for this subscription, to define the subset @@ -373,7 +374,7 @@ definitions: callbackUri: description: > The URI of the endpoint to send the notification to - $ref: "SOL005_def.yaml#/definitions/Uri" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Uri" _links: description: > Links to resources related to this resource. @@ -384,8 +385,8 @@ definitions: self: description: > URI of this resource. - $ref: "SOL005_def.yaml#/definitions/Link" - + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" + PkgmSubscriptionRequest: description: > This type represents a subscription request related to VNF package management @@ -404,7 +405,7 @@ definitions: callbackUri: description: > The URI of the endpoint to send the notification to. - $ref: "SOL005_def.yaml#/definitions/Uri" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Uri" authentication: description: > Authentication parameters to conFigure the use of @@ -412,15 +413,16 @@ definitions: to this subscription, as defined in clause 4.5.3.4. This attribute shall only be present if the subscriber requires authorization of notifications. - $ref: "SOL005_def.yaml#/definitions/SubscriptionAuthentication" + $ref: "../../definitions/SOL005_def.yaml#/definitions/SubscriptionAuthentication" PkgmNotificationsFilter: description: > This type represents a subscription filter related to notifications related to VNF package management. - At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter - to match (logical "and" between different filter attributes). If an attribute is an array, the attribute shall match if at least - one of the values in the array matches (logical "or" between the values of one filter attribute). - type: object + At a particular nesting level in the filter structure, the following applies: All attributes shall match + in order for the filter to match (logical "and" between different filter attributes). + If an attribute is an array, the attribute shall match if at least one of the values in the array matches + (logical "or" between the values of one filter attribute). + type: object properties: notificationTypes: description: > @@ -470,29 +472,29 @@ definitions: items: type: object required: - - vnfSoftwareVersion + - vnfSoftwareVersion properties: vnfSoftwareVersion: description: > VNF software version to match - $ref: "SOL005_def.yaml#/definitions/Version" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Version" vnfdVersions: description: > If present, match VNF packages that contain VNF products with certain VNFD versions, a certain software version and a certain product name, from one particular provider. - type: array + type: array items: - $ref: "SOL005_def.yaml#/definitions/Version" - + $ref: "../../definitions/SOL005_def.yaml#/definitions/Version" + vnfdId: description: > Match VNF packages with a VNFD identifier listed in the attribute. type: array items: - $ref: "SOL005_def.yaml#/definitions/Identifier" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" vnfPkgId: description: > Match VNF packages with a package identifier @@ -503,7 +505,7 @@ definitions: absent otherwise. type: array items: - $ref: "SOL005_def.yaml#/definitions/Identifier" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" operationalState: description: > Match VNF packages with a package identifier @@ -514,7 +516,7 @@ definitions: absent otherwise. type: array items: - $ref: "#/definitions/PackageOperationalStateType" + $ref: "#/definitions/PackageOperationalStateType" usageState: description: > Match particular usage state of the on-boarded VNF package. @@ -525,137 +527,14 @@ definitions: type: array items: $ref: "#/definitions/PackageUsageStateType" - - VnfPackageOnboardingNotification: - description: > - This type represents a VNF package management notification, which informs the receiver that the on boarding process - of a VNF package incomplete and the package is ready for use. A change of the on-boarding state before the VNF - package is on-boarded is not reported. It shall comply with the provisions defined in Table 9.5.2.8-1. The support of this - notification is mandatory. The notification shall be triggered by the NFVO when the value of the "onboardingState" - attribute of a new VNF package has changed to "ONBOARDED". - type: object - required: - - id - - notificationType - - timeStamp - - vnfPkgId - - vnfdId - - _links - properties: - id: - description: > - Identifier of this notification. If a notification is sent - multiple times due to multiple subscriptions, the "id" - attribute of all these notifications shall have the same value. - $ref: "SOL005_def.yaml#/definitions/Identifier" - notificationType: - description: > - Discriminator for the different notification types. - Shall be set to "VnfPackageOnboardingNotification" for - this notification type. - type: string - subscriptionId: - description: > - Identifier of the subscription that this notification relates to. - $ref: "SOL005_def.yaml#/definitions/Identifier" - timeStamp: - description: > - Date and time of the generation of the notification. - $ref: "SOL005_def.yaml#/definitions/DateTime" - vnfPkgId: - description: > - Identifier of the on-boarded VNF package. This identifier - is allocated by the NFVO. - Its value is the same as the value of the "id" attribute of - the related "Individual VNF package" resource. - $ref: "SOL005_def.yaml#/definitions/Identifier" - vnfdId: - description: > - This identifier, which is managed by the VNF provider, - identifies the VNF package and the VNFD in a globally - unique way. - It is copied from the VNFD of the on-boarded VNF package. - $ref: "SOL005_def.yaml#/definitions/Identifier" - _links: - description: > - Links to resources related to this notification. - $ref: "#/definitions/PkgmLinks" - - VnfPackageChangeNotification: - description: > - This type represents a VNF package management notification, which informs the receiver of a change of the status in an - on-boarded VNF package. Only changes in the "operationalState" attribute of an on-boarded VNF package and the - deletion of the VNF package will be reported. Change in the "usageState" and "onboardingState" attributes are not - reported. The notification shall comply with the provisions defined in Table 9.5.2.9-1. The support of this notification is - mandatory. The notification shall be triggered by the NFVO when there is a change in the status of an onboarded VNF - package, as follows. - • The "operationalState" attribute of a VNF package has changed, and the "onboardingState" attribute of the - package has the value "ONBOARDED". - • The on-boarded VNF package has been deleted. - type: object - required: - - id - - notificationType - - timeStamp - - vnfPkgId - - vnfdId - - changeType - - _links - properties: - id: - description: > - Identifier of this notification. If a notification is sent - multiple times due to multiple subscriptions, the "id" - attribute of all these notifications shall have the same value. - $ref: "SOL005_def.yaml#/definitions/Identifier" - notificationType: - description: > - Discriminator for the different notification types. - Shall be set to "VnfPackageChangeNotification" for this - notification type. - type: string - subscriptionId: - description: > - Identifier of the subscription that this notification relates to. - $ref: "SOL005_def.yaml#/definitions/Identifier" - timeStamp: - description: > - Date and time of the generation of the notification. - $ref: "SOL005_def.yaml#/definitions/DateTime" - vnfPkgId: - description: > - Identifier of the on-boarded VNF package. This identifier - is allocated by the NFVO. - Its value is the same as the value of the "id" attribute of - the related "Individual VNF package" resource. - $ref: "SOL005_def.yaml#/definitions/Identifier" - vnfdId: - description: > - Identifier of the VNFD contained in the VNF package, - which also identifies the VNF package. This identifier is - allocated by the VNF provider and copied from the VNFD. - $ref: "SOL005_def.yaml#/definitions/Identifier" - changeType: - description: > - The type of change of the VNF package. - $ref: "#/definitions/PackageChangeType" - operationalState: - description: > - New operational state of the VNF package. - Only present when changeType is OP_STATE_CHANGE. - $ref: "#/definitions/PackageOperationalStateType" - _links: - description: > - Links to resources related to this notification. - $ref: "#/definitions/PkgmLinks" PackageChangeType: - type: "string" - description: > + type: string + description: > The enumeration PackageChangeType shall comply with the provisions defined in Table 9.5.4.6-1. Permitted Values: - OP_STATE_CHANGE: The "operationalState" attribute has been changed. - PKG_DELETE: The VNF package has been deleted. enum: - - "OP_STATE_CHANGE" - - "PKG_DELETE" + - OP_STATE_CHANGE + - PKG_DELETE \ No newline at end of file diff --git a/src/SOL005/VNFPackageManagement/definitions/SOL005_def.yaml b/src/SOL005/VNFPackageManagement/definitions/SOL005_def.yaml deleted file mode 100644 index 4542b7ed22733fba8a4e9ec850dbf1678dfd1e13..0000000000000000000000000000000000000000 --- a/src/SOL005/VNFPackageManagement/definitions/SOL005_def.yaml +++ /dev/null @@ -1,214 +0,0 @@ - definitions: - Identifier: - description: > - An identifier with the intention of being globally unique. - type: string - - Link: - description: > - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: > - URI of the referenced resource. - type: string - format: url - - 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 - - ProblemDetails: - 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 - Uri: - description: > - String formatted according to IETF RFC 3986. - type: string - Version: - description: > - Software version of the VNF. This is - changed when there is any change to the - software included in the VNF package. - This information is copied from the VNFD. - It shall be present after the VNF package - content has been on-boarded and absent otherwise. - type: string - Checksum: - description: > - This type represents the checksum of a VNF package or an artifact file. - required: - - algorithm - - hash - type: object - properties: - algorithm: - description: > - Name of the algorithm used to generate the checksum, - as defined in ETSI GS NFV-SOL 004 [5]. For example, SHA-256, SHA-512. - type: string - hash: - description: > - The hexadecimal value of the checksum. - type: 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 diff --git a/src/SOL005/VNFPackageManagement/responses/SOL005_resp.yaml b/src/SOL005/VNFPackageManagement/responses/SOL005_resp.yaml deleted file mode 100644 index 745bf878b3771c819038085f1fff516ba3017b1c..0000000000000000000000000000000000000000 --- a/src/SOL005/VNFPackageManagement/responses/SOL005_resp.yaml +++ /dev/null @@ -1,426 +0,0 @@ - # Copyright (c) ETSI 2017. - # https://forge.etsi.org/etsi-forge-copyright-notice.txt - responses: - 202: - description: > - Accepted - - The request was accepted for processing, but processing has not - been completed. The response shall have an empty payload body. - headers: - Location: - description: The resource URI of the created NS instance - type: string - format: url - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - 202-with-Location: - description: > - Accepted - - The request was accepted for processing, but the processing has not - been completed. On success, the HTTP response shall include a - "Location" HTTP header that contains the URI of the newly-created - "NS Descriptor operation occurrence" resource corresponding to the - operation. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Location: - description: The resource URI of the created NS instance - type: string - format: url - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - 206: - description: > - Partial Content. - - On success, if the NFVO supports range requests, a - single consecutive byte range from the content of the - NSD file is returned. - 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 [23]. - The "Content-Type" HTTP header shall be set as - defined above for the "200 OK" response. - headers: - Content-Range: - type: "string" - Content-Type: - type: "string" - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 303: - description: > - See Other - A subscription with the same callbackURI and the same filter already - exists and the policy of the VNFM 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. - 400: - description: > - Bad Request. - - Error: Invalid attribute-based filtering parameters. - The response body shall 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 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 400-attr-based-filtering-error: - description: > - Bad Request - Invalid attribute-based filtering parameters or Invalid attribute - selector. - It the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, - and should include in the "detail" attribute more information about - the source of the problem. - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall - be returned in the WWW-Authenticate HTTP header, as defined in - IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - 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 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 400-attr-selector: - description: > - Bad Request - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, - and should include in the "detail" attribute more information about - the source of the problem. - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall - be returned in the WWW-Authenticate HTTP header, as defined in - IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 401: - description: > - Unauthorized - If the request contains no access token even though one is - required, or if the request contains an authorization token that - is invalid (e.g. expired or revoked), the API producer should - respond with this response. The details of the error shall be - returned in the WWW-Authenticate HTTP header, as defined in - IETF RFC 6750 and IETF RFC 7235. The ProblemDetails - structure may be provided. - headers: - Content-Type: - type: string - description: The MIME type of the body of the response. - 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. - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 403: - description: > - Forbidden - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. - It should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - 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" - 404: - description: > - Not Found - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. - The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source - of the problem, e.g. a wrong resource URI variable. - 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" - 404-task-resource-not-exists: - description: > - Not Found - Error: The API producer did not find a current representation for the - target resource or is not willing to disclose that one exists. - Specifically in case of this task resource, the response code 404 shall - also returned if the task is not supported for the NS instance - represented by the parent resource, which means that the task resource - consequently does not exist. - In this case, the response body shall be present, and shall contain a - ProblemDetails structure, in which the "detail" attribute shall 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 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 404-task-resource-not-exists-NSD: - description: > - Not Found - Error: The API producer did not find a current representation for the - target resource or is not willing to disclose that one exists. - Specifically in case of this task resource, the response code 404 shall - also be returned if the task is not supported for the NS Descriptor operation - occurrence represented by the parent resource, which means that the task - resource consequently does not exist. - In this case, the response body shall be present, and shall contain a - ProblemDetails structure, in which the "detail" attribute shall 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 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 404-task-not-suported: - description: > - Not Found - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. - Specifically in case of this task resource, the reason can also be that - the task is not supported for the NS instance represented by the parent - resource, and that the task resource consequently does not exist. - The "ProblemDetails" structure may be provided, including in the - "detail" attribute information about the sourceof the problem, e.g. a - wrong resource URI variable. - 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" - 404-task-not-suported-NSD: - description: > - Not Found - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. - Specifically in case of this task resource, the reason can also be that - the task is not supported for the NS Descriptor operation occurrence - represented by the parent resource, and that the task resource - consequently does not exist. - The "ProblemDetails" structure may be provided, including in the - "detail" attribute information about the sourceof the problem, e.g. a - wrong resource URI variable. - 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" - 405: - description: > - Method Not Allowed - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted in that case. - 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" - 406: - description: > - If the "Accept" header does not contain at least one - name of a content type for which the NFVO can - provide a representation of the VNFD, the NFVO - shall respond with this response code. - 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" - 412: - description: > - 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: - 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" - 416: - description: > - Requested Range Not Satisfiable - - The byte range passed in the "Range" header did not - match any available byte range in the VNF package - 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" - 422: - description: > - Un-processable Entity - If the payload body of a request contains syntactically correct - data (e.g. well-formed JSON) but the data cannot be processed - (e.g. because it fails validation against a schema), the API - producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include - in the "detail" attribute more information about the source of the - problem. - NOTE 2: This error response code is only applicable for methods - that have a request body. - 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" - 500: - description: > - Internal Server Error - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code - ("catch all error"), the API producer shall respond withthis - response code. The ProblemDetails structure shall be provided, - and shall include in the "detail" attribute more information about - the source of the problem. - 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" - 503: - description: > - Service Unavailable - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the Retry-After HTTP header and for the alternative - to refuse the connection. The "ProblemDetails" structure may be omitted. - 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 diff --git a/src/SOL005/VNFPackageManagement/responses/VNFPackageManagement_resp.yaml b/src/SOL005/VNFPackageManagement/responses/VNFPackageManagement_resp.yaml deleted file mode 100644 index 7d7e9d93c0f30c2b92e88c1ad92dcce960be6bda..0000000000000000000000000000000000000000 --- a/src/SOL005/VNFPackageManagement/responses/VNFPackageManagement_resp.yaml +++ /dev/null @@ -1,291 +0,0 @@ - # Copyright (c) ETSI 2017. - # https://forge.etsi.org/etsi-forge-copyright-notice.txt - responses: - 202-with-Location: - description: > - Accepted - - The request was accepted for processing, but the processing has not - been completed. The response body shall be empty. - The HTTP response shall include a "Location" HTTP - header that contains the URI of the newly-created - "NS lifecycle operation occurrence" resource - corresponding to the operation. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Location: - description: The resource URI of the created NS instance - type: string - format: url - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - $ref: "../definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsInstance" - 202-with-Location-empty: - description: > - Accepted - - The request was accepted for processing, but the processing has not - been completed. On success, the HTTP response shall include a - "Location" HTTP header that contains the URI of the newly-created - "NS Descriptor operation occurrence" resource corresponding to the - operation. - The response body shall be empty. - headers: - Location: - description: The resource URI of the created NS instance - type: string - format: url - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - 406-state-conflict: - description: > - Error: The operation cannot be executed currently, - due to a conflict with the state of the resource. - Typically, this is due to the fact that - "onboardingState" of the VNF package 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. - 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" - 409: - description: > - Conflict. - - Error: The operation cannot be executed - currently, due to a conflict with the state of - the resource. - Typically, this is due to any of the following - scenarios: - - Disable a VNF package resource of - hich the operational state is not - ENABLED - - Enable a VNF package resource of - which the operational state is not - DISABLED - The response body shall contain a - ProblemDetails structure, in which the - "detail" attribute shall 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 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - - 409-another-nsd-operation-ongoing: - description: > - Conflict. - - The operation cannot be executed currently, due to a conflict with the - state of the NS instance resource. - Typically, this is due to the fact that another Descriptor operation is - ongoing. - The response body shall 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 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 409-inconsistent-state: - description: > - Conflict. - - Another request is in progress that prohibits the fulfilment of - the current request, or the current resource state is inconsistent - with the request. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 409-state-conflict-INSTANTIATED: - description: > - Conflict. - - The operation cannot be executed currently, due to a conflict with the - state of the NS instance resource. - Typically, this is due to the fact that the NS instance resource is in - INSTANTIATED state. - The response body shall 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 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 409-state-conflict-not-FAILED_TEMP: - description: > - The operation cannot be executed currently, due to a conflict with the - state of the NS instance resource. - Typically, this is due to the fact that the NS instance resource is - not in FAILED_TEMP state, or another error handling action is starting, - such as rollback or fail. - The response body shall 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 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 409-state-conflict-NOT-INSTANTIATED: - description: > - Conflict. - - The operation cannot be executed currently, due to a conflict with the - state of the NS instance resource. - Typically, this is due to the fact that the NS instance resource is in - NOT-INSTANTIATED state, or that another lifecycle management operation - is ongoing. - The response body shall 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 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 409-state-conflict-ONBOARDING: - description: > - Conflict. - - Error: The operation cannot be executed currently, - due to a conflict with the state of the resource. - Typically, this is due to the fact that "onboardingState" - of the VNF package 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. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 409-state-conflict-ONBOARDING-NOT-CREATED: - description: > - Conflict. - - Error: The operation cannot be executed currently, - due to a conflict with the state of the resource. - Typically, this is due to the fact that the on boarding - state of the VNF package resource is not CREATED . - The response body shall contain a ProblemDetails - structure, in which the "detail" attribute shall 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 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" \ No newline at end of file diff --git a/src/SOL005/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml b/src/SOL005/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml new file mode 100644 index 0000000000000000000000000000000000000000..898bc350804ad6781e0d9be7518963b6b48cfa95 --- /dev/null +++ b/src/SOL005/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml @@ -0,0 +1,223 @@ +swagger: "2.0" +info: + version: "1.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" + title: "SOL005 - VNF Package Management Notification interface" + description: > + SOL005 - VNF Package Management Notification 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 https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + license: + name: "ETSI Forge copyright notice" + url: https://forge.etsi.org/etsi-forge-copyright-notice.txt +externalDocs: + description: ETSI GS NFV-SOL 005 V2.5.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.05.01_60/gs_NFV-SOL005v020501p.pdf +basePath: /callback/v1 +schemes: + - http + - https +consumes: + - application/json +produces: + - application/json +paths: + ################################################################################## + # Notification endpoint NS Performance Management # + ################################################################################## + '/URI_is_provided_by_the_client_when_creating_the_subscription-VnfPackageOnboardingNotification': + post: + summary: Notify about VNF package onboarding or change + description: > + The POST method delivers a notification from the server to the client. + This method shall follow the provisions specified in the + Tables 9.4.10.3.1-1 and 9.4.10.3.1-2 for URI query parameters, + request and response data structures, and response codes. + parameters: + - name: VnfPackageOnboardingNotification + description: > + A notification about on-boarding of a VNF package. + in: body + required: true + schema: + $ref: "definitions/SOL005VNFPackageManagementNotification_def.yaml#/definitions/VnfPackageOnboardingNotification" + - name: Accept + description: > + Content-Types that are acceptable for the response. + Reference: IETF RFC 7231 + in: header + required: true + type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string + - name: Content-Type + description: > + The MIME type of the body of the request. + Reference: IETF RFC 7231 + in: header + required: true + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string + responses: + 204: + description: > + 204 No Content + + The notification was delivered successfully. + 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 + 400: + $ref: "../responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../responses/SOL005_resp.yaml#/responses/403" + 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-VnfPackageChangeNotification': + post: + summary: Notify about VNF package onboarding or change + description: > + The POST method delivers a notification from the server to the client. + This method shall follow the provisions specified in the + Tables 9.4.10.3.1-1 and 9.4.10.3.1-2 for URI query parameters, + request and response data structures, and response codes. + parameters: + - name: VnfPackageChangeNotification + description: > + A notification about changes of status in a VNF package. + in: body + required: true + schema: + $ref: "definitions/SOL005VNFPackageManagementNotification_def.yaml#/definitions/VnfPackageChangeNotification" + - name: Accept + description: > + Content-Types that are acceptable for the response. + Reference: IETF RFC 7231 + in: header + required: true + type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string + - name: Content-Type + description: > + The MIME type of the body of the request. + Reference: IETF RFC 7231 + in: header + required: true + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string + responses: + 204: + description: > + 204 No Content + + The notification was delivered successfully. + 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 + 400: + $ref: "../responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../responses/SOL005_resp.yaml#/responses/403" + 500: + $ref: "../responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../responses/SOL005_resp.yaml#/responses/503" + + get: + summary: Test the notification endpoint + description: > + The GET method allows the server to test the notification endpoint that is provided by the client, e.g. during + subscription. + This method shall follow the provisions specified in the Tables 9.4.10.3.2-1 and 9.4.10.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. + 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: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string + responses: + 204: + description: > + 204 No Content + + The notification endpoint was tested successfully. + The response body shall be empty. + 400: + $ref: "../responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "../responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "../responses/SOL005_resp.yaml#/responses/403" + 500: + $ref: "../responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../responses/SOL005_resp.yaml#/responses/503" \ No newline at end of file diff --git a/src/SOL005/VNFPackageManagementNotification/definitions/SOL005VNFPackageManagementNotification_def.yaml b/src/SOL005/VNFPackageManagementNotification/definitions/SOL005VNFPackageManagementNotification_def.yaml new file mode 100644 index 0000000000000000000000000000000000000000..ef9a9cf7936feffbf6e26f96b11579e6573b431c --- /dev/null +++ b/src/SOL005/VNFPackageManagementNotification/definitions/SOL005VNFPackageManagementNotification_def.yaml @@ -0,0 +1,127 @@ +# Copyright (c) ETSI 2017. +# https://forge.etsi.org/etsi-forge-copyright-notice.txt +definitions: + VnfPackageOnboardingNotification: + description: > + This type represents a VNF package management notification, which informs the receiver that the on boarding + process of a VNF package incomplete and the package is ready for use. A change of the on-boarding state before + the VNF package is on-boarded is not reported. It shall comply with the provisions defined in Table 9.5.2.8-1. + The support of this notification is mandatory. The notification shall be triggered by the NFVO when the value + of the "onboardingState" attribute of a new VNF package has changed to "ONBOARDED". + type: object + required: + - id + - notificationType + - subscriptionId + - timeStamp + - vnfPkgId + - vnfdId + - _links + properties: + id: + description: > + Identifier of this notification. If a notification is sent + multiple times due to multiple subscriptions, the "id" + attribute of all these notifications shall have the same value. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + notificationType: + description: > + Discriminator for the different notification types. + Shall be set to "VnfPackageOnboardingNotification" for + this notification type. + type: string + subscriptionId: + description: > + Identifier of the subscription that this notification relates to. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + timeStamp: + description: > + Date and time of the generation of the notification. + $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" + vnfPkgId: + description: > + Identifier of the VNF package. This identifier + is allocated by the NFVO. + Its value is the same as the value of the "id" attribute of + the related "Individual VNF package" resource. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + vnfdId: + description: > + This identifier, which is managed by the VNF provider, + identifies the VNF package and the VNFD in a globally + unique way. + It is copied from the VNFD of the on-boarded VNF package. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + _links: + description: > + Links to resources related to this notification. + $ref: "../../VNFPackageManagement/definitions/SOL005VNFPackageManagement_def.yaml#/definitions/PkgmLinks" + + VnfPackageChangeNotification: + description: > + This type represents a VNF package management notification, which informs the receiver of a change of + the status in an on-boarded VNF package. Only changes in the "operationalState" attribute of an on-boarded + VNF package and the deletion of the VNF package will be reported. Change in the "usageState" and "onboardingState" + attributes are not reported. The notification shall comply with the provisions defined in Table 9.5.2.9-1. + The support of this notification is mandatory. The notification shall be triggered by the NFVO when there is + a change in the status of an onboarded VNF package, as follows. + - The "operationalState" attribute of a VNF package has changed, and the "onboardingState" attribute of the + package has the value "ONBOARDED". + - The on-boarded VNF package has been deleted. + type: object + required: + - id + - notificationType + - subscriptionId + - timeStamp + - vnfPkgId + - vnfdId + - changeType + - _links + properties: + id: + description: > + Identifier of this notification. If a notification is sent + multiple times due to multiple subscriptions, the "id" + attribute of all these notifications shall have the same value. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + notificationType: + description: > + Discriminator for the different notification types. + Shall be set to "VnfPackageChangeNotification" for this + notification type. + type: string + subscriptionId: + description: > + Identifier of the subscription that this notification relates to. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + timeStamp: + description: > + Date and time of the generation of the notification. + $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" + vnfPkgId: + description: > + Identifier of the on-boarded VNF package. This identifier + is allocated by the NFVO. + Its value is the same as the value of the "id" attribute of + the related "Individual VNF package" resource. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + vnfdId: + description: > + Identifier of the VNFD contained in the VNF package, + which also identifies the VNF package. This identifier is + allocated by the VNF provider and copied from the VNFD. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + changeType: + description: > + The type of change of the VNF package. + $ref: "../../VNFPackageManagement/definitions/SOL005VNFPackageManagement_def.yaml#/definitions/PackageChangeType" + operationalState: + description: > + New operational state of the VNF package. + Only present when changeType is OP_STATE_CHANGE. + $ref: "../../VNFPackageManagement/definitions/SOL005VNFPackageManagement_def.yaml#/definitions/PackageOperationalStateType" + _links: + description: > + Links to resources related to this notification. + $ref: "../../VNFPackageManagement/definitions/SOL005VNFPackageManagement_def.yaml#/definitions/PkgmLinks" \ No newline at end of file diff --git a/src/SOL005/definitions/SOL005_def.yaml b/src/SOL005/definitions/SOL005_def.yaml new file mode 100644 index 0000000000000000000000000000000000000000..9928c9a5ac9117f39e6659ec5e1577d045500342 --- /dev/null +++ b/src/SOL005/definitions/SOL005_def.yaml @@ -0,0 +1,369 @@ +# 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 + + DateTime: + description: > + Date-time stamp. + Representation: String formatted according toas defined by the date-time production in IETF RFC 3339. + format: date-time + + Uri: + description: > + String formatted according to IETF RFC 3986. + type: string + format: uri + + Boolean: + description: > + The Boolean is a data type having two values (TRUE and FALSE). + type: boolean + + Version: + description: > + A Version. Representation: string of variable length. + type: string + + Checksum: + description: > + This type represents the checksum of a VNF package or an artifact file. + required: + - algorithm + - hash + type: object + properties: + algorithm: + description: > + Name of the algorithm used to generate the checksum, + as defined in ETSI GS NFV-SOL 004 [5]. For example, SHA-256, SHA-512. + type: string + hash: + description: > + The hexadecimal value of the checksum. + type: string + + String: + description: > + A string as defined in IETF RFC 8259. + type: string + + Number: + description: > + A number as defined in IETF RFC 8259. + type: number + + 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 + + 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: + - 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 + + Link: + description: > + This type represents a link to a resource. + type: object + required: + - href + properties: + href: + description: > + URI of a resource referenced from a notification. + Should be an absolute URI (i.e. a URI that contains {apiRoot}), + however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) + if the {apiRoot} information is not available. + type: string + format: url + + NotificationLink: + description: > + This type represents a link to a resource in a notification, using an absolute or relative URI. + type: object + required: + - href + properties: + href: + description: > + URI of a resource referenced from a notification. + Should be an absolute URI (i.e. a URI that contains {apiRoot}), + however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) + if the {apiRoot} information is not available. + 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 + that is used by a VNF instance or by an NS instance. Information about the resource + is available from the VIM. + type: object + required: + - resourceId + properties: + vimId: + description: > + Identifier of the VIM under whose control this resource is placed. + This attribute shall be present if VNF-related resource management + in direct mode is applicable. It shall also be present for resources + that are part of an NS instance such as virtual link resources. + $ref: "#/definitions/Identifier" + resourceProviderId: + description: > + Identifier of the entity responsible for the management of the resource. + This attribute shall only be supported and present when VNF-related resource + management in indirect mode is applicable. + The identification scheme is outside the scope of the present document. + $ref: "#/definitions/Identifier" + resourceId: + description: > + Identifier of the resource in the scope of the VIM or the resource provider. + $ref: "#/definitions/IdentifierInVim" + vimLevelResourceType: + description: > + Type of the resource in the scope of the VIM or the resource provider. + The value set of the "vimLevelResourceType" attribute is within the scope + of the VIM or the resource provider and can be used as information that + complements the ResourceHandle. + type: string + + IdentifierInVim: + description: > + An identifier maintained by the VIM or other resource provider. + It is expected to be unique within the VIM instance. Representation: string of variable length. + type: string + + IdentifierInVnfd: + description: > + Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD. + type: string + + ApiVersionInformation: + description: > + This type represents API version information. + type: object + required: + - uriPrefix + - apiVersions + properties: + uriPrefix: + description: > + Specifies the URI prefix for the API, in the following form + {apiRoot}/{apiName}/{apiMajorVersion}/. + type: string + apiVersions: + description: > + Version(s) supported for the API signalled by the uriPrefix attribute. + type: array + items: + type: object + required: + - version + properties: + version: + description: > + Identifies a supported version. The value of the version attribute shall + be a version identifier as specified in clause 4.6.1. + type: string + isDeprecated: + description: > + If such information is available, this attribute indicates whether use of the + version signaled by the version attribute is deprecated (true) or not (false). + A deprecated version is still supported by the API producer but is recommended + not to be used any longer. When a version is no longer supported, it does not + appear in the response body. + $ref: "#/definitions/Boolean" + retirementDate: + description: > + The date and time after which the API version will no longer be supported. + This attribute may be included if the value of the isDeprecated attribute + is set to true and shall be absent otherwise. + $ref: "#/definitions/DateTime" + + 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 diff --git a/src/SOL005/endpoints/SOL005_endpoints.yaml b/src/SOL005/endpoints/SOL005_endpoints.yaml new file mode 100644 index 0000000000000000000000000000000000000000..b5ee389c3ae71e6fb92cb92dcf1893c4ad9a7ffa --- /dev/null +++ b/src/SOL005/endpoints/SOL005_endpoints.yaml @@ -0,0 +1,50 @@ +# Copyright (c) ETSI 2017. +# https://forge.etsi.org/etsi-forge-copyright-notice.txt +endpoints: + api-versions: + parameters: + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: false + type: string + get: + summary: Retrieve API version information + description: > + The GET method reads API version information. This method shall follow the provisions specified in + table 4.6.3.3.3.2-1 for request and response data structures, and response codes. URI query parameters are not + supported. + responses: + 200: + description: > + API version information was read successfully. + The response body shall contain 4.4 API version + information, as defined in clause 4.4.1.13. + schema: + $ref: '../definitions/SOL005_def.yaml#/definitions/ApiVersionInformation' + headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + Version: + description: The used API version. + type: string + maximum: 1 + minimum: 1 + 400: { $ref: '../responses/SOL005_resp.yaml#/responses/400' } + 401: { $ref: '../responses/SOL005_resp.yaml#/responses/401' } + 403: { $ref: '../responses/SOL005_resp.yaml#/responses/403' } + 404: { $ref: '../responses/SOL005_resp.yaml#/responses/404' } + 405: { $ref: '../responses/SOL005_resp.yaml#/responses/405' } + 406: { $ref: '../responses/SOL005_resp.yaml#/responses/406' } + 413: { $ref: '../responses/SOL005_resp.yaml#/responses/413' } + 414: { $ref: '../responses/SOL005_resp.yaml#/responses/414' } + 416: { $ref: '../responses/SOL005_resp.yaml#/responses/416' } + 422: { $ref: '../responses/SOL005_resp.yaml#/responses/422' } + 429: { $ref: '../responses/SOL005_resp.yaml#/responses/429' } + 500: { $ref: '../responses/SOL005_resp.yaml#/responses/500' } + 503: { $ref: '../responses/SOL005_resp.yaml#/responses/503' } + 504: { $ref: '../responses/SOL005_resp.yaml#/responses/504' } \ No newline at end of file diff --git a/src/SOL005/responses/SOL005_resp.yaml b/src/SOL005/responses/SOL005_resp.yaml new file mode 100644 index 0000000000000000000000000000000000000000..01037719ae46263bac0d687a51219007850699b2 --- /dev/null +++ b/src/SOL005/responses/SOL005_resp.yaml @@ -0,0 +1,639 @@ +# Copyright (c) ETSI 2017. +# https://forge.etsi.org/etsi-forge-copyright-notice.txt + +responses: + + 202-with-Location: + description: > + 202 ACCEPTED + + The request was accepted for processing, but the processing has not + been completed. The response body shall be empty. + The HTTP response shall include a "Location" HTTP + header that contains the URI of the newly-created + "NS lifecycle operation occurrence" resource + corresponding to the operation. + headers: + Content-Type: + description: The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + Location: + description: The resource URI of the created NS instance + type: string + format: url + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + schema: + $ref: "../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsInstance" + + 202-with-Location-empty: + description: > + 202 ACCEPTED + + The request was accepted for processing, but the processing has not + been completed. On success, the HTTP response shall include a + "Location" HTTP header that contains the URI of the newly-created + "NS Descriptor operation occurrence" resource corresponding to the + operation. + The response body shall be empty. + headers: + Location: + description: The resource URI of the created NS instance + type: string + format: url + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + + 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 + + 400: + description: > + 400 BAD REQUEST + + 400 code can be returned in the following specified cases, the specific cause has to be proper specified in the + "ProblemDetails" structure to be returned. + + If the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect + query parameters or the payload body contains a syntactically incorrect data structure), + the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided, + and should include in the "detail" attribute more information about the source of the problem. + + If the response to a GET request which queries a container resource would be so big that the performance + of the API producer is adversely affected, and the API producer does not support paging for the affected resource, + it shall respond with this response code. The "ProblemDetails" structure shall be provided, and should include + in the "detail" attribute more information about the source of the problem. + + If there is an application error related to the client's input that cannot be easily mapped to any other + HTTP response code ("catch all error"), the API producer shall respond with this response code. + The "ProblemDetails" structure shall be provided, and shall include in the "detail" attribute more information + about the source of the problem. + + If the request contains a malformed access token, the API producer should respond with this response. + The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 + and IETF RFC 7235. The ProblemDetails structure may be provided. + + The use of this HTTP error response code described above is applicable to the use of the OAuth 2.0 + for the authorization of API requests and notifications, as defined in clauses 4.5.3.3 and 4.5.3.4. + 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" + + 401: + description: > + 401 UNAUTHORIZED + + If the request contains no access token even though one is required, or if the request contains an authorization + token that is invalid (e.g. expired or revoked), the API producer should respond with this response. + The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 + and IETF RFC 7235. The ProblemDetails structure may be provided. + 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" + + 403: + description: > + 403 FORBIDDEN + + If the API consumer is not allowed to perform a particular request to a particular resource, + the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided. + It should include in the "detail" attribute information about the source of the problem, + and may indicate how to solve it. + 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" + + 404: + description: > + 404 NOT FOUND + + If the API producer did not find a current representation for the resource addressed by the URI passed + in the request or is not willing to disclose that one exists, it shall respond with this response code. + The "ProblemDetails" structure may be provided, including in the "detail" attribute information about + the source of the problem, e.g. a wrong resource URI variable. + + This response code is not appropriate in case the resource addressed by the URI is a container resource + which is designed to contain child resources, but does not contain any child resource at the time + the request is received. For a GET request to an existing empty container resource, a typical response + contains a 200 OK response code and a payload body with an empty array. + 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" + + 405: + description: > + 405 METHOD NOT ALLOWED + + If a particular HTTP method is not supported for a particular resource, the API producer shall respond + with this response code. The "ProblemDetails" structure may be omitted. + 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" + + 406: + description: > + 406 NOT ACCEPTABLE + + If the "Accept" header does not contain at least one name of a content type that is acceptable + to the API producer, the API producer shall respond with this response code. + The "ProblemDetails" structure may be omitted. + 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" + + 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" + + 413: + description: > + 413 PAYLOAD TOO LARGE + + If the payload body of a request is larger than the amount of data the API producer is willing or able to process, + it shall respond with this response code, following the provisions in IETF RFC 7231 for the use + of the "Retry-After" HTTP header and for closing the connection. The "ProblemDetails" structure may be omitted. + 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" + + 414: + description: > + 414 URI TOO LONG + + If the request URI of a request is longer than the API producer is willing or able to process, + it shall respond with this response code. This condition can e.g. be caused by passing long queries + in the request URI of a GET request. The "ProblemDetails" structure may be omitted. + 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" + + 422: + description: > + 422 UNPROCESSABLE ENTITY + + If the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data + cannot be processed (e.g. because it fails validation against a schema), the API producer shall respond + with this response code. The "ProblemDetails" structure shall be provided, and should include in the "detail" + attribute more information about the source of the problem. + + This error response code is only applicable for methods that have a request body. + 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" + + 429: + description: > + 429 TOO MANY REQUESTS + + If the API consumer has sent too many requests in a defined period of time and the API producer is able + to detect that condition ("rate limiting"), the API producer shall respond with this response code, + following the provisions in IETF RFC 6585 [17] for the use of the "Retry-After" HTTP header. + The "ProblemDetails" structure shall be provided and shall include in the "detail" attribute more information + about the source of the problem. + + The period of time and allowed number of requests are configured within the API producer by means + outside the scope of the present document. + 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" + + 500: + description: > + 500 INTERNAL SERVER ERROR + + If there is an application error not related to the client's input that cannot be easily mapped to any other + HTTP response code ("catch all error"), the API producer shall respond with this response code. + The "ProblemDetails" structure shall be provided, and shall include in the "detail" attribute more information + about the source of the problem. + 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" + + 503: + description: > + 503 SERVICE UNAVAILABLE + + If the API producer encounters an internal overload situation of itself or of a system it relies on, + it should respond with this response code, following the provisions in IETF RFC 7231 for the use of + the "Retry-After" HTTP header and for the alternative to refuse the connection. The "ProblemDetails" + structure may be omitted. + 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" + + 504: + description: > + 504 GATEWAY TIMEOUT + + If the API producer encounters a timeout while waiting for a response from an upstream server + (i.e. a server that the API producer communicates with when fulfilling a request), it should respond + with this response code. + 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