aboutsummaryrefslogtreecommitdiffstats
path: root/catalog-be/src/main/resources/import/tosca/policy-types/policyTypes.yml
blob: 09020ac63a0abfc209d292cc246068997b219dad (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
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

### Policy types for closed loop ###
onap.policies.Monitoring:
  derived_from: tosca.policies.Root
  description: A base policy type for all policies that governs monitoring provisioning
onap.policies.monitoring.cdap.tca.hi.lo.app:
  derived_from: onap.policies.Monitoring
  version: 1.0.0
  properties:
    tca_policy:
      type: map
      description: TCA Policy JSON
      entry_schema:
        type: onap.datatypes.monitoring.tca_policy

## 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.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.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 ]