piculet 0.1.3 → 0.1.4

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 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.