1 HeatTemplateFormatVersion: '2012-12-12'
2 Description: '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 Type: OS::Heat::AccessPolicy
37 AllowedResources: [ HeatEngine ]
41 Policies: [ { Ref: EngineAccessPolicy } ]
43 Type: AWS::IAM::AccessKey
48 Type: OS::Heat::AccessPolicy
50 AllowedResources: [ HeatAPI, HeatAPILaunch ]
54 Policies: [ { Ref: ApiAccessPolicy } ]
56 Type: AWS::IAM::AccessKey
61 Type: AWS::AutoScaling::LaunchConfiguration
63 OpenStack::ImageBuilder::Elements: [ heat-api ]
65 rpc_backend: heat.openstack.common.rpc.impl_kombu
67 host: {Ref: RabbitMQHost}
68 password: {Ref: RabbitMQPassword}
72 Fn::GetAtt: [ ApiKey, SecretAccessKey ]
74 name: {Ref: 'AWS::StackName'}
75 region: {Ref: 'AWS::Region'}
77 - resource: HeatAPILaunch
81 InstanceType: {Ref: InstanceType}
82 KeyName: {Ref: KeyName}
84 Type: OS::Heat::InstanceGroup
86 LaunchConfiguration: {Ref: HeatApiLaunch}
87 Size: {Ref: ApiGroupSize}
88 AvailabilityZones: {Ref: AvailabilityZones}
90 Type: AWS::EC2::Instance
93 {Ref: HeatEngineImage}
95 OpenStack::Role: stateful
96 OpenStack::ImageBuilder::Elements: [ heat-engine ]
98 rpc_backend: heat.openstack.common.rpc.impl_kombu
100 host: {Ref: RabbitMQHost}
101 password: {Ref: RabbitMQPassword}
105 Fn::GetAtt: [ EngineKey, SecretAccessKey ]
107 name: {Ref: 'AWS::StackName'}
108 region: {Ref: 'AWS::Region'}
110 - resource: HeatEngine