swa 0.7.1 → 0.7.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 588a6a0445908b4b0c24eeab23190c51143c2b603f801c7c64fe8d296ac42180
4
- data.tar.gz: 21f835b69987db9c4011e4672c1e2bed5a5bf1b2f84112662fb72af1114499c7
3
+ metadata.gz: c40d983e15b51e98b660a8ad7646b60c55ecc5dbe2aa390d64d69f6f8576b4e0
4
+ data.tar.gz: 947bccdf34d4dfd1fd5dde03cd790211a81d5eab5e1c35b688a19aaf4865a940
5
5
  SHA512:
6
- metadata.gz: c3633166d5fd54e8299875540f0415b36ee092a01d7e3f055d415910ce9268456f89afe5fe88c79df37597d7dd452a8ffd5c5f935bfb397a1afe0353302e6b1c
7
- data.tar.gz: 9189b5b62448a4430865f4965824c05513b334a0af372df722145a5d945996a15874bab4b3f7b9e7396308adde75633201c3e4c7f9264ac5535dd25ef97956ed
6
+ metadata.gz: 47ed26af61683becc4e72eced8bbcf4b3414046d0f1ebebe379a69e1097f52bd6f1ff55c714046973c46f78b49acf64b3680943d5c66fb5c240c02266e25b430
7
+ data.tar.gz: 55ced2ec8ae59f6d6305a7f697b0b38429b76c551e3e0d33354f7ea7d3461df239575078bd805357e6827cb30c5b4a2ad97a87a09f86dad7d5096035d2e9fa6d
@@ -137,10 +137,14 @@ module Swa
137
137
 
138
138
  private
139
139
 
140
- def item
140
+ def role
141
141
  Swa::IAM::Role.new(iam.role(File.basename(name)))
142
142
  end
143
143
 
144
+ def item
145
+ role
146
+ end
147
+
144
148
  subcommand "assume", "Assume the role" do
145
149
 
146
150
  option "--session-name", "NAME", "STS session-name",
@@ -176,6 +180,40 @@ module Swa
176
180
 
177
181
  end
178
182
 
183
+ subcommand ["policies"], "Show role policies." do
184
+
185
+ include CollectionBehaviour
186
+
187
+ private
188
+
189
+ def collection
190
+ role.policies
191
+ end
192
+
193
+ end
194
+
195
+ subcommand ["policy"], "Show named role policy" do
196
+
197
+ parameter "NAME", "policy name", attribute_name: :policy_name
198
+
199
+ include ItemBehaviour
200
+
201
+ subcommand "document", "print policy document" do
202
+
203
+ def execute
204
+ puts item.document
205
+ end
206
+
207
+ end
208
+
209
+ private
210
+
211
+ def item
212
+ role.policy(policy_name)
213
+ end
214
+
215
+ end
216
+
179
217
  end
180
218
 
181
219
  subcommand ["roles"], "Show roles" do
data/lib/swa/iam/role.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  require "swa/resource"
2
2
  require "swa/iam/credentials"
3
+ require "swa/iam/role_policy"
3
4
 
4
5
  module Swa
5
6
  module IAM
@@ -18,6 +19,14 @@ module Swa
18
19
  role.name
19
20
  end
20
21
 
22
+ def policies
23
+ RolePolicy.list(role.policies)
24
+ end
25
+
26
+ def policy(name)
27
+ RolePolicy.new(role.policy(name))
28
+ end
29
+
21
30
  private
22
31
 
23
32
  alias_method :role, :aws_resource
@@ -0,0 +1,28 @@
1
+ require "cgi"
2
+ require "swa/resource"
3
+
4
+ module Swa
5
+ module IAM
6
+
7
+ class RolePolicy < Resource
8
+
9
+ def name
10
+ role_policy.name
11
+ end
12
+
13
+ def summary
14
+ name
15
+ end
16
+
17
+ def document
18
+ CGI.unescape(role_policy.policy_document)
19
+ end
20
+
21
+ private
22
+
23
+ alias_method :role_policy, :aws_resource
24
+
25
+ end
26
+
27
+ end
28
+ end
data/lib/swa/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Swa
2
- VERSION = "0.7.1"
2
+ VERSION = "0.7.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: swa
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.1
4
+ version: 0.7.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Williams
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-10-24 00:00:00.000000000 Z
11
+ date: 2023-11-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -292,6 +292,7 @@ files:
292
292
  - lib/swa/iam/instance_profile.rb
293
293
  - lib/swa/iam/policy.rb
294
294
  - lib/swa/iam/role.rb
295
+ - lib/swa/iam/role_policy.rb
295
296
  - lib/swa/iam/user.rb
296
297
  - lib/swa/kms/alias.rb
297
298
  - lib/swa/kms/key.rb