awspec 0.77.1 → 0.78.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/doc/_resource_types/eip.md +23 -0
- data/doc/resource_types.md +32 -0
- data/lib/awspec/command/generate.rb +1 -1
- data/lib/awspec/generator.rb +1 -0
- data/lib/awspec/generator/doc/type/eip.rb +17 -0
- data/lib/awspec/generator/spec/eip.rb +30 -0
- data/lib/awspec/helper/finder/ec2.rb +7 -0
- data/lib/awspec/helper/type.rb +1 -1
- data/lib/awspec/matcher.rb +3 -0
- data/lib/awspec/matcher/belong_to_domain.rb +5 -0
- data/lib/awspec/stub/eip.rb +13 -0
- data/lib/awspec/type/eip.rb +16 -0
- data/lib/awspec/version.rb +1 -1
- metadata +9 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4f08be5007eab85649b34cab6ed8502adc6c49b5
|
4
|
+
data.tar.gz: 027a66e2d90b89ba33ac0b6cbcb8d8cd0c3c7491
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cb0870edb649575f61bca1ccb9ce5f55d1b81d32ec3f60f9bf5dbaae4753a385163ef2e702af04b550fce94bb5e7e674c3616f74dc9f26147cde65d83e3bb421
|
7
|
+
data.tar.gz: 0cc0688e5f9f023136602f86cd27e991b658c312683b249b52619deaeaadb825ef021c4177fec1a6310ea0d38cb000585406cfc21bf45d5d2502e0879a83b8ae
|
@@ -0,0 +1,23 @@
|
|
1
|
+
### exist
|
2
|
+
|
3
|
+
```ruby
|
4
|
+
describe eip('123.0.456.789') do
|
5
|
+
it { should exist }
|
6
|
+
end
|
7
|
+
```
|
8
|
+
|
9
|
+
### be_associated_to
|
10
|
+
|
11
|
+
```ruby
|
12
|
+
describe eip('123.0.456.789') do
|
13
|
+
it { should be_associated_to('i-ec12345a') }
|
14
|
+
end
|
15
|
+
```
|
16
|
+
|
17
|
+
### belong_to_domain
|
18
|
+
|
19
|
+
```ruby
|
20
|
+
describe eip('123.0.456.789') do
|
21
|
+
it { should belong_to_domain('vpc') }
|
22
|
+
end
|
23
|
+
```
|
data/doc/resource_types.md
CHANGED
@@ -20,6 +20,7 @@
|
|
20
20
|
| [ecs_service](#ecs_service)
|
21
21
|
| [ecs_task_definition](#ecs_task_definition)
|
22
22
|
| [efs](#efs)
|
23
|
+
| [eip](#eip)
|
23
24
|
| [elasticache](#elasticache)
|
24
25
|
| [elasticache_cache_parameter_group](#elasticache_cache_parameter_group)
|
25
26
|
| [elasticsearch](#elasticsearch)
|
@@ -865,6 +866,37 @@ end
|
|
865
866
|
```
|
866
867
|
|
867
868
|
### its(:owner_id), its(:creation_token), its(:file_system_id), its(:creation_time), its(:life_cycle_state), its(:name), its(:number_of_mount_targets), its(:performance_mode)
|
869
|
+
## <a name="elastic_ip">elastic_ip</a>
|
870
|
+
|
871
|
+
Elastic IP resource type.
|
872
|
+
|
873
|
+
### exist
|
874
|
+
|
875
|
+
```ruby
|
876
|
+
describe eip('123.0.456.789') do
|
877
|
+
it { should exist }
|
878
|
+
end
|
879
|
+
```
|
880
|
+
|
881
|
+
|
882
|
+
### be_associated_to
|
883
|
+
|
884
|
+
```ruby
|
885
|
+
describe eip('123.0.456.789') do
|
886
|
+
it { should be_associated_to('i-ec12345a') }
|
887
|
+
end
|
888
|
+
```
|
889
|
+
|
890
|
+
|
891
|
+
### belong_to_domain
|
892
|
+
|
893
|
+
```ruby
|
894
|
+
describe eip('123.0.456.789') do
|
895
|
+
it { should belong_to_domain('vpc') }
|
896
|
+
end
|
897
|
+
```
|
898
|
+
|
899
|
+
|
868
900
|
## <a name="elasticache">elasticache</a>
|
869
901
|
|
870
902
|
Elasticache resource type.
|
@@ -39,7 +39,7 @@ module Awspec
|
|
39
39
|
types_for_generate_all = %w(
|
40
40
|
cloudwatch_alarm cloudwatch_event directconnect ebs efs
|
41
41
|
elasticsearch iam_group iam_policy iam_role iam_user kms lambda
|
42
|
-
acm cloudwatch_logs
|
42
|
+
acm cloudwatch_logs eip
|
43
43
|
)
|
44
44
|
|
45
45
|
types_for_generate_all.each do |type|
|
data/lib/awspec/generator.rb
CHANGED
@@ -27,6 +27,7 @@ require 'awspec/generator/spec/cloudwatch_logs'
|
|
27
27
|
require 'awspec/generator/spec/alb'
|
28
28
|
require 'awspec/generator/spec/internet_gateway'
|
29
29
|
require 'awspec/generator/spec/elasticsearch'
|
30
|
+
require 'awspec/generator/spec/eip'
|
30
31
|
|
31
32
|
# Doc
|
32
33
|
require 'awspec/generator/doc/type'
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module Awspec::Generator
|
2
|
+
module Doc
|
3
|
+
module Type
|
4
|
+
class Eip < Base
|
5
|
+
def initialize
|
6
|
+
super
|
7
|
+
@type_name = 'Elastic IP'
|
8
|
+
@type = Awspec::Type::Eip.new('123.0.456.789')
|
9
|
+
@ret = @type.resource_via_client
|
10
|
+
@matchers = ['belong_to_domain']
|
11
|
+
@ignore_matchers = []
|
12
|
+
@describes = []
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module Awspec::Generator
|
2
|
+
module Spec
|
3
|
+
class Eip
|
4
|
+
include Awspec::Helper::Finder
|
5
|
+
def select_all_addresses
|
6
|
+
res = ec2_client.describe_addresses
|
7
|
+
res.addresses
|
8
|
+
end
|
9
|
+
|
10
|
+
def generate_all
|
11
|
+
eips = select_all_addresses
|
12
|
+
raise 'Not Found Elastic IP addresses.' if eips.empty?
|
13
|
+
ERB.new(eip_spec_template, nil, '-').result(binding).chomp
|
14
|
+
end
|
15
|
+
|
16
|
+
def eip_spec_template
|
17
|
+
template = <<-'EOF'
|
18
|
+
<% eips.each do |eip| %>
|
19
|
+
describe eip('<%= eip.public_ip %>') do
|
20
|
+
it { should exist }
|
21
|
+
it { should be_associated_to('<%= eip.instance_id %>') }
|
22
|
+
it { should belong_to_domain('<%= eip.domain %>') }
|
23
|
+
end
|
24
|
+
<% end %>
|
25
|
+
EOF
|
26
|
+
template
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -109,6 +109,13 @@ module Awspec::Helper
|
|
109
109
|
res.addresses
|
110
110
|
end
|
111
111
|
|
112
|
+
def select_eip_by_public_ip(id)
|
113
|
+
res = ec2_client.describe_addresses({
|
114
|
+
filters: [{ name: 'public-ip', values: [id] }]
|
115
|
+
})
|
116
|
+
res.addresses
|
117
|
+
end
|
118
|
+
|
112
119
|
def select_network_interface_by_instance_id(id)
|
113
120
|
res = ec2_client.describe_network_interfaces({
|
114
121
|
filters: [{ name: 'attachment.instance-id', values: [id] }]
|
data/lib/awspec/helper/type.rb
CHANGED
@@ -15,7 +15,7 @@ module Awspec
|
|
15
15
|
network_acl network_interface rds rds_db_cluster_parameter_group rds_db_parameter_group route53_hosted_zone
|
16
16
|
route_table s3_bucket security_group ses_identity subnet vpc cloudfront_distribution
|
17
17
|
elastictranscoder_pipeline waf_web_acl customer_gateway vpn_gateway vpn_connection internet_gateway acm
|
18
|
-
cloudwatch_logs dynamodb_table
|
18
|
+
cloudwatch_logs dynamodb_table eip
|
19
19
|
)
|
20
20
|
|
21
21
|
ACCOUNT_ATTRIBUTES = %w(
|
data/lib/awspec/matcher.rb
CHANGED
@@ -0,0 +1,16 @@
|
|
1
|
+
module Awspec::Type
|
2
|
+
class Eip < ResourceBase
|
3
|
+
def resource_via_client
|
4
|
+
@resource_via_client ||= select_eip_by_public_ip(@display_name)
|
5
|
+
end
|
6
|
+
|
7
|
+
def id
|
8
|
+
@id ||= resource_via_client.last.public_ip if resource_via_client
|
9
|
+
end
|
10
|
+
|
11
|
+
def associated_to?(instance_id)
|
12
|
+
return false unless resource_via_client.last.instance_id == instance_id
|
13
|
+
resource_via_client.last.instance_id == instance_id
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
data/lib/awspec/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: awspec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.78.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- k1LoW
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-05-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
@@ -225,6 +225,7 @@ files:
|
|
225
225
|
- doc/_resource_types/ecs_service.md
|
226
226
|
- doc/_resource_types/ecs_task_definition.md
|
227
227
|
- doc/_resource_types/efs.md
|
228
|
+
- doc/_resource_types/eip.md
|
228
229
|
- doc/_resource_types/elasticache.md
|
229
230
|
- doc/_resource_types/elasticache_cache_parameter_group.md
|
230
231
|
- doc/_resource_types/elasticsearch.md
|
@@ -295,6 +296,7 @@ files:
|
|
295
296
|
- lib/awspec/generator/doc/type/ecs_service.rb
|
296
297
|
- lib/awspec/generator/doc/type/ecs_task_definition.rb
|
297
298
|
- lib/awspec/generator/doc/type/efs.rb
|
299
|
+
- lib/awspec/generator/doc/type/eip.rb
|
298
300
|
- lib/awspec/generator/doc/type/elasticache.rb
|
299
301
|
- lib/awspec/generator/doc/type/elasticache_cache_parameter_group.rb
|
300
302
|
- lib/awspec/generator/doc/type/elasticsearch.rb
|
@@ -336,6 +338,7 @@ files:
|
|
336
338
|
- lib/awspec/generator/spec/ebs.rb
|
337
339
|
- lib/awspec/generator/spec/ec2.rb
|
338
340
|
- lib/awspec/generator/spec/efs.rb
|
341
|
+
- lib/awspec/generator/spec/eip.rb
|
339
342
|
- lib/awspec/generator/spec/elasticsearch.rb
|
340
343
|
- lib/awspec/generator/spec/elb.rb
|
341
344
|
- lib/awspec/generator/spec/iam_group.rb
|
@@ -401,6 +404,7 @@ files:
|
|
401
404
|
- lib/awspec/matcher/be_opened_only.rb
|
402
405
|
- lib/awspec/matcher/belong_to_cache_subnet_group.rb
|
403
406
|
- lib/awspec/matcher/belong_to_db_subnet_group.rb
|
407
|
+
- lib/awspec/matcher/belong_to_domain.rb
|
404
408
|
- lib/awspec/matcher/belong_to_iam_group.rb
|
405
409
|
- lib/awspec/matcher/belong_to_metric.rb
|
406
410
|
- lib/awspec/matcher/belong_to_replication_group.rb
|
@@ -446,6 +450,7 @@ files:
|
|
446
450
|
- lib/awspec/stub/ecs_service.rb
|
447
451
|
- lib/awspec/stub/ecs_task_definition.rb
|
448
452
|
- lib/awspec/stub/efs.rb
|
453
|
+
- lib/awspec/stub/eip.rb
|
449
454
|
- lib/awspec/stub/elasticache.rb
|
450
455
|
- lib/awspec/stub/elasticache_cache_parameter_group.rb
|
451
456
|
- lib/awspec/stub/elasticsearch.rb
|
@@ -501,6 +506,7 @@ files:
|
|
501
506
|
- lib/awspec/type/ecs_service.rb
|
502
507
|
- lib/awspec/type/ecs_task_definition.rb
|
503
508
|
- lib/awspec/type/efs.rb
|
509
|
+
- lib/awspec/type/eip.rb
|
504
510
|
- lib/awspec/type/elasticache.rb
|
505
511
|
- lib/awspec/type/elasticache_cache_parameter_group.rb
|
506
512
|
- lib/awspec/type/elasticsearch.rb
|
@@ -555,7 +561,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
555
561
|
version: '0'
|
556
562
|
requirements: []
|
557
563
|
rubyforge_project:
|
558
|
-
rubygems_version: 2.
|
564
|
+
rubygems_version: 2.6.12
|
559
565
|
signing_key:
|
560
566
|
specification_version: 4
|
561
567
|
summary: RSpec tests for your AWS resources.
|