aws_log_cleaner 0.1.5 → 0.1.6
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/.travis.yml +5 -4
- data/bin/aws_log_cleaner +26 -8
- data/lib/aws_log_cleaner/aws_credentials.rb +48 -5
- data/lib/aws_log_cleaner/version.rb +1 -1
- data/lib/aws_log_cleaner.rb +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 930d1449b8c7ba7ec0ec21761574836bf9ea3154
|
4
|
+
data.tar.gz: 79fe79bff4d046ebee699b745c0c94d46f899814
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 76ea2614ada694c445e8aa976fc7daa9ddfc6a06267f19e3021d23abd3de801ce5eafffc63d8bd311a442b9342e889e75a1f0ae38ee6eb0d06e254361f2e787b
|
7
|
+
data.tar.gz: e458dbc7b89fe8dfdf02e70bb4b4e25399e3c76f2763d9aa43606599d238a4bc55a9522f79b62c1d1b9e81e0b0b6790cc87a86fe15fadc68c0fa58a2db7094b1
|
data/.travis.yml
CHANGED
data/bin/aws_log_cleaner
CHANGED
@@ -9,13 +9,14 @@ USAGE = <<ENDUSAGE.freeze
|
|
9
9
|
ENDUSAGE
|
10
10
|
|
11
11
|
HELP = <<ENDHELP.freeze
|
12
|
-
-h,
|
13
|
-
-p,
|
14
|
-
-a,
|
15
|
-
-l,
|
16
|
-
-r,
|
17
|
-
-k,
|
18
|
-
-s,
|
12
|
+
-h, --help Show this help.
|
13
|
+
-p, --plan Runs the plan command.
|
14
|
+
-a, --apply Applys the deletion. Preview what will be deleted with [-p]
|
15
|
+
-l, --like The search term returned logs should contain.
|
16
|
+
-r, --region The region to run in.
|
17
|
+
-k, --access_key The access key to use for AWS.
|
18
|
+
-s, --secret The secret to use for AWS.
|
19
|
+
-P, --profile The profile to use for AWS Credentials.
|
19
20
|
ENDHELP
|
20
21
|
|
21
22
|
args = { region: nil, access_key: nil, secret: nil }
|
@@ -30,6 +31,7 @@ ARGV.each do |arg|
|
|
30
31
|
when '-r', '--region' then next_arg = :region
|
31
32
|
when '-k', '--access_key' then next_arg = :access_key
|
32
33
|
when '-s', '--secret' then next_arg = :secret
|
34
|
+
when '-P', '--profile' then next_arg = :profile
|
33
35
|
else
|
34
36
|
if next_arg
|
35
37
|
args[next_arg] = arg
|
@@ -47,8 +49,24 @@ end
|
|
47
49
|
|
48
50
|
like = args[:like].nil? ? '' : args[:like].downcase
|
49
51
|
|
52
|
+
credentials_args =
|
53
|
+
if args[:access_key] && args[:secret]
|
54
|
+
{
|
55
|
+
access_key: args[:access_key],
|
56
|
+
secret: args[:secret]
|
57
|
+
}
|
58
|
+
elsif args[:profile]
|
59
|
+
{
|
60
|
+
profile: args[:profile]
|
61
|
+
}
|
62
|
+
else
|
63
|
+
nil
|
64
|
+
end
|
65
|
+
|
66
|
+
credentials_args[:region] = args[:region] unless args[:region].nil?
|
67
|
+
|
50
68
|
log_cleaner = \
|
51
|
-
AwsLogCleaner::AwsLogCleaner.new(
|
69
|
+
AwsLogCleaner::AwsLogCleaner.new(credentials_args)
|
52
70
|
|
53
71
|
if args[:plan]
|
54
72
|
puts "== PLAN MODE ==\n\n"
|
@@ -9,17 +9,60 @@ module AwsLogCleaner
|
|
9
9
|
|
10
10
|
attr_reader :credentials, :region
|
11
11
|
|
12
|
-
def initialize(
|
13
|
-
key_id
|
14
|
-
secret = secret || ENV['AWS_SECRET_ACCESS_KEY']
|
15
|
-
@region = region || ENV['AWS_DEFAULT_REGION']
|
12
|
+
def initialize(credential_args = nil)
|
13
|
+
key_id, secret, profile, region = parse_credential_arguments(credential_args)
|
16
14
|
|
15
|
+
set_credentials(key_id, secret, profile, region)
|
16
|
+
|
17
|
+
return @credentials
|
18
|
+
end
|
19
|
+
|
20
|
+
private
|
21
|
+
|
22
|
+
def raise_credentials_error
|
23
|
+
raise "Could not load credentials."
|
24
|
+
end
|
25
|
+
|
26
|
+
def parse_credential_arguments(credential_args)
|
27
|
+
if credential_args.nil?
|
28
|
+
key_id = ENV['AWS_ACCESS_KEY_ID']
|
29
|
+
secret = ENV['AWS_SECRET_ACCESS_KEY']
|
30
|
+
region = ENV['AWS_REGION']
|
31
|
+
else
|
32
|
+
if credential_args[:profile] \
|
33
|
+
&& (credential_args[:access_key] || credential_args[:secret] )
|
34
|
+
raise 'Cannot pass a profile and a secret'
|
35
|
+
end
|
36
|
+
|
37
|
+
if credential_args[:profile]
|
38
|
+
profile = credential_args[:profile]
|
39
|
+
else
|
40
|
+
key_id = credential_args[:access_key]
|
41
|
+
secret = credential_args[:secret]
|
42
|
+
end
|
43
|
+
region = credential_args[:region] || ENV['AWS_DEFAULT_REGION']
|
44
|
+
end
|
45
|
+
return key_id, secret, profile, region
|
46
|
+
end
|
47
|
+
|
48
|
+
def set_credentials(key_id, secret, profile, region)
|
49
|
+
@region = region
|
17
50
|
@credentials =
|
18
51
|
if key_id.nil? && secret.nil?
|
19
|
-
|
52
|
+
begin
|
53
|
+
profile.nil? ? Aws::SharedCredentials.new : Aws::SharedCredentials.new(profile_name: profile)
|
54
|
+
rescue Aws::Errors::NoSuchProfileError
|
55
|
+
raise_credentials_error
|
56
|
+
end
|
20
57
|
else
|
21
58
|
Aws::Credentials.new(key_id, secret)
|
22
59
|
end
|
60
|
+
|
61
|
+
if (@credentials.credentials.nil? || @region.nil?) \
|
62
|
+
|| @credentials.credentials.set? == false
|
63
|
+
raise_credentials_error
|
64
|
+
end
|
23
65
|
end
|
66
|
+
|
24
67
|
end
|
25
68
|
end
|
data/lib/aws_log_cleaner.rb
CHANGED
@@ -12,8 +12,8 @@ module AwsLogCleaner
|
|
12
12
|
# Application wrapper
|
13
13
|
class AwsLogCleaner
|
14
14
|
|
15
|
-
def initialize(
|
16
|
-
credentials = AwsCredentials.new(
|
15
|
+
def initialize(credentials_args)
|
16
|
+
credentials = AwsCredentials.new(credentials_args)
|
17
17
|
cloud_watch_logs = CloudWatchLogs.new(credentials)
|
18
18
|
api_gateway = ApiGateway.new(credentials)
|
19
19
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aws_log_cleaner
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- dbaker
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-08-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|