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

info: 
  version: "2.3.1"
  title: "DRAFT VNF Configuration interface"
  description: >
    DRAFT VNF Configuration interface of ETSI NFV SOL002
    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=---
  termsOfService: "http://etsi.org"
  contact: 
    name: "NFV-SOL WG"
  license:
    name: "ETSI Forge copyright notice"
    url: https://forge.etsi.org/etsi-forge-copyright-notice.txt


basePath: /vnfconfig/v1

schemes: 
  - http
  - 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: 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
            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
            items:
              $ref: "definitions/VNFLifecycleManagement_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: >
        Information about an individual VNF instance was queried successfully.
      responses:
        200:
          description: > 
Loading full blame...