Module: Furikake::Resources::Rds
- Defined in:
- lib/furikake/resources/rds.rb
Class Method Summary collapse
Class Method Details
.get_resources ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/furikake/resources/rds.rb', line 26 def get_resources rds = Aws::RDS::Client.new rds_infos = [] rds.describe_db_instances.db_instances.map(&:to_h).each do |i| instance = [] instance << i[:db_cluster_identifier] instance << i[:db_instance_identifier] instance << i[:db_instance_class] instance << i[:engine] instance << i[:endpoint][:address] rds_infos << instance end cluster_infos = [] rds.describe_db_clusters.db_clusters.map(&:to_h).each do |c| cluster = [] cluster << c[:db_cluster_identifier] cluster << c[:endpoint] cluster << c[:reader_endpoint] cluster << (c[:db_cluster_members].map {|m| m[:is_cluster_writer] ? m[:db_instance_identifier] + '(W)' : m[:db_instance_identifier] + '(R)'}).join(', ') cluster_infos << cluster end return rds_infos, cluster_infos end |
.report(format = nil) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/furikake/resources/rds.rb', line 4 def report(format = nil) instance, cluster = get_resources contents = { title: 'RDS', resources: [ { subtitle: 'DB Instances', header: ['DB Cluster Name', 'DB Instance Name', 'DB Instance Class', 'DB Engine', 'DB Endpoint'], resource: instance }, { subtitle: 'DB Clusters', header: ['DB Cluster Name', 'Cluster Endpoint', 'Cluster Reader Endpoint', 'Cluster Members'], resource: cluster } ] } Furikake::Formatter.shaping(format, contents).chomp end |