swa 0.7.3 → 0.7.5
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 +4 -4
- data/lib/swa/cli/athena_command.rb +2 -0
- data/lib/swa/cli/glue_command.rb +16 -0
- data/lib/swa/cli/s3_command.rb +7 -4
- data/lib/swa/s3/bucket.rb +16 -0
- data/lib/swa/s3/object_list_entry.rb +66 -0
- data/lib/swa/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1db2fa774c68dc5fc72812a3c9962eac1b532bbea246f163fdb705e301d80343
|
4
|
+
data.tar.gz: 3752e1fbb76dcd2fc3eeb84fe7b703420f5d87ad36559b05c178d3bdbe043508
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 82fe2ee12f547a35efa664798fd5d52d6313ad60957c6045e13956de5f31662f728636d541a2661031d1068c4a5d110ad255a56c81b9d3ae280270f224f8be62
|
7
|
+
data.tar.gz: ffdf5f146091814f926b1af310a44c198dba8b64573d1f3e75f92b50fc50979698f433d9611bb3c0097ffa70f987ecf1fb290591ab0dfa562bb5922fbdbcebc5
|
@@ -118,6 +118,8 @@ module Swa
|
|
118
118
|
|
119
119
|
def wait_for_query(query_execution_id)
|
120
120
|
QueryCompletionWaiter.new(client: athena_client).wait(query_execution_id: query_execution_id)
|
121
|
+
rescue Aws::Waiters::Errors::FailureStateError => error
|
122
|
+
signal_error error.response.query_execution.status.state_change_reason
|
121
123
|
end
|
122
124
|
|
123
125
|
end
|
data/lib/swa/cli/glue_command.rb
CHANGED
@@ -66,6 +66,14 @@ module Swa
|
|
66
66
|
Swa::Glue::Database.new(glue_client.get_database(:name => name).database)
|
67
67
|
end
|
68
68
|
|
69
|
+
subcommand ["delete"], "Delete database" do
|
70
|
+
|
71
|
+
def execute
|
72
|
+
glue_client.delete_database(:name => name)
|
73
|
+
end
|
74
|
+
|
75
|
+
end
|
76
|
+
|
69
77
|
subcommand ["table"], "Show table" do
|
70
78
|
|
71
79
|
parameter "NAME", "table name", attribute_name: :table_name
|
@@ -84,6 +92,14 @@ module Swa
|
|
84
92
|
|
85
93
|
end
|
86
94
|
|
95
|
+
subcommand ["delete"], "Delete table" do
|
96
|
+
|
97
|
+
def execute
|
98
|
+
glue_client.delete_table(:database_name => name, :name => table_name)
|
99
|
+
end
|
100
|
+
|
101
|
+
end
|
102
|
+
|
87
103
|
private
|
88
104
|
|
89
105
|
def item
|
data/lib/swa/cli/s3_command.rb
CHANGED
@@ -120,13 +120,16 @@ module Swa
|
|
120
120
|
|
121
121
|
option "--prefix", "PREFIX", "object prefix"
|
122
122
|
|
123
|
-
self.default_subcommand = "
|
123
|
+
self.default_subcommand = "prefixes"
|
124
124
|
|
125
125
|
subcommand ["list", "ls"], "One-line summary" do
|
126
126
|
|
127
|
+
option %w(-R --recursive), :flag, "list recursively"
|
128
|
+
|
127
129
|
def execute
|
128
|
-
|
129
|
-
|
130
|
+
delimiter = "/" unless recursive?
|
131
|
+
bucket.object_list_entries(prefix: prefix, delimiter: delimiter).each do |e|
|
132
|
+
puts e.summary
|
130
133
|
end
|
131
134
|
end
|
132
135
|
|
@@ -156,7 +159,7 @@ module Swa
|
|
156
159
|
protected
|
157
160
|
|
158
161
|
def objects
|
159
|
-
bucket.objects(:
|
162
|
+
bucket.objects(prefix: prefix)
|
160
163
|
end
|
161
164
|
|
162
165
|
end
|
data/lib/swa/s3/bucket.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require "multi_json"
|
2
2
|
require "swa/resource"
|
3
3
|
require "swa/s3/object"
|
4
|
+
require "swa/s3/object_list_entry"
|
4
5
|
require "swa/s3/object_version"
|
5
6
|
|
6
7
|
module Swa
|
@@ -38,6 +39,21 @@ module Swa
|
|
38
39
|
Swa::S3::ObjectVersion.list(aws_resource.object_versions(options))
|
39
40
|
end
|
40
41
|
|
42
|
+
def object_list_entries(options = {})
|
43
|
+
options = options.merge(bucket: bucket.name)
|
44
|
+
resp = bucket.client.list_objects_v2(options)
|
45
|
+
::Enumerator.new do |y|
|
46
|
+
resp.each_page do |page|
|
47
|
+
page.data.common_prefixes.each do |prefix_data|
|
48
|
+
y << Swa::S3::ObjectPrefix.new(bucket.name, prefix_data)
|
49
|
+
end
|
50
|
+
page.data.contents.each do |object_data|
|
51
|
+
y << Swa::S3::ObjectSummary.new(bucket.name, object_data)
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
41
57
|
def delete
|
42
58
|
bucket.delete
|
43
59
|
end
|
@@ -0,0 +1,66 @@
|
|
1
|
+
require "swa/record"
|
2
|
+
|
3
|
+
module Swa
|
4
|
+
module S3
|
5
|
+
|
6
|
+
class ObjectListEntry < Record
|
7
|
+
|
8
|
+
def initialize(bucket_name, aws_record)
|
9
|
+
@bucket_name = bucket_name
|
10
|
+
super(aws_record)
|
11
|
+
end
|
12
|
+
|
13
|
+
attr_reader :bucket_name
|
14
|
+
|
15
|
+
def to_s
|
16
|
+
uri
|
17
|
+
end
|
18
|
+
|
19
|
+
def summary
|
20
|
+
[
|
21
|
+
pad(column1, 20),
|
22
|
+
rpad(column2, 10),
|
23
|
+
uri
|
24
|
+
].join(" ")
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
|
29
|
+
class ObjectPrefix < ObjectListEntry
|
30
|
+
|
31
|
+
delegate :prefix
|
32
|
+
|
33
|
+
def column1
|
34
|
+
""
|
35
|
+
end
|
36
|
+
|
37
|
+
def column2
|
38
|
+
""
|
39
|
+
end
|
40
|
+
|
41
|
+
def uri
|
42
|
+
"s3://#{bucket_name}/#{prefix}"
|
43
|
+
end
|
44
|
+
|
45
|
+
end
|
46
|
+
|
47
|
+
class ObjectSummary < ObjectListEntry
|
48
|
+
|
49
|
+
delegate :key, :size, :last_modified
|
50
|
+
|
51
|
+
def column1
|
52
|
+
last_modified.iso8601
|
53
|
+
end
|
54
|
+
|
55
|
+
def column2
|
56
|
+
size
|
57
|
+
end
|
58
|
+
|
59
|
+
def uri
|
60
|
+
"s3://#{bucket_name}/#{key}"
|
61
|
+
end
|
62
|
+
|
63
|
+
end
|
64
|
+
|
65
|
+
end
|
66
|
+
end
|
data/lib/swa/version.rb
CHANGED
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.
|
4
|
+
version: 0.7.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mike Williams
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-02-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -320,6 +320,7 @@ files:
|
|
320
320
|
- lib/swa/resource.rb
|
321
321
|
- lib/swa/s3/bucket.rb
|
322
322
|
- lib/swa/s3/object.rb
|
323
|
+
- lib/swa/s3/object_list_entry.rb
|
323
324
|
- lib/swa/s3/object_version.rb
|
324
325
|
- lib/swa/version.rb
|
325
326
|
- swa.gemspec
|