Sha256: cbe39747298db00d9e42535310881d81d062478f13e79f7a7a91929a8a4d2338
Contents?: true
Size: 1.21 KB
Versions: 1
Compression:
Stored size: 1.21 KB
Contents
module AwsClient class RdsWrapper < AwsClient::Wrapper def instance_by_database_name(database_name, is_master = true) selector = is_master ? :last : :first ## hacky - we need a much better way of targetting rds instances. return all_instances.select{|db_instance| db_instance.db_name == database_name }.send(selector) end def instance_data_by_vpc_id(vpc_id) return all_instances.select{|instance| instance.db_subnet_group.vpc_id = vpc_id } end def instance_endpoint(instance) return "UNDEFINED" if instance.nil? return instance.endpoint.address end def instance_endpoint_for_named_database(database_name, is_master = true) instance = instance_by_database_name(database_name, is_master) return instance_endpoint(instance) end def all_instances @all_instances ||= get_all_instances.collect{|raw_instance| raw_instance.db_instances.flatten }.flatten end def get_all_instances all_instances = [] pages = client.describe_db_instances all_instances << pages.data while pages.next_page? pages = pages.next_page @all_instances << pages.data end return all_instances end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
aws_client-0.1.1 | lib/rds_wrapper.rb |