From b2b7d1c7de58af73982a15d2e25ae782f45cf9e1 Mon Sep 17 00:00:00 2001 From: commiterate <111539270+commiterate@users.noreply.github.com> Date: Wed, 5 Feb 2025 18:38:51 -0500 Subject: [PATCH] nixos/amazon-cloudwatch-agent: condense module options --- .../monitoring/amazon-cloudwatch-agent.nix | 24 +++++++------------ 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/nixos/modules/services/monitoring/amazon-cloudwatch-agent.nix b/nixos/modules/services/monitoring/amazon-cloudwatch-agent.nix index c6f64b3754a6..d8855e1b9b2e 100644 --- a/nixos/modules/services/monitoring/amazon-cloudwatch-agent.nix +++ b/nixos/modules/services/monitoring/amazon-cloudwatch-agent.nix @@ -10,16 +10,6 @@ let tomlFormat = pkgs.formats.toml { }; jsonFormat = pkgs.formats.json { }; - commonConfigurationFile = - if (cfg.commonConfigurationFile == null) then - (tomlFormat.generate "common-config.toml" cfg.commonConfiguration) - else - cfg.commonConfigurationFile; - configurationFile = - if (cfg.configurationFile == null) then - (jsonFormat.generate "amazon-cloudwatch-agent.json" cfg.configuration) - else - cfg.configurationFile; # See https://docs.aws.amazon.com/prescriptive-guidance/latest/implementing-logging-monitoring-cloudwatch/create-store-cloudwatch-configurations.html#store-cloudwatch-configuration-s3. # # We don't use the multiple JSON configuration files feature, @@ -33,8 +23,9 @@ in enable = lib.mkEnableOption "Amazon CloudWatch Agent"; package = lib.mkPackageOption pkgs "amazon-cloudwatch-agent" { }; commonConfigurationFile = lib.mkOption { - type = lib.types.nullOr lib.types.path; - default = null; + type = lib.types.path; + default = tomlFormat.generate "common-config.toml" cfg.commonConfiguration; + defaultText = lib.literalExpression ''tomlFormat.generate "common-config.toml" cfg.commonConfiguration''; description = '' Amazon CloudWatch Agent common configuration. See @@ -70,8 +61,9 @@ in }; }; configurationFile = lib.mkOption { - type = lib.types.nullOr lib.types.path; - default = null; + type = lib.types.path; + default = jsonFormat.generate "amazon-cloudwatch-agent.json" cfg.configuration; + defaultText = lib.literalExpression ''jsonFormat.generate "amazon-cloudwatch-agent.json" cfg.configuration''; description = '' Amazon CloudWatch Agent configuration file. See @@ -200,8 +192,8 @@ in LogsDirectory = "amazon-cloudwatch-agent"; ExecStartPre = builtins.concatStringsSep " " [ "${cfg.package}/bin/config-translator" - "-config ${commonConfigurationFile}" - "-input ${configurationFile}" + "-config ${cfg.commonConfigurationFile}" + "-input ${cfg.configurationFile}" "-input-dir ${configurationDirectory}" "-mode ${cfg.mode}" "-output \${RUNTIME_DIRECTORY}/amazon-cloudwatch-agent.toml"