UNPKG

cdktf-crd

Version:
659 lines (658 loc) 194 kB
import { Manifest, type ManifestConfig } from "@cdktf/provider-kubernetes/lib/manifest"; import { Construct } from "constructs"; export declare class MonitoringCoreosComAlertmanagerConfigV1alpha1 extends Manifest { constructor(scope: Construct, id: string, config: MonitoringCoreosComAlertmanagerConfigV1alpha1Config); } export interface MonitoringCoreosComAlertmanagerConfigV1alpha1Config extends ManifestConfig { manifest: { apiVersion: "monitoring.coreos.com/v1alpha1"; kind: "AlertmanagerConfig"; metadata: { annotations?: { [key: string]: string; }; labels?: { [key: string]: string; }; name: string; namespace?: string; }; /** @description AlertmanagerConfigSpec is a specification of the desired behavior of the Alertmanager configuration. By definition, the Alertmanager configuration only applies to alerts for which the `namespace` label is equal to the namespace of the AlertmanagerConfig resource. */ spec: { /** @description List of inhibition rules. The rules will only apply to alerts matching the resource's namespace. */ inhibitRules?: { /** @description Labels that must have an equal value in the source and target alert for the inhibition to take effect. */ equal?: string[]; /** @description Matchers for which one or more alerts have to exist for the inhibition to take effect. The operator enforces that the alert matches the resource's namespace. */ sourceMatch?: { /** * @description Match operation available with AlertManager >= v0.22.0 and takes precedence over Regex (deprecated) if non-empty. * @enum {string} */ matchType?: "!=" | "=" | "=~" | "!~"; /** @description Label to match. */ name: string; /** @description Whether to match on equality (false) or regular-expression (true). Deprecated as of AlertManager >= v0.22.0 where a user should use MatchType instead. */ regex?: boolean; /** @description Label value to match. */ value?: string; }[]; /** @description Matchers that have to be fulfilled in the alerts to be muted. The operator enforces that the alert matches the resource's namespace. */ targetMatch?: { /** * @description Match operation available with AlertManager >= v0.22.0 and takes precedence over Regex (deprecated) if non-empty. * @enum {string} */ matchType?: "!=" | "=" | "=~" | "!~"; /** @description Label to match. */ name: string; /** @description Whether to match on equality (false) or regular-expression (true). Deprecated as of AlertManager >= v0.22.0 where a user should use MatchType instead. */ regex?: boolean; /** @description Label value to match. */ value?: string; }[]; }[]; /** @description List of MuteTimeInterval specifying when the routes should be muted. */ muteTimeIntervals?: { /** @description Name of the time interval */ name?: string; /** @description TimeIntervals is a list of TimeInterval */ timeIntervals?: { /** @description DaysOfMonth is a list of DayOfMonthRange */ daysOfMonth?: { /** @description End of the inclusive range */ end?: number; /** @description Start of the inclusive range */ start?: number; }[]; /** @description Months is a list of MonthRange */ months?: string[]; /** @description Times is a list of TimeRange */ times?: { /** @description EndTime is the end time in 24hr format. */ endTime?: string; /** @description StartTime is the start time in 24hr format. */ startTime?: string; }[]; /** @description Weekdays is a list of WeekdayRange */ weekdays?: string[]; /** @description Years is a list of YearRange */ years?: string[]; }[]; }[]; /** @description List of receivers. */ receivers?: { /** @description List of Discord configurations. */ discordConfigs?: { /** @description The secret's key that contains the Discord webhook URL. The secret needs to be in the same namespace as the AlertmanagerConfig object and accessible by the Prometheus Operator. */ apiURL: { /** @description The key of the secret to select from. Must be a valid secret key. */ key: string; /** @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? */ name?: string; /** @description Specify whether the Secret or its key must be defined */ optional?: boolean; }; /** @description HTTP client configuration. */ httpConfig?: { /** @description Authorization header configuration for the client. This is mutually exclusive with BasicAuth and is only available starting from Alertmanager v0.22+. */ authorization?: { /** @description Selects a key of a Secret in the namespace that contains the credentials for authentication. */ credentials?: { /** @description The key of the secret to select from. Must be a valid secret key. */ key: string; /** @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? */ name?: string; /** @description Specify whether the Secret or its key must be defined */ optional?: boolean; }; /** @description Defines the authentication type. The value is case-insensitive. * "Basic" is not a supported value. * Default: "Bearer" */ type?: string; }; /** @description BasicAuth for the client. This is mutually exclusive with Authorization. If both are defined, BasicAuth takes precedence. */ basicAuth?: { /** @description `password` specifies a key of a Secret containing the password for authentication. */ password?: { /** @description The key of the secret to select from. Must be a valid secret key. */ key: string; /** @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? */ name?: string; /** @description Specify whether the Secret or its key must be defined */ optional?: boolean; }; /** @description `username` specifies a key of a Secret containing the username for authentication. */ username?: { /** @description The key of the secret to select from. Must be a valid secret key. */ key: string; /** @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? */ name?: string; /** @description Specify whether the Secret or its key must be defined */ optional?: boolean; }; }; /** @description The secret's key that contains the bearer token to be used by the client for authentication. The secret needs to be in the same namespace as the AlertmanagerConfig object and accessible by the Prometheus Operator. */ bearerTokenSecret?: { /** @description The key of the secret to select from. Must be a valid secret key. */ key: string; /** @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? */ name?: string; /** @description Specify whether the Secret or its key must be defined */ optional?: boolean; }; /** @description FollowRedirects specifies whether the client should follow HTTP 3xx redirects. */ followRedirects?: boolean; /** @description OAuth2 client credentials used to fetch a token for the targets. */ oauth2?: { /** @description `clientId` specifies a key of a Secret or ConfigMap containing the OAuth2 client's ID. */ clientId: { /** @description ConfigMap containing data to use for the targets. */ configMap?: { /** @description The key to select. */ key: string; /** @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? */ name?: string; /** @description Specify whether the ConfigMap or its key must be defined */ optional?: boolean; }; /** @description Secret containing data to use for the targets. */ secret?: { /** @description The key of the secret to select from. Must be a valid secret key. */ key: string; /** @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? */ name?: string; /** @description Specify whether the Secret or its key must be defined */ optional?: boolean; }; }; /** @description `clientSecret` specifies a key of a Secret containing the OAuth2 client's secret. */ clientSecret: { /** @description The key of the secret to select from. Must be a valid secret key. */ key: string; /** @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? */ name?: string; /** @description Specify whether the Secret or its key must be defined */ optional?: boolean; }; /** @description `endpointParams` configures the HTTP parameters to append to the token URL. */ endpointParams?: { [key: string]: string; }; /** @description `scopes` defines the OAuth2 scopes used for the token request. */ scopes?: string[]; /** @description `tokenURL` configures the URL to fetch the token from. */ tokenUrl: string; }; /** @description Optional proxy URL. */ proxyURL?: string; /** @description TLS configuration for the client. */ tlsConfig?: { /** @description Certificate authority used when verifying server certificates. */ ca?: { /** @description ConfigMap containing data to use for the targets. */ configMap?: { /** @description The key to select. */ key: string; /** @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? */ name?: string; /** @description Specify whether the ConfigMap or its key must be defined */ optional?: boolean; }; /** @description Secret containing data to use for the targets. */ secret?: { /** @description The key of the secret to select from. Must be a valid secret key. */ key: string; /** @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? */ name?: string; /** @description Specify whether the Secret or its key must be defined */ optional?: boolean; }; }; /** @description Client certificate to present when doing client-authentication. */ cert?: { /** @description ConfigMap containing data to use for the targets. */ configMap?: { /** @description The key to select. */ key: string; /** @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? */ name?: string; /** @description Specify whether the ConfigMap or its key must be defined */ optional?: boolean; }; /** @description Secret containing data to use for the targets. */ secret?: { /** @description The key of the secret to select from. Must be a valid secret key. */ key: string; /** @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? */ name?: string; /** @description Specify whether the Secret or its key must be defined */ optional?: boolean; }; }; /** @description Disable target certificate validation. */ insecureSkipVerify?: boolean; /** @description Secret containing the client key file for the targets. */ keySecret?: { /** @description The key of the secret to select from. Must be a valid secret key. */ key: string; /** @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? */ name?: string; /** @description Specify whether the Secret or its key must be defined */ optional?: boolean; }; /** @description Used to verify the hostname for the targets. */ serverName?: string; }; }; /** @description The template of the message's body. */ message?: string; /** @description Whether or not to notify about resolved alerts. */ sendResolved?: boolean; /** @description The template of the message's title. */ title?: string; }[]; /** @description List of Email configurations. */ emailConfigs?: { /** @description The identity to use for authentication. */ authIdentity?: string; /** @description The secret's key that contains the password to use for authentication. The secret needs to be in the same namespace as the AlertmanagerConfig object and accessible by the Prometheus Operator. */ authPassword?: { /** @description The key of the secret to select from. Must be a valid secret key. */ key: string; /** @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? */ name?: string; /** @description Specify whether the Secret or its key must be defined */ optional?: boolean; }; /** @description The secret's key that contains the CRAM-MD5 secret. The secret needs to be in the same namespace as the AlertmanagerConfig object and accessible by the Prometheus Operator. */ authSecret?: { /** @description The key of the secret to select from. Must be a valid secret key. */ key: string; /** @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? */ name?: string; /** @description Specify whether the Secret or its key must be defined */ optional?: boolean; }; /** @description The username to use for authentication. */ authUsername?: string; /** @description The sender address. */ from?: string; /** @description Further headers email header key/value pairs. Overrides any headers previously set by the notification implementation. */ headers?: { /** @description Key of the tuple. */ key: string; /** @description Value of the tuple. */ value: string; }[]; /** @description The hostname to identify to the SMTP server. */ hello?: string; /** @description The HTML body of the email notification. */ html?: string; /** @description The SMTP TLS requirement. Note that Go does not support unencrypted connections to remote SMTP endpoints. */ requireTLS?: boolean; /** @description Whether or not to notify about resolved alerts. */ sendResolved?: boolean; /** @description The SMTP host and port through which emails are sent. E.g. example.com:25 */ smarthost?: string; /** @description The text body of the email notification. */ text?: string; /** @description TLS configuration */ tlsConfig?: { /** @description Certificate authority used when verifying server certificates. */ ca?: { /** @description ConfigMap containing data to use for the targets. */ configMap?: { /** @description The key to select. */ key: string; /** @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? */ name?: string; /** @description Specify whether the ConfigMap or its key must be defined */ optional?: boolean; }; /** @description Secret containing data to use for the targets. */ secret?: { /** @description The key of the secret to select from. Must be a valid secret key. */ key: string; /** @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? */ name?: string; /** @description Specify whether the Secret or its key must be defined */ optional?: boolean; }; }; /** @description Client certificate to present when doing client-authentication. */ cert?: { /** @description ConfigMap containing data to use for the targets. */ configMap?: { /** @description The key to select. */ key: string; /** @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? */ name?: string; /** @description Specify whether the ConfigMap or its key must be defined */ optional?: boolean; }; /** @description Secret containing data to use for the targets. */ secret?: { /** @description The key of the secret to select from. Must be a valid secret key. */ key: string; /** @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? */ name?: string; /** @description Specify whether the Secret or its key must be defined */ optional?: boolean; }; }; /** @description Disable target certificate validation. */ insecureSkipVerify?: boolean; /** @description Secret containing the client key file for the targets. */ keySecret?: { /** @description The key of the secret to select from. Must be a valid secret key. */ key: string; /** @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? */ name?: string; /** @description Specify whether the Secret or its key must be defined */ optional?: boolean; }; /** @description Used to verify the hostname for the targets. */ serverName?: string; }; /** @description The email address to send notifications to. */ to?: string; }[]; /** @description List of MSTeams configurations. It requires Alertmanager >= 0.26.0. */ msteamsConfigs?: { /** @description HTTP client configuration. */ httpConfig?: { /** @description Authorization header configuration for the client. This is mutually exclusive with BasicAuth and is only available starting from Alertmanager v0.22+. */ authorization?: { /** @description Selects a key of a Secret in the namespace that contains the credentials for authentication. */ credentials?: { /** @description The key of the secret to select from. Must be a valid secret key. */ key: string; /** @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? */ name?: string; /** @description Specify whether the Secret or its key must be defined */ optional?: boolean; }; /** @description Defines the authentication type. The value is case-insensitive. * "Basic" is not a supported value. * Default: "Bearer" */ type?: string; }; /** @description BasicAuth for the client. This is mutually exclusive with Authorization. If both are defined, BasicAuth takes precedence. */ basicAuth?: { /** @description `password` specifies a key of a Secret containing the password for authentication. */ password?: { /** @description The key of the secret to select from. Must be a valid secret key. */ key: string; /** @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? */ name?: string; /** @description Specify whether the Secret or its key must be defined */ optional?: boolean; }; /** @description `username` specifies a key of a Secret containing the username for authentication. */ username?: { /** @description The key of the secret to select from. Must be a valid secret key. */ key: string; /** @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? */ name?: string; /** @description Specify whether the Secret or its key must be defined */ optional?: boolean; }; }; /** @description The secret's key that contains the bearer token to be used by the client for authentication. The secret needs to be in the same namespace as the AlertmanagerConfig object and accessible by the Prometheus Operator. */ bearerTokenSecret?: { /** @description The key of the secret to select from. Must be a valid secret key. */ key: string; /** @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? */ name?: string; /** @description Specify whether the Secret or its key must be defined */ optional?: boolean; }; /** @description FollowRedirects specifies whether the client should follow HTTP 3xx redirects. */ followRedirects?: boolean; /** @description OAuth2 client credentials used to fetch a token for the targets. */ oauth2?: { /** @description `clientId` specifies a key of a Secret or ConfigMap containing the OAuth2 client's ID. */ clientId: { /** @description ConfigMap containing data to use for the targets. */ configMap?: { /** @description The key to select. */ key: string; /** @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? */ name?: string; /** @description Specify whether the ConfigMap or its key must be defined */ optional?: boolean; }; /** @description Secret containing data to use for the targets. */ secret?: { /** @description The key of the secret to select from. Must be a valid secret key. */ key: string; /** @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? */ name?: string; /** @description Specify whether the Secret or its key must be defined */ optional?: boolean; }; }; /** @description `clientSecret` specifies a key of a Secret containing the OAuth2 client's secret. */ clientSecret: { /** @description The key of the secret to select from. Must be a valid secret key. */ key: string; /** @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? */ name?: string; /** @description Specify whether the Secret or its key must be defined */ optional?: boolean; }; /** @description `endpointParams` configures the HTTP parameters to append to the token URL. */ endpointParams?: { [key: string]: string; }; /** @description `scopes` defines the OAuth2 scopes used for the token request. */ scopes?: string[]; /** @description `tokenURL` configures the URL to fetch the token from. */ tokenUrl: string; }; /** @description Optional proxy URL. */ proxyURL?: string; /** @description TLS configuration for the client. */ tlsConfig?: { /** @description Certificate authority used when verifying server certificates. */ ca?: { /** @description ConfigMap containing data to use for the targets. */ configMap?: { /** @description The key to select. */ key: string; /** @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? */ name?: string; /** @description Specify whether the ConfigMap or its key must be defined */ optional?: boolean; }; /** @description Secret containing data to use for the targets. */ secret?: { /** @description The key of the secret to select from. Must be a valid secret key. */ key: string; /** @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? */ name?: string; /** @description Specify whether the Secret or its key must be defined */ optional?: boolean; }; }; /** @description Client certificate to present when doing client-authentication. */ cert?: { /** @description ConfigMap containing data to use for the targets. */ configMap?: { /** @description The key to select. */ key: string; /** @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? */ name?: string; /** @description Specify whether the ConfigMap or its key must be defined */ optional?: boolean; }; /** @description Secret containing data to use for the targets. */ secret?: { /** @description The key of the secret to select from. Must be a valid secret key. */ key: string; /** @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? */ name?: string; /** @description Specify whether the Secret or its key must be defined */ optional?: boolean; }; }; /** @description Disable target certificate validation. */ insecureSkipVerify?: boolean; /** @description Secret containing the client key file for the targets. */ keySecret?: { /** @description The key of the secret to select from. Must be a valid secret key. */ key: string; /** @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? */ name?: string; /** @description Specify whether the Secret or its key must be defined */ optional?: boolean; }; /** @description Used to verify the hostname for the targets. */ serverName?: string; }; }; /** @description Whether to notify about resolved alerts. */ sendResolved?: boolean; /** @description Message body template. */ text?: string; /** @description Message title template. */ title?: string; /** @description MSTeams webhook URL. */ webhookUrl: { /** @description The key of the secret to select from. Must be a valid secret key. */ key: string; /** @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? */ name?: string; /** @description Specify whether the Secret or its key must be defined */ optional?: boolean; }; }[]; /** @description Name of the receiver. Must be unique across all items from the list. */ name: string; /** @description List of OpsGenie configurations. */ opsgenieConfigs?: { /** @description Comma separated list of actions that will be available for the alert. */ actions?: string; /** @description The secret's key that contains the OpsGenie API key. The secret needs to be in the same namespace as the AlertmanagerConfig object and accessible by the Prometheus Operator. */ apiKey?: { /** @description The key of the secret to select from. Must be a valid secret key. */ key: string; /** @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? */ name?: string; /** @description Specify whether the Secret or its key must be defined */ optional?: boolean; }; /** @description The URL to send OpsGenie API requests to. */ apiURL?: string; /** @description Description of the incident. */ description?: string; /** @description A set of arbitrary key/value pairs that provide further detail about the incident. */ details?: { /** @description Key of the tuple. */ key: string; /** @description Value of the tuple. */ value: string; }[]; /** @description Optional field that can be used to specify which domain alert is related to. */ entity?: string; /** @description HTTP client configuration. */ httpConfig?: { /** @description Authorization header configuration for the client. This is mutually exclusive with BasicAuth and is only available starting from Alertmanager v0.22+. */ authorization?: { /** @description Selects a key of a Secret in the namespace that contains the credentials for authentication. */ credentials?: { /** @description The key of the secret to select from. Must be a valid secret key. */ key: string; /** @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? */ name?: string; /** @description Specify whether the Secret or its key must be defined */ optional?: boolean; }; /** @description Defines the authentication type. The value is case-insensitive. * "Basic" is not a supported value. * Default: "Bearer" */ type?: string; }; /** @description BasicAuth for the client. This is mutually exclusive with Authorization. If both are defined, BasicAuth takes precedence. */ basicAuth?: { /** @description `password` specifies a key of a Secret containing the password for authentication. */ password?: { /** @description The key of the secret to select from. Must be a valid secret key. */ key: string; /** @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? */ name?: string; /** @description Specify whether the Secret or its key must be defined */ optional?: boolean; }; /** @description `username` specifies a key of a Secret containing the username for authentication. */ username?: { /** @description The key of the secret to select from. Must be a valid secret key. */ key: string; /** @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? */ name?: string; /** @description Specify whether the Secret or its key must be defined */ optional?: boolean; }; }; /** @description The secret's key that contains the bearer token to be used by the client for authentication. The secret needs to be in the same namespace as the AlertmanagerConfig object and accessible by the Prometheus Operator. */ bearerTokenSecret?: { /** @description The key of the secret to select from. Must be a valid secret key. */ key: string; /** @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? */ name?: string; /** @description Specify whether the Secret or its key must be defined */ optional?: boolean; }; /** @description FollowRedirects specifies whether the client should follow HTTP 3xx redirects. */ followRedirects?: boolean; /** @description OAuth2 client credentials used to fetch a token for the targets. */ oauth2?: { /** @description `clientId` specifies a key of a Secret or ConfigMap containing the OAuth2 client's ID. */ clientId: { /** @description ConfigMap containing data to use for the targets. */ configMap?: { /** @description The key to select. */ key: string; /** @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? */ name?: string; /** @description Specify whether the ConfigMap or its key must be defined */ optional?: boolean; }; /** @description Secret containing data to use for the targets. */ secret?: { /** @description The key of the secret to select from. Must be a valid secret key. */ key: string; /** @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? */ name?: string; /** @description Specify whether the Secret or its key must be defined */ optional?: boolean; }; }; /** @description `clientSecret` specifies a key of a Secret containing the OAuth2 client's secret. */ clientSecret: { /** @description The key of the secret to select from. Must be a valid secret key. */ key: string; /** @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? */ name?: string; /** @description Specify whether the Secret or its key must be defined */ optional?: boolean; }; /** @description `endpointParams` configures the HTTP parameters to append to the token URL. */ endpointParams?: { [key: string]: string; }; /** @description `scopes` defines the OAuth2 scopes used for the token request. */ scopes?: string[]; /** @description `tokenURL` configures the URL to fetch the token from. */ tokenUrl: string; }; /** @description Optional proxy URL. */ proxyURL?: string; /** @description TLS configuration for the client. */ tlsConfig?: { /** @description Certificate authority used when verifying server certificates. */ ca?: { /** @description ConfigMap containing data to use for the targets. */ configMap?: { /** @description The key to select. */