UNPKG

pulumi-better-uptime

Version:

A Pulumi provider for managing Better Uptime monitoring, alerting, and incident management resources, dynamically bridged from the Terraform Better Uptime provider with support for monitors, heartbeats, integrations, status pages, and policies.

408 lines (407 loc) 17.2 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; export declare class IncomingWebhook extends pulumi.CustomResource { /** * Get an existing IncomingWebhook resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: IncomingWebhookState, opts?: pulumi.CustomResourceOptions): IncomingWebhook; /** * Returns true if the given object is an instance of IncomingWebhook. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is IncomingWebhook; /** * When acknowledging an incident, how to extract an alert id, a unique alert identifier which will be used to acknowledge * and resolve incidents. */ readonly acknowledgedAlertIdField: pulumi.Output<outputs.IncomingWebhookAcknowledgedAlertIdField | undefined>; /** * Should an incident be acknowledged for all webhooks, those satisfying all acknowledged_rules, or those satisfying any of * them. Valid values are unused, all, or any */ readonly acknowledgedRuleType: pulumi.Output<string>; /** * An array of rules to match to acknowledge an incident. */ readonly acknowledgedRules: pulumi.Output<outputs.IncomingWebhookAcknowledgedRule[] | undefined>; /** * Whether to call when a new incident is created. */ readonly call: pulumi.Output<boolean>; /** * A field describing how to extract an incident cause, used as a short description shared with the team member on-call. */ readonly causeField: pulumi.Output<outputs.IncomingWebhookCauseField | undefined>; /** * The time when this incoming webhook was created. */ readonly createdAt: pulumi.Output<string>; /** * Whether to send a critical push notification that ignores the mute switch and Do not Disturb mode when a new incident is * created. */ readonly criticalAlert: pulumi.Output<boolean>; /** * Whether to send an email when a new incident is created. */ readonly email: pulumi.Output<boolean>; /** * The name of this incoming webhook. */ readonly name: pulumi.Output<string>; /** * An array of additional fields, which will be extracted when acknowledging an incident. */ readonly otherAcknowledgedFields: pulumi.Output<outputs.IncomingWebhookOtherAcknowledgedField[] | undefined>; /** * An array of additional fields, which will be extracted when resolving an incident. */ readonly otherResolvedFields: pulumi.Output<outputs.IncomingWebhookOtherResolvedField[] | undefined>; /** * An array of additional fields, which will be extracted when starting an incident. */ readonly otherStartedFields: pulumi.Output<outputs.IncomingWebhookOtherStartedField[] | undefined>; /** * Set to true to pause monitoring - we won't notify you about downtime. Set to false to resume monitoring. */ readonly paused: pulumi.Output<boolean>; /** * ID of the escalation policy associated with the incoming webhook. */ readonly policyId: pulumi.Output<string>; /** * Whether to send a push notification when a new incident is created. */ readonly push: pulumi.Output<boolean>; /** * How long the integration must be up to automatically mark an incident as resolved after being down. */ readonly recoveryPeriod: pulumi.Output<number>; /** * When resolving an incident, how to extract an alert id, a unique alert identifier which will be used to acknowledge and * resolve incidents. */ readonly resolvedAlertIdField: pulumi.Output<outputs.IncomingWebhookResolvedAlertIdField | undefined>; /** * Should an incident be resolved for all webhooks, those satisfying all resolved_rules, or those satisfying any of them. * Valid values are unused, all, or any */ readonly resolvedRuleType: pulumi.Output<string>; /** * An array of rules to match to resolved an incident. */ readonly resolvedRules: pulumi.Output<outputs.IncomingWebhookResolvedRule[] | undefined>; /** * Sample request body the webhook. Used only to make the configuration easier. */ readonly sampleBody: pulumi.Output<string>; /** * Sample request HTTP headers the webhook (separated by a newline). Used only to make the configuration easier. */ readonly sampleHeaders: pulumi.Output<string>; /** * Sample query string of the webhook (without the leading ?). Used only to make the configuration easier. */ readonly sampleQueryString: pulumi.Output<string>; /** * Whether to send an SMS when a new incident is created. */ readonly sms: pulumi.Output<boolean>; /** * When starting an incident, how to extract an alert id, a unique alert identifier which will be used to acknowledge and * resolve incidents. */ readonly startedAlertIdField: pulumi.Output<outputs.IncomingWebhookStartedAlertIdField | undefined>; /** * Should an incident be started for all webhooks, those satisfying all started_rules, or those satisfying any of them. * Valid values are unused, all, or any */ readonly startedRuleType: pulumi.Output<string>; /** * An array of rules to match to start a new incident. */ readonly startedRules: pulumi.Output<outputs.IncomingWebhookStartedRule[] | undefined>; /** * Used to specify the team the resource should be created in when using global tokens. */ readonly teamName: pulumi.Output<string | undefined>; /** * How long to wait before escalating the incident alert to the team. Leave blank to disable escalating to the entire team. */ readonly teamWait: pulumi.Output<number>; /** * An optional field describing how to extract a customized incident title. */ readonly titleField: pulumi.Output<outputs.IncomingWebhookTitleField | undefined>; /** * The time when this incoming webhook was updated. */ readonly updatedAt: pulumi.Output<string>; /** * The url at which we expect to receive the webhook. */ readonly url: pulumi.Output<string>; /** * Create a IncomingWebhook resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: IncomingWebhookArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering IncomingWebhook resources. */ export interface IncomingWebhookState { /** * When acknowledging an incident, how to extract an alert id, a unique alert identifier which will be used to acknowledge * and resolve incidents. */ acknowledgedAlertIdField?: pulumi.Input<inputs.IncomingWebhookAcknowledgedAlertIdField>; /** * Should an incident be acknowledged for all webhooks, those satisfying all acknowledged_rules, or those satisfying any of * them. Valid values are unused, all, or any */ acknowledgedRuleType?: pulumi.Input<string>; /** * An array of rules to match to acknowledge an incident. */ acknowledgedRules?: pulumi.Input<pulumi.Input<inputs.IncomingWebhookAcknowledgedRule>[]>; /** * Whether to call when a new incident is created. */ call?: pulumi.Input<boolean>; /** * A field describing how to extract an incident cause, used as a short description shared with the team member on-call. */ causeField?: pulumi.Input<inputs.IncomingWebhookCauseField>; /** * The time when this incoming webhook was created. */ createdAt?: pulumi.Input<string>; /** * Whether to send a critical push notification that ignores the mute switch and Do not Disturb mode when a new incident is * created. */ criticalAlert?: pulumi.Input<boolean>; /** * Whether to send an email when a new incident is created. */ email?: pulumi.Input<boolean>; /** * The name of this incoming webhook. */ name?: pulumi.Input<string>; /** * An array of additional fields, which will be extracted when acknowledging an incident. */ otherAcknowledgedFields?: pulumi.Input<pulumi.Input<inputs.IncomingWebhookOtherAcknowledgedField>[]>; /** * An array of additional fields, which will be extracted when resolving an incident. */ otherResolvedFields?: pulumi.Input<pulumi.Input<inputs.IncomingWebhookOtherResolvedField>[]>; /** * An array of additional fields, which will be extracted when starting an incident. */ otherStartedFields?: pulumi.Input<pulumi.Input<inputs.IncomingWebhookOtherStartedField>[]>; /** * Set to true to pause monitoring - we won't notify you about downtime. Set to false to resume monitoring. */ paused?: pulumi.Input<boolean>; /** * ID of the escalation policy associated with the incoming webhook. */ policyId?: pulumi.Input<string>; /** * Whether to send a push notification when a new incident is created. */ push?: pulumi.Input<boolean>; /** * How long the integration must be up to automatically mark an incident as resolved after being down. */ recoveryPeriod?: pulumi.Input<number>; /** * When resolving an incident, how to extract an alert id, a unique alert identifier which will be used to acknowledge and * resolve incidents. */ resolvedAlertIdField?: pulumi.Input<inputs.IncomingWebhookResolvedAlertIdField>; /** * Should an incident be resolved for all webhooks, those satisfying all resolved_rules, or those satisfying any of them. * Valid values are unused, all, or any */ resolvedRuleType?: pulumi.Input<string>; /** * An array of rules to match to resolved an incident. */ resolvedRules?: pulumi.Input<pulumi.Input<inputs.IncomingWebhookResolvedRule>[]>; /** * Sample request body the webhook. Used only to make the configuration easier. */ sampleBody?: pulumi.Input<string>; /** * Sample request HTTP headers the webhook (separated by a newline). Used only to make the configuration easier. */ sampleHeaders?: pulumi.Input<string>; /** * Sample query string of the webhook (without the leading ?). Used only to make the configuration easier. */ sampleQueryString?: pulumi.Input<string>; /** * Whether to send an SMS when a new incident is created. */ sms?: pulumi.Input<boolean>; /** * When starting an incident, how to extract an alert id, a unique alert identifier which will be used to acknowledge and * resolve incidents. */ startedAlertIdField?: pulumi.Input<inputs.IncomingWebhookStartedAlertIdField>; /** * Should an incident be started for all webhooks, those satisfying all started_rules, or those satisfying any of them. * Valid values are unused, all, or any */ startedRuleType?: pulumi.Input<string>; /** * An array of rules to match to start a new incident. */ startedRules?: pulumi.Input<pulumi.Input<inputs.IncomingWebhookStartedRule>[]>; /** * Used to specify the team the resource should be created in when using global tokens. */ teamName?: pulumi.Input<string>; /** * How long to wait before escalating the incident alert to the team. Leave blank to disable escalating to the entire team. */ teamWait?: pulumi.Input<number>; /** * An optional field describing how to extract a customized incident title. */ titleField?: pulumi.Input<inputs.IncomingWebhookTitleField>; /** * The time when this incoming webhook was updated. */ updatedAt?: pulumi.Input<string>; /** * The url at which we expect to receive the webhook. */ url?: pulumi.Input<string>; } /** * The set of arguments for constructing a IncomingWebhook resource. */ export interface IncomingWebhookArgs { /** * When acknowledging an incident, how to extract an alert id, a unique alert identifier which will be used to acknowledge * and resolve incidents. */ acknowledgedAlertIdField?: pulumi.Input<inputs.IncomingWebhookAcknowledgedAlertIdField>; /** * Should an incident be acknowledged for all webhooks, those satisfying all acknowledged_rules, or those satisfying any of * them. Valid values are unused, all, or any */ acknowledgedRuleType: pulumi.Input<string>; /** * An array of rules to match to acknowledge an incident. */ acknowledgedRules?: pulumi.Input<pulumi.Input<inputs.IncomingWebhookAcknowledgedRule>[]>; /** * Whether to call when a new incident is created. */ call?: pulumi.Input<boolean>; /** * A field describing how to extract an incident cause, used as a short description shared with the team member on-call. */ causeField?: pulumi.Input<inputs.IncomingWebhookCauseField>; /** * Whether to send a critical push notification that ignores the mute switch and Do not Disturb mode when a new incident is * created. */ criticalAlert?: pulumi.Input<boolean>; /** * Whether to send an email when a new incident is created. */ email?: pulumi.Input<boolean>; /** * The name of this incoming webhook. */ name?: pulumi.Input<string>; /** * An array of additional fields, which will be extracted when acknowledging an incident. */ otherAcknowledgedFields?: pulumi.Input<pulumi.Input<inputs.IncomingWebhookOtherAcknowledgedField>[]>; /** * An array of additional fields, which will be extracted when resolving an incident. */ otherResolvedFields?: pulumi.Input<pulumi.Input<inputs.IncomingWebhookOtherResolvedField>[]>; /** * An array of additional fields, which will be extracted when starting an incident. */ otherStartedFields?: pulumi.Input<pulumi.Input<inputs.IncomingWebhookOtherStartedField>[]>; /** * Set to true to pause monitoring - we won't notify you about downtime. Set to false to resume monitoring. */ paused?: pulumi.Input<boolean>; /** * ID of the escalation policy associated with the incoming webhook. */ policyId?: pulumi.Input<string>; /** * Whether to send a push notification when a new incident is created. */ push?: pulumi.Input<boolean>; /** * How long the integration must be up to automatically mark an incident as resolved after being down. */ recoveryPeriod?: pulumi.Input<number>; /** * When resolving an incident, how to extract an alert id, a unique alert identifier which will be used to acknowledge and * resolve incidents. */ resolvedAlertIdField?: pulumi.Input<inputs.IncomingWebhookResolvedAlertIdField>; /** * Should an incident be resolved for all webhooks, those satisfying all resolved_rules, or those satisfying any of them. * Valid values are unused, all, or any */ resolvedRuleType: pulumi.Input<string>; /** * An array of rules to match to resolved an incident. */ resolvedRules?: pulumi.Input<pulumi.Input<inputs.IncomingWebhookResolvedRule>[]>; /** * Whether to send an SMS when a new incident is created. */ sms?: pulumi.Input<boolean>; /** * When starting an incident, how to extract an alert id, a unique alert identifier which will be used to acknowledge and * resolve incidents. */ startedAlertIdField?: pulumi.Input<inputs.IncomingWebhookStartedAlertIdField>; /** * Should an incident be started for all webhooks, those satisfying all started_rules, or those satisfying any of them. * Valid values are unused, all, or any */ startedRuleType: pulumi.Input<string>; /** * An array of rules to match to start a new incident. */ startedRules?: pulumi.Input<pulumi.Input<inputs.IncomingWebhookStartedRule>[]>; /** * Used to specify the team the resource should be created in when using global tokens. */ teamName?: pulumi.Input<string>; /** * How long to wait before escalating the incident alert to the team. Leave blank to disable escalating to the entire team. */ teamWait?: pulumi.Input<number>; /** * An optional field describing how to extract a customized incident title. */ titleField?: pulumi.Input<inputs.IncomingWebhookTitleField>; }