Loading src/SOL005/APIVersion/APIVersion.yaml +9 −5 Original line number Diff line number Diff line Loading @@ -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: Loading @@ -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/ Loading src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml +69 −406 File changed.Preview size limit exceeded, changes collapsed. Show changes src/SOL005/NFVICapacityInformation/definitions/NFVICapacityInformation_def.yaml +25 −162 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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 Loading Loading @@ -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 Loading Loading @@ -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 Loading @@ -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: Loading @@ -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: Loading @@ -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 Loading @@ -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: | Loading Loading @@ -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 src/SOL005/NFVICapacityInformationNotification/NFVICapacityInformationNotification.yaml 0 → 100644 +147 −0 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 src/SOL005/NFVICapacityInformationNotification/definitions/SOL005NFVICapacityInformationNotification_def.yaml 0 → 100644 +77 −0 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 Loading
src/SOL005/APIVersion/APIVersion.yaml +9 −5 Original line number Diff line number Diff line Loading @@ -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: Loading @@ -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/ Loading
src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml +69 −406 File changed.Preview size limit exceeded, changes collapsed. Show changes
src/SOL005/NFVICapacityInformation/definitions/NFVICapacityInformation_def.yaml +25 −162 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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 Loading Loading @@ -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 Loading Loading @@ -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 Loading @@ -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: Loading @@ -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: Loading @@ -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 Loading @@ -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: | Loading Loading @@ -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
src/SOL005/NFVICapacityInformationNotification/NFVICapacityInformationNotification.yaml 0 → 100644 +147 −0 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
src/SOL005/NFVICapacityInformationNotification/definitions/SOL005NFVICapacityInformationNotification_def.yaml 0 → 100644 +77 −0 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