miam 0.2.4.beta4 → 0.2.4.beta5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +1 -0
- data/lib/miam/client.rb +4 -4
- data/lib/miam/driver.rb +10 -10
- data/lib/miam/version.rb +1 -1
- data/miam.gemspec +0 -2
- 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: d8f1bb0af1a2fc50488600724625331227f2d140
|
4
|
+
data.tar.gz: d3d47fde2bcaa09e111128288ae7df5b503d0672
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 94f5a8bbe72365205d570058894105b69a21be1f9bff0037ce026ca89d140eb2de6f40fa6f7a02cd4fd71cf3d54341fcdb052646335dbcf087f12b5c6dd35f97
|
7
|
+
data.tar.gz: 9c2a71d660f36313d38cae51b048e828aa20bd1c2d666b77ff67a6f1b8a7537164df49196eb6fba1c3801d97dfa87695cac087d1ea5116f6623dbc86ec7ac097
|
data/.travis.yml
CHANGED
@@ -10,3 +10,4 @@ env:
|
|
10
10
|
- secure: "Ec8bwSfp06anSzLJpGhkKjPz9EocMwl7H8t2LKoI3bKV/cz9JU0GhhUdUUmg3mCFH9+8/YGLzcbFKcxZIqnDK7ukdgTGsnGDevnctis0QwM7/nKHdkaK8JWhCx41TUXOqoiCKkNEnm1EbDtrILt4rJwb0BGXGnPjv6nLAyvdE2Y="
|
11
11
|
- secure: "Ky5Dpxc7SIqbQ4Y10m/jik/rVdeGMeh1439m3KB+tiV/Bz1hhWv4+If150ajLjbmWCZBPMLhxrTL0EePoyqYXpOGHvINvYM+/XCPcpP4iYkaTzr1MVIOMpa8A8aAOOgQWoGOwfyWoxfrYzv/TRvtMietnm+dZwVcbbkQ4ut7oa4="
|
12
12
|
- AWS_REGION=ap-northeast-1
|
13
|
+
- DEBUG=1
|
data/lib/miam/client.rb
CHANGED
@@ -452,7 +452,7 @@ class Miam::Client
|
|
452
452
|
log(:warn, "ManagedPolicy `#{policy_name}`: 'path' cannot be updated", :color => :yellow)
|
453
453
|
end
|
454
454
|
|
455
|
-
updated = walk_managed_policy(policy_name, expected_attrs[:document], actual_attrs[:document]) || updated
|
455
|
+
updated = walk_managed_policy(policy_name, actual_attrs[:path], expected_attrs[:document], actual_attrs[:document]) || updated
|
456
456
|
else
|
457
457
|
@driver.create_managed_policy(policy_name, expected_attrs)
|
458
458
|
updated = true
|
@@ -462,13 +462,13 @@ class Miam::Client
|
|
462
462
|
updated
|
463
463
|
end
|
464
464
|
|
465
|
-
def walk_managed_policy(policy_name, expected_document, actual_document)
|
465
|
+
def walk_managed_policy(policy_name, policy_path, expected_document, actual_document)
|
466
466
|
updated = false
|
467
467
|
expected_document.sort_array!
|
468
468
|
actual_document.sort_array!
|
469
469
|
|
470
470
|
if expected_document != actual_document
|
471
|
-
@driver.update_managed_policy(policy_name, expected_document, actual_document)
|
471
|
+
@driver.update_managed_policy(policy_name, policy_path, expected_document, actual_document)
|
472
472
|
updated = true
|
473
473
|
end
|
474
474
|
|
@@ -479,7 +479,7 @@ class Miam::Client
|
|
479
479
|
updated = false
|
480
480
|
|
481
481
|
actual.each do |policy_name, actual_attrs|
|
482
|
-
@driver.delete_managed_policy(policy_name)
|
482
|
+
@driver.delete_managed_policy(policy_name, actual_attrs[:path])
|
483
483
|
updated = true
|
484
484
|
end
|
485
485
|
|
data/lib/miam/driver.rb
CHANGED
@@ -377,12 +377,12 @@ class Miam::Driver
|
|
377
377
|
end
|
378
378
|
end
|
379
379
|
|
380
|
-
def delete_managed_policy(policy_name)
|
380
|
+
def delete_managed_policy(policy_name, policy_path)
|
381
381
|
log(:info, "Delete ManagedPolicy `#{policy_name}`", :color => :red)
|
382
382
|
|
383
383
|
unless_dry_run do
|
384
384
|
policy_versions = @iam.list_policy_versions(
|
385
|
-
:policy_arn => policy_arn(policy_name),
|
385
|
+
:policy_arn => policy_arn(policy_name, policy_path),
|
386
386
|
:max_items => MAX_POLICY_VERSIONS
|
387
387
|
)
|
388
388
|
|
@@ -390,24 +390,24 @@ class Miam::Driver
|
|
390
390
|
pv.is_default_version
|
391
391
|
}.each {|pv|
|
392
392
|
@iam.delete_policy_version(
|
393
|
-
:policy_arn => policy_arn(policy_name),
|
393
|
+
:policy_arn => policy_arn(policy_name, policy_path),
|
394
394
|
:version_id => pv.version_id
|
395
395
|
)
|
396
396
|
}
|
397
397
|
|
398
398
|
@iam.delete_policy(
|
399
|
-
:policy_arn => policy_arn(policy_name)
|
399
|
+
:policy_arn => policy_arn(policy_name, policy_path)
|
400
400
|
)
|
401
401
|
end
|
402
402
|
end
|
403
403
|
|
404
|
-
def update_managed_policy(policy_name, policy_document, old_policy_document)
|
404
|
+
def update_managed_policy(policy_name, policy_path, policy_document, old_policy_document)
|
405
405
|
log(:info, "Update ManagedPolicy `#{policy_name}`", :color => :green)
|
406
406
|
log(:info, Miam::Utils.diff(old_policy_document, policy_document, :color => @options[:color]), :color => false)
|
407
407
|
|
408
408
|
unless_dry_run do
|
409
409
|
policy_versions = @iam.list_policy_versions(
|
410
|
-
:policy_arn => policy_arn(policy_name),
|
410
|
+
:policy_arn => policy_arn(policy_name, policy_path),
|
411
411
|
:max_items => MAX_POLICY_VERSIONS
|
412
412
|
)
|
413
413
|
|
@@ -417,13 +417,13 @@ class Miam::Driver
|
|
417
417
|
}.sort_by {|pv| pv.version_id[1..-1].to_i }.first
|
418
418
|
|
419
419
|
@iam.delete_policy_version(
|
420
|
-
:policy_arn => policy_arn(policy_name),
|
420
|
+
:policy_arn => policy_arn(policy_name, policy_path),
|
421
421
|
:version_id => delete_policy_version.version_id
|
422
422
|
)
|
423
423
|
end
|
424
424
|
|
425
425
|
@iam.create_policy_version(
|
426
|
-
:policy_arn => policy_arn(policy_name),
|
426
|
+
:policy_arn => policy_arn(policy_name, policy_path),
|
427
427
|
:policy_document => encode_document(policy_document),
|
428
428
|
set_as_default: true
|
429
429
|
)
|
@@ -460,7 +460,7 @@ class Miam::Driver
|
|
460
460
|
@account_id ||= @iam.get_user.user.arn.split(':').fetch(4)
|
461
461
|
end
|
462
462
|
|
463
|
-
def policy_arn(policy_name)
|
464
|
-
"arn:aws:iam::#{account_id}:policy
|
463
|
+
def policy_arn(policy_name, policy_path)
|
464
|
+
File.join("arn:aws:iam::#{account_id}:policy", policy_path, policy_name)
|
465
465
|
end
|
466
466
|
end
|
data/lib/miam/version.rb
CHANGED
data/miam.gemspec
CHANGED
@@ -8,8 +8,6 @@ Gem::Specification.new do |spec|
|
|
8
8
|
spec.version = Miam::VERSION
|
9
9
|
spec.authors = ['Genki Sugawara']
|
10
10
|
spec.email = ['sgwr_dts@yahoo.co.jp']
|
11
|
-
spec.summary = %q{TODO: Write a short summary. Required.}
|
12
|
-
spec.description = %q{TODO: Write a longer description. Optional.}
|
13
11
|
spec.summary = %q{Miam is a tool to manage IAM.}
|
14
12
|
spec.description = %q{Miam is a tool to manage IAM. It defines the state of IAM using DSL, and updates IAM according to DSL.}
|
15
13
|
spec.homepage = 'http://miam.codenize.tools/'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: miam
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.4.
|
4
|
+
version: 0.2.4.beta5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Genki Sugawara
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-09-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk-core
|