def modify_rds_instance_security_ip_list()

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