1 heat_template_version: 2013-05-23
4 Based on the following reference for the HOT-DMZ-FW template:
5 Version 3.5 8-10-2015 (Authors: Art Mishurov,am254u & Johhny Chen, jc3066) - HOT-DMZ-FW template that creates two DMZ networks (direct and protected) with a scaled out firewall service between the two.
10 description: Name of HSL (Logging) network
19 description: HSL (Logging) network address (CIDR notation)
20 HSL_direct_net_gateway:
22 description: HSL (Logging) network gateway address
25 description: Name of OAM network
28 description: Name of OAM network
29 Cricket_OCS_direct_net_id:
31 description: Name of Cricket OCS network
32 Cricket_OCS_protected_net_id:
34 description: Name of Cricket OCS network
35 service_instance_name:
37 description: Service instance name
40 description: Policy Name
41 service_policy_direction:
43 description: Direction of Policy
46 description: Start of src port
49 description: End of src port
52 description: Start of dst port
55 description: End of dst port
58 description: Name of service template
61 description: service mode
64 description: service type
67 description: Name of the image
70 description: Name of the image
74 st_service_interface_type_list:
76 description: List of interface types
79 description: List of shared ip enabled-disabled
80 st_static_routes_list:
82 description: List of static routes enabled-disabled
85 description: Indicates whether service scaling is enabled
88 description: maximum number of firewall instances for scaling
91 description: availability zone
98 type: OS::Contrail::VirtualNetwork
100 name: { get_param: HSL_direct_net_id }
104 type: OS::Neutron::Subnet
106 network_id: { get_resource: hsl_direct_net }
107 cidr: { get_param: HSL_direct_net_cidr }
108 gateway_ip: { get_param: HSL_direct_net_gateway }
111 type: OS::Contrail::ServiceTemplate
113 name: { get_param: st_name }
114 service_mode: { get_param: st_mode }
115 service_type: { get_param: st_type }
116 image_name: { get_param: st_image }
117 flavor: { get_param: st_flavor }
118 service_interface_type_list: { "Fn::Split" : [ ",", "management,left,right,other" ] }
119 shared_ip_list: { "Fn::Split" : [ ",", Ref: st_shared_ip_list ] }
120 static_routes_list: { "Fn::Split" : [ ",", Ref: st_static_routes_list ] }
124 type: OS::Contrail::ServiceInstance
125 depends_on: [ hsl_ip_subnet]
127 name: { get_param: service_instance_name }
128 availability_zone: { get_param: availability_zone_1 }
129 service_template: { get_resource: service_template_1 }
131 max_instances: {get_param: max_num_fw_instances}
134 virtual_network: { get_param: oam_mgmt_net_0_id }
137 virtual_network: { get_param: Cricket_OCS_direct_net_id }
140 virtual_network: { get_resource: hsl_direct_net }
143 virtual_network: {get_param: oam_mgmt_net_1_id},
145 { "prefix": {get_param: prefix_0} },
146 { "prefix": {get_param: prefix_1} },
147 { "prefix": {get_param: prefix_2} },
153 type: OS::Contrail::ServiceTemplate
155 name: { get_param: st_name }
156 service_mode: { get_param: st_mode }
157 service_type: { get_param: st_type }
158 image_name: { get_param: st_image_name }
159 flavor: { get_param: st_flavor }
160 service_interface_type_list: { "Fn::Split" : [ ",", Ref: st_service_interface_type_list ] }
161 shared_ip_list: { "Fn::Split" : [ ",", Ref: st_shared_ip_list ] }
162 static_routes_list: { "Fn::Split" : [ ",", Ref: st_static_routes_list ] }
165 type: OS::Contrail::ServiceInstance
166 depends_on: [ hsl_ip_subnet]
168 name: { get_param: service_instance_name }
169 availability_zone: { get_param: availability_zone_1 }
170 service_template: { get_resource: service_template_2 }
175 virtual_network: { get_param: oam_mgmt_net_0_id }
178 virtual_network: { get_param: Cricket_OCS_direct_net_id }
183 type: OS::Contrail::NetworkPolicy
184 depends_on: [ service_instance_1 ]
186 name: { get_param: service_policy_name }
190 "direction": { get_param: service_policy_direction },
192 "src_ports": [{"start_port": {get_param: start_src_ports}, "end_port": {get_param: end_src_ports}}],
193 "dst_ports": [{"start_port": {get_param: start_dst_ports}, "end_port": {get_param: end_dst_ports}}],
194 "dst_addresses": [{ "virtual_network": { get_param: Cricket_OCS_direct_net_id }}],
195 "action_list": { "apply_service": [{ get_resource: service_instance_1 }]},
196 "src_addresses": [{ "virtual_network": { get_param: Cricket_OCS_protected_net_id }}],
197 "metadata": {get_attr: [service_instance_2, name]}
201 service_policy_attach_direct_net:
202 type: OS::Contrail::AttachPolicy
203 depends_on: [ service_policy ]
205 network: { get_param: Cricket_OCS_direct_net_id }
206 policy: { get_attr: [service_policy, fq_name] }
208 service_policy_attach_protected_net:
209 type: OS::Contrail::AttachPolicy
210 depends_on: [ service_policy ]
212 network: { get_param: Cricket_OCS_protected_net_id }
213 policy: { get_attr: [service_policy, fq_name] }