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 +4 -4
- data/README.md +1 -1
- data/smoke.yaml +30 -0
- data/suite-runner-configs.yaml +25 -0
- data/suite1.yaml +121 -0
- data/suite2.yaml +306 -0
- metadata +8 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ac30e53c2a50b0a22793d47b3b0450e38f2c2083
|
4
|
+
data.tar.gz: e3f4a9b5b2b130bfdc480fcacf9aec07ba2e1329
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
+
# 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.
|
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-
|
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
|
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
|
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
|