def add_scheduler_plugin_log()

in cookbooks/aws-parallelcluster-config/files/default/cloudwatch_agent/write_cloudwatch_agent_json.py [0:0]


def add_scheduler_plugin_log(config_data, cluster_config_path):
    """Add custom log files to config data if log files specified in scheduler plugin."""
    cluster_config = load_config(cluster_config_path)
    if (
        get_dict_value(cluster_config, "Scheduling.SchedulerSettings.SchedulerDefinition.Monitoring.Logs.Files")
        and get_dict_value(cluster_config, "Scheduling.Scheduler") == "plugin"
    ):
        log_files = get_dict_value(
            cluster_config, "Scheduling.SchedulerSettings.SchedulerDefinition.Monitoring.Logs.Files"
        )
        for log_file in log_files:
            # Add log config
            log_config = {
                "timestamp_format_key": log_file.get("LogStreamName"),
                "file_path": log_file.get("FilePath"),
                "log_stream_name": log_file.get("LogStreamName"),
                "schedulers": ["plugin"],
                "platforms": ["centos", "ubuntu", "amazon"],
                "node_roles": get_node_roles(log_file.get("NodeType")),
                "feature_conditions": [],
            }
            config_data["log_configs"].append(log_config)

            # Add timestamp formats
            config_data["timestamp_formats"][log_file.get("LogStreamName")] = log_file.get("TimestampFormat")
    return config_data