lib/aws_recon/collectors/glue.rb in aws_recon-0.5.27 vs lib/aws_recon/collectors/glue.rb in aws_recon-0.5.28

- old
+ new

@@ -2,96 +2,115 @@ # # Collect Glue resources # class Glue < Mapper + # + # Returns an array of resources. + # + def collect + resources = [] # - # Returns an array of resources. + # get_data_catalog_encryption_settings # - 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) + @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 + 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_security_configurations - # - @client.get_security_configurations.each_with_index do | response, page | - log(response.context.operation_name, page) + # + # get_databases + # + @client.get_databases.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 + response.database_list.each do |database| + struct = OpenStruct.new(database.to_h) + struct.type = 'database' + struct.arn = "arn:aws:glue:#{@region}:#{@account}:database/#{database.name}" - # - # get_jobs - # - @client.get_jobs.each_with_index do | response, page | - log(response.context.operation_name, page) + # + # get_tables + # + tables = @client.get_tables({ database_name: database.name }) + struct.tables = tables.to_h - 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 + 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) + # + # get_jobs + # + @client.get_jobs.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 + 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_crawlers - # - @client.get_crawlers.each_with_index do | response, page | - log(response.context.operation_name, page) + # + # get_dev_endpoints + # + @client.get_dev_endpoints.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 + 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_connections - # - @client.get_connections.each_with_index do | response, page | - log(response.context.operation_name, page) + # + # get_crawlers + # + @client.get_crawlers.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 + 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 - resources 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 - \ No newline at end of file