aboutsummaryrefslogtreecommitdiffstats
path: root/catalog-be/src/main/resources/import/tosca/policy-types/policyTypes.yml
blob: 169a71474b3efde9bc1afdd8c600dd0436c530b4 (plain)
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
49
50
51
52
53
54
55
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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
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
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
tosca.policies.Root:
  description: The TOSCA Policy Type all other TOSCA Policy Types derive from
tosca.policies.Placement:
  derived_from: tosca.policies.Root
  description: The TOSCA Policy Type definition that is used to govern placement of TOSCA nodes or groups of nodes.
tosca.policies.Scaling:
  derived_from: tosca.policies.Root
  description: The TOSCA Policy Type definition that is used to govern scaling of TOSCA nodes or groups of nodes.
tosca.policies.Update:
  derived_from: tosca.policies.Root
  description: The TOSCA Policy Type definition that is used to govern update of TOSCA nodes or groups of nodes.
tosca.policies.Performance:
  derived_from: tosca.policies.Root
  description: The TOSCA Policy Type definition that is used to declare performance requirements for TOSCA nodes or groups of nodes.
org.openecomp.policies.placement.Antilocate:
  derived_from: tosca.policies.Placement
  description: My placement policy for separation based upon container type value
  properties:
    name:
      type: string
      description: The name of the policy
      required: false
      status: supported
    container_type:
      type: string
      description: container type
      required: false
      status: supported
      constraints:
      - valid_values:
        - host
        - region
        - compute
org.openecomp.policies.placement.Colocate:
  derived_from: tosca.policies.Placement
  description: Keep associated nodes (groups of nodes) based upon affinity value
  properties:
    name:
      type: string
      description: The name of the policy
      required: false
      status: supported
    affinity:
      type: string
      description: affinity
      required: true
      status: supported
      constraints:
      - valid_values:
        - host
        - region
        - compute
org.openecomp.policies.placement.valet.Diversity:
  derived_from: tosca.policies.Placement
  description: Valet Diversity
  properties:
    level:
      type: string
      description: diversity
      required: false
      default: host
      status: supported
      constraints:
      - valid_values:
        - host
        - rack
org.openecomp.policies.placement.valet.Exclusivity:
  derived_from: tosca.policies.Placement
  description: Valet Exclusivity
  properties:
    level:
      type: string
      description: exclusivity
      required: false
      default: host
      status: supported
      constraints:
      - valid_values:
        - host
        - rack
org.openecomp.policies.placement.valet.Affinity:
  derived_from: tosca.policies.Placement
  description: Valet Affinity
  properties:
    level:
      type: string
      description: affinity
      required: false
      default: host
      status: supported
      constraints:
      - valid_values:
        - host
        - rack
org.openecomp.policies.scaling.Fixed:
  derived_from: tosca.policies.Scaling
  properties:
    quantity:
      description: the exact number of instances to keep up
      type: integer
      required: true
org.openecomp.policies.External:
  derived_from: tosca.policies.Root
  description: externally managed policy (for example, type="network assignment", source="Policy Manager", name="route target")
  properties:
    source:
      type: string
      description: The name of the server that exposes the policy with predefined type and name.
      required: false
    type:
      type: string
      description: The type (category) of the policy same as it is defined in the source.
      required: false
    name:
      type: string
      description: The name of the policy, that related to specific type, same as it is defined in the source.
      required: false

## NFV policies ##
tosca.policies.nfv.InstantiationLevels:
  derived_from: tosca.policies.Root
  description: The InstantiationLevels type is a policy type representing all the instantiation levels of resources to be instantiated within a deployment flavour and including default instantiation level in term of the number of VNFC instances to be created as defined in ETSI GS NFV-IFA 011 [1].
  properties:
    levels:
      type: map # key: levelId
      description: Describes the various levels of resources that can be used to instantiate the VNF using this flavour.
      required: true
      entry_schema:
        type: tosca.datatypes.nfv.InstantiationLevel
    default_level:
      type: string # levelId
      description: The default instantiation level for this flavour.
      required: false # required if multiple entries in levels
tosca.policies.nfv.VduInstantiationLevels:
  derived_from: tosca.policies.Root
  description:  The VduInstantiationLevels type is a policy type representing all the instantiation levels of resources to be instantiated within a deployment flavour in term of the number of VNFC instances to be created from each vdu.Compute. as defined in ETSI GS NFV-IFA 011 [1]
  properties:
    levels:
      type: map # key: levelId
      description: Describes the Vdu.Compute levels of resources that can be used to instantiate the VNF using this flavour
      required: true
      entry_schema:
        type: tosca.datatypes.nfv.VduLevel
  targets: [ tosca.nodes.nfv.Vdu.Compute ]

tosca.policies.nfv.VirtualLinkInstantiationLevels:
  derived_from: tosca.policies.Root
  description:  The VirtualLinkInstantiationLevels type is a policy type representing all the instantiation levels of virtual link resources to be instantiated within a deployment flavour as defined in ETSI GS NFV-IFA 011 [1].
  properties:
    levels:
      type: map # key: levelId
      description: Describes the virtual link levels of resources that can be used to instantiate the VNF using this flavour.
      required: true
      entry_schema:
        type: tosca.datatypes.nfv.VirtualLinkBitrateLevel
  targets: [ tosca.nodes.nfv.VnfVirtualLink ]
tosca.policies.nfv.ScalingAspects:
  derived_from: tosca.policies.Root
  description: The ScalingAspects type is a policy type representing the scaling aspects used for horizontal scaling as defined in ETSI GS NFV-IFA 011 [1].
  properties:
    aspects:
      type: map # key: aspectId
      description: Describe maximum scale level for total number of scaling steps that can be applied to a particular aspect
      required: true
      entry_schema:
        type: tosca.datatypes.nfv.ScalingAspect
tosca.policies.nfv.VduScalingAspectDeltas:
  derived_from: tosca.policies.Root
  description: The VduScalingAspectDeltas type is a policy type representing the Vdu.Compute detail of an aspect deltas used for horizontal scaling, as defined in ETSI GS NFV-IFA 011 [1].
  properties:
    aspect:
      type: string
      description: Represents the scaling aspect to which this policy applies
      required: true
    deltas:
      type: map # key: scalingDeltaId
      description: Describes the Vdu.Compute scaling deltas to be applied for every scaling steps of a particular aspect.
      required: true
      entry_schema:
        type: tosca.datatypes.nfv.VduLevel
  targets: [ tosca.nodes.nfv.Vdu.Compute ]
tosca.policies.nfv.VirtualLinkBitrateScalingAspectDeltas:
  derived_from: tosca.policies.Root
  description: The VirtualLinkBitrateScalingAspectDeltas type is a policy type representing the VnfVirtualLink detail of an aspect deltas used for horizontal scaling, as defined in ETSI GS NFV-IFA 011 [1].
  properties:
    aspect:
      type: string
      description: Represents the scaling aspect to which this policy applies.
      required: true
    deltas:
      type: map # key: scalingDeltaId
      description: Describes the VnfVirtualLink scaling deltas to be applied for every scaling steps of a particular aspect.
      required: true
      entry_schema:
        type: tosca.datatypes.nfv.VirtualLinkBitrateLevel
  targets: [ tosca.nodes.nfv.VnfVirtualLink ]

tosca.policies.nfv.VduInitialDelta:
  derived_from: tosca.policies.Root
  description: The VduInitialDelta type is a policy type representing the Vdu.Compute detail of an initial delta used for horizontal scaling, as defined in ETSI GS NFV-IFA 011 [1].
  properties:
    initial_delta:
      type: tosca.datatypes.nfv.VduLevel
      description: Represents the initial minimum size of the VNF.
      required: true
  targets: [ tosca.nodes.nfv.Vdu.Compute ]

tosca.policies.nfv.VirtualLinkBitrateInitialDelta:
  derived_from: tosca.policies.Root
  description: The VirtualLinkBitrateInitialDelta type is a policy type representing the VnfVirtualLink detail of an initial deltas used for horizontal scaling, as defined in ETSI GS NFV-IFA 011 [1].
  properties:
    initial_delta:
      type: tosca.datatypes.nfv.VirtualLinkBitrateLevel
      description: Represents the initial minimum size of the VNF.
      required: true
  targets: [ tosca.nodes.nfv.VnfVirtualLink ]

tosca.policies.nfv.SecurityGroupRule:
  derived_from: tosca.policies.Root
  description: The SecurityGroupRule type is a policy type specified the matching criteria for the ingress and/or egress traffic to/from visited connection points as defined in ETSI GS NFV-IFA 011 [1].
  properties:
    description:
      type: string
      description: Human readable description of the security group rule.
      required: false
    direction:
      type: string
      description: The direction in which the security group rule is applied. The direction of 'ingress' or 'egress' is specified against the associated CP. I.e., 'ingress' means the packets entering a CP, while 'egress' means the packets sent out of a CP.
      required: false
      constraints:
        - valid_values: [ ingress, egress ]
      default: ingress
    ether_type:
      type: string
      description: Indicates the protocol carried over the Ethernet layer.
      required: false
      constraints:
        - valid_values: [ ipv4, ipv6 ]
      default: ipv4
    protocol:
      type: string
      description: Indicates the protocol carried over the IP layer. Permitted values include any protocol defined in the IANA protocol registry, e.g. TCP, UDP, ICMP, etc.
      required: false
      constraints:
        - valid_values: [ hopopt, icmp, igmp, ggp, ipv4, st, tcp, cbt, egp, igp, bbn_rcc_mon, nvp_ii, pup, argus, emcon, xnet, chaos, udp, mux, dcn_meas, hmp, prm, xns_idp, trunk_1, trunk_2, leaf_1, leaf_2, rdp, irtp, iso_tp4, netblt, mfe_nsp, merit_inp, dccp, 3pc, idpr, xtp, ddp, idpr_cmtp, tp++, il, ipv6, sdrp, ipv6_route, ipv6_frag, idrp, rsvp, gre, dsr, bna, esp, ah, i_nlsp, swipe, narp, mobile, tlsp, skip, ipv6_icmp, ipv6_no_nxt, ipv6_opts, cftp, sat_expak, kryptolan, rvd, ippc, sat_mon, visa, ipcv, cpnx, cphb, wsn, pvp, br_sat_mon, sun_nd, wb_mon, wb_expak, iso_ip, vmtp, secure_vmtp, vines, ttp, iptm, nsfnet_igp, dgp, tcf, eigrp, ospfigp, sprite_rpc, larp, mtp, ax.25, ipip, micp, scc_sp, etherip, encap, gmtp, ifmp, pnni, pim, aris, scps, qnx, a/n, ip_comp, snp, compaq_peer, ipx_in_ip, vrrp, pgm, l2tp, ddx, iatp, stp, srp, uti, smp, sm, ptp, isis, fire, crtp, crudp, sscopmce, iplt, sps, pipe, sctp, fc, rsvp_e2e_ignore, mobility, udp_lite, mpls_in_ip, manet, hip, shim6, wesp, rohc ]
      default: tcp
    port_range_min:
      type: integer
      description: Indicates minimum port number in the range that is matched by the security group rule. If a value is provided at design-time, this value may be overridden at run-time based on other deployment requirements or constraints.
      required: false
      constraints:
        - greater_or_equal: 0
        - less_or_equal: 65535
      default: 0
    port_range_max:
      type: integer
      description: Indicates maximum port number in the range that is matched by the security group rule. If a value is provided at design-time, this value may be overridden at run-time based on other deployment requirements or constraints.
      required: false
      constraints:
        - greater_or_equal: 0
        - less_or_equal: 65535
      default: 65535
  targets: [ tosca.nodes.nfv.VduCp, tosca.nodes.nfv.VnfExtCp ]

tosca.policies.nfv.SupportedVnfInterface:
  derived_from: tosca.policies.Root
  description:  this policy type represents interfaces produced by a VNF, the details to access them and the applicable connection points to use to access these interfaces
  properties:
    interface_name:
      type: string
      description: Identifies an interface produced by the VNF.
      required: true
      constraints:
        - valid_values: [ vnf_indicator, vnf_configuration ]
    details:
      type: tosca.datatypes.nfv.InterfaceDetails
      description: Provide additional data to access the interface endpoint
      required: false
  targets: [ tosca.nodes.nfv.VnfExtCp, tosca.nodes.nfv.VduCp ]

tosca.policies.nfv.AffinityRule:
  derived_from: tosca.policies.Placement
  description: The AffinityRule describes the affinity rules applicable for the defined targets
  properties:
    scope:
      type: string
      description: scope of the rule is an NFVI_node, an NFVI_PoP, etc.
      required: true
      constraints:
        - valid_values: [ nfvi_node, zone, zone_group, nfvi_pop ]
  targets: [ tosca.nodes.nfv.Vdu.Compute, tosca.nodes.nfv.VnfVirtualLink, tosca.groups.nfv.PlacementGroup ]

tosca.policies.nfv.AntiAffinityRule:
  derived_from: tosca.policies.Placement
  description: The AntiAffinityRule describes the anti-affinity rules applicable for the defined targets
  properties:
    scope:
      type: string
      description: scope of the rule is an NFVI_node, an NFVI_PoP, etc.
      required: true
      constraints:
        - valid_values: [ nfvi_node, zone, zone_group, nfvi_pop ]
  targets: [ tosca.nodes.nfv.Vdu.Compute, tosca.nodes.nfv.VnfVirtualLink, tosca.groups.nfv.PlacementGroup ]

tosca.policies.nfv.NsAffinityRule:
  derived_from: tosca.policies.Placement
  description: The NsAffinityRule describes the affinity rules applicable for the defined targets
  properties:
    scope:
      type: string
      description: Specifies the scope of the local affinity rule.
      required: true
      constraints:
        - valid_values: [ nfvi_node, zone, zone_group, nfvi_pop, network_link_and_node ]
  targets: [tosca.nodes.nfv.VNF, tosca.nodes.nfv.NsVirtualLink, tosca.nodes.nfv.NS, tosca.groups.nfv.NsPlacementGroup ]

tosca.policies.nfv.NsAntiAffinityRule:
  derived_from: tosca.policies.Placement
  description: The NsAntiAffinityRule describes the anti-affinity rules applicable for the defined targets
  properties:
    scope:
      type: string
      description: Specifies the scope of the local affinity rule..
      required: true
      constraints:
        - valid_values: [ nfvi_node, zone, zone_group, nfvi_pop, network_link_and_node ]
  targets: [tosca.nodes.nfv.VNF, tosca.nodes.nfv.NsVirtualLink, tosca.nodes.nfv.NS, tosca.groups.nfv.NsPlacementGroup ]

tosca.policies.nfv.Abstract.SecurityGroupRule:
  derived_from: tosca.policies.Root
  description: The Abstract.SecurityGroupRule type represents an abstract policy type without any target requirements
  properties:
    description:
      type: string
      description: Human readable description of the security group rule.
      required: false
    direction:
      type: string
      description: The direction in which the security group rule is applied. The direction of 'ingress' or 'egress' is specified against the associated CP. I.e., 'ingress' means the packets entering a CP, while 'egress' means the packets sent out of a CP.
      required: true
      constraints:
        - valid_values: [ ingress, egress ]
      default: ingress
    ether_type:
      type: string
      description: Indicates the protocol carried over the Ethernet layer.
      required: true
      constraints:
        - valid_values: [ ipv4, ipv6 ]
      default: ipv4
    protocol:
      type: string
      description: Indicates the protocol carried over the IP layer. Permitted values include any protocol defined in the IANA protocol registry, e.g. TCP, UDP, ICMP, etc.
      required: true
      constraints:
        - valid_values: [ hopopt, icmp, igmp, ggp, ipv4, st, tcp, cbt, egp, igp, bbn_rcc_mon, nvp_ii, pup, argus, emcon, xnet, chaos, udp, mux, dcn_meas, hmp, prm, xns_idp, trunk_1, trunk_2, leaf_1, leaf_2, rdp, irtp, iso_tp4, netblt, mfe_nsp, merit_inp, dccp, 3pc, idpr, xtp, ddp, idpr_cmtp, tp++, il, ipv6, sdrp, ipv6_route, ipv6_frag, idrp, rsvp, gre, dsr, bna, esp, ah, i_nlsp, swipe, narp, mobile, tlsp, skip, ipv6_icmp, ipv6_no_nxt, ipv6_opts, cftp, sat_expak, kryptolan, rvd, ippc, sat_mon, visa, ipcv, cpnx, cphb, wsn, pvp, br_sat_mon, sun_nd, wb_mon, wb_expak, iso_ip, vmtp, secure_vmtp, vines, ttp, iptm, nsfnet_igp, dgp, tcf, eigrp, ospfigp, sprite_rpc, larp, mtp, ax.25, ipip, micp, scc_sp, etherip, encap, gmtp, ifmp, pnni, pim, aris, scps, qnx, a/n, ip_comp, snp, compaq_peer, ipx_in_ip, vrrp, pgm, l2tp, ddx, iatp, stp, srp, uti, smp, sm, ptp, isis, fire, crtp, crudp, sscopmce, iplt, sps, pipe, sctp, fc, rsvp_e2e_ignore, mobility, udp_lite, mpls_in_ip, manet, hip, shim6, wesp, rohc ]
      default: tcp
    port_range_min:
      type: integer
      description: Indicates minimum port number in the range that is matched by the security group rule. If a value is provided at design-time, this value may be overridden at run-time based on other deployment requirements or constraints.
      required: true
      constraints:
        - greater_or_equal: 0
        - less_or_equal: 65535
      default: 0
    port_range_max:
      type: integer
      description: Indicates maximum port number in the range that is matched by the security group rule. If a value is provided at design-time, this value may be overridden at run-time based on other deployment requirements or constraints.
      required: true
      constraints:
        - greater_or_equal: 0
        - less_or_equal: 65535
      default: 65535

tosca.policies.nfv.NsSecurityGroupRule:
  derived_from: tosca.policies.nfv.Abstract.SecurityGroupRule
  description: The NsSecurityGroupRule type is a policy type specified the matching criteria for the ingress and/or egress traffic to/from visited SAPs.
  targets: [ tosca.nodes.nfv.Sap ]

tosca.policies.nfv.NfpRule:
  derived_from: tosca.policies.Root
  description: policy definition of NfpRule
  properties:
    ether_destination_address:
      description: Indicates a destination Mac address.
      type: string
      required: false    
    ether_source_address:
      description: Indicates a source Mac address.
      type: string
      required: false
    ether_type:
      description: Indicates the protocol carried over the Ethernet layer.
      type: string
      constraints:
        - valid_values: [ ipv4, ipv6 ]
      required: false
    vlan_tag:
      description: Indicates a VLAN identifier in an IEEE 802.1Q-2014 tag [14]. Multiple tags can be included for QinQ stacking.
      type: list
      entry_schema:
        type: string
      required: false            
    protocol:
      description: 'Indicates the L4 protocol, For IPv4 [15] this corresponds to the field called "Protocol" to identify the next level protocol. For IPv6 [16] this corresponds to the field is called the "Next Header" field. Permitted values: Any keyword defined in the IANA [17] protocol registry.'
      type: string
      required: false
    dscp:
      description: For IPv4 [15] a string of "0" and "1" digits that corresponds to the 6-bit Differentiated Services Code Point (DSCP) field of the IP header. For IPv6 [16] a string of "0" and "1" digits that corresponds to the 6 differentiated services bits of the traffic class header field.
      type: string
      required: false
    source_port_range:
      description: Indicates a range of source ports.
      type: range
      required: false
      constraints:
        - in_range: [0, 65535]
    destination_port_range:
      description: Indicates a range of destination ports.
      type: range
      required: false
      constraints:
        - in_range: [0, 65535]
    source_ip_address_prefix:
      description: Indicates the source IP address range in CIDR format.
      type: string
      required: false   
    destination_ip_address_prefix:
      description: Indicates the destination IP address range in CIDR format.
      type: string
      required: false
    extended_criteria:
      description: Indicates values of specific bits in a frame.
      type: list
      entry_schema:
        type: tosca.datatypes.nfv.Mask
      required: false
  targets: [ tosca.nodes.nfv.NFP ]

tosca.policies.nfv.NsMonitoring:
  derived_from: tosca.policies.Root
  description: Policy type is used to identify information to be monitored during the lifetime of a network service instance as defined in ETSI GS NFV-IFA 014 [2].
  properties:
    ns_monitoring_parameters:
      type: list
      description: Specifies a virtualised resource related performance metric to be monitored on the NS level.
      required: true
      entry_schema:
        type: tosca.datatypes.nfv.NsMonitoringParameter
      constraints:
        - min_length: 1
  targets: [ tosca.nodes.nfv.NS ]

tosca.policies.nfv.VnfMonitoring:
  derived_from: tosca.policies.Root
  description: Policy type is used to identify information to be monitored during the lifetime of a VNF instance as defined in ETSI GS NFV-IFA 014 [2].
  properties:
    vnf_monitoring_parameters:
      type: list
      description: Specifies a virtualised resource related performance metric to be monitored on the NS level.
      required: true
      entry_schema:
        type: tosca.datatypes.nfv.VnfMonitoringParameter
      constraints:
        - min_length: 1
  targets: [ tosca.nodes.nfv.VNF ]