heat_template_version: 2013-05-23 parameters: new_network: type: string default: new_net key_name: type: string image: type: string flavor: type: string availability_zone: type: string public_network: type: string default: public description: ID of public network. resources: network1: type: OS::Neutron::Net properties: name: { get_param: new_network } subnet1: type: OS::Neutron::Subnet properties: name: subnet2 cidr: 20.0.0.1/24 network: { get_resource: network1 } gateway_ip: 20.0.0.1 dns_nameservers: [ "192.168.11.1" ] routerinterface: type: OS::Neutron::RouterInterface properties: subnet: { get_resource: subnet1 } router: router1 my_instance: type: OS::Nova::Server properties: key_name: { get_param: key_name } image: { get_param: image } flavor: { get_param: flavor } availability_zone: { get_param: availability_zone } name: inst2 networks: - port: { get_resource: inst1_port } inst1_port: type: OS::Neutron::Port properties: network: { get_resource: network1 } security_groups: [{get_resource: security_group }] inst1_floating_ip: type: OS::Neutron::FloatingIP properties: floating_network: { get_param: public_network } port_id: { get_resource: inst1_port } security_group: type: OS::Neutron::SecurityGroup properties: name: security-group rules: - remote_ip_prefix: 0.0.0.0/0 protocol: tcp port_range_min: 22 port_range_max: 22 - remote_ip_prefix: 0.0.0.0/0 protocol: icmp outputs: floating_ip: value: { get_attr: [ inst1_floating_ip, floating_ip_address ] } description: The floatingip assigned to the instance. port_id: value: { get_attr: [ inst1_floating_ip, port_id ] } description: The port_id of the instance.