{
  "description": "ScrapeConfig defines a namespaced Prometheus scrape_config to be aggregated across\nmultiple namespaces into the Prometheus configuration.",
  "properties": {
    "apiVersion": {
      "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
      "type": "string"
    },
    "kind": {
      "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
      "type": "string"
    },
    "metadata": {
      "type": "object"
    },
    "spec": {
      "description": "spec defines the specification of ScrapeConfigSpec.",
      "properties": {
        "authorization": {
          "description": "authorization defines the header to use on every scrape request.",
          "properties": {
            "credentials": {
              "description": "credentials defines a key of a Secret in the namespace that contains the credentials for authentication.",
              "properties": {
                "key": {
                  "description": "The key of the secret to select from.  Must be a valid secret key.",
                  "type": "string"
                },
                "name": {
                  "default": "",
                  "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                  "type": "string"
                },
                "optional": {
                  "description": "Specify whether the Secret or its key must be defined",
                  "type": "boolean"
                }
              },
              "required": [
                "key"
              ],
              "type": "object",
              "x-kubernetes-map-type": "atomic",
              "additionalProperties": false
            },
            "type": {
              "description": "type defines the authentication type. The value is case-insensitive.\n\n\"Basic\" is not a supported value.\n\nDefault: \"Bearer\"",
              "type": "string"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "azureSDConfigs": {
          "description": "azureSDConfigs defines a list of Azure service discovery configurations.",
          "items": {
            "description": "AzureSDConfig allow retrieving scrape targets from Azure VMs.\nSee https://prometheus.io/docs/prometheus/latest/configuration/configuration/#azure_sd_config",
            "properties": {
              "authenticationMethod": {
                "description": "authenticationMethod defines the authentication method, either `OAuth` or `ManagedIdentity` or `SDK`.\nSee https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/overview\nSDK authentication method uses environment variables by default.\nSee https://learn.microsoft.com/en-us/azure/developer/go/azure-sdk-authentication",
                "enum": [
                  "OAuth",
                  "ManagedIdentity",
                  "SDK"
                ],
                "type": "string"
              },
              "authorization": {
                "description": "authorization defines the authorization header configuration to authenticate against the target HTTP endpoint.\nCannot be set at the same time as `oAuth2`, or `basicAuth`.",
                "properties": {
                  "credentials": {
                    "description": "credentials defines a key of a Secret in the namespace that contains the credentials for authentication.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "type": {
                    "description": "type defines the authentication type. The value is case-insensitive.\n\n\"Basic\" is not a supported value.\n\nDefault: \"Bearer\"",
                    "type": "string"
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "basicAuth": {
                "description": "basicAuth defines the information to authenticate against the target HTTP endpoint.\nMore info: https://prometheus.io/docs/operating/configuration/#endpoints\nCannot be set at the same time as `authorization`, or `oAuth2`.",
                "properties": {
                  "password": {
                    "description": "password defines a key of a Secret containing the password for\nauthentication.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "username": {
                    "description": "username defines a key of a Secret containing the username for\nauthentication.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "clientID": {
                "description": "clientID defines client ID. Only required with the OAuth authentication method.",
                "minLength": 1,
                "type": "string"
              },
              "clientSecret": {
                "description": "clientSecret defines client secret. Only required with the OAuth authentication method.",
                "properties": {
                  "key": {
                    "description": "The key of the secret to select from.  Must be a valid secret key.",
                    "type": "string"
                  },
                  "name": {
                    "default": "",
                    "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                    "type": "string"
                  },
                  "optional": {
                    "description": "Specify whether the Secret or its key must be defined",
                    "type": "boolean"
                  }
                },
                "required": [
                  "key"
                ],
                "type": "object",
                "x-kubernetes-map-type": "atomic",
                "additionalProperties": false
              },
              "enableHTTP2": {
                "description": "enableHTTP2 defines whether to enable HTTP2.",
                "type": "boolean"
              },
              "environment": {
                "description": "environment defines the Azure environment.",
                "minLength": 1,
                "type": "string"
              },
              "followRedirects": {
                "description": "followRedirects defines whether HTTP requests follow HTTP 3xx redirects.",
                "type": "boolean"
              },
              "noProxy": {
                "description": "noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names\nthat should be excluded from proxying. IP and domain names can\ncontain port numbers.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                "type": "string"
              },
              "oauth2": {
                "description": "oauth2 defines the configuration to use on every scrape request.",
                "properties": {
                  "clientId": {
                    "description": "clientId defines a key of a Secret or ConfigMap containing the\nOAuth2 client's ID.",
                    "properties": {
                      "configMap": {
                        "description": "configMap defines the ConfigMap containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key to select.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the ConfigMap or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "description": "secret defines the Secret containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "clientSecret": {
                    "description": "clientSecret defines a key of a Secret containing the OAuth2\nclient's secret.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "endpointParams": {
                    "additionalProperties": {
                      "type": "string"
                    },
                    "description": "endpointParams configures the HTTP parameters to append to the token\nURL.",
                    "type": "object"
                  },
                  "noProxy": {
                    "description": "noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names\nthat should be excluded from proxying. IP and domain names can\ncontain port numbers.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                    "type": "string"
                  },
                  "proxyConnectHeader": {
                    "additionalProperties": {
                      "items": {
                        "description": "SecretKeySelector selects a key of a Secret.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "type": "array"
                    },
                    "description": "proxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                    "type": "object",
                    "x-kubernetes-map-type": "atomic"
                  },
                  "proxyFromEnvironment": {
                    "description": "proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                    "type": "boolean"
                  },
                  "proxyUrl": {
                    "description": "proxyUrl defines the HTTP proxy server to use.",
                    "pattern": "^(http|https|socks5)://.+$",
                    "type": "string"
                  },
                  "scopes": {
                    "description": "scopes defines the OAuth2 scopes used for the token request.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "tlsConfig": {
                    "description": "tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server.\nIt requires Prometheus >= v2.43.0.",
                    "properties": {
                      "ca": {
                        "description": "ca defines the Certificate authority used when verifying server certificates.",
                        "properties": {
                          "configMap": {
                            "description": "configMap defines the ConfigMap containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key to select.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the ConfigMap or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          },
                          "secret": {
                            "description": "secret defines the Secret containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key of the secret to select from.  Must be a valid secret key.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the Secret or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "cert": {
                        "description": "cert defines the Client certificate to present when doing client-authentication.",
                        "properties": {
                          "configMap": {
                            "description": "configMap defines the ConfigMap containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key to select.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the ConfigMap or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          },
                          "secret": {
                            "description": "secret defines the Secret containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key of the secret to select from.  Must be a valid secret key.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the Secret or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "insecureSkipVerify": {
                        "description": "insecureSkipVerify defines how to disable target certificate validation.",
                        "type": "boolean"
                      },
                      "keySecret": {
                        "description": "keySecret defines the Secret containing the client key file for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "maxVersion": {
                        "description": "maxVersion defines the maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0 or Thanos >= v0.31.0.",
                        "enum": [
                          "TLS10",
                          "TLS11",
                          "TLS12",
                          "TLS13"
                        ],
                        "type": "string"
                      },
                      "minVersion": {
                        "description": "minVersion defines the minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0 or Thanos >= v0.28.0.",
                        "enum": [
                          "TLS10",
                          "TLS11",
                          "TLS12",
                          "TLS13"
                        ],
                        "type": "string"
                      },
                      "serverName": {
                        "description": "serverName is used to verify the hostname for the targets.",
                        "type": "string"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "tokenUrl": {
                    "description": "tokenUrl defines the URL to fetch the token from.",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "clientId",
                  "clientSecret",
                  "tokenUrl"
                ],
                "type": "object",
                "additionalProperties": false
              },
              "port": {
                "description": "port defines the port to scrape metrics from. If using the public IP address, this must\ninstead be specified in the relabeling rule.",
                "format": "int32",
                "maximum": 65535,
                "minimum": 0,
                "type": "integer"
              },
              "proxyConnectHeader": {
                "additionalProperties": {
                  "items": {
                    "description": "SecretKeySelector selects a key of a Secret.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "type": "array"
                },
                "description": "proxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                "type": "object",
                "x-kubernetes-map-type": "atomic"
              },
              "proxyFromEnvironment": {
                "description": "proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                "type": "boolean"
              },
              "proxyUrl": {
                "description": "proxyUrl defines the HTTP proxy server to use.",
                "pattern": "^(http|https|socks5)://.+$",
                "type": "string"
              },
              "refreshInterval": {
                "description": "refreshInterval defines the time after which the provided names are refreshed.\nIf not set, Prometheus uses its default value.",
                "pattern": "^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$",
                "type": "string"
              },
              "resourceGroup": {
                "description": "resourceGroup defines resource group name. Limits discovery to this resource group.\nRequires  Prometheus v2.35.0 and above",
                "minLength": 1,
                "type": "string"
              },
              "subscriptionID": {
                "description": "subscriptionID defines subscription ID. Always required.",
                "minLength": 1,
                "type": "string"
              },
              "tenantID": {
                "description": "tenantID defines tenant ID. Only required with the OAuth authentication method.",
                "minLength": 1,
                "type": "string"
              },
              "tlsConfig": {
                "description": "tlsConfig defies the TLS configuration applying to the target HTTP endpoint.",
                "properties": {
                  "ca": {
                    "description": "ca defines the Certificate authority used when verifying server certificates.",
                    "properties": {
                      "configMap": {
                        "description": "configMap defines the ConfigMap containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key to select.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the ConfigMap or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "description": "secret defines the Secret containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "cert": {
                    "description": "cert defines the Client certificate to present when doing client-authentication.",
                    "properties": {
                      "configMap": {
                        "description": "configMap defines the ConfigMap containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key to select.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the ConfigMap or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "description": "secret defines the Secret containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "insecureSkipVerify": {
                    "description": "insecureSkipVerify defines how to disable target certificate validation.",
                    "type": "boolean"
                  },
                  "keySecret": {
                    "description": "keySecret defines the Secret containing the client key file for the targets.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "maxVersion": {
                    "description": "maxVersion defines the maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0 or Thanos >= v0.31.0.",
                    "enum": [
                      "TLS10",
                      "TLS11",
                      "TLS12",
                      "TLS13"
                    ],
                    "type": "string"
                  },
                  "minVersion": {
                    "description": "minVersion defines the minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0 or Thanos >= v0.28.0.",
                    "enum": [
                      "TLS10",
                      "TLS11",
                      "TLS12",
                      "TLS13"
                    ],
                    "type": "string"
                  },
                  "serverName": {
                    "description": "serverName is used to verify the hostname for the targets.",
                    "type": "string"
                  }
                },
                "type": "object",
                "additionalProperties": false
              }
            },
            "required": [
              "subscriptionID"
            ],
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        },
        "basicAuth": {
          "description": "basicAuth defines information to use on every scrape request.",
          "properties": {
            "password": {
              "description": "password defines a key of a Secret containing the password for\nauthentication.",
              "properties": {
                "key": {
                  "description": "The key of the secret to select from.  Must be a valid secret key.",
                  "type": "string"
                },
                "name": {
                  "default": "",
                  "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                  "type": "string"
                },
                "optional": {
                  "description": "Specify whether the Secret or its key must be defined",
                  "type": "boolean"
                }
              },
              "required": [
                "key"
              ],
              "type": "object",
              "x-kubernetes-map-type": "atomic",
              "additionalProperties": false
            },
            "username": {
              "description": "username defines a key of a Secret containing the username for\nauthentication.",
              "properties": {
                "key": {
                  "description": "The key of the secret to select from.  Must be a valid secret key.",
                  "type": "string"
                },
                "name": {
                  "default": "",
                  "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                  "type": "string"
                },
                "optional": {
                  "description": "Specify whether the Secret or its key must be defined",
                  "type": "boolean"
                }
              },
              "required": [
                "key"
              ],
              "type": "object",
              "x-kubernetes-map-type": "atomic",
              "additionalProperties": false
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "bodySizeLimit": {
          "description": "bodySizeLimit defines a per-scrape limit on the size of the uncompressed\nresponse body that will be accepted by Prometheus. Targets responding with\na body larger than this many bytes will cause the scrape to fail.\n\nIt requires Prometheus >= v2.28.0.",
          "pattern": "(^0|([0-9]*[.])?[0-9]+((K|M|G|T|E|P)i?)?B)$",
          "type": "string"
        },
        "consulSDConfigs": {
          "description": "consulSDConfigs defines a list of Consul service discovery configurations.",
          "items": {
            "description": "ConsulSDConfig defines a Consul service discovery configuration\nSee https://prometheus.io/docs/prometheus/latest/configuration/configuration/#consul_sd_config",
            "properties": {
              "allowStale": {
                "description": "allowStale Consul results (see https://www.consul.io/api/features/consistency.html). Will reduce load on Consul.\nIf unset, Prometheus uses its default value.",
                "type": "boolean"
              },
              "authorization": {
                "description": "authorization defines the header configuration to authenticate against the Consul Server.\nCannot be set at the same time as `basicAuth`, or `oauth2`.",
                "properties": {
                  "credentials": {
                    "description": "credentials defines a key of a Secret in the namespace that contains the credentials for authentication.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "type": {
                    "description": "type defines the authentication type. The value is case-insensitive.\n\n\"Basic\" is not a supported value.\n\nDefault: \"Bearer\"",
                    "type": "string"
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "basicAuth": {
                "description": "basicAuth defines the information to authenticate against the Consul Server.\nMore info: https://prometheus.io/docs/operating/configuration/#endpoints\nCannot be set at the same time as `authorization`, or `oauth2`.",
                "properties": {
                  "password": {
                    "description": "password defines a key of a Secret containing the password for\nauthentication.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "username": {
                    "description": "username defines a key of a Secret containing the username for\nauthentication.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "datacenter": {
                "description": "datacenter defines the consul Datacenter name, if not provided it will use the local Consul Agent Datacenter.",
                "minLength": 1,
                "type": "string"
              },
              "enableHTTP2": {
                "description": "enableHTTP2 defines whether to enable HTTP2.",
                "type": "boolean"
              },
              "filter": {
                "description": "filter defines the filter expression used to filter the catalog results.\nSee https://www.consul.io/api-docs/catalog#list-services\nIt requires Prometheus >= 3.0.0.",
                "minLength": 1,
                "type": "string"
              },
              "followRedirects": {
                "description": "followRedirects defines whether HTTP requests follow HTTP 3xx redirects.",
                "type": "boolean"
              },
              "namespace": {
                "description": "namespace are only supported in Consul Enterprise.\n\nIt requires Prometheus >= 2.28.0.",
                "minLength": 1,
                "type": "string"
              },
              "noProxy": {
                "description": "noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names\nthat should be excluded from proxying. IP and domain names can\ncontain port numbers.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                "type": "string"
              },
              "nodeMeta": {
                "additionalProperties": {
                  "type": "string"
                },
                "description": "nodeMeta defines the node metadata key/value pairs to filter nodes for a given service.\nStarting with Consul 1.14, it is recommended to use `filter` with the `NodeMeta` selector instead.",
                "type": "object",
                "x-kubernetes-map-type": "atomic"
              },
              "oauth2": {
                "description": "oauth2 defines the optional OAuth 2.0 configuration to authenticate against the target HTTP endpoint.\nCannot be set at the same time as `authorization`, or `basicAuth`.",
                "properties": {
                  "clientId": {
                    "description": "clientId defines a key of a Secret or ConfigMap containing the\nOAuth2 client's ID.",
                    "properties": {
                      "configMap": {
                        "description": "configMap defines the ConfigMap containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key to select.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the ConfigMap or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "description": "secret defines the Secret containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "clientSecret": {
                    "description": "clientSecret defines a key of a Secret containing the OAuth2\nclient's secret.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "endpointParams": {
                    "additionalProperties": {
                      "type": "string"
                    },
                    "description": "endpointParams configures the HTTP parameters to append to the token\nURL.",
                    "type": "object"
                  },
                  "noProxy": {
                    "description": "noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names\nthat should be excluded from proxying. IP and domain names can\ncontain port numbers.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                    "type": "string"
                  },
                  "proxyConnectHeader": {
                    "additionalProperties": {
                      "items": {
                        "description": "SecretKeySelector selects a key of a Secret.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "type": "array"
                    },
                    "description": "proxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                    "type": "object",
                    "x-kubernetes-map-type": "atomic"
                  },
                  "proxyFromEnvironment": {
                    "description": "proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                    "type": "boolean"
                  },
                  "proxyUrl": {
                    "description": "proxyUrl defines the HTTP proxy server to use.",
                    "pattern": "^(http|https|socks5)://.+$",
                    "type": "string"
                  },
                  "scopes": {
                    "description": "scopes defines the OAuth2 scopes used for the token request.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "tlsConfig": {
                    "description": "tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server.\nIt requires Prometheus >= v2.43.0.",
                    "properties": {
                      "ca": {
                        "description": "ca defines the Certificate authority used when verifying server certificates.",
                        "properties": {
                          "configMap": {
                            "description": "configMap defines the ConfigMap containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key to select.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the ConfigMap or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          },
                          "secret": {
                            "description": "secret defines the Secret containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key of the secret to select from.  Must be a valid secret key.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the Secret or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "cert": {
                        "description": "cert defines the Client certificate to present when doing client-authentication.",
                        "properties": {
                          "configMap": {
                            "description": "configMap defines the ConfigMap containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key to select.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the ConfigMap or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          },
                          "secret": {
                            "description": "secret defines the Secret containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key of the secret to select from.  Must be a valid secret key.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the Secret or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "insecureSkipVerify": {
                        "description": "insecureSkipVerify defines how to disable target certificate validation.",
                        "type": "boolean"
                      },
                      "keySecret": {
                        "description": "keySecret defines the Secret containing the client key file for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "maxVersion": {
                        "description": "maxVersion defines the maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0 or Thanos >= v0.31.0.",
                        "enum": [
                          "TLS10",
                          "TLS11",
                          "TLS12",
                          "TLS13"
                        ],
                        "type": "string"
                      },
                      "minVersion": {
                        "description": "minVersion defines the minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0 or Thanos >= v0.28.0.",
                        "enum": [
                          "TLS10",
                          "TLS11",
                          "TLS12",
                          "TLS13"
                        ],
                        "type": "string"
                      },
                      "serverName": {
                        "description": "serverName is used to verify the hostname for the targets.",
                        "type": "string"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "tokenUrl": {
                    "description": "tokenUrl defines the URL to fetch the token from.",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "clientId",
                  "clientSecret",
                  "tokenUrl"
                ],
                "type": "object",
                "additionalProperties": false
              },
              "partition": {
                "description": "partition defines the admin Partitions are only supported in Consul Enterprise.",
                "minLength": 1,
                "type": "string"
              },
              "pathPrefix": {
                "description": "pathPrefix defines the prefix for URIs for when consul is behind an API gateway (reverse proxy).\n\nIt requires Prometheus >= 2.45.0.",
                "minLength": 1,
                "type": "string"
              },
              "proxyConnectHeader": {
                "additionalProperties": {
                  "items": {
                    "description": "SecretKeySelector selects a key of a Secret.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "type": "array"
                },
                "description": "proxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                "type": "object",
                "x-kubernetes-map-type": "atomic"
              },
              "proxyFromEnvironment": {
                "description": "proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                "type": "boolean"
              },
              "proxyUrl": {
                "description": "proxyUrl defines the HTTP proxy server to use.",
                "pattern": "^(http|https|socks5)://.+$",
                "type": "string"
              },
              "refreshInterval": {
                "description": "refreshInterval defines the time after which the provided names are refreshed.\nIf not set, Prometheus uses its default value.",
                "pattern": "^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$",
                "type": "string"
              },
              "scheme": {
                "description": "scheme defines the HTTP Scheme.",
                "enum": [
                  "http",
                  "https",
                  "HTTP",
                  "HTTPS"
                ],
                "type": "string"
              },
              "server": {
                "description": "server defines the consul server address. A valid string consisting of a hostname or IP followed by an optional port number.",
                "minLength": 1,
                "type": "string"
              },
              "services": {
                "description": "services defines a list of services for which targets are retrieved. If omitted, all services are scraped.",
                "items": {
                  "type": "string"
                },
                "type": "array",
                "x-kubernetes-list-type": "set"
              },
              "tagSeparator": {
                "description": "tagSeparator defines the string by which Consul tags are joined into the tag label.\nIf unset, Prometheus uses its default value.",
                "minLength": 1,
                "type": "string"
              },
              "tags": {
                "description": "tags defines an optional list of tags used to filter nodes for a given service. Services must contain all tags in the list.\nStarting with Consul 1.14, it is recommended to use `filter` with the `ServiceTags` selector instead.",
                "items": {
                  "type": "string"
                },
                "type": "array",
                "x-kubernetes-list-type": "set"
              },
              "tlsConfig": {
                "description": "tlsConfig defines the TLS configuration to connect to the Consul API.",
                "properties": {
                  "ca": {
                    "description": "ca defines the Certificate authority used when verifying server certificates.",
                    "properties": {
                      "configMap": {
                        "description": "configMap defines the ConfigMap containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key to select.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the ConfigMap or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "description": "secret defines the Secret containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "cert": {
                    "description": "cert defines the Client certificate to present when doing client-authentication.",
                    "properties": {
                      "configMap": {
                        "description": "configMap defines the ConfigMap containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key to select.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the ConfigMap or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "description": "secret defines the Secret containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "insecureSkipVerify": {
                    "description": "insecureSkipVerify defines how to disable target certificate validation.",
                    "type": "boolean"
                  },
                  "keySecret": {
                    "description": "keySecret defines the Secret containing the client key file for the targets.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "maxVersion": {
                    "description": "maxVersion defines the maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0 or Thanos >= v0.31.0.",
                    "enum": [
                      "TLS10",
                      "TLS11",
                      "TLS12",
                      "TLS13"
                    ],
                    "type": "string"
                  },
                  "minVersion": {
                    "description": "minVersion defines the minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0 or Thanos >= v0.28.0.",
                    "enum": [
                      "TLS10",
                      "TLS11",
                      "TLS12",
                      "TLS13"
                    ],
                    "type": "string"
                  },
                  "serverName": {
                    "description": "serverName is used to verify the hostname for the targets.",
                    "type": "string"
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "tokenRef": {
                "description": "tokenRef defines the consul ACL TokenRef, if not provided it will use the ACL from the local Consul Agent.",
                "properties": {
                  "key": {
                    "description": "The key of the secret to select from.  Must be a valid secret key.",
                    "type": "string"
                  },
                  "name": {
                    "default": "",
                    "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                    "type": "string"
                  },
                  "optional": {
                    "description": "Specify whether the Secret or its key must be defined",
                    "type": "boolean"
                  }
                },
                "required": [
                  "key"
                ],
                "type": "object",
                "x-kubernetes-map-type": "atomic",
                "additionalProperties": false
              }
            },
            "required": [
              "server"
            ],
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        },
        "convertClassicHistogramsToNHCB": {
          "description": "convertClassicHistogramsToNHCB defines whether to convert all scraped classic histograms into a native histogram with custom buckets.\nIt requires Prometheus >= v3.0.0.",
          "type": "boolean"
        },
        "digitalOceanSDConfigs": {
          "description": "digitalOceanSDConfigs defines a list of DigitalOcean service discovery configurations.",
          "items": {
            "description": "DigitalOceanSDConfig allow retrieving scrape targets from DigitalOcean's Droplets API.\nThis service discovery uses the public IPv4 address by default, by that can be changed with relabeling\nSee https://prometheus.io/docs/prometheus/latest/configuration/configuration/#digitalocean_sd_config",
            "properties": {
              "authorization": {
                "description": "authorization defines the  header configuration to authenticate against the DigitalOcean API.\nCannot be set at the same time as `oauth2`.",
                "properties": {
                  "credentials": {
                    "description": "credentials defines a key of a Secret in the namespace that contains the credentials for authentication.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "type": {
                    "description": "type defines the authentication type. The value is case-insensitive.\n\n\"Basic\" is not a supported value.\n\nDefault: \"Bearer\"",
                    "type": "string"
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "enableHTTP2": {
                "description": "enableHTTP2 defines whether to enable HTTP2.",
                "type": "boolean"
              },
              "followRedirects": {
                "description": "followRedirects defines whether HTTP requests follow HTTP 3xx redirects.",
                "type": "boolean"
              },
              "noProxy": {
                "description": "noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names\nthat should be excluded from proxying. IP and domain names can\ncontain port numbers.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                "type": "string"
              },
              "oauth2": {
                "description": "oauth2 defines the configuration to use on every scrape request.",
                "properties": {
                  "clientId": {
                    "description": "clientId defines a key of a Secret or ConfigMap containing the\nOAuth2 client's ID.",
                    "properties": {
                      "configMap": {
                        "description": "configMap defines the ConfigMap containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key to select.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the ConfigMap or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "description": "secret defines the Secret containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "clientSecret": {
                    "description": "clientSecret defines a key of a Secret containing the OAuth2\nclient's secret.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "endpointParams": {
                    "additionalProperties": {
                      "type": "string"
                    },
                    "description": "endpointParams configures the HTTP parameters to append to the token\nURL.",
                    "type": "object"
                  },
                  "noProxy": {
                    "description": "noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names\nthat should be excluded from proxying. IP and domain names can\ncontain port numbers.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                    "type": "string"
                  },
                  "proxyConnectHeader": {
                    "additionalProperties": {
                      "items": {
                        "description": "SecretKeySelector selects a key of a Secret.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "type": "array"
                    },
                    "description": "proxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                    "type": "object",
                    "x-kubernetes-map-type": "atomic"
                  },
                  "proxyFromEnvironment": {
                    "description": "proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                    "type": "boolean"
                  },
                  "proxyUrl": {
                    "description": "proxyUrl defines the HTTP proxy server to use.",
                    "pattern": "^(http|https|socks5)://.+$",
                    "type": "string"
                  },
                  "scopes": {
                    "description": "scopes defines the OAuth2 scopes used for the token request.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "tlsConfig": {
                    "description": "tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server.\nIt requires Prometheus >= v2.43.0.",
                    "properties": {
                      "ca": {
                        "description": "ca defines the Certificate authority used when verifying server certificates.",
                        "properties": {
                          "configMap": {
                            "description": "configMap defines the ConfigMap containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key to select.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the ConfigMap or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          },
                          "secret": {
                            "description": "secret defines the Secret containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key of the secret to select from.  Must be a valid secret key.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the Secret or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "cert": {
                        "description": "cert defines the Client certificate to present when doing client-authentication.",
                        "properties": {
                          "configMap": {
                            "description": "configMap defines the ConfigMap containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key to select.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the ConfigMap or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          },
                          "secret": {
                            "description": "secret defines the Secret containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key of the secret to select from.  Must be a valid secret key.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the Secret or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "insecureSkipVerify": {
                        "description": "insecureSkipVerify defines how to disable target certificate validation.",
                        "type": "boolean"
                      },
                      "keySecret": {
                        "description": "keySecret defines the Secret containing the client key file for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "maxVersion": {
                        "description": "maxVersion defines the maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0 or Thanos >= v0.31.0.",
                        "enum": [
                          "TLS10",
                          "TLS11",
                          "TLS12",
                          "TLS13"
                        ],
                        "type": "string"
                      },
                      "minVersion": {
                        "description": "minVersion defines the minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0 or Thanos >= v0.28.0.",
                        "enum": [
                          "TLS10",
                          "TLS11",
                          "TLS12",
                          "TLS13"
                        ],
                        "type": "string"
                      },
                      "serverName": {
                        "description": "serverName is used to verify the hostname for the targets.",
                        "type": "string"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "tokenUrl": {
                    "description": "tokenUrl defines the URL to fetch the token from.",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "clientId",
                  "clientSecret",
                  "tokenUrl"
                ],
                "type": "object",
                "additionalProperties": false
              },
              "port": {
                "description": "port defines the port to scrape metrics from. If using the public IP address, this must",
                "format": "int32",
                "maximum": 65535,
                "minimum": 0,
                "type": "integer"
              },
              "proxyConnectHeader": {
                "additionalProperties": {
                  "items": {
                    "description": "SecretKeySelector selects a key of a Secret.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "type": "array"
                },
                "description": "proxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                "type": "object",
                "x-kubernetes-map-type": "atomic"
              },
              "proxyFromEnvironment": {
                "description": "proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                "type": "boolean"
              },
              "proxyUrl": {
                "description": "proxyUrl defines the HTTP proxy server to use.",
                "pattern": "^(http|https|socks5)://.+$",
                "type": "string"
              },
              "refreshInterval": {
                "description": "refreshInterval defines the time after which the provided names are refreshed.\nIf not set, Prometheus uses its default value.",
                "pattern": "^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$",
                "type": "string"
              },
              "tlsConfig": {
                "description": "tlsConfig defines the TLS configuration to connect to the Consul API.",
                "properties": {
                  "ca": {
                    "description": "ca defines the Certificate authority used when verifying server certificates.",
                    "properties": {
                      "configMap": {
                        "description": "configMap defines the ConfigMap containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key to select.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the ConfigMap or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "description": "secret defines the Secret containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "cert": {
                    "description": "cert defines the Client certificate to present when doing client-authentication.",
                    "properties": {
                      "configMap": {
                        "description": "configMap defines the ConfigMap containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key to select.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the ConfigMap or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "description": "secret defines the Secret containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "insecureSkipVerify": {
                    "description": "insecureSkipVerify defines how to disable target certificate validation.",
                    "type": "boolean"
                  },
                  "keySecret": {
                    "description": "keySecret defines the Secret containing the client key file for the targets.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "maxVersion": {
                    "description": "maxVersion defines the maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0 or Thanos >= v0.31.0.",
                    "enum": [
                      "TLS10",
                      "TLS11",
                      "TLS12",
                      "TLS13"
                    ],
                    "type": "string"
                  },
                  "minVersion": {
                    "description": "minVersion defines the minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0 or Thanos >= v0.28.0.",
                    "enum": [
                      "TLS10",
                      "TLS11",
                      "TLS12",
                      "TLS13"
                    ],
                    "type": "string"
                  },
                  "serverName": {
                    "description": "serverName is used to verify the hostname for the targets.",
                    "type": "string"
                  }
                },
                "type": "object",
                "additionalProperties": false
              }
            },
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        },
        "dnsSDConfigs": {
          "description": "dnsSDConfigs defines a list of DNS service discovery configurations.",
          "items": {
            "description": "DNSSDConfig allows specifying a set of DNS domain names which are periodically queried to discover a list of targets.\nThe DNS servers to be contacted are read from /etc/resolv.conf.\nSee https://prometheus.io/docs/prometheus/latest/configuration/configuration/#dns_sd_config",
            "properties": {
              "names": {
                "description": "names defines a list of DNS domain names to be queried.",
                "items": {
                  "minLength": 1,
                  "type": "string"
                },
                "minItems": 1,
                "type": "array"
              },
              "port": {
                "description": "port defines the port to scrape metrics from. If using the public IP address, this must\nIgnored for SRV records",
                "format": "int32",
                "maximum": 65535,
                "minimum": 0,
                "type": "integer"
              },
              "refreshInterval": {
                "description": "refreshInterval defines the time after which the provided names are refreshed.\nIf not set, Prometheus uses its default value.",
                "pattern": "^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$",
                "type": "string"
              },
              "type": {
                "description": "type defines the type of DNS query to perform. One of SRV, A, AAAA, MX or NS.\nIf not set, Prometheus uses its default value.\n\nWhen set to NS, it requires Prometheus >= v2.49.0.\nWhen set to MX, it requires Prometheus >= v2.38.0",
                "enum": [
                  "A",
                  "AAAA",
                  "MX",
                  "NS",
                  "SRV"
                ],
                "type": "string"
              }
            },
            "required": [
              "names"
            ],
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        },
        "dockerSDConfigs": {
          "description": "dockerSDConfigs defines a list of Docker service discovery configurations.",
          "items": {
            "description": "Docker SD configurations allow retrieving scrape targets from Docker Engine hosts.\nThis SD discovers \"containers\" and will create a target for each network IP and\nport the container is configured to expose.\nSee https://prometheus.io/docs/prometheus/latest/configuration/configuration/#docker_sd_config",
            "properties": {
              "authorization": {
                "description": "authorization defines the  header configuration to authenticate against the DigitalOcean API.\nCannot be set at the same time as `oauth2`.",
                "properties": {
                  "credentials": {
                    "description": "credentials defines a key of a Secret in the namespace that contains the credentials for authentication.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "type": {
                    "description": "type defines the authentication type. The value is case-insensitive.\n\n\"Basic\" is not a supported value.\n\nDefault: \"Bearer\"",
                    "type": "string"
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "basicAuth": {
                "description": "basicAuth defines information to use on every scrape request.",
                "properties": {
                  "password": {
                    "description": "password defines a key of a Secret containing the password for\nauthentication.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "username": {
                    "description": "username defines a key of a Secret containing the username for\nauthentication.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "enableHTTP2": {
                "description": "enableHTTP2 defines whether to enable HTTP2.",
                "type": "boolean"
              },
              "filters": {
                "description": "filters defines filters to limit the discovery process to a subset of the available resources.",
                "items": {
                  "description": "Filter name and value pairs to limit the discovery process to a subset of available resources.",
                  "properties": {
                    "name": {
                      "description": "name of the Filter.",
                      "type": "string"
                    },
                    "values": {
                      "description": "values defines values to filter on.",
                      "items": {
                        "minLength": 1,
                        "type": "string"
                      },
                      "minItems": 1,
                      "type": "array",
                      "x-kubernetes-list-type": "set"
                    }
                  },
                  "required": [
                    "name",
                    "values"
                  ],
                  "type": "object",
                  "additionalProperties": false
                },
                "type": "array",
                "x-kubernetes-list-map-keys": [
                  "name"
                ],
                "x-kubernetes-list-type": "map"
              },
              "followRedirects": {
                "description": "followRedirects defines whether HTTP requests follow HTTP 3xx redirects.",
                "type": "boolean"
              },
              "host": {
                "description": "host defines the address of the docker daemon",
                "minLength": 1,
                "type": "string"
              },
              "hostNetworkingHost": {
                "description": "hostNetworkingHost defines the host to use if the container is in host networking mode.",
                "minLength": 1,
                "type": "string"
              },
              "matchFirstNetwork": {
                "description": "matchFirstNetwork defines whether to match the first network if the container has multiple networks defined.\nIf unset, Prometheus uses true by default.\nIt requires Prometheus >= v2.54.1.",
                "type": "boolean"
              },
              "noProxy": {
                "description": "noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names\nthat should be excluded from proxying. IP and domain names can\ncontain port numbers.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                "type": "string"
              },
              "oauth2": {
                "description": "oauth2 defines the configuration to use on every scrape request.",
                "properties": {
                  "clientId": {
                    "description": "clientId defines a key of a Secret or ConfigMap containing the\nOAuth2 client's ID.",
                    "properties": {
                      "configMap": {
                        "description": "configMap defines the ConfigMap containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key to select.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the ConfigMap or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "description": "secret defines the Secret containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "clientSecret": {
                    "description": "clientSecret defines a key of a Secret containing the OAuth2\nclient's secret.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "endpointParams": {
                    "additionalProperties": {
                      "type": "string"
                    },
                    "description": "endpointParams configures the HTTP parameters to append to the token\nURL.",
                    "type": "object"
                  },
                  "noProxy": {
                    "description": "noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names\nthat should be excluded from proxying. IP and domain names can\ncontain port numbers.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                    "type": "string"
                  },
                  "proxyConnectHeader": {
                    "additionalProperties": {
                      "items": {
                        "description": "SecretKeySelector selects a key of a Secret.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "type": "array"
                    },
                    "description": "proxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                    "type": "object",
                    "x-kubernetes-map-type": "atomic"
                  },
                  "proxyFromEnvironment": {
                    "description": "proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                    "type": "boolean"
                  },
                  "proxyUrl": {
                    "description": "proxyUrl defines the HTTP proxy server to use.",
                    "pattern": "^(http|https|socks5)://.+$",
                    "type": "string"
                  },
                  "scopes": {
                    "description": "scopes defines the OAuth2 scopes used for the token request.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "tlsConfig": {
                    "description": "tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server.\nIt requires Prometheus >= v2.43.0.",
                    "properties": {
                      "ca": {
                        "description": "ca defines the Certificate authority used when verifying server certificates.",
                        "properties": {
                          "configMap": {
                            "description": "configMap defines the ConfigMap containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key to select.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the ConfigMap or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          },
                          "secret": {
                            "description": "secret defines the Secret containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key of the secret to select from.  Must be a valid secret key.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the Secret or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "cert": {
                        "description": "cert defines the Client certificate to present when doing client-authentication.",
                        "properties": {
                          "configMap": {
                            "description": "configMap defines the ConfigMap containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key to select.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the ConfigMap or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          },
                          "secret": {
                            "description": "secret defines the Secret containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key of the secret to select from.  Must be a valid secret key.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the Secret or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "insecureSkipVerify": {
                        "description": "insecureSkipVerify defines how to disable target certificate validation.",
                        "type": "boolean"
                      },
                      "keySecret": {
                        "description": "keySecret defines the Secret containing the client key file for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "maxVersion": {
                        "description": "maxVersion defines the maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0 or Thanos >= v0.31.0.",
                        "enum": [
                          "TLS10",
                          "TLS11",
                          "TLS12",
                          "TLS13"
                        ],
                        "type": "string"
                      },
                      "minVersion": {
                        "description": "minVersion defines the minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0 or Thanos >= v0.28.0.",
                        "enum": [
                          "TLS10",
                          "TLS11",
                          "TLS12",
                          "TLS13"
                        ],
                        "type": "string"
                      },
                      "serverName": {
                        "description": "serverName is used to verify the hostname for the targets.",
                        "type": "string"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "tokenUrl": {
                    "description": "tokenUrl defines the URL to fetch the token from.",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "clientId",
                  "clientSecret",
                  "tokenUrl"
                ],
                "type": "object",
                "additionalProperties": false
              },
              "port": {
                "description": "port defines the port to scrape metrics from. If using the public IP address, this must",
                "format": "int32",
                "maximum": 65535,
                "minimum": 0,
                "type": "integer"
              },
              "proxyConnectHeader": {
                "additionalProperties": {
                  "items": {
                    "description": "SecretKeySelector selects a key of a Secret.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "type": "array"
                },
                "description": "proxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                "type": "object",
                "x-kubernetes-map-type": "atomic"
              },
              "proxyFromEnvironment": {
                "description": "proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                "type": "boolean"
              },
              "proxyUrl": {
                "description": "proxyUrl defines the HTTP proxy server to use.",
                "pattern": "^(http|https|socks5)://.+$",
                "type": "string"
              },
              "refreshInterval": {
                "description": "refreshInterval defines the time after which the provided names are refreshed.\nIf not set, Prometheus uses its default value.",
                "pattern": "^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$",
                "type": "string"
              },
              "tlsConfig": {
                "description": "tlsConfig defines the TLS configuration to connect to the Consul API.",
                "properties": {
                  "ca": {
                    "description": "ca defines the Certificate authority used when verifying server certificates.",
                    "properties": {
                      "configMap": {
                        "description": "configMap defines the ConfigMap containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key to select.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the ConfigMap or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "description": "secret defines the Secret containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "cert": {
                    "description": "cert defines the Client certificate to present when doing client-authentication.",
                    "properties": {
                      "configMap": {
                        "description": "configMap defines the ConfigMap containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key to select.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the ConfigMap or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "description": "secret defines the Secret containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "insecureSkipVerify": {
                    "description": "insecureSkipVerify defines how to disable target certificate validation.",
                    "type": "boolean"
                  },
                  "keySecret": {
                    "description": "keySecret defines the Secret containing the client key file for the targets.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "maxVersion": {
                    "description": "maxVersion defines the maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0 or Thanos >= v0.31.0.",
                    "enum": [
                      "TLS10",
                      "TLS11",
                      "TLS12",
                      "TLS13"
                    ],
                    "type": "string"
                  },
                  "minVersion": {
                    "description": "minVersion defines the minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0 or Thanos >= v0.28.0.",
                    "enum": [
                      "TLS10",
                      "TLS11",
                      "TLS12",
                      "TLS13"
                    ],
                    "type": "string"
                  },
                  "serverName": {
                    "description": "serverName is used to verify the hostname for the targets.",
                    "type": "string"
                  }
                },
                "type": "object",
                "additionalProperties": false
              }
            },
            "required": [
              "host"
            ],
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        },
        "dockerSwarmSDConfigs": {
          "description": "dockerSwarmSDConfigs defines a list of Dockerswarm service discovery configurations.",
          "items": {
            "description": "DockerSwarmSDConfig configurations allow retrieving scrape targets from Docker Swarm engine.\nSee https://prometheus.io/docs/prometheus/latest/configuration/configuration/#dockerswarm_sd_config",
            "properties": {
              "authorization": {
                "description": "authorization defines the  header configuration to authenticate against the DigitalOcean API.\nCannot be set at the same time as `oauth2`.",
                "properties": {
                  "credentials": {
                    "description": "credentials defines a key of a Secret in the namespace that contains the credentials for authentication.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "type": {
                    "description": "type defines the authentication type. The value is case-insensitive.\n\n\"Basic\" is not a supported value.\n\nDefault: \"Bearer\"",
                    "type": "string"
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "basicAuth": {
                "description": "basicAuth defines information to use on every scrape request.",
                "properties": {
                  "password": {
                    "description": "password defines a key of a Secret containing the password for\nauthentication.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "username": {
                    "description": "username defines a key of a Secret containing the username for\nauthentication.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "enableHTTP2": {
                "description": "enableHTTP2 defines whether to enable HTTP2.",
                "type": "boolean"
              },
              "filters": {
                "description": "filters defines the filters to limit the discovery process to a subset of available\nresources.\nThe available filters are listed in the upstream documentation:\nServices: https://docs.docker.com/engine/api/v1.40/#operation/ServiceList\nTasks: https://docs.docker.com/engine/api/v1.40/#operation/TaskList\nNodes: https://docs.docker.com/engine/api/v1.40/#operation/NodeList",
                "items": {
                  "description": "Filter name and value pairs to limit the discovery process to a subset of available resources.",
                  "properties": {
                    "name": {
                      "description": "name of the Filter.",
                      "type": "string"
                    },
                    "values": {
                      "description": "values defines values to filter on.",
                      "items": {
                        "minLength": 1,
                        "type": "string"
                      },
                      "minItems": 1,
                      "type": "array",
                      "x-kubernetes-list-type": "set"
                    }
                  },
                  "required": [
                    "name",
                    "values"
                  ],
                  "type": "object",
                  "additionalProperties": false
                },
                "type": "array",
                "x-kubernetes-list-map-keys": [
                  "name"
                ],
                "x-kubernetes-list-type": "map"
              },
              "followRedirects": {
                "description": "followRedirects defines whether HTTP requests follow HTTP 3xx redirects.",
                "type": "boolean"
              },
              "host": {
                "description": "host defines the address of the Docker daemon",
                "pattern": "^[a-zA-Z][a-zA-Z0-9+.-]*://.+$",
                "type": "string"
              },
              "noProxy": {
                "description": "noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names\nthat should be excluded from proxying. IP and domain names can\ncontain port numbers.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                "type": "string"
              },
              "oauth2": {
                "description": "oauth2 defines the optional OAuth 2.0 configuration to authenticate against the target HTTP endpoint.\nCannot be set at the same time as `authorization`, or `basicAuth`.",
                "properties": {
                  "clientId": {
                    "description": "clientId defines a key of a Secret or ConfigMap containing the\nOAuth2 client's ID.",
                    "properties": {
                      "configMap": {
                        "description": "configMap defines the ConfigMap containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key to select.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the ConfigMap or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "description": "secret defines the Secret containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "clientSecret": {
                    "description": "clientSecret defines a key of a Secret containing the OAuth2\nclient's secret.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "endpointParams": {
                    "additionalProperties": {
                      "type": "string"
                    },
                    "description": "endpointParams configures the HTTP parameters to append to the token\nURL.",
                    "type": "object"
                  },
                  "noProxy": {
                    "description": "noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names\nthat should be excluded from proxying. IP and domain names can\ncontain port numbers.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                    "type": "string"
                  },
                  "proxyConnectHeader": {
                    "additionalProperties": {
                      "items": {
                        "description": "SecretKeySelector selects a key of a Secret.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "type": "array"
                    },
                    "description": "proxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                    "type": "object",
                    "x-kubernetes-map-type": "atomic"
                  },
                  "proxyFromEnvironment": {
                    "description": "proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                    "type": "boolean"
                  },
                  "proxyUrl": {
                    "description": "proxyUrl defines the HTTP proxy server to use.",
                    "pattern": "^(http|https|socks5)://.+$",
                    "type": "string"
                  },
                  "scopes": {
                    "description": "scopes defines the OAuth2 scopes used for the token request.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "tlsConfig": {
                    "description": "tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server.\nIt requires Prometheus >= v2.43.0.",
                    "properties": {
                      "ca": {
                        "description": "ca defines the Certificate authority used when verifying server certificates.",
                        "properties": {
                          "configMap": {
                            "description": "configMap defines the ConfigMap containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key to select.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the ConfigMap or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          },
                          "secret": {
                            "description": "secret defines the Secret containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key of the secret to select from.  Must be a valid secret key.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the Secret or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "cert": {
                        "description": "cert defines the Client certificate to present when doing client-authentication.",
                        "properties": {
                          "configMap": {
                            "description": "configMap defines the ConfigMap containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key to select.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the ConfigMap or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          },
                          "secret": {
                            "description": "secret defines the Secret containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key of the secret to select from.  Must be a valid secret key.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the Secret or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "insecureSkipVerify": {
                        "description": "insecureSkipVerify defines how to disable target certificate validation.",
                        "type": "boolean"
                      },
                      "keySecret": {
                        "description": "keySecret defines the Secret containing the client key file for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "maxVersion": {
                        "description": "maxVersion defines the maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0 or Thanos >= v0.31.0.",
                        "enum": [
                          "TLS10",
                          "TLS11",
                          "TLS12",
                          "TLS13"
                        ],
                        "type": "string"
                      },
                      "minVersion": {
                        "description": "minVersion defines the minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0 or Thanos >= v0.28.0.",
                        "enum": [
                          "TLS10",
                          "TLS11",
                          "TLS12",
                          "TLS13"
                        ],
                        "type": "string"
                      },
                      "serverName": {
                        "description": "serverName is used to verify the hostname for the targets.",
                        "type": "string"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "tokenUrl": {
                    "description": "tokenUrl defines the URL to fetch the token from.",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "clientId",
                  "clientSecret",
                  "tokenUrl"
                ],
                "type": "object",
                "additionalProperties": false
              },
              "port": {
                "description": "port defines the port to scrape metrics from. If using the public IP address, this must\ntasks and services that don't have published ports.",
                "format": "int32",
                "maximum": 65535,
                "minimum": 0,
                "type": "integer"
              },
              "proxyConnectHeader": {
                "additionalProperties": {
                  "items": {
                    "description": "SecretKeySelector selects a key of a Secret.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "type": "array"
                },
                "description": "proxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                "type": "object",
                "x-kubernetes-map-type": "atomic"
              },
              "proxyFromEnvironment": {
                "description": "proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                "type": "boolean"
              },
              "proxyUrl": {
                "description": "proxyUrl defines the HTTP proxy server to use.",
                "pattern": "^(http|https|socks5)://.+$",
                "type": "string"
              },
              "refreshInterval": {
                "description": "refreshInterval defines the time after which the provided names are refreshed.\nIf not set, Prometheus uses its default value.",
                "pattern": "^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$",
                "type": "string"
              },
              "role": {
                "description": "role of the targets to retrieve. Must be `Services`, `Tasks`, or `Nodes`.",
                "enum": [
                  "Services",
                  "Tasks",
                  "Nodes"
                ],
                "type": "string"
              },
              "tlsConfig": {
                "description": "tlsConfig defines the TLS configuration to connect to the Consul API.",
                "properties": {
                  "ca": {
                    "description": "ca defines the Certificate authority used when verifying server certificates.",
                    "properties": {
                      "configMap": {
                        "description": "configMap defines the ConfigMap containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key to select.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the ConfigMap or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "description": "secret defines the Secret containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "cert": {
                    "description": "cert defines the Client certificate to present when doing client-authentication.",
                    "properties": {
                      "configMap": {
                        "description": "configMap defines the ConfigMap containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key to select.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the ConfigMap or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "description": "secret defines the Secret containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "insecureSkipVerify": {
                    "description": "insecureSkipVerify defines how to disable target certificate validation.",
                    "type": "boolean"
                  },
                  "keySecret": {
                    "description": "keySecret defines the Secret containing the client key file for the targets.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "maxVersion": {
                    "description": "maxVersion defines the maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0 or Thanos >= v0.31.0.",
                    "enum": [
                      "TLS10",
                      "TLS11",
                      "TLS12",
                      "TLS13"
                    ],
                    "type": "string"
                  },
                  "minVersion": {
                    "description": "minVersion defines the minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0 or Thanos >= v0.28.0.",
                    "enum": [
                      "TLS10",
                      "TLS11",
                      "TLS12",
                      "TLS13"
                    ],
                    "type": "string"
                  },
                  "serverName": {
                    "description": "serverName is used to verify the hostname for the targets.",
                    "type": "string"
                  }
                },
                "type": "object",
                "additionalProperties": false
              }
            },
            "required": [
              "host",
              "role"
            ],
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        },
        "ec2SDConfigs": {
          "description": "ec2SDConfigs defines a list of EC2 service discovery configurations.",
          "items": {
            "description": "EC2SDConfig allow retrieving scrape targets from AWS EC2 instances.\nThe private IP address is used by default, but may be changed to the public IP address with relabeling.\nThe IAM credentials used must have the ec2:DescribeInstances permission to discover scrape targets\nSee https://prometheus.io/docs/prometheus/latest/configuration/configuration/#ec2_sd_config\n\nThe EC2 service discovery requires AWS API keys or role ARN for authentication.\nBasicAuth, Authorization and OAuth2 fields are not present on purpose.",
            "properties": {
              "accessKey": {
                "description": "accessKey defines the AWS API key.",
                "properties": {
                  "key": {
                    "description": "The key of the secret to select from.  Must be a valid secret key.",
                    "type": "string"
                  },
                  "name": {
                    "default": "",
                    "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                    "type": "string"
                  },
                  "optional": {
                    "description": "Specify whether the Secret or its key must be defined",
                    "type": "boolean"
                  }
                },
                "required": [
                  "key"
                ],
                "type": "object",
                "x-kubernetes-map-type": "atomic",
                "additionalProperties": false
              },
              "enableHTTP2": {
                "description": "enableHTTP2 defines whether to enable HTTP2.\nIt requires Prometheus >= v2.41.0",
                "type": "boolean"
              },
              "filters": {
                "description": "filters can be used optionally to filter the instance list by other criteria.\nAvailable filter criteria can be found here:\nhttps://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html\nFilter API documentation: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Filter.html\nIt requires Prometheus >= v2.3.0",
                "items": {
                  "description": "Filter name and value pairs to limit the discovery process to a subset of available resources.",
                  "properties": {
                    "name": {
                      "description": "name of the Filter.",
                      "type": "string"
                    },
                    "values": {
                      "description": "values defines values to filter on.",
                      "items": {
                        "minLength": 1,
                        "type": "string"
                      },
                      "minItems": 1,
                      "type": "array",
                      "x-kubernetes-list-type": "set"
                    }
                  },
                  "required": [
                    "name",
                    "values"
                  ],
                  "type": "object",
                  "additionalProperties": false
                },
                "type": "array",
                "x-kubernetes-list-map-keys": [
                  "name"
                ],
                "x-kubernetes-list-type": "map"
              },
              "followRedirects": {
                "description": "followRedirects defines whether HTTP requests follow HTTP 3xx redirects.\nIt requires Prometheus >= v2.41.0",
                "type": "boolean"
              },
              "noProxy": {
                "description": "noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names\nthat should be excluded from proxying. IP and domain names can\ncontain port numbers.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                "type": "string"
              },
              "port": {
                "description": "port defines the port to scrape metrics from. If using the public IP address, this must\ninstead be specified in the relabeling rule.",
                "format": "int32",
                "maximum": 65535,
                "minimum": 0,
                "type": "integer"
              },
              "proxyConnectHeader": {
                "additionalProperties": {
                  "items": {
                    "description": "SecretKeySelector selects a key of a Secret.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "type": "array"
                },
                "description": "proxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                "type": "object",
                "x-kubernetes-map-type": "atomic"
              },
              "proxyFromEnvironment": {
                "description": "proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                "type": "boolean"
              },
              "proxyUrl": {
                "description": "proxyUrl defines the HTTP proxy server to use.",
                "pattern": "^(http|https|socks5)://.+$",
                "type": "string"
              },
              "refreshInterval": {
                "description": "refreshInterval defines the time after which the provided names are refreshed.\nIf not set, Prometheus uses its default value.",
                "pattern": "^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$",
                "type": "string"
              },
              "region": {
                "description": "region defines the AWS region.",
                "minLength": 1,
                "type": "string"
              },
              "roleARN": {
                "description": "roleARN defines an alternative to using AWS API keys.",
                "minLength": 1,
                "type": "string"
              },
              "secretKey": {
                "description": "secretKey defines the AWS API secret.",
                "properties": {
                  "key": {
                    "description": "The key of the secret to select from.  Must be a valid secret key.",
                    "type": "string"
                  },
                  "name": {
                    "default": "",
                    "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                    "type": "string"
                  },
                  "optional": {
                    "description": "Specify whether the Secret or its key must be defined",
                    "type": "boolean"
                  }
                },
                "required": [
                  "key"
                ],
                "type": "object",
                "x-kubernetes-map-type": "atomic",
                "additionalProperties": false
              },
              "tlsConfig": {
                "description": "tlsConfig defines the TLS configuration to connect to the Consul API.\nIt requires Prometheus >= v2.41.0",
                "properties": {
                  "ca": {
                    "description": "ca defines the Certificate authority used when verifying server certificates.",
                    "properties": {
                      "configMap": {
                        "description": "configMap defines the ConfigMap containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key to select.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the ConfigMap or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "description": "secret defines the Secret containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "cert": {
                    "description": "cert defines the Client certificate to present when doing client-authentication.",
                    "properties": {
                      "configMap": {
                        "description": "configMap defines the ConfigMap containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key to select.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the ConfigMap or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "description": "secret defines the Secret containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "insecureSkipVerify": {
                    "description": "insecureSkipVerify defines how to disable target certificate validation.",
                    "type": "boolean"
                  },
                  "keySecret": {
                    "description": "keySecret defines the Secret containing the client key file for the targets.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "maxVersion": {
                    "description": "maxVersion defines the maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0 or Thanos >= v0.31.0.",
                    "enum": [
                      "TLS10",
                      "TLS11",
                      "TLS12",
                      "TLS13"
                    ],
                    "type": "string"
                  },
                  "minVersion": {
                    "description": "minVersion defines the minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0 or Thanos >= v0.28.0.",
                    "enum": [
                      "TLS10",
                      "TLS11",
                      "TLS12",
                      "TLS13"
                    ],
                    "type": "string"
                  },
                  "serverName": {
                    "description": "serverName is used to verify the hostname for the targets.",
                    "type": "string"
                  }
                },
                "type": "object",
                "additionalProperties": false
              }
            },
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        },
        "enableCompression": {
          "description": "enableCompression when false, Prometheus will request uncompressed response from the scraped target.\n\nIt requires Prometheus >= v2.49.0.\n\nIf unset, Prometheus uses true by default.",
          "type": "boolean"
        },
        "enableHTTP2": {
          "description": "enableHTTP2 defines whether to enable HTTP2.",
          "type": "boolean"
        },
        "eurekaSDConfigs": {
          "description": "eurekaSDConfigs defines a list of Eureka service discovery configurations.",
          "items": {
            "description": "Eureka SD configurations allow retrieving scrape targets using the Eureka REST API.\nPrometheus will periodically check the REST endpoint and create a target for every app instance.\nSee https://prometheus.io/docs/prometheus/latest/configuration/configuration/#eureka_sd_config",
            "properties": {
              "authorization": {
                "description": "authorization defines the  header configuration to authenticate against the DigitalOcean API.\nCannot be set at the same time as `oauth2`.",
                "properties": {
                  "credentials": {
                    "description": "credentials defines a key of a Secret in the namespace that contains the credentials for authentication.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "type": {
                    "description": "type defines the authentication type. The value is case-insensitive.\n\n\"Basic\" is not a supported value.\n\nDefault: \"Bearer\"",
                    "type": "string"
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "basicAuth": {
                "description": "basicAuth defines the BasicAuth information to use on every scrape request.",
                "properties": {
                  "password": {
                    "description": "password defines a key of a Secret containing the password for\nauthentication.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "username": {
                    "description": "username defines a key of a Secret containing the username for\nauthentication.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "enableHTTP2": {
                "description": "enableHTTP2 defines whether to enable HTTP2.",
                "type": "boolean"
              },
              "followRedirects": {
                "description": "followRedirects defines whether HTTP requests follow HTTP 3xx redirects.",
                "type": "boolean"
              },
              "noProxy": {
                "description": "noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names\nthat should be excluded from proxying. IP and domain names can\ncontain port numbers.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                "type": "string"
              },
              "oauth2": {
                "description": "oauth2 defines the configuration to use on every scrape request.",
                "properties": {
                  "clientId": {
                    "description": "clientId defines a key of a Secret or ConfigMap containing the\nOAuth2 client's ID.",
                    "properties": {
                      "configMap": {
                        "description": "configMap defines the ConfigMap containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key to select.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the ConfigMap or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "description": "secret defines the Secret containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "clientSecret": {
                    "description": "clientSecret defines a key of a Secret containing the OAuth2\nclient's secret.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "endpointParams": {
                    "additionalProperties": {
                      "type": "string"
                    },
                    "description": "endpointParams configures the HTTP parameters to append to the token\nURL.",
                    "type": "object"
                  },
                  "noProxy": {
                    "description": "noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names\nthat should be excluded from proxying. IP and domain names can\ncontain port numbers.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                    "type": "string"
                  },
                  "proxyConnectHeader": {
                    "additionalProperties": {
                      "items": {
                        "description": "SecretKeySelector selects a key of a Secret.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "type": "array"
                    },
                    "description": "proxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                    "type": "object",
                    "x-kubernetes-map-type": "atomic"
                  },
                  "proxyFromEnvironment": {
                    "description": "proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                    "type": "boolean"
                  },
                  "proxyUrl": {
                    "description": "proxyUrl defines the HTTP proxy server to use.",
                    "pattern": "^(http|https|socks5)://.+$",
                    "type": "string"
                  },
                  "scopes": {
                    "description": "scopes defines the OAuth2 scopes used for the token request.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "tlsConfig": {
                    "description": "tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server.\nIt requires Prometheus >= v2.43.0.",
                    "properties": {
                      "ca": {
                        "description": "ca defines the Certificate authority used when verifying server certificates.",
                        "properties": {
                          "configMap": {
                            "description": "configMap defines the ConfigMap containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key to select.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the ConfigMap or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          },
                          "secret": {
                            "description": "secret defines the Secret containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key of the secret to select from.  Must be a valid secret key.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the Secret or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "cert": {
                        "description": "cert defines the Client certificate to present when doing client-authentication.",
                        "properties": {
                          "configMap": {
                            "description": "configMap defines the ConfigMap containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key to select.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the ConfigMap or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          },
                          "secret": {
                            "description": "secret defines the Secret containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key of the secret to select from.  Must be a valid secret key.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the Secret or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "insecureSkipVerify": {
                        "description": "insecureSkipVerify defines how to disable target certificate validation.",
                        "type": "boolean"
                      },
                      "keySecret": {
                        "description": "keySecret defines the Secret containing the client key file for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "maxVersion": {
                        "description": "maxVersion defines the maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0 or Thanos >= v0.31.0.",
                        "enum": [
                          "TLS10",
                          "TLS11",
                          "TLS12",
                          "TLS13"
                        ],
                        "type": "string"
                      },
                      "minVersion": {
                        "description": "minVersion defines the minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0 or Thanos >= v0.28.0.",
                        "enum": [
                          "TLS10",
                          "TLS11",
                          "TLS12",
                          "TLS13"
                        ],
                        "type": "string"
                      },
                      "serverName": {
                        "description": "serverName is used to verify the hostname for the targets.",
                        "type": "string"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "tokenUrl": {
                    "description": "tokenUrl defines the URL to fetch the token from.",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "clientId",
                  "clientSecret",
                  "tokenUrl"
                ],
                "type": "object",
                "additionalProperties": false
              },
              "proxyConnectHeader": {
                "additionalProperties": {
                  "items": {
                    "description": "SecretKeySelector selects a key of a Secret.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "type": "array"
                },
                "description": "proxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                "type": "object",
                "x-kubernetes-map-type": "atomic"
              },
              "proxyFromEnvironment": {
                "description": "proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                "type": "boolean"
              },
              "proxyUrl": {
                "description": "proxyUrl defines the HTTP proxy server to use.",
                "pattern": "^(http|https|socks5)://.+$",
                "type": "string"
              },
              "refreshInterval": {
                "description": "refreshInterval defines the time after which the provided names are refreshed.\nIf not set, Prometheus uses its default value.",
                "pattern": "^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$",
                "type": "string"
              },
              "server": {
                "description": "server defines the URL to connect to the Eureka server.",
                "minLength": 1,
                "pattern": "^http(s)?://.+$",
                "type": "string"
              },
              "tlsConfig": {
                "description": "tlsConfig defines the TLS configuration to connect to the Consul API.",
                "properties": {
                  "ca": {
                    "description": "ca defines the Certificate authority used when verifying server certificates.",
                    "properties": {
                      "configMap": {
                        "description": "configMap defines the ConfigMap containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key to select.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the ConfigMap or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "description": "secret defines the Secret containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "cert": {
                    "description": "cert defines the Client certificate to present when doing client-authentication.",
                    "properties": {
                      "configMap": {
                        "description": "configMap defines the ConfigMap containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key to select.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the ConfigMap or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "description": "secret defines the Secret containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "insecureSkipVerify": {
                    "description": "insecureSkipVerify defines how to disable target certificate validation.",
                    "type": "boolean"
                  },
                  "keySecret": {
                    "description": "keySecret defines the Secret containing the client key file for the targets.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "maxVersion": {
                    "description": "maxVersion defines the maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0 or Thanos >= v0.31.0.",
                    "enum": [
                      "TLS10",
                      "TLS11",
                      "TLS12",
                      "TLS13"
                    ],
                    "type": "string"
                  },
                  "minVersion": {
                    "description": "minVersion defines the minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0 or Thanos >= v0.28.0.",
                    "enum": [
                      "TLS10",
                      "TLS11",
                      "TLS12",
                      "TLS13"
                    ],
                    "type": "string"
                  },
                  "serverName": {
                    "description": "serverName is used to verify the hostname for the targets.",
                    "type": "string"
                  }
                },
                "type": "object",
                "additionalProperties": false
              }
            },
            "required": [
              "server"
            ],
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        },
        "fallbackScrapeProtocol": {
          "description": "fallbackScrapeProtocol defines the protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type.\n\nIt requires Prometheus >= v3.0.0.",
          "enum": [
            "PrometheusProto",
            "OpenMetricsText0.0.1",
            "OpenMetricsText1.0.0",
            "PrometheusText0.0.4",
            "PrometheusText1.0.0"
          ],
          "type": "string"
        },
        "fileSDConfigs": {
          "description": "fileSDConfigs defines a list of file service discovery configurations.",
          "items": {
            "description": "FileSDConfig defines a Prometheus file service discovery configuration\nSee https://prometheus.io/docs/prometheus/latest/configuration/configuration/#file_sd_config",
            "properties": {
              "files": {
                "description": "files defines the list of files to be used for file discovery. Recommendation: use absolute paths. While relative paths work, the\nprometheus-operator project makes no guarantees about the working directory where the configuration file is\nstored.\nFiles must be mounted using Prometheus.ConfigMaps or Prometheus.Secrets.",
                "items": {
                  "description": "SDFile represents a file used for service discovery",
                  "pattern": "^[^*]*(\\*[^/]*)?\\.(json|yml|yaml|JSON|YML|YAML)$",
                  "type": "string"
                },
                "minItems": 1,
                "type": "array",
                "x-kubernetes-list-type": "set"
              },
              "refreshInterval": {
                "description": "refreshInterval defines the time after which the provided names are refreshed.\nIf not set, Prometheus uses its default value.",
                "pattern": "^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$",
                "type": "string"
              }
            },
            "required": [
              "files"
            ],
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        },
        "gceSDConfigs": {
          "description": "gceSDConfigs defines a list of GCE service discovery configurations.",
          "items": {
            "description": "GCESDConfig configures scrape targets from GCP GCE instances.\nThe private IP address is used by default, but may be changed to\nthe public IP address with relabeling.\nSee https://prometheus.io/docs/prometheus/latest/configuration/configuration/#gce_sd_config\n\nThe GCE service discovery will load the Google Cloud credentials\nfrom the file specified by the GOOGLE_APPLICATION_CREDENTIALS environment variable.\nSee https://cloud.google.com/kubernetes-engine/docs/tutorials/authenticating-to-cloud-platform\n\nA pre-requisite for using GCESDConfig is that a Secret containing valid\nGoogle Cloud credentials is mounted into the Prometheus or PrometheusAgent\npod via the `.spec.secrets` field and that the GOOGLE_APPLICATION_CREDENTIALS\nenvironment variable is set to /etc/prometheus/secrets/<secret-name>/<credentials-filename.json>.",
            "properties": {
              "filter": {
                "description": "filter defines the filter that can be used optionally to filter the instance list by other criteria\nSyntax of this filter is described in the filter query parameter section:\nhttps://cloud.google.com/compute/docs/reference/latest/instances/list",
                "minLength": 1,
                "type": "string"
              },
              "port": {
                "description": "port defines the port to scrape metrics from. If using the public IP address, this must\ninstead be specified in the relabeling rule.",
                "format": "int32",
                "maximum": 65535,
                "minimum": 0,
                "type": "integer"
              },
              "project": {
                "description": "project defines the Google Cloud Project ID",
                "minLength": 1,
                "type": "string"
              },
              "refreshInterval": {
                "description": "refreshInterval defines the time after which the provided names are refreshed.\nIf not set, Prometheus uses its default value.",
                "pattern": "^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$",
                "type": "string"
              },
              "tagSeparator": {
                "description": "tagSeparator defines the tag separator is used to separate the tags on concatenation",
                "minLength": 1,
                "type": "string"
              },
              "zone": {
                "description": "zone defines the zone of the scrape targets. If you need multiple zones use multiple GCESDConfigs.",
                "minLength": 1,
                "type": "string"
              }
            },
            "required": [
              "project",
              "zone"
            ],
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        },
        "hetznerSDConfigs": {
          "description": "hetznerSDConfigs defines a list of Hetzner service discovery configurations.",
          "items": {
            "description": "HetznerSDConfig allow retrieving scrape targets from Hetzner Cloud API and Robot API.\nThis service discovery uses the public IPv4 address by default, but that can be changed with relabeling\nSee https://prometheus.io/docs/prometheus/latest/configuration/configuration/#hetzner_sd_config",
            "properties": {
              "authorization": {
                "description": "authorization defines the  header configuration to authenticate against the DigitalOcean API.\nCannot be set at the same time as `oauth2`.",
                "properties": {
                  "credentials": {
                    "description": "credentials defines a key of a Secret in the namespace that contains the credentials for authentication.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "type": {
                    "description": "type defines the authentication type. The value is case-insensitive.\n\n\"Basic\" is not a supported value.\n\nDefault: \"Bearer\"",
                    "type": "string"
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "basicAuth": {
                "description": "basicAuth defines information to use on every scrape request.",
                "properties": {
                  "password": {
                    "description": "password defines a key of a Secret containing the password for\nauthentication.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "username": {
                    "description": "username defines a key of a Secret containing the username for\nauthentication.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "enableHTTP2": {
                "description": "enableHTTP2 defines whether to enable HTTP2.",
                "type": "boolean"
              },
              "followRedirects": {
                "description": "followRedirects defines whether HTTP requests follow HTTP 3xx redirects.",
                "type": "boolean"
              },
              "labelSelector": {
                "description": "labelSelector defines the label selector used to filter the servers when fetching them from the API.\nIt requires Prometheus >= v3.5.0.",
                "minLength": 1,
                "type": "string"
              },
              "noProxy": {
                "description": "noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names\nthat should be excluded from proxying. IP and domain names can\ncontain port numbers.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                "type": "string"
              },
              "oauth2": {
                "description": "oauth2 defines the configuration to use on every scrape request.",
                "properties": {
                  "clientId": {
                    "description": "clientId defines a key of a Secret or ConfigMap containing the\nOAuth2 client's ID.",
                    "properties": {
                      "configMap": {
                        "description": "configMap defines the ConfigMap containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key to select.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the ConfigMap or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "description": "secret defines the Secret containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "clientSecret": {
                    "description": "clientSecret defines a key of a Secret containing the OAuth2\nclient's secret.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "endpointParams": {
                    "additionalProperties": {
                      "type": "string"
                    },
                    "description": "endpointParams configures the HTTP parameters to append to the token\nURL.",
                    "type": "object"
                  },
                  "noProxy": {
                    "description": "noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names\nthat should be excluded from proxying. IP and domain names can\ncontain port numbers.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                    "type": "string"
                  },
                  "proxyConnectHeader": {
                    "additionalProperties": {
                      "items": {
                        "description": "SecretKeySelector selects a key of a Secret.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "type": "array"
                    },
                    "description": "proxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                    "type": "object",
                    "x-kubernetes-map-type": "atomic"
                  },
                  "proxyFromEnvironment": {
                    "description": "proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                    "type": "boolean"
                  },
                  "proxyUrl": {
                    "description": "proxyUrl defines the HTTP proxy server to use.",
                    "pattern": "^(http|https|socks5)://.+$",
                    "type": "string"
                  },
                  "scopes": {
                    "description": "scopes defines the OAuth2 scopes used for the token request.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "tlsConfig": {
                    "description": "tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server.\nIt requires Prometheus >= v2.43.0.",
                    "properties": {
                      "ca": {
                        "description": "ca defines the Certificate authority used when verifying server certificates.",
                        "properties": {
                          "configMap": {
                            "description": "configMap defines the ConfigMap containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key to select.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the ConfigMap or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          },
                          "secret": {
                            "description": "secret defines the Secret containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key of the secret to select from.  Must be a valid secret key.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the Secret or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "cert": {
                        "description": "cert defines the Client certificate to present when doing client-authentication.",
                        "properties": {
                          "configMap": {
                            "description": "configMap defines the ConfigMap containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key to select.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the ConfigMap or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          },
                          "secret": {
                            "description": "secret defines the Secret containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key of the secret to select from.  Must be a valid secret key.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the Secret or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "insecureSkipVerify": {
                        "description": "insecureSkipVerify defines how to disable target certificate validation.",
                        "type": "boolean"
                      },
                      "keySecret": {
                        "description": "keySecret defines the Secret containing the client key file for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "maxVersion": {
                        "description": "maxVersion defines the maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0 or Thanos >= v0.31.0.",
                        "enum": [
                          "TLS10",
                          "TLS11",
                          "TLS12",
                          "TLS13"
                        ],
                        "type": "string"
                      },
                      "minVersion": {
                        "description": "minVersion defines the minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0 or Thanos >= v0.28.0.",
                        "enum": [
                          "TLS10",
                          "TLS11",
                          "TLS12",
                          "TLS13"
                        ],
                        "type": "string"
                      },
                      "serverName": {
                        "description": "serverName is used to verify the hostname for the targets.",
                        "type": "string"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "tokenUrl": {
                    "description": "tokenUrl defines the URL to fetch the token from.",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "clientId",
                  "clientSecret",
                  "tokenUrl"
                ],
                "type": "object",
                "additionalProperties": false
              },
              "port": {
                "description": "port defines the port to scrape metrics from. If using the public IP address, this must",
                "format": "int32",
                "maximum": 65535,
                "minimum": 0,
                "type": "integer"
              },
              "proxyConnectHeader": {
                "additionalProperties": {
                  "items": {
                    "description": "SecretKeySelector selects a key of a Secret.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "type": "array"
                },
                "description": "proxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                "type": "object",
                "x-kubernetes-map-type": "atomic"
              },
              "proxyFromEnvironment": {
                "description": "proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                "type": "boolean"
              },
              "proxyUrl": {
                "description": "proxyUrl defines the HTTP proxy server to use.",
                "pattern": "^(http|https|socks5)://.+$",
                "type": "string"
              },
              "refreshInterval": {
                "description": "refreshInterval defines the time after which the provided names are refreshed.\nIf not set, Prometheus uses its default value.",
                "pattern": "^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$",
                "type": "string"
              },
              "role": {
                "description": "role defines the Hetzner role of entities that should be discovered.",
                "enum": [
                  "hcloud",
                  "Hcloud",
                  "robot",
                  "Robot"
                ],
                "type": "string"
              },
              "tlsConfig": {
                "description": "tlsConfig defines the TLS configuration to connect to the Consul API.",
                "properties": {
                  "ca": {
                    "description": "ca defines the Certificate authority used when verifying server certificates.",
                    "properties": {
                      "configMap": {
                        "description": "configMap defines the ConfigMap containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key to select.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the ConfigMap or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "description": "secret defines the Secret containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "cert": {
                    "description": "cert defines the Client certificate to present when doing client-authentication.",
                    "properties": {
                      "configMap": {
                        "description": "configMap defines the ConfigMap containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key to select.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the ConfigMap or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "description": "secret defines the Secret containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "insecureSkipVerify": {
                    "description": "insecureSkipVerify defines how to disable target certificate validation.",
                    "type": "boolean"
                  },
                  "keySecret": {
                    "description": "keySecret defines the Secret containing the client key file for the targets.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "maxVersion": {
                    "description": "maxVersion defines the maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0 or Thanos >= v0.31.0.",
                    "enum": [
                      "TLS10",
                      "TLS11",
                      "TLS12",
                      "TLS13"
                    ],
                    "type": "string"
                  },
                  "minVersion": {
                    "description": "minVersion defines the minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0 or Thanos >= v0.28.0.",
                    "enum": [
                      "TLS10",
                      "TLS11",
                      "TLS12",
                      "TLS13"
                    ],
                    "type": "string"
                  },
                  "serverName": {
                    "description": "serverName is used to verify the hostname for the targets.",
                    "type": "string"
                  }
                },
                "type": "object",
                "additionalProperties": false
              }
            },
            "required": [
              "role"
            ],
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        },
        "honorLabels": {
          "description": "honorLabels defines when true the metric's labels when they collide\nwith the target's labels.",
          "type": "boolean"
        },
        "honorTimestamps": {
          "description": "honorTimestamps defines whether Prometheus preserves the timestamps\nwhen exposed by the target.",
          "type": "boolean"
        },
        "httpSDConfigs": {
          "description": "httpSDConfigs defines a list of HTTP service discovery configurations.",
          "items": {
            "description": "HTTPSDConfig defines a prometheus HTTP service discovery configuration\nSee https://prometheus.io/docs/prometheus/latest/configuration/configuration/#http_sd_config",
            "properties": {
              "authorization": {
                "description": "authorization defines the authorization header configuration to authenticate against the target HTTP endpoint.\nCannot be set at the same time as `oAuth2`, or `basicAuth`.",
                "properties": {
                  "credentials": {
                    "description": "credentials defines a key of a Secret in the namespace that contains the credentials for authentication.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "type": {
                    "description": "type defines the authentication type. The value is case-insensitive.\n\n\"Basic\" is not a supported value.\n\nDefault: \"Bearer\"",
                    "type": "string"
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "basicAuth": {
                "description": "basicAuth defines information to use on every scrape request.\nMore info: https://prometheus.io/docs/operating/configuration/#endpoints\nCannot be set at the same time as `authorization`, or `oAuth2`.",
                "properties": {
                  "password": {
                    "description": "password defines a key of a Secret containing the password for\nauthentication.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "username": {
                    "description": "username defines a key of a Secret containing the username for\nauthentication.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "enableHTTP2": {
                "description": "enableHTTP2 defines whether to enable HTTP2.",
                "type": "boolean"
              },
              "followRedirects": {
                "description": "followRedirects defines whether HTTP requests follow HTTP 3xx redirects.",
                "type": "boolean"
              },
              "noProxy": {
                "description": "noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names\nthat should be excluded from proxying. IP and domain names can\ncontain port numbers.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                "type": "string"
              },
              "oauth2": {
                "description": "oauth2 defines the optional OAuth 2.0 configuration to authenticate against the target HTTP endpoint.\nCannot be set at the same time as `authorization`, or `basicAuth`.",
                "properties": {
                  "clientId": {
                    "description": "clientId defines a key of a Secret or ConfigMap containing the\nOAuth2 client's ID.",
                    "properties": {
                      "configMap": {
                        "description": "configMap defines the ConfigMap containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key to select.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the ConfigMap or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "description": "secret defines the Secret containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "clientSecret": {
                    "description": "clientSecret defines a key of a Secret containing the OAuth2\nclient's secret.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "endpointParams": {
                    "additionalProperties": {
                      "type": "string"
                    },
                    "description": "endpointParams configures the HTTP parameters to append to the token\nURL.",
                    "type": "object"
                  },
                  "noProxy": {
                    "description": "noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names\nthat should be excluded from proxying. IP and domain names can\ncontain port numbers.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                    "type": "string"
                  },
                  "proxyConnectHeader": {
                    "additionalProperties": {
                      "items": {
                        "description": "SecretKeySelector selects a key of a Secret.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "type": "array"
                    },
                    "description": "proxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                    "type": "object",
                    "x-kubernetes-map-type": "atomic"
                  },
                  "proxyFromEnvironment": {
                    "description": "proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                    "type": "boolean"
                  },
                  "proxyUrl": {
                    "description": "proxyUrl defines the HTTP proxy server to use.",
                    "pattern": "^(http|https|socks5)://.+$",
                    "type": "string"
                  },
                  "scopes": {
                    "description": "scopes defines the OAuth2 scopes used for the token request.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "tlsConfig": {
                    "description": "tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server.\nIt requires Prometheus >= v2.43.0.",
                    "properties": {
                      "ca": {
                        "description": "ca defines the Certificate authority used when verifying server certificates.",
                        "properties": {
                          "configMap": {
                            "description": "configMap defines the ConfigMap containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key to select.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the ConfigMap or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          },
                          "secret": {
                            "description": "secret defines the Secret containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key of the secret to select from.  Must be a valid secret key.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the Secret or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "cert": {
                        "description": "cert defines the Client certificate to present when doing client-authentication.",
                        "properties": {
                          "configMap": {
                            "description": "configMap defines the ConfigMap containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key to select.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the ConfigMap or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          },
                          "secret": {
                            "description": "secret defines the Secret containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key of the secret to select from.  Must be a valid secret key.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the Secret or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "insecureSkipVerify": {
                        "description": "insecureSkipVerify defines how to disable target certificate validation.",
                        "type": "boolean"
                      },
                      "keySecret": {
                        "description": "keySecret defines the Secret containing the client key file for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "maxVersion": {
                        "description": "maxVersion defines the maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0 or Thanos >= v0.31.0.",
                        "enum": [
                          "TLS10",
                          "TLS11",
                          "TLS12",
                          "TLS13"
                        ],
                        "type": "string"
                      },
                      "minVersion": {
                        "description": "minVersion defines the minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0 or Thanos >= v0.28.0.",
                        "enum": [
                          "TLS10",
                          "TLS11",
                          "TLS12",
                          "TLS13"
                        ],
                        "type": "string"
                      },
                      "serverName": {
                        "description": "serverName is used to verify the hostname for the targets.",
                        "type": "string"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "tokenUrl": {
                    "description": "tokenUrl defines the URL to fetch the token from.",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "clientId",
                  "clientSecret",
                  "tokenUrl"
                ],
                "type": "object",
                "additionalProperties": false
              },
              "proxyConnectHeader": {
                "additionalProperties": {
                  "items": {
                    "description": "SecretKeySelector selects a key of a Secret.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "type": "array"
                },
                "description": "proxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                "type": "object",
                "x-kubernetes-map-type": "atomic"
              },
              "proxyFromEnvironment": {
                "description": "proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                "type": "boolean"
              },
              "proxyUrl": {
                "description": "proxyUrl defines the HTTP proxy server to use.",
                "pattern": "^(http|https|socks5)://.+$",
                "type": "string"
              },
              "refreshInterval": {
                "description": "refreshInterval defines the time after which the provided names are refreshed.\nIf not set, Prometheus uses its default value.",
                "pattern": "^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$",
                "type": "string"
              },
              "tlsConfig": {
                "description": "tlsConfig defines the TLS configuration applying to the target HTTP endpoint.",
                "properties": {
                  "ca": {
                    "description": "ca defines the Certificate authority used when verifying server certificates.",
                    "properties": {
                      "configMap": {
                        "description": "configMap defines the ConfigMap containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key to select.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the ConfigMap or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "description": "secret defines the Secret containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "cert": {
                    "description": "cert defines the Client certificate to present when doing client-authentication.",
                    "properties": {
                      "configMap": {
                        "description": "configMap defines the ConfigMap containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key to select.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the ConfigMap or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "description": "secret defines the Secret containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "insecureSkipVerify": {
                    "description": "insecureSkipVerify defines how to disable target certificate validation.",
                    "type": "boolean"
                  },
                  "keySecret": {
                    "description": "keySecret defines the Secret containing the client key file for the targets.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "maxVersion": {
                    "description": "maxVersion defines the maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0 or Thanos >= v0.31.0.",
                    "enum": [
                      "TLS10",
                      "TLS11",
                      "TLS12",
                      "TLS13"
                    ],
                    "type": "string"
                  },
                  "minVersion": {
                    "description": "minVersion defines the minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0 or Thanos >= v0.28.0.",
                    "enum": [
                      "TLS10",
                      "TLS11",
                      "TLS12",
                      "TLS13"
                    ],
                    "type": "string"
                  },
                  "serverName": {
                    "description": "serverName is used to verify the hostname for the targets.",
                    "type": "string"
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "url": {
                "description": "url defines the URL from which the targets are fetched.",
                "minLength": 1,
                "pattern": "^http(s)?://.+$",
                "type": "string"
              }
            },
            "required": [
              "url"
            ],
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        },
        "ionosSDConfigs": {
          "description": "ionosSDConfigs defines a list of IONOS service discovery configurations.",
          "items": {
            "description": "IonosSDConfig configurations allow retrieving scrape targets from IONOS resources.\nSee https://prometheus.io/docs/prometheus/latest/configuration/configuration/#ionos_sd_config",
            "properties": {
              "authorization": {
                "description": "authorization defines the  header configuration to authenticate against the IONOS.\nCannot be set at the same time as `oauth2`.",
                "properties": {
                  "credentials": {
                    "description": "credentials defines a key of a Secret in the namespace that contains the credentials for authentication.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "type": {
                    "description": "type defines the authentication type. The value is case-insensitive.\n\n\"Basic\" is not a supported value.\n\nDefault: \"Bearer\"",
                    "type": "string"
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "datacenterID": {
                "description": "datacenterID defines the unique ID of the IONOS data center.",
                "minLength": 1,
                "type": "string"
              },
              "enableHTTP2": {
                "description": "enableHTTP2 defines whether to enable HTTP2.",
                "type": "boolean"
              },
              "followRedirects": {
                "description": "followRedirects defines whether HTTP requests follow HTTP 3xx redirects.",
                "type": "boolean"
              },
              "noProxy": {
                "description": "noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names\nthat should be excluded from proxying. IP and domain names can\ncontain port numbers.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                "type": "string"
              },
              "oauth2": {
                "description": "oauth2 defines the configuration to use on every scrape request.",
                "properties": {
                  "clientId": {
                    "description": "clientId defines a key of a Secret or ConfigMap containing the\nOAuth2 client's ID.",
                    "properties": {
                      "configMap": {
                        "description": "configMap defines the ConfigMap containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key to select.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the ConfigMap or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "description": "secret defines the Secret containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "clientSecret": {
                    "description": "clientSecret defines a key of a Secret containing the OAuth2\nclient's secret.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "endpointParams": {
                    "additionalProperties": {
                      "type": "string"
                    },
                    "description": "endpointParams configures the HTTP parameters to append to the token\nURL.",
                    "type": "object"
                  },
                  "noProxy": {
                    "description": "noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names\nthat should be excluded from proxying. IP and domain names can\ncontain port numbers.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                    "type": "string"
                  },
                  "proxyConnectHeader": {
                    "additionalProperties": {
                      "items": {
                        "description": "SecretKeySelector selects a key of a Secret.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "type": "array"
                    },
                    "description": "proxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                    "type": "object",
                    "x-kubernetes-map-type": "atomic"
                  },
                  "proxyFromEnvironment": {
                    "description": "proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                    "type": "boolean"
                  },
                  "proxyUrl": {
                    "description": "proxyUrl defines the HTTP proxy server to use.",
                    "pattern": "^(http|https|socks5)://.+$",
                    "type": "string"
                  },
                  "scopes": {
                    "description": "scopes defines the OAuth2 scopes used for the token request.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "tlsConfig": {
                    "description": "tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server.\nIt requires Prometheus >= v2.43.0.",
                    "properties": {
                      "ca": {
                        "description": "ca defines the Certificate authority used when verifying server certificates.",
                        "properties": {
                          "configMap": {
                            "description": "configMap defines the ConfigMap containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key to select.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the ConfigMap or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          },
                          "secret": {
                            "description": "secret defines the Secret containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key of the secret to select from.  Must be a valid secret key.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the Secret or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "cert": {
                        "description": "cert defines the Client certificate to present when doing client-authentication.",
                        "properties": {
                          "configMap": {
                            "description": "configMap defines the ConfigMap containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key to select.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the ConfigMap or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          },
                          "secret": {
                            "description": "secret defines the Secret containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key of the secret to select from.  Must be a valid secret key.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the Secret or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "insecureSkipVerify": {
                        "description": "insecureSkipVerify defines how to disable target certificate validation.",
                        "type": "boolean"
                      },
                      "keySecret": {
                        "description": "keySecret defines the Secret containing the client key file for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "maxVersion": {
                        "description": "maxVersion defines the maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0 or Thanos >= v0.31.0.",
                        "enum": [
                          "TLS10",
                          "TLS11",
                          "TLS12",
                          "TLS13"
                        ],
                        "type": "string"
                      },
                      "minVersion": {
                        "description": "minVersion defines the minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0 or Thanos >= v0.28.0.",
                        "enum": [
                          "TLS10",
                          "TLS11",
                          "TLS12",
                          "TLS13"
                        ],
                        "type": "string"
                      },
                      "serverName": {
                        "description": "serverName is used to verify the hostname for the targets.",
                        "type": "string"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "tokenUrl": {
                    "description": "tokenUrl defines the URL to fetch the token from.",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "clientId",
                  "clientSecret",
                  "tokenUrl"
                ],
                "type": "object",
                "additionalProperties": false
              },
              "port": {
                "description": "port defines the port to scrape metrics from. If using the public IP address, this must",
                "format": "int32",
                "maximum": 65535,
                "minimum": 0,
                "type": "integer"
              },
              "proxyConnectHeader": {
                "additionalProperties": {
                  "items": {
                    "description": "SecretKeySelector selects a key of a Secret.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "type": "array"
                },
                "description": "proxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                "type": "object",
                "x-kubernetes-map-type": "atomic"
              },
              "proxyFromEnvironment": {
                "description": "proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                "type": "boolean"
              },
              "proxyUrl": {
                "description": "proxyUrl defines the HTTP proxy server to use.",
                "pattern": "^(http|https|socks5)://.+$",
                "type": "string"
              },
              "refreshInterval": {
                "description": "refreshInterval defines the time after which the provided names are refreshed.\nIf not set, Prometheus uses its default value.",
                "pattern": "^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$",
                "type": "string"
              },
              "tlsConfig": {
                "description": "tlsConfig defines the TLS configuration to connect to the Consul API.",
                "properties": {
                  "ca": {
                    "description": "ca defines the Certificate authority used when verifying server certificates.",
                    "properties": {
                      "configMap": {
                        "description": "configMap defines the ConfigMap containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key to select.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the ConfigMap or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "description": "secret defines the Secret containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "cert": {
                    "description": "cert defines the Client certificate to present when doing client-authentication.",
                    "properties": {
                      "configMap": {
                        "description": "configMap defines the ConfigMap containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key to select.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the ConfigMap or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "description": "secret defines the Secret containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "insecureSkipVerify": {
                    "description": "insecureSkipVerify defines how to disable target certificate validation.",
                    "type": "boolean"
                  },
                  "keySecret": {
                    "description": "keySecret defines the Secret containing the client key file for the targets.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "maxVersion": {
                    "description": "maxVersion defines the maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0 or Thanos >= v0.31.0.",
                    "enum": [
                      "TLS10",
                      "TLS11",
                      "TLS12",
                      "TLS13"
                    ],
                    "type": "string"
                  },
                  "minVersion": {
                    "description": "minVersion defines the minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0 or Thanos >= v0.28.0.",
                    "enum": [
                      "TLS10",
                      "TLS11",
                      "TLS12",
                      "TLS13"
                    ],
                    "type": "string"
                  },
                  "serverName": {
                    "description": "serverName is used to verify the hostname for the targets.",
                    "type": "string"
                  }
                },
                "type": "object",
                "additionalProperties": false
              }
            },
            "required": [
              "authorization",
              "datacenterID"
            ],
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        },
        "jobName": {
          "description": "jobName defines the value of the `job` label assigned to the scraped metrics by default.\n\nThe `job_name` field in the rendered scrape configuration is always controlled by the\noperator to prevent duplicate job names, which Prometheus does not allow. Instead the\n`job` label is set by means of relabeling configs.",
          "minLength": 1,
          "type": "string"
        },
        "keepDroppedTargets": {
          "description": "keepDroppedTargets defines the per-scrape limit on the number of targets dropped by relabeling\nthat will be kept in memory. 0 means no limit.\n\nIt requires Prometheus >= v2.47.0.",
          "format": "int64",
          "type": "integer"
        },
        "kubernetesSDConfigs": {
          "description": "kubernetesSDConfigs defines a list of Kubernetes service discovery configurations.",
          "items": {
            "description": "KubernetesSDConfig allows retrieving scrape targets from Kubernetes' REST API.\nSee https://prometheus.io/docs/prometheus/latest/configuration/configuration/#kubernetes_sd_config",
            "properties": {
              "apiServer": {
                "description": "apiServer defines the API server address consisting of a hostname or IP address followed\nby an optional port number.\nIf left empty, Prometheus is assumed to run inside\nof the cluster. It will discover API servers automatically and use the pod's\nCA certificate and bearer token file at /var/run/secrets/kubernetes.io/serviceaccount/.",
                "minLength": 1,
                "type": "string"
              },
              "attachMetadata": {
                "description": "attachMetadata defines the metadata to attach to discovered targets.\nIt requires Prometheus >= v2.35.0 when using the `Pod` role and\nPrometheus >= v2.37.0 for `Endpoints` and `Endpointslice` roles.",
                "properties": {
                  "node": {
                    "description": "node attaches node metadata to discovered targets.\nWhen set to true, Prometheus must have the `get` permission on the\n`Nodes` objects.\nOnly valid for Pod, Endpoint and Endpointslice roles.",
                    "type": "boolean"
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "authorization": {
                "description": "authorization defines the authorization header to use on every scrape request.\nCannot be set at the same time as `basicAuth`, or `oauth2`.",
                "properties": {
                  "credentials": {
                    "description": "credentials defines a key of a Secret in the namespace that contains the credentials for authentication.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "type": {
                    "description": "type defines the authentication type. The value is case-insensitive.\n\n\"Basic\" is not a supported value.\n\nDefault: \"Bearer\"",
                    "type": "string"
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "basicAuth": {
                "description": "basicAuth defines information to use on every scrape request.\nCannot be set at the same time as `authorization`, or `oauth2`.",
                "properties": {
                  "password": {
                    "description": "password defines a key of a Secret containing the password for\nauthentication.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "username": {
                    "description": "username defines a key of a Secret containing the username for\nauthentication.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "enableHTTP2": {
                "description": "enableHTTP2 defines whether to enable HTTP2.",
                "type": "boolean"
              },
              "followRedirects": {
                "description": "followRedirects defines whether HTTP requests follow HTTP 3xx redirects.",
                "type": "boolean"
              },
              "namespaces": {
                "description": "namespaces defines the namespace discovery. If omitted, Prometheus discovers targets across all namespaces.",
                "properties": {
                  "names": {
                    "description": "names defines a list of namespaces where to watch for resources.\nIf empty and `ownNamespace` isn't true, Prometheus watches for resources in all namespaces.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "x-kubernetes-list-type": "set"
                  },
                  "ownNamespace": {
                    "description": "ownNamespace includes the namespace in which the Prometheus pod runs to the list of watched namespaces.",
                    "type": "boolean"
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "noProxy": {
                "description": "noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names\nthat should be excluded from proxying. IP and domain names can\ncontain port numbers.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                "type": "string"
              },
              "oauth2": {
                "description": "oauth2 defines the optional OAuth 2.0 configuration to authenticate against the target HTTP endpoint.\nCannot be set at the same time as `authorization`, or `basicAuth`.",
                "properties": {
                  "clientId": {
                    "description": "clientId defines a key of a Secret or ConfigMap containing the\nOAuth2 client's ID.",
                    "properties": {
                      "configMap": {
                        "description": "configMap defines the ConfigMap containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key to select.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the ConfigMap or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "description": "secret defines the Secret containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "clientSecret": {
                    "description": "clientSecret defines a key of a Secret containing the OAuth2\nclient's secret.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "endpointParams": {
                    "additionalProperties": {
                      "type": "string"
                    },
                    "description": "endpointParams configures the HTTP parameters to append to the token\nURL.",
                    "type": "object"
                  },
                  "noProxy": {
                    "description": "noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names\nthat should be excluded from proxying. IP and domain names can\ncontain port numbers.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                    "type": "string"
                  },
                  "proxyConnectHeader": {
                    "additionalProperties": {
                      "items": {
                        "description": "SecretKeySelector selects a key of a Secret.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "type": "array"
                    },
                    "description": "proxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                    "type": "object",
                    "x-kubernetes-map-type": "atomic"
                  },
                  "proxyFromEnvironment": {
                    "description": "proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                    "type": "boolean"
                  },
                  "proxyUrl": {
                    "description": "proxyUrl defines the HTTP proxy server to use.",
                    "pattern": "^(http|https|socks5)://.+$",
                    "type": "string"
                  },
                  "scopes": {
                    "description": "scopes defines the OAuth2 scopes used for the token request.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "tlsConfig": {
                    "description": "tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server.\nIt requires Prometheus >= v2.43.0.",
                    "properties": {
                      "ca": {
                        "description": "ca defines the Certificate authority used when verifying server certificates.",
                        "properties": {
                          "configMap": {
                            "description": "configMap defines the ConfigMap containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key to select.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the ConfigMap or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          },
                          "secret": {
                            "description": "secret defines the Secret containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key of the secret to select from.  Must be a valid secret key.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the Secret or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "cert": {
                        "description": "cert defines the Client certificate to present when doing client-authentication.",
                        "properties": {
                          "configMap": {
                            "description": "configMap defines the ConfigMap containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key to select.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the ConfigMap or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          },
                          "secret": {
                            "description": "secret defines the Secret containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key of the secret to select from.  Must be a valid secret key.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the Secret or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "insecureSkipVerify": {
                        "description": "insecureSkipVerify defines how to disable target certificate validation.",
                        "type": "boolean"
                      },
                      "keySecret": {
                        "description": "keySecret defines the Secret containing the client key file for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "maxVersion": {
                        "description": "maxVersion defines the maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0 or Thanos >= v0.31.0.",
                        "enum": [
                          "TLS10",
                          "TLS11",
                          "TLS12",
                          "TLS13"
                        ],
                        "type": "string"
                      },
                      "minVersion": {
                        "description": "minVersion defines the minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0 or Thanos >= v0.28.0.",
                        "enum": [
                          "TLS10",
                          "TLS11",
                          "TLS12",
                          "TLS13"
                        ],
                        "type": "string"
                      },
                      "serverName": {
                        "description": "serverName is used to verify the hostname for the targets.",
                        "type": "string"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "tokenUrl": {
                    "description": "tokenUrl defines the URL to fetch the token from.",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "clientId",
                  "clientSecret",
                  "tokenUrl"
                ],
                "type": "object",
                "additionalProperties": false
              },
              "proxyConnectHeader": {
                "additionalProperties": {
                  "items": {
                    "description": "SecretKeySelector selects a key of a Secret.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "type": "array"
                },
                "description": "proxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                "type": "object",
                "x-kubernetes-map-type": "atomic"
              },
              "proxyFromEnvironment": {
                "description": "proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                "type": "boolean"
              },
              "proxyUrl": {
                "description": "proxyUrl defines the HTTP proxy server to use.",
                "pattern": "^(http|https|socks5)://.+$",
                "type": "string"
              },
              "role": {
                "description": "role defines the Kubernetes role of the entities that should be discovered.\nRole `Endpointslice` requires Prometheus >= v2.21.0",
                "enum": [
                  "Pod",
                  "Endpoints",
                  "Ingress",
                  "Service",
                  "Node",
                  "EndpointSlice"
                ],
                "type": "string"
              },
              "selectors": {
                "description": "selectors defines the selector to select objects.\nIt requires Prometheus >= v2.17.0",
                "items": {
                  "description": "K8SSelectorConfig is Kubernetes Selector Config",
                  "properties": {
                    "field": {
                      "description": "field defines an optional field selector to limit the service discovery to resources which have fields with specific values.\ne.g: `metadata.name=foobar`",
                      "minLength": 1,
                      "type": "string"
                    },
                    "label": {
                      "description": "label defines an optional label selector to limit the service discovery to resources with specific labels and label values.\ne.g: `node.kubernetes.io/instance-type=master`",
                      "minLength": 1,
                      "type": "string"
                    },
                    "role": {
                      "description": "role defines the type of Kubernetes resource to limit the service discovery to.\nAccepted values are: Node, Pod, Endpoints, EndpointSlice, Service, Ingress.",
                      "enum": [
                        "Pod",
                        "Endpoints",
                        "Ingress",
                        "Service",
                        "Node",
                        "EndpointSlice"
                      ],
                      "type": "string"
                    }
                  },
                  "required": [
                    "role"
                  ],
                  "type": "object",
                  "additionalProperties": false
                },
                "type": "array",
                "x-kubernetes-list-map-keys": [
                  "role"
                ],
                "x-kubernetes-list-type": "map"
              },
              "tlsConfig": {
                "description": "tlsConfig defines the TLS configuration to connect to the Kubernetes API.",
                "properties": {
                  "ca": {
                    "description": "ca defines the Certificate authority used when verifying server certificates.",
                    "properties": {
                      "configMap": {
                        "description": "configMap defines the ConfigMap containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key to select.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the ConfigMap or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "description": "secret defines the Secret containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "cert": {
                    "description": "cert defines the Client certificate to present when doing client-authentication.",
                    "properties": {
                      "configMap": {
                        "description": "configMap defines the ConfigMap containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key to select.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the ConfigMap or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "description": "secret defines the Secret containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "insecureSkipVerify": {
                    "description": "insecureSkipVerify defines how to disable target certificate validation.",
                    "type": "boolean"
                  },
                  "keySecret": {
                    "description": "keySecret defines the Secret containing the client key file for the targets.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "maxVersion": {
                    "description": "maxVersion defines the maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0 or Thanos >= v0.31.0.",
                    "enum": [
                      "TLS10",
                      "TLS11",
                      "TLS12",
                      "TLS13"
                    ],
                    "type": "string"
                  },
                  "minVersion": {
                    "description": "minVersion defines the minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0 or Thanos >= v0.28.0.",
                    "enum": [
                      "TLS10",
                      "TLS11",
                      "TLS12",
                      "TLS13"
                    ],
                    "type": "string"
                  },
                  "serverName": {
                    "description": "serverName is used to verify the hostname for the targets.",
                    "type": "string"
                  }
                },
                "type": "object",
                "additionalProperties": false
              }
            },
            "required": [
              "role"
            ],
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        },
        "kumaSDConfigs": {
          "description": "kumaSDConfigs defines a list of Kuma service discovery configurations.",
          "items": {
            "description": "KumaSDConfig allow retrieving scrape targets from Kuma's control plane.\nSee https://prometheus.io/docs/prometheus/latest/configuration/configuration/#kuma_sd_config",
            "properties": {
              "authorization": {
                "description": "authorization defines the  header configuration to authenticate against the DigitalOcean API.\nCannot be set at the same time as `oauth2`.",
                "properties": {
                  "credentials": {
                    "description": "credentials defines a key of a Secret in the namespace that contains the credentials for authentication.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "type": {
                    "description": "type defines the authentication type. The value is case-insensitive.\n\n\"Basic\" is not a supported value.\n\nDefault: \"Bearer\"",
                    "type": "string"
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "basicAuth": {
                "description": "basicAuth defines information to use on every scrape request.",
                "properties": {
                  "password": {
                    "description": "password defines a key of a Secret containing the password for\nauthentication.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "username": {
                    "description": "username defines a key of a Secret containing the username for\nauthentication.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "clientID": {
                "description": "clientID is used by Kuma Control Plane to compute Monitoring Assignment for specific Prometheus backend.\nIt requires Prometheus >= v2.50.0.",
                "minLength": 1,
                "type": "string"
              },
              "enableHTTP2": {
                "description": "enableHTTP2 defines whether to enable HTTP2.",
                "type": "boolean"
              },
              "fetchTimeout": {
                "description": "fetchTimeout defines the time after which the monitoring assignments are refreshed.",
                "pattern": "^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$",
                "type": "string"
              },
              "followRedirects": {
                "description": "followRedirects defines whether HTTP requests follow HTTP 3xx redirects.",
                "type": "boolean"
              },
              "noProxy": {
                "description": "noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names\nthat should be excluded from proxying. IP and domain names can\ncontain port numbers.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                "type": "string"
              },
              "oauth2": {
                "description": "oauth2 defines the configuration to use on every scrape request.",
                "properties": {
                  "clientId": {
                    "description": "clientId defines a key of a Secret or ConfigMap containing the\nOAuth2 client's ID.",
                    "properties": {
                      "configMap": {
                        "description": "configMap defines the ConfigMap containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key to select.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the ConfigMap or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "description": "secret defines the Secret containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "clientSecret": {
                    "description": "clientSecret defines a key of a Secret containing the OAuth2\nclient's secret.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "endpointParams": {
                    "additionalProperties": {
                      "type": "string"
                    },
                    "description": "endpointParams configures the HTTP parameters to append to the token\nURL.",
                    "type": "object"
                  },
                  "noProxy": {
                    "description": "noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names\nthat should be excluded from proxying. IP and domain names can\ncontain port numbers.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                    "type": "string"
                  },
                  "proxyConnectHeader": {
                    "additionalProperties": {
                      "items": {
                        "description": "SecretKeySelector selects a key of a Secret.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "type": "array"
                    },
                    "description": "proxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                    "type": "object",
                    "x-kubernetes-map-type": "atomic"
                  },
                  "proxyFromEnvironment": {
                    "description": "proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                    "type": "boolean"
                  },
                  "proxyUrl": {
                    "description": "proxyUrl defines the HTTP proxy server to use.",
                    "pattern": "^(http|https|socks5)://.+$",
                    "type": "string"
                  },
                  "scopes": {
                    "description": "scopes defines the OAuth2 scopes used for the token request.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "tlsConfig": {
                    "description": "tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server.\nIt requires Prometheus >= v2.43.0.",
                    "properties": {
                      "ca": {
                        "description": "ca defines the Certificate authority used when verifying server certificates.",
                        "properties": {
                          "configMap": {
                            "description": "configMap defines the ConfigMap containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key to select.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the ConfigMap or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          },
                          "secret": {
                            "description": "secret defines the Secret containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key of the secret to select from.  Must be a valid secret key.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the Secret or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "cert": {
                        "description": "cert defines the Client certificate to present when doing client-authentication.",
                        "properties": {
                          "configMap": {
                            "description": "configMap defines the ConfigMap containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key to select.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the ConfigMap or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          },
                          "secret": {
                            "description": "secret defines the Secret containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key of the secret to select from.  Must be a valid secret key.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the Secret or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "insecureSkipVerify": {
                        "description": "insecureSkipVerify defines how to disable target certificate validation.",
                        "type": "boolean"
                      },
                      "keySecret": {
                        "description": "keySecret defines the Secret containing the client key file for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "maxVersion": {
                        "description": "maxVersion defines the maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0 or Thanos >= v0.31.0.",
                        "enum": [
                          "TLS10",
                          "TLS11",
                          "TLS12",
                          "TLS13"
                        ],
                        "type": "string"
                      },
                      "minVersion": {
                        "description": "minVersion defines the minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0 or Thanos >= v0.28.0.",
                        "enum": [
                          "TLS10",
                          "TLS11",
                          "TLS12",
                          "TLS13"
                        ],
                        "type": "string"
                      },
                      "serverName": {
                        "description": "serverName is used to verify the hostname for the targets.",
                        "type": "string"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "tokenUrl": {
                    "description": "tokenUrl defines the URL to fetch the token from.",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "clientId",
                  "clientSecret",
                  "tokenUrl"
                ],
                "type": "object",
                "additionalProperties": false
              },
              "proxyConnectHeader": {
                "additionalProperties": {
                  "items": {
                    "description": "SecretKeySelector selects a key of a Secret.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "type": "array"
                },
                "description": "proxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                "type": "object",
                "x-kubernetes-map-type": "atomic"
              },
              "proxyFromEnvironment": {
                "description": "proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                "type": "boolean"
              },
              "proxyUrl": {
                "description": "proxyUrl defines the HTTP proxy server to use.",
                "pattern": "^(http|https|socks5)://.+$",
                "type": "string"
              },
              "refreshInterval": {
                "description": "refreshInterval defines the time after which the provided names are refreshed.\nIf not set, Prometheus uses its default value.",
                "pattern": "^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$",
                "type": "string"
              },
              "server": {
                "description": "server defines the address of the Kuma Control Plane's MADS xDS server.",
                "pattern": "^https?://.+$",
                "type": "string"
              },
              "tlsConfig": {
                "description": "tlsConfig defines the TLS configuration to connect to the Consul API.",
                "properties": {
                  "ca": {
                    "description": "ca defines the Certificate authority used when verifying server certificates.",
                    "properties": {
                      "configMap": {
                        "description": "configMap defines the ConfigMap containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key to select.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the ConfigMap or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "description": "secret defines the Secret containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "cert": {
                    "description": "cert defines the Client certificate to present when doing client-authentication.",
                    "properties": {
                      "configMap": {
                        "description": "configMap defines the ConfigMap containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key to select.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the ConfigMap or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "description": "secret defines the Secret containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "insecureSkipVerify": {
                    "description": "insecureSkipVerify defines how to disable target certificate validation.",
                    "type": "boolean"
                  },
                  "keySecret": {
                    "description": "keySecret defines the Secret containing the client key file for the targets.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "maxVersion": {
                    "description": "maxVersion defines the maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0 or Thanos >= v0.31.0.",
                    "enum": [
                      "TLS10",
                      "TLS11",
                      "TLS12",
                      "TLS13"
                    ],
                    "type": "string"
                  },
                  "minVersion": {
                    "description": "minVersion defines the minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0 or Thanos >= v0.28.0.",
                    "enum": [
                      "TLS10",
                      "TLS11",
                      "TLS12",
                      "TLS13"
                    ],
                    "type": "string"
                  },
                  "serverName": {
                    "description": "serverName is used to verify the hostname for the targets.",
                    "type": "string"
                  }
                },
                "type": "object",
                "additionalProperties": false
              }
            },
            "required": [
              "server"
            ],
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        },
        "labelLimit": {
          "description": "labelLimit defines the per-scrape limit on number of labels that will be accepted for a sample.\nOnly valid in Prometheus versions 2.27.0 and newer.",
          "format": "int64",
          "type": "integer"
        },
        "labelNameLengthLimit": {
          "description": "labelNameLengthLimit defines the per-scrape limit on length of labels name that will be accepted for a sample.\nOnly valid in Prometheus versions 2.27.0 and newer.",
          "format": "int64",
          "type": "integer"
        },
        "labelValueLengthLimit": {
          "description": "labelValueLengthLimit defines the per-scrape limit on length of labels value that will be accepted for a sample.\nOnly valid in Prometheus versions 2.27.0 and newer.",
          "format": "int64",
          "type": "integer"
        },
        "lightSailSDConfigs": {
          "description": "lightSailSDConfigs defines a list of Lightsail service discovery configurations.",
          "items": {
            "description": "LightSailSDConfig configurations allow retrieving scrape targets from AWS Lightsail instances.\nSee https://prometheus.io/docs/prometheus/latest/configuration/configuration/#lightsail_sd_config",
            "properties": {
              "accessKey": {
                "description": "accessKey defines the AWS API key.",
                "properties": {
                  "key": {
                    "description": "The key of the secret to select from.  Must be a valid secret key.",
                    "type": "string"
                  },
                  "name": {
                    "default": "",
                    "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                    "type": "string"
                  },
                  "optional": {
                    "description": "Specify whether the Secret or its key must be defined",
                    "type": "boolean"
                  }
                },
                "required": [
                  "key"
                ],
                "type": "object",
                "x-kubernetes-map-type": "atomic",
                "additionalProperties": false
              },
              "authorization": {
                "description": "authorization defines the  header configuration to authenticate against the DigitalOcean API.\nCannot be set at the same time as `oauth2`.",
                "properties": {
                  "credentials": {
                    "description": "credentials defines a key of a Secret in the namespace that contains the credentials for authentication.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "type": {
                    "description": "type defines the authentication type. The value is case-insensitive.\n\n\"Basic\" is not a supported value.\n\nDefault: \"Bearer\"",
                    "type": "string"
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "basicAuth": {
                "description": "basicAuth defines information to use on every scrape request.\nCannot be set at the same time as `authorization`, or `oauth2`.",
                "properties": {
                  "password": {
                    "description": "password defines a key of a Secret containing the password for\nauthentication.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "username": {
                    "description": "username defines a key of a Secret containing the username for\nauthentication.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "enableHTTP2": {
                "description": "enableHTTP2 defines whether to enable HTTP2.",
                "type": "boolean"
              },
              "endpoint": {
                "description": "endpoint defines the custom endpoint to be used.",
                "minLength": 1,
                "type": "string"
              },
              "followRedirects": {
                "description": "followRedirects defines whether HTTP requests follow HTTP 3xx redirects.",
                "type": "boolean"
              },
              "noProxy": {
                "description": "noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names\nthat should be excluded from proxying. IP and domain names can\ncontain port numbers.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                "type": "string"
              },
              "oauth2": {
                "description": "oauth2 defines the optional OAuth 2.0 configuration to authenticate against the target HTTP endpoint.\nCannot be set at the same time as `authorization`, or `basicAuth`.",
                "properties": {
                  "clientId": {
                    "description": "clientId defines a key of a Secret or ConfigMap containing the\nOAuth2 client's ID.",
                    "properties": {
                      "configMap": {
                        "description": "configMap defines the ConfigMap containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key to select.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the ConfigMap or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "description": "secret defines the Secret containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "clientSecret": {
                    "description": "clientSecret defines a key of a Secret containing the OAuth2\nclient's secret.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "endpointParams": {
                    "additionalProperties": {
                      "type": "string"
                    },
                    "description": "endpointParams configures the HTTP parameters to append to the token\nURL.",
                    "type": "object"
                  },
                  "noProxy": {
                    "description": "noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names\nthat should be excluded from proxying. IP and domain names can\ncontain port numbers.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                    "type": "string"
                  },
                  "proxyConnectHeader": {
                    "additionalProperties": {
                      "items": {
                        "description": "SecretKeySelector selects a key of a Secret.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "type": "array"
                    },
                    "description": "proxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                    "type": "object",
                    "x-kubernetes-map-type": "atomic"
                  },
                  "proxyFromEnvironment": {
                    "description": "proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                    "type": "boolean"
                  },
                  "proxyUrl": {
                    "description": "proxyUrl defines the HTTP proxy server to use.",
                    "pattern": "^(http|https|socks5)://.+$",
                    "type": "string"
                  },
                  "scopes": {
                    "description": "scopes defines the OAuth2 scopes used for the token request.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "tlsConfig": {
                    "description": "tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server.\nIt requires Prometheus >= v2.43.0.",
                    "properties": {
                      "ca": {
                        "description": "ca defines the Certificate authority used when verifying server certificates.",
                        "properties": {
                          "configMap": {
                            "description": "configMap defines the ConfigMap containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key to select.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the ConfigMap or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          },
                          "secret": {
                            "description": "secret defines the Secret containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key of the secret to select from.  Must be a valid secret key.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the Secret or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "cert": {
                        "description": "cert defines the Client certificate to present when doing client-authentication.",
                        "properties": {
                          "configMap": {
                            "description": "configMap defines the ConfigMap containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key to select.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the ConfigMap or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          },
                          "secret": {
                            "description": "secret defines the Secret containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key of the secret to select from.  Must be a valid secret key.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the Secret or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "insecureSkipVerify": {
                        "description": "insecureSkipVerify defines how to disable target certificate validation.",
                        "type": "boolean"
                      },
                      "keySecret": {
                        "description": "keySecret defines the Secret containing the client key file for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "maxVersion": {
                        "description": "maxVersion defines the maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0 or Thanos >= v0.31.0.",
                        "enum": [
                          "TLS10",
                          "TLS11",
                          "TLS12",
                          "TLS13"
                        ],
                        "type": "string"
                      },
                      "minVersion": {
                        "description": "minVersion defines the minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0 or Thanos >= v0.28.0.",
                        "enum": [
                          "TLS10",
                          "TLS11",
                          "TLS12",
                          "TLS13"
                        ],
                        "type": "string"
                      },
                      "serverName": {
                        "description": "serverName is used to verify the hostname for the targets.",
                        "type": "string"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "tokenUrl": {
                    "description": "tokenUrl defines the URL to fetch the token from.",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "clientId",
                  "clientSecret",
                  "tokenUrl"
                ],
                "type": "object",
                "additionalProperties": false
              },
              "port": {
                "description": "port defines the port to scrape metrics from. If using the public IP address, this must",
                "format": "int32",
                "maximum": 65535,
                "minimum": 0,
                "type": "integer"
              },
              "proxyConnectHeader": {
                "additionalProperties": {
                  "items": {
                    "description": "SecretKeySelector selects a key of a Secret.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "type": "array"
                },
                "description": "proxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                "type": "object",
                "x-kubernetes-map-type": "atomic"
              },
              "proxyFromEnvironment": {
                "description": "proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                "type": "boolean"
              },
              "proxyUrl": {
                "description": "proxyUrl defines the HTTP proxy server to use.",
                "pattern": "^(http|https|socks5)://.+$",
                "type": "string"
              },
              "refreshInterval": {
                "description": "refreshInterval defines the time after which the provided names are refreshed.\nIf not set, Prometheus uses its default value.",
                "pattern": "^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$",
                "type": "string"
              },
              "region": {
                "description": "region defines the AWS region.",
                "minLength": 1,
                "type": "string"
              },
              "roleARN": {
                "description": "roleARN defines the AWS Role ARN, an alternative to using AWS API keys.",
                "type": "string"
              },
              "secretKey": {
                "description": "secretKey defines the AWS API secret.",
                "properties": {
                  "key": {
                    "description": "The key of the secret to select from.  Must be a valid secret key.",
                    "type": "string"
                  },
                  "name": {
                    "default": "",
                    "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                    "type": "string"
                  },
                  "optional": {
                    "description": "Specify whether the Secret or its key must be defined",
                    "type": "boolean"
                  }
                },
                "required": [
                  "key"
                ],
                "type": "object",
                "x-kubernetes-map-type": "atomic",
                "additionalProperties": false
              },
              "tlsConfig": {
                "description": "tlsConfig defines the TLS configuration to connect to the Consul API.",
                "properties": {
                  "ca": {
                    "description": "ca defines the Certificate authority used when verifying server certificates.",
                    "properties": {
                      "configMap": {
                        "description": "configMap defines the ConfigMap containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key to select.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the ConfigMap or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "description": "secret defines the Secret containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "cert": {
                    "description": "cert defines the Client certificate to present when doing client-authentication.",
                    "properties": {
                      "configMap": {
                        "description": "configMap defines the ConfigMap containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key to select.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the ConfigMap or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "description": "secret defines the Secret containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "insecureSkipVerify": {
                    "description": "insecureSkipVerify defines how to disable target certificate validation.",
                    "type": "boolean"
                  },
                  "keySecret": {
                    "description": "keySecret defines the Secret containing the client key file for the targets.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "maxVersion": {
                    "description": "maxVersion defines the maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0 or Thanos >= v0.31.0.",
                    "enum": [
                      "TLS10",
                      "TLS11",
                      "TLS12",
                      "TLS13"
                    ],
                    "type": "string"
                  },
                  "minVersion": {
                    "description": "minVersion defines the minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0 or Thanos >= v0.28.0.",
                    "enum": [
                      "TLS10",
                      "TLS11",
                      "TLS12",
                      "TLS13"
                    ],
                    "type": "string"
                  },
                  "serverName": {
                    "description": "serverName is used to verify the hostname for the targets.",
                    "type": "string"
                  }
                },
                "type": "object",
                "additionalProperties": false
              }
            },
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        },
        "linodeSDConfigs": {
          "description": "linodeSDConfigs defines a list of Linode service discovery configurations.",
          "items": {
            "description": "LinodeSDConfig configurations allow retrieving scrape targets from Linode's Linode APIv4.\nSee https://prometheus.io/docs/prometheus/latest/configuration/configuration/#linode_sd_config",
            "properties": {
              "authorization": {
                "description": "authorization defines the  header configuration to authenticate against the DigitalOcean API.\nCannot be set at the same time as `oauth2`.",
                "properties": {
                  "credentials": {
                    "description": "credentials defines a key of a Secret in the namespace that contains the credentials for authentication.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "type": {
                    "description": "type defines the authentication type. The value is case-insensitive.\n\n\"Basic\" is not a supported value.\n\nDefault: \"Bearer\"",
                    "type": "string"
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "enableHTTP2": {
                "description": "enableHTTP2 defines whether to enable HTTP2.",
                "type": "boolean"
              },
              "followRedirects": {
                "description": "followRedirects defines whether HTTP requests follow HTTP 3xx redirects.",
                "type": "boolean"
              },
              "noProxy": {
                "description": "noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names\nthat should be excluded from proxying. IP and domain names can\ncontain port numbers.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                "type": "string"
              },
              "oauth2": {
                "description": "oauth2 defines the optional OAuth 2.0 configuration to authenticate against the target HTTP endpoint.\nCannot be set at the same time as `authorization`, or `basicAuth`.",
                "properties": {
                  "clientId": {
                    "description": "clientId defines a key of a Secret or ConfigMap containing the\nOAuth2 client's ID.",
                    "properties": {
                      "configMap": {
                        "description": "configMap defines the ConfigMap containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key to select.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the ConfigMap or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "description": "secret defines the Secret containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "clientSecret": {
                    "description": "clientSecret defines a key of a Secret containing the OAuth2\nclient's secret.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "endpointParams": {
                    "additionalProperties": {
                      "type": "string"
                    },
                    "description": "endpointParams configures the HTTP parameters to append to the token\nURL.",
                    "type": "object"
                  },
                  "noProxy": {
                    "description": "noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names\nthat should be excluded from proxying. IP and domain names can\ncontain port numbers.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                    "type": "string"
                  },
                  "proxyConnectHeader": {
                    "additionalProperties": {
                      "items": {
                        "description": "SecretKeySelector selects a key of a Secret.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "type": "array"
                    },
                    "description": "proxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                    "type": "object",
                    "x-kubernetes-map-type": "atomic"
                  },
                  "proxyFromEnvironment": {
                    "description": "proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                    "type": "boolean"
                  },
                  "proxyUrl": {
                    "description": "proxyUrl defines the HTTP proxy server to use.",
                    "pattern": "^(http|https|socks5)://.+$",
                    "type": "string"
                  },
                  "scopes": {
                    "description": "scopes defines the OAuth2 scopes used for the token request.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "tlsConfig": {
                    "description": "tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server.\nIt requires Prometheus >= v2.43.0.",
                    "properties": {
                      "ca": {
                        "description": "ca defines the Certificate authority used when verifying server certificates.",
                        "properties": {
                          "configMap": {
                            "description": "configMap defines the ConfigMap containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key to select.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the ConfigMap or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          },
                          "secret": {
                            "description": "secret defines the Secret containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key of the secret to select from.  Must be a valid secret key.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the Secret or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "cert": {
                        "description": "cert defines the Client certificate to present when doing client-authentication.",
                        "properties": {
                          "configMap": {
                            "description": "configMap defines the ConfigMap containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key to select.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the ConfigMap or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          },
                          "secret": {
                            "description": "secret defines the Secret containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key of the secret to select from.  Must be a valid secret key.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the Secret or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "insecureSkipVerify": {
                        "description": "insecureSkipVerify defines how to disable target certificate validation.",
                        "type": "boolean"
                      },
                      "keySecret": {
                        "description": "keySecret defines the Secret containing the client key file for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "maxVersion": {
                        "description": "maxVersion defines the maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0 or Thanos >= v0.31.0.",
                        "enum": [
                          "TLS10",
                          "TLS11",
                          "TLS12",
                          "TLS13"
                        ],
                        "type": "string"
                      },
                      "minVersion": {
                        "description": "minVersion defines the minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0 or Thanos >= v0.28.0.",
                        "enum": [
                          "TLS10",
                          "TLS11",
                          "TLS12",
                          "TLS13"
                        ],
                        "type": "string"
                      },
                      "serverName": {
                        "description": "serverName is used to verify the hostname for the targets.",
                        "type": "string"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "tokenUrl": {
                    "description": "tokenUrl defines the URL to fetch the token from.",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "clientId",
                  "clientSecret",
                  "tokenUrl"
                ],
                "type": "object",
                "additionalProperties": false
              },
              "port": {
                "description": "port defines the port to scrape metrics from. If using the public IP address, this must",
                "format": "int32",
                "maximum": 65535,
                "minimum": 0,
                "type": "integer"
              },
              "proxyConnectHeader": {
                "additionalProperties": {
                  "items": {
                    "description": "SecretKeySelector selects a key of a Secret.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "type": "array"
                },
                "description": "proxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                "type": "object",
                "x-kubernetes-map-type": "atomic"
              },
              "proxyFromEnvironment": {
                "description": "proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                "type": "boolean"
              },
              "proxyUrl": {
                "description": "proxyUrl defines the HTTP proxy server to use.",
                "pattern": "^(http|https|socks5)://.+$",
                "type": "string"
              },
              "refreshInterval": {
                "description": "refreshInterval defines the time after which the provided names are refreshed.\nIf not set, Prometheus uses its default value.",
                "pattern": "^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$",
                "type": "string"
              },
              "region": {
                "description": "region defines the region to filter on.",
                "minLength": 1,
                "type": "string"
              },
              "tagSeparator": {
                "description": "tagSeparator defines the string by which Linode Instance tags are joined into the tag label.el.",
                "minLength": 1,
                "type": "string"
              },
              "tlsConfig": {
                "description": "tlsConfig defines the TLS configuration to connect to the Consul API.",
                "properties": {
                  "ca": {
                    "description": "ca defines the Certificate authority used when verifying server certificates.",
                    "properties": {
                      "configMap": {
                        "description": "configMap defines the ConfigMap containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key to select.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the ConfigMap or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "description": "secret defines the Secret containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "cert": {
                    "description": "cert defines the Client certificate to present when doing client-authentication.",
                    "properties": {
                      "configMap": {
                        "description": "configMap defines the ConfigMap containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key to select.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the ConfigMap or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "description": "secret defines the Secret containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "insecureSkipVerify": {
                    "description": "insecureSkipVerify defines how to disable target certificate validation.",
                    "type": "boolean"
                  },
                  "keySecret": {
                    "description": "keySecret defines the Secret containing the client key file for the targets.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "maxVersion": {
                    "description": "maxVersion defines the maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0 or Thanos >= v0.31.0.",
                    "enum": [
                      "TLS10",
                      "TLS11",
                      "TLS12",
                      "TLS13"
                    ],
                    "type": "string"
                  },
                  "minVersion": {
                    "description": "minVersion defines the minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0 or Thanos >= v0.28.0.",
                    "enum": [
                      "TLS10",
                      "TLS11",
                      "TLS12",
                      "TLS13"
                    ],
                    "type": "string"
                  },
                  "serverName": {
                    "description": "serverName is used to verify the hostname for the targets.",
                    "type": "string"
                  }
                },
                "type": "object",
                "additionalProperties": false
              }
            },
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        },
        "metricRelabelings": {
          "description": "metricRelabelings defines the metricRelabelings to apply to samples before ingestion.",
          "items": {
            "description": "RelabelConfig allows dynamic rewriting of the label set for targets, alerts,\nscraped samples and remote write samples.\n\nMore info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config",
            "properties": {
              "action": {
                "default": "replace",
                "description": "action to perform based on the regex matching.\n\n`Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0.\n`DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0.\n\nDefault: \"Replace\"",
                "enum": [
                  "replace",
                  "Replace",
                  "keep",
                  "Keep",
                  "drop",
                  "Drop",
                  "hashmod",
                  "HashMod",
                  "labelmap",
                  "LabelMap",
                  "labeldrop",
                  "LabelDrop",
                  "labelkeep",
                  "LabelKeep",
                  "lowercase",
                  "Lowercase",
                  "uppercase",
                  "Uppercase",
                  "keepequal",
                  "KeepEqual",
                  "dropequal",
                  "DropEqual"
                ],
                "type": "string"
              },
              "modulus": {
                "description": "modulus to take of the hash of the source label values.\n\nOnly applicable when the action is `HashMod`.",
                "format": "int64",
                "type": "integer"
              },
              "regex": {
                "description": "regex defines the regular expression against which the extracted value is matched.",
                "type": "string"
              },
              "replacement": {
                "description": "replacement value against which a Replace action is performed if the\nregular expression matches.\n\nRegex capture groups are available.",
                "type": "string"
              },
              "separator": {
                "description": "separator defines the string between concatenated SourceLabels.",
                "type": "string"
              },
              "sourceLabels": {
                "description": "sourceLabels defines the source labels select values from existing labels. Their content is\nconcatenated using the configured Separator and matched against the\nconfigured regular expression.",
                "items": {
                  "description": "LabelName is a valid Prometheus label name.\nFor Prometheus 3.x, a label name is valid if it contains UTF-8 characters.\nFor Prometheus 2.x, a label name is only valid if it contains ASCII characters, letters, numbers, as well as underscores.",
                  "type": "string"
                },
                "type": "array"
              },
              "targetLabel": {
                "description": "targetLabel defines the label to which the resulting string is written in a replacement.\n\nIt is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`,\n`KeepEqual` and `DropEqual` actions.\n\nRegex capture groups are available.",
                "type": "string"
              }
            },
            "type": "object",
            "additionalProperties": false
          },
          "minItems": 1,
          "type": "array"
        },
        "metricsPath": {
          "description": "metricsPath defines the HTTP path to scrape for metrics. If empty, Prometheus uses the default value (e.g. /metrics).",
          "minLength": 1,
          "type": "string"
        },
        "nameEscapingScheme": {
          "description": "nameEscapingScheme defines the metric name escaping mode to request through content negotiation.\n\nIt requires Prometheus >= v3.4.0.",
          "enum": [
            "AllowUTF8",
            "Underscores",
            "Dots",
            "Values"
          ],
          "type": "string"
        },
        "nameValidationScheme": {
          "description": "nameValidationScheme defines the validation scheme for metric and label names.\n\nIt requires Prometheus >= v3.0.0.",
          "enum": [
            "UTF8",
            "Legacy"
          ],
          "type": "string"
        },
        "nativeHistogramBucketLimit": {
          "description": "nativeHistogramBucketLimit defines ff there are more than this many buckets in a native histogram,\nbuckets will be merged to stay within the limit.\nIt requires Prometheus >= v2.45.0.",
          "format": "int64",
          "type": "integer"
        },
        "nativeHistogramMinBucketFactor": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "string"
            }
          ],
          "description": "nativeHistogramMinBucketFactor defines if the growth factor of one bucket to the next is smaller than this,\nbuckets will be merged to increase the factor sufficiently.\nIt requires Prometheus >= v2.50.0.",
          "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
          "x-kubernetes-int-or-string": true
        },
        "noProxy": {
          "description": "noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names\nthat should be excluded from proxying. IP and domain names can\ncontain port numbers.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
          "type": "string"
        },
        "nomadSDConfigs": {
          "description": "nomadSDConfigs defines a list of Nomad service discovery configurations.",
          "items": {
            "description": "NomadSDConfig configurations allow retrieving scrape targets from Nomad's Service API.\nSee https://prometheus.io/docs/prometheus/latest/configuration/configuration/#nomad_sd_config",
            "properties": {
              "allowStale": {
                "description": "allowStale defines the information to access the Nomad API. It is to be defined\nas the Nomad documentation requires.",
                "type": "boolean"
              },
              "authorization": {
                "description": "authorization defines the  header configuration to authenticate against the DigitalOcean API.\nCannot be set at the same time as `oauth2`.",
                "properties": {
                  "credentials": {
                    "description": "credentials defines a key of a Secret in the namespace that contains the credentials for authentication.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "type": {
                    "description": "type defines the authentication type. The value is case-insensitive.\n\n\"Basic\" is not a supported value.\n\nDefault: \"Bearer\"",
                    "type": "string"
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "basicAuth": {
                "description": "basicAuth defines information to use on every scrape request.",
                "properties": {
                  "password": {
                    "description": "password defines a key of a Secret containing the password for\nauthentication.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "username": {
                    "description": "username defines a key of a Secret containing the username for\nauthentication.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "enableHTTP2": {
                "description": "enableHTTP2 defines whether to enable HTTP2.",
                "type": "boolean"
              },
              "followRedirects": {
                "description": "followRedirects defines whether HTTP requests follow HTTP 3xx redirects.",
                "type": "boolean"
              },
              "namespace": {
                "description": "namespace defines the Nomad namespace to query for service discovery.\nWhen specified, only resources within this namespace will be discovered.",
                "type": "string"
              },
              "noProxy": {
                "description": "noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names\nthat should be excluded from proxying. IP and domain names can\ncontain port numbers.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                "type": "string"
              },
              "oauth2": {
                "description": "oauth2 defines the configuration to use on every scrape request.",
                "properties": {
                  "clientId": {
                    "description": "clientId defines a key of a Secret or ConfigMap containing the\nOAuth2 client's ID.",
                    "properties": {
                      "configMap": {
                        "description": "configMap defines the ConfigMap containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key to select.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the ConfigMap or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "description": "secret defines the Secret containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "clientSecret": {
                    "description": "clientSecret defines a key of a Secret containing the OAuth2\nclient's secret.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "endpointParams": {
                    "additionalProperties": {
                      "type": "string"
                    },
                    "description": "endpointParams configures the HTTP parameters to append to the token\nURL.",
                    "type": "object"
                  },
                  "noProxy": {
                    "description": "noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names\nthat should be excluded from proxying. IP and domain names can\ncontain port numbers.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                    "type": "string"
                  },
                  "proxyConnectHeader": {
                    "additionalProperties": {
                      "items": {
                        "description": "SecretKeySelector selects a key of a Secret.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "type": "array"
                    },
                    "description": "proxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                    "type": "object",
                    "x-kubernetes-map-type": "atomic"
                  },
                  "proxyFromEnvironment": {
                    "description": "proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                    "type": "boolean"
                  },
                  "proxyUrl": {
                    "description": "proxyUrl defines the HTTP proxy server to use.",
                    "pattern": "^(http|https|socks5)://.+$",
                    "type": "string"
                  },
                  "scopes": {
                    "description": "scopes defines the OAuth2 scopes used for the token request.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "tlsConfig": {
                    "description": "tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server.\nIt requires Prometheus >= v2.43.0.",
                    "properties": {
                      "ca": {
                        "description": "ca defines the Certificate authority used when verifying server certificates.",
                        "properties": {
                          "configMap": {
                            "description": "configMap defines the ConfigMap containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key to select.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the ConfigMap or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          },
                          "secret": {
                            "description": "secret defines the Secret containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key of the secret to select from.  Must be a valid secret key.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the Secret or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "cert": {
                        "description": "cert defines the Client certificate to present when doing client-authentication.",
                        "properties": {
                          "configMap": {
                            "description": "configMap defines the ConfigMap containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key to select.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the ConfigMap or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          },
                          "secret": {
                            "description": "secret defines the Secret containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key of the secret to select from.  Must be a valid secret key.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the Secret or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "insecureSkipVerify": {
                        "description": "insecureSkipVerify defines how to disable target certificate validation.",
                        "type": "boolean"
                      },
                      "keySecret": {
                        "description": "keySecret defines the Secret containing the client key file for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "maxVersion": {
                        "description": "maxVersion defines the maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0 or Thanos >= v0.31.0.",
                        "enum": [
                          "TLS10",
                          "TLS11",
                          "TLS12",
                          "TLS13"
                        ],
                        "type": "string"
                      },
                      "minVersion": {
                        "description": "minVersion defines the minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0 or Thanos >= v0.28.0.",
                        "enum": [
                          "TLS10",
                          "TLS11",
                          "TLS12",
                          "TLS13"
                        ],
                        "type": "string"
                      },
                      "serverName": {
                        "description": "serverName is used to verify the hostname for the targets.",
                        "type": "string"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "tokenUrl": {
                    "description": "tokenUrl defines the URL to fetch the token from.",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "clientId",
                  "clientSecret",
                  "tokenUrl"
                ],
                "type": "object",
                "additionalProperties": false
              },
              "proxyConnectHeader": {
                "additionalProperties": {
                  "items": {
                    "description": "SecretKeySelector selects a key of a Secret.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "type": "array"
                },
                "description": "proxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                "type": "object",
                "x-kubernetes-map-type": "atomic"
              },
              "proxyFromEnvironment": {
                "description": "proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                "type": "boolean"
              },
              "proxyUrl": {
                "description": "proxyUrl defines the HTTP proxy server to use.",
                "pattern": "^(http|https|socks5)://.+$",
                "type": "string"
              },
              "refreshInterval": {
                "description": "refreshInterval defines the time after which the provided names are refreshed.\nIf not set, Prometheus uses its default value.",
                "pattern": "^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$",
                "type": "string"
              },
              "region": {
                "description": "region defines the Nomad region to query for service discovery.\nWhen specified, only resources within this region will be discovered.",
                "type": "string"
              },
              "server": {
                "description": "server defines the Nomad server address to connect to for service discovery.\nThis should be the full URL including protocol (e.g., \"https://nomad.example.com:4646\").",
                "minLength": 1,
                "type": "string"
              },
              "tagSeparator": {
                "description": "tagSeparator defines the separator used to join multiple tags.\nThis determines how Nomad service tags are concatenated into Prometheus labels.",
                "type": "string"
              },
              "tlsConfig": {
                "description": "tlsConfig defines the TLS configuration to connect to the Consul API.",
                "properties": {
                  "ca": {
                    "description": "ca defines the Certificate authority used when verifying server certificates.",
                    "properties": {
                      "configMap": {
                        "description": "configMap defines the ConfigMap containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key to select.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the ConfigMap or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "description": "secret defines the Secret containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "cert": {
                    "description": "cert defines the Client certificate to present when doing client-authentication.",
                    "properties": {
                      "configMap": {
                        "description": "configMap defines the ConfigMap containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key to select.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the ConfigMap or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "description": "secret defines the Secret containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "insecureSkipVerify": {
                    "description": "insecureSkipVerify defines how to disable target certificate validation.",
                    "type": "boolean"
                  },
                  "keySecret": {
                    "description": "keySecret defines the Secret containing the client key file for the targets.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "maxVersion": {
                    "description": "maxVersion defines the maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0 or Thanos >= v0.31.0.",
                    "enum": [
                      "TLS10",
                      "TLS11",
                      "TLS12",
                      "TLS13"
                    ],
                    "type": "string"
                  },
                  "minVersion": {
                    "description": "minVersion defines the minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0 or Thanos >= v0.28.0.",
                    "enum": [
                      "TLS10",
                      "TLS11",
                      "TLS12",
                      "TLS13"
                    ],
                    "type": "string"
                  },
                  "serverName": {
                    "description": "serverName is used to verify the hostname for the targets.",
                    "type": "string"
                  }
                },
                "type": "object",
                "additionalProperties": false
              }
            },
            "required": [
              "server"
            ],
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        },
        "oauth2": {
          "description": "oauth2 defines the configuration to use on every scrape request.",
          "properties": {
            "clientId": {
              "description": "clientId defines a key of a Secret or ConfigMap containing the\nOAuth2 client's ID.",
              "properties": {
                "configMap": {
                  "description": "configMap defines the ConfigMap containing data to use for the targets.",
                  "properties": {
                    "key": {
                      "description": "The key to select.",
                      "type": "string"
                    },
                    "name": {
                      "default": "",
                      "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                      "type": "string"
                    },
                    "optional": {
                      "description": "Specify whether the ConfigMap or its key must be defined",
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "key"
                  ],
                  "type": "object",
                  "x-kubernetes-map-type": "atomic",
                  "additionalProperties": false
                },
                "secret": {
                  "description": "secret defines the Secret containing data to use for the targets.",
                  "properties": {
                    "key": {
                      "description": "The key of the secret to select from.  Must be a valid secret key.",
                      "type": "string"
                    },
                    "name": {
                      "default": "",
                      "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                      "type": "string"
                    },
                    "optional": {
                      "description": "Specify whether the Secret or its key must be defined",
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "key"
                  ],
                  "type": "object",
                  "x-kubernetes-map-type": "atomic",
                  "additionalProperties": false
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "clientSecret": {
              "description": "clientSecret defines a key of a Secret containing the OAuth2\nclient's secret.",
              "properties": {
                "key": {
                  "description": "The key of the secret to select from.  Must be a valid secret key.",
                  "type": "string"
                },
                "name": {
                  "default": "",
                  "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                  "type": "string"
                },
                "optional": {
                  "description": "Specify whether the Secret or its key must be defined",
                  "type": "boolean"
                }
              },
              "required": [
                "key"
              ],
              "type": "object",
              "x-kubernetes-map-type": "atomic",
              "additionalProperties": false
            },
            "endpointParams": {
              "additionalProperties": {
                "type": "string"
              },
              "description": "endpointParams configures the HTTP parameters to append to the token\nURL.",
              "type": "object"
            },
            "noProxy": {
              "description": "noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names\nthat should be excluded from proxying. IP and domain names can\ncontain port numbers.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
              "type": "string"
            },
            "proxyConnectHeader": {
              "additionalProperties": {
                "items": {
                  "description": "SecretKeySelector selects a key of a Secret.",
                  "properties": {
                    "key": {
                      "description": "The key of the secret to select from.  Must be a valid secret key.",
                      "type": "string"
                    },
                    "name": {
                      "default": "",
                      "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                      "type": "string"
                    },
                    "optional": {
                      "description": "Specify whether the Secret or its key must be defined",
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "key"
                  ],
                  "type": "object",
                  "x-kubernetes-map-type": "atomic",
                  "additionalProperties": false
                },
                "type": "array"
              },
              "description": "proxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
              "type": "object",
              "x-kubernetes-map-type": "atomic"
            },
            "proxyFromEnvironment": {
              "description": "proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
              "type": "boolean"
            },
            "proxyUrl": {
              "description": "proxyUrl defines the HTTP proxy server to use.",
              "pattern": "^(http|https|socks5)://.+$",
              "type": "string"
            },
            "scopes": {
              "description": "scopes defines the OAuth2 scopes used for the token request.",
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "tlsConfig": {
              "description": "tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server.\nIt requires Prometheus >= v2.43.0.",
              "properties": {
                "ca": {
                  "description": "ca defines the Certificate authority used when verifying server certificates.",
                  "properties": {
                    "configMap": {
                      "description": "configMap defines the ConfigMap containing data to use for the targets.",
                      "properties": {
                        "key": {
                          "description": "The key to select.",
                          "type": "string"
                        },
                        "name": {
                          "default": "",
                          "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                          "type": "string"
                        },
                        "optional": {
                          "description": "Specify whether the ConfigMap or its key must be defined",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "key"
                      ],
                      "type": "object",
                      "x-kubernetes-map-type": "atomic",
                      "additionalProperties": false
                    },
                    "secret": {
                      "description": "secret defines the Secret containing data to use for the targets.",
                      "properties": {
                        "key": {
                          "description": "The key of the secret to select from.  Must be a valid secret key.",
                          "type": "string"
                        },
                        "name": {
                          "default": "",
                          "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                          "type": "string"
                        },
                        "optional": {
                          "description": "Specify whether the Secret or its key must be defined",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "key"
                      ],
                      "type": "object",
                      "x-kubernetes-map-type": "atomic",
                      "additionalProperties": false
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "cert": {
                  "description": "cert defines the Client certificate to present when doing client-authentication.",
                  "properties": {
                    "configMap": {
                      "description": "configMap defines the ConfigMap containing data to use for the targets.",
                      "properties": {
                        "key": {
                          "description": "The key to select.",
                          "type": "string"
                        },
                        "name": {
                          "default": "",
                          "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                          "type": "string"
                        },
                        "optional": {
                          "description": "Specify whether the ConfigMap or its key must be defined",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "key"
                      ],
                      "type": "object",
                      "x-kubernetes-map-type": "atomic",
                      "additionalProperties": false
                    },
                    "secret": {
                      "description": "secret defines the Secret containing data to use for the targets.",
                      "properties": {
                        "key": {
                          "description": "The key of the secret to select from.  Must be a valid secret key.",
                          "type": "string"
                        },
                        "name": {
                          "default": "",
                          "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                          "type": "string"
                        },
                        "optional": {
                          "description": "Specify whether the Secret or its key must be defined",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "key"
                      ],
                      "type": "object",
                      "x-kubernetes-map-type": "atomic",
                      "additionalProperties": false
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "insecureSkipVerify": {
                  "description": "insecureSkipVerify defines how to disable target certificate validation.",
                  "type": "boolean"
                },
                "keySecret": {
                  "description": "keySecret defines the Secret containing the client key file for the targets.",
                  "properties": {
                    "key": {
                      "description": "The key of the secret to select from.  Must be a valid secret key.",
                      "type": "string"
                    },
                    "name": {
                      "default": "",
                      "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                      "type": "string"
                    },
                    "optional": {
                      "description": "Specify whether the Secret or its key must be defined",
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "key"
                  ],
                  "type": "object",
                  "x-kubernetes-map-type": "atomic",
                  "additionalProperties": false
                },
                "maxVersion": {
                  "description": "maxVersion defines the maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0 or Thanos >= v0.31.0.",
                  "enum": [
                    "TLS10",
                    "TLS11",
                    "TLS12",
                    "TLS13"
                  ],
                  "type": "string"
                },
                "minVersion": {
                  "description": "minVersion defines the minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0 or Thanos >= v0.28.0.",
                  "enum": [
                    "TLS10",
                    "TLS11",
                    "TLS12",
                    "TLS13"
                  ],
                  "type": "string"
                },
                "serverName": {
                  "description": "serverName is used to verify the hostname for the targets.",
                  "type": "string"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "tokenUrl": {
              "description": "tokenUrl defines the URL to fetch the token from.",
              "minLength": 1,
              "type": "string"
            }
          },
          "required": [
            "clientId",
            "clientSecret",
            "tokenUrl"
          ],
          "type": "object",
          "additionalProperties": false
        },
        "openstackSDConfigs": {
          "description": "openstackSDConfigs defines a list of OpenStack service discovery configurations.",
          "items": {
            "description": "OpenStackSDConfig allow retrieving scrape targets from OpenStack Nova instances.\nSee https://prometheus.io/docs/prometheus/latest/configuration/configuration/#openstack_sd_config",
            "properties": {
              "allTenants": {
                "description": "allTenants defines whether the service discovery should list all instances for all projects.\nIt is only relevant for the 'instance' role and usually requires admin permissions.",
                "type": "boolean"
              },
              "applicationCredentialId": {
                "description": "applicationCredentialId defines the OpenStack applicationCredentialId.",
                "type": "string"
              },
              "applicationCredentialName": {
                "description": "applicationCredentialName defines the ApplicationCredentialID or ApplicationCredentialName fields are\nrequired if using an application credential to authenticate. Some providers\nallow you to create an application credential to authenticate rather than a\npassword.",
                "minLength": 1,
                "type": "string"
              },
              "applicationCredentialSecret": {
                "description": "applicationCredentialSecret defines the required field if using an application\ncredential to authenticate.",
                "properties": {
                  "key": {
                    "description": "The key of the secret to select from.  Must be a valid secret key.",
                    "type": "string"
                  },
                  "name": {
                    "default": "",
                    "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                    "type": "string"
                  },
                  "optional": {
                    "description": "Specify whether the Secret or its key must be defined",
                    "type": "boolean"
                  }
                },
                "required": [
                  "key"
                ],
                "type": "object",
                "x-kubernetes-map-type": "atomic",
                "additionalProperties": false
              },
              "availability": {
                "description": "availability defines the availability of the endpoint to connect to.",
                "enum": [
                  "Public",
                  "public",
                  "Admin",
                  "admin",
                  "Internal",
                  "internal"
                ],
                "type": "string"
              },
              "domainID": {
                "description": "domainID defines The OpenStack domainID.",
                "minLength": 1,
                "type": "string"
              },
              "domainName": {
                "description": "domainName defines at most one of domainId and domainName that must be provided if using username\nwith Identity V3. Otherwise, either are optional.",
                "minLength": 1,
                "type": "string"
              },
              "identityEndpoint": {
                "description": "identityEndpoint defines the HTTP endpoint that is required to work with\nthe Identity API of the appropriate version.",
                "pattern": "^http(s)?:\\/\\/.+$",
                "type": "string"
              },
              "password": {
                "description": "password defines the password for the Identity V2 and V3 APIs. Consult with your provider's\ncontrol panel to discover your account's preferred method of authentication.",
                "properties": {
                  "key": {
                    "description": "The key of the secret to select from.  Must be a valid secret key.",
                    "type": "string"
                  },
                  "name": {
                    "default": "",
                    "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                    "type": "string"
                  },
                  "optional": {
                    "description": "Specify whether the Secret or its key must be defined",
                    "type": "boolean"
                  }
                },
                "required": [
                  "key"
                ],
                "type": "object",
                "x-kubernetes-map-type": "atomic",
                "additionalProperties": false
              },
              "port": {
                "description": "port defines the port to scrape metrics from. If using the public IP address, this must\ninstead be specified in the relabeling rule.",
                "format": "int32",
                "maximum": 65535,
                "minimum": 0,
                "type": "integer"
              },
              "projectID": {
                "description": "projectID defines the OpenStack projectID.",
                "minLength": 1,
                "type": "string"
              },
              "projectName": {
                "description": "projectName defines an optional field for the Identity V2 API.\nSome providers allow you to specify a ProjectName instead of the ProjectId.\nSome require both. Your provider's authentication policies will determine\nhow these fields influence authentication.",
                "minLength": 1,
                "type": "string"
              },
              "refreshInterval": {
                "description": "refreshInterval defines the time after which the provided names are refreshed.\nIf not set, Prometheus uses its default value.",
                "pattern": "^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$",
                "type": "string"
              },
              "region": {
                "description": "region defines the OpenStack Region.",
                "minLength": 1,
                "type": "string"
              },
              "role": {
                "description": "role defines the OpenStack role of entities that should be discovered.\n\nNote: The `LoadBalancer` role requires Prometheus >= v3.2.0.",
                "enum": [
                  "Instance",
                  "Hypervisor",
                  "LoadBalancer"
                ],
                "type": "string"
              },
              "tlsConfig": {
                "description": "tlsConfig defines the TLS configuration applying to the target HTTP endpoint.",
                "properties": {
                  "ca": {
                    "description": "ca defines the Certificate authority used when verifying server certificates.",
                    "properties": {
                      "configMap": {
                        "description": "configMap defines the ConfigMap containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key to select.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the ConfigMap or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "description": "secret defines the Secret containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "cert": {
                    "description": "cert defines the Client certificate to present when doing client-authentication.",
                    "properties": {
                      "configMap": {
                        "description": "configMap defines the ConfigMap containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key to select.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the ConfigMap or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "description": "secret defines the Secret containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "insecureSkipVerify": {
                    "description": "insecureSkipVerify defines how to disable target certificate validation.",
                    "type": "boolean"
                  },
                  "keySecret": {
                    "description": "keySecret defines the Secret containing the client key file for the targets.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "maxVersion": {
                    "description": "maxVersion defines the maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0 or Thanos >= v0.31.0.",
                    "enum": [
                      "TLS10",
                      "TLS11",
                      "TLS12",
                      "TLS13"
                    ],
                    "type": "string"
                  },
                  "minVersion": {
                    "description": "minVersion defines the minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0 or Thanos >= v0.28.0.",
                    "enum": [
                      "TLS10",
                      "TLS11",
                      "TLS12",
                      "TLS13"
                    ],
                    "type": "string"
                  },
                  "serverName": {
                    "description": "serverName is used to verify the hostname for the targets.",
                    "type": "string"
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "userid": {
                "description": "userid defines the OpenStack userid.",
                "minLength": 1,
                "type": "string"
              },
              "username": {
                "description": "username defines the username required if using Identity V2 API. Consult with your provider's\ncontrol panel to discover your account's username.\nIn Identity V3, either userid or a combination of username\nand domainId or domainName are needed",
                "minLength": 1,
                "type": "string"
              }
            },
            "required": [
              "region",
              "role"
            ],
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        },
        "ovhcloudSDConfigs": {
          "description": "ovhcloudSDConfigs defines a list of OVHcloud service discovery configurations.",
          "items": {
            "description": "OVHCloudSDConfig configurations allow retrieving scrape targets from OVHcloud's dedicated servers and VPS using their API.\nSee https://prometheus.io/docs/prometheus/latest/configuration/configuration/#ovhcloud_sd_config",
            "properties": {
              "applicationKey": {
                "description": "applicationKey defines the access key to use for OVHCloud API authentication.\nThis is obtained from the OVHCloud API credentials at https://api.ovh.com.",
                "minLength": 1,
                "type": "string"
              },
              "applicationSecret": {
                "description": "applicationSecret defines the secret key for OVHCloud API authentication.\nThis contains the application secret obtained during OVHCloud API credential creation.",
                "properties": {
                  "key": {
                    "description": "The key of the secret to select from.  Must be a valid secret key.",
                    "type": "string"
                  },
                  "name": {
                    "default": "",
                    "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                    "type": "string"
                  },
                  "optional": {
                    "description": "Specify whether the Secret or its key must be defined",
                    "type": "boolean"
                  }
                },
                "required": [
                  "key"
                ],
                "type": "object",
                "x-kubernetes-map-type": "atomic",
                "additionalProperties": false
              },
              "consumerKey": {
                "description": "consumerKey defines the consumer key for OVHCloud API authentication.\nThis is the third component of OVHCloud's three-key authentication system.",
                "properties": {
                  "key": {
                    "description": "The key of the secret to select from.  Must be a valid secret key.",
                    "type": "string"
                  },
                  "name": {
                    "default": "",
                    "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                    "type": "string"
                  },
                  "optional": {
                    "description": "Specify whether the Secret or its key must be defined",
                    "type": "boolean"
                  }
                },
                "required": [
                  "key"
                ],
                "type": "object",
                "x-kubernetes-map-type": "atomic",
                "additionalProperties": false
              },
              "endpoint": {
                "description": "endpoint defines a custom API endpoint to be used.\nWhen not specified, defaults to the standard OVHCloud API endpoint for the region.",
                "minLength": 1,
                "type": "string"
              },
              "refreshInterval": {
                "description": "refreshInterval defines the time after which the provided names are refreshed.\nIf not set, Prometheus uses its default value.",
                "pattern": "^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$",
                "type": "string"
              },
              "service": {
                "description": "service defines the service type of the targets to retrieve.\nMust be either `VPS` or `DedicatedServer` to specify which OVHCloud resources to discover.",
                "enum": [
                  "VPS",
                  "DedicatedServer"
                ],
                "type": "string"
              }
            },
            "required": [
              "applicationKey",
              "applicationSecret",
              "consumerKey",
              "service"
            ],
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        },
        "params": {
          "additionalProperties": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "description": "params defines optional HTTP URL parameters",
          "type": "object",
          "x-kubernetes-map-type": "atomic"
        },
        "proxyConnectHeader": {
          "additionalProperties": {
            "items": {
              "description": "SecretKeySelector selects a key of a Secret.",
              "properties": {
                "key": {
                  "description": "The key of the secret to select from.  Must be a valid secret key.",
                  "type": "string"
                },
                "name": {
                  "default": "",
                  "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                  "type": "string"
                },
                "optional": {
                  "description": "Specify whether the Secret or its key must be defined",
                  "type": "boolean"
                }
              },
              "required": [
                "key"
              ],
              "type": "object",
              "x-kubernetes-map-type": "atomic",
              "additionalProperties": false
            },
            "type": "array"
          },
          "description": "proxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
          "type": "object",
          "x-kubernetes-map-type": "atomic"
        },
        "proxyFromEnvironment": {
          "description": "proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
          "type": "boolean"
        },
        "proxyUrl": {
          "description": "proxyUrl defines the HTTP proxy server to use.",
          "pattern": "^(http|https|socks5)://.+$",
          "type": "string"
        },
        "puppetDBSDConfigs": {
          "description": "puppetDBSDConfigs defines a list of PuppetDB service discovery configurations.",
          "items": {
            "description": "PuppetDBSDConfig configurations allow retrieving scrape targets from PuppetDB resources.\nSee https://prometheus.io/docs/prometheus/latest/configuration/configuration/#puppetdb_sd_config",
            "properties": {
              "authorization": {
                "description": "authorization defines the  header configuration to authenticate against the DigitalOcean API.\nCannot be set at the same time as `oauth2`.",
                "properties": {
                  "credentials": {
                    "description": "credentials defines a key of a Secret in the namespace that contains the credentials for authentication.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "type": {
                    "description": "type defines the authentication type. The value is case-insensitive.\n\n\"Basic\" is not a supported value.\n\nDefault: \"Bearer\"",
                    "type": "string"
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "basicAuth": {
                "description": "basicAuth defines information to use on every scrape request.\nCannot be set at the same time as `authorization`, or `oauth2`.",
                "properties": {
                  "password": {
                    "description": "password defines a key of a Secret containing the password for\nauthentication.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "username": {
                    "description": "username defines a key of a Secret containing the username for\nauthentication.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "enableHTTP2": {
                "description": "enableHTTP2 defines whether to enable HTTP2.",
                "type": "boolean"
              },
              "followRedirects": {
                "description": "followRedirects defines whether HTTP requests follow HTTP 3xx redirects.",
                "type": "boolean"
              },
              "includeParameters": {
                "description": "includeParameters defines whether to include the parameters as meta labels.\nNote: Enabling this exposes parameters in the Prometheus UI and API. Make sure\nthat you don't have secrets exposed as parameters if you enable this.",
                "type": "boolean"
              },
              "noProxy": {
                "description": "noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names\nthat should be excluded from proxying. IP and domain names can\ncontain port numbers.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                "type": "string"
              },
              "oauth2": {
                "description": "oauth2 defines the optional OAuth 2.0 configuration to authenticate against the target HTTP endpoint.\nCannot be set at the same time as `authorization`, or `basicAuth`.",
                "properties": {
                  "clientId": {
                    "description": "clientId defines a key of a Secret or ConfigMap containing the\nOAuth2 client's ID.",
                    "properties": {
                      "configMap": {
                        "description": "configMap defines the ConfigMap containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key to select.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the ConfigMap or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "description": "secret defines the Secret containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "clientSecret": {
                    "description": "clientSecret defines a key of a Secret containing the OAuth2\nclient's secret.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "endpointParams": {
                    "additionalProperties": {
                      "type": "string"
                    },
                    "description": "endpointParams configures the HTTP parameters to append to the token\nURL.",
                    "type": "object"
                  },
                  "noProxy": {
                    "description": "noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names\nthat should be excluded from proxying. IP and domain names can\ncontain port numbers.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                    "type": "string"
                  },
                  "proxyConnectHeader": {
                    "additionalProperties": {
                      "items": {
                        "description": "SecretKeySelector selects a key of a Secret.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "type": "array"
                    },
                    "description": "proxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                    "type": "object",
                    "x-kubernetes-map-type": "atomic"
                  },
                  "proxyFromEnvironment": {
                    "description": "proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                    "type": "boolean"
                  },
                  "proxyUrl": {
                    "description": "proxyUrl defines the HTTP proxy server to use.",
                    "pattern": "^(http|https|socks5)://.+$",
                    "type": "string"
                  },
                  "scopes": {
                    "description": "scopes defines the OAuth2 scopes used for the token request.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "tlsConfig": {
                    "description": "tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server.\nIt requires Prometheus >= v2.43.0.",
                    "properties": {
                      "ca": {
                        "description": "ca defines the Certificate authority used when verifying server certificates.",
                        "properties": {
                          "configMap": {
                            "description": "configMap defines the ConfigMap containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key to select.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the ConfigMap or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          },
                          "secret": {
                            "description": "secret defines the Secret containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key of the secret to select from.  Must be a valid secret key.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the Secret or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "cert": {
                        "description": "cert defines the Client certificate to present when doing client-authentication.",
                        "properties": {
                          "configMap": {
                            "description": "configMap defines the ConfigMap containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key to select.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the ConfigMap or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          },
                          "secret": {
                            "description": "secret defines the Secret containing data to use for the targets.",
                            "properties": {
                              "key": {
                                "description": "The key of the secret to select from.  Must be a valid secret key.",
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                "type": "string"
                              },
                              "optional": {
                                "description": "Specify whether the Secret or its key must be defined",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "insecureSkipVerify": {
                        "description": "insecureSkipVerify defines how to disable target certificate validation.",
                        "type": "boolean"
                      },
                      "keySecret": {
                        "description": "keySecret defines the Secret containing the client key file for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "maxVersion": {
                        "description": "maxVersion defines the maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0 or Thanos >= v0.31.0.",
                        "enum": [
                          "TLS10",
                          "TLS11",
                          "TLS12",
                          "TLS13"
                        ],
                        "type": "string"
                      },
                      "minVersion": {
                        "description": "minVersion defines the minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0 or Thanos >= v0.28.0.",
                        "enum": [
                          "TLS10",
                          "TLS11",
                          "TLS12",
                          "TLS13"
                        ],
                        "type": "string"
                      },
                      "serverName": {
                        "description": "serverName is used to verify the hostname for the targets.",
                        "type": "string"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "tokenUrl": {
                    "description": "tokenUrl defines the URL to fetch the token from.",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "clientId",
                  "clientSecret",
                  "tokenUrl"
                ],
                "type": "object",
                "additionalProperties": false
              },
              "port": {
                "description": "port defines the port to scrape metrics from. If using the public IP address, this must",
                "format": "int32",
                "maximum": 65535,
                "minimum": 0,
                "type": "integer"
              },
              "proxyConnectHeader": {
                "additionalProperties": {
                  "items": {
                    "description": "SecretKeySelector selects a key of a Secret.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "type": "array"
                },
                "description": "proxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                "type": "object",
                "x-kubernetes-map-type": "atomic"
              },
              "proxyFromEnvironment": {
                "description": "proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                "type": "boolean"
              },
              "proxyUrl": {
                "description": "proxyUrl defines the HTTP proxy server to use.",
                "pattern": "^(http|https|socks5)://.+$",
                "type": "string"
              },
              "query": {
                "description": "query defines the Puppet Query Language (PQL) query. Only resources are supported.\nhttps://puppet.com/docs/puppetdb/latest/api/query/v4/pql.html",
                "minLength": 1,
                "type": "string"
              },
              "refreshInterval": {
                "description": "refreshInterval defines the time after which the provided names are refreshed.\nIf not set, Prometheus uses its default value.",
                "pattern": "^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$",
                "type": "string"
              },
              "tlsConfig": {
                "description": "tlsConfig defines the TLS configuration to connect to the Consul API.",
                "properties": {
                  "ca": {
                    "description": "ca defines the Certificate authority used when verifying server certificates.",
                    "properties": {
                      "configMap": {
                        "description": "configMap defines the ConfigMap containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key to select.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the ConfigMap or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "description": "secret defines the Secret containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "cert": {
                    "description": "cert defines the Client certificate to present when doing client-authentication.",
                    "properties": {
                      "configMap": {
                        "description": "configMap defines the ConfigMap containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key to select.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the ConfigMap or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "description": "secret defines the Secret containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "insecureSkipVerify": {
                    "description": "insecureSkipVerify defines how to disable target certificate validation.",
                    "type": "boolean"
                  },
                  "keySecret": {
                    "description": "keySecret defines the Secret containing the client key file for the targets.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "maxVersion": {
                    "description": "maxVersion defines the maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0 or Thanos >= v0.31.0.",
                    "enum": [
                      "TLS10",
                      "TLS11",
                      "TLS12",
                      "TLS13"
                    ],
                    "type": "string"
                  },
                  "minVersion": {
                    "description": "minVersion defines the minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0 or Thanos >= v0.28.0.",
                    "enum": [
                      "TLS10",
                      "TLS11",
                      "TLS12",
                      "TLS13"
                    ],
                    "type": "string"
                  },
                  "serverName": {
                    "description": "serverName is used to verify the hostname for the targets.",
                    "type": "string"
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "url": {
                "description": "url defines the URL of the PuppetDB root query endpoint.",
                "minLength": 1,
                "pattern": "^http(s)?://.+$",
                "type": "string"
              }
            },
            "required": [
              "query",
              "url"
            ],
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        },
        "relabelings": {
          "description": "relabelings defines how to rewrite the target's labels before scraping.\nPrometheus Operator automatically adds relabelings for a few standard Kubernetes fields.\nThe original scrape job's name is available via the `__tmp_prometheus_job_name` label.\nMore info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config",
          "items": {
            "description": "RelabelConfig allows dynamic rewriting of the label set for targets, alerts,\nscraped samples and remote write samples.\n\nMore info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config",
            "properties": {
              "action": {
                "default": "replace",
                "description": "action to perform based on the regex matching.\n\n`Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0.\n`DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0.\n\nDefault: \"Replace\"",
                "enum": [
                  "replace",
                  "Replace",
                  "keep",
                  "Keep",
                  "drop",
                  "Drop",
                  "hashmod",
                  "HashMod",
                  "labelmap",
                  "LabelMap",
                  "labeldrop",
                  "LabelDrop",
                  "labelkeep",
                  "LabelKeep",
                  "lowercase",
                  "Lowercase",
                  "uppercase",
                  "Uppercase",
                  "keepequal",
                  "KeepEqual",
                  "dropequal",
                  "DropEqual"
                ],
                "type": "string"
              },
              "modulus": {
                "description": "modulus to take of the hash of the source label values.\n\nOnly applicable when the action is `HashMod`.",
                "format": "int64",
                "type": "integer"
              },
              "regex": {
                "description": "regex defines the regular expression against which the extracted value is matched.",
                "type": "string"
              },
              "replacement": {
                "description": "replacement value against which a Replace action is performed if the\nregular expression matches.\n\nRegex capture groups are available.",
                "type": "string"
              },
              "separator": {
                "description": "separator defines the string between concatenated SourceLabels.",
                "type": "string"
              },
              "sourceLabels": {
                "description": "sourceLabels defines the source labels select values from existing labels. Their content is\nconcatenated using the configured Separator and matched against the\nconfigured regular expression.",
                "items": {
                  "description": "LabelName is a valid Prometheus label name.\nFor Prometheus 3.x, a label name is valid if it contains UTF-8 characters.\nFor Prometheus 2.x, a label name is only valid if it contains ASCII characters, letters, numbers, as well as underscores.",
                  "type": "string"
                },
                "type": "array"
              },
              "targetLabel": {
                "description": "targetLabel defines the label to which the resulting string is written in a replacement.\n\nIt is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`,\n`KeepEqual` and `DropEqual` actions.\n\nRegex capture groups are available.",
                "type": "string"
              }
            },
            "type": "object",
            "additionalProperties": false
          },
          "minItems": 1,
          "type": "array"
        },
        "sampleLimit": {
          "description": "sampleLimit defines per-scrape limit on number of scraped samples that will be accepted.",
          "format": "int64",
          "type": "integer"
        },
        "scalewaySDConfigs": {
          "description": "scalewaySDConfigs defines a list of Scaleway instances and baremetal service discovery configurations.",
          "items": {
            "description": "ScalewaySDConfig configurations allow retrieving scrape targets from Scaleway instances and baremetal services.\nSee https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scaleway_sd_config",
            "properties": {
              "accessKey": {
                "description": "accessKey defines the access key to use. https://console.scaleway.com/project/credentials",
                "minLength": 1,
                "type": "string"
              },
              "apiURL": {
                "description": "apiURL defines the API URL to use when doing the server listing requests.",
                "pattern": "^http(s)?://.+$",
                "type": "string"
              },
              "enableHTTP2": {
                "description": "enableHTTP2 defines whether to enable HTTP2.",
                "type": "boolean"
              },
              "followRedirects": {
                "description": "followRedirects defines whether HTTP requests follow HTTP 3xx redirects.",
                "type": "boolean"
              },
              "nameFilter": {
                "description": "nameFilter defines a name filter (works as a LIKE) to apply on the server listing request.",
                "minLength": 1,
                "type": "string"
              },
              "noProxy": {
                "description": "noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names\nthat should be excluded from proxying. IP and domain names can\ncontain port numbers.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                "type": "string"
              },
              "port": {
                "description": "port defines the port to scrape metrics from. If using the public IP address, this must",
                "format": "int32",
                "maximum": 65535,
                "minimum": 0,
                "type": "integer"
              },
              "projectID": {
                "description": "projectID defines the Project ID of the targets.",
                "minLength": 1,
                "type": "string"
              },
              "proxyConnectHeader": {
                "additionalProperties": {
                  "items": {
                    "description": "SecretKeySelector selects a key of a Secret.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "type": "array"
                },
                "description": "proxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                "type": "object",
                "x-kubernetes-map-type": "atomic"
              },
              "proxyFromEnvironment": {
                "description": "proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.",
                "type": "boolean"
              },
              "proxyUrl": {
                "description": "proxyUrl defines the HTTP proxy server to use.",
                "pattern": "^(http|https|socks5)://.+$",
                "type": "string"
              },
              "refreshInterval": {
                "description": "refreshInterval defines the time after which the provided names are refreshed.\nIf not set, Prometheus uses its default value.",
                "pattern": "^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$",
                "type": "string"
              },
              "role": {
                "description": "role defines the service of the targets to retrieve. Must be `Instance` or `Baremetal`.",
                "enum": [
                  "Instance",
                  "Baremetal"
                ],
                "type": "string"
              },
              "secretKey": {
                "description": "secretKey defines the secret key to use when listing targets.",
                "properties": {
                  "key": {
                    "description": "The key of the secret to select from.  Must be a valid secret key.",
                    "type": "string"
                  },
                  "name": {
                    "default": "",
                    "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                    "type": "string"
                  },
                  "optional": {
                    "description": "Specify whether the Secret or its key must be defined",
                    "type": "boolean"
                  }
                },
                "required": [
                  "key"
                ],
                "type": "object",
                "x-kubernetes-map-type": "atomic",
                "additionalProperties": false
              },
              "tagsFilter": {
                "description": "tagsFilter defines a tag filter (a server needs to have all defined tags to be listed) to apply on the server listing request.",
                "items": {
                  "minLength": 1,
                  "type": "string"
                },
                "minItems": 1,
                "type": "array",
                "x-kubernetes-list-type": "set"
              },
              "tlsConfig": {
                "description": "tlsConfig defines the TLS configuration to connect to the Consul API.",
                "properties": {
                  "ca": {
                    "description": "ca defines the Certificate authority used when verifying server certificates.",
                    "properties": {
                      "configMap": {
                        "description": "configMap defines the ConfigMap containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key to select.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the ConfigMap or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "description": "secret defines the Secret containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "cert": {
                    "description": "cert defines the Client certificate to present when doing client-authentication.",
                    "properties": {
                      "configMap": {
                        "description": "configMap defines the ConfigMap containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key to select.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the ConfigMap or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "description": "secret defines the Secret containing data to use for the targets.",
                        "properties": {
                          "key": {
                            "description": "The key of the secret to select from.  Must be a valid secret key.",
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                            "type": "string"
                          },
                          "optional": {
                            "description": "Specify whether the Secret or its key must be defined",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "insecureSkipVerify": {
                    "description": "insecureSkipVerify defines how to disable target certificate validation.",
                    "type": "boolean"
                  },
                  "keySecret": {
                    "description": "keySecret defines the Secret containing the client key file for the targets.",
                    "properties": {
                      "key": {
                        "description": "The key of the secret to select from.  Must be a valid secret key.",
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "optional": {
                        "description": "Specify whether the Secret or its key must be defined",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "maxVersion": {
                    "description": "maxVersion defines the maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0 or Thanos >= v0.31.0.",
                    "enum": [
                      "TLS10",
                      "TLS11",
                      "TLS12",
                      "TLS13"
                    ],
                    "type": "string"
                  },
                  "minVersion": {
                    "description": "minVersion defines the minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0 or Thanos >= v0.28.0.",
                    "enum": [
                      "TLS10",
                      "TLS11",
                      "TLS12",
                      "TLS13"
                    ],
                    "type": "string"
                  },
                  "serverName": {
                    "description": "serverName is used to verify the hostname for the targets.",
                    "type": "string"
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "zone": {
                "description": "zone defines the availability zone of your targets (e.g. fr-par-1).",
                "minLength": 1,
                "type": "string"
              }
            },
            "required": [
              "accessKey",
              "projectID",
              "role",
              "secretKey"
            ],
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        },
        "scheme": {
          "description": "scheme defines the protocol scheme used for requests.",
          "enum": [
            "http",
            "https",
            "HTTP",
            "HTTPS"
          ],
          "type": "string"
        },
        "scrapeClass": {
          "description": "scrapeClass defines the scrape class to apply.",
          "minLength": 1,
          "type": "string"
        },
        "scrapeClassicHistograms": {
          "description": "scrapeClassicHistograms defines whether to scrape a classic histogram that is also exposed as a native histogram.\nIt requires Prometheus >= v2.45.0.\n\nNotice: `scrapeClassicHistograms` corresponds to the `always_scrape_classic_histograms` field in the Prometheus configuration.",
          "type": "boolean"
        },
        "scrapeInterval": {
          "description": "scrapeInterval defines the interval between consecutive scrapes.",
          "pattern": "^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$",
          "type": "string"
        },
        "scrapeNativeHistograms": {
          "description": "scrapeNativeHistograms defines whether to enable scraping of native histograms.\nIt requires Prometheus >= v3.8.0.",
          "type": "boolean"
        },
        "scrapeProtocols": {
          "description": "scrapeProtocols defines the protocols to negotiate during a scrape. It tells clients the\nprotocols supported by Prometheus in order of preference (from most to least preferred).\n\nIf unset, Prometheus uses its default value.\n\nIt requires Prometheus >= v2.49.0.",
          "items": {
            "description": "ScrapeProtocol represents a protocol used by Prometheus for scraping metrics.\nSupported values are:\n* `OpenMetricsText0.0.1`\n* `OpenMetricsText1.0.0`\n* `PrometheusProto`\n* `PrometheusText0.0.4`\n* `PrometheusText1.0.0`",
            "enum": [
              "PrometheusProto",
              "OpenMetricsText0.0.1",
              "OpenMetricsText1.0.0",
              "PrometheusText0.0.4",
              "PrometheusText1.0.0"
            ],
            "type": "string"
          },
          "minItems": 1,
          "type": "array",
          "x-kubernetes-list-type": "set"
        },
        "scrapeTimeout": {
          "description": "scrapeTimeout defines the number of seconds to wait until a scrape request times out.\nThe value cannot be greater than the scrape interval otherwise the operator will reject the resource.",
          "pattern": "^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$",
          "type": "string"
        },
        "staticConfigs": {
          "description": "staticConfigs defines a list of static targets with a common label set.",
          "items": {
            "description": "StaticConfig defines a Prometheus static configuration.\nSee https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config",
            "properties": {
              "labels": {
                "additionalProperties": {
                  "type": "string"
                },
                "description": "labels defines labels assigned to all metrics scraped from the targets.",
                "type": "object",
                "x-kubernetes-map-type": "atomic"
              },
              "targets": {
                "description": "targets defines the list of targets for this static configuration.",
                "items": {
                  "description": "Target represents a target for Prometheus to scrape\nkubebuilder:validation:MinLength:=1",
                  "type": "string"
                },
                "minItems": 1,
                "type": "array",
                "x-kubernetes-list-type": "set"
              }
            },
            "required": [
              "targets"
            ],
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        },
        "targetLimit": {
          "description": "targetLimit defines a limit on the number of scraped targets that will be accepted.",
          "format": "int64",
          "type": "integer"
        },
        "tlsConfig": {
          "description": "tlsConfig defines the TLS configuration to use on every scrape request",
          "properties": {
            "ca": {
              "description": "ca defines the Certificate authority used when verifying server certificates.",
              "properties": {
                "configMap": {
                  "description": "configMap defines the ConfigMap containing data to use for the targets.",
                  "properties": {
                    "key": {
                      "description": "The key to select.",
                      "type": "string"
                    },
                    "name": {
                      "default": "",
                      "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                      "type": "string"
                    },
                    "optional": {
                      "description": "Specify whether the ConfigMap or its key must be defined",
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "key"
                  ],
                  "type": "object",
                  "x-kubernetes-map-type": "atomic",
                  "additionalProperties": false
                },
                "secret": {
                  "description": "secret defines the Secret containing data to use for the targets.",
                  "properties": {
                    "key": {
                      "description": "The key of the secret to select from.  Must be a valid secret key.",
                      "type": "string"
                    },
                    "name": {
                      "default": "",
                      "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                      "type": "string"
                    },
                    "optional": {
                      "description": "Specify whether the Secret or its key must be defined",
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "key"
                  ],
                  "type": "object",
                  "x-kubernetes-map-type": "atomic",
                  "additionalProperties": false
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "cert": {
              "description": "cert defines the Client certificate to present when doing client-authentication.",
              "properties": {
                "configMap": {
                  "description": "configMap defines the ConfigMap containing data to use for the targets.",
                  "properties": {
                    "key": {
                      "description": "The key to select.",
                      "type": "string"
                    },
                    "name": {
                      "default": "",
                      "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                      "type": "string"
                    },
                    "optional": {
                      "description": "Specify whether the ConfigMap or its key must be defined",
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "key"
                  ],
                  "type": "object",
                  "x-kubernetes-map-type": "atomic",
                  "additionalProperties": false
                },
                "secret": {
                  "description": "secret defines the Secret containing data to use for the targets.",
                  "properties": {
                    "key": {
                      "description": "The key of the secret to select from.  Must be a valid secret key.",
                      "type": "string"
                    },
                    "name": {
                      "default": "",
                      "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                      "type": "string"
                    },
                    "optional": {
                      "description": "Specify whether the Secret or its key must be defined",
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "key"
                  ],
                  "type": "object",
                  "x-kubernetes-map-type": "atomic",
                  "additionalProperties": false
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "insecureSkipVerify": {
              "description": "insecureSkipVerify defines how to disable target certificate validation.",
              "type": "boolean"
            },
            "keySecret": {
              "description": "keySecret defines the Secret containing the client key file for the targets.",
              "properties": {
                "key": {
                  "description": "The key of the secret to select from.  Must be a valid secret key.",
                  "type": "string"
                },
                "name": {
                  "default": "",
                  "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                  "type": "string"
                },
                "optional": {
                  "description": "Specify whether the Secret or its key must be defined",
                  "type": "boolean"
                }
              },
              "required": [
                "key"
              ],
              "type": "object",
              "x-kubernetes-map-type": "atomic",
              "additionalProperties": false
            },
            "maxVersion": {
              "description": "maxVersion defines the maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0 or Thanos >= v0.31.0.",
              "enum": [
                "TLS10",
                "TLS11",
                "TLS12",
                "TLS13"
              ],
              "type": "string"
            },
            "minVersion": {
              "description": "minVersion defines the minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0 or Thanos >= v0.28.0.",
              "enum": [
                "TLS10",
                "TLS11",
                "TLS12",
                "TLS13"
              ],
              "type": "string"
            },
            "serverName": {
              "description": "serverName is used to verify the hostname for the targets.",
              "type": "string"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "trackTimestampsStaleness": {
          "description": "trackTimestampsStaleness defines whether Prometheus tracks staleness of\nthe metrics that have an explicit timestamp present in scraped data.\nHas no effect if `honorTimestamps` is false.\nIt requires Prometheus >= v2.48.0.",
          "type": "boolean"
        }
      },
      "type": "object",
      "additionalProperties": false
    },
    "status": {
      "description": "status defines the status subresource. It is under active development and is updated only when the\n\"StatusForConfigurationResources\" feature gate is enabled.\n\nMost recent observed status of the ScrapeConfig. Read-only.\nMore info:\nhttps://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status",
      "properties": {
        "bindings": {
          "description": "bindings defines the list of workload resources (Prometheus, PrometheusAgent, ThanosRuler or Alertmanager) which select the configuration resource.",
          "items": {
            "description": "WorkloadBinding is a link between a configuration resource and a workload resource.",
            "properties": {
              "conditions": {
                "description": "conditions defines the current state of the configuration resource when bound to the referenced Workload object.",
                "items": {
                  "description": "ConfigResourceCondition describes the status of configuration resources linked to Prometheus, PrometheusAgent, Alertmanager or ThanosRuler.",
                  "properties": {
                    "lastTransitionTime": {
                      "description": "lastTransitionTime defines the time of the last update to the current status property.",
                      "format": "date-time",
                      "type": "string"
                    },
                    "message": {
                      "description": "message defines the human-readable message indicating details for the condition's last transition.",
                      "type": "string"
                    },
                    "observedGeneration": {
                      "description": "observedGeneration defines the .metadata.generation that the\ncondition was set based upon. For instance, if `.metadata.generation` is\ncurrently 12, but the `.status.conditions[].observedGeneration` is 9, the\ncondition is out of date with respect to the current state of the object.",
                      "format": "int64",
                      "type": "integer"
                    },
                    "reason": {
                      "description": "reason for the condition's last transition.",
                      "type": "string"
                    },
                    "status": {
                      "description": "status of the condition.",
                      "minLength": 1,
                      "type": "string"
                    },
                    "type": {
                      "description": "type of the condition being reported.\nCurrently, only \"Accepted\" is supported.",
                      "enum": [
                        "Accepted"
                      ],
                      "minLength": 1,
                      "type": "string"
                    }
                  },
                  "required": [
                    "lastTransitionTime",
                    "status",
                    "type"
                  ],
                  "type": "object",
                  "additionalProperties": false
                },
                "type": "array",
                "x-kubernetes-list-map-keys": [
                  "type"
                ],
                "x-kubernetes-list-type": "map"
              },
              "group": {
                "description": "group defines the group of the referenced resource.",
                "enum": [
                  "monitoring.coreos.com"
                ],
                "type": "string"
              },
              "name": {
                "description": "name defines the name of the referenced object.",
                "minLength": 1,
                "type": "string"
              },
              "namespace": {
                "description": "namespace defines the namespace of the referenced object.",
                "minLength": 1,
                "type": "string"
              },
              "resource": {
                "description": "resource defines the type of resource being referenced (e.g. Prometheus, PrometheusAgent, ThanosRuler or Alertmanager).",
                "enum": [
                  "prometheuses",
                  "prometheusagents",
                  "thanosrulers",
                  "alertmanagers"
                ],
                "type": "string"
              }
            },
            "required": [
              "group",
              "name",
              "namespace",
              "resource"
            ],
            "type": "object",
            "additionalProperties": false
          },
          "type": "array",
          "x-kubernetes-list-map-keys": [
            "group",
            "resource",
            "name",
            "namespace"
          ],
          "x-kubernetes-list-type": "map"
        }
      },
      "type": "object",
      "additionalProperties": false
    }
  },
  "required": [
    "spec"
  ],
  "type": "object"
}
