NSDManagement.yaml 52.2 KB
Newer Older
          The authorization token for the request.
          Reference: IETF RFC 7235
        in: header
        required: false
      responses:
        200:
          description: >  
            200 OK
            
            On success, the content of the PNFD is returned. The payload
            body shall contain a copy of the file representing the PNFD. 
            The Content-Type" HTTP header shall be set to "text/plain".
        206:
          $ref: "responses/SOL005_resp.yaml#/responses/206"
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400-attr-selector"
        401:
          $ref: "responses/SOL005_resp.yaml#/responses/401"
        403:
          $ref: "responses/SOL005_resp.yaml#/responses/403"
        404:
          $ref: "responses/SOL005_resp.yaml#/responses/404"
        405:
          $ref: "responses/SOL005_resp.yaml#/responses/405"
        406:
          $ref: "responses/SOL005_resp.yaml#/responses/406"
        409:
          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.
        412:
          $ref: "responses/SOL005_resp.yaml#/responses/412"         
        416:
          $ref: "responses/SOL005_resp.yaml#/responses/416"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"            
      summary: "Upload the content of a PNFD."
      description: >  
        "The PUT method is used to upload the content of a PNFD. This method
        shall follow the provisions specified in the Tables 5.4.7.3.3-1 and 5.4.7.3.3-2
        of GS NFV-SOL 005for URI query parameters, request and response data structures,
        and response codes."
      parameters:
      - name: Accept
        description: >
          Content-Types that are acceptable for the response.
        in: header
        required: true
        type: string
        enum: 
          - text/plain
      - name: Authorization
        description: >
          The authorization token for the request.
          Reference: IETF RFC 7235
        in: header
        required: false
        type: string
      responses:
        204:
          description: >  
            204 No Content
            
            The PNFD content was successfully uploaded and validated. 
            The response body shall be empty.
        206:
          $ref: "responses/SOL005_resp.yaml#/responses/206"
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400-attr-selector"
        401:
          $ref: "responses/SOL005_resp.yaml#/responses/401"
        403:
          $ref: "responses/SOL005_resp.yaml#/responses/403"
        404:
          $ref: "responses/SOL005_resp.yaml#/responses/404"
        405:
          $ref: "responses/SOL005_resp.yaml#/responses/405"
        406:
          $ref: "responses/SOL005_resp.yaml#/responses/406"
          description: >
            409 Conflict
            
            Error: The operation cannot be executed currently,
            due to a conflict with the state of the resource.
            Typically, this is due to the fact that the
            PnfdOnboardingState has a value other than
            CREATED.
            The response body shall contain a ProblemDetails
            structure, in which the "detail" attribute shall convey
            more information about the error..
        412:
          $ref: "responses/SOL005_resp.yaml#/responses/412"         
        416:
          $ref: "responses/SOL005_resp.yaml#/responses/416"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"
    parameters:
    - name: "pnfdInfoId"
      description: >
        Identifier of the individual PNF descriptor.
      in: "path"
      required: true
      type: "string"
###############################################################################
# Subscriptions                                                               #
###############################################################################       
  '/subscriptions':
      summary: "Query multiple subscriptions."
      description: >  
        "The GET method queries the list of active subscriptions of the
        functional block that invokes the method. It can be used e.g. for resynchronization
        after error situations. This method shall support the URI query parameters,
        request and response data structures, and response codes, as specified in
        the Tables 5.4.8.3.2-1 and 5.4.8.3.2-2 of GS NFV-SOL 005."
        - name: "filter"
          in: "query"
          required: false
          type: "string"
          description: >  
            "Attribute-based filtering parameters according to clause 4.3.2.
            The NFVO shall support receiving filtering parameters as part of the URI query string. The
            OSS/BSS may supply filtering parameters.
            All attribute names that appear in the VnfPkgInfo and in data types referenced from it shall
            be supported in attribute-based filtering parameters."
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
        - name: Authorization
          description: >
            The authorization token for the request.
            Reference: IETF RFC 7235
          in: header
          required: false
          type: string            
      responses:
        200:
          description: >
            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
            Location:
              description: The resource URI of the created NS instance
              type: string
              format: url
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              type: string
              maximum: 1
              minimum: 0            
          schema:
            type: "array"
            description: >  
              "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."
            items:
              $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdmSubscription"
          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.
        206:
          $ref: "responses/SOL005_resp.yaml#/responses/206"
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400-attr-selector"
        401:
          $ref: "responses/SOL005_resp.yaml#/responses/401"
        403:
          $ref: "responses/SOL005_resp.yaml#/responses/403"
        404:
          $ref: "responses/SOL005_resp.yaml#/responses/404"
        405:
          $ref: "responses/SOL005_resp.yaml#/responses/405"
        406:
          $ref: "responses/SOL005_resp.yaml#/responses/406"
        409:
          $ref: "responses/NSDescriptorManagement_resp.yaml#/responses/409"
        412:
          $ref: "responses/SOL005_resp.yaml#/responses/412"         
        416:
          $ref: "responses/SOL005_resp.yaml#/responses/416"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"
          
      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)."
      parameters:
      - name: "body"
        in: "body"
        required: true
        schema:
          $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdmSubscriptionRequest"
      responses:
        201:
            $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdmSubscription"
          headers:
            Location:
              type: "string"
              description: >  
                "The HTTP response shall include a "Location:"HTTP
                header that points to the created subscription resource."
###############################################################################
# Individual Subscription                                                     #
###############################################################################                 
  '/subscriptions/{subscriptionId}':
      summary: "Read an individual subscription resource."
      description: >  
        "The GET method retrieves information about a subscription by reading
        an individual subscription resource. This method shall support the URI query
        parameters, request and response data structures, and response codes, as
        specified in the Tables 5.4.9.3.2-1 and 5.4.9.3.2-2."
      parameters: []
      responses:
        200:
            $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdmSubscription"
    delete:
      summary: "Terminate Subscription"
      description: >  
        "The DELETE method terminates an individual subscription. This
        method shall support the URI query parameters, request and response data
        structures, and response codes, as specified in the Tables 5.4.9.3.5-1 and
        5.4.9.3.3-2 of GS NFV-SOL 005."
      parameters: []
      responses:
        204:
          description: >  
            "The subscription resource was deleted successfully. The response
            body shall be empty."
    parameters:
    - name: "subscriptionId"
      in: "path"
      required: true