AWS Systems Manager Incident Manager Contacts 2021-05-03
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
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:
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
The accept code is 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. IgnoringAcceptCode
validation causes Incident Manager to accept any value entered for theAcceptCode
. - AcceptType
-
- Required: Yes
- Type: string
The type indicates if the page was
DELIVERED
orREAD
. - 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
Errors
-
You don't have sufficient access to perform this operation.
-
Unexpected error occurred while processing the request.
-
Request references a resource that doesn't exist.
-
The request was denied due to request throttling.
-
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
Result Syntax
[]
Result Details
Errors
-
You don't have sufficient access to perform this operation.
-
Unexpected error occurred while processing the request.
-
Request references a resource that doesn't exist.
-
The request was denied due to request throttling.
-
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 'Stages' => [ // REQUIRED [ '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', // 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 usePERSONAL
.
Result Syntax
[ 'ContactArn' => '<string>', ]
Result Details
Members
Errors
-
You don't have sufficient access to perform this operation.
-
Updating or deleting a resource causes an inconsistent state.
-
Unexpected error occurred while processing the request.
-
ServiceQuotaExceededException:
Request would cause a service quota to be exceeded.
-
The request was denied due to request throttling.
-
The input fails to satisfy the constraints specified by an Amazon Web Services service.
-
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
Errors
-
You don't have sufficient access to perform this operation.
-
Updating or deleting a resource causes an inconsistent state.
-
The operation failed to due an encryption key error.
-
Unexpected error occurred while processing the request.
-
The request was denied due to request throttling.
-
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', ]
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
Result Syntax
[]
Result Details
Errors
-
You don't have sufficient access to perform this operation.
-
Unexpected error occurred while processing the request.
-
Request references a resource that doesn't exist.
-
The request was denied due to request throttling.
-
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
Result Syntax
[]
Result Details
Errors
-
You don't have sufficient access to perform this operation.
-
Unexpected error occurred while processing the request.
-
Request references a resource that doesn't exist.
-
The request was denied due to request throttling.
-
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
Result Syntax
[]
Result Details
Errors
-
You don't have sufficient access to perform this operation.
-
Unexpected error occurred while processing the request.
-
Request references a resource that doesn't exist.
-
The request was denied due to request throttling.
-
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:
[ ]
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
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
andEMAIL
. - 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
andEMAIL
.
Errors
-
You don't have sufficient access to perform this operation.
-
The operation failed to due an encryption key error.
-
Unexpected error occurred while processing the request.
-
Request references a resource that doesn't exist.
-
The request was denied due to request throttling.
-
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
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
andEMAIL
. - 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
andEMAIL
.
Errors
-
You don't have sufficient access to perform this operation.
-
The operation failed to due an encryption key error.
-
Unexpected error occurred while processing the request.
-
Request references a resource that doesn't exist.
-
The request was denied due to request throttling.
-
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
Result Syntax
[ 'Alias' => '<string>', 'ContactArn' => '<string>', 'DisplayName' => '<string>', 'Plan' => [ 'Stages' => [ [ 'DurationInMinutes' => <integer>, 'Targets' => [ [ 'ChannelTargetInfo' => [ 'ContactChannelId' => '<string>', 'RetryIntervalInMinutes' => <integer>, ], 'ContactTargetInfo' => [ 'ContactId' => '<string>', 'IsEssential' => true || false, ], ], // ... ], ], // ... ], ], 'Type' => 'PERSONAL|ESCALATION', ]
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
orESCALATION
.
Errors
-
You don't have sufficient access to perform this operation.
-
Unexpected error occurred while processing the request.
-
Request references a resource that doesn't exist.
-
The request was denied due to request throttling.
-
The input fails to satisfy the constraints specified by an Amazon Web Services service.
-
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
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
, orEMAIL
.
Errors
-
You don't have sufficient access to perform this operation.
-
The operation failed to due an encryption key error.
-
Unexpected error occurred while processing the request.
-
Request references a resource that doesn't exist.
-
The request was denied due to request throttling.
-
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
Result Syntax
[ 'ContactArn' => '<string>', 'Policy' => '<string>', ]
Result Details
Members
Errors
-
You don't have sufficient access to perform this operation.
-
Unexpected error occurred while processing the request.
-
Request references a resource that doesn't exist.
-
The request was denied due to request throttling.
-
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/*"]}]}', ]
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
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
-
You don't have sufficient access to perform this operation.
-
The operation failed to due an encryption key error.
-
Unexpected error occurred while processing the request.
-
Request references a resource that doesn't exist.
-
The request was denied due to request throttling.
-
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', ]);
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 typeESCALATION
.
Result Syntax
[ 'Contacts' => [ [ 'Alias' => '<string>', 'ContactArn' => '<string>', 'DisplayName' => '<string>', 'Type' => 'PERSONAL|ESCALATION', ], // ... ], '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
-
You don't have sufficient access to perform this operation.
-
Unexpected error occurred while processing the request.
-
The request was denied due to request throttling.
-
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
-
You don't have sufficient access to perform this operation.
-
Unexpected error occurred while processing the request.
-
The request was denied due to request throttling.
-
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
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
-
You don't have sufficient access to perform this operation.
-
Unexpected error occurred while processing the request.
-
Request references a resource that doesn't exist.
-
The request was denied due to request throttling.
-
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', ], ], ]
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
-
You don't have sufficient access to perform this operation.
-
Unexpected error occurred while processing the request.
-
Request references a resource that doesn't exist.
-
The request was denied due to request throttling.
-
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
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
-
You don't have sufficient access to perform this operation.
-
Unexpected error occurred while processing the request.
-
Request references a resource that doesn't exist.
-
The request was denied due to request throttling.
-
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' =>, ], ], ]
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
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
-
You don't have sufficient access to perform this operation.
-
The request was denied due to request throttling.
-
Request references a resource that doesn't exist.
-
The input fails to satisfy the constraints specified by an Amazon Web Services service.
-
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
Result Syntax
[]
Result Details
Errors
-
You don't have sufficient access to perform this operation.
-
Updating or deleting a resource causes an inconsistent state.
-
The input fails to satisfy the constraints specified by an Amazon Web Services service.
-
Request references a resource that doesn't exist.
-
The request was denied due to request throttling.
-
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
Result Syntax
[]
Result Details
Errors
-
You don't have sufficient access to perform this operation.
-
The operation failed to due an encryption key error.
-
Unexpected error occurred while processing the request.
-
Request references a resource that doesn't exist.
-
ServiceQuotaExceededException:
Request would cause a service quota to be exceeded.
-
The request was denied due to request throttling.
-
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
orEMAIL
. - 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
orEMAIL
.
Result Syntax
[ 'EngagementArn' => '<string>', ]
Result Details
Errors
-
You don't have sufficient access to perform this operation.
-
The operation failed to due an encryption key error.
-
Unexpected error occurred while processing the request.
-
Request references a resource that doesn't exist.
-
The request was denied due to request throttling.
-
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
Result Syntax
[]
Result Details
Errors
-
You don't have sufficient access to perform this operation.
-
The input fails to satisfy the constraints specified by an Amazon Web Services service.
-
Request references a resource that doesn't exist.
-
The request was denied due to request throttling.
-
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
Errors
-
You don't have sufficient access to perform this operation.
-
The request was denied due to request throttling.
-
Request references a resource that doesn't exist.
-
Unexpected error occurred while processing the request.
-
ServiceQuotaExceededException:
Request would cause a service quota to be exceeded.
-
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
Result Syntax
[]
Result Details
Errors
-
You don't have sufficient access to perform this operation.
-
The request was denied due to request throttling.
-
Request references a resource that doesn't exist.
-
The input fails to satisfy the constraints specified by an Amazon Web Services service.
-
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' => [ 'Stages' => [ // REQUIRED [ '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
Errors
-
You don't have sufficient access to perform this operation.
-
Unexpected error occurred while processing the request.
-
Request references a resource that doesn't exist.
-
ServiceQuotaExceededException:
Request would cause a service quota to be exceeded.
-
The request was denied due to request throttling.
-
The input fails to satisfy the constraints specified by an Amazon Web Services service.
-
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
Errors
-
You don't have sufficient access to perform this operation.
-
Updating or deleting a resource causes an inconsistent state.
-
The operation failed to due an encryption key error.
-
Unexpected error occurred while processing the request.
-
Request references a resource that doesn't exist.
-
The request was denied due to request throttling.
-
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:
[ ]
Shapes
AccessDeniedException
Description
You don't have sufficient access to perform this operation.
Members
ChannelTargetInfo
Description
Information about the contact channel that Incident Manager uses to engage the contact.
Members
ConflictException
Description
Updating or deleting a resource causes an inconsistent state.
Members
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 typeESCALATION
.
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
ContactTargetInfo
Description
The contact that Incident Manager is engaging during an incident.
Members
DataEncryptionException
Description
The operation failed to due an encryption key error.
Members
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.
InternalServerException
Description
Unexpected error occurred while processing the request.
Members
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
The stages that an escalation plan or engagement plan engages contacts and contact methods in.
Members
- Stages
-
- Required: Yes
- Type: Array of Stage structures
A list of stages that the escalation plan or engagement plan uses to engage contacts and contact methods.
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
, orREAD
. - ReceiptType
-
- Required: Yes
- Type: string
The type follows the engagement cycle,
SENT
,DELIVERED
, andREAD
.
ResourceNotFoundException
Description
Request references a resource that doesn't exist.
Members
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
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
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
TimeRange
Description
A range of between two set times
Members
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