class AwsLogCleaner::CloudWatchLogs

Class responsible for interacting with AWS Cloudwatch

Public Class Methods

new(credentials) click to toggle source
# File lib/aws_log_cleaner/cloud_watch_logs.rb, line 9
def initialize(credentials)
  @cloud_watch_logs = Aws::CloudWatchLogs::Client.new(
    region: credentials.region,
    credentials: credentials.credentials
  )
end

Public Instance Methods

delete_log_groups(log_group_names) click to toggle source
# File lib/aws_log_cleaner/cloud_watch_logs.rb, line 21
def delete_log_groups(log_group_names)
  log_group_names.each do |name|
    @cloud_watch_logs.delete_log_group(
      log_group_name: name
    )
  end
end
list_all_log_groups() click to toggle source
# File lib/aws_log_cleaner/cloud_watch_logs.rb, line 16
def list_all_log_groups
  @log_groups = describe_log_groups if @log_groups.nil?
  @log_groups
end

Private Instance Methods

describe_log_groups() click to toggle source
# File lib/aws_log_cleaner/cloud_watch_logs.rb, line 31
def describe_log_groups
  log_groups = []
  token = nil
  loop do
    resp = @cloud_watch_logs.describe_log_groups(next_token: token)
    log_groups.concat(resp.log_groups)
    token = resp.next_token
    return log_groups if token.to_s.empty?
  end
end