class AwsLogCleaner::ApiGateway

Class responsible for interacting with the AWS ApiGatewayClient

Public Class Methods

new(credentials) click to toggle source
# File lib/aws_log_cleaner/api_gateway.rb, line 8
def initialize(credentials)
  @api_client = Aws::APIGateway::Client.new(
    region: credentials.region,
    credentials: credentials.credentials
  )
end

Public Instance Methods

list_all_apis() click to toggle source
# File lib/aws_log_cleaner/api_gateway.rb, line 15
def list_all_apis
  @rest_apis = get_rest_apis if @rest_apis.nil?
  @rest_apis
end

Private Instance Methods

get_rest_apis() click to toggle source
# File lib/aws_log_cleaner/api_gateway.rb, line 22
def get_rest_apis
  Enumerator.new do |enum|
    request = { limit: 25 }
    loop do
      response = @api_client.get_rest_apis(request)
      response.items.each do |item|
        enum.yield item
      end
      break if response.position.nil?
      request[:position] = response.position
    end
  end
end