|
|
@ -623,6 +623,13 @@ class Ec2Inventory(object):
|
|
|
|
''' Makes an AWS API call to the list of RDS instances in a particular
|
|
|
|
''' Makes an AWS API call to the list of RDS instances in a particular
|
|
|
|
region '''
|
|
|
|
region '''
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if not HAS_BOTO3:
|
|
|
|
|
|
|
|
self.fail_with_error("Working with RDS instances requires boto3 - please install boto3 and try again",
|
|
|
|
|
|
|
|
"getting RDS instances")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
client = ec2_utils.boto3_inventory_conn('client', 'rds', region, **self.credentials)
|
|
|
|
|
|
|
|
db_instances = client.describe_db_instances()
|
|
|
|
|
|
|
|
|
|
|
|
try:
|
|
|
|
try:
|
|
|
|
conn = self.connect_to_aws(rds, region)
|
|
|
|
conn = self.connect_to_aws(rds, region)
|
|
|
|
if conn:
|
|
|
|
if conn:
|
|
|
@ -630,7 +637,14 @@ class Ec2Inventory(object):
|
|
|
|
while True:
|
|
|
|
while True:
|
|
|
|
instances = conn.get_all_dbinstances(marker=marker)
|
|
|
|
instances = conn.get_all_dbinstances(marker=marker)
|
|
|
|
marker = instances.marker
|
|
|
|
marker = instances.marker
|
|
|
|
for instance in instances:
|
|
|
|
for index, instance in enumerate(instances):
|
|
|
|
|
|
|
|
# Add tags to instances.
|
|
|
|
|
|
|
|
instance.arn = db_instances['DBInstances'][index]['DBInstanceArn']
|
|
|
|
|
|
|
|
tags = client.list_tags_for_resource(ResourceName=instance.arn)['TagList']
|
|
|
|
|
|
|
|
instance.tags = {}
|
|
|
|
|
|
|
|
for tag in tags:
|
|
|
|
|
|
|
|
instance.tags[tag['Key']] = tag['Value']
|
|
|
|
|
|
|
|
|
|
|
|
self.add_rds_instance(instance, region)
|
|
|
|
self.add_rds_instance(instance, region)
|
|
|
|
if not marker:
|
|
|
|
if not marker:
|
|
|
|
break
|
|
|
|
break
|
|
|
|