5976e54ee2c5980c67bafe1210c8d8987b0a8d6e
[apex-tripleo-heat-templates.git] / examples / scale_map_result_hot.yaml
1 description: examples/scale_map_hot.yaml
2 heat_template_version: '2013-05-23'
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             - - Fn::Select:
50                 - 0
51                 - Fn::Select:
52                   - ctlplane
53                   - get_attr:
54                     - NovaCompute0
55                     - networks
56               - Fn::Select:
57                 - name
58                 - get_attr:
59                   - NovaCompute0
60                   - show
61               - list_join:
62                 - .
63                 - - Fn::Select:
64                     - name
65                     - get_attr:
66                       - NovaCompute0
67                       - show
68                   - local
69           - list_join:
70             - ' '
71             - - Fn::Select:
72                 - 0
73                 - Fn::Select:
74                   - ctlplane
75                   - get_attr:
76                     - NovaCompute1
77                     - networks
78               - Fn::Select:
79                 - name
80                 - get_attr:
81                   - NovaCompute1
82                   - show
83               - list_join:
84                 - .
85                 - - Fn::Select:
86                     - name
87                     - get_attr:
88                       - NovaCompute1
89                       - show
90                   - local
91           - list_join:
92             - ' '
93             - - Fn::Select:
94                 - 0
95                 - Fn::Select:
96                   - ctlplane
97                   - get_attr:
98                     - NovaCompute2
99                     - networks
100               - Fn::Select:
101                 - name
102                 - get_attr:
103                   - NovaCompute2
104                   - show
105               - list_join:
106                 - .
107                 - - Fn::Select:
108                     - name
109                     - get_attr:
110                       - NovaCompute2
111                       - show
112                   - local
113       os-collect-config:
114         cfn:
115           access_key_id:
116             get_resource: NovaCompute0Key
117           path: NovaCompute0Config.Metadata
118           secret_access_key:
119             get_attr:
120             - NovaCompute0Key
121             - SecretAccessKey
122           stack_name:
123             get_param: AWS::StackName
124     type: AWS::AutoScaling::LaunchConfiguration
125   NovaCompute0Key:
126     properties:
127       UserName:
128         get_param: ComputeUser
129     type: AWS::IAM::AccessKey
130   NovaCompute1:
131     metadata:
132       os-collect-config:
133         cfn:
134           access_key_id:
135             get_resource: NovaCompute1Key
136           path: NovaCompute1Config.Metadata
137           secret_access_key:
138             get_attr:
139             - NovaCompute1Key
140             - SecretAccessKey
141           stack_name:
142             get_param: AWS::StackName
143     properties:
144       image:
145         get_param: ComputeImage
146     type: OS::Nova::Server
147   NovaCompute1CompletionCondition:
148     depends_on: notcompute
149     properties:
150       Count: '1'
151       Handle:
152         get_resource: NovaCompute1CompletionHandle
153       Timeout: '1800'
154     type: AWS::CloudFormation::WaitCondition
155   NovaCompute1CompletionHandle:
156     type: AWS::CloudFormation::WaitConditionHandle
157   NovaCompute1Config:
158     metadata:
159       completion-handle:
160         get_resource: NovaCompute1CompletionHandle
161       hosts:
162         list_join:
163         - '
164
165           '
166         - - list_join:
167             - ' '
168             - - Fn::Select:
169                 - 0
170                 - Fn::Select:
171                   - ctlplane
172                   - get_attr:
173                     - NovaCompute0
174                     - networks
175               - Fn::Select:
176                 - name
177                 - get_attr:
178                   - NovaCompute0
179                   - show
180               - list_join:
181                 - .
182                 - - Fn::Select:
183                     - name
184                     - get_attr:
185                       - NovaCompute0
186                       - show
187                   - local
188           - list_join:
189             - ' '
190             - - Fn::Select:
191                 - 0
192                 - Fn::Select:
193                   - ctlplane
194                   - get_attr:
195                     - NovaCompute1
196                     - networks
197               - Fn::Select:
198                 - name
199                 - get_attr:
200                   - NovaCompute1
201                   - show
202               - list_join:
203                 - .
204                 - - Fn::Select:
205                     - name
206                     - get_attr:
207                       - NovaCompute1
208                       - show
209                   - local
210           - list_join:
211             - ' '
212             - - Fn::Select:
213                 - 0
214                 - Fn::Select:
215                   - ctlplane
216                   - get_attr:
217                     - NovaCompute2
218                     - networks
219               - Fn::Select:
220                 - name
221                 - get_attr:
222                   - NovaCompute2
223                   - show
224               - list_join:
225                 - .
226                 - - Fn::Select:
227                     - name
228                     - get_attr:
229                       - NovaCompute2
230                       - show
231                   - local
232       os-collect-config:
233         cfn:
234           access_key_id:
235             get_resource: NovaCompute1Key
236           path: NovaCompute1Config.Metadata
237           secret_access_key:
238             get_attr:
239             - NovaCompute1Key
240             - SecretAccessKey
241           stack_name:
242             get_param: AWS::StackName
243     type: AWS::AutoScaling::LaunchConfiguration
244   NovaCompute1Key:
245     properties:
246       UserName:
247         get_param: ComputeUser
248     type: AWS::IAM::AccessKey
249   NovaCompute2:
250     metadata:
251       os-collect-config:
252         cfn:
253           access_key_id:
254             get_resource: NovaCompute2Key
255           path: NovaCompute2Config.Metadata
256           secret_access_key:
257             get_attr:
258             - NovaCompute2Key
259             - SecretAccessKey
260           stack_name:
261             get_param: AWS::StackName
262     properties:
263       image:
264         get_param: ComputeImage
265     type: OS::Nova::Server
266   NovaCompute2CompletionCondition:
267     depends_on: notcompute
268     properties:
269       Count: '1'
270       Handle:
271         get_resource: NovaCompute2CompletionHandle
272       Timeout: '1800'
273     type: AWS::CloudFormation::WaitCondition
274   NovaCompute2CompletionHandle:
275     type: AWS::CloudFormation::WaitConditionHandle
276   NovaCompute2Config:
277     metadata:
278       completion-handle:
279         get_resource: NovaCompute2CompletionHandle
280       hosts:
281         list_join:
282         - '
283
284           '
285         - - list_join:
286             - ' '
287             - - Fn::Select:
288                 - 0
289                 - Fn::Select:
290                   - ctlplane
291                   - get_attr:
292                     - NovaCompute0
293                     - networks
294               - Fn::Select:
295                 - name
296                 - get_attr:
297                   - NovaCompute0
298                   - show
299               - list_join:
300                 - .
301                 - - Fn::Select:
302                     - name
303                     - get_attr:
304                       - NovaCompute0
305                       - show
306                   - local
307           - list_join:
308             - ' '
309             - - Fn::Select:
310                 - 0
311                 - Fn::Select:
312                   - ctlplane
313                   - get_attr:
314                     - NovaCompute1
315                     - networks
316               - Fn::Select:
317                 - name
318                 - get_attr:
319                   - NovaCompute1
320                   - show
321               - list_join:
322                 - .
323                 - - Fn::Select:
324                     - name
325                     - get_attr:
326                       - NovaCompute1
327                       - show
328                   - local
329           - list_join:
330             - ' '
331             - - Fn::Select:
332                 - 0
333                 - Fn::Select:
334                   - ctlplane
335                   - get_attr:
336                     - NovaCompute2
337                     - networks
338               - Fn::Select:
339                 - name
340                 - get_attr:
341                   - NovaCompute2
342                   - show
343               - list_join:
344                 - .
345                 - - Fn::Select:
346                     - name
347                     - get_attr:
348                       - NovaCompute2
349                       - show
350                   - local
351       os-collect-config:
352         cfn:
353           access_key_id:
354             get_resource: NovaCompute2Key
355           path: NovaCompute2Config.Metadata
356           secret_access_key:
357             get_attr:
358             - NovaCompute2Key
359             - SecretAccessKey
360           stack_name:
361             get_param: AWS::StackName
362     type: AWS::AutoScaling::LaunchConfiguration
363   NovaCompute2Key:
364     properties:
365       UserName:
366         get_param: ComputeUser
367     type: AWS::IAM::AccessKey