Commit c687bb5c authored by Giacomo Bernini's avatar Giacomo Bernini
Browse files

updated NSD Management OpenAPI to refer to SOL005

parent b7c9170a
Loading
Loading
Loading
Loading
Loading
+60 −352
Original line number Original line Diff line number Diff line
openapi: 3.0.2
swagger: "2.0"

info:
info:
  version: 1.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1
  version: "1.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1"
  title: SOL011 - NSD Management Interface
  title: "SOL011 - NSD Management Interface"
  description: >
  description: >
    SOL011 - NSD  Management Interface
    SOL011 - NSD  Management Interface

    IMPORTANT: Please note that this file might be not aligned to the current
    IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification
    version of the ETSI Group Specification it refers to and has not been
     it refers to. In case of discrepancies the published ETSI Group Specification takes precedence.
    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=
    Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis
  license:
  license:
    name: ETSI Forge copyright notice
    name: "ETSI Forge copyright notice"
    url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
    url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
  contact:
    name: "NFV-SOL WG"

externalDocs:
externalDocs:
  description: ETSI GS NFV-SOL 011 V3.3.1
  description: ETSI GS NFV-SOL 011 V3.3.1
  url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/011/03.03.01_60/gs_NFV-SOL011v030301p.pdf
  url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/011/03.03.01_60/gs_NFV-SOL011v030301p.pdf


security:
basePath: /nslcm/v1
  - OauthSecurity:

      - all
schemes:
servers:
  - http
  - url: http://127.0.0.1/nsd/v1
  - https
  - url: https://127.0.0.1/nsd/v1

consumes:
  - application/json

produces:
  - application/json


paths:
paths:
  "/api_versions":
  "/api_versions":
    $ref: '../endpoints/SOL011_endpoints.yaml#/endpoints/api_versions'
    $ref: 'https://forge.etsi.org/rep/nfv/SOL005/raw/v2.6.1/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml#/paths/~1api-versions'


  "/ns_descriptors":
  "/ns_descriptors":
    description: >-
      It can be used by NFVO-C to query multiple NS descriptors from NFVO-N.
    parameters:
    parameters:
      - $ref: "../components/SOL011_params.yaml#/components/parameters/Version"
      - name: Authorization
      - $ref: "../components/SOL011_params.yaml#/components/parameters/Accept"
        description: >
      - $ref: "../components/SOL011_params.yaml#/components/parameters/Authorization"
          The authorization token for the request.
          Reference: IETF RFC 7235.
        in: header
        required: false
        type: string
      - name: Version
        description: >
          Version of the API requested to use when responding to this request.
        in: header
        required: true
        type: string
    get:
    get:
      description: >-
      $ref: 'https://forge.etsi.org/rep/nfv/SOL005/raw/v2.6.1/src/SOL005/NSDManagement/NSDManagement.yaml#/paths/~1ns_descriptors/get'
        The GET method queries information about multiple NS descriptor resources.
        This method shall follow the provisions specified in the clause 5.4.2.3.2 of ETSI GS NFV-SOL 005.
      parameters:
        - $ref: "../components/SOL011_params.yaml#/components/parameters/filter"
        - $ref: "../components/SOL011_params.yaml#/components/parameters/all_fields"
        - $ref: "../components/SOL011_params.yaml#/components/parameters/fields"
        - $ref: "../components/SOL011_params.yaml#/components/parameters/exclude_fields"
        - $ref: "../components/SOL011_params.yaml#/components/parameters/exclude_default"
        - $ref: "../components/SOL011_params.yaml#/components/parameters/nextpage_opaque_marker"

      responses:
        200:
          $ref: "#/components/responses/NsdInfos.Get.200"
        400:
          $ref: "../components/SOL011_resp.yaml#/components/responses/400"
        401:
          $ref: "../components/SOL011_resp.yaml#/components/responses/401"
        403:
          $ref: "../components/SOL011_resp.yaml#/components/responses/403"
        404:
          $ref: "../components/SOL011_resp.yaml#/components/responses/404"
        405:
          $ref: "../components/SOL011_resp.yaml#/components/responses/405"
        406:
          $ref: "../components/SOL011_resp.yaml#/components/responses/406"
        500:
          $ref: "../components/SOL011_resp.yaml#/components/responses/500"
        503:
          $ref: "../components/SOL011_resp.yaml#/components/responses/503"
        504:
          $ref: "../components/SOL011_resp.yaml#/components/responses/504"


  '/ns_descriptors/{nsdInfoId}':
  '/ns_descriptors/{nsdInfoId}':
    description: >-
      It can be used by NFVO-C to query an individual NS descriptor from NFVO-N.
    parameters:
      - $ref: "#/components/parameters/nsdInfoId"
      - $ref: "../components/SOL011_params.yaml#/components/parameters/Version"
      - $ref: "../components/SOL011_params.yaml#/components/parameters/Accept"
      - $ref: "../components/SOL011_params.yaml#/components/parameters/Authorization"

    get:
      description: >
        The GET method reads information about an individual NS descriptor resource.
        This method shall follow the provisions specified in the clause 5.4.3.3.2 of ETSI GS NFV-SOL 005.
      responses:
        200:
          $ref: "#/components/responses/NsdInfo.Get.200"
        400:
          $ref: "../components/SOL011_resp.yaml#/components/responses/400"
        401:
          $ref: "../components/SOL011_resp.yaml#/components/responses/401"
        403:
          $ref: "../components/SOL011_resp.yaml#/components/responses/403"
        404:
          $ref: "../components/SOL011_resp.yaml#/components/responses/404"
        405:
          $ref: "../components/SOL011_resp.yaml#/components/responses/405"
        406:
          $ref: "../components/SOL011_resp.yaml#/components/responses/406"
        500:
          $ref: "../components/SOL011_resp.yaml#/components/responses/500"
        503:
          $ref: "../components/SOL011_resp.yaml#/components/responses/503"
        504:
          $ref: "../components/SOL011_resp.yaml#/components/responses/504"

components:
    parameters:
    parameters:
    nsdInfoId:
      - name: nsdInfoId
      name: nsdInfoId
        description: >
        description: >
          Identifier of the individual NS descriptor resource.
          Identifier of the individual NS descriptor resource.
        in: path
        in: path
        required: true
        required: true
      schema:
        type: string

  responses:
    NsdInfos.Get.200:
      description: >-
        200 OK
        Information about zero or more NS descriptors.
        The response body shall contain in an array the
        representations of zero or more NS descriptors, as
        defined in clause 5.5.2.2.
        If the NFVO supports alternative 2 (paging) according
        to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for
        this resource, inclusion of the Link HTTP header in
        this response shall follow the provisions in clause
        5.4.2.3 of ETSI GS NFV-SOL 013.
      headers:
        Content-Type:
          description: The MIME type of the body of the response.
          schema:
            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.
          schema:
            type: string
            maximum: 1
            minimum: 0
        Version:
          description: >
            Version of the API used in the response.
          schema:
            type: string
            maximum: 1
            minimum: 1
        Link:
          description: >
            Reference to other resources. Used for paging in the present document, see clause 4.7.2.1.
          schema:
            type: string
            maximum: 1
            minimum: 0
      content:
        application/json:
          schema:
            type: array
            items:
              $ref: "#/components/schemas/NsdInfo"

    NsdInfo.Get.200:
      description: >-
        200 OK
        Information about the individual NS descriptor.
        The response body shall contain a representation of the individual NS descriptor,
        as defined in clause 5.5.2.2.
      headers:
        Content-Type:
          description: The MIME type of the body of the response.
          schema:
            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.
          schema:
        type: string
        type: string
            maximum: 1
      - name: Authorization
            minimum: 0
        Version:
        description: >
        description: >
            Version of the API used in the response.
          The authorization token for the request.
          schema:
          Reference: IETF RFC 7235.
        in: header
        required: false
        type: string
        type: string
            maximum: 1
      - name: Version
            minimum: 1
        Link:
        description: >
        description: >
            Reference to other resources. Used for paging in the present document, see clause 4.7.2.1.
          Version of the API requested to use when responding to this request.
          schema:
        in: header
            type: string
        required: true
            maximum: 1
            minimum: 0
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/NsdInfo"

  schemas:
    NsdInfo:
      description: >
        This type represents a response for the query NSD operation.
      type: object
      oneOf:
        - required:
            - id
            - nsdOnboardingState
            - nsdOperationalState
            - nsdUsageState
            - _links
            - vnfPkgIds
        - required:
            - id
            - nsdOnboardingState
            - nsdOperationalState
            - nsdUsageState
            - _links
            - nestedNsdInfoIds
      properties:
        id:
          description: >
            Identifier of the on boarded individual NS descriptor
            resource. This identifier is allocated by the NFVO.
          $ref: "../components/SOL011_schemas.yaml#/components/schemas/Identifier"
        nsdId:
          description: >
            This identifier, which is allocated by the NSD
            designer, identifies the NSD in a globally unique
            way. It is copied from the NSD content and shall be
            present after the NSD content is on-boarded.
          $ref: "../components/SOL011_schemas.yaml#/components/schemas/Identifier"
        nsdName:
          type: string
          description: >
            Name of the on boarded NSD. This information is copied from the
            NSD content and shall be present after the NSD content is on-boarded.
        nsdVersion:
          description: >
            Version of the on-boarded NSD. This information is
            copied from the NSD content and shall be present
            after the NSD content is on-boarded.
          $ref: "../components/SOL011_schemas.yaml#/components/schemas/Version"
        nsdDesigner:
          type: string
          description: >
            Designer of the on-boarded NSD. This information is copied
            from the NSD content and shall be present after the NSD content is on-boarded.
        nsdInvariantId:
          description: >
            This identifier, which is allocated by the NSD
            designer, identifies an NSD in a version independent
            manner. This information is copied from the NSD
            content and shall be present after the NSD content is
            on-boarded.
          $ref: "../components/SOL011_schemas.yaml#/components/schemas/Identifier"
        vnfPkgIds:
          description: >
            Identifies the VNF package for the VNFD referenced
            by the on-boarded NS descriptor resource.
          type: array
          items:
            $ref: "../components/SOL011_schemas.yaml#/components/schemas/Identifier"
        pnfdInfoIds:
          description: >
            Identifies the PnfdInfo element for the PNFD
            referenced by the on-boarded NS descriptor
            resource.
          type: array
          items:
            $ref: "../components/SOL011_schemas.yaml#/components/schemas/Identifier"
        nestedNsdInfoIds:
          description: >
            Identifies the NsdInfo element for the nested NSD
            referenced by the on-boarded NS descriptor
            resource.
          type: array
          items:
            $ref: "../components/SOL011_schemas.yaml#/components/schemas/Identifier"
        nsdOnboardingState:
          description: >
            On boarding state of the individual NS descriptor resource.
          $ref: "#/components/schemas/NsdOnboardingStateType"
        onboardingFailureDetails:
          description: >
            Failure details of current on boarding procedure. See
            clause 6.3 of ETSI GS NFV-SOL 013 for the details of "ProblemDetails"
            structure.
            It shall be present when the "nsdOnboardingState"
            attribute is CREATED and the uploading or
            processing fails in NFVO.
          $ref: "../components/SOL011_schemas.yaml#/components/schemas/ProblemDetails"
        nsdOperationalState:
          description: >
            Operational state of the individual NS descriptor
            resource. This attribute can be modified with the
            PATCH method.
          $ref: "#/components/schemas/NsdOperationalStateType"
        nsdUsageState:
          description: >
            Usage state of the individual NS descriptor resource.
          $ref: "#/components/schemas/NsdUsageStateType"
        userDefinedData:
          description: >
            User defined data for the individual NS descriptor
            resource. This attribute can be modified with the
            PATCH method.
          $ref: "../components/SOL011_schemas.yaml#/components/schemas/KeyValuePairs"
        _links:
          type: object
          required:
            - self
            - nsd_content
          description: >
            Links to resources related to this resource.
          properties:
            self:
              description: >
                URI of this resource.
              $ref: "../components/SOL011_schemas.yaml#/components/schemas/Link"
            nsd_content:
              description: >
                Link to the NSD content resource.
              $ref: "../components/SOL011_schemas.yaml#/components/schemas/Link"

    NsdOperationalStateType:
      type: string
      description: >
        The enumeration NsdOperationalStateType shall comply with the provisions
        defined in Table 5.5.4.3-1 of GS NFV_SOL 005. It indicates the operational
        state of the resource.
        ENABLED = The operational state of the resource is enabled.
        DISABLED = The operational state of the resource is disabled.
      enum:
        - ENABLED
        - DISABLED

    NsdUsageStateType:
      type: string
      description: >
        The enumeration NsdUsageStateType shall comply with the provisions
        defined in Table 5.5.4.4-1 of GS NFV-SOL 005. It indicates the usage state
        of the resource.IN_USE = The resource is in use.NOT_IN_USE = The resource
        is not-in-use.
      enum:
        - IN_USE
        - NOT_IN_USE

    NsdOnboardingStateType:
        type: string
        type: string
      description: >
    get:
        The enumeration NsdOnboardingStateType shall comply with the provisions
      $ref: 'https://forge.etsi.org/rep/nfv/SOL005/raw/v2.6.1/src/SOL005/NSDManagement/NSDManagement.yaml#/paths/~1ns_descriptors/~1{nsdInfoId}/get'
        defined in Table 5.5.4.5-1 of GS NFV-SOL 005. It indicates the on-boarding
        state of the NSD.
        CREATED = The NSD information object is created.
        UPLOADING = The associated NSD content is being uploaded.
        PROCESSING = The associated NSD content is being processed, e.g. validation.
        ONBOARDED = The associated NSD content is on-boarded.
      enum:
        - CREATED
        - UPLOADING
        - PROCESSING
        - ONBOARDED