Commit 0ea512fd authored by Giacomo Bernini's avatar Giacomo Bernini
Browse files

Merge branch '3.5.1-dev' into 'master'

Merge 3.5.1-dev into master

See merge request !17
parents 87d16118 03297223
Loading
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
# NFV SOL002 and SOL003 APIs

This repository hosts the [OpenAPI](https://www.openapis.org/) specificatons and other documentation
for the APIs defined in ETSI NFV GSs SOL002 and SOL003 v3.3.1.
for the APIs defined in ETSI NFV GSs SOL002 and SOL003 v3.5.1.

The APIs described in this repository are defined for the following reference points:

* `Or-Vnfm`
* `Ve-vnfm`

**IMPORTANT: In case of discrepancies the published ETSI Group Specification takes precedence.**
**IMPORTANT: These [OpenAPI](https://www.openapis.org/) specifications are in development phase. In case of discrepancies the published ETSI Group Specification takes precedence.**

More information at [NFV Solutions wiki](https://nfvwiki.etsi.org/index.php?title=NFV_Solutions).

+12 −6
Original line number Diff line number Diff line
@@ -3,20 +3,24 @@ openapi: 3.0.2
info:
  title: SOL002 - API version interface
  description: |
    SOL002 - API version 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.
    SOL002 - API version Interface

    IMPORTANT: Please note that this file might be not aligned to the current
    version of the ETSI Group Specification it refers to. In case of
    discrepancies the published ETSI Group Specification takes precedence.

    Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues

  contact:
    name: NFV-SOL WG
  license:
    name: ETSI Forge copyright notice
    url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
  version: 1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1
  version: 1.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1

externalDocs:
  description: ETSI GS NFV-SOL 002 V3.3.1
  url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.03.01_60/gs_NFV-SOL002v030301p.pdf
  description: ETSI GS NFV-SOL 002 V3.5.1
  url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.05.01_60/gs_NFV-SOL002v030501p.pdf

paths:
  /vnfconfig/api_versions:
@@ -29,3 +33,5 @@ paths:
    $ref: ../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions
  /vnfpm/api_versions:
    $ref: ../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions
  /lcmcoord/api_versions:
    $ref: ../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions
 No newline at end of file
+16 −12
Original line number Diff line number Diff line
@@ -3,10 +3,14 @@ openapi: 3.0.2
info:
  title: SOL002 - VNF Configuration interface
  description: |
    SOL002 - VNF Configuration 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
    SOL002 - VNF Configuration Interface

    IMPORTANT: Please note that this file might be not aligned to the current
    version of the ETSI Group Specification it refers to. In case of
    discrepancies the published ETSI Group Specification takes precedence.

    Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues

  contact:
    name: NFV-SOL WG
  license:
@@ -15,8 +19,8 @@ info:
  version: 1.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1

externalDocs:
  description: ETSI GS NFV-SOL 002 V3.3.1
  url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.03.01_60/gs_NFV-SOL002v030301p.pdf
  description: ETSI GS NFV-SOL 002 V3.5.1
  url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.05.01_60/gs_NFV-SOL002v030501p.pdf

servers:
  - url: http://127.0.0.1/vnfconfig/v1
@@ -31,12 +35,12 @@ paths:
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
    get:
      summary: Read VNF/VNFC configuration from VNF
      description: |
        The client can use this method to read configuration information about a VNF instance and/or its VNFC instances.
        The API consumer can use this method to read configuration information about a VNF instance and/or its VNFC instances.
        See clause 9.4.2.3.2.
      responses:
        "200":
          $ref: '#/components/responses/Configuration.Get'
          $ref: '#/components/responses/Configuration.Get.200'
        "400":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
        "401":
@@ -61,13 +65,13 @@ paths:
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504

    patch:
      summary: Modify VNF/VNFC configuration.
      description: This method sets or modifies a configuration resource.
      description: |
        This method sets or modifies a configuration resource. See clause 9.4.2.3.4.
      requestBody:
        $ref: '#/components/requestBodies/ConfigurationRequest'
      responses:
        "200":
          $ref: '#/components/responses/Configuration.Patch'
          $ref: '#/components/responses/Configuration.Patch.200'
        "400":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
        "401":
@@ -107,7 +111,7 @@ components:
      required: true

  responses:
    Configuration.Get:
    Configuration.Get.200:
      description: |
        200 OK
        Shall be returned when configuration information about a VNF instance  has been read successfully. The response
@@ -138,7 +142,7 @@ components:
          schema:
            $ref: ./definitions/SOL002VNFConfiguration_def.yaml#/definitions/VnfConfiguration

    Configuration.Patch:
    Configuration.Patch.200:
      description: |
        200 OK
        Shall be returned when the request has been accepted and completed.  The response body shall contain the
+6 −2
Original line number Diff line number Diff line
@@ -76,6 +76,8 @@ definitions:
  VnfConfigurationData:
    description: >
      This type represents configuration parameters of a VNF instance.
      *   NOTE:	ETSI GS NFV-SOL 001 specifies the structure and format of
                the VNFD based on TOSCA specifications.
    type: object
    properties:
      extCpConfig:
@@ -92,12 +94,14 @@ definitions:
      vnfSpecificData:
        description: >
          Additional configurable properties of the VNF instance declared in the
          VNFD as "VnfConfigurableProperties".
          VNFD as "VnfConfigurableProperties". see note.
        $ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs'

  VnfcConfigurationData:
    description: >
      This type represents configuration parameters of a VNFC instance.
      *   NOTE:	ETSI GS NFV-SOL 001 specifies the structure and format
                of the VNFD based on TOSCA specifications.
    type: object
    required:
      - vnfcInstanceId
@@ -121,7 +125,7 @@ definitions:
      vnfcSpecificData:
        description: >
          Additional configurable properties of the VNFC instance declared in the
          VNFD as "VnfcConfigurableProperties".
          VNFD as "VnfcConfigurableProperties". See note.
        $ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs'

  CpConfiguration:
+85 −43
Original line number Diff line number Diff line
@@ -3,10 +3,14 @@ openapi: 3.0.2
info:
  title: SOL002 - VNF Fault Management interface
  description: |
    SOL002 - VNF Fault 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.
    SOL002 - VNF Fault Management interface

    IMPORTANT: Please note that this file might be not aligned to the current
    version of the ETSI Group Specification it refers to. In case of
    discrepancies the published ETSI Group Specification takes precedence.

    Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues

  contact:
    name: NFV-SOL WG
  license:
@@ -15,8 +19,8 @@ info:
  version: 1.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1

externalDocs:
  description: ETSI GS NFV-SOL 002 V3.3.1
  url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.03.01_60/gs_NFV-SOL002v030301p.pdf
  description: ETSI GS NFV-SOL 002 V3.5.1
  url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.05.01_60/gs_NFV-SOL002v030501p.pdf

servers:
  - url: http://127.0.0.1/vnffm/v1
@@ -32,7 +36,7 @@ paths:
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
    get:
      description: |
        The client can use this method to retrieve information about the alarm list.
        The API consumer can use this method to retrieve information about the alarm list. See clause 7.4.2.3.2.
      parameters:
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType
@@ -40,7 +44,7 @@ paths:
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker
      responses:
        "200":
          $ref: '#/components/responses/Alarms.Get'
          $ref: '#/components/responses/Alarms.Get.200'
        "400":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
        "401":
@@ -73,13 +77,13 @@ paths:
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
    get:
      description: |
        The client can use this method to read an individual alarm.
        The API consumer can use this method to read an individual alarm. See clause 7.4.3.3.2.
      parameters:
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType
      responses:
        "200":
          $ref: '#/components/responses/IndividualAlarm.Get'
          $ref: '#/components/responses/IndividualAlarm.Get.200'
        "400":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
        "401":
@@ -107,7 +111,7 @@ paths:

    patch:
      description: |
        This method modifies an individual alarm resource.
        This method modifies an individual alarm resource. See clause 7.4.3.3.4.
      parameters:
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType
@@ -115,7 +119,9 @@ paths:
        $ref: '#/components/requestBodies/IndividualAlarmRequest'
      responses:
        "200":
          $ref: '#/components/responses/IndividualAlarm.Patch'
          $ref: '#/components/responses/IndividualAlarm.Patch.200'
        "409":
          $ref: '#/components/responses/IndividualAlarm.Patch.409'
        "400":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
        "401":
@@ -128,8 +134,6 @@ paths:
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
        "406":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
        "409":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/409
        "412":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/412
        "416":
@@ -152,14 +156,13 @@ paths:
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
    post:
      description: |
        The POST method enables the consumer to escalate the perceived severity of an alarm that is represented by an
        individual alarm resource. As the result of successfully executing this method, a new "Individual  subscription"
        resource as defined in clause 7.4.5 shall have been created.  This method shall not trigger any notification.
        The POST method enables the API consumer to escalate the perceived severity of an alarm that is represented
        by an individual alarm resource. See clause 7.4.4.3.1.
      requestBody:
        $ref: '#/components/requestBodies/IndividualAlarmEscalateRequest'
      responses:
        "200":
          $ref: '#/components/responses/IndividualAlarmEscalate.Post'
        "204":
          $ref: '#/components/responses/IndividualAlarmEscalate.Post.204'
        "400":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
        "401":
@@ -191,8 +194,8 @@ paths:
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
    get:
      description: |
        The client can use this method to retrieve the list of active subscriptions for VNF alarms subscribed by the
        client. It can be used e.g. for resynchronization after error situations.
        The API consumer can use this method to retrieve the list of active subscriptions for VNF alarms subscribed
        by the API consumer. It can be used e.g. for resynchronization after error situations. See clause 7.4.5.3.2.
      parameters:
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType
@@ -200,7 +203,7 @@ paths:
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker
      responses:
        "200":
          $ref: '#/components/responses/Subscriptions.Get'
          $ref: '#/components/responses/Subscriptions.Get.200'
        "400":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
        "401":
@@ -228,7 +231,7 @@ paths:

    post:
      description: |
        The POST method creates a new subscription.
        The POST method creates a new subscription. See clause 7.4.5.3.1.
      parameters:
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType
@@ -236,7 +239,7 @@ paths:
        $ref: '#/components/requestBodies/FmSubscriptionRequest'
      responses:
        "201":
          $ref: '#/components/responses/Subscriptions.Post'
          $ref: '#/components/responses/Subscriptions.Post.201'
        "303":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/303
        "400":
@@ -271,13 +274,14 @@ paths:
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
    get:
      description: |
        The client can use this method for reading an individual subscription for VNF alarms subscribed by the client.
        The API consumer can use this method for reading an individual subscription for VNF alarms subscribed
        by the API consumer. See clause 7.4.6.3.2.
      parameters:
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType
      responses:
        "200":
          $ref: '#/components/responses/IndividualSubscription.Get'
          $ref: '#/components/responses/IndividualSubscription.Get.200'
        "400":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
        "401":
@@ -305,16 +309,10 @@ paths:

    delete:
      description: |
        This method terminates an individual subscription. As the result
        of successfully executing this method, the "Individual  subscription"
        resource shall not exist any longer. This means that no  notifications for
        that subscription shall be sent to the  formerly-subscribed API consumer.
        NOTE: Due to race conditions, some notifications might still be  received
        by the formerly-subscribed API consumer for a certain time  period after
        the deletion.
        This method terminates an individual subscription. See clause 7.4.6.3.5.
      responses:
        "204":
          $ref: '#/components/responses/IndividualSubscription.Delete'
          $ref: '#/components/responses/IndividualSubscription.Delete.204'
        "400":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
        "401":
@@ -394,7 +392,7 @@ components:
      required: true

  responses:
    Alarms.Get:
    Alarms.Get.200:
      description: |
        200 OK
        Shall be returned when information about zero or more alarms was queried successfully. The response body shall
@@ -436,7 +434,7 @@ components:
          schema:
            $ref: ./definitions/SOL002VNFFaultManagement_def.yaml#/definitions/Alarm

    IndividualAlarm.Get:
    IndividualAlarm.Get.200:
      description: |
        200 OK
        Shall be returned when information about an individual alarm read  successfully. The response body shall contain
@@ -467,7 +465,7 @@ components:
          schema:
            $ref: ./definitions/SOL002VNFFaultManagement_def.yaml#/definitions/Alarm

    IndividualAlarm.Patch:
    IndividualAlarm.Patch.200:
      description: |
        200 OK
        Shall be returned when the request was accepted and completed.  The response body shall contain attribute
@@ -498,7 +496,49 @@ components:
          schema:
            $ref: ../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/AlarmModifications

    IndividualAlarmEscalate.Post:
    IndividualAlarm.Patch.409:
      description: |
        409 CONFLICT

        Shall be returned upon the following error: The
        operation cannot be executed currently, due to a
        conflict with the state of the "Individual alarm"
        resource.
        Typically, this is due to the fact that the alarm is
        already in the state that is requested to be set (such
        as trying to acknowledge an already-acknowledged
        alarm).
        The response body shall contain a ProblemDetails
        structure, in which the "detail" attribute shall convey
        more information about the error.
      headers:
        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.
          style: simple
          explode: false
          schema:
            type: string
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails"

    IndividualAlarmEscalate.Post.204:
      description: |
        204 No Content
        Shall be returned when the VNFM has received the proposed "escalated  perceived severity" value successfully.
@@ -512,7 +552,7 @@ components:
            type: string
      content: {}

    Subscriptions.Get:
    Subscriptions.Get.200:
      description: |
        200 OK
        Shall be returned when the list of subscriptions has been queried successfully.
@@ -555,7 +595,7 @@ components:
          schema:
            $ref: ../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FmSubscription

    Subscriptions.Post:
    Subscriptions.Post.201:
      description: |
        201 CREATED
        The subscription was created successfully. The response body shall contain a representation of the created
@@ -595,10 +635,11 @@ components:
          schema:
            $ref: ../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FmSubscription

    IndividualSubscription.Get:
    IndividualSubscription.Get.200:
      description: |
        200 OK
        Shall be returned when information about an individual subscription  has been read successfully. The response body shall contain a representation of the "Individual  subscription" resource.
        Shall be returned when information about an individual subscription  has been read successfully.
        The response body shall contain a representation of the "Individual  subscription" resource.
      headers:
        Version:
          description: The used API version.
@@ -608,7 +649,8 @@ components:
            type: string
        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.
            Challenge if the corresponding HTTP request has not provided authorization, or error
            details if the corresponding HTTP request has provided an invalid authorization token.
          style: simple
          explode: false
          schema:
@@ -624,7 +666,7 @@ components:
          schema:
            $ref: ../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FmSubscription

    IndividualSubscription.Delete:
    IndividualSubscription.Delete.204:
      description: |
        204 NO CONTENT
        Shall be returned when the "Individual subscription" resource has  been deleted successfully.
Loading