aws3upload 1.0.6 → 1.0.7
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/bin/aws3upload +11 -3
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e93f1038d1312b4c4d09012284ecb79d077fde26
|
4
|
+
data.tar.gz: e8ed7a13fcfd39820373d76601a1e83c4754e3bf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 150e898dc7a6f194939fd481bb52465cef0101d5e41248efb2fd789d6215d23f03d1a9992e4370b106936d07d504397969fb6616ea3f814d92daef06b6310284
|
7
|
+
data.tar.gz: 1331db3c6fc8c5acabc78c2b92d6b2e683e3fe9d537b3fee3a9c9adecedd5ed3d3ff10d12b66c74b7bcf4a25aa8db50433c803ab02d18d1a44261e809da4b4da
|
data/bin/aws3upload
CHANGED
@@ -7,18 +7,22 @@ OptionParser.new do |opts|
|
|
7
7
|
opts.banner = <<~HEREDOC
|
8
8
|
Usage: aws3upload [OPTIONS] SOURCE DEST
|
9
9
|
Require environments: AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION, AWS_S3_BUCKET
|
10
|
-
Optional environments: S3_SRC, S3_DEST
|
10
|
+
Optional environments: S3_SRC, S3_DEST, S3_STORAGE_CLASS
|
11
11
|
HEREDOC
|
12
12
|
opts.on('-t', '--tags KEY=VALUE,...', Array, 'Add s3 tags for object') do |tags|
|
13
13
|
options[:tags] = tags.map { |i|
|
14
14
|
i.split('=')
|
15
15
|
}.to_h.map { |k,v| {key: k, value: v} }
|
16
16
|
end
|
17
|
+
opts.on('-s', '--storage STANDARD_IA', String, 'Change s3 storage class (STANDARD|REDUCED_REDUNDANCY|STANDARD_IA)') do |storage|
|
18
|
+
options[:storage] = storage
|
19
|
+
end
|
17
20
|
end.parse!
|
18
21
|
|
19
22
|
bucket = ENV['AWS_S3_BUCKET']
|
20
23
|
source = ARGV.shift || ENV['S3_SRC']
|
21
24
|
target = ARGV.shift || ENV['S3_DEST']
|
25
|
+
storage = options[:storage] || 'STANDARD_IA'
|
22
26
|
|
23
27
|
['AWS_ACCESS_KEY_ID', 'AWS_SECRET_ACCESS_KEY', 'AWS_REGION', 'AWS_S3_BUCKET'].each do |env|
|
24
28
|
raise "Missing #{env} environment variable" unless ENV[env]
|
@@ -29,8 +33,12 @@ raise "Missing SOURCE argument" unless source
|
|
29
33
|
puts "Copy #{source} to #{bucket}:::#{target}"
|
30
34
|
|
31
35
|
s3 = Aws::S3::Client.new
|
32
|
-
|
33
|
-
|
36
|
+
begin
|
37
|
+
File.open(source,'rb') do |file|
|
38
|
+
s3.put_object(bucket: bucket, key: target, body: file, storage_class: storage)
|
39
|
+
end
|
40
|
+
rescue Aws::S3::Errors::InvalidStorageClass
|
41
|
+
abort "Invalid s3 storage class #{storage}"
|
34
42
|
end
|
35
43
|
|
36
44
|
if options[:tags]
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aws3upload
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dmitry Shmelev
|
@@ -57,3 +57,4 @@ signing_key:
|
|
57
57
|
specification_version: 4
|
58
58
|
summary: AWS S3 Upload
|
59
59
|
test_files: []
|
60
|
+
has_rdoc:
|