SOL002VNFLifecycleManagement_def.yaml 92.6 KB
Newer Older
1
2
3
4
5
6
7
# Copyright (c) ETSI 2017.
# https://forge.etsi.org/etsi-forge-copyright-notice.txt

definitions:
  VnfInstance:
    description: >
      This type represents a VNF instance.
Sana Zulfiqar's avatar
Sana Zulfiqar committed
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
      * NOTE 1:	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
                changed with respect to the previous VNFD in other aspects than merely 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.
      * NOTE 2:	ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications.
      * NOTE 3:	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.
      * NOTE 4:	Upon creation of the VnfInstance structure, the VNFM shall create and initialize all child
                attributes of "vnfConfigurableProperties", "metadata" and "extensions" that were declared
                in the VNFD with a defined initial value. The defined initial values can be declared in the VNFD,
                and/or, in case of "metadata", obtained from the "CreateVnfRequest" structure. Child attributes of
                "vnfConfigurableProperties", "metadata" and "extensions" that have no defined initial value shall
                not be created, in order to be consistent with the semantics of the JSON Merge Patch method
                (see IETF RFC 7396) that interprets null values as deletion request.
      * NOTE 5:	It is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case
                of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding
                to the same VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc
                and externally-managed multi-site VL instance (refer to clause 5.5.3.5).
      * NOTE 6:	Even though externally-managed internal VLs are also used for VNF-internal connectivity,
                they shall not be listed in the "vnfVirtualLinkResourceInfo" attribute as this would be redundant.

35
36
37
38
39
40
41
42
43
    type: object
    required:
      - id
      - vnfdId
      - vnfProvider
      - vnfProductName
      - vnfSoftwareVersion
      - vnfdVersion
      - instantiationState
44
      - _links
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
    properties:
      id:
        description: >
          Identifier of the VNF instance.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
      vnfInstanceName:
        description: >
          Name of the VNF instance.
          This attribute can be modified with the PATCH method.
        type: string
      vnfInstanceDescription:
        description: >
          Human-readable description of the VNF instance.
          This attribute can be modified with the PATCH method.
        type: string
      vnfdId:
        description: >
Sana Zulfiqar's avatar
Sana Zulfiqar committed
62
          Identifier of the VNFD on which the VNF instance is based. See note 1.
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
      vnfProvider:
        description: >
          Provider of the VNF and the VNFD. The value is copied from the VNFD.
        type: string
      vnfProductName:
        description: >
          Name to identify the VNF Product. The value is copied from the VNFD.
        type: string
      vnfSoftwareVersion:
        description: >
          Software version of the VNF. The value is copied from the VNFD.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Version"
      vnfdVersion:
        description: >
          Identifies the version of the VNFD. The value is copied from the VNFD.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Version"
      vnfConfigurableProperties:
        description: >
82
83
84
85
86
87
88
89
90
91
92
93
94
          Additional VNF-specific attributes that provide the current values 
          of the configurable properties of the VNF instance.
          These attributes represent values that are stored persistently in 
          the VnfInstance structure and that correspond to configuration 
          parameters of the VNF instance. 
          Modifying these attributes affects the configuration of the VNF 
          instance either directly (if the VNF instance is in INSTANTIATED 
          state at the time of the modification) or as part of the subsequent 
          VNF instantiation operation (if the VNF instance is in NOT_INSTANTIATED 
          state at the time of the modification).
          Configurable properties referred in these attributes shall be declared 
          in the VNFD. 
          The declaration of configurable properties in the VNFD can optionally 
Sana Zulfiqar's avatar
Sana Zulfiqar committed
95
96
97
          contain the specification of initial values. See note 2, note 3 and note 4. The VNFM
          shall reject requests to write configurable properties that are not declared in the
          VNFD with a "422 Unprocessable entity" error response as defined in clause 6.4 of ETSI GS NFV SOL 013.
98
99
100
101
102
103
104
105
106
          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.
Sana Zulfiqar's avatar
Sana Zulfiqar committed
107
108
109
110
111
          These configurable properties can be initialized with default values from the VNFD (see note 4).
          Configurable properties can be modified with values passed in the request structures of certain
          LCM operations, such as the InstantiateVnfRequest structure.
          Further, these configurable properties can be created, modified or deleted with the PATCH method.
          In addition, the provisions in clause 5.7 shall apply.
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
      instantiationState:
        description: >
          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
          - extCpInfo
        properties:
          flavourId:
            description: >
              Identifier of the VNF deployment flavour applied to this VNF instance.
            $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd"
          vnfState:
            description: >
              The state of the VNF instance.
            $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfOperationalStateType"
          scaleStatus:
            description: >
              Scale status of the VNF, one entry per aspect. Represents for every
              scaling aspect how "big" the VNF has been scaled w.r.t. that aspect.
Sana Zulfiqar's avatar
Sana Zulfiqar committed
143
144
              This attribute shall be present if the VNF supports scaling.
              See clause B.2 for an explanation of VNF scaling.
145
146
147
            type: array
            items:
              $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ScaleInfo"
148
149
150
151
152
153
154
          maxScaleLevels:
            description: >
              Maximum allowed scale levels of the VNF, one entry per aspect.
              This attribute shall be present if the VNF supports scaling.
            type: array
            items:
              $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ScaleInfo"
155
156
          extCpInfo:
            description: >
157
158
159
              Information about the external CPs exposed by the VNF instance. When trunking is enabled, the list of
              entries includes both, external CPs corresponding to parent ports of a trunk, and external CPs associated
              to sub-ports of a trunk.
160
161
162
163
            type: array
            minItems: 1
            items:
              $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfExtCpInfo"
164
165
166
167
168
169
170
171
172
          vipCpInfo:
            description: >
              VIP CPs that are part of the VNF instance. Shall be present when that particular VIP
              CP of the VNFC instance is associated to an external CP of the VNF instance.

              May be present otherwise.
            type: array
            items:
              $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VipCpInfo"
173
174
175
176
177
178
179
180
          extVirtualLinkInfo:
            description: >
              Information about the external VLs the VNF instance is connected to.
            type: array
            items:
              $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ExtVirtualLinkInfo"
          extManagedVirtualLinkInfo:
            description: >
181
              Information about the externally managed internal VLs of the VNF instance. See note 5 and note 6.
182
183
184
185
              It is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case of a
              multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same
              VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed
              multi-site VL instance (refer to clause 5.5.3.5).
186
187
              Even though externally-managed internal VLs are also used for VNF-internal connectivity,
              they shall not be listed in the "vnfVirtualLinkResourceInfo" attribute as this would be redundant.
188
189
            type: array
            items:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
190
              $ref: "#/definitions/ExtManagedVirtualLinkInfo"
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
          monitoringParameters:
            description: >
              Active monitoring parameters.
            type: array
            items:
              $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/MonitoringParameter"
          localizationLanguage:
            description: >
              Information about localization language of the VNF (includes e.g.
              strings in the VNFD). The localization languages supported by a VNF
              can be declared in the VNFD, and localization language selection can
              take place at instantiation time.
              The value shall comply with the format defined in IETF RFC 5646.
            type: string
          vnfcResourceInfo:
            description: >
              Information about the virtualised compute and storage resources used
              by the VNFCs of the VNF instance.
            type: array
            items:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
211
              $ref: "#/definitions/VnfcResourceInfo"
212
          vnfVirtualLinkResourceInfo:
213
214
            description: >
              Information about the virtualised network resources used by the VLs
215
216
217
              of the VNF instance. See note 6.
              Even though externally-managed internal VLs are also used for VNF-internal connectivity,
              they shall not be listed in the "vnfVirtualLinkResourceInfo" attribute as this would be redundant.
218
219
            type: array
            items:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
220
              $ref: "#/definitions/VnfVirtualLinkResourceInfo"
221
          vnfVirtualStorageResourceInfo:
222
223
224
225
            description: >
              Information on the virtualised storage resource(s) used as storage for the VNF instance.
            type: array
            items:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
226
              $ref: "#/definitions/VirtualStorageResourceInfo"
227
228
229
230
231
232
          vnfcInfo:
            description: >
              Information about the VNFC instances.
            type: array
            items:
              $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfcInfo"
233
234
      metadata:
        description: >
235
236
237
238
239
240
241
          Additional VNF-specific attributes that provide metadata describing the VNF instance.
          These attributes represent values that are stored persistently in the VnfInstance 
          structure for consumption by functional blocks that invoke the VNF lifecycle management 
          interface. They are not consumed by the VNFM, or the lifecycle management scripts.

          Modifying the values of these attributes has no effect on the VNF instance, it only 
          affects the information represented in the VnfInstance structure.
Sana Zulfiqar's avatar
Sana Zulfiqar committed
242
243
244
          Metadata that VNF provider foresees shall be declared in the VNFD. The declaration of metadata in
          the VNFD can optionally contain the specification of initial values. See note 2 and note 4. The VNFM shall
          accept requests to write metadata that are not  are declared in the VNFD.
245

Sana Zulfiqar's avatar
Sana Zulfiqar committed
246
          These attributes can be initialized with default values from VNFD (see note 4) and/or with values
247
248
          passed in the CreateVnfRequest structure (see clause 5.5.2.3).

Sana Zulfiqar's avatar
Sana Zulfiqar committed
249
          These attributes can be created, modified or removed with the PATCH method.
250
251
252
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
      extensions:
        description: >
Francesca Moscatelli's avatar
Francesca Moscatelli committed
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
          Additional VNF specific attributes that affect the lifecycle management of this VNF instance.
          These attributes represent values that are stored persistently in the VnfInstance structure for 
          consumption by the VNFM, or by the lifecycle management scripts during the execution of VNF 
          lifecycle management operations.
          
          All extensions that are allowed for the VNF are declared in the VNFD. The declaration of an 
          extension in the VNFD contains information on whether its presence is optional or required, 
          and optionally can specify an initial value. See note 2 and note 4. The VNFM shall reject 
          requests to write extension attributes that are not declared in the VNFD with a "422 Unprocessable 
          entity" error response as defined in clause 6.4 of ETSI GS NFV SOL 013.
          
          Modifying the values of these attributes has no direct effect on the VNF instance; however, the 
          modified attribute values can be considered during subsequent VNF lifecycle management operations, 
          which means that the modified values can indirectly affect the configuration of the VNF instance.
          
          These attributes can be initialized with default values from the VNFD (see note 4).
          
          These attributes can be modified with values passed in the request structures of certain LCM operations, 
          such as the InstantiateVnfRequest structure.
          
          Further, these attributes can be created, modified or deleted with the PATCH method. 
          
          In addition, the provisions in clause 5.7 shall apply.
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
      _links:
        description: >
          Links to resources related to this resource.
        type: object
        required:
          - self
        properties:
          self:
            description: URI of this resource.
            $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link"
          indicators:
            description: Indicators related to this VNF instance, if applicable.
            $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link"
          instantiate:
            description: >
292
              Link to the "Instantiate VNF task" resource, if the related operation
293
294
295
296
297
              is possible based on the current status of this VNF instance
              resource (i.e. VNF instance in NOT_INSTANTIATED state).
            $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link"
          terminate:
            description: >
298
              Link to the "Terminate VNF task" resource, if the related operation
299
300
301
302
303
              is possible based on the current status of this VNF instance
              resource (i.e. VNF instance is in INSTANTIATED state).
            $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link"
          scale:
            description: >
304
              Link to the "Scale VNF task" resource, if the related operation is
305
306
307
308
309
310
              supported for this VNF instance, and is possible based on the
              current status of this VNF instance resource (i.e. VNF instance
              is in INSTANTIATED state).
            $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link"
          scaleToLevel:
            description: >
311
              Link to the "Scale VNF to Level task" resource, if the related
312
313
314
315
316
317
              operation is supported for this VNF instance, and is possible
              based on the current status of this VNF instance resource
              (i.e. VNF instance is in INSTANTIATED state).
            $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link"
          changeFlavour:
            description: >
318
              Link to the "Change VNF flavour task" resource, if the related
319
320
321
322
323
324
              operation is supported for this VNF instance, and is possible
              based on the current status of this VNF instance resource
              (i.e. VNF instance is in INSTANTIATED state).
            $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link"
          heal:
            description: >
325
              Link to the "Heal VNF task" resource, if the related operation is
326
327
328
329
330
331
              supported for this VNF instance, and is possible based on the
              current status of this VNF instance resource
              (i.e. VNF instance is in INSTANTIATED state).
            $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link"
          operate:
            description: >
332
              Link to the "Operate VNF task" resource, if the related operation is
333
334
335
336
337
338
              supported for this VNF instance, and is possible based on the
              current status of this VNF instance resource
              (i.e. VNF instance is in INSTANTIATED state).
            $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link"
          changeExtConn:
            description: >
339
              Link to the "Change external VNF connectivity task" resource, if the related
340
341
342
              operation is possible based on the current status of this VNF
              instance resource (i.e. VNF instance is in INSTANTIATED state).
            $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link"
343
344
345
346
347
348
349
350
351
352
353
354
          createSnapshot:
            description: >
              Link to the "Create VNF snapshot task" resource, if the related operation is
              supported for this VNF instance and is possible based on the current status of
              this VNF instance resource (i.e., VNF instance is in INSTANTIATED state).
            $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link"
          revertToSnapshot:
            description: >
              Link to the "Revert to VNF snapshot task" resource, if the related operation is
              supported for this VNF instance and is possible based on the current status of this
              VNF instance resource (i.e., VNF instance is in INSTANTIATED state).
            $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link"
355

356
  InstantiateVnfRequest:
Sana Zulfiqar's avatar
Sana Zulfiqar committed
357
358
359
360
361
362
363
    description: >
      This type represents request parameters for the "Instantiate VNF" operation.
      * NOTE: The indication of externally-managed internal VLs is needed in case networks have been
              pre-configured for use with certain VNFs, for instance to ensure that these networks have certain
              properties such as security or acceleration features, or to address particular network topologies.
              The present document assumes that externally-managed internal VLs are managed by the NFVO and
              created towards the VIM.
364
365
    type: object
    required:
366
      - flavourId
367
    properties:
368
369
370
      flavourId:
        description: >
          Identifier of the VNF deployment flavour to be instantiated.
Giacomo Bernini's avatar
Giacomo Bernini committed
371
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd"
372
373
374
375
376
      instantiationLevelId:
        description: >
          Identifier of the instantiation level of the deployment flavour to be
          instantiated. If not present, the default instantiation level as
          declared in the VNFD is instantiated.
Giacomo Bernini's avatar
Giacomo Bernini committed
377
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd"
378
379
      extVirtualLinks:
        description: >
380
          Information about external VLs to connect the VNF to.
381
382
        type: array
        items:
Giacomo Bernini's avatar
Giacomo Bernini committed
383
          $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtVirtualLinkData"
384
385
      extManagedVirtualLinks:
        description: >
Sana Zulfiqar's avatar
Sana Zulfiqar committed
386
          Information about external VLs to connect the VNF to. See note.
387
388
        type: array
        items:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
389
          $ref: "#/definitions/ExtManagedVirtualLinkData"
390
391
392
393
394
      localizationLanguage:
        description: >
          Localization language of the VNF to be instantiated. The value shall
          comply with the format defined in IETF RFC 5646.
        type: string
395
396
397
      additionalParams:
        description: >
          Additional input parameters for the instantiation process, specific
398
399
          to the VNF being instantiated, as declared in the VNFD as part of
          "InstantiateVnfOpConfig".
Giacomo Bernini's avatar
Giacomo Bernini committed
400
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
401
402
      extensions:
        description: >
403
404
405
          If present, this attribute provides modifications to the default values, as obtained from the VNFD, of the
          "extensions" attribute in "VnfInstance", as defined in clause 5.5.2.2. Provisions for handling extensions
          during the operation are defined in clause 5.4.4.3.1.
Giacomo Bernini's avatar
Giacomo Bernini committed
406
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
407
408
      vnfConfigurableProperties:
        description: >
Francesca Moscatelli's avatar
Francesca Moscatelli committed
409
410
          If present, this attribute provides modifications to the default values, as obtained from the VNFD, of the 
          "vnfConfigurableProperties" attribute in "VnfInstance", as defined in clause 5.5.2.2. 
411
          Provisions for handling configurable properties during the operation are defined in clause 5.4.4.3.1.
412
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
413
414
415
416

  ChangeVnfFlavourRequest:
    description: >
      This type represents request parameters for the "Change VNF flavour" operation.
Sana Zulfiqar's avatar
Sana Zulfiqar committed
417
418
419
420
421
      * NOTE:	The indication of externally-managed internal VLs is needed in case networks have been
                pre-configured for use with certain VNFs, for instance to ensure that these networks have certain
                properties such as security or acceleration features, or to address particular network topologies.
                The present document assumes that externally-managed internal VLs are managed by the NFVO and
                created towards the VIM.
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
    type: object
    required:
      - newFlavourId
    properties:
      newFlavourId:
        description: >
          Identifier of the VNF deployment flavour to be instantiated.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd"
      instantiationLevelId:
        description: >
          Identifier of the instantiation level of the deployment flavour to
          be instantiated. If not present, the default instantiation level as
          declared in the VNFD is instantiated.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd"
      extVirtualLinks:
        description: >
          Information about external VLs to connect the VNF to.
        type: array
        items:
          $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtVirtualLinkData"
      extManagedVirtualLinks:
        description: >
Sana Zulfiqar's avatar
Sana Zulfiqar committed
444
          Information about external VLs to connect the VNF to. See note.
445
446
        type: array
        items:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
447
          $ref: "#/definitions/ExtManagedVirtualLinkData"
448
449
450
      additionalParams:
        description: >
          Additional input parameters for the instantiation process, specific
451
          to the VNF being instantiated, as declared in the VNFD as part of
452
453
          "InstantiateVnfOpConfig".
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
454
455
456
457
458
459
460
461
      extensions:
        description: >
          If present, this attribute provides modifications to the values of the "extensions" attribute in "VnfInstance",
          as defined in clause 5.5.2.2. Provisions for handling extensions during the operation, are defined in clause
          5.4.7.3.1.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
      vnfConfigurableProperties:
        description: >
462
463
          If present, this attribute provides modifications to the values of the “vnfConfigurableProperties” attribute in
          "VnfInstance", as defined in clause 5.5.2.2. Provisions for handling VNF configurable properties during the
464
465
          operation, are defined in clause 5.4.7.3.1.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
466

467
  TerminateVnfRequest:
Sana Zulfiqar's avatar
Sana Zulfiqar committed
468
469
470
471
472
473
    description: >
      This type represents request parameters for the "Terminate VNF" operation.
      * NOTE:	In case of forceful termination, the VNF instance is terminated immediately.
                If the VNF is still in service, this can adversely impact the network service,
                and therefore, the EM needs to determine if forceful termination is applicable
                in the particular situation.
474
475
476
477
478
479
    type: object
    required:
      - terminationType
    properties:
      terminationType:
        description: >
Sana Zulfiqar's avatar
Sana Zulfiqar committed
480
          Indicates the type of termination is requested. See note.
481
          Permitted values:
482
483
484
485
486
          * FORCEFUL: The VNFM will shut down the VNF and release the resources immediately after accepting the request.
          * GRACEFUL: The VNFM will first arrange to take the VNF out of service after accepting the request. Once the
            operation of taking the VNF out of service finishes (irrespective of whether it has succeeded or failed) or
            once the timer value specified in the "gracefulTerminationTimeout" attribute expires, the VNFM will shut down
            the VNF and release the resources.
487
488
489
        type: string
        enum:
          - FORCEFUL
490
491
492
493
494
495
496
497
498
499
          - GRACEFUL
      gracefulTerminationTimeout:
        description: >
          This attribute is only applicable in case of graceful termination. It defines the time to wait for the VNF to be
          taken out of service before shutting down the VNF and releasing the resources.
          The unit is seconds. If not given and the "terminationType" attribute is set to "GRACEFUL", it is expected that
          the VNFM waits for the successful taking out of service of the VNF, no matter how long it takes, before shutting
          down the VNF and releasing the resources.
        type: integer

500
501
502
503
504
505
506
      additionalParams:
        description: >
          Additional parameters passed by the NFVO as input to the termination
          process, specific to the VNF being terminated, as declared in the
          VNFD as part of "TerminateVnfOpConfig".
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"

507
508
509
510
511
  HealVnfRequest:
    type: object
    properties:
      vnfcInstanceId:
        description: >
512
513
514
          List of identifiers of VNFC instances for which a healing action is requested. Each identifier references the
          "id" attribute in a "VnfcInfo" structure. Cardinality can be "0" to denote that the request applies to the
          whole VNF and not a specific VNFC instance.
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
        type: array
        items:
          $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
      cause:
        description: >
          Indicates the reason why a healing procedure is required.
        type: string
      additionalParams:
        description: >
          Additional parameters passed by the NFVO as input to the healing
          process, specific to the VNF being healed, as declared in the VNFD
          as part of "HealVnfOpConfig".
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
      healScript:
        description: >
          Provides link to a script that should be executed as part
          of the healing action or a set of rules for healing procedure.
        type: string

  OperateVnfRequest:
    description: >
      This type represents request parameters for the "Operate VNF" operation.
Sana Zulfiqar's avatar
Sana Zulfiqar committed
537
538
539
540
541
542
543
      * NOTE:	The "stopType" and "gracefulStopTimeout" attributes shall be absent, when the "changeStateTo"
                attribute is equal to "STARTED". The "gracefulStopTimeout" attribute shall be present, when the
                "changeStateTo" is equal to "STOPPED" and the "stopType" attribute is equal to "GRACEFUL".
                The "gracefulStopTimeout" attribute shall be absent, when the "changeStateTo" attribute is equal to
                "STOPPED" and the "stopType" attribute is equal to "FORCEFUL". The request shall be treated as if
                the "stopType" attribute has been set to "FORCEFUL", when the "changeStateTo" attribute is equal
                to "STOPPED" and the "stopType" attribute is absent.
544
545
546
547
548
549
    type: object
    required:
      - changeStateTo
    properties:
      vnfcInstanceId:
        description: >
550
551
          List of identifiers of VNFC instances. Each identifier references the "id" attribute in a "VnfcInfo" structure.
          Cardinality can be "0" to denote that the request applies to the whole VNF and not a specific VNFC instance.
552
553
554
555
556
557
558
559
560
561
        type: array
        items:
          $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
      changeStateTo:
        description: >
          The desired operational state (i.e. started or stopped) to change
          the VNF to.
        $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfOperationalStateType"
      stopType:
        description: >
Sana Zulfiqar's avatar
Sana Zulfiqar committed
562
          It signals whether forceful or graceful stop is requested. See note
563
564
565
        type: string
        enum:
          - FORCEFUL
566
567
568
569
          - GRACEFUL
      gracefulStopTimeout:
        description: >
          The time interval (in seconds) to wait for the VNF to be taken out of service during graceful stop,
Sana Zulfiqar's avatar
Sana Zulfiqar committed
570
          before stopping the VNF. See note.
571
        type: integer
572
573
574
575
576
577
578
      additionalParams:
        description: >
          Additional parameters passed by the NFVO as input to the process,
          specific to the VNF of which the operation status is changed, as
          declared in the VNFD as part of "OperateVnfOpConfig".
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"

579
580
581
582
583
  ChangeExtVnfConnectivityRequest:
    description: >
      This type represents request parameters for the
      "Change external VNF connectivity" operation to modify the external
      connectivity of a VNF instance.
584
585
    type: object
    required:
586
      - extVirtualLinks
587
    properties:
588
      extVirtualLinks:
589
        description: >
590
591
592
593
          Information about external VLs to change (e.g. connect the VNF to).
        type: array
        items:
          $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtVirtualLinkData"
594
595
      additionalParams:
        description: >
596
597
          Additional input parameters for the instantiation process, specific
          to the VNF being instantiated, as declared in the VNFD as part of
Francesca Moscatelli's avatar
Francesca Moscatelli committed
598
          "ChangeExtVnfConnectivityOpConfig".
599
600
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"

601
  ChangeCurrentVnfPkgRequest:
602
603
604
    description: >
      This type represents request parameters for the "Change current VNF package" operation to replace the VNF package
      on which a VNF instance is based.
Sana Zulfiqar's avatar
Sana Zulfiqar committed
605
606
607
608
609
      * NOTE:	The indication of externally-managed internal VLs is needed in case networks have been
                pre-configured for use with certain VNFs, for instance to ensure that these networks have certain
                properties such as security or acceleration features, or to address particular network topologies.
                The present document assumes that externally-managed internal VLs are managed by the NFVO and created
                towards the VIM.
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
    type: object
    required:
      - vnfdId
    properties:
      vnfdId:
        description: >
          Identifier of the VNFD which defines the destination VNF Package for the change.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
      extVirtualLinks:
        description: >
          Information about external VLs to connect the VNF to. Entries in the list that are unchanged need not be
          supplied as part of this request.
        type: array
        items:
          $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtVirtualLinkData"
      extManagedVirtualLinks:
        description: >
Sana Zulfiqar's avatar
Sana Zulfiqar committed
627
          Information about internal VLs that are managed by other entities than the VNFM. See note.
628
629
        type: array
        items:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
630
          $ref: "#/definitions/ExtManagedVirtualLinkData"
631
632
633
634
635
636
637
638
639
640
641
642
643
      additionalParams:
        description: >
          Additional parameters passed by the EM as input to the process, specific to the VNF of which the underlying
          VNF package is changed, as declared in the VNFD as part of "ChangeCurrentVnfPkgOpConfig".
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
      extensions:
        descriptions: >
          If present, this attribute provides modifications to the values of the "extensions" attribute in "VnfInstance",
          as defined in clause 5.5.2.2. Provisions for handling extensions during the operation, and needed passed
          parameter values in case of conflicts, are defined in clause 5.4.11a.3.1.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
      vnfConfigurableProperties:
        description: >
644
645
646
          If present, this attribute provides modifications to the values of the “vnfConfigurableProperties” attribute
          in "VnfInstance", as defined in clause 5.5.2.2. Provisions for handling VNF configurable properties during the
          operation, and needed passed parameter values in case of conflicts, are defined in clause 5.4.11a.3.1.
647
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
648

649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
  VnfInfoModificationRequest:
    description: >
      This type represents attribute modifications for an "Individual VNF instance" resource,
      i.e. modifications to a resource representation based on the "VnfInstance" data type.
      The attributes of "VnfInstance" that can be modified according to the provisions in clause 5.5.2.2
      are included in the "VnfInfoModificationRequest" data type.
    type: object
    properties:
      vnfInstanceName:
        description: >
          New value of the "vnfInstanceName" attribute in "VnfInstance", or "null" to remove the attribute.
        type: string
      vnfInstanceDescription:
        description: >
          New value of the "vnfInstanceDescription" attribute in "VnfInstance", or "null" to remove the attribute.
        type: string
      vnfdId:
        description: >
          New value of the "vnfdId" attribute in "VnfInstance". The value "null" is not permitted.
Giacomo Bernini's avatar
Giacomo Bernini committed
668
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
669
670
671
672
673
      vnfConfigurableProperties:
        description: >
          Modifications of the "vnfConfigurableProperties" attribute in "VnfInstance".
          If present, these modifications shall be applied according to the rules of
          JSON Merge PATCH (see IETF RFC 7396 [15]).
Giacomo Bernini's avatar
Giacomo Bernini committed
674
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
675
676
677
678
679
      metadata:
        description: >
          Modifications of the "metadattametadata" attribute in "VnfInstance".
          If present, these modifications shall be applied according to the rules of
          JSON Merge PATCH (see IETF  RFC  7396  [15]).
Giacomo Bernini's avatar
Giacomo Bernini committed
680
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
681
682
683
684
685
      extensions:
        description: >
          Modifications of the "extensions" attribute in "VnfInstance".
          If present, these modifications shall be applied according to the rules of
          JSON Merge PATCH (see IETF  RFC  7396  [15]).
Giacomo Bernini's avatar
Giacomo Bernini committed
686
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
687
688
689
      vnfcInfoModifications:
        description: >
          Modifications of certain entries in the "vnfcInfo" attribute array in the
Francesca Moscatelli's avatar
Francesca Moscatelli committed
690
          "instantiatedVnfInfo" attribute of "VnfInstance" to be used as "newList" as defined below this table.
Sana Zulfiqar's avatar
Sana Zulfiqar committed
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
          The following provisions shall apply when modifying an attribute that is an array of objects of type
          "VnfcInfo" by supplying an array of objects of type "VnfcInfoModifications".
          Assumptions:
          1)  "oldList" is the "VnfcInfo" array to be modified and "newList" is the "VnfcInfoModifications"
              array that contains the changes.
          2)  "oldEntry" is an entry in "oldList" and "newEntry" is an entry in "newList".
          3)  A "newEntry" has a "corresponding entry" if there exists an "oldEntry" that has the same content
              of the "id" attribute as the "newEntry"; a "newEntry" has no corresponding entry if no such "oldEntry" exists.
          4)  In any array of "VnfcInfo" resp. "VnfcInfoModifications" structures, the content of "id" is unique
              (i.e. there are no two entries with the same content of "id").
          Provisions:
          1)  For each "newEntry" in "newList" that has no corresponding entry in "oldList",
              the "oldList" array shall be modified by adding that "newEntry".
          2)  For each "newEntry" in "newList" that has a corresponding "oldEntry" in "oldList",
              the value of "oldEntry" shall be updated with the content of "newEntry" as specified for
              the data type of "newEntry (refer to clause 5.5.3.24 for the data type "VnfcInfoModifications").
707
708
        type: array
        items:
709
          $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfcInfoModifications"
710
711

  CreateVnfSnapshotRequest:
712
713
714
715
716
717
    description: >
      This type represents request parameters for the "Create VNF Snapshot" operation.
    type: object
    required:
      - vnfSnapshotResId
    properties:
718
      vnfSnapshotInfoId:
719
720
721
722
723
        description: >
          Identifier of the individual VNF snapshot resource to which the VNF Snapshot is to be associated.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
      vnfcInstanceId:
        description: >
724
725
726
          Identifier of the VNFC instance to be snapshotted. Each identifier references the "id" attribute in a
          "VnfcInfo" structure. If this attribute is provided, only a snapshot of the referred VNFC instance shall
          be created.
727
728
729
730
731
732
733
734
735
736
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf"
      additionalParams:
        description: >
          Additional input parameters for the snapshot creation process, specific for the VNF being “snapshotted”,
          as declared in the VNFD as part of "CreateSnapshotVnfOpConfig".
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
      userDefinedData:
        description: >
          User defined data for the VNF snapshot.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
737
738

  RevertToVnfSnapshotRequest:
739
740
    description: >
      This type represents request parameters for the "Revert-to VNF Snapshot" operation.
741
    type: object
742
    properties:
743
      vnfSnapshotInfoId:
744
        description: >
745
          Identifier of the “individual VNF snapshot” resource with the information of the VNF snapshot to be reverted to.
746
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
747
      vnfcInstanceId:
748
        description: >
749
750
          List of identifiers of the VNFC instance to be reverted. Each identifier references the "id" attribute in a
          "VnfcInfo" structure. Shall be present if the request is for reverting a specific VNFC instance.
751
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
752
      vnfcSnapshotInfoId:
753
        description: >
754
755
          Identifier of the VNFC snapshot information with the information of the VNFC snapshot to be reverted to.
          Shall only be present if the "vnfcInstanceId" is present.
756
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
757
      additionalParams:
758
        description: >
759
760
761
762
763
764
765
766
          Additional input parameters for the revert to VNF snapshot process, specific for the VNF being “reverted”,
          as declared in the VNFD as part of “RevertToSnapshotVnfOpConfig”.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"

  CreateVnfSnapshotInfoRequest:
    description: |
      This type represents request parameters for the creation of an "Individual VNF snapshot" resource which can be
      populated with content obtained by invoking the "Create VNF snapshot" LCM operation or extracted from a VNF
Sana Zulfiqar's avatar
Sana Zulfiqar committed
767
768
769
      snapshot package.
      * NOTE: The present attribute shall be provided if the "Individual VNF snapshot" resource
              is requested to be created and be filled from a VNF snapshot package extraction.
770
771
772
773
    type: object
    properties:
      vnfSnapshotPkgId:
        description: |
Sana Zulfiqar's avatar
Sana Zulfiqar committed
774
          Identifier of the VNF snapshot package information held by the NFVO. See note.
775
776
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"

777
  VnfSnapshotInfo:
778
779
780
781
782
783
784
785
786
787
    description: >
      This type represents an individual VNF snapshot resource.
    type: object
    required:
      - id
    properties:
      id:
        description: >
          Identifier of the individual VNF snapshot resource. This identifier is allocated by the VNFM.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
788
789
790
791
792
      vnfSnapshotPkgId:
        description: |
          Identifier of the VNF snapshot package information held by the EM. Shall be present when the
          “Individual VNF snapshot" resource is created from a VNF snapshot package extraction.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
793
794
      vnfSnapshot:
        description: >
795
796
797
          Information about the VNF snapshot, content and/or references to its content. Shall be present when the
          individual VNF snapshot resource is associated to a VNF snapshot created via the corresponding "Create VNF
          snapshot" task resource or extracted from a VNF snapshot package.
798
        $ref: '#/definitions/VnfSnapshot'
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
      _links:
        description: >
          Links to resources related to this resource.
        type: object
        required:
          - self
        properties:
          self:
            description: >
              URI of this resource.
            $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link"
          takenFrom:
            description: >
              Link to the VNF instance from which this snapshot was taken. Shall be present when the "Individual VNF
              snapshot" resource is associated to a VNF snapshot created via the corresponding "Create VNF snapshot"
              task resource.
            $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link"
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836

  VnfSnapshot:
    description: >
      This type represents a VNF snapshot.
    type: object
    required:
      - id
      - vnfInstanceId
      - triggeredAt
      - vnfdId
      - vnfInfo
      - vnfcSnapshots
    properties:
      id:
        description: >
          Identifier of the VNF Snapshot. This identifier is allocated by the VNFM.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
      vnfInstanceId:
        description: >
          Identifier of the snapshotted VNF instance.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
837
      creationStartedAt:
838
        description: >
839
          Timestamp indicating when the VNF snapshot creation has been started by the VNFM.
840
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime"
841
      creationFinishedAt:
842
        description: >
843
844
          Timestamp indicating when the VNF snapshot has been completed by the VNFM.
          Shall be present once the VNF snapshot creation has been completed.
845
846
847
848
849
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime"
      vnfdId:
        description: >
          Identifier of the VNFD in use at the time the snapshot of the VNF instance has been created.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
850
      vnfInstance:
851
        description: >
852
          VNF Instance information of the snapshotted VNF instance. This is a copy of the individual VNF instance resource.
853
854
855
856
857
858
859
860
861
862
863
        $ref: '#/definitions/VnfInstance'
      vnfcSnapshots:
        description: >
          Information about VNFC snapshots constituting this VNF snapshot.
        type: array
        items:
          $ref: '#/definitions/VnfcSnapshotInfo'
      userDefinedData:
        description: >
          User defined data for the VNF snapshot.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
864

865
866
867
  VnfcSnapshotInfo:
    description: >
      This type represents a VNFC snapshot.
Sana Zulfiqar's avatar
Sana Zulfiqar committed
868
869
870
871
872
873
874
875
      * NOTE 1:	The identifier of the compute snapshot resource is assigned during creation of a VNFC
                snapshot being returned from the VIM as output data in the response message of the individual
                resource operations. This attribute shall only be present for a VNFC snapshot that has been
                newly created by the VNFM as a result of the "Create VNF snapshot task".
        NOTE 2:	The identifier of the storage snapshot resource is assigned during creation of a VNFC snapshot
                being returned from the VIM as output data in the response message of the individual resource
                operations. This attribute shall only be present for a VNFC snapshot with an associated storage
                resource and that has been newly created by the VNFM as a result of the "Create VNF snapshot task".
876
877
878
879
    type: object
    required:
      - id
      - vnfcInstanceId
880
881
      - creationStartedAt
      - vnfcResourceInfoId
882
883
884
885
886
    properties:
      id:
        description: >
          Identifier of the information held by the VNFM about a specific VNFC snapshot. This identifier is allocated by
          the VNFM and is unique within the scope of a VNF snapshot.
887
888
          The attribute also identifies the compute snapshot image associated
          to this VNFC snapshot within the context of a referred VNF snapshot.
889
890
891
892
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
      vnfcInstanceId:
        description: >
          Identifier of the snapshotted VNFC instance.
893
          The  identifier references the "id" attribute in a "VnfcInfo" structure.
894
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf"
895
      creationStartedAt:
896
        description: >
897
          Timestamp indicating when the VNF snapshot creation has been started by the VNFM.
898
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime"
899
      creationFinishedAt:
900
901
        description: >
          Timestamp indicating when the VNFC snapshot has been completed. Shall be present once the VNFC snapshot
902
          creation has been completed by the VNFM.
903
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime"
904
      vnfcResourceInfoId:
905
        description: >
906
907
908
          Reference to the "VnfcResourceInfo" structure in the "VnfInstance" structure that represents the resources of
          the snapshotted VNFC instance. A snapshot of that structure is available in the "vnfInstance" attribute of the
          "VnfSnapshot" structure.
909
910
911
        $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfcInfo"
      computeSnapshotResource:
        description: >
Sana Zulfiqar's avatar
Sana Zulfiqar committed
912
          Reference to a compute snapshot resource. See note 1.
913
914
915
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle"
      storageSnapshotResources:
        description: >
916
917
918
919
920
921
922
923
          Mapping of the storage resources associated to the VNFC with the storage snapshot resources.
        type: object
        required:
          - storageResourceId
        properties:
          storageResourceId:
            description: >
              Reference to the "VirtualStorageResourceInfo" structure in the "VnfInstance" structure that represents
924
925
              the virtual storage resource. The attribute also identifies the storage snapshot image
              associated to this VNFC snapshot within the context of a referred VNF snapshot
926
927
928
            $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf"
          storageSnapshotResource:
            description: >
Sana Zulfiqar's avatar
Sana Zulfiqar committed
929
              Reference to a storage snapshot resource. See note 2.
930
            $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle"
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
      userDefinedData:
        description: >
          User defined data for the VNF snapshot.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"

  StopType:
    description: >
      The enumeration StopType.
      * FORCEFUL: The VNFM will stop the VNF instance or VNFC instance(s) immediately after accepting the request.
      * GRACEFUL: The VNFM will first arrange to take the VNF instance or VNFC instance(s) 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 instance or VNFC instance(s).
    type: string
    enum:
      - FORCEFUL
Francesca Moscatelli's avatar
Francesca Moscatelli committed
946
947
948
      - GRACEFUL

  ExtManagedVirtualLinkData:
Sana Zulfiqar's avatar
Sana Zulfiqar committed
949
950
951
952
    description: >
      This type represents an externally-managed internal VL.
      * NOTE:	The information about the VIM connection referenced by the VIM connection id is known to the VNFM.
                Moreover, the identifier of the VIM connection provides scope to the resourceId.
Francesca Moscatelli's avatar
Francesca Moscatelli committed
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
    type: object
    required:
      - id
      - virtualLinkDescId
      - resourceId
    properties:
      id:
        description: >
          The identifier of the externally-managed internal VL instance. The
          identifier is assigned by the NFV-MANO entity that manages this VL
          instance.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
      vnfVirtualLinkDescId:
        description: >
          The identifier of the VLD in the VNFD for this VL.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd"
      vimConnectionId:
        description: >
          Identifier of the VIM connection to manage this resource. This
          attribute shall only be supported and present if VNF-related
Sana Zulfiqar's avatar
Sana Zulfiqar committed
973
          resource management in direct mode is applicable. See note.
Francesca Moscatelli's avatar
Francesca Moscatelli committed
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
      resourceProviderId:
        description: >
          Identifies the entity responsible for the management of this
          resource. This attribute shall only be supported and present if
          VNF-related resource management in indirect mode is applicable. The
          identification scheme is outside the scope of the present document.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
      resourceId:
        description: >
          The identifier of the resource in the scope of the VIM or the
          resource provider.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVim"

  ExtManagedVirtualLinkInfo:
    type: object
    required:
      - id
      - vnfVirtualLinkDescId
      - networkResource
    properties:
      id:
        description: >
          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.
For faster browsing, not all history is shown. View entire blame