---
swagger: "2.0"
info:
  description: |
    SOL005 - NSD 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 - NSD Management Interface
  contact:
    name: NFV-SOL WG
  license:
    name: ETSI Forge copyright notice
    url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
basePath: /telco/api/nsd/v2
schemes:
- http
- https
consumes:
- application/json
produces:
- application/json
paths:
  /ns_descriptors:
    get:
      summary: Query information about multiple NS descriptor resources.
      description: |
        The GET method queries information about multiple NS descriptor resources.
      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 parameter. All attribute names that appear in the NsdInfo and in data types referenced from it shall be supported by the NFVO in the filter expression.
        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 VNFM shall support this parameter. The following attributes shall be excluded from the NsdInfo structure in the response body if this parameter is provided, or none of the parameters "all_fields," "fields", "exclude_fields", "exclude_default" are provided:
            - userDefinedData
            - 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 NS descriptors has been queried successfully. The response body shall contain in an array the representations of zero or more NS descriptors, as defined in clause 5.5.2.2. If the NFVO supports alternative 2 (paging) according to clause 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.
            Link:
              type: string
              description: |
                Reference to other resources. Used for paging in the present document, see clause 4.7.2.1.
          schema:
            type: array
            items:
              $ref: '#/definitions/NsdInfo'
        "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'
        "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'
    post:
      summary: Create a new NS descriptor resource.
      description: |
        The POST method is used to create a new NS descriptor resource.
      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: CreateNsdInfoRequest
        required: true
        schema:
          $ref: '#/definitions/CreateNsdInfoRequest'
      responses:
        "201":
          description: |
            201 CREATED
            Shall be returned when a new "Individual NS descriptor" resource and the associated NS descriptor identifier has been created successfully. The response body shall contain a representation of the created NS descriptor
             resource, as defined in clause 5.5.2.2.
            The HTTP response shall include a "Location" HTTP header that contains the resource URI of the created NS descriptor resource.
          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/NsdInfo'
        "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'
        "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'
  /ns_descriptors/{nsdInfoId}:
    get:
      summary: Read information about an individual NS descriptor resource.
      description: |
        The GET method reads information about an individual NS descriptor.
      parameters:
      - name: nsdInfoId
        in: path
        description: |
          Identifier of the individual NS descriptor resource.
        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 the individual NS descriptor has been read successfully. The response body shall contain a representation of the individual NS descriptor, as defined in clause 5.5.2.2.
          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/NsdInfo'
        "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'
        "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'
    delete:
      summary: Delete an individual NS descriptor resource.
      description: |
        The DELETE method deletes an individual NS descriptor resource. An individual NS descriptor resource can only be deleted when there is no NS instance using it (i.e. usageState = NOT_IN_USE) and has been disabled already (i.e. operationalState = DISABLED). Otherwise, the DELETE method shall fail.
      parameters:
      - name: nsdInfoId
        in: path
        description: |
          Identifier of the individual NS descriptor resource.
        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
            Shall be returned when the operation has completed successfully. The response body shall be empty.
          headers:
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              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'
        "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'
    patch:
      summary: Modify the operational state and/or the user defined data of an individual NS descriptor resource.
      description: |
        The PATCH method modifies the operational state and/or user defined data of an individual NS descriptor resource. This method can be used to: 1) Enable a previously disabled individual NS descriptor resource, allowing again its use for instantiation of new network service with this descriptor. The usage state (i.e. "IN_USE/NOT_IN_USE") shall not change as a result. 2) Disable a previously enabled individual NS descriptor resource, preventing any further use for instantiation of new network service(s) with this descriptor. The usage state (i.e. "IN_USE/NOT_IN_USE") shall not change as a result. 3) Modify the user defined data of an individual NS descriptor resource.
      parameters:
      - name: nsdInfoId
        in: path
        description: |
          Identifier of the individual NS descriptor resource.
        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: NsdInfoModifications
        required: true
        schema:
          $ref: '#/definitions/NsdInfoModifications'
      - 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 accepted and completed successfully. The response body shall contain attribute modifications for an 'Individual NS Descriptor' resource (see clause 5.5.2.6).
          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/NsdInfoModifications'
        "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'
        "412":
          description: |
            412 PRECONDITION FAILED
            Error: A precondition given in an HTTP request header is not fulfilled. Typically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. The response body should contain a ProblemDetails structure, in which the "detail" attribute should convey more information about the error.
          headers:
            Content-Type:
              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'
  /ns_descriptors/{nsdInfoId}/nsd_content:
    get:
      summary: Fetch the content of a NSD.
      description: "The GET method fetches the content of the NSD archive. The NSD archive is implemented as a single zip file. The content of the NSD archive is provided as onboarded, i.e. depending on the security option used, 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 007.\nNOTE:\tInformation about the applicable security option can be\n        obtained by evaluating the \"archiveSecurityOption\"\n        attribute in the \"nsdInfo\" structure.\n\nThis method shall follow the provisions specified in the T ables 5.4.4.3.2-1 and 5.4.4.3.2-2 for URI query parameters, request and response data structures, and response codes.\n"
      parameters:
      - name: nsdInfoId
        in: path
        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.
        required: true
        type: string
        enum:
        - text/plain
        - application/zip
      - name: Range
        in: header
        description: |
          The request may contain a "Range" HTTP header to obtain single range of bytes from the NSD archive. This can be used to continue an aborted transmission.
          If the Range header is present in the request and the NFVO does not support responding to range requests with a 206 response, it shall return a 200 OK response instead as defined below.
        required: false
        type: string
      responses:
        "200":
          description: |
            200 OK
            Shall be returned when the content of the NSD has been read successfully. The payload body shall contain a copy of the ZIP file that contains the NSD file structure. The "Content-Type" HTTP header shall be set to "application/zip".
          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'
        "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'
    put:
      summary: Upload the content of a NSD.
      description: |
        The PUT method is used to upload the content of an NSD archive. The NSD to be uploaded is implemented as a single ZIP file as defined in clause 5.4.4.3.2. The "Content-Type" HTTP header in the PUT request shall be set to "application/zip". This method shall follow the provisions specified in the Tables 5.4.4.3.3-1 and 5.4.4.3.3-2 for URI query parameters, request and response data structures, and response codes.
      consumes:
      - multipart/form-data
      parameters:
      - name: nsdInfoId
        in: path
        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: Content-Type
        in: header
        description: |
          The payload body contains a ZIP file that represents the NSD archive, as specified above. The request shall set the "Content-Type" HTTP header to "application/zip".
        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 NSD archive has been accepted for uploading, but the processing has not been completed. It is expected to take some time for processing (asynchronous mode). The response body shall be empty. The API consumer can track the uploading progress by receiving the "NsdOnBoardingNotification" and "NsdOnBoardingFailureNotification" from the NFVO or by reading the status of the individual NS descriptor resource using the GET method.
          headers:
            Content-Type:
              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.
        "204":
          description: |
            204 NO CONTENT
            The NSD content successfully uploaded and validated (synchronous mode). The response body shall be empty.
          headers:
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            Version:
              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'
        "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'
  /ns_descriptors/{nsdInfoId}/nsd:
    get:
      description: "The GET method reads the content of the NSD within an NSD archive. The NSD can be implemented as a single file or as a collection of multiple files. If the NSD is implemented in the form of multiple files, a ZIP file embedding these files shall be returned. If the NSD is implemented as a single file, either that file or a ZIP file embedding that file shall be returned. The selection of the format is controlled by the \"Accept\" HTTP header passed in the GET request:\n\t* If the \"Accept\" header contains only \"text/plain\" and the NSD is implemented as a single file,\n    the file shall be returned; otherwise, an error message shall be returned.\n\t* If the \"Accept\" header contains only \"application/zip\", the single file or\n    the multiple files that make up the NSD shall be returned embedded in a ZIP file.\n\t* If the \"Accept\" header contains both \"text/plain\" and \"application/zip\", it is up\n    to the NFVO to choose the format to return for a single-file NSD; for a multi-file NSD,\n    a ZIP file shall be returned.\nThe default format of the ZIP file shall be the one specified in ETSI GS NFV-SOL 007 where only the YAML files representing the NSD, and information necessary to navigate the ZIP file and to identify the file that is the entry point for parsing the NSD and (if requested) further security information are included. This means that the content of the ZIP archive shall contain the following files from the NSD archive:\n\t* TOSCA.meta (if available in the NSD archive);\n\t* the main service template (either as referenced from TOSCA.meta or available as a\n    file with the extension \".yml\" or \".yaml\" from the root of the archive);\n\t* every component of the NSD referenced (recursively) from the main service template;\n\t* the related security information, if the \"include_signatures\" URI parameter is provided, as follows:\n-\tthe manifest file; -\tthe singleton certificate file in the root of the NSD archive (if available in the NSD archive); -\tthe signing certificates of the individual files included in the ZIP archive\n    (if available in the NSD archive);\n-\tthe signatures of the individual files (if available in the NSD archive). This method shall follow the provisions specified in the Tables 5.4.4a.3.2-1 and 5.4.4a.3.2-2 for URI query parameters, request and response data structures, and response codes.\n"
      parameters:
      - name: nsdInfoId
        in: path
        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: include_signatures
        in: query
        description: |
          If this parameter is provided, the NFVO shall include in the ZIP file the security information as specified above. This URI query parameter is a flag, i.e. it shall have no value. The NFVO shall support this parameter.
        required: false
        type: string
      - name: Accept
        in: header
        description: |
          The request shall contain the appropriate entries in the "Accept" HTTP header as defined above.
        required: true
        type: string
        enum:
        - text/plain
        - application/zip
      responses:
        "200":
          description: |
            200 OK
            Shall be returned when the content of the NSD has been read successfully. The payload body shall contain a copy of the file representing the NSD or a ZIP file that contains the file or multiple files representing the NSD, as specified above. The "Content-Type" HTTP header shall be set according to the format of the returned file. It shall be set to "text/plain" for a YAML file.
          headers:
            Content-Type:
              type: string
              description: The MIME type of the body of the response.
            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'
        "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'
        "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'
  /ns_descriptors/{nsdInfoId}/manifest:
    get:
      summary: Fetch the content of the manifest in an NSD archive.
      description: |
        The GET method reads the content of the manifest file within an NSD archive. This method shall follow the provisions specified in the Tables 5.4.4b.3.2-1 and 5.4.4b.3.2-2 for URI query parameters, request and response data structures, and response codes.
      parameters:
      - name: nsdInfoId
        in: path
        description: |
          Identifier of the individual NS descriptor. This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response to a POST request creating a new NS descriptor 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.
        required: true
        type: string
        enum:
        - text/plain
        - application/zip
      - name: include_signatures
        in: query
        description: |
          If this parameter is provided, the NFVO shall return the manifest and related security information (signature and certificate) either in a single text file if the signature and certificate are included in the manifest file, or in a zip file containing the manifest and the certificate file, if this is provided as a separate file in the NSD archive. If this parameter is not given, the NFVO shall provide only a copy of the manifest file, as onboarded. If the security information is included in the onboarded manifest, it shall also be included in the returned copy. This URI query parameter is a flag, i.e. it shall have no value. The NFVO shall support this parameter.
        required: false
        type: string
      responses:
        "200":
          description: "200 OK\nShall be returned when the content of the manifest file has been read successfully.\nIf the \"include_signatures\" URI query parameter was absent in the request, or if the manifest file has all security-related information embedded (i.e. there is no separate certificate file), the payload body shall contain a copy of the manifest file of the NSD archive, and the \"Content-Type\" HTTP header shall be set to \"text/plain\". If the \"include_signatures\" URI query parameter was present in the related request and the manifest file does not have all the security-related information embedded (i.e. there is a separate certificate file), the \"Content-Type\" HTTP header shall be set to \"application/zip\" and the payload body shall contain a ZIP archive which includes: -\ta copy of the manifest file of the NSD archive; -\ta copy of the related individual certificate file.\n"
          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'
        "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'
        "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'
  /subscriptions:
    get:
      summary: Query multiple subscriptions.
      description: |
        TThe GET method queries the list of active subscriptions of the functional block that invokes the method. It can be used e.g. for resynchronization after error situations. This method shall support the URI query parameters, request and response data structures, and response codes, as specified in the Tables 5.4.8.3.2-1 and 5.4.8.3.2-2.
      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: |
          AAttribute filtering expression according to clause 5.2 of ETSI GS NFV SOL 013. The NFVO shall support receiving this parameter as part of the URI query string. the OSS/BSS may supply this parameter. All attribute names that appear in the NsdmSubscription and in data types referenced from it shall be supported by the NFVO in the filter expression.
        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 NSD management subscriptions as defined in clause 5.5.2.8. If the "filter" URI parameter was supplied in the request, the data in the response body shall have been transformed according to the rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013. If the NFVO supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV SOL 013 for this resource, inclusion of the Link HTTP header in this response shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV SOL 013.
          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.
            Link:
              type: string
              description: |
                Reference to other resources. Used for paging in the present document, see clause 4.7.2.1.
          schema:
            type: array
            description: |
              The list of subscriptions was queried successfully. The response body shall contain in an array the representations of all active subscriptions of the functional block that invokes the method, i.e., zero or more representations of NSD management subscriptions as defined in clause 5.5.2.8. If the NFVO supports alternative 2 (paging) according to clause 4.7.2.1 for this resource, inclusion of the Link HTTP header in this response shall follow the provisions in clause 4.7.2.3.
            items:
              $ref: '#/definitions/NsdmSubscription'
        "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'
        "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'
    post:
      summary: Subscribe to NSD and PNFD change notifications.
      description: |
        The POST method creates a new subscription. This method shall support the URI query parameters, request and response data structures, and response codes, as specified in the Tables 5.4.8.3.1-1 and 5.4.8.3.1-2. Creation of two subscription resources with the same callback URI and the same filter can result in performance degradation and will provide duplicates of notifications to the OSS, and might make sense only in very rare use cases. Consequently, the NFVO may either allow creating a subscription resource if another subscription resource with the same filter and callback URI already exists (in which case it shall return the "201 Created" response code), or may decide to not create a duplicate subscription resource (in which case it shall return a "303 See Other" response code referencing the existing subscription resource with the same filter and callbackUricallback URI).
      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: NsdmSubscriptionRequest
        required: true
        schema:
          $ref: '#/definitions/NsdmSubscriptionRequest'
      responses:
        "201":
          description: |
            201 CREATED
            Shall be returned when the subscription has been created successfully. A representation of the created "Individual subscription" resource shall be returned in the response body, as defined in clause 5.5.2.8. The HTTP response shall include a "Location:" HTTP header that points to the created "Individual subscription" resource.
          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/NsdmSubscription'
        "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'
        "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'
        "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'
  /subscriptions/{subscriptionId}:
    get:
      summary: Read an individual subscription resource.
      description: |
        This resource represents an individual subscription.  It can be used by the client to read and to terminate a subscription to notifications related to NSD management.
        The GET method retrieves information about a subscription by reading an individual subscription resource.  This resource represents an individual subscription.  It can be used by the client to read and to terminate a subscription to notifications related to NSD management.
      parameters:
      - name: 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. Details are specified in clause 4.5.3 of GS NFV-SOL 005.
        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. This header field shall be present if the response is expected to have a non-empty message body.
        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 subscription resource.
          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/NsdmSubscription'
        "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'
        "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'
    delete:
      summary: Terminate Subscription
      description: "This resource represents an individual subscription.  It can be used by the client to read and to terminate a subscription to notifications related to NSD management.\nThe DELETE method terminates an individual subscription. This method shall support the URI query parameters, request and  response data structures, and response codes, as specified in the Table 5.4.9.3.3-2.      \n"
      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. Details are specified in clause 4.5.3 of GS NFV-SOL 005.
        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
            Shall be returned when the "Individual subscription" resource has been deleted successfully. The response body shall be empty.
          headers:
            WWW-Authenticate:
              type: string
              description: |
                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
            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'
        "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'
definitions:
  NsdInfo:
    type: object
    required:
    - _links
    - id
    - nsdOnboardingState
    - nsdOperationalState
    - nsdUsageState
    properties:
      id:
        description: |
          Identifier of the on boarded individual NS descriptor resource. This identifier is allocated by the NFVO.
        $ref: '#/definitions/Identifier'
      nsdId:
        description: |
          This identifier, which is allocated by the NSD designer, identifies the NSD in a globally unique way. It is copied from the NSD content and shall be present after the NSD content is on-boarded.
        $ref: '#/definitions/Identifier'
      nsdName:
        type: string
        description: |
          Name of the on boarded NSD. This information is copied from the NSD content and shall be present after the NSD content is on-boarded.
      nsdVersion:
        description: |
          Version of the on-boarded NSD. This information is copied from the NSD content and shall be present after the NSD content is on-boarded.
        $ref: '#/definitions/Version'
      nsdDesigner:
        type: string
        description: |
          Designer of the on-boarded NSD. This information is copied from the NSD content and shall be present after the NSD content is on-boarded.
      nsdInvariantId:
        description: |
          This identifier, which is allocated by the NSD designer, identifies an NSD in a version independent manner. This information is copied from the NSD content and shall be present after the NSD content is on-boarded.
        $ref: '#/definitions/Identifier'
      vnfPkgIds:
        type: array
        description: |
          Identifies the VNF package for the VNFD referenced by the on-boarded NS descriptor resource.
        items:
          $ref: '#/definitions/Identifier'
      pnfdInfoIds:
        type: array
        description: |
          Identifies the PnfdInfo element for the PNFD referenced by the on-boarded NS descriptor resource.
        items:
          $ref: '#/definitions/Identifier'
      nestedNsdInfoIds:
        type: array
        description: |
          Identifies the NsdInfo element for the nested NSD referenced by the on-boarded NS descriptor resource.
        items:
          $ref: '#/definitions/Identifier'
      archiveSecurityOption:
        type: string
        description: |
          Signals the security option used by the NSD archive as defined in clause 5.1 of ETSI GS NFV SOL 007. Valid values: OPTION_1, OPTION_2
        enum:
        - OPTION_1
        - OPTION_2
      signingCertificate:
        description: |
          The singleton signing certificate if it is included as a file in the NSD archive.
        $ref: '#/definitions/String'
      artifacts:
        type: array
        description: |
          Information about NSD archive artifacts contained in the NSD archive. This attribute shall not be present before the NSD archive content is on-boarded. Otherwise, this attribute shall be present if the NSD archive contains artifacts.
        items:
          $ref: '#/definitions/NsdArchiveArtifactInfo'
      nsdOnboardingState:
        description: |
          On boarding state of the individual NS descriptor resource.
        $ref: '#/definitions/NsdOnboardingStateType'
      onboardingFailureDetails:
        description: |
          Failure details of current on boarding procedure. See clause 6.3 of ETSI GS NFV-SOL 013 for the details of "ProblemDetails" structure. It shall be present when the "nsdOnboardingState" attribute is "ERROR", i.e. the uploading or processing has failed in NFVO, unless it has been requested to be excluded via an attribute selector.
        $ref: '#/definitions/ProblemDetails'
      nsdOperationalState:
        description: |
          Operational state of the individual NS descriptor resource. This attribute can be modified with the PATCH method.
        $ref: '#/definitions/NsdOperationalStateType'
      nsdUsageState:
        description: |
          Usage state of the individual NS descriptor resource.
        $ref: '#/definitions/NsdUsageStateType'
      userDefinedData:
        description: |
          User defined data for the individual NS descriptor resource. This attribute can be modified with the PATCH method.
        $ref: '#/definitions/KeyValuePairs'
      _links:
        $ref: '#/definitions/NsdInfo__links'
    description: |
      This type represents a response for the query NSD operation.
  Identifier:
    type: string
    description: |
      An identifier with the intention of being globally unique.
  Version:
    type: string
    description: |
      A Version. Representation: string of variable length.
  String:
    type: string
    description: |
      A string as defined in IETF RFC 8259.
  NsdArchiveArtifactInfo:
    type: object
    required:
    - artifactPath
    - checksum
    properties:
      artifactPath:
        description: |
          Path in the NSD archive, which identifies the artifact and also allows to access a copy of the artifact.
        $ref: '#/definitions/String'
      checksum:
        description: |
          Checksum of the artifact file.
        $ref: '#/definitions/Checksum'
      metadata:
        description: |
          The metadata of the artifact that are available in the NSD Archive, such as Content type, size, creation date, etc.
        $ref: '#/definitions/KeyValuePairs'
    description: |
      This type represents an artifact contained in an NSD archive. It shall comply with provisions defined in Table 5.5.3.5-1.
  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.
  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
  NsdOnboardingStateType:
    type: string
    description: |
      The enumeration NsdOnboardingStateType shall comply with the provisions defined in Table 5.5.4.5-1 of GS NFV-SOL 005. It indicates the on-boarding state of the NSD. CREATED = The NSD information object has been created. UPLOADING = The associated NSD content is being uploaded. PROCESSING = The associated NSD content is being processed, e.g. validation. ONBOARDED = The associated NSD content has been on-boarded. ERROR = There was an error during upload or processing of the NSD content.
    enum:
    - CREATED
    - UPLOADING
    - PROCESSING
    - ONBOARDED
    - ERROR
  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].
  NsdOperationalStateType:
    type: string
    description: |
      The enumeration NsdOperationalStateType shall comply with the provisions defined in Table 5.5.4.3-1 of GS NFV_SOL 005. It indicates the operational state of the resource. ENABLED = The operational state of the resource is enabled. DISABLED = The operational state of the resource is disabled.
    enum:
    - ENABLED
    - DISABLED
  NsdUsageStateType:
    type: string
    description: |
      The enumeration NsdUsageStateType shall comply with the provisions defined in Table 5.5.4.4-1 of GS NFV-SOL 005. It indicates the usage state of the resource.IN_USE = The resource is in use.NOT_IN_USE = The resource is not-in-use.
    enum:
    - IN_USE
    - NOT_IN_USE
  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.
  CreateNsdInfoRequest:
    type: object
    properties:
      userDefinedData:
        $ref: '#/definitions/KeyValuePairs'
    description: |
      This type creates a completely new NS descriptor resource.
  NsdInfoModifications:
    type: object
    properties:
      nsdOperationalState:
        $ref: '#/definitions/NsdOperationalStateType'
      userDefinedData:
        $ref: '#/definitions/UserDefinedDataType'
    description: |
      This type represents attribute modifications for an individual NS descriptor resource based on the NsdInfo data type. The attributes of NsdInfo that can be modified are included in the NsdInfoModifications data type.NOTE: At least one of the attributes - nsdOperationalState and userDefinedData - shall be present.
  UserDefinedDataType:
    type: object
    required:
    - name
    properties:
      name:
        type: string
        description: name in case of ns creation
    description: |
      Modifications of the userDefinedData attribute in NsdInfo data type. See note. If present, these modifications shall be applied according to the rules of JSON Merge PATCH (see IETF RFC 7396 [25]). NOTE- At least one of the attributes - nsdOperationalState and userDefinedData - shall be present.
  NsdmSubscription:
    type: object
    required:
    - _links
    - callbackUri
    - id
    properties:
      id:
        description: |
          Identifier of this subscription resource.
        $ref: '#/definitions/Identifier'
      filter:
        description: |
          Filter settings for this subscription, to define the subset of all notifications this subscription relates to. A particular notification is sent to the subscriber if the filter matches, or if there is no filter.
        $ref: '#/definitions/NsdmNotificationsFilter'
      callbackUri:
        description: |
          The URI of the endpoint to send the notification to.
        $ref: '#/definitions/Uri'
      _links:
        $ref: '#/definitions/NsdmSubscription__links'
    description: |
      This type represents a subscription related to notifications about NSD management.
  NsdmNotificationsFilter:
    type: object
    properties:
      notificationTypes:
        type: array
        description: |
          Match particular notification types. Permitted values: NsdOnBoardingNotification, NsdOnboardingFailureNotification, NsdChangeNotification, NsdDeletionNotification PnfdOnBoardingNotification, PnfdOnBoardingFailureNotification, PnfdDeletionNotification. The permitted values of the "notificationTypes" ] attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.
        items:
          $ref: '#/definitions/NotificationEnumTypes'
      nsdInfoId:
        type: array
        description: |
          Match the NsdInfo identifier which is allocated by the NFVO.
        items:
          $ref: '#/definitions/Identifier'
      nsdId:
        type: array
        description: |
          Match the NSD identifier, which is allocated by the NSD designer.
        items:
          $ref: '#/definitions/Identifier'
      nsdName:
        type: array
        description: |
          Match the name of the on boarded NSD.
        items:
          $ref: '#/definitions/String'
      nsdVersion:
        type: array
        description: |
          Match the NSD version listed as part of this attribute.
        items:
          $ref: '#/definitions/Version'
      nsdDesigner:
        type: array
        description: |
          Match the NSD designer of the on-boarded NSD.
        items:
          $ref: '#/definitions/String'
      nsdInvariantId:
        type: array
        description: |
          Match the NSD invariant identifier which is allocated by the NSD designer and identifies an NSD in a version independent manner.
        items:
          $ref: '#/definitions/Identifier'
      vnfPkgIds:
        type: array
        description: |
          Match VNF packages with a package identifier listed in the attribute.
        items:
          $ref: '#/definitions/Identifier'
      pnfdInfoIds:
        type: array
        description: |
          Match the PnfdInfo identifier for the PNFD referenced by the on-boarded NSD.
        items:
          $ref: '#/definitions/Identifier'
      nestedNsdInfoIds:
        type: array
        description: |
          Match the NsdInfo identifier for the nested NSD referenced by the on-boarded NSD.
        items:
          $ref: '#/definitions/Identifier'
      nsdOnboardingState:
        type: array
        description: |
          Match particular on-boarding state of the NSD.
        items:
          $ref: '#/definitions/NsdOnboardingStateType'
      nsdOperationalState:
        type: array
        description: |
          Match particular operational state of the on-boarded NSD.
        items:
          $ref: '#/definitions/NsdOperationalStateType'
      nsdUsageState:
        type: array
        description: |
          Match particular usage state of the on-boarded NSD.
        items:
          $ref: '#/definitions/NsdUsageStateType'
      pnfdId:
        type: array
        description: |
          Match the PNFD identifier which is copied from the PNFD content.
        items:
          $ref: '#/definitions/Identifier'
      pnfdName:
        type: array
        description: |
          Match the name of the on-boarded PNFD.
        items:
          $ref: '#/definitions/String'
      pnfdVersion:
        type: array
        description: |
          Match the PNFD designer of the on-boarded PNFD.
        items:
          $ref: '#/definitions/Version'
      pnfdProvider:
        type: array
        description: |
          Match the provider of the on-boarded PNFD.
        items:
          $ref: '#/definitions/String'
      pnfdInvariantId:
        type: array
        description: |
          Match the PNFD in a version independent manner.
        items:
          $ref: '#/definitions/Identifier'
      pnfdOnboardingState:
        type: array
        description: |
          Match particular on-boarding state of the PNFD.
        items:
          $ref: '#/definitions/PnfdOnboardingStateType'
      pnfdUsageState:
        type: array
        description: |
          Match the usage state of the individual PNF descriptor resource.
        items:
          $ref: '#/definitions/PnfdUsageStateType'
    description: |
      This type represents a subscription filter related to notifications about NSD management. It shall comply with the provisions defined in Table 5.5.3.2-1 of GS NFV-SOL 005. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical "and" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical "or" between the values of one filter attribute).
      NOTE 1: The attributes "nsdId" and "nsdInfoId" are alternatives to reference to a particular NSD in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.
      NOTE 2: The attributes "pnfdId" and "pnfdInfoId" are alternatives to reference to a particular PNFD in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.
  NotificationEnumTypes:
    type: string
    enum:
    - NsdOnBoardingNotification
    - NsdOnboardingFailureNotification
    - NsdChangeNotification
    - NsdDeletionNotification
    - PnfdOnBoardingNotification
    - PnfdOnBoardingFailureNotification
    - PnfdDeletionNotification
  PnfdOnboardingStateType:
    type: string
    description: |
      The enumeration PnfdOnboardingStateType shall comply with the provisions defined in Table 5.5.4.6-1 of GS-NFV SOL005. It indicates the on-boarding state of the individual PNF descriptor resource. CREATED = The PNF descriptor resource has been created. UPLOADING = The associated PNFD content is being uploaded. PROCESSING = The associated PNFD content is being processed, e.g. validation. ONBOARDED = The associated PNFD content has been on-boarded. ERROR = There was an error during upload or processing of the associated PNFD content.
    enum:
    - CREATED
    - UPLOADING
    - PROCESSING
    - ONBOARDING
    - ERROR
  PnfdUsageStateType:
    type: string
    description: |
      The enumeration PnfdUsageStateType shall comply with the provisions defined in Table 5.5.4.7-1 of GS NFV-SOL005. It indicates the usage state of the resource.IN-USE = The resource is in use.NOT_IN_USE = The resource is not-in-use.
    enum:
    - IN_USE
    - NOT_IN_USE
  Uri:
    type: string
    format: uri
    description: |
      String formatted according to IETF RFC 3986.
  NsdmSubscriptionRequest:
    type: object
    required:
    - callbackUri
    properties:
      filter:
        $ref: '#/definitions/NsdmNotificationsFilter'
      callbackUri:
        type: string
        description: |
          The URI of the endpoint to send the notification to.
      authentication:
        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 notifications about NSD management.
  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'
  NsdInfo__links:
    type: object
    required:
    - nsd_content
    - self
    properties:
      self:
        description: |
          URI of this resource.
        $ref: '#/definitions/Link'
      nsd_content:
        description: |
          Link to the NSD content resource.
        $ref: '#/definitions/Link'
    description: |
      Links to resources related to this resource.
  NsdmSubscription__links:
    type: object
    properties:
      self:
        $ref: '#/definitions/Link'
    description: |
      Links to resources related to this resource.
  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
