Documentation
¶
Overview ¶
Embeds in `api_types.go“: - root level AlertManager configurations & configuration types - notifier configurations
Repo : github.com/prometheus/alertmanager Path: - config/config.go - config/notifiers.go Changelist : 1) Secret/SecretURL fields are marshalled and unmarshalled as strings 2) We extend methods on each notifier struct in this package's receiver.go/message.go file.
Index ¶
- Variables
- type Alert
- type Alerts
- type Config
- type DiscordConfig
- type EmailConfig
- func (c *EmailConfig) Clone() OpniReceiver
- func (c *EmailConfig) Configure(endp *alertingv1.AlertEndpoint) OpniReceiver
- func (c *EmailConfig) ExtractMessage() *alertingv1.EndpointImplementation
- func (c *EmailConfig) InternalId() string
- func (c *EmailConfig) MarshalYAML() ([]byte, error)
- func (c *EmailConfig) StoreMessage(details *alertingv1.EndpointImplementation)
- func (c *EmailConfig) UnmarshalYAML(unmarshal func(interface{}) error) error
- type GlobalConfig
- type HostPort
- type InhibitRule
- type MatchRegexps
- type Matchers
- type MuteTimeInterval
- type NotifierConfig
- type OpniReceiver
- type OpsGenieConfig
- func (c *OpsGenieConfig) Clone() OpniReceiver
- func (c *OpsGenieConfig) Configure(*alertingv1.AlertEndpoint) OpniReceiver
- func (c *OpsGenieConfig) ExtractMessage() *alertingv1.EndpointImplementation
- func (c *OpsGenieConfig) InternalId() string
- func (c *OpsGenieConfig) MarshalYAML() ([]byte, error)
- func (c *OpsGenieConfig) StoreMessage(_ *alertingv1.EndpointImplementation)
- func (c *OpsGenieConfig) UnmarshalYAML(unmarshal func(interface{}) error) error
- type OpsGenieConfigResponder
- type PagerdutyConfig
- func (c *PagerdutyConfig) Clone() OpniReceiver
- func (c *PagerdutyConfig) Configure(endp *alertingv1.AlertEndpoint) OpniReceiver
- func (c *PagerdutyConfig) ExtractMessage() *alertingv1.EndpointImplementation
- func (c *PagerdutyConfig) InternalId() string
- func (c *PagerdutyConfig) MarshalYAML() ([]byte, error)
- func (c *PagerdutyConfig) StoreMessage(details *alertingv1.EndpointImplementation)
- func (c *PagerdutyConfig) UnmarshalYAML(unmarshal func(interface{}) error) error
- type PagerdutyImage
- type PagerdutyLink
- type PushoverConfig
- func (c *PushoverConfig) Clone() OpniReceiver
- func (c *PushoverConfig) Configure(*alertingv1.AlertEndpoint) OpniReceiver
- func (c *PushoverConfig) ExtractMessage() *alertingv1.EndpointImplementation
- func (c *PushoverConfig) InternalId() string
- func (c *PushoverConfig) MarshalYAML() ([]byte, error)
- func (c *PushoverConfig) StoreMessage(_ *alertingv1.EndpointImplementation)
- func (c *PushoverConfig) UnmarshalYAML(unmarshal func(interface{}) error) error
- type Receiver
- type Route
- type SNSConfig
- func (c *SNSConfig) Clone() OpniReceiver
- func (c *SNSConfig) Configure(*alertingv1.AlertEndpoint) OpniReceiver
- func (c *SNSConfig) ExtractMessage() *alertingv1.EndpointImplementation
- func (c *SNSConfig) InternalId() string
- func (c *SNSConfig) MarshalYAML() ([]byte, error)
- func (c *SNSConfig) StoreMessage(_ *alertingv1.EndpointImplementation)
- func (c *SNSConfig) UnmarshalYAML(unmarshal func(interface{}) error) error
- type SlackAction
- type SlackConfig
- func (c *SlackConfig) Clone() OpniReceiver
- func (c *SlackConfig) Configure(endp *alertingv1.AlertEndpoint) OpniReceiver
- func (c *SlackConfig) ExtractMessage() *alertingv1.EndpointImplementation
- func (c *SlackConfig) InternalId() string
- func (c *SlackConfig) MarshalYAML() ([]byte, error)
- func (c *SlackConfig) StoreMessage(details *alertingv1.EndpointImplementation)
- func (c *SlackConfig) UnmarshalYAML(unmarshal func(interface{}) error) error
- type SlackConfirmationField
- type SlackField
- type TelegramConfig
- func (c *TelegramConfig) Clone() OpniReceiver
- func (c *TelegramConfig) Configure(*alertingv1.AlertEndpoint) OpniReceiver
- func (c *TelegramConfig) ExtractMessage() *alertingv1.EndpointImplementation
- func (c *TelegramConfig) InternalId() string
- func (c *TelegramConfig) MarshalYAML() ([]byte, error)
- func (c *TelegramConfig) StoreMessage(_ *alertingv1.EndpointImplementation)
- func (c *TelegramConfig) UnmarshalYAML(unmarshal func(interface{}) error) error
- type TimeInterval
- type VictorOpsConfig
- func (c *VictorOpsConfig) Clone() OpniReceiver
- func (c *VictorOpsConfig) Configure(*alertingv1.AlertEndpoint) OpniReceiver
- func (c *VictorOpsConfig) ExtractMessage() *alertingv1.EndpointImplementation
- func (c *VictorOpsConfig) InternalId() string
- func (c *VictorOpsConfig) MarshalYAML() ([]byte, error)
- func (c *VictorOpsConfig) StoreMessage(_ *alertingv1.EndpointImplementation)
- func (c *VictorOpsConfig) UnmarshalYAML(unmarshal func(interface{}) error) error
- type WebexConfig
- type WebhookConfig
- func (c *WebhookConfig) Clone() OpniReceiver
- func (c *WebhookConfig) Configure(endp *alertingv1.AlertEndpoint) OpniReceiver
- func (c *WebhookConfig) ExtractMessage() *alertingv1.EndpointImplementation
- func (c *WebhookConfig) InternalId() string
- func (c *WebhookConfig) MarshalYAML() ([]byte, error)
- func (c *WebhookConfig) StoreMessage(_ *alertingv1.EndpointImplementation)
- func (c *WebhookConfig) UnmarshalYAML(unmarshal func(interface{}) error) error
- type WebhookMessage
- type WechatConfig
- func (c *WechatConfig) Clone() OpniReceiver
- func (c *WechatConfig) Configure(*alertingv1.AlertEndpoint) OpniReceiver
- func (c *WechatConfig) ExtractMessage() *alertingv1.EndpointImplementation
- func (c *WechatConfig) InternalId() string
- func (c *WechatConfig) MarshalYAML() ([]byte, error)
- func (c *WechatConfig) StoreMessage(_ *alertingv1.EndpointImplementation)
- func (c *WechatConfig) UnmarshalYAML(unmarshal func(interface{}) error) error
Constants ¶
This section is empty.
Variables ¶
var ( // DefaultWebhookConfig defines default values for Webhook configurations. DefaultWebhookConfig = WebhookConfig{ NotifierConfig: NotifierConfig{ VSendResolved: true, }, } // DefaultWebexConfig defines default values for Webex configurations. DefaultWebexConfig = WebexConfig{ NotifierConfig: NotifierConfig{ VSendResolved: true, }, Message: `{{ template "webex.default.message" . }}`, } // DefaultDiscordConfig defines default values for Discord configurations. DefaultDiscordConfig = DiscordConfig{ NotifierConfig: NotifierConfig{ VSendResolved: true, }, Title: `{{ template "discord.default.title" . }}`, Message: `{{ template "discord.default.message" . }}`, } // DefaultEmailConfig defines default values for Email configurations. DefaultEmailConfig = EmailConfig{ NotifierConfig: NotifierConfig{ VSendResolved: false, }, HTML: `{{ template "email.default.html" . }}`, Text: ``, } // DefaultEmailSubject defines the default Subject header of an Email. DefaultEmailSubject = `{{ template "email.default.subject" . }}` // DefaultPagerdutyDetails defines the default values for PagerDuty details. DefaultPagerdutyDetails = map[string]string{ "firing": `{{ template "pagerduty.default.instances" .Alerts.Firing }}`, "resolved": `{{ template "pagerduty.default.instances" .Alerts.Resolved }}`, "num_firing": `{{ .Alerts.Firing | len }}`, "num_resolved": `{{ .Alerts.Resolved | len }}`, } // DefaultPagerdutyConfig defines default values for PagerDuty configurations. DefaultPagerdutyConfig = PagerdutyConfig{ NotifierConfig: NotifierConfig{ VSendResolved: true, }, Description: `{{ template "pagerduty.default.description" .}}`, Client: `{{ template "pagerduty.default.client" . }}`, ClientURL: `{{ template "pagerduty.default.clientURL" . }}`, } // DefaultSlackConfig defines default values for Slack configurations. DefaultSlackConfig = SlackConfig{ NotifierConfig: NotifierConfig{ VSendResolved: false, }, Color: `{{ if eq .Status "firing" }}danger{{ else }}good{{ end }}`, Username: `{{ template "slack.default.username" . }}`, Title: `{{ template "slack.default.title" . }}`, TitleLink: `{{ template "slack.default.titlelink" . }}`, IconEmoji: `{{ template "slack.default.iconemoji" . }}`, IconURL: `{{ template "slack.default.iconurl" . }}`, Pretext: `{{ template "slack.default.pretext" . }}`, Text: `{{ template "slack.default.text" . }}`, Fallback: `{{ template "slack.default.fallback" . }}`, CallbackID: `{{ template "slack.default.callbackid" . }}`, Footer: `{{ template "slack.default.footer" . }}`, } // DefaultOpsGenieConfig defines default values for OpsGenie configurations. DefaultOpsGenieConfig = OpsGenieConfig{ NotifierConfig: NotifierConfig{ VSendResolved: true, }, Message: `{{ template "opsgenie.default.message" . }}`, Description: `{{ template "opsgenie.default.description" . }}`, Source: `{{ template "opsgenie.default.source" . }}`, } // DefaultWechatConfig defines default values for wechat configurations. DefaultWechatConfig = WechatConfig{ NotifierConfig: NotifierConfig{ VSendResolved: false, }, Message: `{{ template "wechat.default.message" . }}`, ToUser: `{{ template "wechat.default.to_user" . }}`, ToParty: `{{ template "wechat.default.to_party" . }}`, ToTag: `{{ template "wechat.default.to_tag" . }}`, AgentID: `{{ template "wechat.default.agent_id" . }}`, } // DefaultVictorOpsConfig defines default values for VictorOps configurations. DefaultVictorOpsConfig = VictorOpsConfig{ NotifierConfig: NotifierConfig{ VSendResolved: true, }, MessageType: `CRITICAL`, StateMessage: `{{ template "victorops.default.state_message" . }}`, EntityDisplayName: `{{ template "victorops.default.entity_display_name" . }}`, MonitoringTool: `{{ template "victorops.default.monitoring_tool" . }}`, } // DefaultPushoverConfig defines default values for Pushover configurations. DefaultPushoverConfig = PushoverConfig{ NotifierConfig: NotifierConfig{ VSendResolved: true, }, Title: `{{ template "pushover.default.title" . }}`, Message: `{{ template "pushover.default.message" . }}`, URL: `{{ template "pushover.default.url" . }}`, Priority: `{{ if eq .Status "firing" }}2{{ else }}0{{ end }}`, Retry: duration(1 * time.Minute), Expire: duration(1 * time.Hour), HTML: false, } // DefaultSNSConfig defines default values for SNS configurations. DefaultSNSConfig = SNSConfig{ NotifierConfig: NotifierConfig{ VSendResolved: true, }, Subject: `{{ template "sns.default.subject" . }}`, Message: `{{ template "sns.default.message" . }}`, } DefaultTelegramConfig = TelegramConfig{ NotifierConfig: NotifierConfig{ VSendResolved: true, }, DisableNotifications: false, Message: `{{ template "telegram.default.message" . }}`, ParseMode: "HTML", } )
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { Global *GlobalConfig `yaml:"global,omitempty" json:"global,omitempty"` Route *Route `yaml:"route,omitempty" json:"route,omitempty"` InhibitRules []*InhibitRule `yaml:"inhibit_rules,omitempty" json:"inhibit_rules,omitempty"` Receivers []*Receiver `yaml:"receivers,omitempty" json:"receivers,omitempty"` Templates []string `yaml:"templates" json:"templates"` // Deprecated. Remove before v1.0 release. MuteTimeIntervals []MuteTimeInterval `yaml:"mute_time_intervals,omitempty" json:"mute_time_intervals,omitempty"` TimeIntervals []TimeInterval `yaml:"time_intervals,omitempty" json:"time_intervals,omitempty"` // contains filtered or unexported fields }
Config is the top-level configuration for Alertmanager's config files.
func (*Config) UnmarshalYAML ¶
UnmarshalYAML implements the yaml.Unmarshaler interface for Config.
type DiscordConfig ¶
type DiscordConfig struct { NotifierConfig `yaml:",inline" json:",inline"` HTTPConfig *commoncfg.HTTPClientConfig `yaml:"http_config,omitempty" json:"http_config,omitempty"` //! Changed from SecretURL to URL for marshalling / unmarshalling purposes WebhookURL *amCfg.URL `yaml:"webhook_url,omitempty" json:"webhook_url,omitempty"` Title string `yaml:"title,omitempty" json:"title,omitempty"` Message string `yaml:"message,omitempty" json:"message,omitempty"` }
DiscordConfig configures notifications via Discord.
func (*DiscordConfig) UnmarshalYAML ¶
func (c *DiscordConfig) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML implements the yaml.Unmarshaler interface.
type EmailConfig ¶
type EmailConfig struct { NotifierConfig `yaml:",inline" json:",inline"` // Email address to notify. To string `yaml:"to,omitempty" json:"to,omitempty"` From string `yaml:"from,omitempty" json:"from,omitempty"` Hello string `yaml:"hello,omitempty" json:"hello,omitempty"` Smarthost HostPort `yaml:"smarthost,omitempty" json:"smarthost,omitempty"` AuthUsername string `yaml:"auth_username,omitempty" json:"auth_username,omitempty"` //!Changed from Secret to string for marshalling / unmarshalling purposes AuthPassword string `yaml:"auth_password,omitempty" json:"auth_password,omitempty"` AuthPasswordFile string `yaml:"auth_password_file,omitempty" json:"auth_password_file,omitempty"` //!Changed from Secret to string for marshalling / unmarshalling purposes AuthSecret string `yaml:"auth_secret,omitempty" json:"auth_secret,omitempty"` AuthIdentity string `yaml:"auth_identity,omitempty" json:"auth_identity,omitempty"` Headers map[string]string `yaml:"headers,omitempty" json:"headers,omitempty"` HTML string `yaml:"html,omitempty" json:"html,omitempty"` Text string `yaml:"text,omitempty" json:"text,omitempty"` RequireTLS *bool `yaml:"require_tls,omitempty" json:"require_tls,omitempty"` TLSConfig commoncfg.TLSConfig `yaml:"tls_config,omitempty" json:"tls_config,omitempty"` }
EmailConfig configures notifications via mail.
func (*EmailConfig) Clone ¶
func (c *EmailConfig) Clone() OpniReceiver
func (*EmailConfig) Configure ¶
func (c *EmailConfig) Configure(endp *alertingv1.AlertEndpoint) OpniReceiver
func (*EmailConfig) ExtractMessage ¶
func (c *EmailConfig) ExtractMessage() *alertingv1.EndpointImplementation
func (*EmailConfig) InternalId ¶
func (c *EmailConfig) InternalId() string
func (*EmailConfig) MarshalYAML ¶
func (c *EmailConfig) MarshalYAML() ([]byte, error)
func (*EmailConfig) StoreMessage ¶
func (c *EmailConfig) StoreMessage(details *alertingv1.EndpointImplementation)
func (*EmailConfig) UnmarshalYAML ¶
func (c *EmailConfig) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML implements the yaml.Unmarshaler interface.
type GlobalConfig ¶
type GlobalConfig struct { // ResolveTimeout is the time after which an alert is declared resolved // if it has not been updated. ResolveTimeout model.Duration `yaml:"resolve_timeout" json:"resolve_timeout"` HTTPConfig *commoncfg.HTTPClientConfig `yaml:"http_config,omitempty" json:"http_config,omitempty"` SMTPFrom string `yaml:"smtp_from,omitempty" json:"smtp_from,omitempty"` SMTPHello string `yaml:"smtp_hello,omitempty" json:"smtp_hello,omitempty"` SMTPSmarthost HostPort `yaml:"smtp_smarthost,omitempty" json:"smtp_smarthost,omitempty"` SMTPAuthUsername string `yaml:"smtp_auth_username,omitempty" json:"smtp_auth_username,omitempty"` //! Changed from secret to string for unmarshalling / marshalling purposes SMTPAuthPassword string `yaml:"smtp_auth_password,omitempty" json:"smtp_auth_password,omitempty"` //! Changed from secret to string for unmarshalling / marshalling purposes SMTPAuthPasswordFile string `yaml:"smtp_auth_password_file,omitempty" json:"smtp_auth_password_file,omitempty"` //! Changed from secret to string for unmarshalling / marshalling purposes SMTPAuthSecret string `yaml:"smtp_auth_secret,omitempty" json:"smtp_auth_secret,omitempty"` SMTPAuthIdentity string `yaml:"smtp_auth_identity,omitempty" json:"smtp_auth_identity,omitempty"` SMTPRequireTLS bool `yaml:"smtp_require_tls" json:"smtp_require_tls,omitempty"` //! Changed from secret to URL for unmarshalling / marshalling purposes SlackAPIURL *amCfg.URL `yaml:"slack_api_url,omitempty" json:"slack_api_url,omitempty"` SlackAPIURLFile string `yaml:"slack_api_url_file,omitempty" json:"slack_api_url_file,omitempty"` PagerdutyURL *amCfg.URL `yaml:"pagerduty_url,omitempty" json:"pagerduty_url,omitempty"` OpsGenieAPIURL *amCfg.URL `yaml:"opsgenie_api_url,omitempty" json:"opsgenie_api_url,omitempty"` //! Changed from secret to string for unmarshalling / marshalling purposes OpsGenieAPIKey string `yaml:"opsgenie_api_key,omitempty" json:"opsgenie_api_key,omitempty"` OpsGenieAPIKeyFile string `yaml:"opsgenie_api_key_file,omitempty" json:"opsgenie_api_key_file,omitempty"` WeChatAPIURL *amCfg.URL `yaml:"wechat_api_url,omitempty" json:"wechat_api_url,omitempty"` //! Changed from secret to string for unmarshalling / marshalling purposes WeChatAPISecret string `yaml:"wechat_api_secret,omitempty" json:"wechat_api_secret,omitempty"` WeChatAPICorpID string `yaml:"wechat_api_corp_id,omitempty" json:"wechat_api_corp_id,omitempty"` VictorOpsAPIURL *amCfg.URL `yaml:"victorops_api_url,omitempty" json:"victorops_api_url,omitempty"` //! Changed from secret to string for unmarshalling / marshalling purposes VictorOpsAPIKey string `yaml:"victorops_api_key,omitempty" json:"victorops_api_key,omitempty"` VictorOpsAPIKeyFile string `yaml:"victorops_api_key_file,omitempty" json:"victorops_api_key_file,omitempty"` TelegramAPIUrl *amCfg.URL `yaml:"telegram_api_url,omitempty" json:"telegram_api_url,omitempty"` WebexAPIURL *amCfg.URL `yaml:"webex_api_url,omitempty" json:"webex_api_url,omitempty"` }
GlobalConfig defines configuration parameters that are valid globally unless overwritten.
func DefaultGlobalConfig ¶
func DefaultGlobalConfig() GlobalConfig
DefaultGlobalConfig returns GlobalConfig with default values.
func (*GlobalConfig) UnmarshalYAML ¶
func (c *GlobalConfig) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML implements the yaml.Unmarshaler interface for GlobalConfig.
type HostPort ¶
HostPort represents a "host:port" network address.
func (HostPort) MarshalJSON ¶
MarshalJSON implements the json.Marshaler interface for HostPort.
func (HostPort) MarshalYAML ¶
MarshalYAML implements the yaml.Marshaler interface for HostPort.
func (*HostPort) UnmarshalJSON ¶
UnmarshalJSON implements the json.Unmarshaler interface for HostPort.
func (*HostPort) UnmarshalYAML ¶
UnmarshalYAML implements the yaml.Unmarshaler interface for HostPort.
type InhibitRule ¶
type InhibitRule struct { // SourceMatch defines a set of labels that have to equal the given // value for source alerts. Deprecated. Remove before v1.0 release. SourceMatch map[string]string `yaml:"source_match,omitempty" json:"source_match,omitempty"` // SourceMatchRE defines pairs like SourceMatch but does regular expression // matching. Deprecated. Remove before v1.0 release. SourceMatchRE MatchRegexps `yaml:"source_match_re,omitempty" json:"source_match_re,omitempty"` // SourceMatchers defines a set of label matchers that have to be fulfilled for source alerts. SourceMatchers Matchers `yaml:"source_matchers,omitempty" json:"source_matchers,omitempty"` // TargetMatch defines a set of labels that have to equal the given // value for target alerts. Deprecated. Remove before v1.0 release. TargetMatch map[string]string `yaml:"target_match,omitempty" json:"target_match,omitempty"` // TargetMatchRE defines pairs like TargetMatch but does regular expression // matching. Deprecated. Remove before v1.0 release. TargetMatchRE MatchRegexps `yaml:"target_match_re,omitempty" json:"target_match_re,omitempty"` // TargetMatchers defines a set of label matchers that have to be fulfilled for target alerts. TargetMatchers Matchers `yaml:"target_matchers,omitempty" json:"target_matchers,omitempty"` // A set of labels that must be equal between the source and target alert // for them to be a match. Equal model.LabelNames `yaml:"equal,omitempty" json:"equal,omitempty"` }
InhibitRule defines an inhibition rule that mutes alerts that match the target labels if an alert matching the source labels exists. Both alerts have to have a set of labels being equal.
func (*InhibitRule) UnmarshalYAML ¶
func (r *InhibitRule) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML implements the yaml.Unmarshaler interface for InhibitRule.
type MatchRegexps ¶
MatchRegexps represents a map of Regexp.
func (*MatchRegexps) UnmarshalYAML ¶
func (m *MatchRegexps) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML implements the yaml.Unmarshaler interface for MatchRegexps.
type Matchers ¶
func (Matchers) MarshalYAML ¶
MarshalYAML implements the yaml.Marshaler interface for Matchers.
func (*Matchers) UnmarshalYAML ¶
UnmarshalYAML implements the yaml.Unmarshaler interface for Matchers.
type MuteTimeInterval ¶
type MuteTimeInterval struct { Name string `yaml:"name" json:"name"` TimeIntervals []timeinterval.TimeInterval `yaml:"time_intervals" json:"time_intervals"` }
MuteTimeInterval represents a named set of time intervals for which a route should be muted.
func (*MuteTimeInterval) UnmarshalYAML ¶
func (mt *MuteTimeInterval) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML implements the yaml.Unmarshaler interface for MuteTimeInterval.
type NotifierConfig ¶
type NotifierConfig struct {
VSendResolved bool `yaml:"send_resolved" json:"send_resolved"`
}
NotifierConfig contains base options common across all notifier configurations.
func (*NotifierConfig) SendResolved ¶
func (nc *NotifierConfig) SendResolved() bool
type OpniReceiver ¶
type OpniReceiver interface { InternalId() string // FIXME: maybe this isn't necessary, just pass in all alerts with {{ .Annotations.Body }} {{ .Annotations.Title }} // Note this is necessary when updating individual endpoints and propagating those details ExtractMessage() *alertingv1.EndpointImplementation StoreMessage(details *alertingv1.EndpointImplementation) Configure(*alertingv1.AlertEndpoint) OpniReceiver Clone() OpniReceiver MarshalYAML() ([]byte, error) yaml.Unmarshaler }
Extends the receiver configs of AlertManager, e.g. SlackConfig, EmailConfig... panics when the receiver type
func ExtractReceiver ¶
func ExtractReceiver(unmarshall func(interface{}) error, _ interface{}) (OpniReceiver, error)
type OpsGenieConfig ¶
type OpsGenieConfig struct { NotifierConfig `yaml:",inline" json:",inline"` HTTPConfig *commoncfg.HTTPClientConfig `yaml:"http_config,omitempty" json:"http_config,omitempty"` //! Changed from Secret to string for marshalling / unmarshalling purposes APIKey string `yaml:"api_key,omitempty" json:"api_key,omitempty"` APIKeyFile string `yaml:"api_key_file,omitempty" json:"api_key_file,omitempty"` APIURL *amCfg.URL `yaml:"api_url,omitempty" json:"api_url,omitempty"` Message string `yaml:"message,omitempty" json:"message,omitempty"` Description string `yaml:"description,omitempty" json:"description,omitempty"` Source string `yaml:"source,omitempty" json:"source,omitempty"` Details map[string]string `yaml:"details,omitempty" json:"details,omitempty"` Entity string `yaml:"entity,omitempty" json:"entity,omitempty"` Responders []OpsGenieConfigResponder `yaml:"responders,omitempty" json:"responders,omitempty"` Actions string `yaml:"actions,omitempty" json:"actions,omitempty"` Tags string `yaml:"tags,omitempty" json:"tags,omitempty"` Note string `yaml:"note,omitempty" json:"note,omitempty"` Priority string `yaml:"priority,omitempty" json:"priority,omitempty"` UpdateAlerts bool `yaml:"update_alerts,omitempty" json:"update_alerts,omitempty"` }
OpsGenieConfig configures notifications via OpsGenie.
func (*OpsGenieConfig) Clone ¶
func (c *OpsGenieConfig) Clone() OpniReceiver
func (*OpsGenieConfig) Configure ¶
func (c *OpsGenieConfig) Configure(*alertingv1.AlertEndpoint) OpniReceiver
func (*OpsGenieConfig) ExtractMessage ¶
func (c *OpsGenieConfig) ExtractMessage() *alertingv1.EndpointImplementation
func (*OpsGenieConfig) InternalId ¶
func (c *OpsGenieConfig) InternalId() string
func (*OpsGenieConfig) MarshalYAML ¶
func (c *OpsGenieConfig) MarshalYAML() ([]byte, error)
func (*OpsGenieConfig) StoreMessage ¶
func (c *OpsGenieConfig) StoreMessage(_ *alertingv1.EndpointImplementation)
func (*OpsGenieConfig) UnmarshalYAML ¶
func (c *OpsGenieConfig) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML implements the yaml.Unmarshaler interface.
type OpsGenieConfigResponder ¶
type OpsGenieConfigResponder struct { // One of those 3 should be filled. ID string `yaml:"id,omitempty" json:"id,omitempty"` Name string `yaml:"name,omitempty" json:"name,omitempty"` Username string `yaml:"username,omitempty" json:"username,omitempty"` // team, user, escalation, schedule etc. Type string `yaml:"type,omitempty" json:"type,omitempty"` }
type PagerdutyConfig ¶
type PagerdutyConfig struct { NotifierConfig `yaml:",inline" json:",inline"` HTTPConfig *commoncfg.HTTPClientConfig `yaml:"http_config,omitempty" json:"http_config,omitempty"` //!Changed from Secret to string for marshalling / unmarshalling purposes ServiceKey string `yaml:"service_key,omitempty" json:"service_key,omitempty"` ServiceKeyFile string `yaml:"service_key_file,omitempty" json:"service_key_file,omitempty"` RoutingKey string `yaml:"routing_key,omitempty" json:"routing_key,omitempty"` RoutingKeyFile string `yaml:"routing_key_file,omitempty" json:"routing_key_file,omitempty"` URL *amCfg.URL `yaml:"url,omitempty" json:"url,omitempty"` Client string `yaml:"client,omitempty" json:"client,omitempty"` ClientURL string `yaml:"client_url,omitempty" json:"client_url,omitempty"` Description string `yaml:"description,omitempty" json:"description,omitempty"` Details map[string]string `yaml:"details,omitempty" json:"details,omitempty"` Images []PagerdutyImage `yaml:"images,omitempty" json:"images,omitempty"` Links []PagerdutyLink `yaml:"links,omitempty" json:"links,omitempty"` Source string `yaml:"source,omitempty" json:"source,omitempty"` Severity string `yaml:"severity,omitempty" json:"severity,omitempty"` Class string `yaml:"class,omitempty" json:"class,omitempty"` Component string `yaml:"component,omitempty" json:"component,omitempty"` Group string `yaml:"group,omitempty" json:"group,omitempty"` }
PagerdutyConfig configures notifications via PagerDuty.
func (*PagerdutyConfig) Clone ¶
func (c *PagerdutyConfig) Clone() OpniReceiver
func (*PagerdutyConfig) Configure ¶
func (c *PagerdutyConfig) Configure(endp *alertingv1.AlertEndpoint) OpniReceiver
func (*PagerdutyConfig) ExtractMessage ¶
func (c *PagerdutyConfig) ExtractMessage() *alertingv1.EndpointImplementation
func (*PagerdutyConfig) InternalId ¶
func (c *PagerdutyConfig) InternalId() string
func (*PagerdutyConfig) MarshalYAML ¶
func (c *PagerdutyConfig) MarshalYAML() ([]byte, error)
func (*PagerdutyConfig) StoreMessage ¶
func (c *PagerdutyConfig) StoreMessage(details *alertingv1.EndpointImplementation)
func (*PagerdutyConfig) UnmarshalYAML ¶
func (c *PagerdutyConfig) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML implements the yaml.Unmarshaler interface.
type PagerdutyImage ¶
type PagerdutyImage struct { Src string `yaml:"src,omitempty" json:"src,omitempty"` Alt string `yaml:"alt,omitempty" json:"alt,omitempty"` Href string `yaml:"href,omitempty" json:"href,omitempty"` }
PagerdutyImage is an image
type PagerdutyLink ¶
type PagerdutyLink struct { Href string `yaml:"href,omitempty" json:"href,omitempty"` Text string `yaml:"text,omitempty" json:"text,omitempty"` }
PagerdutyLink is a link
type PushoverConfig ¶
type PushoverConfig struct { NotifierConfig `yaml:",inline" json:",inline"` HTTPConfig *commoncfg.HTTPClientConfig `yaml:"http_config,omitempty" json:"http_config,omitempty"` //! Changed from Secret to string for marshalling / unmarshalling purposes UserKey string `yaml:"user_key,omitempty" json:"user_key,omitempty"` //! Changed from Secret to string for marshalling / unmarshalling purposes Token string `yaml:"token,omitempty" json:"token,omitempty"` Title string `yaml:"title,omitempty" json:"title,omitempty"` Message string `yaml:"message,omitempty" json:"message,omitempty"` URL string `yaml:"url,omitempty" json:"url,omitempty"` URLTitle string `yaml:"url_title,omitempty" json:"url_title,omitempty"` Sound string `yaml:"sound,omitempty" json:"sound,omitempty"` Priority string `yaml:"priority,omitempty" json:"priority,omitempty"` Retry duration `yaml:"retry,omitempty" json:"retry,omitempty"` Expire duration `yaml:"expire,omitempty" json:"expire,omitempty"` HTML bool `yaml:"html" json:"html,omitempty"` }
func (*PushoverConfig) Clone ¶
func (c *PushoverConfig) Clone() OpniReceiver
func (*PushoverConfig) Configure ¶
func (c *PushoverConfig) Configure(*alertingv1.AlertEndpoint) OpniReceiver
func (*PushoverConfig) ExtractMessage ¶
func (c *PushoverConfig) ExtractMessage() *alertingv1.EndpointImplementation
func (*PushoverConfig) InternalId ¶
func (c *PushoverConfig) InternalId() string
func (*PushoverConfig) MarshalYAML ¶
func (c *PushoverConfig) MarshalYAML() ([]byte, error)
func (*PushoverConfig) StoreMessage ¶
func (c *PushoverConfig) StoreMessage(_ *alertingv1.EndpointImplementation)
func (*PushoverConfig) UnmarshalYAML ¶
func (c *PushoverConfig) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML implements the yaml.Unmarshaler interface.
type Receiver ¶
type Receiver struct { // A unique identifier for this receiver. Name string `yaml:"name" json:"name"` DiscordConfigs []*DiscordConfig `yaml:"discord_configs,omitempty" json:"discord_configs,omitempty"` EmailConfigs []*EmailConfig `yaml:"email_configs,omitempty" json:"email_configs,omitempty"` PagerdutyConfigs []*PagerdutyConfig `yaml:"pagerduty_configs,omitempty" json:"pagerduty_configs,omitempty"` SlackConfigs []*SlackConfig `yaml:"slack_configs,omitempty" json:"slack_configs,omitempty"` WebhookConfigs []*WebhookConfig `yaml:"webhook_configs,omitempty" json:"webhook_configs,omitempty"` OpsGenieConfigs []*OpsGenieConfig `yaml:"opsgenie_configs,omitempty" json:"opsgenie_configs,omitempty"` WechatConfigs []*WechatConfig `yaml:"wechat_configs,omitempty" json:"wechat_configs,omitempty"` PushoverConfigs []*PushoverConfig `yaml:"pushover_configs,omitempty" json:"pushover_configs,omitempty"` VictorOpsConfigs []*VictorOpsConfig `yaml:"victorops_configs,omitempty" json:"victorops_configs,omitempty"` SNSConfigs []*SNSConfig `yaml:"sns_configs,omitempty" json:"sns_configs,omitempty"` TelegramConfigs []*TelegramConfig `yaml:"telegram_configs,omitempty" json:"telegram_configs,omitempty"` WebexConfigs []*WebexConfig `yaml:"webex_configs,omitempty" json:"webex_configs,omitempty"` }
Receiver configuration provides configuration on how to contact a receiver.
func BuildReceiver ¶
func BuildReceiver(receiverId string, recvs []OpniReceiver) (*Receiver, error)
Takes a collection of OpniReceivers and converts them to a single AlertManager this function will panic if it cannot convert the receivers
func (*Receiver) UnmarshalYAML ¶
UnmarshalYAML implements the yaml.Unmarshaler interface for Receiver.
type Route ¶
type Route struct { Receiver string `yaml:"receiver,omitempty" json:"receiver,omitempty"` GroupByStr []string `yaml:"group_by,omitempty" json:"group_by,omitempty"` GroupBy []model.LabelName `yaml:"-" json:"-"` GroupByAll bool `yaml:"-" json:"-"` // Deprecated. Remove before v1.0 release. Match map[string]string `yaml:"match,omitempty" json:"match,omitempty"` // Deprecated. Remove before v1.0 release. MatchRE MatchRegexps `yaml:"match_re,omitempty" json:"match_re,omitempty"` Matchers Matchers `yaml:"matchers,omitempty" json:"matchers,omitempty"` MuteTimeIntervals []string `yaml:"mute_time_intervals,omitempty" json:"mute_time_intervals,omitempty"` ActiveTimeIntervals []string `yaml:"active_time_intervals,omitempty" json:"active_time_intervals,omitempty"` Continue bool `yaml:"continue" json:"continue,omitempty"` Routes []*Route `yaml:"routes,omitempty" json:"routes,omitempty"` GroupWait *model.Duration `yaml:"group_wait,omitempty" json:"group_wait,omitempty"` GroupInterval *model.Duration `yaml:"group_interval,omitempty" json:"group_interval,omitempty"` RepeatInterval *model.Duration `yaml:"repeat_interval,omitempty" json:"repeat_interval,omitempty"` }
A Route is a node that contains definitions of how to handle alerts.
func (*Route) UnmarshalYAML ¶
UnmarshalYAML implements the yaml.Unmarshaler interface for Route.
type SNSConfig ¶
type SNSConfig struct { NotifierConfig `yaml:",inline" json:",inline"` HTTPConfig *commoncfg.HTTPClientConfig `yaml:"http_config,omitempty" json:"http_config,omitempty"` APIUrl string `yaml:"api_url,omitempty" json:"api_url,omitempty"` Sigv4 sigv4.SigV4Config `yaml:"sigv4" json:"sigv4"` TopicARN string `yaml:"topic_arn,omitempty" json:"topic_arn,omitempty"` PhoneNumber string `yaml:"phone_number,omitempty" json:"phone_number,omitempty"` TargetARN string `yaml:"target_arn,omitempty" json:"target_arn,omitempty"` Subject string `yaml:"subject,omitempty" json:"subject,omitempty"` Message string `yaml:"message,omitempty" json:"message,omitempty"` Attributes map[string]string `yaml:"attributes,omitempty" json:"attributes,omitempty"` }
func (*SNSConfig) Clone ¶
func (c *SNSConfig) Clone() OpniReceiver
func (*SNSConfig) Configure ¶
func (c *SNSConfig) Configure(*alertingv1.AlertEndpoint) OpniReceiver
func (*SNSConfig) ExtractMessage ¶
func (c *SNSConfig) ExtractMessage() *alertingv1.EndpointImplementation
func (*SNSConfig) InternalId ¶
func (*SNSConfig) MarshalYAML ¶
func (*SNSConfig) StoreMessage ¶
func (c *SNSConfig) StoreMessage(_ *alertingv1.EndpointImplementation)
func (*SNSConfig) UnmarshalYAML ¶
UnmarshalYAML implements the yaml.Unmarshaler interface.
type SlackAction ¶
type SlackAction struct { Type string `yaml:"type,omitempty" json:"type,omitempty"` Text string `yaml:"text,omitempty" json:"text,omitempty"` URL string `yaml:"url,omitempty" json:"url,omitempty"` Style string `yaml:"style,omitempty" json:"style,omitempty"` Name string `yaml:"name,omitempty" json:"name,omitempty"` Value string `yaml:"value,omitempty" json:"value,omitempty"` ConfirmField *SlackConfirmationField `yaml:"confirm,omitempty" json:"confirm,omitempty"` }
SlackAction configures a single Slack action that is sent with each notification. See https://api.slack.com/docs/message-attachments#action_fields and https://api.slack.com/docs/message-buttons for more information.
func (*SlackAction) UnmarshalYAML ¶
func (c *SlackAction) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML implements the yaml.Unmarshaler interface for SlackAction.
type SlackConfig ¶
type SlackConfig struct { NotifierConfig `yaml:",inline" json:",inline"` HTTPConfig *commoncfg.HTTPClientConfig `yaml:"http_config,omitempty" json:"http_config,omitempty"` //! Changed from SecretURL to URL for marshalling / unmarshalling purposes APIURL *amCfg.URL `yaml:"api_url,omitempty" json:"api_url,omitempty"` APIURLFile string `yaml:"api_url_file,omitempty" json:"api_url_file,omitempty"` // Slack channel override, (like #other-channel or @username). Channel string `yaml:"channel,omitempty" json:"channel,omitempty"` Username string `yaml:"username,omitempty" json:"username,omitempty"` Color string `yaml:"color,omitempty" json:"color,omitempty"` Title string `yaml:"title,omitempty" json:"title,omitempty"` TitleLink string `yaml:"title_link,omitempty" json:"title_link,omitempty"` Pretext string `yaml:"pretext,omitempty" json:"pretext,omitempty"` Text string `yaml:"text,omitempty" json:"text,omitempty"` Fields []*SlackField `yaml:"fields,omitempty" json:"fields,omitempty"` ShortFields bool `yaml:"short_fields" json:"short_fields,omitempty"` Fallback string `yaml:"fallback,omitempty" json:"fallback,omitempty"` CallbackID string `yaml:"callback_id,omitempty" json:"callback_id,omitempty"` IconEmoji string `yaml:"icon_emoji,omitempty" json:"icon_emoji,omitempty"` IconURL string `yaml:"icon_url,omitempty" json:"icon_url,omitempty"` ImageURL string `yaml:"image_url,omitempty" json:"image_url,omitempty"` ThumbURL string `yaml:"thumb_url,omitempty" json:"thumb_url,omitempty"` LinkNames bool `yaml:"link_names" json:"link_names,omitempty"` MrkdwnIn []string `yaml:"mrkdwn_in,omitempty" json:"mrkdwn_in,omitempty"` Actions []*SlackAction `yaml:"actions,omitempty" json:"actions,omitempty"` }
SlackConfig configures notifications via Slack.
func (*SlackConfig) Clone ¶
func (c *SlackConfig) Clone() OpniReceiver
func (*SlackConfig) Configure ¶
func (c *SlackConfig) Configure(endp *alertingv1.AlertEndpoint) OpniReceiver
func (*SlackConfig) ExtractMessage ¶
func (c *SlackConfig) ExtractMessage() *alertingv1.EndpointImplementation
func (*SlackConfig) InternalId ¶
func (c *SlackConfig) InternalId() string
func (*SlackConfig) MarshalYAML ¶
func (c *SlackConfig) MarshalYAML() ([]byte, error)
func (*SlackConfig) StoreMessage ¶
func (c *SlackConfig) StoreMessage(details *alertingv1.EndpointImplementation)
func (*SlackConfig) UnmarshalYAML ¶
func (c *SlackConfig) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML implements the yaml.Unmarshaler interface.
type SlackConfirmationField ¶
type SlackConfirmationField struct { Text string `yaml:"text,omitempty" json:"text,omitempty"` Title string `yaml:"title,omitempty" json:"title,omitempty"` OkText string `yaml:"ok_text,omitempty" json:"ok_text,omitempty"` DismissText string `yaml:"dismiss_text,omitempty" json:"dismiss_text,omitempty"` }
SlackConfirmationField protect users from destructive actions or particularly distinguished decisions by asking them to confirm their button click one more time. See https://api.slack.com/docs/interactive-message-field-guide#confirmation_fields for more information.
func (*SlackConfirmationField) UnmarshalYAML ¶
func (c *SlackConfirmationField) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML implements the yaml.Unmarshaler interface for SlackConfirmationField.
type SlackField ¶
type SlackField struct { Title string `yaml:"title,omitempty" json:"title,omitempty"` Value string `yaml:"value,omitempty" json:"value,omitempty"` Short *bool `yaml:"short,omitempty" json:"short,omitempty"` }
SlackField configures a single Slack field that is sent with each notification. Each field must contain a title, value, and optionally, a boolean value to indicate if the field is short enough to be displayed next to other fields designated as short. See https://api.slack.com/docs/message-attachments#fields for more information.
func (*SlackField) UnmarshalYAML ¶
func (c *SlackField) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML implements the yaml.Unmarshaler interface for SlackField.
type TelegramConfig ¶
type TelegramConfig struct { NotifierConfig `yaml:",inline" json:",inline"` HTTPConfig *commoncfg.HTTPClientConfig `yaml:"http_config,omitempty" json:"http_config,omitempty"` APIUrl *amCfg.URL `yaml:"api_url" json:"api_url,omitempty"` //! Changed from Secret to string for marshalling / unmarshalling purposes BotToken string `yaml:"bot_token,omitempty" json:"token,omitempty"` ChatID int64 `yaml:"chat_id,omitempty" json:"chat,omitempty"` Message string `yaml:"message,omitempty" json:"message,omitempty"` DisableNotifications bool `yaml:"disable_notifications,omitempty" json:"disable_notifications,omitempty"` ParseMode string `yaml:"parse_mode,omitempty" json:"parse_mode,omitempty"` }
TelegramConfig configures notifications via Telegram.
func (*TelegramConfig) Clone ¶
func (c *TelegramConfig) Clone() OpniReceiver
func (*TelegramConfig) Configure ¶
func (c *TelegramConfig) Configure(*alertingv1.AlertEndpoint) OpniReceiver
func (*TelegramConfig) ExtractMessage ¶
func (c *TelegramConfig) ExtractMessage() *alertingv1.EndpointImplementation
func (*TelegramConfig) InternalId ¶
func (c *TelegramConfig) InternalId() string
func (*TelegramConfig) MarshalYAML ¶
func (c *TelegramConfig) MarshalYAML() ([]byte, error)
func (*TelegramConfig) StoreMessage ¶
func (c *TelegramConfig) StoreMessage(_ *alertingv1.EndpointImplementation)
func (*TelegramConfig) UnmarshalYAML ¶
func (c *TelegramConfig) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML implements the yaml.Unmarshaler interface.
type TimeInterval ¶
type TimeInterval struct { Name string `yaml:"name" json:"name"` TimeIntervals []timeinterval.TimeInterval `yaml:"time_intervals" json:"time_intervals"` }
TimeInterval represents a named set of time intervals for which a route should be muted.
func (*TimeInterval) UnmarshalYAML ¶
func (ti *TimeInterval) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML implements the yaml.Unmarshaler interface for MuteTimeInterval.
type VictorOpsConfig ¶
type VictorOpsConfig struct { NotifierConfig `yaml:",inline" json:",inline"` HTTPConfig *commoncfg.HTTPClientConfig `yaml:"http_config,omitempty" json:"http_config,omitempty"` //! Changed from Secret to string for marshalling / unmarshalling purposes APIKey string `yaml:"api_key,omitempty" json:"api_key,omitempty"` APIKeyFile string `yaml:"api_key_file,omitempty" json:"api_key_file,omitempty"` APIURL *amCfg.URL `yaml:"api_url" json:"api_url"` RoutingKey string `yaml:"routing_key" json:"routing_key"` MessageType string `yaml:"message_type" json:"message_type"` StateMessage string `yaml:"state_message" json:"state_message"` EntityDisplayName string `yaml:"entity_display_name" json:"entity_display_name"` MonitoringTool string `yaml:"monitoring_tool" json:"monitoring_tool"` CustomFields map[string]string `yaml:"custom_fields,omitempty" json:"custom_fields,omitempty"` }
VictorOpsConfig configures notifications via VictorOps.
func (*VictorOpsConfig) Clone ¶
func (c *VictorOpsConfig) Clone() OpniReceiver
func (*VictorOpsConfig) Configure ¶
func (c *VictorOpsConfig) Configure(*alertingv1.AlertEndpoint) OpniReceiver
func (*VictorOpsConfig) ExtractMessage ¶
func (c *VictorOpsConfig) ExtractMessage() *alertingv1.EndpointImplementation
func (*VictorOpsConfig) InternalId ¶
func (c *VictorOpsConfig) InternalId() string
func (*VictorOpsConfig) MarshalYAML ¶
func (c *VictorOpsConfig) MarshalYAML() ([]byte, error)
func (*VictorOpsConfig) StoreMessage ¶
func (c *VictorOpsConfig) StoreMessage(_ *alertingv1.EndpointImplementation)
func (*VictorOpsConfig) UnmarshalYAML ¶
func (c *VictorOpsConfig) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML implements the yaml.Unmarshaler interface.
type WebexConfig ¶
type WebexConfig struct { NotifierConfig `yaml:",inline" json:",inline"` HTTPConfig *commoncfg.HTTPClientConfig `yaml:"http_config,omitempty" json:"http_config,omitempty"` APIURL *amCfg.URL `yaml:"api_url,omitempty" json:"api_url,omitempty"` Message string `yaml:"message,omitempty" json:"message,omitempty"` RoomID string `yaml:"room_id" json:"room_id"` }
WebexConfig configures notifications via Webex.
func (*WebexConfig) UnmarshalYAML ¶
func (c *WebexConfig) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML implements the yaml.Unmarshaler interface.
type WebhookConfig ¶
type WebhookConfig struct { NotifierConfig `yaml:",inline" json:",inline"` HTTPConfig *commoncfg.HTTPClientConfig `yaml:"http_config,omitempty" json:"http_config,omitempty"` // URL to send POST request to. URL *amCfg.URL `yaml:"url" json:"url"` // MaxAlerts is the maximum number of alerts to be sent per webhook message. // Alerts exceeding this threshold will be truncated. Setting this to 0 // allows an unlimited number of alerts. MaxAlerts uint64 `yaml:"max_alerts" json:"max_alerts"` }
WebhookConfig configures notifications via a generic webhook.
func (*WebhookConfig) Clone ¶
func (c *WebhookConfig) Clone() OpniReceiver
func (*WebhookConfig) Configure ¶
func (c *WebhookConfig) Configure(endp *alertingv1.AlertEndpoint) OpniReceiver
func (*WebhookConfig) ExtractMessage ¶
func (c *WebhookConfig) ExtractMessage() *alertingv1.EndpointImplementation
func (*WebhookConfig) InternalId ¶
func (c *WebhookConfig) InternalId() string
func (*WebhookConfig) MarshalYAML ¶
func (c *WebhookConfig) MarshalYAML() ([]byte, error)
func (*WebhookConfig) StoreMessage ¶
func (c *WebhookConfig) StoreMessage(_ *alertingv1.EndpointImplementation)
func (*WebhookConfig) UnmarshalYAML ¶
func (c *WebhookConfig) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML implements the yaml.Unmarshaler interface.
type WebhookMessage ¶
type WebhookMessage struct { Receiver string `json:"receiver"` Status string `json:"status"` Alerts Alerts `json:"alerts"` GroupLabels map[string]string `json:"groupLabels"` CommonLabels map[string]string `json:"commonLabels"` CommonAnnotations map[string]string `json:"commonAnnotations"` ExternalURL string `json:"externalURL"` // The protocol version. Version string `json:"version"` GroupKey string `json:"groupKey"` TruncatedAlerts uint64 `json:"truncatedAlerts"` }
unmarshals messages received from webhooks
type WechatConfig ¶
type WechatConfig struct { NotifierConfig `yaml:",inline" json:",inline"` HTTPConfig *commoncfg.HTTPClientConfig `yaml:"http_config,omitempty" json:"http_config,omitempty"` //! Changed from Secret to string for marshalling / unmarshalling purposes APISecret string `yaml:"api_secret,omitempty" json:"api_secret,omitempty"` CorpID string `yaml:"corp_id,omitempty" json:"corp_id,omitempty"` Message string `yaml:"message,omitempty" json:"message,omitempty"` APIURL *amCfg.URL `yaml:"api_url,omitempty" json:"api_url,omitempty"` ToUser string `yaml:"to_user,omitempty" json:"to_user,omitempty"` ToParty string `yaml:"to_party,omitempty" json:"to_party,omitempty"` ToTag string `yaml:"to_tag,omitempty" json:"to_tag,omitempty"` AgentID string `yaml:"agent_id,omitempty" json:"agent_id,omitempty"` MessageType string `yaml:"message_type,omitempty" json:"message_type,omitempty"` }
WechatConfig configures notifications via Wechat.
func (*WechatConfig) Clone ¶
func (c *WechatConfig) Clone() OpniReceiver
func (*WechatConfig) Configure ¶
func (c *WechatConfig) Configure(*alertingv1.AlertEndpoint) OpniReceiver
func (*WechatConfig) ExtractMessage ¶
func (c *WechatConfig) ExtractMessage() *alertingv1.EndpointImplementation
func (*WechatConfig) InternalId ¶
func (c *WechatConfig) InternalId() string
func (*WechatConfig) MarshalYAML ¶
func (c *WechatConfig) MarshalYAML() ([]byte, error)
func (*WechatConfig) StoreMessage ¶
func (c *WechatConfig) StoreMessage(_ *alertingv1.EndpointImplementation)
func (*WechatConfig) UnmarshalYAML ¶
func (c *WechatConfig) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML implements the yaml.Unmarshaler interface.