Skip to content
VNFLifecycleManagement.yaml 76 KiB
Newer Older
swagger: "2.0"

info:
  version: "2.3.0"
  title: SOL003
  license:
    name: "ETSI Forge copyright notice"
    url: https://forge.etsi.org/etsi-forge-copyright-notice.txt

basePath: "/vnflcm/v1"

schemes:
  - https

consumes:
  - "application/json"
produces:
  - "application/json"

paths:
###############################################################################
# VNF instances                                                               #
###############################################################################
  '/vnf_instances':
    #SOL003 location: 5.4.2
    post:
      #TODO: Add headers defined in 4.3.4.2
      description: "The POST method creates a new VNF instance resource."
      parameters:
        - name: createVnfRequest
          description: The VNF creation parameters
          in: body
          required: true
          schema:
            $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/CreateVnfRequest"
        - 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: true
          type: string
        - name: Content-Type
          description: >
            The MIME type of the body of the request.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
      responses:
        201:
          description: A VNF Instance identifier was created successfully
          headers:
            #TODO: Add headers defined in 4.3.4.3
            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 VNF instance
              type: string
              format: url
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              type: string
              maximum: 1
              minimum: 0
          schema:
            $ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/VnfInstance"
        400:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
        401:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
        403:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
        404:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
        405:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
        406:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
        409:
          $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/409-inconsistent-state"
        416:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
        422:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422"
        500:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
        503:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
    get:
      description: >
        The GET method queries information about multiple VNF instances.
      parameters:
        - name: filter
          description: >
            Attribute-based filtering parameters. The VNFM shall support
            receiving filtering parameters as part of the URI query string.
            The NFVO may supply filtering parameters. All attribute names
            that appear in the VnfInstance and in data types referenced
            from it shall be supported in attribute-based filtering
            parameters.
          in: query
          minimum: 0
          maximum: 1
          type: array
          allowEmptyValue: true
          collectionFormat: multi
          items:
            type: string
            pattern: '[a-zA-Z][.a-zA-Z]*\.(eq|neq|gt|lt|gte|lte|cont|ncont)\?=[0-9](,[0-9])*'
        - name: all_fields
          description: >
            Include all complex attributes in the response. This URI query
            parameter requests that all complex attributes are included in
            the response, including those suppressed by exclude_default. It
            is inverse to the "exclude_default" parameter. The API producer 
            shall support this parameter for certain resources. Details are
            defined in the clauses specifying the actual resources. The VNFM
            shall support this parameter.
          in: query
          minimum: 0
          maximum: 1
          type: boolean
        - name: fields
          description: >
            Complex attributes to be included into the response. This URI
            query parameter requests that only the listed complex
            attributes are included in the response.
            The parameter shall be formatted as a list of attribute names.
            An attribute name shall either be the name of an attribute, or a
            path consisting of the names of multiple attributes with
            parent-child relationship, separated by ".". Attribute names in
            the list shall be separated by comma (","). Valid attribute
            names for a particular GET request are the names of all complex
            attributes in the expected response that have a lower cardinality
            bound of 0 and that are not conditionally mandatory.
            The API producer should support this parameter for certain
            resources. Details are defined in the clauses specifying the
            actual resources.
            The VNFM should support this parameter.
          in: query
          minimum: 0
          maximum: 1
          type: array
          collectionFormat: csv
          items:
            type: string
            pattern: '(([a-zA-Z])?(\.[a-zA-Z])*)?,(([a-zA-Z])?(\.[a-zA-Z])*)*'
        - name: exclude_fields
          description: >
            Complex attributes to be excluded from the response. This URI
            query parameter requests that the listed complex attributes are
            excluded from the response. For the format, eligible attributes
            and support by the API producer, the provisions defined for the
            "fields" parameter shall apply.
            The VNFM should support this parameter.
          in: query
          minimum: 0
          maximum: 1
          type: array
          collectionFormat: csv
          items:
            type: string
            pattern: '(([a-zA-Z])?(\.[a-zA-Z])*)?,(([a-zA-Z])?(\.[a-zA-Z])*)*'
        - name: exclude_default
          description: >
            Indicates to exclude the following complex attributes from the
            response.
            Presence of this URI query parameter requests that a default set
            of complex attributes shall be excluded from the response. The
            default set is defined per resource in the present document. Not
            every resource will necessarily have such a default set. Only
            complex attributes with a lower cardinality bound of zero that are
            not conditionally mandatory can be included in the set.
            The API producer shall support this parameter for certain
            resources. Details are defined in the clauses specifying the
            actual resources. This parameter is a flag, i.e. it has no
            value.
            If a resource supports attribute selectors and none of the
            attribute selector parameters is specified in a GET request, the
            "exclude_default" parameter shall be assumed as the default.
            The VNFM shall support this parameter.
            The following attributes shall be excluded from the VnfInstance
            structure in the response body if this parameter is provided, or
            none of the parameters "all_fields," "fields", "exclude_fields",
            "exclude_default" are provided:
            * vnfConfigurableProperties
Loading full blame...