require 'aws-sdk' Aws.use_bundled_cert! module AwsLogCleaner # Class responsible for interacting with the Aws # ApiGatewayClient class ApiGateway def initialize(credentials) @api_client = Aws::APIGateway::Client.new( region: credentials.region, credentials: credentials.credentials ) end def list_all_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 end end