awspec 0.22.1 → 0.23.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +2 -0
- data/doc/_resource_types/autoscaling_group.md +23 -0
- data/doc/_resource_types/cloudwatch_alarm.md +39 -0
- data/doc/_resource_types/directconnect_virtual_interface.md +30 -0
- data/doc/_resource_types/ebs.md +23 -0
- data/doc/_resource_types/ec2.md +61 -1
- data/doc/_resource_types/elasticache.md +47 -0
- data/doc/_resource_types/elasticache_cache_parameter_group.md +8 -0
- data/doc/_resource_types/elb.md +40 -0
- data/doc/_resource_types/iam_group.md +24 -0
- data/doc/_resource_types/iam_policy.md +39 -0
- data/doc/_resource_types/iam_role.md +16 -0
- data/doc/_resource_types/iam_user.md +24 -0
- data/doc/_resource_types/lambda.md +8 -0
- data/doc/_resource_types/network_acl.md +23 -2
- data/doc/_resource_types/rds.md +66 -0
- data/doc/_resource_types/rds_db_parameter_group.md +7 -0
- data/doc/_resource_types/route53_hosted_zone.md +25 -0
- data/doc/_resource_types/route_table.md +16 -0
- data/doc/_resource_types/s3.md +27 -0
- data/doc/_resource_types/security_group.md +8 -0
- data/doc/_resource_types/ses_identity.md +17 -0
- data/doc/_resource_types/subnet.md +15 -0
- data/doc/_resource_types/vpc.md +33 -0
- data/doc/resource_types.md +519 -72
- data/lib/awspec/generator/doc/type/directconnect_virtual_interface.rb +6 -2
- data/lib/awspec/generator/doc/type/ebs.rb +4 -2
- data/lib/awspec/generator/doc/type/ec2.rb +6 -2
- data/lib/awspec/generator/doc/type/elasticache.rb +7 -2
- data/lib/awspec/generator/doc/type/elb.rb +1 -1
- data/lib/awspec/generator/doc/type/network_acl.rb +4 -1
- data/lib/awspec/generator/doc/type/rds.rb +7 -2
- data/lib/awspec/generator/doc/type/s3.rb +1 -1
- data/lib/awspec/generator/doc/type/subnet.rb +4 -2
- data/lib/awspec/generator/doc/type/vpc.rb +4 -2
- data/lib/awspec/generator/template.rb +9 -4
- data/lib/awspec/helper/finder/s3.rb +6 -0
- data/lib/awspec/stub/iam_group.rb +9 -9
- data/lib/awspec/stub/iam_policy.rb +27 -0
- data/lib/awspec/stub/s3.rb +28 -0
- data/lib/awspec/type/directconnect_virtual_interface.rb +2 -2
- data/lib/awspec/type/ebs.rb +2 -2
- data/lib/awspec/type/ec2.rb +2 -2
- data/lib/awspec/type/elasticache.rb +2 -2
- data/lib/awspec/type/rds.rb +2 -2
- data/lib/awspec/type/s3.rb +19 -0
- data/lib/awspec/type/subnet.rb +2 -2
- data/lib/awspec/type/vpc.rb +2 -2
- data/lib/awspec/version.rb +1 -1
- metadata +14 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 29714cb2509f97ff68e7b273854fc1829a43161f
|
4
|
+
data.tar.gz: c6f75d467f1fbf92d96309a4e563aa356a6aee49
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 345ee0b436e56b86b65d784738a745a9addb2913fb0b63b981c04cb13e48ea3e483a190ce524c5aa2d96cd8ea630422b916c5fb4ae94b56852b60b11abf9683a
|
7
|
+
data.tar.gz: b0c9ad16b2b6aa41c83189f42ea8b6df451f6965eac01c665f77847d12787e8694d3291953e5524c02162ccea13c1dd6e807271c8e4a8cfcc79de7c5379c54f6
|
data/README.md
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
# awspec [![Gem](https://img.shields.io/gem/v/awspec.svg)](https://rubygems.org/gems/awspec) [![Travis](https://img.shields.io/travis/k1LoW/awspec.svg)](https://travis-ci.org/k1LoW/awspec) [![Scrutinizer](https://img.shields.io/scrutinizer/g/k1LoW/awspec.svg)](https://scrutinizer-ci.com/g/k1LoW/awspec/) [![Gemnasium](https://img.shields.io/gemnasium/k1LoW/awspec.svg)](https://gemnasium.com/k1LoW/awspec)
|
2
2
|
|
3
|
+
[![Join the chat at https://gitter.im/k1LoW/awspec](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/k1LoW/awspec?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
4
|
+
|
3
5
|
RSpec tests for your AWS resources.
|
4
6
|
|
5
7
|
[Resource Types](doc/resource_types.md) | [Contributing](doc/contributing.md)
|
@@ -0,0 +1,23 @@
|
|
1
|
+
### exist
|
2
|
+
|
3
|
+
```ruby
|
4
|
+
describe autoscaling_group('my-auto-scaling-group') do
|
5
|
+
it { should exist }
|
6
|
+
end
|
7
|
+
```
|
8
|
+
|
9
|
+
### have_ec2
|
10
|
+
|
11
|
+
```ruby
|
12
|
+
describe autoscaling_group('my-auto-scaling-group') do
|
13
|
+
it { should have_ec2('my-ec2') }
|
14
|
+
end
|
15
|
+
```
|
16
|
+
|
17
|
+
### have_elb
|
18
|
+
|
19
|
+
```ruby
|
20
|
+
describe autoscaling_group('my-auto-scaling-group') do
|
21
|
+
it { should have_elb('my-elb') }
|
22
|
+
end
|
23
|
+
```
|
@@ -0,0 +1,39 @@
|
|
1
|
+
### exist
|
2
|
+
|
3
|
+
```ruby
|
4
|
+
describe cloudwatch_alarm('my-cloudwatch-alarm') do
|
5
|
+
it { should exist }
|
6
|
+
end
|
7
|
+
```
|
8
|
+
|
9
|
+
### have_alarm_action
|
10
|
+
|
11
|
+
```ruby
|
12
|
+
describe cloudwatch_alarm('my-cloudwatch-alarm') do
|
13
|
+
it { should have_alarm_action('arn:aws:sns:ap-northeast-1:1234567890:sns_alert') }
|
14
|
+
end
|
15
|
+
```
|
16
|
+
|
17
|
+
### have_insufficient_data_action
|
18
|
+
|
19
|
+
```ruby
|
20
|
+
describe cloudwatch_alarm('my-cloudwatch-alarm') do
|
21
|
+
it { should have_insufficient_data_action('arn:aws:sns:ap-northeast-1:1234567890:sns_alert') }
|
22
|
+
end
|
23
|
+
```
|
24
|
+
|
25
|
+
### have_ok_action
|
26
|
+
|
27
|
+
```ruby
|
28
|
+
describe cloudwatch_alarm('my-cloudwatch-alarm') do
|
29
|
+
it { should have_ok_action('arn:aws:sns:ap-northeast-1:1234567890:sns_alert') }
|
30
|
+
end
|
31
|
+
```
|
32
|
+
|
33
|
+
### belong_to_metric
|
34
|
+
|
35
|
+
```ruby
|
36
|
+
describe cloudwatch_alarm('my-cloudwatch-alarm') do
|
37
|
+
it { should belong_to_metric('NumberOfProcesses').namespace('my-cloudwatch-namespace') }
|
38
|
+
end
|
39
|
+
```
|
@@ -0,0 +1,30 @@
|
|
1
|
+
### first
|
2
|
+
|
3
|
+
```ruby
|
4
|
+
describe directconnect_virtual_interface('my-directconnect-virtual-interface') do
|
5
|
+
it { should exist }
|
6
|
+
it { should be_available }
|
7
|
+
its(:connection_id) { should eq 'dxcon-abcd5fgh' }
|
8
|
+
its(:virtual_interface_id) { should eq 'dxvif-aabbccdd' }
|
9
|
+
its(:amazon_address) { should eq '170.252.252.1/30' }
|
10
|
+
its(:customer_address) { should eq '123.456.789.2/30' }
|
11
|
+
its(:virtual_gateway_id) { should eq 'vgw-d234e5f6' }
|
12
|
+
end
|
13
|
+
```
|
14
|
+
|
15
|
+
### exist
|
16
|
+
|
17
|
+
```ruby
|
18
|
+
describe directconnect_virtual_interface('my-directconnect-virtual-interface') do
|
19
|
+
it { should exist }
|
20
|
+
end
|
21
|
+
```
|
22
|
+
|
23
|
+
### be_confirming, be_verifying, be_pending, be_available, be_deleting, be_deleted, be_rejected
|
24
|
+
|
25
|
+
```ruby
|
26
|
+
describe directconnect_virtual_interface('my-directconnect-virtual-interface') do
|
27
|
+
it { should exist }
|
28
|
+
it { should be_available }
|
29
|
+
end
|
30
|
+
```
|
@@ -0,0 +1,23 @@
|
|
1
|
+
### exist
|
2
|
+
|
3
|
+
```ruby
|
4
|
+
describe ebs('my-volume') do
|
5
|
+
it { should exist }
|
6
|
+
end
|
7
|
+
```
|
8
|
+
|
9
|
+
### be_attached_to
|
10
|
+
|
11
|
+
```ruby
|
12
|
+
describe ebs('my-volume') do
|
13
|
+
it { should be_attached_to('my-ec2') }
|
14
|
+
end
|
15
|
+
```
|
16
|
+
|
17
|
+
### be_creating, be_available, be_in_use, be_deleting, be_deleted, be_error
|
18
|
+
|
19
|
+
```ruby
|
20
|
+
describe ebs('my-volume') do
|
21
|
+
it { should be_in_use }
|
22
|
+
end
|
23
|
+
```
|
data/doc/_resource_types/ec2.md
CHANGED
@@ -6,10 +6,70 @@ describe ec2('my-ec2') do
|
|
6
6
|
end
|
7
7
|
```
|
8
8
|
|
9
|
-
###
|
9
|
+
### be_disabled_api_termination
|
10
|
+
|
11
|
+
```ruby
|
12
|
+
describe ec2('my-ec2') do
|
13
|
+
it { should be_disabled_api_termination }
|
14
|
+
end
|
15
|
+
```
|
16
|
+
|
17
|
+
### be_pending
|
18
|
+
|
19
|
+
```ruby
|
20
|
+
describe ec2('my-ec2') do
|
21
|
+
it { should be_pending }
|
22
|
+
end
|
23
|
+
```
|
24
|
+
|
25
|
+
### be_pending, be_running, be_shutting_down, be_terminated, be_stopping, be_stopped
|
10
26
|
|
11
27
|
```ruby
|
12
28
|
describe ec2('my-ec2') do
|
13
29
|
it { should be_running }
|
14
30
|
end
|
15
31
|
```
|
32
|
+
|
33
|
+
### have_ebs
|
34
|
+
|
35
|
+
```ruby
|
36
|
+
describe ec2('my-ec2') do
|
37
|
+
it { should have_ebs('vol-123a123b') }
|
38
|
+
it { should have_ebs('my-volume') }
|
39
|
+
end
|
40
|
+
```
|
41
|
+
|
42
|
+
### have_eip
|
43
|
+
|
44
|
+
```ruby
|
45
|
+
describe ec2('my-ec2') do
|
46
|
+
it { should have_eip('123.0.456.789') }
|
47
|
+
end
|
48
|
+
```
|
49
|
+
|
50
|
+
### have_security_group
|
51
|
+
|
52
|
+
```ruby
|
53
|
+
describe ec2('my-ec2') do
|
54
|
+
it { should have_security_group('my-security-group-name') }
|
55
|
+
it { should have_security_group('sg-1a2b3cd4') }
|
56
|
+
end
|
57
|
+
```
|
58
|
+
|
59
|
+
### belong_to_subnet
|
60
|
+
|
61
|
+
```ruby
|
62
|
+
describe ec2('my-ec2') do
|
63
|
+
it { should belong_to_subnet('subnet-1234a567') }
|
64
|
+
it { should belong_to_subnet('my-subnet') }
|
65
|
+
end
|
66
|
+
```
|
67
|
+
|
68
|
+
### belong_to_vpc
|
69
|
+
|
70
|
+
```ruby
|
71
|
+
describe ec2('my-ec2') do
|
72
|
+
it { should belong_to_vpc('vpc-ab123cde') }
|
73
|
+
it { should belong_to_vpc('my-vpc') }
|
74
|
+
end
|
75
|
+
```
|
@@ -0,0 +1,47 @@
|
|
1
|
+
### exist
|
2
|
+
|
3
|
+
```ruby
|
4
|
+
describe elasticache('my-rep-group-001') do
|
5
|
+
it { should exist }
|
6
|
+
end
|
7
|
+
```
|
8
|
+
|
9
|
+
### be_available, be_creating, be_deleted, be_deleting, be_incompatible_network, be_modifying, be_rebooting_cache_cluster_nodes, be_restore_failed, be_snapshotting
|
10
|
+
|
11
|
+
```ruby
|
12
|
+
describe elasticache('my-rep-group-001') do
|
13
|
+
it { should be_available }
|
14
|
+
end
|
15
|
+
```
|
16
|
+
|
17
|
+
### have_cache_parameter_group
|
18
|
+
|
19
|
+
```ruby
|
20
|
+
describe elasticache('my-rep-group-001') do
|
21
|
+
it { should have_cache_parameter_group('my-cache-parameter-group') }
|
22
|
+
end
|
23
|
+
```
|
24
|
+
|
25
|
+
### belong_to_cache_subnet_group
|
26
|
+
|
27
|
+
```ruby
|
28
|
+
describe elasticache('my-rep-group-001') do
|
29
|
+
it { should belong_to_cache_subnet_group('my-cache-subnet-group') }
|
30
|
+
end
|
31
|
+
```
|
32
|
+
|
33
|
+
### belong_to_replication_group
|
34
|
+
|
35
|
+
```ruby
|
36
|
+
describe elasticache('my-rep-group-001') do
|
37
|
+
it { should belong_to_replication_group('my-rep-group') }
|
38
|
+
end
|
39
|
+
```
|
40
|
+
|
41
|
+
### belong_to_vpc
|
42
|
+
|
43
|
+
```ruby
|
44
|
+
describe elasticache('my-rep-group-001') do
|
45
|
+
it { should belong_to_vpc('my-vpc') }
|
46
|
+
end
|
47
|
+
```
|
@@ -7,3 +7,11 @@ describe elasticache_cache_parameter_group('my-cache-parameter-group') do
|
|
7
7
|
its(:client_output_buffer_limit_pubsub_hard_limit) { should eq '33554432' }
|
8
8
|
end
|
9
9
|
```
|
10
|
+
|
11
|
+
### exist
|
12
|
+
|
13
|
+
```ruby
|
14
|
+
describe elasticache_cache_parameter_group('my-cache-parameter-group') do
|
15
|
+
it { should exist }
|
16
|
+
end
|
17
|
+
```
|
data/doc/_resource_types/elb.md
CHANGED
@@ -1,3 +1,19 @@
|
|
1
|
+
### exist
|
2
|
+
|
3
|
+
```ruby
|
4
|
+
describe elb('my-elb') do
|
5
|
+
it { should exist }
|
6
|
+
end
|
7
|
+
```
|
8
|
+
|
9
|
+
### have_ec2
|
10
|
+
|
11
|
+
```ruby
|
12
|
+
describe elb('my-elb') do
|
13
|
+
it { should have_ec2('my-ec2') }
|
14
|
+
end
|
15
|
+
```
|
16
|
+
|
1
17
|
### have_listener
|
2
18
|
|
3
19
|
http://docs.aws.amazon.com/en_us/ElasticLoadBalancing/latest/DeveloperGuide/elb-listener-config.html
|
@@ -7,3 +23,27 @@ describe elb('my-elb') do
|
|
7
23
|
it { should have_listener(protocol: 'HTTPS', port: 443, instance_protocol: 'HTTP', instance_port: 80) }
|
8
24
|
end
|
9
25
|
```
|
26
|
+
|
27
|
+
### have_security_group
|
28
|
+
|
29
|
+
```ruby
|
30
|
+
describe elb('my-elb') do
|
31
|
+
it { should have_security_group('my-lb-security-group-tag-name') }
|
32
|
+
end
|
33
|
+
```
|
34
|
+
|
35
|
+
### have_subnet
|
36
|
+
|
37
|
+
```ruby
|
38
|
+
describe elb('my-elb') do
|
39
|
+
it { should have_subnet('my-subnet') }
|
40
|
+
end
|
41
|
+
```
|
42
|
+
|
43
|
+
### belong_to_vpc
|
44
|
+
|
45
|
+
```ruby
|
46
|
+
describe elb('my-elb') do
|
47
|
+
it { should belong_to_vpc('my-vpc') }
|
48
|
+
end
|
49
|
+
```
|
@@ -1,3 +1,11 @@
|
|
1
|
+
### exist
|
2
|
+
|
3
|
+
```ruby
|
4
|
+
describe iam_group('my-iam-group') do
|
5
|
+
it { should exist }
|
6
|
+
end
|
7
|
+
```
|
8
|
+
|
1
9
|
### be_allowed_action
|
2
10
|
|
3
11
|
```ruby
|
@@ -6,3 +14,19 @@ describe iam_group('my-iam-group') do
|
|
6
14
|
it { should be_allowed_action('s3:Put*').resource_arn('arn:aws:s3:::my-bucket-name/*') }
|
7
15
|
end
|
8
16
|
```
|
17
|
+
|
18
|
+
### have_iam_policy
|
19
|
+
|
20
|
+
```ruby
|
21
|
+
describe iam_group('my-iam-group') do
|
22
|
+
it { should have_iam_policy('ReadOnlyAccess') }
|
23
|
+
end
|
24
|
+
```
|
25
|
+
|
26
|
+
### have_iam_user
|
27
|
+
|
28
|
+
```ruby
|
29
|
+
describe iam_group('my-iam-group') do
|
30
|
+
it { should have_iam_user('my-iam-user') }
|
31
|
+
end
|
32
|
+
```
|
@@ -0,0 +1,39 @@
|
|
1
|
+
### exist
|
2
|
+
|
3
|
+
```ruby
|
4
|
+
describe iam_policy('my-iam-policy') do
|
5
|
+
it { should exist }
|
6
|
+
end
|
7
|
+
```
|
8
|
+
|
9
|
+
### be_attachable
|
10
|
+
|
11
|
+
```ruby
|
12
|
+
describe iam_policy('my-iam-policy') do
|
13
|
+
it { should be_attachable }
|
14
|
+
end
|
15
|
+
```
|
16
|
+
|
17
|
+
### be_attached_to_group
|
18
|
+
|
19
|
+
```ruby
|
20
|
+
describe iam_policy('my-iam-policy') do
|
21
|
+
it { should be_attached_to_group('my-iam-group') }
|
22
|
+
end
|
23
|
+
```
|
24
|
+
|
25
|
+
### be_attached_to_role
|
26
|
+
|
27
|
+
```ruby
|
28
|
+
describe iam_policy('my-iam-policy') do
|
29
|
+
it { should be_attached_to_role('HelloIAmGodRole') }
|
30
|
+
end
|
31
|
+
```
|
32
|
+
|
33
|
+
### be_attached_to_user
|
34
|
+
|
35
|
+
```ruby
|
36
|
+
describe iam_policy('my-iam-policy') do
|
37
|
+
it { should be_attached_to_policy('my-iam-policy') }
|
38
|
+
end
|
39
|
+
```
|
@@ -1,3 +1,11 @@
|
|
1
|
+
### exist
|
2
|
+
|
3
|
+
```ruby
|
4
|
+
describe iam_role('my-iam-role') do
|
5
|
+
it { should exist }
|
6
|
+
end
|
7
|
+
```
|
8
|
+
|
1
9
|
### be_allowed_action
|
2
10
|
|
3
11
|
```ruby
|
@@ -6,3 +14,11 @@ describe iam_role('my-iam-role') do
|
|
6
14
|
it { should be_allowed_action('s3:Put*').resource_arn('arn:aws:s3:::my-bucket-name/*') }
|
7
15
|
end
|
8
16
|
```
|
17
|
+
|
18
|
+
### have_iam_policy
|
19
|
+
|
20
|
+
```ruby
|
21
|
+
describe iam_role('my-iam-role') do
|
22
|
+
it { should have_iam_policy('ReadOnlyAccess') }
|
23
|
+
end
|
24
|
+
```
|
@@ -1,3 +1,11 @@
|
|
1
|
+
### exist
|
2
|
+
|
3
|
+
```ruby
|
4
|
+
describe iam_user('my-iam-user') do
|
5
|
+
it { should exist }
|
6
|
+
end
|
7
|
+
```
|
8
|
+
|
1
9
|
### be_allowed_action
|
2
10
|
|
3
11
|
```ruby
|
@@ -6,3 +14,19 @@ describe iam_user('my-iam-user') do
|
|
6
14
|
it { should be_allowed_action('s3:Put*').resource_arn('arn:aws:s3:::my-bucket-name/*') }
|
7
15
|
end
|
8
16
|
```
|
17
|
+
|
18
|
+
### have_iam_policy
|
19
|
+
|
20
|
+
```ruby
|
21
|
+
describe iam_user('my-iam-user') do
|
22
|
+
it { should have_iam_policy('ReadOnlyAccess') }
|
23
|
+
end
|
24
|
+
```
|
25
|
+
|
26
|
+
### belong_to_iam_group
|
27
|
+
|
28
|
+
```ruby
|
29
|
+
describe iam_user('my-iam-user') do
|
30
|
+
it { should belong_to_iam_group('my-iam-group') }
|
31
|
+
end
|
32
|
+
```
|