3.5.1 dev

Merge request reports

Loading
+9 −5
Changes for src/SOL005/APIVersion/APIVersion.yaml: 9 added lines, 5 removed lines.
Original line number Diff line number Diff line
@@ -3,10 +3,14 @@ openapi: 3.0.2
info:
  title: SOL005 - API version interface
  description: |
    SOL005 - 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.
    SOL005 - 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 Please report bugs to https://forge.etsi.org/rep/nfv/SOL005/issues

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

externalDocs:
  description: ETSI GS NFV-SOL 005 V3.3.1
  url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.03.01_60/gs_nfv-sol005v030301p.pdf
  description: ETSI GS NFV-SOL 005 V3.5.1
  url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.05.01_60/gs_nfv-sol005v030501p.pdf

servers:
  - url: http://127.0.0.1/
+25 −162
Changes for src/SOL005/NFVICapacityInformation/definitions/NFVICapacityInformation_def.yaml: 25 added lines, 162 removed lines.
Original line number Diff line number Diff line
@@ -37,6 +37,10 @@ components:
      type: object
      description: |
        This type represents a capacity threshold. It shall comply with the provisions defined in table 10.5.2.8-1.
        NOTE 1:	The "objectInstanceId" aims to identify the "Individual VIM's NFVI capacity information", which is
        associated to a VIM instance.
        NOTE 2:	The "subObjectInstanceIds" aim to identify the resource zones in which the available NFVI capacity
        crosses a threshold value.
      required:
        - id
        - objectInstanceId
@@ -50,12 +54,13 @@ components:
          $ref: ../../definitions/SOL005_def.yaml#/definitions/Identifier
        objectInstanceId:
          description: |
            Identifier of the VIM instance associated with the capacity threshold.
            Identifier of the VIM instance associated with the capacity threshold. See note 1.
          $ref: ../../definitions/SOL005_def.yaml#/definitions/Identifier
        subObjectInstanceIds:
          description: |
            Identifiers of the sub-object instances of the measured object instance associate with this capacity threshold.
            If this attribute is absent, measurements are taken for all sub-object instances of the measured object instance.
            See note 2.
          type: array
          items:
            $ref: ../../definitions/SOL005_def.yaml#/definitions/IdentifierInVim
@@ -119,158 +124,17 @@ components:
            This attribute shall only be present if the API consumer requires authorization of notifications.
          $ref: ../../definitions/SOL005_def.yaml#/definitions/SubscriptionAuthentication

    NfviCapacityInfoSubscription:
      type: object
      description: |
        This type represents a subscription. It shall comply with the provisions defined in Table 10.5.2.9-1.
      required:
        - id
        - callbackUri
        - _links
      properties:
        id:
          description: |
            Identifier that identifies the subscription.
          $ref: ../../definitions/SOL005_def.yaml#/definitions/Identifier
        filter:
          description: |
            Filter settings for this subscription, to define the subset of all notifications this subscription relates to.
            A particular notification is sent to the subscriber if the filter matches, or if there is no filter.
          $ref: '#/components/schemas/NfviCapacityInfoNotificationsFilter'
        callbackUri:
          description: |
            The URI of the endpoint to send the notification to.
          $ref: ../../definitions/SOL005_def.yaml#/definitions/Uri
        _links:
          type: object
          description: |
            Links to resources related to this resource.
          required:
            - self
          properties:
            self:
              description: |
                URI of this resource.
              $ref: ../../definitions/SOL005_def.yaml#/definitions/Link

    NfviCapacityInfoSubscriptionRequest:
      type: object
      description: |
        This type represents a subscription request. It shall comply with the provisions defined in Table 10.5.2.2-1.
      required:
        - callbackUri
      properties:
        filter:
          description: |
            Filter settings for this subscription, to define the subset of all notifications this subscription relates to.
            A particular notification is sent to the subscriber if the filter matches, or if there is no filter.
          $ref: '#/components/schemas/NfviCapacityInfoNotificationsFilter'
        callbackUri:
          description: |
            The URI of the endpoint to send the notification to.
          $ref: ../../definitions/SOL005_def.yaml#/definitions/Uri
        authentication:
          description: |
            Authentication parameters to configure the use of authorization when sending notifications corresponding to
            this subscription, as defined in clause 8.3.4 of ETSI GS NFV SOL 013.
            This attribute shall only be present if the subscriber requires authorization of notifications.
          $ref: ../../definitions/SOL005_def.yaml#/definitions/SubscriptionAuthentication

    CapacityShortageNotification:
      type: object
      description: |
        This notification informs the receiver that the available NFVI capacity has crossed below a threshold value or
        has re-covered from a capacity shortage. It shall comply with the provisions defined in Table 10.5.2.10-1.
      required:
        - id
        - notificationType
        - thresholdId
        - timeStamp
        - direction
        - capacityInformation
        - objectInstanceId
      properties:
        id:
          description: |
            Identifier of this notification. If a notification is sent multiple times due to multiple subscriptions,
            the "id" attribute of all these notifications shall have the same value.
          $ref: ../../definitions/SOL005_def.yaml#/definitions/Identifier
        notificationType:
          description: |
            Discriminator for the different notification types.
            Shall be set to "CapacityShortageNotification" for this notification type.
          type: string
        thresholdId:
          description: |
            Identifier of the threshold which has been crossed
          $ref: ../../definitions/SOL005_def.yaml#/definitions/Identifier
        timeStamp:
          description: |
            Date and time of the generation of the notification.
          $ref: ../../definitions/SOL005_def.yaml#/definitions/DateTime
        objectInstanceId:
          description: |
            Identifies the VIM’s NFVI capacity information instance (measured object instance) in which the available
            NFVI capacity has crossed a threshold value.
          $ref: ../../definitions/SOL005_def.yaml#/definitions/Identifier
        subObjectInstanceId:
          description: |
            Identifier of the sub-object of the measured object to which the measurement applies.
            Refer to the definition of the "CapacityThreshold" in clause 10.5.2.7.
          $ref: ../../definitions/SOL005_def.yaml#/definitions/IdentifierInVim
        direction:
          description: |
            Specifies if the threshold has been crossed in UP or DOWN direction.
          type: string
          enum:
            - UP
            - DOWN
        capacityInformation:
          description: |
            Information about the available, reserved, allocated/used, and total capacity of the NFVI.
            If the threshold creation process  does specify a resource zone and/or vimId, the information is provided
            for the resource zone/vimId where the NFVI capacity has crossed the thresholdas indicated by the
            "subObjectInstanceId" and "objectInstanceId" attributes.
          $ref: "#/components/schemas/NfviCapacityMeasurement"
        _links:
          description: |
            Links to resources related to this notification.
          type: object
          required:
            - threshold
          properties:
            objectInstance:
              description: |
                Link to the resource representing the measured object instance to which the notified change applies.
                Shall be present if the measured object instance information is accessible as a resource.
              $ref: ../../definitions/SOL005_def.yaml#/definitions/NotificationLink
            threshold:
              description: |
                Link to the resource that represents the threshold that was crossed.
              $ref: ../../definitions/SOL005_def.yaml#/definitions/NotificationLink

    NfviCapacityInfoNotificationsFilter:
      type: object
      description: |
        This type represents a filter that can be used to subscribe for notifications related to NFVI capacity information events.
        It shall comply with the provisions defined in Table 10.5.3.2-1.
      properties:
        notificationTypes:
          description: |
            Match particular notification types.
            Permitted values:
            -	CapacityShortageNotification
          type: array
          items:
            type: string
            enum:
              - CapacityShortageNotification

    CapacityThresholdCriteria:
      type: object
      description: |
        This type represents criteria that define a capacity threshold.
        It shall comply with the provisions defined in table 10.5.3.3-1.
        NOTE 1:	In the present document, simple thresholds are defined.
        The definition of additional threshold types is left for future specification.
        NOTE 2:	The hysteresis is defined to prevent storms of threshold crossing
        notifications. When processing a request to create a threshold, implementations
        should enforce a suitable minimum value for this attribute (e.g. override the
        value or reject the request).
      required:
        - capacityMetric
        - thresholdType
@@ -312,8 +176,7 @@ components:
            Type of capacity threshold. This attribute determines which other attributes are present in the data structure.
            Permitted values:
            -	SIMPLE: Single-valued static threshold.
            In the present document, simple thresholds are defined. The definition of additional threshold types is left
            for future specification.
            See note 1.
          type: string
          enum:
            - SIMPLE
@@ -338,9 +201,7 @@ components:
                  A notification with crossing direction "UP" will be generated if the measured value reaches or
                  exceeds "thresholdValue" + "hysteresis". A notification with crossing direction "DOWN" will be
                  generated if the measured value reaches or undercuts "thresholdValue" - "hysteresis".
                  The hysteresis is defined to prevent storms of threshold crossing notifications.
                  When processing a request to create a threshold, implementations should enforce a suitable minimum
                  value for this attribute (e.g. override the value or reject the request).
                  See note 2.
                type: number

    NfviCapacityInfoPerZone:
@@ -366,21 +227,20 @@ components:
      type: object
      description: |
        This type defines the format of a time interval. The type shall comply with the provisions defined in table 10.5.2.7-1.
        NOTE:	When only the startTime is present, there is no time interval being defined, and therefore the provided timing
        information refers to a specific point in time.
      required:
        - aTime
      properties:
        aTime:
          description: |
            First date and time of the interval.
            When only the startTime is present, there is no time interval being defined, and therefore the provided timing
            information refers to a specific point in time.
            First date and time of the interval. See note.
          $ref: ../../definitions/SOL005_def.yaml#/definitions/DateTime
        bTime:
          description: |
            Second date and time of the interval. Shall be present when a time interval is provided, and absent otherwise.
            When provided, the bTime shall be greater than aTime.
            When only the startTime is present, there is no time interval being defined, and therefore the provided timing
            information refers to a specific point in time.
            See note.
          $ref: ../../definitions/SOL005_def.yaml#/definitions/DateTime

    NfviCapacityMeasurement:
@@ -388,6 +248,8 @@ components:
      description: |
        This type defines the format of the NFVI capacity information on a per resource type basis.
        The type shall comply with the provisions defined in table 10.5.2.6-1.
        NOTE:	The present document and referred documents do not specify the capacity measurements,
        thus the capacity measurement names are not specified in the present document version.
      required:
        - resourceType
        - capacityMeasurementName
@@ -403,8 +265,7 @@ components:
          description: |
            Name of the capacity measurement. Different resource types can have different associated capacity measurements,
            typically associated to different sub-types of the resource type.
            The present document and referred documents do not specify the capacity measurements, thus the capacity
            measurement names are not specified in the present document version.
            See note.
          type: string
        totalCapacity:
          description: |
@@ -441,17 +302,19 @@ components:
    CapacityThresholdModifications:
      description: |
        This type represents modifications to a capacity threshold. It shall comply with the provisions defined in table 10.5.2.8-1.
        NOTE:	At least one of the attributes defined in this type shall be present in request bodies.
      type: object
      properties:
        callbackUri:
          description: |
            New value of the "callbackUri" attribute. The value "null" is not permitted.
            At least one of the attributes defined in this type shall be present in request bodies.
            See note.
          $ref: ../../definitions/SOL005_def.yaml#/definitions/Uri
        authentication:
          description: |
            New value of the "authentication" attribute, or "null" to remove the attribute. If present in a request body,
            these modifications shall be applied according to the rules of JSON Merge Patch (see IETF RFC 7396).

            This attribute shall not be present in response bodies.
            At least one of the attributes defined in this type shall be present in request bodies.
            See note.
          $ref: ../../definitions/SOL005_def.yaml#/definitions/SubscriptionAuthentication
 No newline at end of file
+69 −406
Changes for src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml: 69 added lines, 406 removed lines.
Original line number Diff line number Diff line
@@ -4,10 +4,13 @@ info:
  title: SOL005 - NFVI Capacity Information Interface
  description: |
    SOL005 - NFVI Capacity Information 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.

    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/SOL005/issues

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

externalDocs:
  description: ETSI GS NFV-SOL 005 V3.3.1
  url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.03.01_60/gs_nfv-sol005v030301p.pdf
  description: ETSI GS NFV-SOL 005 V3.5.1
  url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.05.01_60/gs_nfv-sol005v030501p.pdf

servers:
  - url: http://127.0.0.1/nfvici/v1
@@ -32,9 +35,8 @@ paths:
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
    get:
      summary: Query NFVI capacity information
      description: |
        The API consumer can use this method to retrieve information about NFVI capacity information.
        The API consumer can use this method to retrieve information about NFVI capacity information. See clause 10.4.2.3.2.
      parameters:
        - $ref: ../components/SOL005_params.yaml#/components/parameters/filter
        - $ref: ../components/SOL005_params.yaml#/components/parameters/all_fields
@@ -45,7 +47,7 @@ paths:
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
      responses:
        "200":
          $ref: '#/components/responses/NfviCapacityInfos.Get'
          $ref: '#/components/responses/NfviCapacityInfos.Get.200'
        "400":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/400
        "401":
@@ -71,15 +73,14 @@ paths:
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
    get:
      summary: Query NFVI capacity information for a specific VIM
      description: |
        The API consumer can use this method for reading an individual VIM’s NFVI capacity information.
        The API consumer can use this method for reading an individual VIM's NFVI capacity information. See clause 10.4.3.3.2.
      parameters:
        - $ref: ../components/SOL005_params.yaml#/components/parameters/filter
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
      responses:
        "200":
          $ref: '#/components/responses/NfviCapacityInfo.Get'
          $ref: '#/components/responses/NfviCapacityInfo.Get.200'
        "400":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/400
        "401":
@@ -104,17 +105,15 @@ paths:
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
    get:
      summary: Query NFVI capacity thresholds
      description: |
        This resource represents NFVI capacity thresholds.
        The API consumer can use this resource to create and query NFVI capacity thresholds.
        The API consumer can use this method to query information about NFVI capacity thresholds. See clause 10.4.4.3.2
      parameters:
        - $ref: ../components/SOL005_params.yaml#/components/parameters/filter
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
        - $ref: ../components/SOL005_params.yaml#/components/parameters/nextpage_opaque_marker
      responses:
        "200":
          $ref: '#/components/responses/CapacityThresholds.Get'
          $ref: '#/components/responses/CapacityThresholds.Get.200'
        "400":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/400
        "401":
@@ -135,11 +134,8 @@ paths:
          $ref: ../responses/SOL005_resp.yaml#/components/responses/504

    post:
      summary: Create a NFVI capacity threshold
      description: |
        The POST method creates a new NFVI capacity threshold.
        As a result of successfully executing this method, a new "Individual capacity threshold" resource as defined
        in clause 10.4.5 shall have been created.
        The POST method creates a new NFVI capacity threshold. See clause 10.4.4.3.1.
      parameters:
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
        - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType
@@ -147,7 +143,7 @@ paths:
        $ref: '#/components/requestBodies/NfviCapacityThresholdRequest'
      responses:
        "201":
          $ref: '#/components/responses/CapacityThresholds.Post'
          $ref: '#/components/responses/CapacityThresholds.Post.201'
        "400":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/400
        "401":
@@ -161,7 +157,7 @@ paths:
        "406":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/406
        "422":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/422
          $ref: '#/components/responses/CapacityThresholds.Post.422'
        "500":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/500
        "503":
@@ -175,16 +171,13 @@ paths:
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
    get:
      summary: Query Individual NFVI capacity threshold
      description: |
        The API consumer can use this method for reading information about an NFVI capacity threshold.
        This method shall follow the provisions specified in the tables 10.4.5.3.2-1 and 10.4.5.3.2-2 for URI query
        parameters, request and response data structures, and response codes.
        The API consumer can use this method for reading information about an NFVI capacity threshold. See clause 10.4.5.3.2.
      parameters:
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
      responses:
        "200":
          $ref: '#/components/responses/IndividualCapacityThreshold.Get'
          $ref: '#/components/responses/IndividualCapacityThreshold.Get.200'
        "400":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/400
        "401":
@@ -205,16 +198,13 @@ paths:
          $ref: ../responses/SOL005_resp.yaml#/components/responses/504

    patch:
      summary: Modify an "Individual capacity threshold" resource
      description: |
        This method iallows to modify an "Individual capacity threshold" resource.
        This method shall follow the provisions specified in the Tables 10.4.5.3.4-1 and 10.4.5.3.4-2 for URI query
        parameters, request and response data structures, and response codes.
        This method allows to modify an "Individual capacity threshold" resource. See clause 10.4.5.3.4.
      requestBody:
        $ref: '#/components/requestBodies/IndividualNfviCapacityThresholdRequest'
      responses:
        "200":
          $ref: '#/components/responses/IndividualCapacityThreshold.Patch'
          $ref: '#/components/responses/IndividualCapacityThreshold.Patch.200'
        "400":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/400
        "401":
@@ -228,9 +218,9 @@ paths:
        "406":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/406
        "412":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/412
          $ref: '#/components/responses/IndividualCapacityThreshold.Patch.412'
        "422":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/422
          $ref: '#/components/responses/IndividualCapacityThreshold.Patch.422'
        "500":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/500
        "503":
@@ -239,152 +229,11 @@ paths:
          $ref: ../responses/SOL005_resp.yaml#/components/responses/504

    delete:
      summary: Delete an NFVI capacity threshold
      description: |
        This method allows to delete an NFVI capacity threshold.
        As a result of successfully executing this method, the "Individual capacity threshold" resource shall not exist
        any longer.
        This method allows to delete an NFVI capacity threshold. See clause 10.4.5.3.5.
      responses:
        "204":
          $ref: '#/components/responses/IndividualCapacityThreshold.Delete'
        "400":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/400
        "401":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/401
        "403":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/403
        "404":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/404
        "405":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/405
        "406":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/406
        "500":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/500
        "503":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/503
        "504":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/504

  /subscriptions:
    parameters:
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
    get:
      summary: Query multiple subscriptions.
      description: |
        The API consumer can use this method to query the list of active subscriptions to NFVI capacity information
        notifications subscribed by the API consumer.
      parameters:
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
        - $ref: ../components/SOL005_params.yaml#/components/parameters/filter
        - $ref: ../components/SOL005_params.yaml#/components/parameters/nextpage_opaque_marker
      responses:
        "200":
          $ref: '#/components/responses/NfviCiSubscriptions.Get'
        "400":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/400
        "401":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/401
        "403":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/403
        "404":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/404
        "405":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/405
        "406":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/406
        "500":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/500
        "503":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/503
        "504":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/504

    post:
      summary: Create an NFVI capacity subscription
      description: |
        The POST method creates a new subscription.
        This method shall follow the provisions specified in the Tables 10.4.6.3.1-1 and 10.4.6.3.1-2 for URI query
        parameters, request and response data structures, and response codes.
      parameters:
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
        - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType
      requestBody:
        $ref: '#/components/requestBodies/NfviCapacitySubscriptionRequest'
      responses:
        "201":
          $ref: '#/components/responses/NfviCiSubscriptions.Post'
        "303":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/303
        "400":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/400
        "401":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/401
        "403":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/403
        "404":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/404
        "405":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/405
        "406":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/406
        "422":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/422
        "500":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/500
        "503":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/503
        "504":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/504
      callbacks:
        CapacityShortageNotification:
          $ref: '#/components/callbacks/CapacityShortageNotification'


  /subscriptions/{subscriptionId}:
    parameters:
      - $ref: '#/components/parameters/SubscriptionId'
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
    get:
      summary: Read an individual subscription resource
      description: |
        The API consumer can use this method for reading an individual subscription about NFVI capacity information
        notifications subscribed by the API consumer.
      parameters:
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
      responses:
        "200":
          $ref: '#/components/responses/NfviCiSubscription.Get'
        "400":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/400
        "401":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/401
        "403":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/403
        "404":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/404
        "405":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/405
        "406":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/406
        "500":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/500
        "503":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/503
        "504":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/504

    delete:
      summary: Terminate a subscription.
      description: |
        This method terminates an individual subscription.
        This method shall follow the provisions specified in the Tables 10.4.7.3.5-1 and 10.4.7.3.5-2 for URI query
        parameters, request and response data structures, and response codes.
      responses:
        "204":
          $ref: '#/components/responses/NfviCiSubscription.Delete'
          $ref: '#/components/responses/IndividualCapacityThreshold.Delete.204'
        "400":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/400
        "401":
@@ -433,20 +282,6 @@ components:
      schema:
        type: string

    SubscriptionId:
      name: subscriptionId
      in: path
      description: |
        Identifier of the subscription.
        This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response to a
        POST request creating a new subscription resource. It can also be retrieved from the "id" attribute in the payload
        body of that response.
      required: true
      style: simple
      explode: false
      schema:
        type: string

  requestBodies:
    NfviCapacityThresholdRequest:
      description: |
@@ -467,27 +302,8 @@ components:
            $ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/CapacityThresholdModifications
      required: true

    NfviCapacitySubscriptionRequest:
      description: |
        Details of the subscription to be created.
      content:
        application/json:
          schema:
            $ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/NfviCapacityInfoSubscriptionRequest
      required: true

    CapacityShortageNotificationRequest:
      description: |
        Notification about the available NFVI capacity having crossed below a threshold value or having re-covered from
        a capacity shortage.
      content:
        application/json:
          schema:
            $ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/CapacityShortageNotification
      required: true

  responses:
    NfviCapacityInfos.Get:
    NfviCapacityInfos.Get.200:
      description: |
        Shall be returned when information about NFVI capacity information has been queried successfully.
        The response body shall contain NFVI capacity information, as defined in clause 10.5.2.4.
@@ -524,7 +340,7 @@ components:
            items:
              $ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/NfviCapacityInfo

    NfviCapacityInfo.Get:
    NfviCapacityInfo.Get.200:
      description: |
        Shall be returned when information of an individual VIM’s NFVI capacity has been read successfully.
        The response body shall contain a representation of  the NFVI capacity information, as defined in clause 10.5.2.4.
@@ -555,7 +371,7 @@ components:
          schema:
            $ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/NfviCapacityInfo

    CapacityThresholds.Get:
    CapacityThresholds.Get.200:
      description: |
        Shall be returned when information about zero or more capacity thresholds has been queried successfully.
        If the "filter" URI parameter was supplied in the request, the data in the response body shall have been
@@ -593,7 +409,7 @@ components:
            items:
              $ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/CapacityThreshold

    CapacityThresholds.Post:
    CapacityThresholds.Post.201:
      description: |
        Shall be returned when a capacity threshold has been created successfully.
        The response body shall contain a representation of the created "Individual capacity threshold" resource,
@@ -626,10 +442,17 @@ components:
          schema:
            $ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/CapacityThreshold

    IndividualCapacityThreshold.Get:
    CapacityThresholds.Post.422:
      description: |
        Shall be returned when information about an individual capacity threshold has been read successfully.
        The response body shall contain in a representation of the capacity threshold, as defined in clause 10.5.2.8.
        422 UNPROCESSABLE ENTITY

        Shall be returned upon the following error: The content type of the payload body is supported and the payload
        body of a request contains syntactically correct data but the data cannot be processed.
        The general cause for this error and its handling is specified in clause 6.4 of ETSI GS NFV-SOL 013 [16],
        including rules for the presence of the response body.
        Specifically in case of this resource, the response code 422 shall also be returned if the NFVO has tested
        the Notification endpoint as described in clause 10.4.6.3.2 and the test has failed.
        In this case, the "detail" attribute in the "ProblemDetails" structure shall convey more information about the error.
      headers:
        Version:
          description: |
@@ -655,13 +478,12 @@ components:
      content:
        application/json:
          schema:
            $ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/CapacityThreshold
            $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails"

    IndividualCapacityThreshold.Patch:
    IndividualCapacityThreshold.Get.200:
      description: |
        200 OK
        Shall be returned when the request has been processed successfully.
        The response body shall contain a data structure of type "CapacityThresholdModifications".
        Shall be returned when information about an individual capacity threshold has been read successfully.
        The response body shall contain in a representation of the capacity threshold, as defined in clause 10.5.2.8.
      headers:
        Version:
          description: |
@@ -687,46 +509,13 @@ components:
      content:
        application/json:
          schema:
            $ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/CapacityThresholdModifications

    IndividualCapacityThreshold.Delete:
      description: |
        Shall be returned when the NFVI capacity threshold has been deleted successfully.
        The response body shall be empty.
      headers:
        Version:
          description: |
            Version of the API used in the response.
          style: simple
          explode: false
          schema:
            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.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: The MIME type of the body of the response.
          style: simple
          explode: false
          schema:
            type: string
      content: {}
            $ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/CapacityThreshold

    NfviCiSubscriptions.Get:
    IndividualCapacityThreshold.Patch.200:
      description: |
        Shall be returned when the list of subscriptions has been queried successfully.
        The response body shall contain in an array the representations of all active subscriptions of the functional
        block that invokes the method, i.e. zero or more representations of NFVI capacity information subscriptions,
        as defined in clause 10.5.2.9.
        If the "filter" URI parameter was supplied in the request, the data in the response body shall have been
        transformed according to the rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013.
        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.
        200 OK
        Shall be returned when the request has been processed successfully.
        The response body shall contain a data structure of type "CapacityThresholdModifications".
      headers:
        Version:
          description: |
@@ -752,17 +541,16 @@ components:
      content:
        application/json:
          schema:
            type: array
            items:
              $ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/NfviCapacityInfoSubscription
            $ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/CapacityThresholdModifications

    NfviCiSubscriptions.Post:
    IndividualCapacityThreshold.Patch.412:
      description: |
        Shall be returned when the subscription has been created successfully.
        A representation of the created subscription resource shall be returned in the response body, as defined in
        clause 10.5.2.9.
        The HTTP response shall include a "Location" HTTP header that contains the resource URI of the created subscription
        resource.
        412 PRECONDITION FAILED

        A precondition given in an HTTP request header is not fulfilled.
        Typically, this is due to an ETag mismatch, indicating that the resource was modified by another entity.
        The response body should contain a ProblemDetails structure, in which the "detail" attribute should convey
        more information about the error
      headers:
        Version:
          description: |
@@ -785,15 +573,18 @@ components:
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/NfviCapacityInfoSubscription

    NfviCiSubscription.Get:
    IndividualCapacityThreshold.Patch.422:
      description: |
        Shall be returned when the subscription has been read successfully.
        The response body shall contain a representation of the subscription resource, as defined in clause 10.5.2.9.
        422 UNPROCESSABLE ENTITY

        content type of the payload body is supported and the payload body of a request contains syntactically
        correct data but the data cannot be processed.
        The general cause for this error and its handling is specified in clause 6.4 of ETSI GS NFV-SOL 013 [16],
        including rules for the presence of the response body.
        Specifically in case of this resource, the response code 422 shall also be returned if the NFVO has tested
        the Notification endpoint as described in clause 10.4.6.3.2 and the test has failed.
        In this case, the "detail" attribute in the "ProblemDetails" structure shall convey more information about the error.
      headers:
        Version:
          description: |
@@ -819,66 +610,11 @@ components:
      content:
        application/json:
          schema:
            $ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/NfviCapacityInfoSubscription

    NfviCiSubscription.Delete:
      description: |
        Shall be returned when the subscription resource has been deleted successfully.
        The response body shall be empty.
      headers:
        Version:
          description: |
            Version of the API used in the response.
          style: simple
          explode: false
          schema:
            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.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: The MIME type of the body of the response.
          style: simple
          explode: false
          schema:
            type: string
      content: {}
            $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails"

    CapacityShortageNotification.Post:
    IndividualCapacityThreshold.Delete.204:
      description: |
        Shall be returned when the notification has been delivered successfully.
      headers:
        Version:
          description: |
            Version of the API used in the response.
          style: simple
          explode: false
          schema:
            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.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: The MIME type of the body of the response.
          style: simple
          explode: false
          schema:
            type: string
      content: {}

    CapacityShortageNotification.Get:
      description: |
        Shall be returned to indicate that the notification endpoint has been tested successfully.
        Shall be returned when the NFVI capacity threshold has been deleted successfully.
        The response body shall be empty.
      headers:
        Version:
@@ -903,76 +639,3 @@ components:
          schema:
            type: string
      content: {}

  callbacks:
    CapacityShortageNotification:
      '{$request.body#/callbackUri}':
        description: >-
          This resource represents a notification endpoint for NFVI capacity information.
          The API producer can use this resource to send notifications related to log management events to a
          subscribed API consumer, which has provided the URI of this resource during the capacity threshold
          creation process.
        post:
          description: >-
            The POST method delivers a notification regarding an NFVI capacity information event from the API producer
            to an API consumer. The API consumer shall have previously created an "Individual capacity threshold" resource"
          parameters:
            - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
            - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
          requestBody:
            $ref: "#/components/requestBodies/CapacityShortageNotificationRequest"
          responses:
            "204":
              $ref: '#/components/responses/CapacityShortageNotification.Post'
            "400":
              $ref: ../responses/SOL005_resp.yaml#/components/responses/400
            "401":
              $ref: ../responses/SOL005_resp.yaml#/components/responses/401
            "403":
              $ref: ../responses/SOL005_resp.yaml#/components/responses/403
            "404":
              $ref: ../responses/SOL005_resp.yaml#/components/responses/404
            "405":
              $ref: ../responses/SOL005_resp.yaml#/components/responses/405
            "406":
              $ref: ../responses/SOL005_resp.yaml#/components/responses/406
            "422":
              $ref: ../responses/SOL005_resp.yaml#/components/responses/422
            "500":
              $ref: ../responses/SOL005_resp.yaml#/components/responses/500
            "503":
              $ref: ../responses/SOL005_resp.yaml#/components/responses/503
            "504":
              $ref: ../responses/SOL005_resp.yaml#/components/responses/504

        get:
          description: >-
            The GET method allows the API producer to test the notification endpoint that is provided by the API consumer,
            e.g. during creation of the capacity threshold resource.
          parameters:
            - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
            - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
            - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
          responses:
            "204":
              $ref: '#/components/responses/CapacityShortageNotification.Get'
            "400":
              $ref: ../responses/SOL005_resp.yaml#/components/responses/400
            "401":
              $ref: ../responses/SOL005_resp.yaml#/components/responses/401
            "403":
              $ref: ../responses/SOL005_resp.yaml#/components/responses/403
            "404":
              $ref: ../responses/SOL005_resp.yaml#/components/responses/404
            "405":
              $ref: ../responses/SOL005_resp.yaml#/components/responses/405
            "406":
              $ref: ../responses/SOL005_resp.yaml#/components/responses/406
            "422":
              $ref: ../responses/SOL005_resp.yaml#/components/responses/422
            "500":
              $ref: ../responses/SOL005_resp.yaml#/components/responses/500
            "503":
              $ref: ../responses/SOL005_resp.yaml#/components/responses/503
            "504":
              $ref: ../responses/SOL005_resp.yaml#/components/responses/504
 No newline at end of file
+77 −0
Changes for src/SOL005/NFVICapacityInformationNotification/definitions/SOL005NFVICapacityInformationNotification_def.yaml: 77 added lines, 0 removed lines.
Original line number Diff line number Diff line
# Copyright (c) ETSI 2017.
# https://forge.etsi.org/etsi-forge-copyright-notice.txt
components:
  schemas:
    CapacityShortageNotification:
      type: object
      description: |
        This notification informs the receiver that the available NFVI capacity has crossed below a threshold value or
        has re-covered from a capacity shortage. It shall comply with the provisions defined in Table 10.5.2.10-1.
        NOTE:	Refer to the definition of the "CapacityThreshold" in clause 10.5.2.7
      required:
        - id
        - notificationType
        - thresholdId
        - timeStamp
        - direction
        - capacityInformation
        - objectInstanceId
      properties:
        id:
          description: |
            Identifier of this notification. If a notification is sent multiple times due to multiple subscriptions,
            the "id" attribute of all these notifications shall have the same value.
          $ref: ../../definitions/SOL005_def.yaml#/definitions/Identifier
        notificationType:
          description: |
            Discriminator for the different notification types.
            Shall be set to "CapacityShortageNotification" for this notification type.
          type: string
        thresholdId:
          description: |
            Identifier of the threshold which has been crossed
          $ref: ../../definitions/SOL005_def.yaml#/definitions/Identifier
        timeStamp:
          description: |
            Date and time of the generation of the notification.
          $ref: ../../definitions/SOL005_def.yaml#/definitions/DateTime
        objectInstanceId:
          description: |
            Identifies the VIM’s NFVI capacity information instance (measured object instance) in which the available
            NFVI capacity has crossed a threshold value. See note.
          $ref: ../../definitions/SOL005_def.yaml#/definitions/Identifier
        subObjectInstanceId:
          description: |
            Identifier of the sub-object of the measured object to which the measurement applies.
            Refer to the definition of the "CapacityThreshold" in clause 10.5.2.7.
          $ref: ../../definitions/SOL005_def.yaml#/definitions/IdentifierInVim
        direction:
          description: |
            Specifies if the threshold has been crossed in UP or DOWN direction.
          type: string
          enum:
            - UP
            - DOWN
        capacityInformation:
          description: |
            Information about the available, reserved, allocated/used, and total capacity of the NFVI.
            If the threshold creation process  does specify a resource zone and/or vimId, the information is provided
            for the resource zone/vimId where the NFVI capacity has crossed the thresholdas indicated by the
            "subObjectInstanceId" and "objectInstanceId" attributes.
          $ref: ../../NFVICapacityInformation/definitions/NFVICapacityInformation_def.yaml#/components/schemas/NfviCapacityMeasurement
        _links:
          description: |
            Links to resources related to this notification.
          type: object
          required:
            - threshold
          properties:
            objectInstance:
              description: |
                Link to the resource representing the measured object instance to which the notified change applies.
                Shall be present if the measured object instance information is accessible as a resource.
              $ref: ../../definitions/SOL005_def.yaml#/definitions/NotificationLink
            threshold:
              description: |
                Link to the resource that represents the threshold that was crossed.
              $ref: ../../definitions/SOL005_def.yaml#/definitions/NotificationLink
 No newline at end of file
+147 −0
Changes for src/SOL005/NFVICapacityInformationNotification/NFVICapacityInformationNotification.yaml: 147 added lines, 0 removed lines.
Original line number Diff line number Diff line
openapi: 3.0.2

info:
  title: SOL005 - NFVI Capacity Information Notification Interface
  description: |
    SOL005 - NFVI Capacity Information Notification 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/SOL005/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

externalDocs:
  description: ETSI GS NFV-SOL 005 V3.5.1
  url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.05.01_60/gs_nfv-sol005v030501p.pdf

servers:
  - url: http://127.0.0.1/callback/v1
  - url: https://127.0.0.1/callback/v1

paths:
  ###############################################################################
  # Notification endpoint NsdOnBoardingNotification                             #
  ###############################################################################
  /URI_is_provided_by_the_client_when_creating_the_subscription-CapacityShortageNotification:
    parameters:
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept

    post:
      description: |
        The POST method delivers a notification regarding an NFVI capacity information event from the API producer to
        an API consumer. The API consumer shall have previously created an "Individual capacity threshold" resource.
        See clause 10.4.6.3.1.
      parameters:
        - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType
      requestBody:
        $ref: '#/components/requestBodies/CapacityShortageNotification'
      responses:
        204:
          $ref: '#/components/responses/CapacityShortageNotification.Post.204'
        400:
          $ref: "../responses/SOL005_resp.yaml#/components/responses/400"
        401:
          $ref: "../responses/SOL005_resp.yaml#/components/responses/401"
        403:
          $ref: "../responses/SOL005_resp.yaml#/components/responses/403"
        404:
          $ref: "../responses/SOL005_resp.yaml#/components/responses/404"
        405:
          $ref: "../responses/SOL005_resp.yaml#/components/responses/405"
        406:
          $ref: "../responses/SOL005_resp.yaml#/components/responses/406"
        500:
          $ref: "../responses/SOL005_resp.yaml#/components/responses/500"
        503:
          $ref: "../responses/SOL005_resp.yaml#/components/responses/503"

    get:
      description: |
        The GET method allows the API producer to test the notification endpoint that is provided by the API consumer,
        e.g. during creation of the capacity threshold resource. See clause 10.4.6.3.2.
      responses:
        204:
          $ref: '#/components/responses/CapacityShortageNotification.Get.204'
        400:
          $ref: "../responses/SOL005_resp.yaml#/components/responses/400"
        401:
          $ref: "../responses/SOL005_resp.yaml#/components/responses/401"
        403:
          $ref: "../responses/SOL005_resp.yaml#/components/responses/403"
        404:
          $ref: "../responses/SOL005_resp.yaml#/components/responses/404"
        405:
          $ref: "../responses/SOL005_resp.yaml#/components/responses/405"
        406:
          $ref: "../responses/SOL005_resp.yaml#/components/responses/406"
        500:
          $ref: "../responses/SOL005_resp.yaml#/components/responses/500"
        503:
          $ref: "../responses/SOL005_resp.yaml#/components/responses/503"

components:
  requestBodies:
    CapacityShortageNotification:
      description: |
        A notification about the successful on-boarding of an NSD.
      content:
        application/json:
          schema:
            $ref: "definitions/SOL005NFVICapacityInformationNotification_def.yaml#/components/schemas/CapacityShortageNotification"
      required: true

  responses:
    CapacityShortageNotification.Post.204:
      description: |
        204 NO CONTENT

        Shall be returned when the notification has been delivered successfully.
      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: |
            Version of the API used in the response.
          style: simple
          explode: false
          schema:
            type: string

    CapacityShortageNotification.Get.204:
      description: |
        204 NO CONTENT

        Shall be returned when the notification endpoint has been tested successfully.
        The response body shall be empty.
      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: |
            Version of the API used in the response.
          style: simple
          explode: false
          schema:
            type: string
Loading
Loading