SDK for PHP 3.x

Client: Aws\SSMContacts\SSMContactsClient
Service ID: ssm-contacts
Version: 2021-05-03

This page describes the parameters and results for the operations of the AWS Systems Manager Incident Manager Contacts (2021-05-03), and shows how to use the Aws\SSMContacts\SSMContactsClient object to call the described operations. This documentation is specific to the 2021-05-03 API version of the service.

Operation Summary

Each of the following operations can be created from a client using $client->getCommand('CommandName'), where "CommandName" is the name of one of the following operations. Note: a command is a value that encapsulates an operation and the parameters used to create an HTTP request.

You can also create and send a command immediately using the magic methods available on a client object: $client->commandName(/* parameters */). You can send the command asynchronously (returning a promise) by appending the word "Async" to the operation name: $client->commandNameAsync(/* parameters */).

AcceptPage ( array $params = [] )
Used to acknowledge an engagement to a contact channel during an incident.
ActivateContactChannel ( array $params = [] )
Activates a contact's contact channel.
CreateContact ( array $params = [] )
Contacts are either the contacts that Incident Manager engages during an incident or the escalation plans that Incident Manager uses to engage contacts in phases during an incident.
CreateContactChannel ( array $params = [] )
A contact channel is the method that Incident Manager uses to engage your contact.
CreateRotation ( array $params = [] )
Creates a rotation in an on-call schedule.
CreateRotationOverride ( array $params = [] )
Creates an override for a rotation in an on-call schedule.
DeactivateContactChannel ( array $params = [] )
To no longer receive Incident Manager engagements to a contact channel, you can deactivate the channel.
DeleteContact ( array $params = [] )
To remove a contact from Incident Manager, you can delete the contact.
DeleteContactChannel ( array $params = [] )
To no longer receive engagements on a contact channel, you can delete the channel from a contact.
DeleteRotation ( array $params = [] )
Deletes a rotation from the system.
DeleteRotationOverride ( array $params = [] )
Deletes an existing override for an on-call rotation.
DescribeEngagement ( array $params = [] )
Incident Manager uses engagements to engage contacts and escalation plans during an incident.
DescribePage ( array $params = [] )
Lists details of the engagement to a contact channel.
GetContact ( array $params = [] )
Retrieves information about the specified contact or escalation plan.
GetContactChannel ( array $params = [] )
List details about a specific contact channel.
GetContactPolicy ( array $params = [] )
Retrieves the resource policies attached to the specified contact or escalation plan.
GetRotation ( array $params = [] )
Retrieves information about an on-call rotation.
GetRotationOverride ( array $params = [] )
Retrieves information about an override to an on-call rotation.
ListContactChannels ( array $params = [] )
Lists all contact channels for the specified contact.
ListContacts ( array $params = [] )
Lists all contacts and escalation plans in Incident Manager.
ListEngagements ( array $params = [] )
Lists all engagements that have happened in an incident.
ListPageReceipts ( array $params = [] )
Lists all of the engagements to contact channels that have been acknowledged.
ListPageResolutions ( array $params = [] )
Returns the resolution path of an engagement.
ListPagesByContact ( array $params = [] )
Lists the engagements to a contact's contact channels.
ListPagesByEngagement ( array $params = [] )
Lists the engagements to contact channels that occurred by engaging a contact.
ListPreviewRotationShifts ( array $params = [] )
Returns a list of shifts based on rotation configuration parameters.
ListRotationOverrides ( array $params = [] )
Retrieves a list of overrides currently specified for an on-call rotation.
ListRotationShifts ( array $params = [] )
Returns a list of shifts generated by an existing rotation in the system.
ListRotations ( array $params = [] )
Retrieves a list of on-call rotations.
ListTagsForResource ( array $params = [] )
Lists the tags of an escalation plan or contact.
PutContactPolicy ( array $params = [] )
Adds a resource policy to the specified contact or escalation plan.
SendActivationCode ( array $params = [] )
Sends an activation code to a contact channel.
StartEngagement ( array $params = [] )
Starts an engagement to a contact or escalation plan.
StopEngagement ( array $params = [] )
Stops an engagement before it finishes the final stage of the escalation plan or engagement plan.
TagResource ( array $params = [] )
Tags a contact or escalation plan.
UntagResource ( array $params = [] )
Removes tags from the specified resource.
UpdateContact ( array $params = [] )
Updates the contact or escalation plan specified.
UpdateContactChannel ( array $params = [] )
Updates a contact's contact channel.
UpdateRotation ( array $params = [] )
Updates the information specified for an on-call rotation.

Paginators

Paginators handle automatically iterating over paginated API results. Paginators are associated with specific API operations, and they accept the parameters that the corresponding API operation accepts. You can get a paginator from a client class using getPaginator($paginatorName, $operationParameters). This client supports the following paginators:

ListContactChannels
ListContacts
ListEngagements
ListPageReceipts
ListPageResolutions
ListPagesByContact
ListPagesByEngagement
ListPreviewRotationShifts
ListRotationOverrides
ListRotationShifts
ListRotations

Operations

AcceptPage

$result = $client->acceptPage([/* ... */]);
$promise = $client->acceptPageAsync([/* ... */]);

Used to acknowledge an engagement to a contact channel during an incident.

Parameter Syntax

$result = $client->acceptPage([
    'AcceptCode' => '<string>', // REQUIRED
    'AcceptCodeValidation' => 'IGNORE|ENFORCE',
    'AcceptType' => 'DELIVERED|READ', // REQUIRED
    'ContactChannelId' => '<string>',
    'Note' => '<string>',
    'PageId' => '<string>', // REQUIRED
]);

Parameter Details

Members
AcceptCode
Required: Yes
Type: string

A 6-digit code used to acknowledge the page.

AcceptCodeValidation
Type: string

An optional field that Incident Manager uses to ENFORCE AcceptCode validation when acknowledging an page. Acknowledgement can occur by replying to a page, or when entering the AcceptCode in the console. Enforcing AcceptCode validation causes Incident Manager to verify that the code entered by the user matches the code sent by Incident Manager with the page.

Incident Manager can also IGNORE AcceptCode validation. Ignoring AcceptCode validation causes Incident Manager to accept any value entered for the AcceptCode.

AcceptType
Required: Yes
Type: string

The type indicates if the page was DELIVERED or READ.

ContactChannelId
Type: string

The ARN of the contact channel.

Note
Type: string

Information provided by the user when the user acknowledges the page.

PageId
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the engagement to a contact channel.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

AccessDeniedException:

You don't have sufficient access to perform this operation.

InternalServerException:

Unexpected error occurred while processing the request.

ResourceNotFoundException:

Request references a resource that doesn't exist.

ThrottlingException:

The request was denied due to request throttling.

ValidationException:

The input fails to satisfy the constraints specified by an Amazon Web Services service.

Examples

Example 1: To accept a page during and engagement

The following accept-page operation uses an accept code sent to the contact channel to accept a page.

$result = $client->acceptPage([
    'AcceptCode' => '425440',
    'AcceptType' => 'READ',
    'PageId' => 'arn:aws:ssm-contacts:us-east-2:682428703967:page/akuam/94ea0c7b-56d9-46c3-b84a-a37c8b067ad3',
]);

Result syntax:

[
]

ActivateContactChannel

$result = $client->activateContactChannel([/* ... */]);
$promise = $client->activateContactChannelAsync([/* ... */]);

Activates a contact's contact channel. Incident Manager can't engage a contact until the contact channel has been activated.

Parameter Syntax

$result = $client->activateContactChannel([
    'ActivationCode' => '<string>', // REQUIRED
    'ContactChannelId' => '<string>', // REQUIRED
]);

Parameter Details

Members
ActivationCode
Required: Yes
Type: string

The code sent to the contact channel when it was created in the contact.

ContactChannelId
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the contact channel.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

AccessDeniedException:

You don't have sufficient access to perform this operation.

InternalServerException:

Unexpected error occurred while processing the request.

ResourceNotFoundException:

Request references a resource that doesn't exist.

ThrottlingException:

The request was denied due to request throttling.

ValidationException:

The input fails to satisfy the constraints specified by an Amazon Web Services service.

Examples

Example 1: Activate a contact's contact channel

The following activate-contact-channel example activates a contact channel and makes it usable as part of an incident.

$result = $client->activateContactChannel([
    'ActivationCode' => '466136',
    'ContactChannelId' => 'arn:aws:ssm-contacts:us-east-2:111122223333:contact-channel/akuam/fc7405c4-46b2-48b7-87b2-93e2f225b90d',
]);

Result syntax:

[
]

CreateContact

$result = $client->createContact([/* ... */]);
$promise = $client->createContactAsync([/* ... */]);

Contacts are either the contacts that Incident Manager engages during an incident or the escalation plans that Incident Manager uses to engage contacts in phases during an incident.

Parameter Syntax

$result = $client->createContact([
    'Alias' => '<string>', // REQUIRED
    'DisplayName' => '<string>',
    'IdempotencyToken' => '<string>',
    'Plan' => [ // REQUIRED
        'RotationIds' => ['<string>', ...],
        'Stages' => [
            [
                'DurationInMinutes' => <integer>, // REQUIRED
                'Targets' => [ // REQUIRED
                    [
                        'ChannelTargetInfo' => [
                            'ContactChannelId' => '<string>', // REQUIRED
                            'RetryIntervalInMinutes' => <integer>,
                        ],
                        'ContactTargetInfo' => [
                            'ContactId' => '<string>',
                            'IsEssential' => true || false, // REQUIRED
                        ],
                    ],
                    // ...
                ],
            ],
            // ...
        ],
    ],
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
    'Type' => 'PERSONAL|ESCALATION|ONCALL_SCHEDULE', // REQUIRED
]);

Parameter Details

Members
Alias
Required: Yes
Type: string

The short name to quickly identify a contact or escalation plan. The contact alias must be unique and identifiable.

DisplayName
Type: string

The full name of the contact or escalation plan.

IdempotencyToken
Type: string

A token ensuring that the operation is called only once with the specified details.

Plan
Required: Yes
Type: Plan structure

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.

Tags
Type: Array of Tag structures

Adds a tag to the target. You can only tag resources created in the first Region of your replication set.

Type
Required: Yes
Type: string

To create an escalation plan use ESCALATION. To create a contact use PERSONAL.

Result Syntax

[
    'ContactArn' => '<string>',
]

Result Details

Members
ContactArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the created contact or escalation plan.

Errors

AccessDeniedException:

You don't have sufficient access to perform this operation.

ConflictException:

Updating or deleting a resource causes an inconsistent state.

InternalServerException:

Unexpected error occurred while processing the request.

ServiceQuotaExceededException:

Request would cause a service quota to be exceeded.

ThrottlingException:

The request was denied due to request throttling.

ValidationException:

The input fails to satisfy the constraints specified by an Amazon Web Services service.

DataEncryptionException:

The operation failed to due an encryption key error.

Examples

Example 1: To create a contact

The following create-contact example creates a contact in your environment with a blank plan. The plan can be updated after creating contact channels. Use the create-contact-channel operation with the output ARN of this command. After you have created contact channels for this contact use update-contact to update the plan.

$result = $client->createContact([
    'Alias' => 'akuam',
    'DisplayName' => 'Akua Mansa',
    'Plan' => [
        'Stages' => [
        ],
    ],
    'Type' => 'PERSONAL',
]);

Result syntax:

[
    'ContactArn' => 'arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam',
]

CreateContactChannel

$result = $client->createContactChannel([/* ... */]);
$promise = $client->createContactChannelAsync([/* ... */]);

A contact channel is the method that Incident Manager uses to engage your contact.

Parameter Syntax

$result = $client->createContactChannel([
    'ContactId' => '<string>', // REQUIRED
    'DeferActivation' => true || false,
    'DeliveryAddress' => [ // REQUIRED
        'SimpleAddress' => '<string>',
    ],
    'IdempotencyToken' => '<string>',
    'Name' => '<string>', // REQUIRED
    'Type' => 'SMS|VOICE|EMAIL', // REQUIRED
]);

Parameter Details

Members
ContactId
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the contact you are adding the contact channel to.

DeferActivation
Type: boolean

If you want to activate the channel at a later time, you can choose to defer activation. Incident Manager can't engage your contact channel until it has been activated.

DeliveryAddress
Required: Yes
Type: ContactChannelAddress structure

The details that Incident Manager uses when trying to engage the contact channel. The format is dependent on the type of the contact channel. The following are the expected formats:

  • SMS - '+' followed by the country code and phone number

  • VOICE - '+' followed by the country code and phone number

  • EMAIL - any standard email format

IdempotencyToken
Type: string

A token ensuring that the operation is called only once with the specified details.

Name
Required: Yes
Type: string

The name of the contact channel.

Type
Required: Yes
Type: string

Incident Manager supports three types of contact channels:

  • SMS

  • VOICE

  • EMAIL

Result Syntax

[
    'ContactChannelArn' => '<string>',
]

Result Details

Members
ContactChannelArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the contact channel.

Errors

AccessDeniedException:

You don't have sufficient access to perform this operation.

ConflictException:

Updating or deleting a resource causes an inconsistent state.

DataEncryptionException:

The operation failed to due an encryption key error.

InternalServerException:

Unexpected error occurred while processing the request.

ThrottlingException:

The request was denied due to request throttling.

ValidationException:

The input fails to satisfy the constraints specified by an Amazon Web Services service.

Examples

Example 1: To create a contact channel

Creates a contact channel of type SMS for the contact Akua Mansa. Contact channels can be created of type SMS, EMAIL, or VOICE.

$result = $client->createContactChannel([
    'ContactId' => 'arn:aws:ssm-contacts:us-east-1:111122223333:contact/akuam',
    'DeliveryAddress' => [
        'SimpleAddress' => '+15005550199',
    ],
    'Name' => 'akuas sms-test',
    'Type' => 'SMS',
]);

Result syntax:

[
    'ContactChannelArn' => 'arn:aws:ssm-contacts:us-east-1:111122223333:contact-channel/akuam/02f506b9-ea5d-4764-af89-2daa793ff024',
]

CreateRotation

$result = $client->createRotation([/* ... */]);
$promise = $client->createRotationAsync([/* ... */]);

Creates a rotation in an on-call schedule.

Parameter Syntax

$result = $client->createRotation([
    'ContactIds' => ['<string>', ...], // REQUIRED
    'IdempotencyToken' => '<string>',
    'Name' => '<string>', // REQUIRED
    'Recurrence' => [ // REQUIRED
        'DailySettings' => [
            [
                'HourOfDay' => <integer>, // REQUIRED
                'MinuteOfHour' => <integer>, // REQUIRED
            ],
            // ...
        ],
        'MonthlySettings' => [
            [
                'DayOfMonth' => <integer>, // REQUIRED
                'HandOffTime' => [ // REQUIRED
                    'HourOfDay' => <integer>, // REQUIRED
                    'MinuteOfHour' => <integer>, // REQUIRED
                ],
            ],
            // ...
        ],
        'NumberOfOnCalls' => <integer>, // REQUIRED
        'RecurrenceMultiplier' => <integer>, // REQUIRED
        'ShiftCoverages' => [
            '<DayOfWeek>' => [
                [
                    'End' => [
                        'HourOfDay' => <integer>, // REQUIRED
                        'MinuteOfHour' => <integer>, // REQUIRED
                    ],
                    'Start' => [
                        'HourOfDay' => <integer>, // REQUIRED
                        'MinuteOfHour' => <integer>, // REQUIRED
                    ],
                ],
                // ...
            ],
            // ...
        ],
        'WeeklySettings' => [
            [
                'DayOfWeek' => 'MON|TUE|WED|THU|FRI|SAT|SUN', // REQUIRED
                'HandOffTime' => [ // REQUIRED
                    'HourOfDay' => <integer>, // REQUIRED
                    'MinuteOfHour' => <integer>, // REQUIRED
                ],
            ],
            // ...
        ],
    ],
    'StartTime' => <integer || string || DateTime>,
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
    'TimeZoneId' => '<string>', // REQUIRED
]);

Parameter Details

Members
ContactIds
Required: Yes
Type: Array of strings

The Amazon Resource Names (ARNs) of the contacts to add to the rotation.

The order that you list the contacts in is their shift order in the rotation schedule. To change the order of the contact's shifts, use the UpdateRotation operation.

IdempotencyToken
Type: string

A token that ensures that the operation is called only once with the specified details.

Name
Required: Yes
Type: string

The name of the rotation.

Recurrence
Required: Yes
Type: RecurrenceSettings structure

Information about the rule that specifies when a shift's team members rotate.

StartTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time that the rotation goes into effect.

Tags
Type: Array of Tag structures

Optional metadata to assign to the rotation. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For more information, see Tagging Incident Manager resources in the Incident Manager User Guide.

TimeZoneId
Required: Yes
Type: string

The time zone to base the rotation’s activity on in Internet Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles", "UTC", or "Asia/Seoul". For more information, see the Time Zone Database on the IANA website.

Designators for time zones that don’t support Daylight Savings Time rules, such as Pacific Standard Time (PST) and Pacific Daylight Time (PDT), are not supported.

Result Syntax

[
    'RotationArn' => '<string>',
]

Result Details

Members
RotationArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the created rotation.

Errors

AccessDeniedException:

You don't have sufficient access to perform this operation.

InternalServerException:

Unexpected error occurred while processing the request.

ResourceNotFoundException:

Request references a resource that doesn't exist.

ServiceQuotaExceededException:

Request would cause a service quota to be exceeded.

ThrottlingException:

The request was denied due to request throttling.

ValidationException:

The input fails to satisfy the constraints specified by an Amazon Web Services service.

CreateRotationOverride

$result = $client->createRotationOverride([/* ... */]);
$promise = $client->createRotationOverrideAsync([/* ... */]);

Creates an override for a rotation in an on-call schedule.

Parameter Syntax

$result = $client->createRotationOverride([
    'EndTime' => <integer || string || DateTime>, // REQUIRED
    'IdempotencyToken' => '<string>',
    'NewContactIds' => ['<string>', ...], // REQUIRED
    'RotationId' => '<string>', // REQUIRED
    'StartTime' => <integer || string || DateTime>, // REQUIRED
]);

Parameter Details

Members
EndTime
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time when the override ends.

IdempotencyToken
Type: string

A token that ensures that the operation is called only once with the specified details.

NewContactIds
Required: Yes
Type: Array of strings

The Amazon Resource Names (ARNs) of the contacts to replace those in the current on-call rotation with.

If you want to include any current team members in the override shift, you must include their ARNs in the new contact ID list.

RotationId
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the rotation to create an override for.

StartTime
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time when the override goes into effect.

Result Syntax

[
    'RotationOverrideId' => '<string>',
]

Result Details

Members
RotationOverrideId
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the created rotation override.

Errors

AccessDeniedException:

You don't have sufficient access to perform this operation.

InternalServerException:

Unexpected error occurred while processing the request.

ResourceNotFoundException:

Request references a resource that doesn't exist.

ServiceQuotaExceededException:

Request would cause a service quota to be exceeded.

ThrottlingException:

The request was denied due to request throttling.

ValidationException:

The input fails to satisfy the constraints specified by an Amazon Web Services service.

DeactivateContactChannel

$result = $client->deactivateContactChannel([/* ... */]);
$promise = $client->deactivateContactChannelAsync([/* ... */]);

To no longer receive Incident Manager engagements to a contact channel, you can deactivate the channel.

Parameter Syntax

$result = $client->deactivateContactChannel([
    'ContactChannelId' => '<string>', // REQUIRED
]);

Parameter Details

Members
ContactChannelId
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the contact channel you're deactivating.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

AccessDeniedException:

You don't have sufficient access to perform this operation.

InternalServerException:

Unexpected error occurred while processing the request.

ResourceNotFoundException:

Request references a resource that doesn't exist.

ThrottlingException:

The request was denied due to request throttling.

ValidationException:

The input fails to satisfy the constraints specified by an Amazon Web Services service.

Examples

Example 1: To deactivate a contact channel

The following ``deactivate-contact-channel`` example deactivates a contact channel. Deactivating a contact channel means the contact channel will no longer be paged during an incident. You can also reactivate a contact channel at any time using the activate-contact-channel operation.

$result = $client->deactivateContactChannel([
    'ContactChannelId' => 'arn:aws:ssm-contacts:us-east-2:111122223333:contact-channel/akuam/fc7405c4-46b2-48b7-87b2-93e2f225b90d',
]);

Result syntax:

[
]

DeleteContact

$result = $client->deleteContact([/* ... */]);
$promise = $client->deleteContactAsync([/* ... */]);

To remove a contact from Incident Manager, you can delete the contact. Deleting a contact removes them from all escalation plans and related response plans. Deleting an escalation plan removes it from all related response plans. You will have to recreate the contact and its contact channels before you can use it again.

Parameter Syntax

$result = $client->deleteContact([
    'ContactId' => '<string>', // REQUIRED
]);

Parameter Details

Members
ContactId
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the contact that you're deleting.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

AccessDeniedException:

You don't have sufficient access to perform this operation.

InternalServerException:

Unexpected error occurred while processing the request.

ResourceNotFoundException:

Request references a resource that doesn't exist.

ThrottlingException:

The request was denied due to request throttling.

ConflictException:

Updating or deleting a resource causes an inconsistent state.

ValidationException:

The input fails to satisfy the constraints specified by an Amazon Web Services service.

Examples

Example 1: To delete a contact

The following delete-contact example deletes a contact. The contact will no longer be reachable from any escalation plan that refers to them.

$result = $client->deleteContact([
    'ContactId' => 'arn:aws:ssm-contacts:us-east-1:111122223333:contact/alejr',
]);

Result syntax:

[
]

DeleteContactChannel

$result = $client->deleteContactChannel([/* ... */]);
$promise = $client->deleteContactChannelAsync([/* ... */]);

To no longer receive engagements on a contact channel, you can delete the channel from a contact. Deleting the contact channel removes it from the contact's engagement plan. If you delete the only contact channel for a contact, you won't be able to engage that contact during an incident.

Parameter Syntax

$result = $client->deleteContactChannel([
    'ContactChannelId' => '<string>', // REQUIRED
]);

Parameter Details

Members
ContactChannelId
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the contact channel.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

AccessDeniedException:

You don't have sufficient access to perform this operation.

InternalServerException:

Unexpected error occurred while processing the request.

ResourceNotFoundException:

Request references a resource that doesn't exist.

ThrottlingException:

The request was denied due to request throttling.

ValidationException:

The input fails to satisfy the constraints specified by an Amazon Web Services service.

Examples

Example 1: To delete a contact channel

The following delete-contact-channel example deletes a contact channel. Deleting a contact channel ensures the contact channel will not be paged during an incident.

$result = $client->deleteContactChannel([
    'ContactChannelId' => 'arn:aws:ssm-contacts:us-east-1:111122223333:contact-channel/akuam/13149bad-52ee-45ea-ae1e-45857f78f9b2',
]);

Result syntax:

[
]

DeleteRotation

$result = $client->deleteRotation([/* ... */]);
$promise = $client->deleteRotationAsync([/* ... */]);

Deletes a rotation from the system. If a rotation belongs to more than one on-call schedule, this operation deletes it from all of them.

Parameter Syntax

$result = $client->deleteRotation([
    'RotationId' => '<string>', // REQUIRED
]);

Parameter Details

Members
RotationId
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the on-call rotation to delete.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

AccessDeniedException:

You don't have sufficient access to perform this operation.

ConflictException:

Updating or deleting a resource causes an inconsistent state.

InternalServerException:

Unexpected error occurred while processing the request.

ResourceNotFoundException:

Request references a resource that doesn't exist.

ThrottlingException:

The request was denied due to request throttling.

ValidationException:

The input fails to satisfy the constraints specified by an Amazon Web Services service.

DeleteRotationOverride

$result = $client->deleteRotationOverride([/* ... */]);
$promise = $client->deleteRotationOverrideAsync([/* ... */]);

Deletes an existing override for an on-call rotation.

Parameter Syntax

$result = $client->deleteRotationOverride([
    'RotationId' => '<string>', // REQUIRED
    'RotationOverrideId' => '<string>', // REQUIRED
]);

Parameter Details

Members
RotationId
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the rotation that was overridden.

RotationOverrideId
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the on-call rotation override to delete.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

AccessDeniedException:

You don't have sufficient access to perform this operation.

InternalServerException:

Unexpected error occurred while processing the request.

ResourceNotFoundException:

Request references a resource that doesn't exist.

ThrottlingException:

The request was denied due to request throttling.

ValidationException:

The input fails to satisfy the constraints specified by an Amazon Web Services service.

DescribeEngagement

$result = $client->describeEngagement([/* ... */]);
$promise = $client->describeEngagementAsync([/* ... */]);

Incident Manager uses engagements to engage contacts and escalation plans during an incident. Use this command to describe the engagement that occurred during an incident.

Parameter Syntax

$result = $client->describeEngagement([
    'EngagementId' => '<string>', // REQUIRED
]);

Parameter Details

Members
EngagementId
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the engagement you want the details of.

Result Syntax

[
    'ContactArn' => '<string>',
    'Content' => '<string>',
    'EngagementArn' => '<string>',
    'IncidentId' => '<string>',
    'PublicContent' => '<string>',
    'PublicSubject' => '<string>',
    'Sender' => '<string>',
    'StartTime' => <DateTime>,
    'StopTime' => <DateTime>,
    'Subject' => '<string>',
]

Result Details

Members
ContactArn
Required: Yes
Type: string

The ARN of the escalation plan or contacts involved in the engagement.

Content
Required: Yes
Type: string

The secure content of the message that was sent to the contact. Use this field for engagements to VOICE and EMAIL.

EngagementArn
Required: Yes
Type: string

The ARN of the engagement.

IncidentId
Type: string

The ARN of the incident in which the engagement occurred.

PublicContent
Type: string

The insecure content of the message that was sent to the contact. Use this field for engagements to SMS.

PublicSubject
Type: string

The insecure subject of the message that was sent to the contact. Use this field for engagements to SMS.

Sender
Required: Yes
Type: string

The user that started the engagement.

StartTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time that the engagement started.

StopTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time that the engagement ended.

Subject
Required: Yes
Type: string

The secure subject of the message that was sent to the contact. Use this field for engagements to VOICE and EMAIL.

Errors

AccessDeniedException:

You don't have sufficient access to perform this operation.

DataEncryptionException:

The operation failed to due an encryption key error.

InternalServerException:

Unexpected error occurred while processing the request.

ResourceNotFoundException:

Request references a resource that doesn't exist.

ThrottlingException:

The request was denied due to request throttling.

ValidationException:

The input fails to satisfy the constraints specified by an Amazon Web Services service.

Examples

Example 1: To describe the details of an engagement

The following describe-engagement example lists the details of an engagement to a contact or escalation plan. The subject and content are sent to the contact channels.

$result = $client->describeEngagement([
    'EngagementId' => 'arn:aws:ssm-contacts:us-east-2:111122223333:engagement/example_escalation/69e40ce1-8dbb-4d57-8962-5fbe7fc53356',
]);

Result syntax:

[
    'ContactArn' => 'arn:aws:ssm-contacts:us-east-2:111122223333:contact/example_escalation',
    'Content' => 'Testing engagements',
    'EngagementArn' => 'arn:aws:ssm-contacts:us-east-2:111122223333:engagement/example_escalation/69e40ce1-8dbb-4d57-8962-5fbe7fc53356',
    'PublicContent' => 'Testing engagements',
    'PublicSubject' => 'test',
    'Sender' => 'tester',
    'StartTime' => ,
    'Subject' => 'test',
]

DescribePage

$result = $client->describePage([/* ... */]);
$promise = $client->describePageAsync([/* ... */]);

Lists details of the engagement to a contact channel.

Parameter Syntax

$result = $client->describePage([
    'PageId' => '<string>', // REQUIRED
]);

Parameter Details

Members
PageId
Required: Yes
Type: string

The ID of the engagement to a contact channel.

Result Syntax

[
    'ContactArn' => '<string>',
    'Content' => '<string>',
    'DeliveryTime' => <DateTime>,
    'EngagementArn' => '<string>',
    'IncidentId' => '<string>',
    'PageArn' => '<string>',
    'PublicContent' => '<string>',
    'PublicSubject' => '<string>',
    'ReadTime' => <DateTime>,
    'Sender' => '<string>',
    'SentTime' => <DateTime>,
    'Subject' => '<string>',
]

Result Details

Members
ContactArn
Required: Yes
Type: string

The ARN of the contact that was engaged.

Content
Required: Yes
Type: string

The secure content of the message that was sent to the contact. Use this field for engagements to VOICE and EMAIL.

DeliveryTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time that the contact channel received the engagement.

EngagementArn
Required: Yes
Type: string

The ARN of the engagement that engaged the contact channel.

IncidentId
Type: string

The ARN of the incident that engaged the contact channel.

PageArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the engagement to a contact channel.

PublicContent
Type: string

The insecure content of the message that was sent to the contact. Use this field for engagements to SMS.

PublicSubject
Type: string

The insecure subject of the message that was sent to the contact. Use this field for engagements to SMS.

ReadTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time that the contact channel acknowledged the engagement.

Sender
Required: Yes
Type: string

The user that started the engagement.

SentTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time the engagement was sent to the contact channel.

Subject
Required: Yes
Type: string

The secure subject of the message that was sent to the contact. Use this field for engagements to VOICE and EMAIL.

Errors

AccessDeniedException:

You don't have sufficient access to perform this operation.

DataEncryptionException:

The operation failed to due an encryption key error.

InternalServerException:

Unexpected error occurred while processing the request.

ResourceNotFoundException:

Request references a resource that doesn't exist.

ThrottlingException:

The request was denied due to request throttling.

ValidationException:

The input fails to satisfy the constraints specified by an Amazon Web Services service.

Examples

Example 1: To list the details of a page to a contact channel

The following describe-page example lists details of a page to a contact channel. The page will include the subject and content provided.

$result = $client->describePage([
    'PageId' => 'arn:aws:ssm-contacts:us-east-2:111122223333:page/akuam/ad0052bd-e606-498a-861b-25726292eb93',
]);

Result syntax:

[
    'ContactArn' => 'arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam',
    'Content' => 'Testing engagements',
    'DeliveryTime' => ,
    'EngagementArn' => 'arn:aws:ssm-contacts:us-east-2:111122223333:engagement/akuam/78a29753-3674-4ac5-9f83-0468563567f0',
    'PageArn' => 'arn:aws:ssm-contacts:us-east-2:111122223333:page/akuam/ad0052bd-e606-498a-861b-25726292eb93',
    'PublicContent' => 'Testing engagements',
    'PublicSubject' => 'test',
    'ReadTime' => ,
    'Sender' => 'tester',
    'SentTime' => ,
    'Subject' => 'test',
]

GetContact

$result = $client->getContact([/* ... */]);
$promise = $client->getContactAsync([/* ... */]);

Retrieves information about the specified contact or escalation plan.

Parameter Syntax

$result = $client->getContact([
    'ContactId' => '<string>', // REQUIRED
]);

Parameter Details

Members
ContactId
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the contact or escalation plan.

Result Syntax

[
    'Alias' => '<string>',
    'ContactArn' => '<string>',
    'DisplayName' => '<string>',
    'Plan' => [
        'RotationIds' => ['<string>', ...],
        'Stages' => [
            [
                'DurationInMinutes' => <integer>,
                'Targets' => [
                    [
                        'ChannelTargetInfo' => [
                            'ContactChannelId' => '<string>',
                            'RetryIntervalInMinutes' => <integer>,
                        ],
                        'ContactTargetInfo' => [
                            'ContactId' => '<string>',
                            'IsEssential' => true || false,
                        ],
                    ],
                    // ...
                ],
            ],
            // ...
        ],
    ],
    'Type' => 'PERSONAL|ESCALATION|ONCALL_SCHEDULE',
]

Result Details

Members
Alias
Required: Yes
Type: string

The alias of the contact or escalation plan. The alias is unique and identifiable.

ContactArn
Required: Yes
Type: string

The ARN of the contact or escalation plan.

DisplayName
Type: string

The full name of the contact or escalation plan.

Plan
Required: Yes
Type: Plan structure

Details about the specific timing or stages and targets of the escalation plan or engagement plan.

Type
Required: Yes
Type: string

The type of contact, either PERSONAL or ESCALATION.

Errors

AccessDeniedException:

You don't have sufficient access to perform this operation.

InternalServerException:

Unexpected error occurred while processing the request.

ResourceNotFoundException:

Request references a resource that doesn't exist.

ThrottlingException:

The request was denied due to request throttling.

ValidationException:

The input fails to satisfy the constraints specified by an Amazon Web Services service.

DataEncryptionException:

The operation failed to due an encryption key error.

Examples

Example 1: Example 1: To describe a contact plan

The following get-contact example describes a contact.

$result = $client->getContact([
    'ContactId' => 'arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam',
]);

Result syntax:

[
    'Alias' => 'akuam',
    'ContactArn' => 'arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam',
    'DisplayName' => 'Akua Mansa',
    'Plan' => [
        'Stages' => [
            [
                'DurationInMinutes' => 5,
                'Targets' => [
                    [
                        'ChannelTargetInfo' => [
                            'ContactChannelId' => 'arn:aws:ssm-contacts:us-east-2:111122223333:contact-channel/akuam/beb25840-5ac8-4644-95cc-7a8de390fa65',
                            'RetryIntervalInMinutes' => 1,
                        ],
                    ],
                ],
            ],
            [
                'DurationInMinutes' => 5,
                'Targets' => [
                    [
                        'ChannelTargetInfo' => [
                            'ContactChannelId' => 'arn:aws:ssm-contacts:us-east-2:111122223333:contact-channel/akuam/49f3c24d-5f9f-4638-ae25-3f49e04229ad',
                            'RetryIntervalInMinutes' => 1,
                        ],
                    ],
                ],
            ],
            [
                'DurationInMinutes' => 5,
                'Targets' => [
                    [
                        'ChannelTargetInfo' => [
                            'ContactChannelId' => 'arn:aws:ssm-contacts:us-east-2:111122223333:contact-channel/akuam/77d4f447-f619-4954-afff-85551e369c2a',
                            'RetryIntervalInMinutes' => 1,
                        ],
                    ],
                ],
            ],
        ],
    ],
    'Type' => 'PERSONAL',
]
Example 2: Example 2: To describe an escalation plan

The following get-contact example describes an escalation plan.

$result = $client->getContact([
    'ContactId' => 'arn:aws:ssm-contacts:us-east-2:111122223333:contact/example_escalation',
]);

Result syntax:

[
    'Alias' => 'example_escalation',
    'ContactArn' => 'arn:aws:ssm-contacts:us-east-2:111122223333:contact/example_escalation',
    'DisplayName' => 'Example Escalation Plan',
    'Plan' => [
        'Stages' => [
            [
                'DurationInMinutes' => 5,
                'Targets' => [
                    [
                        'ContactTargetInfo' => [
                            'ContactId' => 'arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam',
                            'IsEssential' => 1,
                        ],
                    ],
                ],
            ],
            [
                'DurationInMinutes' => 5,
                'Targets' => [
                    [
                        'ContactTargetInfo' => [
                            'ContactId' => 'arn:aws:ssm-contacts:us-east-2:111122223333:contact/alejr',
                            'IsEssential' => ,
                        ],
                    ],
                ],
            ],
            [
                'DurationInMinutes' => 0,
                'Targets' => [
                    [
                        'ContactTargetInfo' => [
                            'ContactId' => 'arn:aws:ssm-contacts:us-east-2:111122223333:contact/anasi',
                            'IsEssential' => ,
                        ],
                    ],
                ],
            ],
        ],
    ],
    'Type' => 'ESCALATION',
]

GetContactChannel

$result = $client->getContactChannel([/* ... */]);
$promise = $client->getContactChannelAsync([/* ... */]);

List details about a specific contact channel.

Parameter Syntax

$result = $client->getContactChannel([
    'ContactChannelId' => '<string>', // REQUIRED
]);

Parameter Details

Members
ContactChannelId
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the contact channel you want information about.

Result Syntax

[
    'ActivationStatus' => 'ACTIVATED|NOT_ACTIVATED',
    'ContactArn' => '<string>',
    'ContactChannelArn' => '<string>',
    'DeliveryAddress' => [
        'SimpleAddress' => '<string>',
    ],
    'Name' => '<string>',
    'Type' => 'SMS|VOICE|EMAIL',
]

Result Details

Members
ActivationStatus
Type: string

A Boolean value indicating if the contact channel has been activated or not.

ContactArn
Required: Yes
Type: string

The ARN of the contact that the channel belongs to.

ContactChannelArn
Required: Yes
Type: string

The ARN of the contact channel.

DeliveryAddress
Required: Yes
Type: ContactChannelAddress structure

The details that Incident Manager uses when trying to engage the contact channel.

Name
Required: Yes
Type: string

The name of the contact channel

Type
Required: Yes
Type: string

The type of contact channel. The type is SMS, VOICE, or EMAIL.

Errors

AccessDeniedException:

You don't have sufficient access to perform this operation.

DataEncryptionException:

The operation failed to due an encryption key error.

InternalServerException:

Unexpected error occurred while processing the request.

ResourceNotFoundException:

Request references a resource that doesn't exist.

ThrottlingException:

The request was denied due to request throttling.

ValidationException:

The input fails to satisfy the constraints specified by an Amazon Web Services service.

Examples

Example 1: To list the details of a contact channel

The following get-contact-channel example lists the details of a contact channel.

$result = $client->getContactChannel([
    'ContactChannelId' => 'arn:aws:ssm-contacts:us-east-2:111122223333:contact-channel/akuam/fc7405c4-46b2-48b7-87b2-93e2f225b90d',
]);

Result syntax:

[
    'ActivationStatus' => 'ACTIVATED',
    'ContactArn' => 'arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam',
    'ContactChannelArn' => 'arn:aws:ssm-contacts:us-east-2:111122223333:contact-channel/akuam/fc7405c4-46b2-48b7-87b2-93e2f225b90d',
    'DeliveryAddress' => [
        'SimpleAddress' => '+15005550199',
    ],
    'Name' => 'akuas sms',
    'Type' => 'SMS',
]

GetContactPolicy

$result = $client->getContactPolicy([/* ... */]);
$promise = $client->getContactPolicyAsync([/* ... */]);

Retrieves the resource policies attached to the specified contact or escalation plan.

Parameter Syntax

$result = $client->getContactPolicy([
    'ContactArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
ContactArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the contact or escalation plan.

Result Syntax

[
    'ContactArn' => '<string>',
    'Policy' => '<string>',
]

Result Details

Members
ContactArn
Type: string

The ARN of the contact or escalation plan.

Policy
Type: string

Details about the resource policy attached to the contact or escalation plan.

Errors

AccessDeniedException:

You don't have sufficient access to perform this operation.

InternalServerException:

Unexpected error occurred while processing the request.

ResourceNotFoundException:

Request references a resource that doesn't exist.

ThrottlingException:

The request was denied due to request throttling.

ValidationException:

The input fails to satisfy the constraints specified by an Amazon Web Services service.

Examples

Example 1: To list the resource policies of a contact

The following get-contact-policy example lists the resource policies associated with the specified contact.

$result = $client->getContactPolicy([
    'ContactArn' => 'arn:aws:ssm-contacts:us-east-1:111122223333:contact/akuam',
]);

Result syntax:

[
    'ContactArn' => 'arn:aws:ssm-contacts:us-east-1:111122223333:contact/akuam',
    'Policy' => '{"Version":"2012-10-17","Statement":[{"Sid":"SharePolicyForDocumentationDralia","Effect":"Allow","Principal":{"AWS":"222233334444"},"Action":["ssm-contacts:GetContact","ssm-contacts:StartEngagement","ssm-contacts:DescribeEngagement","ssm-contacts:ListPagesByEngagement","ssm-contacts:StopEngagement"],"Resource":["arn:aws:ssm-contacts:*:111122223333:contact/akuam","arn:aws:ssm-contacts:*:111122223333:engagement/akuam/*"]}]}',
]

GetRotation

$result = $client->getRotation([/* ... */]);
$promise = $client->getRotationAsync([/* ... */]);

Retrieves information about an on-call rotation.

Parameter Syntax

$result = $client->getRotation([
    'RotationId' => '<string>', // REQUIRED
]);

Parameter Details

Members
RotationId
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the on-call rotation to retrieve information about.

Result Syntax

[
    'ContactIds' => ['<string>', ...],
    'Name' => '<string>',
    'Recurrence' => [
        'DailySettings' => [
            [
                'HourOfDay' => <integer>,
                'MinuteOfHour' => <integer>,
            ],
            // ...
        ],
        'MonthlySettings' => [
            [
                'DayOfMonth' => <integer>,
                'HandOffTime' => [
                    'HourOfDay' => <integer>,
                    'MinuteOfHour' => <integer>,
                ],
            ],
            // ...
        ],
        'NumberOfOnCalls' => <integer>,
        'RecurrenceMultiplier' => <integer>,
        'ShiftCoverages' => [
            '<DayOfWeek>' => [
                [
                    'End' => [
                        'HourOfDay' => <integer>,
                        'MinuteOfHour' => <integer>,
                    ],
                    'Start' => [
                        'HourOfDay' => <integer>,
                        'MinuteOfHour' => <integer>,
                    ],
                ],
                // ...
            ],
            // ...
        ],
        'WeeklySettings' => [
            [
                'DayOfWeek' => 'MON|TUE|WED|THU|FRI|SAT|SUN',
                'HandOffTime' => [
                    'HourOfDay' => <integer>,
                    'MinuteOfHour' => <integer>,
                ],
            ],
            // ...
        ],
    ],
    'RotationArn' => '<string>',
    'StartTime' => <DateTime>,
    'TimeZoneId' => '<string>',
]

Result Details

Members
ContactIds
Required: Yes
Type: Array of strings

The Amazon Resource Names (ARNs) of the contacts assigned to the on-call rotation team.

Name
Required: Yes
Type: string

The name of the on-call rotation.

Recurrence
Required: Yes
Type: RecurrenceSettings structure

Specifies how long a rotation lasts before restarting at the beginning of the shift order.

RotationArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the on-call rotation.

StartTime
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The specified start time for the on-call rotation.

TimeZoneId
Required: Yes
Type: string

The time zone that the rotation’s activity is based on, in Internet Assigned Numbers Authority (IANA) format.

Errors

AccessDeniedException:

You don't have sufficient access to perform this operation.

InternalServerException:

Unexpected error occurred while processing the request.

ResourceNotFoundException:

Request references a resource that doesn't exist.

ThrottlingException:

The request was denied due to request throttling.

ValidationException:

The input fails to satisfy the constraints specified by an Amazon Web Services service.

GetRotationOverride

$result = $client->getRotationOverride([/* ... */]);
$promise = $client->getRotationOverrideAsync([/* ... */]);

Retrieves information about an override to an on-call rotation.

Parameter Syntax

$result = $client->getRotationOverride([
    'RotationId' => '<string>', // REQUIRED
    'RotationOverrideId' => '<string>', // REQUIRED
]);

Parameter Details

Members
RotationId
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the overridden rotation to retrieve information about.

RotationOverrideId
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the on-call rotation override to retrieve information about.

Result Syntax

[
    'CreateTime' => <DateTime>,
    'EndTime' => <DateTime>,
    'NewContactIds' => ['<string>', ...],
    'RotationArn' => '<string>',
    'RotationOverrideId' => '<string>',
    'StartTime' => <DateTime>,
]

Result Details

Members
CreateTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time when the override was created.

EndTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time when the override ends.

NewContactIds
Type: Array of strings

The Amazon Resource Names (ARNs) of the contacts assigned to the override of the on-call rotation.

RotationArn
Type: string

The Amazon Resource Name (ARN) of the on-call rotation that was overridden.

RotationOverrideId
Type: string

The Amazon Resource Name (ARN) of the override to an on-call rotation.

StartTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time when the override goes into effect.

Errors

AccessDeniedException:

You don't have sufficient access to perform this operation.

InternalServerException:

Unexpected error occurred while processing the request.

ResourceNotFoundException:

Request references a resource that doesn't exist.

ThrottlingException:

The request was denied due to request throttling.

ValidationException:

The input fails to satisfy the constraints specified by an Amazon Web Services service.

ListContactChannels

$result = $client->listContactChannels([/* ... */]);
$promise = $client->listContactChannelsAsync([/* ... */]);

Lists all contact channels for the specified contact.

Parameter Syntax

$result = $client->listContactChannels([
    'ContactId' => '<string>', // REQUIRED
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
ContactId
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the contact.

MaxResults
Type: int

The maximum number of contact channels per page.

NextToken
Type: string

The pagination token to continue to the next page of results.

Result Syntax

[
    'ContactChannels' => [
        [
            'ActivationStatus' => 'ACTIVATED|NOT_ACTIVATED',
            'ContactArn' => '<string>',
            'ContactChannelArn' => '<string>',
            'DeliveryAddress' => [
                'SimpleAddress' => '<string>',
            ],
            'Name' => '<string>',
            'Type' => 'SMS|VOICE|EMAIL',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
ContactChannels
Required: Yes
Type: Array of ContactChannel structures

A list of contact channels related to the specified contact.

NextToken
Type: string

The pagination token to continue to the next page of results.

Errors

AccessDeniedException:

You don't have sufficient access to perform this operation.

DataEncryptionException:

The operation failed to due an encryption key error.

InternalServerException:

Unexpected error occurred while processing the request.

ResourceNotFoundException:

Request references a resource that doesn't exist.

ThrottlingException:

The request was denied due to request throttling.

ValidationException:

The input fails to satisfy the constraints specified by an Amazon Web Services service.

Examples

Example 1: To list the contact channels of a contact

The following list-contact-channels example lists the available contact channels of the specified contact.

$result = $client->listContactChannels([
    'ContactId' => 'arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam',
]);

Result syntax:

[
    'ContactChannels' => [
        [
            'ActivationStatus' => 'ACTIVATED',
            'ContactArn' => 'arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam',
            'ContactChannelArn' => 'arn:aws:ssm-contacts:us-east-2:111122223333:contact-channel/akuam/fc7405c4-46b2-48b7-87b2-93e2f225b90d',
            'DeliveryAddress' => [
                'SimpleAddress' => '+15005550100',
            ],
            'Name' => 'akuas sms',
            'Type' => 'SMS',
        ],
    ],
]

ListContacts

$result = $client->listContacts([/* ... */]);
$promise = $client->listContactsAsync([/* ... */]);

Lists all contacts and escalation plans in Incident Manager.

Parameter Syntax

$result = $client->listContacts([
    'AliasPrefix' => '<string>',
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'Type' => 'PERSONAL|ESCALATION|ONCALL_SCHEDULE',
]);

Parameter Details

Members
AliasPrefix
Type: string

Used to list only contacts who's aliases start with the specified prefix.

MaxResults
Type: int

The maximum number of contacts and escalation plans per page of results.

NextToken
Type: string

The pagination token to continue to the next page of results.

Type
Type: string

The type of contact. A contact is type PERSONAL and an escalation plan is type ESCALATION.

Result Syntax

[
    'Contacts' => [
        [
            'Alias' => '<string>',
            'ContactArn' => '<string>',
            'DisplayName' => '<string>',
            'Type' => 'PERSONAL|ESCALATION|ONCALL_SCHEDULE',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
Contacts
Type: Array of Contact structures

A list of the contacts and escalation plans in your Incident Manager account.

NextToken
Type: string

The pagination token to continue to the next page of results.

Errors

AccessDeniedException:

You don't have sufficient access to perform this operation.

InternalServerException:

Unexpected error occurred while processing the request.

ThrottlingException:

The request was denied due to request throttling.

ValidationException:

The input fails to satisfy the constraints specified by an Amazon Web Services service.

Examples

Example 1: To list all escalation plans and contacts

The following list-contacts example lists the contacts and escalation plans in your account.

$result = $client->listContacts([
]);

Result syntax:

[
    'Contacts' => [
        [
            'Alias' => 'akuam',
            'ContactArn' => 'arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam',
            'DisplayName' => 'Akua Mansa',
            'Type' => 'PERSONAL',
        ],
        [
            'Alias' => 'alejr',
            'ContactArn' => 'arn:aws:ssm-contacts:us-east-2:111122223333:contact/alejr',
            'DisplayName' => 'Alejandro Rosalez',
            'Type' => 'PERSONAL',
        ],
        [
            'Alias' => 'anasi',
            'ContactArn' => 'arn:aws:ssm-contacts:us-east-2:111122223333:contact/anasi',
            'DisplayName' => 'Ana Carolina Silva',
            'Type' => 'PERSONAL',
        ],
        [
            'Alias' => 'example_escalation',
            'ContactArn' => 'arn:aws:ssm-contacts:us-east-2:111122223333:contact/example_escalation',
            'DisplayName' => 'Example Escalation',
            'Type' => 'ESCALATION',
        ],
    ],
]

ListEngagements

$result = $client->listEngagements([/* ... */]);
$promise = $client->listEngagementsAsync([/* ... */]);

Lists all engagements that have happened in an incident.

Parameter Syntax

$result = $client->listEngagements([
    'IncidentId' => '<string>',
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'TimeRangeValue' => [
        'EndTime' => <integer || string || DateTime>,
        'StartTime' => <integer || string || DateTime>,
    ],
]);

Parameter Details

Members
IncidentId
Type: string

The Amazon Resource Name (ARN) of the incident you're listing engagements for.

MaxResults
Type: int

The maximum number of engagements per page of results.

NextToken
Type: string

The pagination token to continue to the next page of results.

TimeRangeValue
Type: TimeRange structure

The time range to lists engagements for an incident.

Result Syntax

[
    'Engagements' => [
        [
            'ContactArn' => '<string>',
            'EngagementArn' => '<string>',
            'IncidentId' => '<string>',
            'Sender' => '<string>',
            'StartTime' => <DateTime>,
            'StopTime' => <DateTime>,
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
Engagements
Required: Yes
Type: Array of Engagement structures

A list of each engagement that occurred during the specified time range of an incident.

NextToken
Type: string

The pagination token to continue to the next page of results.

Errors

AccessDeniedException:

You don't have sufficient access to perform this operation.

InternalServerException:

Unexpected error occurred while processing the request.

ThrottlingException:

The request was denied due to request throttling.

ValidationException:

The input fails to satisfy the constraints specified by an Amazon Web Services service.

Examples

Example 1: To list all engagements

The following list-engagements example lists engagements to escalation plans and contacts. You can also list engagements for a single incident.

$result = $client->listEngagements([
]);

Result syntax:

[
    'Engagements' => [
        [
            'ContactArn' => 'arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam',
            'EngagementArn' => 'arn:aws:ssm-contacts:us-east-2:111122223333:engagement/akuam/91792571-0b53-4821-9f73-d25d13d9e529',
            'Sender' => 'cli',
            'StartTime' => ,
        ],
        [
            'ContactArn' => 'arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam',
            'EngagementArn' => 'arn:aws:ssm-contacts:us-east-2:111122223333:engagement/akuam/78a29753-3674-4ac5-9f83-0468563567f0',
            'Sender' => 'cli',
            'StartTime' => ,
        ],
        [
            'ContactArn' => 'arn:aws:ssm-contacts:us-east-2:111122223333:contact/example_escalation',
            'EngagementArn' => 'arn:aws:ssm-contacts:us-east-2:111122223333:engagement/example_escalation/69e40ce1-8dbb-4d57-8962-5fbe7fc53356',
            'Sender' => 'cli',
            'StartTime' => ,
        ],
        [
            'ContactArn' => 'arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam',
            'EngagementArn' => 'arn:aws:ssm-contacts:us-east-2:111122223333:engagement/akuam/607ced0e-e8fa-4ea7-8958-a237b8803f8f',
            'Sender' => 'cli',
            'StartTime' => ,
        ],
    ],
]

ListPageReceipts

$result = $client->listPageReceipts([/* ... */]);
$promise = $client->listPageReceiptsAsync([/* ... */]);

Lists all of the engagements to contact channels that have been acknowledged.

Parameter Syntax

$result = $client->listPageReceipts([
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'PageId' => '<string>', // REQUIRED
]);

Parameter Details

Members
MaxResults
Type: int

The maximum number of acknowledgements per page of results.

NextToken
Type: string

The pagination token to continue to the next page of results.

PageId
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the engagement to a specific contact channel.

Result Syntax

[
    'NextToken' => '<string>',
    'Receipts' => [
        [
            'ContactChannelArn' => '<string>',
            'ReceiptInfo' => '<string>',
            'ReceiptTime' => <DateTime>,
            'ReceiptType' => 'DELIVERED|ERROR|READ|SENT|STOP',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The pagination token to continue to the next page of results.

Receipts
Type: Array of Receipt structures

A list of each acknowledgement.

Errors

AccessDeniedException:

You don't have sufficient access to perform this operation.

InternalServerException:

Unexpected error occurred while processing the request.

ResourceNotFoundException:

Request references a resource that doesn't exist.

ThrottlingException:

The request was denied due to request throttling.

ValidationException:

The input fails to satisfy the constraints specified by an Amazon Web Services service.

Examples

Example 1: To list page receipts

The following command-name example lists whether a page was received or not by a contact.

$result = $client->listPageReceipts([
    'PageId' => 'arn:aws:ssm-contacts:us-east-2:111122223333:page/akuam/94ea0c7b-56d9-46c3-b84a-a37c8b067ad3',
]);

Result syntax:

[
    'Receipts' => [
        [
            'ContactChannelArn' => 'arn:aws:ssm-contacts:us-east-2:111122223333:contact-channel/akuam/fc7405c4-46b2-48b7-87b2-93e2f225b90d',
            'ReceiptInfo' => '425440',
            'ReceiptTime' => ,
            'ReceiptType' => 'DELIVERED',
        ],
        [
            'ContactChannelArn' => 'arn:aws:ssm-contacts:us-east-2:111122223333:contact-channel/akuam/fc7405c4-46b2-48b7-87b2-93e2f225b90d',
            'ReceiptInfo' => '425440',
            'ReceiptTime' => ,
            'ReceiptType' => 'READ',
        ],
        [
            'ContactChannelArn' => 'arn:aws:ssm-contacts:us-east-2:111122223333:contact-channel/akuam/fc7405c4-46b2-48b7-87b2-93e2f225b90d',
            'ReceiptInfo' => 'SM6656c19132f1465f9c9c1123a5dde7c9',
            'ReceiptTime' => ,
            'ReceiptType' => 'SENT',
        ],
    ],
]

ListPageResolutions

$result = $client->listPageResolutions([/* ... */]);
$promise = $client->listPageResolutionsAsync([/* ... */]);

Returns the resolution path of an engagement. For example, the escalation plan engaged in an incident might target an on-call schedule that includes several contacts in a rotation, but just one contact on-call when the incident starts. The resolution path indicates the hierarchy of escalation plan > on-call schedule > contact.

Parameter Syntax

$result = $client->listPageResolutions([
    'NextToken' => '<string>',
    'PageId' => '<string>', // REQUIRED
]);

Parameter Details

Members
NextToken
Type: string

A token to start the list. Use this token to get the next set of results.

PageId
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the contact engaged for the incident.

Result Syntax

[
    'NextToken' => '<string>',
    'PageResolutions' => [
        [
            'ContactArn' => '<string>',
            'StageIndex' => <integer>,
            'Type' => 'PERSONAL|ESCALATION|ONCALL_SCHEDULE',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token for the next set of items to return. Use this token to get the next set of results.

PageResolutions
Required: Yes
Type: Array of ResolutionContact structures

Information about the resolution for an engagement.

Errors

AccessDeniedException:

You don't have sufficient access to perform this operation.

InternalServerException:

Unexpected error occurred while processing the request.

ResourceNotFoundException:

Request references a resource that doesn't exist.

ThrottlingException:

The request was denied due to request throttling.

ValidationException:

The input fails to satisfy the constraints specified by an Amazon Web Services service.

ListPagesByContact

$result = $client->listPagesByContact([/* ... */]);
$promise = $client->listPagesByContactAsync([/* ... */]);

Lists the engagements to a contact's contact channels.

Parameter Syntax

$result = $client->listPagesByContact([
    'ContactId' => '<string>', // REQUIRED
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
ContactId
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the contact you are retrieving engagements for.

MaxResults
Type: int

The maximum number of engagements to contact channels to list per page of results.

NextToken
Type: string

The pagination token to continue to the next page of results.

Result Syntax

[
    'NextToken' => '<string>',
    'Pages' => [
        [
            'ContactArn' => '<string>',
            'DeliveryTime' => <DateTime>,
            'EngagementArn' => '<string>',
            'IncidentId' => '<string>',
            'PageArn' => '<string>',
            'ReadTime' => <DateTime>,
            'Sender' => '<string>',
            'SentTime' => <DateTime>,
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The pagination token to continue to the next page of results.

Pages
Required: Yes
Type: Array of Page structures

The list of engagements to a contact's contact channel.

Errors

AccessDeniedException:

You don't have sufficient access to perform this operation.

InternalServerException:

Unexpected error occurred while processing the request.

ResourceNotFoundException:

Request references a resource that doesn't exist.

ThrottlingException:

The request was denied due to request throttling.

ValidationException:

The input fails to satisfy the constraints specified by an Amazon Web Services service.

Examples

Example 1: To list pages by contact

The following list-pages-by-contact example lists all pages to the specified contact.

$result = $client->listPagesByContact([
    'ContactId' => 'arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam',
]);

Result syntax:

[
    'Pages' => [
        [
            'ContactArn' => 'arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam',
            'DeliveryTime' => ,
            'EngagementArn' => 'arn:aws:ssm-contacts:us-east-2:111122223333:engagement/akuam/78a29753-3674-4ac5-9f83-0468563567f0',
            'PageArn' => 'arn:aws:ssm-contacts:us-east-2:111122223333:page/akuam/ad0052bd-e606-498a-861b-25726292eb93',
            'ReadTime' => ,
            'Sender' => 'cli',
            'SentTime' => ,
        ],
    ],
]

ListPagesByEngagement

$result = $client->listPagesByEngagement([/* ... */]);
$promise = $client->listPagesByEngagementAsync([/* ... */]);

Lists the engagements to contact channels that occurred by engaging a contact.

Parameter Syntax

$result = $client->listPagesByEngagement([
    'EngagementId' => '<string>', // REQUIRED
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
EngagementId
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the engagement.

MaxResults
Type: int

The maximum number of engagements to contact channels to list per page of results.

NextToken
Type: string

The pagination token to continue to the next page of results.

Result Syntax

[
    'NextToken' => '<string>',
    'Pages' => [
        [
            'ContactArn' => '<string>',
            'DeliveryTime' => <DateTime>,
            'EngagementArn' => '<string>',
            'IncidentId' => '<string>',
            'PageArn' => '<string>',
            'ReadTime' => <DateTime>,
            'Sender' => '<string>',
            'SentTime' => <DateTime>,
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The pagination token to continue to the next page of results.

Pages
Required: Yes
Type: Array of Page structures

The list of engagements to contact channels.

Errors

AccessDeniedException:

You don't have sufficient access to perform this operation.

InternalServerException:

Unexpected error occurred while processing the request.

ResourceNotFoundException:

Request references a resource that doesn't exist.

ThrottlingException:

The request was denied due to request throttling.

ValidationException:

The input fails to satisfy the constraints specified by an Amazon Web Services service.

Examples

Example 1: To list pages to contact channels started from an engagement.

The following list-pages-by-engagement example lists the pages that occurred while engaging the defined engagement plan.

$result = $client->listPagesByEngagement([
    'EngagementId' => 'arn:aws:ssm-contacts:us-east-2:111122223333:engagement/akuam/78a29753-3674-4ac5-9f83-0468563567f0',
]);

Result syntax:

[
    'Pages' => [
        [
            'ContactArn' => 'arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam',
            'EngagementArn' => 'arn:aws:ssm-contacts:us-east-2:111122223333:engagement/akuam/78a29753-3674-4ac5-9f83-0468563567f0',
            'PageArn' => 'arn:aws:ssm-contacts:us-east-2:111122223333:page/akuam/ad0052bd-e606-498a-861b-25726292eb93',
            'Sender' => 'cli',
            'SentTime' => ,
        ],
    ],
]

ListPreviewRotationShifts

$result = $client->listPreviewRotationShifts([/* ... */]);
$promise = $client->listPreviewRotationShiftsAsync([/* ... */]);

Returns a list of shifts based on rotation configuration parameters.

The Incident Manager primarily uses this operation to populate the Preview calendar. It is not typically run by end users.

Parameter Syntax

$result = $client->listPreviewRotationShifts([
    'EndTime' => <integer || string || DateTime>, // REQUIRED
    'MaxResults' => <integer>,
    'Members' => ['<string>', ...], // REQUIRED
    'NextToken' => '<string>',
    'Overrides' => [
        [
            'EndTime' => <integer || string || DateTime>,
            'NewMembers' => ['<string>', ...],
            'StartTime' => <integer || string || DateTime>,
        ],
        // ...
    ],
    'Recurrence' => [ // REQUIRED
        'DailySettings' => [
            [
                'HourOfDay' => <integer>, // REQUIRED
                'MinuteOfHour' => <integer>, // REQUIRED
            ],
            // ...
        ],
        'MonthlySettings' => [
            [
                'DayOfMonth' => <integer>, // REQUIRED
                'HandOffTime' => [ // REQUIRED
                    'HourOfDay' => <integer>, // REQUIRED
                    'MinuteOfHour' => <integer>, // REQUIRED
                ],
            ],
            // ...
        ],
        'NumberOfOnCalls' => <integer>, // REQUIRED
        'RecurrenceMultiplier' => <integer>, // REQUIRED
        'ShiftCoverages' => [
            '<DayOfWeek>' => [
                [
                    'End' => [
                        'HourOfDay' => <integer>, // REQUIRED
                        'MinuteOfHour' => <integer>, // REQUIRED
                    ],
                    'Start' => [
                        'HourOfDay' => <integer>, // REQUIRED
                        'MinuteOfHour' => <integer>, // REQUIRED
                    ],
                ],
                // ...
            ],
            // ...
        ],
        'WeeklySettings' => [
            [
                'DayOfWeek' => 'MON|TUE|WED|THU|FRI|SAT|SUN', // REQUIRED
                'HandOffTime' => [ // REQUIRED
                    'HourOfDay' => <integer>, // REQUIRED
                    'MinuteOfHour' => <integer>, // REQUIRED
                ],
            ],
            // ...
        ],
    ],
    'RotationStartTime' => <integer || string || DateTime>,
    'StartTime' => <integer || string || DateTime>,
    'TimeZoneId' => '<string>', // REQUIRED
]);

Parameter Details

Members
EndTime
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time a rotation shift would end.

MaxResults
Type: int

The maximum number of items to return for this call. The call also returns a token that can be specified in a subsequent call to get the next set of results.

Members
Required: Yes
Type: Array of strings

The contacts that would be assigned to a rotation.

NextToken
Type: string

A token to start the list. This token is used to get the next set of results.

Overrides
Type: Array of PreviewOverride structures

Information about changes that would be made in a rotation override.

Recurrence
Required: Yes
Type: RecurrenceSettings structure

Information about how long a rotation would last before restarting at the beginning of the shift order.

RotationStartTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time a rotation would begin. The first shift is calculated from this date and time.

StartTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

Used to filter the range of calculated shifts before sending the response back to the user.

TimeZoneId
Required: Yes
Type: string

The time zone the rotation’s activity would be based on, in Internet Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles", "UTC", or "Asia/Seoul".

Result Syntax

[
    'NextToken' => '<string>',
    'RotationShifts' => [
        [
            'ContactIds' => ['<string>', ...],
            'EndTime' => <DateTime>,
            'ShiftDetails' => [
                'OverriddenContactIds' => ['<string>', ...],
            ],
            'StartTime' => <DateTime>,
            'Type' => 'REGULAR|OVERRIDDEN',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token for the next set of items to return. This token is used to get the next set of results.

RotationShifts
Type: Array of RotationShift structures

Details about a rotation shift, including times, types, and contacts.

Errors

AccessDeniedException:

You don't have sufficient access to perform this operation.

InternalServerException:

Unexpected error occurred while processing the request.

ThrottlingException:

The request was denied due to request throttling.

ValidationException:

The input fails to satisfy the constraints specified by an Amazon Web Services service.

ListRotationOverrides

$result = $client->listRotationOverrides([/* ... */]);
$promise = $client->listRotationOverridesAsync([/* ... */]);

Retrieves a list of overrides currently specified for an on-call rotation.

Parameter Syntax

$result = $client->listRotationOverrides([
    'EndTime' => <integer || string || DateTime>, // REQUIRED
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'RotationId' => '<string>', // REQUIRED
    'StartTime' => <integer || string || DateTime>, // REQUIRED
]);

Parameter Details

Members
EndTime
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time for the end of a time range for listing overrides.

MaxResults
Type: int

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

NextToken
Type: string

A token to start the list. Use this token to get the next set of results.

RotationId
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the rotation to retrieve information about.

StartTime
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time for the beginning of a time range for listing overrides.

Result Syntax

[
    'NextToken' => '<string>',
    'RotationOverrides' => [
        [
            'CreateTime' => <DateTime>,
            'EndTime' => <DateTime>,
            'NewContactIds' => ['<string>', ...],
            'RotationOverrideId' => '<string>',
            'StartTime' => <DateTime>,
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token for the next set of items to return. Use this token to get the next set of results.

RotationOverrides
Type: Array of RotationOverride structures

A list of rotation overrides in the specified time range.

Errors

AccessDeniedException:

You don't have sufficient access to perform this operation.

InternalServerException:

Unexpected error occurred while processing the request.

ResourceNotFoundException:

Request references a resource that doesn't exist.

ThrottlingException:

The request was denied due to request throttling.

ValidationException:

The input fails to satisfy the constraints specified by an Amazon Web Services service.

ListRotationShifts

$result = $client->listRotationShifts([/* ... */]);
$promise = $client->listRotationShiftsAsync([/* ... */]);

Returns a list of shifts generated by an existing rotation in the system.

Parameter Syntax

$result = $client->listRotationShifts([
    'EndTime' => <integer || string || DateTime>, // REQUIRED
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'RotationId' => '<string>', // REQUIRED
    'StartTime' => <integer || string || DateTime>,
]);

Parameter Details

Members
EndTime
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time for the end of the time range to list shifts for.

MaxResults
Type: int

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

NextToken
Type: string

A token to start the list. Use this token to get the next set of results.

RotationId
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the rotation to retrieve shift information about.

StartTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time for the beginning of the time range to list shifts for.

Result Syntax

[
    'NextToken' => '<string>',
    'RotationShifts' => [
        [
            'ContactIds' => ['<string>', ...],
            'EndTime' => <DateTime>,
            'ShiftDetails' => [
                'OverriddenContactIds' => ['<string>', ...],
            ],
            'StartTime' => <DateTime>,
            'Type' => 'REGULAR|OVERRIDDEN',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token for the next set of items to return. Use this token to get the next set of results.

RotationShifts
Type: Array of RotationShift structures

Information about shifts that meet the filter criteria.

Errors

AccessDeniedException:

You don't have sufficient access to perform this operation.

ConflictException:

Updating or deleting a resource causes an inconsistent state.

InternalServerException:

Unexpected error occurred while processing the request.

ResourceNotFoundException:

Request references a resource that doesn't exist.

ThrottlingException:

The request was denied due to request throttling.

ValidationException:

The input fails to satisfy the constraints specified by an Amazon Web Services service.

ListRotations

$result = $client->listRotations([/* ... */]);
$promise = $client->listRotationsAsync([/* ... */]);

Retrieves a list of on-call rotations.

Parameter Syntax

$result = $client->listRotations([
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'RotationNamePrefix' => '<string>',
]);

Parameter Details

Members
MaxResults
Type: int

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

NextToken
Type: string

A token to start the list. Use this token to get the next set of results.

RotationNamePrefix
Type: string

A filter to include rotations in list results based on their common prefix. For example, entering prod returns a list of all rotation names that begin with prod, such as production and prod-1.

Result Syntax

[
    'NextToken' => '<string>',
    'Rotations' => [
        [
            'ContactIds' => ['<string>', ...],
            'Name' => '<string>',
            'Recurrence' => [
                'DailySettings' => [
                    [
                        'HourOfDay' => <integer>,
                        'MinuteOfHour' => <integer>,
                    ],
                    // ...
                ],
                'MonthlySettings' => [
                    [
                        'DayOfMonth' => <integer>,
                        'HandOffTime' => [
                            'HourOfDay' => <integer>,
                            'MinuteOfHour' => <integer>,
                        ],
                    ],
                    // ...
                ],
                'NumberOfOnCalls' => <integer>,
                'RecurrenceMultiplier' => <integer>,
                'ShiftCoverages' => [
                    '<DayOfWeek>' => [
                        [
                            'End' => [
                                'HourOfDay' => <integer>,
                                'MinuteOfHour' => <integer>,
                            ],
                            'Start' => [
                                'HourOfDay' => <integer>,
                                'MinuteOfHour' => <integer>,
                            ],
                        ],
                        // ...
                    ],
                    // ...
                ],
                'WeeklySettings' => [
                    [
                        'DayOfWeek' => 'MON|TUE|WED|THU|FRI|SAT|SUN',
                        'HandOffTime' => [
                            'HourOfDay' => <integer>,
                            'MinuteOfHour' => <integer>,
                        ],
                    ],
                    // ...
                ],
            ],
            'RotationArn' => '<string>',
            'StartTime' => <DateTime>,
            'TimeZoneId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token for the next set of items to return. Use this token to get the next set of results.

Rotations
Required: Yes
Type: Array of Rotation structures

Information about rotations that meet the filter criteria.

Errors

AccessDeniedException:

You don't have sufficient access to perform this operation.

InternalServerException:

Unexpected error occurred while processing the request.

ResourceNotFoundException:

Request references a resource that doesn't exist.

ThrottlingException:

The request was denied due to request throttling.

ValidationException:

The input fails to satisfy the constraints specified by an Amazon Web Services service.

ListTagsForResource

$result = $client->listTagsForResource([/* ... */]);
$promise = $client->listTagsForResourceAsync([/* ... */]);

Lists the tags of an escalation plan or contact.

Parameter Syntax

$result = $client->listTagsForResource([
    'ResourceARN' => '<string>', // REQUIRED
]);

Parameter Details

Members
ResourceARN
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the contact or escalation plan.

Result Syntax

[
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
Tags
Type: Array of Tag structures

The tags related to the contact or escalation plan.

Errors

AccessDeniedException:

You don't have sufficient access to perform this operation.

ThrottlingException:

The request was denied due to request throttling.

ResourceNotFoundException:

Request references a resource that doesn't exist.

ValidationException:

The input fails to satisfy the constraints specified by an Amazon Web Services service.

InternalServerException:

Unexpected error occurred while processing the request.

Examples

Example 1: To list tags for a contact

The following list-tags-for-resource example lists the tags of the specified contact.

$result = $client->listTagsForResource([
    'ResourceARN' => 'arn:aws:ssm-contacts:us-east-1:111122223333:contact/akuam',
]);

Result syntax:

[
    'Tags' => [
        [
            'Key' => 'group1',
            'Value' => '1',
        ],
    ],
]

PutContactPolicy

$result = $client->putContactPolicy([/* ... */]);
$promise = $client->putContactPolicyAsync([/* ... */]);

Adds a resource policy to the specified contact or escalation plan. The resource policy is used to share the contact or escalation plan using Resource Access Manager (RAM). For more information about cross-account sharing, see Setting up cross-account functionality.

Parameter Syntax

$result = $client->putContactPolicy([
    'ContactArn' => '<string>', // REQUIRED
    'Policy' => '<string>', // REQUIRED
]);

Parameter Details

Members
ContactArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the contact or escalation plan.

Policy
Required: Yes
Type: string

Details of the resource policy.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

AccessDeniedException:

You don't have sufficient access to perform this operation.

ConflictException:

Updating or deleting a resource causes an inconsistent state.

ValidationException:

The input fails to satisfy the constraints specified by an Amazon Web Services service.

ResourceNotFoundException:

Request references a resource that doesn't exist.

ThrottlingException:

The request was denied due to request throttling.

InternalServerException:

Unexpected error occurred while processing the request.

Examples

Example 1: To share a contact and engagements

The following put-contact-policy example adds a resource policy to the contact Akua that shares the contact and related engagements with the principal.

$result = $client->putContactPolicy([
    'ContactArn' => 'arn:aws:ssm-contacts:us-east-1:111122223333:contact/akuam',
    'Policy' => '{"Version":"2012-10-17","Statement":[{"Sid":"ExampleResourcePolicy","Action":["ssm-contacts:GetContact","ssm-contacts:StartEngagement","ssm-contacts:DescribeEngagement","ssm-contacts:ListPagesByEngagement","ssm-contacts:StopEngagement"],"Principal":{"AWS":"222233334444"},"Effect":"Allow","Resource":["arn:aws:ssm-contacts:*:111122223333:contact/akuam","arn:aws:ssm-contacts:*:111122223333:engagement/akuam/*"]}]}',
]);

Result syntax:

[
]

SendActivationCode

$result = $client->sendActivationCode([/* ... */]);
$promise = $client->sendActivationCodeAsync([/* ... */]);

Sends an activation code to a contact channel. The contact can use this code to activate the contact channel in the console or with the ActivateChannel operation. Incident Manager can't engage a contact channel until it has been activated.

Parameter Syntax

$result = $client->sendActivationCode([
    'ContactChannelId' => '<string>', // REQUIRED
]);

Parameter Details

Members
ContactChannelId
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the contact channel.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

AccessDeniedException:

You don't have sufficient access to perform this operation.

DataEncryptionException:

The operation failed to due an encryption key error.

InternalServerException:

Unexpected error occurred while processing the request.

ResourceNotFoundException:

Request references a resource that doesn't exist.

ServiceQuotaExceededException:

Request would cause a service quota to be exceeded.

ThrottlingException:

The request was denied due to request throttling.

ValidationException:

The input fails to satisfy the constraints specified by an Amazon Web Services service.

Examples

Example 1: To send an activation code

The following send-activation-code example sends an activation code and message to the specified contact channel.

$result = $client->sendActivationCode([
    'ContactChannelId' => 'arn:aws:ssm-contacts:us-east-1:111122223333:contact-channel/akuam/8ddae2d1-12c8-4e45-b852-c8587266c400',
]);

Result syntax:

[
]

StartEngagement

$result = $client->startEngagement([/* ... */]);
$promise = $client->startEngagementAsync([/* ... */]);

Starts an engagement to a contact or escalation plan. The engagement engages each contact specified in the incident.

Parameter Syntax

$result = $client->startEngagement([
    'ContactId' => '<string>', // REQUIRED
    'Content' => '<string>', // REQUIRED
    'IdempotencyToken' => '<string>',
    'IncidentId' => '<string>',
    'PublicContent' => '<string>',
    'PublicSubject' => '<string>',
    'Sender' => '<string>', // REQUIRED
    'Subject' => '<string>', // REQUIRED
]);

Parameter Details

Members
ContactId
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the contact being engaged.

Content
Required: Yes
Type: string

The secure content of the message that was sent to the contact. Use this field for engagements to VOICE or EMAIL.

IdempotencyToken
Type: string

A token ensuring that the operation is called only once with the specified details.

IncidentId
Type: string

The ARN of the incident that the engagement is part of.

PublicContent
Type: string

The insecure content of the message that was sent to the contact. Use this field for engagements to SMS.

PublicSubject
Type: string

The insecure subject of the message that was sent to the contact. Use this field for engagements to SMS.

Sender
Required: Yes
Type: string

The user that started the engagement.

Subject
Required: Yes
Type: string

The secure subject of the message that was sent to the contact. Use this field for engagements to VOICE or EMAIL.

Result Syntax

[
    'EngagementArn' => '<string>',
]

Result Details

Members
EngagementArn
Required: Yes
Type: string

The ARN of the engagement.

Errors

AccessDeniedException:

You don't have sufficient access to perform this operation.

DataEncryptionException:

The operation failed to due an encryption key error.

InternalServerException:

Unexpected error occurred while processing the request.

ResourceNotFoundException:

Request references a resource that doesn't exist.

ThrottlingException:

The request was denied due to request throttling.

ValidationException:

The input fails to satisfy the constraints specified by an Amazon Web Services service.

Examples

Example 1: Example 1: To page a contact's contact channels

The following start-engagement pages contact's contact channels. Sender, subject, public-subject, and public-content are all free from fields. Incident Manager sends the subject and content to the provided VOICE or EMAIL contact channels. Incident Manager sends the public-subject and public-content to the provided SMS contact channels. Sender is used to track who started the engagement.

$result = $client->startEngagement([
    'ContactId' => 'arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam',
    'Content' => 'Testing engagements',
    'PublicContent' => 'Testing engagements',
    'PublicSubject' => 'test',
    'Sender' => 'tester',
    'Subject' => 'test',
]);

Result syntax:

[
    'EngagementArn' => 'arn:aws:ssm-contacts:us-east-2:111122223333:engagement/akuam/607ced0e-e8fa-4ea7-8958-a237b8803f8f',
]
Example 2: Example 2: To page a contact in the provided escalation plan.

The following start-engagement engages contact's through an escalation plan. Each contact is paged according to their engagement plan.

$result = $client->startEngagement([
    'ContactId' => 'arn:aws:ssm-contacts:us-east-2:111122223333:contact/example_escalation',
    'Content' => 'Testing engagements',
    'PublicContent' => 'Testing engagements',
    'PublicSubject' => 'test',
    'Sender' => 'tester',
    'Subject' => 'test',
]);

Result syntax:

[
    'EngagementArn' => 'arn:aws:ssm-contacts:us-east-2:111122223333:engagement/example_escalation/69e40ce1-8dbb-4d57-8962-5fbe7fc53356',
]

StopEngagement

$result = $client->stopEngagement([/* ... */]);
$promise = $client->stopEngagementAsync([/* ... */]);

Stops an engagement before it finishes the final stage of the escalation plan or engagement plan. Further contacts aren't engaged.

Parameter Syntax

$result = $client->stopEngagement([
    'EngagementId' => '<string>', // REQUIRED
    'Reason' => '<string>',
]);

Parameter Details

Members
EngagementId
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the engagement.

Reason
Type: string

The reason that you're stopping the engagement.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

AccessDeniedException:

You don't have sufficient access to perform this operation.

ValidationException:

The input fails to satisfy the constraints specified by an Amazon Web Services service.

ResourceNotFoundException:

Request references a resource that doesn't exist.

ThrottlingException:

The request was denied due to request throttling.

InternalServerException:

Unexpected error occurred while processing the request.

Examples

Example 1: To stop an engagement

The following stop-engagement example stops an engagement from paging further contacts and contact channels.

$result = $client->stopEngagement([
    'EngagementId' => 'arn:aws:ssm-contacts:us-east-2:111122223333:engagement/example_escalation/69e40ce1-8dbb-4d57-8962-5fbe7fc53356',
]);

Result syntax:

[
]

TagResource

$result = $client->tagResource([/* ... */]);
$promise = $client->tagResourceAsync([/* ... */]);

Tags a contact or escalation plan. You can tag only contacts and escalation plans in the first region of your replication set.

Parameter Syntax

$result = $client->tagResource([
    'ResourceARN' => '<string>', // REQUIRED
    'Tags' => [ // REQUIRED
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
ResourceARN
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the contact or escalation plan.

Tags
Required: Yes
Type: Array of Tag structures

A list of tags that you are adding to the contact or escalation plan.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

AccessDeniedException:

You don't have sufficient access to perform this operation.

ThrottlingException:

The request was denied due to request throttling.

ResourceNotFoundException:

Request references a resource that doesn't exist.

InternalServerException:

Unexpected error occurred while processing the request.

ServiceQuotaExceededException:

Request would cause a service quota to be exceeded.

ValidationException:

The input fails to satisfy the constraints specified by an Amazon Web Services service.

Examples

Example 1: To tag a contact

The following tag-resource example tags a specified contact with the provided tag key value pair.

$result = $client->tagResource([
    'ResourceARN' => 'arn:aws:ssm-contacts:us-east-1:111122223333:contact/akuam',
    'Tags' => [
        [
            'Key' => 'group1',
            'Value' => '1',
        ],
    ],
]);

Result syntax:

[
]

UntagResource

$result = $client->untagResource([/* ... */]);
$promise = $client->untagResourceAsync([/* ... */]);

Removes tags from the specified resource.

Parameter Syntax

$result = $client->untagResource([
    'ResourceARN' => '<string>', // REQUIRED
    'TagKeys' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
ResourceARN
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the contact or escalation plan.

TagKeys
Required: Yes
Type: Array of strings

The key of the tag that you want to remove.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

AccessDeniedException:

You don't have sufficient access to perform this operation.

ThrottlingException:

The request was denied due to request throttling.

ResourceNotFoundException:

Request references a resource that doesn't exist.

ValidationException:

The input fails to satisfy the constraints specified by an Amazon Web Services service.

InternalServerException:

Unexpected error occurred while processing the request.

Examples

Example 1: To remove tags from a contact

The following untag-resource example removes the group1 tag from the specified contact.

$result = $client->untagResource([
    'ResourceARN' => 'arn:aws:ssm-contacts:us-east-1:111122223333:contact/akuam',
    'TagKeys' => [
        'group1',
    ],
]);

Result syntax:

[
]

UpdateContact

$result = $client->updateContact([/* ... */]);
$promise = $client->updateContactAsync([/* ... */]);

Updates the contact or escalation plan specified.

Parameter Syntax

$result = $client->updateContact([
    'ContactId' => '<string>', // REQUIRED
    'DisplayName' => '<string>',
    'Plan' => [
        'RotationIds' => ['<string>', ...],
        'Stages' => [
            [
                'DurationInMinutes' => <integer>, // REQUIRED
                'Targets' => [ // REQUIRED
                    [
                        'ChannelTargetInfo' => [
                            'ContactChannelId' => '<string>', // REQUIRED
                            'RetryIntervalInMinutes' => <integer>,
                        ],
                        'ContactTargetInfo' => [
                            'ContactId' => '<string>',
                            'IsEssential' => true || false, // REQUIRED
                        ],
                    ],
                    // ...
                ],
            ],
            // ...
        ],
    ],
]);

Parameter Details

Members
ContactId
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the contact or escalation plan you're updating.

DisplayName
Type: string

The full name of the contact or escalation plan.

Plan
Type: Plan structure

A list of stages. A contact has an engagement plan with stages for specified contact channels. An escalation plan uses these stages to contact specified contacts.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

AccessDeniedException:

You don't have sufficient access to perform this operation.

InternalServerException:

Unexpected error occurred while processing the request.

ResourceNotFoundException:

Request references a resource that doesn't exist.

ServiceQuotaExceededException:

Request would cause a service quota to be exceeded.

ThrottlingException:

The request was denied due to request throttling.

ValidationException:

The input fails to satisfy the constraints specified by an Amazon Web Services service.

DataEncryptionException:

The operation failed to due an encryption key error.

Examples

Example 1: To update the engagement plan of contact

The following update-contact example updates the engagement plan of the contact Akua to include the three types of contacts channels. This is done after creating contact channels for Akua.

$result = $client->updateContact([
    'ContactId' => 'arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam',
    'Plan' => [
        'Stages' => [
            [
                'DurationInMinutes' => 5,
                'Targets' => [
                    [
                        'ChannelTargetInfo' => [
                            'ContactChannelId' => 'arn:aws:ssm-contacts:us-east-2:111122223333:contact-channel/akuam/beb25840-5ac8-4644-95cc-7a8de390fa65',
                            'RetryIntervalInMinutes' => 1,
                        ],
                    ],
                ],
            ],
            [
                'DurationInMinutes' => 5,
                'Targets' => [
                    [
                        'ChannelTargetInfo' => [
                            'ContactChannelId' => 'arn:aws:ssm-contacts:us-east-2:111122223333:contact-channel/akuam/49f3c24d-5f9f-4638-ae25-3f49e04229ad',
                            'RetryIntervalInMinutes' => 1,
                        ],
                    ],
                ],
            ],
            [
                'DurationInMinutes' => 5,
                'Targets' => [
                    [
                        'ChannelTargetInfo' => [
                            'ContactChannelId' => 'arn:aws:ssm-contacts:us-east-2:111122223333:contact-channel/akuam/77d4f447-f619-4954-afff-85551e369c2a',
                            'RetryIntervalInMinutes' => 1,
                        ],
                    ],
                ],
            ],
        ],
    ],
]);

Result syntax:

[
]

UpdateContactChannel

$result = $client->updateContactChannel([/* ... */]);
$promise = $client->updateContactChannelAsync([/* ... */]);

Updates a contact's contact channel.

Parameter Syntax

$result = $client->updateContactChannel([
    'ContactChannelId' => '<string>', // REQUIRED
    'DeliveryAddress' => [
        'SimpleAddress' => '<string>',
    ],
    'Name' => '<string>',
]);

Parameter Details

Members
ContactChannelId
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the contact channel you want to update.

DeliveryAddress
Type: ContactChannelAddress structure

The details that Incident Manager uses when trying to engage the contact channel.

Name
Type: string

The name of the contact channel.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

AccessDeniedException:

You don't have sufficient access to perform this operation.

ConflictException:

Updating or deleting a resource causes an inconsistent state.

DataEncryptionException:

The operation failed to due an encryption key error.

InternalServerException:

Unexpected error occurred while processing the request.

ResourceNotFoundException:

Request references a resource that doesn't exist.

ThrottlingException:

The request was denied due to request throttling.

ValidationException:

The input fails to satisfy the constraints specified by an Amazon Web Services service.

Examples

Example 1: To update a contact channel

The following update-contact-channel example updates the name and delivery address of a contact channel.

$result = $client->updateContactChannel([
    'ContactChannelId' => 'arn:aws:ssm-contacts:us-east-2:111122223333:contact-channel/akuam/49f3c24d-5f9f-4638-ae25-3f49e04229ad',
    'DeliveryAddress' => [
        'SimpleAddress' => '+15005550198',
    ],
    'Name' => 'akuas voice channel',
]);

Result syntax:

[
]

UpdateRotation

$result = $client->updateRotation([/* ... */]);
$promise = $client->updateRotationAsync([/* ... */]);

Updates the information specified for an on-call rotation.

Parameter Syntax

$result = $client->updateRotation([
    'ContactIds' => ['<string>', ...],
    'Recurrence' => [ // REQUIRED
        'DailySettings' => [
            [
                'HourOfDay' => <integer>, // REQUIRED
                'MinuteOfHour' => <integer>, // REQUIRED
            ],
            // ...
        ],
        'MonthlySettings' => [
            [
                'DayOfMonth' => <integer>, // REQUIRED
                'HandOffTime' => [ // REQUIRED
                    'HourOfDay' => <integer>, // REQUIRED
                    'MinuteOfHour' => <integer>, // REQUIRED
                ],
            ],
            // ...
        ],
        'NumberOfOnCalls' => <integer>, // REQUIRED
        'RecurrenceMultiplier' => <integer>, // REQUIRED
        'ShiftCoverages' => [
            '<DayOfWeek>' => [
                [
                    'End' => [
                        'HourOfDay' => <integer>, // REQUIRED
                        'MinuteOfHour' => <integer>, // REQUIRED
                    ],
                    'Start' => [
                        'HourOfDay' => <integer>, // REQUIRED
                        'MinuteOfHour' => <integer>, // REQUIRED
                    ],
                ],
                // ...
            ],
            // ...
        ],
        'WeeklySettings' => [
            [
                'DayOfWeek' => 'MON|TUE|WED|THU|FRI|SAT|SUN', // REQUIRED
                'HandOffTime' => [ // REQUIRED
                    'HourOfDay' => <integer>, // REQUIRED
                    'MinuteOfHour' => <integer>, // REQUIRED
                ],
            ],
            // ...
        ],
    ],
    'RotationId' => '<string>', // REQUIRED
    'StartTime' => <integer || string || DateTime>,
    'TimeZoneId' => '<string>',
]);

Parameter Details

Members
ContactIds
Type: Array of strings

The Amazon Resource Names (ARNs) of the contacts to include in the updated rotation.

The order in which you list the contacts is their shift order in the rotation schedule.

Recurrence
Required: Yes
Type: RecurrenceSettings structure

Information about how long the updated rotation lasts before restarting at the beginning of the shift order.

RotationId
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the rotation to update.

StartTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time the rotation goes into effect.

TimeZoneId
Type: string

The time zone to base the updated rotation’s activity on, in Internet Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles", "UTC", or "Asia/Seoul". For more information, see the Time Zone Database on the IANA website.

Designators for time zones that don’t support Daylight Savings Time Rules, such as Pacific Standard Time (PST) and Pacific Daylight Time (PDT), aren't supported.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

AccessDeniedException:

You don't have sufficient access to perform this operation.

ConflictException:

Updating or deleting a resource causes an inconsistent state.

InternalServerException:

Unexpected error occurred while processing the request.

ResourceNotFoundException:

Request references a resource that doesn't exist.

ThrottlingException:

The request was denied due to request throttling.

ValidationException:

The input fails to satisfy the constraints specified by an Amazon Web Services service.

Shapes

AccessDeniedException

Description

You don't have sufficient access to perform this operation.

Members
Message
Required: Yes
Type: string

ChannelTargetInfo

Description

Information about the contact channel that Incident Manager uses to engage the contact.

Members
ContactChannelId
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the contact channel.

RetryIntervalInMinutes
Type: int

The number of minutes to wait to retry sending engagement in the case the engagement initially fails.

ConflictException

Description

Updating or deleting a resource causes an inconsistent state.

Members
DependentEntities
Type: Array of DependentEntity structures
List of dependent entities containing information on relation type and resourceArns linked to the resource in use
Message
Required: Yes
Type: string
ResourceId
Required: Yes
Type: string
Identifier of the resource in use
ResourceType
Required: Yes
Type: string
Type of the resource in use

Contact

Description

A personal contact or escalation plan that Incident Manager engages during an incident.

Members
Alias
Required: Yes
Type: string

The unique and identifiable alias of the contact or escalation plan.

ContactArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the contact or escalation plan.

DisplayName
Type: string

The full name of the contact or escalation plan.

Type
Required: Yes
Type: string

Refers to the type of contact. A single contact is type PERSONAL and an escalation plan is type ESCALATION.

ContactChannel

Description

The method that Incident Manager uses to engage a contact.

Members
ActivationStatus
Required: Yes
Type: string

A Boolean value describing if the contact channel has been activated or not. If the contact channel isn't activated, Incident Manager can't engage the contact through it.

ContactArn
Required: Yes
Type: string

The ARN of the contact that contains the contact channel.

ContactChannelArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the contact channel.

DeliveryAddress
Required: Yes
Type: ContactChannelAddress structure

The details that Incident Manager uses when trying to engage the contact channel.

Name
Required: Yes
Type: string

The name of the contact channel.

Type
Type: string

The type of the contact channel. Incident Manager supports three contact methods:

  • SMS

  • VOICE

  • EMAIL

ContactChannelAddress

Description

The details that Incident Manager uses when trying to engage the contact channel.

Members
SimpleAddress
Type: string

The format is dependent on the type of the contact channel. The following are the expected formats:

  • SMS - '+' followed by the country code and phone number

  • VOICE - '+' followed by the country code and phone number

  • EMAIL - any standard email format

ContactTargetInfo

Description

The contact that Incident Manager is engaging during an incident.

Members
ContactId
Type: string

The Amazon Resource Name (ARN) of the contact.

IsEssential
Required: Yes
Type: boolean

A Boolean value determining if the contact's acknowledgement stops the progress of stages in the plan.

CoverageTime

Description

Information about when an on-call shift begins and ends.

Members
End
Type: HandOffTime structure

Information about when the on-call rotation shift ends.

Start
Type: HandOffTime structure

Information about when the on-call rotation shift begins.

DataEncryptionException

Description

The operation failed to due an encryption key error.

Members
Message
Required: Yes
Type: string

DependentEntity

Description

Information about a resource that another resource is related to or depends on.

For example, if a contact is a member of a rotation, the rotation is a dependent entity of the contact.

Members
DependentResourceIds
Required: Yes
Type: Array of strings

The Amazon Resource Names (ARNs) of the dependent resources.

RelationType
Required: Yes
Type: string

The type of relationship between one resource and the other resource that it is related to or depends on.

Engagement

Description

Incident Manager reaching out to a contact or escalation plan to engage contact during an incident.

Members
ContactArn
Required: Yes
Type: string

The ARN of the escalation plan or contact that Incident Manager is engaging.

EngagementArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the engagement.

IncidentId
Type: string

The ARN of the incident that's engaging the contact.

Sender
Required: Yes
Type: string

The user that started the engagement.

StartTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time that the engagement began.

StopTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time that the engagement ended.

HandOffTime

Description

Details about when an on-call rotation shift begins or ends.

Members
HourOfDay
Required: Yes
Type: int

The hour when an on-call rotation shift begins or ends.

MinuteOfHour
Required: Yes
Type: int

The minute when an on-call rotation shift begins or ends.

InternalServerException

Description

Unexpected error occurred while processing the request.

Members
Message
Required: Yes
Type: string
RetryAfterSeconds
Type: int
Advice to clients on when the call can be safely retried

MonthlySetting

Description

Information about on-call rotations that recur monthly.

Members
DayOfMonth
Required: Yes
Type: int

The day of the month when monthly recurring on-call rotations begin.

HandOffTime
Required: Yes
Type: HandOffTime structure

The time of day when a monthly recurring on-call shift rotation begins.

Page

Description

Incident Manager engaging a contact's contact channel.

Members
ContactArn
Required: Yes
Type: string

The ARN of the contact that Incident Manager is engaging.

DeliveryTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time the message was delivered to the contact channel.

EngagementArn
Required: Yes
Type: string

The ARN of the engagement that this page is part of.

IncidentId
Type: string

The ARN of the incident that's engaging the contact channel.

PageArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the page to the contact channel.

ReadTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time that the contact channel acknowledged engagement.

Sender
Required: Yes
Type: string

The user that started the engagement.

SentTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time that Incident Manager engaged the contact channel.

Plan

Description

Information about the stages and on-call rotation teams associated with an escalation plan or engagement plan.

Members
RotationIds
Type: Array of strings

The Amazon Resource Names (ARNs) of the on-call rotations associated with the plan.

Stages
Type: Array of Stage structures

A list of stages that the escalation plan or engagement plan uses to engage contacts and contact methods.

PreviewOverride

Description

Information about contacts and times that an on-call override replaces.

Members
EndTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

Information about the time a rotation override would end.

NewMembers
Type: Array of strings

Information about contacts to add to an on-call rotation override.

StartTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

Information about the time a rotation override would begin.

Receipt

Description

Records events during an engagement.

Members
ContactChannelArn
Type: string

The Amazon Resource Name (ARN) of the contact channel Incident Manager engaged.

ReceiptInfo
Type: string

Information provided during the page acknowledgement.

ReceiptTime
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time receipt was SENT, DELIVERED, or READ.

ReceiptType
Required: Yes
Type: string

The type follows the engagement cycle, SENT, DELIVERED, and READ.

RecurrenceSettings

Description

Information about when an on-call rotation is in effect and how long the rotation period lasts.

Members
DailySettings
Type: Array of HandOffTime structures

Information about on-call rotations that recur daily.

MonthlySettings
Type: Array of MonthlySetting structures

Information about on-call rotations that recur monthly.

NumberOfOnCalls
Required: Yes
Type: int

The number of contacts, or shift team members designated to be on call concurrently during a shift. For example, in an on-call schedule containing ten contacts, a value of 2 designates that two of them are on call at any given time.

RecurrenceMultiplier
Required: Yes
Type: int

The number of days, weeks, or months a single rotation lasts.

ShiftCoverages
Type: Associative array of custom strings keys (DayOfWeek) to CoverageTime structuress

Information about the days of the week included in on-call rotation coverage.

WeeklySettings
Type: Array of WeeklySetting structures

Information about on-call rotations that recur weekly.

ResolutionContact

Description

Information about the engagement resolution steps. The resolution starts from the first contact, which can be an escalation plan, then resolves to an on-call rotation, and finally to a personal contact.

The ResolutionContact structure describes the information for each node or step in that process. It contains information about different contact types, such as the escalation, rotation, and personal contacts.

Members
ContactArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of a contact in the engagement resolution process.

StageIndex
Type: int

The stage in the escalation plan that resolves to this contact.

Type
Required: Yes
Type: string

The type of contact for a resolution step.

ResourceNotFoundException

Description

Request references a resource that doesn't exist.

Members
Message
Required: Yes
Type: string
ResourceId
Required: Yes
Type: string
Hypothetical resource identifier that was not found
ResourceType
Required: Yes
Type: string
Hypothetical resource type that was not found

Rotation

Description

Information about a rotation in an on-call schedule.

Members
ContactIds
Type: Array of strings

The Amazon Resource Names (ARNs) of the contacts assigned to the rotation team.

Name
Required: Yes
Type: string

The name of the rotation.

Recurrence
Type: RecurrenceSettings structure

Information about when an on-call rotation is in effect and how long the rotation period lasts.

RotationArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the rotation.

StartTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time the rotation becomes active.

TimeZoneId
Type: string

The time zone the rotation’s activity is based on, in Internet Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles", "UTC", or "Asia/Seoul".

RotationOverride

Description

Information about an override specified for an on-call rotation.

Members
CreateTime
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time a rotation override was created.

EndTime
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time a rotation override ends.

NewContactIds
Required: Yes
Type: Array of strings

The Amazon Resource Names (ARNs) of the contacts assigned to the override of the on-call rotation.

RotationOverrideId
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the override to an on-call rotation.

StartTime
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time a rotation override begins.

RotationShift

Description

Information about a shift that belongs to an on-call rotation.

Members
ContactIds
Type: Array of strings

The Amazon Resource Names (ARNs) of the contacts who are part of the shift rotation.

EndTime
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time a shift rotation ends.

ShiftDetails
Type: ShiftDetails structure

Additional information about an on-call rotation shift.

StartTime
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time a shift rotation begins.

Type
Type: string

The type of shift rotation.

ServiceQuotaExceededException

Description

Request would cause a service quota to be exceeded.

Members
Message
Required: Yes
Type: string
QuotaCode
Required: Yes
Type: string
Service Quotas requirement to identify originating service
ResourceId
Type: string
Identifier of the resource affected
ResourceType
Type: string
Type of the resource affected
ServiceCode
Required: Yes
Type: string
Service Quotas requirement to identify originating quota

ShiftDetails

Description

Information about overrides to an on-call rotation shift.

Members
OverriddenContactIds
Required: Yes
Type: Array of strings

The Amazon Resources Names (ARNs) of the contacts who were replaced in a shift when an override was created. If the override is deleted, these contacts are restored to the shift.

Stage

Description

A set amount of time that an escalation plan or engagement plan engages the specified contacts or contact methods.

Members
DurationInMinutes
Required: Yes
Type: int

The time to wait until beginning the next stage. The duration can only be set to 0 if a target is specified.

Targets
Required: Yes
Type: Array of Target structures

The contacts or contact methods that the escalation plan or engagement plan is engaging.

Tag

Description

A container of a key-value name pair.

Members
Key
Type: string

Name of the object key.

Value
Type: string

Value of the tag.

Target

Description

The contact or contact channel that's being engaged.

Members
ChannelTargetInfo
Type: ChannelTargetInfo structure

Information about the contact channel Incident Manager is engaging.

ContactTargetInfo
Type: ContactTargetInfo structure

Information about the contact that Incident Manager is engaging.

ThrottlingException

Description

The request was denied due to request throttling.

Members
Message
Required: Yes
Type: string
QuotaCode
Type: string
Service Quotas requirement to identify originating service
RetryAfterSeconds
Type: int
Advice to clients on when the call can be safely retried
ServiceCode
Type: string
Service Quotas requirement to identify originating quota

TimeRange

Description

A range of between two set times

Members
EndTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The end of the time range.

StartTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The start of the time range.

ValidationException

Description

The input fails to satisfy the constraints specified by an Amazon Web Services service.

Members
Fields
Type: Array of ValidationExceptionField structures
The fields that caused the error
Message
Required: Yes
Type: string
Reason
Type: string
Reason the request failed validation

ValidationExceptionField

Description

Provides information about which field caused the exception.

Members
Message
Required: Yes
Type: string

Information about what caused the field to cause an exception.

Name
Required: Yes
Type: string

The name of the field that caused the exception.

WeeklySetting

Description

Information about rotations that recur weekly.

Members
DayOfWeek
Required: Yes
Type: string

The day of the week when weekly recurring on-call shift rotations begins.

HandOffTime
Required: Yes
Type: HandOffTime structure

The time of day when a weekly recurring on-call shift rotation begins.