SSMContacts *********** Client ====== class SSMContacts.Client A low-level client representing AWS Systems Manager Incident Manager Contacts (SSM Contacts) Systems Manager Incident Manager is an incident management console designed to help users mitigate and recover from incidents affecting their Amazon Web Services-hosted applications. An incident is any unplanned interruption or reduction in quality of services. Incident Manager increases incident resolution by notifying responders of impact, highlighting relevant troubleshooting data, and providing collaboration tools to get services back up and running. To achieve the primary goal of reducing the time-to- resolution of critical incidents, Incident Manager automates response plans and enables responder team escalation. import boto3 client = boto3.client('ssm-contacts') These are the available methods: * accept_page * activate_contact_channel * can_paginate * close * create_contact * create_contact_channel * create_rotation * create_rotation_override * deactivate_contact_channel * delete_contact * delete_contact_channel * delete_rotation * delete_rotation_override * describe_engagement * describe_page * get_contact * get_contact_channel * get_contact_policy * get_paginator * get_rotation * get_rotation_override * get_waiter * list_contact_channels * list_contacts * list_engagements * list_page_receipts * list_page_resolutions * list_pages_by_contact * list_pages_by_engagement * list_preview_rotation_shifts * list_rotation_overrides * list_rotation_shifts * list_rotations * list_tags_for_resource * put_contact_policy * send_activation_code * start_engagement * stop_engagement * tag_resource * untag_resource * update_contact * update_contact_channel * update_rotation Paginators ========== Paginators are available on a client instance via the "get_paginator" method. For more detailed instructions and examples on the usage of paginators, see the paginators user guide. The available paginators are: * ListContactChannels * ListContacts * ListEngagements * ListPageReceipts * ListPageResolutions * ListPagesByContact * ListPagesByEngagement * ListPreviewRotationShifts * ListRotationOverrides * ListRotationShifts * ListRotations SSMContacts / Paginator / ListPreviewRotationShifts ListPreviewRotationShifts ************************* class SSMContacts.Paginator.ListPreviewRotationShifts paginator = client.get_paginator('list_preview_rotation_shifts') paginate(**kwargs) Creates an iterator that will paginate through responses from "SSMContacts.Client.list_preview_rotation_shifts()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( RotationStartTime=datetime(2015, 1, 1), StartTime=datetime(2015, 1, 1), EndTime=datetime(2015, 1, 1), Members=[ 'string', ], TimeZoneId='string', Recurrence={ 'MonthlySettings': [ { 'DayOfMonth': 123, 'HandOffTime': { 'HourOfDay': 123, 'MinuteOfHour': 123 } }, ], 'WeeklySettings': [ { 'DayOfWeek': 'MON'|'TUE'|'WED'|'THU'|'FRI'|'SAT'|'SUN', 'HandOffTime': { 'HourOfDay': 123, 'MinuteOfHour': 123 } }, ], 'DailySettings': [ { 'HourOfDay': 123, 'MinuteOfHour': 123 }, ], 'NumberOfOnCalls': 123, 'ShiftCoverages': { 'string': [ { 'Start': { 'HourOfDay': 123, 'MinuteOfHour': 123 }, 'End': { 'HourOfDay': 123, 'MinuteOfHour': 123 } }, ] }, 'RecurrenceMultiplier': 123 }, Overrides=[ { 'NewMembers': [ 'string', ], 'StartTime': datetime(2015, 1, 1), 'EndTime': datetime(2015, 1, 1) }, ], PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **RotationStartTime** (*datetime*) -- The date and time a rotation would begin. The first shift is calculated from this date and time. * **StartTime** (*datetime*) -- Used to filter the range of calculated shifts before sending the response back to the user. * **EndTime** (*datetime*) -- **[REQUIRED]** The date and time a rotation shift would end. * **Members** (*list*) -- **[REQUIRED]** The contacts that would be assigned to a rotation. * *(string) --* * **TimeZoneId** (*string*) -- **[REQUIRED]** 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". * **Recurrence** (*dict*) -- **[REQUIRED]** Information about how long a rotation would last before restarting at the beginning of the shift order. * **MonthlySettings** *(list) --* Information about on-call rotations that recur monthly. * *(dict) --* Information about on-call rotations that recur monthly. * **DayOfMonth** *(integer) --* **[REQUIRED]** The day of the month when monthly recurring on-call rotations begin. * **HandOffTime** *(dict) --* **[REQUIRED]** The time of day when a monthly recurring on-call shift rotation begins. * **HourOfDay** *(integer) --* **[REQUIRED]** The hour when an on-call rotation shift begins or ends. * **MinuteOfHour** *(integer) --* **[REQUIRED]** The minute when an on-call rotation shift begins or ends. * **WeeklySettings** *(list) --* Information about on-call rotations that recur weekly. * *(dict) --* Information about rotations that recur weekly. * **DayOfWeek** *(string) --* **[REQUIRED]** The day of the week when weekly recurring on-call shift rotations begins. * **HandOffTime** *(dict) --* **[REQUIRED]** The time of day when a weekly recurring on-call shift rotation begins. * **HourOfDay** *(integer) --* **[REQUIRED]** The hour when an on-call rotation shift begins or ends. * **MinuteOfHour** *(integer) --* **[REQUIRED]** The minute when an on-call rotation shift begins or ends. * **DailySettings** *(list) --* Information about on-call rotations that recur daily. * *(dict) --* Details about when an on-call rotation shift begins or ends. * **HourOfDay** *(integer) --* **[REQUIRED]** The hour when an on-call rotation shift begins or ends. * **MinuteOfHour** *(integer) --* **[REQUIRED]** The minute when an on-call rotation shift begins or ends. * **NumberOfOnCalls** *(integer) --* **[REQUIRED]** 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. * **ShiftCoverages** *(dict) --* Information about the days of the week included in on- call rotation coverage. * *(string) --* * *(list) --* * *(dict) --* Information about when an on-call shift begins and ends. * **Start** *(dict) --* Information about when the on-call rotation shift begins. * **HourOfDay** *(integer) --* **[REQUIRED]** The hour when an on-call rotation shift begins or ends. * **MinuteOfHour** *(integer) --* **[REQUIRED]** The minute when an on-call rotation shift begins or ends. * **End** *(dict) --* Information about when the on-call rotation shift ends. * **HourOfDay** *(integer) --* **[REQUIRED]** The hour when an on-call rotation shift begins or ends. * **MinuteOfHour** *(integer) --* **[REQUIRED]** The minute when an on-call rotation shift begins or ends. * **RecurrenceMultiplier** *(integer) --* **[REQUIRED]** The number of days, weeks, or months a single rotation lasts. * **Overrides** (*list*) -- Information about changes that would be made in a rotation override. * *(dict) --* Information about contacts and times that an on-call override replaces. * **NewMembers** *(list) --* Information about contacts to add to an on-call rotation override. * *(string) --* * **StartTime** *(datetime) --* Information about the time a rotation override would begin. * **EndTime** *(datetime) --* Information about the time a rotation override would end. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'RotationShifts': [ { 'ContactIds': [ 'string', ], 'StartTime': datetime(2015, 1, 1), 'EndTime': datetime(2015, 1, 1), 'Type': 'REGULAR'|'OVERRIDDEN', 'ShiftDetails': { 'OverriddenContactIds': [ 'string', ] } }, ], } **Response Structure** * *(dict) --* * **RotationShifts** *(list) --* Details about a rotation shift, including times, types, and contacts. * *(dict) --* Information about a shift that belongs to an on-call rotation. * **ContactIds** *(list) --* The Amazon Resource Names (ARNs) of the contacts who are part of the shift rotation. * *(string) --* * **StartTime** *(datetime) --* The time a shift rotation begins. * **EndTime** *(datetime) --* The time a shift rotation ends. * **Type** *(string) --* The type of shift rotation. * **ShiftDetails** *(dict) --* Additional information about an on-call rotation shift. * **OverriddenContactIds** *(list) --* 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. * *(string) --* SSMContacts / Paginator / ListRotationShifts ListRotationShifts ****************** class SSMContacts.Paginator.ListRotationShifts paginator = client.get_paginator('list_rotation_shifts') paginate(**kwargs) Creates an iterator that will paginate through responses from "SSMContacts.Client.list_rotation_shifts()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( RotationId='string', StartTime=datetime(2015, 1, 1), EndTime=datetime(2015, 1, 1), PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **RotationId** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the rotation to retrieve shift information about. * **StartTime** (*datetime*) -- The date and time for the beginning of the time range to list shifts for. * **EndTime** (*datetime*) -- **[REQUIRED]** The date and time for the end of the time range to list shifts for. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'RotationShifts': [ { 'ContactIds': [ 'string', ], 'StartTime': datetime(2015, 1, 1), 'EndTime': datetime(2015, 1, 1), 'Type': 'REGULAR'|'OVERRIDDEN', 'ShiftDetails': { 'OverriddenContactIds': [ 'string', ] } }, ], } **Response Structure** * *(dict) --* * **RotationShifts** *(list) --* Information about shifts that meet the filter criteria. * *(dict) --* Information about a shift that belongs to an on-call rotation. * **ContactIds** *(list) --* The Amazon Resource Names (ARNs) of the contacts who are part of the shift rotation. * *(string) --* * **StartTime** *(datetime) --* The time a shift rotation begins. * **EndTime** *(datetime) --* The time a shift rotation ends. * **Type** *(string) --* The type of shift rotation. * **ShiftDetails** *(dict) --* Additional information about an on-call rotation shift. * **OverriddenContactIds** *(list) --* 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. * *(string) --* SSMContacts / Paginator / ListRotationOverrides ListRotationOverrides ********************* class SSMContacts.Paginator.ListRotationOverrides paginator = client.get_paginator('list_rotation_overrides') paginate(**kwargs) Creates an iterator that will paginate through responses from "SSMContacts.Client.list_rotation_overrides()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( RotationId='string', StartTime=datetime(2015, 1, 1), EndTime=datetime(2015, 1, 1), PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **RotationId** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the rotation to retrieve information about. * **StartTime** (*datetime*) -- **[REQUIRED]** The date and time for the beginning of a time range for listing overrides. * **EndTime** (*datetime*) -- **[REQUIRED]** The date and time for the end of a time range for listing overrides. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'RotationOverrides': [ { 'RotationOverrideId': 'string', 'NewContactIds': [ 'string', ], 'StartTime': datetime(2015, 1, 1), 'EndTime': datetime(2015, 1, 1), 'CreateTime': datetime(2015, 1, 1) }, ], } **Response Structure** * *(dict) --* * **RotationOverrides** *(list) --* A list of rotation overrides in the specified time range. * *(dict) --* Information about an override specified for an on-call rotation. * **RotationOverrideId** *(string) --* The Amazon Resource Name (ARN) of the override to an on-call rotation. * **NewContactIds** *(list) --* The Amazon Resource Names (ARNs) of the contacts assigned to the override of the on-call rotation. * *(string) --* * **StartTime** *(datetime) --* The time a rotation override begins. * **EndTime** *(datetime) --* The time a rotation override ends. * **CreateTime** *(datetime) --* The time a rotation override was created. SSMContacts / Paginator / ListRotations ListRotations ************* class SSMContacts.Paginator.ListRotations paginator = client.get_paginator('list_rotations') paginate(**kwargs) Creates an iterator that will paginate through responses from "SSMContacts.Client.list_rotations()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( RotationNamePrefix='string', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **RotationNamePrefix** (*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". * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'Rotations': [ { 'RotationArn': 'string', 'Name': 'string', 'ContactIds': [ 'string', ], 'StartTime': datetime(2015, 1, 1), 'TimeZoneId': 'string', 'Recurrence': { 'MonthlySettings': [ { 'DayOfMonth': 123, 'HandOffTime': { 'HourOfDay': 123, 'MinuteOfHour': 123 } }, ], 'WeeklySettings': [ { 'DayOfWeek': 'MON'|'TUE'|'WED'|'THU'|'FRI'|'SAT'|'SUN', 'HandOffTime': { 'HourOfDay': 123, 'MinuteOfHour': 123 } }, ], 'DailySettings': [ { 'HourOfDay': 123, 'MinuteOfHour': 123 }, ], 'NumberOfOnCalls': 123, 'ShiftCoverages': { 'string': [ { 'Start': { 'HourOfDay': 123, 'MinuteOfHour': 123 }, 'End': { 'HourOfDay': 123, 'MinuteOfHour': 123 } }, ] }, 'RecurrenceMultiplier': 123 } }, ] } **Response Structure** * *(dict) --* * **Rotations** *(list) --* Information about rotations that meet the filter criteria. * *(dict) --* Information about a rotation in an on-call schedule. * **RotationArn** *(string) --* The Amazon Resource Name (ARN) of the rotation. * **Name** *(string) --* The name of the rotation. * **ContactIds** *(list) --* The Amazon Resource Names (ARNs) of the contacts assigned to the rotation team. * *(string) --* * **StartTime** *(datetime) --* The date and time the rotation becomes active. * **TimeZoneId** *(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". * **Recurrence** *(dict) --* Information about when an on-call rotation is in effect and how long the rotation period lasts. * **MonthlySettings** *(list) --* Information about on-call rotations that recur monthly. * *(dict) --* Information about on-call rotations that recur monthly. * **DayOfMonth** *(integer) --* The day of the month when monthly recurring on- call rotations begin. * **HandOffTime** *(dict) --* The time of day when a monthly recurring on- call shift rotation begins. * **HourOfDay** *(integer) --* The hour when an on-call rotation shift begins or ends. * **MinuteOfHour** *(integer) --* The minute when an on-call rotation shift begins or ends. * **WeeklySettings** *(list) --* Information about on-call rotations that recur weekly. * *(dict) --* Information about rotations that recur weekly. * **DayOfWeek** *(string) --* The day of the week when weekly recurring on- call shift rotations begins. * **HandOffTime** *(dict) --* The time of day when a weekly recurring on-call shift rotation begins. * **HourOfDay** *(integer) --* The hour when an on-call rotation shift begins or ends. * **MinuteOfHour** *(integer) --* The minute when an on-call rotation shift begins or ends. * **DailySettings** *(list) --* Information about on-call rotations that recur daily. * *(dict) --* Details about when an on-call rotation shift begins or ends. * **HourOfDay** *(integer) --* The hour when an on-call rotation shift begins or ends. * **MinuteOfHour** *(integer) --* The minute when an on-call rotation shift begins or ends. * **NumberOfOnCalls** *(integer) --* 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. * **ShiftCoverages** *(dict) --* Information about the days of the week included in on-call rotation coverage. * *(string) --* * *(list) --* * *(dict) --* Information about when an on-call shift begins and ends. * **Start** *(dict) --* Information about when the on-call rotation shift begins. * **HourOfDay** *(integer) --* The hour when an on-call rotation shift begins or ends. * **MinuteOfHour** *(integer) --* The minute when an on-call rotation shift begins or ends. * **End** *(dict) --* Information about when the on-call rotation shift ends. * **HourOfDay** *(integer) --* The hour when an on-call rotation shift begins or ends. * **MinuteOfHour** *(integer) --* The minute when an on-call rotation shift begins or ends. * **RecurrenceMultiplier** *(integer) --* The number of days, weeks, or months a single rotation lasts. SSMContacts / Paginator / ListPageResolutions ListPageResolutions ******************* class SSMContacts.Paginator.ListPageResolutions paginator = client.get_paginator('list_page_resolutions') paginate(**kwargs) Creates an iterator that will paginate through responses from "SSMContacts.Client.list_page_resolutions()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( PageId='string', PaginationConfig={ 'MaxItems': 123, 'StartingToken': 'string' } ) Parameters: * **PageId** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the contact engaged for the incident. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'PageResolutions': [ { 'ContactArn': 'string', 'Type': 'PERSONAL'|'ESCALATION'|'ONCALL_SCHEDULE', 'StageIndex': 123 }, ] } **Response Structure** * *(dict) --* * **PageResolutions** *(list) --* Information about the resolution for an engagement. * *(dict) --* 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. * **ContactArn** *(string) --* The Amazon Resource Name (ARN) of a contact in the engagement resolution process. * **Type** *(string) --* The type of contact for a resolution step. * **StageIndex** *(integer) --* The stage in the escalation plan that resolves to this contact. SSMContacts / Paginator / ListContactChannels ListContactChannels ******************* class SSMContacts.Paginator.ListContactChannels paginator = client.get_paginator('list_contact_channels') paginate(**kwargs) Creates an iterator that will paginate through responses from "SSMContacts.Client.list_contact_channels()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( ContactId='string', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **ContactId** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the contact. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'ContactChannels': [ { 'ContactChannelArn': 'string', 'ContactArn': 'string', 'Name': 'string', 'Type': 'SMS'|'VOICE'|'EMAIL', 'DeliveryAddress': { 'SimpleAddress': 'string' }, 'ActivationStatus': 'ACTIVATED'|'NOT_ACTIVATED' }, ] } **Response Structure** * *(dict) --* * **ContactChannels** *(list) --* A list of contact channels related to the specified contact. * *(dict) --* The method that Incident Manager uses to engage a contact. * **ContactChannelArn** *(string) --* The Amazon Resource Name (ARN) of the contact channel. * **ContactArn** *(string) --* The ARN of the contact that contains the contact channel. * **Name** *(string) --* The name of the contact channel. * **Type** *(string) --* The type of the contact channel. Incident Manager supports three contact methods: * SMS * VOICE * EMAIL * **DeliveryAddress** *(dict) --* The details that Incident Manager uses when trying to engage the contact channel. * **SimpleAddress** *(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 * **ActivationStatus** *(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. SSMContacts / Paginator / ListPageReceipts ListPageReceipts **************** class SSMContacts.Paginator.ListPageReceipts paginator = client.get_paginator('list_page_receipts') paginate(**kwargs) Creates an iterator that will paginate through responses from "SSMContacts.Client.list_page_receipts()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( PageId='string', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **PageId** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the engagement to a specific contact channel. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'Receipts': [ { 'ContactChannelArn': 'string', 'ReceiptType': 'DELIVERED'|'ERROR'|'READ'|'SENT'|'STOP', 'ReceiptInfo': 'string', 'ReceiptTime': datetime(2015, 1, 1) }, ] } **Response Structure** * *(dict) --* * **Receipts** *(list) --* A list of each acknowledgement. * *(dict) --* Records events during an engagement. * **ContactChannelArn** *(string) --* The Amazon Resource Name (ARN) of the contact channel Incident Manager engaged. * **ReceiptType** *(string) --* The type follows the engagement cycle, "SENT", "DELIVERED", and "READ". * **ReceiptInfo** *(string) --* Information provided during the page acknowledgement. * **ReceiptTime** *(datetime) --* The time receipt was "SENT", "DELIVERED", or "READ". SSMContacts / Paginator / ListPagesByContact ListPagesByContact ****************** class SSMContacts.Paginator.ListPagesByContact paginator = client.get_paginator('list_pages_by_contact') paginate(**kwargs) Creates an iterator that will paginate through responses from "SSMContacts.Client.list_pages_by_contact()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( ContactId='string', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **ContactId** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the contact you are retrieving engagements for. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'Pages': [ { 'PageArn': 'string', 'EngagementArn': 'string', 'ContactArn': 'string', 'Sender': 'string', 'IncidentId': 'string', 'SentTime': datetime(2015, 1, 1), 'DeliveryTime': datetime(2015, 1, 1), 'ReadTime': datetime(2015, 1, 1) }, ] } **Response Structure** * *(dict) --* * **Pages** *(list) --* The list of engagements to a contact's contact channel. * *(dict) --* Incident Manager engaging a contact's contact channel. * **PageArn** *(string) --* The Amazon Resource Name (ARN) of the page to the contact channel. * **EngagementArn** *(string) --* The ARN of the engagement that this page is part of. * **ContactArn** *(string) --* The ARN of the contact that Incident Manager is engaging. * **Sender** *(string) --* The user that started the engagement. * **IncidentId** *(string) --* The ARN of the incident that's engaging the contact channel. * **SentTime** *(datetime) --* The time that Incident Manager engaged the contact channel. * **DeliveryTime** *(datetime) --* The time the message was delivered to the contact channel. * **ReadTime** *(datetime) --* The time that the contact channel acknowledged engagement. SSMContacts / Paginator / ListEngagements ListEngagements *************** class SSMContacts.Paginator.ListEngagements paginator = client.get_paginator('list_engagements') paginate(**kwargs) Creates an iterator that will paginate through responses from "SSMContacts.Client.list_engagements()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( IncidentId='string', TimeRangeValue={ 'StartTime': datetime(2015, 1, 1), 'EndTime': datetime(2015, 1, 1) }, PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **IncidentId** (*string*) -- The Amazon Resource Name (ARN) of the incident you're listing engagements for. * **TimeRangeValue** (*dict*) -- The time range to lists engagements for an incident. * **StartTime** *(datetime) --* The start of the time range. * **EndTime** *(datetime) --* The end of the time range. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'Engagements': [ { 'EngagementArn': 'string', 'ContactArn': 'string', 'Sender': 'string', 'IncidentId': 'string', 'StartTime': datetime(2015, 1, 1), 'StopTime': datetime(2015, 1, 1) }, ] } **Response Structure** * *(dict) --* * **Engagements** *(list) --* A list of each engagement that occurred during the specified time range of an incident. * *(dict) --* Incident Manager reaching out to a contact or escalation plan to engage contact during an incident. * **EngagementArn** *(string) --* The Amazon Resource Name (ARN) of the engagement. * **ContactArn** *(string) --* The ARN of the escalation plan or contact that Incident Manager is engaging. * **Sender** *(string) --* The user that started the engagement. * **IncidentId** *(string) --* The ARN of the incident that's engaging the contact. * **StartTime** *(datetime) --* The time that the engagement began. * **StopTime** *(datetime) --* The time that the engagement ended. SSMContacts / Paginator / ListContacts ListContacts ************ class SSMContacts.Paginator.ListContacts paginator = client.get_paginator('list_contacts') paginate(**kwargs) Creates an iterator that will paginate through responses from "SSMContacts.Client.list_contacts()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( AliasPrefix='string', Type='PERSONAL'|'ESCALATION'|'ONCALL_SCHEDULE', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **AliasPrefix** (*string*) -- Used to list only contacts who's aliases start with the specified prefix. * **Type** (*string*) -- The type of contact. A contact is type "PERSONAL" and an escalation plan is type "ESCALATION". * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'Contacts': [ { 'ContactArn': 'string', 'Alias': 'string', 'DisplayName': 'string', 'Type': 'PERSONAL'|'ESCALATION'|'ONCALL_SCHEDULE' }, ] } **Response Structure** * *(dict) --* * **Contacts** *(list) --* A list of the contacts and escalation plans in your Incident Manager account. * *(dict) --* A personal contact or escalation plan that Incident Manager engages during an incident. * **ContactArn** *(string) --* The Amazon Resource Name (ARN) of the contact or escalation plan. * **Alias** *(string) --* The unique and identifiable alias of the contact or escalation plan. * **DisplayName** *(string) --* The full name of the contact or escalation plan. * **Type** *(string) --* Refers to the type of contact. A single contact is type "PERSONAL" and an escalation plan is type "ESCALATION". SSMContacts / Paginator / ListPagesByEngagement ListPagesByEngagement ********************* class SSMContacts.Paginator.ListPagesByEngagement paginator = client.get_paginator('list_pages_by_engagement') paginate(**kwargs) Creates an iterator that will paginate through responses from "SSMContacts.Client.list_pages_by_engagement()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( EngagementId='string', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **EngagementId** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the engagement. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'Pages': [ { 'PageArn': 'string', 'EngagementArn': 'string', 'ContactArn': 'string', 'Sender': 'string', 'IncidentId': 'string', 'SentTime': datetime(2015, 1, 1), 'DeliveryTime': datetime(2015, 1, 1), 'ReadTime': datetime(2015, 1, 1) }, ] } **Response Structure** * *(dict) --* * **Pages** *(list) --* The list of engagements to contact channels. * *(dict) --* Incident Manager engaging a contact's contact channel. * **PageArn** *(string) --* The Amazon Resource Name (ARN) of the page to the contact channel. * **EngagementArn** *(string) --* The ARN of the engagement that this page is part of. * **ContactArn** *(string) --* The ARN of the contact that Incident Manager is engaging. * **Sender** *(string) --* The user that started the engagement. * **IncidentId** *(string) --* The ARN of the incident that's engaging the contact channel. * **SentTime** *(datetime) --* The time that Incident Manager engaged the contact channel. * **DeliveryTime** *(datetime) --* The time the message was delivered to the contact channel. * **ReadTime** *(datetime) --* The time that the contact channel acknowledged engagement. SSMContacts / Client / stop_engagement stop_engagement *************** SSMContacts.Client.stop_engagement(**kwargs) Stops an engagement before it finishes the final stage of the escalation plan or engagement plan. Further contacts aren't engaged. See also: AWS API Documentation **Request Syntax** response = client.stop_engagement( EngagementId='string', Reason='string' ) Parameters: * **EngagementId** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the engagement. * **Reason** (*string*) -- The reason that you're stopping the engagement. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "SSMContacts.Client.exceptions.AccessDeniedException" * "SSMContacts.Client.exceptions.ValidationException" * "SSMContacts.Client.exceptions.ResourceNotFoundException" * "SSMContacts.Client.exceptions.ThrottlingException" * "SSMContacts.Client.exceptions.InternalServerException" **Examples** The following stop-engagement example stops an engagement from paging further contacts and contact channels. response = client.stop_engagement( EngagementId='arn:aws:ssm-contacts:us-east-2:111122223333:engagement/example_escalation/69e40ce1-8dbb-4d57-8962-5fbe7fc53356', ) print(response) Expected Output: { 'ResponseMetadata': { '...': '...', }, } SSMContacts / Client / update_contact_channel update_contact_channel ********************** SSMContacts.Client.update_contact_channel(**kwargs) Updates a contact's contact channel. See also: AWS API Documentation **Request Syntax** response = client.update_contact_channel( ContactChannelId='string', Name='string', DeliveryAddress={ 'SimpleAddress': 'string' } ) Parameters: * **ContactChannelId** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the contact channel you want to update. * **Name** (*string*) -- The name of the contact channel. * **DeliveryAddress** (*dict*) -- The details that Incident Manager uses when trying to engage the contact channel. * **SimpleAddress** *(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 Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "SSMContacts.Client.exceptions.AccessDeniedException" * "SSMContacts.Client.exceptions.ConflictException" * "SSMContacts.Client.exceptions.DataEncryptionException" * "SSMContacts.Client.exceptions.InternalServerException" * "SSMContacts.Client.exceptions.ResourceNotFoundException" * "SSMContacts.Client.exceptions.ThrottlingException" * "SSMContacts.Client.exceptions.ValidationException" **Examples** The following update-contact-channel example updates the name and delivery address of a contact channel. response = client.update_contact_channel( ContactChannelId='arn:aws:ssm-contacts:us-east-2:111122223333:contact-channel/akuam/49f3c24d-5f9f-4638-ae25-3f49e04229ad', DeliveryAddress={ 'SimpleAddress': '+15005550198', }, Name='akuas voice channel', ) print(response) Expected Output: { 'ResponseMetadata': { '...': '...', }, } SSMContacts / Client / update_contact update_contact ************** SSMContacts.Client.update_contact(**kwargs) Updates the contact or escalation plan specified. See also: AWS API Documentation **Request Syntax** response = client.update_contact( ContactId='string', DisplayName='string', Plan={ 'Stages': [ { 'DurationInMinutes': 123, 'Targets': [ { 'ChannelTargetInfo': { 'ContactChannelId': 'string', 'RetryIntervalInMinutes': 123 }, 'ContactTargetInfo': { 'ContactId': 'string', 'IsEssential': True|False } }, ] }, ], 'RotationIds': [ 'string', ] } ) Parameters: * **ContactId** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the contact or escalation plan you're updating. * **DisplayName** (*string*) -- The full name of the contact or escalation plan. * **Plan** (*dict*) -- 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. * **Stages** *(list) --* A list of stages that the escalation plan or engagement plan uses to engage contacts and contact methods. * *(dict) --* A set amount of time that an escalation plan or engagement plan engages the specified contacts or contact methods. * **DurationInMinutes** *(integer) --* **[REQUIRED]** The time to wait until beginning the next stage. The duration can only be set to 0 if a target is specified. * **Targets** *(list) --* **[REQUIRED]** The contacts or contact methods that the escalation plan or engagement plan is engaging. * *(dict) --* The contact or contact channel that's being engaged. * **ChannelTargetInfo** *(dict) --* Information about the contact channel Incident Manager is engaging. * **ContactChannelId** *(string) --* **[REQUIRED]** The Amazon Resource Name (ARN) of the contact channel. * **RetryIntervalInMinutes** *(integer) --* The number of minutes to wait to retry sending engagement in the case the engagement initially fails. * **ContactTargetInfo** *(dict) --* Information about the contact that Incident Manager is engaging. * **ContactId** *(string) --* The Amazon Resource Name (ARN) of the contact. * **IsEssential** *(boolean) --* **[REQUIRED]** A Boolean value determining if the contact's acknowledgement stops the progress of stages in the plan. * **RotationIds** *(list) --* The Amazon Resource Names (ARNs) of the on-call rotations associated with the plan. * *(string) --* Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "SSMContacts.Client.exceptions.AccessDeniedException" * "SSMContacts.Client.exceptions.InternalServerException" * "SSMContacts.Client.exceptions.ResourceNotFoundException" * "SSMContacts.Client.exceptions.ServiceQuotaExceededException" * "SSMContacts.Client.exceptions.ThrottlingException" * "SSMContacts.Client.exceptions.ValidationException" * "SSMContacts.Client.exceptions.DataEncryptionException" **Examples** 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. response = client.update_contact( 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, }, }, ], }, ], }, ) print(response) Expected Output: { 'ResponseMetadata': { '...': '...', }, } SSMContacts / Client / get_paginator get_paginator ************* SSMContacts.Client.get_paginator(operation_name) Create a paginator for an operation. Parameters: **operation_name** (*string*) -- The operation name. This is the same name as the method name on the client. For example, if the method name is "create_foo", and you'd normally invoke the operation as "client.create_foo(**kwargs)", if the "create_foo" operation can be paginated, you can use the call "client.get_paginator("create_foo")". Raises: **OperationNotPageableError** -- Raised if the operation is not pageable. You can use the "client.can_paginate" method to check if an operation is pageable. Return type: "botocore.paginate.Paginator" Returns: A paginator object. SSMContacts / Client / accept_page accept_page *********** SSMContacts.Client.accept_page(**kwargs) Used to acknowledge an engagement to a contact channel during an incident. See also: AWS API Documentation **Request Syntax** response = client.accept_page( PageId='string', ContactChannelId='string', AcceptType='DELIVERED'|'READ', Note='string', AcceptCode='string', AcceptCodeValidation='IGNORE'|'ENFORCE' ) Parameters: * **PageId** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the engagement to a contact channel. * **ContactChannelId** (*string*) -- The ARN of the contact channel. * **AcceptType** (*string*) -- **[REQUIRED]** The type indicates if the page was "DELIVERED" or "READ". * **Note** (*string*) -- Information provided by the user when the user acknowledges the page. * **AcceptCode** (*string*) -- **[REQUIRED]** A 6-digit code used to acknowledge the page. * **AcceptCodeValidation** (*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". Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "SSMContacts.Client.exceptions.AccessDeniedException" * "SSMContacts.Client.exceptions.InternalServerException" * "SSMContacts.Client.exceptions.ResourceNotFoundException" * "SSMContacts.Client.exceptions.ThrottlingException" * "SSMContacts.Client.exceptions.ValidationException" **Examples** The following accept-page operation uses an accept code sent to the contact channel to accept a page. response = client.accept_page( AcceptCode='425440', AcceptType='READ', PageId='arn:aws:ssm-contacts:us-east-2:682428703967:page/akuam/94ea0c7b-56d9-46c3-b84a-a37c8b067ad3', ) print(response) Expected Output: { 'ResponseMetadata': { '...': '...', }, } SSMContacts / Client / activate_contact_channel activate_contact_channel ************************ SSMContacts.Client.activate_contact_channel(**kwargs) Activates a contact's contact channel. Incident Manager can't engage a contact until the contact channel has been activated. See also: AWS API Documentation **Request Syntax** response = client.activate_contact_channel( ContactChannelId='string', ActivationCode='string' ) Parameters: * **ContactChannelId** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the contact channel. * **ActivationCode** (*string*) -- **[REQUIRED]** The code sent to the contact channel when it was created in the contact. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "SSMContacts.Client.exceptions.AccessDeniedException" * "SSMContacts.Client.exceptions.InternalServerException" * "SSMContacts.Client.exceptions.ResourceNotFoundException" * "SSMContacts.Client.exceptions.ThrottlingException" * "SSMContacts.Client.exceptions.ValidationException" **Examples** The following activate-contact-channel example activates a contact channel and makes it usable as part of an incident. response = client.activate_contact_channel( ActivationCode='466136', ContactChannelId='arn:aws:ssm-contacts:us-east-2:111122223333:contact-channel/akuam/fc7405c4-46b2-48b7-87b2-93e2f225b90d', ) print(response) Expected Output: { 'ResponseMetadata': { '...': '...', }, } SSMContacts / Client / can_paginate can_paginate ************ SSMContacts.Client.can_paginate(operation_name) Check if an operation can be paginated. Parameters: **operation_name** (*string*) -- The operation name. This is the same name as the method name on the client. For example, if the method name is "create_foo", and you'd normally invoke the operation as "client.create_foo(**kwargs)", if the "create_foo" operation can be paginated, you can use the call "client.get_paginator("create_foo")". Returns: "True" if the operation can be paginated, "False" otherwise. SSMContacts / Client / get_contact_channel get_contact_channel ******************* SSMContacts.Client.get_contact_channel(**kwargs) List details about a specific contact channel. See also: AWS API Documentation **Request Syntax** response = client.get_contact_channel( ContactChannelId='string' ) Parameters: **ContactChannelId** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the contact channel you want information about. Return type: dict Returns: **Response Syntax** { 'ContactArn': 'string', 'ContactChannelArn': 'string', 'Name': 'string', 'Type': 'SMS'|'VOICE'|'EMAIL', 'DeliveryAddress': { 'SimpleAddress': 'string' }, 'ActivationStatus': 'ACTIVATED'|'NOT_ACTIVATED' } **Response Structure** * *(dict) --* * **ContactArn** *(string) --* The ARN of the contact that the channel belongs to. * **ContactChannelArn** *(string) --* The ARN of the contact channel. * **Name** *(string) --* The name of the contact channel * **Type** *(string) --* The type of contact channel. The type is "SMS", "VOICE", or "EMAIL". * **DeliveryAddress** *(dict) --* The details that Incident Manager uses when trying to engage the contact channel. * **SimpleAddress** *(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 * **ActivationStatus** *(string) --* A Boolean value indicating if the contact channel has been activated or not. **Exceptions** * "SSMContacts.Client.exceptions.AccessDeniedException" * "SSMContacts.Client.exceptions.DataEncryptionException" * "SSMContacts.Client.exceptions.InternalServerException" * "SSMContacts.Client.exceptions.ResourceNotFoundException" * "SSMContacts.Client.exceptions.ThrottlingException" * "SSMContacts.Client.exceptions.ValidationException" **Examples** The following get-contact-channel example lists the details of a contact channel. response = client.get_contact_channel( ContactChannelId='arn:aws:ssm-contacts:us-east-2:111122223333:contact-channel/akuam/fc7405c4-46b2-48b7-87b2-93e2f225b90d', ) print(response) Expected Output: { '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', 'ResponseMetadata': { '...': '...', }, } SSMContacts / Client / describe_page describe_page ************* SSMContacts.Client.describe_page(**kwargs) Lists details of the engagement to a contact channel. See also: AWS API Documentation **Request Syntax** response = client.describe_page( PageId='string' ) Parameters: **PageId** (*string*) -- **[REQUIRED]** The ID of the engagement to a contact channel. Return type: dict Returns: **Response Syntax** { 'PageArn': 'string', 'EngagementArn': 'string', 'ContactArn': 'string', 'Sender': 'string', 'Subject': 'string', 'Content': 'string', 'PublicSubject': 'string', 'PublicContent': 'string', 'IncidentId': 'string', 'SentTime': datetime(2015, 1, 1), 'ReadTime': datetime(2015, 1, 1), 'DeliveryTime': datetime(2015, 1, 1) } **Response Structure** * *(dict) --* * **PageArn** *(string) --* The Amazon Resource Name (ARN) of the engagement to a contact channel. * **EngagementArn** *(string) --* The ARN of the engagement that engaged the contact channel. * **ContactArn** *(string) --* The ARN of the contact that was engaged. * **Sender** *(string) --* The user that started the engagement. * **Subject** *(string) --* The secure subject of the message that was sent to the contact. Use this field for engagements to "VOICE" and "EMAIL". * **Content** *(string) --* The secure content of the message that was sent to the contact. Use this field for engagements to "VOICE" and "EMAIL". * **PublicSubject** *(string) --* The insecure subject of the message that was sent to the contact. Use this field for engagements to "SMS". * **PublicContent** *(string) --* The insecure content of the message that was sent to the contact. Use this field for engagements to "SMS". * **IncidentId** *(string) --* The ARN of the incident that engaged the contact channel. * **SentTime** *(datetime) --* The time the engagement was sent to the contact channel. * **ReadTime** *(datetime) --* The time that the contact channel acknowledged the engagement. * **DeliveryTime** *(datetime) --* The time that the contact channel received the engagement. **Exceptions** * "SSMContacts.Client.exceptions.AccessDeniedException" * "SSMContacts.Client.exceptions.DataEncryptionException" * "SSMContacts.Client.exceptions.InternalServerException" * "SSMContacts.Client.exceptions.ResourceNotFoundException" * "SSMContacts.Client.exceptions.ThrottlingException" * "SSMContacts.Client.exceptions.ValidationException" **Examples** The following describe-page example lists details of a page to a contact channel. The page will include the subject and content provided. response = client.describe_page( PageId='arn:aws:ssm-contacts:us-east-2:111122223333:page/akuam/ad0052bd-e606-498a-861b-25726292eb93', ) print(response) Expected Output: { 'ContactArn': 'arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam', 'Content': 'Testing engagements', 'DeliveryTime': datetime(2021, 5, 18, 18, 43, 55, 1, 138, 0), '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': datetime(2021, 5, 18, 18, 43, 55, 1, 138, 0), 'Sender': 'tester', 'SentTime': datetime(2021, 5, 18, 18, 43, 29, 1, 138, 0), 'Subject': 'test', 'ResponseMetadata': { '...': '...', }, } SSMContacts / Client / update_rotation update_rotation *************** SSMContacts.Client.update_rotation(**kwargs) Updates the information specified for an on-call rotation. See also: AWS API Documentation **Request Syntax** response = client.update_rotation( RotationId='string', ContactIds=[ 'string', ], StartTime=datetime(2015, 1, 1), TimeZoneId='string', Recurrence={ 'MonthlySettings': [ { 'DayOfMonth': 123, 'HandOffTime': { 'HourOfDay': 123, 'MinuteOfHour': 123 } }, ], 'WeeklySettings': [ { 'DayOfWeek': 'MON'|'TUE'|'WED'|'THU'|'FRI'|'SAT'|'SUN', 'HandOffTime': { 'HourOfDay': 123, 'MinuteOfHour': 123 } }, ], 'DailySettings': [ { 'HourOfDay': 123, 'MinuteOfHour': 123 }, ], 'NumberOfOnCalls': 123, 'ShiftCoverages': { 'string': [ { 'Start': { 'HourOfDay': 123, 'MinuteOfHour': 123 }, 'End': { 'HourOfDay': 123, 'MinuteOfHour': 123 } }, ] }, 'RecurrenceMultiplier': 123 } ) Parameters: * **RotationId** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the rotation to update. * **ContactIds** (*list*) -- 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. * *(string) --* * **StartTime** (*datetime*) -- The date and time the rotation goes into effect. * **TimeZoneId** (*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. Note: 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. * **Recurrence** (*dict*) -- **[REQUIRED]** Information about how long the updated rotation lasts before restarting at the beginning of the shift order. * **MonthlySettings** *(list) --* Information about on-call rotations that recur monthly. * *(dict) --* Information about on-call rotations that recur monthly. * **DayOfMonth** *(integer) --* **[REQUIRED]** The day of the month when monthly recurring on-call rotations begin. * **HandOffTime** *(dict) --* **[REQUIRED]** The time of day when a monthly recurring on-call shift rotation begins. * **HourOfDay** *(integer) --* **[REQUIRED]** The hour when an on-call rotation shift begins or ends. * **MinuteOfHour** *(integer) --* **[REQUIRED]** The minute when an on-call rotation shift begins or ends. * **WeeklySettings** *(list) --* Information about on-call rotations that recur weekly. * *(dict) --* Information about rotations that recur weekly. * **DayOfWeek** *(string) --* **[REQUIRED]** The day of the week when weekly recurring on-call shift rotations begins. * **HandOffTime** *(dict) --* **[REQUIRED]** The time of day when a weekly recurring on-call shift rotation begins. * **HourOfDay** *(integer) --* **[REQUIRED]** The hour when an on-call rotation shift begins or ends. * **MinuteOfHour** *(integer) --* **[REQUIRED]** The minute when an on-call rotation shift begins or ends. * **DailySettings** *(list) --* Information about on-call rotations that recur daily. * *(dict) --* Details about when an on-call rotation shift begins or ends. * **HourOfDay** *(integer) --* **[REQUIRED]** The hour when an on-call rotation shift begins or ends. * **MinuteOfHour** *(integer) --* **[REQUIRED]** The minute when an on-call rotation shift begins or ends. * **NumberOfOnCalls** *(integer) --* **[REQUIRED]** 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. * **ShiftCoverages** *(dict) --* Information about the days of the week included in on-call rotation coverage. * *(string) --* * *(list) --* * *(dict) --* Information about when an on-call shift begins and ends. * **Start** *(dict) --* Information about when the on-call rotation shift begins. * **HourOfDay** *(integer) --* **[REQUIRED]** The hour when an on-call rotation shift begins or ends. * **MinuteOfHour** *(integer) --* **[REQUIRED]** The minute when an on-call rotation shift begins or ends. * **End** *(dict) --* Information about when the on-call rotation shift ends. * **HourOfDay** *(integer) --* **[REQUIRED]** The hour when an on-call rotation shift begins or ends. * **MinuteOfHour** *(integer) --* **[REQUIRED]** The minute when an on-call rotation shift begins or ends. * **RecurrenceMultiplier** *(integer) --* **[REQUIRED]** The number of days, weeks, or months a single rotation lasts. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "SSMContacts.Client.exceptions.AccessDeniedException" * "SSMContacts.Client.exceptions.ConflictException" * "SSMContacts.Client.exceptions.InternalServerException" * "SSMContacts.Client.exceptions.ResourceNotFoundException" * "SSMContacts.Client.exceptions.ThrottlingException" * "SSMContacts.Client.exceptions.ValidationException" SSMContacts / Client / get_rotation_override get_rotation_override ********************* SSMContacts.Client.get_rotation_override(**kwargs) Retrieves information about an override to an on-call rotation. See also: AWS API Documentation **Request Syntax** response = client.get_rotation_override( RotationId='string', RotationOverrideId='string' ) Parameters: * **RotationId** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the overridden rotation to retrieve information about. * **RotationOverrideId** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the on-call rotation override to retrieve information about. Return type: dict Returns: **Response Syntax** { 'RotationOverrideId': 'string', 'RotationArn': 'string', 'NewContactIds': [ 'string', ], 'StartTime': datetime(2015, 1, 1), 'EndTime': datetime(2015, 1, 1), 'CreateTime': datetime(2015, 1, 1) } **Response Structure** * *(dict) --* * **RotationOverrideId** *(string) --* The Amazon Resource Name (ARN) of the override to an on-call rotation. * **RotationArn** *(string) --* The Amazon Resource Name (ARN) of the on-call rotation that was overridden. * **NewContactIds** *(list) --* The Amazon Resource Names (ARNs) of the contacts assigned to the override of the on-call rotation. * *(string) --* * **StartTime** *(datetime) --* The date and time when the override goes into effect. * **EndTime** *(datetime) --* The date and time when the override ends. * **CreateTime** *(datetime) --* The date and time when the override was created. **Exceptions** * "SSMContacts.Client.exceptions.AccessDeniedException" * "SSMContacts.Client.exceptions.InternalServerException" * "SSMContacts.Client.exceptions.ResourceNotFoundException" * "SSMContacts.Client.exceptions.ThrottlingException" * "SSMContacts.Client.exceptions.ValidationException" SSMContacts / Client / create_contact_channel create_contact_channel ********************** SSMContacts.Client.create_contact_channel(**kwargs) A contact channel is the method that Incident Manager uses to engage your contact. See also: AWS API Documentation **Request Syntax** response = client.create_contact_channel( ContactId='string', Name='string', Type='SMS'|'VOICE'|'EMAIL', DeliveryAddress={ 'SimpleAddress': 'string' }, DeferActivation=True|False, IdempotencyToken='string' ) Parameters: * **ContactId** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the contact you are adding the contact channel to. * **Name** (*string*) -- **[REQUIRED]** The name of the contact channel. * **Type** (*string*) -- **[REQUIRED]** Incident Manager supports three types of contact channels: * "SMS" * "VOICE" * "EMAIL" * **DeliveryAddress** (*dict*) -- **[REQUIRED]** 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 * **SimpleAddress** *(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 * **DeferActivation** (*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. * **IdempotencyToken** (*string*) -- A token ensuring that the operation is called only once with the specified details. This field is autopopulated if not provided. Return type: dict Returns: **Response Syntax** { 'ContactChannelArn': 'string' } **Response Structure** * *(dict) --* * **ContactChannelArn** *(string) --* The Amazon Resource Name (ARN) of the contact channel. **Exceptions** * "SSMContacts.Client.exceptions.AccessDeniedException" * "SSMContacts.Client.exceptions.ConflictException" * "SSMContacts.Client.exceptions.DataEncryptionException" * "SSMContacts.Client.exceptions.InternalServerException" * "SSMContacts.Client.exceptions.ThrottlingException" * "SSMContacts.Client.exceptions.ValidationException" **Examples** Creates a contact channel of type SMS for the contact Akua Mansa. Contact channels can be created of type SMS, EMAIL, or VOICE. response = client.create_contact_channel( ContactId='arn:aws:ssm-contacts:us-east-1:111122223333:contact/akuam', DeliveryAddress={ 'SimpleAddress': '+15005550199', }, Name='akuas sms-test', Type='SMS', ) print(response) Expected Output: { 'ContactChannelArn': 'arn:aws:ssm-contacts:us-east-1:111122223333:contact-channel/akuam/02f506b9-ea5d-4764-af89-2daa793ff024', 'ResponseMetadata': { '...': '...', }, } SSMContacts / Client / start_engagement start_engagement **************** SSMContacts.Client.start_engagement(**kwargs) Starts an engagement to a contact or escalation plan. The engagement engages each contact specified in the incident. See also: AWS API Documentation **Request Syntax** response = client.start_engagement( ContactId='string', Sender='string', Subject='string', Content='string', PublicSubject='string', PublicContent='string', IncidentId='string', IdempotencyToken='string' ) Parameters: * **ContactId** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the contact being engaged. * **Sender** (*string*) -- **[REQUIRED]** The user that started the engagement. * **Subject** (*string*) -- **[REQUIRED]** The secure subject of the message that was sent to the contact. Use this field for engagements to "VOICE" or "EMAIL". * **Content** (*string*) -- **[REQUIRED]** The secure content of the message that was sent to the contact. Use this field for engagements to "VOICE" or "EMAIL". * **PublicSubject** (*string*) -- The insecure subject of the message that was sent to the contact. Use this field for engagements to "SMS". * **PublicContent** (*string*) -- The insecure content of the message that was sent to the contact. Use this field for engagements to "SMS". * **IncidentId** (*string*) -- The ARN of the incident that the engagement is part of. * **IdempotencyToken** (*string*) -- A token ensuring that the operation is called only once with the specified details. This field is autopopulated if not provided. Return type: dict Returns: **Response Syntax** { 'EngagementArn': 'string' } **Response Structure** * *(dict) --* * **EngagementArn** *(string) --* The ARN of the engagement. **Exceptions** * "SSMContacts.Client.exceptions.AccessDeniedException" * "SSMContacts.Client.exceptions.DataEncryptionException" * "SSMContacts.Client.exceptions.InternalServerException" * "SSMContacts.Client.exceptions.ResourceNotFoundException" * "SSMContacts.Client.exceptions.ThrottlingException" * "SSMContacts.Client.exceptions.ValidationException" **Examples** 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. response = client.start_engagement( ContactId='arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam', Content='Testing engagements', PublicContent='Testing engagements', PublicSubject='test', Sender='tester', Subject='test', ) print(response) Expected Output: { 'EngagementArn': 'arn:aws:ssm-contacts:us-east-2:111122223333:engagement/akuam/607ced0e-e8fa-4ea7-8958-a237b8803f8f', 'ResponseMetadata': { '...': '...', }, } The following start-engagement engages contact's through an escalation plan. Each contact is paged according to their engagement plan. response = client.start_engagement( ContactId='arn:aws:ssm-contacts:us-east-2:111122223333:contact/example_escalation', Content='Testing engagements', PublicContent='Testing engagements', PublicSubject='test', Sender='tester', Subject='test', ) print(response) Expected Output: { 'EngagementArn': 'arn:aws:ssm-contacts:us-east-2:111122223333:engagement/example_escalation/69e40ce1-8dbb-4d57-8962-5fbe7fc53356', 'ResponseMetadata': { '...': '...', }, } SSMContacts / Client / list_rotation_shifts list_rotation_shifts ******************** SSMContacts.Client.list_rotation_shifts(**kwargs) Returns a list of shifts generated by an existing rotation in the system. See also: AWS API Documentation **Request Syntax** response = client.list_rotation_shifts( RotationId='string', StartTime=datetime(2015, 1, 1), EndTime=datetime(2015, 1, 1), NextToken='string', MaxResults=123 ) Parameters: * **RotationId** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the rotation to retrieve shift information about. * **StartTime** (*datetime*) -- The date and time for the beginning of the time range to list shifts for. * **EndTime** (*datetime*) -- **[REQUIRED]** The date and time for the end of the time range to list shifts for. * **NextToken** (*string*) -- A token to start the list. Use this token to get the next set of results. * **MaxResults** (*integer*) -- 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. Return type: dict Returns: **Response Syntax** { 'RotationShifts': [ { 'ContactIds': [ 'string', ], 'StartTime': datetime(2015, 1, 1), 'EndTime': datetime(2015, 1, 1), 'Type': 'REGULAR'|'OVERRIDDEN', 'ShiftDetails': { 'OverriddenContactIds': [ 'string', ] } }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **RotationShifts** *(list) --* Information about shifts that meet the filter criteria. * *(dict) --* Information about a shift that belongs to an on-call rotation. * **ContactIds** *(list) --* The Amazon Resource Names (ARNs) of the contacts who are part of the shift rotation. * *(string) --* * **StartTime** *(datetime) --* The time a shift rotation begins. * **EndTime** *(datetime) --* The time a shift rotation ends. * **Type** *(string) --* The type of shift rotation. * **ShiftDetails** *(dict) --* Additional information about an on-call rotation shift. * **OverriddenContactIds** *(list) --* 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. * *(string) --* * **NextToken** *(string) --* The token for the next set of items to return. Use this token to get the next set of results. **Exceptions** * "SSMContacts.Client.exceptions.AccessDeniedException" * "SSMContacts.Client.exceptions.ConflictException" * "SSMContacts.Client.exceptions.InternalServerException" * "SSMContacts.Client.exceptions.ResourceNotFoundException" * "SSMContacts.Client.exceptions.ThrottlingException" * "SSMContacts.Client.exceptions.ValidationException" SSMContacts / Client / list_contact_channels list_contact_channels ********************* SSMContacts.Client.list_contact_channels(**kwargs) Lists all contact channels for the specified contact. See also: AWS API Documentation **Request Syntax** response = client.list_contact_channels( ContactId='string', NextToken='string', MaxResults=123 ) Parameters: * **ContactId** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the contact. * **NextToken** (*string*) -- The pagination token to continue to the next page of results. * **MaxResults** (*integer*) -- The maximum number of contact channels per page. Return type: dict Returns: **Response Syntax** { 'NextToken': 'string', 'ContactChannels': [ { 'ContactChannelArn': 'string', 'ContactArn': 'string', 'Name': 'string', 'Type': 'SMS'|'VOICE'|'EMAIL', 'DeliveryAddress': { 'SimpleAddress': 'string' }, 'ActivationStatus': 'ACTIVATED'|'NOT_ACTIVATED' }, ] } **Response Structure** * *(dict) --* * **NextToken** *(string) --* The pagination token to continue to the next page of results. * **ContactChannels** *(list) --* A list of contact channels related to the specified contact. * *(dict) --* The method that Incident Manager uses to engage a contact. * **ContactChannelArn** *(string) --* The Amazon Resource Name (ARN) of the contact channel. * **ContactArn** *(string) --* The ARN of the contact that contains the contact channel. * **Name** *(string) --* The name of the contact channel. * **Type** *(string) --* The type of the contact channel. Incident Manager supports three contact methods: * SMS * VOICE * EMAIL * **DeliveryAddress** *(dict) --* The details that Incident Manager uses when trying to engage the contact channel. * **SimpleAddress** *(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 * **ActivationStatus** *(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. **Exceptions** * "SSMContacts.Client.exceptions.AccessDeniedException" * "SSMContacts.Client.exceptions.DataEncryptionException" * "SSMContacts.Client.exceptions.InternalServerException" * "SSMContacts.Client.exceptions.ResourceNotFoundException" * "SSMContacts.Client.exceptions.ThrottlingException" * "SSMContacts.Client.exceptions.ValidationException" **Examples** The following list-contact-channels example lists the available contact channels of the specified contact. response = client.list_contact_channels( ContactId='arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam', ) print(response) Expected Output: { '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', }, ], 'ResponseMetadata': { '...': '...', }, } SSMContacts / Client / list_pages_by_contact list_pages_by_contact ********************* SSMContacts.Client.list_pages_by_contact(**kwargs) Lists the engagements to a contact's contact channels. See also: AWS API Documentation **Request Syntax** response = client.list_pages_by_contact( ContactId='string', NextToken='string', MaxResults=123 ) Parameters: * **ContactId** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the contact you are retrieving engagements for. * **NextToken** (*string*) -- The pagination token to continue to the next page of results. * **MaxResults** (*integer*) -- The maximum number of engagements to contact channels to list per page of results. Return type: dict Returns: **Response Syntax** { 'NextToken': 'string', 'Pages': [ { 'PageArn': 'string', 'EngagementArn': 'string', 'ContactArn': 'string', 'Sender': 'string', 'IncidentId': 'string', 'SentTime': datetime(2015, 1, 1), 'DeliveryTime': datetime(2015, 1, 1), 'ReadTime': datetime(2015, 1, 1) }, ] } **Response Structure** * *(dict) --* * **NextToken** *(string) --* The pagination token to continue to the next page of results. * **Pages** *(list) --* The list of engagements to a contact's contact channel. * *(dict) --* Incident Manager engaging a contact's contact channel. * **PageArn** *(string) --* The Amazon Resource Name (ARN) of the page to the contact channel. * **EngagementArn** *(string) --* The ARN of the engagement that this page is part of. * **ContactArn** *(string) --* The ARN of the contact that Incident Manager is engaging. * **Sender** *(string) --* The user that started the engagement. * **IncidentId** *(string) --* The ARN of the incident that's engaging the contact channel. * **SentTime** *(datetime) --* The time that Incident Manager engaged the contact channel. * **DeliveryTime** *(datetime) --* The time the message was delivered to the contact channel. * **ReadTime** *(datetime) --* The time that the contact channel acknowledged engagement. **Exceptions** * "SSMContacts.Client.exceptions.AccessDeniedException" * "SSMContacts.Client.exceptions.InternalServerException" * "SSMContacts.Client.exceptions.ResourceNotFoundException" * "SSMContacts.Client.exceptions.ThrottlingException" * "SSMContacts.Client.exceptions.ValidationException" **Examples** The following list-pages-by-contact example lists all pages to the specified contact. response = client.list_pages_by_contact( ContactId='arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam', ) print(response) Expected Output: { 'Pages': [ { 'ContactArn': 'arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam', 'DeliveryTime': datetime(2021, 5, 18, 18, 43, 55, 1, 138, 0), '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': datetime(2021, 5, 18, 18, 43, 55, 1, 138, 0), 'Sender': 'cli', 'SentTime': datetime(2021, 5, 18, 18, 43, 29, 1, 138, 0), }, ], 'ResponseMetadata': { '...': '...', }, } SSMContacts / Client / list_pages_by_engagement list_pages_by_engagement ************************ SSMContacts.Client.list_pages_by_engagement(**kwargs) Lists the engagements to contact channels that occurred by engaging a contact. See also: AWS API Documentation **Request Syntax** response = client.list_pages_by_engagement( EngagementId='string', NextToken='string', MaxResults=123 ) Parameters: * **EngagementId** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the engagement. * **NextToken** (*string*) -- The pagination token to continue to the next page of results. * **MaxResults** (*integer*) -- The maximum number of engagements to contact channels to list per page of results. Return type: dict Returns: **Response Syntax** { 'NextToken': 'string', 'Pages': [ { 'PageArn': 'string', 'EngagementArn': 'string', 'ContactArn': 'string', 'Sender': 'string', 'IncidentId': 'string', 'SentTime': datetime(2015, 1, 1), 'DeliveryTime': datetime(2015, 1, 1), 'ReadTime': datetime(2015, 1, 1) }, ] } **Response Structure** * *(dict) --* * **NextToken** *(string) --* The pagination token to continue to the next page of results. * **Pages** *(list) --* The list of engagements to contact channels. * *(dict) --* Incident Manager engaging a contact's contact channel. * **PageArn** *(string) --* The Amazon Resource Name (ARN) of the page to the contact channel. * **EngagementArn** *(string) --* The ARN of the engagement that this page is part of. * **ContactArn** *(string) --* The ARN of the contact that Incident Manager is engaging. * **Sender** *(string) --* The user that started the engagement. * **IncidentId** *(string) --* The ARN of the incident that's engaging the contact channel. * **SentTime** *(datetime) --* The time that Incident Manager engaged the contact channel. * **DeliveryTime** *(datetime) --* The time the message was delivered to the contact channel. * **ReadTime** *(datetime) --* The time that the contact channel acknowledged engagement. **Exceptions** * "SSMContacts.Client.exceptions.AccessDeniedException" * "SSMContacts.Client.exceptions.InternalServerException" * "SSMContacts.Client.exceptions.ResourceNotFoundException" * "SSMContacts.Client.exceptions.ThrottlingException" * "SSMContacts.Client.exceptions.ValidationException" **Examples** The following list-pages-by-engagement example lists the pages that occurred while engaging the defined engagement plan. response = client.list_pages_by_engagement( EngagementId='arn:aws:ssm-contacts:us-east-2:111122223333:engagement/akuam/78a29753-3674-4ac5-9f83-0468563567f0', ) print(response) Expected Output: { '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': datetime(2021, 5, 18, 18, 40, 27, 1, 138, 0), }, ], 'ResponseMetadata': { '...': '...', }, } SSMContacts / Client / list_tags_for_resource list_tags_for_resource ********************** SSMContacts.Client.list_tags_for_resource(**kwargs) Lists the tags of an escalation plan or contact. See also: AWS API Documentation **Request Syntax** response = client.list_tags_for_resource( ResourceARN='string' ) Parameters: **ResourceARN** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the contact or escalation plan. Return type: dict Returns: **Response Syntax** { 'Tags': [ { 'Key': 'string', 'Value': 'string' }, ] } **Response Structure** * *(dict) --* * **Tags** *(list) --* The tags related to the contact or escalation plan. * *(dict) --* A container of a key-value name pair. * **Key** *(string) --* Name of the object key. * **Value** *(string) --* Value of the tag. **Exceptions** * "SSMContacts.Client.exceptions.AccessDeniedException" * "SSMContacts.Client.exceptions.ThrottlingException" * "SSMContacts.Client.exceptions.ResourceNotFoundException" * "SSMContacts.Client.exceptions.ValidationException" * "SSMContacts.Client.exceptions.InternalServerException" **Examples** The following list-tags-for-resource example lists the tags of the specified contact. response = client.list_tags_for_resource( ResourceARN='arn:aws:ssm-contacts:us-east-1:111122223333:contact/akuam', ) print(response) Expected Output: { 'Tags': [ { 'Key': 'group1', 'Value': '1', }, ], 'ResponseMetadata': { '...': '...', }, } SSMContacts / Client / delete_rotation_override delete_rotation_override ************************ SSMContacts.Client.delete_rotation_override(**kwargs) Deletes an existing override for an on-call rotation. See also: AWS API Documentation **Request Syntax** response = client.delete_rotation_override( RotationId='string', RotationOverrideId='string' ) Parameters: * **RotationId** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the rotation that was overridden. * **RotationOverrideId** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the on-call rotation override to delete. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "SSMContacts.Client.exceptions.AccessDeniedException" * "SSMContacts.Client.exceptions.InternalServerException" * "SSMContacts.Client.exceptions.ResourceNotFoundException" * "SSMContacts.Client.exceptions.ThrottlingException" * "SSMContacts.Client.exceptions.ValidationException" SSMContacts / Client / get_contact_policy get_contact_policy ****************** SSMContacts.Client.get_contact_policy(**kwargs) Retrieves the resource policies attached to the specified contact or escalation plan. See also: AWS API Documentation **Request Syntax** response = client.get_contact_policy( ContactArn='string' ) Parameters: **ContactArn** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the contact or escalation plan. Return type: dict Returns: **Response Syntax** { 'ContactArn': 'string', 'Policy': 'string' } **Response Structure** * *(dict) --* * **ContactArn** *(string) --* The ARN of the contact or escalation plan. * **Policy** *(string) --* Details about the resource policy attached to the contact or escalation plan. **Exceptions** * "SSMContacts.Client.exceptions.AccessDeniedException" * "SSMContacts.Client.exceptions.InternalServerException" * "SSMContacts.Client.exceptions.ResourceNotFoundException" * "SSMContacts.Client.exceptions.ThrottlingException" * "SSMContacts.Client.exceptions.ValidationException" **Examples** The following get-contact-policy example lists the resource policies associated with the specified contact. response = client.get_contact_policy( ContactArn='arn:aws:ssm-contacts:us-east-1:111122223333:contact/akuam', ) print(response) Expected Output: { '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/*"]}]}', 'ResponseMetadata': { '...': '...', }, } SSMContacts / Client / untag_resource untag_resource ************** SSMContacts.Client.untag_resource(**kwargs) Removes tags from the specified resource. See also: AWS API Documentation **Request Syntax** response = client.untag_resource( ResourceARN='string', TagKeys=[ 'string', ] ) Parameters: * **ResourceARN** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the contact or escalation plan. * **TagKeys** (*list*) -- **[REQUIRED]** The key of the tag that you want to remove. * *(string) --* Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "SSMContacts.Client.exceptions.AccessDeniedException" * "SSMContacts.Client.exceptions.ThrottlingException" * "SSMContacts.Client.exceptions.ResourceNotFoundException" * "SSMContacts.Client.exceptions.ValidationException" * "SSMContacts.Client.exceptions.InternalServerException" **Examples** The following untag-resource example removes the group1 tag from the specified contact. response = client.untag_resource( ResourceARN='arn:aws:ssm-contacts:us-east-1:111122223333:contact/akuam', TagKeys=[ 'group1', ], ) print(response) Expected Output: { 'ResponseMetadata': { '...': '...', }, } SSMContacts / Client / create_contact create_contact ************** SSMContacts.Client.create_contact(**kwargs) 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. See also: AWS API Documentation **Request Syntax** response = client.create_contact( Alias='string', DisplayName='string', Type='PERSONAL'|'ESCALATION'|'ONCALL_SCHEDULE', Plan={ 'Stages': [ { 'DurationInMinutes': 123, 'Targets': [ { 'ChannelTargetInfo': { 'ContactChannelId': 'string', 'RetryIntervalInMinutes': 123 }, 'ContactTargetInfo': { 'ContactId': 'string', 'IsEssential': True|False } }, ] }, ], 'RotationIds': [ 'string', ] }, Tags=[ { 'Key': 'string', 'Value': 'string' }, ], IdempotencyToken='string' ) Parameters: * **Alias** (*string*) -- **[REQUIRED]** The short name to quickly identify a contact or escalation plan. The contact alias must be unique and identifiable. * **DisplayName** (*string*) -- The full name of the contact or escalation plan. * **Type** (*string*) -- **[REQUIRED]** To create an escalation plan use "ESCALATION". To create a contact use "PERSONAL". * **Plan** (*dict*) -- **[REQUIRED]** 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. * **Stages** *(list) --* A list of stages that the escalation plan or engagement plan uses to engage contacts and contact methods. * *(dict) --* A set amount of time that an escalation plan or engagement plan engages the specified contacts or contact methods. * **DurationInMinutes** *(integer) --* **[REQUIRED]** The time to wait until beginning the next stage. The duration can only be set to 0 if a target is specified. * **Targets** *(list) --* **[REQUIRED]** The contacts or contact methods that the escalation plan or engagement plan is engaging. * *(dict) --* The contact or contact channel that's being engaged. * **ChannelTargetInfo** *(dict) --* Information about the contact channel Incident Manager is engaging. * **ContactChannelId** *(string) --* **[REQUIRED]** The Amazon Resource Name (ARN) of the contact channel. * **RetryIntervalInMinutes** *(integer) --* The number of minutes to wait to retry sending engagement in the case the engagement initially fails. * **ContactTargetInfo** *(dict) --* Information about the contact that Incident Manager is engaging. * **ContactId** *(string) --* The Amazon Resource Name (ARN) of the contact. * **IsEssential** *(boolean) --* **[REQUIRED]** A Boolean value determining if the contact's acknowledgement stops the progress of stages in the plan. * **RotationIds** *(list) --* The Amazon Resource Names (ARNs) of the on-call rotations associated with the plan. * *(string) --* * **Tags** (*list*) -- Adds a tag to the target. You can only tag resources created in the first Region of your replication set. * *(dict) --* A container of a key-value name pair. * **Key** *(string) --* Name of the object key. * **Value** *(string) --* Value of the tag. * **IdempotencyToken** (*string*) -- A token ensuring that the operation is called only once with the specified details. This field is autopopulated if not provided. Return type: dict Returns: **Response Syntax** { 'ContactArn': 'string' } **Response Structure** * *(dict) --* * **ContactArn** *(string) --* The Amazon Resource Name (ARN) of the created contact or escalation plan. **Exceptions** * "SSMContacts.Client.exceptions.AccessDeniedException" * "SSMContacts.Client.exceptions.ConflictException" * "SSMContacts.Client.exceptions.InternalServerException" * "SSMContacts.Client.exceptions.ServiceQuotaExceededException" * "SSMContacts.Client.exceptions.ThrottlingException" * "SSMContacts.Client.exceptions.ValidationException" * "SSMContacts.Client.exceptions.DataEncryptionException" **Examples** 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. response = client.create_contact( Alias='akuam', DisplayName='Akua Mansa', Plan={ 'Stages': [ ], }, Type='PERSONAL', ) print(response) Expected Output: { 'ContactArn': 'arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam', 'ResponseMetadata': { '...': '...', }, } SSMContacts / Client / create_rotation create_rotation *************** SSMContacts.Client.create_rotation(**kwargs) Creates a rotation in an on-call schedule. See also: AWS API Documentation **Request Syntax** response = client.create_rotation( Name='string', ContactIds=[ 'string', ], StartTime=datetime(2015, 1, 1), TimeZoneId='string', Recurrence={ 'MonthlySettings': [ { 'DayOfMonth': 123, 'HandOffTime': { 'HourOfDay': 123, 'MinuteOfHour': 123 } }, ], 'WeeklySettings': [ { 'DayOfWeek': 'MON'|'TUE'|'WED'|'THU'|'FRI'|'SAT'|'SUN', 'HandOffTime': { 'HourOfDay': 123, 'MinuteOfHour': 123 } }, ], 'DailySettings': [ { 'HourOfDay': 123, 'MinuteOfHour': 123 }, ], 'NumberOfOnCalls': 123, 'ShiftCoverages': { 'string': [ { 'Start': { 'HourOfDay': 123, 'MinuteOfHour': 123 }, 'End': { 'HourOfDay': 123, 'MinuteOfHour': 123 } }, ] }, 'RecurrenceMultiplier': 123 }, Tags=[ { 'Key': 'string', 'Value': 'string' }, ], IdempotencyToken='string' ) Parameters: * **Name** (*string*) -- **[REQUIRED]** The name of the rotation. * **ContactIds** (*list*) -- **[REQUIRED]** 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. * *(string) --* * **StartTime** (*datetime*) -- The date and time that the rotation goes into effect. * **TimeZoneId** (*string*) -- **[REQUIRED]** 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. Note: 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. * **Recurrence** (*dict*) -- **[REQUIRED]** Information about the rule that specifies when a shift's team members rotate. * **MonthlySettings** *(list) --* Information about on-call rotations that recur monthly. * *(dict) --* Information about on-call rotations that recur monthly. * **DayOfMonth** *(integer) --* **[REQUIRED]** The day of the month when monthly recurring on-call rotations begin. * **HandOffTime** *(dict) --* **[REQUIRED]** The time of day when a monthly recurring on-call shift rotation begins. * **HourOfDay** *(integer) --* **[REQUIRED]** The hour when an on-call rotation shift begins or ends. * **MinuteOfHour** *(integer) --* **[REQUIRED]** The minute when an on-call rotation shift begins or ends. * **WeeklySettings** *(list) --* Information about on-call rotations that recur weekly. * *(dict) --* Information about rotations that recur weekly. * **DayOfWeek** *(string) --* **[REQUIRED]** The day of the week when weekly recurring on-call shift rotations begins. * **HandOffTime** *(dict) --* **[REQUIRED]** The time of day when a weekly recurring on-call shift rotation begins. * **HourOfDay** *(integer) --* **[REQUIRED]** The hour when an on-call rotation shift begins or ends. * **MinuteOfHour** *(integer) --* **[REQUIRED]** The minute when an on-call rotation shift begins or ends. * **DailySettings** *(list) --* Information about on-call rotations that recur daily. * *(dict) --* Details about when an on-call rotation shift begins or ends. * **HourOfDay** *(integer) --* **[REQUIRED]** The hour when an on-call rotation shift begins or ends. * **MinuteOfHour** *(integer) --* **[REQUIRED]** The minute when an on-call rotation shift begins or ends. * **NumberOfOnCalls** *(integer) --* **[REQUIRED]** 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. * **ShiftCoverages** *(dict) --* Information about the days of the week included in on-call rotation coverage. * *(string) --* * *(list) --* * *(dict) --* Information about when an on-call shift begins and ends. * **Start** *(dict) --* Information about when the on-call rotation shift begins. * **HourOfDay** *(integer) --* **[REQUIRED]** The hour when an on-call rotation shift begins or ends. * **MinuteOfHour** *(integer) --* **[REQUIRED]** The minute when an on-call rotation shift begins or ends. * **End** *(dict) --* Information about when the on-call rotation shift ends. * **HourOfDay** *(integer) --* **[REQUIRED]** The hour when an on-call rotation shift begins or ends. * **MinuteOfHour** *(integer) --* **[REQUIRED]** The minute when an on-call rotation shift begins or ends. * **RecurrenceMultiplier** *(integer) --* **[REQUIRED]** The number of days, weeks, or months a single rotation lasts. * **Tags** (*list*) -- 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*. * *(dict) --* A container of a key-value name pair. * **Key** *(string) --* Name of the object key. * **Value** *(string) --* Value of the tag. * **IdempotencyToken** (*string*) -- A token that ensures that the operation is called only once with the specified details. Return type: dict Returns: **Response Syntax** { 'RotationArn': 'string' } **Response Structure** * *(dict) --* * **RotationArn** *(string) --* The Amazon Resource Name (ARN) of the created rotation. **Exceptions** * "SSMContacts.Client.exceptions.AccessDeniedException" * "SSMContacts.Client.exceptions.InternalServerException" * "SSMContacts.Client.exceptions.ResourceNotFoundException" * "SSMContacts.Client.exceptions.ServiceQuotaExceededException" * "SSMContacts.Client.exceptions.ThrottlingException" * "SSMContacts.Client.exceptions.ValidationException" SSMContacts / Client / get_waiter get_waiter ********** SSMContacts.Client.get_waiter(waiter_name) Returns an object that can wait for some condition. Parameters: **waiter_name** (*str*) -- The name of the waiter to get. See the waiters section of the service docs for a list of available waiters. Returns: The specified waiter object. Return type: "botocore.waiter.Waiter" SSMContacts / Client / delete_contact_channel delete_contact_channel ********************** SSMContacts.Client.delete_contact_channel(**kwargs) 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. See also: AWS API Documentation **Request Syntax** response = client.delete_contact_channel( ContactChannelId='string' ) Parameters: **ContactChannelId** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the contact channel. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "SSMContacts.Client.exceptions.AccessDeniedException" * "SSMContacts.Client.exceptions.InternalServerException" * "SSMContacts.Client.exceptions.ResourceNotFoundException" * "SSMContacts.Client.exceptions.ThrottlingException" * "SSMContacts.Client.exceptions.ValidationException" **Examples** 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. response = client.delete_contact_channel( ContactChannelId='arn:aws:ssm-contacts:us-east-1:111122223333:contact-channel/akuam/13149bad-52ee-45ea-ae1e-45857f78f9b2', ) print(response) Expected Output: { 'ResponseMetadata': { '...': '...', }, } SSMContacts / Client / delete_contact delete_contact ************** SSMContacts.Client.delete_contact(**kwargs) 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. See also: AWS API Documentation **Request Syntax** response = client.delete_contact( ContactId='string' ) Parameters: **ContactId** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the contact that you're deleting. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "SSMContacts.Client.exceptions.AccessDeniedException" * "SSMContacts.Client.exceptions.InternalServerException" * "SSMContacts.Client.exceptions.ResourceNotFoundException" * "SSMContacts.Client.exceptions.ThrottlingException" * "SSMContacts.Client.exceptions.ConflictException" * "SSMContacts.Client.exceptions.ValidationException" **Examples** The following delete-contact example deletes a contact. The contact will no longer be reachable from any escalation plan that refers to them. response = client.delete_contact( ContactId='arn:aws:ssm-contacts:us-east-1:111122223333:contact/alejr', ) print(response) Expected Output: { 'ResponseMetadata': { '...': '...', }, } SSMContacts / Client / put_contact_policy put_contact_policy ****************** SSMContacts.Client.put_contact_policy(**kwargs) 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. See also: AWS API Documentation **Request Syntax** response = client.put_contact_policy( ContactArn='string', Policy='string' ) Parameters: * **ContactArn** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the contact or escalation plan. * **Policy** (*string*) -- **[REQUIRED]** Details of the resource policy. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "SSMContacts.Client.exceptions.AccessDeniedException" * "SSMContacts.Client.exceptions.ConflictException" * "SSMContacts.Client.exceptions.ValidationException" * "SSMContacts.Client.exceptions.ResourceNotFoundException" * "SSMContacts.Client.exceptions.ThrottlingException" * "SSMContacts.Client.exceptions.InternalServerException" **Examples** The following put-contact-policy example adds a resource policy to the contact Akua that shares the contact and related engagements with the principal. response = client.put_contact_policy( 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/*"]}]}', ) print(response) Expected Output: { 'ResponseMetadata': { '...': '...', }, } SSMContacts / Client / describe_engagement describe_engagement ******************* SSMContacts.Client.describe_engagement(**kwargs) 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. See also: AWS API Documentation **Request Syntax** response = client.describe_engagement( EngagementId='string' ) Parameters: **EngagementId** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the engagement you want the details of. Return type: dict Returns: **Response Syntax** { 'ContactArn': 'string', 'EngagementArn': 'string', 'Sender': 'string', 'Subject': 'string', 'Content': 'string', 'PublicSubject': 'string', 'PublicContent': 'string', 'IncidentId': 'string', 'StartTime': datetime(2015, 1, 1), 'StopTime': datetime(2015, 1, 1) } **Response Structure** * *(dict) --* * **ContactArn** *(string) --* The ARN of the escalation plan or contacts involved in the engagement. * **EngagementArn** *(string) --* The ARN of the engagement. * **Sender** *(string) --* The user that started the engagement. * **Subject** *(string) --* The secure subject of the message that was sent to the contact. Use this field for engagements to "VOICE" and "EMAIL". * **Content** *(string) --* The secure content of the message that was sent to the contact. Use this field for engagements to "VOICE" and "EMAIL". * **PublicSubject** *(string) --* The insecure subject of the message that was sent to the contact. Use this field for engagements to "SMS". * **PublicContent** *(string) --* The insecure content of the message that was sent to the contact. Use this field for engagements to "SMS". * **IncidentId** *(string) --* The ARN of the incident in which the engagement occurred. * **StartTime** *(datetime) --* The time that the engagement started. * **StopTime** *(datetime) --* The time that the engagement ended. **Exceptions** * "SSMContacts.Client.exceptions.AccessDeniedException" * "SSMContacts.Client.exceptions.DataEncryptionException" * "SSMContacts.Client.exceptions.InternalServerException" * "SSMContacts.Client.exceptions.ResourceNotFoundException" * "SSMContacts.Client.exceptions.ThrottlingException" * "SSMContacts.Client.exceptions.ValidationException" **Examples** 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. response = client.describe_engagement( EngagementId='arn:aws:ssm-contacts:us-east-2:111122223333:engagement/example_escalation/69e40ce1-8dbb-4d57-8962-5fbe7fc53356', ) print(response) Expected Output: { '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': datetime(2021, 5, 18, 18, 25, 41, 1, 138, 0), 'Subject': 'test', 'ResponseMetadata': { '...': '...', }, } SSMContacts / Client / get_rotation get_rotation ************ SSMContacts.Client.get_rotation(**kwargs) Retrieves information about an on-call rotation. See also: AWS API Documentation **Request Syntax** response = client.get_rotation( RotationId='string' ) Parameters: **RotationId** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the on-call rotation to retrieve information about. Return type: dict Returns: **Response Syntax** { 'RotationArn': 'string', 'Name': 'string', 'ContactIds': [ 'string', ], 'StartTime': datetime(2015, 1, 1), 'TimeZoneId': 'string', 'Recurrence': { 'MonthlySettings': [ { 'DayOfMonth': 123, 'HandOffTime': { 'HourOfDay': 123, 'MinuteOfHour': 123 } }, ], 'WeeklySettings': [ { 'DayOfWeek': 'MON'|'TUE'|'WED'|'THU'|'FRI'|'SAT'|'SUN', 'HandOffTime': { 'HourOfDay': 123, 'MinuteOfHour': 123 } }, ], 'DailySettings': [ { 'HourOfDay': 123, 'MinuteOfHour': 123 }, ], 'NumberOfOnCalls': 123, 'ShiftCoverages': { 'string': [ { 'Start': { 'HourOfDay': 123, 'MinuteOfHour': 123 }, 'End': { 'HourOfDay': 123, 'MinuteOfHour': 123 } }, ] }, 'RecurrenceMultiplier': 123 } } **Response Structure** * *(dict) --* * **RotationArn** *(string) --* The Amazon Resource Name (ARN) of the on-call rotation. * **Name** *(string) --* The name of the on-call rotation. * **ContactIds** *(list) --* The Amazon Resource Names (ARNs) of the contacts assigned to the on-call rotation team. * *(string) --* * **StartTime** *(datetime) --* The specified start time for the on-call rotation. * **TimeZoneId** *(string) --* The time zone that the rotation’s activity is based on, in Internet Assigned Numbers Authority (IANA) format. * **Recurrence** *(dict) --* Specifies how long a rotation lasts before restarting at the beginning of the shift order. * **MonthlySettings** *(list) --* Information about on-call rotations that recur monthly. * *(dict) --* Information about on-call rotations that recur monthly. * **DayOfMonth** *(integer) --* The day of the month when monthly recurring on-call rotations begin. * **HandOffTime** *(dict) --* The time of day when a monthly recurring on-call shift rotation begins. * **HourOfDay** *(integer) --* The hour when an on-call rotation shift begins or ends. * **MinuteOfHour** *(integer) --* The minute when an on-call rotation shift begins or ends. * **WeeklySettings** *(list) --* Information about on-call rotations that recur weekly. * *(dict) --* Information about rotations that recur weekly. * **DayOfWeek** *(string) --* The day of the week when weekly recurring on-call shift rotations begins. * **HandOffTime** *(dict) --* The time of day when a weekly recurring on-call shift rotation begins. * **HourOfDay** *(integer) --* The hour when an on-call rotation shift begins or ends. * **MinuteOfHour** *(integer) --* The minute when an on-call rotation shift begins or ends. * **DailySettings** *(list) --* Information about on-call rotations that recur daily. * *(dict) --* Details about when an on-call rotation shift begins or ends. * **HourOfDay** *(integer) --* The hour when an on-call rotation shift begins or ends. * **MinuteOfHour** *(integer) --* The minute when an on-call rotation shift begins or ends. * **NumberOfOnCalls** *(integer) --* 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. * **ShiftCoverages** *(dict) --* Information about the days of the week included in on-call rotation coverage. * *(string) --* * *(list) --* * *(dict) --* Information about when an on-call shift begins and ends. * **Start** *(dict) --* Information about when the on-call rotation shift begins. * **HourOfDay** *(integer) --* The hour when an on-call rotation shift begins or ends. * **MinuteOfHour** *(integer) --* The minute when an on-call rotation shift begins or ends. * **End** *(dict) --* Information about when the on-call rotation shift ends. * **HourOfDay** *(integer) --* The hour when an on-call rotation shift begins or ends. * **MinuteOfHour** *(integer) --* The minute when an on-call rotation shift begins or ends. * **RecurrenceMultiplier** *(integer) --* The number of days, weeks, or months a single rotation lasts. **Exceptions** * "SSMContacts.Client.exceptions.AccessDeniedException" * "SSMContacts.Client.exceptions.InternalServerException" * "SSMContacts.Client.exceptions.ResourceNotFoundException" * "SSMContacts.Client.exceptions.ThrottlingException" * "SSMContacts.Client.exceptions.ValidationException" SSMContacts / Client / list_contacts list_contacts ************* SSMContacts.Client.list_contacts(**kwargs) Lists all contacts and escalation plans in Incident Manager. See also: AWS API Documentation **Request Syntax** response = client.list_contacts( NextToken='string', MaxResults=123, AliasPrefix='string', Type='PERSONAL'|'ESCALATION'|'ONCALL_SCHEDULE' ) Parameters: * **NextToken** (*string*) -- The pagination token to continue to the next page of results. * **MaxResults** (*integer*) -- The maximum number of contacts and escalation plans per page of results. * **AliasPrefix** (*string*) -- Used to list only contacts who's aliases start with the specified prefix. * **Type** (*string*) -- The type of contact. A contact is type "PERSONAL" and an escalation plan is type "ESCALATION". Return type: dict Returns: **Response Syntax** { 'NextToken': 'string', 'Contacts': [ { 'ContactArn': 'string', 'Alias': 'string', 'DisplayName': 'string', 'Type': 'PERSONAL'|'ESCALATION'|'ONCALL_SCHEDULE' }, ] } **Response Structure** * *(dict) --* * **NextToken** *(string) --* The pagination token to continue to the next page of results. * **Contacts** *(list) --* A list of the contacts and escalation plans in your Incident Manager account. * *(dict) --* A personal contact or escalation plan that Incident Manager engages during an incident. * **ContactArn** *(string) --* The Amazon Resource Name (ARN) of the contact or escalation plan. * **Alias** *(string) --* The unique and identifiable alias of the contact or escalation plan. * **DisplayName** *(string) --* The full name of the contact or escalation plan. * **Type** *(string) --* Refers to the type of contact. A single contact is type "PERSONAL" and an escalation plan is type "ESCALATION". **Exceptions** * "SSMContacts.Client.exceptions.AccessDeniedException" * "SSMContacts.Client.exceptions.InternalServerException" * "SSMContacts.Client.exceptions.ThrottlingException" * "SSMContacts.Client.exceptions.ValidationException" **Examples** The following list-contacts example lists the contacts and escalation plans in your account. response = client.list_contacts( ) print(response) Expected Output: { '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', }, ], 'ResponseMetadata': { '...': '...', }, } SSMContacts / Client / create_rotation_override create_rotation_override ************************ SSMContacts.Client.create_rotation_override(**kwargs) Creates an override for a rotation in an on-call schedule. See also: AWS API Documentation **Request Syntax** response = client.create_rotation_override( RotationId='string', NewContactIds=[ 'string', ], StartTime=datetime(2015, 1, 1), EndTime=datetime(2015, 1, 1), IdempotencyToken='string' ) Parameters: * **RotationId** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the rotation to create an override for. * **NewContactIds** (*list*) -- **[REQUIRED]** 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. * *(string) --* * **StartTime** (*datetime*) -- **[REQUIRED]** The date and time when the override goes into effect. * **EndTime** (*datetime*) -- **[REQUIRED]** The date and time when the override ends. * **IdempotencyToken** (*string*) -- A token that ensures that the operation is called only once with the specified details. Return type: dict Returns: **Response Syntax** { 'RotationOverrideId': 'string' } **Response Structure** * *(dict) --* * **RotationOverrideId** *(string) --* The Amazon Resource Name (ARN) of the created rotation override. **Exceptions** * "SSMContacts.Client.exceptions.AccessDeniedException" * "SSMContacts.Client.exceptions.InternalServerException" * "SSMContacts.Client.exceptions.ResourceNotFoundException" * "SSMContacts.Client.exceptions.ServiceQuotaExceededException" * "SSMContacts.Client.exceptions.ThrottlingException" * "SSMContacts.Client.exceptions.ValidationException" SSMContacts / Client / list_rotation_overrides list_rotation_overrides *********************** SSMContacts.Client.list_rotation_overrides(**kwargs) Retrieves a list of overrides currently specified for an on-call rotation. See also: AWS API Documentation **Request Syntax** response = client.list_rotation_overrides( RotationId='string', StartTime=datetime(2015, 1, 1), EndTime=datetime(2015, 1, 1), NextToken='string', MaxResults=123 ) Parameters: * **RotationId** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the rotation to retrieve information about. * **StartTime** (*datetime*) -- **[REQUIRED]** The date and time for the beginning of a time range for listing overrides. * **EndTime** (*datetime*) -- **[REQUIRED]** The date and time for the end of a time range for listing overrides. * **NextToken** (*string*) -- A token to start the list. Use this token to get the next set of results. * **MaxResults** (*integer*) -- 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. Return type: dict Returns: **Response Syntax** { 'RotationOverrides': [ { 'RotationOverrideId': 'string', 'NewContactIds': [ 'string', ], 'StartTime': datetime(2015, 1, 1), 'EndTime': datetime(2015, 1, 1), 'CreateTime': datetime(2015, 1, 1) }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **RotationOverrides** *(list) --* A list of rotation overrides in the specified time range. * *(dict) --* Information about an override specified for an on-call rotation. * **RotationOverrideId** *(string) --* The Amazon Resource Name (ARN) of the override to an on- call rotation. * **NewContactIds** *(list) --* The Amazon Resource Names (ARNs) of the contacts assigned to the override of the on-call rotation. * *(string) --* * **StartTime** *(datetime) --* The time a rotation override begins. * **EndTime** *(datetime) --* The time a rotation override ends. * **CreateTime** *(datetime) --* The time a rotation override was created. * **NextToken** *(string) --* The token for the next set of items to return. Use this token to get the next set of results. **Exceptions** * "SSMContacts.Client.exceptions.AccessDeniedException" * "SSMContacts.Client.exceptions.InternalServerException" * "SSMContacts.Client.exceptions.ResourceNotFoundException" * "SSMContacts.Client.exceptions.ThrottlingException" * "SSMContacts.Client.exceptions.ValidationException" SSMContacts / Client / get_contact get_contact *********** SSMContacts.Client.get_contact(**kwargs) Retrieves information about the specified contact or escalation plan. See also: AWS API Documentation **Request Syntax** response = client.get_contact( ContactId='string' ) Parameters: **ContactId** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the contact or escalation plan. Return type: dict Returns: **Response Syntax** { 'ContactArn': 'string', 'Alias': 'string', 'DisplayName': 'string', 'Type': 'PERSONAL'|'ESCALATION'|'ONCALL_SCHEDULE', 'Plan': { 'Stages': [ { 'DurationInMinutes': 123, 'Targets': [ { 'ChannelTargetInfo': { 'ContactChannelId': 'string', 'RetryIntervalInMinutes': 123 }, 'ContactTargetInfo': { 'ContactId': 'string', 'IsEssential': True|False } }, ] }, ], 'RotationIds': [ 'string', ] } } **Response Structure** * *(dict) --* * **ContactArn** *(string) --* The ARN of the contact or escalation plan. * **Alias** *(string) --* The alias of the contact or escalation plan. The alias is unique and identifiable. * **DisplayName** *(string) --* The full name of the contact or escalation plan. * **Type** *(string) --* The type of contact, either "PERSONAL" or "ESCALATION". * **Plan** *(dict) --* Details about the specific timing or stages and targets of the escalation plan or engagement plan. * **Stages** *(list) --* A list of stages that the escalation plan or engagement plan uses to engage contacts and contact methods. * *(dict) --* A set amount of time that an escalation plan or engagement plan engages the specified contacts or contact methods. * **DurationInMinutes** *(integer) --* The time to wait until beginning the next stage. The duration can only be set to 0 if a target is specified. * **Targets** *(list) --* The contacts or contact methods that the escalation plan or engagement plan is engaging. * *(dict) --* The contact or contact channel that's being engaged. * **ChannelTargetInfo** *(dict) --* Information about the contact channel Incident Manager is engaging. * **ContactChannelId** *(string) --* The Amazon Resource Name (ARN) of the contact channel. * **RetryIntervalInMinutes** *(integer) --* The number of minutes to wait to retry sending engagement in the case the engagement initially fails. * **ContactTargetInfo** *(dict) --* Information about the contact that Incident Manager is engaging. * **ContactId** *(string) --* The Amazon Resource Name (ARN) of the contact. * **IsEssential** *(boolean) --* A Boolean value determining if the contact's acknowledgement stops the progress of stages in the plan. * **RotationIds** *(list) --* The Amazon Resource Names (ARNs) of the on-call rotations associated with the plan. * *(string) --* **Exceptions** * "SSMContacts.Client.exceptions.AccessDeniedException" * "SSMContacts.Client.exceptions.InternalServerException" * "SSMContacts.Client.exceptions.ResourceNotFoundException" * "SSMContacts.Client.exceptions.ThrottlingException" * "SSMContacts.Client.exceptions.ValidationException" * "SSMContacts.Client.exceptions.DataEncryptionException" **Examples** The following get-contact example describes a contact. response = client.get_contact( ContactId='arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam', ) print(response) Expected Output: { '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', 'ResponseMetadata': { '...': '...', }, } The following get-contact example describes an escalation plan. response = client.get_contact( ContactId='arn:aws:ssm-contacts:us-east-2:111122223333:contact/example_escalation', ) print(response) Expected Output: { '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': True, }, }, ], }, { 'DurationInMinutes': 5, 'Targets': [ { 'ContactTargetInfo': { 'ContactId': 'arn:aws:ssm-contacts:us-east-2:111122223333:contact/alejr', 'IsEssential': False, }, }, ], }, { 'DurationInMinutes': 0, 'Targets': [ { 'ContactTargetInfo': { 'ContactId': 'arn:aws:ssm-contacts:us-east-2:111122223333:contact/anasi', 'IsEssential': False, }, }, ], }, ], }, 'Type': 'ESCALATION', 'ResponseMetadata': { '...': '...', }, } SSMContacts / Client / close close ***** SSMContacts.Client.close() Closes underlying endpoint connections. SSMContacts / Client / list_rotations list_rotations ************** SSMContacts.Client.list_rotations(**kwargs) Retrieves a list of on-call rotations. See also: AWS API Documentation **Request Syntax** response = client.list_rotations( RotationNamePrefix='string', NextToken='string', MaxResults=123 ) Parameters: * **RotationNamePrefix** (*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". * **NextToken** (*string*) -- A token to start the list. Use this token to get the next set of results. * **MaxResults** (*integer*) -- 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. Return type: dict Returns: **Response Syntax** { 'NextToken': 'string', 'Rotations': [ { 'RotationArn': 'string', 'Name': 'string', 'ContactIds': [ 'string', ], 'StartTime': datetime(2015, 1, 1), 'TimeZoneId': 'string', 'Recurrence': { 'MonthlySettings': [ { 'DayOfMonth': 123, 'HandOffTime': { 'HourOfDay': 123, 'MinuteOfHour': 123 } }, ], 'WeeklySettings': [ { 'DayOfWeek': 'MON'|'TUE'|'WED'|'THU'|'FRI'|'SAT'|'SUN', 'HandOffTime': { 'HourOfDay': 123, 'MinuteOfHour': 123 } }, ], 'DailySettings': [ { 'HourOfDay': 123, 'MinuteOfHour': 123 }, ], 'NumberOfOnCalls': 123, 'ShiftCoverages': { 'string': [ { 'Start': { 'HourOfDay': 123, 'MinuteOfHour': 123 }, 'End': { 'HourOfDay': 123, 'MinuteOfHour': 123 } }, ] }, 'RecurrenceMultiplier': 123 } }, ] } **Response Structure** * *(dict) --* * **NextToken** *(string) --* The token for the next set of items to return. Use this token to get the next set of results. * **Rotations** *(list) --* Information about rotations that meet the filter criteria. * *(dict) --* Information about a rotation in an on-call schedule. * **RotationArn** *(string) --* The Amazon Resource Name (ARN) of the rotation. * **Name** *(string) --* The name of the rotation. * **ContactIds** *(list) --* The Amazon Resource Names (ARNs) of the contacts assigned to the rotation team. * *(string) --* * **StartTime** *(datetime) --* The date and time the rotation becomes active. * **TimeZoneId** *(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". * **Recurrence** *(dict) --* Information about when an on-call rotation is in effect and how long the rotation period lasts. * **MonthlySettings** *(list) --* Information about on-call rotations that recur monthly. * *(dict) --* Information about on-call rotations that recur monthly. * **DayOfMonth** *(integer) --* The day of the month when monthly recurring on- call rotations begin. * **HandOffTime** *(dict) --* The time of day when a monthly recurring on-call shift rotation begins. * **HourOfDay** *(integer) --* The hour when an on-call rotation shift begins or ends. * **MinuteOfHour** *(integer) --* The minute when an on-call rotation shift begins or ends. * **WeeklySettings** *(list) --* Information about on-call rotations that recur weekly. * *(dict) --* Information about rotations that recur weekly. * **DayOfWeek** *(string) --* The day of the week when weekly recurring on-call shift rotations begins. * **HandOffTime** *(dict) --* The time of day when a weekly recurring on-call shift rotation begins. * **HourOfDay** *(integer) --* The hour when an on-call rotation shift begins or ends. * **MinuteOfHour** *(integer) --* The minute when an on-call rotation shift begins or ends. * **DailySettings** *(list) --* Information about on-call rotations that recur daily. * *(dict) --* Details about when an on-call rotation shift begins or ends. * **HourOfDay** *(integer) --* The hour when an on-call rotation shift begins or ends. * **MinuteOfHour** *(integer) --* The minute when an on-call rotation shift begins or ends. * **NumberOfOnCalls** *(integer) --* 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. * **ShiftCoverages** *(dict) --* Information about the days of the week included in on- call rotation coverage. * *(string) --* * *(list) --* * *(dict) --* Information about when an on-call shift begins and ends. * **Start** *(dict) --* Information about when the on-call rotation shift begins. * **HourOfDay** *(integer) --* The hour when an on-call rotation shift begins or ends. * **MinuteOfHour** *(integer) --* The minute when an on-call rotation shift begins or ends. * **End** *(dict) --* Information about when the on-call rotation shift ends. * **HourOfDay** *(integer) --* The hour when an on-call rotation shift begins or ends. * **MinuteOfHour** *(integer) --* The minute when an on-call rotation shift begins or ends. * **RecurrenceMultiplier** *(integer) --* The number of days, weeks, or months a single rotation lasts. **Exceptions** * "SSMContacts.Client.exceptions.AccessDeniedException" * "SSMContacts.Client.exceptions.InternalServerException" * "SSMContacts.Client.exceptions.ResourceNotFoundException" * "SSMContacts.Client.exceptions.ThrottlingException" * "SSMContacts.Client.exceptions.ValidationException" SSMContacts / Client / send_activation_code send_activation_code ******************** SSMContacts.Client.send_activation_code(**kwargs) 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. See also: AWS API Documentation **Request Syntax** response = client.send_activation_code( ContactChannelId='string' ) Parameters: **ContactChannelId** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the contact channel. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "SSMContacts.Client.exceptions.AccessDeniedException" * "SSMContacts.Client.exceptions.DataEncryptionException" * "SSMContacts.Client.exceptions.InternalServerException" * "SSMContacts.Client.exceptions.ResourceNotFoundException" * "SSMContacts.Client.exceptions.ServiceQuotaExceededException" * "SSMContacts.Client.exceptions.ThrottlingException" * "SSMContacts.Client.exceptions.ValidationException" **Examples** The following send-activation-code example sends an activation code and message to the specified contact channel. response = client.send_activation_code( ContactChannelId='arn:aws:ssm-contacts:us-east-1:111122223333:contact-channel/akuam/8ddae2d1-12c8-4e45-b852-c8587266c400', ) print(response) Expected Output: { 'ResponseMetadata': { '...': '...', }, } SSMContacts / Client / deactivate_contact_channel deactivate_contact_channel ************************** SSMContacts.Client.deactivate_contact_channel(**kwargs) To no longer receive Incident Manager engagements to a contact channel, you can deactivate the channel. See also: AWS API Documentation **Request Syntax** response = client.deactivate_contact_channel( ContactChannelId='string' ) Parameters: **ContactChannelId** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the contact channel you're deactivating. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "SSMContacts.Client.exceptions.AccessDeniedException" * "SSMContacts.Client.exceptions.InternalServerException" * "SSMContacts.Client.exceptions.ResourceNotFoundException" * "SSMContacts.Client.exceptions.ThrottlingException" * "SSMContacts.Client.exceptions.ValidationException" **Examples** 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. response = client.deactivate_contact_channel( ContactChannelId='arn:aws:ssm-contacts:us-east-2:111122223333:contact-channel/akuam/fc7405c4-46b2-48b7-87b2-93e2f225b90d', ) print(response) Expected Output: { 'ResponseMetadata': { '...': '...', }, } SSMContacts / Client / list_page_receipts list_page_receipts ****************** SSMContacts.Client.list_page_receipts(**kwargs) Lists all of the engagements to contact channels that have been acknowledged. See also: AWS API Documentation **Request Syntax** response = client.list_page_receipts( PageId='string', NextToken='string', MaxResults=123 ) Parameters: * **PageId** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the engagement to a specific contact channel. * **NextToken** (*string*) -- The pagination token to continue to the next page of results. * **MaxResults** (*integer*) -- The maximum number of acknowledgements per page of results. Return type: dict Returns: **Response Syntax** { 'NextToken': 'string', 'Receipts': [ { 'ContactChannelArn': 'string', 'ReceiptType': 'DELIVERED'|'ERROR'|'READ'|'SENT'|'STOP', 'ReceiptInfo': 'string', 'ReceiptTime': datetime(2015, 1, 1) }, ] } **Response Structure** * *(dict) --* * **NextToken** *(string) --* The pagination token to continue to the next page of results. * **Receipts** *(list) --* A list of each acknowledgement. * *(dict) --* Records events during an engagement. * **ContactChannelArn** *(string) --* The Amazon Resource Name (ARN) of the contact channel Incident Manager engaged. * **ReceiptType** *(string) --* The type follows the engagement cycle, "SENT", "DELIVERED", and "READ". * **ReceiptInfo** *(string) --* Information provided during the page acknowledgement. * **ReceiptTime** *(datetime) --* The time receipt was "SENT", "DELIVERED", or "READ". **Exceptions** * "SSMContacts.Client.exceptions.AccessDeniedException" * "SSMContacts.Client.exceptions.InternalServerException" * "SSMContacts.Client.exceptions.ResourceNotFoundException" * "SSMContacts.Client.exceptions.ThrottlingException" * "SSMContacts.Client.exceptions.ValidationException" **Examples** The following command-name example lists whether a page was received or not by a contact. response = client.list_page_receipts( PageId='arn:aws:ssm-contacts:us-east-2:111122223333:page/akuam/94ea0c7b-56d9-46c3-b84a-a37c8b067ad3', ) print(response) Expected Output: { 'Receipts': [ { 'ContactChannelArn': 'arn:aws:ssm-contacts:us-east-2:111122223333:contact-channel/akuam/fc7405c4-46b2-48b7-87b2-93e2f225b90d', 'ReceiptInfo': '425440', 'ReceiptTime': datetime(2021, 5, 18, 20, 42, 57, 1, 138, 0), 'ReceiptType': 'DELIVERED', }, { 'ContactChannelArn': 'arn:aws:ssm-contacts:us-east-2:111122223333:contact-channel/akuam/fc7405c4-46b2-48b7-87b2-93e2f225b90d', 'ReceiptInfo': '425440', 'ReceiptTime': datetime(2021, 5, 18, 20, 42, 57, 1, 138, 0), 'ReceiptType': 'READ', }, { 'ContactChannelArn': 'arn:aws:ssm-contacts:us-east-2:111122223333:contact-channel/akuam/fc7405c4-46b2-48b7-87b2-93e2f225b90d', 'ReceiptInfo': 'SM6656c19132f1465f9c9c1123a5dde7c9', 'ReceiptTime': datetime(2021, 5, 18, 20, 40, 52, 1, 138, 0), 'ReceiptType': 'SENT', }, ], 'ResponseMetadata': { '...': '...', }, } SSMContacts / Client / tag_resource tag_resource ************ SSMContacts.Client.tag_resource(**kwargs) Tags a contact or escalation plan. You can tag only contacts and escalation plans in the first region of your replication set. See also: AWS API Documentation **Request Syntax** response = client.tag_resource( ResourceARN='string', Tags=[ { 'Key': 'string', 'Value': 'string' }, ] ) Parameters: * **ResourceARN** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the contact or escalation plan. * **Tags** (*list*) -- **[REQUIRED]** A list of tags that you are adding to the contact or escalation plan. * *(dict) --* A container of a key-value name pair. * **Key** *(string) --* Name of the object key. * **Value** *(string) --* Value of the tag. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "SSMContacts.Client.exceptions.AccessDeniedException" * "SSMContacts.Client.exceptions.ThrottlingException" * "SSMContacts.Client.exceptions.ResourceNotFoundException" * "SSMContacts.Client.exceptions.InternalServerException" * "SSMContacts.Client.exceptions.ServiceQuotaExceededException" * "SSMContacts.Client.exceptions.ValidationException" **Examples** The following tag-resource example tags a specified contact with the provided tag key value pair. response = client.tag_resource( ResourceARN='arn:aws:ssm-contacts:us-east-1:111122223333:contact/akuam', Tags=[ { 'Key': 'group1', 'Value': '1', }, ], ) print(response) Expected Output: { 'ResponseMetadata': { '...': '...', }, } SSMContacts / Client / list_engagements list_engagements **************** SSMContacts.Client.list_engagements(**kwargs) Lists all engagements that have happened in an incident. See also: AWS API Documentation **Request Syntax** response = client.list_engagements( NextToken='string', MaxResults=123, IncidentId='string', TimeRangeValue={ 'StartTime': datetime(2015, 1, 1), 'EndTime': datetime(2015, 1, 1) } ) Parameters: * **NextToken** (*string*) -- The pagination token to continue to the next page of results. * **MaxResults** (*integer*) -- The maximum number of engagements per page of results. * **IncidentId** (*string*) -- The Amazon Resource Name (ARN) of the incident you're listing engagements for. * **TimeRangeValue** (*dict*) -- The time range to lists engagements for an incident. * **StartTime** *(datetime) --* The start of the time range. * **EndTime** *(datetime) --* The end of the time range. Return type: dict Returns: **Response Syntax** { 'NextToken': 'string', 'Engagements': [ { 'EngagementArn': 'string', 'ContactArn': 'string', 'Sender': 'string', 'IncidentId': 'string', 'StartTime': datetime(2015, 1, 1), 'StopTime': datetime(2015, 1, 1) }, ] } **Response Structure** * *(dict) --* * **NextToken** *(string) --* The pagination token to continue to the next page of results. * **Engagements** *(list) --* A list of each engagement that occurred during the specified time range of an incident. * *(dict) --* Incident Manager reaching out to a contact or escalation plan to engage contact during an incident. * **EngagementArn** *(string) --* The Amazon Resource Name (ARN) of the engagement. * **ContactArn** *(string) --* The ARN of the escalation plan or contact that Incident Manager is engaging. * **Sender** *(string) --* The user that started the engagement. * **IncidentId** *(string) --* The ARN of the incident that's engaging the contact. * **StartTime** *(datetime) --* The time that the engagement began. * **StopTime** *(datetime) --* The time that the engagement ended. **Exceptions** * "SSMContacts.Client.exceptions.AccessDeniedException" * "SSMContacts.Client.exceptions.InternalServerException" * "SSMContacts.Client.exceptions.ThrottlingException" * "SSMContacts.Client.exceptions.ValidationException" **Examples** The following list-engagements example lists engagements to escalation plans and contacts. You can also list engagements for a single incident. response = client.list_engagements( ) print(response) Expected Output: { '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': datetime(2021, 5, 18, 20, 37, 50, 1, 138, 0), }, { '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': datetime(2021, 5, 18, 18, 40, 26, 1, 138, 0), }, { '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': datetime(2021, 5, 18, 18, 25, 41, 1, 138, 0), }, { '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': datetime(2021, 5, 18, 18, 20, 58, 1, 138, 0), }, ], 'ResponseMetadata': { '...': '...', }, } SSMContacts / Client / list_page_resolutions list_page_resolutions ********************* SSMContacts.Client.list_page_resolutions(**kwargs) 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*. See also: AWS API Documentation **Request Syntax** response = client.list_page_resolutions( NextToken='string', PageId='string' ) Parameters: * **NextToken** (*string*) -- A token to start the list. Use this token to get the next set of results. * **PageId** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the contact engaged for the incident. Return type: dict Returns: **Response Syntax** { 'NextToken': 'string', 'PageResolutions': [ { 'ContactArn': 'string', 'Type': 'PERSONAL'|'ESCALATION'|'ONCALL_SCHEDULE', 'StageIndex': 123 }, ] } **Response Structure** * *(dict) --* * **NextToken** *(string) --* The token for the next set of items to return. Use this token to get the next set of results. * **PageResolutions** *(list) --* Information about the resolution for an engagement. * *(dict) --* 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. * **ContactArn** *(string) --* The Amazon Resource Name (ARN) of a contact in the engagement resolution process. * **Type** *(string) --* The type of contact for a resolution step. * **StageIndex** *(integer) --* The stage in the escalation plan that resolves to this contact. **Exceptions** * "SSMContacts.Client.exceptions.AccessDeniedException" * "SSMContacts.Client.exceptions.InternalServerException" * "SSMContacts.Client.exceptions.ResourceNotFoundException" * "SSMContacts.Client.exceptions.ThrottlingException" * "SSMContacts.Client.exceptions.ValidationException" SSMContacts / Client / delete_rotation delete_rotation *************** SSMContacts.Client.delete_rotation(**kwargs) 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. See also: AWS API Documentation **Request Syntax** response = client.delete_rotation( RotationId='string' ) Parameters: **RotationId** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the on-call rotation to delete. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "SSMContacts.Client.exceptions.AccessDeniedException" * "SSMContacts.Client.exceptions.ConflictException" * "SSMContacts.Client.exceptions.InternalServerException" * "SSMContacts.Client.exceptions.ResourceNotFoundException" * "SSMContacts.Client.exceptions.ThrottlingException" * "SSMContacts.Client.exceptions.ValidationException" SSMContacts / Client / list_preview_rotation_shifts list_preview_rotation_shifts **************************** SSMContacts.Client.list_preview_rotation_shifts(**kwargs) Returns a list of shifts based on rotation configuration parameters. Note: The Incident Manager primarily uses this operation to populate the **Preview** calendar. It is not typically run by end users. See also: AWS API Documentation **Request Syntax** response = client.list_preview_rotation_shifts( RotationStartTime=datetime(2015, 1, 1), StartTime=datetime(2015, 1, 1), EndTime=datetime(2015, 1, 1), Members=[ 'string', ], TimeZoneId='string', Recurrence={ 'MonthlySettings': [ { 'DayOfMonth': 123, 'HandOffTime': { 'HourOfDay': 123, 'MinuteOfHour': 123 } }, ], 'WeeklySettings': [ { 'DayOfWeek': 'MON'|'TUE'|'WED'|'THU'|'FRI'|'SAT'|'SUN', 'HandOffTime': { 'HourOfDay': 123, 'MinuteOfHour': 123 } }, ], 'DailySettings': [ { 'HourOfDay': 123, 'MinuteOfHour': 123 }, ], 'NumberOfOnCalls': 123, 'ShiftCoverages': { 'string': [ { 'Start': { 'HourOfDay': 123, 'MinuteOfHour': 123 }, 'End': { 'HourOfDay': 123, 'MinuteOfHour': 123 } }, ] }, 'RecurrenceMultiplier': 123 }, Overrides=[ { 'NewMembers': [ 'string', ], 'StartTime': datetime(2015, 1, 1), 'EndTime': datetime(2015, 1, 1) }, ], NextToken='string', MaxResults=123 ) Parameters: * **RotationStartTime** (*datetime*) -- The date and time a rotation would begin. The first shift is calculated from this date and time. * **StartTime** (*datetime*) -- Used to filter the range of calculated shifts before sending the response back to the user. * **EndTime** (*datetime*) -- **[REQUIRED]** The date and time a rotation shift would end. * **Members** (*list*) -- **[REQUIRED]** The contacts that would be assigned to a rotation. * *(string) --* * **TimeZoneId** (*string*) -- **[REQUIRED]** 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". * **Recurrence** (*dict*) -- **[REQUIRED]** Information about how long a rotation would last before restarting at the beginning of the shift order. * **MonthlySettings** *(list) --* Information about on-call rotations that recur monthly. * *(dict) --* Information about on-call rotations that recur monthly. * **DayOfMonth** *(integer) --* **[REQUIRED]** The day of the month when monthly recurring on-call rotations begin. * **HandOffTime** *(dict) --* **[REQUIRED]** The time of day when a monthly recurring on-call shift rotation begins. * **HourOfDay** *(integer) --* **[REQUIRED]** The hour when an on-call rotation shift begins or ends. * **MinuteOfHour** *(integer) --* **[REQUIRED]** The minute when an on-call rotation shift begins or ends. * **WeeklySettings** *(list) --* Information about on-call rotations that recur weekly. * *(dict) --* Information about rotations that recur weekly. * **DayOfWeek** *(string) --* **[REQUIRED]** The day of the week when weekly recurring on-call shift rotations begins. * **HandOffTime** *(dict) --* **[REQUIRED]** The time of day when a weekly recurring on-call shift rotation begins. * **HourOfDay** *(integer) --* **[REQUIRED]** The hour when an on-call rotation shift begins or ends. * **MinuteOfHour** *(integer) --* **[REQUIRED]** The minute when an on-call rotation shift begins or ends. * **DailySettings** *(list) --* Information about on-call rotations that recur daily. * *(dict) --* Details about when an on-call rotation shift begins or ends. * **HourOfDay** *(integer) --* **[REQUIRED]** The hour when an on-call rotation shift begins or ends. * **MinuteOfHour** *(integer) --* **[REQUIRED]** The minute when an on-call rotation shift begins or ends. * **NumberOfOnCalls** *(integer) --* **[REQUIRED]** 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. * **ShiftCoverages** *(dict) --* Information about the days of the week included in on-call rotation coverage. * *(string) --* * *(list) --* * *(dict) --* Information about when an on-call shift begins and ends. * **Start** *(dict) --* Information about when the on-call rotation shift begins. * **HourOfDay** *(integer) --* **[REQUIRED]** The hour when an on-call rotation shift begins or ends. * **MinuteOfHour** *(integer) --* **[REQUIRED]** The minute when an on-call rotation shift begins or ends. * **End** *(dict) --* Information about when the on-call rotation shift ends. * **HourOfDay** *(integer) --* **[REQUIRED]** The hour when an on-call rotation shift begins or ends. * **MinuteOfHour** *(integer) --* **[REQUIRED]** The minute when an on-call rotation shift begins or ends. * **RecurrenceMultiplier** *(integer) --* **[REQUIRED]** The number of days, weeks, or months a single rotation lasts. * **Overrides** (*list*) -- Information about changes that would be made in a rotation override. * *(dict) --* Information about contacts and times that an on-call override replaces. * **NewMembers** *(list) --* Information about contacts to add to an on-call rotation override. * *(string) --* * **StartTime** *(datetime) --* Information about the time a rotation override would begin. * **EndTime** *(datetime) --* Information about the time a rotation override would end. * **NextToken** (*string*) -- A token to start the list. This token is used to get the next set of results. * **MaxResults** (*integer*) -- 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. Return type: dict Returns: **Response Syntax** { 'RotationShifts': [ { 'ContactIds': [ 'string', ], 'StartTime': datetime(2015, 1, 1), 'EndTime': datetime(2015, 1, 1), 'Type': 'REGULAR'|'OVERRIDDEN', 'ShiftDetails': { 'OverriddenContactIds': [ 'string', ] } }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **RotationShifts** *(list) --* Details about a rotation shift, including times, types, and contacts. * *(dict) --* Information about a shift that belongs to an on-call rotation. * **ContactIds** *(list) --* The Amazon Resource Names (ARNs) of the contacts who are part of the shift rotation. * *(string) --* * **StartTime** *(datetime) --* The time a shift rotation begins. * **EndTime** *(datetime) --* The time a shift rotation ends. * **Type** *(string) --* The type of shift rotation. * **ShiftDetails** *(dict) --* Additional information about an on-call rotation shift. * **OverriddenContactIds** *(list) --* 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. * *(string) --* * **NextToken** *(string) --* The token for the next set of items to return. This token is used to get the next set of results. **Exceptions** * "SSMContacts.Client.exceptions.AccessDeniedException" * "SSMContacts.Client.exceptions.InternalServerException" * "SSMContacts.Client.exceptions.ThrottlingException" * "SSMContacts.Client.exceptions.ValidationException"