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