1. Registry
  2. Packages
  3. Incident Provider
  4. API Docs
  5. ScheduleReplica
Viewing docs for incident 7.0.0
published on Friday, Sep 11, 2026 by incident-io
Viewing docs for incident 7.0.0
published on Friday, Sep 11, 2026 by incident-io

    Manage a schedule replica that mirrors an incident.io schedule into an external provider such as PagerDuty, Opsgenie, or Jira Service Management.

    The API does not support updating a replica in place: changing any configuration forces a new resource.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as incident from "@pulumi/incident";
    
    // Mirror a schedule into a PagerDuty schedule. The replica_provider_id is the
    // PagerDuty schedule ID; replica_fallback_user_id is a PagerDuty user used when
    // nobody is on-call in incident.io.
    const platformPagerduty = new incident.ScheduleReplica("platform_pagerduty", {
        scheduleId: platform.id,
        replicaProvider: "pagerduty",
        replicaProviderId: "PO8107X",
        replicaFallbackUserId: "PA7AXXN",
        mirrorWindowDays: 14,
        sources: [{
            rotationId: "primary",
            layerId: "primary",
        }],
    });
    
    import pulumi
    import pulumi_incident as incident
    
    # Mirror a schedule into a PagerDuty schedule. The replica_provider_id is the
    # PagerDuty schedule ID; replica_fallback_user_id is a PagerDuty user used when
    # nobody is on-call in incident.io.
    platform_pagerduty = incident.ScheduleReplica("platform_pagerduty",
        schedule_id=platform["id"],
        replica_provider="pagerduty",
        replica_provider_id="PO8107X",
        replica_fallback_user_id="PA7AXXN",
        mirror_window_days=14,
        sources=[{
            "rotation_id": "primary",
            "layer_id": "primary",
        }])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/incident/v7/incident"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// Mirror a schedule into a PagerDuty schedule. The replica_provider_id is the
    		// PagerDuty schedule ID; replica_fallback_user_id is a PagerDuty user used when
    		// nobody is on-call in incident.io.
    		_, err := incident.NewScheduleReplica(ctx, "platform_pagerduty", &incident.ScheduleReplicaArgs{
    			ScheduleId:            pulumi.Any(platform.Id),
    			ReplicaProvider:       pulumi.String("pagerduty"),
    			ReplicaProviderId:     pulumi.String("PO8107X"),
    			ReplicaFallbackUserId: pulumi.String("PA7AXXN"),
    			MirrorWindowDays:      pulumi.Float64(14),
    			Sources: incident.ScheduleReplicaSourceArray{
    				&incident.ScheduleReplicaSourceArgs{
    					RotationId: pulumi.String("primary"),
    					LayerId:    pulumi.String("primary"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Incident = Pulumi.Incident;
    
    return await Deployment.RunAsync(() => 
    {
        // Mirror a schedule into a PagerDuty schedule. The replica_provider_id is the
        // PagerDuty schedule ID; replica_fallback_user_id is a PagerDuty user used when
        // nobody is on-call in incident.io.
        var platformPagerduty = new Incident.ScheduleReplica("platform_pagerduty", new()
        {
            ScheduleId = platform.Id,
            ReplicaProvider = "pagerduty",
            ReplicaProviderId = "PO8107X",
            ReplicaFallbackUserId = "PA7AXXN",
            MirrorWindowDays = 14,
            Sources = new[]
            {
                new Incident.Inputs.ScheduleReplicaSourceArgs
                {
                    RotationId = "primary",
                    LayerId = "primary",
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.incident.ScheduleReplica;
    import com.pulumi.incident.ScheduleReplicaArgs;
    import com.pulumi.incident.inputs.ScheduleReplicaSourceArgs;
    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) {
            // Mirror a schedule into a PagerDuty schedule. The replica_provider_id is the
            // PagerDuty schedule ID; replica_fallback_user_id is a PagerDuty user used when
            // nobody is on-call in incident.io.
            var platformPagerduty = new ScheduleReplica("platformPagerduty", ScheduleReplicaArgs.builder()
                .scheduleId(platform.id())
                .replicaProvider("pagerduty")
                .replicaProviderId("PO8107X")
                .replicaFallbackUserId("PA7AXXN")
                .mirrorWindowDays(14.0)
                .sources(ScheduleReplicaSourceArgs.builder()
                    .rotationId("primary")
                    .layerId("primary")
                    .build())
                .build());
    
        }
    }
    
    resources:
      # Mirror a schedule into a PagerDuty schedule. The replica_provider_id is the
      # PagerDuty schedule ID; replica_fallback_user_id is a PagerDuty user used when
      # nobody is on-call in incident.io.
      platformPagerduty:
        type: incident:ScheduleReplica
        name: platform_pagerduty
        properties:
          scheduleId: ${platform.id}
          replicaProvider: pagerduty
          replicaProviderId: PO8107X
          replicaFallbackUserId: PA7AXXN
          mirrorWindowDays: 14
          sources:
            - rotationId: primary
              layerId: primary
    
    Example coming soon!
    

    Create ScheduleReplica Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new ScheduleReplica(name: string, args: ScheduleReplicaArgs, opts?: CustomResourceOptions);
    @overload
    def ScheduleReplica(resource_name: str,
                        args: ScheduleReplicaArgs,
                        opts: Optional[ResourceOptions] = None)
    
    @overload
    def ScheduleReplica(resource_name: str,
                        opts: Optional[ResourceOptions] = None,
                        replica_fallback_user_id: Optional[str] = None,
                        replica_provider: Optional[str] = None,
                        replica_provider_id: Optional[str] = None,
                        schedule_id: Optional[str] = None,
                        sources: Optional[Sequence[ScheduleReplicaSourceArgs]] = None,
                        mirror_window_days: Optional[float] = None)
    func NewScheduleReplica(ctx *Context, name string, args ScheduleReplicaArgs, opts ...ResourceOption) (*ScheduleReplica, error)
    public ScheduleReplica(string name, ScheduleReplicaArgs args, CustomResourceOptions? opts = null)
    public ScheduleReplica(String name, ScheduleReplicaArgs args)
    public ScheduleReplica(String name, ScheduleReplicaArgs args, CustomResourceOptions options)
    
    type: incident:ScheduleReplica
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    resource "incident_schedule_replica" "name" {
        # resource properties
    }

    Parameters

    name string
    The unique name of the resource.
    args ScheduleReplicaArgs
    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 ScheduleReplicaArgs
    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 ScheduleReplicaArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ScheduleReplicaArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args ScheduleReplicaArgs
    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 scheduleReplicaResource = new Incident.ScheduleReplica("scheduleReplicaResource", new()
    {
        ReplicaFallbackUserId = "string",
        ReplicaProvider = "string",
        ReplicaProviderId = "string",
        ScheduleId = "string",
        Sources = new[]
        {
            new Incident.Inputs.ScheduleReplicaSourceArgs
            {
                LayerId = "string",
                RotationId = "string",
            },
        },
        MirrorWindowDays = 0.0,
    });
    
    example, err := incident.NewScheduleReplica(ctx, "scheduleReplicaResource", &incident.ScheduleReplicaArgs{
    	ReplicaFallbackUserId: pulumi.String("string"),
    	ReplicaProvider:       pulumi.String("string"),
    	ReplicaProviderId:     pulumi.String("string"),
    	ScheduleId:            pulumi.String("string"),
    	Sources: incident.ScheduleReplicaSourceArray{
    		&incident.ScheduleReplicaSourceArgs{
    			LayerId:    pulumi.String("string"),
    			RotationId: pulumi.String("string"),
    		},
    	},
    	MirrorWindowDays: pulumi.Float64(0),
    })
    
    resource "incident_schedule_replica" "scheduleReplicaResource" {
      lifecycle {
        create_before_destroy = true
      }
      replica_fallback_user_id = "string"
      replica_provider         = "string"
      replica_provider_id      = "string"
      schedule_id              = "string"
      sources {
        layer_id    = "string"
        rotation_id = "string"
      }
      mirror_window_days = 0
    }
    
    var scheduleReplicaResource = new ScheduleReplica("scheduleReplicaResource", ScheduleReplicaArgs.builder()
        .replicaFallbackUserId("string")
        .replicaProvider("string")
        .replicaProviderId("string")
        .scheduleId("string")
        .sources(ScheduleReplicaSourceArgs.builder()
            .layerId("string")
            .rotationId("string")
            .build())
        .mirrorWindowDays(0.0)
        .build());
    
    schedule_replica_resource = incident.ScheduleReplica("scheduleReplicaResource",
        replica_fallback_user_id="string",
        replica_provider="string",
        replica_provider_id="string",
        schedule_id="string",
        sources=[{
            "layer_id": "string",
            "rotation_id": "string",
        }],
        mirror_window_days=float(0))
    
    const scheduleReplicaResource = new incident.ScheduleReplica("scheduleReplicaResource", {
        replicaFallbackUserId: "string",
        replicaProvider: "string",
        replicaProviderId: "string",
        scheduleId: "string",
        sources: [{
            layerId: "string",
            rotationId: "string",
        }],
        mirrorWindowDays: 0,
    });
    
    type: incident:ScheduleReplica
    properties:
        mirrorWindowDays: 0
        replicaFallbackUserId: string
        replicaProvider: string
        replicaProviderId: string
        scheduleId: string
        sources:
            - layerId: string
              rotationId: string
    

    ScheduleReplica 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 ScheduleReplica resource accepts the following input properties:

    ReplicaFallbackUserId string
    The ID of a user in the external provider that will be assigned whenever nobody is on-call in the incident.io schedule. External providers typically require someone to always be on-call, so this user fills gaps where incident.io has no one scheduled.
    ReplicaProvider string
    The external provider where this schedule is replicated to. Possible values are: native, pagerduty, opsgenie, jsm.
    ReplicaProviderId string
    The ID of the schedule in the external provider that this replica syncs to. For PagerDuty this is the schedule ID (e.g. PO8107X), for Opsgenie the schedule ID, and for Jira Service Management the schedule ID.
    ScheduleId string
    The ID of the incident.io schedule that this replica is syncing from
    Sources List<ScheduleReplicaSource>
    The specific rotation and layer combinations from the schedule that are being replicated. Each source identifies a single layer within a rotation to sync to the external provider.
    MirrorWindowDays double
    How many days ahead to mirror this schedule into the external provider. Defaults to 14 if not set; maximum 90.
    ReplicaFallbackUserId string
    The ID of a user in the external provider that will be assigned whenever nobody is on-call in the incident.io schedule. External providers typically require someone to always be on-call, so this user fills gaps where incident.io has no one scheduled.
    ReplicaProvider string
    The external provider where this schedule is replicated to. Possible values are: native, pagerduty, opsgenie, jsm.
    ReplicaProviderId string
    The ID of the schedule in the external provider that this replica syncs to. For PagerDuty this is the schedule ID (e.g. PO8107X), for Opsgenie the schedule ID, and for Jira Service Management the schedule ID.
    ScheduleId string
    The ID of the incident.io schedule that this replica is syncing from
    Sources []ScheduleReplicaSourceArgs
    The specific rotation and layer combinations from the schedule that are being replicated. Each source identifies a single layer within a rotation to sync to the external provider.
    MirrorWindowDays float64
    How many days ahead to mirror this schedule into the external provider. Defaults to 14 if not set; maximum 90.
    replica_fallback_user_id string
    The ID of a user in the external provider that will be assigned whenever nobody is on-call in the incident.io schedule. External providers typically require someone to always be on-call, so this user fills gaps where incident.io has no one scheduled.
    replica_provider string
    The external provider where this schedule is replicated to. Possible values are: native, pagerduty, opsgenie, jsm.
    replica_provider_id string
    The ID of the schedule in the external provider that this replica syncs to. For PagerDuty this is the schedule ID (e.g. PO8107X), for Opsgenie the schedule ID, and for Jira Service Management the schedule ID.
    schedule_id string
    The ID of the incident.io schedule that this replica is syncing from
    sources list(object)
    The specific rotation and layer combinations from the schedule that are being replicated. Each source identifies a single layer within a rotation to sync to the external provider.
    mirror_window_days number
    How many days ahead to mirror this schedule into the external provider. Defaults to 14 if not set; maximum 90.
    replicaFallbackUserId String
    The ID of a user in the external provider that will be assigned whenever nobody is on-call in the incident.io schedule. External providers typically require someone to always be on-call, so this user fills gaps where incident.io has no one scheduled.
    replicaProvider String
    The external provider where this schedule is replicated to. Possible values are: native, pagerduty, opsgenie, jsm.
    replicaProviderId String
    The ID of the schedule in the external provider that this replica syncs to. For PagerDuty this is the schedule ID (e.g. PO8107X), for Opsgenie the schedule ID, and for Jira Service Management the schedule ID.
    scheduleId String
    The ID of the incident.io schedule that this replica is syncing from
    sources List<ScheduleReplicaSource>
    The specific rotation and layer combinations from the schedule that are being replicated. Each source identifies a single layer within a rotation to sync to the external provider.
    mirrorWindowDays Double
    How many days ahead to mirror this schedule into the external provider. Defaults to 14 if not set; maximum 90.
    replicaFallbackUserId string
    The ID of a user in the external provider that will be assigned whenever nobody is on-call in the incident.io schedule. External providers typically require someone to always be on-call, so this user fills gaps where incident.io has no one scheduled.
    replicaProvider string
    The external provider where this schedule is replicated to. Possible values are: native, pagerduty, opsgenie, jsm.
    replicaProviderId string
    The ID of the schedule in the external provider that this replica syncs to. For PagerDuty this is the schedule ID (e.g. PO8107X), for Opsgenie the schedule ID, and for Jira Service Management the schedule ID.
    scheduleId string
    The ID of the incident.io schedule that this replica is syncing from
    sources ScheduleReplicaSource[]
    The specific rotation and layer combinations from the schedule that are being replicated. Each source identifies a single layer within a rotation to sync to the external provider.
    mirrorWindowDays number
    How many days ahead to mirror this schedule into the external provider. Defaults to 14 if not set; maximum 90.
    replica_fallback_user_id str
    The ID of a user in the external provider that will be assigned whenever nobody is on-call in the incident.io schedule. External providers typically require someone to always be on-call, so this user fills gaps where incident.io has no one scheduled.
    replica_provider str
    The external provider where this schedule is replicated to. Possible values are: native, pagerduty, opsgenie, jsm.
    replica_provider_id str
    The ID of the schedule in the external provider that this replica syncs to. For PagerDuty this is the schedule ID (e.g. PO8107X), for Opsgenie the schedule ID, and for Jira Service Management the schedule ID.
    schedule_id str
    The ID of the incident.io schedule that this replica is syncing from
    sources Sequence[ScheduleReplicaSourceArgs]
    The specific rotation and layer combinations from the schedule that are being replicated. Each source identifies a single layer within a rotation to sync to the external provider.
    mirror_window_days float
    How many days ahead to mirror this schedule into the external provider. Defaults to 14 if not set; maximum 90.
    replicaFallbackUserId String
    The ID of a user in the external provider that will be assigned whenever nobody is on-call in the incident.io schedule. External providers typically require someone to always be on-call, so this user fills gaps where incident.io has no one scheduled.
    replicaProvider String
    The external provider where this schedule is replicated to. Possible values are: native, pagerduty, opsgenie, jsm.
    replicaProviderId String
    The ID of the schedule in the external provider that this replica syncs to. For PagerDuty this is the schedule ID (e.g. PO8107X), for Opsgenie the schedule ID, and for Jira Service Management the schedule ID.
    scheduleId String
    The ID of the incident.io schedule that this replica is syncing from
    sources List<Property Map>
    The specific rotation and layer combinations from the schedule that are being replicated. Each source identifies a single layer within a rotation to sync to the external provider.
    mirrorWindowDays Number
    How many days ahead to mirror this schedule into the external provider. Defaults to 14 if not set; maximum 90.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the ScheduleReplica resource produces the following output properties:

    CreatedAt string
    When this schedule replica was first created
    Id string
    The provider-assigned unique ID for this managed resource.
    LastSyncError string
    The most recent error encountered while syncing this replica to the external provider, if any. Common errors include unmapped users or connectivity issues with the external provider. Null if the last sync was successful.
    LastSyncedAt string
    When the replica was last successfully synced to the external provider. Null if the replica has never been successfully synced.
    UpdatedAt string
    When this schedule replica was last updated
    UserStatuses List<ScheduleReplicaUserStatus>
    The mapping status of each incident.io user in the schedule to their corresponding user in the external provider. Users must be mapped for the replica to sync their on-call shifts correctly.
    CreatedAt string
    When this schedule replica was first created
    Id string
    The provider-assigned unique ID for this managed resource.
    LastSyncError string
    The most recent error encountered while syncing this replica to the external provider, if any. Common errors include unmapped users or connectivity issues with the external provider. Null if the last sync was successful.
    LastSyncedAt string
    When the replica was last successfully synced to the external provider. Null if the replica has never been successfully synced.
    UpdatedAt string
    When this schedule replica was last updated
    UserStatuses []ScheduleReplicaUserStatus
    The mapping status of each incident.io user in the schedule to their corresponding user in the external provider. Users must be mapped for the replica to sync their on-call shifts correctly.
    created_at string
    When this schedule replica was first created
    id string
    The provider-assigned unique ID for this managed resource.
    last_sync_error string
    The most recent error encountered while syncing this replica to the external provider, if any. Common errors include unmapped users or connectivity issues with the external provider. Null if the last sync was successful.
    last_synced_at string
    When the replica was last successfully synced to the external provider. Null if the replica has never been successfully synced.
    updated_at string
    When this schedule replica was last updated
    user_statuses list(object)
    The mapping status of each incident.io user in the schedule to their corresponding user in the external provider. Users must be mapped for the replica to sync their on-call shifts correctly.
    createdAt String
    When this schedule replica was first created
    id String
    The provider-assigned unique ID for this managed resource.
    lastSyncError String
    The most recent error encountered while syncing this replica to the external provider, if any. Common errors include unmapped users or connectivity issues with the external provider. Null if the last sync was successful.
    lastSyncedAt String
    When the replica was last successfully synced to the external provider. Null if the replica has never been successfully synced.
    updatedAt String
    When this schedule replica was last updated
    userStatuses List<ScheduleReplicaUserStatus>
    The mapping status of each incident.io user in the schedule to their corresponding user in the external provider. Users must be mapped for the replica to sync their on-call shifts correctly.
    createdAt string
    When this schedule replica was first created
    id string
    The provider-assigned unique ID for this managed resource.
    lastSyncError string
    The most recent error encountered while syncing this replica to the external provider, if any. Common errors include unmapped users or connectivity issues with the external provider. Null if the last sync was successful.
    lastSyncedAt string
    When the replica was last successfully synced to the external provider. Null if the replica has never been successfully synced.
    updatedAt string
    When this schedule replica was last updated
    userStatuses ScheduleReplicaUserStatus[]
    The mapping status of each incident.io user in the schedule to their corresponding user in the external provider. Users must be mapped for the replica to sync their on-call shifts correctly.
    created_at str
    When this schedule replica was first created
    id str
    The provider-assigned unique ID for this managed resource.
    last_sync_error str
    The most recent error encountered while syncing this replica to the external provider, if any. Common errors include unmapped users or connectivity issues with the external provider. Null if the last sync was successful.
    last_synced_at str
    When the replica was last successfully synced to the external provider. Null if the replica has never been successfully synced.
    updated_at str
    When this schedule replica was last updated
    user_statuses Sequence[ScheduleReplicaUserStatus]
    The mapping status of each incident.io user in the schedule to their corresponding user in the external provider. Users must be mapped for the replica to sync their on-call shifts correctly.
    createdAt String
    When this schedule replica was first created
    id String
    The provider-assigned unique ID for this managed resource.
    lastSyncError String
    The most recent error encountered while syncing this replica to the external provider, if any. Common errors include unmapped users or connectivity issues with the external provider. Null if the last sync was successful.
    lastSyncedAt String
    When the replica was last successfully synced to the external provider. Null if the replica has never been successfully synced.
    updatedAt String
    When this schedule replica was last updated
    userStatuses List<Property Map>
    The mapping status of each incident.io user in the schedule to their corresponding user in the external provider. Users must be mapped for the replica to sync their on-call shifts correctly.

    Look up Existing ScheduleReplica Resource

    Get an existing ScheduleReplica 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?: ScheduleReplicaState, opts?: CustomResourceOptions): ScheduleReplica
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            created_at: Optional[str] = None,
            last_sync_error: Optional[str] = None,
            last_synced_at: Optional[str] = None,
            mirror_window_days: Optional[float] = None,
            replica_fallback_user_id: Optional[str] = None,
            replica_provider: Optional[str] = None,
            replica_provider_id: Optional[str] = None,
            schedule_id: Optional[str] = None,
            sources: Optional[Sequence[ScheduleReplicaSourceArgs]] = None,
            updated_at: Optional[str] = None,
            user_statuses: Optional[Sequence[ScheduleReplicaUserStatusArgs]] = None) -> ScheduleReplica
    func GetScheduleReplica(ctx *Context, name string, id IDInput, state *ScheduleReplicaState, opts ...ResourceOption) (*ScheduleReplica, error)
    public static ScheduleReplica Get(string name, Input<string> id, ScheduleReplicaState? state, CustomResourceOptions? opts = null)
    public static ScheduleReplica get(String name, Output<String> id, ScheduleReplicaState state, CustomResourceOptions options)
    resources:  _:    type: incident:ScheduleReplica    get:      id: ${id}
    import {
      to = incident_schedule_replica.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:
    CreatedAt string
    When this schedule replica was first created
    LastSyncError string
    The most recent error encountered while syncing this replica to the external provider, if any. Common errors include unmapped users or connectivity issues with the external provider. Null if the last sync was successful.
    LastSyncedAt string
    When the replica was last successfully synced to the external provider. Null if the replica has never been successfully synced.
    MirrorWindowDays double
    How many days ahead to mirror this schedule into the external provider. Defaults to 14 if not set; maximum 90.
    ReplicaFallbackUserId string
    The ID of a user in the external provider that will be assigned whenever nobody is on-call in the incident.io schedule. External providers typically require someone to always be on-call, so this user fills gaps where incident.io has no one scheduled.
    ReplicaProvider string
    The external provider where this schedule is replicated to. Possible values are: native, pagerduty, opsgenie, jsm.
    ReplicaProviderId string
    The ID of the schedule in the external provider that this replica syncs to. For PagerDuty this is the schedule ID (e.g. PO8107X), for Opsgenie the schedule ID, and for Jira Service Management the schedule ID.
    ScheduleId string
    The ID of the incident.io schedule that this replica is syncing from
    Sources List<ScheduleReplicaSource>
    The specific rotation and layer combinations from the schedule that are being replicated. Each source identifies a single layer within a rotation to sync to the external provider.
    UpdatedAt string
    When this schedule replica was last updated
    UserStatuses List<ScheduleReplicaUserStatus>
    The mapping status of each incident.io user in the schedule to their corresponding user in the external provider. Users must be mapped for the replica to sync their on-call shifts correctly.
    CreatedAt string
    When this schedule replica was first created
    LastSyncError string
    The most recent error encountered while syncing this replica to the external provider, if any. Common errors include unmapped users or connectivity issues with the external provider. Null if the last sync was successful.
    LastSyncedAt string
    When the replica was last successfully synced to the external provider. Null if the replica has never been successfully synced.
    MirrorWindowDays float64
    How many days ahead to mirror this schedule into the external provider. Defaults to 14 if not set; maximum 90.
    ReplicaFallbackUserId string
    The ID of a user in the external provider that will be assigned whenever nobody is on-call in the incident.io schedule. External providers typically require someone to always be on-call, so this user fills gaps where incident.io has no one scheduled.
    ReplicaProvider string
    The external provider where this schedule is replicated to. Possible values are: native, pagerduty, opsgenie, jsm.
    ReplicaProviderId string
    The ID of the schedule in the external provider that this replica syncs to. For PagerDuty this is the schedule ID (e.g. PO8107X), for Opsgenie the schedule ID, and for Jira Service Management the schedule ID.
    ScheduleId string
    The ID of the incident.io schedule that this replica is syncing from
    Sources []ScheduleReplicaSourceArgs
    The specific rotation and layer combinations from the schedule that are being replicated. Each source identifies a single layer within a rotation to sync to the external provider.
    UpdatedAt string
    When this schedule replica was last updated
    UserStatuses []ScheduleReplicaUserStatusArgs
    The mapping status of each incident.io user in the schedule to their corresponding user in the external provider. Users must be mapped for the replica to sync their on-call shifts correctly.
    created_at string
    When this schedule replica was first created
    last_sync_error string
    The most recent error encountered while syncing this replica to the external provider, if any. Common errors include unmapped users or connectivity issues with the external provider. Null if the last sync was successful.
    last_synced_at string
    When the replica was last successfully synced to the external provider. Null if the replica has never been successfully synced.
    mirror_window_days number
    How many days ahead to mirror this schedule into the external provider. Defaults to 14 if not set; maximum 90.
    replica_fallback_user_id string
    The ID of a user in the external provider that will be assigned whenever nobody is on-call in the incident.io schedule. External providers typically require someone to always be on-call, so this user fills gaps where incident.io has no one scheduled.
    replica_provider string
    The external provider where this schedule is replicated to. Possible values are: native, pagerduty, opsgenie, jsm.
    replica_provider_id string
    The ID of the schedule in the external provider that this replica syncs to. For PagerDuty this is the schedule ID (e.g. PO8107X), for Opsgenie the schedule ID, and for Jira Service Management the schedule ID.
    schedule_id string
    The ID of the incident.io schedule that this replica is syncing from
    sources list(object)
    The specific rotation and layer combinations from the schedule that are being replicated. Each source identifies a single layer within a rotation to sync to the external provider.
    updated_at string
    When this schedule replica was last updated
    user_statuses list(object)
    The mapping status of each incident.io user in the schedule to their corresponding user in the external provider. Users must be mapped for the replica to sync their on-call shifts correctly.
    createdAt String
    When this schedule replica was first created
    lastSyncError String
    The most recent error encountered while syncing this replica to the external provider, if any. Common errors include unmapped users or connectivity issues with the external provider. Null if the last sync was successful.
    lastSyncedAt String
    When the replica was last successfully synced to the external provider. Null if the replica has never been successfully synced.
    mirrorWindowDays Double
    How many days ahead to mirror this schedule into the external provider. Defaults to 14 if not set; maximum 90.
    replicaFallbackUserId String
    The ID of a user in the external provider that will be assigned whenever nobody is on-call in the incident.io schedule. External providers typically require someone to always be on-call, so this user fills gaps where incident.io has no one scheduled.
    replicaProvider String
    The external provider where this schedule is replicated to. Possible values are: native, pagerduty, opsgenie, jsm.
    replicaProviderId String
    The ID of the schedule in the external provider that this replica syncs to. For PagerDuty this is the schedule ID (e.g. PO8107X), for Opsgenie the schedule ID, and for Jira Service Management the schedule ID.
    scheduleId String
    The ID of the incident.io schedule that this replica is syncing from
    sources List<ScheduleReplicaSource>
    The specific rotation and layer combinations from the schedule that are being replicated. Each source identifies a single layer within a rotation to sync to the external provider.
    updatedAt String
    When this schedule replica was last updated
    userStatuses List<ScheduleReplicaUserStatus>
    The mapping status of each incident.io user in the schedule to their corresponding user in the external provider. Users must be mapped for the replica to sync their on-call shifts correctly.
    createdAt string
    When this schedule replica was first created
    lastSyncError string
    The most recent error encountered while syncing this replica to the external provider, if any. Common errors include unmapped users or connectivity issues with the external provider. Null if the last sync was successful.
    lastSyncedAt string
    When the replica was last successfully synced to the external provider. Null if the replica has never been successfully synced.
    mirrorWindowDays number
    How many days ahead to mirror this schedule into the external provider. Defaults to 14 if not set; maximum 90.
    replicaFallbackUserId string
    The ID of a user in the external provider that will be assigned whenever nobody is on-call in the incident.io schedule. External providers typically require someone to always be on-call, so this user fills gaps where incident.io has no one scheduled.
    replicaProvider string
    The external provider where this schedule is replicated to. Possible values are: native, pagerduty, opsgenie, jsm.
    replicaProviderId string
    The ID of the schedule in the external provider that this replica syncs to. For PagerDuty this is the schedule ID (e.g. PO8107X), for Opsgenie the schedule ID, and for Jira Service Management the schedule ID.
    scheduleId string
    The ID of the incident.io schedule that this replica is syncing from
    sources ScheduleReplicaSource[]
    The specific rotation and layer combinations from the schedule that are being replicated. Each source identifies a single layer within a rotation to sync to the external provider.
    updatedAt string
    When this schedule replica was last updated
    userStatuses ScheduleReplicaUserStatus[]
    The mapping status of each incident.io user in the schedule to their corresponding user in the external provider. Users must be mapped for the replica to sync their on-call shifts correctly.
    created_at str
    When this schedule replica was first created
    last_sync_error str
    The most recent error encountered while syncing this replica to the external provider, if any. Common errors include unmapped users or connectivity issues with the external provider. Null if the last sync was successful.
    last_synced_at str
    When the replica was last successfully synced to the external provider. Null if the replica has never been successfully synced.
    mirror_window_days float
    How many days ahead to mirror this schedule into the external provider. Defaults to 14 if not set; maximum 90.
    replica_fallback_user_id str
    The ID of a user in the external provider that will be assigned whenever nobody is on-call in the incident.io schedule. External providers typically require someone to always be on-call, so this user fills gaps where incident.io has no one scheduled.
    replica_provider str
    The external provider where this schedule is replicated to. Possible values are: native, pagerduty, opsgenie, jsm.
    replica_provider_id str
    The ID of the schedule in the external provider that this replica syncs to. For PagerDuty this is the schedule ID (e.g. PO8107X), for Opsgenie the schedule ID, and for Jira Service Management the schedule ID.
    schedule_id str
    The ID of the incident.io schedule that this replica is syncing from
    sources Sequence[ScheduleReplicaSourceArgs]
    The specific rotation and layer combinations from the schedule that are being replicated. Each source identifies a single layer within a rotation to sync to the external provider.
    updated_at str
    When this schedule replica was last updated
    user_statuses Sequence[ScheduleReplicaUserStatusArgs]
    The mapping status of each incident.io user in the schedule to their corresponding user in the external provider. Users must be mapped for the replica to sync their on-call shifts correctly.
    createdAt String
    When this schedule replica was first created
    lastSyncError String
    The most recent error encountered while syncing this replica to the external provider, if any. Common errors include unmapped users or connectivity issues with the external provider. Null if the last sync was successful.
    lastSyncedAt String
    When the replica was last successfully synced to the external provider. Null if the replica has never been successfully synced.
    mirrorWindowDays Number
    How many days ahead to mirror this schedule into the external provider. Defaults to 14 if not set; maximum 90.
    replicaFallbackUserId String
    The ID of a user in the external provider that will be assigned whenever nobody is on-call in the incident.io schedule. External providers typically require someone to always be on-call, so this user fills gaps where incident.io has no one scheduled.
    replicaProvider String
    The external provider where this schedule is replicated to. Possible values are: native, pagerduty, opsgenie, jsm.
    replicaProviderId String
    The ID of the schedule in the external provider that this replica syncs to. For PagerDuty this is the schedule ID (e.g. PO8107X), for Opsgenie the schedule ID, and for Jira Service Management the schedule ID.
    scheduleId String
    The ID of the incident.io schedule that this replica is syncing from
    sources List<Property Map>
    The specific rotation and layer combinations from the schedule that are being replicated. Each source identifies a single layer within a rotation to sync to the external provider.
    updatedAt String
    When this schedule replica was last updated
    userStatuses List<Property Map>
    The mapping status of each incident.io user in the schedule to their corresponding user in the external provider. Users must be mapped for the replica to sync their on-call shifts correctly.

    Supporting Types

    ScheduleReplicaSource, ScheduleReplicaSourceArgs

    LayerId string
    The ID of the layer within the rotation to replicate. Rotations can have multiple layers that stack on top of each other, and you must specify which layer to replicate.
    RotationId string
    The ID of the rotation within the schedule to replicate. Each schedule can have multiple rotations, and you can choose which ones to include in the replica.
    LayerId string
    The ID of the layer within the rotation to replicate. Rotations can have multiple layers that stack on top of each other, and you must specify which layer to replicate.
    RotationId string
    The ID of the rotation within the schedule to replicate. Each schedule can have multiple rotations, and you can choose which ones to include in the replica.
    layer_id string
    The ID of the layer within the rotation to replicate. Rotations can have multiple layers that stack on top of each other, and you must specify which layer to replicate.
    rotation_id string
    The ID of the rotation within the schedule to replicate. Each schedule can have multiple rotations, and you can choose which ones to include in the replica.
    layerId String
    The ID of the layer within the rotation to replicate. Rotations can have multiple layers that stack on top of each other, and you must specify which layer to replicate.
    rotationId String
    The ID of the rotation within the schedule to replicate. Each schedule can have multiple rotations, and you can choose which ones to include in the replica.
    layerId string
    The ID of the layer within the rotation to replicate. Rotations can have multiple layers that stack on top of each other, and you must specify which layer to replicate.
    rotationId string
    The ID of the rotation within the schedule to replicate. Each schedule can have multiple rotations, and you can choose which ones to include in the replica.
    layer_id str
    The ID of the layer within the rotation to replicate. Rotations can have multiple layers that stack on top of each other, and you must specify which layer to replicate.
    rotation_id str
    The ID of the rotation within the schedule to replicate. Each schedule can have multiple rotations, and you can choose which ones to include in the replica.
    layerId String
    The ID of the layer within the rotation to replicate. Rotations can have multiple layers that stack on top of each other, and you must specify which layer to replicate.
    rotationId String
    The ID of the rotation within the schedule to replicate. Each schedule can have multiple rotations, and you can choose which ones to include in the replica.

    ScheduleReplicaUserStatus, ScheduleReplicaUserStatusArgs

    ExternalUserId string
    The corresponding user ID in the external provider (e.g. a PagerDuty user ID). If set, the user has been successfully mapped to an external user and will be included in the replica. If null, the user could not be resolved and syncing may produce errors.
    UserId string
    The incident.io user ID for a user who appears in the schedule rotation.
    ExternalUserId string
    The corresponding user ID in the external provider (e.g. a PagerDuty user ID). If set, the user has been successfully mapped to an external user and will be included in the replica. If null, the user could not be resolved and syncing may produce errors.
    UserId string
    The incident.io user ID for a user who appears in the schedule rotation.
    external_user_id string
    The corresponding user ID in the external provider (e.g. a PagerDuty user ID). If set, the user has been successfully mapped to an external user and will be included in the replica. If null, the user could not be resolved and syncing may produce errors.
    user_id string
    The incident.io user ID for a user who appears in the schedule rotation.
    externalUserId String
    The corresponding user ID in the external provider (e.g. a PagerDuty user ID). If set, the user has been successfully mapped to an external user and will be included in the replica. If null, the user could not be resolved and syncing may produce errors.
    userId String
    The incident.io user ID for a user who appears in the schedule rotation.
    externalUserId string
    The corresponding user ID in the external provider (e.g. a PagerDuty user ID). If set, the user has been successfully mapped to an external user and will be included in the replica. If null, the user could not be resolved and syncing may produce errors.
    userId string
    The incident.io user ID for a user who appears in the schedule rotation.
    external_user_id str
    The corresponding user ID in the external provider (e.g. a PagerDuty user ID). If set, the user has been successfully mapped to an external user and will be included in the replica. If null, the user could not be resolved and syncing may produce errors.
    user_id str
    The incident.io user ID for a user who appears in the schedule rotation.
    externalUserId String
    The corresponding user ID in the external provider (e.g. a PagerDuty user ID). If set, the user has been successfully mapped to an external user and will be included in the replica. If null, the user could not be resolved and syncing may produce errors.
    userId String
    The incident.io user ID for a user who appears in the schedule rotation.

    Import

    Import is supported using an import block or the pulumi import command:

    The import block can be used with the id attribute, for example:

    terraform

    Import a schedule replica using the format schedule_id:replica_id

    Replicas belong to a schedule, so both IDs are required: use the

    ListScheduleReplicas API endpoint for a schedule to find its replicas’ IDs

    Replace the IDs with real IDs from your incident.io organization

    import {

    to = incident_schedule_replica.example

    id = “01ABC123DEF456GHI789JKL:01MNO456PQR789STU012VWX”

    }

    The pulumi import command can be used, for example:

    #!/bin/bash

    Import a schedule replica using the format schedule_id:replica_id

    Replicas belong to a schedule, so both IDs are required: use the

    ListScheduleReplicas API endpoint for a schedule to find its replicas’ IDs

    Replace the IDs with real IDs from your incident.io organization

    $ pulumi import incident:index/scheduleReplica:ScheduleReplica example 01ABC123DEF456GHI789JKL:01MNO456PQR789STU012VWX
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    incident incident-io/terraform-provider-incident
    License
    Notes
    This Pulumi package is based on the incident Terraform Provider.
    Viewing docs for incident 7.0.0
    published on Friday, Sep 11, 2026 by incident-io

      Try Pulumi Cloud free.
      Your team will thank you.

      Start free trial