1. Registry
  2. Packages
  3. Zenduty Provider
  4. API Docs
  5. Heartbeat
Viewing docs for zenduty 2.2.0
published on Friday, Oct 30, 2026 by zenduty
zenduty
Viewing docs for zenduty 2.2.0
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:

    IntervalSeconds double
    Seconds without a ping before the heartbeat expires, 60 to 7776000 (90 days). The timer starts at creation, so a heartbeat that is never pinged fires once.
    ServiceId string
    The unique_id of the service paged when the heartbeat expires. The service must have an escalation policy.
    AlertMessage string
    Message of the incident raised when the heartbeat expires.
    AlertUrgency double
    Urgency of the incident: 0 low, 1 high. 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.
    EmailSubjectContains string
    For email pings, only emails whose subject contains this text count as a ping.
    HeartbeatId string
    The unique_id of the heartbeat.
    IsEnabled bool
    Whether the heartbeat is monitored. Defaults to true. Re-enabling resets it to pending until the next ping.
    Name string
    Name of the heartbeat, unique within the service.
    PingType double
    0 for webhook pings to ping_url (default), 1 for email pings to ping_email.
    IntervalSeconds float64
    Seconds without a ping before the heartbeat expires, 60 to 7776000 (90 days). The timer starts at creation, so a heartbeat that is never pinged fires once.
    ServiceId string
    The unique_id of the service paged when the heartbeat expires. The service must have an escalation policy.
    AlertMessage string
    Message of the incident raised when the heartbeat expires.
    AlertUrgency float64
    Urgency of the incident: 0 low, 1 high. 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.
    EmailSubjectContains string
    For email pings, only emails whose subject contains this text count as a ping.
    HeartbeatId string
    The unique_id of the heartbeat.
    IsEnabled bool
    Whether the heartbeat is monitored. Defaults to true. Re-enabling resets it to pending until the next ping.
    Name string
    Name of the heartbeat, unique within the service.
    PingType float64
    0 for webhook pings to ping_url (default), 1 for email pings to ping_email.
    interval_seconds number
    Seconds without a ping before the heartbeat expires, 60 to 7776000 (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: 0 low, 1 high. 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_contains string
    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 to pending until the next ping.
    name string
    Name of the heartbeat, unique within the service.
    ping_type number
    0 for webhook pings to ping_url (default), 1 for email pings to ping_email.
    intervalSeconds Double
    Seconds without a ping before the heartbeat expires, 60 to 7776000 (90 days). The timer starts at creation, so a heartbeat that is never pinged fires once.
    serviceId String
    The unique_id of the service paged when the heartbeat expires. The service must have an escalation policy.
    alertMessage String
    Message of the incident raised when the heartbeat expires.
    alertUrgency Double
    Urgency of the incident: 0 low, 1 high. 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.
    emailSubjectContains String
    For email pings, only emails whose subject contains this text count as a ping.
    heartbeatId String
    The unique_id of the heartbeat.
    isEnabled Boolean
    Whether the heartbeat is monitored. Defaults to true. Re-enabling resets it to pending until the next ping.
    name String
    Name of the heartbeat, unique within the service.
    pingType Double
    0 for webhook pings to ping_url (default), 1 for email pings to ping_email.
    intervalSeconds number
    Seconds without a ping before the heartbeat expires, 60 to 7776000 (90 days). The timer starts at creation, so a heartbeat that is never pinged fires once.
    serviceId string
    The unique_id of the service paged when the heartbeat expires. The service must have an escalation policy.
    alertMessage string
    Message of the incident raised when the heartbeat expires.
    alertUrgency number
    Urgency of the incident: 0 low, 1 high. 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.
    emailSubjectContains string
    For email pings, only emails whose subject contains this text count as a ping.
    heartbeatId string
    The unique_id of the heartbeat.
    isEnabled boolean
    Whether the heartbeat is monitored. Defaults to true. Re-enabling resets it to pending until the next ping.
    name string
    Name of the heartbeat, unique within the service.
    pingType number
    0 for webhook pings to ping_url (default), 1 for email pings to ping_email.
    interval_seconds float
    Seconds without a ping before the heartbeat expires, 60 to 7776000 (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: 0 low, 1 high. 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_contains str
    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 to pending until the next ping.
    name str
    Name of the heartbeat, unique within the service.
    ping_type float
    0 for webhook pings to ping_url (default), 1 for email pings to ping_email.
    intervalSeconds Number
    Seconds without a ping before the heartbeat expires, 60 to 7776000 (90 days). The timer starts at creation, so a heartbeat that is never pinged fires once.
    serviceId String
    The unique_id of the service paged when the heartbeat expires. The service must have an escalation policy.
    alertMessage String
    Message of the incident raised when the heartbeat expires.
    alertUrgency Number
    Urgency of the incident: 0 low, 1 high. 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.
    emailSubjectContains String
    For email pings, only emails whose subject contains this text count as a ping.
    heartbeatId String
    The unique_id of the heartbeat.
    isEnabled Boolean
    Whether the heartbeat is monitored. Defaults to true. Re-enabling resets it to pending until the next ping.
    name String
    Name of the heartbeat, unique within the service.
    pingType Number
    0 for webhook pings to ping_url (default), 1 for email pings to ping_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.
    PingEmail string
    Address to email to register a ping.
    PingUrl string
    URL to request to register a ping.
    Status string
    disabled, pending (no ping yet), healthy or expired.
    TeamId string
    The unique_id of the service's team.
    Id string
    The provider-assigned unique ID for this managed resource.
    PingEmail string
    Address to email to register a ping.
    PingUrl string
    URL to request to register a ping.
    Status string
    disabled, pending (no ping yet), healthy or expired.
    TeamId string
    The unique_id of the service's team.
    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), healthy or expired.
    team_id string
    The unique_id of the service's team.
    id String
    The provider-assigned unique ID for this managed resource.
    pingEmail String
    Address to email to register a ping.
    pingUrl String
    URL to request to register a ping.
    status String
    disabled, pending (no ping yet), healthy or expired.
    teamId String
    The unique_id of the service's team.
    id string
    The provider-assigned unique ID for this managed resource.
    pingEmail string
    Address to email to register a ping.
    pingUrl string
    URL to request to register a ping.
    status string
    disabled, pending (no ping yet), healthy or expired.
    teamId 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), healthy or expired.
    team_id str
    The unique_id of the service's team.
    id String
    The provider-assigned unique ID for this managed resource.
    pingEmail String
    Address to email to register a ping.
    pingUrl String
    URL to request to register a ping.
    status String
    disabled, pending (no ping yet), healthy or expired.
    teamId String
    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) -> Heartbeat
    func 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.
    The following state arguments are supported:
    AlertMessage string
    Message of the incident raised when the heartbeat expires.
    AlertUrgency double
    Urgency of the incident: 0 low, 1 high. 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.
    EmailSubjectContains string
    For email pings, only emails whose subject contains this text count as a ping.
    HeartbeatId string
    The unique_id of the heartbeat.
    IntervalSeconds double
    Seconds without a ping before the heartbeat expires, 60 to 7776000 (90 days). The timer starts at creation, so a heartbeat that is never pinged fires once.
    IsEnabled bool
    Whether the heartbeat is monitored. Defaults to true. Re-enabling resets it to pending until the next ping.
    Name string
    Name of the heartbeat, unique within the service.
    PingEmail string
    Address to email to register a ping.
    PingType double
    0 for webhook pings to ping_url (default), 1 for email pings to ping_email.
    PingUrl string
    URL to request to register a ping.
    ServiceId 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), healthy or expired.
    TeamId string
    The unique_id of the service's team.
    AlertMessage string
    Message of the incident raised when the heartbeat expires.
    AlertUrgency float64
    Urgency of the incident: 0 low, 1 high. 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.
    EmailSubjectContains string
    For email pings, only emails whose subject contains this text count as a ping.
    HeartbeatId string
    The unique_id of the heartbeat.
    IntervalSeconds float64
    Seconds without a ping before the heartbeat expires, 60 to 7776000 (90 days). The timer starts at creation, so a heartbeat that is never pinged fires once.
    IsEnabled bool
    Whether the heartbeat is monitored. Defaults to true. Re-enabling resets it to pending until the next ping.
    Name string
    Name of the heartbeat, unique within the service.
    PingEmail string
    Address to email to register a ping.
    PingType float64
    0 for webhook pings to ping_url (default), 1 for email pings to ping_email.
    PingUrl string
    URL to request to register a ping.
    ServiceId 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), healthy or expired.
    TeamId 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: 0 low, 1 high. 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_contains string
    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, 60 to 7776000 (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 to pending until 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
    0 for webhook pings to ping_url (default), 1 for email pings to ping_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), healthy or expired.
    team_id string
    The unique_id of the service's team.
    alertMessage String
    Message of the incident raised when the heartbeat expires.
    alertUrgency Double
    Urgency of the incident: 0 low, 1 high. 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.
    emailSubjectContains String
    For email pings, only emails whose subject contains this text count as a ping.
    heartbeatId String
    The unique_id of the heartbeat.
    intervalSeconds Double
    Seconds without a ping before the heartbeat expires, 60 to 7776000 (90 days). The timer starts at creation, so a heartbeat that is never pinged fires once.
    isEnabled Boolean
    Whether the heartbeat is monitored. Defaults to true. Re-enabling resets it to pending until the next ping.
    name String
    Name of the heartbeat, unique within the service.
    pingEmail String
    Address to email to register a ping.
    pingType Double
    0 for webhook pings to ping_url (default), 1 for email pings to ping_email.
    pingUrl String
    URL to request to register a ping.
    serviceId 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), healthy or expired.
    teamId String
    The unique_id of the service's team.
    alertMessage string
    Message of the incident raised when the heartbeat expires.
    alertUrgency number
    Urgency of the incident: 0 low, 1 high. 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.
    emailSubjectContains string
    For email pings, only emails whose subject contains this text count as a ping.
    heartbeatId string
    The unique_id of the heartbeat.
    intervalSeconds number
    Seconds without a ping before the heartbeat expires, 60 to 7776000 (90 days). The timer starts at creation, so a heartbeat that is never pinged fires once.
    isEnabled boolean
    Whether the heartbeat is monitored. Defaults to true. Re-enabling resets it to pending until the next ping.
    name string
    Name of the heartbeat, unique within the service.
    pingEmail string
    Address to email to register a ping.
    pingType number
    0 for webhook pings to ping_url (default), 1 for email pings to ping_email.
    pingUrl string
    URL to request to register a ping.
    serviceId 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), healthy or expired.
    teamId 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: 0 low, 1 high. 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_contains str
    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, 60 to 7776000 (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 to pending until 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
    0 for webhook pings to ping_url (default), 1 for email pings to ping_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), healthy or expired.
    team_id str
    The unique_id of the service's team.
    alertMessage String
    Message of the incident raised when the heartbeat expires.
    alertUrgency Number
    Urgency of the incident: 0 low, 1 high. 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.
    emailSubjectContains String
    For email pings, only emails whose subject contains this text count as a ping.
    heartbeatId String
    The unique_id of the heartbeat.
    intervalSeconds Number
    Seconds without a ping before the heartbeat expires, 60 to 7776000 (90 days). The timer starts at creation, so a heartbeat that is never pinged fires once.
    isEnabled Boolean
    Whether the heartbeat is monitored. Defaults to true. Re-enabling resets it to pending until the next ping.
    name String
    Name of the heartbeat, unique within the service.
    pingEmail String
    Address to email to register a ping.
    pingType Number
    0 for webhook pings to ping_url (default), 1 for email pings to ping_email.
    pingUrl String
    URL to request to register a ping.
    serviceId 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), healthy or expired.
    teamId 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 zenduty Terraform Provider.
    zenduty
    Viewing docs for zenduty 2.2.0
    published on Friday, Oct 30, 2026 by zenduty

      Try Pulumi Cloud free.
      Your team will thank you.

      Start free trial