{
  "apiVersion": "apiextensions.k8s.io/v1",
  "kind": "CustomResourceDefinition",
  "metadata": {
    "annotations": {
      "controller-gen.kubebuilder.io/version": "v0.17.2",
      "operator.prometheus.io/version": "0.81.0"
    },
    "name": "scrapeconfigs.monitoring.coreos.com"
  },
  "spec": {
    "group": "monitoring.coreos.com",
    "names": {
      "categories": [
        "prometheus-operator"
      ],
      "kind": "ScrapeConfig",
      "listKind": "ScrapeConfigList",
      "plural": "scrapeconfigs",
      "shortNames": [
        "scfg"
      ],
      "singular": "scrapeconfig"
    },
    "scope": "Namespaced",
    "versions": [
      {
        "name": "v1alpha1",
        "schema": {
          "openAPIV3Schema": {
            "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": "ScrapeConfigSpec is a specification of the desired configuration for a scrape configuration.",
                "properties": {
                  "authorization": {
                    "description": "Authorization header to use on every scrape request.",
                    "properties": {
                      "credentials": {
                        "description": "Selects 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"
                      },
                      "type": {
                        "description": "Defines the authentication type. The value is case-insensitive.\n\n\"Basic\" is not a supported value.\n\nDefault: \"Bearer\"",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "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": "# 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 header configuration to authenticate against the target HTTP endpoint.\nCannot be set at the same time as `oAuth2`, or `basicAuth`.",
                          "properties": {
                            "credentials": {
                              "description": "Selects 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"
                            },
                            "type": {
                              "description": "Defines the authentication type. The value is case-insensitive.\n\n\"Basic\" is not a supported value.\n\nDefault: \"Bearer\"",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "basicAuth": {
                          "description": "BasicAuth 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` specifies 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"
                            },
                            "username": {
                              "description": "`username` specifies 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"
                            }
                          },
                          "type": "object"
                        },
                        "clientID": {
                          "description": "Optional client ID. Only required with the OAuth authentication method.",
                          "minLength": 1,
                          "type": "string"
                        },
                        "clientSecret": {
                          "description": "Optional 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"
                        },
                        "enableHTTP2": {
                          "description": "Whether to enable HTTP2.",
                          "type": "boolean"
                        },
                        "environment": {
                          "description": "The Azure environment.",
                          "minLength": 1,
                          "type": "string"
                        },
                        "followRedirects": {
                          "description": "Configure whether HTTP requests follow HTTP 3xx redirects.",
                          "type": "boolean"
                        },
                        "noProxy": {
                          "description": "`noProxy` is 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 or Alertmanager >= 0.25.0.",
                          "type": "string"
                        },
                        "oauth2": {
                          "description": "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` specifies a key of a Secret or ConfigMap containing the\nOAuth2 client's ID.",
                              "properties": {
                                "configMap": {
                                  "description": "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"
                                },
                                "secret": {
                                  "description": "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"
                                }
                              },
                              "type": "object"
                            },
                            "clientSecret": {
                              "description": "`clientSecret` specifies 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"
                            },
                            "endpointParams": {
                              "additionalProperties": {
                                "type": "string"
                              },
                              "description": "`endpointParams` configures the HTTP parameters to append to the token\nURL.",
                              "type": "object"
                            },
                            "noProxy": {
                              "description": "`noProxy` is 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 or Alertmanager >= 0.25.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"
                                },
                                "type": "array"
                              },
                              "description": "ProxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                              "type": "object",
                              "x-kubernetes-map-type": "atomic"
                            },
                            "proxyFromEnvironment": {
                              "description": "Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                              "type": "boolean"
                            },
                            "proxyUrl": {
                              "description": "`proxyURL` defines the HTTP proxy server to use.",
                              "pattern": "^http(s)?://.+$",
                              "type": "string"
                            },
                            "scopes": {
                              "description": "`scopes` defines the OAuth2 scopes used for the token request.",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "tlsConfig": {
                              "description": "TLS configuration to use when connecting to the OAuth2 server.\nIt requires Prometheus >= v2.43.0.",
                              "properties": {
                                "ca": {
                                  "description": "Certificate authority used when verifying server certificates.",
                                  "properties": {
                                    "configMap": {
                                      "description": "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"
                                    },
                                    "secret": {
                                      "description": "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"
                                    }
                                  },
                                  "type": "object"
                                },
                                "cert": {
                                  "description": "Client certificate to present when doing client-authentication.",
                                  "properties": {
                                    "configMap": {
                                      "description": "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"
                                    },
                                    "secret": {
                                      "description": "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"
                                    }
                                  },
                                  "type": "object"
                                },
                                "insecureSkipVerify": {
                                  "description": "Disable target certificate validation.",
                                  "type": "boolean"
                                },
                                "keySecret": {
                                  "description": "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"
                                },
                                "maxVersion": {
                                  "description": "Maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0.",
                                  "enum": [
                                    "TLS10",
                                    "TLS11",
                                    "TLS12",
                                    "TLS13"
                                  ],
                                  "type": "string"
                                },
                                "minVersion": {
                                  "description": "Minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0.",
                                  "enum": [
                                    "TLS10",
                                    "TLS11",
                                    "TLS12",
                                    "TLS13"
                                  ],
                                  "type": "string"
                                },
                                "serverName": {
                                  "description": "Used to verify the hostname for the targets.",
                                  "type": "string"
                                }
                              },
                              "type": "object"
                            },
                            "tokenUrl": {
                              "description": "`tokenURL` configures the URL to fetch the token from.",
                              "minLength": 1,
                              "type": "string"
                            }
                          },
                          "required": [
                            "clientId",
                            "clientSecret",
                            "tokenUrl"
                          ],
                          "type": "object"
                        },
                        "port": {
                          "description": "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"
                            },
                            "type": "array"
                          },
                          "description": "ProxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                          "type": "object",
                          "x-kubernetes-map-type": "atomic"
                        },
                        "proxyFromEnvironment": {
                          "description": "Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                          "type": "boolean"
                        },
                        "proxyUrl": {
                          "description": "`proxyURL` defines the HTTP proxy server to use.",
                          "pattern": "^http(s)?://.+$",
                          "type": "string"
                        },
                        "refreshInterval": {
                          "description": "RefreshInterval configures the refresh interval at which Prometheus will re-read the instance list.",
                          "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": "Optional resource group name. Limits discovery to this resource group.\nRequires  Prometheus v2.35.0 and above",
                          "minLength": 1,
                          "type": "string"
                        },
                        "subscriptionID": {
                          "description": "The subscription ID. Always required.",
                          "minLength": 1,
                          "type": "string"
                        },
                        "tenantID": {
                          "description": "Optional tenant ID. Only required with the OAuth authentication method.",
                          "minLength": 1,
                          "type": "string"
                        },
                        "tlsConfig": {
                          "description": "TLS configuration applying to the target HTTP endpoint.",
                          "properties": {
                            "ca": {
                              "description": "Certificate authority used when verifying server certificates.",
                              "properties": {
                                "configMap": {
                                  "description": "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"
                                },
                                "secret": {
                                  "description": "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"
                                }
                              },
                              "type": "object"
                            },
                            "cert": {
                              "description": "Client certificate to present when doing client-authentication.",
                              "properties": {
                                "configMap": {
                                  "description": "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"
                                },
                                "secret": {
                                  "description": "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"
                                }
                              },
                              "type": "object"
                            },
                            "insecureSkipVerify": {
                              "description": "Disable target certificate validation.",
                              "type": "boolean"
                            },
                            "keySecret": {
                              "description": "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"
                            },
                            "maxVersion": {
                              "description": "Maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0.",
                              "enum": [
                                "TLS10",
                                "TLS11",
                                "TLS12",
                                "TLS13"
                              ],
                              "type": "string"
                            },
                            "minVersion": {
                              "description": "Minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0.",
                              "enum": [
                                "TLS10",
                                "TLS11",
                                "TLS12",
                                "TLS13"
                              ],
                              "type": "string"
                            },
                            "serverName": {
                              "description": "Used to verify the hostname for the targets.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        }
                      },
                      "required": [
                        "subscriptionID"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "basicAuth": {
                    "description": "BasicAuth information to use on every scrape request.",
                    "properties": {
                      "password": {
                        "description": "`password` specifies 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"
                      },
                      "username": {
                        "description": "`username` specifies 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"
                      }
                    },
                    "type": "object"
                  },
                  "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": "Allow stale 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": "Optional Authorization header configuration to authenticate against the Consul Server.\nCannot be set at the same time as `basicAuth`, or `oauth2`.",
                          "properties": {
                            "credentials": {
                              "description": "Selects 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"
                            },
                            "type": {
                              "description": "Defines the authentication type. The value is case-insensitive.\n\n\"Basic\" is not a supported value.\n\nDefault: \"Bearer\"",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "basicAuth": {
                          "description": "Optional BasicAuth 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` specifies 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"
                            },
                            "username": {
                              "description": "`username` specifies 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"
                            }
                          },
                          "type": "object"
                        },
                        "datacenter": {
                          "description": "Consul Datacenter name, if not provided it will use the local Consul Agent Datacenter.",
                          "minLength": 1,
                          "type": "string"
                        },
                        "enableHTTP2": {
                          "description": "Whether to enable HTTP2.\nIf unset, Prometheus uses its default value.",
                          "type": "boolean"
                        },
                        "filter": {
                          "description": "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": "Configure whether HTTP requests follow HTTP 3xx redirects.\nIf unset, Prometheus uses its default value.",
                          "type": "boolean"
                        },
                        "namespace": {
                          "description": "Namespaces are only supported in Consul Enterprise.\n\nIt requires Prometheus >= 2.28.0.",
                          "minLength": 1,
                          "type": "string"
                        },
                        "noProxy": {
                          "description": "`noProxy` is 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 or Alertmanager >= 0.25.0.",
                          "type": "string"
                        },
                        "nodeMeta": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "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": "Optional OAuth2.0 configuration.\nCannot be set at the same time as `basicAuth`, or `authorization`.",
                          "properties": {
                            "clientId": {
                              "description": "`clientId` specifies a key of a Secret or ConfigMap containing the\nOAuth2 client's ID.",
                              "properties": {
                                "configMap": {
                                  "description": "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"
                                },
                                "secret": {
                                  "description": "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"
                                }
                              },
                              "type": "object"
                            },
                            "clientSecret": {
                              "description": "`clientSecret` specifies 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"
                            },
                            "endpointParams": {
                              "additionalProperties": {
                                "type": "string"
                              },
                              "description": "`endpointParams` configures the HTTP parameters to append to the token\nURL.",
                              "type": "object"
                            },
                            "noProxy": {
                              "description": "`noProxy` is 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 or Alertmanager >= 0.25.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"
                                },
                                "type": "array"
                              },
                              "description": "ProxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                              "type": "object",
                              "x-kubernetes-map-type": "atomic"
                            },
                            "proxyFromEnvironment": {
                              "description": "Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                              "type": "boolean"
                            },
                            "proxyUrl": {
                              "description": "`proxyURL` defines the HTTP proxy server to use.",
                              "pattern": "^http(s)?://.+$",
                              "type": "string"
                            },
                            "scopes": {
                              "description": "`scopes` defines the OAuth2 scopes used for the token request.",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "tlsConfig": {
                              "description": "TLS configuration to use when connecting to the OAuth2 server.\nIt requires Prometheus >= v2.43.0.",
                              "properties": {
                                "ca": {
                                  "description": "Certificate authority used when verifying server certificates.",
                                  "properties": {
                                    "configMap": {
                                      "description": "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"
                                    },
                                    "secret": {
                                      "description": "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"
                                    }
                                  },
                                  "type": "object"
                                },
                                "cert": {
                                  "description": "Client certificate to present when doing client-authentication.",
                                  "properties": {
                                    "configMap": {
                                      "description": "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"
                                    },
                                    "secret": {
                                      "description": "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"
                                    }
                                  },
                                  "type": "object"
                                },
                                "insecureSkipVerify": {
                                  "description": "Disable target certificate validation.",
                                  "type": "boolean"
                                },
                                "keySecret": {
                                  "description": "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"
                                },
                                "maxVersion": {
                                  "description": "Maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0.",
                                  "enum": [
                                    "TLS10",
                                    "TLS11",
                                    "TLS12",
                                    "TLS13"
                                  ],
                                  "type": "string"
                                },
                                "minVersion": {
                                  "description": "Minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0.",
                                  "enum": [
                                    "TLS10",
                                    "TLS11",
                                    "TLS12",
                                    "TLS13"
                                  ],
                                  "type": "string"
                                },
                                "serverName": {
                                  "description": "Used to verify the hostname for the targets.",
                                  "type": "string"
                                }
                              },
                              "type": "object"
                            },
                            "tokenUrl": {
                              "description": "`tokenURL` configures the URL to fetch the token from.",
                              "minLength": 1,
                              "type": "string"
                            }
                          },
                          "required": [
                            "clientId",
                            "clientSecret",
                            "tokenUrl"
                          ],
                          "type": "object"
                        },
                        "partition": {
                          "description": "Admin Partitions are only supported in Consul Enterprise.",
                          "minLength": 1,
                          "type": "string"
                        },
                        "pathPrefix": {
                          "description": "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"
                            },
                            "type": "array"
                          },
                          "description": "ProxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                          "type": "object",
                          "x-kubernetes-map-type": "atomic"
                        },
                        "proxyFromEnvironment": {
                          "description": "Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                          "type": "boolean"
                        },
                        "proxyUrl": {
                          "description": "`proxyURL` defines the HTTP proxy server to use.",
                          "pattern": "^http(s)?://.+$",
                          "type": "string"
                        },
                        "refreshInterval": {
                          "description": "The time after which the provided names are refreshed.\nOn large setup it might be a good idea to increase this value because the catalog will change all the time.\nIf unset, 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": "HTTP Scheme default \"http\"",
                          "enum": [
                            "HTTP",
                            "HTTPS"
                          ],
                          "type": "string"
                        },
                        "server": {
                          "description": "Consul server address. A valid string consisting of a hostname or IP followed by an optional port number.",
                          "minLength": 1,
                          "type": "string"
                        },
                        "services": {
                          "description": "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": "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": "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": "TLS configuration to connect to the Consul API.",
                          "properties": {
                            "ca": {
                              "description": "Certificate authority used when verifying server certificates.",
                              "properties": {
                                "configMap": {
                                  "description": "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"
                                },
                                "secret": {
                                  "description": "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"
                                }
                              },
                              "type": "object"
                            },
                            "cert": {
                              "description": "Client certificate to present when doing client-authentication.",
                              "properties": {
                                "configMap": {
                                  "description": "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"
                                },
                                "secret": {
                                  "description": "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"
                                }
                              },
                              "type": "object"
                            },
                            "insecureSkipVerify": {
                              "description": "Disable target certificate validation.",
                              "type": "boolean"
                            },
                            "keySecret": {
                              "description": "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"
                            },
                            "maxVersion": {
                              "description": "Maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0.",
                              "enum": [
                                "TLS10",
                                "TLS11",
                                "TLS12",
                                "TLS13"
                              ],
                              "type": "string"
                            },
                            "minVersion": {
                              "description": "Minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0.",
                              "enum": [
                                "TLS10",
                                "TLS11",
                                "TLS12",
                                "TLS13"
                              ],
                              "type": "string"
                            },
                            "serverName": {
                              "description": "Used to verify the hostname for the targets.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "tokenRef": {
                          "description": "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"
                        }
                      },
                      "required": [
                        "server"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "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 header configuration to authenticate against the DigitalOcean API.\nCannot be set at the same time as `oauth2`.",
                          "properties": {
                            "credentials": {
                              "description": "Selects 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"
                            },
                            "type": {
                              "description": "Defines the authentication type. The value is case-insensitive.\n\n\"Basic\" is not a supported value.\n\nDefault: \"Bearer\"",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "enableHTTP2": {
                          "description": "Whether to enable HTTP2.",
                          "type": "boolean"
                        },
                        "followRedirects": {
                          "description": "Configure whether HTTP requests follow HTTP 3xx redirects.",
                          "type": "boolean"
                        },
                        "noProxy": {
                          "description": "`noProxy` is 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 or Alertmanager >= 0.25.0.",
                          "type": "string"
                        },
                        "oauth2": {
                          "description": "Optional OAuth 2.0 configuration.\nCannot be set at the same time as `authorization`.",
                          "properties": {
                            "clientId": {
                              "description": "`clientId` specifies a key of a Secret or ConfigMap containing the\nOAuth2 client's ID.",
                              "properties": {
                                "configMap": {
                                  "description": "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"
                                },
                                "secret": {
                                  "description": "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"
                                }
                              },
                              "type": "object"
                            },
                            "clientSecret": {
                              "description": "`clientSecret` specifies 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"
                            },
                            "endpointParams": {
                              "additionalProperties": {
                                "type": "string"
                              },
                              "description": "`endpointParams` configures the HTTP parameters to append to the token\nURL.",
                              "type": "object"
                            },
                            "noProxy": {
                              "description": "`noProxy` is 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 or Alertmanager >= 0.25.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"
                                },
                                "type": "array"
                              },
                              "description": "ProxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                              "type": "object",
                              "x-kubernetes-map-type": "atomic"
                            },
                            "proxyFromEnvironment": {
                              "description": "Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                              "type": "boolean"
                            },
                            "proxyUrl": {
                              "description": "`proxyURL` defines the HTTP proxy server to use.",
                              "pattern": "^http(s)?://.+$",
                              "type": "string"
                            },
                            "scopes": {
                              "description": "`scopes` defines the OAuth2 scopes used for the token request.",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "tlsConfig": {
                              "description": "TLS configuration to use when connecting to the OAuth2 server.\nIt requires Prometheus >= v2.43.0.",
                              "properties": {
                                "ca": {
                                  "description": "Certificate authority used when verifying server certificates.",
                                  "properties": {
                                    "configMap": {
                                      "description": "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"
                                    },
                                    "secret": {
                                      "description": "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"
                                    }
                                  },
                                  "type": "object"
                                },
                                "cert": {
                                  "description": "Client certificate to present when doing client-authentication.",
                                  "properties": {
                                    "configMap": {
                                      "description": "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"
                                    },
                                    "secret": {
                                      "description": "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"
                                    }
                                  },
                                  "type": "object"
                                },
                                "insecureSkipVerify": {
                                  "description": "Disable target certificate validation.",
                                  "type": "boolean"
                                },
                                "keySecret": {
                                  "description": "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"
                                },
                                "maxVersion": {
                                  "description": "Maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0.",
                                  "enum": [
                                    "TLS10",
                                    "TLS11",
                                    "TLS12",
                                    "TLS13"
                                  ],
                                  "type": "string"
                                },
                                "minVersion": {
                                  "description": "Minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0.",
                                  "enum": [
                                    "TLS10",
                                    "TLS11",
                                    "TLS12",
                                    "TLS13"
                                  ],
                                  "type": "string"
                                },
                                "serverName": {
                                  "description": "Used to verify the hostname for the targets.",
                                  "type": "string"
                                }
                              },
                              "type": "object"
                            },
                            "tokenUrl": {
                              "description": "`tokenURL` configures the URL to fetch the token from.",
                              "minLength": 1,
                              "type": "string"
                            }
                          },
                          "required": [
                            "clientId",
                            "clientSecret",
                            "tokenUrl"
                          ],
                          "type": "object"
                        },
                        "port": {
                          "description": "The port to scrape metrics from.",
                          "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"
                            },
                            "type": "array"
                          },
                          "description": "ProxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                          "type": "object",
                          "x-kubernetes-map-type": "atomic"
                        },
                        "proxyFromEnvironment": {
                          "description": "Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                          "type": "boolean"
                        },
                        "proxyUrl": {
                          "description": "`proxyURL` defines the HTTP proxy server to use.",
                          "pattern": "^http(s)?://.+$",
                          "type": "string"
                        },
                        "refreshInterval": {
                          "description": "Refresh interval to re-read the instance list.",
                          "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": "TLS configuration applying to the target HTTP endpoint.",
                          "properties": {
                            "ca": {
                              "description": "Certificate authority used when verifying server certificates.",
                              "properties": {
                                "configMap": {
                                  "description": "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"
                                },
                                "secret": {
                                  "description": "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"
                                }
                              },
                              "type": "object"
                            },
                            "cert": {
                              "description": "Client certificate to present when doing client-authentication.",
                              "properties": {
                                "configMap": {
                                  "description": "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"
                                },
                                "secret": {
                                  "description": "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"
                                }
                              },
                              "type": "object"
                            },
                            "insecureSkipVerify": {
                              "description": "Disable target certificate validation.",
                              "type": "boolean"
                            },
                            "keySecret": {
                              "description": "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"
                            },
                            "maxVersion": {
                              "description": "Maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0.",
                              "enum": [
                                "TLS10",
                                "TLS11",
                                "TLS12",
                                "TLS13"
                              ],
                              "type": "string"
                            },
                            "minVersion": {
                              "description": "Minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0.",
                              "enum": [
                                "TLS10",
                                "TLS11",
                                "TLS12",
                                "TLS13"
                              ],
                              "type": "string"
                            },
                            "serverName": {
                              "description": "Used to verify the hostname for the targets.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        }
                      },
                      "type": "object"
                    },
                    "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": "A list of DNS domain names to be queried.",
                          "items": {
                            "minLength": 1,
                            "type": "string"
                          },
                          "minItems": 1,
                          "type": "array"
                        },
                        "port": {
                          "description": "The port number used if the query type is not SRV\nIgnored for SRV records",
                          "format": "int32",
                          "maximum": 65535,
                          "minimum": 0,
                          "type": "integer"
                        },
                        "refreshInterval": {
                          "description": "RefreshInterval configures 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": "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"
                    },
                    "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 header configuration to authenticate against the Docker API.\nCannot be set at the same time as `oauth2`.",
                          "properties": {
                            "credentials": {
                              "description": "Selects 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"
                            },
                            "type": {
                              "description": "Defines the authentication type. The value is case-insensitive.\n\n\"Basic\" is not a supported value.\n\nDefault: \"Bearer\"",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "basicAuth": {
                          "description": "BasicAuth information to use on every scrape request.",
                          "properties": {
                            "password": {
                              "description": "`password` specifies 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"
                            },
                            "username": {
                              "description": "`username` specifies 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"
                            }
                          },
                          "type": "object"
                        },
                        "enableHTTP2": {
                          "description": "Whether to enable HTTP2.",
                          "type": "boolean"
                        },
                        "filters": {
                          "description": "Optional 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": "Value to filter on.",
                                "items": {
                                  "minLength": 1,
                                  "type": "string"
                                },
                                "minItems": 1,
                                "type": "array",
                                "x-kubernetes-list-type": "set"
                              }
                            },
                            "required": [
                              "name",
                              "values"
                            ],
                            "type": "object"
                          },
                          "type": "array",
                          "x-kubernetes-list-map-keys": [
                            "name"
                          ],
                          "x-kubernetes-list-type": "map"
                        },
                        "followRedirects": {
                          "description": "Configure whether HTTP requests follow HTTP 3xx redirects.",
                          "type": "boolean"
                        },
                        "host": {
                          "description": "Address of the docker daemon",
                          "minLength": 1,
                          "type": "string"
                        },
                        "hostNetworkingHost": {
                          "description": "The host to use if the container is in host networking mode.",
                          "type": "string"
                        },
                        "matchFirstNetwork": {
                          "description": "Configure 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` is 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 or Alertmanager >= 0.25.0.",
                          "type": "string"
                        },
                        "oauth2": {
                          "description": "Optional OAuth 2.0 configuration.\nCannot be set at the same time as `authorization`.",
                          "properties": {
                            "clientId": {
                              "description": "`clientId` specifies a key of a Secret or ConfigMap containing the\nOAuth2 client's ID.",
                              "properties": {
                                "configMap": {
                                  "description": "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"
                                },
                                "secret": {
                                  "description": "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"
                                }
                              },
                              "type": "object"
                            },
                            "clientSecret": {
                              "description": "`clientSecret` specifies 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"
                            },
                            "endpointParams": {
                              "additionalProperties": {
                                "type": "string"
                              },
                              "description": "`endpointParams` configures the HTTP parameters to append to the token\nURL.",
                              "type": "object"
                            },
                            "noProxy": {
                              "description": "`noProxy` is 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 or Alertmanager >= 0.25.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"
                                },
                                "type": "array"
                              },
                              "description": "ProxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                              "type": "object",
                              "x-kubernetes-map-type": "atomic"
                            },
                            "proxyFromEnvironment": {
                              "description": "Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                              "type": "boolean"
                            },
                            "proxyUrl": {
                              "description": "`proxyURL` defines the HTTP proxy server to use.",
                              "pattern": "^http(s)?://.+$",
                              "type": "string"
                            },
                            "scopes": {
                              "description": "`scopes` defines the OAuth2 scopes used for the token request.",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "tlsConfig": {
                              "description": "TLS configuration to use when connecting to the OAuth2 server.\nIt requires Prometheus >= v2.43.0.",
                              "properties": {
                                "ca": {
                                  "description": "Certificate authority used when verifying server certificates.",
                                  "properties": {
                                    "configMap": {
                                      "description": "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"
                                    },
                                    "secret": {
                                      "description": "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"
                                    }
                                  },
                                  "type": "object"
                                },
                                "cert": {
                                  "description": "Client certificate to present when doing client-authentication.",
                                  "properties": {
                                    "configMap": {
                                      "description": "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"
                                    },
                                    "secret": {
                                      "description": "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"
                                    }
                                  },
                                  "type": "object"
                                },
                                "insecureSkipVerify": {
                                  "description": "Disable target certificate validation.",
                                  "type": "boolean"
                                },
                                "keySecret": {
                                  "description": "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"
                                },
                                "maxVersion": {
                                  "description": "Maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0.",
                                  "enum": [
                                    "TLS10",
                                    "TLS11",
                                    "TLS12",
                                    "TLS13"
                                  ],
                                  "type": "string"
                                },
                                "minVersion": {
                                  "description": "Minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0.",
                                  "enum": [
                                    "TLS10",
                                    "TLS11",
                                    "TLS12",
                                    "TLS13"
                                  ],
                                  "type": "string"
                                },
                                "serverName": {
                                  "description": "Used to verify the hostname for the targets.",
                                  "type": "string"
                                }
                              },
                              "type": "object"
                            },
                            "tokenUrl": {
                              "description": "`tokenURL` configures the URL to fetch the token from.",
                              "minLength": 1,
                              "type": "string"
                            }
                          },
                          "required": [
                            "clientId",
                            "clientSecret",
                            "tokenUrl"
                          ],
                          "type": "object"
                        },
                        "port": {
                          "description": "The port to scrape metrics from.",
                          "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"
                            },
                            "type": "array"
                          },
                          "description": "ProxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                          "type": "object",
                          "x-kubernetes-map-type": "atomic"
                        },
                        "proxyFromEnvironment": {
                          "description": "Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                          "type": "boolean"
                        },
                        "proxyUrl": {
                          "description": "`proxyURL` defines the HTTP proxy server to use.",
                          "pattern": "^http(s)?://.+$",
                          "type": "string"
                        },
                        "refreshInterval": {
                          "description": "Time after which the container is 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"
                        },
                        "tlsConfig": {
                          "description": "TLS configuration applying to the target HTTP endpoint.",
                          "properties": {
                            "ca": {
                              "description": "Certificate authority used when verifying server certificates.",
                              "properties": {
                                "configMap": {
                                  "description": "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"
                                },
                                "secret": {
                                  "description": "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"
                                }
                              },
                              "type": "object"
                            },
                            "cert": {
                              "description": "Client certificate to present when doing client-authentication.",
                              "properties": {
                                "configMap": {
                                  "description": "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"
                                },
                                "secret": {
                                  "description": "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"
                                }
                              },
                              "type": "object"
                            },
                            "insecureSkipVerify": {
                              "description": "Disable target certificate validation.",
                              "type": "boolean"
                            },
                            "keySecret": {
                              "description": "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"
                            },
                            "maxVersion": {
                              "description": "Maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0.",
                              "enum": [
                                "TLS10",
                                "TLS11",
                                "TLS12",
                                "TLS13"
                              ],
                              "type": "string"
                            },
                            "minVersion": {
                              "description": "Minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0.",
                              "enum": [
                                "TLS10",
                                "TLS11",
                                "TLS12",
                                "TLS13"
                              ],
                              "type": "string"
                            },
                            "serverName": {
                              "description": "Used to verify the hostname for the targets.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        }
                      },
                      "required": [
                        "host"
                      ],
                      "type": "object"
                    },
                    "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 header configuration to authenticate against the target HTTP endpoint.",
                          "properties": {
                            "credentials": {
                              "description": "Selects 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"
                            },
                            "type": {
                              "description": "Defines the authentication type. The value is case-insensitive.\n\n\"Basic\" is not a supported value.\n\nDefault: \"Bearer\"",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "basicAuth": {
                          "description": "Optional HTTP basic authentication information.",
                          "properties": {
                            "password": {
                              "description": "`password` specifies 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"
                            },
                            "username": {
                              "description": "`username` specifies 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"
                            }
                          },
                          "type": "object"
                        },
                        "enableHTTP2": {
                          "description": "Whether to enable HTTP2.",
                          "type": "boolean"
                        },
                        "filters": {
                          "description": "Optional 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": "Value to filter on.",
                                "items": {
                                  "minLength": 1,
                                  "type": "string"
                                },
                                "minItems": 1,
                                "type": "array",
                                "x-kubernetes-list-type": "set"
                              }
                            },
                            "required": [
                              "name",
                              "values"
                            ],
                            "type": "object"
                          },
                          "type": "array",
                          "x-kubernetes-list-map-keys": [
                            "name"
                          ],
                          "x-kubernetes-list-type": "map"
                        },
                        "followRedirects": {
                          "description": "Configure whether HTTP requests follow HTTP 3xx redirects.",
                          "type": "boolean"
                        },
                        "host": {
                          "description": "Address of the Docker daemon",
                          "pattern": "^[a-zA-Z][a-zA-Z0-9+.-]*://.+$",
                          "type": "string"
                        },
                        "noProxy": {
                          "description": "`noProxy` is 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 or Alertmanager >= 0.25.0.",
                          "type": "string"
                        },
                        "oauth2": {
                          "description": "Optional OAuth 2.0 configuration.\nCannot be set at the same time as `authorization`, or `basicAuth`.",
                          "properties": {
                            "clientId": {
                              "description": "`clientId` specifies a key of a Secret or ConfigMap containing the\nOAuth2 client's ID.",
                              "properties": {
                                "configMap": {
                                  "description": "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"
                                },
                                "secret": {
                                  "description": "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"
                                }
                              },
                              "type": "object"
                            },
                            "clientSecret": {
                              "description": "`clientSecret` specifies 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"
                            },
                            "endpointParams": {
                              "additionalProperties": {
                                "type": "string"
                              },
                              "description": "`endpointParams` configures the HTTP parameters to append to the token\nURL.",
                              "type": "object"
                            },
                            "noProxy": {
                              "description": "`noProxy` is 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 or Alertmanager >= 0.25.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"
                                },
                                "type": "array"
                              },
                              "description": "ProxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                              "type": "object",
                              "x-kubernetes-map-type": "atomic"
                            },
                            "proxyFromEnvironment": {
                              "description": "Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                              "type": "boolean"
                            },
                            "proxyUrl": {
                              "description": "`proxyURL` defines the HTTP proxy server to use.",
                              "pattern": "^http(s)?://.+$",
                              "type": "string"
                            },
                            "scopes": {
                              "description": "`scopes` defines the OAuth2 scopes used for the token request.",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "tlsConfig": {
                              "description": "TLS configuration to use when connecting to the OAuth2 server.\nIt requires Prometheus >= v2.43.0.",
                              "properties": {
                                "ca": {
                                  "description": "Certificate authority used when verifying server certificates.",
                                  "properties": {
                                    "configMap": {
                                      "description": "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"
                                    },
                                    "secret": {
                                      "description": "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"
                                    }
                                  },
                                  "type": "object"
                                },
                                "cert": {
                                  "description": "Client certificate to present when doing client-authentication.",
                                  "properties": {
                                    "configMap": {
                                      "description": "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"
                                    },
                                    "secret": {
                                      "description": "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"
                                    }
                                  },
                                  "type": "object"
                                },
                                "insecureSkipVerify": {
                                  "description": "Disable target certificate validation.",
                                  "type": "boolean"
                                },
                                "keySecret": {
                                  "description": "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"
                                },
                                "maxVersion": {
                                  "description": "Maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0.",
                                  "enum": [
                                    "TLS10",
                                    "TLS11",
                                    "TLS12",
                                    "TLS13"
                                  ],
                                  "type": "string"
                                },
                                "minVersion": {
                                  "description": "Minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0.",
                                  "enum": [
                                    "TLS10",
                                    "TLS11",
                                    "TLS12",
                                    "TLS13"
                                  ],
                                  "type": "string"
                                },
                                "serverName": {
                                  "description": "Used to verify the hostname for the targets.",
                                  "type": "string"
                                }
                              },
                              "type": "object"
                            },
                            "tokenUrl": {
                              "description": "`tokenURL` configures the URL to fetch the token from.",
                              "minLength": 1,
                              "type": "string"
                            }
                          },
                          "required": [
                            "clientId",
                            "clientSecret",
                            "tokenUrl"
                          ],
                          "type": "object"
                        },
                        "port": {
                          "description": "The port to scrape metrics from, when `role` is nodes, and for discovered\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"
                            },
                            "type": "array"
                          },
                          "description": "ProxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                          "type": "object",
                          "x-kubernetes-map-type": "atomic"
                        },
                        "proxyFromEnvironment": {
                          "description": "Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                          "type": "boolean"
                        },
                        "proxyUrl": {
                          "description": "`proxyURL` defines the HTTP proxy server to use.",
                          "pattern": "^http(s)?://.+$",
                          "type": "string"
                        },
                        "refreshInterval": {
                          "description": "The time after which the service discovery data is 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"
                        },
                        "role": {
                          "description": "Role of the targets to retrieve. Must be `Services`, `Tasks`, or `Nodes`.",
                          "enum": [
                            "Services",
                            "Tasks",
                            "Nodes"
                          ],
                          "type": "string"
                        },
                        "tlsConfig": {
                          "description": "TLS configuration to use on every scrape request",
                          "properties": {
                            "ca": {
                              "description": "Certificate authority used when verifying server certificates.",
                              "properties": {
                                "configMap": {
                                  "description": "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"
                                },
                                "secret": {
                                  "description": "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"
                                }
                              },
                              "type": "object"
                            },
                            "cert": {
                              "description": "Client certificate to present when doing client-authentication.",
                              "properties": {
                                "configMap": {
                                  "description": "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"
                                },
                                "secret": {
                                  "description": "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"
                                }
                              },
                              "type": "object"
                            },
                            "insecureSkipVerify": {
                              "description": "Disable target certificate validation.",
                              "type": "boolean"
                            },
                            "keySecret": {
                              "description": "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"
                            },
                            "maxVersion": {
                              "description": "Maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0.",
                              "enum": [
                                "TLS10",
                                "TLS11",
                                "TLS12",
                                "TLS13"
                              ],
                              "type": "string"
                            },
                            "minVersion": {
                              "description": "Minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0.",
                              "enum": [
                                "TLS10",
                                "TLS11",
                                "TLS12",
                                "TLS13"
                              ],
                              "type": "string"
                            },
                            "serverName": {
                              "description": "Used to verify the hostname for the targets.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        }
                      },
                      "required": [
                        "host",
                        "role"
                      ],
                      "type": "object"
                    },
                    "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 is 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"
                        },
                        "enableHTTP2": {
                          "description": "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": "Value to filter on.",
                                "items": {
                                  "minLength": 1,
                                  "type": "string"
                                },
                                "minItems": 1,
                                "type": "array",
                                "x-kubernetes-list-type": "set"
                              }
                            },
                            "required": [
                              "name",
                              "values"
                            ],
                            "type": "object"
                          },
                          "type": "array",
                          "x-kubernetes-list-map-keys": [
                            "name"
                          ],
                          "x-kubernetes-list-type": "map"
                        },
                        "followRedirects": {
                          "description": "Configure whether HTTP requests follow HTTP 3xx redirects.\nIt requires Prometheus >= v2.41.0",
                          "type": "boolean"
                        },
                        "noProxy": {
                          "description": "`noProxy` is 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 or Alertmanager >= 0.25.0.",
                          "type": "string"
                        },
                        "port": {
                          "description": "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"
                            },
                            "type": "array"
                          },
                          "description": "ProxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                          "type": "object",
                          "x-kubernetes-map-type": "atomic"
                        },
                        "proxyFromEnvironment": {
                          "description": "Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                          "type": "boolean"
                        },
                        "proxyUrl": {
                          "description": "`proxyURL` defines the HTTP proxy server to use.",
                          "pattern": "^http(s)?://.+$",
                          "type": "string"
                        },
                        "refreshInterval": {
                          "description": "RefreshInterval configures the refresh interval at which Prometheus will re-read the instance list.",
                          "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": "The AWS region.",
                          "minLength": 1,
                          "type": "string"
                        },
                        "roleARN": {
                          "description": "AWS Role ARN, an alternative to using AWS API keys.",
                          "minLength": 1,
                          "type": "string"
                        },
                        "secretKey": {
                          "description": "SecretKey is 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"
                        },
                        "tlsConfig": {
                          "description": "TLS configuration to connect to the AWS EC2 API.\nIt requires Prometheus >= v2.41.0",
                          "properties": {
                            "ca": {
                              "description": "Certificate authority used when verifying server certificates.",
                              "properties": {
                                "configMap": {
                                  "description": "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"
                                },
                                "secret": {
                                  "description": "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"
                                }
                              },
                              "type": "object"
                            },
                            "cert": {
                              "description": "Client certificate to present when doing client-authentication.",
                              "properties": {
                                "configMap": {
                                  "description": "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"
                                },
                                "secret": {
                                  "description": "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"
                                }
                              },
                              "type": "object"
                            },
                            "insecureSkipVerify": {
                              "description": "Disable target certificate validation.",
                              "type": "boolean"
                            },
                            "keySecret": {
                              "description": "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"
                            },
                            "maxVersion": {
                              "description": "Maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0.",
                              "enum": [
                                "TLS10",
                                "TLS11",
                                "TLS12",
                                "TLS13"
                              ],
                              "type": "string"
                            },
                            "minVersion": {
                              "description": "Minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0.",
                              "enum": [
                                "TLS10",
                                "TLS11",
                                "TLS12",
                                "TLS13"
                              ],
                              "type": "string"
                            },
                            "serverName": {
                              "description": "Used to verify the hostname for the targets.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        }
                      },
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "enableCompression": {
                    "description": "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": "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 header to use on every scrape request.",
                          "properties": {
                            "credentials": {
                              "description": "Selects 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"
                            },
                            "type": {
                              "description": "Defines the authentication type. The value is case-insensitive.\n\n\"Basic\" is not a supported value.\n\nDefault: \"Bearer\"",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "basicAuth": {
                          "description": "BasicAuth information to use on every scrape request.",
                          "properties": {
                            "password": {
                              "description": "`password` specifies 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"
                            },
                            "username": {
                              "description": "`username` specifies 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"
                            }
                          },
                          "type": "object"
                        },
                        "enableHTTP2": {
                          "description": "Whether to enable HTTP2.",
                          "type": "boolean"
                        },
                        "followRedirects": {
                          "description": "Configure whether HTTP requests follow HTTP 3xx redirects.",
                          "type": "boolean"
                        },
                        "noProxy": {
                          "description": "`noProxy` is 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 or Alertmanager >= 0.25.0.",
                          "type": "string"
                        },
                        "oauth2": {
                          "description": "Optional OAuth 2.0 configuration.\nCannot be set at the same time as `authorization` or `basic_auth`.",
                          "properties": {
                            "clientId": {
                              "description": "`clientId` specifies a key of a Secret or ConfigMap containing the\nOAuth2 client's ID.",
                              "properties": {
                                "configMap": {
                                  "description": "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"
                                },
                                "secret": {
                                  "description": "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"
                                }
                              },
                              "type": "object"
                            },
                            "clientSecret": {
                              "description": "`clientSecret` specifies 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"
                            },
                            "endpointParams": {
                              "additionalProperties": {
                                "type": "string"
                              },
                              "description": "`endpointParams` configures the HTTP parameters to append to the token\nURL.",
                              "type": "object"
                            },
                            "noProxy": {
                              "description": "`noProxy` is 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 or Alertmanager >= 0.25.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"
                                },
                                "type": "array"
                              },
                              "description": "ProxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                              "type": "object",
                              "x-kubernetes-map-type": "atomic"
                            },
                            "proxyFromEnvironment": {
                              "description": "Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                              "type": "boolean"
                            },
                            "proxyUrl": {
                              "description": "`proxyURL` defines the HTTP proxy server to use.",
                              "pattern": "^http(s)?://.+$",
                              "type": "string"
                            },
                            "scopes": {
                              "description": "`scopes` defines the OAuth2 scopes used for the token request.",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "tlsConfig": {
                              "description": "TLS configuration to use when connecting to the OAuth2 server.\nIt requires Prometheus >= v2.43.0.",
                              "properties": {
                                "ca": {
                                  "description": "Certificate authority used when verifying server certificates.",
                                  "properties": {
                                    "configMap": {
                                      "description": "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"
                                    },
                                    "secret": {
                                      "description": "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"
                                    }
                                  },
                                  "type": "object"
                                },
                                "cert": {
                                  "description": "Client certificate to present when doing client-authentication.",
                                  "properties": {
                                    "configMap": {
                                      "description": "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"
                                    },
                                    "secret": {
                                      "description": "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"
                                    }
                                  },
                                  "type": "object"
                                },
                                "insecureSkipVerify": {
                                  "description": "Disable target certificate validation.",
                                  "type": "boolean"
                                },
                                "keySecret": {
                                  "description": "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"
                                },
                                "maxVersion": {
                                  "description": "Maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0.",
                                  "enum": [
                                    "TLS10",
                                    "TLS11",
                                    "TLS12",
                                    "TLS13"
                                  ],
                                  "type": "string"
                                },
                                "minVersion": {
                                  "description": "Minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0.",
                                  "enum": [
                                    "TLS10",
                                    "TLS11",
                                    "TLS12",
                                    "TLS13"
                                  ],
                                  "type": "string"
                                },
                                "serverName": {
                                  "description": "Used to verify the hostname for the targets.",
                                  "type": "string"
                                }
                              },
                              "type": "object"
                            },
                            "tokenUrl": {
                              "description": "`tokenURL` configures the URL to fetch the token from.",
                              "minLength": 1,
                              "type": "string"
                            }
                          },
                          "required": [
                            "clientId",
                            "clientSecret",
                            "tokenUrl"
                          ],
                          "type": "object"
                        },
                        "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"
                            },
                            "type": "array"
                          },
                          "description": "ProxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                          "type": "object",
                          "x-kubernetes-map-type": "atomic"
                        },
                        "proxyFromEnvironment": {
                          "description": "Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                          "type": "boolean"
                        },
                        "proxyUrl": {
                          "description": "`proxyURL` defines the HTTP proxy server to use.",
                          "pattern": "^http(s)?://.+$",
                          "type": "string"
                        },
                        "refreshInterval": {
                          "description": "Refresh interval to re-read the instance list.",
                          "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": "The URL to connect to the Eureka server.",
                          "minLength": 1,
                          "type": "string"
                        },
                        "tlsConfig": {
                          "description": "TLS configuration applying to the target HTTP endpoint.",
                          "properties": {
                            "ca": {
                              "description": "Certificate authority used when verifying server certificates.",
                              "properties": {
                                "configMap": {
                                  "description": "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"
                                },
                                "secret": {
                                  "description": "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"
                                }
                              },
                              "type": "object"
                            },
                            "cert": {
                              "description": "Client certificate to present when doing client-authentication.",
                              "properties": {
                                "configMap": {
                                  "description": "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"
                                },
                                "secret": {
                                  "description": "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"
                                }
                              },
                              "type": "object"
                            },
                            "insecureSkipVerify": {
                              "description": "Disable target certificate validation.",
                              "type": "boolean"
                            },
                            "keySecret": {
                              "description": "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"
                            },
                            "maxVersion": {
                              "description": "Maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0.",
                              "enum": [
                                "TLS10",
                                "TLS11",
                                "TLS12",
                                "TLS13"
                              ],
                              "type": "string"
                            },
                            "minVersion": {
                              "description": "Minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0.",
                              "enum": [
                                "TLS10",
                                "TLS11",
                                "TLS12",
                                "TLS13"
                              ],
                              "type": "string"
                            },
                            "serverName": {
                              "description": "Used to verify the hostname for the targets.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        }
                      },
                      "required": [
                        "server"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "fallbackScrapeProtocol": {
                    "description": "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": "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 configures the refresh interval at which Prometheus will reload the content of the files.",
                          "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"
                    },
                    "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 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": "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": "The Google Cloud Project ID",
                          "minLength": 1,
                          "type": "string"
                        },
                        "refreshInterval": {
                          "description": "RefreshInterval configures the refresh interval at which Prometheus will re-read the instance list.",
                          "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": "The tag separator is used to separate the tags on concatenation",
                          "minLength": 1,
                          "type": "string"
                        },
                        "zone": {
                          "description": "The zone of the scrape targets. If you need multiple zones use multiple GCESDConfigs.",
                          "minLength": 1,
                          "type": "string"
                        }
                      },
                      "required": [
                        "project",
                        "zone"
                      ],
                      "type": "object"
                    },
                    "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 header configuration, required when role is hcloud.\nRole robot does not support bearer token authentication.",
                          "properties": {
                            "credentials": {
                              "description": "Selects 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"
                            },
                            "type": {
                              "description": "Defines the authentication type. The value is case-insensitive.\n\n\"Basic\" is not a supported value.\n\nDefault: \"Bearer\"",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "basicAuth": {
                          "description": "BasicAuth information to use on every scrape request, required when role is robot.\nRole hcloud does not support basic auth.",
                          "properties": {
                            "password": {
                              "description": "`password` specifies 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"
                            },
                            "username": {
                              "description": "`username` specifies 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"
                            }
                          },
                          "type": "object"
                        },
                        "enableHTTP2": {
                          "description": "Whether to enable HTTP2.",
                          "type": "boolean"
                        },
                        "followRedirects": {
                          "description": "Configure whether HTTP requests follow HTTP 3xx redirects.",
                          "type": "boolean"
                        },
                        "noProxy": {
                          "description": "`noProxy` is 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 or Alertmanager >= 0.25.0.",
                          "type": "string"
                        },
                        "oauth2": {
                          "description": "Optional OAuth 2.0 configuration.\nCannot be used at the same time as `basic_auth` or `authorization`.",
                          "properties": {
                            "clientId": {
                              "description": "`clientId` specifies a key of a Secret or ConfigMap containing the\nOAuth2 client's ID.",
                              "properties": {
                                "configMap": {
                                  "description": "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"
                                },
                                "secret": {
                                  "description": "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"
                                }
                              },
                              "type": "object"
                            },
                            "clientSecret": {
                              "description": "`clientSecret` specifies 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"
                            },
                            "endpointParams": {
                              "additionalProperties": {
                                "type": "string"
                              },
                              "description": "`endpointParams` configures the HTTP parameters to append to the token\nURL.",
                              "type": "object"
                            },
                            "noProxy": {
                              "description": "`noProxy` is 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 or Alertmanager >= 0.25.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"
                                },
                                "type": "array"
                              },
                              "description": "ProxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                              "type": "object",
                              "x-kubernetes-map-type": "atomic"
                            },
                            "proxyFromEnvironment": {
                              "description": "Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                              "type": "boolean"
                            },
                            "proxyUrl": {
                              "description": "`proxyURL` defines the HTTP proxy server to use.",
                              "pattern": "^http(s)?://.+$",
                              "type": "string"
                            },
                            "scopes": {
                              "description": "`scopes` defines the OAuth2 scopes used for the token request.",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "tlsConfig": {
                              "description": "TLS configuration to use when connecting to the OAuth2 server.\nIt requires Prometheus >= v2.43.0.",
                              "properties": {
                                "ca": {
                                  "description": "Certificate authority used when verifying server certificates.",
                                  "properties": {
                                    "configMap": {
                                      "description": "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"
                                    },
                                    "secret": {
                                      "description": "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"
                                    }
                                  },
                                  "type": "object"
                                },
                                "cert": {
                                  "description": "Client certificate to present when doing client-authentication.",
                                  "properties": {
                                    "configMap": {
                                      "description": "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"
                                    },
                                    "secret": {
                                      "description": "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"
                                    }
                                  },
                                  "type": "object"
                                },
                                "insecureSkipVerify": {
                                  "description": "Disable target certificate validation.",
                                  "type": "boolean"
                                },
                                "keySecret": {
                                  "description": "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"
                                },
                                "maxVersion": {
                                  "description": "Maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0.",
                                  "enum": [
                                    "TLS10",
                                    "TLS11",
                                    "TLS12",
                                    "TLS13"
                                  ],
                                  "type": "string"
                                },
                                "minVersion": {
                                  "description": "Minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0.",
                                  "enum": [
                                    "TLS10",
                                    "TLS11",
                                    "TLS12",
                                    "TLS13"
                                  ],
                                  "type": "string"
                                },
                                "serverName": {
                                  "description": "Used to verify the hostname for the targets.",
                                  "type": "string"
                                }
                              },
                              "type": "object"
                            },
                            "tokenUrl": {
                              "description": "`tokenURL` configures the URL to fetch the token from.",
                              "minLength": 1,
                              "type": "string"
                            }
                          },
                          "required": [
                            "clientId",
                            "clientSecret",
                            "tokenUrl"
                          ],
                          "type": "object"
                        },
                        "port": {
                          "description": "The port to scrape metrics from.",
                          "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"
                            },
                            "type": "array"
                          },
                          "description": "ProxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                          "type": "object",
                          "x-kubernetes-map-type": "atomic"
                        },
                        "proxyFromEnvironment": {
                          "description": "Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                          "type": "boolean"
                        },
                        "proxyUrl": {
                          "description": "`proxyURL` defines the HTTP proxy server to use.",
                          "pattern": "^http(s)?://.+$",
                          "type": "string"
                        },
                        "refreshInterval": {
                          "description": "The time after which the servers 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"
                        },
                        "role": {
                          "description": "The Hetzner role of entities that should be discovered.",
                          "enum": [
                            "hcloud",
                            "Hcloud",
                            "robot",
                            "Robot"
                          ],
                          "type": "string"
                        },
                        "tlsConfig": {
                          "description": "TLS configuration to use on every scrape request.",
                          "properties": {
                            "ca": {
                              "description": "Certificate authority used when verifying server certificates.",
                              "properties": {
                                "configMap": {
                                  "description": "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"
                                },
                                "secret": {
                                  "description": "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"
                                }
                              },
                              "type": "object"
                            },
                            "cert": {
                              "description": "Client certificate to present when doing client-authentication.",
                              "properties": {
                                "configMap": {
                                  "description": "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"
                                },
                                "secret": {
                                  "description": "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"
                                }
                              },
                              "type": "object"
                            },
                            "insecureSkipVerify": {
                              "description": "Disable target certificate validation.",
                              "type": "boolean"
                            },
                            "keySecret": {
                              "description": "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"
                            },
                            "maxVersion": {
                              "description": "Maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0.",
                              "enum": [
                                "TLS10",
                                "TLS11",
                                "TLS12",
                                "TLS13"
                              ],
                              "type": "string"
                            },
                            "minVersion": {
                              "description": "Minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0.",
                              "enum": [
                                "TLS10",
                                "TLS11",
                                "TLS12",
                                "TLS13"
                              ],
                              "type": "string"
                            },
                            "serverName": {
                              "description": "Used to verify the hostname for the targets.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        }
                      },
                      "required": [
                        "role"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "honorLabels": {
                    "description": "HonorLabels chooses the metric's labels on collisions with target labels.",
                    "type": "boolean"
                  },
                  "honorTimestamps": {
                    "description": "HonorTimestamps controls whether Prometheus respects the timestamps present in scraped data.",
                    "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 header configuration to authenticate against the target HTTP endpoint.\nCannot be set at the same time as `oAuth2`, or `basicAuth`.",
                          "properties": {
                            "credentials": {
                              "description": "Selects 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"
                            },
                            "type": {
                              "description": "Defines the authentication type. The value is case-insensitive.\n\n\"Basic\" is not a supported value.\n\nDefault: \"Bearer\"",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "basicAuth": {
                          "description": "BasicAuth 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` specifies 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"
                            },
                            "username": {
                              "description": "`username` specifies 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"
                            }
                          },
                          "type": "object"
                        },
                        "enableHTTP2": {
                          "description": "Whether to enable HTTP2.",
                          "type": "boolean"
                        },
                        "followRedirects": {
                          "description": "Configure whether HTTP requests follow HTTP 3xx redirects.",
                          "type": "boolean"
                        },
                        "noProxy": {
                          "description": "`noProxy` is 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 or Alertmanager >= 0.25.0.",
                          "type": "string"
                        },
                        "oauth2": {
                          "description": "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` specifies a key of a Secret or ConfigMap containing the\nOAuth2 client's ID.",
                              "properties": {
                                "configMap": {
                                  "description": "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"
                                },
                                "secret": {
                                  "description": "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"
                                }
                              },
                              "type": "object"
                            },
                            "clientSecret": {
                              "description": "`clientSecret` specifies 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"
                            },
                            "endpointParams": {
                              "additionalProperties": {
                                "type": "string"
                              },
                              "description": "`endpointParams` configures the HTTP parameters to append to the token\nURL.",
                              "type": "object"
                            },
                            "noProxy": {
                              "description": "`noProxy` is 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 or Alertmanager >= 0.25.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"
                                },
                                "type": "array"
                              },
                              "description": "ProxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                              "type": "object",
                              "x-kubernetes-map-type": "atomic"
                            },
                            "proxyFromEnvironment": {
                              "description": "Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                              "type": "boolean"
                            },
                            "proxyUrl": {
                              "description": "`proxyURL` defines the HTTP proxy server to use.",
                              "pattern": "^http(s)?://.+$",
                              "type": "string"
                            },
                            "scopes": {
                              "description": "`scopes` defines the OAuth2 scopes used for the token request.",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "tlsConfig": {
                              "description": "TLS configuration to use when connecting to the OAuth2 server.\nIt requires Prometheus >= v2.43.0.",
                              "properties": {
                                "ca": {
                                  "description": "Certificate authority used when verifying server certificates.",
                                  "properties": {
                                    "configMap": {
                                      "description": "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"
                                    },
                                    "secret": {
                                      "description": "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"
                                    }
                                  },
                                  "type": "object"
                                },
                                "cert": {
                                  "description": "Client certificate to present when doing client-authentication.",
                                  "properties": {
                                    "configMap": {
                                      "description": "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"
                                    },
                                    "secret": {
                                      "description": "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"
                                    }
                                  },
                                  "type": "object"
                                },
                                "insecureSkipVerify": {
                                  "description": "Disable target certificate validation.",
                                  "type": "boolean"
                                },
                                "keySecret": {
                                  "description": "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"
                                },
                                "maxVersion": {
                                  "description": "Maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0.",
                                  "enum": [
                                    "TLS10",
                                    "TLS11",
                                    "TLS12",
                                    "TLS13"
                                  ],
                                  "type": "string"
                                },
                                "minVersion": {
                                  "description": "Minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0.",
                                  "enum": [
                                    "TLS10",
                                    "TLS11",
                                    "TLS12",
                                    "TLS13"
                                  ],
                                  "type": "string"
                                },
                                "serverName": {
                                  "description": "Used to verify the hostname for the targets.",
                                  "type": "string"
                                }
                              },
                              "type": "object"
                            },
                            "tokenUrl": {
                              "description": "`tokenURL` configures the URL to fetch the token from.",
                              "minLength": 1,
                              "type": "string"
                            }
                          },
                          "required": [
                            "clientId",
                            "clientSecret",
                            "tokenUrl"
                          ],
                          "type": "object"
                        },
                        "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"
                            },
                            "type": "array"
                          },
                          "description": "ProxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                          "type": "object",
                          "x-kubernetes-map-type": "atomic"
                        },
                        "proxyFromEnvironment": {
                          "description": "Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                          "type": "boolean"
                        },
                        "proxyUrl": {
                          "description": "`proxyURL` defines the HTTP proxy server to use.",
                          "pattern": "^http(s)?://.+$",
                          "type": "string"
                        },
                        "refreshInterval": {
                          "description": "RefreshInterval configures the refresh interval at which Prometheus will re-query the\nendpoint to update the target list.",
                          "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": "TLS configuration applying to the target HTTP endpoint.",
                          "properties": {
                            "ca": {
                              "description": "Certificate authority used when verifying server certificates.",
                              "properties": {
                                "configMap": {
                                  "description": "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"
                                },
                                "secret": {
                                  "description": "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"
                                }
                              },
                              "type": "object"
                            },
                            "cert": {
                              "description": "Client certificate to present when doing client-authentication.",
                              "properties": {
                                "configMap": {
                                  "description": "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"
                                },
                                "secret": {
                                  "description": "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"
                                }
                              },
                              "type": "object"
                            },
                            "insecureSkipVerify": {
                              "description": "Disable target certificate validation.",
                              "type": "boolean"
                            },
                            "keySecret": {
                              "description": "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"
                            },
                            "maxVersion": {
                              "description": "Maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0.",
                              "enum": [
                                "TLS10",
                                "TLS11",
                                "TLS12",
                                "TLS13"
                              ],
                              "type": "string"
                            },
                            "minVersion": {
                              "description": "Minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0.",
                              "enum": [
                                "TLS10",
                                "TLS11",
                                "TLS12",
                                "TLS13"
                              ],
                              "type": "string"
                            },
                            "serverName": {
                              "description": "Used to verify the hostname for the targets.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "url": {
                          "description": "URL from which the targets are fetched.",
                          "minLength": 1,
                          "pattern": "^http(s)?://.+$",
                          "type": "string"
                        }
                      },
                      "required": [
                        "url"
                      ],
                      "type": "object"
                    },
                    "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` header configuration, required when using IONOS.",
                          "properties": {
                            "credentials": {
                              "description": "Selects 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"
                            },
                            "type": {
                              "description": "Defines the authentication type. The value is case-insensitive.\n\n\"Basic\" is not a supported value.\n\nDefault: \"Bearer\"",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "datacenterID": {
                          "description": "The unique ID of the IONOS data center.",
                          "minLength": 1,
                          "type": "string"
                        },
                        "enableHTTP2": {
                          "description": "Configure whether to enable HTTP2.",
                          "type": "boolean"
                        },
                        "followRedirects": {
                          "description": "Configure whether the HTTP requests should follow HTTP 3xx redirects.",
                          "type": "boolean"
                        },
                        "noProxy": {
                          "description": "`noProxy` is 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 or Alertmanager >= 0.25.0.",
                          "type": "string"
                        },
                        "oauth2": {
                          "description": "Configure whether to enable OAuth2.",
                          "properties": {
                            "clientId": {
                              "description": "`clientId` specifies a key of a Secret or ConfigMap containing the\nOAuth2 client's ID.",
                              "properties": {
                                "configMap": {
                                  "description": "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"
                                },
                                "secret": {
                                  "description": "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"
                                }
                              },
                              "type": "object"
                            },
                            "clientSecret": {
                              "description": "`clientSecret` specifies 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"
                            },
                            "endpointParams": {
                              "additionalProperties": {
                                "type": "string"
                              },
                              "description": "`endpointParams` configures the HTTP parameters to append to the token\nURL.",
                              "type": "object"
                            },
                            "noProxy": {
                              "description": "`noProxy` is 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 or Alertmanager >= 0.25.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"
                                },
                                "type": "array"
                              },
                              "description": "ProxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                              "type": "object",
                              "x-kubernetes-map-type": "atomic"
                            },
                            "proxyFromEnvironment": {
                              "description": "Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                              "type": "boolean"
                            },
                            "proxyUrl": {
                              "description": "`proxyURL` defines the HTTP proxy server to use.",
                              "pattern": "^http(s)?://.+$",
                              "type": "string"
                            },
                            "scopes": {
                              "description": "`scopes` defines the OAuth2 scopes used for the token request.",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "tlsConfig": {
                              "description": "TLS configuration to use when connecting to the OAuth2 server.\nIt requires Prometheus >= v2.43.0.",
                              "properties": {
                                "ca": {
                                  "description": "Certificate authority used when verifying server certificates.",
                                  "properties": {
                                    "configMap": {
                                      "description": "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"
                                    },
                                    "secret": {
                                      "description": "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"
                                    }
                                  },
                                  "type": "object"
                                },
                                "cert": {
                                  "description": "Client certificate to present when doing client-authentication.",
                                  "properties": {
                                    "configMap": {
                                      "description": "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"
                                    },
                                    "secret": {
                                      "description": "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"
                                    }
                                  },
                                  "type": "object"
                                },
                                "insecureSkipVerify": {
                                  "description": "Disable target certificate validation.",
                                  "type": "boolean"
                                },
                                "keySecret": {
                                  "description": "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"
                                },
                                "maxVersion": {
                                  "description": "Maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0.",
                                  "enum": [
                                    "TLS10",
                                    "TLS11",
                                    "TLS12",
                                    "TLS13"
                                  ],
                                  "type": "string"
                                },
                                "minVersion": {
                                  "description": "Minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0.",
                                  "enum": [
                                    "TLS10",
                                    "TLS11",
                                    "TLS12",
                                    "TLS13"
                                  ],
                                  "type": "string"
                                },
                                "serverName": {
                                  "description": "Used to verify the hostname for the targets.",
                                  "type": "string"
                                }
                              },
                              "type": "object"
                            },
                            "tokenUrl": {
                              "description": "`tokenURL` configures the URL to fetch the token from.",
                              "minLength": 1,
                              "type": "string"
                            }
                          },
                          "required": [
                            "clientId",
                            "clientSecret",
                            "tokenUrl"
                          ],
                          "type": "object"
                        },
                        "port": {
                          "description": "Port to scrape the metrics from.",
                          "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"
                            },
                            "type": "array"
                          },
                          "description": "ProxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                          "type": "object",
                          "x-kubernetes-map-type": "atomic"
                        },
                        "proxyFromEnvironment": {
                          "description": "Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                          "type": "boolean"
                        },
                        "proxyUrl": {
                          "description": "`proxyURL` defines the HTTP proxy server to use.",
                          "pattern": "^http(s)?://.+$",
                          "type": "string"
                        },
                        "refreshInterval": {
                          "description": "Refresh interval to re-read the list of resources.",
                          "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": "TLS configuration to use when connecting to the IONOS API.",
                          "properties": {
                            "ca": {
                              "description": "Certificate authority used when verifying server certificates.",
                              "properties": {
                                "configMap": {
                                  "description": "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"
                                },
                                "secret": {
                                  "description": "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"
                                }
                              },
                              "type": "object"
                            },
                            "cert": {
                              "description": "Client certificate to present when doing client-authentication.",
                              "properties": {
                                "configMap": {
                                  "description": "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"
                                },
                                "secret": {
                                  "description": "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"
                                }
                              },
                              "type": "object"
                            },
                            "insecureSkipVerify": {
                              "description": "Disable target certificate validation.",
                              "type": "boolean"
                            },
                            "keySecret": {
                              "description": "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"
                            },
                            "maxVersion": {
                              "description": "Maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0.",
                              "enum": [
                                "TLS10",
                                "TLS11",
                                "TLS12",
                                "TLS13"
                              ],
                              "type": "string"
                            },
                            "minVersion": {
                              "description": "Minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0.",
                              "enum": [
                                "TLS10",
                                "TLS11",
                                "TLS12",
                                "TLS13"
                              ],
                              "type": "string"
                            },
                            "serverName": {
                              "description": "Used to verify the hostname for the targets.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        }
                      },
                      "required": [
                        "authorization",
                        "datacenterID"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "jobName": {
                    "description": "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": "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": "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": "Optional 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": "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"
                        },
                        "authorization": {
                          "description": "Authorization header to use on every scrape request.\nCannot be set at the same time as `basicAuth`, or `oauth2`.",
                          "properties": {
                            "credentials": {
                              "description": "Selects 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"
                            },
                            "type": {
                              "description": "Defines the authentication type. The value is case-insensitive.\n\n\"Basic\" is not a supported value.\n\nDefault: \"Bearer\"",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "basicAuth": {
                          "description": "BasicAuth information to use on every scrape request.\nCannot be set at the same time as `authorization`, or `oauth2`.",
                          "properties": {
                            "password": {
                              "description": "`password` specifies 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"
                            },
                            "username": {
                              "description": "`username` specifies 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"
                            }
                          },
                          "type": "object"
                        },
                        "enableHTTP2": {
                          "description": "Whether to enable HTTP2.",
                          "type": "boolean"
                        },
                        "followRedirects": {
                          "description": "Configure whether HTTP requests follow HTTP 3xx redirects.",
                          "type": "boolean"
                        },
                        "namespaces": {
                          "description": "Optional namespace discovery. If omitted, Prometheus discovers targets across all namespaces.",
                          "properties": {
                            "names": {
                              "description": "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": "Includes the namespace in which the Prometheus pod runs to the list of watched namespaces.",
                              "type": "boolean"
                            }
                          },
                          "type": "object"
                        },
                        "noProxy": {
                          "description": "`noProxy` is 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 or Alertmanager >= 0.25.0.",
                          "type": "string"
                        },
                        "oauth2": {
                          "description": "Optional OAuth 2.0 configuration.\nCannot be set at the same time as `authorization`, or `basicAuth`.",
                          "properties": {
                            "clientId": {
                              "description": "`clientId` specifies a key of a Secret or ConfigMap containing the\nOAuth2 client's ID.",
                              "properties": {
                                "configMap": {
                                  "description": "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"
                                },
                                "secret": {
                                  "description": "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"
                                }
                              },
                              "type": "object"
                            },
                            "clientSecret": {
                              "description": "`clientSecret` specifies 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"
                            },
                            "endpointParams": {
                              "additionalProperties": {
                                "type": "string"
                              },
                              "description": "`endpointParams` configures the HTTP parameters to append to the token\nURL.",
                              "type": "object"
                            },
                            "noProxy": {
                              "description": "`noProxy` is 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 or Alertmanager >= 0.25.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"
                                },
                                "type": "array"
                              },
                              "description": "ProxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                              "type": "object",
                              "x-kubernetes-map-type": "atomic"
                            },
                            "proxyFromEnvironment": {
                              "description": "Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                              "type": "boolean"
                            },
                            "proxyUrl": {
                              "description": "`proxyURL` defines the HTTP proxy server to use.",
                              "pattern": "^http(s)?://.+$",
                              "type": "string"
                            },
                            "scopes": {
                              "description": "`scopes` defines the OAuth2 scopes used for the token request.",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "tlsConfig": {
                              "description": "TLS configuration to use when connecting to the OAuth2 server.\nIt requires Prometheus >= v2.43.0.",
                              "properties": {
                                "ca": {
                                  "description": "Certificate authority used when verifying server certificates.",
                                  "properties": {
                                    "configMap": {
                                      "description": "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"
                                    },
                                    "secret": {
                                      "description": "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"
                                    }
                                  },
                                  "type": "object"
                                },
                                "cert": {
                                  "description": "Client certificate to present when doing client-authentication.",
                                  "properties": {
                                    "configMap": {
                                      "description": "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"
                                    },
                                    "secret": {
                                      "description": "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"
                                    }
                                  },
                                  "type": "object"
                                },
                                "insecureSkipVerify": {
                                  "description": "Disable target certificate validation.",
                                  "type": "boolean"
                                },
                                "keySecret": {
                                  "description": "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"
                                },
                                "maxVersion": {
                                  "description": "Maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0.",
                                  "enum": [
                                    "TLS10",
                                    "TLS11",
                                    "TLS12",
                                    "TLS13"
                                  ],
                                  "type": "string"
                                },
                                "minVersion": {
                                  "description": "Minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0.",
                                  "enum": [
                                    "TLS10",
                                    "TLS11",
                                    "TLS12",
                                    "TLS13"
                                  ],
                                  "type": "string"
                                },
                                "serverName": {
                                  "description": "Used to verify the hostname for the targets.",
                                  "type": "string"
                                }
                              },
                              "type": "object"
                            },
                            "tokenUrl": {
                              "description": "`tokenURL` configures the URL to fetch the token from.",
                              "minLength": 1,
                              "type": "string"
                            }
                          },
                          "required": [
                            "clientId",
                            "clientSecret",
                            "tokenUrl"
                          ],
                          "type": "object"
                        },
                        "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"
                            },
                            "type": "array"
                          },
                          "description": "ProxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                          "type": "object",
                          "x-kubernetes-map-type": "atomic"
                        },
                        "proxyFromEnvironment": {
                          "description": "Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                          "type": "boolean"
                        },
                        "proxyUrl": {
                          "description": "`proxyURL` defines the HTTP proxy server to use.",
                          "pattern": "^http(s)?://.+$",
                          "type": "string"
                        },
                        "role": {
                          "description": "Role of the Kubernetes entities that should be discovered.\nRole `Endpointslice` requires Prometheus >= v2.21.0",
                          "enum": [
                            "Pod",
                            "Endpoints",
                            "Ingress",
                            "Service",
                            "Node",
                            "EndpointSlice"
                          ],
                          "type": "string"
                        },
                        "selectors": {
                          "description": "Selector to select objects.\nIt requires Prometheus >= v2.17.0",
                          "items": {
                            "description": "K8SSelectorConfig is Kubernetes Selector Config",
                            "properties": {
                              "field": {
                                "description": "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": "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 specifies 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"
                          },
                          "type": "array",
                          "x-kubernetes-list-map-keys": [
                            "role"
                          ],
                          "x-kubernetes-list-type": "map"
                        },
                        "tlsConfig": {
                          "description": "TLS configuration to connect to the Kubernetes API.",
                          "properties": {
                            "ca": {
                              "description": "Certificate authority used when verifying server certificates.",
                              "properties": {
                                "configMap": {
                                  "description": "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"
                                },
                                "secret": {
                                  "description": "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"
                                }
                              },
                              "type": "object"
                            },
                            "cert": {
                              "description": "Client certificate to present when doing client-authentication.",
                              "properties": {
                                "configMap": {
                                  "description": "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"
                                },
                                "secret": {
                                  "description": "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"
                                }
                              },
                              "type": "object"
                            },
                            "insecureSkipVerify": {
                              "description": "Disable target certificate validation.",
                              "type": "boolean"
                            },
                            "keySecret": {
                              "description": "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"
                            },
                            "maxVersion": {
                              "description": "Maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0.",
                              "enum": [
                                "TLS10",
                                "TLS11",
                                "TLS12",
                                "TLS13"
                              ],
                              "type": "string"
                            },
                            "minVersion": {
                              "description": "Minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0.",
                              "enum": [
                                "TLS10",
                                "TLS11",
                                "TLS12",
                                "TLS13"
                              ],
                              "type": "string"
                            },
                            "serverName": {
                              "description": "Used to verify the hostname for the targets.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        }
                      },
                      "required": [
                        "role"
                      ],
                      "type": "object"
                    },
                    "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 header to use on every scrape request.",
                          "properties": {
                            "credentials": {
                              "description": "Selects 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"
                            },
                            "type": {
                              "description": "Defines the authentication type. The value is case-insensitive.\n\n\"Basic\" is not a supported value.\n\nDefault: \"Bearer\"",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "basicAuth": {
                          "description": "BasicAuth information to use on every scrape request.",
                          "properties": {
                            "password": {
                              "description": "`password` specifies 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"
                            },
                            "username": {
                              "description": "`username` specifies 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"
                            }
                          },
                          "type": "object"
                        },
                        "clientID": {
                          "description": "Client id is used by Kuma Control Plane to compute Monitoring Assignment for specific Prometheus backend.",
                          "type": "string"
                        },
                        "enableHTTP2": {
                          "description": "Whether to enable HTTP2.",
                          "type": "boolean"
                        },
                        "fetchTimeout": {
                          "description": "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": "Configure whether HTTP requests follow HTTP 3xx redirects.",
                          "type": "boolean"
                        },
                        "noProxy": {
                          "description": "`noProxy` is 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 or Alertmanager >= 0.25.0.",
                          "type": "string"
                        },
                        "oauth2": {
                          "description": "Optional OAuth 2.0 configuration.\nCannot be set at the same time as `authorization`, or `basicAuth`.",
                          "properties": {
                            "clientId": {
                              "description": "`clientId` specifies a key of a Secret or ConfigMap containing the\nOAuth2 client's ID.",
                              "properties": {
                                "configMap": {
                                  "description": "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"
                                },
                                "secret": {
                                  "description": "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"
                                }
                              },
                              "type": "object"
                            },
                            "clientSecret": {
                              "description": "`clientSecret` specifies 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"
                            },
                            "endpointParams": {
                              "additionalProperties": {
                                "type": "string"
                              },
                              "description": "`endpointParams` configures the HTTP parameters to append to the token\nURL.",
                              "type": "object"
                            },
                            "noProxy": {
                              "description": "`noProxy` is 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 or Alertmanager >= 0.25.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"
                                },
                                "type": "array"
                              },
                              "description": "ProxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                              "type": "object",
                              "x-kubernetes-map-type": "atomic"
                            },
                            "proxyFromEnvironment": {
                              "description": "Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                              "type": "boolean"
                            },
                            "proxyUrl": {
                              "description": "`proxyURL` defines the HTTP proxy server to use.",
                              "pattern": "^http(s)?://.+$",
                              "type": "string"
                            },
                            "scopes": {
                              "description": "`scopes` defines the OAuth2 scopes used for the token request.",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "tlsConfig": {
                              "description": "TLS configuration to use when connecting to the OAuth2 server.\nIt requires Prometheus >= v2.43.0.",
                              "properties": {
                                "ca": {
                                  "description": "Certificate authority used when verifying server certificates.",
                                  "properties": {
                                    "configMap": {
                                      "description": "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"
                                    },
                                    "secret": {
                                      "description": "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"
                                    }
                                  },
                                  "type": "object"
                                },
                                "cert": {
                                  "description": "Client certificate to present when doing client-authentication.",
                                  "properties": {
                                    "configMap": {
                                      "description": "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"
                                    },
                                    "secret": {
                                      "description": "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"
                                    }
                                  },
                                  "type": "object"
                                },
                                "insecureSkipVerify": {
                                  "description": "Disable target certificate validation.",
                                  "type": "boolean"
                                },
                                "keySecret": {
                                  "description": "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"
                                },
                                "maxVersion": {
                                  "description": "Maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0.",
                                  "enum": [
                                    "TLS10",
                                    "TLS11",
                                    "TLS12",
                                    "TLS13"
                                  ],
                                  "type": "string"
                                },
                                "minVersion": {
                                  "description": "Minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0.",
                                  "enum": [
                                    "TLS10",
                                    "TLS11",
                                    "TLS12",
                                    "TLS13"
                                  ],
                                  "type": "string"
                                },
                                "serverName": {
                                  "description": "Used to verify the hostname for the targets.",
                                  "type": "string"
                                }
                              },
                              "type": "object"
                            },
                            "tokenUrl": {
                              "description": "`tokenURL` configures the URL to fetch the token from.",
                              "minLength": 1,
                              "type": "string"
                            }
                          },
                          "required": [
                            "clientId",
                            "clientSecret",
                            "tokenUrl"
                          ],
                          "type": "object"
                        },
                        "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"
                            },
                            "type": "array"
                          },
                          "description": "ProxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                          "type": "object",
                          "x-kubernetes-map-type": "atomic"
                        },
                        "proxyFromEnvironment": {
                          "description": "Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                          "type": "boolean"
                        },
                        "proxyUrl": {
                          "description": "`proxyURL` defines the HTTP proxy server to use.",
                          "pattern": "^http(s)?://.+$",
                          "type": "string"
                        },
                        "refreshInterval": {
                          "description": "The time to wait between polling update requests.",
                          "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": "Address of the Kuma Control Plane's MADS xDS server.",
                          "minLength": 1,
                          "type": "string"
                        },
                        "tlsConfig": {
                          "description": "TLS configuration to use on every scrape request",
                          "properties": {
                            "ca": {
                              "description": "Certificate authority used when verifying server certificates.",
                              "properties": {
                                "configMap": {
                                  "description": "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"
                                },
                                "secret": {
                                  "description": "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"
                                }
                              },
                              "type": "object"
                            },
                            "cert": {
                              "description": "Client certificate to present when doing client-authentication.",
                              "properties": {
                                "configMap": {
                                  "description": "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"
                                },
                                "secret": {
                                  "description": "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"
                                }
                              },
                              "type": "object"
                            },
                            "insecureSkipVerify": {
                              "description": "Disable target certificate validation.",
                              "type": "boolean"
                            },
                            "keySecret": {
                              "description": "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"
                            },
                            "maxVersion": {
                              "description": "Maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0.",
                              "enum": [
                                "TLS10",
                                "TLS11",
                                "TLS12",
                                "TLS13"
                              ],
                              "type": "string"
                            },
                            "minVersion": {
                              "description": "Minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0.",
                              "enum": [
                                "TLS10",
                                "TLS11",
                                "TLS12",
                                "TLS13"
                              ],
                              "type": "string"
                            },
                            "serverName": {
                              "description": "Used to verify the hostname for the targets.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        }
                      },
                      "required": [
                        "server"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "labelLimit": {
                    "description": "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": "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": "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 is 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"
                        },
                        "authorization": {
                          "description": "Optional `authorization` HTTP header configuration.\nCannot be set at the same time as `basicAuth`, or `oauth2`.",
                          "properties": {
                            "credentials": {
                              "description": "Selects 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"
                            },
                            "type": {
                              "description": "Defines the authentication type. The value is case-insensitive.\n\n\"Basic\" is not a supported value.\n\nDefault: \"Bearer\"",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "basicAuth": {
                          "description": "Optional HTTP basic authentication information.\nCannot be set at the same time as `authorization`, or `oauth2`.",
                          "properties": {
                            "password": {
                              "description": "`password` specifies 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"
                            },
                            "username": {
                              "description": "`username` specifies 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"
                            }
                          },
                          "type": "object"
                        },
                        "enableHTTP2": {
                          "description": "Configure whether to enable HTTP2.",
                          "type": "boolean"
                        },
                        "endpoint": {
                          "description": "Custom endpoint to be used.",
                          "minLength": 1,
                          "type": "string"
                        },
                        "followRedirects": {
                          "description": "Configure whether the HTTP requests should follow HTTP 3xx redirects.",
                          "type": "boolean"
                        },
                        "noProxy": {
                          "description": "`noProxy` is 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 or Alertmanager >= 0.25.0.",
                          "type": "string"
                        },
                        "oauth2": {
                          "description": "Optional OAuth2.0 configuration.\nCannot be set at the same time as `basicAuth`, or `authorization`.",
                          "properties": {
                            "clientId": {
                              "description": "`clientId` specifies a key of a Secret or ConfigMap containing the\nOAuth2 client's ID.",
                              "properties": {
                                "configMap": {
                                  "description": "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"
                                },
                                "secret": {
                                  "description": "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"
                                }
                              },
                              "type": "object"
                            },
                            "clientSecret": {
                              "description": "`clientSecret` specifies 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"
                            },
                            "endpointParams": {
                              "additionalProperties": {
                                "type": "string"
                              },
                              "description": "`endpointParams` configures the HTTP parameters to append to the token\nURL.",
                              "type": "object"
                            },
                            "noProxy": {
                              "description": "`noProxy` is 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 or Alertmanager >= 0.25.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"
                                },
                                "type": "array"
                              },
                              "description": "ProxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                              "type": "object",
                              "x-kubernetes-map-type": "atomic"
                            },
                            "proxyFromEnvironment": {
                              "description": "Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                              "type": "boolean"
                            },
                            "proxyUrl": {
                              "description": "`proxyURL` defines the HTTP proxy server to use.",
                              "pattern": "^http(s)?://.+$",
                              "type": "string"
                            },
                            "scopes": {
                              "description": "`scopes` defines the OAuth2 scopes used for the token request.",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "tlsConfig": {
                              "description": "TLS configuration to use when connecting to the OAuth2 server.\nIt requires Prometheus >= v2.43.0.",
                              "properties": {
                                "ca": {
                                  "description": "Certificate authority used when verifying server certificates.",
                                  "properties": {
                                    "configMap": {
                                      "description": "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"
                                    },
                                    "secret": {
                                      "description": "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"
                                    }
                                  },
                                  "type": "object"
                                },
                                "cert": {
                                  "description": "Client certificate to present when doing client-authentication.",
                                  "properties": {
                                    "configMap": {
                                      "description": "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"
                                    },
                                    "secret": {
                                      "description": "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"
                                    }
                                  },
                                  "type": "object"
                                },
                                "insecureSkipVerify": {
                                  "description": "Disable target certificate validation.",
                                  "type": "boolean"
                                },
                                "keySecret": {
                                  "description": "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"
                                },
                                "maxVersion": {
                                  "description": "Maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0.",
                                  "enum": [
                                    "TLS10",
                                    "TLS11",
                                    "TLS12",
                                    "TLS13"
                                  ],
                                  "type": "string"
                                },
                                "minVersion": {
                                  "description": "Minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0.",
                                  "enum": [
                                    "TLS10",
                                    "TLS11",
                                    "TLS12",
                                    "TLS13"
                                  ],
                                  "type": "string"
                                },
                                "serverName": {
                                  "description": "Used to verify the hostname for the targets.",
                                  "type": "string"
                                }
                              },
                              "type": "object"
                            },
                            "tokenUrl": {
                              "description": "`tokenURL` configures the URL to fetch the token from.",
                              "minLength": 1,
                              "type": "string"
                            }
                          },
                          "required": [
                            "clientId",
                            "clientSecret",
                            "tokenUrl"
                          ],
                          "type": "object"
                        },
                        "port": {
                          "description": "Port to scrape the metrics from.\nIf using the public IP address, this must instead 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"
                            },
                            "type": "array"
                          },
                          "description": "ProxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                          "type": "object",
                          "x-kubernetes-map-type": "atomic"
                        },
                        "proxyFromEnvironment": {
                          "description": "Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                          "type": "boolean"
                        },
                        "proxyUrl": {
                          "description": "`proxyURL` defines the HTTP proxy server to use.",
                          "pattern": "^http(s)?://.+$",
                          "type": "string"
                        },
                        "refreshInterval": {
                          "description": "Refresh interval to re-read the list of instances.",
                          "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": "The AWS region.",
                          "minLength": 1,
                          "type": "string"
                        },
                        "roleARN": {
                          "description": "AWS Role ARN, an alternative to using AWS API keys.",
                          "type": "string"
                        },
                        "secretKey": {
                          "description": "SecretKey is 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"
                        },
                        "tlsConfig": {
                          "description": "TLS configuration to connect to the Puppet DB.",
                          "properties": {
                            "ca": {
                              "description": "Certificate authority used when verifying server certificates.",
                              "properties": {
                                "configMap": {
                                  "description": "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"
                                },
                                "secret": {
                                  "description": "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"
                                }
                              },
                              "type": "object"
                            },
                            "cert": {
                              "description": "Client certificate to present when doing client-authentication.",
                              "properties": {
                                "configMap": {
                                  "description": "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"
                                },
                                "secret": {
                                  "description": "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"
                                }
                              },
                              "type": "object"
                            },
                            "insecureSkipVerify": {
                              "description": "Disable target certificate validation.",
                              "type": "boolean"
                            },
                            "keySecret": {
                              "description": "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"
                            },
                            "maxVersion": {
                              "description": "Maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0.",
                              "enum": [
                                "TLS10",
                                "TLS11",
                                "TLS12",
                                "TLS13"
                              ],
                              "type": "string"
                            },
                            "minVersion": {
                              "description": "Minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0.",
                              "enum": [
                                "TLS10",
                                "TLS11",
                                "TLS12",
                                "TLS13"
                              ],
                              "type": "string"
                            },
                            "serverName": {
                              "description": "Used to verify the hostname for the targets.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        }
                      },
                      "type": "object"
                    },
                    "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 header configuration.",
                          "properties": {
                            "credentials": {
                              "description": "Selects 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"
                            },
                            "type": {
                              "description": "Defines the authentication type. The value is case-insensitive.\n\n\"Basic\" is not a supported value.\n\nDefault: \"Bearer\"",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "enableHTTP2": {
                          "description": "Whether to enable HTTP2.",
                          "type": "boolean"
                        },
                        "followRedirects": {
                          "description": "Configure whether HTTP requests follow HTTP 3xx redirects.",
                          "type": "boolean"
                        },
                        "noProxy": {
                          "description": "`noProxy` is 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 or Alertmanager >= 0.25.0.",
                          "type": "string"
                        },
                        "oauth2": {
                          "description": "Optional OAuth 2.0 configuration.\nCannot be used at the same time as `authorization`.",
                          "properties": {
                            "clientId": {
                              "description": "`clientId` specifies a key of a Secret or ConfigMap containing the\nOAuth2 client's ID.",
                              "properties": {
                                "configMap": {
                                  "description": "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"
                                },
                                "secret": {
                                  "description": "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"
                                }
                              },
                              "type": "object"
                            },
                            "clientSecret": {
                              "description": "`clientSecret` specifies 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"
                            },
                            "endpointParams": {
                              "additionalProperties": {
                                "type": "string"
                              },
                              "description": "`endpointParams` configures the HTTP parameters to append to the token\nURL.",
                              "type": "object"
                            },
                            "noProxy": {
                              "description": "`noProxy` is 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 or Alertmanager >= 0.25.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"
                                },
                                "type": "array"
                              },
                              "description": "ProxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                              "type": "object",
                              "x-kubernetes-map-type": "atomic"
                            },
                            "proxyFromEnvironment": {
                              "description": "Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                              "type": "boolean"
                            },
                            "proxyUrl": {
                              "description": "`proxyURL` defines the HTTP proxy server to use.",
                              "pattern": "^http(s)?://.+$",
                              "type": "string"
                            },
                            "scopes": {
                              "description": "`scopes` defines the OAuth2 scopes used for the token request.",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "tlsConfig": {
                              "description": "TLS configuration to use when connecting to the OAuth2 server.\nIt requires Prometheus >= v2.43.0.",
                              "properties": {
                                "ca": {
                                  "description": "Certificate authority used when verifying server certificates.",
                                  "properties": {
                                    "configMap": {
                                      "description": "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"
                                    },
                                    "secret": {
                                      "description": "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"
                                    }
                                  },
                                  "type": "object"
                                },
                                "cert": {
                                  "description": "Client certificate to present when doing client-authentication.",
                                  "properties": {
                                    "configMap": {
                                      "description": "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"
                                    },
                                    "secret": {
                                      "description": "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"
                                    }
                                  },
                                  "type": "object"
                                },
                                "insecureSkipVerify": {
                                  "description": "Disable target certificate validation.",
                                  "type": "boolean"
                                },
                                "keySecret": {
                                  "description": "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"
                                },
                                "maxVersion": {
                                  "description": "Maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0.",
                                  "enum": [
                                    "TLS10",
                                    "TLS11",
                                    "TLS12",
                                    "TLS13"
                                  ],
                                  "type": "string"
                                },
                                "minVersion": {
                                  "description": "Minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0.",
                                  "enum": [
                                    "TLS10",
                                    "TLS11",
                                    "TLS12",
                                    "TLS13"
                                  ],
                                  "type": "string"
                                },
                                "serverName": {
                                  "description": "Used to verify the hostname for the targets.",
                                  "type": "string"
                                }
                              },
                              "type": "object"
                            },
                            "tokenUrl": {
                              "description": "`tokenURL` configures the URL to fetch the token from.",
                              "minLength": 1,
                              "type": "string"
                            }
                          },
                          "required": [
                            "clientId",
                            "clientSecret",
                            "tokenUrl"
                          ],
                          "type": "object"
                        },
                        "port": {
                          "description": "Default port to scrape metrics from.",
                          "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"
                            },
                            "type": "array"
                          },
                          "description": "ProxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                          "type": "object",
                          "x-kubernetes-map-type": "atomic"
                        },
                        "proxyFromEnvironment": {
                          "description": "Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                          "type": "boolean"
                        },
                        "proxyUrl": {
                          "description": "`proxyURL` defines the HTTP proxy server to use.",
                          "pattern": "^http(s)?://.+$",
                          "type": "string"
                        },
                        "refreshInterval": {
                          "description": "Time after which the linode instances 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"
                        },
                        "region": {
                          "description": "Optional region to filter on.",
                          "minLength": 1,
                          "type": "string"
                        },
                        "tagSeparator": {
                          "description": "The string by which Linode Instance tags are joined into the tag label.",
                          "minLength": 1,
                          "type": "string"
                        },
                        "tlsConfig": {
                          "description": "TLS configuration applying to the target HTTP endpoint.",
                          "properties": {
                            "ca": {
                              "description": "Certificate authority used when verifying server certificates.",
                              "properties": {
                                "configMap": {
                                  "description": "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"
                                },
                                "secret": {
                                  "description": "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"
                                }
                              },
                              "type": "object"
                            },
                            "cert": {
                              "description": "Client certificate to present when doing client-authentication.",
                              "properties": {
                                "configMap": {
                                  "description": "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"
                                },
                                "secret": {
                                  "description": "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"
                                }
                              },
                              "type": "object"
                            },
                            "insecureSkipVerify": {
                              "description": "Disable target certificate validation.",
                              "type": "boolean"
                            },
                            "keySecret": {
                              "description": "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"
                            },
                            "maxVersion": {
                              "description": "Maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0.",
                              "enum": [
                                "TLS10",
                                "TLS11",
                                "TLS12",
                                "TLS13"
                              ],
                              "type": "string"
                            },
                            "minVersion": {
                              "description": "Minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0.",
                              "enum": [
                                "TLS10",
                                "TLS11",
                                "TLS12",
                                "TLS13"
                              ],
                              "type": "string"
                            },
                            "serverName": {
                              "description": "Used to verify the hostname for the targets.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        }
                      },
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "metricRelabelings": {
                    "description": "MetricRelabelConfigs 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": "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 is the string between concatenated SourceLabels.",
                          "type": "string"
                        },
                        "sourceLabels": {
                          "description": "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 which may only contain ASCII\nletters, numbers, as well as underscores.",
                            "pattern": "^[a-zA-Z_][a-zA-Z0-9_]*$",
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "targetLabel": {
                          "description": "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"
                    },
                    "minItems": 1,
                    "type": "array"
                  },
                  "metricsPath": {
                    "description": "MetricsPath HTTP path to scrape for metrics. If empty, Prometheus uses the default value (e.g. /metrics).",
                    "minLength": 1,
                    "type": "string"
                  },
                  "nativeHistogramBucketLimit": {
                    "description": "If 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": "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` is 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 or Alertmanager >= 0.25.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": "The information to access the Nomad API. It is to be defined\nas the Nomad documentation requires.",
                          "type": "boolean"
                        },
                        "authorization": {
                          "description": "Authorization header to use on every scrape request.",
                          "properties": {
                            "credentials": {
                              "description": "Selects 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"
                            },
                            "type": {
                              "description": "Defines the authentication type. The value is case-insensitive.\n\n\"Basic\" is not a supported value.\n\nDefault: \"Bearer\"",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "basicAuth": {
                          "description": "BasicAuth information to use on every scrape request.",
                          "properties": {
                            "password": {
                              "description": "`password` specifies 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"
                            },
                            "username": {
                              "description": "`username` specifies 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"
                            }
                          },
                          "type": "object"
                        },
                        "enableHTTP2": {
                          "description": "Whether to enable HTTP2.",
                          "type": "boolean"
                        },
                        "followRedirects": {
                          "description": "Configure whether HTTP requests follow HTTP 3xx redirects.",
                          "type": "boolean"
                        },
                        "namespace": {
                          "type": "string"
                        },
                        "noProxy": {
                          "description": "`noProxy` is 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 or Alertmanager >= 0.25.0.",
                          "type": "string"
                        },
                        "oauth2": {
                          "description": "Optional OAuth 2.0 configuration.\nCannot be set at the same time as `authorization` or `basic_auth`.",
                          "properties": {
                            "clientId": {
                              "description": "`clientId` specifies a key of a Secret or ConfigMap containing the\nOAuth2 client's ID.",
                              "properties": {
                                "configMap": {
                                  "description": "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"
                                },
                                "secret": {
                                  "description": "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"
                                }
                              },
                              "type": "object"
                            },
                            "clientSecret": {
                              "description": "`clientSecret` specifies 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"
                            },
                            "endpointParams": {
                              "additionalProperties": {
                                "type": "string"
                              },
                              "description": "`endpointParams` configures the HTTP parameters to append to the token\nURL.",
                              "type": "object"
                            },
                            "noProxy": {
                              "description": "`noProxy` is 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 or Alertmanager >= 0.25.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"
                                },
                                "type": "array"
                              },
                              "description": "ProxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                              "type": "object",
                              "x-kubernetes-map-type": "atomic"
                            },
                            "proxyFromEnvironment": {
                              "description": "Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                              "type": "boolean"
                            },
                            "proxyUrl": {
                              "description": "`proxyURL` defines the HTTP proxy server to use.",
                              "pattern": "^http(s)?://.+$",
                              "type": "string"
                            },
                            "scopes": {
                              "description": "`scopes` defines the OAuth2 scopes used for the token request.",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "tlsConfig": {
                              "description": "TLS configuration to use when connecting to the OAuth2 server.\nIt requires Prometheus >= v2.43.0.",
                              "properties": {
                                "ca": {
                                  "description": "Certificate authority used when verifying server certificates.",
                                  "properties": {
                                    "configMap": {
                                      "description": "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"
                                    },
                                    "secret": {
                                      "description": "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"
                                    }
                                  },
                                  "type": "object"
                                },
                                "cert": {
                                  "description": "Client certificate to present when doing client-authentication.",
                                  "properties": {
                                    "configMap": {
                                      "description": "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"
                                    },
                                    "secret": {
                                      "description": "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"
                                    }
                                  },
                                  "type": "object"
                                },
                                "insecureSkipVerify": {
                                  "description": "Disable target certificate validation.",
                                  "type": "boolean"
                                },
                                "keySecret": {
                                  "description": "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"
                                },
                                "maxVersion": {
                                  "description": "Maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0.",
                                  "enum": [
                                    "TLS10",
                                    "TLS11",
                                    "TLS12",
                                    "TLS13"
                                  ],
                                  "type": "string"
                                },
                                "minVersion": {
                                  "description": "Minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0.",
                                  "enum": [
                                    "TLS10",
                                    "TLS11",
                                    "TLS12",
                                    "TLS13"
                                  ],
                                  "type": "string"
                                },
                                "serverName": {
                                  "description": "Used to verify the hostname for the targets.",
                                  "type": "string"
                                }
                              },
                              "type": "object"
                            },
                            "tokenUrl": {
                              "description": "`tokenURL` configures the URL to fetch the token from.",
                              "minLength": 1,
                              "type": "string"
                            }
                          },
                          "required": [
                            "clientId",
                            "clientSecret",
                            "tokenUrl"
                          ],
                          "type": "object"
                        },
                        "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"
                            },
                            "type": "array"
                          },
                          "description": "ProxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                          "type": "object",
                          "x-kubernetes-map-type": "atomic"
                        },
                        "proxyFromEnvironment": {
                          "description": "Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                          "type": "boolean"
                        },
                        "proxyUrl": {
                          "description": "`proxyURL` defines the HTTP proxy server to use.",
                          "pattern": "^http(s)?://.+$",
                          "type": "string"
                        },
                        "refreshInterval": {
                          "description": "Duration is a valid time duration that can be parsed by Prometheus model.ParseDuration() function.\nSupported units: y, w, d, h, m, s, ms\nExamples: `30s`, `1m`, `1h20m15s`, `15d`",
                          "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": {
                          "type": "string"
                        },
                        "server": {
                          "minLength": 1,
                          "type": "string"
                        },
                        "tagSeparator": {
                          "type": "string"
                        },
                        "tlsConfig": {
                          "description": "TLS configuration applying to the target HTTP endpoint.",
                          "properties": {
                            "ca": {
                              "description": "Certificate authority used when verifying server certificates.",
                              "properties": {
                                "configMap": {
                                  "description": "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"
                                },
                                "secret": {
                                  "description": "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"
                                }
                              },
                              "type": "object"
                            },
                            "cert": {
                              "description": "Client certificate to present when doing client-authentication.",
                              "properties": {
                                "configMap": {
                                  "description": "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"
                                },
                                "secret": {
                                  "description": "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"
                                }
                              },
                              "type": "object"
                            },
                            "insecureSkipVerify": {
                              "description": "Disable target certificate validation.",
                              "type": "boolean"
                            },
                            "keySecret": {
                              "description": "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"
                            },
                            "maxVersion": {
                              "description": "Maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0.",
                              "enum": [
                                "TLS10",
                                "TLS11",
                                "TLS12",
                                "TLS13"
                              ],
                              "type": "string"
                            },
                            "minVersion": {
                              "description": "Minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0.",
                              "enum": [
                                "TLS10",
                                "TLS11",
                                "TLS12",
                                "TLS13"
                              ],
                              "type": "string"
                            },
                            "serverName": {
                              "description": "Used to verify the hostname for the targets.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        }
                      },
                      "required": [
                        "server"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "oauth2": {
                    "description": "OAuth2 configuration to use on every scrape request.",
                    "properties": {
                      "clientId": {
                        "description": "`clientId` specifies a key of a Secret or ConfigMap containing the\nOAuth2 client's ID.",
                        "properties": {
                          "configMap": {
                            "description": "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"
                          },
                          "secret": {
                            "description": "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"
                          }
                        },
                        "type": "object"
                      },
                      "clientSecret": {
                        "description": "`clientSecret` specifies 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"
                      },
                      "endpointParams": {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "description": "`endpointParams` configures the HTTP parameters to append to the token\nURL.",
                        "type": "object"
                      },
                      "noProxy": {
                        "description": "`noProxy` is 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 or Alertmanager >= 0.25.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"
                          },
                          "type": "array"
                        },
                        "description": "ProxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                        "type": "object",
                        "x-kubernetes-map-type": "atomic"
                      },
                      "proxyFromEnvironment": {
                        "description": "Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                        "type": "boolean"
                      },
                      "proxyUrl": {
                        "description": "`proxyURL` defines the HTTP proxy server to use.",
                        "pattern": "^http(s)?://.+$",
                        "type": "string"
                      },
                      "scopes": {
                        "description": "`scopes` defines the OAuth2 scopes used for the token request.",
                        "items": {
                          "type": "string"
                        },
                        "type": "array"
                      },
                      "tlsConfig": {
                        "description": "TLS configuration to use when connecting to the OAuth2 server.\nIt requires Prometheus >= v2.43.0.",
                        "properties": {
                          "ca": {
                            "description": "Certificate authority used when verifying server certificates.",
                            "properties": {
                              "configMap": {
                                "description": "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"
                              },
                              "secret": {
                                "description": "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"
                              }
                            },
                            "type": "object"
                          },
                          "cert": {
                            "description": "Client certificate to present when doing client-authentication.",
                            "properties": {
                              "configMap": {
                                "description": "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"
                              },
                              "secret": {
                                "description": "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"
                              }
                            },
                            "type": "object"
                          },
                          "insecureSkipVerify": {
                            "description": "Disable target certificate validation.",
                            "type": "boolean"
                          },
                          "keySecret": {
                            "description": "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"
                          },
                          "maxVersion": {
                            "description": "Maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0.",
                            "enum": [
                              "TLS10",
                              "TLS11",
                              "TLS12",
                              "TLS13"
                            ],
                            "type": "string"
                          },
                          "minVersion": {
                            "description": "Minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0.",
                            "enum": [
                              "TLS10",
                              "TLS11",
                              "TLS12",
                              "TLS13"
                            ],
                            "type": "string"
                          },
                          "serverName": {
                            "description": "Used to verify the hostname for the targets.",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "tokenUrl": {
                        "description": "`tokenURL` configures the URL to fetch the token from.",
                        "minLength": 1,
                        "type": "string"
                      }
                    },
                    "required": [
                      "clientId",
                      "clientSecret",
                      "tokenUrl"
                    ],
                    "type": "object"
                  },
                  "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": "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",
                          "type": "string"
                        },
                        "applicationCredentialName": {
                          "description": "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": "The applicationCredentialSecret field is required 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"
                        },
                        "availability": {
                          "description": "Availability of the endpoint to connect to.",
                          "enum": [
                            "Public",
                            "public",
                            "Admin",
                            "admin",
                            "Internal",
                            "internal"
                          ],
                          "type": "string"
                        },
                        "domainID": {
                          "description": "DomainID",
                          "minLength": 1,
                          "type": "string"
                        },
                        "domainName": {
                          "description": "At most one of domainId and domainName must be provided if using username\nwith Identity V3. Otherwise, either are optional.",
                          "minLength": 1,
                          "type": "string"
                        },
                        "identityEndpoint": {
                          "description": "IdentityEndpoint specifies the HTTP endpoint that is required to work with\nthe Identity API of the appropriate version.",
                          "pattern": "^http(s)?:\\/\\/.+$",
                          "type": "string"
                        },
                        "password": {
                          "description": "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"
                        },
                        "port": {
                          "description": "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",
                          "minLength": 1,
                          "type": "string"
                        },
                        "projectName": {
                          "description": "The ProjectId and ProjectName fields are optional 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": "Refresh interval to re-read the instance list.",
                          "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": "The OpenStack Region.",
                          "minLength": 1,
                          "type": "string"
                        },
                        "role": {
                          "description": "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": "TLS configuration applying to the target HTTP endpoint.",
                          "properties": {
                            "ca": {
                              "description": "Certificate authority used when verifying server certificates.",
                              "properties": {
                                "configMap": {
                                  "description": "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"
                                },
                                "secret": {
                                  "description": "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"
                                }
                              },
                              "type": "object"
                            },
                            "cert": {
                              "description": "Client certificate to present when doing client-authentication.",
                              "properties": {
                                "configMap": {
                                  "description": "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"
                                },
                                "secret": {
                                  "description": "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"
                                }
                              },
                              "type": "object"
                            },
                            "insecureSkipVerify": {
                              "description": "Disable target certificate validation.",
                              "type": "boolean"
                            },
                            "keySecret": {
                              "description": "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"
                            },
                            "maxVersion": {
                              "description": "Maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0.",
                              "enum": [
                                "TLS10",
                                "TLS11",
                                "TLS12",
                                "TLS13"
                              ],
                              "type": "string"
                            },
                            "minVersion": {
                              "description": "Minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0.",
                              "enum": [
                                "TLS10",
                                "TLS11",
                                "TLS12",
                                "TLS13"
                              ],
                              "type": "string"
                            },
                            "serverName": {
                              "description": "Used to verify the hostname for the targets.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "userid": {
                          "description": "UserID",
                          "minLength": 1,
                          "type": "string"
                        },
                        "username": {
                          "description": "Username is 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"
                    },
                    "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": "Access key to use. https://api.ovh.com.",
                          "minLength": 1,
                          "type": "string"
                        },
                        "applicationSecret": {
                          "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"
                        },
                        "consumerKey": {
                          "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"
                        },
                        "endpoint": {
                          "description": "Custom endpoint to be used.",
                          "minLength": 1,
                          "type": "string"
                        },
                        "refreshInterval": {
                          "description": "Refresh interval to re-read the resources list.",
                          "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": {
                          "allOf": [
                            {
                              "enum": [
                                "VPS",
                                "DedicatedServer"
                              ]
                            },
                            {
                              "enum": [
                                "VPS",
                                "DedicatedServer"
                              ]
                            }
                          ],
                          "description": "Service of the targets to retrieve. Must be `VPS` or `DedicatedServer`.",
                          "type": "string"
                        }
                      },
                      "required": [
                        "applicationKey",
                        "applicationSecret",
                        "consumerKey",
                        "service"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "params": {
                    "additionalProperties": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "description": "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"
                      },
                      "type": "array"
                    },
                    "description": "ProxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                    "type": "object",
                    "x-kubernetes-map-type": "atomic"
                  },
                  "proxyFromEnvironment": {
                    "description": "Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                    "type": "boolean"
                  },
                  "proxyUrl": {
                    "description": "`proxyURL` defines the HTTP proxy server to use.",
                    "pattern": "^http(s)?://.+$",
                    "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": "Optional `authorization` HTTP header configuration.\nCannot be set at the same time as `basicAuth`, or `oauth2`.",
                          "properties": {
                            "credentials": {
                              "description": "Selects 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"
                            },
                            "type": {
                              "description": "Defines the authentication type. The value is case-insensitive.\n\n\"Basic\" is not a supported value.\n\nDefault: \"Bearer\"",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "basicAuth": {
                          "description": "Optional HTTP basic authentication information.\nCannot be set at the same time as `authorization`, or `oauth2`.",
                          "properties": {
                            "password": {
                              "description": "`password` specifies 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"
                            },
                            "username": {
                              "description": "`username` specifies 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"
                            }
                          },
                          "type": "object"
                        },
                        "enableHTTP2": {
                          "description": "Configure whether to enable HTTP2.",
                          "type": "boolean"
                        },
                        "followRedirects": {
                          "description": "Configure whether the HTTP requests should follow HTTP 3xx redirects.",
                          "type": "boolean"
                        },
                        "includeParameters": {
                          "description": "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` is 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 or Alertmanager >= 0.25.0.",
                          "type": "string"
                        },
                        "oauth2": {
                          "description": "Optional OAuth2.0 configuration.\nCannot be set at the same time as `basicAuth`, or `authorization`.",
                          "properties": {
                            "clientId": {
                              "description": "`clientId` specifies a key of a Secret or ConfigMap containing the\nOAuth2 client's ID.",
                              "properties": {
                                "configMap": {
                                  "description": "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"
                                },
                                "secret": {
                                  "description": "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"
                                }
                              },
                              "type": "object"
                            },
                            "clientSecret": {
                              "description": "`clientSecret` specifies 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"
                            },
                            "endpointParams": {
                              "additionalProperties": {
                                "type": "string"
                              },
                              "description": "`endpointParams` configures the HTTP parameters to append to the token\nURL.",
                              "type": "object"
                            },
                            "noProxy": {
                              "description": "`noProxy` is 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 or Alertmanager >= 0.25.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"
                                },
                                "type": "array"
                              },
                              "description": "ProxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                              "type": "object",
                              "x-kubernetes-map-type": "atomic"
                            },
                            "proxyFromEnvironment": {
                              "description": "Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                              "type": "boolean"
                            },
                            "proxyUrl": {
                              "description": "`proxyURL` defines the HTTP proxy server to use.",
                              "pattern": "^http(s)?://.+$",
                              "type": "string"
                            },
                            "scopes": {
                              "description": "`scopes` defines the OAuth2 scopes used for the token request.",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "tlsConfig": {
                              "description": "TLS configuration to use when connecting to the OAuth2 server.\nIt requires Prometheus >= v2.43.0.",
                              "properties": {
                                "ca": {
                                  "description": "Certificate authority used when verifying server certificates.",
                                  "properties": {
                                    "configMap": {
                                      "description": "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"
                                    },
                                    "secret": {
                                      "description": "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"
                                    }
                                  },
                                  "type": "object"
                                },
                                "cert": {
                                  "description": "Client certificate to present when doing client-authentication.",
                                  "properties": {
                                    "configMap": {
                                      "description": "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"
                                    },
                                    "secret": {
                                      "description": "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"
                                    }
                                  },
                                  "type": "object"
                                },
                                "insecureSkipVerify": {
                                  "description": "Disable target certificate validation.",
                                  "type": "boolean"
                                },
                                "keySecret": {
                                  "description": "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"
                                },
                                "maxVersion": {
                                  "description": "Maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0.",
                                  "enum": [
                                    "TLS10",
                                    "TLS11",
                                    "TLS12",
                                    "TLS13"
                                  ],
                                  "type": "string"
                                },
                                "minVersion": {
                                  "description": "Minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0.",
                                  "enum": [
                                    "TLS10",
                                    "TLS11",
                                    "TLS12",
                                    "TLS13"
                                  ],
                                  "type": "string"
                                },
                                "serverName": {
                                  "description": "Used to verify the hostname for the targets.",
                                  "type": "string"
                                }
                              },
                              "type": "object"
                            },
                            "tokenUrl": {
                              "description": "`tokenURL` configures the URL to fetch the token from.",
                              "minLength": 1,
                              "type": "string"
                            }
                          },
                          "required": [
                            "clientId",
                            "clientSecret",
                            "tokenUrl"
                          ],
                          "type": "object"
                        },
                        "port": {
                          "description": "Port to scrape the metrics from.",
                          "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"
                            },
                            "type": "array"
                          },
                          "description": "ProxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                          "type": "object",
                          "x-kubernetes-map-type": "atomic"
                        },
                        "proxyFromEnvironment": {
                          "description": "Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                          "type": "boolean"
                        },
                        "proxyUrl": {
                          "description": "`proxyURL` defines the HTTP proxy server to use.",
                          "pattern": "^http(s)?://.+$",
                          "type": "string"
                        },
                        "query": {
                          "description": "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": "Refresh interval to re-read the list of resources.",
                          "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": "TLS configuration to connect to the Puppet DB.",
                          "properties": {
                            "ca": {
                              "description": "Certificate authority used when verifying server certificates.",
                              "properties": {
                                "configMap": {
                                  "description": "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"
                                },
                                "secret": {
                                  "description": "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"
                                }
                              },
                              "type": "object"
                            },
                            "cert": {
                              "description": "Client certificate to present when doing client-authentication.",
                              "properties": {
                                "configMap": {
                                  "description": "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"
                                },
                                "secret": {
                                  "description": "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"
                                }
                              },
                              "type": "object"
                            },
                            "insecureSkipVerify": {
                              "description": "Disable target certificate validation.",
                              "type": "boolean"
                            },
                            "keySecret": {
                              "description": "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"
                            },
                            "maxVersion": {
                              "description": "Maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0.",
                              "enum": [
                                "TLS10",
                                "TLS11",
                                "TLS12",
                                "TLS13"
                              ],
                              "type": "string"
                            },
                            "minVersion": {
                              "description": "Minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0.",
                              "enum": [
                                "TLS10",
                                "TLS11",
                                "TLS12",
                                "TLS13"
                              ],
                              "type": "string"
                            },
                            "serverName": {
                              "description": "Used to verify the hostname for the targets.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "url": {
                          "description": "The URL of the PuppetDB root query endpoint.",
                          "minLength": 1,
                          "pattern": "^http(s)?://.+$",
                          "type": "string"
                        }
                      },
                      "required": [
                        "query",
                        "url"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "relabelings": {
                    "description": "RelabelConfigs 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": "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 is the string between concatenated SourceLabels.",
                          "type": "string"
                        },
                        "sourceLabels": {
                          "description": "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 which may only contain ASCII\nletters, numbers, as well as underscores.",
                            "pattern": "^[a-zA-Z_][a-zA-Z0-9_]*$",
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "targetLabel": {
                          "description": "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"
                    },
                    "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": "Access key to use. https://console.scaleway.com/project/credentials",
                          "minLength": 1,
                          "type": "string"
                        },
                        "apiURL": {
                          "description": "API URL to use when doing the server listing requests.",
                          "pattern": "^http(s)?://.+$",
                          "type": "string"
                        },
                        "enableHTTP2": {
                          "description": "Whether to enable HTTP2.",
                          "type": "boolean"
                        },
                        "followRedirects": {
                          "description": "Configure whether HTTP requests follow HTTP 3xx redirects.",
                          "type": "boolean"
                        },
                        "nameFilter": {
                          "description": "NameFilter specify a name filter (works as a LIKE) to apply on the server listing request.",
                          "minLength": 1,
                          "type": "string"
                        },
                        "noProxy": {
                          "description": "`noProxy` is 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 or Alertmanager >= 0.25.0.",
                          "type": "string"
                        },
                        "port": {
                          "description": "The port to scrape metrics from.",
                          "format": "int32",
                          "maximum": 65535,
                          "minimum": 0,
                          "type": "integer"
                        },
                        "projectID": {
                          "description": "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"
                            },
                            "type": "array"
                          },
                          "description": "ProxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                          "type": "object",
                          "x-kubernetes-map-type": "atomic"
                        },
                        "proxyFromEnvironment": {
                          "description": "Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.",
                          "type": "boolean"
                        },
                        "proxyUrl": {
                          "description": "`proxyURL` defines the HTTP proxy server to use.",
                          "pattern": "^http(s)?://.+$",
                          "type": "string"
                        },
                        "refreshInterval": {
                          "description": "Refresh interval to re-read the list of instances.",
                          "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": "Service of the targets to retrieve. Must be `Instance` or `Baremetal`.",
                          "enum": [
                            "Instance",
                            "Baremetal"
                          ],
                          "type": "string"
                        },
                        "secretKey": {
                          "description": "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"
                        },
                        "tagsFilter": {
                          "description": "TagsFilter specify 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": "TLS configuration to use on every scrape request",
                          "properties": {
                            "ca": {
                              "description": "Certificate authority used when verifying server certificates.",
                              "properties": {
                                "configMap": {
                                  "description": "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"
                                },
                                "secret": {
                                  "description": "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"
                                }
                              },
                              "type": "object"
                            },
                            "cert": {
                              "description": "Client certificate to present when doing client-authentication.",
                              "properties": {
                                "configMap": {
                                  "description": "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"
                                },
                                "secret": {
                                  "description": "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"
                                }
                              },
                              "type": "object"
                            },
                            "insecureSkipVerify": {
                              "description": "Disable target certificate validation.",
                              "type": "boolean"
                            },
                            "keySecret": {
                              "description": "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"
                            },
                            "maxVersion": {
                              "description": "Maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0.",
                              "enum": [
                                "TLS10",
                                "TLS11",
                                "TLS12",
                                "TLS13"
                              ],
                              "type": "string"
                            },
                            "minVersion": {
                              "description": "Minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0.",
                              "enum": [
                                "TLS10",
                                "TLS11",
                                "TLS12",
                                "TLS13"
                              ],
                              "type": "string"
                            },
                            "serverName": {
                              "description": "Used to verify the hostname for the targets.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "zone": {
                          "description": "Zone is the availability zone of your targets (e.g. fr-par-1).",
                          "minLength": 1,
                          "type": "string"
                        }
                      },
                      "required": [
                        "accessKey",
                        "projectID",
                        "role",
                        "secretKey"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "scheme": {
                    "description": "Configures the protocol scheme used for requests.\nIf empty, Prometheus uses HTTP by default.",
                    "enum": [
                      "HTTP",
                      "HTTPS"
                    ],
                    "type": "string"
                  },
                  "scrapeClass": {
                    "description": "The scrape class to apply.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "scrapeClassicHistograms": {
                    "description": "Whether to scrape a classic histogram that is also exposed as a native histogram.\nIt requires Prometheus >= v2.45.0.",
                    "type": "boolean"
                  },
                  "scrapeInterval": {
                    "description": "ScrapeInterval is 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"
                  },
                  "scrapeProtocols": {
                    "description": "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 is 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 assigned to all metrics scraped from the targets.",
                          "type": "object",
                          "x-kubernetes-map-type": "atomic"
                        },
                        "targets": {
                          "description": "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"
                    },
                    "type": "array"
                  },
                  "targetLimit": {
                    "description": "TargetLimit defines a limit on the number of scraped targets that will be accepted.",
                    "format": "int64",
                    "type": "integer"
                  },
                  "tlsConfig": {
                    "description": "TLS configuration to use on every scrape request",
                    "properties": {
                      "ca": {
                        "description": "Certificate authority used when verifying server certificates.",
                        "properties": {
                          "configMap": {
                            "description": "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"
                          },
                          "secret": {
                            "description": "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"
                          }
                        },
                        "type": "object"
                      },
                      "cert": {
                        "description": "Client certificate to present when doing client-authentication.",
                        "properties": {
                          "configMap": {
                            "description": "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"
                          },
                          "secret": {
                            "description": "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"
                          }
                        },
                        "type": "object"
                      },
                      "insecureSkipVerify": {
                        "description": "Disable target certificate validation.",
                        "type": "boolean"
                      },
                      "keySecret": {
                        "description": "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"
                      },
                      "maxVersion": {
                        "description": "Maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0.",
                        "enum": [
                          "TLS10",
                          "TLS11",
                          "TLS12",
                          "TLS13"
                        ],
                        "type": "string"
                      },
                      "minVersion": {
                        "description": "Minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0.",
                        "enum": [
                          "TLS10",
                          "TLS11",
                          "TLS12",
                          "TLS13"
                        ],
                        "type": "string"
                      },
                      "serverName": {
                        "description": "Used to verify the hostname for the targets.",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "trackTimestampsStaleness": {
                    "description": "TrackTimestampsStaleness 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"
              }
            },
            "required": [
              "spec"
            ],
            "type": "object"
          }
        },
        "served": true,
        "storage": true
      }
    ]
  }
}
