mist_aws 0.1.9 → 0.1.12

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,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b9419905aff1664dee2756b700fe04fd7225424f
4
- data.tar.gz: dcb97d1e1a911fcc97972857b27e2a7ec52a010b
3
+ metadata.gz: 27462753daf44858bc4b364373962b3ae694c7a2
4
+ data.tar.gz: cb5a6de74bee828ebc96885851a3bcf0aee2dd81
5
5
  SHA512:
6
- metadata.gz: df24fcd6de9bbe28917e0e695404e27435f09b6257d2e3f43d368b7f1767269ab4b2980123202eb9ab68b7f914e0cc1c2ae2fa72d3cc2e758e80a95eb06b4d7a
7
- data.tar.gz: c836a04cb7fdb8e959ac63068058bd306941cd1dac9112f6ce96d9e6105fd467b997c5ac479ac17ac21398d5900c1f29150eff343f75a2abd511c2162685607e
6
+ metadata.gz: 0989864073bd2a6dd98f17fba167bd681ddd5549412644522d944ad12d509eec4dfcede9e1462490aa2e89b20503f3b008368fa977baf07c9334564737cb73d1
7
+ data.tar.gz: 804f1dfa2f8983fd0eb56091ebc751691d4c2a5ad60ea25e5fc3cdb5acfc6acb60d9ac8933aec76d10afb20332f20af5da2094a02820e23fe7d9139011076ced
data/README.md CHANGED
@@ -4,6 +4,7 @@ Uses the [ruby aws-sdk v2](https://github.com/aws/aws-sdk-core-ruby) [Resource I
4
4
 
5
5
  > NOTE: Currently the only object implemented is Iam for creating / deleting instance roles and an Ec2 for working with Security Groups
6
6
 
7
+ [![mist_aws API Documentation](https://www.omniref.com/ruby/gems/mist_aws.png)](https://www.omniref.com/ruby/gems/mist_aws)
7
8
 
8
9
  ## Installation
9
10
 
@@ -46,15 +46,15 @@ module MistAws
46
46
  # profile_name and various Environment Variables
47
47
  @credentials = get_creds(profile_name)
48
48
 
49
- @iam_client = Aws::IAM::Client.new(credentials: @credentials, region: @region)
50
- @iam = Aws::IAM::Resource.new(client: @iam_client)
49
+ @iam_client = ::Aws::IAM::Client.new(credentials: @credentials, region: @region)
50
+ @iam = ::Aws::IAM::Resource.new(client: @iam_client)
51
51
  end
52
52
 
53
53
 
54
54
  # Returns the proper Aws credential object.
55
55
  #
56
56
  # @param profile_name [String] (nil) Name of profile
57
- # @return [Aws::SharedCredentials | Aws::Credentials]
57
+ # @return [::Aws::SharedCredentials | ::Aws::Credentials]
58
58
  #
59
59
  def get_creds(profile_name=nil)
60
60
  unless profile_name
@@ -62,7 +62,7 @@ module MistAws
62
62
  @profile_name = ENV['AWS_PROFILE']
63
63
  else
64
64
  if ENV['AWS_ACCESS_KEY_ID'] && ENV['AWS_SECRET_ACCESS_KEY']
65
- return Aws::Credentials.new(ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY'])
65
+ return ::Aws::Credentials.new(ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY'])
66
66
  else
67
67
  @profile_name = 'default'
68
68
  end
@@ -72,7 +72,7 @@ module MistAws
72
72
  end
73
73
 
74
74
  begin
75
- Aws::SharedCredentials.new(profile_name: @profile_name)
75
+ ::Aws::SharedCredentials.new(profile_name: @profile_name)
76
76
  rescue StandardError => e
77
77
  @logger.error e.inspect
78
78
  raise e
@@ -105,7 +105,7 @@ module MistAws
105
105
  begin
106
106
  iam_client.get_role_policy(role_name: role_name, policy_name: policy_name)
107
107
  exists = true
108
- rescue Aws::IAM::Errors::NoSuchEntityException
108
+ rescue ::Aws::IAM::Errors::NoSuchEntityException
109
109
  logger.warn "No role_polcy: #{policy_name.inspect} for role: #{role_name.inspect}"
110
110
  exists = false
111
111
  end
@@ -174,11 +174,11 @@ module MistAws
174
174
  role = iam.create_role(role_name: role_name, assume_role_policy_document: assume_role_policy)
175
175
 
176
176
  # Create a policy object associated to the role and stuff the policy document into it
177
- policy = Aws::IAM::RolePolicy.new(role_name: role_name, name: policy_name, client: iam_client)
177
+ policy = ::Aws::IAM::RolePolicy.new(role_name: role_name, name: policy_name, client: iam_client)
178
178
  policy.put(policy_document: policy_document)
179
179
 
180
180
  # Create an instance_profile
181
- instance_profile = iam.create_instance_profile(instance_profile_name: instance_profile_name)
181
+ instance_profile = iam.create_instance_profile(instance_profile_name: instance_profile_name) unless instance_profile_exists?(instance_profile_name)
182
182
  instance_profile.add_role(role_name: role_name)
183
183
  role
184
184
  end
@@ -1,3 +1,3 @@
1
1
  module MistAws
2
- VERSION = "0.1.9"
2
+ VERSION = "0.1.12"
3
3
  end
@@ -23,7 +23,8 @@ Gem::Specification.new do |spec|
23
23
  spec.add_development_dependency "rspec", "~> 3.1.0"
24
24
  spec.add_development_dependency "pry"
25
25
  spec.add_development_dependency "yard"
26
- spec.add_dependency "aws-sdk", "~>2.0.1.pre"
26
+ spec.add_dependency "aws-sdk-core"
27
+ spec.add_dependency "aws-sdk-resources"
27
28
  spec.add_dependency "json"
28
29
  spec.add_dependency "inifile"
29
30
  end
@@ -186,8 +186,10 @@ describe "Fully Mocked Tests" do
186
186
  expect(::Aws::IAM::RolePolicy).to receive(:new).with(role_name: role_name, name: role_policy_name, client: iam_client).and_return(role_policy)
187
187
  expect(role_policy).to receive(:put).with(policy_document: role_policy_document)
188
188
 
189
- expect(iam).to receive(:create_instance_profile).with(instance_profile_name: instance_profile_name).and_return(instance_profile)
189
+ expect(iam).to receive(:instance_profile).with(instance_profile_name).and_return(instance_profile)
190
190
  expect(instance_profile).to receive(:add_role).with(role_name: role_name)
191
+ expect(instance_profile).to receive(:data_loaded?).and_return(false)
192
+ expect(iam).to receive(:create_instance_profile).with(instance_profile_name: instance_profile_name).and_return(instance_profile)
191
193
 
192
194
 
193
195
  mist_aws.create_iam_role(role_name, role_policy_name, role_policy_document, instance_profile_name)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mist_aws
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.9
4
+ version: 0.1.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert J. Berger
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-24 00:00:00.000000000 Z
11
+ date: 2015-12-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -81,19 +81,33 @@ dependencies:
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
- name: aws-sdk
84
+ name: aws-sdk-core
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - "~>"
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
- version: 2.0.1.pre
89
+ version: '0'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - "~>"
94
+ - - ">="
95
95
  - !ruby/object:Gem::Version
96
- version: 2.0.1.pre
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: aws-sdk-resources
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
97
111
  - !ruby/object:Gem::Dependency
98
112
  name: json
99
113
  requirement: !ruby/object:Gem::Requirement
@@ -167,7 +181,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
167
181
  version: '0'
168
182
  requirements: []
169
183
  rubyforge_project:
170
- rubygems_version: 2.4.3
184
+ rubygems_version: 2.4.8
171
185
  signing_key:
172
186
  specification_version: 4
173
187
  summary: Wrapper around aws-sdk V2 for higher level use