{
  "description": "VMAlertmanagerConfig is the Schema for the vmalertmanagerconfigs API",
  "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": "VMAlertmanagerConfigSpec defines configuration for VMAlertmanagerConfig\nit must reference only locally defined objects",
      "properties": {
        "inhibit_rules": {
          "description": "InhibitRules will only apply for alerts matching\nthe resource's namespace.",
          "items": {
            "description": "InhibitRule defines an inhibition rule that allows to mute alerts when other\nalerts are already firing.\nNote, it doesn't support deprecated alertmanager config options.\nSee https://prometheus.io/docs/alerting/latest/configuration/#inhibit_rule",
            "properties": {
              "equal": {
                "description": "Labels that must have an equal value in the source and target alert for\nthe inhibition to take effect.",
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "source_matchers": {
                "description": "SourceMatchers defines a list of matchers for which one or more alerts have\nto exist for the inhibition to take effect.",
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "target_matchers": {
                "description": "TargetMatchers defines a list of matchers that have to be fulfilled by the target\nalerts to be muted.",
                "items": {
                  "type": "string"
                },
                "type": "array"
              }
            },
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        },
        "receivers": {
          "description": "Receivers defines alert receivers",
          "items": {
            "description": "Receiver defines one or more notification integrations.",
            "properties": {
              "discord_configs": {
                "items": {
                  "properties": {
                    "avatar_url": {
                      "description": "AvatarURL defines message avatar URL\nAvailable from operator v0.55.0 and alertmanager v0.28.0",
                      "type": "string"
                    },
                    "content": {
                      "description": "Content defines message content template\nAvailable from operator v0.55.0 and alertmanager v0.28.0",
                      "maxLength": 2000,
                      "type": "string"
                    },
                    "http_config": {
                      "description": "HTTP client configuration.",
                      "properties": {
                        "authorization": {
                          "description": "Authorization header configuration for the client.\nThis is mutually exclusive with BasicAuth and is only available starting from Alertmanager v0.22+.",
                          "properties": {
                            "credentials": {
                              "description": "Reference to the secret with value for authorization",
                              "properties": {
                                "key": {
                                  "description": "The key of the secret to select from.  Must be a valid secret key.",
                                  "type": "string"
                                },
                                "name": {
                                  "default": "",
                                  "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                  "type": "string"
                                },
                                "optional": {
                                  "description": "Specify whether the Secret or its key must be defined",
                                  "type": "boolean"
                                }
                              },
                              "required": [
                                "key"
                              ],
                              "type": "object",
                              "x-kubernetes-map-type": "atomic",
                              "additionalProperties": false
                            },
                            "credentialsFile": {
                              "description": "File with value for authorization",
                              "type": "string"
                            },
                            "type": {
                              "description": "Type of authorization, default to bearer",
                              "type": "string"
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "basic_auth": {
                          "description": "BasicAuth for the client.",
                          "properties": {
                            "password": {
                              "description": "Password defines reference for secret with password value\nThe secret needs to be in the same namespace as scrape object",
                              "properties": {
                                "key": {
                                  "description": "The key of the secret to select from.  Must be a valid secret key.",
                                  "type": "string"
                                },
                                "name": {
                                  "default": "",
                                  "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                  "type": "string"
                                },
                                "optional": {
                                  "description": "Specify whether the Secret or its key must be defined",
                                  "type": "boolean"
                                }
                              },
                              "required": [
                                "key"
                              ],
                              "type": "object",
                              "x-kubernetes-map-type": "atomic",
                              "additionalProperties": false
                            },
                            "password_file": {
                              "description": "PasswordFile defines path to password file at disk\nmust be pre-mounted",
                              "type": "string"
                            },
                            "username": {
                              "description": "Username defines reference for secret with username value\nThe secret needs to be in the same namespace as scrape object",
                              "properties": {
                                "key": {
                                  "description": "The key of the secret to select from.  Must be a valid secret key.",
                                  "type": "string"
                                },
                                "name": {
                                  "default": "",
                                  "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                  "type": "string"
                                },
                                "optional": {
                                  "description": "Specify whether the Secret or its key must be defined",
                                  "type": "boolean"
                                }
                              },
                              "required": [
                                "key"
                              ],
                              "type": "object",
                              "x-kubernetes-map-type": "atomic",
                              "additionalProperties": false
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "bearer_token_file": {
                          "description": "BearerTokenFile defines filename for bearer token, it must be mounted to pod.",
                          "type": "string"
                        },
                        "bearer_token_secret": {
                          "description": "The secret's key that contains the bearer token\nIt must be at them same namespace as CRD",
                          "properties": {
                            "key": {
                              "description": "The key of the secret to select from.  Must be a valid secret key.",
                              "type": "string"
                            },
                            "name": {
                              "default": "",
                              "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                              "type": "string"
                            },
                            "optional": {
                              "description": "Specify whether the Secret or its key must be defined",
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "key"
                          ],
                          "type": "object",
                          "x-kubernetes-map-type": "atomic",
                          "additionalProperties": false
                        },
                        "oauth2": {
                          "description": "OAuth2 client credentials used to fetch a token for the targets.",
                          "properties": {
                            "client_id": {
                              "description": "The secret or configmap containing the OAuth2 client 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",
                                  "additionalProperties": false
                                },
                                "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",
                                  "additionalProperties": false
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "client_secret": {
                              "description": "The secret containing the OAuth2 client secret",
                              "properties": {
                                "key": {
                                  "description": "The key of the secret to select from.  Must be a valid secret key.",
                                  "type": "string"
                                },
                                "name": {
                                  "default": "",
                                  "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                  "type": "string"
                                },
                                "optional": {
                                  "description": "Specify whether the Secret or its key must be defined",
                                  "type": "boolean"
                                }
                              },
                              "required": [
                                "key"
                              ],
                              "type": "object",
                              "x-kubernetes-map-type": "atomic",
                              "additionalProperties": false
                            },
                            "client_secret_file": {
                              "description": "ClientSecretFile defines path for client secret file.",
                              "type": "string"
                            },
                            "endpoint_params": {
                              "additionalProperties": {
                                "type": "string"
                              },
                              "description": "Parameters to append to the token URL",
                              "type": "object"
                            },
                            "proxy_url": {
                              "description": "The proxy URL for token_url connection\n( available from v0.55.0).\nIs only supported by Scrape objects family",
                              "type": "string"
                            },
                            "scopes": {
                              "description": "OAuth2 scopes used for the token request",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "tls_config": {
                              "description": "TLSConfig for token_url connection\n( available from v0.55.0).\nIs only supported by Scrape objects family",
                              "x-kubernetes-preserve-unknown-fields": true
                            },
                            "token_url": {
                              "description": "The URL to fetch the token from",
                              "minLength": 1,
                              "type": "string"
                            }
                          },
                          "required": [
                            "client_id",
                            "token_url"
                          ],
                          "type": "object",
                          "additionalProperties": false
                        },
                        "proxyURL": {
                          "description": "Optional proxy URL.",
                          "type": "string"
                        },
                        "tls_config": {
                          "description": "TLS configuration for the client.",
                          "properties": {
                            "ca": {
                              "description": "Struct containing the CA cert to use for the targets.",
                              "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",
                                  "additionalProperties": false
                                },
                                "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",
                                  "additionalProperties": false
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "caFile": {
                              "description": "Path to the CA cert in the container to use for the targets.",
                              "type": "string"
                            },
                            "cert": {
                              "description": "Struct containing the client cert file for the targets.",
                              "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",
                                  "additionalProperties": false
                                },
                                "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",
                                  "additionalProperties": false
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "certFile": {
                              "description": "Path to the client cert file in the container for the targets.",
                              "type": "string"
                            },
                            "insecureSkipVerify": {
                              "description": "Disable target certificate validation.",
                              "type": "boolean"
                            },
                            "keyFile": {
                              "description": "Path to the client key file in the container for the targets.",
                              "type": "string"
                            },
                            "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",
                              "additionalProperties": false
                            },
                            "serverName": {
                              "description": "Used to verify the hostname for the targets.",
                              "type": "string"
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "message": {
                      "description": "The message body template",
                      "type": "string"
                    },
                    "send_resolved": {
                      "description": "SendResolved controls notify about resolved alerts.",
                      "type": "boolean"
                    },
                    "title": {
                      "description": "The message title template",
                      "type": "string"
                    },
                    "username": {
                      "description": "Username defines message username\nAvailable from operator v0.55.0 and alertmanager v0.28.0",
                      "type": "string"
                    },
                    "webhook_url": {
                      "description": "The discord webhook URL\none of `urlSecret` and `url` must be defined.",
                      "type": "string"
                    },
                    "webhook_url_secret": {
                      "description": "URLSecret defines secret name and key at the CRD namespace.\nIt must contain the webhook URL.\none of `urlSecret` and `url` must be defined.",
                      "properties": {
                        "key": {
                          "description": "The key of the secret to select from.  Must be a valid secret key.",
                          "type": "string"
                        },
                        "name": {
                          "default": "",
                          "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                          "type": "string"
                        },
                        "optional": {
                          "description": "Specify whether the Secret or its key must be defined",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "key"
                      ],
                      "type": "object",
                      "x-kubernetes-map-type": "atomic",
                      "additionalProperties": false
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "type": "array"
              },
              "email_configs": {
                "description": "EmailConfigs defines email notification configurations.",
                "items": {
                  "description": "EmailConfig configures notifications via Email.",
                  "properties": {
                    "auth_identity": {
                      "description": "The identity to use for authentication.",
                      "type": "string"
                    },
                    "auth_password": {
                      "description": "AuthPassword defines secret name and key at CRD namespace.",
                      "properties": {
                        "key": {
                          "description": "The key of the secret to select from.  Must be a valid secret key.",
                          "type": "string"
                        },
                        "name": {
                          "default": "",
                          "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                          "type": "string"
                        },
                        "optional": {
                          "description": "Specify whether the Secret or its key must be defined",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "key"
                      ],
                      "type": "object",
                      "x-kubernetes-map-type": "atomic",
                      "additionalProperties": false
                    },
                    "auth_secret": {
                      "description": "AuthSecret defines secret name and key at CRD namespace.\nIt must contain the CRAM-MD5 secret.",
                      "properties": {
                        "key": {
                          "description": "The key of the secret to select from.  Must be a valid secret key.",
                          "type": "string"
                        },
                        "name": {
                          "default": "",
                          "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                          "type": "string"
                        },
                        "optional": {
                          "description": "Specify whether the Secret or its key must be defined",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "key"
                      ],
                      "type": "object",
                      "x-kubernetes-map-type": "atomic",
                      "additionalProperties": false
                    },
                    "auth_username": {
                      "description": "The username to use for authentication.",
                      "type": "string"
                    },
                    "from": {
                      "description": "The sender address.\nfallback to global setting if empty",
                      "type": "string"
                    },
                    "headers": {
                      "additionalProperties": {
                        "type": "string"
                      },
                      "description": "Further headers email header key/value pairs. Overrides any headers\npreviously set by the notification implementation.",
                      "type": "object"
                    },
                    "hello": {
                      "description": "The hostname to identify to the SMTP server.",
                      "type": "string"
                    },
                    "html": {
                      "description": "The HTML body of the email notification.",
                      "type": "string"
                    },
                    "require_tls": {
                      "description": "The SMTP TLS requirement.\nNote that Go does not support unencrypted connections to remote SMTP endpoints.",
                      "type": "boolean"
                    },
                    "send_resolved": {
                      "description": "SendResolved controls notify about resolved alerts.",
                      "type": "boolean"
                    },
                    "smarthost": {
                      "description": "The SMTP host through which emails are sent.\nfallback to global setting if empty",
                      "type": "string"
                    },
                    "text": {
                      "description": "The text body of the email notification.",
                      "type": "string"
                    },
                    "tls_config": {
                      "description": "TLS configuration",
                      "properties": {
                        "ca": {
                          "description": "Struct containing the CA cert to use for the targets.",
                          "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",
                              "additionalProperties": false
                            },
                            "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",
                              "additionalProperties": false
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "caFile": {
                          "description": "Path to the CA cert in the container to use for the targets.",
                          "type": "string"
                        },
                        "cert": {
                          "description": "Struct containing the client cert file for the targets.",
                          "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",
                              "additionalProperties": false
                            },
                            "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",
                              "additionalProperties": false
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "certFile": {
                          "description": "Path to the client cert file in the container for the targets.",
                          "type": "string"
                        },
                        "insecureSkipVerify": {
                          "description": "Disable target certificate validation.",
                          "type": "boolean"
                        },
                        "keyFile": {
                          "description": "Path to the client key file in the container for the targets.",
                          "type": "string"
                        },
                        "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",
                          "additionalProperties": false
                        },
                        "serverName": {
                          "description": "Used to verify the hostname for the targets.",
                          "type": "string"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "to": {
                      "description": "The email address to send notifications to.",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "type": "array"
              },
              "jira_configs": {
                "items": {
                  "description": "JiraConfig represent alertmanager's jira_config entry\nhttps://prometheus.io/docs/alerting/latest/configuration/#jira_config\navailable from v0.55.0 operator version\nand v0.28.0 alertmanager version",
                  "properties": {
                    "api_url": {
                      "description": "The URL to send API requests to. The full API path must be included.\nExample: https://company.atlassian.net/rest/api/2/",
                      "type": "string"
                    },
                    "custom_fields": {
                      "additionalProperties": {
                        "x-kubernetes-preserve-unknown-fields": true
                      },
                      "description": "Other issue and custom fields.\nJira issue field can have multiple types.\nDepends on the field type, the values must be provided differently.\nSee https://developer.atlassian.com/server/jira/platform/jira-rest-api-examples/#setting-custom-field-data-for-other-field-types for further examples.",
                      "type": "object"
                    },
                    "description": {
                      "description": "Issue description template.",
                      "type": "string"
                    },
                    "http_config": {
                      "description": "The HTTP client's configuration. You must use this configuration to supply the personal access token (PAT) as part of the HTTP `Authorization` header.\nFor Jira Cloud, use basic_auth with the email address as the username and the PAT as the password.\nFor Jira Data Center, use the 'authorization' field with 'credentials: <PAT value>'.",
                      "x-kubernetes-preserve-unknown-fields": true
                    },
                    "issue_type": {
                      "description": "Type of the issue (e.g. Bug)",
                      "type": "string"
                    },
                    "labels": {
                      "description": "Labels to be added to the issue",
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "priority": {
                      "description": "Priority of the issue",
                      "type": "string"
                    },
                    "project": {
                      "description": "The project key where issues are created",
                      "type": "string"
                    },
                    "reopen_duration": {
                      "description": "If reopen_transition is defined, reopen the issue when it is not older than this value (rounded down to the nearest minute).\nThe resolutiondate field is used to determine the age of the issue.",
                      "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"
                    },
                    "reopen_transition": {
                      "description": "Name of the workflow transition to resolve an issue.\nThe target status must have the category \"done\".",
                      "type": "string"
                    },
                    "resolve_transition": {
                      "description": "Name of the workflow transition to reopen an issue.\nThe target status should not have the category \"done\".",
                      "type": "string"
                    },
                    "send_resolved": {
                      "description": "SendResolved controls notify about resolved alerts.",
                      "type": "boolean"
                    },
                    "summary": {
                      "description": "Issue summary template",
                      "type": "string"
                    },
                    "wont_fix_resolution": {
                      "description": "If reopen_transition is defined, ignore issues with that resolution.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "issue_type",
                    "project"
                  ],
                  "type": "object",
                  "additionalProperties": false
                },
                "type": "array"
              },
              "msteams_configs": {
                "items": {
                  "properties": {
                    "http_config": {
                      "description": "HTTP client configuration.",
                      "properties": {
                        "authorization": {
                          "description": "Authorization header configuration for the client.\nThis is mutually exclusive with BasicAuth and is only available starting from Alertmanager v0.22+.",
                          "properties": {
                            "credentials": {
                              "description": "Reference to the secret with value for authorization",
                              "properties": {
                                "key": {
                                  "description": "The key of the secret to select from.  Must be a valid secret key.",
                                  "type": "string"
                                },
                                "name": {
                                  "default": "",
                                  "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                  "type": "string"
                                },
                                "optional": {
                                  "description": "Specify whether the Secret or its key must be defined",
                                  "type": "boolean"
                                }
                              },
                              "required": [
                                "key"
                              ],
                              "type": "object",
                              "x-kubernetes-map-type": "atomic",
                              "additionalProperties": false
                            },
                            "credentialsFile": {
                              "description": "File with value for authorization",
                              "type": "string"
                            },
                            "type": {
                              "description": "Type of authorization, default to bearer",
                              "type": "string"
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "basic_auth": {
                          "description": "BasicAuth for the client.",
                          "properties": {
                            "password": {
                              "description": "Password defines reference for secret with password value\nThe secret needs to be in the same namespace as scrape object",
                              "properties": {
                                "key": {
                                  "description": "The key of the secret to select from.  Must be a valid secret key.",
                                  "type": "string"
                                },
                                "name": {
                                  "default": "",
                                  "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                  "type": "string"
                                },
                                "optional": {
                                  "description": "Specify whether the Secret or its key must be defined",
                                  "type": "boolean"
                                }
                              },
                              "required": [
                                "key"
                              ],
                              "type": "object",
                              "x-kubernetes-map-type": "atomic",
                              "additionalProperties": false
                            },
                            "password_file": {
                              "description": "PasswordFile defines path to password file at disk\nmust be pre-mounted",
                              "type": "string"
                            },
                            "username": {
                              "description": "Username defines reference for secret with username value\nThe secret needs to be in the same namespace as scrape object",
                              "properties": {
                                "key": {
                                  "description": "The key of the secret to select from.  Must be a valid secret key.",
                                  "type": "string"
                                },
                                "name": {
                                  "default": "",
                                  "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                  "type": "string"
                                },
                                "optional": {
                                  "description": "Specify whether the Secret or its key must be defined",
                                  "type": "boolean"
                                }
                              },
                              "required": [
                                "key"
                              ],
                              "type": "object",
                              "x-kubernetes-map-type": "atomic",
                              "additionalProperties": false
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "bearer_token_file": {
                          "description": "BearerTokenFile defines filename for bearer token, it must be mounted to pod.",
                          "type": "string"
                        },
                        "bearer_token_secret": {
                          "description": "The secret's key that contains the bearer token\nIt must be at them same namespace as CRD",
                          "properties": {
                            "key": {
                              "description": "The key of the secret to select from.  Must be a valid secret key.",
                              "type": "string"
                            },
                            "name": {
                              "default": "",
                              "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                              "type": "string"
                            },
                            "optional": {
                              "description": "Specify whether the Secret or its key must be defined",
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "key"
                          ],
                          "type": "object",
                          "x-kubernetes-map-type": "atomic",
                          "additionalProperties": false
                        },
                        "oauth2": {
                          "description": "OAuth2 client credentials used to fetch a token for the targets.",
                          "properties": {
                            "client_id": {
                              "description": "The secret or configmap containing the OAuth2 client 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",
                                  "additionalProperties": false
                                },
                                "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",
                                  "additionalProperties": false
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "client_secret": {
                              "description": "The secret containing the OAuth2 client secret",
                              "properties": {
                                "key": {
                                  "description": "The key of the secret to select from.  Must be a valid secret key.",
                                  "type": "string"
                                },
                                "name": {
                                  "default": "",
                                  "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                  "type": "string"
                                },
                                "optional": {
                                  "description": "Specify whether the Secret or its key must be defined",
                                  "type": "boolean"
                                }
                              },
                              "required": [
                                "key"
                              ],
                              "type": "object",
                              "x-kubernetes-map-type": "atomic",
                              "additionalProperties": false
                            },
                            "client_secret_file": {
                              "description": "ClientSecretFile defines path for client secret file.",
                              "type": "string"
                            },
                            "endpoint_params": {
                              "additionalProperties": {
                                "type": "string"
                              },
                              "description": "Parameters to append to the token URL",
                              "type": "object"
                            },
                            "proxy_url": {
                              "description": "The proxy URL for token_url connection\n( available from v0.55.0).\nIs only supported by Scrape objects family",
                              "type": "string"
                            },
                            "scopes": {
                              "description": "OAuth2 scopes used for the token request",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "tls_config": {
                              "description": "TLSConfig for token_url connection\n( available from v0.55.0).\nIs only supported by Scrape objects family",
                              "x-kubernetes-preserve-unknown-fields": true
                            },
                            "token_url": {
                              "description": "The URL to fetch the token from",
                              "minLength": 1,
                              "type": "string"
                            }
                          },
                          "required": [
                            "client_id",
                            "token_url"
                          ],
                          "type": "object",
                          "additionalProperties": false
                        },
                        "proxyURL": {
                          "description": "Optional proxy URL.",
                          "type": "string"
                        },
                        "tls_config": {
                          "description": "TLS configuration for the client.",
                          "properties": {
                            "ca": {
                              "description": "Struct containing the CA cert to use for the targets.",
                              "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",
                                  "additionalProperties": false
                                },
                                "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",
                                  "additionalProperties": false
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "caFile": {
                              "description": "Path to the CA cert in the container to use for the targets.",
                              "type": "string"
                            },
                            "cert": {
                              "description": "Struct containing the client cert file for the targets.",
                              "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",
                                  "additionalProperties": false
                                },
                                "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",
                                  "additionalProperties": false
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "certFile": {
                              "description": "Path to the client cert file in the container for the targets.",
                              "type": "string"
                            },
                            "insecureSkipVerify": {
                              "description": "Disable target certificate validation.",
                              "type": "boolean"
                            },
                            "keyFile": {
                              "description": "Path to the client key file in the container for the targets.",
                              "type": "string"
                            },
                            "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",
                              "additionalProperties": false
                            },
                            "serverName": {
                              "description": "Used to verify the hostname for the targets.",
                              "type": "string"
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "send_resolved": {
                      "description": "SendResolved controls notify about resolved alerts.",
                      "type": "boolean"
                    },
                    "text": {
                      "description": "The text body of the teams notification.",
                      "type": "string"
                    },
                    "title": {
                      "description": "The title of the teams notification.",
                      "type": "string"
                    },
                    "webhook_url": {
                      "description": "The incoming webhook URL\none of `urlSecret` and `url` must be defined.",
                      "type": "string"
                    },
                    "webhook_url_secret": {
                      "description": "URLSecret defines secret name and key at the CRD namespace.\nIt must contain the webhook URL.\none of `urlSecret` and `url` must be defined.",
                      "properties": {
                        "key": {
                          "description": "The key of the secret to select from.  Must be a valid secret key.",
                          "type": "string"
                        },
                        "name": {
                          "default": "",
                          "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                          "type": "string"
                        },
                        "optional": {
                          "description": "Specify whether the Secret or its key must be defined",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "key"
                      ],
                      "type": "object",
                      "x-kubernetes-map-type": "atomic",
                      "additionalProperties": false
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "type": "array"
              },
              "msteamsv2_configs": {
                "items": {
                  "description": "MSTeamsV2Config sends notifications using the new message format with adaptive cards as required by flows.\nhttps://support.microsoft.com/en-gb/office/create-incoming-webhooks-with-workflows-for-microsoft-teams-8ae491c7-0394-4861-ba59-055e33f75498\navailable from v0.55.0 operator version\nand v0.28.0 alertmanager version",
                  "properties": {
                    "http_config": {
                      "x-kubernetes-preserve-unknown-fields": true
                    },
                    "send_resolved": {
                      "description": "SendResolved controls notify about resolved alerts.",
                      "type": "boolean"
                    },
                    "text": {
                      "description": "Message body template.",
                      "type": "string"
                    },
                    "title": {
                      "description": "Message title template.",
                      "type": "string"
                    },
                    "webhook_url": {
                      "description": "The incoming webhook URL\none of `urlSecret` and `url` must be defined.",
                      "type": "string"
                    },
                    "webhook_url_secret": {
                      "description": "URLSecret defines secret name and key at the CRD namespace.\nIt must contain the webhook URL.\none of `webhook_url` or `webhook_url_secret` must be defined.",
                      "properties": {
                        "key": {
                          "description": "The key of the secret to select from.  Must be a valid secret key.",
                          "type": "string"
                        },
                        "name": {
                          "default": "",
                          "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                          "type": "string"
                        },
                        "optional": {
                          "description": "Specify whether the Secret or its key must be defined",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "key"
                      ],
                      "type": "object",
                      "x-kubernetes-map-type": "atomic",
                      "additionalProperties": false
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "type": "array"
              },
              "name": {
                "description": "Name of the receiver. Must be unique across all items from the list.",
                "minLength": 1,
                "type": "string"
              },
              "opsgenie_configs": {
                "description": "OpsGenieConfigs defines ops genie notification configurations.",
                "items": {
                  "description": "OpsGenieConfig configures notifications via OpsGenie.\nSee https://prometheus.io/docs/alerting/latest/configuration/#opsgenie_config",
                  "properties": {
                    "actions": {
                      "description": "Comma separated list of actions that will be available for the alert.",
                      "type": "string"
                    },
                    "api_key": {
                      "description": "The secret's key that contains the OpsGenie API key.\nIt must be at them same namespace as CRD\nfallback to global setting if empty",
                      "properties": {
                        "key": {
                          "description": "The key of the secret to select from.  Must be a valid secret key.",
                          "type": "string"
                        },
                        "name": {
                          "default": "",
                          "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                          "type": "string"
                        },
                        "optional": {
                          "description": "Specify whether the Secret or its key must be defined",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "key"
                      ],
                      "type": "object",
                      "x-kubernetes-map-type": "atomic",
                      "additionalProperties": false
                    },
                    "apiURL": {
                      "description": "The URL to send OpsGenie API requests to.",
                      "type": "string"
                    },
                    "description": {
                      "description": "Description of the incident.",
                      "type": "string"
                    },
                    "details": {
                      "additionalProperties": {
                        "type": "string"
                      },
                      "description": "A set of arbitrary key/value pairs that provide further detail about the incident.",
                      "type": "object"
                    },
                    "entity": {
                      "description": "Optional field that can be used to specify which domain alert is related to.",
                      "type": "string"
                    },
                    "http_config": {
                      "description": "HTTP client configuration.",
                      "type": "object",
                      "x-kubernetes-preserve-unknown-fields": true
                    },
                    "message": {
                      "description": "Alert text limited to 130 characters.",
                      "type": "string"
                    },
                    "note": {
                      "description": "Additional alert note.",
                      "type": "string"
                    },
                    "priority": {
                      "description": "Priority level of alert. Possible values are P1, P2, P3, P4, and P5.",
                      "type": "string"
                    },
                    "responders": {
                      "description": "List of responders responsible for notifications.",
                      "items": {
                        "description": "OpsGenieConfigResponder defines a responder to an incident.\nOne of `id`, `name` or `username` has to be defined.",
                        "properties": {
                          "id": {
                            "description": "ID of the responder.",
                            "type": "string"
                          },
                          "name": {
                            "description": "Name of the responder.",
                            "type": "string"
                          },
                          "type": {
                            "description": "Type of responder.",
                            "minLength": 1,
                            "type": "string"
                          },
                          "username": {
                            "description": "Username of the responder.",
                            "type": "string"
                          }
                        },
                        "required": [
                          "type"
                        ],
                        "type": "object",
                        "additionalProperties": false
                      },
                      "type": "array"
                    },
                    "send_resolved": {
                      "description": "SendResolved controls notify about resolved alerts.",
                      "type": "boolean"
                    },
                    "source": {
                      "description": "Backlink to the sender of the notification.",
                      "type": "string"
                    },
                    "tags": {
                      "description": "Comma separated list of tags attached to the notifications.",
                      "type": "string"
                    },
                    "update_alerts": {
                      "description": "Whether to update message and description of the alert in OpsGenie if it already exists\nBy default, the alert is never updated in OpsGenie, the new message only appears in activity log.",
                      "type": "boolean"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "type": "array"
              },
              "pagerduty_configs": {
                "description": "PagerDutyConfigs defines pager duty notification configurations.",
                "items": {
                  "description": "PagerDutyConfig configures notifications via PagerDuty.\nSee https://prometheus.io/docs/alerting/latest/configuration/#pagerduty_config",
                  "properties": {
                    "class": {
                      "description": "The class/type of the event.",
                      "type": "string"
                    },
                    "client": {
                      "description": "Client identification.",
                      "type": "string"
                    },
                    "client_url": {
                      "description": "Backlink to the sender of notification.",
                      "type": "string"
                    },
                    "component": {
                      "description": "The part or component of the affected system that is broken.",
                      "type": "string"
                    },
                    "description": {
                      "description": "Description of the incident.",
                      "type": "string"
                    },
                    "details": {
                      "additionalProperties": {
                        "type": "string"
                      },
                      "description": "Arbitrary key/value pairs that provide further detail about the incident.",
                      "type": "object"
                    },
                    "group": {
                      "description": "A cluster or grouping of sources.",
                      "type": "string"
                    },
                    "http_config": {
                      "description": "HTTP client configuration.",
                      "type": "object",
                      "x-kubernetes-preserve-unknown-fields": true
                    },
                    "images": {
                      "description": "Images to attach to the incident.",
                      "items": {
                        "description": "ImageConfig is used to attach images to the incident.\nSee https://developer.pagerduty.com/docs/ZG9jOjExMDI5NTgx-send-an-alert-event#the-images-property\nfor more information.",
                        "properties": {
                          "alt": {
                            "type": "string"
                          },
                          "href": {
                            "type": "string"
                          },
                          "source": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "source"
                        ],
                        "type": "object",
                        "additionalProperties": false
                      },
                      "type": "array"
                    },
                    "links": {
                      "description": "Links to attach to the incident.",
                      "items": {
                        "description": "LinkConfig is used to attach text links to the incident.\nSee https://developer.pagerduty.com/docs/ZG9jOjExMDI5NTgx-send-an-alert-event#the-links-property\nfor more information.",
                        "properties": {
                          "href": {
                            "type": "string"
                          },
                          "text": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "href"
                        ],
                        "type": "object",
                        "additionalProperties": false
                      },
                      "type": "array"
                    },
                    "routing_key": {
                      "description": "The secret's key that contains the PagerDuty integration key (when using\nEvents API v2). Either this field or `serviceKey` needs to be defined.\nIt must be at them same namespace as CRD",
                      "properties": {
                        "key": {
                          "description": "The key of the secret to select from.  Must be a valid secret key.",
                          "type": "string"
                        },
                        "name": {
                          "default": "",
                          "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                          "type": "string"
                        },
                        "optional": {
                          "description": "Specify whether the Secret or its key must be defined",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "key"
                      ],
                      "type": "object",
                      "x-kubernetes-map-type": "atomic",
                      "additionalProperties": false
                    },
                    "send_resolved": {
                      "description": "SendResolved controls notify about resolved alerts.",
                      "type": "boolean"
                    },
                    "service_key": {
                      "description": "The secret's key that contains the PagerDuty service key (when using\nintegration type \"Prometheus\"). Either this field or `routingKey` needs to\nbe defined.\nIt must be at them same namespace as CRD",
                      "properties": {
                        "key": {
                          "description": "The key of the secret to select from.  Must be a valid secret key.",
                          "type": "string"
                        },
                        "name": {
                          "default": "",
                          "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                          "type": "string"
                        },
                        "optional": {
                          "description": "Specify whether the Secret or its key must be defined",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "key"
                      ],
                      "type": "object",
                      "x-kubernetes-map-type": "atomic",
                      "additionalProperties": false
                    },
                    "severity": {
                      "description": "Severity of the incident.",
                      "type": "string"
                    },
                    "url": {
                      "description": "The URL to send requests to.",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "type": "array"
              },
              "pushover_configs": {
                "description": "PushoverConfigs defines push over notification configurations.",
                "items": {
                  "description": "PushoverConfig configures notifications via Pushover.\nSee https://prometheus.io/docs/alerting/latest/configuration/#pushover_config",
                  "properties": {
                    "expire": {
                      "description": "How long your notification will continue to be retried for, unless the user\nacknowledges the notification.",
                      "type": "string"
                    },
                    "html": {
                      "description": "Whether notification message is HTML or plain text.",
                      "type": "boolean"
                    },
                    "http_config": {
                      "description": "HTTP client configuration.",
                      "type": "object",
                      "x-kubernetes-preserve-unknown-fields": true
                    },
                    "message": {
                      "description": "Notification message.",
                      "type": "string"
                    },
                    "priority": {
                      "description": "Priority, see https://pushover.net/api#priority",
                      "type": "string"
                    },
                    "retry": {
                      "description": "How often the Pushover servers will send the same notification to the user.\nMust be at least 30 seconds.",
                      "type": "string"
                    },
                    "send_resolved": {
                      "description": "SendResolved controls notify about resolved alerts.",
                      "type": "boolean"
                    },
                    "sound": {
                      "description": "The name of one of the sounds supported by device clients to override the user's default sound choice",
                      "type": "string"
                    },
                    "title": {
                      "description": "Notification title.",
                      "type": "string"
                    },
                    "token": {
                      "description": "The secret's key that contains the registered application\u2019s API token, see https://pushover.net/apps.\nIt must be at them same namespace as CRD",
                      "properties": {
                        "key": {
                          "description": "The key of the secret to select from.  Must be a valid secret key.",
                          "type": "string"
                        },
                        "name": {
                          "default": "",
                          "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                          "type": "string"
                        },
                        "optional": {
                          "description": "Specify whether the Secret or its key must be defined",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "key"
                      ],
                      "type": "object",
                      "x-kubernetes-map-type": "atomic",
                      "additionalProperties": false
                    },
                    "url": {
                      "description": "A supplementary URL shown alongside the message.",
                      "type": "string"
                    },
                    "url_title": {
                      "description": "A title for supplementary URL, otherwise just the URL is shown",
                      "type": "string"
                    },
                    "user_key": {
                      "description": "The secret's key that contains the recipient user\u2019s user key.\nIt must be at them same namespace as CRD",
                      "properties": {
                        "key": {
                          "description": "The key of the secret to select from.  Must be a valid secret key.",
                          "type": "string"
                        },
                        "name": {
                          "default": "",
                          "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                          "type": "string"
                        },
                        "optional": {
                          "description": "Specify whether the Secret or its key must be defined",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "key"
                      ],
                      "type": "object",
                      "x-kubernetes-map-type": "atomic",
                      "additionalProperties": false
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "type": "array"
              },
              "rocketchat_configs": {
                "items": {
                  "description": "RocketchatConfig configures notifications via Rocketchat.\nhttps://prometheus.io/docs/alerting/latest/configuration/#rocketchat_config\navailable from v0.55.0 operator version\nand v0.28.0 alertmanager version",
                  "properties": {
                    "actions": {
                      "items": {
                        "description": "RocketchatAttachmentAction defines message attachments\nhttps://github.com/RocketChat/Rocket.Chat.Go.SDK/blob/master/models/message.go",
                        "properties": {
                          "msg": {
                            "type": "string"
                          },
                          "text": {
                            "type": "string"
                          },
                          "type": {
                            "type": "string"
                          },
                          "url": {
                            "type": "string"
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "type": "array"
                    },
                    "api_url": {
                      "type": "string"
                    },
                    "channel": {
                      "description": "RocketChat channel override, (like #other-channel or @username).",
                      "type": "string"
                    },
                    "color": {
                      "type": "string"
                    },
                    "emoji": {
                      "type": "string"
                    },
                    "fields": {
                      "items": {
                        "description": "RocketchatAttachmentField defines API fields\nhttps://developer.rocket.chat/reference/api/rest-api/endpoints/messaging/chat-endpoints/postmessage#attachment-field-objects",
                        "properties": {
                          "short": {
                            "type": "boolean"
                          },
                          "title": {
                            "type": "string"
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "type": "array"
                    },
                    "http_config": {
                      "x-kubernetes-preserve-unknown-fields": true
                    },
                    "icon_url": {
                      "type": "string"
                    },
                    "image_url": {
                      "type": "string"
                    },
                    "link_names": {
                      "type": "boolean"
                    },
                    "send_resolved": {
                      "description": "SendResolved controls notify about resolved alerts.",
                      "type": "boolean"
                    },
                    "short_fields": {
                      "type": "boolean"
                    },
                    "text": {
                      "type": "string"
                    },
                    "thumb_url": {
                      "type": "string"
                    },
                    "title": {
                      "type": "string"
                    },
                    "title_link": {
                      "type": "string"
                    },
                    "token": {
                      "description": "SecretKeySelector selects a key of a Secret.",
                      "properties": {
                        "key": {
                          "description": "The key of the secret to select from.  Must be a valid secret key.",
                          "type": "string"
                        },
                        "name": {
                          "default": "",
                          "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                          "type": "string"
                        },
                        "optional": {
                          "description": "Specify whether the Secret or its key must be defined",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "key"
                      ],
                      "type": "object",
                      "x-kubernetes-map-type": "atomic",
                      "additionalProperties": false
                    },
                    "token_id": {
                      "description": "The sender token and token_id\nSee https://docs.rocket.chat/use-rocket.chat/user-guides/user-panel/my-account#personal-access-tokens",
                      "properties": {
                        "key": {
                          "description": "The key of the secret to select from.  Must be a valid secret key.",
                          "type": "string"
                        },
                        "name": {
                          "default": "",
                          "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                          "type": "string"
                        },
                        "optional": {
                          "description": "Specify whether the Secret or its key must be defined",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "key"
                      ],
                      "type": "object",
                      "x-kubernetes-map-type": "atomic",
                      "additionalProperties": false
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "type": "array"
              },
              "slack_configs": {
                "description": "SlackConfigs defines slack notification configurations.",
                "items": {
                  "description": "SlackConfig configures notifications via Slack.\nSee https://prometheus.io/docs/alerting/latest/configuration/#slack_config",
                  "properties": {
                    "actions": {
                      "description": "A list of Slack actions that are sent with each notification.",
                      "items": {
                        "description": "SlackAction configures a single Slack action that is sent with each\nnotification.\nSee https://api.slack.com/docs/message-attachments#action_fields and\nhttps://api.slack.com/docs/message-buttons for more information.",
                        "properties": {
                          "confirm": {
                            "description": "SlackConfirmationField protect users from destructive actions or\nparticularly distinguished decisions by asking them to confirm their button\nclick one more time.\nSee https://api.slack.com/docs/interactive-message-field-guide#confirmation_fields\nfor more information.",
                            "properties": {
                              "dismiss_text": {
                                "type": "string"
                              },
                              "ok_text": {
                                "type": "string"
                              },
                              "text": {
                                "minLength": 1,
                                "type": "string"
                              },
                              "title": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "text"
                            ],
                            "type": "object",
                            "additionalProperties": false
                          },
                          "name": {
                            "type": "string"
                          },
                          "style": {
                            "type": "string"
                          },
                          "text": {
                            "minLength": 1,
                            "type": "string"
                          },
                          "type": {
                            "minLength": 1,
                            "type": "string"
                          },
                          "url": {
                            "type": "string"
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "text",
                          "type"
                        ],
                        "type": "object",
                        "additionalProperties": false
                      },
                      "type": "array"
                    },
                    "api_url": {
                      "description": "The secret's key that contains the Slack webhook URL.\nIt must be at them same namespace as CRD\nfallback to global setting if empty",
                      "properties": {
                        "key": {
                          "description": "The key of the secret to select from.  Must be a valid secret key.",
                          "type": "string"
                        },
                        "name": {
                          "default": "",
                          "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                          "type": "string"
                        },
                        "optional": {
                          "description": "Specify whether the Secret or its key must be defined",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "key"
                      ],
                      "type": "object",
                      "x-kubernetes-map-type": "atomic",
                      "additionalProperties": false
                    },
                    "callback_id": {
                      "type": "string"
                    },
                    "channel": {
                      "description": "The channel or user to send notifications to.",
                      "type": "string"
                    },
                    "color": {
                      "type": "string"
                    },
                    "fallback": {
                      "type": "string"
                    },
                    "fields": {
                      "description": "A list of Slack fields that are sent with each notification.",
                      "items": {
                        "description": "SlackField configures a single Slack field that is sent with each notification.\nSee https://api.slack.com/docs/message-attachments#fields for more information.",
                        "properties": {
                          "short": {
                            "type": "boolean"
                          },
                          "title": {
                            "minLength": 1,
                            "type": "string"
                          },
                          "value": {
                            "minLength": 1,
                            "type": "string"
                          }
                        },
                        "required": [
                          "title",
                          "value"
                        ],
                        "type": "object",
                        "additionalProperties": false
                      },
                      "type": "array"
                    },
                    "footer": {
                      "type": "string"
                    },
                    "http_config": {
                      "description": "HTTP client configuration.",
                      "type": "object",
                      "x-kubernetes-preserve-unknown-fields": true
                    },
                    "icon_emoji": {
                      "type": "string"
                    },
                    "icon_url": {
                      "type": "string"
                    },
                    "image_url": {
                      "type": "string"
                    },
                    "link_names": {
                      "type": "boolean"
                    },
                    "mrkdwn_in": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "pretext": {
                      "type": "string"
                    },
                    "send_resolved": {
                      "description": "SendResolved controls notify about resolved alerts.",
                      "type": "boolean"
                    },
                    "short_fields": {
                      "type": "boolean"
                    },
                    "text": {
                      "type": "string"
                    },
                    "thumb_url": {
                      "type": "string"
                    },
                    "title": {
                      "type": "string"
                    },
                    "title_link": {
                      "type": "string"
                    },
                    "username": {
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "type": "array"
              },
              "sns_configs": {
                "items": {
                  "properties": {
                    "api_url": {
                      "description": "The api URL",
                      "type": "string"
                    },
                    "attributes": {
                      "additionalProperties": {
                        "type": "string"
                      },
                      "description": "SNS message attributes",
                      "type": "object"
                    },
                    "http_config": {
                      "description": "HTTP client configuration.",
                      "properties": {
                        "authorization": {
                          "description": "Authorization header configuration for the client.\nThis is mutually exclusive with BasicAuth and is only available starting from Alertmanager v0.22+.",
                          "properties": {
                            "credentials": {
                              "description": "Reference to the secret with value for authorization",
                              "properties": {
                                "key": {
                                  "description": "The key of the secret to select from.  Must be a valid secret key.",
                                  "type": "string"
                                },
                                "name": {
                                  "default": "",
                                  "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                  "type": "string"
                                },
                                "optional": {
                                  "description": "Specify whether the Secret or its key must be defined",
                                  "type": "boolean"
                                }
                              },
                              "required": [
                                "key"
                              ],
                              "type": "object",
                              "x-kubernetes-map-type": "atomic",
                              "additionalProperties": false
                            },
                            "credentialsFile": {
                              "description": "File with value for authorization",
                              "type": "string"
                            },
                            "type": {
                              "description": "Type of authorization, default to bearer",
                              "type": "string"
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "basic_auth": {
                          "description": "BasicAuth for the client.",
                          "properties": {
                            "password": {
                              "description": "Password defines reference for secret with password value\nThe secret needs to be in the same namespace as scrape object",
                              "properties": {
                                "key": {
                                  "description": "The key of the secret to select from.  Must be a valid secret key.",
                                  "type": "string"
                                },
                                "name": {
                                  "default": "",
                                  "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                  "type": "string"
                                },
                                "optional": {
                                  "description": "Specify whether the Secret or its key must be defined",
                                  "type": "boolean"
                                }
                              },
                              "required": [
                                "key"
                              ],
                              "type": "object",
                              "x-kubernetes-map-type": "atomic",
                              "additionalProperties": false
                            },
                            "password_file": {
                              "description": "PasswordFile defines path to password file at disk\nmust be pre-mounted",
                              "type": "string"
                            },
                            "username": {
                              "description": "Username defines reference for secret with username value\nThe secret needs to be in the same namespace as scrape object",
                              "properties": {
                                "key": {
                                  "description": "The key of the secret to select from.  Must be a valid secret key.",
                                  "type": "string"
                                },
                                "name": {
                                  "default": "",
                                  "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                  "type": "string"
                                },
                                "optional": {
                                  "description": "Specify whether the Secret or its key must be defined",
                                  "type": "boolean"
                                }
                              },
                              "required": [
                                "key"
                              ],
                              "type": "object",
                              "x-kubernetes-map-type": "atomic",
                              "additionalProperties": false
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "bearer_token_file": {
                          "description": "BearerTokenFile defines filename for bearer token, it must be mounted to pod.",
                          "type": "string"
                        },
                        "bearer_token_secret": {
                          "description": "The secret's key that contains the bearer token\nIt must be at them same namespace as CRD",
                          "properties": {
                            "key": {
                              "description": "The key of the secret to select from.  Must be a valid secret key.",
                              "type": "string"
                            },
                            "name": {
                              "default": "",
                              "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                              "type": "string"
                            },
                            "optional": {
                              "description": "Specify whether the Secret or its key must be defined",
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "key"
                          ],
                          "type": "object",
                          "x-kubernetes-map-type": "atomic",
                          "additionalProperties": false
                        },
                        "oauth2": {
                          "description": "OAuth2 client credentials used to fetch a token for the targets.",
                          "properties": {
                            "client_id": {
                              "description": "The secret or configmap containing the OAuth2 client 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",
                                  "additionalProperties": false
                                },
                                "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",
                                  "additionalProperties": false
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "client_secret": {
                              "description": "The secret containing the OAuth2 client secret",
                              "properties": {
                                "key": {
                                  "description": "The key of the secret to select from.  Must be a valid secret key.",
                                  "type": "string"
                                },
                                "name": {
                                  "default": "",
                                  "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                  "type": "string"
                                },
                                "optional": {
                                  "description": "Specify whether the Secret or its key must be defined",
                                  "type": "boolean"
                                }
                              },
                              "required": [
                                "key"
                              ],
                              "type": "object",
                              "x-kubernetes-map-type": "atomic",
                              "additionalProperties": false
                            },
                            "client_secret_file": {
                              "description": "ClientSecretFile defines path for client secret file.",
                              "type": "string"
                            },
                            "endpoint_params": {
                              "additionalProperties": {
                                "type": "string"
                              },
                              "description": "Parameters to append to the token URL",
                              "type": "object"
                            },
                            "proxy_url": {
                              "description": "The proxy URL for token_url connection\n( available from v0.55.0).\nIs only supported by Scrape objects family",
                              "type": "string"
                            },
                            "scopes": {
                              "description": "OAuth2 scopes used for the token request",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "tls_config": {
                              "description": "TLSConfig for token_url connection\n( available from v0.55.0).\nIs only supported by Scrape objects family",
                              "x-kubernetes-preserve-unknown-fields": true
                            },
                            "token_url": {
                              "description": "The URL to fetch the token from",
                              "minLength": 1,
                              "type": "string"
                            }
                          },
                          "required": [
                            "client_id",
                            "token_url"
                          ],
                          "type": "object",
                          "additionalProperties": false
                        },
                        "proxyURL": {
                          "description": "Optional proxy URL.",
                          "type": "string"
                        },
                        "tls_config": {
                          "description": "TLS configuration for the client.",
                          "properties": {
                            "ca": {
                              "description": "Struct containing the CA cert to use for the targets.",
                              "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",
                                  "additionalProperties": false
                                },
                                "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",
                                  "additionalProperties": false
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "caFile": {
                              "description": "Path to the CA cert in the container to use for the targets.",
                              "type": "string"
                            },
                            "cert": {
                              "description": "Struct containing the client cert file for the targets.",
                              "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",
                                  "additionalProperties": false
                                },
                                "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",
                                  "additionalProperties": false
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "certFile": {
                              "description": "Path to the client cert file in the container for the targets.",
                              "type": "string"
                            },
                            "insecureSkipVerify": {
                              "description": "Disable target certificate validation.",
                              "type": "boolean"
                            },
                            "keyFile": {
                              "description": "Path to the client key file in the container for the targets.",
                              "type": "string"
                            },
                            "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",
                              "additionalProperties": false
                            },
                            "serverName": {
                              "description": "Used to verify the hostname for the targets.",
                              "type": "string"
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "message": {
                      "description": "The message content of the SNS notification.",
                      "type": "string"
                    },
                    "phone_number": {
                      "description": "Phone number if message is delivered via SMS\nSpecify this, topic_arn or target_arn",
                      "type": "string"
                    },
                    "send_resolved": {
                      "description": "SendResolved controls notify about resolved alerts.",
                      "type": "boolean"
                    },
                    "sigv4": {
                      "description": "Configure the AWS Signature Verification 4 signing process",
                      "properties": {
                        "access_key": {
                          "description": "The AWS API keys. Both access_key and secret_key must be supplied or both must be blank.\nIf blank the environment variables `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` are used.",
                          "type": "string"
                        },
                        "access_key_selector": {
                          "description": "secret key selector to get the keys from a Kubernetes Secret",
                          "properties": {
                            "key": {
                              "description": "The key of the secret to select from.  Must be a valid secret key.",
                              "type": "string"
                            },
                            "name": {
                              "default": "",
                              "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                              "type": "string"
                            },
                            "optional": {
                              "description": "Specify whether the Secret or its key must be defined",
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "key"
                          ],
                          "type": "object",
                          "x-kubernetes-map-type": "atomic",
                          "additionalProperties": false
                        },
                        "profile": {
                          "description": "Named AWS profile used to authenticate",
                          "type": "string"
                        },
                        "region": {
                          "description": "AWS region, if blank the region from the default credentials chain is used",
                          "type": "string"
                        },
                        "role_arn": {
                          "description": "AWS Role ARN, an alternative to using AWS API keys",
                          "type": "string"
                        },
                        "secret_key_selector": {
                          "description": "secret key selector to get the keys from a Kubernetes Secret",
                          "properties": {
                            "key": {
                              "description": "The key of the secret to select from.  Must be a valid secret key.",
                              "type": "string"
                            },
                            "name": {
                              "default": "",
                              "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                              "type": "string"
                            },
                            "optional": {
                              "description": "Specify whether the Secret or its key must be defined",
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "key"
                          ],
                          "type": "object",
                          "x-kubernetes-map-type": "atomic",
                          "additionalProperties": false
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "subject": {
                      "description": "The subject line if message is delivered to an email endpoint.",
                      "type": "string"
                    },
                    "target_arn": {
                      "description": "Mobile platform endpoint ARN if message is delivered via mobile notifications\nSpecify this, topic_arn or phone_number",
                      "type": "string"
                    },
                    "topic_arn": {
                      "description": "SNS topic ARN, either specify this, phone_number or target_arn",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "type": "array"
              },
              "telegram_configs": {
                "items": {
                  "description": "TelegramConfig configures notification via telegram\nhttps://prometheus.io/docs/alerting/latest/configuration/#telegram_config",
                  "properties": {
                    "api_url": {
                      "description": "APIUrl the Telegram API URL i.e. https://api.telegram.org.",
                      "type": "string"
                    },
                    "bot_token": {
                      "description": "BotToken token for the bot\nhttps://core.telegram.org/bots/api",
                      "properties": {
                        "key": {
                          "description": "The key of the secret to select from.  Must be a valid secret key.",
                          "type": "string"
                        },
                        "name": {
                          "default": "",
                          "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                          "type": "string"
                        },
                        "optional": {
                          "description": "Specify whether the Secret or its key must be defined",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "key"
                      ],
                      "type": "object",
                      "x-kubernetes-map-type": "atomic",
                      "additionalProperties": false
                    },
                    "chat_id": {
                      "description": "ChatID is ID of the chat where to send the messages.",
                      "type": "integer"
                    },
                    "disable_notifications": {
                      "description": "DisableNotifications",
                      "type": "boolean"
                    },
                    "http_config": {
                      "description": "HTTP client configuration.",
                      "type": "object",
                      "x-kubernetes-preserve-unknown-fields": true
                    },
                    "message": {
                      "description": "Message is templated message",
                      "type": "string"
                    },
                    "message_thread_id": {
                      "description": "MessageThreadID defines ID of the message thread where to send the messages.",
                      "type": "integer"
                    },
                    "parse_mode": {
                      "description": "ParseMode for telegram message,\nsupported values are MarkdownV2, Markdown, Markdown and empty string for plain text.",
                      "type": "string"
                    },
                    "send_resolved": {
                      "description": "SendResolved controls notify about resolved alerts.",
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "bot_token",
                    "chat_id"
                  ],
                  "type": "object",
                  "additionalProperties": false
                },
                "type": "array"
              },
              "victorops_configs": {
                "description": "VictorOpsConfigs defines victor ops notification configurations.",
                "items": {
                  "description": "VictorOpsConfig configures notifications via VictorOps.\nSee https://prometheus.io/docs/alerting/latest/configuration/#victorops_config",
                  "properties": {
                    "api_key": {
                      "description": "The secret's key that contains the API key to use when talking to the VictorOps API.\nIt must be at them same namespace as CRD\nfallback to global setting if empty",
                      "properties": {
                        "key": {
                          "description": "The key of the secret to select from.  Must be a valid secret key.",
                          "type": "string"
                        },
                        "name": {
                          "default": "",
                          "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                          "type": "string"
                        },
                        "optional": {
                          "description": "Specify whether the Secret or its key must be defined",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "key"
                      ],
                      "type": "object",
                      "x-kubernetes-map-type": "atomic",
                      "additionalProperties": false
                    },
                    "api_url": {
                      "description": "The VictorOps API URL.",
                      "type": "string"
                    },
                    "custom_fields": {
                      "additionalProperties": {
                        "type": "string"
                      },
                      "description": "Adds optional custom fields\nhttps://github.com/prometheus/alertmanager/blob/v0.24.0/config/notifiers.go#L537",
                      "type": "object"
                    },
                    "entity_display_name": {
                      "description": "Contains summary of the alerted problem.",
                      "type": "string"
                    },
                    "http_config": {
                      "description": "The HTTP client's configuration.",
                      "properties": {
                        "authorization": {
                          "description": "Authorization header configuration for the client.\nThis is mutually exclusive with BasicAuth and is only available starting from Alertmanager v0.22+.",
                          "properties": {
                            "credentials": {
                              "description": "Reference to the secret with value for authorization",
                              "properties": {
                                "key": {
                                  "description": "The key of the secret to select from.  Must be a valid secret key.",
                                  "type": "string"
                                },
                                "name": {
                                  "default": "",
                                  "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                  "type": "string"
                                },
                                "optional": {
                                  "description": "Specify whether the Secret or its key must be defined",
                                  "type": "boolean"
                                }
                              },
                              "required": [
                                "key"
                              ],
                              "type": "object",
                              "x-kubernetes-map-type": "atomic",
                              "additionalProperties": false
                            },
                            "credentialsFile": {
                              "description": "File with value for authorization",
                              "type": "string"
                            },
                            "type": {
                              "description": "Type of authorization, default to bearer",
                              "type": "string"
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "basic_auth": {
                          "description": "BasicAuth for the client.",
                          "properties": {
                            "password": {
                              "description": "Password defines reference for secret with password value\nThe secret needs to be in the same namespace as scrape object",
                              "properties": {
                                "key": {
                                  "description": "The key of the secret to select from.  Must be a valid secret key.",
                                  "type": "string"
                                },
                                "name": {
                                  "default": "",
                                  "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                  "type": "string"
                                },
                                "optional": {
                                  "description": "Specify whether the Secret or its key must be defined",
                                  "type": "boolean"
                                }
                              },
                              "required": [
                                "key"
                              ],
                              "type": "object",
                              "x-kubernetes-map-type": "atomic",
                              "additionalProperties": false
                            },
                            "password_file": {
                              "description": "PasswordFile defines path to password file at disk\nmust be pre-mounted",
                              "type": "string"
                            },
                            "username": {
                              "description": "Username defines reference for secret with username value\nThe secret needs to be in the same namespace as scrape object",
                              "properties": {
                                "key": {
                                  "description": "The key of the secret to select from.  Must be a valid secret key.",
                                  "type": "string"
                                },
                                "name": {
                                  "default": "",
                                  "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                  "type": "string"
                                },
                                "optional": {
                                  "description": "Specify whether the Secret or its key must be defined",
                                  "type": "boolean"
                                }
                              },
                              "required": [
                                "key"
                              ],
                              "type": "object",
                              "x-kubernetes-map-type": "atomic",
                              "additionalProperties": false
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "bearer_token_file": {
                          "description": "BearerTokenFile defines filename for bearer token, it must be mounted to pod.",
                          "type": "string"
                        },
                        "bearer_token_secret": {
                          "description": "The secret's key that contains the bearer token\nIt must be at them same namespace as CRD",
                          "properties": {
                            "key": {
                              "description": "The key of the secret to select from.  Must be a valid secret key.",
                              "type": "string"
                            },
                            "name": {
                              "default": "",
                              "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                              "type": "string"
                            },
                            "optional": {
                              "description": "Specify whether the Secret or its key must be defined",
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "key"
                          ],
                          "type": "object",
                          "x-kubernetes-map-type": "atomic",
                          "additionalProperties": false
                        },
                        "oauth2": {
                          "description": "OAuth2 client credentials used to fetch a token for the targets.",
                          "properties": {
                            "client_id": {
                              "description": "The secret or configmap containing the OAuth2 client 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",
                                  "additionalProperties": false
                                },
                                "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",
                                  "additionalProperties": false
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "client_secret": {
                              "description": "The secret containing the OAuth2 client secret",
                              "properties": {
                                "key": {
                                  "description": "The key of the secret to select from.  Must be a valid secret key.",
                                  "type": "string"
                                },
                                "name": {
                                  "default": "",
                                  "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                  "type": "string"
                                },
                                "optional": {
                                  "description": "Specify whether the Secret or its key must be defined",
                                  "type": "boolean"
                                }
                              },
                              "required": [
                                "key"
                              ],
                              "type": "object",
                              "x-kubernetes-map-type": "atomic",
                              "additionalProperties": false
                            },
                            "client_secret_file": {
                              "description": "ClientSecretFile defines path for client secret file.",
                              "type": "string"
                            },
                            "endpoint_params": {
                              "additionalProperties": {
                                "type": "string"
                              },
                              "description": "Parameters to append to the token URL",
                              "type": "object"
                            },
                            "proxy_url": {
                              "description": "The proxy URL for token_url connection\n( available from v0.55.0).\nIs only supported by Scrape objects family",
                              "type": "string"
                            },
                            "scopes": {
                              "description": "OAuth2 scopes used for the token request",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "tls_config": {
                              "description": "TLSConfig for token_url connection\n( available from v0.55.0).\nIs only supported by Scrape objects family",
                              "x-kubernetes-preserve-unknown-fields": true
                            },
                            "token_url": {
                              "description": "The URL to fetch the token from",
                              "minLength": 1,
                              "type": "string"
                            }
                          },
                          "required": [
                            "client_id",
                            "token_url"
                          ],
                          "type": "object",
                          "additionalProperties": false
                        },
                        "proxyURL": {
                          "description": "Optional proxy URL.",
                          "type": "string"
                        },
                        "tls_config": {
                          "description": "TLS configuration for the client.",
                          "properties": {
                            "ca": {
                              "description": "Struct containing the CA cert to use for the targets.",
                              "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",
                                  "additionalProperties": false
                                },
                                "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",
                                  "additionalProperties": false
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "caFile": {
                              "description": "Path to the CA cert in the container to use for the targets.",
                              "type": "string"
                            },
                            "cert": {
                              "description": "Struct containing the client cert file for the targets.",
                              "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",
                                  "additionalProperties": false
                                },
                                "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",
                                  "additionalProperties": false
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "certFile": {
                              "description": "Path to the client cert file in the container for the targets.",
                              "type": "string"
                            },
                            "insecureSkipVerify": {
                              "description": "Disable target certificate validation.",
                              "type": "boolean"
                            },
                            "keyFile": {
                              "description": "Path to the client key file in the container for the targets.",
                              "type": "string"
                            },
                            "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",
                              "additionalProperties": false
                            },
                            "serverName": {
                              "description": "Used to verify the hostname for the targets.",
                              "type": "string"
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "message_type": {
                      "description": "Describes the behavior of the alert (CRITICAL, WARNING, INFO).",
                      "type": "string"
                    },
                    "monitoring_tool": {
                      "description": "The monitoring tool the state message is from.",
                      "type": "string"
                    },
                    "routing_key": {
                      "description": "A key used to map the alert to a team.",
                      "type": "string"
                    },
                    "send_resolved": {
                      "description": "SendResolved controls notify about resolved alerts.",
                      "type": "boolean"
                    },
                    "state_message": {
                      "description": "Contains long explanation of the alerted problem.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "routing_key"
                  ],
                  "type": "object",
                  "additionalProperties": false
                },
                "type": "array"
              },
              "webex_configs": {
                "items": {
                  "properties": {
                    "api_url": {
                      "description": "The Webex Teams API URL, i.e. https://webexapis.com/v1/messages",
                      "type": "string"
                    },
                    "http_config": {
                      "description": "HTTP client configuration. You must use this configuration to supply the bot token as part of the HTTP `Authorization` header.",
                      "properties": {
                        "authorization": {
                          "description": "Authorization header configuration for the client.\nThis is mutually exclusive with BasicAuth and is only available starting from Alertmanager v0.22+.",
                          "properties": {
                            "credentials": {
                              "description": "Reference to the secret with value for authorization",
                              "properties": {
                                "key": {
                                  "description": "The key of the secret to select from.  Must be a valid secret key.",
                                  "type": "string"
                                },
                                "name": {
                                  "default": "",
                                  "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                  "type": "string"
                                },
                                "optional": {
                                  "description": "Specify whether the Secret or its key must be defined",
                                  "type": "boolean"
                                }
                              },
                              "required": [
                                "key"
                              ],
                              "type": "object",
                              "x-kubernetes-map-type": "atomic",
                              "additionalProperties": false
                            },
                            "credentialsFile": {
                              "description": "File with value for authorization",
                              "type": "string"
                            },
                            "type": {
                              "description": "Type of authorization, default to bearer",
                              "type": "string"
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "basic_auth": {
                          "description": "BasicAuth for the client.",
                          "properties": {
                            "password": {
                              "description": "Password defines reference for secret with password value\nThe secret needs to be in the same namespace as scrape object",
                              "properties": {
                                "key": {
                                  "description": "The key of the secret to select from.  Must be a valid secret key.",
                                  "type": "string"
                                },
                                "name": {
                                  "default": "",
                                  "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                  "type": "string"
                                },
                                "optional": {
                                  "description": "Specify whether the Secret or its key must be defined",
                                  "type": "boolean"
                                }
                              },
                              "required": [
                                "key"
                              ],
                              "type": "object",
                              "x-kubernetes-map-type": "atomic",
                              "additionalProperties": false
                            },
                            "password_file": {
                              "description": "PasswordFile defines path to password file at disk\nmust be pre-mounted",
                              "type": "string"
                            },
                            "username": {
                              "description": "Username defines reference for secret with username value\nThe secret needs to be in the same namespace as scrape object",
                              "properties": {
                                "key": {
                                  "description": "The key of the secret to select from.  Must be a valid secret key.",
                                  "type": "string"
                                },
                                "name": {
                                  "default": "",
                                  "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                  "type": "string"
                                },
                                "optional": {
                                  "description": "Specify whether the Secret or its key must be defined",
                                  "type": "boolean"
                                }
                              },
                              "required": [
                                "key"
                              ],
                              "type": "object",
                              "x-kubernetes-map-type": "atomic",
                              "additionalProperties": false
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "bearer_token_file": {
                          "description": "BearerTokenFile defines filename for bearer token, it must be mounted to pod.",
                          "type": "string"
                        },
                        "bearer_token_secret": {
                          "description": "The secret's key that contains the bearer token\nIt must be at them same namespace as CRD",
                          "properties": {
                            "key": {
                              "description": "The key of the secret to select from.  Must be a valid secret key.",
                              "type": "string"
                            },
                            "name": {
                              "default": "",
                              "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                              "type": "string"
                            },
                            "optional": {
                              "description": "Specify whether the Secret or its key must be defined",
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "key"
                          ],
                          "type": "object",
                          "x-kubernetes-map-type": "atomic",
                          "additionalProperties": false
                        },
                        "oauth2": {
                          "description": "OAuth2 client credentials used to fetch a token for the targets.",
                          "properties": {
                            "client_id": {
                              "description": "The secret or configmap containing the OAuth2 client 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",
                                  "additionalProperties": false
                                },
                                "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",
                                  "additionalProperties": false
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "client_secret": {
                              "description": "The secret containing the OAuth2 client secret",
                              "properties": {
                                "key": {
                                  "description": "The key of the secret to select from.  Must be a valid secret key.",
                                  "type": "string"
                                },
                                "name": {
                                  "default": "",
                                  "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                  "type": "string"
                                },
                                "optional": {
                                  "description": "Specify whether the Secret or its key must be defined",
                                  "type": "boolean"
                                }
                              },
                              "required": [
                                "key"
                              ],
                              "type": "object",
                              "x-kubernetes-map-type": "atomic",
                              "additionalProperties": false
                            },
                            "client_secret_file": {
                              "description": "ClientSecretFile defines path for client secret file.",
                              "type": "string"
                            },
                            "endpoint_params": {
                              "additionalProperties": {
                                "type": "string"
                              },
                              "description": "Parameters to append to the token URL",
                              "type": "object"
                            },
                            "proxy_url": {
                              "description": "The proxy URL for token_url connection\n( available from v0.55.0).\nIs only supported by Scrape objects family",
                              "type": "string"
                            },
                            "scopes": {
                              "description": "OAuth2 scopes used for the token request",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "tls_config": {
                              "description": "TLSConfig for token_url connection\n( available from v0.55.0).\nIs only supported by Scrape objects family",
                              "x-kubernetes-preserve-unknown-fields": true
                            },
                            "token_url": {
                              "description": "The URL to fetch the token from",
                              "minLength": 1,
                              "type": "string"
                            }
                          },
                          "required": [
                            "client_id",
                            "token_url"
                          ],
                          "type": "object",
                          "additionalProperties": false
                        },
                        "proxyURL": {
                          "description": "Optional proxy URL.",
                          "type": "string"
                        },
                        "tls_config": {
                          "description": "TLS configuration for the client.",
                          "properties": {
                            "ca": {
                              "description": "Struct containing the CA cert to use for the targets.",
                              "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",
                                  "additionalProperties": false
                                },
                                "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",
                                  "additionalProperties": false
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "caFile": {
                              "description": "Path to the CA cert in the container to use for the targets.",
                              "type": "string"
                            },
                            "cert": {
                              "description": "Struct containing the client cert file for the targets.",
                              "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",
                                  "additionalProperties": false
                                },
                                "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",
                                  "additionalProperties": false
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "certFile": {
                              "description": "Path to the client cert file in the container for the targets.",
                              "type": "string"
                            },
                            "insecureSkipVerify": {
                              "description": "Disable target certificate validation.",
                              "type": "boolean"
                            },
                            "keyFile": {
                              "description": "Path to the client key file in the container for the targets.",
                              "type": "string"
                            },
                            "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",
                              "additionalProperties": false
                            },
                            "serverName": {
                              "description": "Used to verify the hostname for the targets.",
                              "type": "string"
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "message": {
                      "description": "The message body template",
                      "type": "string"
                    },
                    "room_id": {
                      "description": "The ID of the Webex Teams room where to send the messages",
                      "type": "string"
                    },
                    "send_resolved": {
                      "description": "SendResolved controls notify about resolved alerts.",
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "room_id"
                  ],
                  "type": "object",
                  "additionalProperties": false
                },
                "type": "array"
              },
              "webhook_configs": {
                "description": "WebhookConfigs defines webhook notification configurations.",
                "items": {
                  "description": "WebhookConfig configures notifications via a generic receiver supporting the webhook payload.\nSee https://prometheus.io/docs/alerting/latest/configuration/#webhook_config",
                  "properties": {
                    "http_config": {
                      "description": "HTTP client configuration.",
                      "type": "object",
                      "x-kubernetes-preserve-unknown-fields": true
                    },
                    "max_alerts": {
                      "description": "Maximum number of alerts to be sent per webhook message. When 0, all alerts are included.",
                      "format": "int32",
                      "minimum": 0,
                      "type": "integer"
                    },
                    "send_resolved": {
                      "description": "SendResolved controls notify about resolved alerts.",
                      "type": "boolean"
                    },
                    "timeout": {
                      "description": "Timeout is the maximum time allowed to invoke the webhook\navailable since v0.28.0 alertmanager version",
                      "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"
                    },
                    "url": {
                      "description": "URL to send requests to,\none of `urlSecret` and `url` must be defined.",
                      "type": "string"
                    },
                    "url_secret": {
                      "description": "URLSecret defines secret name and key at the CRD namespace.\nIt must contain the webhook URL.\none of `urlSecret` and `url` must be defined.",
                      "properties": {
                        "key": {
                          "description": "The key of the secret to select from.  Must be a valid secret key.",
                          "type": "string"
                        },
                        "name": {
                          "default": "",
                          "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                          "type": "string"
                        },
                        "optional": {
                          "description": "Specify whether the Secret or its key must be defined",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "key"
                      ],
                      "type": "object",
                      "x-kubernetes-map-type": "atomic",
                      "additionalProperties": false
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "type": "array"
              },
              "wechat_configs": {
                "description": "WeChatConfigs defines wechat notification configurations.",
                "items": {
                  "description": "WeChatConfig configures notifications via WeChat.\nSee https://prometheus.io/docs/alerting/latest/configuration/#wechat_config",
                  "properties": {
                    "agent_id": {
                      "type": "string"
                    },
                    "api_secret": {
                      "description": "The secret's key that contains the WeChat API key.\nThe secret needs to be in the same namespace as the AlertmanagerConfig\nfallback to global alertmanager setting if empty",
                      "properties": {
                        "key": {
                          "description": "The key of the secret to select from.  Must be a valid secret key.",
                          "type": "string"
                        },
                        "name": {
                          "default": "",
                          "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                          "type": "string"
                        },
                        "optional": {
                          "description": "Specify whether the Secret or its key must be defined",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "key"
                      ],
                      "type": "object",
                      "x-kubernetes-map-type": "atomic",
                      "additionalProperties": false
                    },
                    "api_url": {
                      "description": "The WeChat API URL.\nfallback to global alertmanager setting if empty",
                      "type": "string"
                    },
                    "corp_id": {
                      "description": "The corp id for authentication.\nfallback to global alertmanager setting if empty",
                      "type": "string"
                    },
                    "http_config": {
                      "description": "HTTP client configuration.",
                      "properties": {
                        "authorization": {
                          "description": "Authorization header configuration for the client.\nThis is mutually exclusive with BasicAuth and is only available starting from Alertmanager v0.22+.",
                          "properties": {
                            "credentials": {
                              "description": "Reference to the secret with value for authorization",
                              "properties": {
                                "key": {
                                  "description": "The key of the secret to select from.  Must be a valid secret key.",
                                  "type": "string"
                                },
                                "name": {
                                  "default": "",
                                  "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                  "type": "string"
                                },
                                "optional": {
                                  "description": "Specify whether the Secret or its key must be defined",
                                  "type": "boolean"
                                }
                              },
                              "required": [
                                "key"
                              ],
                              "type": "object",
                              "x-kubernetes-map-type": "atomic",
                              "additionalProperties": false
                            },
                            "credentialsFile": {
                              "description": "File with value for authorization",
                              "type": "string"
                            },
                            "type": {
                              "description": "Type of authorization, default to bearer",
                              "type": "string"
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "basic_auth": {
                          "description": "BasicAuth for the client.",
                          "properties": {
                            "password": {
                              "description": "Password defines reference for secret with password value\nThe secret needs to be in the same namespace as scrape object",
                              "properties": {
                                "key": {
                                  "description": "The key of the secret to select from.  Must be a valid secret key.",
                                  "type": "string"
                                },
                                "name": {
                                  "default": "",
                                  "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                  "type": "string"
                                },
                                "optional": {
                                  "description": "Specify whether the Secret or its key must be defined",
                                  "type": "boolean"
                                }
                              },
                              "required": [
                                "key"
                              ],
                              "type": "object",
                              "x-kubernetes-map-type": "atomic",
                              "additionalProperties": false
                            },
                            "password_file": {
                              "description": "PasswordFile defines path to password file at disk\nmust be pre-mounted",
                              "type": "string"
                            },
                            "username": {
                              "description": "Username defines reference for secret with username value\nThe secret needs to be in the same namespace as scrape object",
                              "properties": {
                                "key": {
                                  "description": "The key of the secret to select from.  Must be a valid secret key.",
                                  "type": "string"
                                },
                                "name": {
                                  "default": "",
                                  "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                  "type": "string"
                                },
                                "optional": {
                                  "description": "Specify whether the Secret or its key must be defined",
                                  "type": "boolean"
                                }
                              },
                              "required": [
                                "key"
                              ],
                              "type": "object",
                              "x-kubernetes-map-type": "atomic",
                              "additionalProperties": false
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "bearer_token_file": {
                          "description": "BearerTokenFile defines filename for bearer token, it must be mounted to pod.",
                          "type": "string"
                        },
                        "bearer_token_secret": {
                          "description": "The secret's key that contains the bearer token\nIt must be at them same namespace as CRD",
                          "properties": {
                            "key": {
                              "description": "The key of the secret to select from.  Must be a valid secret key.",
                              "type": "string"
                            },
                            "name": {
                              "default": "",
                              "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                              "type": "string"
                            },
                            "optional": {
                              "description": "Specify whether the Secret or its key must be defined",
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "key"
                          ],
                          "type": "object",
                          "x-kubernetes-map-type": "atomic",
                          "additionalProperties": false
                        },
                        "oauth2": {
                          "description": "OAuth2 client credentials used to fetch a token for the targets.",
                          "properties": {
                            "client_id": {
                              "description": "The secret or configmap containing the OAuth2 client 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",
                                  "additionalProperties": false
                                },
                                "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",
                                  "additionalProperties": false
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "client_secret": {
                              "description": "The secret containing the OAuth2 client secret",
                              "properties": {
                                "key": {
                                  "description": "The key of the secret to select from.  Must be a valid secret key.",
                                  "type": "string"
                                },
                                "name": {
                                  "default": "",
                                  "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                                  "type": "string"
                                },
                                "optional": {
                                  "description": "Specify whether the Secret or its key must be defined",
                                  "type": "boolean"
                                }
                              },
                              "required": [
                                "key"
                              ],
                              "type": "object",
                              "x-kubernetes-map-type": "atomic",
                              "additionalProperties": false
                            },
                            "client_secret_file": {
                              "description": "ClientSecretFile defines path for client secret file.",
                              "type": "string"
                            },
                            "endpoint_params": {
                              "additionalProperties": {
                                "type": "string"
                              },
                              "description": "Parameters to append to the token URL",
                              "type": "object"
                            },
                            "proxy_url": {
                              "description": "The proxy URL for token_url connection\n( available from v0.55.0).\nIs only supported by Scrape objects family",
                              "type": "string"
                            },
                            "scopes": {
                              "description": "OAuth2 scopes used for the token request",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "tls_config": {
                              "description": "TLSConfig for token_url connection\n( available from v0.55.0).\nIs only supported by Scrape objects family",
                              "x-kubernetes-preserve-unknown-fields": true
                            },
                            "token_url": {
                              "description": "The URL to fetch the token from",
                              "minLength": 1,
                              "type": "string"
                            }
                          },
                          "required": [
                            "client_id",
                            "token_url"
                          ],
                          "type": "object",
                          "additionalProperties": false
                        },
                        "proxyURL": {
                          "description": "Optional proxy URL.",
                          "type": "string"
                        },
                        "tls_config": {
                          "description": "TLS configuration for the client.",
                          "properties": {
                            "ca": {
                              "description": "Struct containing the CA cert to use for the targets.",
                              "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",
                                  "additionalProperties": false
                                },
                                "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",
                                  "additionalProperties": false
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "caFile": {
                              "description": "Path to the CA cert in the container to use for the targets.",
                              "type": "string"
                            },
                            "cert": {
                              "description": "Struct containing the client cert file for the targets.",
                              "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",
                                  "additionalProperties": false
                                },
                                "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",
                                  "additionalProperties": false
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "certFile": {
                              "description": "Path to the client cert file in the container for the targets.",
                              "type": "string"
                            },
                            "insecureSkipVerify": {
                              "description": "Disable target certificate validation.",
                              "type": "boolean"
                            },
                            "keyFile": {
                              "description": "Path to the client key file in the container for the targets.",
                              "type": "string"
                            },
                            "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",
                              "additionalProperties": false
                            },
                            "serverName": {
                              "description": "Used to verify the hostname for the targets.",
                              "type": "string"
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "message": {
                      "description": "API request data as defined by the WeChat API.",
                      "type": "string"
                    },
                    "message_type": {
                      "type": "string"
                    },
                    "send_resolved": {
                      "description": "SendResolved controls notify about resolved alerts.",
                      "type": "boolean"
                    },
                    "to_party": {
                      "type": "string"
                    },
                    "to_tag": {
                      "type": "string"
                    },
                    "to_user": {
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "type": "array"
              }
            },
            "required": [
              "name"
            ],
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        },
        "route": {
          "description": "Route definition for alertmanager, may include nested routes.",
          "properties": {
            "active_time_intervals": {
              "description": "ActiveTimeIntervals Times when the route should be active\nThese must match the name at time_intervals",
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "continue": {
              "description": "Continue indicating whether an alert should continue matching subsequent\nsibling nodes. It will always be true for the first-level route if disableRouteContinueEnforce for vmalertmanager not set.",
              "type": "boolean"
            },
            "group_by": {
              "description": "List of labels to group by.",
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "group_interval": {
              "description": "How long to wait before sending an updated notification.",
              "pattern": "[0-9]+(ms|s|m|h)",
              "type": "string"
            },
            "group_wait": {
              "description": "How long to wait before sending the initial notification.",
              "pattern": "[0-9]+(ms|s|m|h)",
              "type": "string"
            },
            "matchers": {
              "description": "List of matchers that the alert\u2019s labels should match. For the first\nlevel route, the operator adds a namespace: \"CRD_NS\" matcher.\nhttps://prometheus.io/docs/alerting/latest/configuration/#matcher",
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "mute_time_intervals": {
              "description": "MuteTimeIntervals is a list of interval names that will mute matched alert",
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "receiver": {
              "description": "Name of the receiver for this route.",
              "type": "string"
            },
            "repeat_interval": {
              "description": "How long to wait before repeating the last notification.",
              "pattern": "[0-9]+(ms|s|m|h)",
              "type": "string"
            },
            "routes": {
              "description": "Child routes.\nhttps://prometheus.io/docs/alerting/latest/configuration/#route",
              "items": {
                "x-kubernetes-preserve-unknown-fields": true
              },
              "type": "array"
            }
          },
          "required": [
            "receiver"
          ],
          "type": "object",
          "additionalProperties": false
        },
        "time_intervals": {
          "description": "TimeIntervals defines named interval for active/mute notifications interval\nSee https://prometheus.io/docs/alerting/latest/configuration/#time_interval",
          "items": {
            "description": "TimeIntervals for alerts",
            "properties": {
              "name": {
                "description": "Name of interval",
                "type": "string"
              },
              "time_intervals": {
                "description": "TimeIntervals interval configuration",
                "items": {
                  "description": "TimeInterval defines intervals of time",
                  "properties": {
                    "days_of_month": {
                      "description": "DayOfMonth defines list of numerical days in the month. Days begin at 1. Negative values are also accepted.\nfor example, ['1:5', '-3:-1']",
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "location": {
                      "description": "Location in golang time location form, e.g. UTC",
                      "type": "string"
                    },
                    "months": {
                      "description": "Months  defines list of calendar months identified by a case-insensitive name (e.g. \u2018January\u2019) or numeric 1.\nFor example, ['1:3', 'may:august', 'december']",
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "times": {
                      "description": "Times defines time range for mute",
                      "items": {
                        "description": "TimeRange  ranges inclusive of the starting time and exclusive of the end time",
                        "properties": {
                          "end_time": {
                            "description": "EndTime for example HH:MM",
                            "type": "string"
                          },
                          "start_time": {
                            "description": "StartTime for example  HH:MM",
                            "type": "string"
                          }
                        },
                        "required": [
                          "end_time",
                          "start_time"
                        ],
                        "type": "object",
                        "additionalProperties": false
                      },
                      "type": "array"
                    },
                    "weekdays": {
                      "description": "Weekdays defines list of days of the week, where the week begins on Sunday and ends on Saturday.",
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "years": {
                      "description": "Years defines numerical list of years, ranges are accepted.\nFor example, ['2020:2022', '2030']",
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "type": "array"
              }
            },
            "required": [
              "name",
              "time_intervals"
            ],
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        }
      },
      "required": [
        "receivers",
        "route"
      ],
      "type": "object",
      "additionalProperties": false
    },
    "status": {
      "description": "VMAlertmanagerConfigStatus defines the observed state of VMAlertmanagerConfig",
      "properties": {
        "conditions": {
          "description": "Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\"",
          "items": {
            "description": "Condition defines status condition of the resource",
            "properties": {
              "lastTransitionTime": {
                "description": "lastTransitionTime is the last time the condition transitioned from one status to another.",
                "format": "date-time",
                "type": "string"
              },
              "lastUpdateTime": {
                "description": "LastUpdateTime is the last time of given type update.\nThis value is used for status TTL update and removal",
                "format": "date-time",
                "type": "string"
              },
              "message": {
                "description": "message is a human readable message indicating details about the transition.\nThis may be an empty string.",
                "maxLength": 32768,
                "type": "string"
              },
              "observedGeneration": {
                "description": "observedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.",
                "format": "int64",
                "minimum": 0,
                "type": "integer"
              },
              "reason": {
                "description": "reason contains a programmatic identifier indicating the reason for the condition's last transition.\nProducers of specific condition types may define expected values and meanings for this field,\nand whether the values are considered a guaranteed API.\nThe value should be a CamelCase string.\nThis field may not be empty.",
                "maxLength": 1024,
                "minLength": 1,
                "type": "string"
              },
              "status": {
                "description": "status of the condition, one of True, False, Unknown.",
                "enum": [
                  "True",
                  "False",
                  "Unknown"
                ],
                "type": "string"
              },
              "type": {
                "description": "Type of condition in CamelCase or in name.namespace.resource.victoriametrics.com/CamelCase.",
                "maxLength": 316,
                "type": "string"
              }
            },
            "required": [
              "lastTransitionTime",
              "lastUpdateTime",
              "reason",
              "status",
              "type"
            ],
            "type": "object",
            "additionalProperties": false
          },
          "type": "array",
          "x-kubernetes-list-map-keys": [
            "type"
          ],
          "x-kubernetes-list-type": "map"
        },
        "lastErrorParentAlertmanagerName": {
          "type": "string"
        },
        "observedGeneration": {
          "description": "ObservedGeneration defines current generation picked by operator for the\nreconcile",
          "format": "int64",
          "type": "integer"
        },
        "reason": {
          "description": "Reason defines human readable error reason",
          "type": "string"
        },
        "updateStatus": {
          "description": "UpdateStatus defines a status for update rollout",
          "type": "string"
        }
      },
      "type": "object",
      "additionalProperties": false
    }
  },
  "type": "object"
}
