Rotation
The Rotation resource lets you manage AWS SSMContacts Rotations which define a schedule for contacting on-call personnel.
Minimal Example
Section titled “Minimal Example”Create a basic rotation with the required properties and one optional tag.
import AWS from "alchemy/aws/control";
const basicRotation = await AWS.SSMContacts.Rotation("basicRotation", { Name: "WeeklyOnCall", Recurrence: { Frequency: "Weekly", Interval: 1, DayOfWeek: ["Monday"] }, TimeZoneId: "America/New_York", StartTime: "2023-10-01T09:00:00Z", ContactIds: ["contact-id-123"], Tags: [ { Key: "Environment", Value: "Production" } ]});
Advanced Configuration
Section titled “Advanced Configuration”Configure a rotation with additional recurrence settings and multiple contacts.
const advancedRotation = await AWS.SSMContacts.Rotation("advancedRotation", { Name: "24x7OnCall", Recurrence: { Frequency: "Daily", Interval: 1, TimeOfDay: "09:00:00" }, TimeZoneId: "UTC", StartTime: "2023-10-01T09:00:00Z", ContactIds: [ "contact-id-123", "contact-id-456" ], Tags: [ { Key: "Team", Value: "DevOps" }, { Key: "Service", Value: "API" } ]});
Customized Recurrence and Timezone
Section titled “Customized Recurrence and Timezone”Create a rotation that occurs bi-weekly in a specific timezone.
const biWeeklyRotation = await AWS.SSMContacts.Rotation("biWeeklyRotation", { Name: "BiWeeklyOnCall", Recurrence: { Frequency: "Weekly", Interval: 2, DayOfWeek: ["Wednesday"] }, TimeZoneId: "Europe/London", StartTime: "2023-10-01T11:00:00Z", ContactIds: ["contact-id-789"], Tags: [ { Key: "Region", Value: "Europe" } ]});
Adopting Existing Resources
Section titled “Adopting Existing Resources”Create a rotation that adopts an existing resource if it already exists.
const adoptRotation = await AWS.SSMContacts.Rotation("adoptRotation", { Name: "ExistingOnCall", Recurrence: { Frequency: "Daily", Interval: 1, TimeOfDay: "08:00:00" }, TimeZoneId: "Asia/Tokyo", StartTime: "2023-10-01T08:00:00Z", ContactIds: ["contact-id-101"], adopt: true // Adopt existing resource if it exists});