swa 0.8.0 → 0.8.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: 36e1c1b0403a6cdb2a09bce49b2cc378f6b67f8abfbded1d6baf41d46e70504e
4
- data.tar.gz: 91755af27947ed3028f7da36e44e1e2a53ed0555ce99a0107a557ee4767e6632
3
+ metadata.gz: 5395b32bb927c4ec8f2ce5d25a63ee6b63050e84a8e0d45495a93bb7c44255c2
4
+ data.tar.gz: ac4ca651c8331b4504e8631f50ed04422fed4d0bf64d463493ee1ae2cdf0fefa
5
5
  SHA512:
6
- metadata.gz: 2c93335b35ff3b0e070847deee928481a77634d295dfe2e2240308fec7c8f776cfa8f6ab9658bfface70dfcb124f7b10ec55ae75c5375be98ce0161b3f8d1b1e
7
- data.tar.gz: 1e64bf3fe18ba6398dc7d3af897a0223099b85a7112464a112a662d2caa763d35aa14c05d19de042ccdd35b36d4b78707938c720d8c5066504ca94c99fa21f57
6
+ metadata.gz: 1c7236e0302c1877965f1343676d51ac383e0f78fd7221521782c5a2569fc0b6aa1e005d10028189652b1173b748adbb0f6c9f3ea50568bb79b3380d345b8593
7
+ data.tar.gz: 38219530e62eaa9aae49150dd249265565d738d0981ae6ed1f39f52f4573fdec9011185fb55ec3639069f9a4445ad4c2fb6c2d84d581d12d0c883ae9f56ceb21
@@ -2,6 +2,7 @@ require "aws-sdk-lakeformation"
2
2
  require "swa/cli/base_command"
3
3
  require "swa/cli/collection_behaviour"
4
4
  require "swa/cli/item_behaviour"
5
+ require "swa/lake_formation/permission"
5
6
  require "swa/lake_formation/resource_info"
6
7
 
7
8
  module Swa
@@ -15,27 +16,26 @@ module Swa
15
16
  List permissions.
16
17
  EOF
17
18
 
19
+ ALLOWED_RESOURCE_TYPES = %w(CATALOG DATABASE TABLE DATA_LOCATION LF_TAG LF_TAG_POLICY LF_TAG_POLICY_DATABASE LF_TAG_POLICY_TABLE)
20
+
21
+ option ["--type", "-T"], "TYPE", "Resource type" do |value|
22
+ value = value.upcase
23
+ raise ArgumentError, "Invalid resource type: #{value}" unless ALLOWED_RESOURCE_TYPES.include?(value)
24
+ value
25
+ end
26
+
18
27
  include CollectionBehaviour
19
28
 
20
29
  private
21
30
 
22
31
  def collection
23
- query_for(:list_permissions, :principal_resource_permissions, Swa::LakeFormation::Permission)
32
+ query_args = {}
33
+ query_args[:resource_type] = type if type
34
+ query_for(:list_permissions, :principal_resource_permissions, Swa::LakeFormation::Permission, **query_args)
24
35
  end
25
36
 
26
37
  end
27
38
 
28
- protected
29
-
30
- def lf_client
31
- ::Aws::LakeFormation::Client.new(aws_config)
32
- end
33
-
34
- def query_for(query_method, response_key, model)
35
- records = lf_client.public_send(query_method).public_send(response_key)
36
- model.list(records)
37
- end
38
-
39
39
  subcommand ["resources"], "Show resources" do
40
40
 
41
41
  self.description = <<-EOF
@@ -58,8 +58,8 @@ module Swa
58
58
  ::Aws::LakeFormation::Client.new(aws_config)
59
59
  end
60
60
 
61
- def query_for(query_method, response_key, model)
62
- records = lf_client.public_send(query_method).public_send(response_key)
61
+ def query_for(query_method, response_key, model, **query_args)
62
+ records = lf_client.public_send(query_method, **query_args).public_send(response_key)
63
63
  model.list(records)
64
64
  end
65
65
 
@@ -106,6 +106,18 @@ module Swa
106
106
 
107
107
  end
108
108
 
109
+ subcommand ["versions"], "Show versions" do
110
+
111
+ include CollectionBehaviour
112
+
113
+ protected
114
+
115
+ def collection
116
+ bucket.object_versions(:prefix => object_key)
117
+ end
118
+
119
+ end
120
+
109
121
  protected
110
122
 
111
123
  def object
data/lib/swa/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Swa
2
- VERSION = "0.8.0"
2
+ VERSION = "0.8.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.8.0
4
+ version: 0.8.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: 2024-03-07 00:00:00.000000000 Z
11
+ date: 2024-03-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler