anchor.diff:          '';
         };
         dns_sd_configs = mkOption {
  -        type = types.listOf promTypes.dns_sd_config;
  -        default = [];
  +        type = types.nullOr (types.listOf promTypes.dns_sd_config);
  +        default = null;
           description = ''
             List of DNS service discovery configurations.
           '';
         };
         consul_sd_configs = mkOption {
  -        type = types.listOf promTypes.consul_sd_config;
  -        default = [];
  +        type = types.nullOr (types.listOf promTypes.consul_sd_config);
  +        default = null;
           description = ''
             List of Consul service discovery configurations.
           '';
         };
         file_sd_configs = mkOption {
  -        type = types.listOf promTypes.file_sd_config;
  -        default = [];
  +        type = types.nullOr (types.listOf promTypes.file_sd_config);
  +        default = null;
           description = ''
             List of file service discovery configurations.
           '';
         };
         static_configs = mkOption {
  -        type = types.listOf promTypes.static_config;
  -        default = [];
  +        type = types.nullOr (types.listOf promTypes.static_config);
  +        default = null;
           description = ''
             List of labeled target groups for this job.
           '';
         };
         ec2_sd_configs = mkOption {
  -        type = types.listOf promTypes.ec2_sd_config;
  -        default = [];
  +        type = types.nullOr (types.listOf promTypes.ec2_sd_config);
  +        default = null;
           description = ''
             List of EC2 service discovery configurations.
           '';
         };
         relabel_configs = mkOption {
  -        type = types.listOf promTypes.relabel_config;
  -        default = [];
  +        type = types.nullOr (types.listOf promTypes.relabel_config);
  +        default = null;
           description = ''
             List of relabel configurations.
           '';
  
positive.code:           Patterns for files from which target groups are extracted. Refer
            to the Prometheus documentation for permitted filename patterns
            and formats.
  
          '';
        };
        refresh_interval = mkOption {
          type = types.str;
          default = "30s";
          description = ''
            Refresh interval to re-read the files.
          '';
  
negative.code:         '';
        };
        scheme = mkOption {
          type = types.nullOr (types.enum ["http" "https"]);
          default = null;
          description = ''
            The URL scheme with which to fetch metrics from targets.
          '';
        };
        params = mkOption {
          type = types.nullOr (types.attrsOf (types.listOf types.str));
          default = null;
          description = ''
            Optional HTTP URL parameters.
          '';
  