mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-07-22 21:00:22 -07:00
Fail softly when boto3 is not installed
Updated as per @ryansb comments. The EC2 inventory script will now fail with a useful message when boto3 is not installed and the user is trying to read RDS cluster information.
This commit is contained in:
parent
bb5a1f7440
commit
418f91d0e2
1 changed files with 11 additions and 2 deletions
|
@ -130,7 +130,13 @@ from boto import rds
|
||||||
from boto import elasticache
|
from boto import elasticache
|
||||||
from boto import route53
|
from boto import route53
|
||||||
import six
|
import six
|
||||||
import boto3
|
|
||||||
|
HAS_BOTO3 = False
|
||||||
|
try:
|
||||||
|
import boto3
|
||||||
|
HAS_BOTO3 = True
|
||||||
|
except ImportError:
|
||||||
|
pass
|
||||||
|
|
||||||
from six.moves import configparser
|
from six.moves import configparser
|
||||||
from collections import defaultdict
|
from collections import defaultdict
|
||||||
|
@ -584,7 +590,10 @@ class Ec2Inventory(object):
|
||||||
self.fail_with_error(error, 'getting RDS instances')
|
self.fail_with_error(error, 'getting RDS instances')
|
||||||
|
|
||||||
def include_rds_clusters_by_region(self, region):
|
def include_rds_clusters_by_region(self, region):
|
||||||
client = boto3.client('rds', region_name=region)
|
if not HAS_BOTO3:
|
||||||
|
module.fail_json(message="This module requires boto3 be installed - please install boto3 and try again")
|
||||||
|
|
||||||
|
client = self.connect_to_aws(rds, region)
|
||||||
clusters = client.describe_db_clusters()["DBClusters"]
|
clusters = client.describe_db_clusters()["DBClusters"]
|
||||||
account_id = boto.connect_iam().get_user().arn.split(':')[4]
|
account_id = boto.connect_iam().get_user().arn.split(':')[4]
|
||||||
c_dict = {}
|
c_dict = {}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue