--- swagger: "2.0" info: description: | SOL005 - VNF Package Management 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 version: 2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 title: SOL005 - VNF Package Management Interface termsOfService: https://www.vmware.com/content/dam/digitalmarketing/vmware/en/pdf/product/vmware-product-guide.pdf license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt basePath: /telco/api/vnfpkgm/v2 tags: - name: vnfCatalog description: Telco Cloud Automation Network Function Catalog API schemes: - https paths: /vnf_packages: get: tags: - vnfCatalog summary: Query VNF packages information. 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. operationId: getAllVnfDescriptors parameters: - name: Authorization in: header description: | The authorization token for the request. Reference: IETF RFC 7235. required: false type: string - name: Version in: header description: | Version of the API requested to use when responding to this request. required: true type: string - name: filter in: query description: | Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV SOL 013. The NFVO shall support receiving this parameter as part of the URI query string. The OSS/BSS may supply this parameter. All attribute names that appear in the VnfPkgInfo and in data types referenced from it shall be supported by the NFVO in the filter expression. required: false type: string - name: all_fields in: query description: | Include all complex attributes in the response. See clause 5.3 of ETSI GS NFV SOL 013 for details. The NFVO shall support this parameter. required: false type: string - name: fields in: query description: | Complex attributes to be included into the response. See clause 5.3 of ETSI GS NFV SOL 013 for details. The NFVO should support this parameter. required: false type: string - name: exclude_fields in: query description: | Complex attributes to be excluded from the response. See clause 5.3 of ETSI GS NFV SOL 013 for details. The NFVO should support this parameter. required: false type: string - name: exclude_default in: query description: | Indicates to exclude the following complex attributes from the response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. The NFVO shall support this parameter. The following attributes shall be excluded from the VnfPkgInfo structure in the response body if this parameter is provided, or none of the parameters "all_fields," "fields", "exclude_fields", "exclude_default" are provided: - softwareImages - additionalArtifacts - userDefinedData - checksum - onboardingFailureDetails required: false type: string - 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 5.4.2.1 of ETSI GS NFV SOL 013 for this resource. required: false type: string - name: Accept in: header description: | Content-Types that are acceptable for the response. Reference: IETF RFC 7231 required: true type: string responses: "200": description: | 200 OK Shall be returned when information about zero or more VNF packages has been queried successfully. The response body shall contain in an array the VNF package info representations that match the attribute filter, i.e. zero or more VNF package info representations as defined in clause 9.5.2.5. If the "filter" URI parameter or one of the "all_fields", "fields", "exclude_fields" or "exclude_default" URI parameters was supplied in the request and is supported, the data in the response body shall have been transformed according to the rules specified in clauses 5.2.2 and 5.3.2 of ETSI GS NFV SOL 013, respectively. If the NFVO supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV SOL 013 for this resource, inclusion of the Link HTTP header in this response shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV SOL 013. 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. Version: type: string description: | Version of the API used in the response. schema: type: array items: $ref: '#/definitions/VnfPkgInfo' "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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/definitions/ProblemDetails' "416": description: | 416 RANGE NOT SATISFIABLE 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/definitions/ProblemDetails' post: tags: - vnfCatalog summary: Create a new individual VNF package resource. description: | The POST method creates a new individual VNF package resource. operationId: createVnfDescriptor parameters: - name: Authorization in: header description: | The authorization token for the request. Reference: IETF RFC 7235. required: false type: string - name: Version in: header description: | Version of the API requested to use when responding to this request. required: true type: string - name: Accept in: header description: | Content-Types that are acceptable for the response. Reference: IETF RFC 7231 required: true type: string - name: Content-Type in: header description: | The MIME type of the body of the request. Reference: IETF RFC 7231 required: true type: string - in: body name: body description: | IndividualVNF package resource creation parameters, as defined in clause 9.5.2.2 required: true schema: $ref: '#/definitions/CreateVnfPkgInfoRequest' responses: "201": description: "201 Created \nShall be returned when 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 in clause 9.5.2.5. The HTTP response shall include a \"Location\" HTTP header that contains the resource URI of the individual VNF package resource.\n" 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/definitions/VnfPkgInfo' "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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/definitions/ProblemDetails' "409": description: | 409 CONFLICT 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/definitions/ProblemDetails' "416": description: | 416 RANGE NOT SATISFIABLE 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/definitions/ProblemDetails' /vnf_packages/{vnfPkgId}: get: tags: - vnfCatalog summary: Read information about an individual VNF package. description: | The GET method reads the information of a VNF package. operationId: getVnfDescriptor parameters: - name: vnfPkgId in: path description: "Identifier of the VNF package. The identifier is allocated by the NFVO. \n" required: true type: string - name: Authorization in: header description: | The authorization token for the request. Reference: IETF RFC 7235. required: false type: string - name: Version in: header description: | Version of the API requested to use when responding to this request. required: true type: string - name: Accept in: header description: | Content-Types that are acceptable for the response. Reference: IETF RFC 7231 required: true type: string responses: "200": description: | 200 OK Shall be returned when information of the VNF package has been read successfully. The response body shall contain the VNF package info representation defined in clause 9.5.2.5. 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/definitions/VnfPkgInfo' "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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/definitions/ProblemDetails' "416": description: | 416 RANGE NOT SATISFIABLE 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/definitions/ProblemDetails' delete: tags: - vnfCatalog summary: Delete an individual VNF package. description: | The DELETE method deletes an individual VNF Package resource. operationId: deleteVnfDescriptor parameters: - name: vnfPkgId in: path description: "Identifier of the VNF package. The identifier is allocated by the NFVO. \n" required: true type: string - name: Authorization in: header description: | The authorization token for the request. Reference: IETF RFC 7235. required: false type: string - name: Version in: header description: | Version of the API requested to use when responding to this request. required: true type: string responses: "204": description: | 204 No Content The VNF package has been deleted successfully. The response body shall be empty. headers: Version: type: string description: | Version of the API used in the response. "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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/definitions/ProblemDetails' "409": description: | 409 CONFLICT 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/definitions/ProblemDetails' "416": description: | 416 RANGE NOT SATISFIABLE 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/definitions/ProblemDetails' patch: tags: - vnfCatalog summary: Update information about an individual VNF package. 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." operationId: updateVnfCatalog parameters: - name: vnfPkgId in: path description: "Identifier of the VNF package. The identifier is allocated by the NFVO. \n" required: true type: string - name: Authorization in: header description: | The authorization token for the request. Reference: IETF RFC 7235. required: false type: string - name: Version in: header description: | Version of the API requested to use when responding to this request. required: true type: string - in: body name: body description: | Parameters for VNF package information modifications. required: true schema: $ref: '#/definitions/VnfPkgInfoModifications' - name: Content-Type in: header description: | The MIME type of the body of the request. Reference: IETF RFC 7231 required: true type: string responses: "200": description: | 200 OK Shall be returned when the operation has been completed successfully. The response body shall contain attribute modifications for an "Individual VNF package" resource. 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. Version: type: string description: | Version of the API used in the response. schema: properties: VnfPkgInfoModifications: $ref: '#/definitions/VnfPkgInfoModifications' "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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/definitions/ProblemDetails' "416": description: | 416 RANGE NOT SATISFIABLE 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/definitions/ProblemDetails' /vnf_packages/{vnfPkgId}/vnfd: get: tags: - vnfCatalog summary: Read VNFD of an on-boarded VNF package. description: | The GET method reads the content of the VNFD within a VNF package. The default format of the ZIP archive shall be the one specified in ETSI GS NFV-SOL 004 [5] where only the files representing the VNFD and information necessary to navigate the ZIP file and to identify the file that is the entry point for parsing the VNFD and (if requested) further security information are included. This means that the structure of the ZIP archive shall correspond to the directory structure used in the VNF package and that the archive shall contain the following files from the package: - TOSCA.meta (if available in the package). - The main TOSCA definitions YAML file (either as referenced from TOSCA.meta or available as a file with the extension ".yml" or ".yaml" from the root of the archive). Every component of the VNFD referenced (recursively) from the main TOSCA definitions YAML file. - The related security information, if the "include_signatures" URI parameter is provided, as follows: - the manifest file; - the singleton certificate file in the root of the VNF package (if available in the package); - the signing certificates of the individual files included in the ZIP archive (if available in the package); - the signatures of the individual files (if available in the package). operationId: getVnfdModel parameters: - name: Authorization in: header description: | The authorization token for the request. Reference: IETF RFC 7235. required: false type: string - name: Version in: header description: | Version of the API requested to use when responding to this request. required: true type: string - name: vnfPkgId in: path 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. required: true type: string - name: Accept in: header description: | Content-Types that are acceptable for the response. required: true type: string enum: - text/plain - application/zip - name: include_signatures in: query description: | If this parameter is provided, the NFVO shall include in the ZIP archive the security information as specified above. This URI query parameter is a flag, i.e. it shall have no value. The NFVO shall support this parameter. required: false type: string responses: "200": description: | 200 OK Shall be returned when the content of the VNFD has been read successfully. The payload body shall contain a copy of the file representing the VNFD or a ZIP file that contains the file or multiple files representing the VNFD, as specified above. The "Content-Type" HTTP header shall be set according to the format of the returned file, i.e. to "text/plain" for a YAML file or to "application/zip" for a ZIP file. 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/definitions/Vnfd' "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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/definitions/ProblemDetails' "409": description: | 409 CONFLICT 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/definitions/ProblemDetails' "416": description: | 416 RANGE NOT SATISFIABLE 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/definitions/ProblemDetails' /onboarded_vnf_packages/{vnfdId}/vnfd: get: description: | Query VNF Package Info The GET method reads the content of the VNFD within a VNF package. The VNFD is implemented as a collection of one or more files. A ZIP archive embedding these files shall be returned when reading this resource. The default format of the ZIP archive shall be the one specified in ETSI GS NFV-SOL 004 where only the files representing the VNFD and information needed to navigate the ZIP archive and to identify the file that is the entry point for parsing the VNFD, and, if requested, further security information are included. This means that the structure of the ZIP archive shall correspond to the directory structure used in the VNF package and that the archive shall contain the following files from the package: * TOSCA.meta (if available in the package) * The main TOSCA definitions YAML file (either as referenced from TOSCA.meta or available as a file with the extension ".yml" or ".yaml" from the root of the archive) * Every component of the VNFD referenced (recursively) from the main TOSCA definitions YAML file * The related security information, if the "include_signatures" URI parameter is provided, as follows: - the manifest file - the singleton certificate file in the root of the VNF package (if available in the package) - the signing certificates of the individual files included in the ZIP archive (if available in the package) - the signatures of the individual files (if available in the package) Three examples are provided below. NOTE: These examples do not show the security related files. EXAMPLE 1: Assuming a request is sent for the following VNF package (as described in clause A.1 in ETSI GS NFV-SOL 004): !------TOSCA-Metadata !----- TOSCA.meta (metadata for navigating the ZIP file) !------Definitions !----- MRF.yaml (main VNFD file) !----- OtherTemplates (e.g. type definitions, referenced by the main VNFD file) !------Files !----- ChangeLog.txt !----- image(s) !----- other artifacts !------Tests !----- file(s) !------Licenses !----- file(s) !------Scripts !----- install.sh !----- MRF.mf The NFVO will return a ZIP file of the following format: !------TOSCA-Metadata !----- TOSCA.meta !------Definitions !----- MRF.yaml !----- OtherTemplates EXAMPLE 2: Assuming a request is sent for the following VNF package (a VNF package without a TOSCA-Metadata directory, as described in clause A.2 in ETSI GS NFV-SOL 004): !------MRF.yaml (main VNFD file) !------MRF.mf !------ChangeLog.txt !------Tests !----- file(s) !------Licenses !----- file(s) !------Artifacts !----- install.sh !----- start.yang The NFVO will return a ZIP file of the following format: !------MRF.yaml EXAMPLE 3: Assuming a request is sent for the following VNF package (a VNF package with the YANG VNFD without a TOSCA-Metadata directory, as described in clause A.3 in ETSI GS NFV SOL 004): !----CompanyVNFD.yaml !----CompanyVNFD.xml !----CompanyVNFD.mf !----ChangeLog.txt !-----Files !-----Instance Data Files !---- start.xml !-----Licenses !-----Scripts !----- install.sh The NFVO will return a ZIP file of the following format: !----CompanyVNFD.yaml !----CompanyVNFD.xml (indicated in the yang_definitions metadata in CompanyVNFD.yaml) This method shall follow the provisions specified in the tables 10.4.4.3.2-1 and 10.4.4.3.2-2 for URI query parameters, request and response data structures, nd response codes. parameters: - name: vnfdId in: path description: | Identifier of the VNFD and the VNF package. The identifier is allocated by the VNF provider. This identifier can be retrieved from the "vnfdId" attribute in the VnfPackageOnboardingNotification or VnfPackageChangeNotification. required: true type: string - name: Accept in: header description: | Content-Types that are acceptable for the response. Permitted values: "text/plain" and/or "application/zip" Reference: IETF RFC 7231 required: true type: string enum: - text/plain - application/zip - text/plain+application/zip - name: Authorization in: header description: | The authorization token for the request. Reference: IETF RFC 7235 required: false type: string - name: Version in: header description: | Version of the API requested to use when responding to this request. required: true type: string - name: include_signatures in: query description: | If this parameter is provided, the NFVO shall include in the ZIP archive the security information as specified above. This URI query parameter is a flag, i.e. it shall have no value. The NFVO shall support this parameter. required: false type: string responses: "200": description: | 200 OK Shall be returned when the content of the VNFD has been read successfully. The payload body shall contain a copy of the file representing the VNFD or a ZIP file that contains the file or multiple files representing the VNFD, as specified above. The "Content-Type" HTTP header shall be set according to the format of the returned file, i.e. to "text/plain" for a YAML file or to "application/zip" for a ZIP file. headers: Content-Type: type: string description: The MIME type of the body of the response. enum: - text/plain - application/zip WWW-Authenticate: type: string description: | Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. Version: type: string description: | Version of the API used in the response. "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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/definitions/ProblemDetails' "409": description: | 409 CONFLICT 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/definitions/ProblemDetails' "416": description: | 416 RANGE NOT SATISFIABLE 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/definitions/ProblemDetails' /vnf_packages/{vnfPkgId}/package_content: get: tags: - vnfCatalog summary: Fetch an on-boarded VNF package. description: | The GET method fetches the content of a VNF package identified by the VNF package identifier allocated by the NFVO. The content of the package is provided as onboarded, i.e. depending on the security option used, the CSAR or the CSAR wrapped in a ZIP archive together with an external signature is returned, as defined in clause 5.1 of ETSI GS NFV-SOL 004 [5]. NOTE: Information about the applicable security option can be obtained by evaluating the "packageSecurityOption" attribute in the "VnfPkgInfo" structure. 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. operationId: downloadVnfDescriptor produces: - application/zip parameters: - name: Authorization in: header description: | The authorization token for the request. Reference: IETF RFC 7235. required: false type: string - name: Version in: header description: | Version of the API requested to use when responding to this request. required: true type: string - name: vnfPkgId in: path description: | Identifier of the on-boarded VNF package. The identifier is allocated by the NFVO. required: true type: string - name: Accept in: header description: | Content-Types that are acceptable for the response. required: true type: string enum: - application/zip - name: Range in: header 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. required: false type: string responses: "200": description: | 200 OK Shall be returned when the whole content of the VNF package file has been read successfully. The response body shall include a copy of the VNF package file. 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. 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. Version: type: string description: | Version of the API used in the response. "206": description: | 206 PARTIAL CONTENT headers: Content-Type: type: string description: | The MIME type of the body of the response. Content-Range: type: string description: | The Content-Range response HTTP header indicates where in a full body message a partial message belongs. 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: type: string description: | Version of the API used in the response. schema: $ref: '#/definitions/ProblemDetails' "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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/definitions/ProblemDetails' "409": description: | 409 CONFLICT 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/definitions/ProblemDetails' "416": description: | 416 RANGE NOT SATISFIABLE 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/definitions/ProblemDetails' put: tags: - vnfCatalog summary: Upload a VNF package by providing the content of the VNF package. 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. Upon start of the upload of the package, the NFVO shall set the "onboardingState" attribute in the "VnfPkgInfo" structure to "UPLOADING". Upon successful upload of the package, if the package references external artifacts, the NFVO shall obtain the external artifacts. Subsequently, upon success, the NFVO shall set that attribute to "PROCESSING" and shall process the package, which shall include checking package consistency. Upon successful processing, the NFVO shall set the "onboardingState" attribute to "ONBOARDED". If an error occurs during uploading the package, downloading the external artifacts or processing the package, the NFVO shall set the "onboardingState" attribute to "ERROR" and shall populate the "onboardingFailureDetails" attribute in "VnfPkgInfo". operationId: uploadVnfDescriptor consumes: - multipart/form-data parameters: - name: Authorization in: header description: | The authorization token for the request. Reference: IETF RFC 7235. required: false type: string - name: Version in: header description: | Version of the API requested to use when responding to this request. required: true type: string - name: vnfPkgId in: path description: | Identifier of the on-boarded VNF package. The identifier is allocated by the NFVO. required: true type: string - name: Accept in: header description: | Content-Types that are acceptable for the response. required: true type: string enum: - application/zip - name: file in: formData 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. required: false type: file responses: "202": description: | 202 Accepted Shall be returned when the VNF package has been 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. See note. headers: Version: type: string description: | Version of the API used in the response. "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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/definitions/ProblemDetails' "409": description: | 409 CONFLICT 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/definitions/ProblemDetails' /subscriptions: get: tags: - vnfCatalog 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 follow the provisions specified in the Tables 9.4.8.3.2-1 and 9.4.8.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - name: Authorization in: header description: | The authorization token for the request. Reference: IETF RFC 7235. required: false type: string - name: Version in: header description: | Version of the API requested to use when responding to this request. required: true type: string - name: filter in: query description: | Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV SOL 013. The NFVO shall support receiving this filtering parameter as part of the URI query string. The OSS/BSS may supply this filtering parameter. All attribute names that appear in the PkgmSubscription and in data types referenced from it shall be supported by the NFVO in the filtering expression required: false type: string - 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 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource. required: false type: string - name: Accept in: header description: | Content-Types that are acceptable for the response. Reference: IETF RFC 7231 required: true type: string responses: "200": description: | 200 OK Shall be returned when the list of subscriptions has been queried successfully. The response body shall contain in an array the representations of all active subscriptions of the functional block that invokes the method, i.e. zero or more representations of VNF package management subscriptions, as defined in clause 9.5.2.7. If the "filter" URI parameter was supplied in the request, the data in the response body shall have been transformed according to the rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013. If the NFVO supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV SOL 013 for this resource, inclusion of the Link HTTP header in this response shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV SOL 013. 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. Version: type: string description: | Version of the API used in the response. schema: type: array items: $ref: '#/definitions/PkgmSubscription' "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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/definitions/ProblemDetails' "416": description: | 416 RANGE NOT SATISFIABLE 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/definitions/ProblemDetails' post: tags: - vnfCatalog summary: Subscribe to notifications related to on-boarding and/or changes of VNF packages. 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. As the result of successfully executing this method, a new "Individual subscription" resource shall exist as defined in clause 9.4.9. This method shall not trigger any notification. 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: - name: Authorization in: header description: | The authorization token for the request. Reference: IETF RFC 7235. required: false type: string - name: Version in: header description: | Version of the API requested to use when responding to this request. required: true type: string - name: Accept in: header description: | Content-Types that are acceptable for the response. Reference: IETF RFC 7231 required: true type: string - name: Content-Type in: header description: | The MIME type of the body of the request. Reference: IETF RFC 7231 required: true type: string - in: body name: body description: | Details of the subscription to be created. required: true schema: $ref: '#/definitions/PkgmSubscriptionRequest' responses: "201": description: | 201 Created Shall be returned when the subscription has been created successfully. The response body shall contain a representation of the created "Individual subscription" resource. The HTTP response shall include a "Location" HTTP header that points to the created subscription resource. 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/definitions/PkgmSubscription' "303": description: | 303 SEE OTHER 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. Version: type: string description: | Version of the API used in the response. "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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/definitions/ProblemDetails' "416": description: | 416 RANGE NOT SATISFIABLE 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/definitions/ProblemDetails' /subscriptions/{subscriptionId}: get: tags: - vnfCatalog summary: Read an individual subscription resource. description: | Query Subscription Information The GET method reads an individual subscription. parameters: - name: subscriptionId in: path description: | Identifier of this subscription. This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response to a POST request creating a new subscription resource. It can also be retrieved from the "id" attribute in the payload body of that response. required: true type: string - name: Authorization in: header description: | The authorization token for the request. Reference: IETF RFC 7235. required: false type: string - name: Version in: header description: | Version of the API requested to use when responding to this request. required: true type: string - name: Accept in: header description: | Content-Types that are acceptable for the response. Reference: IETF RFC 7231 required: true type: string responses: "200": description: | 200 OK Shall be returned when information about an individual subscription has been read successfully. The response body shall contain a representation of the "Individual subscription" resource. 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/definitions/PkgmSubscription' "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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/definitions/ProblemDetails' "416": description: | 416 RANGE NOT SATISFIABLE 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/definitions/ProblemDetails' delete: tags: - vnfCatalog summary: Terminate a subscription. description: | The DELETE method terminates an individual subscription. This method shall follow the provisions specified in the Tables 9.4.9.3.5-1 and 9.4.9.3.5-2 for URI query parameters, request and response data structures, and response codes. As the result of successfully executing this method, the "Individual subscription" resource shall not exist any longer. This means that no notifications for that subscription shall be sent to the formerly-subscribed API consumer. NOTE: Due to race conditions, some notifications might still be received by the formerly-subscribed API consumer for a certain time period after the deletion. parameters: - name: subscriptionId in: path description: | Identifier of this subscription. This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response to a POST request creating a new subscription resource. It can also be retrieved from the "id" attribute in the payload body of that response. required: true type: string - name: Authorization in: header description: | The authorization token for the request. Reference: IETF RFC 7235. required: false type: string - name: Version in: header description: | Version of the API requested to use when responding to this request. required: true type: string responses: "204": description: | No Content Shall be returned when information about an individual subscription has been read successfully. The response body shall contain a representation of the "Individual subscription" resource. 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: type: string description: | Version of the API used in the response. "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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/definitions/ProblemDetails' "416": description: | 416 RANGE NOT SATISFIABLE 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/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: 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. Version: type: string description: | Version of the API used in the response. schema: $ref: '#/definitions/ProblemDetails' securityDefinitions: x-hm-authorization: description: Obtained from /hybridity/api/session type: apiKey name: x-hm-authorization in: header definitions: VnfPkgInfo: type: object required: - _links - id - onboardingState - operationalState - packageSecurityOption - usageState - vnfmInfo properties: id: description: | Identifier of the VNF package. This identifier is allocated by the NFVO. $ref: '#/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: '#/definitions/Identifier' vnfProvider: type: string description: | Provider of the VNF package and 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. vnfProductName: type: string description: | Name to identify the VNF product.Invariant for the VNF product lifetime. This information is copied from the VNFD. It shall be present after the VNF package content has been on-boarded and absent otherwise. vnfSoftwareVersion: 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. $ref: '#/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: '#/definitions/Version' compatibleSpecificationVersions: description: | Indicates which versions of the ETSI GS NFV-SOL 004 [5] specification the package complies to, as defined in the manifest of the package. Each entry shall be formatted as defined in clause 4.3.2 of ETSI GS NFV-SOL 004 [5]. $ref: '#/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: '#/definitions/Checksum' packageSecurityOption: type: string description: | Signals the security option used by the package as defined in clause 5.1 of ETSI GS NFV-SOL 004 [5]. Valid values: OPTION_1, OPTION_2 enum: - OPTION_1 - OPTION_2 signingCertificate: type: string description: | The singleton signing certificate if it is included as a file in the VNF package. softwareImages: type: array description: | Information about VNF package artifacts that are software images. This attribute shall not be present before the VNF package content is on-boarded. Otherwise, this attribute shall be present unless it has been requested to be excluded per attribute selector. items: $ref: '#/definitions/VnfPackageSoftwareImageInfo' additionalArtifacts: type: array description: | Information about VNF package artifacts contained in the VNF package that are not software images. This attribute shall not be present before the VNF package content is on-boarded. Otherwise, this attribute shall be present if the VNF package contains additional artifacts. items: $ref: '#/definitions/VnfPackageArtifactInfo' onboardingState: description: | On-boarding state of the VNF package. $ref: '#/definitions/PackageOnboardingStateType' operationalState: description: | Operational state of the VNF package. $ref: '#/definitions/PackageOperationalStateType' usageState: description: | Usage state of the VNF package. $ref: '#/definitions/PackageUsageStateType' vnfmInfo: type: array description: | Specifies VNFMs compatible with the VNF. This information is copied from the VNFD. See note 4. items: type: string userDefinedData: description: | Usage state of the VNF package. $ref: '#/definitions/VnfPkgInfoUserDefinedData' onboardingFailureDetails: description: | Failure details of current onboarding procedure. See clause 6.3 of ETSI GS NFV-SOL 013 [16] for the details of "ProblemDetails" structure. If "onboardingState" is "ERROR", this attribute shall be present and contain error information (such as failed onboarding or processing operation, affected artifact, etc.), unless it has been requested to be excluded via an attribute selector. $ref: '#/definitions/ProblemDetails' _links: $ref: '#/definitions/VnfPkgInfo__links' Identifier: type: string description: | An identifier with the intention of being globally unique. Version: type: string description: | A Version. Representation: string of variable length. Checksum: type: object required: - algorithm - hash properties: algorithm: type: string 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. hash: type: string description: | The hexadecimal value of the checksum. description: | This type represents the checksum of a VNF package or an artifact file. VnfPackageSoftwareImageInfo: type: object required: - checksum - containerFormat - createdAt - diskFormat - id - imagePath - isEncrypted - minDisk - minRam - name - provider - size - version 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: '#/definitions/IdentifierInVnfd' name: type: string description: | Name of the software image. provider: type: string description: | Provider of the software image. version: description: | Version of the software image. $ref: '#/definitions/Version' checksum: description: | Checksum of the software image file. $ref: '#/definitions/Checksum' isEncrypted: type: boolean description: | Reflects whether the image is encrypted (true) or not (false). containerFormat: type: string description: | Container format indicates whether the software image is in a file format that also contains meta-data about the actual software. Permitted values: - AKI: a kernel image format - AMI: a machine image format - ARI: a ram disk image format - BARE: the image does not have a container or meta-data envelope - DOCKER: docker container format - OVA: OVF package in a tar file - OVF: OVF container format enum: - AKI - AMI - ARI - BARE - DOCKER - OVA - OVF diskFormat: type: string description: | Disk format of a software image is the format of the underlying disk image. Permitted values: - AKI: a kernel image format - AMI: a machine image format - ARI: a ramdisk image format - ISO: an archive format for the data contents of an optical disc, such as CD-ROM - QCOW2: a common disk image format, which can expand dynamically and supports copy on write - RAW: an unstructured disk image format - VDI: a common disk image format - VHD: a common disk image format - VHDX: enhanced version of VHD format - VMDK: a common disk image format enum: - AKI - AMI - ARI - ISO - QCOW2 - RAW - VDI - VHD - VHDX - VMDK createdAt: description: | Time when this software image was created. $ref: '#/definitions/DateTime' minDisk: type: integer description: | The minimal disk for this software image in bytes. minimum: 0 minRam: type: integer description: | The minimal RAM for this software image in bytes. minimum: 0 size: type: integer description: | Size of this software image in bytes. minimum: 0 userMetadata: description: | User-defined data. $ref: '#/definitions/KeyValuePairs' imagePath: type: string description: | Path in the VNF package, which identifies the image artifact and also allows to access a copy of the image artifact. description: "This type represents an artifact contained in a VNF package which represents a software image. \n" IdentifierInVnfd: type: string description: | Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD. DateTime: type: string format: date-time description: | Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339. KeyValuePairs: type: object 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. additionalProperties: type: string VnfPackageArtifactInfo: type: object required: - checksum - isEncrypted properties: artifactPath: description: | Path which identifies the artifact and also allows to access a copy of the artifact. For an artifact contained as a file in the VNF package, this attribute shall be present, and the value of this attribute shall start with the name of the first segment in the path in the package, i.e. it shall not be prefixed by path separator characters such as "." and "/". EXAMPLE: foo/bar/m@ster For an external artifact represented as a URI in the VNF descriptor, this attribute shall be present if the artifact has been downloaded by the NFVO and shall be absent otherwise. If present, it shall contain the artifactPath under which the artifact can be obtained using the "Individual artifact in a VNF package" resource defined in clause 9.4.7. It is the responsibility of the NFVO to synthesize this path in a manner that avoids any collision of the synthesized artifact path with the paths and names of artifacts included in the package. $ref: '#/definitions/String' artifactURI: description: | URI of the artifact as defined in the VNF package manifest. Shall be present if the artifact is external to the package and shall be absent otherwise. EXAMPLE: https://example.com/m%40ster.sh $ref: '#/definitions/Uri' checksum: description: | Checksum of the artifact file. $ref: '#/definitions/Checksum' artifactClassification: type: string description: | Marks specific types of artifacts as defined in the VNF package. If none of the specific classes listed below applies, the attribute shall not be present. Valid values: - HISTORY: a history artifact as per clause 4.3.3 in ETSI GS NFV-SOL 004 [5] - TESTING: a testing artifact as per clause 4.3.4 in ETSI GS NFV-SOL 004 [5] - LICENSE: a license artifact as per clause 4.3.5 in ETSI GS NFV-SOL 004 [5] enum: - HISTORY - TESTING - LICENSE isEncrypted: type: boolean description: | Reflects whether the artifact is encrypted (true) or not (false). nonManoArtifactSetId: type: string description: | Non-MANO artifact set identifier of the non-MANO artifact set to which the artifact belongs, as defined in clause 4.3.7 of ETSI GS NFV-SOL 004 [5]. Shall be provided if the artifact is a non-MANO artifact, and shall be omitted otherwise. metadata: description: | The metadata of the artifact that are available in the VNF package, such as Content type, size, creation date, etc. $ref: '#/definitions/KeyValuePairs' description: | This type represents an artifact other than a software image which is contained in a VNF package. It shall comply with provisions defined in Table 9.5.3.3-1. String: type: string description: | A string as defined in IETF RFC 8259. Uri: type: string format: uri description: | String formatted according to IETF RFC 3986. PackageOnboardingStateType: type: string description: | The enumeration PackageOnboardingStateType shall comply with the provisions defined in Table 9.5.4.3-1. Permitted values: - CREATED: The VNF package resource has been created. - UPLOADING: The associated VNF package content is being uploaded. - PROCESSING: The associated VNF package content is being processed, e.g. validation. - ONBOARDED: The associated VNF package content is successfully on-boarded. - ERROR: There was an error during upload of the VNF package content or external artifacts, or during VNF package processing. enum: - CREATED - UPLOADING - PROCESSING - ONBOARDED - ERROR PackageOperationalStateType: type: string 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). enum: - ENABLED - DISABLED PackageUsageStateType: type: string 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\" \n" enum: - IN_USE - NOT_IN_USE VnfPkgInfoUserDefinedData: type: object properties: name: type: string tags: type: array items: $ref: '#/definitions/VnfPkgInfoUserDefinedData_tags' nfType: type: string managedBy: $ref: '#/definitions/VnfPkgInfoUserDefinedData_managedBy' localFilePath: type: string lastUpdated: type: string lastUpdateEnterprise: type: string lastUpdateOrganization: type: string lastUpdateUser: type: string creationDate: type: string creationEnterprise: type: string creationOrganization: type: string creationUser: type: string isDeleted: type: boolean vimType: type: string ProblemDetails: type: object required: - detail - status properties: type: type: string format: URI 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". title: type: string 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). status: type: integer 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. detail: type: string description: | A human-readable explanation specific to this occurrence of the problem. instance: type: string format: URI description: | A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. 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]. Link: type: object required: - href properties: href: type: string format: url 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. description: | This type represents a link to a resource. CreateVnfPkgInfoRequest: type: object properties: userDefinedData: $ref: '#/definitions/UserDefinedDataType' description: "IndividualVNF package resource creation parameters, as defined in clause 9.5.2.2. \n" UserDefinedDataType: type: object required: - name properties: name: type: string description: name in case of ns creation tags: type: array items: $ref: '#/definitions/VnfPkgInfoUserDefinedData_tags' description: | Modifications of the userDefinedData attribute in VNFDInfo 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. VnfPkgInfoModifications: properties: operationalState: description: | New value of the operational state of the on-boarded instance of the VNF package. $ref: '#/definitions/PackageOperationalStateType' userDefinedData: $ref: '#/definitions/VnfPkgInfoModifications_userDefinedData' description: | This type represents modifications to the information of a VNF package. It shall comply with the provisions defined in Table 9.5.2.3-1. Vnfd: type: object properties: description: type: string vnf: $ref: '#/definitions/Vnfd_vnf' metadata: type: object properties: {} inputs: type: object properties: {} policies: type: array items: type: object example: policies: - type: tosca.policies.nfv.SupportedVnfInterface properties: interface_name: heal interface_type: operation isEnabled: true - type: tosca.policies.nfv.VduInitialDelta properties: initial_delta: number_of_instances: 1 targets: - apache-httpd properties: {} groups: type: object example: App-Web: type: tosca.groups.nfv.PlacementGroup members: - application-server - web-server App-Apache: type: tosca.groups.nfv.PlacementGroup members: - application-server - apache-httpd Web-Apache: type: tosca.groups.nfv.PlacementGroup members: - web-server - apache-httpd properties: {} basepath: type: string volume_storages: type: array items: type: object properties: {} vdus: type: array items: $ref: '#/definitions/Vnfd_vdus' vls: type: array items: type: object properties: {} cps: type: array items: $ref: '#/definitions/Vnfd_cps' vnf_exposed: $ref: '#/definitions/Vnfd_vnf_exposed' graph: type: object example: vdu1: type: array items: type: string ECP1: type: array items: type: object properties: {} vduDependencyDetails: $ref: '#/definitions/Vnfd_vduDependencyDetails' PkgmSubscription: type: object required: - _links - callbackUri - id properties: id: description: | Identifier of this subscription resource $ref: '#/definitions/Uri' 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/PkgmNotificationsFilter' callbackUri: description: | The URI of the endpoint to send the notification to $ref: '#/definitions/Uri' _links: $ref: '#/definitions/PkgmSubscription__links' description: | This type represents a subscription related to notifications about VNF package management. PkgmNotificationsFilter: type: object properties: notificationTypes: type: array description: | Match particular notification types. Permitted values: - VnfPackageOnboardingNotification - VnfPackageChangeNotification items: $ref: '#/definitions/NotificationEnumTypes' vnfProductsFromProviders: type: array description: | If present, match VNF packages that contain VNF products from certain providers. items: $ref: '#/definitions/PkgmNotificationsFilter_vnfProductsFromProviders' 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). NotificationEnumTypes: type: string enum: - VnfPackageOnboardingNotification - VnfPackageChangeNotification PkgmSubscriptionRequest: 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/PkgmNotificationsFilter' callbackUri: description: | The URI of the endpoint to send the notification to. $ref: '#/definitions/Uri' authentication: description: | Authentication parameters to conFigure the use of authorization when sending notifications corresponding to this subscription, as defined in clause 8.3.4 of ETSI GS NFV SOL 013. This attribute shall only be present if the subscriber requires authorization of notifications. $ref: '#/definitions/SubscriptionAuthentication' description: | This type represents a subscription request related to VNF package management notifications about VNF package on boarding or changes. SubscriptionAuthentication: type: object required: - authType properties: authType: type: array 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. items: type: string paramsBasic: $ref: '#/definitions/SubscriptionAuthentication_paramsBasic' paramsOauth2ClientCredentials: $ref: '#/definitions/SubscriptionAuthentication_paramsOauth2ClientCredentials' VnfPkgInfo__links: type: object required: - packageContent - self - vnfd properties: self: description: | URI of this resource. $ref: '#/definitions/Link' vnfd: description: | Link to the VNFD resource. $ref: '#/definitions/Link' packageContent: description: | Link to the "VNF package content" resource. $ref: '#/definitions/Link' description: | Links to resources related to this resource. VnfPkgInfoUserDefinedData_tags: type: object properties: name: type: string autoCreated: type: boolean VnfPkgInfoUserDefinedData_managedBy: type: object properties: extensionSubtype: type: string extensionId: type: string extensionName: type: string version: type: string VnfPkgInfoModifications_userDefinedData: type: object properties: tags: type: array items: $ref: '#/definitions/VnfPkgInfoUserDefinedData_tags' description: | User defined data to be updated. For existing keys, the value is replaced. Vnfd_vnf_properties: type: object properties: descriptor_id: type: string provider: type: string product_name: type: string version: type: string id: type: string software_version: type: string descriptor_version: type: string flavour_id: type: string flavour_description: type: string vnfm_info: type: array items: type: string infra_requirements: type: object example: infra_requirements: node_components: isNumaConfigNeeded: true latency_sensitivity: low kernel: kernel_type: name: linux-rt version: 4.19.132-1.ph3 properties: {} Vnfd_vnf: type: object properties: properties: $ref: '#/definitions/Vnfd_vnf_properties' requirements: type: object example: External: - External - virtual_link app-ext: - app-ext - virtual_link properties: {} capabilities: type: object properties: {} metadata: type: object properties: {} interfaces: type: object example: interfaces: Vnflcm: instantiate_start: implementation: ../Artifacts/workflows/metallb_pre_instantiate.json description: Configure Metallb inputs: - name: USERNAME type: string description: K8s master username required: false default: capv format: string - name: PASSWORD type: password description: K8s master password required: false default: abc format: password - name: IP type: string description: K8s master ip address required: false default: "" format: string - name: K8S_NAMESPACE type: string description: K8S namespace for Metallb required: false default: password format: string - name: CM_FILE type: string description: The configmap file required: false default: "" format: file outputs: - name: nsCreateResult type: string description: "" default: "" - name: copyResult type: string description: "" default: "" - name: cmApplyResult type: string description: "" default: "" properties: {} nodeType: type: string node_spec: type: object properties: {} Vnfd_properties_vdu_profile: type: object properties: min_number_of_instances: type: integer max_number_of_instances: type: integer Vnfd_properties_sw_image_data: type: object properties: name: type: string version: type: string checksum: type: string container_format: type: string disk_format: type: string min_disk: type: string size: type: string Vnfd_properties_configurable_properties_additional_vnfc_configurable_properties: type: object properties: type: type: string file: type: string Vnfd_properties_configurable_properties: type: object properties: additional_vnfc_configurable_properties: $ref: '#/definitions/Vnfd_properties_configurable_properties_additional_vnfc_configurable_properties' Vnfd_properties: type: object properties: name: type: string description: type: string vdu_profile: $ref: '#/definitions/Vnfd_properties_vdu_profile' sw_image_data: $ref: '#/definitions/Vnfd_properties_sw_image_data' chartName: type: string chartVersion: type: string helmVersion: type: string configurable_properties: $ref: '#/definitions/Vnfd_properties_configurable_properties' Vnfd_configurable_properties: type: object properties: required: type: boolean propertyName: type: string description: type: string default: {} type: type: string format: type: string Vnfd_virtual_compute_virtual_cpu: type: object properties: num_virtual_cpu: {} Vnfd_virtual_compute_virtual_memory: type: object properties: virtual_mem_size: type: string Vnfd_virtual_compute_virtual_local_storage: type: object properties: size_of_storage: type: string Vnfd_virtual_compute: type: object properties: virtual_cpu: $ref: '#/definitions/Vnfd_virtual_compute_virtual_cpu' virtual_memory: $ref: '#/definitions/Vnfd_virtual_compute_virtual_memory' virtual_local_storage: type: array items: $ref: '#/definitions/Vnfd_virtual_compute_virtual_local_storage' Vnfd_vdus: type: object properties: vdu_id: type: string type: type: string description: type: string properties: $ref: '#/definitions/Vnfd_properties' configurable_properties: type: array items: $ref: '#/definitions/Vnfd_configurable_properties' virtual_storages: type: array items: type: object properties: {} dependencies: type: array items: type: object properties: {} virtual_compute: $ref: '#/definitions/Vnfd_virtual_compute' vls: type: array items: type: object example: - vl1 - vl2 properties: {} cps: type: array items: type: string example: "" artifacts: type: array items: type: object properties: {} Vnfd_properties_1_l3_address_data: type: object properties: ip_address_assignment: type: boolean floating_ip_activated: type: boolean ip_address_type: type: string number_of_ip_address: type: integer Vnfd_properties_1_address_data: type: object properties: address_type: type: string l3_address_data: $ref: '#/definitions/Vnfd_properties_1_l3_address_data' Vnfd_properties_1_protocol: type: object properties: associated_layer_protocol: type: string address_data: type: array items: $ref: '#/definitions/Vnfd_properties_1_address_data' Vnfd_properties_1: type: object properties: description: type: string layer_protocols: type: array items: type: string protocol: type: array items: $ref: '#/definitions/Vnfd_properties_1_protocol' trunk_mode: type: string Vnfd_cps: type: object properties: cp_id: type: string cpd_id: type: string description: type: string properties: $ref: '#/definitions/Vnfd_properties_1' vl_id: type: string vdu_id: type: string Vnfd_vnf_exposed_external_cps: type: object properties: key_name: type: string cpd_id: type: string Vnfd_vnf_exposed: type: object properties: external_cps: type: array items: $ref: '#/definitions/Vnfd_vnf_exposed_external_cps' forward_cps: type: array items: type: object properties: {} Vnfd_vduDependencyDetails: type: object properties: "0": type: array items: {} PkgmSubscription__links: type: object required: - self properties: self: description: | URI of this resource. $ref: '#/definitions/Link' description: | Links to resources related to this resource. PkgmNotificationsFilter_versions: type: object required: - vnfSoftwareVersion properties: vnfSoftwareVersion: description: | VNF software version to match $ref: '#/definitions/Version' vnfdVersions: type: array 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. items: $ref: '#/definitions/Version' PkgmNotificationsFilter_vnfProducts: type: object required: - vnfProductName properties: vnfProductName: type: string description: | Name of the VNF product to match. versions: type: array description: | If present, match VNF packages that contain VNF products with certain versions and a certain product name, from one particular provider. items: $ref: '#/definitions/PkgmNotificationsFilter_versions' PkgmNotificationsFilter_vnfProductsFromProviders: type: object required: - vnfProvider properties: vnfProvider: type: string description: | Name of the VNFprovider to match. vnfProducts: type: array description: | If present, match VNF packages that contain VNF products with certain product names, from one particular provider. items: $ref: '#/definitions/PkgmNotificationsFilter_vnfProducts' vnfdId: type: array description: | Match VNF packages with a VNFD identifier listed in the attribute. items: $ref: '#/definitions/Identifier' vnfPkgId: type: array description: | Match VNF packages with a package identifier listed in the attribute. May be present if the "notificationTypes" attribute contains the value "VnfPackageChangeNotification", and shall be absent otherwise. items: $ref: '#/definitions/Identifier' operationalState: type: array description: | Match VNF packages with a package identifier listed in the attribute. May be present if the "notificationTypes" attribute contains the value "VnfPackageChangeNotification", and shall be absent otherwise. items: $ref: '#/definitions/PackageOperationalStateType' usageState: type: array description: | Match particular usage state of the on-boarded VNF package. May be present if the "notificationTypes" attribute contains the value "VnfPackageChangeNotification", and shall be absent otherwise. items: $ref: '#/definitions/PackageUsageStateType' vnfmInfo: type: array description: | Match strings that specify VNFMs compatible with the VNF. See Table 9.5.2.5-1. items: type: string SubscriptionAuthentication_paramsBasic: type: object properties: userName: type: string description: | Username to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band. password: type: string description: | Password to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band. 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. SubscriptionAuthentication_paramsOauth2ClientCredentials: type: object properties: clientId: type: string 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. clientPassword: type: string 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. 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' 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. externalDocs: description: ETSI GS NFV-SOL 005 V2.7.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.07.01_60/gs_NFV-SOL005v020701p.pdf