Contacts Rotation
Example Usage
Basic Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.ssm.ContactsRotation("example", {
contactIds: [exampleAwsSsmcontactsContact.arn],
name: "rotation",
recurrence: {
numberOfOnCalls: 1,
recurrenceMultiplier: 1,
dailySettings: [{
hourOfDay: 9,
minuteOfHour: 0,
}],
},
timeZoneId: "Australia/Sydney",
}, {
dependsOn: [exampleAwsSsmincidentsReplicationSet],
});Content copied to clipboard
import pulumi
import pulumi_aws as aws
example = aws.ssm.ContactsRotation("example",
contact_ids=[example_aws_ssmcontacts_contact["arn"]],
name="rotation",
recurrence=aws.ssm.ContactsRotationRecurrenceArgs(
number_of_on_calls=1,
recurrence_multiplier=1,
daily_settings=[aws.ssm.ContactsRotationRecurrenceDailySettingArgs(
hour_of_day=9,
minute_of_hour=0,
)],
),
time_zone_id="Australia/Sydney",
opts=pulumi.ResourceOptions(depends_on=[example_aws_ssmincidents_replication_set]))Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.Ssm.ContactsRotation("example", new()
{
ContactIds = new[]
{
exampleAwsSsmcontactsContact.Arn,
},
Name = "rotation",
Recurrence = new Aws.Ssm.Inputs.ContactsRotationRecurrenceArgs
{
NumberOfOnCalls = 1,
RecurrenceMultiplier = 1,
DailySettings = new[]
{
new Aws.Ssm.Inputs.ContactsRotationRecurrenceDailySettingArgs
{
HourOfDay = 9,
MinuteOfHour = 0,
},
},
},
TimeZoneId = "Australia/Sydney",
}, new CustomResourceOptions
{
DependsOn =
{
exampleAwsSsmincidentsReplicationSet,
},
});
});Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := ssm.NewContactsRotation(ctx, "example", &ssm.ContactsRotationArgs{
ContactIds: pulumi.StringArray{
exampleAwsSsmcontactsContact.Arn,
},
Name: pulumi.String("rotation"),
Recurrence: &ssm.ContactsRotationRecurrenceArgs{
NumberOfOnCalls: pulumi.Int(1),
RecurrenceMultiplier: pulumi.Int(1),
DailySettings: ssm.ContactsRotationRecurrenceDailySettingArray{
&ssm.ContactsRotationRecurrenceDailySettingArgs{
HourOfDay: pulumi.Int(9),
MinuteOfHour: pulumi.Int(0),
},
},
},
TimeZoneId: pulumi.String("Australia/Sydney"),
}, pulumi.DependsOn([]pulumi.Resource{
exampleAwsSsmincidentsReplicationSet,
}))
if err != nil {
return err
}
return nil
})
}Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ssm.ContactsRotation;
import com.pulumi.aws.ssm.ContactsRotationArgs;
import com.pulumi.aws.ssm.inputs.ContactsRotationRecurrenceArgs;
import com.pulumi.resources.CustomResourceOptions;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new ContactsRotation("example", ContactsRotationArgs.builder()
.contactIds(exampleAwsSsmcontactsContact.arn())
.name("rotation")
.recurrence(ContactsRotationRecurrenceArgs.builder()
.numberOfOnCalls(1)
.recurrenceMultiplier(1)
.dailySettings(ContactsRotationRecurrenceDailySettingArgs.builder()
.hourOfDay(9)
.minuteOfHour(0)
.build())
.build())
.timeZoneId("Australia/Sydney")
.build(), CustomResourceOptions.builder()
.dependsOn(exampleAwsSsmincidentsReplicationSet)
.build());
}
}Content copied to clipboard
resources:
example:
type: aws:ssm:ContactsRotation
properties:
contactIds:
- ${exampleAwsSsmcontactsContact.arn}
name: rotation
recurrence:
numberOfOnCalls: 1
recurrenceMultiplier: 1
dailySettings:
- hourOfDay: 9
minuteOfHour: 0
timeZoneId: Australia/Sydney
options:
dependson:
- ${exampleAwsSsmincidentsReplicationSet}Content copied to clipboard
Usage with Weekly Settings and Shift Coverages Fields
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.ssm.ContactsRotation("example", {
contactIds: [exampleAwsSsmcontactsContact.arn],
name: "rotation",
recurrence: {
numberOfOnCalls: 1,
recurrenceMultiplier: 1,
weeklySettings: [
{
dayOfWeek: "WED",
handOffTime: {
hourOfDay: 4,
minuteOfHour: 25,
},
},
{
dayOfWeek: "FRI",
handOffTime: {
hourOfDay: 15,
minuteOfHour: 57,
},
},
],
shiftCoverages: [{
mapBlockKey: "MON",
coverageTimes: [{
start: {
hourOfDay: 1,
minuteOfHour: 0,
},
end: {
hourOfDay: 23,
minuteOfHour: 0,
},
}],
}],
},
startTime: "2023-07-20T02:21:49+00:00",
timeZoneId: "Australia/Sydney",
tags: {
key1: "tag1",
key2: "tag2",
},
}, {
dependsOn: [exampleAwsSsmincidentsReplicationSet],
});Content copied to clipboard
import pulumi
import pulumi_aws as aws
example = aws.ssm.ContactsRotation("example",
contact_ids=[example_aws_ssmcontacts_contact["arn"]],
name="rotation",
recurrence=aws.ssm.ContactsRotationRecurrenceArgs(
number_of_on_calls=1,
recurrence_multiplier=1,
weekly_settings=[
aws.ssm.ContactsRotationRecurrenceWeeklySettingArgs(
day_of_week="WED",
hand_off_time=aws.ssm.ContactsRotationRecurrenceWeeklySettingHandOffTimeArgs(
hour_of_day=4,
minute_of_hour=25,
),
),
aws.ssm.ContactsRotationRecurrenceWeeklySettingArgs(
day_of_week="FRI",
hand_off_time=aws.ssm.ContactsRotationRecurrenceWeeklySettingHandOffTimeArgs(
hour_of_day=15,
minute_of_hour=57,
),
),
],
shift_coverages=[aws.ssm.ContactsRotationRecurrenceShiftCoverageArgs(
map_block_key="MON",
coverage_times=[aws.ssm.ContactsRotationRecurrenceShiftCoverageCoverageTimeArgs(
start=aws.ssm.ContactsRotationRecurrenceShiftCoverageCoverageTimeStartArgs(
hour_of_day=1,
minute_of_hour=0,
),
end=aws.ssm.ContactsRotationRecurrenceShiftCoverageCoverageTimeEndArgs(
hour_of_day=23,
minute_of_hour=0,
),
)],
)],
),
start_time="2023-07-20T02:21:49+00:00",
time_zone_id="Australia/Sydney",
tags={
"key1": "tag1",
"key2": "tag2",
},
opts=pulumi.ResourceOptions(depends_on=[example_aws_ssmincidents_replication_set]))Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.Ssm.ContactsRotation("example", new()
{
ContactIds = new[]
{
exampleAwsSsmcontactsContact.Arn,
},
Name = "rotation",
Recurrence = new Aws.Ssm.Inputs.ContactsRotationRecurrenceArgs
{
NumberOfOnCalls = 1,
RecurrenceMultiplier = 1,
WeeklySettings = new[]
{
new Aws.Ssm.Inputs.ContactsRotationRecurrenceWeeklySettingArgs
{
DayOfWeek = "WED",
HandOffTime = new Aws.Ssm.Inputs.ContactsRotationRecurrenceWeeklySettingHandOffTimeArgs
{
HourOfDay = 4,
MinuteOfHour = 25,
},
},
new Aws.Ssm.Inputs.ContactsRotationRecurrenceWeeklySettingArgs
{
DayOfWeek = "FRI",
HandOffTime = new Aws.Ssm.Inputs.ContactsRotationRecurrenceWeeklySettingHandOffTimeArgs
{
HourOfDay = 15,
MinuteOfHour = 57,
},
},
},
ShiftCoverages = new[]
{
new Aws.Ssm.Inputs.ContactsRotationRecurrenceShiftCoverageArgs
{
MapBlockKey = "MON",
CoverageTimes = new[]
{
new Aws.Ssm.Inputs.ContactsRotationRecurrenceShiftCoverageCoverageTimeArgs
{
Start = new Aws.Ssm.Inputs.ContactsRotationRecurrenceShiftCoverageCoverageTimeStartArgs
{
HourOfDay = 1,
MinuteOfHour = 0,
},
End = new Aws.Ssm.Inputs.ContactsRotationRecurrenceShiftCoverageCoverageTimeEndArgs
{
HourOfDay = 23,
MinuteOfHour = 0,
},
},
},
},
},
},
StartTime = "2023-07-20T02:21:49+00:00",
TimeZoneId = "Australia/Sydney",
Tags =
{
{ "key1", "tag1" },
{ "key2", "tag2" },
},
}, new CustomResourceOptions
{
DependsOn =
{
exampleAwsSsmincidentsReplicationSet,
},
});
});Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := ssm.NewContactsRotation(ctx, "example", &ssm.ContactsRotationArgs{
ContactIds: pulumi.StringArray{
exampleAwsSsmcontactsContact.Arn,
},
Name: pulumi.String("rotation"),
Recurrence: &ssm.ContactsRotationRecurrenceArgs{
NumberOfOnCalls: pulumi.Int(1),
RecurrenceMultiplier: pulumi.Int(1),
WeeklySettings: ssm.ContactsRotationRecurrenceWeeklySettingArray{
&ssm.ContactsRotationRecurrenceWeeklySettingArgs{
DayOfWeek: pulumi.String("WED"),
HandOffTime: &ssm.ContactsRotationRecurrenceWeeklySettingHandOffTimeArgs{
HourOfDay: pulumi.Int(4),
MinuteOfHour: pulumi.Int(25),
},
},
&ssm.ContactsRotationRecurrenceWeeklySettingArgs{
DayOfWeek: pulumi.String("FRI"),
HandOffTime: &ssm.ContactsRotationRecurrenceWeeklySettingHandOffTimeArgs{
HourOfDay: pulumi.Int(15),
MinuteOfHour: pulumi.Int(57),
},
},
},
ShiftCoverages: ssm.ContactsRotationRecurrenceShiftCoverageArray{
&ssm.ContactsRotationRecurrenceShiftCoverageArgs{
MapBlockKey: pulumi.String("MON"),
CoverageTimes: ssm.ContactsRotationRecurrenceShiftCoverageCoverageTimeArray{
&ssm.ContactsRotationRecurrenceShiftCoverageCoverageTimeArgs{
Start: &ssm.ContactsRotationRecurrenceShiftCoverageCoverageTimeStartArgs{
HourOfDay: pulumi.Int(1),
MinuteOfHour: pulumi.Int(0),
},
End: &ssm.ContactsRotationRecurrenceShiftCoverageCoverageTimeEndArgs{
HourOfDay: pulumi.Int(23),
MinuteOfHour: pulumi.Int(0),
},
},
},
},
},
},
StartTime: pulumi.String("2023-07-20T02:21:49+00:00"),
TimeZoneId: pulumi.String("Australia/Sydney"),
Tags: pulumi.StringMap{
"key1": pulumi.String("tag1"),
"key2": pulumi.String("tag2"),
},
}, pulumi.DependsOn([]pulumi.Resource{
exampleAwsSsmincidentsReplicationSet,
}))
if err != nil {
return err
}
return nil
})
}Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ssm.ContactsRotation;
import com.pulumi.aws.ssm.ContactsRotationArgs;
import com.pulumi.aws.ssm.inputs.ContactsRotationRecurrenceArgs;
import com.pulumi.resources.CustomResourceOptions;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new ContactsRotation("example", ContactsRotationArgs.builder()
.contactIds(exampleAwsSsmcontactsContact.arn())
.name("rotation")
.recurrence(ContactsRotationRecurrenceArgs.builder()
.numberOfOnCalls(1)
.recurrenceMultiplier(1)
.weeklySettings(
ContactsRotationRecurrenceWeeklySettingArgs.builder()
.dayOfWeek("WED")
.handOffTime(ContactsRotationRecurrenceWeeklySettingHandOffTimeArgs.builder()
.hourOfDay(4)
.minuteOfHour(25)
.build())
.build(),
ContactsRotationRecurrenceWeeklySettingArgs.builder()
.dayOfWeek("FRI")
.handOffTime(ContactsRotationRecurrenceWeeklySettingHandOffTimeArgs.builder()
.hourOfDay(15)
.minuteOfHour(57)
.build())
.build())
.shiftCoverages(ContactsRotationRecurrenceShiftCoverageArgs.builder()
.mapBlockKey("MON")
.coverageTimes(ContactsRotationRecurrenceShiftCoverageCoverageTimeArgs.builder()
.start(ContactsRotationRecurrenceShiftCoverageCoverageTimeStartArgs.builder()
.hourOfDay(1)
.minuteOfHour(0)
.build())
.end(ContactsRotationRecurrenceShiftCoverageCoverageTimeEndArgs.builder()
.hourOfDay(23)
.minuteOfHour(0)
.build())
.build())
.build())
.build())
.startTime("2023-07-20T02:21:49+00:00")
.timeZoneId("Australia/Sydney")
.tags(Map.ofEntries(
Map.entry("key1", "tag1"),
Map.entry("key2", "tag2")
))
.build(), CustomResourceOptions.builder()
.dependsOn(exampleAwsSsmincidentsReplicationSet)
.build());
}
}Content copied to clipboard
resources:
example:
type: aws:ssm:ContactsRotation
properties:
contactIds:
- ${exampleAwsSsmcontactsContact.arn}
name: rotation
recurrence:
numberOfOnCalls: 1
recurrenceMultiplier: 1
weeklySettings:
- dayOfWeek: WED
handOffTime:
hourOfDay: 4
minuteOfHour: 25
- dayOfWeek: FRI
handOffTime:
hourOfDay: 15
minuteOfHour: 57
shiftCoverages:
- mapBlockKey: MON
coverageTimes:
- start:
hourOfDay: 1
minuteOfHour: 0
end:
hourOfDay: 23
minuteOfHour: 0
startTime: 2023-07-20T02:21:49+00:00
timeZoneId: Australia/Sydney
tags:
key1: tag1
key2: tag2
options:
dependson:
- ${exampleAwsSsmincidentsReplicationSet}Content copied to clipboard
Usage with Monthly Settings Fields
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.ssm.ContactsRotation("example", {
contactIds: [exampleAwsSsmcontactsContact.arn],
name: "rotation",
recurrence: {
numberOfOnCalls: 1,
recurrenceMultiplier: 1,
monthlySettings: [
{
dayOfMonth: 20,
handOffTime: {
hourOfDay: 8,
minuteOfHour: 0,
},
},
{
dayOfMonth: 13,
handOffTime: {
hourOfDay: 12,
minuteOfHour: 34,
},
},
],
},
timeZoneId: "Australia/Sydney",
}, {
dependsOn: [exampleAwsSsmincidentsReplicationSet],
});Content copied to clipboard
import pulumi
import pulumi_aws as aws
example = aws.ssm.ContactsRotation("example",
contact_ids=[example_aws_ssmcontacts_contact["arn"]],
name="rotation",
recurrence=aws.ssm.ContactsRotationRecurrenceArgs(
number_of_on_calls=1,
recurrence_multiplier=1,
monthly_settings=[
aws.ssm.ContactsRotationRecurrenceMonthlySettingArgs(
day_of_month=20,
hand_off_time=aws.ssm.ContactsRotationRecurrenceMonthlySettingHandOffTimeArgs(
hour_of_day=8,
minute_of_hour=0,
),
),
aws.ssm.ContactsRotationRecurrenceMonthlySettingArgs(
day_of_month=13,
hand_off_time=aws.ssm.ContactsRotationRecurrenceMonthlySettingHandOffTimeArgs(
hour_of_day=12,
minute_of_hour=34,
),
),
],
),
time_zone_id="Australia/Sydney",
opts=pulumi.ResourceOptions(depends_on=[example_aws_ssmincidents_replication_set]))Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.Ssm.ContactsRotation("example", new()
{
ContactIds = new[]
{
exampleAwsSsmcontactsContact.Arn,
},
Name = "rotation",
Recurrence = new Aws.Ssm.Inputs.ContactsRotationRecurrenceArgs
{
NumberOfOnCalls = 1,
RecurrenceMultiplier = 1,
MonthlySettings = new[]
{
new Aws.Ssm.Inputs.ContactsRotationRecurrenceMonthlySettingArgs
{
DayOfMonth = 20,
HandOffTime = new Aws.Ssm.Inputs.ContactsRotationRecurrenceMonthlySettingHandOffTimeArgs
{
HourOfDay = 8,
MinuteOfHour = 0,
},
},
new Aws.Ssm.Inputs.ContactsRotationRecurrenceMonthlySettingArgs
{
DayOfMonth = 13,
HandOffTime = new Aws.Ssm.Inputs.ContactsRotationRecurrenceMonthlySettingHandOffTimeArgs
{
HourOfDay = 12,
MinuteOfHour = 34,
},
},
},
},
TimeZoneId = "Australia/Sydney",
}, new CustomResourceOptions
{
DependsOn =
{
exampleAwsSsmincidentsReplicationSet,
},
});
});Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := ssm.NewContactsRotation(ctx, "example", &ssm.ContactsRotationArgs{
ContactIds: pulumi.StringArray{
exampleAwsSsmcontactsContact.Arn,
},
Name: pulumi.String("rotation"),
Recurrence: &ssm.ContactsRotationRecurrenceArgs{
NumberOfOnCalls: pulumi.Int(1),
RecurrenceMultiplier: pulumi.Int(1),
MonthlySettings: ssm.ContactsRotationRecurrenceMonthlySettingArray{
&ssm.ContactsRotationRecurrenceMonthlySettingArgs{
DayOfMonth: pulumi.Int(20),
HandOffTime: &ssm.ContactsRotationRecurrenceMonthlySettingHandOffTimeArgs{
HourOfDay: pulumi.Int(8),
MinuteOfHour: pulumi.Int(0),
},
},
&ssm.ContactsRotationRecurrenceMonthlySettingArgs{
DayOfMonth: pulumi.Int(13),
HandOffTime: &ssm.ContactsRotationRecurrenceMonthlySettingHandOffTimeArgs{
HourOfDay: pulumi.Int(12),
MinuteOfHour: pulumi.Int(34),
},
},
},
},
TimeZoneId: pulumi.String("Australia/Sydney"),
}, pulumi.DependsOn([]pulumi.Resource{
exampleAwsSsmincidentsReplicationSet,
}))
if err != nil {
return err
}
return nil
})
}Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ssm.ContactsRotation;
import com.pulumi.aws.ssm.ContactsRotationArgs;
import com.pulumi.aws.ssm.inputs.ContactsRotationRecurrenceArgs;
import com.pulumi.resources.CustomResourceOptions;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new ContactsRotation("example", ContactsRotationArgs.builder()
.contactIds(exampleAwsSsmcontactsContact.arn())
.name("rotation")
.recurrence(ContactsRotationRecurrenceArgs.builder()
.numberOfOnCalls(1)
.recurrenceMultiplier(1)
.monthlySettings(
ContactsRotationRecurrenceMonthlySettingArgs.builder()
.dayOfMonth(20)
.handOffTime(ContactsRotationRecurrenceMonthlySettingHandOffTimeArgs.builder()
.hourOfDay(8)
.minuteOfHour(0)
.build())
.build(),
ContactsRotationRecurrenceMonthlySettingArgs.builder()
.dayOfMonth(13)
.handOffTime(ContactsRotationRecurrenceMonthlySettingHandOffTimeArgs.builder()
.hourOfDay(12)
.minuteOfHour(34)
.build())
.build())
.build())
.timeZoneId("Australia/Sydney")
.build(), CustomResourceOptions.builder()
.dependsOn(exampleAwsSsmincidentsReplicationSet)
.build());
}
}Content copied to clipboard
resources:
example:
type: aws:ssm:ContactsRotation
properties:
contactIds:
- ${exampleAwsSsmcontactsContact.arn}
name: rotation
recurrence:
numberOfOnCalls: 1
recurrenceMultiplier: 1
monthlySettings:
- dayOfMonth: 20
handOffTime:
hourOfDay: 8
minuteOfHour: 0
- dayOfMonth: 13
handOffTime:
hourOfDay: 12
minuteOfHour: 34
timeZoneId: Australia/Sydney
options:
dependson:
- ${exampleAwsSsmincidentsReplicationSet}Content copied to clipboard
Import
Using pulumi import, import CodeGuru Profiler Profiling Group using the arn. For example:
$ pulumi import aws:ssm/contactsRotation:ContactsRotation example arn:aws:ssm-contacts:us-east-1:012345678910:rotation/exampleContent copied to clipboard