{ "heat_template_version": "2015-10-15", "description": "Configuration for Haproxy Neutron Loadbalacer V2 service", "parameters": { "lb_port": { "type": "number", "default": 80, "description": "Port used by the listener" }, "lb_port2": { "type": "number", "default": 8080, "description": "Port used by the listener2" }, "app_port": { "type": "number", "default": 80, "description": "Port used by the servers in pool" }, "app_port2": { "type": "number", "default": 8080, "description": "Port used by the servers in pool2" }, "Subnet": { "type": "string", "description": "Subnet on which the load balancer will be located" }, "vip_ip": { "type": "string", "description": "VIP IP Address" }, "service_chain_metadata": { "type": "string", "description": "sc metadata" } }, "resources": { "monitor": { "type": "OS::Neutron::LBaaS::HealthMonitor", "depends_on": "pool", "properties": { "delay": 3, "type": "HTTP", "timeout": 3, "max_retries": 3, "pool": { "get_resource": "pool" } } }, "pool": { "type": "OS::Neutron::LBaaS::Pool", "depends_on": "listener2", "description": "{'app_port_param_name': 'app_port'}", "properties": { "lb_algorithm": "ROUND_ROBIN", "protocol": "HTTP", "listener": { "get_resource": "listener" } } }, "pool2": { "type": "OS::Neutron::LBaaS::Pool", "depends_on": "monitor", "description": "{'app_port_param_name': 'app_port2'}", "properties": { "lb_algorithm": "ROUND_ROBIN", "protocol": "HTTP", "listener": { "get_resource": "listener2" } } }, "listener": { "type": "OS::Neutron::LBaaS::Listener", "depends_on": "loadbalancer", "properties": { "loadbalancer": { "get_resource": "loadbalancer" }, "protocol": "HTTP", "protocol_port": { "get_param": "lb_port" } } }, "listener2": { "type": "OS::Neutron::LBaaS::Listener", "depends_on": "listener", "properties": { "loadbalancer": { "get_resource": "loadbalancer" }, "protocol": "HTTP", "protocol_port": { "get_param": "lb_port2" } } }, "loadbalancer": { "type": "OS::Neutron::LBaaS::LoadBalancer", "properties": { "vip_subnet": { "get_param": "Subnet" }, "provider": "loadbalancerv2", "vip_address": { "get_param": "vip_ip" }, "description": { "get_param": "service_chain_metadata" } } } } }