aws-must 0.0.5 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +29 -20
  3. data/demo/0/root.mustache +13 -1
  4. data/demo/2/conf.yaml +1 -5
  5. data/demo/{8 → 2}/resources.mustache +6 -15
  6. data/demo/2/root.mustache +13 -54
  7. data/demo/2.old/conf.yaml +5 -0
  8. data/demo/2.old/root.mustache +85 -0
  9. data/demo/3/conf.yaml +18 -2
  10. data/demo/3/resource.mustache +27 -0
  11. data/demo/3/resourceInstance.mustache +32 -0
  12. data/demo/3/resources.mustache +9 -8
  13. data/demo/3/root.mustache +17 -17
  14. data/demo/4/conf.yaml +19 -14
  15. data/demo/{8 → 4}/output.mustache +1 -2
  16. data/demo/4/resource.mustache +1 -1
  17. data/demo/4/resourceInstance.mustache +10 -5
  18. data/demo/4/resourceSecurityGroup.mustache +37 -0
  19. data/demo/4/root.mustache +16 -9
  20. data/demo/5/conf.yaml +3 -4
  21. data/demo/{8 → 5}/mappings.mustache +0 -0
  22. data/demo/5/output.mustache +2 -1
  23. data/demo/5/resource.mustache +3 -0
  24. data/demo/5/resourceInstance.mustache +4 -4
  25. data/demo/5/resources.mustache +12 -2
  26. data/demo/5/root.mustache +42 -9
  27. data/demo/6/conf.yaml +27 -8
  28. data/demo/{8 → 6}/parameter.mustache +0 -0
  29. data/demo/6/resource.mustache +10 -1
  30. data/demo/6/resourceInstance.mustache +13 -3
  31. data/demo/{8 → 6}/resourceSecurityGroup.mustache +0 -0
  32. data/demo/6/root.mustache +48 -15
  33. data/demo/{8 → 6}/tag.mustache +0 -0
  34. data/demo/7/conf.yaml +8 -3
  35. data/demo/7/resourceInstance.mustache +5 -2
  36. data/demo/{8 → 7}/resourceInstanceChef.mustache +0 -0
  37. data/demo/7/root.mustache +11 -3
  38. data/lib/tasks/demo.rake +6 -7
  39. metadata +14 -13
  40. data/demo/8/conf.yaml +0 -61
  41. data/demo/8/resource.mustache +0 -38
  42. data/demo/8/resourceInstance.mustache +0 -50
  43. data/demo/8/root.mustache +0 -191
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b89b1de055c4e34d2236dfc4cf7b9e76b1b092ad
4
- data.tar.gz: a225139880451b8b2509b1c20e78fa578d585d0d
3
+ metadata.gz: 8326b8dfa72e7fea5dc9d0b4f20d7f02e2071f50
4
+ data.tar.gz: 7c2ea2b9ad369395c758e60e1bd655e4c32225be
5
5
  SHA512:
6
- metadata.gz: 9429a6f6b26fb185849cb335c3ac0cbc8f99ac38a9aa42a40eb3686eb195ed6faff1d6c1eba5ab08d9b49abd8c8e6fa535018ed244c78ec26f6febef8a0759c3
7
- data.tar.gz: e9b056172c1fa74ceaa799fcaaebef1908cc5681793e11dbd5cc954d73ce335b0f7ad843b3751237a2ce9c58ae3a1fe8d571c4938edc263b843009dbda21cd4f
6
+ metadata.gz: 231f3f0d6c8ae16b2cbe73bdbc5a84004c167c2a622c2a69c65338502fc16311545108994c7bb69b8a78fc82c1b1eea538ed73ea56b2872f7b10fa68a1ffe22a
7
+ data.tar.gz: 5990bcc8e7bcd562356d4c99edce55530458086066cad26900c7e41c0c280cc17058c7ae72b19c89119aeae5e66df667dc6e4bf792ffd971b752d05191b94e9b
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # aws-must - Minimum Viable Solution to Manage CloudFormation Templates - $Release:0.0.5$
1
+ # aws-must - Minimum Viable Solution to Manage CloudFormation Templates - $Release:0.0.6$
2
2
 
3
3
  `aws-must` is a tool, which allows separating infrastructure
4
4
  configuration and Amazon related syntax in CloudFormation JSON
@@ -6,6 +6,13 @@ templates using [YAML](http://learnxinyminutes.com/docs/yaml) and
6
6
  [Mustache templates](https://mustache.github.io/).
7
7
 
8
8
 
9
+ See blog posts
10
+ [1](https://jarjuk.wordpress.com/2015/06/15/love-aws-part1-5),
11
+ [2](https://jarjuk.wordpress.com/2015/06/15/love-aws-part2-2), and
12
+ [3](https://jarjuk.wordpress.com/2015/06/15/love-aws-part3-2/) for
13
+ background information on this tool.
14
+
15
+
9
16
  ## The Problem
10
17
 
11
18
  [Amazon CloudFormation](http://aws.amazon.com/cloudformation/) gives
@@ -53,10 +60,10 @@ above. With the tool users may
53
60
  3. use YAML anchors to express dependencies between infrastructure
54
61
  elements.
55
62
 
56
- 4. add comments in YAML and Mustache templates. The tool supports
63
+ 4. add comments in YAML and Mustache templates. The tool supports a
57
64
  simple tag syntax (**++start++**
58
- **++close++** -tags) to add documentation to
59
- Mustache templates, which can be extracted to a separate document.
65
+ **++close++** -tags) allowing documentation to
66
+ be extracted directly from template files.
60
67
 
61
68
  5. use Mustache partials to get rid of repeating similar sections in
62
69
  JSON configuration.
@@ -66,8 +73,9 @@ above. With the tool users may
66
73
 
67
74
  ## Installation
68
75
 
69
- Add following line to `Gemfile`
76
+ Add following lines to `Gemfile`
70
77
 
78
+ source 'https://rubygems.org'
71
79
  gem 'aws-must'
72
80
 
73
81
 
@@ -76,6 +84,8 @@ and run
76
84
  bundle install
77
85
 
78
86
 
87
+ **Notice**: requires Ruby version ~> 2.0.
88
+
79
89
  ## Usage
80
90
 
81
91
  ### CLI Usage
@@ -134,8 +144,8 @@ run
134
144
  **NOTICE:**: The [jq](http://stedolan.github.io/jq/) must be installed
135
145
  for diff target to work.
136
146
 
137
- To show html documentation extracted from demo case `i` templates, run
138
- rake task `demo:html-i`. For example, for demo case `3` run
147
+ To show html documentation extracted from demo case `i`, run rake task
148
+ `demo:html-i`. For example, for demo case `3` run
139
149
 
140
150
  rake demo:html-3
141
151
 
@@ -148,13 +158,13 @@ line argument `browser`, e.g. `rake demo:html-3[chromium-browser]`.
148
158
 
149
159
  #### Use Demo to Bootstrap Own Configuration
150
160
 
151
- To create a copy of templates and YAML configuration for demo case
152
- `i`, run rake task `demo:bootstrap-i`, and pass template and
161
+ To create a copy of templates and YAML configuration for demo case `i`,
162
+ run rake task `demo:bootstrap-i`, and pass template and
153
163
  configuration directories as command line arguments. For example, to
154
- copy demo case `3` templates to directory `tmp/tmpl`, and
164
+ copy demo case `4` templates to directory `tmp/tmpl`, and
155
165
  configurations to directory `tmp/conf`, run
156
166
 
157
- rake demo:bootstrap-3[tmp/tmpl,tmp/conf]
167
+ rake demo:bootstrap-4[tmp/tmpl,tmp/conf]
158
168
 
159
169
 
160
170
 
@@ -170,18 +180,17 @@ Prerequisites:
170
180
  * [Install Amazon AWS Command Line Interface](http://docs.aws.amazon.com/cli/latest/userguide/installing.html)
171
181
  * [Configure AWS Command Line Interface](http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)
172
182
 
173
- To list demo targets, which provision Amazon, run
183
+ To list demo targets provisioning Amazon run
174
184
 
175
185
  rake -T demo:stack-create
176
186
 
177
- **NOTICE**: Please, notice the region constraint in the output. Some
178
- of the templates use fixed AMI configuration, which means that they
179
- work only if aws -tool defines correct region (typically in set in
180
- `~/.aws/config` file).
187
+ **NOTICE**: the region constraint in the output. Some of the templates
188
+ use fixed AMI configuration, which means that they work only if aws
189
+ -tool defines correct region (typically in set in `~/.aws/config`
190
+ file).
181
191
 
182
192
 
183
- To create a `demo` stack for demo case `i`, for example demo case 7
184
- run
193
+ To create a `demo` stack for demo case `7` run
185
194
 
186
195
  rake demo:stack-create-7
187
196
 
@@ -193,8 +202,8 @@ To show status of `demo` stack run
193
202
 
194
203
  rake demo:stack-status
195
204
 
196
- EC2 instances created in demo cases `7,8,...` accept ssh
197
- connections.
205
+ EC2 instances created in demo cases `7,8,...` accept ssh connections
206
+ via port 22.
198
207
 
199
208
  Demo target `demo:stack-ssh` locates an ip address from a stack output
200
209
  variable given as a parameter, and makes ssh connection to this ip
data/demo/0/root.mustache CHANGED
@@ -1 +1,13 @@
1
- {{! empty }}
1
+ {
2
+ "AWSTemplateFormatVersion" : "2010-09-09",
3
+ "Description" : "A simple Amazon EC2 instance. Initial copy",
4
+ "Resources" : {
5
+ "MyEC2Instance" : {
6
+ "Type" : "AWS::EC2::Instance",
7
+ "Properties" : {
8
+ "ImageId" : "ami-00dae61d",
9
+ "InstanceType" : "t2.micro"
10
+ }
11
+ }
12
+ }
13
+ }
data/demo/2/conf.yaml CHANGED
@@ -1,5 +1 @@
1
- -- demo/2 : added description property
2
-
3
-
4
- description: "demo/2: a simple Amazon EC2 instance created using
5
- aws-must tool. Added Description tag in root.mustache"
1
+ description: "demo/2: a simple Amazon EC2 instance created using aws-must tool"
@@ -1,28 +1,21 @@
1
1
  {{!
2
2
 
3
+ resources.mustache - fixed resources
4
+
3
5
  ++start++
4
6
 
5
7
  ## <a id="resources.mustache"></a>resources.mustache <a class='navigator' href='#top'">[top]</a>
6
8
 
7
- Empty template.
8
-
9
- **Attributes**: context= `.`
10
-
11
- * none
12
-
13
-
14
- **Actions**:
15
-
16
- * no action (i.e. empty template)
9
+ Create an EC2 with following fixed parameters
17
10
 
11
+ * `ImageId` : "ami-00dae61d",
12
+ * `InstanceType` : "t2.micro"
18
13
 
19
14
  ++close++
20
15
 
21
16
 
22
17
  }}
23
- {{!
24
18
 
25
- Moved to YAML
26
19
 
27
20
  "MyEC2Instance" : {
28
21
  "Type" : "AWS::EC2::Instance",
@@ -30,6 +23,4 @@ Empty template.
30
23
  "ImageId" : "ami-00dae61d",
31
24
  "InstanceType" : "t2.micro"
32
25
  }
33
- }
34
-
35
- }}
26
+ }
data/demo/2/root.mustache CHANGED
@@ -1,7 +1,11 @@
1
1
  {{!
2
2
 
3
- ++start++
4
3
 
4
+ ==================================================================
5
+ STYLE section
6
+ ==================================================================
7
+
8
+ ++start++
5
9
  <style>
6
10
  h1 {
7
11
  color:blue;
@@ -15,71 +19,26 @@ body {
15
19
  background-color: #b0c4de;
16
20
  }
17
21
  </style>
22
+ ++close++
23
+ }}
18
24
 
25
+ {{!
26
+ ++start++
19
27
 
20
28
  # <a id="top">aws-must demo 2 template</a>
21
29
 
22
- ## root.mustache
23
-
24
- Create an EC2 with following fixed parameters
25
-
26
- * `ImageId` : "ami-00dae61d",
27
- * `InstanceType` : "t2.micro"
28
-
29
- Supports only region `eu-central-1`. No ssh connection allowed by
30
- default.
31
-
32
- **Parameters**:
33
-
34
- * no parameters
35
-
36
-
37
- ## Document Content
38
-
39
- This document is generated automically from `aws-must` -demo
40
- templates.
41
-
42
-
43
- Output contains markdown syntax between
44
- **&plus;&plus;start&plus;&plus;** and
45
- **&plus;&plus;close&plus;&plus;** -tags from the template files. For
46
- each template, it
47
-
48
- * gives a general description of the template
49
-
50
- * documents the attribute context e.g. `.` or `./resources/Instance`,
51
- and attributes references of the template
52
-
53
- * lists template actions, i.e. output from template, or template
54
- inclusion
55
-
56
-
57
- ## <a id="root.mustache"></a>root.mustache <a class='navigator' href='#top'">[top]</a>
58
-
59
-
60
- **Attributes**: context= `.`
61
-
62
- * `description`: description for the CF template
63
-
64
- **Actions**:
65
-
66
- * **Description**: `description`
30
+ Create an EC2 with following fixed parnameters `ImageId`
31
+ ("ami-00dae61d") and `InstanceType` ("t2.micro")
67
32
 
33
+ > resources
68
34
 
69
35
  ++close++
70
-
71
36
  }}
72
37
 
73
38
  {
74
39
  "AWSTemplateFormatVersion" : "2010-09-09",
75
40
  "Description" : "{{description}}",
76
41
  "Resources" : {
77
- "MyEC2Instance" : {
78
- "Type" : "AWS::EC2::Instance",
79
- "Properties" : {
80
- "ImageId" : "ami-00dae61d",
81
- "InstanceType" : "t2.micro"
82
- }
83
- }
42
+ {{> resources }}
84
43
  }
85
44
  }
@@ -0,0 +1,5 @@
1
+ -- demo/2 : added description property
2
+
3
+
4
+ description: "demo/2: a simple Amazon EC2 instance created using
5
+ aws-must tool. Added Description tag in root.mustache"
@@ -0,0 +1,85 @@
1
+ {{!
2
+
3
+ ++start++
4
+
5
+ <style>
6
+ h1 {
7
+ color:blue;
8
+ font-size: 2.5em;
9
+ }
10
+ h2 {
11
+ color:blue;
12
+ font-size: 1.5em;
13
+ }
14
+ body {
15
+ background-color: #b0c4de;
16
+ }
17
+ </style>
18
+
19
+
20
+ # <a id="top">aws-must demo 2 template</a>
21
+
22
+ ## root.mustache
23
+
24
+ Create an EC2 with following fixed parameters
25
+
26
+ * `ImageId` : "ami-00dae61d",
27
+ * `InstanceType` : "t2.micro"
28
+
29
+ Supports only region `eu-central-1`. No ssh connection allowed by
30
+ default.
31
+
32
+ **Parameters**:
33
+
34
+ * no parameters
35
+
36
+
37
+ ## Document Content
38
+
39
+ This document is generated automically from `aws-must` -demo
40
+ templates.
41
+
42
+
43
+ Output contains markdown syntax between
44
+ **&plus;&plus;start&plus;&plus;** and
45
+ **&plus;&plus;close&plus;&plus;** -tags from the template files. For
46
+ each template, it
47
+
48
+ * gives a general description of the template
49
+
50
+ * documents the attribute context e.g. `.` or `./resources/Instance`,
51
+ and attributes references of the template
52
+
53
+ * lists template actions, i.e. output from template, or template
54
+ inclusion
55
+
56
+
57
+ ## <a id="root.mustache"></a>root.mustache <a class='navigator' href='#top'">[top]</a>
58
+
59
+
60
+ **Attributes**: context= `.`
61
+
62
+ * `description`: description for the CF template
63
+
64
+ **Actions**:
65
+
66
+ * **Description**: `description`
67
+
68
+
69
+ ++close++
70
+
71
+ }}
72
+
73
+ {
74
+ "AWSTemplateFormatVersion" : "2010-09-09",
75
+ "Description" : "{{description}}",
76
+ "Resources" : {
77
+ "MyEC2Instance" : {
78
+ "Type" : "AWS::EC2::Instance",
79
+ "Properties" : {
80
+ "ImageId" : "ami-00dae61d",
81
+ "InstanceType" : "t2.micro"
82
+ }
83
+ }
84
+ }
85
+ }
data/demo/3/conf.yaml CHANGED
@@ -1,3 +1,19 @@
1
+ -- demo/2 : added description property
1
2
 
2
- description: "demo/3: a simple Amazon EC2 instance created using aws-must tool.
3
- Resources section created using partial resource.mustache"
3
+
4
+ description: "demo/3: a simple Amazon EC2 instance created using aws-must tool"
5
+
6
+ parameters:
7
+
8
+ - Name: InstanceType
9
+ Type: String
10
+ Description: EC2 reousrce instance type
11
+ Value: &Param_InstanceType t2.micro
12
+
13
+
14
+ resources:
15
+
16
+ - Instance:
17
+ Name: MyEC2Instance
18
+ ImageId: ami-00dae61d
19
+ InstanceType: t2.micro
@@ -0,0 +1,27 @@
1
+ {{!
2
+
3
+ resource.mustache
4
+
5
+ ++start++
6
+
7
+ ## <a id="resource.mustache"></a>resource.mustache <a class='navigator' href='#top'">[top]</a>
8
+
9
+ Dispatches resource sub-type templates based resource Type propertys
10
+
11
+ **Attributes**: context= `./resources`
12
+
13
+ * `Instance`: sub-document defining an EC instance
14
+
15
+
16
+ **Actions**:
17
+
18
+ * include <a href="#resourceInstance.mustache">resourceInstance.mustache</a> if `Instance`
19
+
20
+ > resourceInstance
21
+
22
+ ++close++
23
+
24
+
25
+ }}
26
+
27
+ {{# Instance }}{{> resourceInstance}}{{/ Instance }}
@@ -0,0 +1,32 @@
1
+ {{!
2
+
3
+
4
+ ++start++
5
+
6
+ ## <a id="resourceInstance.mustache"></a>resourceInstance.mustache <a class='navigator' href='#top'">[top]</a>
7
+
8
+ Create an EC2 instance
9
+
10
+ **Attributes**: context= `./resources/Instance`
11
+
12
+ * `Name`: name of the EC2 instance to create
13
+ * `ImageId`: AIM id to create
14
+
15
+ **Actions**:
16
+
17
+ * **Name**: `Name`
18
+ * **Type**: 'AWS::EC2::Instance'
19
+ * **ImageId**: `ImageId`
20
+
21
+ ++close++
22
+
23
+ }}
24
+
25
+
26
+ "{{Name}}" : {
27
+ "Type" : "AWS::EC2::Instance",
28
+ "Properties" : {
29
+ "ImageId" : "{{ImageId}}",
30
+ "InstanceType" : "{{InstanceType}}"
31
+ }
32
+ }{{_comma}}
@@ -1,21 +1,19 @@
1
1
  {{!
2
2
 
3
- resources.mustache - fixed resources
4
-
5
3
  ++start++
6
4
 
7
- ## <a id="resources.mustache"></a>resources.mustache <a class='navigator' href='#top'">[top]</a>
8
-
9
- Create an EC2 with following fixed parameters
5
+ ## resources.mustache
10
6
 
11
- * `ImageId` : "ami-00dae61d",
12
- * `InstanceType` : "t2.micro"
7
+ Nothing created here
13
8
 
14
9
  ++close++
15
10
 
16
11
 
17
12
  }}
13
+ {{!
18
14
 
15
+ Fixed resource 'MyEC2Instance' not used anymore.
16
+ Use YAML resource configuration instead!
19
17
 
20
18
  "MyEC2Instance" : {
21
19
  "Type" : "AWS::EC2::Instance",
@@ -23,4 +21,7 @@ Create an EC2 with following fixed parameters
23
21
  "ImageId" : "ami-00dae61d",
24
22
  "InstanceType" : "t2.micro"
25
23
  }
26
- }
24
+ }
25
+
26
+ }}
27
+ {{# resources }}{{> resource }}{{/ resources }}
data/demo/3/root.mustache CHANGED
@@ -1,11 +1,13 @@
1
1
  {{!
2
2
 
3
+ root.mustache: root level template,
3
4
 
4
5
  ==================================================================
5
6
  STYLE section
6
7
  ==================================================================
7
8
 
8
9
  ++start++
10
+
9
11
  <style>
10
12
  h1 {
11
13
  color:blue;
@@ -15,12 +17,18 @@ h2 {
15
17
  color:blue;
16
18
  font-size: 1.5em;
17
19
  }
20
+ h3 {
21
+ color:blue;
22
+ font-size: 1.5em;
23
+ }
18
24
  body {
19
25
  background-color: #b0c4de;
20
26
  }
21
27
  </style>
28
+
22
29
  ++close++
23
30
 
31
+
24
32
  ==================================================================
25
33
  CONTENT section
26
34
  ==================================================================
@@ -29,10 +37,8 @@ CONTENT section
29
37
 
30
38
  # <a id="top">aws-must demo 3 template</a>
31
39
 
32
- Create an EC2 with following fixed parnameters
33
-
34
- * `ImageId` : "ami-00dae61d",
35
- * `InstanceType` : "t2.micro"
40
+ Creates a EC2 instances using YAML configuration defining `ImageId`
41
+ (e.g. ami-00dae61d) and `InstanceType` (e.g. t2.micro).
36
42
 
37
43
 
38
44
  Supports only region `eu-central-1`. No ssh connection allowed by
@@ -40,13 +46,13 @@ default.
40
46
 
41
47
  **Parameters**:
42
48
 
43
- * no parameters
49
+ * `InstanceType`: EC2 resource instance type, (default: t2.micro)
44
50
 
45
51
 
46
52
  ## Document Content
47
53
 
48
54
  This document is generated automically from `aws-must` -demo
49
- templates.
55
+ templates.
50
56
 
51
57
 
52
58
  Output contains markdown syntax between
@@ -62,40 +68,34 @@ each template, it
62
68
  * lists template actions, i.e. output from template, or template
63
69
  inclusion
64
70
 
71
+ ## <a id="root.mustache"></a>root.mustache <a class='navigator' href='#top'">[top]</a>
65
72
 
66
73
 
67
- ## <a id="root.mustache"></a>root.mustache <a class='navigator' href='#top'">[top]</a>
74
+ Root template
68
75
 
69
- Create an EC2 instance
70
76
 
71
77
  **Attributes**: context= `.`
72
78
 
73
79
  * `description`: description for the CF template
74
80
 
81
+
75
82
  **Actions**:
76
83
 
77
84
  * **Description**: `description`
78
85
  * **include** <a href="#resources.mustache">resources.mustache</a>
86
+ * **for** `resource` **in** `resource` **include** <a href="#resource.mustache">resource.mustache</a>
79
87
 
80
88
  > resources
89
+ > resource
81
90
 
82
91
  ++close++
83
92
 
84
- ==================================================================
85
-
86
93
  }}
87
94
 
88
95
  {
89
96
  "AWSTemplateFormatVersion" : "2010-09-09",
90
-
91
97
  "Description" : "{{description}}",
92
-
93
-
94
-
95
98
  "Resources" : {
96
-
97
99
  {{> resources }}
98
-
99
100
  }
100
-
101
101
  }
data/demo/4/conf.yaml CHANGED
@@ -1,22 +1,27 @@
1
- -- demo/2 : added description property
1
+ description: "demo/4: A simple Amazon EC2 instance created using aws-must tool"
2
2
 
3
+ resources:
3
4
 
4
- description: "demo/4: a simple Amazon EC2 instance created using aws-must tool.
5
- The resource created are in defined in YAML configuration, and
6
- the JSON template should not change."
5
+ - InstanceSecurityGroup:
6
+ Name: &DefaultSG MyDefaultSecurityGroup
7
+ IngressCidrIp: "0.0.0.0/0"
7
8
 
9
+ - Instance:
10
+ Name: &Resource_1 MyEC2Instance
11
+ ImageId: ami-00dae61d
12
+ InstanceType: t2.micro
13
+ SecurityGroup: *DefaultSG
8
14
 
9
- parameters:
10
15
 
11
- - Name: InstanceType
12
- Type: String
13
- Description: EC2 reousrce instance type
14
- Value: &Param_InstanceType t2.micro
16
+ outputs:
15
17
 
18
+ - Name: InstanceId1
19
+ Description: InstanceId of the newly created EC2 instance
20
+ Ref: *Resource_1
16
21
 
17
- resources:
18
22
 
19
- - Instance:
20
- Name: MyEC2Instance
21
- ImageId: ami-00dae61d
22
- InstanceType: t2.micro
23
+ - Name: IP1
24
+ Description: Public IP address of the newly created EC2 instance
25
+ Attr:
26
+ Ref: *Resource_1
27
+ Name: PublicIp
@@ -5,6 +5,7 @@
5
5
 
6
6
  ## <a id="output.mustache"></a>output.mustache <a class='navigator' href='#top'">[top]</a>
7
7
 
8
+
8
9
  Create one output entry to CloudFormation JSON output section
9
10
 
10
11
  **Attributes**: context= `./outputs`
@@ -25,8 +26,6 @@ Create one output entry to CloudFormation JSON output section
25
26
  * **Value**: **Ref** if `Ref`
26
27
  * **Value**: `Attr.Ref`, `Attr.Name` if `Attr`
27
28
 
28
-
29
-
30
29
  ++close++
31
30
 
32
31
  }}
@@ -12,7 +12,6 @@ Dispatches resource sub-type templates based resource Type propertys
12
12
 
13
13
  * `Instance`: sub-document defining an EC instance
14
14
 
15
-
16
15
  **Actions**:
17
16
 
18
17
  * include <a href="#resourceInstance.mustache">resourceInstance.mustache</a> if `Instance`
@@ -25,3 +24,4 @@ Dispatches resource sub-type templates based resource Type propertys
25
24
  }}
26
25
 
27
26
  {{# Instance }}{{> resourceInstance}}{{/ Instance }}
27
+ {{# InstanceSecurityGroup }}{{> resourceSecurityGroup}}{{/ InstanceSecurityGroup }}