swa 0.7.1 → 0.7.2

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