NFVICapacityInformation_def.yaml 16.1 KB
Newer Older
1
2
3
components:
  schemas:
    NfviCapacityInfo:
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
      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.
24
25
26
          type: array
          items:
            $ref: '#/components/schemas/NfviCapacityInfoPerZone'
27
28
29
30
        timeInterval:
          description: |
            Time interval of the NFVI capacity information.
          $ref: '#/components/schemas/TimeInterval'
31
32

    CapacityThreshold:
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
      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
        criteria:
          description: |
            Criteria that define this capacity threshold.
          $ref: '#/components/schemas/CapacityThresholdCriteria'
        _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
70
71

    CreateCapacityThresholdRequest:
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
      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
        criteria:
          description: |
            Criteria that define this capacity threshold.
          $ref: '#/components/schemas/CapacityThresholdCriteria'
88
89

    NfviCapacityInfoSubscription:
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
      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
122
123

    NfviCapacityInfoSubscriptionRequest:
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
      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
145
146

    CapacityShortageNotification:
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
      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
        - subscriptionId
        - 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.
168
          type: string
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
        subscriptionId:
          description: |
            Identifier of the subscription that this notification relates to.
          $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
        resourceZoneId:
          description: |
            Identifies the resource zone in which the available NFVI capacity has crossed a threshold value.
            Cardinality is 0 if the subscription does not specify a particular resource zone and the overall available
            NFVI capacity has crossed the threshold.
          $ref: ../../definitions/SOL005_def.yaml#/definitions/Identifier
        vimId:
          description: |
            Identifies the VIM in which the available NFVI capacity has crossed a threshold value.
            Cardinality is 0 if the subscription does not specify a particular VIM and the overall available NFVI capacity
            has crossed the threshold.
          $ref: ../../definitions/SOL005_def.yaml#/definitions/Identifier
        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 subscription does specify a resource zone and/or vimId, the information is provided for the resource
            zone/vimId where the NFVI capacity has crossed the threshold.
201
          type: object
202
203
204
        _links:
          description: |
            Links to resources related to this notification.
205
          type: object
206

207
208
209
210
211
212
213
214
215
216
217
    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
218
219
220
221
222
          type: array
          items:
            type: string
            enum:
              - CapacityShortageNotification
223

224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
    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:
        resourceZoneId:
          description: |
            Defines the resource zone of the NFVI capacity information for which the capacity threshold applies.
          $ref: ../../definitions/SOL005_def.yaml#/definitions/Identifier
        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.
254
              type: string
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
            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.
          type: string
          enum:
            - SIMPLE
        simpleThresholdDetails:
          description: |
            Details of a simple threshold. Shall be present if thresholdType="SIMPLE".
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
          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
302

303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
    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.
318
319
320
          type: array
          items:
            $ref: '#/components/schemas/NfviCapacityMeasurement'
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362

    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.
363
          type: string
364
365
366
        totalCapacity:
          description: |
            The total capacity.
367
          type: object
368
369
370
        allocatedCapacity:
          description: |
            The allocated/used capacity.
371
          type: object
372
373
374
375
        reservedCapacity:
          description: |
            The reserved capacity. Shall be present if the capacity measurement relates to a resource type and
            (and sub-type) that is reservable.
376
          type: object
377
378
379
        availableCapacity:
          description: |
            The available capacity.
380
          type: object
381
382
383
384
385
386
387
388
389
390
391
392
393
394

    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