--- heat_template_version: 2016-04-08 parameters: job_name: type: string description: Name of job running this template silo: type: string description: Jenkins Silo job is running in (typically releng|sandbox) vm_0_count: type: number description: Number of VMs for 1st VM type vm_0_flavor: type: string default: v1-standard-1 description: Flavor to run instance on for 1st VM type vm_0_image: type: string description: Image to run instance on for 1st VM type vm_1_count: type: number description: Number of VMs for 2nd VM type vm_1_flavor: type: string default: v1-standard-1 description: Flavor to run instance on for 2nd VM type vm_1_image: type: string description: Image to run instance on for 2nd VM type vm_2_count: type: number description: Number of VMs for 3rd VM type vm_2_flavor: type: string default: v1-standard-1 description: Flavor to run instance on for 3rd VM type vm_2_image: type: string description: Image to run instance on for 3rd VM type resources: 192_network: type: OS::Neutron::Net properties: name: str_replace: template: SILO-JOB_NAME-NET params: "SILO": {get_param: silo} "JOB_NAME": {get_param: job_name} "NET": 'APEX_192_network' port_security_enabled: false 192_subnet: type: OS::Neutron::Subnet properties: name: str_replace: template: SILO-JOB_NAME-SUBNET params: "SILO": {get_param: silo} "JOB_NAME": {get_param: job_name} "SUBNET": 'APEX_192_subnet' network_id: {get_resource: 192_network} cidr: 192.0.2.0/24 gateway_ip: 192.0.2.1 allocation_pools: - start: 192.0.2.51 end: 192.0.2.99 vm_0_group: type: "OS::Heat::ResourceGroup" properties: count: {get_param: vm_0_count} resource_def: type: apex-server.yaml properties: job_name: {get_param: job_name} silo: {get_param: silo} index: "%index%" group: "0" vm_flavor: {get_param: vm_0_flavor} vm_image: {get_param: vm_0_image} vm_network: {get_resource: 192_network} vm_1_group: type: "OS::Heat::ResourceGroup" properties: count: {get_param: vm_1_count} resource_def: type: apex-server.yaml properties: job_name: {get_param: job_name} silo: {get_param: silo} index: "%index%" group: "1" vm_flavor: {get_param: vm_1_flavor} vm_image: {get_param: vm_1_image} vm_network: {get_resource: 192_network} vm_2_group: type: "OS::Heat::ResourceGroup" properties: count: {get_param: vm_2_count} resource_def: type: apex-server.yaml properties: job_name: {get_param: job_name} silo: {get_param: silo} index: "%index%" group: "2" vm_flavor: {get_param: vm_2_flavor} vm_image: {get_param: vm_2_image} vm_network: {get_resource: 192_network}