RestConf - Policy model support
[sdc.git] / catalog-be / src / main / resources / import / tosca / policy-types / policyTypes.yml
1 tosca.policies.Root:
2   description: The TOSCA Policy Type all other TOSCA Policy Types derive from
3 tosca.policies.Placement:
4   derived_from: tosca.policies.Root
5   description: The TOSCA Policy Type definition that is used to govern placement of TOSCA nodes or groups of nodes.
6 tosca.policies.Scaling:
7   derived_from: tosca.policies.Root
8   description: The TOSCA Policy Type definition that is used to govern scaling of TOSCA nodes or groups of nodes.
9 tosca.policies.Update:
10   derived_from: tosca.policies.Root
11   description: The TOSCA Policy Type definition that is used to govern update of TOSCA nodes or groups of nodes.
12 tosca.policies.Performance:
13   derived_from: tosca.policies.Root
14   description: The TOSCA Policy Type definition that is used to declare performance requirements for TOSCA nodes or groups of nodes.
15 org.openecomp.policies.placement.Antilocate:
16   derived_from: tosca.policies.Placement
17   description: My placement policy for separation based upon container type value
18   properties:
19     name:
20       type: string
21       description: The name of the policy
22       required: false
23       status: SUPPORTED
24     container_type:
25       type: string
26       description: container type
27       required: false
28       status: SUPPORTED
29       constraints:
30       - valid_values:
31         - host
32         - region
33         - compute
34 org.openecomp.policies.placement.Colocate:
35   derived_from: tosca.policies.Placement
36   description: Keep associated nodes (groups of nodes) based upon affinity value
37   properties:
38     name:
39       type: string
40       description: The name of the policy
41       required: false
42       status: SUPPORTED
43     affinity:
44       type: string
45       description: affinity
46       required: true
47       status: SUPPORTED
48       constraints:
49       - valid_values:
50         - host
51         - region
52         - compute
53 org.openecomp.policies.placement.valet.Diversity:
54   derived_from: tosca.policies.Placement
55   description: Valet Diversity
56   properties:
57     level:
58       type: string
59       description: diversity
60       required: false
61       default: host
62       status: SUPPORTED
63       constraints:
64       - valid_values:
65         - host
66         - rack
67 org.openecomp.policies.placement.valet.Exclusivity:
68   derived_from: tosca.policies.Placement
69   description: Valet Exclusivity
70   properties:
71     level:
72       type: string
73       description: exclusivity
74       required: false
75       default: host
76       status: SUPPORTED
77       constraints:
78       - valid_values:
79         - host
80         - rack
81 org.openecomp.policies.placement.valet.Affinity:
82   derived_from: tosca.policies.Placement
83   description: Valet Affinity
84   properties:
85     level:
86       type: string
87       description: affinity
88       required: false
89       default: host
90       status: SUPPORTED
91       constraints:
92       - valid_values:
93         - host
94         - rack
95 org.openecomp.policies.scaling.Fixed:
96   derived_from: tosca.policies.Scaling
97   properties:
98     quantity:
99       description: the exact number of instances to keep up
100       type: integer
101       required: true
102 org.openecomp.policies.External:
103   derived_from: tosca.policies.Root
104   description: externally managed policy (for example, type="network assignment", source="Policy Manager", name="route target")
105   properties:
106     source:
107       type: string
108       description: The name of the server that exposes the policy with predefined type and name.
109       required: false
110     type:
111       type: string
112       description: The type (category) of the policy same as it is defined in the source.
113       required: false
114     name:
115       type: string
116       description: The name of the policy, that related to specific type, same as it is defined in the source.
117       required: false
118
119 ### Policy types for closed loop ###
120 onap.policies.Monitoring:
121   derived_from: tosca.policies.Root
122   description: A base policy type for all policies that governs monitoring provisioning
123 onap.policies.monitoring.cdap.tca.hi.lo.app:
124   derived_from: onap.policies.Monitoring
125   version: 1.0.0
126   properties:
127     tca_policy:
128       type: map
129       description: TCA Policy JSON
130       entry_schema:
131         type: onap.datatypes.monitoring.tca_policy
132
133 ## PM Mapper policies for closed loop ##
134
135 onap.policy.monitoring.dcae-pm-mapper:
136   derived_from: onap.policies.Monitoring
137   version : 1.0.0
138   properties:
139     pm-mapper-filter:
140       type: map
141       description: PM mapper filter on measInfo, measInfoId, measType, instanceId
142       entry_schema:
143         type: onap.datatypes.monitoring.pm-mapper-filter
144
145 ## Restconf collector policy for closed loop ##
146
147 onap.policies.monitoring.dcae-restconfcollector:
148   derived_from: onap.policies.Monitoring
149   version: 1.0.0
150   properties:
151     rcc_policy:
152       type: list
153       description: RCC Policy JSON
154       entry_schema:
155         type: onap.datatypes.monitoring.rcc_policy
156
157 ## NFV policies ##
158 tosca.policies.nfv.InstantiationLevels:
159   derived_from: tosca.policies.Root
160   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].
161   properties:
162     levels:
163       type: map # key: levelId
164       description: Describes the various levels of resources that can be used to instantiate the VNF using this flavour.
165       required: true
166       entry_schema:
167         type: tosca.datatypes.nfv.InstantiationLevel
168     default_level:
169       type: string # levelId
170       description: The default instantiation level for this flavour.
171       required: false # required if multiple entries in levels
172 tosca.policies.nfv.VduInstantiationLevels:
173   derived_from: tosca.policies.Root
174   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]
175   properties:
176     levels:
177       type: map # key: levelId
178       description: Describes the Vdu.Compute levels of resources that can be used to instantiate the VNF using this flavour
179       required: true
180       entry_schema:
181         type: tosca.datatypes.nfv.VduLevel
182   targets: [ tosca.nodes.nfv.Vdu.Compute ]
183
184 tosca.policies.nfv.VirtualLinkInstantiationLevels:
185   derived_from: tosca.policies.Root
186   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].
187   properties:
188     levels:
189       type: map # key: levelId
190       description: Describes the virtual link levels of resources that can be used to instantiate the VNF using this flavour.
191       required: true
192       entry_schema:
193         type: tosca.datatypes.nfv.VirtualLinkBitrateLevel
194   targets: [ tosca.nodes.nfv.VnfVirtualLink ]
195 tosca.policies.nfv.ScalingAspects:
196   derived_from: tosca.policies.Root
197   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].
198   properties:
199     aspects:
200       type: map # key: aspectId
201       description: Describe maximum scale level for total number of scaling steps that can be applied to a particular aspect
202       required: true
203       entry_schema:
204         type: tosca.datatypes.nfv.ScalingAspect
205 tosca.policies.nfv.VduScalingAspectDeltas:
206   derived_from: tosca.policies.Root
207   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].
208   properties:
209     aspect:
210       type: string
211       description: Represents the scaling aspect to which this policy applies
212       required: true
213     deltas:
214       type: map # key: scalingDeltaId
215       description: Describes the Vdu.Compute scaling deltas to be applied for every scaling steps of a particular aspect.
216       required: true
217       entry_schema:
218         type: tosca.datatypes.nfv.VduLevel
219   targets: [ tosca.nodes.nfv.Vdu.Compute ]
220 tosca.policies.nfv.VirtualLinkBitrateScalingAspectDeltas:
221   derived_from: tosca.policies.Root
222   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].
223   properties:
224     aspect:
225       type: string
226       description: Represents the scaling aspect to which this policy applies.
227       required: true
228     deltas:
229       type: map # key: scalingDeltaId
230       description: Describes the VnfVirtualLink scaling deltas to be applied for every scaling steps of a particular aspect.
231       required: true
232       entry_schema:
233         type: tosca.datatypes.nfv.VirtualLinkBitrateLevel
234   targets: [ tosca.nodes.nfv.VnfVirtualLink ]
235
236 tosca.policies.nfv.VduInitialDelta:
237   derived_from: tosca.policies.Root
238   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].
239   properties:
240     initial_delta:
241       type: tosca.datatypes.nfv.VduLevel
242       description: Represents the initial minimum size of the VNF.
243       required: true
244   targets: [ tosca.nodes.nfv.Vdu.Compute ]
245
246 tosca.policies.nfv.VirtualLinkBitrateInitialDelta:
247   derived_from: tosca.policies.Root
248   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].
249   properties:
250     initial_delta:
251       type: tosca.datatypes.nfv.VirtualLinkBitrateLevel
252       description: Represents the initial minimum size of the VNF.
253       required: true
254   targets: [ tosca.nodes.nfv.VnfVirtualLink ]
255
256 tosca.policies.nfv.SecurityGroupRule:
257   derived_from: tosca.policies.Root
258   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].
259   properties:
260     description:
261       type: string
262       description: Human readable description of the security group rule.
263       required: false
264     direction:
265       type: string
266       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.
267       required: false
268       constraints:
269         - valid_values: [ ingress, egress ]
270       default: ingress
271     ether_type:
272       type: string
273       description: Indicates the protocol carried over the Ethernet layer.
274       required: false
275       constraints:
276         - valid_values: [ ipv4, ipv6 ]
277       default: ipv4
278     protocol:
279       type: string
280       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.
281       required: false
282       constraints:
283         - 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 ]
284       default: tcp
285     port_range_min:
286       type: integer
287       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.
288       required: false
289       constraints:
290         - greater_or_equal: 0
291         - less_or_equal: 65535
292       default: 0
293     port_range_max:
294       type: integer
295       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.
296       required: false
297       constraints:
298         - greater_or_equal: 0
299         - less_or_equal: 65535
300       default: 65535
301   targets: [ tosca.nodes.nfv.VduCp, tosca.nodes.nfv.VnfExtCp ]
302
303 tosca.policies.nfv.SupportedVnfInterface:
304   derived_from: tosca.policies.Root
305   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
306   properties:
307     interface_name:
308       type: string
309       description: Identifies an interface produced by the VNF.
310       required: true
311       constraints:
312         - valid_values: [ vnf_indicator, vnf_configuration ]
313     details:
314       type: tosca.datatypes.nfv.InterfaceDetails
315       description: Provide additional data to access the interface endpoint
316       required: false
317   targets: [ tosca.nodes.nfv.VnfExtCp, tosca.nodes.nfv.VduCp ]
318
319 tosca.policies.nfv.AffinityRule:
320   derived_from: tosca.policies.Placement
321   description: The AffinityRule describes the affinity rules applicable for the defined targets
322   properties:
323     scope:
324       type: string
325       description: scope of the rule is an NFVI_node, an NFVI_PoP, etc.
326       required: true
327       constraints:
328         - valid_values: [ nfvi_node, zone, zone_group, nfvi_pop ]
329   targets: [ tosca.nodes.nfv.Vdu.Compute, tosca.nodes.nfv.VnfVirtualLink, tosca.groups.nfv.PlacementGroup ]
330
331 tosca.policies.nfv.AntiAffinityRule:
332   derived_from: tosca.policies.Placement
333   description: The AntiAffinityRule describes the anti-affinity rules applicable for the defined targets
334   properties:
335     scope:
336       type: string
337       description: scope of the rule is an NFVI_node, an NFVI_PoP, etc.
338       required: true
339       constraints:
340         - valid_values: [ nfvi_node, zone, zone_group, nfvi_pop ]
341   targets: [ tosca.nodes.nfv.Vdu.Compute, tosca.nodes.nfv.VnfVirtualLink, tosca.groups.nfv.PlacementGroup ]