Documentation
¶
Index ¶
- type AddOutputInput
- type AddOutputOutput
- type AlertOutput
- type AsanaConfig
- type CustomWebhookConfig
- type DeleteOutputInput
- type GetOutputInput
- type GetOutputOutput
- type GetOutputsInput
- type GetOutputsOutput
- type GetOutputsWithSecretsInput
- type GithubConfig
- type JiraConfig
- type LambdaInput
- type MsTeamsConfig
- type OpsgenieConfig
- type OutputConfig
- type PagerDutyConfig
- type SlackConfig
- type SnsConfig
- type SqsConfig
- type UpdateOutputInput
- type UpdateOutputOutput
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AddOutputInput ¶
type AddOutputInput struct {
UserID *string `json:"userId" validate:"required,uuid4"`
DisplayName *string `json:"displayName" validate:"required,min=1,excludesall='<>&\""`
OutputConfig *OutputConfig `json:"outputConfig" validate:"required"`
DefaultForSeverity []*string `json:"defaultForSeverity"`
}
AddOutputInput adds a new encrypted alert output to DynamoDB.
Example:
{
"addOutput": {
"displayName": "alert-channel",
"userId": "f6cfad0a-9bb0-4681-9503-02c54cc979c7",
"slack": {
"webhookURL": "https://hooks.slack.com/services/..."
}
}
}
type AddOutputOutput ¶
type AddOutputOutput = AlertOutput
AddOutputOutput returns a randomly generated UUID for the output.
Example:
{
"displayName": "alert-channel",
"outputId": "7d1c5854-f3ea-491c-8a52-0aa0d58cb456",
"outputType": "slack"
}
type AlertOutput ¶
type AlertOutput struct {
// The user ID of the user that created the alert output
CreatedBy *string `json:"createdBy"`
// The time in epoch seconds when the alert output was created
CreationTime *string `json:"creationTime"`
// DisplayName is the user-provided name, e.g. "alert-channel".
DisplayName *string `json:"displayName"`
// The user ID of the user that last modified the alert output last
LastModifiedBy *string `json:"lastModifiedBy"`
// The time in epoch seconds when the alert output was last modified
LastModifiedTime *string `json:"lastModifiedTime"`
// Identifies uniquely an alert output (table sort key)
OutputID *string `json:"outputId"`
// OutputType is the output class, e.g. "slack", "sns".
// ("type" is a reserved Dynamo keyword, so we use "OutputType" instead)
OutputType *string `json:"outputType"`
// OutputConfig contains the configuration for this output
OutputConfig *OutputConfig `json:"outputConfig"`
// DefaultForSeverity defines the alert severities that will be forwarded through this output
DefaultForSeverity []*string `json:"defaultForSeverity"`
}
AlertOutput contains the information for alert output configuration
type AsanaConfig ¶ added in v0.2.0
type AsanaConfig struct {
PersonalAccessToken string `json:"personalAccessToken" validate:"omitempty,min=1"`
ProjectGids []string `json:"projectGids" validate:"omitempty,min=1,dive,required"`
}
AsanaConfig defines options for each Asana output
type CustomWebhookConfig ¶ added in v1.5.0
type CustomWebhookConfig struct {
WebhookURL string `json:"webhookURL" validate:"omitempty,url"`
}
CustomWebhookConfig defines options for each CustomWebhook output
type DeleteOutputInput ¶
type DeleteOutputInput struct {
OutputID *string `json:"outputId" validate:"required,uuid4"`
}
DeleteOutputInput permanently deletes output credentials.
Example:
{
"deleteOutput": {
"outputId": "7d1c5854-f3ea-491c-8a52-0aa0d58cb456"
}
}
type GetOutputInput ¶
type GetOutputInput struct {
OutputID *string `json:"outputId" validate:"required,uuid4"`
}
GetOutputInput fetches the configuration for a specific alert output id of an organization
type GetOutputOutput ¶
type GetOutputOutput = AlertOutput
GetOutputOutput contains the configuration for an alert
type GetOutputsInput ¶ added in v0.1.1
type GetOutputsInput struct {
}
GetOutputsInput fetches all alert output configuration for one organization
Example:
{
"getOutputs": {
}
}
type GetOutputsOutput ¶ added in v0.1.1
type GetOutputsOutput = []*AlertOutput
GetOutputsOutput returns all the alert outputs for one organization
Example:
{
"displayName": "alert-channel",
"outputId": "7d1c5854-f3ea-491c-8a52-0aa0d58cb456",
"outputType": "slack"
}
type GetOutputsWithSecretsInput ¶ added in v1.5.0
type GetOutputsWithSecretsInput struct {
}
GetOutputsWithSecretsInput fetches all alert output configuration for one organization without redacting their secrets
type GithubConfig ¶
GithubConfig defines options for each Github output
type JiraConfig ¶
type JiraConfig struct {
OrgDomain string `json:"orgDomain"`
ProjectKey string `json:"projectKey"`
UserName string `json:"userName"`
APIKey string `json:"apiKey"`
AssigneeID string `json:"assigneeId"`
Type string `json:"issueType"`
}
JiraConfig defines options for each Jira output
type LambdaInput ¶
type LambdaInput struct {
AddOutput *AddOutputInput `json:"addOutput"`
UpdateOutput *UpdateOutputInput `json:"updateOutput"`
GetOutput *GetOutputInput `json:"getOutput"`
DeleteOutput *DeleteOutputInput `json:"deleteOutput"`
GetOutputs *GetOutputsInput `json:"getOutputs"`
GetOutputsWithSecrets *GetOutputsWithSecretsInput `json:"getOutputsWithSecrets"`
}
LambdaInput is the invocation event expected by the Lambda function.
Exactly one action must be specified.
type MsTeamsConfig ¶
type MsTeamsConfig struct {
WebhookURL string `json:"webhookURL" validate:"omitempty,url"`
}
MsTeamsConfig defines options for each MsTeams output
type OpsgenieConfig ¶
type OpsgenieConfig struct {
APIKey string `json:"apiKey"`
ServiceRegion string `json:"serviceRegion" validate:"oneof=US EU"`
}
OpsgenieConfig defines options for each Opsgenie output
type OutputConfig ¶
type OutputConfig struct {
// SlackConfig contains the configuration for Slack alert output
Slack *SlackConfig `json:"slack,omitempty"`
// SnsConfig contains the configuration for SNS alert output
Sns *SnsConfig `json:"sns,omitempty"`
// PagerDuty contains the configuration for PagerDuty alert output
PagerDuty *PagerDutyConfig `json:"pagerDuty,omitempty"`
// Github contains the configuration for Github alert output
Github *GithubConfig `json:"github,omitempty"`
// Jira contains the configuration for Jira alert output
Jira *JiraConfig `json:"jira,omitempty"`
// Opsgenie contains the configuration for Opsgenie alert output
Opsgenie *OpsgenieConfig `json:"opsgenie,omitempty"`
// MsTeams contains the configuration for MsTeams alert output
MsTeams *MsTeamsConfig `json:"msTeams,omitempty"`
// SqsConfig contains the configuration for SQS alert output
Sqs *SqsConfig `json:"sqs,omitempty"`
// AsanaConfig contains the configuration for Asana alert output
Asana *AsanaConfig `json:"asana,omitempty"`
// CustomWebhook contains the configuration for a Custom Webhook alert output
CustomWebhook *CustomWebhookConfig `json:"customWebhook,omitempty"`
}
OutputConfig contains the configuration for the output
type PagerDutyConfig ¶
type PagerDutyConfig struct {
IntegrationKey string `json:"integrationKey" validate:"omitempty,hexadecimal,len=32"`
}
PagerDutyConfig defines options for each PagerDuty output
type SlackConfig ¶
type SlackConfig struct {
WebhookURL string `json:"webhookURL" validate:"omitempty,url"` // https://hooks.slack.com/services/...
}
SlackConfig defines options for each Slack output.
type SnsConfig ¶
type SnsConfig struct {
TopicArn string `json:"topicArn" validate:"omitempty,snsArn"`
}
SnsConfig defines options for each SNS topic output
type SqsConfig ¶
type SqsConfig struct {
QueueURL string `json:"queueUrl" validate:"omitempty,url"`
}
SqsConfig defines options for each Sqs topic output
type UpdateOutputInput ¶
type UpdateOutputInput struct {
UserID *string `json:"userId" validate:"required,uuid4"`
DisplayName *string `json:"displayName" validate:"omitempty,min=1,excludesall='<>&\""`
OutputID *string `json:"outputId" validate:"required,uuid4"`
OutputConfig *OutputConfig `json:"outputConfig"`
DefaultForSeverity []*string `json:"defaultForSeverity"`
}
UpdateOutputInput updates an alert output configuration.
Example:
{
"updateOutput": {
"userId": "9d1c5854-f3ea-491c-8a52-0aa0d58cb456",
"outputId": "7d1c5854-f3ea-491c-8a52-0aa0d58cb456"
}
}
type UpdateOutputOutput ¶
type UpdateOutputOutput = AlertOutput
UpdateOutputOutput returns the new updated output
Example:
{
"displayName": "alert-channel",
"outputId": "7d1c5854-f3ea-491c-8a52-0aa0d58cb456",
"outputType": "slack"
}