* allow multi_az to be unmodified if not explicitly specified * fix pep8 and remove from legacy files
This commit is contained in:
parent
fb6e9e8fbe
commit
ad8cb903f4
2 changed files with 73 additions and 75 deletions
|
@ -340,7 +340,7 @@ try:
|
|||
except ImportError:
|
||||
has_rds2 = False
|
||||
|
||||
DEFAULT_PORTS= {
|
||||
DEFAULT_PORTS = {
|
||||
'aurora': 3306,
|
||||
'mariadb': 3306,
|
||||
'mysql': 3306,
|
||||
|
@ -349,6 +349,7 @@ DEFAULT_PORTS= {
|
|||
'postgres': 5432,
|
||||
}
|
||||
|
||||
|
||||
class RDSException(Exception):
|
||||
def __init__(self, exc):
|
||||
if hasattr(exc, 'error_message') and exc.error_message:
|
||||
|
@ -365,7 +366,7 @@ class RDSException(Exception):
|
|||
class RDSConnection:
|
||||
def __init__(self, module, region, **aws_connect_params):
|
||||
try:
|
||||
self.connection = connect_to_aws(boto.rds, region, **aws_connect_params)
|
||||
self.connection = connect_to_aws(boto.rds, region, **aws_connect_params)
|
||||
except boto.exception.BotoServerError as e:
|
||||
module.fail_json(msg=e.error_message)
|
||||
|
||||
|
@ -382,11 +383,11 @@ class RDSConnection:
|
|||
return None
|
||||
|
||||
def create_db_instance(self, instance_name, size, instance_class, db_engine,
|
||||
username, password, **params):
|
||||
username, password, **params):
|
||||
params['engine'] = db_engine
|
||||
try:
|
||||
result = self.connection.create_dbinstance(instance_name, size, instance_class,
|
||||
username, password, **params)
|
||||
username, password, **params)
|
||||
return RDSDBInstance(result)
|
||||
except boto.exception.BotoServerError as e:
|
||||
raise RDSException(e)
|
||||
|
@ -451,7 +452,7 @@ class RDSConnection:
|
|||
class RDS2Connection:
|
||||
def __init__(self, module, region, **aws_connect_params):
|
||||
try:
|
||||
self.connection = connect_to_aws(boto.rds2, region, **aws_connect_params)
|
||||
self.connection = connect_to_aws(boto.rds2, region, **aws_connect_params)
|
||||
except boto.exception.BotoServerError as e:
|
||||
module.fail_json(msg=e.error_message)
|
||||
|
||||
|
@ -460,7 +461,7 @@ class RDS2Connection:
|
|||
dbinstances = self.connection.describe_db_instances(
|
||||
db_instance_identifier=instancename
|
||||
)['DescribeDBInstancesResponse']['DescribeDBInstancesResult']['DBInstances']
|
||||
result = RDS2DBInstance(dbinstances[0])
|
||||
result = RDS2DBInstance(dbinstances[0])
|
||||
return result
|
||||
except boto.rds2.exceptions.DBInstanceNotFound as e:
|
||||
return None
|
||||
|
@ -479,10 +480,10 @@ class RDS2Connection:
|
|||
return None
|
||||
|
||||
def create_db_instance(self, instance_name, size, instance_class, db_engine,
|
||||
username, password, **params):
|
||||
username, password, **params):
|
||||
try:
|
||||
result = self.connection.create_db_instance(instance_name, size, instance_class,
|
||||
db_engine, username, password, **params)['CreateDBInstanceResponse']['CreateDBInstanceResult']['DBInstance']
|
||||
result = self.connection.create_db_instance(instance_name, size, instance_class, db_engine, username, password,
|
||||
**params)['CreateDBInstanceResponse']['CreateDBInstanceResult']['DBInstance']
|
||||
return RDS2DBInstance(result)
|
||||
except boto.exception.BotoServerError as e:
|
||||
raise RDSException(e)
|
||||
|
@ -560,18 +561,18 @@ class RDSDBInstance:
|
|||
|
||||
def get_data(self):
|
||||
d = {
|
||||
'id' : self.name,
|
||||
'create_time' : self.instance.create_time,
|
||||
'status' : self.status,
|
||||
'availability_zone' : self.instance.availability_zone,
|
||||
'backup_retention' : self.instance.backup_retention_period,
|
||||
'backup_window' : self.instance.preferred_backup_window,
|
||||
'maintenance_window' : self.instance.preferred_maintenance_window,
|
||||
'multi_zone' : self.instance.multi_az,
|
||||
'instance_type' : self.instance.instance_class,
|
||||
'username' : self.instance.master_username,
|
||||
'iops' : self.instance.iops
|
||||
}
|
||||
'id': self.name,
|
||||
'create_time': self.instance.create_time,
|
||||
'status': self.status,
|
||||
'availability_zone': self.instance.availability_zone,
|
||||
'backup_retention': self.instance.backup_retention_period,
|
||||
'backup_window': self.instance.preferred_backup_window,
|
||||
'maintenance_window': self.instance.preferred_maintenance_window,
|
||||
'multi_zone': self.instance.multi_az,
|
||||
'instance_type': self.instance.instance_class,
|
||||
'username': self.instance.master_username,
|
||||
'iops': self.instance.iops
|
||||
}
|
||||
|
||||
# Only assign an Endpoint if one is available
|
||||
if hasattr(self.instance, 'endpoint'):
|
||||
|
@ -594,8 +595,6 @@ class RDSDBInstance:
|
|||
return d
|
||||
|
||||
|
||||
|
||||
|
||||
class RDS2DBInstance:
|
||||
def __init__(self, dbinstance):
|
||||
self.instance = dbinstance
|
||||
|
@ -639,12 +638,12 @@ class RDSSnapshot:
|
|||
|
||||
def get_data(self):
|
||||
d = {
|
||||
'id' : self.name,
|
||||
'create_time' : self.snapshot.snapshot_create_time,
|
||||
'status' : self.status,
|
||||
'availability_zone' : self.snapshot.availability_zone,
|
||||
'instance_id' : self.snapshot.instance_id,
|
||||
'instance_created' : self.snapshot.instance_create_time,
|
||||
'id': self.name,
|
||||
'create_time': self.snapshot.snapshot_create_time,
|
||||
'status': self.status,
|
||||
'availability_zone': self.snapshot.availability_zone,
|
||||
'instance_id': self.snapshot.instance_id,
|
||||
'instance_created': self.snapshot.instance_create_time,
|
||||
}
|
||||
# needs boto >= 2.21.0
|
||||
if hasattr(self.snapshot, 'snapshot_type'):
|
||||
|
@ -665,14 +664,14 @@ class RDS2Snapshot:
|
|||
|
||||
def get_data(self):
|
||||
d = {
|
||||
'id' : self.name,
|
||||
'create_time' : self.snapshot['SnapshotCreateTime'],
|
||||
'status' : self.status,
|
||||
'availability_zone' : self.snapshot['AvailabilityZone'],
|
||||
'instance_id' : self.snapshot['DBInstanceIdentifier'],
|
||||
'instance_created' : self.snapshot['InstanceCreateTime'],
|
||||
'snapshot_type' : self.snapshot['SnapshotType'],
|
||||
'iops' : self.snapshot['Iops'],
|
||||
'id': self.name,
|
||||
'create_time': self.snapshot['SnapshotCreateTime'],
|
||||
'status': self.status,
|
||||
'availability_zone': self.snapshot['AvailabilityZone'],
|
||||
'instance_id': self.snapshot['DBInstanceIdentifier'],
|
||||
'instance_created': self.snapshot['InstanceCreateTime'],
|
||||
'snapshot_type': self.snapshot['SnapshotType'],
|
||||
'iops': self.snapshot['Iops'],
|
||||
}
|
||||
return d
|
||||
|
||||
|
@ -712,7 +711,7 @@ def create_db_instance(module, conn):
|
|||
valid_vars = ['backup_retention', 'backup_window',
|
||||
'character_set_name', 'db_name', 'engine_version',
|
||||
'instance_type', 'iops', 'license_model', 'maint_window',
|
||||
'multi_zone', 'option_group', 'parameter_group','port',
|
||||
'multi_zone', 'option_group', 'parameter_group', 'port',
|
||||
'subnet', 'upgrade', 'zone']
|
||||
if module.params.get('subnet'):
|
||||
valid_vars.append('vpc_security_groups')
|
||||
|
@ -729,8 +728,8 @@ def create_db_instance(module, conn):
|
|||
else:
|
||||
try:
|
||||
result = conn.create_db_instance(instance_name, module.params.get('size'),
|
||||
module.params.get('instance_type'), module.params.get('db_engine'),
|
||||
module.params.get('username'), module.params.get('password'), **params)
|
||||
module.params.get('instance_type'), module.params.get('db_engine'),
|
||||
module.params.get('username'), module.params.get('password'), **params)
|
||||
changed = True
|
||||
except RDSException as e:
|
||||
module.fail_json(msg="Failed to create instance: %s" % e.message)
|
||||
|
@ -1068,40 +1067,40 @@ def validate_parameters(required_vars, valid_vars, module):
|
|||
def main():
|
||||
argument_spec = ec2_argument_spec()
|
||||
argument_spec.update(dict(
|
||||
command = dict(choices=['create', 'replicate', 'delete', 'facts', 'modify', 'promote', 'snapshot', 'reboot', 'restore'], required=True),
|
||||
instance_name = dict(required=False),
|
||||
source_instance = dict(required=False),
|
||||
db_engine = dict(choices=['mariadb', 'MySQL', 'oracle-se1', 'oracle-se', 'oracle-ee', 'sqlserver-ee', 'sqlserver-se', 'sqlserver-ex',
|
||||
'sqlserver-web', 'postgres', 'aurora'], required=False),
|
||||
size = dict(required=False),
|
||||
instance_type = dict(aliases=['type'], required=False),
|
||||
username = dict(required=False),
|
||||
password = dict(no_log=True, required=False),
|
||||
db_name = dict(required=False),
|
||||
engine_version = dict(required=False),
|
||||
parameter_group = dict(required=False),
|
||||
license_model = dict(choices=['license-included', 'bring-your-own-license', 'general-public-license', 'postgresql-license'], required=False),
|
||||
multi_zone = dict(type='bool', default=False),
|
||||
iops = dict(required=False),
|
||||
security_groups = dict(required=False),
|
||||
vpc_security_groups = dict(type='list', required=False),
|
||||
port = dict(required=False),
|
||||
upgrade = dict(type='bool', default=False),
|
||||
option_group = dict(required=False),
|
||||
maint_window = dict(required=False),
|
||||
backup_window = dict(required=False),
|
||||
backup_retention = dict(required=False),
|
||||
zone = dict(aliases=['aws_zone', 'ec2_zone'], required=False),
|
||||
subnet = dict(required=False),
|
||||
wait = dict(type='bool', default=False),
|
||||
wait_timeout = dict(type='int', default=300),
|
||||
snapshot = dict(required=False),
|
||||
apply_immediately = dict(type='bool', default=False),
|
||||
new_instance_name = dict(required=False),
|
||||
tags = dict(type='dict', required=False),
|
||||
publicly_accessible = dict(required=False),
|
||||
character_set_name = dict(required=False),
|
||||
force_failover = dict(type='bool', required=False, default=False)
|
||||
command=dict(choices=['create', 'replicate', 'delete', 'facts', 'modify', 'promote', 'snapshot', 'reboot', 'restore'], required=True),
|
||||
instance_name=dict(required=False),
|
||||
source_instance=dict(required=False),
|
||||
db_engine=dict(choices=['mariadb', 'MySQL', 'oracle-se1', 'oracle-se', 'oracle-ee', 'sqlserver-ee', 'sqlserver-se', 'sqlserver-ex',
|
||||
'sqlserver-web', 'postgres', 'aurora'], required=False),
|
||||
size=dict(required=False),
|
||||
instance_type=dict(aliases=['type'], required=False),
|
||||
username=dict(required=False),
|
||||
password=dict(no_log=True, required=False),
|
||||
db_name=dict(required=False),
|
||||
engine_version=dict(required=False),
|
||||
parameter_group=dict(required=False),
|
||||
license_model=dict(choices=['license-included', 'bring-your-own-license', 'general-public-license', 'postgresql-license'], required=False),
|
||||
multi_zone=dict(type='bool', required=False),
|
||||
iops=dict(required=False),
|
||||
security_groups=dict(required=False),
|
||||
vpc_security_groups=dict(type='list', required=False),
|
||||
port=dict(required=False),
|
||||
upgrade=dict(type='bool', default=False),
|
||||
option_group=dict(required=False),
|
||||
maint_window=dict(required=False),
|
||||
backup_window=dict(required=False),
|
||||
backup_retention=dict(required=False),
|
||||
zone=dict(aliases=['aws_zone', 'ec2_zone'], required=False),
|
||||
subnet=dict(required=False),
|
||||
wait=dict(type='bool', default=False),
|
||||
wait_timeout=dict(type='int', default=300),
|
||||
snapshot=dict(required=False),
|
||||
apply_immediately=dict(type='bool', default=False),
|
||||
new_instance_name=dict(required=False),
|
||||
tags=dict(type='dict', required=False),
|
||||
publicly_accessible=dict(required=False),
|
||||
character_set_name=dict(required=False),
|
||||
force_failover=dict(type='bool', required=False, default=False)
|
||||
)
|
||||
)
|
||||
|
||||
|
|
|
@ -198,7 +198,6 @@ lib/ansible/modules/cloud/amazon/iam_policy.py
|
|||
lib/ansible/modules/cloud/amazon/iam_server_certificate_facts.py
|
||||
lib/ansible/modules/cloud/amazon/lambda.py
|
||||
lib/ansible/modules/cloud/amazon/lambda_facts.py
|
||||
lib/ansible/modules/cloud/amazon/rds.py
|
||||
lib/ansible/modules/cloud/amazon/rds_param_group.py
|
||||
lib/ansible/modules/cloud/amazon/rds_subnet_group.py
|
||||
lib/ansible/modules/cloud/amazon/redshift.py
|
||||
|
|
Loading…
Reference in a new issue