in configurations/RedshiftConfigTestingLambda.py [0:0]
def update_parameter_group(client, parameter_group_name, parameter_group_config_s3_path):
target_parameter_group = client.describe_cluster_parameters(ParameterGroupName=parameter_group_name)["Parameters"]
target_parameters = {}
for i in target_parameter_group:
target_parameters[i['ParameterName']] = i['ParameterValue']
source_parameter_group = get_json_config_from_s3(parameter_group_config_s3_path)["Parameters"]
modified_parameter_group = []
for i in source_parameter_group:
source_parameter_value = i['ParameterValue'].replace(" ", "")
target_parameter_value = target_parameters[i['ParameterName']].replace(" ", "")
if source_parameter_value != target_parameter_value:
modified_parameter_group.append(i)
if modified_parameter_group:
client.modify_cluster_parameter_group(
ParameterGroupName=parameter_group_name,
Parameters=modified_parameter_group)
return "Initiated"