Documentation
¶
Index ¶
- func CreateOnCallProvider(cfg *config.Config, awsClient *ssmincidents.Client) (core.OnCallProvider, error)
- func LoginAuth(username, password string) smtp.Auth
- func NewAzBusListener() (core.QueueListener, error)
- func NewPubSubListener() (core.QueueListener, error)
- type AlertProviderFactory
- type AwsIncidentManagerProvider
- type AzBusListener
- type EmailProvider
- type LarkProvider
- type ListenerFactory
- type MSTeamsProvider
- type OnCallProviderFactory
- type PagerDutyEvent
- type PagerDutyEventPayload
- type PagerDutyProvider
- type PubSubListener
- type SNSListener
- type SQSListener
- type SlackProvider
- type TelegramMessage
- type TelegramProvider
- type ViberBotMessage
- type ViberChannelMessage
- type ViberProvider
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CreateOnCallProvider ¶ added in v1.3.0
func CreateOnCallProvider(cfg *config.Config, awsClient *ssmincidents.Client) (core.OnCallProvider, error)
CreateOnCallProvider is a helper function that creates an on-call provider This is used by the core package to create providers without directly importing the implementation details
func NewAzBusListener ¶
func NewAzBusListener() (core.QueueListener, error)
func NewPubSubListener ¶
func NewPubSubListener() (core.QueueListener, error)
Types ¶
type AlertProviderFactory ¶ added in v1.3.0
type AlertProviderFactory struct {
// contains filtered or unexported fields
}
Alert Provider
func NewAlertProviderFactory ¶ added in v1.3.0
func NewAlertProviderFactory(cfg *config.Config) *AlertProviderFactory
func (*AlertProviderFactory) CreateProviders ¶ added in v1.3.0
func (f *AlertProviderFactory) CreateProviders() ([]core.AlertProvider, error)
type AwsIncidentManagerProvider ¶ added in v1.3.0
type AwsIncidentManagerProvider struct {
// contains filtered or unexported fields
}
AwsIncidentManagerProvider implements the OnCallProvider interface for AWS Incident Manager
func NewAwsIncidentManagerProvider ¶ added in v1.3.0
func NewAwsIncidentManagerProvider(client *ssmincidents.Client, responsePlanArn string) *AwsIncidentManagerProvider
NewAwsIncidentManagerProvider creates a new AWS Incident Manager provider
func (*AwsIncidentManagerProvider) TriggerOnCall ¶ added in v1.3.0
func (p *AwsIncidentManagerProvider) TriggerOnCall(ctx context.Context, incidentID string, cfg *config.OnCallConfig) error
TriggerOnCall creates an incident in AWS Incident Manager
type AzBusListener ¶
type AzBusListener struct{}
func (*AzBusListener) StartListening ¶
func (l *AzBusListener) StartListening(handler func(content map[string]interface{}) error) error
type EmailProvider ¶
type EmailProvider struct {
// contains filtered or unexported fields
}
func NewEmailProvider ¶
func NewEmailProvider(cfg config.EmailConfig) *EmailProvider
type LarkProvider ¶ added in v1.3.1
type LarkProvider struct {
// contains filtered or unexported fields
}
func NewLarkProvider ¶ added in v1.3.1
func NewLarkProvider(cfg config.LarkConfig, proxyConfig config.ProxyConfig) *LarkProvider
type ListenerFactory ¶
type ListenerFactory struct {
// contains filtered or unexported fields
}
Listener Factory
func NewListenerFactory ¶
func NewListenerFactory(cfg *config.Config) *ListenerFactory
func (*ListenerFactory) CreateListeners ¶
func (f *ListenerFactory) CreateListeners() ([]core.QueueListener, error)
type MSTeamsProvider ¶
type MSTeamsProvider struct {
// contains filtered or unexported fields
}
func NewMSTeamsProvider ¶
func NewMSTeamsProvider(cfg config.MSTeamsConfig) *MSTeamsProvider
type OnCallProviderFactory ¶ added in v1.3.0
type OnCallProviderFactory struct {
// contains filtered or unexported fields
}
OnCall Provider
func NewOnCallProviderFactory ¶ added in v1.3.0
func NewOnCallProviderFactory(cfg *config.Config, awsClient *ssmincidents.Client) *OnCallProviderFactory
func (*OnCallProviderFactory) CreateProvider ¶ added in v1.3.0
func (f *OnCallProviderFactory) CreateProvider() (core.OnCallProvider, error)
type PagerDutyEvent ¶ added in v1.3.0
type PagerDutyEvent struct {
RoutingKey string `json:"routing_key"`
EventAction string `json:"event_action"`
Payload PagerDutyEventPayload `json:"payload"`
}
PagerDuty API v2 payload structures
type PagerDutyEventPayload ¶ added in v1.3.0
type PagerDutyProvider ¶ added in v1.3.0
type PagerDutyProvider struct {
// contains filtered or unexported fields
}
PagerDutyProvider implements the OnCallProvider interface for PagerDuty
func NewPagerDutyProvider ¶ added in v1.3.0
func NewPagerDutyProvider(routingKey string) *PagerDutyProvider
NewPagerDutyProvider creates a new PagerDuty provider
func (*PagerDutyProvider) TriggerOnCall ¶ added in v1.3.0
func (p *PagerDutyProvider) TriggerOnCall(ctx context.Context, incidentID string, cfg *config.OnCallConfig) error
TriggerOnCall creates an incident in PagerDuty using Events API v2
type PubSubListener ¶
type PubSubListener struct{}
func (*PubSubListener) StartListening ¶
func (l *PubSubListener) StartListening(handler func(content map[string]interface{}) error) error
type SNSListener ¶
type SNSListener struct {
// contains filtered or unexported fields
}
func NewSNSListener ¶
func NewSNSListener(cfg c.SNSConfig, endpointURL string, autoCreateSubscription bool) *SNSListener
func (*SNSListener) StartListening ¶
func (l *SNSListener) StartListening(handler func(content *map[string]interface{}) error) error
type SQSListener ¶
type SQSListener struct {
QueueURL string
}
func NewSQSListener ¶
func NewSQSListener(cfg config.SQSConfig) *SQSListener
func (*SQSListener) StartListening ¶
func (s *SQSListener) StartListening(handler func(content *map[string]interface{}) error) error
type SlackProvider ¶
type SlackProvider struct {
// contains filtered or unexported fields
}
func NewSlackProvider ¶
func NewSlackProvider(cfg config.SlackConfig) *SlackProvider
type TelegramMessage ¶
type TelegramProvider ¶
type TelegramProvider struct {
// contains filtered or unexported fields
}
func NewTelegramProvider ¶
func NewTelegramProvider(cfg config.TelegramConfig, proxyConfig config.ProxyConfig) *TelegramProvider
type ViberBotMessage ¶ added in v1.3.7
type ViberBotMessage struct {
Receiver string `json:"receiver"`
Type string `json:"type"`
Text string `json:"text"`
Sender map[string]interface{} `json:"sender"`
}
ViberBotMessage represents a message for Viber Bot API
type ViberChannelMessage ¶ added in v1.3.7
ViberChannelMessage represents a message for Viber Channels Post API
type ViberProvider ¶ added in v1.3.7
type ViberProvider struct {
// contains filtered or unexported fields
}
func NewViberProvider ¶ added in v1.3.7
func NewViberProvider(cfg config.ViberConfig, proxyConfig config.ProxyConfig) *ViberProvider