in automation/lambda/handlers/index.py [0:0]
def prepare_log_config(event):
resource_properties = event['ResourceProperties']
log_type = resource_properties.get("LogType")
if log_type:
log_type = log_type.lower()
region = resource_properties.get("RegionName")
cluster_id = resource_properties.get("EMRClusterId")
topic = resource_properties.get("Topic")
source_code_bucket = resource_properties.get("SourceCodeBucket")
if resource_properties.get('ESSecretName'):
resource_properties[
'ESUsername'] = '${' + f'{resource_properties.get("ESSecretName")}|{region}|{"username"}' + '}'
resource_properties[
'ESPassword'] = '${' + f'{resource_properties.get("ESSecretName")}|{region}|{"password"}' + '}'
source_code_prefix = resource_properties.get("SourceCodePrefix")
log_config_schema = None
log_config = get_config_template_from_s3(source_code_bucket,
f'{source_code_prefix}/config/{log_type}/{log_type}.json')
try:
log_config_schema = get_config_template_from_s3(source_code_bucket,
f'{source_code_prefix}/config/{log_type}/{log_type}schema.json')
except:
logger.info(f"Schema not found for {log_type}")
log_config["schema"] = log_config_schema
log_config["region"] = region
log_config["cluster_id"] = cluster_id
log_config["topic"] = topic
log_config = fill_config(log_config, resource_properties)
logger.info(log_config)
return log_config