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.
372 lines (371 loc) • 15.7 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "./types/input";
import * as outputs from "./types/output";
export declare class EmailIntegration extends pulumi.CustomResource {
/**
* Get an existing EmailIntegration 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?: EmailIntegrationState, opts?: pulumi.CustomResourceOptions): EmailIntegration;
/**
* Returns true if the given object is an instance of EmailIntegration. 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 EmailIntegration;
/**
* 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.EmailIntegrationAcknowledgedAlertIdField | undefined>;
/**
* Should an incident be acknowledged for all emails, 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.EmailIntegrationAcknowledgedRule[] | 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.EmailIntegrationCauseField | undefined>;
/**
* The time when this email integration 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 email address we expect emails to receive at.
*/
readonly emailAddress: pulumi.Output<string>;
/**
* The name of this Email integration.
*/
readonly name: pulumi.Output<string>;
/**
* An array of additional fields, which will be extracted when acknowledging an incident.
*/
readonly otherAcknowledgedFields: pulumi.Output<outputs.EmailIntegrationOtherAcknowledgedField[] | undefined>;
/**
* An array of additional fields, which will be extracted when resolving an incident.
*/
readonly otherResolvedFields: pulumi.Output<outputs.EmailIntegrationOtherResolvedField[] | undefined>;
/**
* An array of additional fields, which will be extracted when starting an incident.
*/
readonly otherStartedFields: pulumi.Output<outputs.EmailIntegrationOtherStartedField[] | 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 email integration.
*/
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.EmailIntegrationResolvedAlertIdField | undefined>;
/**
* Should an incident be resolved for all emails, 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.EmailIntegrationResolvedRule[] | undefined>;
/**
* 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.EmailIntegrationStartedAlertIdField | undefined>;
/**
* Should an incident be started for all emails, 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.EmailIntegrationStartedRule[] | 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>;
/**
* The time when this email integration was updated.
*/
readonly updatedAt: pulumi.Output<string>;
/**
* Create a EmailIntegration 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: EmailIntegrationArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering EmailIntegration resources.
*/
export interface EmailIntegrationState {
/**
* 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.EmailIntegrationAcknowledgedAlertIdField>;
/**
* Should an incident be acknowledged for all emails, 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.EmailIntegrationAcknowledgedRule>[]>;
/**
* 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.EmailIntegrationCauseField>;
/**
* The time when this email integration 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 email address we expect emails to receive at.
*/
emailAddress?: pulumi.Input<string>;
/**
* The name of this Email integration.
*/
name?: pulumi.Input<string>;
/**
* An array of additional fields, which will be extracted when acknowledging an incident.
*/
otherAcknowledgedFields?: pulumi.Input<pulumi.Input<inputs.EmailIntegrationOtherAcknowledgedField>[]>;
/**
* An array of additional fields, which will be extracted when resolving an incident.
*/
otherResolvedFields?: pulumi.Input<pulumi.Input<inputs.EmailIntegrationOtherResolvedField>[]>;
/**
* An array of additional fields, which will be extracted when starting an incident.
*/
otherStartedFields?: pulumi.Input<pulumi.Input<inputs.EmailIntegrationOtherStartedField>[]>;
/**
* 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 email integration.
*/
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.EmailIntegrationResolvedAlertIdField>;
/**
* Should an incident be resolved for all emails, 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.EmailIntegrationResolvedRule>[]>;
/**
* 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.EmailIntegrationStartedAlertIdField>;
/**
* Should an incident be started for all emails, 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.EmailIntegrationStartedRule>[]>;
/**
* 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>;
/**
* The time when this email integration was updated.
*/
updatedAt?: pulumi.Input<string>;
}
/**
* The set of arguments for constructing a EmailIntegration resource.
*/
export interface EmailIntegrationArgs {
/**
* 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.EmailIntegrationAcknowledgedAlertIdField>;
/**
* Should an incident be acknowledged for all emails, 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.EmailIntegrationAcknowledgedRule>[]>;
/**
* 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.EmailIntegrationCauseField>;
/**
* 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 Email integration.
*/
name?: pulumi.Input<string>;
/**
* An array of additional fields, which will be extracted when acknowledging an incident.
*/
otherAcknowledgedFields?: pulumi.Input<pulumi.Input<inputs.EmailIntegrationOtherAcknowledgedField>[]>;
/**
* An array of additional fields, which will be extracted when resolving an incident.
*/
otherResolvedFields?: pulumi.Input<pulumi.Input<inputs.EmailIntegrationOtherResolvedField>[]>;
/**
* An array of additional fields, which will be extracted when starting an incident.
*/
otherStartedFields?: pulumi.Input<pulumi.Input<inputs.EmailIntegrationOtherStartedField>[]>;
/**
* 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 email integration.
*/
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.EmailIntegrationResolvedAlertIdField>;
/**
* Should an incident be resolved for all emails, 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.EmailIntegrationResolvedRule>[]>;
/**
* 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.EmailIntegrationStartedAlertIdField>;
/**
* Should an incident be started for all emails, 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.EmailIntegrationStartedRule>[]>;
/**
* 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>;
}