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
- func (a *Alert) GetAlarmName() (alarmName string, found bool)
- func (a *Alert) GetClusterId() (clusterId string, found bool)
- func (a *Alert) GetClusterName() (clusterName string, found bool)
- func (a *Alert) GetDedupeKey() (dedupeKey string, found bool)
- func (a *Alert) GetDetails() map[string]string
- func (a *Alert) GetFingerprint() (fingerprint string, found bool)
- func (a *Alert) GetGoldenSignal() (goldenSignal string, found bool)
- func (a *Alert) GetGroupKey() (groupKey string, found bool)
- func (a *Alert) GetHeader() (header string, found bool)
- func (a *Alert) GetSeverity() (severity string, found bool)
- func (a *Alert) GetSummary() (summary string, found bool)
- func (a *Alert) GetUuid() (uuid string, found bool)
- func (a *Alert) IsPushNotification() (oneTime bool, found bool)
- type Alerts
- type Config
- type DiscordConfig
- type EmailConfig
- func (c *EmailConfig) Clone() OpniReceiver
- func (c *EmailConfig) Configure(endp *alertingv1.AlertEndpoint) OpniReceiver
- func (c *EmailConfig) ExtractInfo() *alertingv1.EndpointImplementation
- func (c *EmailConfig) InternalId() string
- func (c *EmailConfig) StoreInfo(details *alertingv1.EndpointImplementation)
- func (c *EmailConfig) UnmarshalYAML(unmarshal func(interface{}) error) error
- type GlobalConfig
- type HostPort
- type InhibitRule
- type MSTeamsConfig
- 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) ExtractInfo() *alertingv1.EndpointImplementation
- func (c *OpsGenieConfig) InternalId() string
- func (c *OpsGenieConfig) StoreInfo(_ *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) ExtractInfo() *alertingv1.EndpointImplementation
- func (c *PagerdutyConfig) InternalId() string
- func (c *PagerdutyConfig) StoreInfo(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) ExtractInfo() *alertingv1.EndpointImplementation
- func (c *PushoverConfig) InternalId() string
- func (c *PushoverConfig) StoreInfo(_ *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) ExtractInfo() *alertingv1.EndpointImplementation
- func (c *SNSConfig) InternalId() string
- func (c *SNSConfig) StoreInfo(_ *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) ExtractInfo() *alertingv1.EndpointImplementation
- func (c *SlackConfig) InternalId() string
- func (c *SlackConfig) StoreInfo(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) ExtractInfo() *alertingv1.EndpointImplementation
- func (c *TelegramConfig) InternalId() string
- func (c *TelegramConfig) StoreInfo(_ *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) ExtractInfo() *alertingv1.EndpointImplementation
- func (c *VictorOpsConfig) InternalId() string
- func (c *VictorOpsConfig) StoreInfo(_ *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) ExtractInfo() *alertingv1.EndpointImplementation
- func (c *WebhookConfig) InternalId() string
- func (c *WebhookConfig) StoreInfo(details *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) ExtractInfo() *alertingv1.EndpointImplementation
- func (c *WechatConfig) InternalId() string
- func (c *WechatConfig) StoreInfo(_ *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", } DefaultMSTeamsConfig = MSTeamsConfig{ NotifierConfig: NotifierConfig{ VSendResolved: true, }, Title: `{{ template "msteams.default.title" . }}`, Text: `{{ template "msteams.default.text" . }}`, } )
Functions ¶
This section is empty.
Types ¶
type Alert ¶
type Alert struct {
Status string `json:"status"`
Labels map[string]string `json:"labels"`
Annotations map[string]string `json:"annotations"`
StartsAt time.Time `json:"startsAt"`
EndsAt time.Time `json:"endsAt"`
GeneratorURL string `json:"generatorURL"`
Fingerprint string `json:"fingerprint"`
}
func (*Alert) GetAlarmName ¶ added in v0.11.0
func (*Alert) GetClusterId ¶ added in v0.11.0
func (*Alert) GetClusterName ¶ added in v0.11.0
func (*Alert) GetDedupeKey ¶ added in v0.11.0
func (*Alert) GetDetails ¶ added in v0.11.0
func (*Alert) GetFingerprint ¶ added in v0.11.0
func (*Alert) GetGoldenSignal ¶ added in v0.11.0
func (*Alert) GetGroupKey ¶ added in v0.11.0
func (*Alert) GetSeverity ¶ added in v0.11.0
func (*Alert) GetSummary ¶ added in v0.11.0
func (*Alert) IsPushNotification ¶ added in v0.11.0
indicates whether this was a one time message, or a recurrent message like an alarm
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) ExtractInfo ¶ added in v0.8.3
func (c *EmailConfig) ExtractInfo() *alertingv1.EndpointImplementation
func (*EmailConfig) InternalId ¶
func (c *EmailConfig) InternalId() string
func (*EmailConfig) StoreInfo ¶ added in v0.8.3
func (c *EmailConfig) StoreInfo(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 MSTeamsConfig ¶ added in v0.12.0
type MSTeamsConfig struct {
NotifierConfig `yaml:",inline" json:",inline"`
HTTPConfig *commoncfg.HTTPClientConfig `yaml:"http_config,omitempty" json:"http_config,omitempty"`
// Changedfr from SecretURL to URL
WebhookURL *amCfg.URL `yaml:"webhook_url,omitempty" json:"webhook_url,omitempty"`
Title string `yaml:"title,omitempty" json:"title,omitempty"`
Text string `yaml:"text,omitempty" json:"text,omitempty"`
}
func (*MSTeamsConfig) UnmarshalYAML ¶ added in v0.12.0
func (c *MSTeamsConfig) UnmarshalYAML(unmarshal func(interface{}) error) error
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
// extract non-specific receiver info
ExtractInfo() *alertingv1.EndpointImplementation
// set non-specific receiver info
StoreInfo(details *alertingv1.EndpointImplementation)
// configure receiver specific info
Configure(*alertingv1.AlertEndpoint) OpniReceiver
Clone() OpniReceiver
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) ExtractInfo ¶ added in v0.8.3
func (c *OpsGenieConfig) ExtractInfo() *alertingv1.EndpointImplementation
func (*OpsGenieConfig) InternalId ¶
func (c *OpsGenieConfig) InternalId() string
func (*OpsGenieConfig) StoreInfo ¶ added in v0.8.3
func (c *OpsGenieConfig) StoreInfo(_ *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) ExtractInfo ¶ added in v0.8.3
func (c *PagerdutyConfig) ExtractInfo() *alertingv1.EndpointImplementation
func (*PagerdutyConfig) InternalId ¶
func (c *PagerdutyConfig) InternalId() string
func (*PagerdutyConfig) StoreInfo ¶ added in v0.8.3
func (c *PagerdutyConfig) StoreInfo(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"`
UserKeyFile string `yaml:"user_key_file,omitempty" json:"user_key_file,omitempty"`
//! Changed from Secret to string for marshalling / unmarshalling purposes
Token string `yaml:"token,omitempty" json:"token,omitempty"`
TokenFile string `yaml:"token_file,omitempty" json:"token_file,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"`
Device string `yaml:"device,omitempty" json:"device,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) ExtractInfo ¶ added in v0.8.3
func (c *PushoverConfig) ExtractInfo() *alertingv1.EndpointImplementation
func (*PushoverConfig) InternalId ¶
func (c *PushoverConfig) InternalId() string
func (*PushoverConfig) StoreInfo ¶ added in v0.8.3
func (c *PushoverConfig) StoreInfo(_ *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"`
MSTeamsConfigs []*MSTeamsConfig `yaml:"msteams_configs,omitempty" json:"teams_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) ExtractInfo ¶ added in v0.8.3
func (c *SNSConfig) ExtractInfo() *alertingv1.EndpointImplementation
func (*SNSConfig) InternalId ¶
func (*SNSConfig) StoreInfo ¶ added in v0.8.3
func (c *SNSConfig) StoreInfo(_ *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) ExtractInfo ¶ added in v0.8.3
func (c *SlackConfig) ExtractInfo() *alertingv1.EndpointImplementation
func (*SlackConfig) InternalId ¶
func (c *SlackConfig) InternalId() string
func (*SlackConfig) StoreInfo ¶ added in v0.8.3
func (c *SlackConfig) StoreInfo(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"`
BotTokenFile string `yaml:"bot_token_file,omitempty" json:"token_file,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) ExtractInfo ¶ added in v0.8.3
func (c *TelegramConfig) ExtractInfo() *alertingv1.EndpointImplementation
func (*TelegramConfig) InternalId ¶
func (c *TelegramConfig) InternalId() string
func (*TelegramConfig) StoreInfo ¶ added in v0.8.3
func (c *TelegramConfig) StoreInfo(_ *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) ExtractInfo ¶ added in v0.8.3
func (c *VictorOpsConfig) ExtractInfo() *alertingv1.EndpointImplementation
func (*VictorOpsConfig) InternalId ¶
func (c *VictorOpsConfig) InternalId() string
func (*VictorOpsConfig) StoreInfo ¶ added in v0.8.3
func (c *VictorOpsConfig) StoreInfo(_ *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"`
URLFile string `yaml:"url_file" json:"url_file"`
// 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 ToWebhook ¶ added in v0.11.2
func ToWebhook(endp *alertingv1.WebhookEndpoint) *WebhookConfig
func (*WebhookConfig) Clone ¶
func (c *WebhookConfig) Clone() OpniReceiver
func (*WebhookConfig) Configure ¶
func (c *WebhookConfig) Configure(endp *alertingv1.AlertEndpoint) OpniReceiver
func (*WebhookConfig) ExtractInfo ¶ added in v0.8.3
func (c *WebhookConfig) ExtractInfo() *alertingv1.EndpointImplementation
func (*WebhookConfig) InternalId ¶
func (c *WebhookConfig) InternalId() string
func (*WebhookConfig) StoreInfo ¶ added in v0.8.3
func (c *WebhookConfig) StoreInfo(details *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) ExtractInfo ¶ added in v0.8.3
func (c *WechatConfig) ExtractInfo() *alertingv1.EndpointImplementation
func (*WechatConfig) InternalId ¶
func (c *WechatConfig) InternalId() string
func (*WechatConfig) StoreInfo ¶ added in v0.8.3
func (c *WechatConfig) StoreInfo(_ *alertingv1.EndpointImplementation)
func (*WechatConfig) UnmarshalYAML ¶
func (c *WechatConfig) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML implements the yaml.Unmarshaler interface.