d9cb24a8ae3d3fc512a2378a79ed0667117e1724
[sdc.git] /
1 tosca_definitions_version: tosca_simple_yaml_1_0_0
2 metadata:
3   template_name: vlan_subinterface_dual
4 imports:
5 - openecomp_heat_index:
6     file: openecomp-heat/_index.yml
7 - GlobalSubstitutionTypes:
8     file: GlobalSubstitutionTypesServiceTemplate.yaml
9 topology_template:
10   inputs:
11     perimeta_parent_interface:
12       hidden: false
13       immutable: false
14       type: string
15       description: Parent Contrail interface
16     perimeta_v6_vip_0:
17       hidden: false
18       immutable: false
19       type: string
20       description: virtual IPv6 address associated with subinterfaces
21     perimeta_subinterface_name_prefix:
22       hidden: false
23       immutable: false
24       type: string
25       description: Combined with subinterface_instance_index, this is used as the name of the subinterface resource
26     perimeta_vlan_networks:
27       hidden: false
28       immutable: false
29       type: list
30       description: List of Contrail VLAN networks to use for the subinterfaces.   The order and number of these must match the VLAN ID list
31       entry_schema:
32         type: string
33     perimeta_subinterface_instance_index:
34       hidden: false
35       immutable: false
36       type: float
37       description: Index of instance among multiple instances.  Use to retrieve correct parameter for this instance when passed all parameters for all instances.
38       constraints:
39       - in_range:
40         - 1
41         - 1001
42     perimeta_ip_0:
43       hidden: false
44       immutable: false
45       type: string
46       description: IPv4 address associated with subinterfaces
47     perimeta_vip_0:
48       hidden: false
49       immutable: false
50       type: string
51       description: virtual IPv4 address associated with subinterfaces
52     perimeta_vlan_ids:
53       hidden: false
54       immutable: false
55       type: list
56       description: List of VLAN IDs to use for subinterfaces
57       entry_schema:
58         type: string
59     perimeta_mac_address:
60       hidden: false
61       immutable: false
62       type: string
63       description: MAC address to use for subinterface
64     perimeta_v6_ip_0:
65       hidden: false
66       immutable: false
67       type: string
68       description: IPv6 address associated with subinterfaces
69   node_templates:
70     contrail_vmi_subinterface:
71       type: org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
72       properties:
73         virtual_machine_interface_refs:
74         - get_input: perimeta_parent_interface
75         name:
76           str_replace:
77             template: $NAME_$VLAN
78             params:
79               $NAME:
80                 get_input: perimeta_subinterface_name_prefix
81               $VLAN:
82                 get_input:
83                 - perimeta_vlan_ids
84                 - get_input: perimeta_subinterface_instance_index
85         virtual_network_refs:
86         - get_input:
87           - perimeta_vlan_networks
88           - get_input: perimeta_subinterface_instance_index
89         virtual_machine_interface_properties:
90           sub_interface_vlan_tag:
91             get_input:
92             - perimeta_vlan_ids
93             - get_input: perimeta_subinterface_instance_index
94         virtual_machine_interface_allowed_address_pairs:
95           allowed_address_pair:
96           - address_mode: active-standby
97             ip:
98               ip_prefix:
99                 get_input: perimeta_vip_0
100               ip_prefix_len: 32
101             mac:
102               get_input: perimeta_mac_address
103           - address_mode: active-standby
104             ip:
105               ip_prefix:
106                 get_input: perimeta_v6_vip_0
107               ip_prefix_len: 128
108             mac:
109               get_input: perimeta_mac_address
110         virtual_machine_interface_mac_addresses:
111           mac_address:
112           - get_input: perimeta_mac_address
113   groups:
114     vlan_subinterface_dual_group:
115       type: org.openecomp.groups.heat.HeatStack
116       properties:
117         heat_file: ../Artifacts/vlan_subinterface_dual.yaml
118         description: |
119           HOT template to instantiate a single Contrail VLAN sub-interface with associated instance IP addresses and allowed address pairs
120       members:
121       - contrail_vmi_subinterface
122   substitution_mappings:
123     node_type: org.openecomp.resource.abstract.nodes.heat.vlan_subinterface_dual
124     capabilities:
125       feature_contrail_vmi_subinterface:
126       - contrail_vmi_subinterface
127       - feature
128     requirements:
129       binding_contrail_vmi_subinterface:
130       - contrail_vmi_subinterface
131       - binding
132       link_contrail_vmi_subinterface:
133       - contrail_vmi_subinterface
134       - link
135       dependency_contrail_vmi_subinterface:
136       - contrail_vmi_subinterface
137       - dependency