Newer
Older
components:
schemas:
NfviCapacityInfo:
type: object
description: |
This type defines the format of the NFVI capacity information. The type shall comply with the provisions defined
in Table 10.5.2.4-1.
required:
- id
- vimId
- capacityInfoPerZone
properties:
id:
description: |
Identifier of this NFVI capacity information. Its value shall be the same as vimId.
$ref: ../../definitions/SOL005_def.yaml#/definitions/Identifier
vimId:
description: |
Identifies the VIM to which the NFVI capacity information is associated.
$ref: ../../definitions/SOL005_def.yaml#/definitions/Identifier
capacityInfoPerZone:
description: |
Capacity information on a per resource zone basis under control by the associated VIM.
type: array
items:
$ref: '#/components/schemas/NfviCapacityInfoPerZone'
totalCapacityInfo:
description: |
Total capacity information associated to the VIM.
$ref: '#/components/schemas/NfviCapacityMeasurement'
timeInterval:
description: |
Time interval of the NFVI capacity information.
$ref: '#/components/schemas/TimeInterval'
type: object
description: |
This type represents a capacity threshold. It shall comply with the provisions defined in table 10.5.2.8-1.
required:
- id
- objectInstanceId
- criteria
- _links
properties:
id:
description: |
Identifier of this capacity threshold resource.
$ref: ../../definitions/SOL005_def.yaml#/definitions/Identifier
objectInstanceId:
description: |
Identifier of the VIM instance associated with the capacity threshold.
$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.
type: array
items:
$ref: ../../definitions/SOL005_def.yaml#/definitions/IdentifierInVim
criteria:
description: |
Criteria that define this capacity threshold.
$ref: '#/components/schemas/CapacityThresholdCriteria'
callbackUri:
description: |
The URI of the endpoint to send the notification to.
$ref: ../../definitions/SOL005_def.yaml#/definitions/Uri
_links:
type: object
description: |
Links for this resource.
required:
- self
properties:
self:
description: |
URI of this resource.
$ref: ../../definitions/SOL005_def.yaml#/definitions/Link
object:
description: |
Link to a resource representing the VIM’s NFVI capacity information. Shall be present if the VIM’s NFVI
capacity information is accessible as a resource.
$ref: ../../definitions/SOL005_def.yaml#/definitions/Link
CreateCapacityThresholdRequest:
type: object
description: |
This type represents a request to create a capacity threshold. It shall comply with the provisions defined in
table 10.5.2.3-1.
required:
- objectInstanceId
- criteria
properties:
objectInstanceId:
description: |
Identifier of the VIM instance associated with this capacity threshold.
$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 will be taken for all sub-object instances of the measured object instance.
type: array
items:
$ref: ../../definitions/SOL005_def.yaml#/definitions/IdentifierInVim
criteria:
description: |
Criteria that define this capacity threshold.
$ref: '#/components/schemas/CapacityThresholdCriteria'
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 capacity threshold, as defined in clause 8.3.4 of ETSI GS NFV-SOL 013.
This attribute shall only be present if the API consumer requires authorization of notifications.
$ref: ../../definitions/SOL005_def.yaml#/definitions/SubscriptionAuthentication
NfviCapacityInfoSubscription:
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
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
- timeStamp
- direction
- capacityInformation
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.
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
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
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.
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
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
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.
required:
- capacityMetric
- thresholdType
properties:
capacityMetric:
description: |
Defines the capacity metric for which the threshold applies.
type: object
required:
- resourceType
- capacityMeasurementName
- capacityType
properties:
resourceType:
description: |
Type of resource.
$ref: '#/components/schemas/NfviCapacityResourceTypeEnumeration'
capacityMeasurementName:
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.
capacityType:
description: |
The type of capacity for the threshold.
Permitted values:
- TOTAL: for total capacity.
- ALLOCATED: for allocated/used capacity.
- RESERVED: for reserved capacity.
- AVAILABLE: for available capacity.
type: string
enum:
- TOTAL
- ALLOCATED
- RESERVED
- AVAILABLE
thresholdType:
description: |
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.
type: string
enum:
- SIMPLE
simpleThresholdDetails:
description: |
Details of a simple threshold. Shall be present if thresholdType="SIMPLE".
type: array
items:
type: object
required:
- thresholdValue
- hysteresis
properties:
thresholdValue:
description: |
The threshold value. Shall be represented as a floating point number.
type: number
hysteresis:
description: |
The hysteresis of the threshold.
Shall be represented as a non-negative floating point number.
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).
type: number
NfviCapacityInfoPerZone:
type: object
description: |
This type defines the format of the NFVI capacity information on a per resource zone basis.
The type shall comply with the provisions defined in table 10.5.2.5-1.
required:
- capacityMeasurements
properties:
resourceZoneId:
description: |
Identifies the resource zone of the applicable NFVI capacity information.
$ref: ../../definitions/SOL005_def.yaml#/definitions/Identifier
capacityMeasurements:
description: |
Capacity measurement on a per resource type basis.
type: array
items:
$ref: '#/components/schemas/NfviCapacityMeasurement'
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
TimeInterval:
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.
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.
$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.
$ref: ../../definitions/SOL005_def.yaml#/definitions/DateTime
NfviCapacityMeasurement:
type: object
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.
required:
- resourceType
- capacityMeasurementName
- totalCapacity
- allocatedCapacity
- availableCapacity
properties:
resourceType:
description: |
Type of resource.
$ref: '#/components/schemas/NfviCapacityResourceTypeEnumeration'
capacityMeasurementName:
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.
totalCapacity:
description: |
The total capacity.
allocatedCapacity:
description: |
The allocated/used capacity.
reservedCapacity:
description: |
The reserved capacity. Shall be present if the capacity measurement relates to a resource type and
(and sub-type) that is reservable.
availableCapacity:
description: |
The available capacity.
NfviCapacityResourceTypeEnumeration:
type: string
description: |
The enumeration NfviCapacityResourceTypeEnumeration shall comply with the provisions in table 10.5.4.3-1.
* VR_COMPUTE: For virtualised compute resource.
* VR_NETWORK: For virtualised network resource.
* VR_STORAGE: For virtualised storage resource.
* HOST_COMPUTE: For host compute resource.
enum:
- VR_COMPUTE
- VR_NETWORK
- VR_STORAGE
- HOST_COMPUTE
CapacityThresholdModifications:
description: |
This type represents modifications to a capacity threshold. It shall comply with the provisions defined in table 10.5.2.8-1.
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.
$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.
$ref: ../../definitions/SOL005_def.yaml#/definitions/SubscriptionAuthentication