aws-must-templates 0.2.1 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
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