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

info:
  version: "2.4.1"
  title: DRAFT - SOL003 - VNF Lifecycle Management interface
  description: >
    DRAFT - SOL003 - VNF Lifecycle Management interface definition
    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&list_id=61&product=NFV&resolution=
  license:
    name: "ETSI Forge copyright notice"
    url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
  contact: 
    name: "NFV-SOL WG"

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
          schema:
            $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_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: 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
      responses:
        200:
          description: > 
            Information about zero or more VNF instances was queried
            successfully. The response body shall contain
            representations of zero or more VNF instances.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
          schema:
            type: array
            items:
              $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInstance"
        400:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400-attr-selector"
        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"
        500:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
        503:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
###############################################################################
# Individual VNF instance                                                     #
###############################################################################
  '/vnf_instances/{vnfInstanceId}':
    #SOL003 location: 5.4.3.2
    parameters:
      - name: vnfInstanceId
        description: >
          Identifier of the VNF instance. This identifier can be retrieved from
          the resource referenced by the "Location" HTTP header in the response
          to a POST request creating a new VNF instance resource. It can also
          be retrieved from the "id" attribute in the payload body of that
          response.
        in: path
        type: string
        required: true
    get:
      description: >
        The GET method retrieves information about a VNF instance by reading
        an individual VNF instance resource.
      responses:
        200:
          description: > 
            Information about zero or more VNF instances was queried
            successfully. The response body shall contain
            representations of zero or more VNF instances.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
          schema:
            $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_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:
Loading full blame...