SOL002SOL003VNFLifecycleManagement_def.yaml 49 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# Copyright (c) ETSI 2017.
# https://forge.etsi.org/etsi-forge-copyright-notice.txt

definitions:
  AffectedVirtualLink:
    description: >
      This type provides information about added, deleted, modified and
      temporary VLs.
    type: object
    required:
      - id
      - virtualLinkDescId
      - changeType
      - networkResource
    properties:
      id: 
        description: >
          Identifier of the virtual link instance, identifying the applicable
          "vnfVirtualLinkResourceInfo" entry in the "VnfInstance" data type.
        $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf"
      virtualLinkDescId:
        description: >
          Identifier of the related VLD in the VNFD.
        $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd"
      changeType:
        description: >
          Signals the type of change. Permitted values:
          * ADDED
          * REMOVED
          * MODIFIED
          * TEMPORARY
          * LINK_PORT_ADDED
          * LINK_PORT_REMOVED
          For a temporary resource, an AffectedVirtualLink structure exists as
          long as the temporary resource exists.
        type: string
        enum:
          - ADDED
          - REMOVED
          - MODIFIED
          - TEMPORARY
          - LINK_PORT_ADDED
          - LINK_PORT_REMOVED
      networkResource:
        description: >
          Reference to the VirtualNetwork resource. Detailed information is
          (for new and modified resources) or has been (for removed
          resources) available from the VIM.
49
        $ref: "SOL002SOL003_def.yaml#/definitions/ResourceHandle"
50
51
52
53
54
55
      metadata:
        description: >
          Metadata about this resource.
          The content of this attribute shall be a copy of the content of the
          "metadata" attribute of the VnfVirtualLinkResourceInfo structure.
        $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96

  AffectedVirtualStorage:
    description: >
      This type provides information about added, deleted, modified and
      temporary virtual storage resources.
    type: object
    required:
      - id
      - virtualStorageDescId
      - changeType
      - storageResource
    properties:
      id:
        description: >
          Identifier of the storage instance, identifying the applicable
          "virtualStorageResourceInfo" entry in the "VnfInstance" data type.
        $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf"
      virtualStorageDescId:
        description: >
          Identifier of the related VirtualStorage descriptor in the VNFD.
        $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd"
      changeType:
        description: >
          Signals the type of change. Permitted values:
          * ADDED
          * REMOVED
          * MODIFIED
          * TEMPORARY
          For a temporary resource, an AffectedVirtualStorage structure exists
          as long as the temporary resource exists.
        type: string
        enum:
          - ADDED
          - REMOVED
          - MODIFIED
          - TEMPORARY
      storageResource:
        description: >
          Reference to the VirtualStorage resource. Detailed information is 
          (for new and modified resources) or has been (for removed
          resources) available from the VIM.
97
        $ref: "SOL002SOL003_def.yaml#/definitions/ResourceHandle"
98
99
100
101
102
103
      metadata:
        description: >
          Metadata about this resource.
          The content of this attribute shall be a copy of the content of the
          "metadata" attribute of the VirtualStorageResourceInfo structure.
        $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
104

105
  CpProtocolInfo:
106
    description: >
107
108
109
110
111
112
113
114
115
116
117
118
119
120
      This type describes the protocol layer(s) that a CP uses together with
      protocol-related information, like addresses. 
    required: 
      - layerProtocol
    properties: 
      layerProtocol:
        description: >
          The identifier of layer(s) and protocol(s) associated to the network
          address information. 
          Permitted values: IP_OVER_ETHERNET
          This attribute allows to signal the addition of further types of
          layer and protocol in future versions of the present document in a
          backwards-compatible way. In the current version of the present
          document, only IP over Ethernet is supported.
121
        type: string
122
123
124
        enum: 
          - IP_OVER_ETHERNET
      ipOverEthernet:
125
        description: >
126
127
128
129
          IP addresses over Ethernet to assign to the extCP instance. Shall be
          present if layerProtocol is equal to " IP_OVER_ETHERNET", and shall
          be absent otherwise.
        $ref: "#/definitions/IpOverEthernetAddressInfo"
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149

  CreateVnfRequest:
    type: object
    required:
      - vnfdId
    properties:
      vnfdId:
        description: >
          Identifier that identifies the VNFD which defines the VNF instance to
          be created.
        $ref: "SOL002SOL003_def.yaml#/definitions/Identifier"
      vnfInstanceName:
        description: >
          Human-readable name of the VNF instance to be created.
        type: string
      vnfInstanceDescription:
        description: >
          Human-readable description of the VNF instance to be created.
        type: string

150
  ExtManagedVirtualLinkInfo:
151
152
    type: object
    required:
153
154
      - id
      - vnfVirtualLinkDescId
155
    properties:
156
      id:
157
        description: >
158
159
160
161
162
163
          Identifier of the externally-managed internal VL and the related
          externally-managed VL information instance.
          The identifier is assigned by the NFV-MANO entity that manages this
          VL instance.
        $ref: "SOL002SOL003_def.yaml#/definitions/Identifier"
      vnfVirtualLinkDescId:
164
        description: >
165
166
167
168
169
170
171
172
173
          Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.
        $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf"
      networkResource:
        description: >
          Reference to the VirtualNetwork resource.
        $ref: "SOL002SOL003_def.yaml#/definitions/ResourceHandle"
      vnfLinkPorts:
        description: >
          Link ports of this VL.
174
175
        type: array
        items:
176
          $ref: "#/definitions/VnfLinkPortInfo"
177

178
  ExtLinkPortInfo:
179
    description: >
180
181
      This type represents information about a link port of an external VL,
      i.e. a port providing connectivity for the VNF to an NS VL. 
182
183
184
185
186
187
188
189
190
191
192
193
    type: object
    required:
      - id
      - resourceHandle
    properties:
      id:
        description: >
          Identifier of this link port as provided by the entity that has
          created the link port.
        $ref: "SOL002SOL003_def.yaml#/definitions/Identifier"
      resourceHandle:
        description: >
194
          Reference to the virtualised resource realizing this link
195
          port.
196
        $ref: "SOL002SOL003_def.yaml#/definitions/ResourceHandle"
197
198
      cpInstanceId:
        description: >
199
          Identifier of the external CP of the VNF connected to this link
200
201
202
203
204
205
206
207
208
209
210
211
212
          port. There shall be at most one link port associated with any
          external connection point instance. The value refers to an
          "extCpInfo" item in the VnfInstance.
        $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf"

  ExtVirtualLinkInfo:
    type: object
    required:
      - id
      - resourceHandle
    properties:
      id:
        description: >
213
214
215
216
          Identifier of the external VL and the related external VL
          information instance.
          The identifier is assigned by the NFV-MANO entity that manages this
          VL instance.
217
218
219
220
        $ref: "SOL002SOL003_def.yaml#/definitions/Identifier"
      resourceHandle:
        description: >
          Reference to the resource realizing this VL.
221
        $ref: "SOL002SOL003_def.yaml#/definitions/ResourceHandle"
222
      extLinkPorts:
223
224
        description: >
          Link ports of this VL.
225
226
227
        type: array
        items:
          $ref: "#/definitions/ExtLinkPortInfo"
228

229
  IpOverEthernetAddressInfo:
230
    description: >
231
232
      This type represents information about a network address that has been
      assigned. 
233
    type: object
234
235
    required: 
      - macAddress
236
    properties: 
237
      macAddress:
238
        description: >
239
240
241
          Assigned MAC address.
        $ref: "SOL002SOL003_def.yaml#/definitions/MacAddress"
      ipAddresses:
242
        description: >
243
244
245
246
247
248
249
250
251
252
253
254
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
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
          Addresses assigned to the CP instance. Each entry represents IP
          addresses assigned by fixed or dynamic IP address assignment per
          subnet.
        type: array
        items: 
          type: object
          required: 
            - type
          properties: 
            type:
              description: >
                The type of the IP addresses.
                Permitted values: IPV4, IPV6.
              type: string
              enum: 
                - IPV4
                - IPV6
            addresses:
              description: >
                Fixed addresses assigned (from the subnet defined by
                "subnetId" if provided).
              type: array
              items: 
                $ref: "SOL002SOL003_def.yaml#/definitions/IpAddress"
            isDynamic:
              description: >
                Indicates whether this set of addresses was assigned
                dynamically (true) or based on address information provided as
                input from the API consumer (false). Shall be present if
                "addresses" is present and shall be absent otherwise.
              type: boolean
            addressRange:
              description: >
                An IP address range used, e.g., in case of egress connections.
                Exactly one of "addresses" or "addressRange" shall be present.
              type: object
              required: 
                - minAddress
                - maxAddress
              properties:
                minAddress:
                  description: >
                    Lowest IP address belonging to the range.
                  $ref: "SOL002SOL003_def.yaml#/definitions/IpAddress"
                maxAddress:
                  description: >
                    Highest IP address belonging to the range
                  $ref: "SOL002SOL003_def.yaml#/definitions/IpAddress"
            subnetId:
              description: >
                Subnet defined by the identifier of the subnet resource in
                the VIM.
                In case this attribute is present, IP addresses are bound
                to that subnet.
              $ref: "SOL002SOL003_def.yaml#/definitions/IpAddress"
298
299
300
301
302
303
304
305
306
307
308
309
310
311

  LccnLinks:
    description: >
      This type represents the links to resources that a notification can
      contain.
    type: object
    required: 
      - vnfInstance
      - subscription
    properties: 
      vnfInstance:
        description: >
          Link to the resource representing the VNF instance to which the
          notified change applies.
312
        $ref: "SOL002SOL003_def.yaml#/definitions/Link"
313
314
315
      subscription:
        description: >
          Link to the related subscription.
316
        $ref: "SOL002SOL003_def.yaml#/definitions/Link"
317
318
319
320
321
      vnfLcmOpOcc:
        description: >
          Link to the VNF lifecycle management operation occurrence that this
          notification is related to. Shall be present if there is a related
          lifecycle operation occurrence.
322
        $ref: "SOL002SOL003_def.yaml#/definitions/Link"
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

  LccnSubscription:
    description: >
      This type represents a subscription related to notifications about VNF
      lifecycle changes.
    type: object
    required:
      - id
      - callbackUri
      - _links
    properties:
      id:
        description: >
          Identifier of this subscription resource.
        $ref: "SOL002SOL003_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: "#/definitions/LifecycleChangeNotificationsFilter"
      callbackUri:
        description: >
          The URI of the endpoint to send the notification to.
        $ref: "SOL002SOL003_def.yaml#/definitions/Uri"
      _links:
        description: >
          Links to resources related to this resource.
        type: object
        required:
          - self
        properties:
          self:
            description: >
              URI of this resource.
359
            $ref: "SOL002SOL003_def.yaml#/definitions/Link"
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386

  LccnSubscriptionRequest:
    description: >
      This type represents a subscription request related to notifications
      about VNF lifecycle changes.
    type: object
    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: "#/definitions/LifecycleChangeNotificationsFilter"
      callbackUri:
        description: >
          The URI of the endpoint to send the notification to.
        $ref: "SOL002SOL003_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 4.5.3.4.
          This attribute shall only be present if the subscriber requires
          authorization of notifications.
387
        $ref: "SOL002SOL003_def.yaml#/definitions/SubscriptionAuthentication"
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424

  LcmOperationStateType:
    description: >
      Value | Description
      ------|------------
      STARTING | The LCM operation is starting.
      PROCESSING | The LCM operation is currently in execution.
      COMPLETED | he LCM operation has been completed successfully.
      FAILED_TEMP | The LCM operation has failed and execution has stopped, but the execution of the operation is not considered to be closed.
      FAILED | The LCM operation has failed and it cannot be retried or rolled back, as it is determined that such action won't succeed.
      ROLLING_BACK | The LCM operation is currently being rolled back.
      ROLLED_BACK | The LCM operation has been successfully rolled back, i.e. The state of the VNF prior to the original operation invocation has been restored as closely as possible.
    type: string
    enum:
      - STARTING
      - PROCESSING
      - COMPLETED
      - FAILED_TEMP
      - FAILED
      - ROLLING_BACK
      - ROLLED_BACK

  LifecycleChangeNotificationsFilter:
    description: >
      This type represents a subscription filter related to notifications
      about VNF lifecycle changes.
      At a particular nesting level in the filter structure, the following
      applies: All attributes shall match in order for the filter to match
      (logical "and" between different filter attributes). If an attribute is
      an array, the attribute shall match if at least one of the values in
      the array matches (logical "or" between the values of one filter
      attribute).
    type: object
    properties:
      vnfInstanceSubscriptionFilter:
        description: >
          Filter criteria to select VNF instances about which to notify.
425
        $ref: "SOL002SOL003_def.yaml#/definitions/VnfInstanceSubscriptionFilter"
426
427
428
429
430
431
432
433
434
435
      notificationTypes:
        description: >
          Match particular notification types.
          Permitted values:
          * VnfLcmOperationOccurrenceNotification
          * VnfIdentifierCreationNotification
          * VnfIdentifierDeletionNotification
          The permitted values of the "notificationTypes" attribute are
          spelled exactly as the names of the notification types to
          facilitate automated code generation systems.
436
437
438
439
440
441
442
        type: array
        items:
          type: string
          enum:
            - VnfLcmOperationOccurrenceNotification
            - VnfIdentifierCreationNotification
            - VnfIdentifierDeletionNotification
443
444
445
446
447
448
449
450
451
      operationTypes:
        description: >
          Match particular VNF lifecycle operation types for the notification
          of type VnfLcmOperationOccurrenceNotification.
          May be present if the "notificationTypes" attribute contains the
          value "VnfLcmOperationOccurrenceNotification", and shall be absent
          otherwise.
        type: array
        items: 
452
          $ref: "SOL002SOL003_def.yaml#/definitions/LcmOperationType"
453
454
455
456
457
458
459
460
461
462
463
      operationStates:
        description: >
          Match particular LCM operation state values as reported in
          notifications of type VnfLcmOperationOccurrenceNotification.
          May be present if the "notificationTypes" attribute contains the
          value "VnfLcmOperationOccurrenceNotification", and shall be absent
          otherwise.
        type: array
        items: 
          $ref: "#/definitions/LcmOperationStateType"

464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
  MonitoringParameter:
    type: object
    required:
      - id
      - value
      - timeStamp
    properties:
      id:
        description: >
          Identifier of the monitoring parameter defined in the VNFD.
        $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd"
      name:
        description: >
          Human readable name of the monitoring parameter, as defined in the
          VNFD.
        type: string
      value:
        description: >
          Value of the monitoring parameter known to the VNFM (e.g. obtained
          for autoscaling purposes).
          The type of the "value" attribute (i.e. scalar, structure (Object in
          JSON), or array (of scalars, arrays or structures/Objects)) is
          assumed to be defined in an external measurement specification.
        type: object
      timeStamp:
        description: >
          Represents the point in time when the measurement has been performed,
          as known to the VNFM.
          Should be formatted according to ETF RFC 3339.
        type: string

495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
  ScaleInfo:
    required:
      - aspectId
      - scaleLevel
    type: object
    properties:
      aspectId:
        description: >
          Identifier of the scaling aspect.
        $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd"
      scaleLevel:
        description: >
          Indicates the scale level. The minimum value shall be 0 and the
          maximum value shall be <= maxScaleLevel as described in the VNFD.
        type: integer

  ScaleVnfRequest:
    type: object
    required:
      - type
      - aspectId
    properties:
      type:
        description: >
          Indicates the type of the scale operation requested.
          Permitted values:
          * SCALE_OUT: adding additional VNFC instances to the VNF to increase
            capacity
          * SCALE_IN: removing VNFC instances from the VNF in order to release
            unused capacity.
        type: string
        enum: 
          - SCALE_OUT
          - SCALE_IN
      aspectId:
        description: >
          Identifier of the scaling aspect.
        $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd"
      numberOfSteps:
        description: >
          Number of scaling steps to be executed as part of this Scale VNF
          operation. It shall be a positive number and the default value
          shall be 1.
        type: integer
        default: 1
      additionalParams:
        description: >
          Additional parameters passed by the NFVO as input to the scaling
          process, specific to the VNF being scaled, as declared in the VNFD
          as part of "ScaleVnfOpConfig".
        $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs"

  ScaleVnfToLevelRequest:
    description: >
      This type represents request parameters for the "Scale VNF to Level"
      operation.
    type: object
    properties:
      instantiationLevelId:
        description: > 
          Identifier of the target instantiation level of the current
          deployment flavour to which the VNF is requested to be scaled.
          Either the instantiationLevelId attribute or the scaleInfo attribute
          shall be included.
        $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd"
      scaleInfo:
        description: >
          For each scaling aspect of the current deployment flavour, indicates
          the target scale level to which the VNF is to be scaled.
          Either the instantiationLevelId attribute or the scaleInfo attribute
          shall be included.
        type: array
        items:
          $ref: "#/definitions/ScaleInfo"
      additionalParams:
        description: >
          Additional parameters passed by the NFVO as input to the scaling
          process, specific to the VNF being scaled, as declared in the
          VNFD as part of "ScaleVnfToLevelOpConfig".
        $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs"

  StopType:
    description: >
      * FORCEFUL: The VNFM will stop the VNF immediately after accepting the
        request.
      * GRACEFUL: The VNFM will first arrange to take the VNF out of service
        after accepting the request. Once that operation is successful or once
        the timer value specified in the "gracefulStopTimeout" attribute
        expires, the VNFM will stop the VNF.
    type: string
    enum:
      - FORCEFUL
      - GRACEFUL

  Version:
    description: >
      A Version.
    type: string

594
595
596
597
  VirtualStorageResourceInfo:
    description: >
      This type represents the information that allows addressing a virtualised
      resource that is used by a VNF instance.
598
599
600
    type: object
    required:
      - id
601
602
      - virtualStorageDescId
      - storageResource
603
604
605
    properties:
      id:
        description: >
606
607
608
          Identifier of this VirtualStorageResourceInfo instance.
        $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf"
      virtualStorageDescId:
609
        description: >
610
611
612
613
614
615
616
617
618
619
          Identifier of the VirtualStorageDesc in the VNFD.
        $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd"
      storageResource:
        description: >
          Reference to the VirtualStorage resource.
        $ref: "SOL002SOL003_def.yaml#/definitions/ResourceHandle"
      reservationId:
        description: >
          The reservation identifier applicable to the resource. It shall be
          present when an applicable reservation exists.
620
        $ref: "SOL002SOL003_def.yaml#/definitions/Identifier"
621
      metadata:
622
        description: >
623
          Metadata about this resource.
624
        $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
625
626

  VnfcResourceInfo:
627
    description: >
628
629
      This type represents the information on virtualised compute and storage
      resources used by a VNFC in a VNF instance.
630
    type: object
631
632
633
634
635
636
    required:
      - id
      - vduId
      - computeResource
    properties:
      id:
637
        description: >
638
639
640
641
642
          Identifier of this VnfcResourceInfo instance.
        $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf"
      vduId:
        description: >
          Reference to the applicable VDU in the VNFD.
643
        $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd"
644
      computeResource:
645
        description: >
646
647
648
649
650
651
          Reference to the VirtualCompute resource.
        $ref: "SOL002SOL003_def.yaml#/definitions/ResourceHandle"
      storageResourceIds:
        description: >
          References to the VirtualStorage resources. The value refers to a
          VirtualStorageResourceInfo item in the VnfInstance.
652
653
        type: array
        items:
654
655
          $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf"
      reservationId:
656
        description: >
657
658
659
660
661
662
663
664
665
          The reservation identifier applicable to the resource. It shall be
          present when an applicable reservation exists.
        $ref: "SOL002SOL003_def.yaml#/definitions/Identifier"
      vnfcCpInfo:
        description: >
          CPs of the VNFC instance.
          Shall be present when that particular CP of the VNFC instance is
          associated to an external CP of the VNF instance.
          May be present otherwise.
666
667
        type: array
        items:
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
          type: object
          required:
            - id
            - cpdId
          properties:
            id:
              description: >
                Identifier of this VNFC CP instance and the associated array
                entry.
              $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf"
            cpdId:
              description: >
                Identifier of the VDU CPD, cpdId, in the VNFD.
              $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd"
            vnfExtCpId:
              description: >
                When the VNFC CP is exposed as external CP of the VNF, the
                identifier of this external VNF CP.
              $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf"
            cpProtocolInfo:
              description: >
                Network protocol information for this CP.
              type: array
              items:
                $ref: "#/definitions/CpProtocolInfo"
            vnfLinkPortId:
              description: >
                Identifier of the "vnfLinkPorts" structure in the
                "vnfVirtualLinkResourceInfo" structure. Shall be present if
                the CP is associated to a link port.
              $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf"
      metadata:
        description: >
          Metadata about this resource.
        $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
703
704
705
706
707
708

  VnfIdentifierCreationNotification:
    description: >
      This type represents a VNF identifier creation notification, which
      informs the receiver of the creation of a new VNF instance resource and
      the associated VNF instance identifier.
709
710
      This notification shall be triggered by the VNFM when it has created a
      VNF instance resource and the associated VNF instance identifier.
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
    type: object
    required: 
      - id
      - notificationType
      - timeStamp
      - vnfInstanceId
      - _links
    properties:
      id:
        description: >
          Identifier of the VNF instance.
        $ref: "SOL002SOL003_def.yaml#/definitions/Identifier"
      notificationType:
        description: >
          Discriminator for the different notification types. Shall be set to
          "VnfIdentifierCreationNotification" for this notification type.
        type: string
        enum:
          - VnfIdentifierCreationNotification
      subscriptionId:
        description: >
          Identifier of the subscription that this notification relates to.
        $ref: "SOL002SOL003_def.yaml#/definitions/Identifier"
      timeStamp:
        description: >
          Date-time of the generation of the notification.
        $ref: "SOL002SOL003_def.yaml#/definitions/DateTime"
      vnfInstanceId:
        description: >
          The created VNF instance identifier.
        $ref: "SOL002SOL003_def.yaml#/definitions/Identifier"
      _links:
        description: >
          Links to resources related to this notification.
        $ref: "#/definitions/LccnLinks"

  VnfIdentifierDeletionNotification:
    description: >
      This type represents a VNF identifier deletion notification, which
      informs the receiver of the deletion of a new VNF instance resource and
      the associated VNF instance identifier.
752
753
      This notification shall be triggered by the VNFM when it has deleted a
      VNF instance resource and the associated VNF instance identifier.
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
    type: object
    required: 
      - id
      - notificationType
      - timeStamp
      - vnfInstanceId
      - _links
    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: "SOL002SOL003_def.yaml#/definitions/Identifier"
      notificationType:
        description: >
          Discriminator for the different notification types. Shall be set to
          "VnfIdentifierDeletionNotification" for this notification type.
        type: string
        enum:
          - VnfIdentifierDeletionNotification
      subscriptionId:
        description: >
          Identifier of the subscription that this notification relates to.
        $ref: "SOL002SOL003_def.yaml#/definitions/Identifier"
      timeStamp:
        description: >
          Date-time of the generation of the notification.
        $ref: "SOL002SOL003_def.yaml#/definitions/DateTime"
      vnfInstanceId:
        description: >
          The deleted VNF instance identifier.
        $ref: "SOL002SOL003_def.yaml#/definitions/Identifier"
      _links:
        description: >
          Links to resources related to this notification.
        $ref: "#/definitions/LccnLinks"

  VnfInfoModifications:
    description: >
794
795
796
797
798
799
      This type represents attribute modifications that were performed on an
      "Individual VNF instance" resource. The attributes that can be included
      consist of those requested to be modified explicitly in the
      "VnfInfoModificationRequest" data structure, and additional attributes
      of the "VnfInstance" data structure that were modified implicitly e.g.
      when modifying the referenced VNF package.
800
801
802
803
    type: object
    properties:
      vnfInstanceName:
        description: >
804
805
          If present, this attribute signals modifications of the
          "vnfInstanceName" attribute in "VnfInstance".
806
807
808
        type: string
      vnfInstanceDescription:
        description: >
809
810
          If present, this attribute signals modifications of the
          "vnfInstanceDescription" attribute in "VnfInstance".
811
812
813
        type: string
      vnfConfigurableProperties:
        description: >
814
815
          If present, this attribute signals modifications of the
          "vnfConfigurableProperties" attribute in "VnfInstance".
816
817
818
        $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
      metadata:
        description: >
819
820
          If present, this attribute signals modifications of the "metadata"
          attribute in "VnfInstance".
821
822
823
        $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
      extensions:
        description: >
824
825
          If present, this attribute signals modifications of the "extensions"
          attribute in "VnfInstance".
826
827
828
        $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
      vimConnectionInfo:
        description: >
829
830
          If present, this attribute signals modifications of certain entries
          in the "vimConnectionInfo" attribute array in "VnfInstance".
831
832
        type: array
        items:
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
          $ref: "SOL002SOL003_def.yaml#/definitions/VimConnectionInfo"
      vnfPkgId:
        description: >
          If present, this attribute signals modifications of the "vnfPkgId"
          attribute in "VnfInstance".
        $ref: "SOL002SOL003_def.yaml#/definitions/Identifier"
      vnfdId:
        description: >
          If present, this attribute signals modifications of the "vnfdId"
          attribute in "VnfInstance". 
          If present, this attribute (which depends on the value of the
          "vnfPkgId" attribute) was modified implicitly following a request to
          modify the "vnfPkgId" attribute, by copying the value of this
          attribute from the VNFD in the VNF Package identified by the
          "vnfPkgId” attribute.
        $ref: "SOL002SOL003_def.yaml#/definitions/Identifier"
      vnfProvider:
        description: >
          If present, this attribute signals modifications of the
          "vnfProvider" attribute in "VnfInstance".
          If present, this attribute (which depends on the value of the
          "vnfPkgId" attribute) was modified implicitly following a request to
          modify the "vnfPkgId" attribute, by copying the value of this
          attribute from the VNFD in the VNF Package identified by the
          "vnfPkgId” attribute.
        type: string
      vnfProductName:
        description: >
          If present, this attribute signals modifications of the
          "vnfProductName" attribute in "VnfInstance".
          If present, this attribute (which depends on the value of the
          "vnfPkgId" attribute) was modified implicitly following a request to
          modify the "vnfPkgId" attribute, by copying the value of this
          attribute from the VNFD in the VNF Package identified by the
          "vnfPkgId” attribute.
        type: string
      vnfSoftwareVersion:
        description: >
          If present, this attribute signals modifications of the
          "vnfSoftwareVersion" attribute in "VnfInstance". 
        $ref: "SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/Version"
      vnfdVersion:
        description: >
          If present, this attribute signals modifications of the
          "vnfdVersion" attribute in "VnfInstance".
          If present, this attribute (which depends on the value of the
          "vnfPkgId" attribute) was modified implicitly following a request to
          modify the "vnfPkgId" attribute, by copying the value of this
          attribute from the VNFD in the VNF Package identified by the
          "vnfPkgId” attribute.
        $ref: "SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/Version"
884

885
  VnfInstance:
886
    description: >
887
      This type represents a VNF instance.
888
889
890
    type: object
    required:
      - id
891
892
893
894
895
896
897
      - vnfdId
      - vnfProvider
      - vnfProductName
      - vnfSoftwareVersion
      - vnfdVersion
      - vnfPkgId
      - instantiationState
898
899
900
    properties:
      id:
        description: >
901
          Identifier of the VNF instance.
902
        $ref: "SOL002SOL003_def.yaml#/definitions/Identifier"
903
      vnfInstanceName:
904
        description: >
905
906
          Name of the VNF instance.
          This attribute can be modified with the PATCH method.
907
        type: string
908
      vnfInstanceDescription:
909
        description: >
910
911
912
913
914
915
          Human-readable description of the VNF instance.
          This attribute can be modified with the PATCH method.
        type: string
      vnfdId:
        description: >
          Identifier of the VNFD on which the VNF instance is based.
916
        $ref: "SOL002SOL003_def.yaml#/definitions/Identifier"
917
      vnfProvider:
918
        description: >
919
920
921
          Provider of the VNF and the VNFD. The value is copied from the VNFD.
        type: string
      vnfProductName:
922
        description: >
923
          Name to identify the VNF Product. The value is copied from the VNFD.
924
        type: string
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
      vnfSoftwareVersion:
        description: >
          Software version of the VNF. The value is copied from the VNFD.
        $ref: "SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/Version"
      vnfdVersion:
        description: >
          Identifies the version of the VNFD. The value is copied from the VNFD.
        $ref: "SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/Version"
      vnfPkgId:
        description: >
          Identifier of information held by the NFVO about the specific VNF
          package on which the VNF is based. This identifier was allocated by
          the NFVO. This attribute can be modified with the PATCH method.
          Modifying the value of this attribute shall not be performed when
          conflicts exist between the previous and the newly referred VNF
          package, i.e. when the new VNFD is not changed with respect to the
          previous VNFD apart from referencing to other VNF software images.
          In order to avoid misalignment of the VnfInstance with the current
          VNF's on-boarded VNF Package, the values of attributes in the
          VnfInstance that have corresponding attributes in the VNFD shall be
          kept in sync with the values in the VNFD.
        $ref: "SOL002SOL003_def.yaml#/definitions/Identifier"
      vnfConfigurableProperties:
948
        description: >
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
          Current values of the configurable properties of the VNF instance. 
          Configurable properties referred in this attribute are declared in
          the VNFD.
          ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD
          based on TOSCA specifications.
          VNF configurable properties are sometimes also referred to as
          configuration parameters applicable to a VNF. Some of these are set
          prior to instantiation and cannot be modified if the VNF is
          instantiated, some are set prior to instantiation (are part of
          initial configuration) and can be modified later, and others can be
          set only after instantiation. The applicability of certain
          configuration may depend on the VNF and the required operation of
          the VNF at a certain point in time.
          These configurable properties include the following standard
          attributes, which are declared in the VNFD if auto-scaling and/or
          auto-healing are supported by the VNF: 
          * isAutoscaleEnabled: If present, the VNF supports auto-scaling. If
            set to true, auto-scaling is currently enabled. If set to false,
            auto-scaling is currently disabled. 
          * isAutohealEnabled: If present, the VNF supports auto-healing. If
            set to true, auto-healing is currently enabled. If set to false,
            auto-healing is currently disabled. 
          This attribute can be modified with the PATCH method.
        $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
      vimConnectionInfo:
974
        description: >
975
976
977
978
979
          Information about VIM connections to be used for managing the
          resources for the VNF instance. This attribute shall only be
          supported and present if VNF-related resource management in direct
          mode is applicable.
          This attribute can be modified with the PATCH method.
980
981
        type: array
        items:
982
983
          $ref: "SOL002SOL003_def.yaml#/definitions/VimConnectionInfo"
      instantiationState:
984
        description: >
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
          The instantiation state of the VNF.
        type: string
        enum:
          - NOT_INSTANTIATED
          - INSTANTIATED
      instantiatedVnfInfo:
        description: >
          Information specific to an instantiated VNF instance. This attribute
          shall be present if the instantiateState attribute value is
          INSTANTIATED.
        type: object
        required:
          - flavourId
          - vnfState
        properties:
          flavourId:
For faster browsing, not all history is shown. View entire blame