published on Friday, Oct 30, 2026 by zenduty
published on Friday, Oct 30, 2026 by zenduty
zenduty.Heartbeat creates an account-level heartbeat. An external job pings the heartbeat’s ping_url (or ping_email); when no ping arrives within interval_seconds, an incident is raised on the service.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as zenduty from "@pulumi/zenduty";
const backup = new zenduty.Services("backup", {
name: "nightly backup",
teamId: opsZendutyTeams.id,
escalationPolicy: ops.id,
});
const backupHeartbeat = new zenduty.Heartbeat("backup", {
serviceId: backup.servicesId,
name: "nightly-backup",
description: "Pinged at the end of the backup job",
intervalSeconds: 86400,
alertMessage: "The nightly backup did not report in",
alertUrgency: 1,
});
export const backupPingUrl = backupHeartbeat.pingUrl;
import pulumi
import pulumi_zenduty as zenduty
backup = zenduty.Services("backup",
name="nightly backup",
team_id=ops_zenduty_teams["id"],
escalation_policy=ops["id"])
backup_heartbeat = zenduty.Heartbeat("backup",
service_id=backup.services_id,
name="nightly-backup",
description="Pinged at the end of the backup job",
interval_seconds=86400,
alert_message="The nightly backup did not report in",
alert_urgency=1)
pulumi.export("backupPingUrl", backup_heartbeat.ping_url)
package main
import (
"github.com/pulumi/pulumi-terraform-provider/sdks/go/zenduty/v2/zenduty"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
backup, err := zenduty.NewServices(ctx, "backup", &zenduty.ServicesArgs{
Name: pulumi.String("nightly backup"),
TeamId: pulumi.Any(opsZendutyTeams.Id),
EscalationPolicy: pulumi.Any(ops.Id),
})
if err != nil {
return err
}
backupHeartbeat, err := zenduty.NewHeartbeat(ctx, "backup", &zenduty.HeartbeatArgs{
ServiceId: backup.ServicesId,
Name: pulumi.String("nightly-backup"),
Description: pulumi.String("Pinged at the end of the backup job"),
IntervalSeconds: pulumi.Float64(86400),
AlertMessage: pulumi.String("The nightly backup did not report in"),
AlertUrgency: pulumi.Float64(1),
})
if err != nil {
return err
}
ctx.Export("backupPingUrl", backupHeartbeat.PingUrl)
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Zenduty = Pulumi.Zenduty;
return await Deployment.RunAsync(() =>
{
var backup = new Zenduty.Services("backup", new()
{
Name = "nightly backup",
TeamId = opsZendutyTeams.Id,
EscalationPolicy = ops.Id,
});
var backupHeartbeat = new Zenduty.Heartbeat("backup", new()
{
ServiceId = backup.ServicesId,
Name = "nightly-backup",
Description = "Pinged at the end of the backup job",
IntervalSeconds = 86400,
AlertMessage = "The nightly backup did not report in",
AlertUrgency = 1,
});
return new Dictionary<string, object?>
{
["backupPingUrl"] = backupHeartbeat.PingUrl,
};
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.zenduty.Services;
import com.pulumi.zenduty.ServicesArgs;
import com.pulumi.zenduty.Heartbeat;
import com.pulumi.zenduty.HeartbeatArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var backup = new Services("backup", ServicesArgs.builder()
.name("nightly backup")
.teamId(opsZendutyTeams.id())
.escalationPolicy(ops.id())
.build());
var backupHeartbeat = new Heartbeat("backupHeartbeat", HeartbeatArgs.builder()
.serviceId(backup.servicesId())
.name("nightly-backup")
.description("Pinged at the end of the backup job")
.intervalSeconds(86400.0)
.alertMessage("The nightly backup did not report in")
.alertUrgency(1.0)
.build());
ctx.export("backupPingUrl", backupHeartbeat.pingUrl());
}
}
resources:
backup:
type: zenduty:Services
properties:
name: nightly backup
teamId: ${opsZendutyTeams.id}
escalationPolicy: ${ops.id}
backupHeartbeat:
type: zenduty:Heartbeat
name: backup
properties:
serviceId: ${backup.servicesId}
name: nightly-backup
description: Pinged at the end of the backup job
intervalSeconds: 86400
alertMessage: The nightly backup did not report in
alertUrgency: 1
outputs:
backupPingUrl: ${backupHeartbeat.pingUrl}
Example coming soon!
Create Heartbeat Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new Heartbeat(name: string, args: HeartbeatArgs, opts?: CustomResourceOptions);@overload
def Heartbeat(resource_name: str,
args: HeartbeatArgs,
opts: Optional[ResourceOptions] = None)
@overload
def Heartbeat(resource_name: str,
opts: Optional[ResourceOptions] = None,
interval_seconds: Optional[float] = None,
service_id: Optional[str] = None,
alert_message: Optional[str] = None,
alert_urgency: Optional[float] = None,
description: Optional[str] = None,
email_subject_contains: Optional[str] = None,
heartbeat_id: Optional[str] = None,
is_enabled: Optional[bool] = None,
name: Optional[str] = None,
ping_type: Optional[float] = None)func NewHeartbeat(ctx *Context, name string, args HeartbeatArgs, opts ...ResourceOption) (*Heartbeat, error)public Heartbeat(string name, HeartbeatArgs args, CustomResourceOptions? opts = null)
public Heartbeat(String name, HeartbeatArgs args)
public Heartbeat(String name, HeartbeatArgs args, CustomResourceOptions options)
type: zenduty:Heartbeat
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
resource "zenduty_heartbeat" "name" {
# resource properties
}Parameters
- name string
- The unique name of the resource.
- args HeartbeatArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args HeartbeatArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args HeartbeatArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args HeartbeatArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args HeartbeatArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var heartbeatResource = new Zenduty.Heartbeat("heartbeatResource", new()
{
IntervalSeconds = 0.0,
ServiceId = "string",
AlertMessage = "string",
AlertUrgency = 0.0,
Description = "string",
EmailSubjectContains = "string",
HeartbeatId = "string",
IsEnabled = false,
Name = "string",
PingType = 0.0,
});
example, err := zenduty.NewHeartbeat(ctx, "heartbeatResource", &zenduty.HeartbeatArgs{
IntervalSeconds: pulumi.Float64(0),
ServiceId: pulumi.String("string"),
AlertMessage: pulumi.String("string"),
AlertUrgency: pulumi.Float64(0),
Description: pulumi.String("string"),
EmailSubjectContains: pulumi.String("string"),
HeartbeatId: pulumi.String("string"),
IsEnabled: pulumi.Bool(false),
Name: pulumi.String("string"),
PingType: pulumi.Float64(0),
})
resource "zenduty_heartbeat" "heartbeatResource" {
lifecycle {
create_before_destroy = true
}
interval_seconds = 0
service_id = "string"
alert_message = "string"
alert_urgency = 0
description = "string"
email_subject_contains = "string"
heartbeat_id = "string"
is_enabled = false
name = "string"
ping_type = 0
}
var heartbeatResource = new Heartbeat("heartbeatResource", HeartbeatArgs.builder()
.intervalSeconds(0.0)
.serviceId("string")
.alertMessage("string")
.alertUrgency(0.0)
.description("string")
.emailSubjectContains("string")
.heartbeatId("string")
.isEnabled(false)
.name("string")
.pingType(0.0)
.build());
heartbeat_resource = zenduty.Heartbeat("heartbeatResource",
interval_seconds=float(0),
service_id="string",
alert_message="string",
alert_urgency=float(0),
description="string",
email_subject_contains="string",
heartbeat_id="string",
is_enabled=False,
name="string",
ping_type=float(0))
const heartbeatResource = new zenduty.Heartbeat("heartbeatResource", {
intervalSeconds: 0,
serviceId: "string",
alertMessage: "string",
alertUrgency: 0,
description: "string",
emailSubjectContains: "string",
heartbeatId: "string",
isEnabled: false,
name: "string",
pingType: 0,
});
type: zenduty:Heartbeat
properties:
alertMessage: string
alertUrgency: 0
description: string
emailSubjectContains: string
heartbeatId: string
intervalSeconds: 0
isEnabled: false
name: string
pingType: 0
serviceId: string
Heartbeat Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The Heartbeat resource accepts the following input properties:
- Interval
Seconds double - Seconds without a ping before the heartbeat expires,
60to7776000(90 days). The timer starts at creation, so a heartbeat that is never pinged fires once. - Service
Id string - The unique_id of the service paged when the heartbeat expires. The service must have an escalation policy.
- Alert
Message string - Message of the incident raised when the heartbeat expires.
- Alert
Urgency double - Urgency of the incident:
0low,1high. Unset leaves the stored value alone (the API default for a new heartbeat), so a value set in the web console is not overwritten. - Description string
- Free text.
- Email
Subject stringContains - For email pings, only emails whose subject contains this text count as a ping.
- Heartbeat
Id string - The unique_id of the heartbeat.
- Is
Enabled bool - Whether the heartbeat is monitored. Defaults to
true. Re-enabling resets it topendinguntil the next ping. - Name string
- Name of the heartbeat, unique within the service.
- Ping
Type double 0for webhook pings toping_url(default),1for email pings toping_email.
- Interval
Seconds float64 - Seconds without a ping before the heartbeat expires,
60to7776000(90 days). The timer starts at creation, so a heartbeat that is never pinged fires once. - Service
Id string - The unique_id of the service paged when the heartbeat expires. The service must have an escalation policy.
- Alert
Message string - Message of the incident raised when the heartbeat expires.
- Alert
Urgency float64 - Urgency of the incident:
0low,1high. Unset leaves the stored value alone (the API default for a new heartbeat), so a value set in the web console is not overwritten. - Description string
- Free text.
- Email
Subject stringContains - For email pings, only emails whose subject contains this text count as a ping.
- Heartbeat
Id string - The unique_id of the heartbeat.
- Is
Enabled bool - Whether the heartbeat is monitored. Defaults to
true. Re-enabling resets it topendinguntil the next ping. - Name string
- Name of the heartbeat, unique within the service.
- Ping
Type float64 0for webhook pings toping_url(default),1for email pings toping_email.
- interval_
seconds number - Seconds without a ping before the heartbeat expires,
60to7776000(90 days). The timer starts at creation, so a heartbeat that is never pinged fires once. - service_
id string - The unique_id of the service paged when the heartbeat expires. The service must have an escalation policy.
- alert_
message string - Message of the incident raised when the heartbeat expires.
- alert_
urgency number - Urgency of the incident:
0low,1high. Unset leaves the stored value alone (the API default for a new heartbeat), so a value set in the web console is not overwritten. - description string
- Free text.
- email_
subject_ stringcontains - For email pings, only emails whose subject contains this text count as a ping.
- heartbeat_
id string - The unique_id of the heartbeat.
- is_
enabled bool - Whether the heartbeat is monitored. Defaults to
true. Re-enabling resets it topendinguntil the next ping. - name string
- Name of the heartbeat, unique within the service.
- ping_
type number 0for webhook pings toping_url(default),1for email pings toping_email.
- interval
Seconds Double - Seconds without a ping before the heartbeat expires,
60to7776000(90 days). The timer starts at creation, so a heartbeat that is never pinged fires once. - service
Id String - The unique_id of the service paged when the heartbeat expires. The service must have an escalation policy.
- alert
Message String - Message of the incident raised when the heartbeat expires.
- alert
Urgency Double - Urgency of the incident:
0low,1high. Unset leaves the stored value alone (the API default for a new heartbeat), so a value set in the web console is not overwritten. - description String
- Free text.
- email
Subject StringContains - For email pings, only emails whose subject contains this text count as a ping.
- heartbeat
Id String - The unique_id of the heartbeat.
- is
Enabled Boolean - Whether the heartbeat is monitored. Defaults to
true. Re-enabling resets it topendinguntil the next ping. - name String
- Name of the heartbeat, unique within the service.
- ping
Type Double 0for webhook pings toping_url(default),1for email pings toping_email.
- interval
Seconds number - Seconds without a ping before the heartbeat expires,
60to7776000(90 days). The timer starts at creation, so a heartbeat that is never pinged fires once. - service
Id string - The unique_id of the service paged when the heartbeat expires. The service must have an escalation policy.
- alert
Message string - Message of the incident raised when the heartbeat expires.
- alert
Urgency number - Urgency of the incident:
0low,1high. Unset leaves the stored value alone (the API default for a new heartbeat), so a value set in the web console is not overwritten. - description string
- Free text.
- email
Subject stringContains - For email pings, only emails whose subject contains this text count as a ping.
- heartbeat
Id string - The unique_id of the heartbeat.
- is
Enabled boolean - Whether the heartbeat is monitored. Defaults to
true. Re-enabling resets it topendinguntil the next ping. - name string
- Name of the heartbeat, unique within the service.
- ping
Type number 0for webhook pings toping_url(default),1for email pings toping_email.
- interval_
seconds float - Seconds without a ping before the heartbeat expires,
60to7776000(90 days). The timer starts at creation, so a heartbeat that is never pinged fires once. - service_
id str - The unique_id of the service paged when the heartbeat expires. The service must have an escalation policy.
- alert_
message str - Message of the incident raised when the heartbeat expires.
- alert_
urgency float - Urgency of the incident:
0low,1high. Unset leaves the stored value alone (the API default for a new heartbeat), so a value set in the web console is not overwritten. - description str
- Free text.
- email_
subject_ strcontains - For email pings, only emails whose subject contains this text count as a ping.
- heartbeat_
id str - The unique_id of the heartbeat.
- is_
enabled bool - Whether the heartbeat is monitored. Defaults to
true. Re-enabling resets it topendinguntil the next ping. - name str
- Name of the heartbeat, unique within the service.
- ping_
type float 0for webhook pings toping_url(default),1for email pings toping_email.
- interval
Seconds Number - Seconds without a ping before the heartbeat expires,
60to7776000(90 days). The timer starts at creation, so a heartbeat that is never pinged fires once. - service
Id String - The unique_id of the service paged when the heartbeat expires. The service must have an escalation policy.
- alert
Message String - Message of the incident raised when the heartbeat expires.
- alert
Urgency Number - Urgency of the incident:
0low,1high. Unset leaves the stored value alone (the API default for a new heartbeat), so a value set in the web console is not overwritten. - description String
- Free text.
- email
Subject StringContains - For email pings, only emails whose subject contains this text count as a ping.
- heartbeat
Id String - The unique_id of the heartbeat.
- is
Enabled Boolean - Whether the heartbeat is monitored. Defaults to
true. Re-enabling resets it topendinguntil the next ping. - name String
- Name of the heartbeat, unique within the service.
- ping
Type Number 0for webhook pings toping_url(default),1for email pings toping_email.
Outputs
All input properties are implicitly available as output properties. Additionally, the Heartbeat resource produces the following output properties:
- id string
- The provider-assigned unique ID for this managed resource.
- ping_
email string - Address to email to register a ping.
- ping_
url string - URL to request to register a ping.
- status string
disabled,pending(no ping yet),healthyorexpired.- team_
id string - The unique_id of the service's team.
- id str
- The provider-assigned unique ID for this managed resource.
- ping_
email str - Address to email to register a ping.
- ping_
url str - URL to request to register a ping.
- status str
disabled,pending(no ping yet),healthyorexpired.- team_
id str - The unique_id of the service's team.
Look up Existing Heartbeat Resource
Get an existing Heartbeat resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: HeartbeatState, opts?: CustomResourceOptions): Heartbeat@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
alert_message: Optional[str] = None,
alert_urgency: Optional[float] = None,
description: Optional[str] = None,
email_subject_contains: Optional[str] = None,
heartbeat_id: Optional[str] = None,
interval_seconds: Optional[float] = None,
is_enabled: Optional[bool] = None,
name: Optional[str] = None,
ping_email: Optional[str] = None,
ping_type: Optional[float] = None,
ping_url: Optional[str] = None,
service_id: Optional[str] = None,
status: Optional[str] = None,
team_id: Optional[str] = None) -> Heartbeatfunc GetHeartbeat(ctx *Context, name string, id IDInput, state *HeartbeatState, opts ...ResourceOption) (*Heartbeat, error)public static Heartbeat Get(string name, Input<string> id, HeartbeatState? state, CustomResourceOptions? opts = null)public static Heartbeat get(String name, Output<String> id, HeartbeatState state, CustomResourceOptions options)resources: _: type: zenduty:Heartbeat get: id: ${id}import {
to = zenduty_heartbeat.example
id = "${id}"
}
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Alert
Message string - Message of the incident raised when the heartbeat expires.
- Alert
Urgency double - Urgency of the incident:
0low,1high. Unset leaves the stored value alone (the API default for a new heartbeat), so a value set in the web console is not overwritten. - Description string
- Free text.
- Email
Subject stringContains - For email pings, only emails whose subject contains this text count as a ping.
- Heartbeat
Id string - The unique_id of the heartbeat.
- Interval
Seconds double - Seconds without a ping before the heartbeat expires,
60to7776000(90 days). The timer starts at creation, so a heartbeat that is never pinged fires once. - Is
Enabled bool - Whether the heartbeat is monitored. Defaults to
true. Re-enabling resets it topendinguntil the next ping. - Name string
- Name of the heartbeat, unique within the service.
- Ping
Email string - Address to email to register a ping.
- Ping
Type double 0for webhook pings toping_url(default),1for email pings toping_email.- Ping
Url string - URL to request to register a ping.
- Service
Id string - The unique_id of the service paged when the heartbeat expires. The service must have an escalation policy.
- Status string
disabled,pending(no ping yet),healthyorexpired.- Team
Id string - The unique_id of the service's team.
- Alert
Message string - Message of the incident raised when the heartbeat expires.
- Alert
Urgency float64 - Urgency of the incident:
0low,1high. Unset leaves the stored value alone (the API default for a new heartbeat), so a value set in the web console is not overwritten. - Description string
- Free text.
- Email
Subject stringContains - For email pings, only emails whose subject contains this text count as a ping.
- Heartbeat
Id string - The unique_id of the heartbeat.
- Interval
Seconds float64 - Seconds without a ping before the heartbeat expires,
60to7776000(90 days). The timer starts at creation, so a heartbeat that is never pinged fires once. - Is
Enabled bool - Whether the heartbeat is monitored. Defaults to
true. Re-enabling resets it topendinguntil the next ping. - Name string
- Name of the heartbeat, unique within the service.
- Ping
Email string - Address to email to register a ping.
- Ping
Type float64 0for webhook pings toping_url(default),1for email pings toping_email.- Ping
Url string - URL to request to register a ping.
- Service
Id string - The unique_id of the service paged when the heartbeat expires. The service must have an escalation policy.
- Status string
disabled,pending(no ping yet),healthyorexpired.- Team
Id string - The unique_id of the service's team.
- alert_
message string - Message of the incident raised when the heartbeat expires.
- alert_
urgency number - Urgency of the incident:
0low,1high. Unset leaves the stored value alone (the API default for a new heartbeat), so a value set in the web console is not overwritten. - description string
- Free text.
- email_
subject_ stringcontains - For email pings, only emails whose subject contains this text count as a ping.
- heartbeat_
id string - The unique_id of the heartbeat.
- interval_
seconds number - Seconds without a ping before the heartbeat expires,
60to7776000(90 days). The timer starts at creation, so a heartbeat that is never pinged fires once. - is_
enabled bool - Whether the heartbeat is monitored. Defaults to
true. Re-enabling resets it topendinguntil the next ping. - name string
- Name of the heartbeat, unique within the service.
- ping_
email string - Address to email to register a ping.
- ping_
type number 0for webhook pings toping_url(default),1for email pings toping_email.- ping_
url string - URL to request to register a ping.
- service_
id string - The unique_id of the service paged when the heartbeat expires. The service must have an escalation policy.
- status string
disabled,pending(no ping yet),healthyorexpired.- team_
id string - The unique_id of the service's team.
- alert
Message String - Message of the incident raised when the heartbeat expires.
- alert
Urgency Double - Urgency of the incident:
0low,1high. Unset leaves the stored value alone (the API default for a new heartbeat), so a value set in the web console is not overwritten. - description String
- Free text.
- email
Subject StringContains - For email pings, only emails whose subject contains this text count as a ping.
- heartbeat
Id String - The unique_id of the heartbeat.
- interval
Seconds Double - Seconds without a ping before the heartbeat expires,
60to7776000(90 days). The timer starts at creation, so a heartbeat that is never pinged fires once. - is
Enabled Boolean - Whether the heartbeat is monitored. Defaults to
true. Re-enabling resets it topendinguntil the next ping. - name String
- Name of the heartbeat, unique within the service.
- ping
Email String - Address to email to register a ping.
- ping
Type Double 0for webhook pings toping_url(default),1for email pings toping_email.- ping
Url String - URL to request to register a ping.
- service
Id String - The unique_id of the service paged when the heartbeat expires. The service must have an escalation policy.
- status String
disabled,pending(no ping yet),healthyorexpired.- team
Id String - The unique_id of the service's team.
- alert
Message string - Message of the incident raised when the heartbeat expires.
- alert
Urgency number - Urgency of the incident:
0low,1high. Unset leaves the stored value alone (the API default for a new heartbeat), so a value set in the web console is not overwritten. - description string
- Free text.
- email
Subject stringContains - For email pings, only emails whose subject contains this text count as a ping.
- heartbeat
Id string - The unique_id of the heartbeat.
- interval
Seconds number - Seconds without a ping before the heartbeat expires,
60to7776000(90 days). The timer starts at creation, so a heartbeat that is never pinged fires once. - is
Enabled boolean - Whether the heartbeat is monitored. Defaults to
true. Re-enabling resets it topendinguntil the next ping. - name string
- Name of the heartbeat, unique within the service.
- ping
Email string - Address to email to register a ping.
- ping
Type number 0for webhook pings toping_url(default),1for email pings toping_email.- ping
Url string - URL to request to register a ping.
- service
Id string - The unique_id of the service paged when the heartbeat expires. The service must have an escalation policy.
- status string
disabled,pending(no ping yet),healthyorexpired.- team
Id string - The unique_id of the service's team.
- alert_
message str - Message of the incident raised when the heartbeat expires.
- alert_
urgency float - Urgency of the incident:
0low,1high. Unset leaves the stored value alone (the API default for a new heartbeat), so a value set in the web console is not overwritten. - description str
- Free text.
- email_
subject_ strcontains - For email pings, only emails whose subject contains this text count as a ping.
- heartbeat_
id str - The unique_id of the heartbeat.
- interval_
seconds float - Seconds without a ping before the heartbeat expires,
60to7776000(90 days). The timer starts at creation, so a heartbeat that is never pinged fires once. - is_
enabled bool - Whether the heartbeat is monitored. Defaults to
true. Re-enabling resets it topendinguntil the next ping. - name str
- Name of the heartbeat, unique within the service.
- ping_
email str - Address to email to register a ping.
- ping_
type float 0for webhook pings toping_url(default),1for email pings toping_email.- ping_
url str - URL to request to register a ping.
- service_
id str - The unique_id of the service paged when the heartbeat expires. The service must have an escalation policy.
- status str
disabled,pending(no ping yet),healthyorexpired.- team_
id str - The unique_id of the service's team.
- alert
Message String - Message of the incident raised when the heartbeat expires.
- alert
Urgency Number - Urgency of the incident:
0low,1high. Unset leaves the stored value alone (the API default for a new heartbeat), so a value set in the web console is not overwritten. - description String
- Free text.
- email
Subject StringContains - For email pings, only emails whose subject contains this text count as a ping.
- heartbeat
Id String - The unique_id of the heartbeat.
- interval
Seconds Number - Seconds without a ping before the heartbeat expires,
60to7776000(90 days). The timer starts at creation, so a heartbeat that is never pinged fires once. - is
Enabled Boolean - Whether the heartbeat is monitored. Defaults to
true. Re-enabling resets it topendinguntil the next ping. - name String
- Name of the heartbeat, unique within the service.
- ping
Email String - Address to email to register a ping.
- ping
Type Number 0for webhook pings toping_url(default),1for email pings toping_email.- ping
Url String - URL to request to register a ping.
- service
Id String - The unique_id of the service paged when the heartbeat expires. The service must have an escalation policy.
- status String
disabled,pending(no ping yet),healthyorexpired.- team
Id String - The unique_id of the service's team.
Import
hcl
resource “zenduty_heartbeat” “backup” {
}
$ pulumi import zenduty:index/heartbeat:Heartbeat backup heartbeat_id`
$ terraform state show zenduty_heartbeat.backup
* copy the output data and paste inside zenduty_heartbeat.backup resource block and remove the id and computed attributes
$ pulumi preview to verify the import
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- zenduty zenduty/terraform-provider-zenduty
- License
- Notes
- This Pulumi package is based on the
zendutyTerraform Provider.
published on Friday, Oct 30, 2026 by zenduty