Skip to content
VNFPackageManagement.yaml 49 KiB
Newer Older
swagger: "2.0"

info:
  version: "2.4.1"
rameshnaraya's avatar
rameshnaraya committed
  title: SOL005 - VNF Package Management Interface
rameshnaraya's avatar
rameshnaraya committed
    SOL005 - VNF Package Management Interface
    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
  license:
    name: "ETSI Forge copyright notice"
    url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
  contact: 
    name: "NFV-SOL WG"
externalDocs:
  description: ETSI GS NFV-SOL 005 V2.4.1
  url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.04.01_60/gs_NFV-SOL005v020401p.pdf
basePath: "/vnfpkgm/v1"

schemes:
  - https

consumes:
  - "application/json"
produces:
  - "application/json"
###############################################################################
# VNF Packages                                                                #
###############################################################################
  '/vnf_packages':
    #ETSI GS NFV-SOL 005 V2.4.1 location: 9.4.2
    get:
rameshnaraya's avatar
rameshnaraya committed
      summary: Query VNF packages information.
rameshnaraya's avatar
rameshnaraya committed
        The GET method queries the information of the VNF packages matching the filter.
        This method shall follow the provisions specified in the 
        Tables 9.4.2.3.2-1 and 9.4.2.3.2-2 for URI query parameters,
        request and response data structures, and response codes.
      parameters:
        - name: "filter"
          in: "query"
          required: false
          type: "string"
          description: >  
rameshnaraya's avatar
rameshnaraya committed
            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
rameshnaraya's avatar
rameshnaraya committed
            be supported in attribute-based filtering parameters.
        - name: "all_fields"
          in: "query"
          required: false
          type: "string"
          description: >  
rameshnaraya's avatar
rameshnaraya committed
            Include all complex attributes in the response. See clause 4.3.3 for details. The NFVO
            shall support this parameter.
        - name: "fields"
          in: "query"
          required: false
          type: "string"
          description: >  
rameshnaraya's avatar
rameshnaraya committed
            Complex attributes to be included into the response. See clause 4.3.3 for details. The
            NFVO should support this parameter.         
        - name: "exclude_fields"
          in: "query"
          required: false
          type: "string"
          description: >  
rameshnaraya's avatar
rameshnaraya committed
            Complex attributes to be excluded from the response. See clause 4.3.3 for details. The
            NFVO should support this parameter.
        - name: "exclude_default"
          in: "query"
          required: false
          type: "string"
          description: >  
rameshnaraya's avatar
rameshnaraya committed
            Indicates to exclude the following complex attributes from the response. See clause 4.3.3
            for details.
            The NFVO shall support this parameter.
            The following attributes shall be excluded from the VnfPkgInfo structure in the response
            body if this parameter is provided, or none of the parameters "all_fields," "fields",
            "exclude_fields", "exclude_default" are provided:
            - softwareImages
            - additionalArtifacts
            - userDefinedData
rameshnaraya's avatar
rameshnaraya committed
            - checksum
        - 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:
rameshnaraya's avatar
rameshnaraya committed
          description: >
            200 OK.
            Information of the selected VNF packages.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
            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.              
rameshnaraya's avatar
rameshnaraya committed
            type: array
rameshnaraya's avatar
rameshnaraya committed
              properties:
                VnfPkgInfo:
                  $ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/VnfPkgInfo" 
        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"
        416:
          $ref: "responses/SOL005_resp.yaml#/responses/416"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"          

    post:
rameshnaraya's avatar
rameshnaraya committed
      summary: Create a new individual VNF package resource.
rameshnaraya's avatar
rameshnaraya committed
        The POST method creates a new individual VNF package resource.
      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
      - name: Content-Type
        description: >
          The MIME type of the body of the request.
          Reference: IETF RFC 7231
        in: header
        required: true
rameshnaraya's avatar
rameshnaraya committed
        type: string
      - name: "body"
        in: "body"
        required: true
        schema:
          type: "object"
          required:
          - "CreateVnfPkgInfoRequest"
          properties:
            CreateVnfPkgInfoRequest:
              $ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/CreateVnfPkgInfoRequest"
          description: >
            IndividualVNF package resource creation parameters, as defined in clause 9.5.2.2
            
      responses:
        201:
          description: >  
            "Status 201 - Created"
            
            
            "An individual VNF package resource has been created successfully.
            The response body shall contain a representation of
            the new individual VNF package resource, as defined
            in clause 9.5.2.4.
            The HTTP response shall include a "Location" HTTP
            header that contains the resource URI of the individual
            VNF package resource."
          schema:
            $ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/VnfPkgInfo"
Loading
Loading full blame...