anchor.diff:            for the available filters.
           '';
         };
  +
         value = mkOption {
           type = types.listOf types.str;
           default = [];
  
positive.code:           and formats.
          '';
        };
        refresh_interval = mkOption {
          type = types.nullOr types.str;
          default = null;
          description = ''
            Refresh interval to re-read the files.
          '';
        };
      };
    };
  
    promTypes.relabel_config = types.submodule {
      options = {
        source_labels = mkOption {
          type = types.nullOr (types.listOf str);
          default = null;
          description = ''
            The source labels select values from existing labels. Their content
            is concatenated using the configured separator and matched against
            the configured regular expression.
          '';
        };
        separator = mkOption {
          type = types.nullOr types.str;
          default = null;
          description = ''
            Separator placed between concatenated source label values.
          '';
        };
        target_label = mkOption {
          type = types.nullOr types.str;
          default = null;
          description = ''
            Label to which the resulting value is written in a replace action.
            It is mandatory for replace actions.
          '';
        };
        regex = mkOption {
          type = types.nullOr types.str;
          default = null;
          description = ''
            Regular expression against which the extracted value is matched.
          '';
        };
        replacement = mkOption {
          type = types.nullOr types.str;
          default = null;
          description = ''
            Replacement value against which a regex replace is performed if the
            regular expression matches.
          '';
        };
        action = mkOption {
          type = types.nullOr (types.enum ["replace" "keep" "drop"]);
          default = null;
          description = ''
            Action to perform based on regex matching.
          '';
        };
      };
    };
  
    promTypes.tls_config = types.submodule {
      options = {
        ca_file = mkOption {
          type = types.nullOr types.str;
          default = null;
          description = ''
            CA certificate to validate API server certificate with.
          '';
        };
        cert_file = mkOption {
          type = types.nullOr types.str;
          default = null;
          description = ''
            Certificate file for client cert authentication to the server.
          '';
        };
        key_file = mkOption {
          type = types.nullOr types.str;
          default = null;
          description = ''
            Key file for client cert authentication to the server.
          '';
        };
        server_name = mkOption {
          type = types.nullOr types.str;
          default = null;
          description = ''
            ServerName extension to indicate the name of the server.
            http://tools.ietf.org/html/rfc4366#section-3.1
          '';
        };
        insecure_skip_verify = mkOption {
          type = types.bool;
          default = false;
          description = ''
            Disable validation of the server certificate.
          '';
        };
      };
    };
  
  
negative.code:           A list of DNS SRV record names to be queried.
          '';
        };
  
        refresh_interval = mkDefOpt types.str "30s" ''
          The time after which the provided names are refreshed.
        '';
      };
    };
  
    promTypes.consul_sd_config = types.submodule {
      options = {
        server = mkDefOpt types.str "localhost:8500" ''
          Consul server to query.
        '';
  
        token = mkOpt types.str "Consul token";
  
        datacenter = mkOpt types.str "Consul datacenter";
  
        scheme = mkDefOpt types.str "http" "Consul scheme";
  
        username = mkOpt types.str "Consul username";
  
        password = mkOpt types.str "Consul password";
  
        services = mkOpt (types.listOf types.str) ''
          A list of services for which targets are retrieved.
        '';
  
        tag_separator = mkDefOpt types.str "," ''
          The string by which Consul tags are joined into the tag label.
        '';
      };
    };
  
  