Class: Aws::Chatbot::Client

Inherits:
Seahorse::Client::Base show all
Includes:
Aws::ClientStubs
Defined in:
gems/aws-sdk-chatbot/lib/aws-sdk-chatbot/client.rb

Overview

An API client for Chatbot. To construct a client, you need to configure a :region and :credentials.

client = Aws::Chatbot::Client.new(
  region: region_name,
  credentials: credentials,
  # ...
)

For details on configuring region and credentials see the developer guide.

See #initialize for a full list of supported configuration options.

Instance Attribute Summary

Attributes inherited from Seahorse::Client::Base

#config, #handlers

API Operations collapse

Instance Method Summary collapse

Methods included from Aws::ClientStubs

#api_requests, #stub_data, #stub_responses

Methods inherited from Seahorse::Client::Base

add_plugin, api, clear_plugins, define, new, #operation_names, plugins, remove_plugin, set_api, set_plugins

Methods included from Seahorse::Client::HandlerBuilder

#handle, #handle_request, #handle_response

Constructor Details

#initialize(options) ⇒ Client

Returns a new instance of Client.

Parameters:

  • options (Hash)

Options Hash (options):

  • :plugins (Array<Seahorse::Client::Plugin>) — default: []]

    A list of plugins to apply to the client. Each plugin is either a class name or an instance of a plugin class.

  • :credentials (required, Aws::CredentialProvider)

    Your AWS credentials. This can be an instance of any one of the following classes:

    • Aws::Credentials - Used for configuring static, non-refreshing credentials.

    • Aws::SharedCredentials - Used for loading static credentials from a shared file, such as ~/.aws/config.

    • Aws::AssumeRoleCredentials - Used when you need to assume a role.

    • Aws::AssumeRoleWebIdentityCredentials - Used when you need to assume a role after providing credentials via the web.

    • Aws::SSOCredentials - Used for loading credentials from AWS SSO using an access token generated from aws login.

    • Aws::ProcessCredentials - Used for loading credentials from a process that outputs to stdout.

    • Aws::InstanceProfileCredentials - Used for loading credentials from an EC2 IMDS on an EC2 instance.

    • Aws::ECSCredentials - Used for loading credentials from instances running in ECS.

    • Aws::CognitoIdentityCredentials - Used for loading credentials from the Cognito Identity service.

    When :credentials are not configured directly, the following locations will be searched for credentials:

    • Aws.config[:credentials]
    • The :access_key_id, :secret_access_key, :session_token, and :account_id options.
    • ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY'], ENV['AWS_SESSION_TOKEN'], and ENV['AWS_ACCOUNT_ID']
    • ~/.aws/credentials
    • ~/.aws/config
    • EC2/ECS IMDS instance profile - When used by default, the timeouts are very aggressive. Construct and pass an instance of Aws::InstanceProfileCredentials or Aws::ECSCredentials to enable retries and extended timeouts. Instance profile credential fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED'] to true.
  • :region (required, String)

    The AWS region to connect to. The configured :region is used to determine the service :endpoint. When not passed, a default :region is searched for in the following locations:

    • Aws.config[:region]
    • ENV['AWS_REGION']
    • ENV['AMAZON_REGION']
    • ENV['AWS_DEFAULT_REGION']
    • ~/.aws/credentials
    • ~/.aws/config
  • :access_key_id (String)
  • :account_id (String)
  • :active_endpoint_cache (Boolean) — default: false

    When set to true, a thread polling for endpoints will be running in the background every 60 secs (default). Defaults to false.

  • :adaptive_retry_wait_to_fill (Boolean) — default: true

    Used only in adaptive retry mode. When true, the request will sleep until there is sufficent client side capacity to retry the request. When false, the request will raise a RetryCapacityNotAvailableError and will not retry instead of sleeping.

  • :client_side_monitoring (Boolean) — default: false

    When true, client-side metrics will be collected for all API requests from this client.

  • :client_side_monitoring_client_id (String) — default: ""

    Allows you to provide an identifier for this client which will be attached to all generated client side metrics. Defaults to an empty string.

  • :client_side_monitoring_host (String) — default: "127.0.0.1"

    Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client side monitoring agent is running on, where client metrics will be published via UDP.

  • :client_side_monitoring_port (Integer) — default: 31000

    Required for publishing client metrics. The port that the client side monitoring agent is running on, where client metrics will be published via UDP.

  • :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher) — default: Aws::ClientSideMonitoring::Publisher

    Allows you to provide a custom client-side monitoring publisher class. By default, will use the Client Side Monitoring Agent Publisher.

  • :convert_params (Boolean) — default: true

    When true, an attempt is made to coerce request parameters into the required types.

  • :correct_clock_skew (Boolean) — default: true

    Used only in standard and adaptive retry modes. Specifies whether to apply a clock skew correction and retry requests with skewed client clocks.

  • :defaults_mode (String) — default: "legacy"

    See DefaultsModeConfiguration for a list of the accepted modes and the configuration defaults that are included.

  • :disable_host_prefix_injection (Boolean) — default: false

    Set to true to disable SDK automatically adding host prefix to default service endpoint when available.

  • :disable_request_compression (Boolean) — default: false

    When set to 'true' the request body will not be compressed for supported operations.

  • :endpoint (String, URI::HTTPS, URI::HTTP)

    Normally you should not configure the :endpoint option directly. This is normally constructed from the :region option. Configuring :endpoint is normally reserved for connecting to test or custom endpoints. The endpoint should be a URI formatted like:

    'http://example.com'
    'https://example.com'
    'http://example.com:123'
    
  • :endpoint_cache_max_entries (Integer) — default: 1000

    Used for the maximum size limit of the LRU cache storing endpoints data for endpoint discovery enabled operations. Defaults to 1000.

  • :endpoint_cache_max_threads (Integer) — default: 10

    Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.

  • :endpoint_cache_poll_interval (Integer) — default: 60

    When :endpoint_discovery and :active_endpoint_cache is enabled, Use this option to config the time interval in seconds for making requests fetching endpoints information. Defaults to 60 sec.

  • :endpoint_discovery (Boolean) — default: false

    When set to true, endpoint discovery will be enabled for operations when available.

  • :ignore_configured_endpoint_urls (Boolean)

    Setting to true disables use of endpoint URLs provided via environment variables and the shared configuration file.

  • :log_formatter (Aws::Log::Formatter) — default: Aws::Log::Formatter.default

    The log formatter.

  • :log_level (Symbol) — default: :info

    The log level to send messages to the :logger at.

  • :logger (Logger)

    The Logger instance to send log messages to. If this option is not set, logging will be disabled.

  • :max_attempts (Integer) — default: 3

    An integer representing the maximum number attempts that will be made for a single request, including the initial attempt. For example, setting this value to 5 will result in a request being retried up to 4 times. Used in standard and adaptive retry modes.

  • :profile (String) — default: "default"

    Used when loading credentials from the shared credentials file at HOME/.aws/credentials. When not specified, 'default' is used.

  • :request_min_compression_size_bytes (Integer) — default: 10240

    The minimum size in bytes that triggers compression for request bodies. The value must be non-negative integer value between 0 and 10485780 bytes inclusive.

  • :retry_backoff (Proc)

    A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay. This option is only used in the legacy retry mode.

  • :retry_base_delay (Float) — default: 0.3

    The base delay in seconds used by the default backoff function. This option is only used in the legacy retry mode.

  • :retry_jitter (Symbol) — default: :none

    A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number. This option is only used in the legacy retry mode.

    @see https://www.awsarchitectureblog.com/2015/03/backoff.html

  • :retry_limit (Integer) — default: 3

    The maximum number of times to retry failed requests. Only ~ 500 level server errors and certain ~ 400 level client errors are retried. Generally, these are throttling errors, data checksum errors, networking errors, timeout errors, auth errors, endpoint discovery, and errors from expired credentials. This option is only used in the legacy retry mode.

  • :retry_max_delay (Integer) — default: 0

    The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function. This option is only used in the legacy retry mode.

  • :retry_mode (String) — default: "legacy"

    Specifies which retry algorithm to use. Values are:

    • legacy - The pre-existing retry behavior. This is default value if no retry mode is provided.

    • standard - A standardized set of retry rules across the AWS SDKs. This includes support for retry quotas, which limit the number of unsuccessful retries a client can make.

    • adaptive - An experimental retry mode that includes all the functionality of standard mode along with automatic client side throttling. This is a provisional mode that may change behavior in the future.

  • :sdk_ua_app_id (String)

    A unique and opaque application ID that is appended to the User-Agent header as app/sdk_ua_app_id. It should have a maximum length of 50. This variable is sourced from environment variable AWS_SDK_UA_APP_ID or the shared config profile attribute sdk_ua_app_id.

  • :secret_access_key (String)
  • :session_token (String)
  • :sigv4a_signing_region_set (Array)

    A list of regions that should be signed with SigV4a signing. When not passed, a default :sigv4a_signing_region_set is searched for in the following locations:

    • Aws.config[:sigv4a_signing_region_set]
    • ENV['AWS_SIGV4A_SIGNING_REGION_SET']
    • ~/.aws/config
  • :stub_responses (Boolean) — default: false

    Causes the client to return stubbed responses. By default fake responses are generated and returned. You can specify the response data to return or errors to raise by calling Aws::ClientStubs#stub_responses. See Aws::ClientStubs for more information.

    Please note When response stubbing is enabled, no HTTP requests are made, and retries are disabled.

  • :telemetry_provider (Aws::Telemetry::TelemetryProviderBase) — default: Aws::Telemetry::NoOpTelemetryProvider

    Allows you to provide a telemetry provider, which is used to emit telemetry data. By default, uses NoOpTelemetryProvider which will not record or emit any telemetry data. The SDK supports the following telemetry providers:

    • OpenTelemetry (OTel) - To use the OTel provider, install and require the opentelemetry-sdk gem and then, pass in an instance of a Aws::Telemetry::OTelProvider for telemetry provider.
  • :token_provider (Aws::TokenProvider)

    A Bearer Token Provider. This can be an instance of any one of the following classes:

    • Aws::StaticTokenProvider - Used for configuring static, non-refreshing tokens.

    • Aws::SSOTokenProvider - Used for loading tokens from AWS SSO using an access token generated from aws login.

    When :token_provider is not configured directly, the Aws::TokenProviderChain will be used to search for tokens configured for your profile in shared configuration files.

  • :use_dualstack_endpoint (Boolean)

    When set to true, dualstack enabled endpoints (with .aws TLD) will be used if available.

  • :use_fips_endpoint (Boolean)

    When set to true, fips compatible endpoints will be used if available. When a fips region is used, the region is normalized and this config is set to true.

  • :validate_params (Boolean) — default: true

    When true, request parameters are validated before sending the request.

  • :endpoint_provider (Aws::Chatbot::EndpointProvider)

    The endpoint provider used to resolve endpoints. Any object that responds to #resolve_endpoint(parameters) where parameters is a Struct similar to Aws::Chatbot::EndpointParameters.

  • :http_continue_timeout (Float) — default: 1

    The number of seconds to wait for a 100-continue response before sending the request body. This option has no effect unless the request has "Expect" header set to "100-continue". Defaults to nil which disables this behaviour. This value can safely be set per request on the session.

  • :http_idle_timeout (Float) — default: 5

    The number of seconds a connection is allowed to sit idle before it is considered stale. Stale connections are closed and removed from the pool before making a request.

  • :http_open_timeout (Float) — default: 15

    The default number of seconds to wait for response data. This value can safely be set per-request on the session.

  • :http_proxy (URI::HTTP, String)

    A proxy to send requests through. Formatted like 'http://proxy.com:123'.

  • :http_read_timeout (Float) — default: 60

    The default number of seconds to wait for response data. This value can safely be set per-request on the session.

  • :http_wire_trace (Boolean) — default: false

    When true, HTTP debug output will be sent to the :logger.

  • :on_chunk_received (Proc)

    When a Proc object is provided, it will be used as callback when each chunk of the response body is received. It provides three arguments: the chunk, the number of bytes received, and the total number of bytes in the response (or nil if the server did not send a content-length).

  • :on_chunk_sent (Proc)

    When a Proc object is provided, it will be used as callback when each chunk of the request body is sent. It provides three arguments: the chunk, the number of bytes read from the body, and the total number of bytes in the body.

  • :raise_response_errors (Boolean) — default: true

    When true, response errors are raised.

  • :ssl_ca_bundle (String)

    Full path to the SSL certificate authority bundle file that should be used when verifying peer certificates. If you do not pass :ssl_ca_bundle or :ssl_ca_directory the the system default will be used if available.

  • :ssl_ca_directory (String)

    Full path of the directory that contains the unbundled SSL certificate authority files for verifying peer certificates. If you do not pass :ssl_ca_bundle or :ssl_ca_directory the the system default will be used if available.

  • :ssl_ca_store (String)

    Sets the X509::Store to verify peer certificate.

  • :ssl_cert (OpenSSL::X509::Certificate)

    Sets a client certificate when creating http connections.

  • :ssl_key (OpenSSL::PKey)

    Sets a client key when creating http connections.

  • :ssl_timeout (Float)

    Sets the SSL timeout in seconds

  • :ssl_verify_peer (Boolean) — default: true

    When true, SSL peer certificates are verified when establishing a connection.



444
445
446
# File 'gems/aws-sdk-chatbot/lib/aws-sdk-chatbot/client.rb', line 444

def initialize(*args)
  super
end

Instance Method Details

#associate_to_configuration(params = {}) ⇒ Struct

Links a resource (for example, a custom action) to a channel configuration.

Examples:

Example: Associate a custom action to a configuration


# Associate a custom action to a channel configuration, allowing it to be used in that channel

resp = client.associate_to_configuration({
  chat_configuration: "arn:aws:chatbot::1234567890:chat-configuration/slack-channel/my-channel", 
  resource: "arn:aws:chatbot::1234567890:custom-action/my-custom-action", 
})

resp.to_h outputs the following:
{
}

Request syntax with placeholder values


resp = client.associate_to_configuration({
  resource: "ResourceIdentifier", # required
  chat_configuration: "ChatConfigurationArn", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :resource (required, String)

    The resource Amazon Resource Name (ARN) to link.

  • :chat_configuration (required, String)

    The channel configuration to associate with the resource.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



486
487
488
489
# File 'gems/aws-sdk-chatbot/lib/aws-sdk-chatbot/client.rb', line 486

def associate_to_configuration(params = {}, options = {})
  req = build_request(:associate_to_configuration, params)
  req.send_request(options)
end

#create_chime_webhook_configuration(params = {}) ⇒ Types::CreateChimeWebhookConfigurationResult

Creates an AWS Chatbot configuration for Amazon Chime.

Examples:

Request syntax with placeholder values


resp = client.create_chime_webhook_configuration({
  webhook_description: "ChimeWebhookDescription", # required
  webhook_url: "ChimeWebhookUrl", # required
  sns_topic_arns: ["Arn"], # required
  iam_role_arn: "Arn", # required
  configuration_name: "ConfigurationName", # required
  logging_level: "CustomerCwLogLevel",
  tags: [
    {
      tag_key: "TagKey", # required
      tag_value: "TagValue", # required
    },
  ],
})

Response structure


resp.webhook_configuration.webhook_description #=> String
resp.webhook_configuration.chat_configuration_arn #=> String
resp.webhook_configuration.iam_role_arn #=> String
resp.webhook_configuration.sns_topic_arns #=> Array
resp.webhook_configuration.sns_topic_arns[0] #=> String
resp.webhook_configuration.configuration_name #=> String
resp.webhook_configuration.logging_level #=> String
resp.webhook_configuration.tags #=> Array
resp.webhook_configuration.tags[0].tag_key #=> String
resp.webhook_configuration.tags[0].tag_value #=> String
resp.webhook_configuration.state #=> String
resp.webhook_configuration.state_reason #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :webhook_description (required, String)

    A description of the webhook. We recommend using the convention RoomName/WebhookName.

    For more information, see Tutorial: Get started with Amazon Chime in the AWS Chatbot Administrator Guide.

  • :webhook_url (required, String)

    The URL for the Amazon Chime webhook.

  • :sns_topic_arns (required, Array<String>)

    The Amazon Resource Names (ARNs) of the SNS topics that deliver notifications to AWS Chatbot.

  • :iam_role_arn (required, String)

    A user-defined role that AWS Chatbot assumes. This is not the service-linked role.

    For more information, see IAM policies for AWS Chatbot in the AWS Chatbot Administrator Guide.

  • :configuration_name (required, String)

    The name of the configuration.

  • :logging_level (String)

    Logging levels include ERROR, INFO, or NONE.

  • :tags (Array<Types::Tag>)

    A map of tags assigned to a resource. A tag is a string-to-string map of key-value pairs.

Returns:

See Also:



572
573
574
575
# File 'gems/aws-sdk-chatbot/lib/aws-sdk-chatbot/client.rb', line 572

def create_chime_webhook_configuration(params = {}, options = {})
  req = build_request(:create_chime_webhook_configuration, params)
  req.send_request(options)
end

#create_custom_action(params = {}) ⇒ Types::CreateCustomActionResult

Creates a custom action that can be invoked as an alias or as a button on a notification.

Examples:

Example: Create an alias that invokes a Lambda function


# Creates an alias that invokes a Lambda function from chat channels. You can use this alias by entering 'run invoke',
# after which you're prompted for the function name.

resp = client.create_custom_action({
  action_name: "my-custom-action", 
  alias_name: "invoke", 
  definition: {
    command_text: "lambda invoke $functionName", 
  }, 
})

resp.to_h outputs the following:
{
  custom_action_arn: "arn:aws:chatbot::1234567890:custom-action/my-custom-action", 
}

Example: Create a custom action to list alarms


# Creates a button on all Cloudwatch notifications that lists alarms in the ‘ALARM’ state.

resp = client.create_custom_action({
  action_name: "describe-alarms", 
  attachments: [
    {
      button_text: "List alarms", 
      notification_type: "CloudWatch", 
    }, 
  ], 
  definition: {
    command_text: "cloudwatch describe-alarms --state-value ALARM", 
  }, 
})

resp.to_h outputs the following:
{
  custom_action_arn: "arn:aws:chatbot::1234567890:custom-action/describe-alarms", 
}

Request syntax with placeholder values


resp = client.create_custom_action({
  definition: { # required
    command_text: "CustomActionDefinitionCommandTextString", # required
  },
  alias_name: "CustomActionAliasName",
  attachments: [
    {
      notification_type: "CustomActionAttachmentNotificationType",
      button_text: "CustomActionButtonText",
      criteria: [
        {
          operator: "HAS_VALUE", # required, accepts HAS_VALUE, EQUALS
          variable_name: "CustomActionAttachmentCriteriaVariableNameString", # required
          value: "CustomActionAttachmentCriteriaValueString",
        },
      ],
      variables: {
        "CustomActionAttachmentVariablesKeyString" => "CustomActionAttachmentVariablesValueString",
      },
    },
  ],
  tags: [
    {
      tag_key: "TagKey", # required
      tag_value: "TagValue", # required
    },
  ],
  client_token: "ClientToken",
  action_name: "CustomActionName", # required
})

Response structure


resp.custom_action_arn #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :definition (required, Types::CustomActionDefinition)

    The definition of the command to run when invoked as an alias or as an action button.

  • :alias_name (String)

    The name used to invoke this action in a chat channel. For example, @aws run my-alias.

  • :attachments (Array<Types::CustomActionAttachment>)

    Defines when this custom action button should be attached to a notification.

  • :tags (Array<Types::Tag>)

    A map of tags assigned to a resource. A tag is a string-to-string map of key-value pairs.

  • :client_token (String)

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token returns the result from the original successful request.

    If you do not specify a client token, one is automatically generated by the SDK.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :action_name (required, String)

    The name of the custom action. This name is included in the Amazon Resource Name (ARN).

Returns:

See Also:



699
700
701
702
# File 'gems/aws-sdk-chatbot/lib/aws-sdk-chatbot/client.rb', line 699

def create_custom_action(params = {}, options = {})
  req = build_request(:create_custom_action, params)
  req.send_request(options)
end

#create_microsoft_teams_channel_configuration(params = {}) ⇒ Types::CreateTeamsChannelConfigurationResult

Creates an AWS Chatbot configuration for Microsoft Teams.

Examples:

Request syntax with placeholder values


resp = client.create_microsoft_teams_channel_configuration({
  channel_id: "TeamsChannelId", # required
  channel_name: "TeamsChannelName",
  team_id: "UUID", # required
  team_name: "TeamName",
  tenant_id: "UUID", # required
  sns_topic_arns: ["Arn"],
  iam_role_arn: "Arn", # required
  configuration_name: "ConfigurationName", # required
  logging_level: "CustomerCwLogLevel",
  guardrail_policy_arns: ["GuardrailPolicyArn"],
  user_authorization_required: false,
  tags: [
    {
      tag_key: "TagKey", # required
      tag_value: "TagValue", # required
    },
  ],
})

Response structure


resp.channel_configuration.channel_id #=> String
resp.channel_configuration.channel_name #=> String
resp.channel_configuration.team_id #=> String
resp.channel_configuration.team_name #=> String
resp.channel_configuration.tenant_id #=> String
resp.channel_configuration.chat_configuration_arn #=> String
resp.channel_configuration.iam_role_arn #=> String
resp.channel_configuration.sns_topic_arns #=> Array
resp.channel_configuration.sns_topic_arns[0] #=> String
resp.channel_configuration.configuration_name #=> String
resp.channel_configuration.logging_level #=> String
resp.channel_configuration.guardrail_policy_arns #=> Array
resp.channel_configuration.guardrail_policy_arns[0] #=> String
resp.channel_configuration.user_authorization_required #=> Boolean
resp.channel_configuration.tags #=> Array
resp.channel_configuration.tags[0].tag_key #=> String
resp.channel_configuration.tags[0].tag_value #=> String
resp.channel_configuration.state #=> String
resp.channel_configuration.state_reason #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :channel_id (required, String)

    The ID of the Microsoft Teams channel.

  • :channel_name (String)

    The name of the Microsoft Teams channel.

  • :team_id (required, String)

    The ID of the Microsoft Teams authorized with AWS Chatbot.

    To get the team ID, you must perform the initial authorization flow with Microsoft Teams in the AWS Chatbot console. Then you can copy and paste the team ID from the console. For more information, see Step 1: Configure a Microsoft Teams client in the AWS Chatbot Administrator Guide.

  • :team_name (String)

    The name of the Microsoft Teams Team.

  • :tenant_id (required, String)

    The ID of the Microsoft Teams tenant.

  • :sns_topic_arns (Array<String>)

    The Amazon Resource Names (ARNs) of the SNS topics that deliver notifications to AWS Chatbot.

  • :iam_role_arn (required, String)

    A user-defined role that AWS Chatbot assumes. This is not the service-linked role.

    For more information, see IAM policies for AWS Chatbot in the AWS Chatbot Administrator Guide.

  • :configuration_name (required, String)

    The name of the configuration.

  • :logging_level (String)

    Logging levels include ERROR, INFO, or NONE.

  • :guardrail_policy_arns (Array<String>)

    The list of IAM policy ARNs that are applied as channel guardrails. The AWS managed AdministratorAccess policy is applied by default if this is not set.

  • :user_authorization_required (Boolean)

    Enables use of a user role requirement in your chat configuration.

  • :tags (Array<Types::Tag>)

    A map of tags assigned to a resource. A tag is a string-to-string map of key-value pairs.

Returns:

See Also:



816
817
818
819
# File 'gems/aws-sdk-chatbot/lib/aws-sdk-chatbot/client.rb', line 816

def create_microsoft_teams_channel_configuration(params = {}, options = {})
  req = build_request(:create_microsoft_teams_channel_configuration, params)
  req.send_request(options)
end

#create_slack_channel_configuration(params = {}) ⇒ Types::CreateSlackChannelConfigurationResult

Creates an AWS Chatbot confugration for Slack.

Examples:

Request syntax with placeholder values


resp = client.create_slack_channel_configuration({
  slack_team_id: "SlackTeamId", # required
  slack_channel_id: "SlackChannelId", # required
  slack_channel_name: "SlackChannelDisplayName",
  sns_topic_arns: ["Arn"],
  iam_role_arn: "Arn", # required
  configuration_name: "ConfigurationName", # required
  logging_level: "CustomerCwLogLevel",
  guardrail_policy_arns: ["GuardrailPolicyArn"],
  user_authorization_required: false,
  tags: [
    {
      tag_key: "TagKey", # required
      tag_value: "TagValue", # required
    },
  ],
})

Response structure


resp.channel_configuration.slack_team_name #=> String
resp.channel_configuration.slack_team_id #=> String
resp.channel_configuration.slack_channel_id #=> String
resp.channel_configuration.slack_channel_name #=> String
resp.channel_configuration.chat_configuration_arn #=> String
resp.channel_configuration.iam_role_arn #=> String
resp.channel_configuration.sns_topic_arns #=> Array
resp.channel_configuration.sns_topic_arns[0] #=> String
resp.channel_configuration.configuration_name #=> String
resp.channel_configuration.logging_level #=> String
resp.channel_configuration.guardrail_policy_arns #=> Array
resp.channel_configuration.guardrail_policy_arns[0] #=> String
resp.channel_configuration.user_authorization_required #=> Boolean
resp.channel_configuration.tags #=> Array
resp.channel_configuration.tags[0].tag_key #=> String
resp.channel_configuration.tags[0].tag_value #=> String
resp.channel_configuration.state #=> String
resp.channel_configuration.state_reason #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :slack_team_id (required, String)

    The ID of the Slack workspace authorized with AWS Chatbot.

  • :slack_channel_id (required, String)

    The ID of the Slack channel.

    To get this ID, open Slack, right click on the channel name in the left pane, then choose Copy Link. The channel ID is the 9-character string at the end of the URL. For example, ABCBBLZZZ.

  • :slack_channel_name (String)

    The name of the Slack channel.

  • :sns_topic_arns (Array<String>)

    The Amazon Resource Names (ARNs) of the SNS topics that deliver notifications to AWS Chatbot.

  • :iam_role_arn (required, String)

    A user-defined role that AWS Chatbot assumes. This is not the service-linked role.

    For more information, see IAM policies for AWS Chatbot in the AWS Chatbot Administrator Guide.

  • :configuration_name (required, String)

    The name of the configuration.

  • :logging_level (String)

    Logging levels include ERROR, INFO, or NONE.

  • :guardrail_policy_arns (Array<String>)

    The list of IAM policy ARNs that are applied as channel guardrails. The AWS managed AdministratorAccess policy is applied by default if this is not set.

  • :user_authorization_required (Boolean)

    Enables use of a user role requirement in your chat configuration.

  • :tags (Array<Types::Tag>)

    A map of tags assigned to a resource. A tag is a string-to-string map of key-value pairs.

Returns:

See Also:



918
919
920
921
# File 'gems/aws-sdk-chatbot/lib/aws-sdk-chatbot/client.rb', line 918

def create_slack_channel_configuration(params = {}, options = {})
  req = build_request(:create_slack_channel_configuration, params)
  req.send_request(options)
end

#delete_chime_webhook_configuration(params = {}) ⇒ Struct

Deletes a Amazon Chime webhook configuration for AWS Chatbot.

Examples:

Request syntax with placeholder values


resp = client.delete_chime_webhook_configuration({
  chat_configuration_arn: "ChatConfigurationArn", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :chat_configuration_arn (required, String)

    The Amazon Resource Name (ARN) of the ChimeWebhookConfiguration to delete.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



941
942
943
944
# File 'gems/aws-sdk-chatbot/lib/aws-sdk-chatbot/client.rb', line 941

def delete_chime_webhook_configuration(params = {}, options = {})
  req = build_request(:delete_chime_webhook_configuration, params)
  req.send_request(options)
end

#delete_custom_action(params = {}) ⇒ Struct

Deletes a custom action.

Examples:

Example: Delete a custom action


resp = client.delete_custom_action({
  custom_action_arn: "arn:aws:chatbot::1234567890:custom-action/my-custom-action", 
})

resp.to_h outputs the following:
{
}

Request syntax with placeholder values


resp = client.delete_custom_action({
  custom_action_arn: "CustomActionArn", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :custom_action_arn (required, String)

    The fully defined ARN of the custom action.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



974
975
976
977
# File 'gems/aws-sdk-chatbot/lib/aws-sdk-chatbot/client.rb', line 974

def delete_custom_action(params = {}, options = {})
  req = build_request(:delete_custom_action, params)
  req.send_request(options)
end

#delete_microsoft_teams_channel_configuration(params = {}) ⇒ Struct

Deletes a Microsoft Teams channel configuration for AWS Chatbot

Examples:

Request syntax with placeholder values


resp = client.delete_microsoft_teams_channel_configuration({
  chat_configuration_arn: "ChatConfigurationArn", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :chat_configuration_arn (required, String)

    The Amazon Resource Name (ARN) of the MicrosoftTeamsChannelConfiguration associated with the user identity to delete.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



998
999
1000
1001
# File 'gems/aws-sdk-chatbot/lib/aws-sdk-chatbot/client.rb', line 998

def delete_microsoft_teams_channel_configuration(params = {}, options = {})
  req = build_request(:delete_microsoft_teams_channel_configuration, params)
  req.send_request(options)
end

#delete_microsoft_teams_configured_team(params = {}) ⇒ Struct

Deletes the Microsoft Teams team authorization allowing for channels to be configured in that Microsoft Teams team. Note that the Microsoft Teams team must have no channels configured to remove it.

Examples:

Request syntax with placeholder values


resp = client.delete_microsoft_teams_configured_team({
  team_id: "UUID", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :team_id (required, String)

    The ID of the Microsoft Teams team authorized with AWS Chatbot.

    To get the team ID, you must perform the initial authorization flow with Microsoft Teams in the AWS Chatbot console. Then you can copy and paste the team ID from the console. For more information, see Step 1: Configure a Microsoft Teams client in the AWS Chatbot Administrator Guide.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1032
1033
1034
1035
# File 'gems/aws-sdk-chatbot/lib/aws-sdk-chatbot/client.rb', line 1032

def delete_microsoft_teams_configured_team(params = {}, options = {})
  req = build_request(:delete_microsoft_teams_configured_team, params)
  req.send_request(options)
end

#delete_microsoft_teams_user_identity(params = {}) ⇒ Struct

Identifes a user level permission for a channel configuration.

Examples:

Request syntax with placeholder values


resp = client.delete_microsoft_teams_user_identity({
  chat_configuration_arn: "ChatConfigurationArn", # required
  user_id: "UUID", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :chat_configuration_arn (required, String)

    The ARN of the MicrosoftTeamsChannelConfiguration associated with the user identity to delete.

  • :user_id (required, String)

    The Microsoft Teams user ID.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1059
1060
1061
1062
# File 'gems/aws-sdk-chatbot/lib/aws-sdk-chatbot/client.rb', line 1059

def delete_microsoft_teams_user_identity(params = {}, options = {})
  req = build_request(:delete_microsoft_teams_user_identity, params)
  req.send_request(options)
end

#delete_slack_channel_configuration(params = {}) ⇒ Struct

Deletes a Slack channel configuration for AWS Chatbot

Examples:

Request syntax with placeholder values


resp = client.delete_slack_channel_configuration({
  chat_configuration_arn: "ChatConfigurationArn", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :chat_configuration_arn (required, String)

    The Amazon Resource Name (ARN) of the SlackChannelConfiguration to delete.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1082
1083
1084
1085
# File 'gems/aws-sdk-chatbot/lib/aws-sdk-chatbot/client.rb', line 1082

def delete_slack_channel_configuration(params = {}, options = {})
  req = build_request(:delete_slack_channel_configuration, params)
  req.send_request(options)
end

#delete_slack_user_identity(params = {}) ⇒ Struct

Deletes a user level permission for a Slack channel configuration.

Examples:

Request syntax with placeholder values


resp = client.delete_slack_user_identity({
  chat_configuration_arn: "ChatConfigurationArn", # required
  slack_team_id: "SlackTeamId", # required
  slack_user_id: "SlackUserId", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :chat_configuration_arn (required, String)

    The ARN of the SlackChannelConfiguration associated with the user identity to delete.

  • :slack_team_id (required, String)

    The ID of the Slack workspace authorized with AWS Chatbot.

  • :slack_user_id (required, String)

    The ID of the user in Slack

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1113
1114
1115
1116
# File 'gems/aws-sdk-chatbot/lib/aws-sdk-chatbot/client.rb', line 1113

def delete_slack_user_identity(params = {}, options = {})
  req = build_request(:delete_slack_user_identity, params)
  req.send_request(options)
end

#delete_slack_workspace_authorization(params = {}) ⇒ Struct

Deletes the Slack workspace authorization that allows channels to be configured in that workspace. This requires all configured channels in the workspace to be deleted.

Examples:

Request syntax with placeholder values


resp = client.delete_slack_workspace_authorization({
  slack_team_id: "SlackTeamId", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :slack_team_id (required, String)

    The ID of the Slack workspace authorized with AWS Chatbot.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1137
1138
1139
1140
# File 'gems/aws-sdk-chatbot/lib/aws-sdk-chatbot/client.rb', line 1137

def delete_slack_workspace_authorization(params = {}, options = {})
  req = build_request(:delete_slack_workspace_authorization, params)
  req.send_request(options)
end

#describe_chime_webhook_configurations(params = {}) ⇒ Types::DescribeChimeWebhookConfigurationsResult

Lists Amazon Chime webhook configurations optionally filtered by ChatConfigurationArn

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.describe_chime_webhook_configurations({
  max_results: 1,
  next_token: "PaginationToken",
  chat_configuration_arn: "ChatConfigurationArn",
})

Response structure


resp.next_token #=> String
resp.webhook_configurations #=> Array
resp.webhook_configurations[0].webhook_description #=> String
resp.webhook_configurations[0].chat_configuration_arn #=> String
resp.webhook_configurations[0].iam_role_arn #=> String
resp.webhook_configurations[0].sns_topic_arns #=> Array
resp.webhook_configurations[0].sns_topic_arns[0] #=> String
resp.webhook_configurations[0].configuration_name #=> String
resp.webhook_configurations[0].logging_level #=> String
resp.webhook_configurations[0].tags #=> Array
resp.webhook_configurations[0].tags[0].tag_key #=> String
resp.webhook_configurations[0].tags[0].tag_value #=> String
resp.webhook_configurations[0].state #=> String
resp.webhook_configurations[0].state_reason #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :max_results (Integer)

    The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

  • :next_token (String)

    An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.

  • :chat_configuration_arn (String)

    An optional Amazon Resource Name (ARN) of a ChimeWebhookConfiguration to describe.

Returns:

See Also:



1196
1197
1198
1199
# File 'gems/aws-sdk-chatbot/lib/aws-sdk-chatbot/client.rb', line 1196

def describe_chime_webhook_configurations(params = {}, options = {})
  req = build_request(:describe_chime_webhook_configurations, params)
  req.send_request(options)
end

#describe_slack_channel_configurations(params = {}) ⇒ Types::DescribeSlackChannelConfigurationsResult

Lists Slack channel configurations optionally filtered by ChatConfigurationArn

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.describe_slack_channel_configurations({
  max_results: 1,
  next_token: "PaginationToken",
  chat_configuration_arn: "ChatConfigurationArn",
})

Response structure


resp.next_token #=> String
resp.slack_channel_configurations #=> Array
resp.slack_channel_configurations[0].slack_team_name #=> String
resp.slack_channel_configurations[0].slack_team_id #=> String
resp.slack_channel_configurations[0].slack_channel_id #=> String
resp.slack_channel_configurations[0].slack_channel_name #=> String
resp.slack_channel_configurations[0].chat_configuration_arn #=> String
resp.slack_channel_configurations[0].iam_role_arn #=> String
resp.slack_channel_configurations[0].sns_topic_arns #=> Array
resp.slack_channel_configurations[0].sns_topic_arns[0] #=> String
resp.slack_channel_configurations[0].configuration_name #=> String
resp.slack_channel_configurations[0].logging_level #=> String
resp.slack_channel_configurations[0].guardrail_policy_arns #=> Array
resp.slack_channel_configurations[0].guardrail_policy_arns[0] #=> String
resp.slack_channel_configurations[0].user_authorization_required #=> Boolean
resp.slack_channel_configurations[0].tags #=> Array
resp.slack_channel_configurations[0].tags[0].tag_key #=> String
resp.slack_channel_configurations[0].tags[0].tag_value #=> String
resp.slack_channel_configurations[0].state #=> String
resp.slack_channel_configurations[0].state_reason #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :max_results (Integer)

    The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

  • :next_token (String)

    An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.

  • :chat_configuration_arn (String)

    An optional Amazon Resource Name (ARN) of a SlackChannelConfiguration to describe.

Returns:

See Also:



1261
1262
1263
1264
# File 'gems/aws-sdk-chatbot/lib/aws-sdk-chatbot/client.rb', line 1261

def describe_slack_channel_configurations(params = {}, options = {})
  req = build_request(:describe_slack_channel_configurations, params)
  req.send_request(options)
end

#describe_slack_user_identities(params = {}) ⇒ Types::DescribeSlackUserIdentitiesResult

Lists all Slack user identities with a mapped role.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.describe_slack_user_identities({
  chat_configuration_arn: "ChatConfigurationArn",
  next_token: "PaginationToken",
  max_results: 1,
})

Response structure


resp.slack_user_identities #=> Array
resp.slack_user_identities[0].iam_role_arn #=> String
resp.slack_user_identities[0].chat_configuration_arn #=> String
resp.slack_user_identities[0].slack_team_id #=> String
resp.slack_user_identities[0].slack_user_id #=> String
resp.slack_user_identities[0].aws_user_identity #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :chat_configuration_arn (String)

    The Amazon Resource Name (ARN) of the SlackChannelConfiguration associated with the user identities to describe.

  • :next_token (String)

    An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.

  • :max_results (Integer)

    The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

Returns:

See Also:



1312
1313
1314
1315
# File 'gems/aws-sdk-chatbot/lib/aws-sdk-chatbot/client.rb', line 1312

def describe_slack_user_identities(params = {}, options = {})
  req = build_request(:describe_slack_user_identities, params)
  req.send_request(options)
end

#describe_slack_workspaces(params = {}) ⇒ Types::DescribeSlackWorkspacesResult

List all authorized Slack workspaces connected to the AWS Account onboarded with AWS Chatbot.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.describe_slack_workspaces({
  max_results: 1,
  next_token: "PaginationToken",
})

Response structure


resp.slack_workspaces #=> Array
resp.slack_workspaces[0].slack_team_id #=> String
resp.slack_workspaces[0].slack_team_name #=> String
resp.slack_workspaces[0].state #=> String
resp.slack_workspaces[0].state_reason #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :max_results (Integer)

    The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

  • :next_token (String)

    An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.

Returns:

See Also:



1358
1359
1360
1361
# File 'gems/aws-sdk-chatbot/lib/aws-sdk-chatbot/client.rb', line 1358

def describe_slack_workspaces(params = {}, options = {})
  req = build_request(:describe_slack_workspaces, params)
  req.send_request(options)
end

#disassociate_from_configuration(params = {}) ⇒ Struct

Unlink a resource, for example a custom action, from a channel configuration.

Examples:

Example: Disassociate a custom action from a configuration


resp = client.disassociate_from_configuration({
  chat_configuration: "arn:aws:chatbot::1234567890:chat-configuration/slack-channel/my-channel", 
  resource: "arn:aws:chatbot::1234567890:custom-action/my-custom-action", 
})

resp.to_h outputs the following:
{
}

Request syntax with placeholder values


resp = client.disassociate_from_configuration({
  resource: "ResourceIdentifier", # required
  chat_configuration: "ChatConfigurationArn", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :resource (required, String)

    The resource (for example, a custom action) Amazon Resource Name (ARN) to unlink.

  • :chat_configuration (required, String)

    The channel configuration the resource is being disassociated from.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1398
1399
1400
1401
# File 'gems/aws-sdk-chatbot/lib/aws-sdk-chatbot/client.rb', line 1398

def disassociate_from_configuration(params = {}, options = {})
  req = build_request(:disassociate_from_configuration, params)
  req.send_request(options)
end

#get_account_preferences(params = {}) ⇒ Types::GetAccountPreferencesResult

Returns AWS Chatbot account preferences.

Examples:

Response structure


resp..user_authorization_required #=> Boolean
resp..training_data_collection_enabled #=> Boolean

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Returns:

See Also:



1418
1419
1420
1421
# File 'gems/aws-sdk-chatbot/lib/aws-sdk-chatbot/client.rb', line 1418

def (params = {}, options = {})
  req = build_request(:get_account_preferences, params)
  req.send_request(options)
end

#get_custom_action(params = {}) ⇒ Types::GetCustomActionResult

Returns a custom action.

Examples:

Example: Get a custom action


resp = client.get_custom_action({
  custom_action_arn: "arn:aws:chatbot::1234567890:custom-action/my-custom-action", 
})

resp.to_h outputs the following:
{
  custom_action: {
    action_name: "my-custom-action", 
    custom_action_arn: "arn:aws:chatbot::1234567890:custom-action/my-custom-action", 
    definition: {
      command_text: "lambda invoke $functionName", 
    }, 
  }, 
}

Request syntax with placeholder values


resp = client.get_custom_action({
  custom_action_arn: "CustomActionArn", # required
})

Response structure


resp.custom_action.custom_action_arn #=> String
resp.custom_action.definition.command_text #=> String
resp.custom_action.alias_name #=> String
resp.custom_action.attachments #=> Array
resp.custom_action.attachments[0].notification_type #=> String
resp.custom_action.attachments[0].button_text #=> String
resp.custom_action.attachments[0].criteria #=> Array
resp.custom_action.attachments[0].criteria[0].operator #=> String, one of "HAS_VALUE", "EQUALS"
resp.custom_action.attachments[0].criteria[0].variable_name #=> String
resp.custom_action.attachments[0].criteria[0].value #=> String
resp.custom_action.attachments[0].variables #=> Hash
resp.custom_action.attachments[0].variables["CustomActionAttachmentVariablesKeyString"] #=> String
resp.custom_action.action_name #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :custom_action_arn (required, String)

    Returns the fully defined Amazon Resource Name (ARN) of the custom action.

Returns:

See Also:



1477
1478
1479
1480
# File 'gems/aws-sdk-chatbot/lib/aws-sdk-chatbot/client.rb', line 1477

def get_custom_action(params = {}, options = {})
  req = build_request(:get_custom_action, params)
  req.send_request(options)
end

#get_microsoft_teams_channel_configuration(params = {}) ⇒ Types::GetTeamsChannelConfigurationResult

Returns a Microsoft Teams channel configuration in an AWS account.

Examples:

Request syntax with placeholder values


resp = client.get_microsoft_teams_channel_configuration({
  chat_configuration_arn: "ChatConfigurationArn", # required
})

Response structure


resp.channel_configuration.channel_id #=> String
resp.channel_configuration.channel_name #=> String
resp.channel_configuration.team_id #=> String
resp.channel_configuration.team_name #=> String
resp.channel_configuration.tenant_id #=> String
resp.channel_configuration.chat_configuration_arn #=> String
resp.channel_configuration.iam_role_arn #=> String
resp.channel_configuration.sns_topic_arns #=> Array
resp.channel_configuration.sns_topic_arns[0] #=> String
resp.channel_configuration.configuration_name #=> String
resp.channel_configuration.logging_level #=> String
resp.channel_configuration.guardrail_policy_arns #=> Array
resp.channel_configuration.guardrail_policy_arns[0] #=> String
resp.channel_configuration.user_authorization_required #=> Boolean
resp.channel_configuration.tags #=> Array
resp.channel_configuration.tags[0].tag_key #=> String
resp.channel_configuration.tags[0].tag_value #=> String
resp.channel_configuration.state #=> String
resp.channel_configuration.state_reason #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :chat_configuration_arn (required, String)

    The Amazon Resource Name (ARN) of the MicrosoftTeamsChannelConfiguration to retrieve.

Returns:

See Also:



1524
1525
1526
1527
# File 'gems/aws-sdk-chatbot/lib/aws-sdk-chatbot/client.rb', line 1524

def get_microsoft_teams_channel_configuration(params = {}, options = {})
  req = build_request(:get_microsoft_teams_channel_configuration, params)
  req.send_request(options)
end

#list_associations(params = {}) ⇒ Types::ListAssociationsResult

Lists resources associated with a channel configuration.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Example: List custom actions associated with a configuration


resp = client.list_associations({
  chat_configuration: "arn:aws:chatbot::1234567890:chat-configuration/slack-channel/my-channel", 
})

resp.to_h outputs the following:
{
  associations: [
    {
      resource: "arn:aws:chatbot::1234567890:custom-action/my-custom-action", 
    }, 
  ], 
}

Request syntax with placeholder values


resp = client.list_associations({
  chat_configuration: "ChatConfigurationArn", # required
  max_results: 1,
  next_token: "ListAssociationsRequestNextTokenString",
})

Response structure


resp.associations #=> Array
resp.associations[0].resource #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :chat_configuration (required, String)

    The channel configuration to list associations for.

  • :max_results (Integer)

    The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

  • :next_token (String)

    An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.

Returns:

See Also:



1586
1587
1588
1589
# File 'gems/aws-sdk-chatbot/lib/aws-sdk-chatbot/client.rb', line 1586

def list_associations(params = {}, options = {})
  req = build_request(:list_associations, params)
  req.send_request(options)
end

#list_custom_actions(params = {}) ⇒ Types::ListCustomActionsResult

Lists custom actions defined in this account.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Example: List custom actions


resp = client.list_custom_actions({
})

resp.to_h outputs the following:
{
  custom_actions: [
    "arn:aws:chatbot::1234567890:custom-action/my-custom-action", 
  ], 
}

Request syntax with placeholder values


resp = client.list_custom_actions({
  max_results: 1,
  next_token: "ListCustomActionsRequestNextTokenString",
})

Response structure


resp.custom_actions #=> Array
resp.custom_actions[0] #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :max_results (Integer)

    The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

  • :next_token (String)

    An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.

Returns:

See Also:



1641
1642
1643
1644
# File 'gems/aws-sdk-chatbot/lib/aws-sdk-chatbot/client.rb', line 1641

def list_custom_actions(params = {}, options = {})
  req = build_request(:list_custom_actions, params)
  req.send_request(options)
end

#list_microsoft_teams_channel_configurations(params = {}) ⇒ Types::ListTeamsChannelConfigurationsResult

Lists all AWS Chatbot Microsoft Teams channel configurations in an AWS account.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_microsoft_teams_channel_configurations({
  max_results: 1,
  next_token: "PaginationToken",
  team_id: "UUID",
})

Response structure


resp.next_token #=> String
resp.team_channel_configurations #=> Array
resp.team_channel_configurations[0].channel_id #=> String
resp.team_channel_configurations[0].channel_name #=> String
resp.team_channel_configurations[0].team_id #=> String
resp.team_channel_configurations[0].team_name #=> String
resp.team_channel_configurations[0].tenant_id #=> String
resp.team_channel_configurations[0].chat_configuration_arn #=> String
resp.team_channel_configurations[0].iam_role_arn #=> String
resp.team_channel_configurations[0].sns_topic_arns #=> Array
resp.team_channel_configurations[0].sns_topic_arns[0] #=> String
resp.team_channel_configurations[0].configuration_name #=> String
resp.team_channel_configurations[0].logging_level #=> String
resp.team_channel_configurations[0].guardrail_policy_arns #=> Array
resp.team_channel_configurations[0].guardrail_policy_arns[0] #=> String
resp.team_channel_configurations[0].user_authorization_required #=> Boolean
resp.team_channel_configurations[0].tags #=> Array
resp.team_channel_configurations[0].tags[0].tag_key #=> String
resp.team_channel_configurations[0].tags[0].tag_value #=> String
resp.team_channel_configurations[0].state #=> String
resp.team_channel_configurations[0].state_reason #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :max_results (Integer)

    The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

  • :next_token (String)

    An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.

  • :team_id (String)

    The ID of the Microsoft Teams authorized with AWS Chatbot.

    To get the team ID, you must perform the initial authorization flow with Microsoft Teams in the AWS Chatbot console. Then you can copy and paste the team ID from the console. For more information, see Step 1: Configure a Microsoft Teams client in the AWS Chatbot Administrator Guide.

Returns:

See Also:



1716
1717
1718
1719
# File 'gems/aws-sdk-chatbot/lib/aws-sdk-chatbot/client.rb', line 1716

def list_microsoft_teams_channel_configurations(params = {}, options = {})
  req = build_request(:list_microsoft_teams_channel_configurations, params)
  req.send_request(options)
end

#list_microsoft_teams_configured_teams(params = {}) ⇒ Types::ListMicrosoftTeamsConfiguredTeamsResult

Lists all authorized Microsoft Teams for an AWS Account

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_microsoft_teams_configured_teams({
  max_results: 1,
  next_token: "PaginationToken",
})

Response structure


resp.configured_teams #=> Array
resp.configured_teams[0].tenant_id #=> String
resp.configured_teams[0].team_id #=> String
resp.configured_teams[0].team_name #=> String
resp.configured_teams[0].state #=> String
resp.configured_teams[0].state_reason #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :max_results (Integer)

    The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

  • :next_token (String)

    An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.

Returns:

See Also:



1762
1763
1764
1765
# File 'gems/aws-sdk-chatbot/lib/aws-sdk-chatbot/client.rb', line 1762

def list_microsoft_teams_configured_teams(params = {}, options = {})
  req = build_request(:list_microsoft_teams_configured_teams, params)
  req.send_request(options)
end

#list_microsoft_teams_user_identities(params = {}) ⇒ Types::ListMicrosoftTeamsUserIdentitiesResult

A list all Microsoft Teams user identities with a mapped role.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_microsoft_teams_user_identities({
  chat_configuration_arn: "ChatConfigurationArn",
  next_token: "PaginationToken",
  max_results: 1,
})

Response structure


resp.teams_user_identities #=> Array
resp.teams_user_identities[0].iam_role_arn #=> String
resp.teams_user_identities[0].chat_configuration_arn #=> String
resp.teams_user_identities[0].team_id #=> String
resp.teams_user_identities[0].user_id #=> String
resp.teams_user_identities[0].aws_user_identity #=> String
resp.teams_user_identities[0].teams_channel_id #=> String
resp.teams_user_identities[0].teams_tenant_id #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :chat_configuration_arn (String)

    The Amazon Resource Name (ARN) of the MicrosoftTeamsChannelConfiguration associated with the user identities to list.

  • :next_token (String)

    An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.

  • :max_results (Integer)

    The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

Returns:

See Also:



1816
1817
1818
1819
# File 'gems/aws-sdk-chatbot/lib/aws-sdk-chatbot/client.rb', line 1816

def list_microsoft_teams_user_identities(params = {}, options = {})
  req = build_request(:list_microsoft_teams_user_identities, params)
  req.send_request(options)
end

#list_tags_for_resource(params = {}) ⇒ Types::ListTagsForResourceResponse

Lists all of the tags associated with the Amazon Resource Name (ARN) that you specify. The resource can be a user, server, or role.

Examples:

Request syntax with placeholder values


resp = client.list_tags_for_resource({
  resource_arn: "AmazonResourceName", # required
})

Response structure


resp.tags #=> Array
resp.tags[0].tag_key #=> String
resp.tags[0].tag_value #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    The ARN of the resource to list tags for.

Returns:

See Also:



1847
1848
1849
1850
# File 'gems/aws-sdk-chatbot/lib/aws-sdk-chatbot/client.rb', line 1847

def list_tags_for_resource(params = {}, options = {})
  req = build_request(:list_tags_for_resource, params)
  req.send_request(options)
end

#tag_resource(params = {}) ⇒ Struct

Attaches a key-value pair to a resource, as identified by its Amazon Resource Name (ARN). Resources are users, servers, roles, and other entities.

Examples:

Request syntax with placeholder values


resp = client.tag_resource({
  resource_arn: "AmazonResourceName", # required
  tags: [ # required
    {
      tag_key: "TagKey", # required
      tag_value: "TagValue", # required
    },
  ],
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    The ARN of the configuration.

  • :tags (required, Array<Types::Tag>)

    A list of tags to apply to the configuration.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1880
1881
1882
1883
# File 'gems/aws-sdk-chatbot/lib/aws-sdk-chatbot/client.rb', line 1880

def tag_resource(params = {}, options = {})
  req = build_request(:tag_resource, params)
  req.send_request(options)
end

#untag_resource(params = {}) ⇒ Struct

Detaches a key-value pair from a resource, as identified by its Amazon Resource Name (ARN). Resources are users, servers, roles, and other entities.

Examples:

Request syntax with placeholder values


resp = client.untag_resource({
  resource_arn: "AmazonResourceName", # required
  tag_keys: ["TagKey"], # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    The value of the resource that will have the tag removed. An Amazon Resource Name (ARN) is an identifier for a specific AWS resource, such as a server, user, or role.

  • :tag_keys (required, Array<String>)

    TagKeys are key-value pairs assigned to ARNs that can be used to group and search for resources by type. This metadata can be attached to resources for any purpose.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1912
1913
1914
1915
# File 'gems/aws-sdk-chatbot/lib/aws-sdk-chatbot/client.rb', line 1912

def untag_resource(params = {}, options = {})
  req = build_request(:untag_resource, params)
  req.send_request(options)
end

#update_account_preferences(params = {}) ⇒ Types::UpdateAccountPreferencesResult

Updates AWS Chatbot account preferences.

Examples:

Request syntax with placeholder values


resp = client.({
  user_authorization_required: false,
  training_data_collection_enabled: false,
})

Response structure


resp..user_authorization_required #=> Boolean
resp..training_data_collection_enabled #=> Boolean

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :user_authorization_required (Boolean)

    Enables use of a user role requirement in your chat configuration.

  • :training_data_collection_enabled (Boolean)

    Turns on training data collection.

    This helps improve the AWS Chatbot experience by allowing AWS Chatbot to store and use your customer information, such as AWS Chatbot configurations, notifications, user inputs, AWS Chatbot generated responses, and interaction data. This data helps us to continuously improve and develop Artificial Intelligence (AI) technologies. Your data is not shared with any third parties and is protected using sophisticated controls to prevent unauthorized access and misuse. AWS Chatbot does not store or use interactions in chat channels with Amazon Q for training AI technologies for AWS Chatbot.

Returns:

See Also:



1955
1956
1957
1958
# File 'gems/aws-sdk-chatbot/lib/aws-sdk-chatbot/client.rb', line 1955

def (params = {}, options = {})
  req = build_request(:update_account_preferences, params)
  req.send_request(options)
end

#update_chime_webhook_configuration(params = {}) ⇒ Types::UpdateChimeWebhookConfigurationResult

Updates a Amazon Chime webhook configuration.

Examples:

Request syntax with placeholder values


resp = client.update_chime_webhook_configuration({
  chat_configuration_arn: "ChatConfigurationArn", # required
  webhook_description: "ChimeWebhookDescription",
  webhook_url: "ChimeWebhookUrl",
  sns_topic_arns: ["Arn"],
  iam_role_arn: "Arn",
  logging_level: "CustomerCwLogLevel",
})

Response structure


resp.webhook_configuration.webhook_description #=> String
resp.webhook_configuration.chat_configuration_arn #=> String
resp.webhook_configuration.iam_role_arn #=> String
resp.webhook_configuration.sns_topic_arns #=> Array
resp.webhook_configuration.sns_topic_arns[0] #=> String
resp.webhook_configuration.configuration_name #=> String
resp.webhook_configuration.logging_level #=> String
resp.webhook_configuration.tags #=> Array
resp.webhook_configuration.tags[0].tag_key #=> String
resp.webhook_configuration.tags[0].tag_value #=> String
resp.webhook_configuration.state #=> String
resp.webhook_configuration.state_reason #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :chat_configuration_arn (required, String)

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

  • :webhook_description (String)

    A description of the webhook. We recommend using the convention RoomName/WebhookName.

    For more information, see Tutorial: Get started with Amazon Chime in the AWS Chatbot Administrator Guide.

  • :webhook_url (String)

    The URL for the Amazon Chime webhook.

  • :sns_topic_arns (Array<String>)

    The ARNs of the SNS topics that deliver notifications to AWS Chatbot.

  • :iam_role_arn (String)

    A user-defined role that AWS Chatbot assumes. This is not the service-linked role.

    For more information, see IAM policies for AWS Chatbot in the AWS Chatbot Administrator Guide.

  • :logging_level (String)

    Logging levels include ERROR, INFO, or NONE.

Returns:

See Also:



2031
2032
2033
2034
# File 'gems/aws-sdk-chatbot/lib/aws-sdk-chatbot/client.rb', line 2031

def update_chime_webhook_configuration(params = {}, options = {})
  req = build_request(:update_chime_webhook_configuration, params)
  req.send_request(options)
end

#update_custom_action(params = {}) ⇒ Types::UpdateCustomActionResult

Updates a custom action.

Examples:

Example: Update the command definition of an existing action


# Updates the command text of a custom action without altering the existing alias name or attachment criteria

resp = client.update_custom_action({
  custom_action_arn: "arn:aws:chatbot::1234567890:custom-action/my-custom-action", 
  definition: {
    command_text: "lambda invoke MyNewFunction", 
  }, 
})

resp.to_h outputs the following:
{
  custom_action_arn: "arn:aws:chatbot::1234567890:custom-action/my-custom-action", 
}

Request syntax with placeholder values


resp = client.update_custom_action({
  custom_action_arn: "CustomActionArn", # required
  definition: { # required
    command_text: "CustomActionDefinitionCommandTextString", # required
  },
  alias_name: "CustomActionAliasName",
  attachments: [
    {
      notification_type: "CustomActionAttachmentNotificationType",
      button_text: "CustomActionButtonText",
      criteria: [
        {
          operator: "HAS_VALUE", # required, accepts HAS_VALUE, EQUALS
          variable_name: "CustomActionAttachmentCriteriaVariableNameString", # required
          value: "CustomActionAttachmentCriteriaValueString",
        },
      ],
      variables: {
        "CustomActionAttachmentVariablesKeyString" => "CustomActionAttachmentVariablesValueString",
      },
    },
  ],
})

Response structure


resp.custom_action_arn #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :custom_action_arn (required, String)

    The fully defined Amazon Resource Name (ARN) of the custom action.

  • :definition (required, Types::CustomActionDefinition)

    The definition of the command to run when invoked as an alias or as an action button.

  • :alias_name (String)

    The name used to invoke this action in the chat channel. For example, @aws run my-alias.

  • :attachments (Array<Types::CustomActionAttachment>)

    Defines when this custom action button should be attached to a notification.

Returns:

See Also:



2108
2109
2110
2111
# File 'gems/aws-sdk-chatbot/lib/aws-sdk-chatbot/client.rb', line 2108

def update_custom_action(params = {}, options = {})
  req = build_request(:update_custom_action, params)
  req.send_request(options)
end

#update_microsoft_teams_channel_configuration(params = {}) ⇒ Types::UpdateTeamsChannelConfigurationResult

Updates an Microsoft Teams channel configuration.

Examples:

Request syntax with placeholder values


resp = client.update_microsoft_teams_channel_configuration({
  chat_configuration_arn: "ChatConfigurationArn", # required
  channel_id: "TeamsChannelId", # required
  channel_name: "TeamsChannelName",
  sns_topic_arns: ["Arn"],
  iam_role_arn: "Arn",
  logging_level: "CustomerCwLogLevel",
  guardrail_policy_arns: ["GuardrailPolicyArn"],
  user_authorization_required: false,
})

Response structure


resp.channel_configuration.channel_id #=> String
resp.channel_configuration.channel_name #=> String
resp.channel_configuration.team_id #=> String
resp.channel_configuration.team_name #=> String
resp.channel_configuration.tenant_id #=> String
resp.channel_configuration.chat_configuration_arn #=> String
resp.channel_configuration.iam_role_arn #=> String
resp.channel_configuration.sns_topic_arns #=> Array
resp.channel_configuration.sns_topic_arns[0] #=> String
resp.channel_configuration.configuration_name #=> String
resp.channel_configuration.logging_level #=> String
resp.channel_configuration.guardrail_policy_arns #=> Array
resp.channel_configuration.guardrail_policy_arns[0] #=> String
resp.channel_configuration.user_authorization_required #=> Boolean
resp.channel_configuration.tags #=> Array
resp.channel_configuration.tags[0].tag_key #=> String
resp.channel_configuration.tags[0].tag_value #=> String
resp.channel_configuration.state #=> String
resp.channel_configuration.state_reason #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :chat_configuration_arn (required, String)

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

  • :channel_id (required, String)

    The ID of the Microsoft Teams channel.

  • :channel_name (String)

    The name of the Microsoft Teams channel.

  • :sns_topic_arns (Array<String>)

    The Amazon Resource Names (ARNs) of the SNS topics that deliver notifications to AWS Chatbot.

  • :iam_role_arn (String)

    A user-defined role that AWS Chatbot assumes. This is not the service-linked role.

    For more information, see IAM policies for AWS Chatbot in the AWS Chatbot Administrator Guide.

  • :logging_level (String)

    Logging levels include ERROR, INFO, or NONE.

  • :guardrail_policy_arns (Array<String>)

    The list of IAM policy ARNs that are applied as channel guardrails. The AWS managed AdministratorAccess policy is applied by default if this is not set.

  • :user_authorization_required (Boolean)

    Enables use of a user role requirement in your chat configuration.

Returns:

See Also:



2194
2195
2196
2197
# File 'gems/aws-sdk-chatbot/lib/aws-sdk-chatbot/client.rb', line 2194

def update_microsoft_teams_channel_configuration(params = {}, options = {})
  req = build_request(:update_microsoft_teams_channel_configuration, params)
  req.send_request(options)
end

#update_slack_channel_configuration(params = {}) ⇒ Types::UpdateSlackChannelConfigurationResult

Updates a Slack channel configuration.

Examples:

Request syntax with placeholder values


resp = client.update_slack_channel_configuration({
  chat_configuration_arn: "ChatConfigurationArn", # required
  slack_channel_id: "SlackChannelId", # required
  slack_channel_name: "SlackChannelDisplayName",
  sns_topic_arns: ["Arn"],
  iam_role_arn: "Arn",
  logging_level: "CustomerCwLogLevel",
  guardrail_policy_arns: ["GuardrailPolicyArn"],
  user_authorization_required: false,
})

Response structure


resp.channel_configuration.slack_team_name #=> String
resp.channel_configuration.slack_team_id #=> String
resp.channel_configuration.slack_channel_id #=> String
resp.channel_configuration.slack_channel_name #=> String
resp.channel_configuration.chat_configuration_arn #=> String
resp.channel_configuration.iam_role_arn #=> String
resp.channel_configuration.sns_topic_arns #=> Array
resp.channel_configuration.sns_topic_arns[0] #=> String
resp.channel_configuration.configuration_name #=> String
resp.channel_configuration.logging_level #=> String
resp.channel_configuration.guardrail_policy_arns #=> Array
resp.channel_configuration.guardrail_policy_arns[0] #=> String
resp.channel_configuration.user_authorization_required #=> Boolean
resp.channel_configuration.tags #=> Array
resp.channel_configuration.tags[0].tag_key #=> String
resp.channel_configuration.tags[0].tag_value #=> String
resp.channel_configuration.state #=> String
resp.channel_configuration.state_reason #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :chat_configuration_arn (required, String)

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

  • :slack_channel_id (required, String)

    The ID of the Slack channel.

    To get this ID, open Slack, right click on the channel name in the left pane, then choose Copy Link. The channel ID is the 9-character string at the end of the URL. For example, ABCBBLZZZ.

  • :slack_channel_name (String)

    The name of the Slack channel.

  • :sns_topic_arns (Array<String>)

    The Amazon Resource Names (ARNs) of the SNS topics that deliver notifications to AWS Chatbot.

  • :iam_role_arn (String)

    A user-defined role that AWS Chatbot assumes. This is not the service-linked role.

    For more information, see IAM policies for AWS Chatbot in the AWS Chatbot Administrator Guide.

  • :logging_level (String)

    Logging levels include ERROR, INFO, or NONE.

  • :guardrail_policy_arns (Array<String>)

    The list of IAM policy ARNs that are applied as channel guardrails. The AWS managed AdministratorAccess policy is applied by default if this is not set.

  • :user_authorization_required (Boolean)

    Enables use of a user role requirement in your chat configuration.

Returns:

See Also:



2283
2284
2285
2286
# File 'gems/aws-sdk-chatbot/lib/aws-sdk-chatbot/client.rb', line 2283

def update_slack_channel_configuration(params = {}, options = {})
  req = build_request(:update_slack_channel_configuration, params)
  req.send_request(options)
end