{
    "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"]}
        }
    }
}