Merge "Configures haproxy as a Pacemaker resource"
[apex-tripleo-heat-templates.git] / examples / scale_map_result_hot.yaml
1 description: examples/scale_map_hot.yaml
2 heat_template_version: '2014-10-16'
3 resources:
4   ComputeUser:
5     properties:
6       Policies:
7       - get_param: ComputeAccessPolicy
8     type: AWS::IAM::User
9   GlobalAccessPolicy:
10     type: OS::Heat::AccessPolicy
11   NovaCompute0:
12     metadata:
13       os-collect-config:
14         cfn:
15           access_key_id:
16             get_resource: NovaCompute0Key
17           path: NovaCompute0Config.Metadata
18           secret_access_key:
19             get_attr:
20             - NovaCompute0Key
21             - SecretAccessKey
22           stack_name:
23             get_param: AWS::StackName
24     properties:
25       image:
26         get_param: ComputeImage
27     type: OS::Nova::Server
28   NovaCompute0CompletionCondition:
29     depends_on: notcompute
30     properties:
31       Count: '1'
32       Handle:
33         get_resource: NovaCompute0CompletionHandle
34       Timeout: '1800'
35     type: AWS::CloudFormation::WaitCondition
36   NovaCompute0CompletionHandle:
37     type: AWS::CloudFormation::WaitConditionHandle
38   NovaCompute0Config:
39     metadata:
40       completion-handle:
41         get_resource: NovaCompute0CompletionHandle
42       hosts:
43         list_join:
44         - '
45
46           '
47         - - list_join:
48             - ' '
49             - - get_attr:
50                 - NovaCompute0
51                 - networks
52                 - ctlplane
53                 - 0
54               - get_attr:
55                 - NovaCompute0
56                 - show
57                 - name
58               - list_join:
59                 - .
60                 - - get_attr:
61                     - NovaCompute0
62                     - show
63                     - name
64                   - local
65           - list_join:
66             - ' '
67             - - get_attr:
68                 - NovaCompute1
69                 - networks
70                 - ctlplane
71                 - 0
72               - get_attr:
73                 - NovaCompute1
74                 - show
75                 - name
76               - list_join:
77                 - .
78                 - - get_attr:
79                     - NovaCompute1
80                     - show
81                     - name
82                   - local
83           - list_join:
84             - ' '
85             - - get_attr:
86                 - NovaCompute2
87                 - networks
88                 - ctlplane
89                 - 0
90               - get_attr:
91                 - NovaCompute2
92                 - show
93                 - name
94               - list_join:
95                 - .
96                 - - get_attr:
97                     - NovaCompute2
98                     - show
99                     - name
100                   - local
101       os-collect-config:
102         cfn:
103           access_key_id:
104             get_resource: NovaCompute0Key
105           path: NovaCompute0Config.Metadata
106           secret_access_key:
107             get_attr:
108             - NovaCompute0Key
109             - SecretAccessKey
110           stack_name:
111             get_param: AWS::StackName
112     type: AWS::AutoScaling::LaunchConfiguration
113   NovaCompute0Key:
114     properties:
115       UserName:
116         get_param: ComputeUser
117     type: AWS::IAM::AccessKey
118   NovaCompute1:
119     metadata:
120       os-collect-config:
121         cfn:
122           access_key_id:
123             get_resource: NovaCompute1Key
124           path: NovaCompute1Config.Metadata
125           secret_access_key:
126             get_attr:
127             - NovaCompute1Key
128             - SecretAccessKey
129           stack_name:
130             get_param: AWS::StackName
131     properties:
132       image:
133         get_param: ComputeImage
134     type: OS::Nova::Server
135   NovaCompute1CompletionCondition:
136     depends_on: notcompute
137     properties:
138       Count: '1'
139       Handle:
140         get_resource: NovaCompute1CompletionHandle
141       Timeout: '1800'
142     type: AWS::CloudFormation::WaitCondition
143   NovaCompute1CompletionHandle:
144     type: AWS::CloudFormation::WaitConditionHandle
145   NovaCompute1Config:
146     metadata:
147       completion-handle:
148         get_resource: NovaCompute1CompletionHandle
149       hosts:
150         list_join:
151         - '
152
153           '
154         - - list_join:
155             - ' '
156             - - get_attr:
157                 - NovaCompute0
158                 - networks
159                 - ctlplane
160                 - 0
161               - get_attr:
162                 - NovaCompute0
163                 - show
164                 - name
165               - list_join:
166                 - .
167                 - - get_attr:
168                     - NovaCompute0
169                     - show
170                     - name
171                   - local
172           - list_join:
173             - ' '
174             - - get_attr:
175                 - NovaCompute1
176                 - networks
177                 - ctlplane
178                 - 0
179               - get_attr:
180                 - NovaCompute1
181                 - show
182                 - name
183               - list_join:
184                 - .
185                 - - get_attr:
186                     - NovaCompute1
187                     - show
188                     - name
189                   - local
190           - list_join:
191             - ' '
192             - - get_attr:
193                 - NovaCompute2
194                 - networks
195                 - ctlplane
196                 - 0
197               - get_attr:
198                 - NovaCompute2
199                 - show
200                 - name
201               - list_join:
202                 - .
203                 - - get_attr:
204                     - NovaCompute2
205                     - show
206                     - name
207                   - local
208       os-collect-config:
209         cfn:
210           access_key_id:
211             get_resource: NovaCompute1Key
212           path: NovaCompute1Config.Metadata
213           secret_access_key:
214             get_attr:
215             - NovaCompute1Key
216             - SecretAccessKey
217           stack_name:
218             get_param: AWS::StackName
219     type: AWS::AutoScaling::LaunchConfiguration
220   NovaCompute1Key:
221     properties:
222       UserName:
223         get_param: ComputeUser
224     type: AWS::IAM::AccessKey
225   NovaCompute2:
226     metadata:
227       os-collect-config:
228         cfn:
229           access_key_id:
230             get_resource: NovaCompute2Key
231           path: NovaCompute2Config.Metadata
232           secret_access_key:
233             get_attr:
234             - NovaCompute2Key
235             - SecretAccessKey
236           stack_name:
237             get_param: AWS::StackName
238     properties:
239       image:
240         get_param: ComputeImage
241     type: OS::Nova::Server
242   NovaCompute2CompletionCondition:
243     depends_on: notcompute
244     properties:
245       Count: '1'
246       Handle:
247         get_resource: NovaCompute2CompletionHandle
248       Timeout: '1800'
249     type: AWS::CloudFormation::WaitCondition
250   NovaCompute2CompletionHandle:
251     type: AWS::CloudFormation::WaitConditionHandle
252   NovaCompute2Config:
253     metadata:
254       completion-handle:
255         get_resource: NovaCompute2CompletionHandle
256       hosts:
257         list_join:
258         - '
259
260           '
261         - - list_join:
262             - ' '
263             - - get_attr:
264                 - NovaCompute0
265                 - networks
266                 - ctlplane
267                 - 0
268               - get_attr:
269                 - NovaCompute0
270                 - show
271                 - name
272               - list_join:
273                 - .
274                 - - get_attr:
275                     - NovaCompute0
276                     - show
277                     - name
278                   - local
279           - list_join:
280             - ' '
281             - - get_attr:
282                 - NovaCompute1
283                 - networks
284                 - ctlplane
285                 - 0
286               - get_attr:
287                 - NovaCompute1
288                 - show
289                 - name
290               - list_join:
291                 - .
292                 - - get_attr:
293                     - NovaCompute1
294                     - show
295                     - name
296                   - local
297           - list_join:
298             - ' '
299             - - get_attr:
300                 - NovaCompute2
301                 - networks
302                 - ctlplane
303                 - 0
304               - get_attr:
305                 - NovaCompute2
306                 - show
307                 - name
308               - list_join:
309                 - .
310                 - - get_attr:
311                     - NovaCompute2
312                     - show
313                     - name
314                   - local
315       os-collect-config:
316         cfn:
317           access_key_id:
318             get_resource: NovaCompute2Key
319           path: NovaCompute2Config.Metadata
320           secret_access_key:
321             get_attr:
322             - NovaCompute2Key
323             - SecretAccessKey
324           stack_name:
325             get_param: AWS::StackName
326     type: AWS::AutoScaling::LaunchConfiguration
327   NovaCompute2Key:
328     properties:
329       UserName:
330         get_param: ComputeUser
331     type: AWS::IAM::AccessKey