AWS::SSMContacts::Contact
The AWS::SSMContacts::Contact
resource specifies a contact or escalation
plan. Incident Manager contacts are a subset of actions and data types that you
can use for managing responder engagement and interaction.
Syntax
To declare this entity in your AWS CloudFormation template, use the following syntax:
JSON
{ "Type" : "AWS::SSMContacts::Contact", "Properties" : { "Alias" :
String
, "DisplayName" :String
, "Plan" :[ Stage, ... ]
, "Type" :String
} }
YAML
Type: AWS::SSMContacts::Contact Properties: Alias:
String
DisplayName:String
Plan:- Stage
Type:String
Properties
Alias
-
The unique and identifiable alias of the contact or escalation plan.
Required: Yes
Type: String
Pattern:
^[a-z0-9_\-\.]*$
Minimum:
1
Maximum:
255
Update requires: Replacement
DisplayName
-
The full name of the contact or escalation plan.
Required: Yes
Type: String
Pattern:
^[a-zA-Z0-9_\-\s]*$
Minimum:
1
Maximum:
255
Update requires: No interruption
Plan
-
A list of stages. A contact has an engagement plan with stages that contact specified contact channels. An escalation plan uses stages that contact specified contacts.
Required: No
Type: Array of Stage
Update requires: No interruption
Type
-
The type of contact.
-
PERSONAL
: A single, individual contact. -
ESCALATION
: An escalation plan. -
ONCALL_SCHEDULE
: An on-call schedule.
Required: Yes
Type: String
Allowed values:
PERSONAL | ESCALATION | ONCALL_SCHEDULE
Update requires: Replacement
-
Return values
Ref
When you pass the logical ID of this resource to the intrinsic Ref
function, Ref
returns the ARN of the resource.
For more information about using the Ref
function, see Ref
.
Fn::GetAtt
The Fn::GetAtt
intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.
For more information about using the Fn::GetAtt
intrinsic function, see Fn::GetAtt
.
Arn
-
The Amazon Resource Name (ARN) of the
Contact
resource, such asarn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias
.
Examples
Create Incident Manager resources
The following example demonstrates the creation of not only contacts, but also a
contact channel, a contact plan, and on-call rotation schedules. We recommend
creating all Incident Manager
Contacts
resources using a single AWS CloudFormation
template.
JSON
{ "AWSTemplateFormatVersion": "2010-09-09", "Resources": { "MySSMContact": { "Type": "AWS::SSMContacts::Contact", "Properties": { "Alias": "my-ssm-contact", "DisplayName": "My_SSM_contact", "Type": "PERSONAL" } }, "MyEscalationPlan": { "Type": "AWS::SSMContacts::Contact", "Properties": { "Alias": "my-escalation-plan", "DisplayName": "My_escalation_plan", "Type": "ESCALATION" } }, "MyOncallScheduleContact": { "Type": "AWS::SSMContacts::Contact", "Properties": { "Alias": "my-oncall-schedule", "DisplayName": "My_on-call_schedule", "Type": "ONCALL_SCHEDULE" } }, "MyContactChannelEmail": { "Type": "AWS::SSMContacts::ContactChannel", "Properties": { "ContactId": {"Ref": "MySSMContact"}, "ChannelName": "MyEmailChannel", "ChannelType": "EMAIL", "ChannelAddress": "contact-email-channel@example.com" } }, "MySSMContactEngagementPlan": { "Type": "AWS::SSMContacts::Plan", "Properties": { "ContactId": {"Ref": "MySSMContact"}, "Stages": [ { "DurationInMinutes": 10, "Targets": [ { "ChannelTargetInfo": { "ChannelId": {"Ref": "MyContactChannelEmail"}, "RetryIntervalInMinutes": 3 } } ] } ] } }, "MySSMContactEscalationPlan": { "Type": "AWS::SSMContacts::Plan", "Properties": { "ContactId": {"Ref": "MyEscalationPlan"}, "Stages": [ { "DurationInMinutes": 0, "Targets": [ { "ContactTargetInfo": { "ContactId": {"Ref": "MySSMContact"}, "IsEssential": true } } ] } ] } }, "MyDailyRotation": { "Type": "AWS::SSMContacts::Rotation", "Properties": { "Name": "My_daily_rotation", "ContactIds": [ {"Ref": "MySSMContact"} ], "StartTime": "2025-03-03T20:20:39", "TimeZoneId": "America/Los_Angeles", "Recurrence": { "NumberOfOnCalls": 1, "RecurrenceMultiplier": 1, "DailySettings": ["13:00"] } } }, "MyWeeklyRotation": { "Type": "AWS::SSMContacts::Rotation", "Properties": { "Name": "My_weekly_rotation", "ContactIds": [ {"Ref": "MySSMContact"} ], "StartTime": "2025-03-03T20:20:39", "TimeZoneId": "America/Los_Angeles", "Recurrence": { "NumberOfOnCalls": 1, "RecurrenceMultiplier": 1, "WeeklySettings": [ { "DayOfWeek": "MON", "HandOffTime": "13:00" } ] } } }, "MyMonthlyRotation": { "Type": "AWS::SSMContacts::Rotation", "Properties": { "Name": "My_monthly_rotation", "ContactIds": [ {"Ref": "MySSMContact"} ], "StartTime": "2025-03-03T20:20:39", "TimeZoneId": "America/Los_Angeles", "Recurrence": { "ShiftCoverages": [ { "DayOfWeek": "MON", "CoverageTimes": [ { "StartTime": "10:00", "EndTime": "18:00" } ] } ], "NumberOfOnCalls": 1, "RecurrenceMultiplier": 1, "MonthlySettings": [ { "DayOfMonth": 10, "HandOffTime": "13:00" } ] } } } } }
YAML
AWSTemplateFormatVersion: '2010-09-09' Resources: MySSMContact: Type: 'AWS::SSMContacts::Contact' Properties: Alias: my-ssm-contact DisplayName: My_SSM_contact Type: PERSONAL MyEscalationPlan: Type: 'AWS::SSMContacts::Contact' Properties: Alias: my-escalation-plan DisplayName: My_escalation_plan Type: ESCALATION MyOncallScheduleContact: Type: 'AWS::SSMContacts::Contact' Properties: Alias: my-oncall-schedule DisplayName: My_on-call_schedule Type: ONCALL_SCHEDULE MyContactChannelEmail: Type: 'AWS::SSMContacts::ContactChannel' Properties: ContactId: Ref: MySSMContact ChannelName: MyEmailChannel ChannelType: EMAIL ChannelAddress: contact-email-channel@example.com MySSMContactEngagementPlan: Type: 'AWS::SSMContacts::Plan' Properties: ContactId: Ref: MySSMContact Stages: - DurationInMinutes: 10 Targets: - ChannelTargetInfo: ChannelId: Ref: MyContactChannelEmail RetryIntervalInMinutes: 3 MySSMContactEscalationPlan: Type: 'AWS::SSMContacts::Plan' Properties: ContactId: Ref: MyEscalationPlan Stages: - DurationInMinutes: 0 Targets: - ContactTargetInfo: ContactId: Ref: MySSMContact IsEssential: true MyDailyRotation: Type: 'AWS::SSMContacts::Rotation' Properties: Name: My_daily_rotation ContactIds: - Ref: MySSMContact StartTime: '2025-03-03T20:20:39' TimeZoneId: America/Los_Angeles Recurrence: NumberOfOnCalls: 1 RecurrenceMultiplier: 1 DailySettings: - '13:00' MyWeeklyRotation: Type: 'AWS::SSMContacts::Rotation' Properties: Name: My_weekly_rotation ContactIds: - Ref: MySSMContact StartTime: '2025-03-03T20:20:39' TimeZoneId: America/Los_Angeles Recurrence: NumberOfOnCalls: 1 RecurrenceMultiplier: 1 WeeklySettings: - DayOfWeek: MON HandOffTime: '13:00' MyMonthlyRotation: Type: 'AWS::SSMContacts::Rotation' Properties: Name: My_monthly_rotation ContactIds: - Ref: MySSMContact StartTime: '2025-03-03T20:20:39' TimeZoneId: America/Los_Angeles Recurrence: ShiftCoverages: - DayOfWeek: MON CoverageTimes: - StartTime: '10:00' EndTime: '18:00' NumberOfOnCalls: 1 RecurrenceMultiplier: 1 MonthlySettings: - DayOfMonth: 10 HandOffTime: '13:00'