SupportApp

Client

class SupportApp.Client

A low-level client representing AWS Support App (SupportApp)

You can use the Amazon Web Services Support App in Slack API to manage your support cases in Slack for your Amazon Web Services account. After you configure your Slack workspace and channel with the Amazon Web Services Support App, you can perform the following tasks directly in your Slack channel:

  • Create, search, update, and resolve your support cases
  • Request service quota increases for your account
  • Invite Amazon Web Services Support agents to your channel so that you can chat directly about your support cases

For more information about how to perform these actions in Slack, see the following documentation in the Amazon Web Services Support User Guide :

You can also use the Amazon Web Services Management Console instead of the Amazon Web Services Support App API to manage your Slack configurations. For more information, see Authorize a Slack workspace to enable the Amazon Web Services Support App.

Note

  • You must have a Business or Enterprise Support plan to use the Amazon Web Services Support App API.
  • For more information about the Amazon Web Services Support App endpoints, see the Amazon Web Services Support App in Slack endpoints in the Amazon Web Services General Reference .
client = session.create_client('support-app')

These are the available methods:

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.
close()

Closes underlying endpoint connections.

create_slack_channel_configuration(**kwargs)

Creates a Slack channel configuration for your Amazon Web Services account.

Note

  • You can add up to 5 Slack workspaces for your account.
  • You can add up to 20 Slack channels for your account.

A Slack channel can have up to 100 Amazon Web Services accounts. This means that only 100 accounts can add the same Slack channel to the Amazon Web Services Support App. We recommend that you only add the accounts that you need to manage support cases for your organization. This can reduce the notifications about case updates that you receive in the Slack channel.

Note

We recommend that you choose a private Slack channel so that only members in that channel have read and write access to your support cases. Anyone in your Slack channel can create, update, or resolve support cases for your account. Users require an invitation to join private channels.

See also: AWS API Documentation

Request Syntax

response = client.create_slack_channel_configuration(
    channelId='string',
    channelName='string',
    channelRoleArn='string',
    notifyOnAddCorrespondenceToCase=True|False,
    notifyOnCaseSeverity='none'|'all'|'high',
    notifyOnCreateOrReopenCase=True|False,
    notifyOnResolveCase=True|False,
    teamId='string'
)
Parameters
  • channelId (string) --

    [REQUIRED]

    The channel ID in Slack. This ID identifies a channel within a Slack workspace.

  • channelName (string) -- The name of the Slack channel that you configure for the Amazon Web Services Support App.
  • channelRoleArn (string) --

    [REQUIRED]

    The Amazon Resource Name (ARN) of an IAM role that you want to use to perform operations on Amazon Web Services. For more information, see Managing access to the Amazon Web Services Support App in the Amazon Web Services Support User Guide .

  • notifyOnAddCorrespondenceToCase (boolean) -- Whether you want to get notified when a support case has a new correspondence.
  • notifyOnCaseSeverity (string) --

    [REQUIRED]

    The case severity for a support case that you want to receive notifications.

    If you specify high or all , you must specify true for at least one of the following parameters:

    • notifyOnAddCorrespondenceToCase
    • notifyOnCreateOrReopenCase
    • notifyOnResolveCase

    If you specify none , the following parameters must be null or false :

    • notifyOnAddCorrespondenceToCase
    • notifyOnCreateOrReopenCase
    • notifyOnResolveCase

    Note

    If you don't specify these parameters in your request, they default to false .

  • notifyOnCreateOrReopenCase (boolean) -- Whether you want to get notified when a support case is created or reopened.
  • notifyOnResolveCase (boolean) -- Whether you want to get notified when a support case is resolved.
  • teamId (string) --

    [REQUIRED]

    The team ID in Slack. This ID uniquely identifies a Slack workspace, such as T012ABCDEFG .

Return type

dict

Returns

Response Syntax

{}

Response Structure

  • (dict) --

Exceptions

delete_account_alias()

Deletes an alias for an Amazon Web Services account ID. The alias appears in the Amazon Web Services Support App page of the Amazon Web Services Support Center. The alias also appears in Slack messages from the Amazon Web Services Support App.

See also: AWS API Documentation

Request Syntax

response = client.delete_account_alias()
Return type
dict
Returns
Response Syntax
{}

Response Structure

  • (dict) --

Exceptions

delete_slack_channel_configuration(**kwargs)

Deletes a Slack channel configuration from your Amazon Web Services account. This operation doesn't delete your Slack channel.

See also: AWS API Documentation

Request Syntax

response = client.delete_slack_channel_configuration(
    channelId='string',
    teamId='string'
)
Parameters
  • channelId (string) --

    [REQUIRED]

    The channel ID in Slack. This ID identifies a channel within a Slack workspace.

  • teamId (string) --

    [REQUIRED]

    The team ID in Slack. This ID uniquely identifies a Slack workspace, such as T012ABCDEFG .

Return type

dict

Returns

Response Syntax

{}

Response Structure

  • (dict) --

Exceptions

delete_slack_workspace_configuration(**kwargs)

Deletes a Slack workspace configuration from your Amazon Web Services account. This operation doesn't delete your Slack workspace.

See also: AWS API Documentation

Request Syntax

response = client.delete_slack_workspace_configuration(
    teamId='string'
)
Parameters
teamId (string) --

[REQUIRED]

The team ID in Slack. This ID uniquely identifies a Slack workspace, such as T012ABCDEFG .

Return type
dict
Returns
Response Syntax
{}

Response Structure

  • (dict) --

Exceptions

get_account_alias()

Retrieves the alias from an Amazon Web Services account ID. The alias appears in the Amazon Web Services Support App page of the Amazon Web Services Support Center. The alias also appears in Slack messages from the Amazon Web Services Support App.

See also: AWS API Documentation

Request Syntax

response = client.get_account_alias()
Return type
dict
Returns
Response Syntax
{
    'accountAlias': 'string'
}

Response Structure

  • (dict) --
    • accountAlias (string) --

      An alias or short name for an Amazon Web Services account.

Exceptions

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
L{botocore.paginate.Paginator}
Returns
A paginator object.
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
list_slack_channel_configurations(**kwargs)

Lists the Slack channel configurations for an Amazon Web Services account.

See also: AWS API Documentation

Request Syntax

response = client.list_slack_channel_configurations(
    nextToken='string'
)
Parameters
nextToken (string) -- If the results of a search are large, the API only returns a portion of the results and includes a nextToken pagination token in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When the API returns the last set of results, the response doesn't include a pagination token value.
Return type
dict
Returns
Response Syntax
{
    'nextToken': 'string',
    'slackChannelConfigurations': [
        {
            'channelId': 'string',
            'channelName': 'string',
            'channelRoleArn': 'string',
            'notifyOnAddCorrespondenceToCase': True|False,
            'notifyOnCaseSeverity': 'none'|'all'|'high',
            'notifyOnCreateOrReopenCase': True|False,
            'notifyOnResolveCase': True|False,
            'teamId': 'string'
        },
    ]
}

Response Structure

  • (dict) --
    • nextToken (string) --

      The point where pagination should resume when the response returns only partial results.

    • slackChannelConfigurations (list) --

      The configurations for a Slack channel.

      • (dict) --

        The configuration for a Slack channel that you added for your Amazon Web Services account.

        • channelId (string) --

          The channel ID in Slack. This ID identifies a channel within a Slack workspace.

        • channelName (string) --

          The name of the Slack channel that you configured with the Amazon Web Services Support App for your Amazon Web Services account.

        • channelRoleArn (string) --

          The Amazon Resource Name (ARN) of an IAM role that you want to use to perform operations on Amazon Web Services. For more information, see Managing access to the Amazon Web Services Support App in the Amazon Web Services Support User Guide .

        • notifyOnAddCorrespondenceToCase (boolean) --

          Whether you want to get notified when a support case has a new correspondence.

        • notifyOnCaseSeverity (string) --

          The case severity for a support case that you want to receive notifications.

        • notifyOnCreateOrReopenCase (boolean) --

          Whether you want to get notified when a support case is created or reopened.

        • notifyOnResolveCase (boolean) --

          Whether you want to get notified when a support case is resolved.

        • teamId (string) --

          The team ID in Slack. This ID uniquely identifies a Slack workspace, such as T012ABCDEFG .

Exceptions

list_slack_workspace_configurations(**kwargs)

Lists the Slack workspace configurations for an Amazon Web Services account.

See also: AWS API Documentation

Request Syntax

response = client.list_slack_workspace_configurations(
    nextToken='string'
)
Parameters
nextToken (string) -- If the results of a search are large, the API only returns a portion of the results and includes a nextToken pagination token in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When the API returns the last set of results, the response doesn't include a pagination token value.
Return type
dict
Returns
Response Syntax
{
    'nextToken': 'string',
    'slackWorkspaceConfigurations': [
        {
            'allowOrganizationMemberAccount': True|False,
            'teamId': 'string',
            'teamName': 'string'
        },
    ]
}

Response Structure

  • (dict) --
    • nextToken (string) --

      The point where pagination should resume when the response returns only partial results.

    • slackWorkspaceConfigurations (list) --

      The configurations for a Slack workspace.

      • (dict) --

        The configuration for a Slack workspace that you added to an Amazon Web Services account.

        • allowOrganizationMemberAccount (boolean) --

          Whether to allow member accounts to authorize Slack workspaces. Member accounts must be part of an organization in Organizations.

        • teamId (string) --

          The team ID in Slack. This ID uniquely identifies a Slack workspace, such as T012ABCDEFG .

        • teamName (string) --

          The name of the Slack workspace.

Exceptions

put_account_alias(**kwargs)

Creates or updates an individual alias for each Amazon Web Services account ID. The alias appears in the Amazon Web Services Support App page of the Amazon Web Services Support Center. The alias also appears in Slack messages from the Amazon Web Services Support App.

See also: AWS API Documentation

Request Syntax

response = client.put_account_alias(
    accountAlias='string'
)
Parameters
accountAlias (string) --

[REQUIRED]

An alias or short name for an Amazon Web Services account.

Return type
dict
Returns
Response Syntax
{}

Response Structure

  • (dict) --

Exceptions

register_slack_workspace_for_organization(**kwargs)

Registers a Slack workspace for your Amazon Web Services account. To call this API, your account must be part of an organization in Organizations.

If you're the management account and you want to register Slack workspaces for your organization, you must complete the following tasks:

  • Sign in to the Amazon Web Services Support Center and authorize the Slack workspaces where you want your organization to have access to. See Authorize a Slack workspace in the Amazon Web Services Support User Guide .
  • Call the RegisterSlackWorkspaceForOrganization API to authorize each Slack workspace for the organization.

After the management account authorizes the Slack workspace, member accounts can call this API to authorize the same Slack workspace for their individual accounts. Member accounts don't need to authorize the Slack workspace manually through the Amazon Web Services Support Center.

To use the Amazon Web Services Support App, each account must then complete the following tasks:

See also: AWS API Documentation

Request Syntax

response = client.register_slack_workspace_for_organization(
    teamId='string'
)
Parameters
teamId (string) --

[REQUIRED]

The team ID in Slack. This ID uniquely identifies a Slack workspace, such as T012ABCDEFG . Specify the Slack workspace that you want to use for your organization.

Return type
dict
Returns
Response Syntax
{
    'accountType': 'management'|'member',
    'teamId': 'string',
    'teamName': 'string'
}

Response Structure

  • (dict) --
    • accountType (string) --

      Whether the Amazon Web Services account is a management or member account that's part of an organization in Organizations.

    • teamId (string) --

      The team ID in Slack. This ID uniquely identifies a Slack workspace, such as T012ABCDEFG .

    • teamName (string) --

      The name of the Slack workspace.

Exceptions

update_slack_channel_configuration(**kwargs)

Updates the configuration for a Slack channel, such as case update notifications.

See also: AWS API Documentation

Request Syntax

response = client.update_slack_channel_configuration(
    channelId='string',
    channelName='string',
    channelRoleArn='string',
    notifyOnAddCorrespondenceToCase=True|False,
    notifyOnCaseSeverity='none'|'all'|'high',
    notifyOnCreateOrReopenCase=True|False,
    notifyOnResolveCase=True|False,
    teamId='string'
)
Parameters
  • channelId (string) --

    [REQUIRED]

    The channel ID in Slack. This ID identifies a channel within a Slack workspace.

  • channelName (string) -- The Slack channel name that you want to update.
  • channelRoleArn (string) -- The Amazon Resource Name (ARN) of an IAM role that you want to use to perform operations on Amazon Web Services. For more information, see Managing access to the Amazon Web Services Support App in the Amazon Web Services Support User Guide .
  • notifyOnAddCorrespondenceToCase (boolean) -- Whether you want to get notified when a support case has a new correspondence.
  • notifyOnCaseSeverity (string) --

    The case severity for a support case that you want to receive notifications.

    If you specify high or all , at least one of the following parameters must be true :

    • notifyOnAddCorrespondenceToCase
    • notifyOnCreateOrReopenCase
    • notifyOnResolveCase

    If you specify none , any of the following parameters that you specify in your request must be false :

    • notifyOnAddCorrespondenceToCase
    • notifyOnCreateOrReopenCase
    • notifyOnResolveCase

    Note

    If you don't specify these parameters in your request, the Amazon Web Services Support App uses the current values by default.

  • notifyOnCreateOrReopenCase (boolean) -- Whether you want to get notified when a support case is created or reopened.
  • notifyOnResolveCase (boolean) -- Whether you want to get notified when a support case is resolved.
  • teamId (string) --

    [REQUIRED]

    The team ID in Slack. This ID uniquely identifies a Slack workspace, such as T012ABCDEFG .

Return type

dict

Returns

Response Syntax

{
    'channelId': 'string',
    'channelName': 'string',
    'channelRoleArn': 'string',
    'notifyOnAddCorrespondenceToCase': True|False,
    'notifyOnCaseSeverity': 'none'|'all'|'high',
    'notifyOnCreateOrReopenCase': True|False,
    'notifyOnResolveCase': True|False,
    'teamId': 'string'
}

Response Structure

  • (dict) --

    • channelId (string) --

      The channel ID in Slack. This ID identifies a channel within a Slack workspace.

    • channelName (string) --

      The name of the Slack channel that you configure for the Amazon Web Services Support App.

    • channelRoleArn (string) --

      The Amazon Resource Name (ARN) of an IAM role that you want to use to perform operations on Amazon Web Services. For more information, see Managing access to the Amazon Web Services Support App in the Amazon Web Services Support User Guide .

    • notifyOnAddCorrespondenceToCase (boolean) --

      Whether you want to get notified when a support case has a new correspondence.

    • notifyOnCaseSeverity (string) --

      The case severity for a support case that you want to receive notifications.

    • notifyOnCreateOrReopenCase (boolean) --

      Whether you want to get notified when a support case is created or reopened.

    • notifyOnResolveCase (boolean) --

      Whether you want to get notified when a support case is resolved.

    • teamId (string) --

      The team ID in Slack. This ID uniquely identifies a Slack workspace, such as T012ABCDEFG .

Exceptions

Client Exceptions

Client exceptions are available on a client instance via the exceptions property. For more detailed instructions and examples on the exact usage of client exceptions, see the error handling user guide.

The available client exceptions are:

class SupportApp.Client.exceptions.AccessDeniedException

You don't have sufficient permission to perform this action.

Example

try:
  ...
except client.exceptions.AccessDeniedException as e:
  print(e.response)
response

The parsed error response. All exceptions have a top level Error key that provides normalized access to common exception atrributes. All other keys are specific to this service or exception class.

Syntax

{
    'message': 'string',
    'Error': {
        'Code': 'string',
        'Message': 'string'
    }
}

Structure

  • (dict) --

    You don't have sufficient permission to perform this action.

    • message (string) --
    • Error (dict) -- Normalized access to common exception attributes.
      • Code (string) -- An identifier specifying the exception type.
      • Message (string) -- A descriptive message explaining why the exception occured.
class SupportApp.Client.exceptions.ConflictException

Your request has a conflict. For example, you might receive this error if you try the following:

  • Add, update, or delete a Slack channel configuration before you add a Slack workspace to your Amazon Web Services account.
  • Add a Slack channel configuration that already exists in your Amazon Web Services account.
  • Delete a Slack channel configuration for a live chat channel.
  • Delete a Slack workspace from your Amazon Web Services account that has an active live chat channel.
  • Call the RegisterSlackWorkspaceForOrganization API from an Amazon Web Services account that doesn't belong to an organization.
  • Call the RegisterSlackWorkspaceForOrganization API from a member account, but the management account hasn't registered that workspace yet for the organization.

Example

try:
  ...
except client.exceptions.ConflictException as e:
  print(e.response)
response

The parsed error response. All exceptions have a top level Error key that provides normalized access to common exception atrributes. All other keys are specific to this service or exception class.

Syntax

{
    'message': 'string',
    'Error': {
        'Code': 'string',
        'Message': 'string'
    }
}

Structure

  • (dict) --

    Your request has a conflict. For example, you might receive this error if you try the following:

    • Add, update, or delete a Slack channel configuration before you add a Slack workspace to your Amazon Web Services account.
    • Add a Slack channel configuration that already exists in your Amazon Web Services account.
    • Delete a Slack channel configuration for a live chat channel.
    • Delete a Slack workspace from your Amazon Web Services account that has an active live chat channel.
    • Call the RegisterSlackWorkspaceForOrganization API from an Amazon Web Services account that doesn't belong to an organization.
    • Call the RegisterSlackWorkspaceForOrganization API from a member account, but the management account hasn't registered that workspace yet for the organization.
    • message (string) --
    • Error (dict) -- Normalized access to common exception attributes.
      • Code (string) -- An identifier specifying the exception type.
      • Message (string) -- A descriptive message explaining why the exception occured.
class SupportApp.Client.exceptions.InternalServerException

We can’t process your request right now because of a server issue. Try again later.

Example

try:
  ...
except client.exceptions.InternalServerException as e:
  print(e.response)
response

The parsed error response. All exceptions have a top level Error key that provides normalized access to common exception atrributes. All other keys are specific to this service or exception class.

Syntax

{
    'message': 'string',
    'Error': {
        'Code': 'string',
        'Message': 'string'
    }
}

Structure

  • (dict) --

    We can’t process your request right now because of a server issue. Try again later.

    • message (string) --
    • Error (dict) -- Normalized access to common exception attributes.
      • Code (string) -- An identifier specifying the exception type.
      • Message (string) -- A descriptive message explaining why the exception occured.
class SupportApp.Client.exceptions.ResourceNotFoundException

The specified resource is missing or doesn't exist, such as an account alias, Slack channel configuration, or Slack workspace configuration.

Example

try:
  ...
except client.exceptions.ResourceNotFoundException as e:
  print(e.response)
response

The parsed error response. All exceptions have a top level Error key that provides normalized access to common exception atrributes. All other keys are specific to this service or exception class.

Syntax

{
    'message': 'string',
    'Error': {
        'Code': 'string',
        'Message': 'string'
    }
}

Structure

  • (dict) --

    The specified resource is missing or doesn't exist, such as an account alias, Slack channel configuration, or Slack workspace configuration.

    • message (string) --
    • Error (dict) -- Normalized access to common exception attributes.
      • Code (string) -- An identifier specifying the exception type.
      • Message (string) -- A descriptive message explaining why the exception occured.
class SupportApp.Client.exceptions.ServiceQuotaExceededException

Your Service Quotas request exceeds the quota for the service. For example, your Service Quotas request to Amazon Web Services Support App might exceed the maximum number of workspaces or channels per account, or the maximum number of accounts per Slack channel.

Example

try:
  ...
except client.exceptions.ServiceQuotaExceededException as e:
  print(e.response)
response

The parsed error response. All exceptions have a top level Error key that provides normalized access to common exception atrributes. All other keys are specific to this service or exception class.

Syntax

{
    'message': 'string',
    'Error': {
        'Code': 'string',
        'Message': 'string'
    }
}

Structure

  • (dict) --

    Your Service Quotas request exceeds the quota for the service. For example, your Service Quotas request to Amazon Web Services Support App might exceed the maximum number of workspaces or channels per account, or the maximum number of accounts per Slack channel.

    • message (string) --
    • Error (dict) -- Normalized access to common exception attributes.
      • Code (string) -- An identifier specifying the exception type.
      • Message (string) -- A descriptive message explaining why the exception occured.
class SupportApp.Client.exceptions.ValidationException

Your request input doesn't meet the constraints that the Amazon Web Services Support App specifies.

Example

try:
  ...
except client.exceptions.ValidationException as e:
  print(e.response)
response

The parsed error response. All exceptions have a top level Error key that provides normalized access to common exception atrributes. All other keys are specific to this service or exception class.

Syntax

{
    'message': 'string',
    'Error': {
        'Code': 'string',
        'Message': 'string'
    }
}

Structure

  • (dict) --

    Your request input doesn't meet the constraints that the Amazon Web Services Support App specifies.

    • message (string) --
    • Error (dict) -- Normalized access to common exception attributes.
      • Code (string) -- An identifier specifying the exception type.
      • Message (string) -- A descriptive message explaining why the exception occured.

Paginators

The available paginators are: