def prepare_log_config()

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