# frozen_string_literal: true # # Collect Glue resources # class Glue < Mapper # # Returns an array of resources. # def collect resources = [] # # get_data_catalog_encryption_settings # @client.get_data_catalog_encryption_settings.each_with_index do | response, page| log(response.context.operation_name, page) struct = OpenStruct.new(response.to_h) struct.type = 'catalog_encryption_settings' struct.arn = "arn:aws:glue:#{@region}:#{@account}:data-catalog-encryption-settings" # no true ARN resources.push(struct.to_h) end # # get_security_configurations # @client.get_security_configurations.each_with_index do | response, page | log(response.context.operation_name, page) response.security_configurations.each do | security_configuration | struct = OpenStruct.new(security_configuration.to_h) struct.type = 'security_configuration' struct.arn = "arn:aws:glue:#{@region}:#{@account}:security-configuration/#{security_configuration.name}" # no true ARN resources.push(struct.to_h) end end # # get_jobs # @client.get_jobs.each_with_index do | response, page | log(response.context.operation_name, page) response.jobs.each do | job | struct = OpenStruct.new(job.to_h) struct.type = 'job' struct.arn = "arn:aws:glue:#{@region}:#{@account}:job/#{job.name}" resources.push(struct.to_h) end end # # get_dev_endpoints # @client.get_dev_endpoints.each_with_index do | response, page | log(response.context.operation_name, page) response.dev_endpoints.each do | dev_endpoint | struct = OpenStruct.new(dev_endpoint.to_h) struct.type = 'dev_endpoint' struct.arn = "arn:aws:glue:#{@region}:#{@account}:devEndpoint/#{dev_endpoint.endpoint_name}" resources.push(struct.to_h) end end # # get_crawlers # @client.get_crawlers.each_with_index do | response, page | log(response.context.operation_name, page) response.crawlers.each do | crawler | struct = OpenStruct.new(crawler.to_h) struct.type = 'crawler' struct.arn = "arn:aws:glue:#{@region}:#{@account}:crawler/#{crawler.name}" resources.push(struct.to_h) end end # # get_connections # @client.get_connections.each_with_index do | response, page | log(response.context.operation_name, page) response.connection_list.each do | connection | struct = OpenStruct.new(connection.to_h) struct.type = 'connection' struct.arn = "arn:aws:glue:#{@region}:#{@account}:connection/#{connection.name}" resources.push(struct.to_h) end end resources end end