1. Registry
  2. Packages
  3. Rootly
  4. API Docs
  5. ScheduleRotation
Viewing docs for Rootly v4.0.0
published on Tuesday, Sep 15, 2026 by rootlyhq
rootly logo
Viewing docs for Rootly v4.0.0
published on Tuesday, Sep 15, 2026 by rootlyhq

    Manages a schedule rotation.

    Example Usage

    data "rootly_user" "john" {
      email = "demo@rootly.com"
    }
    
    data "rootly_user" "jane" {
      email = "demo1@rootly.com"
    }
    
    data "rootly_alert_urgency" "low" {
      name = "Low"
    }
    
    resource "rootly_team" "sre" {
      name     = "SREs On-Call"
      user_ids = [data.rootly_user.john.id, data.rootly_user.jane.id]
    }
    
    resource "rootly_schedule" "primary" {
      name              = "Primary On-Call Schedule"
      owner_user_id     = data.rootly_user.john.id
      all_time_coverage = false
    }
    
    resource "rootly_schedule_rotation" "weekdays" {
      schedule_id     = rootly_schedule.primary.id
      name            = "weekdays"
      active_all_week = false
      active_days = [
        "M",
        "T",
        "W",
        "R",
        "F",
      ]
      active_time_type = "custom"
      position         = 1
      schedule_rotationable_attributes = {
        handoff_time = "10:00"
      }
      schedule_rotationable_type = "ScheduleDailyRotation"
      time_zone                  = "America/Toronto"
    
      schedule_rotation_members {
        member_type = "User"
        member_id   = data.rootly_user.john.id
        position    = 1
      }
    
      schedule_rotation_members {
        member_type = "User"
        member_id   = data.rootly_user.jane.id
        position    = 2
      }
    }
    
    # Define active days for the weekday rotation
    # Monday
    resource "rootly_schedule_rotation_active_day" "m1-weekday" {
      schedule_rotation_id = rootly_schedule_rotation.weekdays.id
      day_name             = "M"
      active_time_attributes {
        start_time = "10:00"
        end_time   = "18:00"
      }
    }
    # Tuesday
    resource "rootly_schedule_rotation_active_day" "t1-weekday" {
      schedule_rotation_id = rootly_schedule_rotation.weekdays.id
      day_name             = "T"
      active_time_attributes {
        start_time = "10:00"
        end_time   = "18:00"
      }
    }
    # Wednesday
    resource "rootly_schedule_rotation_active_day" "w1-weekday" {
      schedule_rotation_id = rootly_schedule_rotation.weekdays.id
      day_name             = "W"
      active_time_attributes {
        start_time = "10:00"
        end_time   = "18:00"
      }
    }
    # Thursday
    resource "rootly_schedule_rotation_active_day" "th1-weekday" {
      schedule_rotation_id = rootly_schedule_rotation.weekdays.id
      day_name             = "R"
      active_time_attributes {
        start_time = "10:00"
        end_time   = "18:00"
      }
    }
    # Friday
    resource "rootly_schedule_rotation_active_day" "f1-weekday" {
      schedule_rotation_id = rootly_schedule_rotation.weekdays.id
      day_name             = "F"
      active_time_attributes {
        start_time = "10:00"
        end_time   = "18:00"
      }
    }
    
    resource "rootly_escalation_policy" "primary" {
      name      = "Primary"
      group_ids = [rootly_team.sre.id]
    }
    
    resource "rootly_escalation_path" "default" {
      name                 = "Default"
      default              = true
      escalation_policy_id = rootly_escalation_policy.primary.id
    }
    
    resource "rootly_escalation_path" "ignore" {
      name                 = "Ignore"
      default              = false
      escalation_policy_id = rootly_escalation_policy.primary.id
      rules {
        rule_type   = "alert_urgency"
        urgency_ids = [data.rootly_alert_urgency.low.id]
      }
    }
    
    resource "rootly_escalation_level" "first" {
      escalation_policy_path_id = rootly_escalation_path.default.id
      escalation_policy_id      = rootly_escalation_policy.primary.id
      position                  = 1
      notification_target_params {
        team_members = "all"
        type         = "slack_channel"
        id           = "C06D4QHLAUE"
      }
      notification_target_params {
        type         = "schedule"
        id           = rootly_schedule.primary.id
        team_members = "all"
      }
    }
    
    # cycle-based round-robin everyone on the schedule
    resource "rootly_escalation_level" "second" {
      escalation_policy_path_id                       = rootly_escalation_path.default.id
      escalation_policy_id                            = rootly_escalation_policy.primary.id
      position                                        = 2
      delay                                           = 5
      paging_strategy_configuration_strategy          = "cycle"
      paging_strategy_configuration_schedule_strategy = "everyone"
      notification_target_params {
        type         = "schedule"
        id           = rootly_schedule.primary.id
        team_members = "all"
      }
    }
    

    Create ScheduleRotation Resource

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

    Constructor syntax

    new ScheduleRotation(name: string, args: ScheduleRotationArgs, opts?: CustomResourceOptions);
    @overload
    def ScheduleRotation(resource_name: str,
                         args: ScheduleRotationArgs,
                         opts: Optional[ResourceOptions] = None)
    
    @overload
    def ScheduleRotation(resource_name: str,
                         opts: Optional[ResourceOptions] = None,
                         schedule_id: Optional[str] = None,
                         schedule_rotationable_attributes: Optional[ScheduleRotationScheduleRotationableAttributesArgs] = None,
                         active_time_type: Optional[str] = None,
                         active_all_week: Optional[bool] = None,
                         end_time: Optional[str] = None,
                         name: Optional[str] = None,
                         position: Optional[int] = None,
                         active_time_attributes: Optional[Sequence[ScheduleRotationActiveTimeAttributeArgs]] = None,
                         schedule_rotation_members: Optional[Sequence[ScheduleRotationScheduleRotationMemberArgs]] = None,
                         active_days: Optional[Sequence[str]] = None,
                         schedule_rotationable_type: Optional[str] = None,
                         start_time: Optional[str] = None,
                         time_zone: Optional[str] = None)
    func NewScheduleRotation(ctx *Context, name string, args ScheduleRotationArgs, opts ...ResourceOption) (*ScheduleRotation, error)
    public ScheduleRotation(string name, ScheduleRotationArgs args, CustomResourceOptions? opts = null)
    public ScheduleRotation(String name, ScheduleRotationArgs args)
    public ScheduleRotation(String name, ScheduleRotationArgs args, CustomResourceOptions options)
    
    type: rootly:ScheduleRotation
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    resource "rootly_schedule_rotation" "name" {
        # resource properties
    }

    Parameters

    name string
    The unique name of the resource.
    args ScheduleRotationArgs
    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 ScheduleRotationArgs
    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 ScheduleRotationArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ScheduleRotationArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args ScheduleRotationArgs
    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 scheduleRotationResource = new Rootly.ScheduleRotation("scheduleRotationResource", new()
    {
        ScheduleId = "string",
        ScheduleRotationableAttributes = new Rootly.Inputs.ScheduleRotationScheduleRotationableAttributesArgs
        {
            HandoffTime = "string",
            HandoffDay = "string",
            ShiftLength = 0,
            ShiftLengthUnit = "string",
        },
        ActiveTimeType = "string",
        ActiveAllWeek = false,
        EndTime = "string",
        Name = "string",
        Position = 0,
        ActiveTimeAttributes = new[]
        {
            new Rootly.Inputs.ScheduleRotationActiveTimeAttributeArgs
            {
                EndTime = "string",
                StartTime = "string",
            },
        },
        ScheduleRotationMembers = new[]
        {
            new Rootly.Inputs.ScheduleRotationScheduleRotationMemberArgs
            {
                MemberId = "string",
                MemberType = "string",
                Position = 0,
            },
        },
        ActiveDays = new[]
        {
            "string",
        },
        ScheduleRotationableType = "string",
        StartTime = "string",
        TimeZone = "string",
    });
    
    example, err := rootly.NewScheduleRotation(ctx, "scheduleRotationResource", &rootly.ScheduleRotationArgs{
    	ScheduleId: pulumi.String("string"),
    	ScheduleRotationableAttributes: &rootly.ScheduleRotationScheduleRotationableAttributesArgs{
    		HandoffTime:     pulumi.String("string"),
    		HandoffDay:      pulumi.String("string"),
    		ShiftLength:     pulumi.Int(0),
    		ShiftLengthUnit: pulumi.String("string"),
    	},
    	ActiveTimeType: pulumi.String("string"),
    	ActiveAllWeek:  pulumi.Bool(false),
    	EndTime:        pulumi.String("string"),
    	Name:           pulumi.String("string"),
    	Position:       pulumi.Int(0),
    	ActiveTimeAttributes: rootly.ScheduleRotationActiveTimeAttributeArray{
    		&rootly.ScheduleRotationActiveTimeAttributeArgs{
    			EndTime:   pulumi.String("string"),
    			StartTime: pulumi.String("string"),
    		},
    	},
    	ScheduleRotationMembers: rootly.ScheduleRotationScheduleRotationMemberArray{
    		&rootly.ScheduleRotationScheduleRotationMemberArgs{
    			MemberId:   pulumi.String("string"),
    			MemberType: pulumi.String("string"),
    			Position:   pulumi.Int(0),
    		},
    	},
    	ActiveDays: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	ScheduleRotationableType: pulumi.String("string"),
    	StartTime:                pulumi.String("string"),
    	TimeZone:                 pulumi.String("string"),
    })
    
    resource "rootly_schedule_rotation" "scheduleRotationResource" {
      lifecycle {
        create_before_destroy = true
      }
      schedule_id = "string"
      schedule_rotationable_attributes = {
        handoff_time      = "string"
        handoff_day       = "string"
        shift_length      = 0
        shift_length_unit = "string"
      }
      active_time_type = "string"
      active_all_week  = false
      end_time         = "string"
      name             = "string"
      position         = 0
      active_time_attributes {
        end_time   = "string"
        start_time = "string"
      }
      schedule_rotation_members {
        member_id   = "string"
        member_type = "string"
        position    = 0
      }
      active_days                = ["string"]
      schedule_rotationable_type = "string"
      start_time                 = "string"
      time_zone                  = "string"
    }
    
    var scheduleRotationResource = new ScheduleRotation("scheduleRotationResource", ScheduleRotationArgs.builder()
        .scheduleId("string")
        .scheduleRotationableAttributes(ScheduleRotationScheduleRotationableAttributesArgs.builder()
            .handoffTime("string")
            .handoffDay("string")
            .shiftLength(0)
            .shiftLengthUnit("string")
            .build())
        .activeTimeType("string")
        .activeAllWeek(false)
        .endTime("string")
        .name("string")
        .position(0)
        .activeTimeAttributes(ScheduleRotationActiveTimeAttributeArgs.builder()
            .endTime("string")
            .startTime("string")
            .build())
        .scheduleRotationMembers(ScheduleRotationScheduleRotationMemberArgs.builder()
            .memberId("string")
            .memberType("string")
            .position(0)
            .build())
        .activeDays("string")
        .scheduleRotationableType("string")
        .startTime("string")
        .timeZone("string")
        .build());
    
    schedule_rotation_resource = rootly.ScheduleRotation("scheduleRotationResource",
        schedule_id="string",
        schedule_rotationable_attributes={
            "handoff_time": "string",
            "handoff_day": "string",
            "shift_length": 0,
            "shift_length_unit": "string",
        },
        active_time_type="string",
        active_all_week=False,
        end_time="string",
        name="string",
        position=0,
        active_time_attributes=[{
            "end_time": "string",
            "start_time": "string",
        }],
        schedule_rotation_members=[{
            "member_id": "string",
            "member_type": "string",
            "position": 0,
        }],
        active_days=["string"],
        schedule_rotationable_type="string",
        start_time="string",
        time_zone="string")
    
    const scheduleRotationResource = new rootly.ScheduleRotation("scheduleRotationResource", {
        scheduleId: "string",
        scheduleRotationableAttributes: {
            handoffTime: "string",
            handoffDay: "string",
            shiftLength: 0,
            shiftLengthUnit: "string",
        },
        activeTimeType: "string",
        activeAllWeek: false,
        endTime: "string",
        name: "string",
        position: 0,
        activeTimeAttributes: [{
            endTime: "string",
            startTime: "string",
        }],
        scheduleRotationMembers: [{
            memberId: "string",
            memberType: "string",
            position: 0,
        }],
        activeDays: ["string"],
        scheduleRotationableType: "string",
        startTime: "string",
        timeZone: "string",
    });
    
    type: rootly:ScheduleRotation
    properties:
        activeAllWeek: false
        activeDays:
            - string
        activeTimeAttributes:
            - endTime: string
              startTime: string
        activeTimeType: string
        endTime: string
        name: string
        position: 0
        scheduleId: string
        scheduleRotationMembers:
            - memberId: string
              memberType: string
              position: 0
        scheduleRotationableAttributes:
            handoffDay: string
            handoffTime: string
            shiftLength: 0
            shiftLengthUnit: string
        scheduleRotationableType: string
        startTime: string
        timeZone: string
    

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

    ScheduleId string
    The ID of parent schedule.
    ScheduleRotationableAttributes ScheduleRotationScheduleRotationableAttributes
    handofftime and/or handoffday may be required, depending on schedulerotationabletype. Please see API docs for options based on schedulerotationabletype: https://docs.rootly.com/api-reference/schedulerotations/creates-a-schedule-rotation#response-data-attributes-schedule-rotationable-attributes
    ActiveAllWeek bool
    Schedule rotation active all week?
    ActiveDays List<string>
    Value must be one of S, M, T, W, R, F, U.
    ActiveTimeAttributes List<ScheduleRotationActiveTimeAttribute>
    Schedule rotation's active times.
    ActiveTimeType string
    Value must be one of allDay, sameTime, or custom. The value chosen will override activeTimeAttributes in any rootly.ScheduleRotationActiveDay resources linked to this rootly.ScheduleRotation.
    EndTime string
    ISO8601 date and time when rotation ends. Shifts will only be created before this time.
    Name string
    The name of the schedule rotation.
    Position int
    Position of the schedule rotation.
    ScheduleRotationMembers List<ScheduleRotationScheduleRotationMember>
    Schedule rotation members. You can only add schedule rotation members if your account has schedule nesting feature enabled.
    ScheduleRotationableType string
    Schedule rotation type. Value must be one of ScheduleDailyRotation, ScheduleWeeklyRotation, ScheduleBiweeklyRotation, ScheduleMonthlyRotation, ScheduleCustomRotation.
    StartTime string
    ISO8601 date and time when rotation starts. Shifts will only be created after this time.
    TimeZone string
    A valid IANA time zone name.
    ScheduleId string
    The ID of parent schedule.
    ScheduleRotationableAttributes ScheduleRotationScheduleRotationableAttributesArgs
    handofftime and/or handoffday may be required, depending on schedulerotationabletype. Please see API docs for options based on schedulerotationabletype: https://docs.rootly.com/api-reference/schedulerotations/creates-a-schedule-rotation#response-data-attributes-schedule-rotationable-attributes
    ActiveAllWeek bool
    Schedule rotation active all week?
    ActiveDays []string
    Value must be one of S, M, T, W, R, F, U.
    ActiveTimeAttributes []ScheduleRotationActiveTimeAttributeArgs
    Schedule rotation's active times.
    ActiveTimeType string
    Value must be one of allDay, sameTime, or custom. The value chosen will override activeTimeAttributes in any rootly.ScheduleRotationActiveDay resources linked to this rootly.ScheduleRotation.
    EndTime string
    ISO8601 date and time when rotation ends. Shifts will only be created before this time.
    Name string
    The name of the schedule rotation.
    Position int
    Position of the schedule rotation.
    ScheduleRotationMembers []ScheduleRotationScheduleRotationMemberArgs
    Schedule rotation members. You can only add schedule rotation members if your account has schedule nesting feature enabled.
    ScheduleRotationableType string
    Schedule rotation type. Value must be one of ScheduleDailyRotation, ScheduleWeeklyRotation, ScheduleBiweeklyRotation, ScheduleMonthlyRotation, ScheduleCustomRotation.
    StartTime string
    ISO8601 date and time when rotation starts. Shifts will only be created after this time.
    TimeZone string
    A valid IANA time zone name.
    schedule_id string
    The ID of parent schedule.
    schedule_rotationable_attributes object
    handofftime and/or handoffday may be required, depending on schedulerotationabletype. Please see API docs for options based on schedulerotationabletype: https://docs.rootly.com/api-reference/schedulerotations/creates-a-schedule-rotation#response-data-attributes-schedule-rotationable-attributes
    active_all_week bool
    Schedule rotation active all week?
    active_days list(string)
    Value must be one of S, M, T, W, R, F, U.
    active_time_attributes list(object)
    Schedule rotation's active times.
    active_time_type string
    Value must be one of allDay, sameTime, or custom. The value chosen will override activeTimeAttributes in any rootly.ScheduleRotationActiveDay resources linked to this rootly.ScheduleRotation.
    end_time string
    ISO8601 date and time when rotation ends. Shifts will only be created before this time.
    name string
    The name of the schedule rotation.
    position number
    Position of the schedule rotation.
    schedule_rotation_members list(object)
    Schedule rotation members. You can only add schedule rotation members if your account has schedule nesting feature enabled.
    schedule_rotationable_type string
    Schedule rotation type. Value must be one of ScheduleDailyRotation, ScheduleWeeklyRotation, ScheduleBiweeklyRotation, ScheduleMonthlyRotation, ScheduleCustomRotation.
    start_time string
    ISO8601 date and time when rotation starts. Shifts will only be created after this time.
    time_zone string
    A valid IANA time zone name.
    scheduleId String
    The ID of parent schedule.
    scheduleRotationableAttributes ScheduleRotationScheduleRotationableAttributes
    handofftime and/or handoffday may be required, depending on schedulerotationabletype. Please see API docs for options based on schedulerotationabletype: https://docs.rootly.com/api-reference/schedulerotations/creates-a-schedule-rotation#response-data-attributes-schedule-rotationable-attributes
    activeAllWeek Boolean
    Schedule rotation active all week?
    activeDays List<String>
    Value must be one of S, M, T, W, R, F, U.
    activeTimeAttributes List<ScheduleRotationActiveTimeAttribute>
    Schedule rotation's active times.
    activeTimeType String
    Value must be one of allDay, sameTime, or custom. The value chosen will override activeTimeAttributes in any rootly.ScheduleRotationActiveDay resources linked to this rootly.ScheduleRotation.
    endTime String
    ISO8601 date and time when rotation ends. Shifts will only be created before this time.
    name String
    The name of the schedule rotation.
    position Integer
    Position of the schedule rotation.
    scheduleRotationMembers List<ScheduleRotationScheduleRotationMember>
    Schedule rotation members. You can only add schedule rotation members if your account has schedule nesting feature enabled.
    scheduleRotationableType String
    Schedule rotation type. Value must be one of ScheduleDailyRotation, ScheduleWeeklyRotation, ScheduleBiweeklyRotation, ScheduleMonthlyRotation, ScheduleCustomRotation.
    startTime String
    ISO8601 date and time when rotation starts. Shifts will only be created after this time.
    timeZone String
    A valid IANA time zone name.
    scheduleId string
    The ID of parent schedule.
    scheduleRotationableAttributes ScheduleRotationScheduleRotationableAttributes
    handofftime and/or handoffday may be required, depending on schedulerotationabletype. Please see API docs for options based on schedulerotationabletype: https://docs.rootly.com/api-reference/schedulerotations/creates-a-schedule-rotation#response-data-attributes-schedule-rotationable-attributes
    activeAllWeek boolean
    Schedule rotation active all week?
    activeDays string[]
    Value must be one of S, M, T, W, R, F, U.
    activeTimeAttributes ScheduleRotationActiveTimeAttribute[]
    Schedule rotation's active times.
    activeTimeType string
    Value must be one of allDay, sameTime, or custom. The value chosen will override activeTimeAttributes in any rootly.ScheduleRotationActiveDay resources linked to this rootly.ScheduleRotation.
    endTime string
    ISO8601 date and time when rotation ends. Shifts will only be created before this time.
    name string
    The name of the schedule rotation.
    position number
    Position of the schedule rotation.
    scheduleRotationMembers ScheduleRotationScheduleRotationMember[]
    Schedule rotation members. You can only add schedule rotation members if your account has schedule nesting feature enabled.
    scheduleRotationableType string
    Schedule rotation type. Value must be one of ScheduleDailyRotation, ScheduleWeeklyRotation, ScheduleBiweeklyRotation, ScheduleMonthlyRotation, ScheduleCustomRotation.
    startTime string
    ISO8601 date and time when rotation starts. Shifts will only be created after this time.
    timeZone string
    A valid IANA time zone name.
    schedule_id str
    The ID of parent schedule.
    schedule_rotationable_attributes ScheduleRotationScheduleRotationableAttributesArgs
    handofftime and/or handoffday may be required, depending on schedulerotationabletype. Please see API docs for options based on schedulerotationabletype: https://docs.rootly.com/api-reference/schedulerotations/creates-a-schedule-rotation#response-data-attributes-schedule-rotationable-attributes
    active_all_week bool
    Schedule rotation active all week?
    active_days Sequence[str]
    Value must be one of S, M, T, W, R, F, U.
    active_time_attributes Sequence[ScheduleRotationActiveTimeAttributeArgs]
    Schedule rotation's active times.
    active_time_type str
    Value must be one of allDay, sameTime, or custom. The value chosen will override activeTimeAttributes in any rootly.ScheduleRotationActiveDay resources linked to this rootly.ScheduleRotation.
    end_time str
    ISO8601 date and time when rotation ends. Shifts will only be created before this time.
    name str
    The name of the schedule rotation.
    position int
    Position of the schedule rotation.
    schedule_rotation_members Sequence[ScheduleRotationScheduleRotationMemberArgs]
    Schedule rotation members. You can only add schedule rotation members if your account has schedule nesting feature enabled.
    schedule_rotationable_type str
    Schedule rotation type. Value must be one of ScheduleDailyRotation, ScheduleWeeklyRotation, ScheduleBiweeklyRotation, ScheduleMonthlyRotation, ScheduleCustomRotation.
    start_time str
    ISO8601 date and time when rotation starts. Shifts will only be created after this time.
    time_zone str
    A valid IANA time zone name.
    scheduleId String
    The ID of parent schedule.
    scheduleRotationableAttributes Property Map
    handofftime and/or handoffday may be required, depending on schedulerotationabletype. Please see API docs for options based on schedulerotationabletype: https://docs.rootly.com/api-reference/schedulerotations/creates-a-schedule-rotation#response-data-attributes-schedule-rotationable-attributes
    activeAllWeek Boolean
    Schedule rotation active all week?
    activeDays List<String>
    Value must be one of S, M, T, W, R, F, U.
    activeTimeAttributes List<Property Map>
    Schedule rotation's active times.
    activeTimeType String
    Value must be one of allDay, sameTime, or custom. The value chosen will override activeTimeAttributes in any rootly.ScheduleRotationActiveDay resources linked to this rootly.ScheduleRotation.
    endTime String
    ISO8601 date and time when rotation ends. Shifts will only be created before this time.
    name String
    The name of the schedule rotation.
    position Number
    Position of the schedule rotation.
    scheduleRotationMembers List<Property Map>
    Schedule rotation members. You can only add schedule rotation members if your account has schedule nesting feature enabled.
    scheduleRotationableType String
    Schedule rotation type. Value must be one of ScheduleDailyRotation, ScheduleWeeklyRotation, ScheduleBiweeklyRotation, ScheduleMonthlyRotation, ScheduleCustomRotation.
    startTime String
    ISO8601 date and time when rotation starts. Shifts will only be created after this time.
    timeZone String
    A valid IANA time zone name.

    Outputs

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

    Id string
    The provider-assigned unique ID for this managed resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing ScheduleRotation Resource

    Get an existing ScheduleRotation 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?: ScheduleRotationState, opts?: CustomResourceOptions): ScheduleRotation
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            active_all_week: Optional[bool] = None,
            active_days: Optional[Sequence[str]] = None,
            active_time_attributes: Optional[Sequence[ScheduleRotationActiveTimeAttributeArgs]] = None,
            active_time_type: Optional[str] = None,
            end_time: Optional[str] = None,
            name: Optional[str] = None,
            position: Optional[int] = None,
            schedule_id: Optional[str] = None,
            schedule_rotation_members: Optional[Sequence[ScheduleRotationScheduleRotationMemberArgs]] = None,
            schedule_rotationable_attributes: Optional[ScheduleRotationScheduleRotationableAttributesArgs] = None,
            schedule_rotationable_type: Optional[str] = None,
            start_time: Optional[str] = None,
            time_zone: Optional[str] = None) -> ScheduleRotation
    func GetScheduleRotation(ctx *Context, name string, id IDInput, state *ScheduleRotationState, opts ...ResourceOption) (*ScheduleRotation, error)
    public static ScheduleRotation Get(string name, Input<string> id, ScheduleRotationState? state, CustomResourceOptions? opts = null)
    public static ScheduleRotation get(String name, Output<String> id, ScheduleRotationState state, CustomResourceOptions options)
    resources:  _:    type: rootly:ScheduleRotation    get:      id: ${id}
    import {
      to = rootly_schedule_rotation.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:
    ActiveAllWeek bool
    Schedule rotation active all week?
    ActiveDays List<string>
    Value must be one of S, M, T, W, R, F, U.
    ActiveTimeAttributes List<ScheduleRotationActiveTimeAttribute>
    Schedule rotation's active times.
    ActiveTimeType string
    Value must be one of allDay, sameTime, or custom. The value chosen will override activeTimeAttributes in any rootly.ScheduleRotationActiveDay resources linked to this rootly.ScheduleRotation.
    EndTime string
    ISO8601 date and time when rotation ends. Shifts will only be created before this time.
    Name string
    The name of the schedule rotation.
    Position int
    Position of the schedule rotation.
    ScheduleId string
    The ID of parent schedule.
    ScheduleRotationMembers List<ScheduleRotationScheduleRotationMember>
    Schedule rotation members. You can only add schedule rotation members if your account has schedule nesting feature enabled.
    ScheduleRotationableAttributes ScheduleRotationScheduleRotationableAttributes
    handofftime and/or handoffday may be required, depending on schedulerotationabletype. Please see API docs for options based on schedulerotationabletype: https://docs.rootly.com/api-reference/schedulerotations/creates-a-schedule-rotation#response-data-attributes-schedule-rotationable-attributes
    ScheduleRotationableType string
    Schedule rotation type. Value must be one of ScheduleDailyRotation, ScheduleWeeklyRotation, ScheduleBiweeklyRotation, ScheduleMonthlyRotation, ScheduleCustomRotation.
    StartTime string
    ISO8601 date and time when rotation starts. Shifts will only be created after this time.
    TimeZone string
    A valid IANA time zone name.
    ActiveAllWeek bool
    Schedule rotation active all week?
    ActiveDays []string
    Value must be one of S, M, T, W, R, F, U.
    ActiveTimeAttributes []ScheduleRotationActiveTimeAttributeArgs
    Schedule rotation's active times.
    ActiveTimeType string
    Value must be one of allDay, sameTime, or custom. The value chosen will override activeTimeAttributes in any rootly.ScheduleRotationActiveDay resources linked to this rootly.ScheduleRotation.
    EndTime string
    ISO8601 date and time when rotation ends. Shifts will only be created before this time.
    Name string
    The name of the schedule rotation.
    Position int
    Position of the schedule rotation.
    ScheduleId string
    The ID of parent schedule.
    ScheduleRotationMembers []ScheduleRotationScheduleRotationMemberArgs
    Schedule rotation members. You can only add schedule rotation members if your account has schedule nesting feature enabled.
    ScheduleRotationableAttributes ScheduleRotationScheduleRotationableAttributesArgs
    handofftime and/or handoffday may be required, depending on schedulerotationabletype. Please see API docs for options based on schedulerotationabletype: https://docs.rootly.com/api-reference/schedulerotations/creates-a-schedule-rotation#response-data-attributes-schedule-rotationable-attributes
    ScheduleRotationableType string
    Schedule rotation type. Value must be one of ScheduleDailyRotation, ScheduleWeeklyRotation, ScheduleBiweeklyRotation, ScheduleMonthlyRotation, ScheduleCustomRotation.
    StartTime string
    ISO8601 date and time when rotation starts. Shifts will only be created after this time.
    TimeZone string
    A valid IANA time zone name.
    active_all_week bool
    Schedule rotation active all week?
    active_days list(string)
    Value must be one of S, M, T, W, R, F, U.
    active_time_attributes list(object)
    Schedule rotation's active times.
    active_time_type string
    Value must be one of allDay, sameTime, or custom. The value chosen will override activeTimeAttributes in any rootly.ScheduleRotationActiveDay resources linked to this rootly.ScheduleRotation.
    end_time string
    ISO8601 date and time when rotation ends. Shifts will only be created before this time.
    name string
    The name of the schedule rotation.
    position number
    Position of the schedule rotation.
    schedule_id string
    The ID of parent schedule.
    schedule_rotation_members list(object)
    Schedule rotation members. You can only add schedule rotation members if your account has schedule nesting feature enabled.
    schedule_rotationable_attributes object
    handofftime and/or handoffday may be required, depending on schedulerotationabletype. Please see API docs for options based on schedulerotationabletype: https://docs.rootly.com/api-reference/schedulerotations/creates-a-schedule-rotation#response-data-attributes-schedule-rotationable-attributes
    schedule_rotationable_type string
    Schedule rotation type. Value must be one of ScheduleDailyRotation, ScheduleWeeklyRotation, ScheduleBiweeklyRotation, ScheduleMonthlyRotation, ScheduleCustomRotation.
    start_time string
    ISO8601 date and time when rotation starts. Shifts will only be created after this time.
    time_zone string
    A valid IANA time zone name.
    activeAllWeek Boolean
    Schedule rotation active all week?
    activeDays List<String>
    Value must be one of S, M, T, W, R, F, U.
    activeTimeAttributes List<ScheduleRotationActiveTimeAttribute>
    Schedule rotation's active times.
    activeTimeType String
    Value must be one of allDay, sameTime, or custom. The value chosen will override activeTimeAttributes in any rootly.ScheduleRotationActiveDay resources linked to this rootly.ScheduleRotation.
    endTime String
    ISO8601 date and time when rotation ends. Shifts will only be created before this time.
    name String
    The name of the schedule rotation.
    position Integer
    Position of the schedule rotation.
    scheduleId String
    The ID of parent schedule.
    scheduleRotationMembers List<ScheduleRotationScheduleRotationMember>
    Schedule rotation members. You can only add schedule rotation members if your account has schedule nesting feature enabled.
    scheduleRotationableAttributes ScheduleRotationScheduleRotationableAttributes
    handofftime and/or handoffday may be required, depending on schedulerotationabletype. Please see API docs for options based on schedulerotationabletype: https://docs.rootly.com/api-reference/schedulerotations/creates-a-schedule-rotation#response-data-attributes-schedule-rotationable-attributes
    scheduleRotationableType String
    Schedule rotation type. Value must be one of ScheduleDailyRotation, ScheduleWeeklyRotation, ScheduleBiweeklyRotation, ScheduleMonthlyRotation, ScheduleCustomRotation.
    startTime String
    ISO8601 date and time when rotation starts. Shifts will only be created after this time.
    timeZone String
    A valid IANA time zone name.
    activeAllWeek boolean
    Schedule rotation active all week?
    activeDays string[]
    Value must be one of S, M, T, W, R, F, U.
    activeTimeAttributes ScheduleRotationActiveTimeAttribute[]
    Schedule rotation's active times.
    activeTimeType string
    Value must be one of allDay, sameTime, or custom. The value chosen will override activeTimeAttributes in any rootly.ScheduleRotationActiveDay resources linked to this rootly.ScheduleRotation.
    endTime string
    ISO8601 date and time when rotation ends. Shifts will only be created before this time.
    name string
    The name of the schedule rotation.
    position number
    Position of the schedule rotation.
    scheduleId string
    The ID of parent schedule.
    scheduleRotationMembers ScheduleRotationScheduleRotationMember[]
    Schedule rotation members. You can only add schedule rotation members if your account has schedule nesting feature enabled.
    scheduleRotationableAttributes ScheduleRotationScheduleRotationableAttributes
    handofftime and/or handoffday may be required, depending on schedulerotationabletype. Please see API docs for options based on schedulerotationabletype: https://docs.rootly.com/api-reference/schedulerotations/creates-a-schedule-rotation#response-data-attributes-schedule-rotationable-attributes
    scheduleRotationableType string
    Schedule rotation type. Value must be one of ScheduleDailyRotation, ScheduleWeeklyRotation, ScheduleBiweeklyRotation, ScheduleMonthlyRotation, ScheduleCustomRotation.
    startTime string
    ISO8601 date and time when rotation starts. Shifts will only be created after this time.
    timeZone string
    A valid IANA time zone name.
    active_all_week bool
    Schedule rotation active all week?
    active_days Sequence[str]
    Value must be one of S, M, T, W, R, F, U.
    active_time_attributes Sequence[ScheduleRotationActiveTimeAttributeArgs]
    Schedule rotation's active times.
    active_time_type str
    Value must be one of allDay, sameTime, or custom. The value chosen will override activeTimeAttributes in any rootly.ScheduleRotationActiveDay resources linked to this rootly.ScheduleRotation.
    end_time str
    ISO8601 date and time when rotation ends. Shifts will only be created before this time.
    name str
    The name of the schedule rotation.
    position int
    Position of the schedule rotation.
    schedule_id str
    The ID of parent schedule.
    schedule_rotation_members Sequence[ScheduleRotationScheduleRotationMemberArgs]
    Schedule rotation members. You can only add schedule rotation members if your account has schedule nesting feature enabled.
    schedule_rotationable_attributes ScheduleRotationScheduleRotationableAttributesArgs
    handofftime and/or handoffday may be required, depending on schedulerotationabletype. Please see API docs for options based on schedulerotationabletype: https://docs.rootly.com/api-reference/schedulerotations/creates-a-schedule-rotation#response-data-attributes-schedule-rotationable-attributes
    schedule_rotationable_type str
    Schedule rotation type. Value must be one of ScheduleDailyRotation, ScheduleWeeklyRotation, ScheduleBiweeklyRotation, ScheduleMonthlyRotation, ScheduleCustomRotation.
    start_time str
    ISO8601 date and time when rotation starts. Shifts will only be created after this time.
    time_zone str
    A valid IANA time zone name.
    activeAllWeek Boolean
    Schedule rotation active all week?
    activeDays List<String>
    Value must be one of S, M, T, W, R, F, U.
    activeTimeAttributes List<Property Map>
    Schedule rotation's active times.
    activeTimeType String
    Value must be one of allDay, sameTime, or custom. The value chosen will override activeTimeAttributes in any rootly.ScheduleRotationActiveDay resources linked to this rootly.ScheduleRotation.
    endTime String
    ISO8601 date and time when rotation ends. Shifts will only be created before this time.
    name String
    The name of the schedule rotation.
    position Number
    Position of the schedule rotation.
    scheduleId String
    The ID of parent schedule.
    scheduleRotationMembers List<Property Map>
    Schedule rotation members. You can only add schedule rotation members if your account has schedule nesting feature enabled.
    scheduleRotationableAttributes Property Map
    handofftime and/or handoffday may be required, depending on schedulerotationabletype. Please see API docs for options based on schedulerotationabletype: https://docs.rootly.com/api-reference/schedulerotations/creates-a-schedule-rotation#response-data-attributes-schedule-rotationable-attributes
    scheduleRotationableType String
    Schedule rotation type. Value must be one of ScheduleDailyRotation, ScheduleWeeklyRotation, ScheduleBiweeklyRotation, ScheduleMonthlyRotation, ScheduleCustomRotation.
    startTime String
    ISO8601 date and time when rotation starts. Shifts will only be created after this time.
    timeZone String
    A valid IANA time zone name.

    Supporting Types

    ScheduleRotationActiveTimeAttribute, ScheduleRotationActiveTimeAttributeArgs

    EndTime string
    End time for schedule rotation active time.
    StartTime string
    Start time for schedule rotation active time.
    EndTime string
    End time for schedule rotation active time.
    StartTime string
    Start time for schedule rotation active time.
    end_time string
    End time for schedule rotation active time.
    start_time string
    Start time for schedule rotation active time.
    endTime String
    End time for schedule rotation active time.
    startTime String
    Start time for schedule rotation active time.
    endTime string
    End time for schedule rotation active time.
    startTime string
    Start time for schedule rotation active time.
    end_time str
    End time for schedule rotation active time.
    start_time str
    Start time for schedule rotation active time.
    endTime String
    End time for schedule rotation active time.
    startTime String
    Start time for schedule rotation active time.

    ScheduleRotationScheduleRotationMember, ScheduleRotationScheduleRotationMemberArgs

    MemberId string
    ID of the member.
    MemberType string
    Type of member. Value must be one of Schedule or User.
    Position int
    Position of the member in rotation
    MemberId string
    ID of the member.
    MemberType string
    Type of member. Value must be one of Schedule or User.
    Position int
    Position of the member in rotation
    member_id string
    ID of the member.
    member_type string
    Type of member. Value must be one of Schedule or User.
    position number
    Position of the member in rotation
    memberId String
    ID of the member.
    memberType String
    Type of member. Value must be one of Schedule or User.
    position Integer
    Position of the member in rotation
    memberId string
    ID of the member.
    memberType string
    Type of member. Value must be one of Schedule or User.
    position number
    Position of the member in rotation
    member_id str
    ID of the member.
    member_type str
    Type of member. Value must be one of Schedule or User.
    position int
    Position of the member in rotation
    memberId String
    ID of the member.
    memberType String
    Type of member. Value must be one of Schedule or User.
    position Number
    Position of the member in rotation

    ScheduleRotationScheduleRotationableAttributes, ScheduleRotationScheduleRotationableAttributesArgs

    HandoffTime string
    Hand off time. Only applicable for daily, weekly/biweekly, monthly, and custom rotations.
    HandoffDay string
    Hand off day. Only applicable for weekly/biweekly, and monthly.
    ShiftLength int
    Shift length for custom rotation.
    ShiftLengthUnit string
    Shift length unit for custom rotation. Value must be one of hours, days, weeks.
    HandoffTime string
    Hand off time. Only applicable for daily, weekly/biweekly, monthly, and custom rotations.
    HandoffDay string
    Hand off day. Only applicable for weekly/biweekly, and monthly.
    ShiftLength int
    Shift length for custom rotation.
    ShiftLengthUnit string
    Shift length unit for custom rotation. Value must be one of hours, days, weeks.
    handoff_time string
    Hand off time. Only applicable for daily, weekly/biweekly, monthly, and custom rotations.
    handoff_day string
    Hand off day. Only applicable for weekly/biweekly, and monthly.
    shift_length number
    Shift length for custom rotation.
    shift_length_unit string
    Shift length unit for custom rotation. Value must be one of hours, days, weeks.
    handoffTime String
    Hand off time. Only applicable for daily, weekly/biweekly, monthly, and custom rotations.
    handoffDay String
    Hand off day. Only applicable for weekly/biweekly, and monthly.
    shiftLength Integer
    Shift length for custom rotation.
    shiftLengthUnit String
    Shift length unit for custom rotation. Value must be one of hours, days, weeks.
    handoffTime string
    Hand off time. Only applicable for daily, weekly/biweekly, monthly, and custom rotations.
    handoffDay string
    Hand off day. Only applicable for weekly/biweekly, and monthly.
    shiftLength number
    Shift length for custom rotation.
    shiftLengthUnit string
    Shift length unit for custom rotation. Value must be one of hours, days, weeks.
    handoff_time str
    Hand off time. Only applicable for daily, weekly/biweekly, monthly, and custom rotations.
    handoff_day str
    Hand off day. Only applicable for weekly/biweekly, and monthly.
    shift_length int
    Shift length for custom rotation.
    shift_length_unit str
    Shift length unit for custom rotation. Value must be one of hours, days, weeks.
    handoffTime String
    Hand off time. Only applicable for daily, weekly/biweekly, monthly, and custom rotations.
    handoffDay String
    Hand off day. Only applicable for weekly/biweekly, and monthly.
    shiftLength Number
    Shift length for custom rotation.
    shiftLengthUnit String
    Shift length unit for custom rotation. Value must be one of hours, days, weeks.

    Import

    rootly.ScheduleRotation can be imported using the import command.

    $ pulumi import rootly:index/scheduleRotation:ScheduleRotation primary a816421c-6ceb-481a-87c4-585e47451f24
    

    Or using an import block.

    Locate the resource id in the web app, or retrieve it by listing resources through the API if it’s not visible in the web app.

    HCL can be generated from the import block using the -generate-config-out flag.

    pulumi preview -generate-config-out=generated.tf
    

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

    Package Details

    Repository
    rootly rootlyhq/pulumi-rootly
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the rootly Terraform Provider.
    rootly logo
    Viewing docs for Rootly v4.0.0
    published on Tuesday, Sep 15, 2026 by rootlyhq

      Try Pulumi Cloud free.
      Your team will thank you.

      Start free trial