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': {
        '...': '...',
    },
}