{ "heat_template_version": "2016-04-08", "parameters":{ "lab_size":{ "type": "number", "label": "Cluster size", "description": "Number of server instances.", "default": "2" } }, "resources":{ "pv176-net":{ "type": "Lib::private_network", "description": "Private network,subnet and router" }, "instance_ports": { "type": "OS::Heat::ResourceGroup", "properties":{ "count": { "get_param": "lab_size" }, "resource_def":{ "type": "Lib::server_port", "properties": { "name": "PV176-port-%index%", "network_id":{ "get_attr": ["pv176-net","network_subnet"] } } } } }, "servers":{ "type": "OS::Heat::ResourceGroup", "depends_on": "instance_ports", "properties":{ "count": { "get_param": "lab_size" }, "resource_def":{ "type": "OS::Nova::Server", "properties":{ "flavor": "m1.large", "image": "73ff33dc-346d-46c8-8786-3bbc97e21c64", "name": "PV176-server-%index%", "networks": [{ "port": "PV176-port-%index%" } ], "user_data": {"get_file": "https://gitlab.ics.muni.cz/396462/PV176/raw/master/Openstack/server-init.ps1"} } } } } }, "outputs":{ "network":{ "value":{ "get_attr": ["pv176-net"] } }, "port_ids":{ "value": {"get_attr": ["instance_ports","name"]} }, "servers_":{ "value": {"get_attr": ["servers","name"]} } } }