c7685c951b5c1e9fc76b70dbb17335d5ad2b6c05
[sdc.git] /
1 tosca_definitions_version: tosca_simple_yaml_1_0_0
2 metadata:
3   template_name: lcp1_mss.oam-fw_si_service_instance
4 imports:
5 - openecomp_heat_index:
6     file: openecomp-heat/_index.yml
7 - GlobalSubstitutionTypes:
8     file: GlobalSubstitutionTypesServiceTemplate.yaml
9 topology_template:
10   inputs:
11     availability_zone:
12       hidden: false
13       immutable: false
14       type: string
15       description: Availability zone to create servers in
16       required: false
17       status: SUPPORTED
18     static_routes_list:
19       hidden: false
20       immutable: false
21       type: list
22       description: Static routes enabled
23       required: false
24       status: SUPPORTED
25       entry_schema:
26         type: boolean
27     availability_zone_enable:
28       hidden: false
29       immutable: false
30       type: boolean
31       description: Indicates availability zone is enabled
32       required: false
33       default: false
34       status: SUPPORTED
35     service_template_name:
36       hidden: false
37       immutable: false
38       type: string
39       description: Service template name
40       required: false
41       status: SUPPORTED
42     ordered_interfaces:
43       hidden: false
44       immutable: false
45       type: boolean
46       description: Indicates if service interface are ordered
47       required: false
48       default: false
49       status: SUPPORTED
50     flavor:
51       hidden: false
52       immutable: false
53       type: string
54       description: flavor
55       required: false
56       status: SUPPORTED
57     image_name:
58       hidden: false
59       immutable: false
60       type: string
61       description: Image name
62       required: true
63       status: SUPPORTED
64     service_type:
65       hidden: false
66       immutable: false
67       type: string
68       description: Service type
69       required: true
70       status: SUPPORTED
71       constraints:
72       - valid_values:
73         - firewall
74         - analyzer
75         - source-nat
76         - loadbalancer
77     service_interface_type_list:
78       hidden: false
79       immutable: false
80       type: list
81       description: List of interface types
82       required: true
83       status: SUPPORTED
84       entry_schema:
85         type: string
86         constraints:
87         - valid_values:
88           - management
89           - left
90           - right
91           - other
92     service_instance_name:
93       hidden: false
94       immutable: false
95       type: string
96       description: Service instance name
97       required: true
98       status: SUPPORTED
99     interface_list:
100       hidden: false
101       immutable: false
102       type: list
103       description: List of interfaces
104       required: false
105       status: SUPPORTED
106       entry_schema:
107         type: org.openecomp.datatypes.heat.network.contrail.InterfaceData
108     service_mode:
109       hidden: false
110       immutable: false
111       type: string
112       description: Service mode
113       required: true
114       status: SUPPORTED
115       constraints:
116       - valid_values:
117         - transparent
118         - in-network
119         - in-network-nat
120     shared_ip_list:
121       hidden: false
122       immutable: false
123       type: list
124       description: Shared ips enabled
125       required: false
126       status: SUPPORTED
127       entry_schema:
128         type: boolean
129   node_templates:
130     port_0:
131       type: org.openecomp.resource.cp.nodes.heat.network.contrail.Port
132       properties:
133         static_routes:
134           get_input:
135           - interface_list
136           - 0
137           - static_routes
138         virtual_network:
139           get_input:
140           - interface_list
141           - 0
142           - virtual_network
143         static_route:
144           get_input:
145           - static_routes_list
146           - 0
147         allowed_address_pairs:
148           get_input:
149           - interface_list
150           - 0
151           - allowed_address_pairs
152         shared_ip:
153           get_input:
154           - shared_ip_list
155           - 0
156         ip_address:
157           get_input:
158           - interface_list
159           - 0
160           - ip_address
161         interface_type:
162           get_input:
163           - service_interface_type_list
164           - 0
165         order: 0
166       requirements:
167       - binding:
168           capability: tosca.capabilities.network.Bindable
169           node: service_instance
170           relationship: tosca.relationships.network.BindsTo
171     port_1:
172       type: org.openecomp.resource.cp.nodes.heat.network.contrail.Port
173       properties:
174         static_routes:
175           get_input:
176           - interface_list
177           - 1
178           - static_routes
179         virtual_network:
180           get_input:
181           - interface_list
182           - 1
183           - virtual_network
184         static_route:
185           get_input:
186           - static_routes_list
187           - 1
188         allowed_address_pairs:
189           get_input:
190           - interface_list
191           - 1
192           - allowed_address_pairs
193         shared_ip:
194           get_input:
195           - shared_ip_list
196           - 1
197         ip_address:
198           get_input:
199           - interface_list
200           - 1
201           - ip_address
202         interface_type:
203           get_input:
204           - service_interface_type_list
205           - 1
206         order: 1
207       requirements:
208       - binding:
209           capability: tosca.capabilities.network.Bindable
210           node: service_instance
211           relationship: tosca.relationships.network.BindsTo
212     port_2:
213       type: org.openecomp.resource.cp.nodes.heat.network.contrail.Port
214       properties:
215         static_routes:
216           get_input:
217           - interface_list
218           - 2
219           - static_routes
220         virtual_network:
221           get_input:
222           - interface_list
223           - 2
224           - virtual_network
225         static_route:
226           get_input:
227           - static_routes_list
228           - 2
229         allowed_address_pairs:
230           get_input:
231           - interface_list
232           - 2
233           - allowed_address_pairs
234         shared_ip:
235           get_input:
236           - shared_ip_list
237           - 2
238         ip_address:
239           get_input:
240           - interface_list
241           - 2
242           - ip_address
243         interface_type:
244           get_input:
245           - service_interface_type_list
246           - 2
247         order: 2
248       requirements:
249       - binding:
250           capability: tosca.capabilities.network.Bindable
251           node: service_instance
252           relationship: tosca.relationships.network.BindsTo
253     port_3:
254       type: org.openecomp.resource.cp.nodes.heat.network.contrail.Port
255       properties:
256         static_routes:
257           get_input:
258           - interface_list
259           - 3
260           - static_routes
261         virtual_network:
262           get_input:
263           - interface_list
264           - 3
265           - virtual_network
266         static_route:
267           get_input:
268           - static_routes_list
269           - 3
270         allowed_address_pairs:
271           get_input:
272           - interface_list
273           - 3
274           - allowed_address_pairs
275         shared_ip:
276           get_input:
277           - shared_ip_list
278           - 3
279         ip_address:
280           get_input:
281           - interface_list
282           - 3
283           - ip_address
284         interface_type:
285           get_input:
286           - service_interface_type_list
287           - 3
288         order: 3
289       requirements:
290       - binding:
291           capability: tosca.capabilities.network.Bindable
292           node: service_instance
293           relationship: tosca.relationships.network.BindsTo
294     service_instance:
295       type: org.openecomp.resource.vfc.nodes.heat.st
296       properties:
297         flavor:
298           get_input: flavor
299         image_name:
300           get_input: image_name
301         availability_zone:
302           get_input: availability_zone
303         service_type:
304           get_input: service_type
305         availability_zone_enable:
306           get_input: availability_zone_enable
307         service_template_name:
308           get_input: service_template_name
309         service_instance_name:
310           get_input: service_instance_name
311         service_mode:
312           get_input: service_mode
313   groups:
314     service_instance_group:
315       type: org.openecomp.groups.heat.HeatStack
316       properties:
317         heat_file: ../Artifacts/lcp1_mss.oam-fw_si.yaml
318       members:
319       - service_instance
320       - port_0
321       - port_1
322       - port_2
323       - port_3
324   outputs:
325     tenant_id:
326       description: Tenant id of the Service Instance
327       value:
328         get_attribute:
329         - service_instance
330         - tenant_id
331     fq_name:
332       description: The FQ name of the service instance
333       value:
334         get_attribute:
335         - service_instance
336         - fq_name
337     service_template_name:
338       description: Service Template of the Service Instance
339       value:
340         get_attribute:
341         - service_instance
342         - service_template_name
343     show:
344       description: All attributes
345       value:
346         get_attribute:
347         - service_instance
348         - show
349     active_vms:
350       description: Number of service VMs active for this Service Instance
351       value:
352         get_attribute:
353         - service_instance
354         - active_vms
355     service_instance_name:
356       description: The name of the service instance
357       value:
358         get_attribute:
359         - service_instance
360         - service_instance_name
361     virtual_machines:
362       description: Service VMs for the Service Instance
363       value:
364         get_attribute:
365         - service_instance
366         - virtual_machines
367     status:
368       description: Status of the service instance
369       value:
370         get_attribute:
371         - service_instance
372         - status
373   substitution_mappings:
374     node_type: org.openecomp.resource.abstract.nodes.heat.service_template
375     requirements:
376       link_port_0:
377       - port_0
378       - link
379       link_port_1:
380       - port_1
381       - link
382       link_port_2:
383       - port_2
384       - link
385       link_port_3:
386       - port_3
387       - link