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.

305 lines (304 loc) 11.4 kB
import * as pulumi from "@pulumi/pulumi"; export declare class Heartbeat extends pulumi.CustomResource { /** * Get an existing Heartbeat 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?: HeartbeatState, opts?: pulumi.CustomResourceOptions): Heartbeat; /** * Returns true if the given object is an instance of Heartbeat. 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 Heartbeat; /** * Whether to call when a new incident is created. */ readonly call: pulumi.Output<boolean>; /** * The time when this heartbeat 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>; /** * Heartbeats can fluctuate; specify this value to control what is still acceptable. Minimum value: 0 seconds. We recommend * setting this to approx. 20% of period */ readonly grace: pulumi.Output<number>; /** * Set this attribute if you want to add this heartbeat to a heartbeat group.. */ readonly heartbeatGroupId: pulumi.Output<number>; /** * An array of maintenance days to set. If a maintenance window is overnight both affected days should be set. Allowed * values are ["mon", "tue", "wed", "thu", "fri", "sat", "sun"] or any subset of these days. */ readonly maintenanceDays: pulumi.Output<string[]>; /** * Start of the maintenance window each day. We won't create incidents during this window. Example: "01:00:00" */ readonly maintenanceFrom: pulumi.Output<string>; /** * The timezone to use for the maintenance window each day. Defaults to UTC. The accepted values can be found in the Rails * TimeZone documentation. https://api.rubyonrails.org/classes/ActiveSupport/TimeZone.html */ readonly maintenanceTimezone: pulumi.Output<string>; /** * End of the maintenance window each day. Example: "03:00:00" */ readonly maintenanceTo: pulumi.Output<string>; /** * A name of the service for this heartbeat. */ readonly name: pulumi.Output<string>; /** * Set to true to pause monitoring — we won't notify you about downtime. Set to false to resume monitoring. */ readonly paused: pulumi.Output<boolean>; /** * The time when this heartbeat was paused. */ readonly pausedAt: pulumi.Output<string>; /** * How often should we expect this heartbeat? In seconds. Minimum value: 30 seconds */ readonly period: pulumi.Output<number>; /** * Set the escalation policy for the heartbeat. */ readonly policyId: pulumi.Output<string | undefined>; /** * Whether to send a push notification when a new incident is created. */ readonly push: pulumi.Output<boolean>; /** * Whether to send an SMS when a new incident is created. */ readonly sms: pulumi.Output<boolean>; /** * An index controlling the position of a heartbeat in the heartbeat group. */ readonly sortIndex: pulumi.Output<number>; /** * The status of this heartbeat. */ readonly status: pulumi.Output<string>; /** * 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 heartbeat was updated. */ readonly updatedAt: pulumi.Output<string>; /** * The url of this heartbeat. */ readonly url: pulumi.Output<string>; /** * Create a Heartbeat 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: HeartbeatArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Heartbeat resources. */ export interface HeartbeatState { /** * Whether to call when a new incident is created. */ call?: pulumi.Input<boolean>; /** * The time when this heartbeat 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>; /** * Heartbeats can fluctuate; specify this value to control what is still acceptable. Minimum value: 0 seconds. We recommend * setting this to approx. 20% of period */ grace?: pulumi.Input<number>; /** * Set this attribute if you want to add this heartbeat to a heartbeat group.. */ heartbeatGroupId?: pulumi.Input<number>; /** * An array of maintenance days to set. If a maintenance window is overnight both affected days should be set. Allowed * values are ["mon", "tue", "wed", "thu", "fri", "sat", "sun"] or any subset of these days. */ maintenanceDays?: pulumi.Input<pulumi.Input<string>[]>; /** * Start of the maintenance window each day. We won't create incidents during this window. Example: "01:00:00" */ maintenanceFrom?: pulumi.Input<string>; /** * The timezone to use for the maintenance window each day. Defaults to UTC. The accepted values can be found in the Rails * TimeZone documentation. https://api.rubyonrails.org/classes/ActiveSupport/TimeZone.html */ maintenanceTimezone?: pulumi.Input<string>; /** * End of the maintenance window each day. Example: "03:00:00" */ maintenanceTo?: pulumi.Input<string>; /** * A name of the service for this heartbeat. */ name?: pulumi.Input<string>; /** * Set to true to pause monitoring — we won't notify you about downtime. Set to false to resume monitoring. */ paused?: pulumi.Input<boolean>; /** * The time when this heartbeat was paused. */ pausedAt?: pulumi.Input<string>; /** * How often should we expect this heartbeat? In seconds. Minimum value: 30 seconds */ period?: pulumi.Input<number>; /** * Set the escalation policy for the heartbeat. */ policyId?: pulumi.Input<string>; /** * Whether to send a push notification when a new incident is created. */ push?: pulumi.Input<boolean>; /** * Whether to send an SMS when a new incident is created. */ sms?: pulumi.Input<boolean>; /** * An index controlling the position of a heartbeat in the heartbeat group. */ sortIndex?: pulumi.Input<number>; /** * The status of this heartbeat. */ status?: pulumi.Input<string>; /** * 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 heartbeat was updated. */ updatedAt?: pulumi.Input<string>; /** * The url of this heartbeat. */ url?: pulumi.Input<string>; } /** * The set of arguments for constructing a Heartbeat resource. */ export interface HeartbeatArgs { /** * Whether to call when a new incident is created. */ call?: pulumi.Input<boolean>; /** * 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>; /** * Heartbeats can fluctuate; specify this value to control what is still acceptable. Minimum value: 0 seconds. We recommend * setting this to approx. 20% of period */ grace: pulumi.Input<number>; /** * Set this attribute if you want to add this heartbeat to a heartbeat group.. */ heartbeatGroupId?: pulumi.Input<number>; /** * An array of maintenance days to set. If a maintenance window is overnight both affected days should be set. Allowed * values are ["mon", "tue", "wed", "thu", "fri", "sat", "sun"] or any subset of these days. */ maintenanceDays?: pulumi.Input<pulumi.Input<string>[]>; /** * Start of the maintenance window each day. We won't create incidents during this window. Example: "01:00:00" */ maintenanceFrom?: pulumi.Input<string>; /** * The timezone to use for the maintenance window each day. Defaults to UTC. The accepted values can be found in the Rails * TimeZone documentation. https://api.rubyonrails.org/classes/ActiveSupport/TimeZone.html */ maintenanceTimezone?: pulumi.Input<string>; /** * End of the maintenance window each day. Example: "03:00:00" */ maintenanceTo?: pulumi.Input<string>; /** * A name of the service for this heartbeat. */ name?: pulumi.Input<string>; /** * Set to true to pause monitoring — we won't notify you about downtime. Set to false to resume monitoring. */ paused?: pulumi.Input<boolean>; /** * How often should we expect this heartbeat? In seconds. Minimum value: 30 seconds */ period: pulumi.Input<number>; /** * Set the escalation policy for the heartbeat. */ policyId?: pulumi.Input<string>; /** * Whether to send a push notification when a new incident is created. */ push?: pulumi.Input<boolean>; /** * Whether to send an SMS when a new incident is created. */ sms?: pulumi.Input<boolean>; /** * An index controlling the position of a heartbeat in the heartbeat group. */ sortIndex?: pulumi.Input<number>; /** * 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>; }