v2beta1

package
v0.0.0-...-c9a0395 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 7, 2023 License: Apache-2.0 Imports: 6 Imported by: 23

Documentation

Overview

Package v2beta1 contains API Schema definitions for the notification v2beta1 API group +groupName=notification.kubesphere.io +genclient +genclient:nonNamespaced

Package v2beta1 contains API Schema definitions for the notification v2beta1 API group +kubebuilder:object:generate=true +groupName=notification.kubesphere.io

Index

Constants

View Source
const (
	ResourceKindConfig      = "Configs"
	ResourcesSingularConfig = "config"
	ResourcesPluralConfig   = "configs"

	ResourceKindReceiver      = "Receiver"
	ResourcesSingularReceiver = "receiver"
	ResourcesPluralReceiver   = "receivers"
)

Variables

View Source
var (
	// SchemeGroupVersion is group version used to register these objects
	SchemeGroupVersion = schema.GroupVersion{Group: "notification.kubesphere.io", Version: "v2beta1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion}

	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

func Resource

func Resource(resource string) schema.GroupResource

Types

type BasicAuth

type BasicAuth struct {
	Username string             `json:"username"`
	Password *SecretKeySelector `json:"password,omitempty"`
}

BasicAuth contains basic HTTP authentication credentials.

func (*BasicAuth) DeepCopy

func (in *BasicAuth) DeepCopy() *BasicAuth

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BasicAuth.

func (*BasicAuth) DeepCopyInto

func (in *BasicAuth) DeepCopyInto(out *BasicAuth)

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 *SecretKeySelector `json:"cert,omitempty"`
	// The client key file for the targets.
	Key *SecretKeySelector `json:"key,omitempty"`
}

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 configs API

func (*Config) DeepCopy

func (in *Config) DeepCopy() *Config

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Config.

func (*Config) DeepCopyInto

func (in *Config) DeepCopyInto(out *Config)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Config) DeepCopyObject

func (in *Config) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Config) Hub

func (_ *Config) Hub()

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"`
}

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 DingTalkApplicationConfig

type DingTalkApplicationConfig struct {
	// The key of the application with which to send messages.
	AppKey *SecretKeySelector `json:"appkey,omitempty"`
	// The key in the secret to be used. Must be a valid secret key.
	AppSecret *SecretKeySelector `json:"appsecret,omitempty"`
}

Configuration of conversation

func (*DingTalkApplicationConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DingTalkApplicationConfig.

func (*DingTalkApplicationConfig) DeepCopyInto

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 *SecretKeySelector `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 *SecretKeySelector `json:"secret,omitempty"`
}

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"`
}

Configuration of conversation

func (*DingTalkConversation) DeepCopy

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 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"`
}

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 *SecretKeySelector `json:"authPassword,omitempty"`
	// The secret contains the SMTP secret for CRAM-MD5 authentication.
	AuthSecret *SecretKeySelector `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"`
	// Type of sending email, bulk or single
	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"`
}

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"`
}

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 *SecretKeySelector `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

type HostPort struct {
	Host string `json:"host"`
	Port int    `json:"port"`
}

func (*HostPort) DeepCopy

func (in *HostPort) DeepCopy() *HostPort

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostPort.

func (*HostPort) DeepCopyInto

func (in *HostPort) DeepCopyInto(out *HostPort)

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

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 tolerations.
	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.
	// Variable references $(VAR_NAME) are expanded using the container's environment. If a variable
	// cannot be resolved, the reference in the input string will remain unchanged. The $(VAR_NAME) syntax
	// can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
	// regardless of whether the variable exists or not.
	// Cannot be updated.
	// +optional
	Args []string `json:"args,omitempty"`
}

NotificationManagerSpec defines the desired state of NotificationManager

func (*NotificationManagerSpec) DeepCopy

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

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NotificationManagerStatus.

func (*NotificationManagerStatus) DeepCopyInto

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"`
}

func (*Options) DeepCopy

func (in *Options) DeepCopy() *Options

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Options.

func (*Options) DeepCopyInto

func (in *Options) DeepCopyInto(out *Options)

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"`
}

+kubebuilder:object:root=true +kubebuilder:resource:scope=Cluster,shortName=nr,categories=notification-manager +kubebuilder:subresource:status +genclient +genclient:nonNamespaced Receiver is the Schema for the receivers API

func (*Receiver) DeepCopy

func (in *Receiver) DeepCopy() *Receiver

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Receiver.

func (*Receiver) DeepCopyInto

func (in *Receiver) DeepCopyInto(out *Receiver)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Receiver) DeepCopyObject

func (in *Receiver) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Receiver) Hub

func (_ *Receiver) Hub()

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"`
}

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 pod's namespace.
	// +optional
	Namespace string `json:"namespace,omitempty" protobuf:"bytes,1,opt,name=namespace"`
	// Name of the secret.
	// +optional
	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 SlackConfig

type SlackConfig struct {
	Labels map[string]string `json:"labels,omitempty"`
	// The token of user or bot.
	SlackTokenSecret *SecretKeySelector `json:"slackTokenSecret,omitempty"`
}

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"`
}

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 TLSConfig

type TLSConfig struct {
	// RootCA defines the root certificate authorities
	// that clients use when verifying server certificates.
	RootCA *SecretKeySelector `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

func (in *TLSConfig) DeepCopy() *TLSConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSConfig.

func (*TLSConfig) DeepCopyInto

func (in *TLSConfig) DeepCopyInto(out *TLSConfig)

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"`
}

The config of flow control.

func (*Throttle) DeepCopy

func (in *Throttle) DeepCopy() *Throttle

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Throttle.

func (*Throttle) DeepCopyInto

func (in *Throttle) DeepCopyInto(out *Throttle)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WebhookConfig

type WebhookConfig struct {
	Labels map[string]string `json:"labels,omitempty"`
}

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"`
}

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 *SecretKeySelector `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"`
	// 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"`
}

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL