piculet 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- MzVmZDAxYzEwOTBhZjM0MzMzZWExNGJlMzYwY2Y2NTQyZjNiYzFiZQ==
5
- data.tar.gz: !binary |-
6
- NWQ3M2U2M2M3ZDE1OWY4MGM1MWYxOTAwODRiYzJjMjEwNGRjMmQxOA==
2
+ SHA1:
3
+ metadata.gz: 7b46576137a90e84ea196dc54427fe9b2435c5e5
4
+ data.tar.gz: db4cf94939ab82f13888954c257594973f93a401
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- MDA0MTI3YjQ5YmVhYzNhN2VlOWRlZjYyM2U3NmI5YmIxNTQ0M2VkM2FlODU3
10
- OWZhZGRhZGIyMzZlNDY1OTNjNTRlZDU0MmQ1ZjA4YjZhMThmMDBmZGIzODQ1
11
- YjExMGE4ZGMwNmRhYmUyOTFkOGZiNjQ0NTM5NjQ4ZjU2MDE5M2E=
12
- data.tar.gz: !binary |-
13
- N2M1ODliNTU0NzFlZWI4MzA5YWFiNDc4YmQ2OGEyMDAzOWZlNTQxYWIxNmE1
14
- M2M5YzkwMzRkMmU4OGY4ZWY0OGQ4OGVjZDE5MWQzNTI3OGE5YjBjYTkyZjRj
15
- YmNjODM5MWUwYmE4NmY2M2IwNDM3Yjg1MTkzYTdjYWFjNzRkOTg=
6
+ metadata.gz: 876f93b3987fdf4e703856fd81be34c8af6498dcc6d4437ee4fceae2b9c201e01d855c6cd773826e873d52ab87e109572794c80b88214e83241bb31f6f841aa7
7
+ data.tar.gz: 922c087ec74874e94a7da7932d37b3ed250b9a8a99bcfd4b45c7fe612fdb5eab073536a6d7069a935c29a70fb577cb831dc6a15b2c2f65d9be238b775eff8743
data/README.md CHANGED
@@ -27,6 +27,8 @@ export AWS_ACCESS_KEY_ID='...'
27
27
  export AWS_SECRET_ACCESS_KEY='...'
28
28
  export AWS_REGION='ap-northeast-1'
29
29
  #export AWS_OWNER_ID='123456789012'
30
+ # Note: If you do not set the OWNER_ID,
31
+ # Piculet get the OWNER_ID from GetUser(IAM) or CreateSecurityGroup(EC2)
30
32
  piculet -e -o Groupfile # export EC2 SecurityGroup
31
33
  vi Groupfile
32
34
  piculet -a --dry-run
@@ -8,13 +8,9 @@ module AWS
8
8
 
9
9
  def owner_id
10
10
  return ENV['AWS_OWNER_ID'] if ENV['AWS_OWNER_ID']
11
+ return @owner_id if @owner_id
11
12
 
12
- unless @owner_id
13
- security_group = create_random_security_group
14
- return nil unless security_group
15
- @owner_id = random_security_group_owner_id(security_group)
16
- delete_random_security_group(security_group)
17
- end
13
+ @owner_id = get_owner_id_from_iam || get_owner_id_from_security_group
18
14
 
19
15
  return @owner_id
20
16
  end
@@ -24,6 +20,23 @@ module AWS
24
20
  end
25
21
 
26
22
  private
23
+ def get_owner_id_from_iam
24
+ credentials = self.config.credential_provider.credentials
25
+ iam = AWS::IAM.new(credentials)
26
+ user = iam.client.get_user rescue nil
27
+ return nil unless user
28
+ arn = user[:user][:arn]
29
+ arn.split(':')[4]
30
+ end
31
+
32
+ def get_owner_id_from_security_group
33
+ security_group = create_random_security_group
34
+ return nil unless security_group
35
+ owner_id = random_security_group_owner_id(security_group)
36
+ delete_random_security_group(security_group)
37
+ return owner_id
38
+ end
39
+
27
40
  def create_random_security_group
28
41
  security_group = nil
29
42
 
@@ -1,5 +1,5 @@
1
1
  module Piculet
2
- VERSION = "0.1.3"
2
+ VERSION = "0.1.4"
3
3
  end
4
4
 
5
5
  Version = Piculet::VERSION
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: piculet
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - winebarrel
@@ -14,28 +14,28 @@ dependencies:
14
14
  name: aws-sdk
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ! '>='
17
+ - - '>='
18
18
  - !ruby/object:Gem::Version
19
19
  version: 1.19.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ! '>='
24
+ - - '>='
25
25
  - !ruby/object:Gem::Version
26
26
  version: 1.19.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: term-ansicolor
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ! '>='
31
+ - - '>='
32
32
  - !ruby/object:Gem::Version
33
33
  version: 1.2.2
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ! '>='
38
+ - - '>='
39
39
  - !ruby/object:Gem::Version
40
40
  version: 1.2.2
41
41
  - !ruby/object:Gem::Dependency
@@ -56,14 +56,14 @@ dependencies:
56
56
  name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ! '>='
59
+ - - '>='
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ! '>='
66
+ - - '>='
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
@@ -120,17 +120,17 @@ require_paths:
120
120
  - lib
121
121
  required_ruby_version: !ruby/object:Gem::Requirement
122
122
  requirements:
123
- - - ! '>='
123
+ - - '>='
124
124
  - !ruby/object:Gem::Version
125
125
  version: '0'
126
126
  required_rubygems_version: !ruby/object:Gem::Requirement
127
127
  requirements:
128
- - - ! '>='
128
+ - - '>='
129
129
  - !ruby/object:Gem::Version
130
130
  version: '0'
131
131
  requirements: []
132
132
  rubyforge_project:
133
- rubygems_version: 2.1.5
133
+ rubygems_version: 2.1.8
134
134
  signing_key:
135
135
  specification_version: 4
136
136
  summary: Piculet is a tool to manage EC2 Security Group.