1 HeatTemplateFormatVersion: '2012-12-12'
2 Description: 'HEAT Template - Heat Engine and API'
5 Description: Name of an existing EC2 KeyPair to enable SSH access to the instances
9 Description: Use this flavor
13 Description: Heat database username.
21 Description: Host for RabbitMQ
24 Description: Password for RabbitMQ
27 Description: How many API nodes to run
35 Default: https://raw.github.com/openstack-ops/templates/master/
38 Type: AWS::CloudFormation::Stack
39 TemplateURL: {Fn::Join: [ {Ref: TemplateURL} , 'generic-user.yaml' ]}
41 AccessList: [ HeatEngine ]
43 Type: AWS::CloudFormation::Stack
44 TemplateURL: {Fn::Join: [ {Ref: TemplateURL} , 'generic-user.yaml' ]}
46 AccessList: [ HeatAPI, HeatAPILaunch ]
48 Type: AWS::AutoScaling::LaunchConfiguration
50 OpenStack::ImageBuilder::Elements: [ heat-api ]
52 rpc_backend: heat.openstack.common.rpc.impl_kombu
54 host: {Ref: RabbitMQHost}
55 password: {Ref: RabbitMQPassword}
57 Fn::GetAtt: [ ApiUser, AccessKeyId ]
59 Fn::GetAtt: [ ApiUser, SecretAccessKey ]
61 name: {Ref: 'AWS::StackName'}
62 region: {Ref: 'AWS::Region'}
64 - resource: HeatAPILaunch
68 InstanceType: {Ref: InstanceType}
69 KeyName: {Ref: KeyName}
70 UserData: "#!/bin/bash\ntouch /tmp/userdata-finished\necho Userdata finished $(date)\n"
72 Type: OS::Heat::InstanceGroup
74 LaunchConfiguration: {Ref: HeatApiLaunch}
75 Size: {Ref: ApiGroupSize}
76 AvailabilityZones: {Ref: AvailabilityZones}
78 Type: AWS::EC2::Instance
81 {Ref: HeatEngineImage}
84 rpc_backend: heat.openstack.common.rpc.impl_kombu
86 host: {Ref: RabbitMQHost}
87 password: {Ref: RabbitMQPassword}
89 Fn::GetAtt: [ EngineUser, AccessKeyId ]
91 Fn::GetAtt: [ EngineUser, SecretAccessKey ]
93 name: {Ref: 'AWS::StackName'}
94 region: {Ref: 'AWS::Region'}
96 - resource: HeatEngine