apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.6.2
  name: vmalertmanagerconfigs.operator.victoriametrics.com
spec:
  group: operator.victoriametrics.com
  names:
    kind: VMAlertmanagerConfig
    listKind: VMAlertmanagerConfigList
    plural: vmalertmanagerconfigs
    singular: vmalertmanagerconfig
  scope: Namespaced
  versions:
  - name: v1beta1
    schema:
      openAPIV3Schema:
        description: VMAlertmanagerConfig is the Schema for the vmalertmanagerconfigs
          API
        properties:
          apiVersion:
            description: 'APIVersion defines the versioned schema of this representation
              of an object. Servers should convert recognized schemas to the latest
              internal value, and may reject unrecognized values. More 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. Servers may infer this from the endpoint the client
              submits requests to. Cannot be updated. In CamelCase. More 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
            properties:
              inhibit_rules:
                description: InhibitRules will only apply for alerts matching the
                  resource's namespace.
                items:
                  description: InhibitRule defines an inhibition rule that allows
                    to mute alerts when other alerts are already firing. Note, it
                    doesn't support deprecated alertmanager config options. See 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 the 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 to 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 alerts to be muted.
                      items:
                        type: string
                      type: array
                  type: object
                type: array
              mute_time_intervals:
                description: MuteTimeInterval - global mute time See https://prometheus.io/docs/alerting/latest/configuration/#mute_time_interval
                items:
                  description: MuteTimeInterval 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. for example, ['1:5', '-3:-1']
                            items:
                              type: string
                            type: array
                          months:
                            description: Months  defines list of calendar months identified
                              by a case-insentive name (e.g. ‘January’) or numeric
                              1. For 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
                            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. For example, ['2020:2022', '2030']
                            items:
                              type: string
                            type: array
                        type: object
                      type: array
                  required:
                  - time_intervals
                  type: object
                type: array
              receivers:
                description: Receivers defines alert receivers. without defined Route,
                  receivers will be skipped.
                items:
                  description: Receiver defines one or more notification integrations.
                  properties:
                    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:
                                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                  TODO: Add other useful fields. apiVersion, kind,
                                  uid?'
                                type: string
                              optional:
                                description: Specify whether the Secret or its key
                                  must be defined
                                type: boolean
                            required:
                            - key
                            type: object
                          auth_secret:
                            description: AuthSecret defines secrent name and key at
                              CRD namespace. It 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:
                                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                  TODO: Add other useful fields. apiVersion, kind,
                                  uid?'
                                type: string
                              optional:
                                description: Specify whether the Secret or its key
                                  must be defined
                                type: boolean
                            required:
                            - key
                            type: object
                          auth_username:
                            description: The username to use for authentication.
                            type: string
                          from:
                            description: The sender address.
                            type: string
                          headers:
                            additionalProperties:
                              type: string
                            description: Further headers email header key/value pairs.
                              Overrides any headers previously 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. Note 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.
                            type: string
                          text:
                            description: The text body of the email notification.
                            type: string
                          tls_config:
                            description: TLS configuration
                            properties:
                              ca:
                                description: Stuct 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:
                                        description: 'Name of the referent. More info:
                                          https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                          TODO: Add other useful fields. apiVersion,
                                          kind, uid?'
                                        type: string
                                      optional:
                                        description: Specify whether the ConfigMap
                                          or its key must be defined
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  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:
                                        description: 'Name of the referent. More info:
                                          https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                          TODO: Add other useful fields. apiVersion,
                                          kind, uid?'
                                        type: string
                                      optional:
                                        description: Specify whether the Secret or
                                          its key must be defined
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                type: object
                              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:
                                        description: 'Name of the referent. More info:
                                          https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                          TODO: Add other useful fields. apiVersion,
                                          kind, uid?'
                                        type: string
                                      optional:
                                        description: Specify whether the ConfigMap
                                          or its key must be defined
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  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:
                                        description: 'Name of the referent. More info:
                                          https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                          TODO: Add other useful fields. apiVersion,
                                          kind, uid?'
                                        type: string
                                      optional:
                                        description: Specify whether the Secret or
                                          its key must be defined
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                type: object
                              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:
                                    description: 'Name of the referent. More info:
                                      https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                      TODO: Add other useful fields. apiVersion, kind,
                                      uid?'
                                    type: string
                                  optional:
                                    description: Specify whether the Secret or its
                                      key must be defined
                                    type: boolean
                                required:
                                - key
                                type: object
                              serverName:
                                description: Used to verify the hostname for the targets.
                                type: string
                            type: object
                          to:
                            description: The email address to send notifications to.
                            type: string
                        type: object
                      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.
                          See https://prometheus.io/docs/alerting/latest/configuration/#opsgenie_config
                        properties:
                          api_key:
                            description: The secret's key that contains the OpsGenie
                              API key. It 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:
                                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                  TODO: Add other useful fields. apiVersion, kind,
                                  uid?'
                                type: string
                              optional:
                                description: Specify whether the Secret or its key
                                  must be defined
                                type: boolean
                            required:
                            - key
                            type: object
                          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
                          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. One 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
                            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
                        type: object
                      type: array
                    pagerduty_configs:
                      description: PagerDutyConfigs defines pager duty notification
                        configurations.
                      items:
                        description: PagerDutyConfig configures notifications via
                          PagerDuty. See 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
                          routing_key:
                            description: The secret's key that contains the PagerDuty
                              integration key (when using Events API v2). Either this
                              field or `serviceKey` needs to be defined. It 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:
                                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                  TODO: Add other useful fields. apiVersion, kind,
                                  uid?'
                                type: string
                              optional:
                                description: Specify whether the Secret or its key
                                  must be defined
                                type: boolean
                            required:
                            - key
                            type: object
                          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 integration type "Prometheus").
                              Either this field or `routingKey` needs to be defined.
                              It 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:
                                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                  TODO: Add other useful fields. apiVersion, kind,
                                  uid?'
                                type: string
                              optional:
                                description: Specify whether the Secret or its key
                                  must be defined
                                type: boolean
                            required:
                            - key
                            type: object
                          severity:
                            description: Severity of the incident.
                            type: string
                          url:
                            description: The URL to send requests to.
                            type: string
                        type: object
                      type: array
                    pushover_configs:
                      description: PushoverConfigs defines push over notification
                        configurations.
                      items:
                        description: PushoverConfig configures notifications via Pushover.
                          See 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 acknowledges 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. Must 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’s API token, see https://pushover.net/apps.
                              It 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:
                                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                  TODO: Add other useful fields. apiVersion, kind,
                                  uid?'
                                type: string
                              optional:
                                description: Specify whether the Secret or its key
                                  must be defined
                                type: boolean
                            required:
                            - key
                            type: object
                          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’s user key. It 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:
                                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                  TODO: Add other useful fields. apiVersion, kind,
                                  uid?'
                                type: string
                              optional:
                                description: Specify whether the Secret or its key
                                  must be defined
                                type: boolean
                            required:
                            - key
                            type: object
                        type: object
                      type: array
                    slack_configs:
                      description: SlackConfigs defines slack notification configurations.
                      items:
                        description: SlackConfig configures notifications via Slack.
                          See 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 notification. See https://api.slack.com/docs/message-attachments#action_fields
                                and https://api.slack.com/docs/message-buttons for
                                more information.
                              properties:
                                confirm:
                                  description: SlackConfirmationField protect users
                                    from destructive actions or particularly distinguished
                                    decisions by asking them to confirm their button
                                    click one more time. See https://api.slack.com/docs/interactive-message-field-guide#confirmation_fields
                                    for more information.
                                  properties:
                                    dismiss_text:
                                      type: string
                                    ok_text:
                                      type: string
                                    text:
                                      minLength: 1
                                      type: string
                                    title:
                                      type: string
                                  required:
                                  - text
                                  type: object
                                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
                            type: array
                          api_url:
                            description: The secret's key that contains the Slack
                              webhook URL. It 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:
                                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                  TODO: Add other useful fields. apiVersion, kind,
                                  uid?'
                                type: string
                              optional:
                                description: Specify whether the Secret or its key
                                  must be defined
                                type: boolean
                            required:
                            - key
                            type: object
                          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: See 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
                            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
                      type: array
                    telegram_configs:
                      items:
                        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 https://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:
                                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                  TODO: Add other useful fields. apiVersion, kind,
                                  uid?'
                                type: string
                              optional:
                                description: Specify whether the Secret or its key
                                  must be defined
                                type: boolean
                            required:
                            - key
                            type: object
                          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
                          parse_mode:
                            description: ParseMode for telegram message, supported
                              values are MarkdownV2, Markdown, Markdown and empty
                              string for plain text.
                            enum:
                            - MarkdownV2
                            - Markdown
                            - Markdown
                            type: string
                          send_resolved:
                            description: SendResolved controls notify about resolved
                              alerts.
                            type: boolean
                        required:
                        - bot_token
                        - chat_id
                        type: object
                      type: array
                    victorops_configs:
                      description: VictorOpsConfigs defines victor ops notification
                        configurations.
                      items:
                        description: VictorOpsConfig configures notifications via
                          VictorOps. See 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. It 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:
                                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                  TODO: Add other useful fields. apiVersion, kind,
                                  uid?'
                                type: string
                              optional:
                                description: Specify whether the Secret or its key
                                  must be defined
                                type: boolean
                            required:
                            - key
                            type: object
                          api_url:
                            description: The VictorOps API URL.
                            type: string
                          custom_fields:
                            additionalProperties:
                              type: string
                            description: Adds optional custom fields https://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:
                              basic_auth:
                                description: TODO oAuth2 support BasicAuth for the
                                  client.
                                properties:
                                  password:
                                    description: The secret in the service scrape
                                      namespace that contains the password for authentication.
                                      It 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:
                                        description: 'Name of the referent. More info:
                                          https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                          TODO: Add other useful fields. apiVersion,
                                          kind, uid?'
                                        type: string
                                      optional:
                                        description: Specify whether the Secret or
                                          its key must be defined
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  password_file:
                                    description: PasswordFile defines path to password
                                      file at disk
                                    type: string
                                  username:
                                    description: The secret in the service scrape
                                      namespace that contains the username for authentication.
                                      It 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:
                                        description: 'Name of the referent. More info:
                                          https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                          TODO: Add other useful fields. apiVersion,
                                          kind, uid?'
                                        type: string
                                      optional:
                                        description: Specify whether the Secret or
                                          its key must be defined
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                type: object
                              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 It 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:
                                    description: 'Name of the referent. More info:
                                      https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                      TODO: Add other useful fields. apiVersion, kind,
                                      uid?'
                                    type: string
                                  optional:
                                    description: Specify whether the Secret or its
                                      key must be defined
                                    type: boolean
                                required:
                                - key
                                type: object
                              proxyURL:
                                description: Optional proxy URL.
                                type: string
                              tls_config:
                                description: TLS configuration for the client.
                                properties:
                                  ca:
                                    description: Stuct 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:
                                            description: 'Name of the referent. More
                                              info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                              TODO: Add other useful fields. apiVersion,
                                              kind, uid?'
                                            type: string
                                          optional:
                                            description: Specify whether the ConfigMap
                                              or its key must be defined
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      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:
                                            description: 'Name of the referent. More
                                              info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                              TODO: Add other useful fields. apiVersion,
                                              kind, uid?'
                                            type: string
                                          optional:
                                            description: Specify whether the Secret
                                              or its key must be defined
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                    type: object
                                  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:
                                            description: 'Name of the referent. More
                                              info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                              TODO: Add other useful fields. apiVersion,
                                              kind, uid?'
                                            type: string
                                          optional:
                                            description: Specify whether the ConfigMap
                                              or its key must be defined
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      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:
                                            description: 'Name of the referent. More
                                              info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                              TODO: Add other useful fields. apiVersion,
                                              kind, uid?'
                                            type: string
                                          optional:
                                            description: Specify whether the Secret
                                              or its key must be defined
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                    type: object
                                  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:
                                        description: 'Name of the referent. More info:
                                          https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                          TODO: Add other useful fields. apiVersion,
                                          kind, uid?'
                                        type: string
                                      optional:
                                        description: Specify whether the Secret or
                                          its key must be defined
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  serverName:
                                    description: Used to verify the hostname for the
                                      targets.
                                    type: string
                                type: object
                            type: object
                          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
                        type: object
                      type: array
                    webhook_configs:
                      description: WebhookConfigs defines webhook notification configurations.
                      items:
                        description: WebhookConfig configures notifications via a
                          generic receiver supporting the webhook payload. See 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
                          url:
                            description: URL to send requests to, one of `urlSecret`
                              and `url` must be defined.
                            type: string
                          url_secret:
                            description: URLSecret defines secret name and key at
                              the CRD namespace. It must contain the webhook URL.
                              one 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:
                                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                  TODO: Add other useful fields. apiVersion, kind,
                                  uid?'
                                type: string
                              optional:
                                description: Specify whether the Secret or its key
                                  must be defined
                                type: boolean
                            required:
                            - key
                            type: object
                        type: object
                      type: array
                    wechat_configs:
                      description: WeChatConfigs defines wechat notification configurations.
                      items:
                        description: WeChatConfig configures notifications via WeChat.
                          See 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. The secret needs to be in the same namespace
                              as the AlertmanagerConfig object and accessible by the
                              Prometheus Operator.
                            properties:
                              key:
                                description: The key of the secret to select from.  Must
                                  be a valid secret key.
                                type: string
                              name:
                                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                  TODO: Add other useful fields. apiVersion, kind,
                                  uid?'
                                type: string
                              optional:
                                description: Specify whether the Secret or its key
                                  must be defined
                                type: boolean
                            required:
                            - key
                            type: object
                          api_url:
                            description: The WeChat API URL.
                            type: string
                          corp_id:
                            description: The corp id for authentication.
                            type: string
                          http_config:
                            description: HTTP client configuration.
                            properties:
                              basic_auth:
                                description: TODO oAuth2 support BasicAuth for the
                                  client.
                                properties:
                                  password:
                                    description: The secret in the service scrape
                                      namespace that contains the password for authentication.
                                      It 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:
                                        description: 'Name of the referent. More info:
                                          https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                          TODO: Add other useful fields. apiVersion,
                                          kind, uid?'
                                        type: string
                                      optional:
                                        description: Specify whether the Secret or
                                          its key must be defined
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  password_file:
                                    description: PasswordFile defines path to password
                                      file at disk
                                    type: string
                                  username:
                                    description: The secret in the service scrape
                                      namespace that contains the username for authentication.
                                      It 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:
                                        description: 'Name of the referent. More info:
                                          https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                          TODO: Add other useful fields. apiVersion,
                                          kind, uid?'
                                        type: string
                                      optional:
                                        description: Specify whether the Secret or
                                          its key must be defined
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                type: object
                              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 It 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:
                                    description: 'Name of the referent. More info:
                                      https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                      TODO: Add other useful fields. apiVersion, kind,
                                      uid?'
                                    type: string
                                  optional:
                                    description: Specify whether the Secret or its
                                      key must be defined
                                    type: boolean
                                required:
                                - key
                                type: object
                              proxyURL:
                                description: Optional proxy URL.
                                type: string
                              tls_config:
                                description: TLS configuration for the client.
                                properties:
                                  ca:
                                    description: Stuct 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:
                                            description: 'Name of the referent. More
                                              info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                              TODO: Add other useful fields. apiVersion,
                                              kind, uid?'
                                            type: string
                                          optional:
                                            description: Specify whether the ConfigMap
                                              or its key must be defined
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      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:
                                            description: 'Name of the referent. More
                                              info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                              TODO: Add other useful fields. apiVersion,
                                              kind, uid?'
                                            type: string
                                          optional:
                                            description: Specify whether the Secret
                                              or its key must be defined
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                    type: object
                                  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:
                                            description: 'Name of the referent. More
                                              info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                              TODO: Add other useful fields. apiVersion,
                                              kind, uid?'
                                            type: string
                                          optional:
                                            description: Specify whether the ConfigMap
                                              or its key must be defined
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      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:
                                            description: 'Name of the referent. More
                                              info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                              TODO: Add other useful fields. apiVersion,
                                              kind, uid?'
                                            type: string
                                          optional:
                                            description: Specify whether the Secret
                                              or its key must be defined
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                    type: object
                                  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:
                                        description: 'Name of the referent. More info:
                                          https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                          TODO: Add other useful fields. apiVersion,
                                          kind, uid?'
                                        type: string
                                      optional:
                                        description: Specify whether the Secret or
                                          its key must be defined
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  serverName:
                                    description: Used to verify the hostname for the
                                      targets.
                                    type: string
                                type: object
                            type: object
                          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
                      type: array
                  required:
                  - name
                  type: object
                type: array
              route:
                description: Route definition for alertmanager, may include nested
                  routes.
                properties:
                  continue:
                    description: Continue indicating whether an alert should continue
                      matching subsequent sibling nodes. It will always be true for
                      the first-level route.
                    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’s labels should
                      match. For the first level route, the operator adds a namespace:
                      "CRD_NS" matcher. https://prometheus.io/docs/alerting/latest/configuration/#matcher'
                    items:
                      type: string
                    type: array
                  mute_time_intervals:
                    description: MuteTimeIntervals for alerts
                    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.
                    items:
                      x-kubernetes-preserve-unknown-fields: true
                    type: array
                required:
                - receiver
                type: object
            type: object
          status:
            description: VMAlertmanagerConfigStatus defines the observed state of
              VMAlertmanagerConfig
            properties:
              reason:
                description: ErrorReason describes validation or any other errors.
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
