aws-must-templates 0.2.1 → 0.2.3

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f7ef597a5063b288cc1c4fba6f4a2119cf008391
4
- data.tar.gz: b89652f4001fea744e1be3e6d42233ef154bc15f
3
+ metadata.gz: ac30e53c2a50b0a22793d47b3b0450e38f2c2083
4
+ data.tar.gz: e3f4a9b5b2b130bfdc480fcacf9aec07ba2e1329
5
5
  SHA512:
6
- metadata.gz: 0f17a8a069e5249a231ec574e3b801e5149a2a7c54aef1f5e98dc5d0cbbacbbc76280568280aaa9fee9d85ea332656ed4fa9048fa7ab58cc2c88a6cd47cbb2ec
7
- data.tar.gz: 024b79c1a947156e3ea98347a5312c832188bbb7ace1b09cd37fd54292051a4a1817e45e5c5023b1571ef0cdfeeb8d1a3e1c8f2e12c094e56e80c766a53e8a61
6
+ metadata.gz: 3825bf02ccc7664f798efa820e19842cb1234f6f088bee408891db926c9a6b52b1f58e7340c22875b33f0fbcdb32a43febeb9f3b236bd0bd95289c68095eb5e3
7
+ data.tar.gz: 349e324022bb421efbb1565feb2872e802fe57888e91d82710c0efd75f71fa5536b12fc1cb98614fe30fd2a26b2dd26f710baea82113936c5f18f5c4e8740960
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # aws-must-templates - cloudformation templates for aws-must - $Release:0.2.1$
1
+ # aws-must-templates - cloudformation templates for aws-must - $Release:0.2.3$
2
2
 
3
3
  Set of [extensible](#OVERRIDE)
4
4
  [templates](https://rawgit.com/jarjuk/aws-must-templates/master/generated-docs/aws-must-templates.html)
data/smoke.yaml ADDED
@@ -0,0 +1,30 @@
1
+ #
2
+ parameters:
3
+ - Name: DummyParameter
4
+ Type: String
5
+ Description: Dummy paramter, not used
6
+ Value: input paramter value
7
+
8
+
9
+ resources:
10
+
11
+ - S3Bucket:
12
+ Name: &Bucket MyBucket
13
+ DeletionPolicy: Delete
14
+ CreationPolicy:
15
+ Timeout: PT2M
16
+
17
+
18
+ outputs:
19
+
20
+ - Name: Bucket
21
+ Description: Reference to S3 bucket
22
+ Ref: *Bucket
23
+
24
+
25
+ - Name: BucketName
26
+ Description: The DNS name of the specified bucket.
27
+ Attr:
28
+ Ref: *Bucket
29
+ Name: DomainName
30
+
@@ -0,0 +1,25 @@
1
+ ---
2
+ # Test Runner defaulta documentation
3
+ #
4
+ # copy this file to cwd with the name 'suite_runner_configs.yaml' and
5
+ # add following lines to Rakefile
6
+ #
7
+ # suite_runner_configs= "suite_runner_configs.yaml"
8
+ # $suite_runner_configs = File.exist?(suite_runner_configs) ? YAML.load_file( suite_runner_configs ) : {}
9
+ #
10
+ # spec = Gem::Specification.find_by_name 'aws-must-templates'
11
+ # load "#{spec.gem_dir}/lib/tasks/suite.rake"
12
+ #
13
+ #
14
+
15
+ # SSH Client Configuration file where EC2 Instance Tag Name/DNS Name
16
+ # mapping is written
17
+ ssh_config_file: ssh/config.aws
18
+
19
+ # Name of file, which is used to seed 'ssh_config_file', if
20
+ # it does not exist
21
+ ssh_config_init: ssh/config.init
22
+
23
+ # AWS region for AWS SDK
24
+ # aws_region:
25
+ aws_region: eu-west-1
data/suite1.yaml ADDED
@@ -0,0 +1,121 @@
1
+ description: "Example configuration with S3 bucket and EC2 instance"
2
+
3
+ parameters:
4
+
5
+ - Name: &Param_InstanceTypeName InstanceType
6
+ Type: String
7
+ Description: EC2 reousrce instance type
8
+ Value: t2.micro
9
+
10
+ - Name: &Param_KeyName KeyName
11
+ Type: "AWS::EC2::KeyPair::KeyName"
12
+ Description: Name of an existing EC2 KeyPair to enable SSH access to the instance
13
+ Value: demo-key
14
+
15
+ - Name: &Param_SSHLocation SSHLocation
16
+ Type: String
17
+ Description: The IP address range that can be used to SSH to the EC2 instances
18
+ Value: "0.0.0.0/0"
19
+
20
+ # - Name: &Param_BucketName BucketName
21
+ # Type: String
22
+ # Description: Name of the bucket which is granted access to
23
+ # Value: &Param_BucketValue "test"
24
+
25
+
26
+ resources:
27
+
28
+ - S3Bucket:
29
+ Name: &TheBucket MyBucket
30
+ # BucketName: *Param_BucketValue
31
+ DeletionPolicy: Delete
32
+
33
+ - SecurityGroup:
34
+ Name: &DefaultSG MyDefaultSecurityGroup
35
+ SecurityGroupIngress:
36
+
37
+ # ssh
38
+ - Ref: *Param_SSHLocation
39
+ Port: 22
40
+
41
+ - Role:
42
+ Name: &RecipeBucketRole S3AccessRole
43
+
44
+ - Policy:
45
+ Name: S3AllowReadPolicy
46
+ RoleRef: *RecipeBucketRole
47
+ Statements:
48
+ - Effect: Allow
49
+ Actions: '"s3:List*", "s3:Get*"'
50
+ Resource:
51
+ - Value: "arn:aws:s3:::"
52
+ - Ref: *TheBucket
53
+ - Effect: Allow
54
+ Actions: '"s3:List*", "s3:Get*"'
55
+ Resource:
56
+ - Value: "arn:aws:s3:::"
57
+ - Ref: *TheBucket
58
+ - Value: "/*"
59
+ - Effect: Allow
60
+ Actions: '"s3:ListAllMyBuckets"'
61
+ Resource:
62
+ - Value: arn:aws:s3:::*
63
+
64
+ - InstanceProfile:
65
+ Name: &S3InstanceProfile S3InstanceProfile
66
+ Roles:
67
+ - Ref: *RecipeBucketRole
68
+
69
+
70
+ - Instance:
71
+ Name: &Instance1 myInstance
72
+ CreationPolicy:
73
+ Timeout: PT8M
74
+
75
+ InstanceTypeRef: *Param_InstanceTypeName
76
+
77
+ KeyName: *Param_KeyName
78
+
79
+ SecurityGroupIds:
80
+ - Ref: *DefaultSG
81
+
82
+ IamInstanceProfile: *S3InstanceProfile
83
+
84
+ Initialize:
85
+ - InstallAwsCli: true
86
+ - InstallCFtools: true
87
+
88
+ - Instance:
89
+ Name: &Instance2 myInstance2
90
+ CreationPolicy:
91
+ Timeout: PT6M
92
+
93
+ InstanceTypeRef: *Param_InstanceTypeName
94
+
95
+ KeyName: *Param_KeyName
96
+
97
+ SecurityGroupIds:
98
+ - Ref: *DefaultSG
99
+
100
+ Initialize:
101
+ - InstallAwsCli: true
102
+ - InstallCFtools: true
103
+
104
+
105
+ outputs:
106
+
107
+ - Name: *Instance1
108
+ Description: Ip of the newly created EC2 instance
109
+ Attr:
110
+ Ref: *Instance1
111
+ Name: PublicIp
112
+
113
+ - Name: *Instance2
114
+ Description: Ip of the newly created EC2 instance
115
+ Attr:
116
+ Ref: *Instance2
117
+ Name: PublicIp
118
+
119
+ - Name: Bucket
120
+ Description: Reference to S3 bucket
121
+ Ref: *TheBucket
data/suite2.yaml ADDED
@@ -0,0 +1,306 @@
1
+ description: Example configuration for VPC
2
+
3
+
4
+ parameters:
5
+
6
+ - Name: &Param_InstanceTypeName InstanceType
7
+ Type: String
8
+ Description: EC2 reousrce instance type
9
+ Value: t2.micro
10
+
11
+ - Name: &Param_KeyName KeyName
12
+ Type: "AWS::EC2::KeyPair::KeyName"
13
+ Description: Name of an existing EC2 KeyPair to enable SSH access to the instance
14
+ Value: demo-key
15
+
16
+ - Name: &Param_SSHLocation SSHLocation
17
+ Type: String
18
+ Description: The IP address range that can be used to SSH to the EC2 instances
19
+ Value: "0.0.0.0/0"
20
+
21
+ # Define anchors for data value
22
+ # Does not generate anything.
23
+ #
24
+
25
+ data:
26
+ - SubNets:
27
+ - VPC: &SubNetVPC 10.0.0.0/16
28
+ - Public: &SubNetPublic 10.0.0.0/24
29
+ - Private: &SubNetPrivate 10.0.1.0/24
30
+
31
+ mappings:
32
+ - AmazonVpcNat:
33
+ Name: &MappingNatAim MappingNatAim
34
+
35
+ resources:
36
+
37
+
38
+ - VPC:
39
+ Name: &MyVPC MyVPC
40
+ CidrBlock: *SubNetVPC
41
+ Tags:
42
+ - Key: Name
43
+ Value: "MyVPC"
44
+
45
+ - RouteTable:
46
+ Name: &RouteTableNat RouteTableNat
47
+ Vpc: *MyVPC
48
+
49
+ # - RouteTable:
50
+ # Name: &RouteTableMain RouteTableMain
51
+ # Vpc: *MyVPC
52
+
53
+
54
+ - Subnet:
55
+ Name: &PublicSubnet PublicSubnet
56
+ DependsOn: *MyVPC
57
+ MapPublicIpOnLaunch: true
58
+ CidrBlock: *SubNetPublic
59
+ VpcId: *MyVPC
60
+ Tags:
61
+ - Key: Name
62
+ Value: *PublicSubnet
63
+
64
+ - Subnet:
65
+ Name: &PrivateSubnet PrivateSubnet
66
+ DependsOn: *MyVPC
67
+ MapPublicIpOnLaunch: false
68
+ CidrBlock: *SubNetPrivate
69
+ VpcId: *MyVPC
70
+ Tags:
71
+ - Key: Name
72
+ Value: *PrivateSubnet
73
+ RoutetableAssociation: *RouteTableNat
74
+
75
+
76
+ - InternetGateway:
77
+ Name: &MyInternetGw MyInternetGw
78
+ Subnet: *PublicSubnet
79
+ Attachment:
80
+ AttachmentName: &AttachIgw MyInternetGwAttachment
81
+ Vpc: *MyVPC
82
+
83
+ - SecurityGroup:
84
+ Name: &BackendSG BackendSecurityGroup
85
+ VpcId:
86
+ Ref: *MyVPC
87
+ SecurityGroupIngress:
88
+
89
+ # ssh
90
+ - Value: *SubNetPublic
91
+ Port: 22
92
+
93
+ # ping
94
+ - Value: *SubNetVPC
95
+ FromPort: -1
96
+ ToPort: -1
97
+ IpProtocol: icmp
98
+
99
+
100
+ SecurityGroupEgress:
101
+ - Value: 0.0.0.0/0
102
+ Port: 80
103
+
104
+ - Value: 0.0.0.0/0
105
+ FromPort: -1
106
+ ToPort: -1
107
+ IpProtocol: icmp
108
+
109
+
110
+ - SecurityGroup:
111
+ Name: &FrontSG FrontEndSecurityGroup
112
+ VpcId:
113
+ Ref: *MyVPC
114
+ SecurityGroupIngress:
115
+
116
+ # ssh
117
+ - Ref: *Param_SSHLocation
118
+ Port: 22
119
+
120
+ # Ping
121
+ - Value: 0.0.0.0/0
122
+ FromPort: -1
123
+ ToPort: -1
124
+ IpProtocol: icmp
125
+
126
+ # Http from private net
127
+ - Value: 0.0.0.0/0
128
+ Port: 80
129
+
130
+ SecurityGroupEgress:
131
+ - Value: *SubNetPrivate
132
+ Port: 22
133
+
134
+ - Value: 0.0.0.0/0
135
+ Port: 80
136
+
137
+ - Value: 0.0.0.0/0
138
+ Port: 443
139
+
140
+ - Value: 0.0.0.0/0
141
+ FromPort: -1
142
+ ToPort: -1
143
+ IpProtocol: icmp
144
+
145
+ - SecurityGroup:
146
+ Name: &NatSG NatSecurityGroup
147
+ VpcId:
148
+ Ref: *MyVPC
149
+ SecurityGroupIngress:
150
+
151
+ # ssh
152
+ - Ref: *Param_SSHLocation
153
+ Port: 22
154
+
155
+ # Ping
156
+ - Value: 0.0.0.0/0
157
+ FromPort: -1
158
+ ToPort: -1
159
+ IpProtocol: icmp
160
+
161
+ # Http from private net
162
+ - Value: *SubNetPrivate
163
+ Port: 80
164
+
165
+ SecurityGroupEgress:
166
+ - Value: *SubNetPrivate
167
+ Port: 22
168
+
169
+ - Value: 0.0.0.0/0
170
+ Port: 80
171
+
172
+ - Value: 0.0.0.0/0
173
+ FromPort: -1
174
+ ToPort: -1
175
+ IpProtocol: icmp
176
+
177
+
178
+
179
+ - Instance:
180
+ Name: &Instance3 myNat
181
+
182
+ InstanceTypeRef: *Param_InstanceTypeName
183
+
184
+ MapRegionToImageId: *MappingNatAim
185
+
186
+ KeyName: *Param_KeyName
187
+
188
+ # For the instance to perform NAT, the value must be
189
+ # "false". Notice String!!!
190
+ SourceDestCheck: "false"
191
+
192
+ # CreationPolicy:
193
+ # Timeout: PT8M
194
+
195
+ # Initialize:
196
+ # - InstallCFtools: true
197
+ # DependsOn:
198
+ # - *AttachIgw
199
+
200
+ SubnetId:
201
+ - Ref: *PublicSubnet
202
+
203
+ SecurityGroupIds:
204
+ - Ref: *NatSG
205
+
206
+
207
+
208
+
209
+
210
+ - Instance:
211
+ Name: &Instance2 myBack1
212
+
213
+ InstanceTypeRef: *Param_InstanceTypeName
214
+
215
+ KeyName: *Param_KeyName
216
+
217
+ # Fails because no internet connection to download
218
+ # cfn-tools
219
+ # CreationPolicy:
220
+ # Timeout: PT8M
221
+
222
+ # Initialize:
223
+ # - InstallCFtools: true
224
+
225
+ SubnetId:
226
+ - Ref: *PrivateSubnet
227
+
228
+ SecurityGroupIds:
229
+ - Ref: *BackendSG
230
+
231
+ - Instance:
232
+ Name: &Instance1 myFront1
233
+
234
+ InstanceTypeRef: *Param_InstanceTypeName
235
+
236
+ KeyName: *Param_KeyName
237
+
238
+ DependsOn:
239
+ - *Instance2
240
+ - *Instance3
241
+
242
+
243
+ CreationPolicy:
244
+ Timeout: PT8M
245
+
246
+ Initialize:
247
+ - InstallCFtools: true
248
+
249
+ SubnetId:
250
+ - Ref: *PublicSubnet
251
+
252
+ SecurityGroupIds:
253
+ - Ref: *FrontSG
254
+
255
+
256
+
257
+ - Route:
258
+ Name: RouteToNat
259
+ Vpc: *MyVPC
260
+ # DependsOn:
261
+ # - *AttachIgw
262
+ RouteTableId: *RouteTableNat
263
+ InstanceId: *Instance3
264
+ DestinationCidrBlock: "0.0.0.0/0"
265
+
266
+ # - Route:
267
+ # Name: RouteMain
268
+ # Vpc: *MyVPC
269
+ # RouteTableId: *RouteTableMain
270
+ # GatewayId: *MyInternetGw
271
+ # DestinationCidrBlock: "0.0.0.0/0"
272
+
273
+
274
+ outputs:
275
+
276
+ - Name: *Instance1
277
+ Description: Ip of the newly created EC2 instance
278
+ Attr:
279
+ Ref: *Instance1
280
+ Name: PublicIp
281
+
282
+ - Name: *Instance3
283
+ Description: Ip of the newly created EC2 instance
284
+ Attr:
285
+ Ref: *Instance3
286
+ Name: PublicIp
287
+
288
+
289
+ # - Name: *Instance2
290
+ # Description: Ip of the newly created EC2 instance
291
+ # Attr:
292
+ # Ref: *Instance2
293
+ # Name: PublicIp
294
+
295
+ - Name: InstanceId1
296
+ Description: Id of the newly created EC2 instance
297
+ Ref: *Instance1
298
+
299
+ - Name: InstanceId2
300
+ Description: Id of the newly created EC2 instance
301
+ Ref: *Instance2
302
+
303
+ - Name: *MyInternetGw
304
+ Description: Id of InternetGateway
305
+ Ref: *MyInternetGw
306
+
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-must-templates
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - jarjuk
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-09-18 00:00:00.000000000 Z
11
+ date: 2015-09-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-must
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '0.0'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 0.0.14.pre
22
+ version: 0.0.14
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '0.0'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 0.0.14.pre
32
+ version: 0.0.14
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: rake
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -130,6 +130,7 @@ files:
130
130
  - mustache/root.mustache
131
131
  - mustache/tag.mustache
132
132
  - pics/test-suites.jpg
133
+ - smoke.yaml
133
134
  - spec/aws-must-templates/AllwaysOk/AllwaysOk_spec.rb
134
135
  - spec/aws-must-templates/AwsCommandLineInterfaceInstalled/AwsCommandLineInterfaceInstalled_spec.rb
135
136
  - spec/aws-must-templates/AwsMustTestRunnerProperties/AwsMustTestRunnerProperties_spec.rb
@@ -210,6 +211,9 @@ files:
210
211
  - spec/support/lib/valid_property.rb
211
212
  - spec/support/spec_helper.rb
212
213
  - spec/support/utils.rb
214
+ - suite-runner-configs.yaml
215
+ - suite1.yaml
216
+ - suite2.yaml
213
217
  homepage: https://github.com/jarjuk/aws-must-templates
214
218
  licenses:
215
219
  - MIT