awspec 0.34.0 → 0.35.0
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/ec2.md +16 -0
- data/doc/resource_types.md +18 -0
- data/lib/awspec/command/generate.rb +6 -4
- data/lib/awspec/helper/finder/ec2.rb +7 -0
- data/lib/awspec/stub/ec2.rb +23 -0
- data/lib/awspec/type/ec2.rb +12 -0
- data/lib/awspec/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1708fe037ed85b50638c71a0f1120c13f4042384
|
4
|
+
data.tar.gz: b424d9466944bac4274b874d8b3199b381a6d1fd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f977aeec94bb0afc4f0de92b06f43f57984a49f2a4558d39a8a4e7b237cda1e7e9ffb08393d0b31bc28fa71b19f15183d00964fea13032e871e712bb677ac73a
|
7
|
+
data.tar.gz: cf6ec02eb6a9b75ed66b0c24d88f4803a57eebadb15cb9e7a83a913cd98bf84b1af54e136d5410d255e900d8842498ff335945d47809d7ce3d682eb2b0a3c286
|
data/doc/_resource_types/ec2.md
CHANGED
@@ -39,6 +39,22 @@ describe ec2('my-ec2') do
|
|
39
39
|
end
|
40
40
|
```
|
41
41
|
|
42
|
+
### have_event
|
43
|
+
|
44
|
+
```ruby
|
45
|
+
describe ec2('my-ec2') do
|
46
|
+
it { should have_event('system-reboot') }
|
47
|
+
end
|
48
|
+
```
|
49
|
+
|
50
|
+
### have_events
|
51
|
+
|
52
|
+
```ruby
|
53
|
+
describe ec2('my-ec2') do
|
54
|
+
it { should_not have_events }
|
55
|
+
end
|
56
|
+
```
|
57
|
+
|
42
58
|
### have_security_group
|
43
59
|
|
44
60
|
```ruby
|
data/doc/resource_types.md
CHANGED
@@ -270,6 +270,24 @@ end
|
|
270
270
|
```
|
271
271
|
|
272
272
|
|
273
|
+
### have_event
|
274
|
+
|
275
|
+
```ruby
|
276
|
+
describe ec2('my-ec2') do
|
277
|
+
it { should have_event('system-reboot') }
|
278
|
+
end
|
279
|
+
```
|
280
|
+
|
281
|
+
|
282
|
+
### have_events
|
283
|
+
|
284
|
+
```ruby
|
285
|
+
describe ec2('my-ec2') do
|
286
|
+
it { should_not have_events }
|
287
|
+
end
|
288
|
+
```
|
289
|
+
|
290
|
+
|
273
291
|
### have_security_group
|
274
292
|
|
275
293
|
```ruby
|
@@ -4,6 +4,8 @@ require 'awspec/setup'
|
|
4
4
|
module Awspec
|
5
5
|
class Generate < Thor
|
6
6
|
class_option :profile
|
7
|
+
class_option :region
|
8
|
+
class_option :secrets_path, default: 'secrets.yml'
|
7
9
|
|
8
10
|
types = %w(
|
9
11
|
vpc ec2 rds security_group elb network_acl route_table subnet nat_gateway
|
@@ -12,20 +14,20 @@ module Awspec
|
|
12
14
|
types.each do |type|
|
13
15
|
desc type + ' [vpc_id]', "Generate #{type} spec from VPC ID (or VPC \"Name\" tag)"
|
14
16
|
define_method type do |_vpc_id|
|
15
|
-
Awsecrets.load(profile: options[:profile])
|
17
|
+
Awsecrets.load(profile: options[:profile], region: options[:region], secrets_path: options[:secrets_path])
|
16
18
|
eval "puts Awspec::Generator::Spec::#{type.camelize}.new.generate_by_vpc_id(_vpc_id)"
|
17
19
|
end
|
18
20
|
end
|
19
21
|
|
20
22
|
desc 'route53_hosted_zone [example.com.]', 'Generate route53_hosted_zone spec from Domain name'
|
21
23
|
def route53_hosted_zone(hosted_zone)
|
22
|
-
Awsecrets.load(profile: options[:profile])
|
24
|
+
Awsecrets.load(profile: options[:profile], region: options[:region], secrets_path: options[:secrets_path])
|
23
25
|
puts Awspec::Generator::Spec::Route53HostedZone.new.generate_by_domain_name(hosted_zone)
|
24
26
|
end
|
25
27
|
|
26
28
|
desc 's3_bucket [backet_name]', 'Generate s3_bucket spec from S3 bucket name. if NO args, Generate all.'
|
27
29
|
def s3_bucket(bucket_name = nil)
|
28
|
-
Awsecrets.load(profile: options[:profile])
|
30
|
+
Awsecrets.load(profile: options[:profile], region: options[:region], secrets_path: options[:secrets_path])
|
29
31
|
if bucket_name
|
30
32
|
puts Awspec::Generator::Spec::S3Bucket.new.generate(bucket_name)
|
31
33
|
else
|
@@ -44,7 +46,7 @@ module Awspec
|
|
44
46
|
desc type, "Generate #{type} spec"
|
45
47
|
end
|
46
48
|
define_method type do
|
47
|
-
Awsecrets.load(profile: options[:profile])
|
49
|
+
Awsecrets.load(profile: options[:profile], region: options[:region], secrets_path: options[:secrets_path])
|
48
50
|
eval "puts Awspec::Generator::Spec::#{type.camelize}.new.generate_all"
|
49
51
|
end
|
50
52
|
end
|
@@ -24,6 +24,13 @@ module Awspec::Helper
|
|
24
24
|
})
|
25
25
|
end
|
26
26
|
|
27
|
+
def find_ec2_status(id)
|
28
|
+
res = ec2_client.describe_instance_status({
|
29
|
+
instance_ids: [id]
|
30
|
+
})
|
31
|
+
res.instance_statuses.first if res.instance_statuses.count == 1
|
32
|
+
end
|
33
|
+
|
27
34
|
# find_internet_gateway find_vpn_gateway find_customer_gateway
|
28
35
|
gateway_types = %w(internet vpn customer)
|
29
36
|
gateway_types.each do |type|
|
data/lib/awspec/stub/ec2.rb
CHANGED
@@ -46,6 +46,29 @@ Aws.config[:ec2] = {
|
|
46
46
|
value: true
|
47
47
|
}
|
48
48
|
},
|
49
|
+
describe_instance_status: {
|
50
|
+
instance_statuses: [
|
51
|
+
{
|
52
|
+
instance_id: 'i-ec12345a',
|
53
|
+
availability_zone: 'ap-northeast-1c',
|
54
|
+
events: [
|
55
|
+
{
|
56
|
+
code: 'system-reboot',
|
57
|
+
description: 'scheduled reboot'
|
58
|
+
}
|
59
|
+
],
|
60
|
+
instance_state: {
|
61
|
+
name: 'running'
|
62
|
+
},
|
63
|
+
system_status: {
|
64
|
+
status: 'ok'
|
65
|
+
},
|
66
|
+
instance_status: {
|
67
|
+
status: 'ok'
|
68
|
+
}
|
69
|
+
}
|
70
|
+
]
|
71
|
+
},
|
49
72
|
describe_vpcs: {
|
50
73
|
vpcs: [
|
51
74
|
{
|
data/lib/awspec/type/ec2.rb
CHANGED
@@ -60,5 +60,17 @@ module Awspec::Type
|
|
60
60
|
attachment.instance_id == @id
|
61
61
|
end
|
62
62
|
end
|
63
|
+
|
64
|
+
def has_event?(event_code)
|
65
|
+
status = find_ec2_status(@id)
|
66
|
+
ret = status.events.find do |event|
|
67
|
+
event.code == event_code
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
def has_events?
|
72
|
+
status = find_ec2_status(@id)
|
73
|
+
status.events.count > 0
|
74
|
+
end
|
63
75
|
end
|
64
76
|
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.35.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- k1LoW
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-03-
|
11
|
+
date: 2016-03-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|