Documentation
¶
Overview ¶
Package v2beta2 contains API Schema definitions for the notification v1alpha1 API group +kubebuilder:object:generate=true +groupName=notification.kubesphere.io
Index ¶
- Constants
- Variables
- type AliyunSMS
- type BasicAuth
- type ClientCertificate
- type Config
- func (dst *Config) ConvertFrom(srcRaw conversion.Hub) error
- func (src *Config) ConvertTo(dstRaw conversion.Hub) error
- func (in *Config) DeepCopy() *Config
- func (in *Config) DeepCopyInto(out *Config)
- func (in *Config) DeepCopyObject() runtime.Object
- func (r *Config) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *Config) ValidateCreate() error
- func (r *Config) ValidateDelete() error
- func (r *Config) ValidateUpdate(_ runtime.Object) error
- type ConfigList
- type ConfigSpec
- type ConfigStatus
- type Credential
- type DingTalkApplicationConfig
- type DingTalkChatBot
- type DingTalkConfig
- type DingTalkConversation
- type DingTalkOptions
- type DingTalkReceiver
- type EmailConfig
- type EmailOptions
- type EmailReceiver
- type GlobalOptions
- type HTTPClientConfig
- type HostPort
- type HuaweiSMS
- type NotificationManager
- type NotificationManagerList
- type NotificationManagerSpec
- type NotificationManagerStatus
- type Options
- type Providers
- type PushoverConfig
- type PushoverOptions
- type PushoverReceiver
- type PushoverUserProfile
- type Receiver
- func (dst *Receiver) ConvertFrom(srcRaw conversion.Hub) error
- func (src *Receiver) ConvertTo(dstRaw conversion.Hub) error
- func (in *Receiver) DeepCopy() *Receiver
- func (in *Receiver) DeepCopyInto(out *Receiver)
- func (in *Receiver) DeepCopyObject() runtime.Object
- func (r *Receiver) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *Receiver) ValidateCreate() error
- func (r *Receiver) ValidateDelete() error
- func (r *Receiver) ValidateUpdate(_ runtime.Object) error
- type ReceiverList
- type ReceiverSpec
- type ReceiverStatus
- type ReceiversSpec
- type SecretKeySelector
- type ServiceReference
- type Sidecar
- type SlackConfig
- type SlackOptions
- type SlackReceiver
- type SmsConfig
- type SmsOptions
- type SmsReceiver
- type TLSConfig
- type TencentSMS
- type Throttle
- type ValueSource
- type WebhookConfig
- type WebhookOptions
- type WebhookReceiver
- type WechatConfig
- type WechatOptions
- type WechatReceiver
Constants ¶
const (
Tenant = "tenant"
)
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "notification.kubesphere.io", Version: "v2beta2"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
var ( PushoverDeviceRegex = regexp.MustCompile(`^[A-Za-z0-9_-]{1,25}$`) PushoverSounds = map[string]bool{"pushover": true, "bike": true, "bugle": true, "cashregister": true, "classical": true, "cosmic": true, "falling": true, "gamelan": true, "incoming": true, "intermission": true, "magic": true, "mechanical": true, "pianobar": true, "siren": true, "spacealarm": true, "tugboat": true, "alien": true, "climb": true, "persistent": true, "echo": true, "updown": true, "vibrate": true, "none": true} )
Functions ¶
This section is empty.
Types ¶
type AliyunSMS ¶
type AliyunSMS struct {
SignName string `json:"signName"`
TemplateCode string `json:"templateCode,omitempty"`
AccessKeyId *Credential `json:"accessKeyId"`
AccessKeySecret *Credential `json:"accessKeySecret"`
}
Sms Aliyun provider parameters
func (*AliyunSMS) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AliyunSMS.
func (*AliyunSMS) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BasicAuth ¶
type BasicAuth struct {
Username string `json:"username"`
Password *Credential `json:"password,omitempty"`
}
BasicAuth contains basic HTTP authentication credentials.
func (*BasicAuth) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BasicAuth.
func (*BasicAuth) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClientCertificate ¶
type ClientCertificate struct {
// The client cert file for the targets.
Cert *Credential `json:"cert"`
// The client key file for the targets.
Key *Credential `json:"key"`
}
func (*ClientCertificate) DeepCopy ¶
func (in *ClientCertificate) DeepCopy() *ClientCertificate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientCertificate.
func (*ClientCertificate) DeepCopyInto ¶
func (in *ClientCertificate) DeepCopyInto(out *ClientCertificate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Config ¶
type Config struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ConfigSpec `json:"spec,omitempty"`
Status ConfigStatus `json:"status,omitempty"`
}
Config is the Schema for the dingtalkconfigs API
func (*Config) ConvertFrom ¶
func (dst *Config) ConvertFrom(srcRaw conversion.Hub) error
ConvertFrom converts from the Hub version (v2beta1) to this version.
func (*Config) ConvertTo ¶
func (src *Config) ConvertTo(dstRaw conversion.Hub) error
ConvertTo converts this Config to the Hub version (v2beta1).
func (*Config) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Config.
func (*Config) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Config) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Config) SetupWebhookWithManager ¶
func (*Config) ValidateCreate ¶
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*Config) ValidateDelete ¶
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
type ConfigList ¶
type ConfigList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Config `json:"items"`
}
ConfigList contains a list of Config
func (*ConfigList) DeepCopy ¶
func (in *ConfigList) DeepCopy() *ConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigList.
func (*ConfigList) DeepCopyInto ¶
func (in *ConfigList) DeepCopyInto(out *ConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ConfigList) DeepCopyObject ¶
func (in *ConfigList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ConfigSpec ¶
type ConfigSpec struct {
DingTalk *DingTalkConfig `json:"dingtalk,omitempty"`
Email *EmailConfig `json:"email,omitempty"`
Slack *SlackConfig `json:"slack,omitempty"`
Webhook *WebhookConfig `json:"webhook,omitempty"`
Wechat *WechatConfig `json:"wechat,omitempty"`
Sms *SmsConfig `json:"sms,omitempty"`
Pushover *PushoverConfig `json:"pushover,omitempty"`
}
ConfigSpec defines the desired state of Config
func (*ConfigSpec) DeepCopy ¶
func (in *ConfigSpec) DeepCopy() *ConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigSpec.
func (*ConfigSpec) DeepCopyInto ¶
func (in *ConfigSpec) DeepCopyInto(out *ConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConfigStatus ¶
type ConfigStatus struct {
}
ConfigStatus defines the observed state of Config
func (*ConfigStatus) DeepCopy ¶
func (in *ConfigStatus) DeepCopy() *ConfigStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigStatus.
func (*ConfigStatus) DeepCopyInto ¶
func (in *ConfigStatus) DeepCopyInto(out *ConfigStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Credential ¶
type Credential struct {
// +optional
Value string `json:"value,omitempty" protobuf:"bytes,2,opt,name=value"`
ValueFrom *ValueSource `json:"valueFrom,omitempty" protobuf:"bytes,3,opt,name=valueFrom"`
}
func (*Credential) DeepCopy ¶
func (in *Credential) DeepCopy() *Credential
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Credential.
func (*Credential) DeepCopyInto ¶
func (in *Credential) DeepCopyInto(out *Credential)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DingTalkApplicationConfig ¶
type DingTalkApplicationConfig struct {
// The key of the application with which to send messages.
AppKey *Credential `json:"appkey"`
// The key in the secret to be used. Must be a valid secret key.
AppSecret *Credential `json:"appsecret"`
}
DingTalkApplicationConfig it th configuration of conversation
func (*DingTalkApplicationConfig) DeepCopy ¶
func (in *DingTalkApplicationConfig) DeepCopy() *DingTalkApplicationConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DingTalkApplicationConfig.
func (*DingTalkApplicationConfig) DeepCopyInto ¶
func (in *DingTalkApplicationConfig) DeepCopyInto(out *DingTalkApplicationConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DingTalkChatBot ¶
type DingTalkChatBot struct {
// The webhook of ChatBot which the message will send to.
Webhook *Credential `json:"webhook"`
// Custom keywords of ChatBot
Keywords []string `json:"keywords,omitempty"`
// Secret of ChatBot, you can get it after enabled Additional Signature of ChatBot.
Secret *Credential `json:"secret,omitempty"`
// The phone numbers of the users which will be @.
AtMobiles []string `json:"atMobiles,omitempty"`
// The users who will be @.
AtUsers []string `json:"atUsers,omitempty"`
// Whether @everyone.
AtAll bool `json:"atAll,omitempty"`
}
DingTalkChatBot is the configuration of ChatBot
func (*DingTalkChatBot) DeepCopy ¶
func (in *DingTalkChatBot) DeepCopy() *DingTalkChatBot
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DingTalkChatBot.
func (*DingTalkChatBot) DeepCopyInto ¶
func (in *DingTalkChatBot) DeepCopyInto(out *DingTalkChatBot)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DingTalkConfig ¶
type DingTalkConfig struct {
Labels map[string]string `json:"labels,omitempty"`
// Only needed when send alerts to the conversation.
Conversation *DingTalkApplicationConfig `json:"conversation,omitempty"`
}
func (*DingTalkConfig) DeepCopy ¶
func (in *DingTalkConfig) DeepCopy() *DingTalkConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DingTalkConfig.
func (*DingTalkConfig) DeepCopyInto ¶
func (in *DingTalkConfig) DeepCopyInto(out *DingTalkConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DingTalkConversation ¶
type DingTalkConversation struct {
ChatIDs []string `json:"chatids"`
}
DingTalkConversation of conversation
func (*DingTalkConversation) DeepCopy ¶
func (in *DingTalkConversation) DeepCopy() *DingTalkConversation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DingTalkConversation.
func (*DingTalkConversation) DeepCopyInto ¶
func (in *DingTalkConversation) DeepCopyInto(out *DingTalkConversation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DingTalkOptions ¶
type DingTalkOptions struct {
// Notification Sending Timeout
NotificationTimeout *int32 `json:"notificationTimeout,omitempty"`
// The name of the template to generate DingTalk message.
// If the global template is not set, it will use default.
Template string `json:"template,omitempty"`
// The name of the template to generate markdown title
TitleTemplate string `json:"titleTemplate,omitempty"`
// template type: text or markdown, default type is text
TmplType string `json:"tmplType,omitempty"`
// The time of token expired.
TokenExpires time.Duration `json:"tokenExpires,omitempty"`
// The maximum message size that can be sent to conversation in a request.
ConversationMessageMaxSize int `json:"conversationMessageMaxSize,omitempty"`
// The maximum message size that can be sent to chatbot in a request.
ChatbotMessageMaxSize int `json:"chatbotMessageMaxSize,omitempty"`
// The flow control fo chatbot.
ChatBotThrottle *Throttle `json:"chatBotThrottle,omitempty"`
// The flow control fo conversation.
ConversationThrottle *Throttle `json:"conversationThrottle,omitempty"`
}
func (*DingTalkOptions) DeepCopy ¶
func (in *DingTalkOptions) DeepCopy() *DingTalkOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DingTalkOptions.
func (*DingTalkOptions) DeepCopyInto ¶
func (in *DingTalkOptions) DeepCopyInto(out *DingTalkOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DingTalkReceiver ¶
type DingTalkReceiver struct {
// whether the receiver is enabled
Enabled *bool `json:"enabled,omitempty"`
// DingTalkConfig to be selected for this receiver
DingTalkConfigSelector *metav1.LabelSelector `json:"dingtalkConfigSelector,omitempty"`
// Selector to filter alerts.
AlertSelector *metav1.LabelSelector `json:"alertSelector,omitempty"`
// Be careful, a ChatBot only can send 20 message per minute.
ChatBot *DingTalkChatBot `json:"chatbot,omitempty"`
// The conversation which message will send to.
Conversation *DingTalkConversation `json:"conversation,omitempty"`
// The name of the template to generate DingTalk message.
// If the global template is not set, it will use default.
Template *string `json:"template,omitempty"`
// The name of the template to generate markdown title
TitleTemplate *string `json:"titleTemplate,omitempty"`
// template type: text or markdown
TmplType *string `json:"tmplType,omitempty"`
}
func (*DingTalkReceiver) DeepCopy ¶
func (in *DingTalkReceiver) DeepCopy() *DingTalkReceiver
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DingTalkReceiver.
func (*DingTalkReceiver) DeepCopyInto ¶
func (in *DingTalkReceiver) DeepCopyInto(out *DingTalkReceiver)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EmailConfig ¶
type EmailConfig struct {
Labels map[string]string `json:"labels,omitempty"`
// The sender address.
From string `json:"from"`
// The address of the SMTP server.
SmartHost HostPort `json:"smartHost"`
// The hostname to use when identifying to the SMTP server.
Hello *string `json:"hello,omitempty"`
// The username for CRAM-MD5, LOGIN and PLAIN authentications.
AuthUsername *string `json:"authUsername,omitempty"`
// The identity for PLAIN authentication.
AuthIdentify *string `json:"authIdentify,omitempty"`
// The secret contains the SMTP password for LOGIN and PLAIN authentications.
AuthPassword *Credential `json:"authPassword,omitempty"`
// The secret contains the SMTP secret for CRAM-MD5 authentication.
AuthSecret *Credential `json:"authSecret,omitempty"`
// The default SMTP TLS requirement.
RequireTLS *bool `json:"requireTLS,omitempty"`
TLS *TLSConfig `json:"tls,omitempty"`
}
func (*EmailConfig) DeepCopy ¶
func (in *EmailConfig) DeepCopy() *EmailConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EmailConfig.
func (*EmailConfig) DeepCopyInto ¶
func (in *EmailConfig) DeepCopyInto(out *EmailConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EmailOptions ¶
type EmailOptions struct {
// Notification Sending Timeout
NotificationTimeout *int32 `json:"notificationTimeout,omitempty"`
// Deprecated
DeliveryType string `json:"deliveryType,omitempty"`
// The maximum size of receivers in one email.
MaxEmailReceivers int `json:"maxEmailReceivers,omitempty"`
// The name of the template to generate email message.
// If the global template is not set, it will use default.
Template string `json:"template,omitempty"`
// The name of the template to generate email subject
SubjectTemplate string `json:"subjectTemplate,omitempty"`
// template type: text or html, default type is html
TmplType string `json:"tmplType,omitempty"`
}
func (*EmailOptions) DeepCopy ¶
func (in *EmailOptions) DeepCopy() *EmailOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EmailOptions.
func (*EmailOptions) DeepCopyInto ¶
func (in *EmailOptions) DeepCopyInto(out *EmailOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EmailReceiver ¶
type EmailReceiver struct {
// whether the receiver is enabled
Enabled *bool `json:"enabled,omitempty"`
// Receivers' email addresses
To []string `json:"to"`
// EmailConfig to be selected for this receiver
EmailConfigSelector *metav1.LabelSelector `json:"emailConfigSelector,omitempty"`
// Selector to filter alerts.
AlertSelector *metav1.LabelSelector `json:"alertSelector,omitempty"`
// The name of the template to generate DingTalk message.
// If the global template is not set, it will use default.
Template *string `json:"template,omitempty"`
// The name of the template to generate email subject
SubjectTemplate *string `json:"subjectTemplate,omitempty"`
// template type: text or html, default type is html
TmplType *string `json:"tmplType,omitempty"`
}
func (*EmailReceiver) DeepCopy ¶
func (in *EmailReceiver) DeepCopy() *EmailReceiver
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EmailReceiver.
func (*EmailReceiver) DeepCopyInto ¶
func (in *EmailReceiver) DeepCopyInto(out *EmailReceiver)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GlobalOptions ¶
type GlobalOptions struct {
// Template file path, must be a absolute path.
TemplateFiles []string `json:"templateFile,omitempty"`
// The name of the template to generate message.
// If the receiver dose not setup template, it will use this.
Template string `json:"template,omitempty"`
// The name of the cluster in which the notification manager is deployed.
Cluster string `json:"cluster,omitempty"`
}
func (*GlobalOptions) DeepCopy ¶
func (in *GlobalOptions) DeepCopy() *GlobalOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalOptions.
func (*GlobalOptions) DeepCopyInto ¶
func (in *GlobalOptions) DeepCopyInto(out *GlobalOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HTTPClientConfig ¶
type HTTPClientConfig struct {
// The HTTP basic authentication credentials for the targets.
BasicAuth *BasicAuth `json:"basicAuth,omitempty"`
// The bearer token for the targets.
BearerToken *Credential `json:"bearerToken,omitempty"`
// HTTP proxy server to use to connect to the targets.
ProxyURL string `json:"proxyUrl,omitempty"`
// TLSConfig to use to connect to the targets.
TLSConfig *TLSConfig `json:"tlsConfig,omitempty"`
}
HTTPClientConfig configures an HTTP client.
func (*HTTPClientConfig) DeepCopy ¶
func (in *HTTPClientConfig) DeepCopy() *HTTPClientConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPClientConfig.
func (*HTTPClientConfig) DeepCopyInto ¶
func (in *HTTPClientConfig) DeepCopyInto(out *HTTPClientConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HostPort ¶
func (*HostPort) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostPort.
func (*HostPort) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HuaweiSMS ¶ added in v1.3.0
type HuaweiSMS struct {
Url string `json:"url,omitempty"`
Signature string `json:"signature"`
TemplateId string `json:"templateId"`
Sender string `json:"sender"`
AppSecret *Credential `json:"appSecret"`
AppKey *Credential `json:"appKey"`
}
Sms huawei provider parameters
func (*HuaweiSMS) DeepCopy ¶ added in v1.3.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HuaweiSMS.
func (*HuaweiSMS) DeepCopyInto ¶ added in v1.3.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NotificationManager ¶
type NotificationManager struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec NotificationManagerSpec `json:"spec,omitempty"`
Status NotificationManagerStatus `json:"status,omitempty"`
}
NotificationManager is the Schema for the notificationmanagers API
func (*NotificationManager) DeepCopy ¶
func (in *NotificationManager) DeepCopy() *NotificationManager
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NotificationManager.
func (*NotificationManager) DeepCopyInto ¶
func (in *NotificationManager) DeepCopyInto(out *NotificationManager)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NotificationManager) DeepCopyObject ¶
func (in *NotificationManager) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type NotificationManagerList ¶
type NotificationManagerList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []NotificationManager `json:"items"`
}
NotificationManagerList contains a list of NotificationManager
func (*NotificationManagerList) DeepCopy ¶
func (in *NotificationManagerList) DeepCopy() *NotificationManagerList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NotificationManagerList.
func (*NotificationManagerList) DeepCopyInto ¶
func (in *NotificationManagerList) DeepCopyInto(out *NotificationManagerList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NotificationManagerList) DeepCopyObject ¶
func (in *NotificationManagerList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type NotificationManagerSpec ¶
type NotificationManagerSpec struct {
// Compute Resources required by container.
Resources v1.ResourceRequirements `json:"resources,omitempty"`
// Docker Image used to start Notification Manager container,
// for example kubesphere/notification-manager:v0.1.0
Image *string `json:"image,omitempty"`
// Image pull policy. One of Always, Never, IfNotPresent.
// Defaults to IfNotPresent if not specified
ImagePullPolicy *v1.PullPolicy `json:"imagePullPolicy,omitempty"`
// Number of instances to deploy for Notification Manager deployment.
Replicas *int32 `json:"replicas,omitempty"`
// Define which Nodes the Pods will be scheduled to.
NodeSelector map[string]string `json:"nodeSelector,omitempty"`
// Pod's scheduling constraints.
Affinity *v1.Affinity `json:"affinity,omitempty"`
// Pod's toleration.
Tolerations []v1.Toleration `json:"tolerations,omitempty"`
// ServiceAccountName is the name of the ServiceAccount to use to run Notification Manager Pods.
// ServiceAccount 'default' in notification manager's namespace will be used if not specified.
ServiceAccountName string `json:"serviceAccountName,omitempty"`
// Port name used for the pods and service, defaults to webhook
PortName string `json:"portName,omitempty"`
// Default Email/Wechat/Slack/Webhook Config to be selected
DefaultConfigSelector *metav1.LabelSelector `json:"defaultConfigSelector,omitempty"`
// Receivers to send notifications to
Receivers *ReceiversSpec `json:"receivers"`
// The default namespace to which notification manager secrets belong.
DefaultSecretNamespace string `json:"defaultSecretNamespace,omitempty"`
// List of volumes that can be mounted by containers belonging to the pod.
Volumes []v1.Volume `json:"volumes,omitempty"`
// Pod volumes to mount into the container's filesystem.
// Cannot be updated.
VolumeMounts []v1.VolumeMount `json:"volumeMounts,omitempty"`
// Arguments to the entrypoint.
// The docker image's CMD is used if this is not provided.
// +optional
Args []string `json:"args,omitempty"`
// Sidecar containers. The key is the type of sidecar, known value include: tenant.
// Tenant sidecar used to manage the tenants which will receive notifications.
// It needs to provide the API `/api/v2/tenant` at port `19094`, this api receives
// a parameter `namespace` and return all tenants which need to receive notifications in this namespace.
Sidecars map[string]*Sidecar `json:"sidecars,omitempty"`
}
NotificationManagerSpec defines the desired state of NotificationManager
func (*NotificationManagerSpec) DeepCopy ¶
func (in *NotificationManagerSpec) DeepCopy() *NotificationManagerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NotificationManagerSpec.
func (*NotificationManagerSpec) DeepCopyInto ¶
func (in *NotificationManagerSpec) DeepCopyInto(out *NotificationManagerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NotificationManagerStatus ¶
type NotificationManagerStatus struct {
}
NotificationManagerStatus defines the observed state of NotificationManager
func (*NotificationManagerStatus) DeepCopy ¶
func (in *NotificationManagerStatus) DeepCopy() *NotificationManagerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NotificationManagerStatus.
func (*NotificationManagerStatus) DeepCopyInto ¶
func (in *NotificationManagerStatus) DeepCopyInto(out *NotificationManagerStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Options ¶
type Options struct {
Global *GlobalOptions `json:"global,omitempty"`
Email *EmailOptions `json:"email,omitempty"`
Wechat *WechatOptions `json:"wechat,omitempty"`
Slack *SlackOptions `json:"slack,omitempty"`
Webhook *WebhookOptions `json:"webhook,omitempty"`
DingTalk *DingTalkOptions `json:"dingtalk,omitempty"`
Sms *SmsOptions `json:"sms,omitempty"`
Pushover *PushoverOptions `json:"pushover,omitempty"`
}
func (*Options) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Options.
func (*Options) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Providers ¶
type Providers struct {
Aliyun *AliyunSMS `json:"aliyun,omitempty"`
Tencent *TencentSMS `json:"tencent,omitempty"`
Huawei *HuaweiSMS `json:"huawei,omitempty"`
}
func (*Providers) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Providers.
func (*Providers) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PushoverConfig ¶ added in v1.3.0
type PushoverConfig struct {
Labels map[string]string `json:"labels,omitempty"`
// The token of a pushover application.
PushoverTokenSecret *Credential `json:"pushoverTokenSecret"`
}
func (*PushoverConfig) DeepCopy ¶ added in v1.3.0
func (in *PushoverConfig) DeepCopy() *PushoverConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PushoverConfig.
func (*PushoverConfig) DeepCopyInto ¶ added in v1.3.0
func (in *PushoverConfig) DeepCopyInto(out *PushoverConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PushoverOptions ¶ added in v1.3.0
type PushoverOptions struct {
// Notification Sending Timeout
NotificationTimeout *int32 `json:"notificationTimeout,omitempty"`
// The name of the template to generate pushover message.
// If the global template is not set, it will use default.
Template string `json:"template,omitempty"`
}
func (*PushoverOptions) DeepCopy ¶ added in v1.3.0
func (in *PushoverOptions) DeepCopy() *PushoverOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PushoverOptions.
func (*PushoverOptions) DeepCopyInto ¶ added in v1.3.0
func (in *PushoverOptions) DeepCopyInto(out *PushoverOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PushoverReceiver ¶ added in v1.3.0
type PushoverReceiver struct {
// whether the receiver is enabled
Enabled *bool `json:"enabled,omitempty"`
// PushoverConfig to be selected for this receiver
PushoverConfigSelector *metav1.LabelSelector `json:"pushoverConfigSelector,omitempty"`
// Selector to filter alerts.
AlertSelector *metav1.LabelSelector `json:"alertSelector,omitempty"`
// The name of the template to generate DingTalk message.
// If the global template is not set, it will use default.
Template *string `json:"template,omitempty"`
// The users profile.
Profiles []*PushoverUserProfile `json:"profiles"`
}
func (*PushoverReceiver) DeepCopy ¶ added in v1.3.0
func (in *PushoverReceiver) DeepCopy() *PushoverReceiver
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PushoverReceiver.
func (*PushoverReceiver) DeepCopyInto ¶ added in v1.3.0
func (in *PushoverReceiver) DeepCopyInto(out *PushoverReceiver)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PushoverUserProfile ¶ added in v1.3.0
type PushoverUserProfile struct {
// UserKey is the user (Pushover User Key) to send notifications to.
// +kubebuilder:validation:Pattern=`^[A-Za-z0-9]{30}$`
UserKey *string `json:"userKey"`
// Devices refers to device name to send the message directly to that device, rather than all of the user's devices
Devices []string `json:"devices,omitempty"`
// Title refers to message's title, otherwise your app's name is used.
Title *string `json:"title,omitempty"`
// Sound refers to the name of one of the sounds (https://pushover.net/api#sounds) supported by device clients
Sound *string `json:"sound,omitempty"`
}
PushoverUserProfile includes userKey and other preferences
func (*PushoverUserProfile) DeepCopy ¶ added in v1.3.0
func (in *PushoverUserProfile) DeepCopy() *PushoverUserProfile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PushoverUserProfile.
func (*PushoverUserProfile) DeepCopyInto ¶ added in v1.3.0
func (in *PushoverUserProfile) DeepCopyInto(out *PushoverUserProfile)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Receiver ¶
type Receiver struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ReceiverSpec `json:"spec,omitempty"`
Status ReceiverStatus `json:"status,omitempty"`
}
Receiver is the Schema for the receivers API
func (*Receiver) ConvertFrom ¶
func (dst *Receiver) ConvertFrom(srcRaw conversion.Hub) error
ConvertFrom converts from the Hub version (v2beta1) to this version.
func (*Receiver) ConvertTo ¶
func (src *Receiver) ConvertTo(dstRaw conversion.Hub) error
ConvertTo converts this Config to the Hub version (v2beta1).
func (*Receiver) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Receiver.
func (*Receiver) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Receiver) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Receiver) SetupWebhookWithManager ¶
func (*Receiver) ValidateCreate ¶
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*Receiver) ValidateDelete ¶
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
type ReceiverList ¶
type ReceiverList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Receiver `json:"items"`
}
ReceiverList contains a list of Receiver
func (*ReceiverList) DeepCopy ¶
func (in *ReceiverList) DeepCopy() *ReceiverList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReceiverList.
func (*ReceiverList) DeepCopyInto ¶
func (in *ReceiverList) DeepCopyInto(out *ReceiverList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ReceiverList) DeepCopyObject ¶
func (in *ReceiverList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ReceiverSpec ¶
type ReceiverSpec struct {
DingTalk *DingTalkReceiver `json:"dingtalk,omitempty"`
Email *EmailReceiver `json:"email,omitempty"`
Slack *SlackReceiver `json:"slack,omitempty"`
Webhook *WebhookReceiver `json:"webhook,omitempty"`
Wechat *WechatReceiver `json:"wechat,omitempty"`
Sms *SmsReceiver `json:"sms,omitempty"`
Pushover *PushoverReceiver `json:"pushover,omitempty"`
}
ReceiverSpec defines the desired state of Receiver
func (*ReceiverSpec) DeepCopy ¶
func (in *ReceiverSpec) DeepCopy() *ReceiverSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReceiverSpec.
func (*ReceiverSpec) DeepCopyInto ¶
func (in *ReceiverSpec) DeepCopyInto(out *ReceiverSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ReceiverStatus ¶
type ReceiverStatus struct {
}
ReceiverStatus defines the observed state of Receiver
func (*ReceiverStatus) DeepCopy ¶
func (in *ReceiverStatus) DeepCopy() *ReceiverStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReceiverStatus.
func (*ReceiverStatus) DeepCopyInto ¶
func (in *ReceiverStatus) DeepCopyInto(out *ReceiverStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ReceiversSpec ¶
type ReceiversSpec struct {
// Key used to identify tenant, default to be "namespace" if not specified
TenantKey string `json:"tenantKey"`
// Selector to find global notification receivers
// which will be used when tenant receivers cannot be found.
// Only matchLabels expression is allowed.
GlobalReceiverSelector *metav1.LabelSelector `json:"globalReceiverSelector"`
// Selector to find tenant notification receivers.
// Only matchLabels expression is allowed.
TenantReceiverSelector *metav1.LabelSelector `json:"tenantReceiverSelector"`
// Various receiver options
Options *Options `json:"options,omitempty"`
}
func (*ReceiversSpec) DeepCopy ¶
func (in *ReceiversSpec) DeepCopy() *ReceiversSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReceiversSpec.
func (*ReceiversSpec) DeepCopyInto ¶
func (in *ReceiversSpec) DeepCopyInto(out *ReceiversSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecretKeySelector ¶
type SecretKeySelector struct {
// The namespace of the secret, default to the `defaultSecretNamespace` of `NotificationManager` crd.
// If the `defaultSecretNamespace` does not set, default to the pod's namespace.
// +optional
Namespace string `json:"namespace,omitempty" protobuf:"bytes,1,opt,name=namespace"`
// Name of the secret.
Name string `json:"name" protobuf:"bytes,1,opt,name=name"`
// The key of the secret to select from. Must be a valid secret key.
Key string `json:"key" protobuf:"bytes,2,opt,name=key"`
}
SecretKeySelector selects a key of a Secret.
func (*SecretKeySelector) DeepCopy ¶
func (in *SecretKeySelector) DeepCopy() *SecretKeySelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretKeySelector.
func (*SecretKeySelector) DeepCopyInto ¶
func (in *SecretKeySelector) DeepCopyInto(out *SecretKeySelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceReference ¶
type ServiceReference struct {
// `namespace` is the namespace of the service.
// Required
Namespace string `json:"namespace"`
// `name` is the name of the service.
// Required
Name string `json:"name"`
// `path` is an optional URL path which will be sent in any request to
// this service.
// +optional
Path *string `json:"path,omitempty"`
// If specified, the port on the service that hosting webhook.
// Default to 443 for backward compatibility.
// `port` should be a valid port number (1-65535, inclusive).
// +optional
Port *int32 `json:"port,omitempty"`
// Http scheme, default is http.
// +optional
Scheme *string `json:"scheme,omitempty"`
}
ServiceReference holds a reference to Service.legacy.k8s.io
func (*ServiceReference) DeepCopy ¶
func (in *ServiceReference) DeepCopy() *ServiceReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceReference.
func (*ServiceReference) DeepCopyInto ¶
func (in *ServiceReference) DeepCopyInto(out *ServiceReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Sidecar ¶
type Sidecar struct {
// The type of sidecar, it can be specified to any value.
// Notification manager built-in sidecar for KubeSphere,
// It can be used with set `type` to `kubesphere`.
Type string `json:"type" protobuf:"bytes,2,opt,name=type"`
// Container of sidecar.
*v1.Container `json:",inline"`
}
Sidecar defines a sidecar container which will be add to the notification manager deployment pod.
func (*Sidecar) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Sidecar.
func (*Sidecar) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SlackConfig ¶
type SlackConfig struct {
Labels map[string]string `json:"labels,omitempty"`
// The token of user or bot.
SlackTokenSecret *Credential `json:"slackTokenSecret"`
}
func (*SlackConfig) DeepCopy ¶
func (in *SlackConfig) DeepCopy() *SlackConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SlackConfig.
func (*SlackConfig) DeepCopyInto ¶
func (in *SlackConfig) DeepCopyInto(out *SlackConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SlackOptions ¶
type SlackOptions struct {
// Notification Sending Timeout
NotificationTimeout *int32 `json:"notificationTimeout,omitempty"`
// The name of the template to generate slack message.
// If the global template is not set, it will use default.
Template string `json:"template,omitempty"`
}
func (*SlackOptions) DeepCopy ¶
func (in *SlackOptions) DeepCopy() *SlackOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SlackOptions.
func (*SlackOptions) DeepCopyInto ¶
func (in *SlackOptions) DeepCopyInto(out *SlackOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SlackReceiver ¶
type SlackReceiver struct {
// whether the receiver is enabled
Enabled *bool `json:"enabled,omitempty"`
// SlackConfig to be selected for this receiver
SlackConfigSelector *metav1.LabelSelector `json:"slackConfigSelector,omitempty"`
// Selector to filter alerts.
AlertSelector *metav1.LabelSelector `json:"alertSelector,omitempty"`
// The channel or user to send notifications to.
Channels []string `json:"channels"`
// The name of the template to generate DingTalk message.
// If the global template is not set, it will use default.
Template *string `json:"template,omitempty"`
}
func (*SlackReceiver) DeepCopy ¶
func (in *SlackReceiver) DeepCopy() *SlackReceiver
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SlackReceiver.
func (*SlackReceiver) DeepCopyInto ¶
func (in *SlackReceiver) DeepCopyInto(out *SlackReceiver)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SmsConfig ¶
type SmsConfig struct {
// The default sms provider, optional, use the first provider if not set
DefaultProvider string `json:"defaultProvider,omitempty"`
// All sms providers
Providers *Providers `json:"providers"`
}
func (*SmsConfig) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SmsConfig.
func (*SmsConfig) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SmsOptions ¶
type SmsOptions struct {
// Notification Sending Timeout
NotificationTimeout *int32 `json:"notificationTimeout,omitempty"`
// The name of the template to generate sms message.
// If the global template is not set, it will use default.
Template string `json:"template,omitempty"`
}
func (*SmsOptions) DeepCopy ¶
func (in *SmsOptions) DeepCopy() *SmsOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SmsOptions.
func (*SmsOptions) DeepCopyInto ¶
func (in *SmsOptions) DeepCopyInto(out *SmsOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SmsReceiver ¶
type SmsReceiver struct {
// whether the receiver is enabled
Enabled *bool `json:"enabled,omitempty"`
// SmsConfig to be selected for this receiver
SmsConfigSelector *metav1.LabelSelector `json:"smsConfigSelector,omitempty"`
// Selector to filter alerts.
AlertSelector *metav1.LabelSelector `json:"alertSelector,omitempty"`
// Receivers' phone numbers
PhoneNumbers []string `json:"phoneNumbers"`
// The name of the template to generate Sms message.
// If the global template is not set, it will use default.
Template *string `json:"template,omitempty"`
}
func (*SmsReceiver) DeepCopy ¶
func (in *SmsReceiver) DeepCopy() *SmsReceiver
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SmsReceiver.
func (*SmsReceiver) DeepCopyInto ¶
func (in *SmsReceiver) DeepCopyInto(out *SmsReceiver)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TLSConfig ¶
type TLSConfig struct {
// RootCA defines the root certificate authorities
// that clients use when verifying server certificates.
RootCA *Credential `json:"rootCA,omitempty"`
// The certificate of the client.
*ClientCertificate `json:"clientCertificate,omitempty"`
// Used to verify the hostname for the targets.
ServerName string `json:"serverName,omitempty"`
// Disable target certificate validation.
InsecureSkipVerify bool `json:"insecureSkipVerify,omitempty"`
}
TLSConfig configures the options for TLS connections.
func (*TLSConfig) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSConfig.
func (*TLSConfig) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TencentSMS ¶
type TencentSMS struct {
Sign string `json:"sign"`
TemplateID string `json:"templateID"`
SmsSdkAppid string `json:"smsSdkAppid"`
SecretId *Credential `json:"secretId"`
SecretKey *Credential `json:"secretKey"`
}
Sms tencent provider parameters
func (*TencentSMS) DeepCopy ¶
func (in *TencentSMS) DeepCopy() *TencentSMS
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TencentSMS.
func (*TencentSMS) DeepCopyInto ¶
func (in *TencentSMS) DeepCopyInto(out *TencentSMS)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Throttle ¶
type Throttle struct {
// The maximum calls in `Unit`.
Threshold int `json:"threshold,omitempty"`
Unit time.Duration `json:"unit,omitempty"`
// The maximum tolerable waiting time when the calls trigger flow control, if the actual waiting time is more than this time, it will
// return a error, else it will wait for the flow restriction lifted, and send the message.
// Nil means do not wait, the maximum value is `Unit`.
MaxWaitTime time.Duration `json:"maxWaitTime,omitempty"`
}
Throttle is the config of flow control.
func (*Throttle) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Throttle.
func (*Throttle) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ValueSource ¶
type ValueSource struct {
// Selects a key of a secret in the pod's namespace
// +optional
SecretKeyRef *SecretKeySelector `json:"secretKeyRef,omitempty" protobuf:"bytes,4,opt,name=secretKeyRef"`
}
func (*ValueSource) DeepCopy ¶
func (in *ValueSource) DeepCopy() *ValueSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ValueSource.
func (*ValueSource) DeepCopyInto ¶
func (in *ValueSource) DeepCopyInto(out *ValueSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WebhookConfig ¶
func (*WebhookConfig) DeepCopy ¶
func (in *WebhookConfig) DeepCopy() *WebhookConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebhookConfig.
func (*WebhookConfig) DeepCopyInto ¶
func (in *WebhookConfig) DeepCopyInto(out *WebhookConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WebhookOptions ¶
type WebhookOptions struct {
// Notification Sending Timeout
NotificationTimeout *int32 `json:"notificationTimeout,omitempty"`
// The name of the template to generate webhook message.
// If the global template is not set, it will use default.
Template string `json:"template,omitempty"`
}
func (*WebhookOptions) DeepCopy ¶
func (in *WebhookOptions) DeepCopy() *WebhookOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebhookOptions.
func (*WebhookOptions) DeepCopyInto ¶
func (in *WebhookOptions) DeepCopyInto(out *WebhookOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WebhookReceiver ¶
type WebhookReceiver struct {
// whether the receiver is enabled
Enabled *bool `json:"enabled,omitempty"`
// WebhookConfig to be selected for this receiver
WebhookConfigSelector *metav1.LabelSelector `json:"webhookConfigSelector,omitempty"`
// Selector to filter alerts.
AlertSelector *metav1.LabelSelector `json:"alertSelector,omitempty"`
// `url` gives the location of the webhook, in standard URL form
// (`scheme://host:port/path`). Exactly one of `url` or `service`
// must be specified.
//
// The `host` should not refer to a service running in the cluster; use
// the `service` field instead. The host might be resolved via external
// DNS in some api servers (e.g., `kube-apiserver` cannot resolve
// in-cluster DNS as that would be a layering violation). `host` may
// also be an IP address.
//
// Please note that using `localhost` or `127.0.0.1` as a `host` is
// risky unless you take great care to run this webhook on all hosts
// which run an apiserver which might need to make calls to this
// webhook. Such installs are likely to be non-portable, i.e., not easy
// to turn up in a new cluster.
//
// A path is optional, and if present may be any string permissible in
// a URL. You may use the path to pass an arbitrary string to the
// webhook, for example, a cluster identifier.
//
// Attempting to use a user or basic auth e.g. "user:password@" is not
// allowed. Fragments ("#...") and query parameters ("?...") are not
// allowed, either.
//
// +optional
URL *string `json:"url,omitempty"`
// `service` is a reference to the service for this webhook. Either
// `service` or `url` must be specified.
//
// If the webhook is running within the cluster, then you should use `service`.
//
// +optional
Service *ServiceReference `json:"service,omitempty"`
HTTPConfig *HTTPClientConfig `json:"httpConfig,omitempty"`
// The name of the template to generate DingTalk message.
// If the global template is not set, it will use default.
Template *string `json:"template,omitempty"`
}
func (*WebhookReceiver) DeepCopy ¶
func (in *WebhookReceiver) DeepCopy() *WebhookReceiver
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebhookReceiver.
func (*WebhookReceiver) DeepCopyInto ¶
func (in *WebhookReceiver) DeepCopyInto(out *WebhookReceiver)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WechatConfig ¶
type WechatConfig struct {
Labels map[string]string `json:"labels,omitempty"`
// The WeChat API URL.
WechatApiUrl string `json:"wechatApiUrl,omitempty"`
// The corp id for authentication.
WechatApiCorpId string `json:"wechatApiCorpId"`
// The id of the application which sending message.
WechatApiAgentId string `json:"wechatApiAgentId"`
// The API key to use when talking to the WeChat API.
WechatApiSecret *Credential `json:"wechatApiSecret"`
}
func (*WechatConfig) DeepCopy ¶
func (in *WechatConfig) DeepCopy() *WechatConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WechatConfig.
func (*WechatConfig) DeepCopyInto ¶
func (in *WechatConfig) DeepCopyInto(out *WechatConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WechatOptions ¶
type WechatOptions struct {
// Notification Sending Timeout
NotificationTimeout *int32 `json:"notificationTimeout,omitempty"`
// The name of the template to generate wechat message.
Template string `json:"template,omitempty"`
// template type: text or markdown, default type is text
TmplType string `json:"tmplType,omitempty"`
// The maximum message size that can be sent in a request.
MessageMaxSize int `json:"messageMaxSize,omitempty"`
// The time of token expired.
TokenExpires time.Duration `json:"tokenExpires,omitempty"`
}
func (*WechatOptions) DeepCopy ¶
func (in *WechatOptions) DeepCopy() *WechatOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WechatOptions.
func (*WechatOptions) DeepCopyInto ¶
func (in *WechatOptions) DeepCopyInto(out *WechatOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WechatReceiver ¶
type WechatReceiver struct {
// whether the receiver is enabled
Enabled *bool `json:"enabled,omitempty"`
// WechatConfig to be selected for this receiver
WechatConfigSelector *metav1.LabelSelector `json:"wechatConfigSelector,omitempty"`
// Selector to filter alerts.
AlertSelector *metav1.LabelSelector `json:"alertSelector,omitempty"`
// +optional
ToUser []string `json:"toUser,omitempty"`
ToParty []string `json:"toParty,omitempty"`
ToTag []string `json:"toTag,omitempty"`
// The name of the template to generate DingTalk message.
// If the global template is not set, it will use default.
Template *string `json:"template,omitempty"`
// template type: text or markdown, default type is text
TmplType *string `json:"tmplType,omitempty"`
}
func (*WechatReceiver) DeepCopy ¶
func (in *WechatReceiver) DeepCopy() *WechatReceiver
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WechatReceiver.
func (*WechatReceiver) DeepCopyInto ¶
func (in *WechatReceiver) DeepCopyInto(out *WechatReceiver)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.