aws_log_cleaner 0.1.5 → 0.1.6
Sign up to get free protection for your applications and to get access to all the features.
- 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
|