{ "Resources": { "${lbName}-HealthMonitor": { "Type": "OS::Neutron::HealthMonitor", "Properties": { "type": "HTTP", "delay": 3, "max_retries": 3, "timeout": 10, "http_method": "GET", "expected_codes": "200", "url_path": "/" } }, "${lbName}-Pool": { "Type": "OS::Neutron::Pool", "Properties": { "protocol": "HTTP", "subnet_id": {"Ref": "subnet"}, "lb_method": "ROUND_ROBIN", "name": "${lbName}-Pool", "vip": { "name": "${lbName}-Pool-VIP", "protocol_port": "$lbPort" }, "monitors": [{"Ref": "${lbName}-HealthMonitor"}] } }, "${lbName}-LoadBalancer": { "Type": "OS::Neutron::LoadBalancer", "Properties": { "pool_id": {"Ref": "${lbName}-Pool"}, "protocol_port": "$lbPort", "members": [{"Ref": "$instanceName"}] } } }, "Outputs": { "${lbName}-loadBalancerIp": { "Value": {"Fn::Select": ["address", {"Fn::GetAtt": ["${lbName}-Pool", "vip"]}]}, "Description": "IP assigned to VIP" } } }