in footmark/rds/connection.py [0:0]
def modify_rds_instance_security_ip_list(self, instance_id, security_ip_list, db_instance_ip_array_name=None,
db_instance_ip_array_attribute=None):
"""
Modify RDS Instance Security Ip List
:type instance_id: string
:param instance_id: Id of instances to change
:type security_ip_list: list
:param security_ip_list: List of IP addresses allowed to access all databases of an instance.
:type db_instance_ip_array_name: string
:param db_instance_ip_array_name: Name of an IP address white list array
:type db_instance_ip_array_attribute: string
:param db_instance_ip_array_attribute: This parameter differentiates attribute values
:return:
changed: If security ip list is modified successfully. the changed para will be set to True else
False
result: detailed server response
"""
params = {}
results = []
changed = False
if instance_id:
self.build_list_params(params, instance_id, 'DBInstanceId')
if security_ip_list:
self.build_list_params(params, security_ip_list, 'SecurityIps')
if db_instance_ip_array_name:
self.build_list_params(params, db_instance_ip_array_name, 'DBInstanceIPArrayName')
if db_instance_ip_array_attribute:
self.build_list_params(params, db_instance_ip_array_attribute, 'DBInstanceIPArrayAttribute')
try:
results = self.get_status('ModifySecurityIps', params)
changed = True
except Exception as ex:
if (ex.args is None) or (ex.args == "need more than 2 values to unpack") \
or (ex.message == "need more than 2 values to unpack") or ex.error_code is None:
results.append({"Error Message": "The API is showing None error code and error "
"message modifying security ip list"})
else:
error_code = ex.error_code
error_msg = ex.message
results.append("Failed to modify security ip list with error code " + error_code +
" and message: " + error_msg)
return changed, results