heat_template_version: 2015-10-15 parameters: baremetal_prefix: type: string networks: type: json private_net: type: string external_net: type: string suffix: type: string resources: extra_node_sg: type: OS::Neutron::SecurityGroup properties: name: list_join: - '_' - - 'extranode' - - {get_param: baremetal_prefix} - {get_param: suffix} - 'sg' description: Ping, SSH rules: - protocol: icmp - protocol: tcp port_range_min: 22 port_range_max: 22 private_port: type: OS::Neutron::Port properties: name: list_join: - '' - - private_ - {get_param: baremetal_prefix} - {get_param: suffix} network: {get_param: private_net} security_groups: - {get_resource: extra_node_sg} provision_port: type: OS::Neutron::Port properties: name: list_join: - '' - - {get_param: baremetal_prefix} - {get_param: suffix} network: {get_param: [networks, provision]} port_security_enabled: False public_port: type: OS::Neutron::Port properties: name: list_join: - '' - - public_ - {get_param: baremetal_prefix} - {get_param: suffix} network: {get_param: [networks, public]} port_security_enabled: False extra_node_fip: type: OS::Neutron::FloatingIP properties: floating_network: {get_param: external_net} extra_node_fip_association: type: OS::Neutron::FloatingIPAssociation properties: floatingip_id: {get_resource: extra_node_fip} port_id: {get_resource: private_port} outputs: ports: value: - {port: {get_resource: private_port}} - {port: {get_resource: provision_port}} - {port: {get_resource: public_port}}