NSDManagement.yaml 65.5 KB
Newer Older
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
            $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/PnfdInfo"
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
          $ref: "../responses/SOL005_resp.yaml#/responses/503"

    patch:
      summary: Modify the user defined data of an individual PNF descriptor resource.
        The PATCH method modifies the user defined data of an individual PNF descriptor resource.
      parameters:
        - name: Accept
          in: header
          required: true
          type: string
          description: >
            Content-Types that are acceptable for the response. This header
            field shall be present if the response is expected to have a non-empty
            message body.
        - name: Content-Type
          in: header
          required: true
          type: string
          description: >
            The MIME type of the body of the request. This header field
            shall be present if the request has a non-empty message body.
        - name: PnfdInfoModifications
            $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/PnfdInfoModifications"
            description: >
              Parameters for the modification of an individual PNF descriptor resource, as defined in clause 5.5.2.4.
      responses:
        200:
            The operation was completed successfully.
            The response body shall contain attribute modifications for an 'Individual PNF Descriptor'
            resource (see clause 5.5.2.4).
            $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/PnfdInfoModifications"
          headers:
            Content-Type:
              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:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
              maximum: 1
              minimum: 0
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
          $ref: "../responses/SOL005_resp.yaml#/responses/412"
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
    delete:
      summary: Delete an individual PNF descriptor resource.
      description: >
        The DELETE method deletes an individual PNF descriptor resource.
        An individual PNF descriptor resource can only be deleted when there is no NS instance using it or there is NSD
        referencing it.
        To delete all PNFD versions identified by a particular value of the "pnfdInvariantId" attribute, the procedure
        is to first use the GET method with filter "pnfdInvariantId" towards the PNF descriptors resource to find
        all versions of the PNFD.
        Then, the client uses the DELETE method described in this clause to delete each PNFD version individually.
      responses:
        204:
          description: >
            204 NO CONTENT

            The operation has completed successfully.
            The response body shall be empty.
        400:
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
        401:
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
        403:
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
        404:
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
        405:
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
        406:
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
        500:
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
  ###############################################################################
  # PNFD Content                                                                #
  ###############################################################################
    #ETSI GS NFV-SOL 005 V2.4.1 location: 5.4.7
    parameters:
        description: >
          Identifier of the individual PNF descriptor.
        required: true
      - name: Authorization
        description: >
          The authorization token for the request.
          Reference: IETF RFC 7235
        in: header
        required: false
        type: string
      - name: Version
        description: >
          Version of the API requested to use when responding to this request.
        in: header
        required: true
        type: string
      summary: Fetch the content of a PNFD.
        The GET method fetches the content of the PNFD.
        This method shall follow the provisions specified in the 
        Table 5.4.7.3.2-2 for URI query parameters,
        request and response data structures, and response codes.
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
          in: header
          required: true
          type: string
          enum:
            - text/plain
      responses:
        200:
            On success, the content of the PNFD is returned. The payload
            body shall contain a copy of the file representing the PNFD. 
            The Content-Type" HTTP header shall be set to "text/plain".
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
              maximum: 1
              minimum: 0
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
          description: >
            Error: The operation cannot be executed currently, due to a conflict with the state of the resource.
            Typically, this is due to the fact pnfdOnboardingState has a value different from ONBOARDED.
            The response body shall contain a ProblemDetails structure, in which the "detail" attribute
            shall convey more information about the error.
          $ref: "../responses/SOL005_resp.yaml#/responses/409"
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
      summary: Upload the content of a PNFD.
        The PUT method is used to upload the content of a PNFD.
        This resource represents the content of the individual PNF descriptor, i.e. PNFD content. 
        The client can use this resource to upload and download the content of the PNFD.        
      parameters:
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
          in: header
          required: true
          type: string
          enum:
            - text/plain
      responses:
        204:
            204 NO CONTENT
            The PNFD content was successfully uploaded and validated. 
            The response body shall be empty.
        400:
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
          description: >
            Error: The operation cannot be executed currently, due to a conflict with the state of the resource.

            Typically, this is due to the fact that the PnfdOnboardingState has a value other than CREATED.
            The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall
            convey more information about the error.
          $ref: "../responses/SOL005_resp.yaml#/responses/409"
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
  ###############################################################################
  # Subscriptions                                                               #
  ###############################################################################
    #ETSI GS NFV-SOL 005 V2.4.1 location: 5.4.8
    parameters:
      - name: Authorization
        description: >
          The authorization token for the request.
          Reference: IETF RFC 7235.
        in: header
        required: false
        type: string
      - name: Version
        description: >
          Version of the API requested to use when responding to this request.
        in: header
        required: true
        type: string

    post:
      summary: Subscribe to NSD and PNFD change notifications.
      description: >
        The POST method creates a new subscription.
        This method shall support the URI query parameters, request and response data structures,
        and response codes, as specified in the Tables 5.4.8.3.1-1 and 5.4.8.3.1-2
        of GS-NFV SOL 005. Creation of two subscription resources with the same
        callbackURI and the same filter can result in performance degradation and
        will provide duplicates of notifications to the OSS, and might make sense
        only in very rare use cases. Consequently, the NFVO may either allow creating
        a subscription resource if another subscription resource with the same filter
        and callbackUri already exists (in which case it shall return the "201
        Created" response code), or may decide to not create a duplicate subscription
        resource (in which case it shall return a "303 See Other" response code
        referencing the existing subscription resource with the same filter and
        callbackUri).

        This resource represents subscriptions.
        The client can use this resource to subscribe to notifications related to NSD
        management and to query its subscriptions.
      parameters:
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231.
          in: header
          required: true
          type: string
        - name: Content-Type
          description: >
            The MIME type of the body of the request.
            Reference: IETF RFC 7231.
          in: header
          required: true
          type: string
        - name: NsdmSubscriptionRequest
          in: body
          required: true
          schema:
            $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdmSubscriptionRequest"
            description: >
              Details of the subscription to be created, as defined in clause 5.5.2.7.
      responses:
        201:
          description: >
            201 CREATED

            The subscription was created successfully.
            The response body shall contain a representation of the created subscription resource.
            The HTTP response shall include a "Location:"
            HTTP header that points to the created subscription resource.
          schema:
            $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdmSubscription"
          headers:
            Content-Type:
              type: string
              description: >
                The MIME type of the body of the response.This header
                field shall be present if the response has a non-empty message
                body.
            WWW-Authenticate:
              type: string
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
              maximum: 1
              minimum: 0
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
        303:
          description: >
            A subscription with the same callbackURI and the same filter already exits and the policy of the NFVO
            is to not create redundant subscriptions.
            The HTTP response shall include a "Location" HTTP header that contains the resource URI of the existing
            subscription resource.
            The response body shall be empty.
          $ref: "../responses/SOL005_resp.yaml#/responses/303"
        400:
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
        401:
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
        403:
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
        404:
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
        405:
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
        406:
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
        500:
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "../responses/SOL005_resp.yaml#/responses/503"
      summary: Query multiple subscriptions.
        The GET method queries the list of active subscriptions of the
        functional block that invokes the method. It can be used e.g. for resynchronization
        after error situations. This method shall support the URI query parameters,
        request and response data structures, and response codes.
        This resource represents subscriptions. 
        The client can use this resource to subscribe to notifications related to NSD
        management and to query its subscriptions.
            Attribute filtering expression according to clause 4.3.2.
            The NFVO shall support receiving this parameter as part of the URI query string.
            The OSS/BSS may supply this parameter.
            All attribute names that appear in the NsdmSubscription and in data types referenced
            from it shall be supported by the NFVO in the filter expression.
        - name: nextpage_opaque_marker
          in: query
          required: false
          type: string
          description: >
            Marker to obtain the next page of a paged response. Shall be supported by the NFVO
            if the NFVO supports alternative 2 (paging) according to clause 4.7.2.1 for this resource.
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231.
      responses:
        200:
            The list of subscriptions was queried successfully.
            The response body shall contain the representations of
            all active subscriptions of the functional block that
            invokes the method.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
            Link:
              description: >
                Reference to other resources. Used for paging in the present document, see clause 4.7.2.1.
              type: string
              maximum: 1
              minimum: 0
            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.
              $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdmSubscription"
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
          $ref: "../responses/SOL005_resp.yaml#/responses/503"

  ###############################################################################
  # Individual Subscription                                                     #
  ###############################################################################
    #ETSI GS NFV-SOL 005 V2.4.1 location: 5.4.9    
    parameters:
        description: Identifier of this subscription.
        required: true
      - name: Authorization
        in: header
        required: false
        type: string
        description: >
          The authorization token for the request. Details are specified
          in clause 4.5.3 of GS NFV-SOL 005.
      - name: Version
        description: >
          Version of the API requested to use when responding to this request.
        in: header
        required: true
        type: string
      summary: Read an individual subscription resource.
      description: >
        This resource represents an individual subscription. 
        It can be used by the client to read and to terminate a subscription to
        notifications related to NSD management.
        The GET method retrieves information about a subscription by reading
        an individual subscription resource. 
        This resource represents an individual subscription. 
        It can be used by the client to read and to terminate a subscription to
        notifications related to NSD management.
      parameters:
        - name: Accept
          in: header
          required: true
          type: string
          description: >
            Content-Types that are acceptable for the response. This header
            field shall be present if the response is expected to have a non-empty
            message body.
      responses:
        200:
            200 OK

            The operation has completed successfully.
            The response body shall contain a representation of
            the subscription resource.            
            $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdmSubscription"
              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:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
              maximum: 1
              minimum: 0
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
          $ref: "../responses/SOL005_resp.yaml#/responses/503"

      summary: Terminate Subscription
      description: >
        This resource represents an individual subscription. 
        It can be used by the client to read and to terminate a subscription to
        notifications related to NSD management.
        The DELETE method terminates an individual subscription.
        This method shall support the URI query parameters, request and 
        response data structures, and response codes, as
        specified in the Table 5.4.9.3.3-2.      
        - name: Authorization
          in: header
          required: false
          type: string
          description: >
            The authorization token for the request.
            Details are specified in clause 4.5.3 of GS NFV-SOL 005.
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
      responses:
        204:
            204 NO CONTENT
            The subscription resource was deleted successfully.
            The response body shall be empty.
          $ref: "../responses/SOL005_resp.yaml#/responses/400"
          $ref: "../responses/SOL005_resp.yaml#/responses/401"
          $ref: "../responses/SOL005_resp.yaml#/responses/403"
          $ref: "../responses/SOL005_resp.yaml#/responses/404"
          $ref: "../responses/SOL005_resp.yaml#/responses/405"
          $ref: "../responses/SOL005_resp.yaml#/responses/406"
          $ref: "../responses/SOL005_resp.yaml#/responses/500"
          $ref: "../responses/SOL005_resp.yaml#/responses/503"