aws-sdk-chatbot 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1511 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ require 'seahorse/client/plugins/content_length.rb'
11
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
12
+ require 'aws-sdk-core/plugins/logging.rb'
13
+ require 'aws-sdk-core/plugins/param_converter.rb'
14
+ require 'aws-sdk-core/plugins/param_validator.rb'
15
+ require 'aws-sdk-core/plugins/user_agent.rb'
16
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
17
+ require 'aws-sdk-core/plugins/retry_errors.rb'
18
+ require 'aws-sdk-core/plugins/global_configuration.rb'
19
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
20
+ require 'aws-sdk-core/plugins/endpoint_discovery.rb'
21
+ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
22
+ require 'aws-sdk-core/plugins/response_paging.rb'
23
+ require 'aws-sdk-core/plugins/stub_responses.rb'
24
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
25
+ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
26
+ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
+ require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
+ require 'aws-sdk-core/plugins/http_checksum.rb'
30
+ require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
+ require 'aws-sdk-core/plugins/request_compression.rb'
32
+ require 'aws-sdk-core/plugins/defaults_mode.rb'
33
+ require 'aws-sdk-core/plugins/recursion_detection.rb'
34
+ require 'aws-sdk-core/plugins/sign.rb'
35
+ require 'aws-sdk-core/plugins/protocols/rest_json.rb'
36
+
37
+ Aws::Plugins::GlobalConfiguration.add_identifier(:chatbot)
38
+
39
+ module Aws::Chatbot
40
+ # An API client for Chatbot. To construct a client, you need to configure a `:region` and `:credentials`.
41
+ #
42
+ # client = Aws::Chatbot::Client.new(
43
+ # region: region_name,
44
+ # credentials: credentials,
45
+ # # ...
46
+ # )
47
+ #
48
+ # For details on configuring region and credentials see
49
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
50
+ #
51
+ # See {#initialize} for a full list of supported configuration options.
52
+ class Client < Seahorse::Client::Base
53
+
54
+ include Aws::ClientStubs
55
+
56
+ @identifier = :chatbot
57
+
58
+ set_api(ClientApi::API)
59
+
60
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
61
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
62
+ add_plugin(Aws::Plugins::Logging)
63
+ add_plugin(Aws::Plugins::ParamConverter)
64
+ add_plugin(Aws::Plugins::ParamValidator)
65
+ add_plugin(Aws::Plugins::UserAgent)
66
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
67
+ add_plugin(Aws::Plugins::RetryErrors)
68
+ add_plugin(Aws::Plugins::GlobalConfiguration)
69
+ add_plugin(Aws::Plugins::RegionalEndpoint)
70
+ add_plugin(Aws::Plugins::EndpointDiscovery)
71
+ add_plugin(Aws::Plugins::EndpointPattern)
72
+ add_plugin(Aws::Plugins::ResponsePaging)
73
+ add_plugin(Aws::Plugins::StubResponses)
74
+ add_plugin(Aws::Plugins::IdempotencyToken)
75
+ add_plugin(Aws::Plugins::JsonvalueConverter)
76
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
77
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
78
+ add_plugin(Aws::Plugins::TransferEncoding)
79
+ add_plugin(Aws::Plugins::HttpChecksum)
80
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
81
+ add_plugin(Aws::Plugins::RequestCompression)
82
+ add_plugin(Aws::Plugins::DefaultsMode)
83
+ add_plugin(Aws::Plugins::RecursionDetection)
84
+ add_plugin(Aws::Plugins::Sign)
85
+ add_plugin(Aws::Plugins::Protocols::RestJson)
86
+ add_plugin(Aws::Chatbot::Plugins::Endpoints)
87
+
88
+ # @overload initialize(options)
89
+ # @param [Hash] options
90
+ # @option options [required, Aws::CredentialProvider] :credentials
91
+ # Your AWS credentials. This can be an instance of any one of the
92
+ # following classes:
93
+ #
94
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
95
+ # credentials.
96
+ #
97
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
98
+ # shared file, such as `~/.aws/config`.
99
+ #
100
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
101
+ #
102
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
103
+ # assume a role after providing credentials via the web.
104
+ #
105
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
106
+ # access token generated from `aws login`.
107
+ #
108
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
109
+ # process that outputs to stdout.
110
+ #
111
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
112
+ # from an EC2 IMDS on an EC2 instance.
113
+ #
114
+ # * `Aws::ECSCredentials` - Used for loading credentials from
115
+ # instances running in ECS.
116
+ #
117
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
118
+ # from the Cognito Identity service.
119
+ #
120
+ # When `:credentials` are not configured directly, the following
121
+ # locations will be searched for credentials:
122
+ #
123
+ # * `Aws.config[:credentials]`
124
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
125
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
126
+ # * `~/.aws/credentials`
127
+ # * `~/.aws/config`
128
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
129
+ # are very aggressive. Construct and pass an instance of
130
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
131
+ # enable retries and extended timeouts. Instance profile credential
132
+ # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
133
+ # to true.
134
+ #
135
+ # @option options [required, String] :region
136
+ # The AWS region to connect to. The configured `:region` is
137
+ # used to determine the service `:endpoint`. When not passed,
138
+ # a default `:region` is searched for in the following locations:
139
+ #
140
+ # * `Aws.config[:region]`
141
+ # * `ENV['AWS_REGION']`
142
+ # * `ENV['AMAZON_REGION']`
143
+ # * `ENV['AWS_DEFAULT_REGION']`
144
+ # * `~/.aws/credentials`
145
+ # * `~/.aws/config`
146
+ #
147
+ # @option options [String] :access_key_id
148
+ #
149
+ # @option options [Boolean] :active_endpoint_cache (false)
150
+ # When set to `true`, a thread polling for endpoints will be running in
151
+ # the background every 60 secs (default). Defaults to `false`.
152
+ #
153
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
154
+ # Used only in `adaptive` retry mode. When true, the request will sleep
155
+ # until there is sufficent client side capacity to retry the request.
156
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
157
+ # not retry instead of sleeping.
158
+ #
159
+ # @option options [Boolean] :client_side_monitoring (false)
160
+ # When `true`, client-side metrics will be collected for all API requests from
161
+ # this client.
162
+ #
163
+ # @option options [String] :client_side_monitoring_client_id ("")
164
+ # Allows you to provide an identifier for this client which will be attached to
165
+ # all generated client side metrics. Defaults to an empty string.
166
+ #
167
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
168
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
169
+ # side monitoring agent is running on, where client metrics will be published via UDP.
170
+ #
171
+ # @option options [Integer] :client_side_monitoring_port (31000)
172
+ # Required for publishing client metrics. The port that the client side monitoring
173
+ # agent is running on, where client metrics will be published via UDP.
174
+ #
175
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
176
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
177
+ # will use the Client Side Monitoring Agent Publisher.
178
+ #
179
+ # @option options [Boolean] :convert_params (true)
180
+ # When `true`, an attempt is made to coerce request parameters into
181
+ # the required types.
182
+ #
183
+ # @option options [Boolean] :correct_clock_skew (true)
184
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
185
+ # a clock skew correction and retry requests with skewed client clocks.
186
+ #
187
+ # @option options [String] :defaults_mode ("legacy")
188
+ # See {Aws::DefaultsModeConfiguration} for a list of the
189
+ # accepted modes and the configuration defaults that are included.
190
+ #
191
+ # @option options [Boolean] :disable_host_prefix_injection (false)
192
+ # Set to true to disable SDK automatically adding host prefix
193
+ # to default service endpoint when available.
194
+ #
195
+ # @option options [Boolean] :disable_request_compression (false)
196
+ # When set to 'true' the request body will not be compressed
197
+ # for supported operations.
198
+ #
199
+ # @option options [String] :endpoint
200
+ # The client endpoint is normally constructed from the `:region`
201
+ # option. You should only configure an `:endpoint` when connecting
202
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
203
+ #
204
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
205
+ # Used for the maximum size limit of the LRU cache storing endpoints data
206
+ # for endpoint discovery enabled operations. Defaults to 1000.
207
+ #
208
+ # @option options [Integer] :endpoint_cache_max_threads (10)
209
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
210
+ #
211
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
212
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
213
+ # Use this option to config the time interval in seconds for making
214
+ # requests fetching endpoints information. Defaults to 60 sec.
215
+ #
216
+ # @option options [Boolean] :endpoint_discovery (false)
217
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
218
+ #
219
+ # @option options [Boolean] :ignore_configured_endpoint_urls
220
+ # Setting to true disables use of endpoint URLs provided via environment
221
+ # variables and the shared configuration file.
222
+ #
223
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
224
+ # The log formatter.
225
+ #
226
+ # @option options [Symbol] :log_level (:info)
227
+ # The log level to send messages to the `:logger` at.
228
+ #
229
+ # @option options [Logger] :logger
230
+ # The Logger instance to send log messages to. If this option
231
+ # is not set, logging will be disabled.
232
+ #
233
+ # @option options [Integer] :max_attempts (3)
234
+ # An integer representing the maximum number attempts that will be made for
235
+ # a single request, including the initial attempt. For example,
236
+ # setting this value to 5 will result in a request being retried up to
237
+ # 4 times. Used in `standard` and `adaptive` retry modes.
238
+ #
239
+ # @option options [String] :profile ("default")
240
+ # Used when loading credentials from the shared credentials file
241
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
242
+ #
243
+ # @option options [Integer] :request_min_compression_size_bytes (10240)
244
+ # The minimum size in bytes that triggers compression for request
245
+ # bodies. The value must be non-negative integer value between 0
246
+ # and 10485780 bytes inclusive.
247
+ #
248
+ # @option options [Proc] :retry_backoff
249
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
250
+ # This option is only used in the `legacy` retry mode.
251
+ #
252
+ # @option options [Float] :retry_base_delay (0.3)
253
+ # The base delay in seconds used by the default backoff function. This option
254
+ # is only used in the `legacy` retry mode.
255
+ #
256
+ # @option options [Symbol] :retry_jitter (:none)
257
+ # A delay randomiser function used by the default backoff function.
258
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
259
+ # otherwise a Proc that takes and returns a number. This option is only used
260
+ # in the `legacy` retry mode.
261
+ #
262
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
263
+ #
264
+ # @option options [Integer] :retry_limit (3)
265
+ # The maximum number of times to retry failed requests. Only
266
+ # ~ 500 level server errors and certain ~ 400 level client errors
267
+ # are retried. Generally, these are throttling errors, data
268
+ # checksum errors, networking errors, timeout errors, auth errors,
269
+ # endpoint discovery, and errors from expired credentials.
270
+ # This option is only used in the `legacy` retry mode.
271
+ #
272
+ # @option options [Integer] :retry_max_delay (0)
273
+ # The maximum number of seconds to delay between retries (0 for no limit)
274
+ # used by the default backoff function. This option is only used in the
275
+ # `legacy` retry mode.
276
+ #
277
+ # @option options [String] :retry_mode ("legacy")
278
+ # Specifies which retry algorithm to use. Values are:
279
+ #
280
+ # * `legacy` - The pre-existing retry behavior. This is default value if
281
+ # no retry mode is provided.
282
+ #
283
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
284
+ # This includes support for retry quotas, which limit the number of
285
+ # unsuccessful retries a client can make.
286
+ #
287
+ # * `adaptive` - An experimental retry mode that includes all the
288
+ # functionality of `standard` mode along with automatic client side
289
+ # throttling. This is a provisional mode that may change behavior
290
+ # in the future.
291
+ #
292
+ #
293
+ # @option options [String] :sdk_ua_app_id
294
+ # A unique and opaque application ID that is appended to the
295
+ # User-Agent header as app/<sdk_ua_app_id>. It should have a
296
+ # maximum length of 50.
297
+ #
298
+ # @option options [String] :secret_access_key
299
+ #
300
+ # @option options [String] :session_token
301
+ #
302
+ # @option options [Boolean] :stub_responses (false)
303
+ # Causes the client to return stubbed responses. By default
304
+ # fake responses are generated and returned. You can specify
305
+ # the response data to return or errors to raise by calling
306
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
307
+ #
308
+ # ** Please note ** When response stubbing is enabled, no HTTP
309
+ # requests are made, and retries are disabled.
310
+ #
311
+ # @option options [Aws::TokenProvider] :token_provider
312
+ # A Bearer Token Provider. This can be an instance of any one of the
313
+ # following classes:
314
+ #
315
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
316
+ # tokens.
317
+ #
318
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
319
+ # access token generated from `aws login`.
320
+ #
321
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
322
+ # will be used to search for tokens configured for your profile in shared configuration files.
323
+ #
324
+ # @option options [Boolean] :use_dualstack_endpoint
325
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
326
+ # will be used if available.
327
+ #
328
+ # @option options [Boolean] :use_fips_endpoint
329
+ # When set to `true`, fips compatible endpoints will be used if available.
330
+ # When a `fips` region is used, the region is normalized and this config
331
+ # is set to `true`.
332
+ #
333
+ # @option options [Boolean] :validate_params (true)
334
+ # When `true`, request parameters are validated before
335
+ # sending the request.
336
+ #
337
+ # @option options [Aws::Chatbot::EndpointProvider] :endpoint_provider
338
+ # 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`
339
+ #
340
+ # @option options [URI::HTTP,String] :http_proxy A proxy to send
341
+ # requests through. Formatted like 'http://proxy.com:123'.
342
+ #
343
+ # @option options [Float] :http_open_timeout (15) The number of
344
+ # seconds to wait when opening a HTTP session before raising a
345
+ # `Timeout::Error`.
346
+ #
347
+ # @option options [Float] :http_read_timeout (60) The default
348
+ # number of seconds to wait for response data. This value can
349
+ # safely be set per-request on the session.
350
+ #
351
+ # @option options [Float] :http_idle_timeout (5) The number of
352
+ # seconds a connection is allowed to sit idle before it is
353
+ # considered stale. Stale connections are closed and removed
354
+ # from the pool before making a request.
355
+ #
356
+ # @option options [Float] :http_continue_timeout (1) The number of
357
+ # seconds to wait for a 100-continue response before sending the
358
+ # request body. This option has no effect unless the request has
359
+ # "Expect" header set to "100-continue". Defaults to `nil` which
360
+ # disables this behaviour. This value can safely be set per
361
+ # request on the session.
362
+ #
363
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
364
+ # in seconds.
365
+ #
366
+ # @option options [Boolean] :http_wire_trace (false) When `true`,
367
+ # HTTP debug output will be sent to the `:logger`.
368
+ #
369
+ # @option options [Boolean] :ssl_verify_peer (true) When `true`,
370
+ # SSL peer certificates are verified when establishing a
371
+ # connection.
372
+ #
373
+ # @option options [String] :ssl_ca_bundle Full path to the SSL
374
+ # certificate authority bundle file that should be used when
375
+ # verifying peer certificates. If you do not pass
376
+ # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
377
+ # will be used if available.
378
+ #
379
+ # @option options [String] :ssl_ca_directory Full path of the
380
+ # directory that contains the unbundled SSL certificate
381
+ # authority files for verifying peer certificates. If you do
382
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
383
+ # system default will be used if available.
384
+ #
385
+ def initialize(*args)
386
+ super
387
+ end
388
+
389
+ # @!group API Operations
390
+
391
+ # Creates Chime Webhook Configuration
392
+ #
393
+ # @option params [required, String] :webhook_description
394
+ # Description of the webhook. Recommend using the convention
395
+ # `RoomName/WebhookName`. See Chime setup tutorial for more details:
396
+ # https://docs.aws.amazon.com/chatbot/latest/adminguide/chime-setup.html.
397
+ #
398
+ # @option params [required, String] :webhook_url
399
+ # URL for the Chime webhook.
400
+ #
401
+ # @option params [required, Array<String>] :sns_topic_arns
402
+ # The ARNs of the SNS topics that deliver notifications to AWS Chatbot.
403
+ #
404
+ # @option params [required, String] :iam_role_arn
405
+ # This is a user-defined role that AWS Chatbot will assume. This is not
406
+ # the service-linked role. For more information, see IAM Policies for
407
+ # AWS Chatbot.
408
+ #
409
+ # @option params [required, String] :configuration_name
410
+ # The name of the configuration.
411
+ #
412
+ # @option params [String] :logging_level
413
+ # Logging levels include ERROR, INFO, or NONE.
414
+ #
415
+ # @return [Types::CreateChimeWebhookConfigurationResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
416
+ #
417
+ # * {Types::CreateChimeWebhookConfigurationResult#webhook_configuration #webhook_configuration} => Types::ChimeWebhookConfiguration
418
+ #
419
+ # @example Request syntax with placeholder values
420
+ #
421
+ # resp = client.create_chime_webhook_configuration({
422
+ # webhook_description: "ChimeWebhookDescription", # required
423
+ # webhook_url: "ChimeWebhookUrl", # required
424
+ # sns_topic_arns: ["Arn"], # required
425
+ # iam_role_arn: "Arn", # required
426
+ # configuration_name: "ConfigurationName", # required
427
+ # logging_level: "CustomerCwLogLevel",
428
+ # })
429
+ #
430
+ # @example Response structure
431
+ #
432
+ # resp.webhook_configuration.webhook_description #=> String
433
+ # resp.webhook_configuration.chat_configuration_arn #=> String
434
+ # resp.webhook_configuration.iam_role_arn #=> String
435
+ # resp.webhook_configuration.sns_topic_arns #=> Array
436
+ # resp.webhook_configuration.sns_topic_arns[0] #=> String
437
+ # resp.webhook_configuration.configuration_name #=> String
438
+ # resp.webhook_configuration.logging_level #=> String
439
+ #
440
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/CreateChimeWebhookConfiguration AWS API Documentation
441
+ #
442
+ # @overload create_chime_webhook_configuration(params = {})
443
+ # @param [Hash] params ({})
444
+ def create_chime_webhook_configuration(params = {}, options = {})
445
+ req = build_request(:create_chime_webhook_configuration, params)
446
+ req.send_request(options)
447
+ end
448
+
449
+ # Creates MS Teams Channel Configuration
450
+ #
451
+ # @option params [required, String] :channel_id
452
+ # The ID of the Microsoft Teams channel.
453
+ #
454
+ # @option params [String] :channel_name
455
+ # The name of the Microsoft Teams channel.
456
+ #
457
+ # @option params [required, String] :team_id
458
+ # The ID of the Microsoft Team authorized with AWS Chatbot. To get the
459
+ # team ID, you must perform the initial authorization flow with
460
+ # Microsoft Teams in the AWS Chatbot console. Then you can copy and
461
+ # paste the team ID from the console. For more details, see steps 1-4 in
462
+ # Get started with Microsoft Teams in the AWS Chatbot Administrator
463
+ # Guide.
464
+ #
465
+ # @option params [String] :team_name
466
+ # The name of the Microsoft Teams Team.
467
+ #
468
+ # @option params [required, String] :tenant_id
469
+ # The ID of the Microsoft Teams tenant.
470
+ #
471
+ # @option params [Array<String>] :sns_topic_arns
472
+ # The ARNs of the SNS topics that deliver notifications to AWS Chatbot.
473
+ #
474
+ # @option params [required, String] :iam_role_arn
475
+ # The ARN of the IAM role that defines the permissions for AWS Chatbot.
476
+ # This is a user-defined role that AWS Chatbot will assume. This is not
477
+ # the service-linked role. For more information, see IAM Policies for
478
+ # AWS Chatbot.
479
+ #
480
+ # @option params [required, String] :configuration_name
481
+ # The name of the configuration.
482
+ #
483
+ # @option params [String] :logging_level
484
+ # Logging levels include ERROR, INFO, or NONE.
485
+ #
486
+ # @option params [Array<String>] :guardrail_policy_arns
487
+ # The list of IAM policy ARNs that are applied as channel guardrails.
488
+ # The AWS managed 'AdministratorAccess' policy is applied by default
489
+ # if this is not set.
490
+ #
491
+ # @option params [Boolean] :user_authorization_required
492
+ # Enables use of a user role requirement in your chat configuration.
493
+ #
494
+ # @return [Types::CreateTeamsChannelConfigurationResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
495
+ #
496
+ # * {Types::CreateTeamsChannelConfigurationResult#channel_configuration #channel_configuration} => Types::TeamsChannelConfiguration
497
+ #
498
+ # @example Request syntax with placeholder values
499
+ #
500
+ # resp = client.create_microsoft_teams_channel_configuration({
501
+ # channel_id: "TeamsChannelId", # required
502
+ # channel_name: "TeamsChannelName",
503
+ # team_id: "UUID", # required
504
+ # team_name: "TeamName",
505
+ # tenant_id: "UUID", # required
506
+ # sns_topic_arns: ["Arn"],
507
+ # iam_role_arn: "Arn", # required
508
+ # configuration_name: "ConfigurationName", # required
509
+ # logging_level: "CustomerCwLogLevel",
510
+ # guardrail_policy_arns: ["GuardrailPolicyArn"],
511
+ # user_authorization_required: false,
512
+ # })
513
+ #
514
+ # @example Response structure
515
+ #
516
+ # resp.channel_configuration.channel_id #=> String
517
+ # resp.channel_configuration.channel_name #=> String
518
+ # resp.channel_configuration.team_id #=> String
519
+ # resp.channel_configuration.team_name #=> String
520
+ # resp.channel_configuration.tenant_id #=> String
521
+ # resp.channel_configuration.chat_configuration_arn #=> String
522
+ # resp.channel_configuration.iam_role_arn #=> String
523
+ # resp.channel_configuration.sns_topic_arns #=> Array
524
+ # resp.channel_configuration.sns_topic_arns[0] #=> String
525
+ # resp.channel_configuration.configuration_name #=> String
526
+ # resp.channel_configuration.logging_level #=> String
527
+ # resp.channel_configuration.guardrail_policy_arns #=> Array
528
+ # resp.channel_configuration.guardrail_policy_arns[0] #=> String
529
+ # resp.channel_configuration.user_authorization_required #=> Boolean
530
+ #
531
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/CreateMicrosoftTeamsChannelConfiguration AWS API Documentation
532
+ #
533
+ # @overload create_microsoft_teams_channel_configuration(params = {})
534
+ # @param [Hash] params ({})
535
+ def create_microsoft_teams_channel_configuration(params = {}, options = {})
536
+ req = build_request(:create_microsoft_teams_channel_configuration, params)
537
+ req.send_request(options)
538
+ end
539
+
540
+ # Creates Slack Channel Configuration
541
+ #
542
+ # @option params [required, String] :slack_team_id
543
+ # The ID of the Slack workspace authorized with AWS Chatbot.
544
+ #
545
+ # @option params [required, String] :slack_channel_id
546
+ # The ID of the Slack channel. To get the ID, open Slack, right click on
547
+ # the channel name in the left pane, then choose Copy Link. The channel
548
+ # ID is the 9-character string at the end of the URL. For example,
549
+ # ABCBBLZZZ.
550
+ #
551
+ # @option params [String] :slack_channel_name
552
+ # The name of the Slack Channel.
553
+ #
554
+ # @option params [Array<String>] :sns_topic_arns
555
+ # The ARNs of the SNS topics that deliver notifications to AWS Chatbot.
556
+ #
557
+ # @option params [required, String] :iam_role_arn
558
+ # The ARN of the IAM role that defines the permissions for AWS Chatbot.
559
+ # This is a user-defined role that AWS Chatbot will assume. This is not
560
+ # the service-linked role. For more information, see IAM Policies for
561
+ # AWS Chatbot.
562
+ #
563
+ # @option params [required, String] :configuration_name
564
+ # The name of the configuration.
565
+ #
566
+ # @option params [String] :logging_level
567
+ # Logging levels include ERROR, INFO, or NONE.
568
+ #
569
+ # @option params [Array<String>] :guardrail_policy_arns
570
+ # The list of IAM policy ARNs that are applied as channel guardrails.
571
+ # The AWS managed 'AdministratorAccess' policy is applied by default
572
+ # if this is not set.
573
+ #
574
+ # @option params [Boolean] :user_authorization_required
575
+ # Enables use of a user role requirement in your chat configuration.
576
+ #
577
+ # @return [Types::CreateSlackChannelConfigurationResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
578
+ #
579
+ # * {Types::CreateSlackChannelConfigurationResult#channel_configuration #channel_configuration} => Types::SlackChannelConfiguration
580
+ #
581
+ # @example Request syntax with placeholder values
582
+ #
583
+ # resp = client.create_slack_channel_configuration({
584
+ # slack_team_id: "SlackTeamId", # required
585
+ # slack_channel_id: "SlackChannelId", # required
586
+ # slack_channel_name: "SlackChannelDisplayName",
587
+ # sns_topic_arns: ["Arn"],
588
+ # iam_role_arn: "Arn", # required
589
+ # configuration_name: "ConfigurationName", # required
590
+ # logging_level: "CustomerCwLogLevel",
591
+ # guardrail_policy_arns: ["GuardrailPolicyArn"],
592
+ # user_authorization_required: false,
593
+ # })
594
+ #
595
+ # @example Response structure
596
+ #
597
+ # resp.channel_configuration.slack_team_name #=> String
598
+ # resp.channel_configuration.slack_team_id #=> String
599
+ # resp.channel_configuration.slack_channel_id #=> String
600
+ # resp.channel_configuration.slack_channel_name #=> String
601
+ # resp.channel_configuration.chat_configuration_arn #=> String
602
+ # resp.channel_configuration.iam_role_arn #=> String
603
+ # resp.channel_configuration.sns_topic_arns #=> Array
604
+ # resp.channel_configuration.sns_topic_arns[0] #=> String
605
+ # resp.channel_configuration.configuration_name #=> String
606
+ # resp.channel_configuration.logging_level #=> String
607
+ # resp.channel_configuration.guardrail_policy_arns #=> Array
608
+ # resp.channel_configuration.guardrail_policy_arns[0] #=> String
609
+ # resp.channel_configuration.user_authorization_required #=> Boolean
610
+ #
611
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/CreateSlackChannelConfiguration AWS API Documentation
612
+ #
613
+ # @overload create_slack_channel_configuration(params = {})
614
+ # @param [Hash] params ({})
615
+ def create_slack_channel_configuration(params = {}, options = {})
616
+ req = build_request(:create_slack_channel_configuration, params)
617
+ req.send_request(options)
618
+ end
619
+
620
+ # Deletes a Chime Webhook Configuration
621
+ #
622
+ # @option params [required, String] :chat_configuration_arn
623
+ # The ARN of the ChimeWebhookConfiguration to delete.
624
+ #
625
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
626
+ #
627
+ # @example Request syntax with placeholder values
628
+ #
629
+ # resp = client.delete_chime_webhook_configuration({
630
+ # chat_configuration_arn: "ChatConfigurationArn", # required
631
+ # })
632
+ #
633
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/DeleteChimeWebhookConfiguration AWS API Documentation
634
+ #
635
+ # @overload delete_chime_webhook_configuration(params = {})
636
+ # @param [Hash] params ({})
637
+ def delete_chime_webhook_configuration(params = {}, options = {})
638
+ req = build_request(:delete_chime_webhook_configuration, params)
639
+ req.send_request(options)
640
+ end
641
+
642
+ # Deletes MS Teams Channel Configuration
643
+ #
644
+ # @option params [required, String] :chat_configuration_arn
645
+ # The ARN of the MicrosoftTeamsChannelConfiguration to delete.
646
+ #
647
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
648
+ #
649
+ # @example Request syntax with placeholder values
650
+ #
651
+ # resp = client.delete_microsoft_teams_channel_configuration({
652
+ # chat_configuration_arn: "ChatConfigurationArn", # required
653
+ # })
654
+ #
655
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/DeleteMicrosoftTeamsChannelConfiguration AWS API Documentation
656
+ #
657
+ # @overload delete_microsoft_teams_channel_configuration(params = {})
658
+ # @param [Hash] params ({})
659
+ def delete_microsoft_teams_channel_configuration(params = {}, options = {})
660
+ req = build_request(:delete_microsoft_teams_channel_configuration, params)
661
+ req.send_request(options)
662
+ end
663
+
664
+ # Deletes the Microsoft Teams team authorization allowing for channels
665
+ # to be configured in that Microsoft Teams team. Note that the Microsoft
666
+ # Teams team must have no channels configured to remove it.
667
+ #
668
+ # @option params [required, String] :team_id
669
+ # The ID of the Microsoft Team authorized with AWS Chatbot. To get the
670
+ # team ID, you must perform the initial authorization flow with
671
+ # Microsoft Teams in the AWS Chatbot console. Then you can copy and
672
+ # paste the team ID from the console. For more details, see steps 1-4 in
673
+ # Get started with Microsoft Teams in the AWS Chatbot Administrator
674
+ # Guide.
675
+ #
676
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
677
+ #
678
+ # @example Request syntax with placeholder values
679
+ #
680
+ # resp = client.delete_microsoft_teams_configured_team({
681
+ # team_id: "UUID", # required
682
+ # })
683
+ #
684
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/DeleteMicrosoftTeamsConfiguredTeam AWS API Documentation
685
+ #
686
+ # @overload delete_microsoft_teams_configured_team(params = {})
687
+ # @param [Hash] params ({})
688
+ def delete_microsoft_teams_configured_team(params = {}, options = {})
689
+ req = build_request(:delete_microsoft_teams_configured_team, params)
690
+ req.send_request(options)
691
+ end
692
+
693
+ # Deletes a Teams user identity
694
+ #
695
+ # @option params [required, String] :chat_configuration_arn
696
+ # The ARN of the MicrosoftTeamsChannelConfiguration associated with the
697
+ # user identity to delete.
698
+ #
699
+ # @option params [required, String] :user_id
700
+ # Id from Microsoft Teams for user.
701
+ #
702
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
703
+ #
704
+ # @example Request syntax with placeholder values
705
+ #
706
+ # resp = client.delete_microsoft_teams_user_identity({
707
+ # chat_configuration_arn: "ChatConfigurationArn", # required
708
+ # user_id: "UUID", # required
709
+ # })
710
+ #
711
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/DeleteMicrosoftTeamsUserIdentity AWS API Documentation
712
+ #
713
+ # @overload delete_microsoft_teams_user_identity(params = {})
714
+ # @param [Hash] params ({})
715
+ def delete_microsoft_teams_user_identity(params = {}, options = {})
716
+ req = build_request(:delete_microsoft_teams_user_identity, params)
717
+ req.send_request(options)
718
+ end
719
+
720
+ # Deletes Slack Channel Configuration
721
+ #
722
+ # @option params [required, String] :chat_configuration_arn
723
+ # The ARN of the SlackChannelConfiguration to delete.
724
+ #
725
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
726
+ #
727
+ # @example Request syntax with placeholder values
728
+ #
729
+ # resp = client.delete_slack_channel_configuration({
730
+ # chat_configuration_arn: "ChatConfigurationArn", # required
731
+ # })
732
+ #
733
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/DeleteSlackChannelConfiguration AWS API Documentation
734
+ #
735
+ # @overload delete_slack_channel_configuration(params = {})
736
+ # @param [Hash] params ({})
737
+ def delete_slack_channel_configuration(params = {}, options = {})
738
+ req = build_request(:delete_slack_channel_configuration, params)
739
+ req.send_request(options)
740
+ end
741
+
742
+ # Deletes a Slack user identity
743
+ #
744
+ # @option params [required, String] :chat_configuration_arn
745
+ # The ARN of the SlackChannelConfiguration associated with the user
746
+ # identity to delete.
747
+ #
748
+ # @option params [required, String] :slack_team_id
749
+ # The ID of the Slack workspace authorized with AWS Chatbot.
750
+ #
751
+ # @option params [required, String] :slack_user_id
752
+ # The ID of the user in Slack.
753
+ #
754
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
755
+ #
756
+ # @example Request syntax with placeholder values
757
+ #
758
+ # resp = client.delete_slack_user_identity({
759
+ # chat_configuration_arn: "ChatConfigurationArn", # required
760
+ # slack_team_id: "SlackTeamId", # required
761
+ # slack_user_id: "SlackUserId", # required
762
+ # })
763
+ #
764
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/DeleteSlackUserIdentity AWS API Documentation
765
+ #
766
+ # @overload delete_slack_user_identity(params = {})
767
+ # @param [Hash] params ({})
768
+ def delete_slack_user_identity(params = {}, options = {})
769
+ req = build_request(:delete_slack_user_identity, params)
770
+ req.send_request(options)
771
+ end
772
+
773
+ # Deletes the Slack workspace authorization that allows channels to be
774
+ # configured in that workspace. This requires all configured channels in
775
+ # the workspace to be deleted.
776
+ #
777
+ # @option params [required, String] :slack_team_id
778
+ # The ID of the Slack workspace authorized with AWS Chatbot.
779
+ #
780
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
781
+ #
782
+ # @example Request syntax with placeholder values
783
+ #
784
+ # resp = client.delete_slack_workspace_authorization({
785
+ # slack_team_id: "SlackTeamId", # required
786
+ # })
787
+ #
788
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/DeleteSlackWorkspaceAuthorization AWS API Documentation
789
+ #
790
+ # @overload delete_slack_workspace_authorization(params = {})
791
+ # @param [Hash] params ({})
792
+ def delete_slack_workspace_authorization(params = {}, options = {})
793
+ req = build_request(:delete_slack_workspace_authorization, params)
794
+ req.send_request(options)
795
+ end
796
+
797
+ # Lists Chime Webhook Configurations optionally filtered by
798
+ # ChatConfigurationArn
799
+ #
800
+ # @option params [Integer] :max_results
801
+ # The maximum number of results to include in the response. If more
802
+ # results exist than the specified MaxResults value, a token is included
803
+ # in the response so that the remaining results can be retrieved.
804
+ #
805
+ # @option params [String] :next_token
806
+ # An optional token returned from a prior request. Use this token for
807
+ # pagination of results from this action. If this parameter is
808
+ # specified, the response includes only results beyond the token, up to
809
+ # the value specified by MaxResults.
810
+ #
811
+ # @option params [String] :chat_configuration_arn
812
+ # An optional ARN of a ChimeWebhookConfiguration to describe.
813
+ #
814
+ # @return [Types::DescribeChimeWebhookConfigurationsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
815
+ #
816
+ # * {Types::DescribeChimeWebhookConfigurationsResult#next_token #next_token} => String
817
+ # * {Types::DescribeChimeWebhookConfigurationsResult#webhook_configurations #webhook_configurations} => Array&lt;Types::ChimeWebhookConfiguration&gt;
818
+ #
819
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
820
+ #
821
+ # @example Request syntax with placeholder values
822
+ #
823
+ # resp = client.describe_chime_webhook_configurations({
824
+ # max_results: 1,
825
+ # next_token: "PaginationToken",
826
+ # chat_configuration_arn: "ChatConfigurationArn",
827
+ # })
828
+ #
829
+ # @example Response structure
830
+ #
831
+ # resp.next_token #=> String
832
+ # resp.webhook_configurations #=> Array
833
+ # resp.webhook_configurations[0].webhook_description #=> String
834
+ # resp.webhook_configurations[0].chat_configuration_arn #=> String
835
+ # resp.webhook_configurations[0].iam_role_arn #=> String
836
+ # resp.webhook_configurations[0].sns_topic_arns #=> Array
837
+ # resp.webhook_configurations[0].sns_topic_arns[0] #=> String
838
+ # resp.webhook_configurations[0].configuration_name #=> String
839
+ # resp.webhook_configurations[0].logging_level #=> String
840
+ #
841
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/DescribeChimeWebhookConfigurations AWS API Documentation
842
+ #
843
+ # @overload describe_chime_webhook_configurations(params = {})
844
+ # @param [Hash] params ({})
845
+ def describe_chime_webhook_configurations(params = {}, options = {})
846
+ req = build_request(:describe_chime_webhook_configurations, params)
847
+ req.send_request(options)
848
+ end
849
+
850
+ # Lists Slack Channel Configurations optionally filtered by
851
+ # ChatConfigurationArn
852
+ #
853
+ # @option params [Integer] :max_results
854
+ # The maximum number of results to include in the response. If more
855
+ # results exist than the specified MaxResults value, a token is included
856
+ # in the response so that the remaining results can be retrieved.
857
+ #
858
+ # @option params [String] :next_token
859
+ # An optional token returned from a prior request. Use this token for
860
+ # pagination of results from this action. If this parameter is
861
+ # specified, the response includes only results beyond the token, up to
862
+ # the value specified by MaxResults.
863
+ #
864
+ # @option params [String] :chat_configuration_arn
865
+ # An optional ARN of a SlackChannelConfiguration to describe.
866
+ #
867
+ # @return [Types::DescribeSlackChannelConfigurationsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
868
+ #
869
+ # * {Types::DescribeSlackChannelConfigurationsResult#next_token #next_token} => String
870
+ # * {Types::DescribeSlackChannelConfigurationsResult#slack_channel_configurations #slack_channel_configurations} => Array&lt;Types::SlackChannelConfiguration&gt;
871
+ #
872
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
873
+ #
874
+ # @example Request syntax with placeholder values
875
+ #
876
+ # resp = client.describe_slack_channel_configurations({
877
+ # max_results: 1,
878
+ # next_token: "PaginationToken",
879
+ # chat_configuration_arn: "ChatConfigurationArn",
880
+ # })
881
+ #
882
+ # @example Response structure
883
+ #
884
+ # resp.next_token #=> String
885
+ # resp.slack_channel_configurations #=> Array
886
+ # resp.slack_channel_configurations[0].slack_team_name #=> String
887
+ # resp.slack_channel_configurations[0].slack_team_id #=> String
888
+ # resp.slack_channel_configurations[0].slack_channel_id #=> String
889
+ # resp.slack_channel_configurations[0].slack_channel_name #=> String
890
+ # resp.slack_channel_configurations[0].chat_configuration_arn #=> String
891
+ # resp.slack_channel_configurations[0].iam_role_arn #=> String
892
+ # resp.slack_channel_configurations[0].sns_topic_arns #=> Array
893
+ # resp.slack_channel_configurations[0].sns_topic_arns[0] #=> String
894
+ # resp.slack_channel_configurations[0].configuration_name #=> String
895
+ # resp.slack_channel_configurations[0].logging_level #=> String
896
+ # resp.slack_channel_configurations[0].guardrail_policy_arns #=> Array
897
+ # resp.slack_channel_configurations[0].guardrail_policy_arns[0] #=> String
898
+ # resp.slack_channel_configurations[0].user_authorization_required #=> Boolean
899
+ #
900
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/DescribeSlackChannelConfigurations AWS API Documentation
901
+ #
902
+ # @overload describe_slack_channel_configurations(params = {})
903
+ # @param [Hash] params ({})
904
+ def describe_slack_channel_configurations(params = {}, options = {})
905
+ req = build_request(:describe_slack_channel_configurations, params)
906
+ req.send_request(options)
907
+ end
908
+
909
+ # Lists all Slack user identities with a mapped role.
910
+ #
911
+ # @option params [String] :chat_configuration_arn
912
+ # The ARN of the SlackChannelConfiguration associated with the user
913
+ # identities to describe.
914
+ #
915
+ # @option params [String] :next_token
916
+ # An optional token returned from a prior request. Use this token for
917
+ # pagination of results from this action. If this parameter is
918
+ # specified, the response includes only results beyond the token, up to
919
+ # the value specified by MaxResults.
920
+ #
921
+ # @option params [Integer] :max_results
922
+ # The maximum number of results to include in the response. If more
923
+ # results exist than the specified MaxResults value, a token is included
924
+ # in the response so that the remaining results can be retrieved.
925
+ #
926
+ # @return [Types::DescribeSlackUserIdentitiesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
927
+ #
928
+ # * {Types::DescribeSlackUserIdentitiesResult#slack_user_identities #slack_user_identities} => Array&lt;Types::SlackUserIdentity&gt;
929
+ # * {Types::DescribeSlackUserIdentitiesResult#next_token #next_token} => String
930
+ #
931
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
932
+ #
933
+ # @example Request syntax with placeholder values
934
+ #
935
+ # resp = client.describe_slack_user_identities({
936
+ # chat_configuration_arn: "ChatConfigurationArn",
937
+ # next_token: "PaginationToken",
938
+ # max_results: 1,
939
+ # })
940
+ #
941
+ # @example Response structure
942
+ #
943
+ # resp.slack_user_identities #=> Array
944
+ # resp.slack_user_identities[0].iam_role_arn #=> String
945
+ # resp.slack_user_identities[0].chat_configuration_arn #=> String
946
+ # resp.slack_user_identities[0].slack_team_id #=> String
947
+ # resp.slack_user_identities[0].slack_user_id #=> String
948
+ # resp.slack_user_identities[0].aws_user_identity #=> String
949
+ # resp.next_token #=> String
950
+ #
951
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/DescribeSlackUserIdentities AWS API Documentation
952
+ #
953
+ # @overload describe_slack_user_identities(params = {})
954
+ # @param [Hash] params ({})
955
+ def describe_slack_user_identities(params = {}, options = {})
956
+ req = build_request(:describe_slack_user_identities, params)
957
+ req.send_request(options)
958
+ end
959
+
960
+ # Lists all authorized Slack Workspaces for AWS Account
961
+ #
962
+ # @option params [Integer] :max_results
963
+ # The maximum number of results to include in the response. If more
964
+ # results exist than the specified MaxResults value, a token is included
965
+ # in the response so that the remaining results can be retrieved.
966
+ #
967
+ # @option params [String] :next_token
968
+ # An optional token returned from a prior request. Use this token for
969
+ # pagination of results from this action. If this parameter is
970
+ # specified, the response includes only results beyond the token, up to
971
+ # the value specified by MaxResults.
972
+ #
973
+ # @return [Types::DescribeSlackWorkspacesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
974
+ #
975
+ # * {Types::DescribeSlackWorkspacesResult#slack_workspaces #slack_workspaces} => Array&lt;Types::SlackWorkspace&gt;
976
+ # * {Types::DescribeSlackWorkspacesResult#next_token #next_token} => String
977
+ #
978
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
979
+ #
980
+ # @example Request syntax with placeholder values
981
+ #
982
+ # resp = client.describe_slack_workspaces({
983
+ # max_results: 1,
984
+ # next_token: "PaginationToken",
985
+ # })
986
+ #
987
+ # @example Response structure
988
+ #
989
+ # resp.slack_workspaces #=> Array
990
+ # resp.slack_workspaces[0].slack_team_id #=> String
991
+ # resp.slack_workspaces[0].slack_team_name #=> String
992
+ # resp.next_token #=> String
993
+ #
994
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/DescribeSlackWorkspaces AWS API Documentation
995
+ #
996
+ # @overload describe_slack_workspaces(params = {})
997
+ # @param [Hash] params ({})
998
+ def describe_slack_workspaces(params = {}, options = {})
999
+ req = build_request(:describe_slack_workspaces, params)
1000
+ req.send_request(options)
1001
+ end
1002
+
1003
+ # Get Chatbot account level preferences
1004
+ #
1005
+ # @return [Types::GetAccountPreferencesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1006
+ #
1007
+ # * {Types::GetAccountPreferencesResult#account_preferences #account_preferences} => Types::AccountPreferences
1008
+ #
1009
+ # @example Response structure
1010
+ #
1011
+ # resp.account_preferences.user_authorization_required #=> Boolean
1012
+ # resp.account_preferences.training_data_collection_enabled #=> Boolean
1013
+ #
1014
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/GetAccountPreferences AWS API Documentation
1015
+ #
1016
+ # @overload get_account_preferences(params = {})
1017
+ # @param [Hash] params ({})
1018
+ def get_account_preferences(params = {}, options = {})
1019
+ req = build_request(:get_account_preferences, params)
1020
+ req.send_request(options)
1021
+ end
1022
+
1023
+ # Get a single MS Teams Channel Configurations
1024
+ #
1025
+ # @option params [required, String] :chat_configuration_arn
1026
+ # The ARN of the MicrosoftTeamsChannelConfiguration to retrieve.
1027
+ #
1028
+ # @return [Types::GetTeamsChannelConfigurationResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1029
+ #
1030
+ # * {Types::GetTeamsChannelConfigurationResult#channel_configuration #channel_configuration} => Types::TeamsChannelConfiguration
1031
+ #
1032
+ # @example Request syntax with placeholder values
1033
+ #
1034
+ # resp = client.get_microsoft_teams_channel_configuration({
1035
+ # chat_configuration_arn: "ChatConfigurationArn", # required
1036
+ # })
1037
+ #
1038
+ # @example Response structure
1039
+ #
1040
+ # resp.channel_configuration.channel_id #=> String
1041
+ # resp.channel_configuration.channel_name #=> String
1042
+ # resp.channel_configuration.team_id #=> String
1043
+ # resp.channel_configuration.team_name #=> String
1044
+ # resp.channel_configuration.tenant_id #=> String
1045
+ # resp.channel_configuration.chat_configuration_arn #=> String
1046
+ # resp.channel_configuration.iam_role_arn #=> String
1047
+ # resp.channel_configuration.sns_topic_arns #=> Array
1048
+ # resp.channel_configuration.sns_topic_arns[0] #=> String
1049
+ # resp.channel_configuration.configuration_name #=> String
1050
+ # resp.channel_configuration.logging_level #=> String
1051
+ # resp.channel_configuration.guardrail_policy_arns #=> Array
1052
+ # resp.channel_configuration.guardrail_policy_arns[0] #=> String
1053
+ # resp.channel_configuration.user_authorization_required #=> Boolean
1054
+ #
1055
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/GetMicrosoftTeamsChannelConfiguration AWS API Documentation
1056
+ #
1057
+ # @overload get_microsoft_teams_channel_configuration(params = {})
1058
+ # @param [Hash] params ({})
1059
+ def get_microsoft_teams_channel_configuration(params = {}, options = {})
1060
+ req = build_request(:get_microsoft_teams_channel_configuration, params)
1061
+ req.send_request(options)
1062
+ end
1063
+
1064
+ # Lists MS Teams Channel Configurations optionally filtered by TeamId
1065
+ #
1066
+ # @option params [Integer] :max_results
1067
+ # The maximum number of results to include in the response. If more
1068
+ # results exist than the specified MaxResults value, a token is included
1069
+ # in the response so that the remaining results can be retrieved.
1070
+ #
1071
+ # @option params [String] :next_token
1072
+ # An optional token returned from a prior request. Use this token for
1073
+ # pagination of results from this action. If this parameter is
1074
+ # specified, the response includes only results beyond the token, up to
1075
+ # the value specified by MaxResults.
1076
+ #
1077
+ # @option params [String] :team_id
1078
+ # The ID of the Microsoft Team authorized with AWS Chatbot. To get the
1079
+ # team ID, you must perform the initial authorization flow with
1080
+ # Microsoft Teams in the AWS Chatbot console. Then you can copy and
1081
+ # paste the team ID from the console. For more details, see steps 1-4 in
1082
+ # Get started with Microsoft Teams in the AWS Chatbot Administrator
1083
+ # Guide.
1084
+ #
1085
+ # @return [Types::ListTeamsChannelConfigurationsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1086
+ #
1087
+ # * {Types::ListTeamsChannelConfigurationsResult#next_token #next_token} => String
1088
+ # * {Types::ListTeamsChannelConfigurationsResult#team_channel_configurations #team_channel_configurations} => Array&lt;Types::TeamsChannelConfiguration&gt;
1089
+ #
1090
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1091
+ #
1092
+ # @example Request syntax with placeholder values
1093
+ #
1094
+ # resp = client.list_microsoft_teams_channel_configurations({
1095
+ # max_results: 1,
1096
+ # next_token: "PaginationToken",
1097
+ # team_id: "UUID",
1098
+ # })
1099
+ #
1100
+ # @example Response structure
1101
+ #
1102
+ # resp.next_token #=> String
1103
+ # resp.team_channel_configurations #=> Array
1104
+ # resp.team_channel_configurations[0].channel_id #=> String
1105
+ # resp.team_channel_configurations[0].channel_name #=> String
1106
+ # resp.team_channel_configurations[0].team_id #=> String
1107
+ # resp.team_channel_configurations[0].team_name #=> String
1108
+ # resp.team_channel_configurations[0].tenant_id #=> String
1109
+ # resp.team_channel_configurations[0].chat_configuration_arn #=> String
1110
+ # resp.team_channel_configurations[0].iam_role_arn #=> String
1111
+ # resp.team_channel_configurations[0].sns_topic_arns #=> Array
1112
+ # resp.team_channel_configurations[0].sns_topic_arns[0] #=> String
1113
+ # resp.team_channel_configurations[0].configuration_name #=> String
1114
+ # resp.team_channel_configurations[0].logging_level #=> String
1115
+ # resp.team_channel_configurations[0].guardrail_policy_arns #=> Array
1116
+ # resp.team_channel_configurations[0].guardrail_policy_arns[0] #=> String
1117
+ # resp.team_channel_configurations[0].user_authorization_required #=> Boolean
1118
+ #
1119
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/ListMicrosoftTeamsChannelConfigurations AWS API Documentation
1120
+ #
1121
+ # @overload list_microsoft_teams_channel_configurations(params = {})
1122
+ # @param [Hash] params ({})
1123
+ def list_microsoft_teams_channel_configurations(params = {}, options = {})
1124
+ req = build_request(:list_microsoft_teams_channel_configurations, params)
1125
+ req.send_request(options)
1126
+ end
1127
+
1128
+ # Lists all authorized MS teams for AWS Account
1129
+ #
1130
+ # @option params [Integer] :max_results
1131
+ # The maximum number of results to include in the response. If more
1132
+ # results exist than the specified MaxResults value, a token is included
1133
+ # in the response so that the remaining results can be retrieved.
1134
+ #
1135
+ # @option params [String] :next_token
1136
+ # An optional token returned from a prior request. Use this token for
1137
+ # pagination of results from this action. If this parameter is
1138
+ # specified, the response includes only results beyond the token, up to
1139
+ # the value specified by MaxResults.
1140
+ #
1141
+ # @return [Types::ListMicrosoftTeamsConfiguredTeamsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1142
+ #
1143
+ # * {Types::ListMicrosoftTeamsConfiguredTeamsResult#configured_teams #configured_teams} => Array&lt;Types::ConfiguredTeam&gt;
1144
+ # * {Types::ListMicrosoftTeamsConfiguredTeamsResult#next_token #next_token} => String
1145
+ #
1146
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1147
+ #
1148
+ # @example Request syntax with placeholder values
1149
+ #
1150
+ # resp = client.list_microsoft_teams_configured_teams({
1151
+ # max_results: 1,
1152
+ # next_token: "PaginationToken",
1153
+ # })
1154
+ #
1155
+ # @example Response structure
1156
+ #
1157
+ # resp.configured_teams #=> Array
1158
+ # resp.configured_teams[0].tenant_id #=> String
1159
+ # resp.configured_teams[0].team_id #=> String
1160
+ # resp.configured_teams[0].team_name #=> String
1161
+ # resp.next_token #=> String
1162
+ #
1163
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/ListMicrosoftTeamsConfiguredTeams AWS API Documentation
1164
+ #
1165
+ # @overload list_microsoft_teams_configured_teams(params = {})
1166
+ # @param [Hash] params ({})
1167
+ def list_microsoft_teams_configured_teams(params = {}, options = {})
1168
+ req = build_request(:list_microsoft_teams_configured_teams, params)
1169
+ req.send_request(options)
1170
+ end
1171
+
1172
+ # Lists all Microsoft Teams user identities with a mapped role.
1173
+ #
1174
+ # @option params [String] :chat_configuration_arn
1175
+ # The ARN of the MicrosoftTeamsChannelConfiguration associated with the
1176
+ # user identities to list.
1177
+ #
1178
+ # @option params [String] :next_token
1179
+ # An optional token returned from a prior request. Use this token for
1180
+ # pagination of results from this action. If this parameter is
1181
+ # specified, the response includes only results beyond the token, up to
1182
+ # the value specified by MaxResults.
1183
+ #
1184
+ # @option params [Integer] :max_results
1185
+ # The maximum number of results to include in the response. If more
1186
+ # results exist than the specified MaxResults value, a token is included
1187
+ # in the response so that the remaining results can be retrieved.
1188
+ #
1189
+ # @return [Types::ListMicrosoftTeamsUserIdentitiesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1190
+ #
1191
+ # * {Types::ListMicrosoftTeamsUserIdentitiesResult#teams_user_identities #teams_user_identities} => Array&lt;Types::TeamsUserIdentity&gt;
1192
+ # * {Types::ListMicrosoftTeamsUserIdentitiesResult#next_token #next_token} => String
1193
+ #
1194
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1195
+ #
1196
+ # @example Request syntax with placeholder values
1197
+ #
1198
+ # resp = client.list_microsoft_teams_user_identities({
1199
+ # chat_configuration_arn: "ChatConfigurationArn",
1200
+ # next_token: "PaginationToken",
1201
+ # max_results: 1,
1202
+ # })
1203
+ #
1204
+ # @example Response structure
1205
+ #
1206
+ # resp.teams_user_identities #=> Array
1207
+ # resp.teams_user_identities[0].iam_role_arn #=> String
1208
+ # resp.teams_user_identities[0].chat_configuration_arn #=> String
1209
+ # resp.teams_user_identities[0].team_id #=> String
1210
+ # resp.teams_user_identities[0].user_id #=> String
1211
+ # resp.teams_user_identities[0].aws_user_identity #=> String
1212
+ # resp.teams_user_identities[0].teams_channel_id #=> String
1213
+ # resp.teams_user_identities[0].teams_tenant_id #=> String
1214
+ # resp.next_token #=> String
1215
+ #
1216
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/ListMicrosoftTeamsUserIdentities AWS API Documentation
1217
+ #
1218
+ # @overload list_microsoft_teams_user_identities(params = {})
1219
+ # @param [Hash] params ({})
1220
+ def list_microsoft_teams_user_identities(params = {}, options = {})
1221
+ req = build_request(:list_microsoft_teams_user_identities, params)
1222
+ req.send_request(options)
1223
+ end
1224
+
1225
+ # Update Chatbot account level preferences
1226
+ #
1227
+ # @option params [Boolean] :user_authorization_required
1228
+ # Enables use of a user role requirement in your chat configuration.
1229
+ #
1230
+ # @option params [Boolean] :training_data_collection_enabled
1231
+ # Turns on training data collection. This helps improve the AWS Chatbot
1232
+ # experience by allowing AWS Chatbot to store and use your customer
1233
+ # information, such as AWS Chatbot configurations, notifications, user
1234
+ # inputs, AWS Chatbot generated responses, and interaction data. This
1235
+ # data helps us to continuously improve and develop Artificial
1236
+ # Intelligence (AI) technologies. Your data is not shared with any third
1237
+ # parties and is protected using sophisticated controls to prevent
1238
+ # unauthorized access and misuse. AWS Chatbot does not store or use
1239
+ # interactions in chat channels with Amazon Q for training AWS Chatbot’s
1240
+ # AI technologies.
1241
+ #
1242
+ # @return [Types::UpdateAccountPreferencesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1243
+ #
1244
+ # * {Types::UpdateAccountPreferencesResult#account_preferences #account_preferences} => Types::AccountPreferences
1245
+ #
1246
+ # @example Request syntax with placeholder values
1247
+ #
1248
+ # resp = client.update_account_preferences({
1249
+ # user_authorization_required: false,
1250
+ # training_data_collection_enabled: false,
1251
+ # })
1252
+ #
1253
+ # @example Response structure
1254
+ #
1255
+ # resp.account_preferences.user_authorization_required #=> Boolean
1256
+ # resp.account_preferences.training_data_collection_enabled #=> Boolean
1257
+ #
1258
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/UpdateAccountPreferences AWS API Documentation
1259
+ #
1260
+ # @overload update_account_preferences(params = {})
1261
+ # @param [Hash] params ({})
1262
+ def update_account_preferences(params = {}, options = {})
1263
+ req = build_request(:update_account_preferences, params)
1264
+ req.send_request(options)
1265
+ end
1266
+
1267
+ # Updates a Chime Webhook Configuration
1268
+ #
1269
+ # @option params [required, String] :chat_configuration_arn
1270
+ # The ARN of the ChimeWebhookConfiguration to update.
1271
+ #
1272
+ # @option params [String] :webhook_description
1273
+ # Description of the webhook. Recommend using the convention
1274
+ # `RoomName/WebhookName`. See Chime setup tutorial for more details:
1275
+ # https://docs.aws.amazon.com/chatbot/latest/adminguide/chime-setup.html.
1276
+ #
1277
+ # @option params [String] :webhook_url
1278
+ # URL for the Chime webhook.
1279
+ #
1280
+ # @option params [Array<String>] :sns_topic_arns
1281
+ # The ARNs of the SNS topics that deliver notifications to AWS Chatbot.
1282
+ #
1283
+ # @option params [String] :iam_role_arn
1284
+ # The ARN of the IAM role that defines the permissions for AWS Chatbot.
1285
+ # This is a user-defined role that AWS Chatbot will assume. This is not
1286
+ # the service-linked role. For more information, see IAM Policies for
1287
+ # AWS Chatbot.
1288
+ #
1289
+ # @option params [String] :logging_level
1290
+ # Logging levels include ERROR, INFO, or NONE.
1291
+ #
1292
+ # @return [Types::UpdateChimeWebhookConfigurationResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1293
+ #
1294
+ # * {Types::UpdateChimeWebhookConfigurationResult#webhook_configuration #webhook_configuration} => Types::ChimeWebhookConfiguration
1295
+ #
1296
+ # @example Request syntax with placeholder values
1297
+ #
1298
+ # resp = client.update_chime_webhook_configuration({
1299
+ # chat_configuration_arn: "ChatConfigurationArn", # required
1300
+ # webhook_description: "ChimeWebhookDescription",
1301
+ # webhook_url: "ChimeWebhookUrl",
1302
+ # sns_topic_arns: ["Arn"],
1303
+ # iam_role_arn: "Arn",
1304
+ # logging_level: "CustomerCwLogLevel",
1305
+ # })
1306
+ #
1307
+ # @example Response structure
1308
+ #
1309
+ # resp.webhook_configuration.webhook_description #=> String
1310
+ # resp.webhook_configuration.chat_configuration_arn #=> String
1311
+ # resp.webhook_configuration.iam_role_arn #=> String
1312
+ # resp.webhook_configuration.sns_topic_arns #=> Array
1313
+ # resp.webhook_configuration.sns_topic_arns[0] #=> String
1314
+ # resp.webhook_configuration.configuration_name #=> String
1315
+ # resp.webhook_configuration.logging_level #=> String
1316
+ #
1317
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/UpdateChimeWebhookConfiguration AWS API Documentation
1318
+ #
1319
+ # @overload update_chime_webhook_configuration(params = {})
1320
+ # @param [Hash] params ({})
1321
+ def update_chime_webhook_configuration(params = {}, options = {})
1322
+ req = build_request(:update_chime_webhook_configuration, params)
1323
+ req.send_request(options)
1324
+ end
1325
+
1326
+ # Updates MS Teams Channel Configuration
1327
+ #
1328
+ # @option params [required, String] :chat_configuration_arn
1329
+ # The ARN of the MicrosoftTeamsChannelConfiguration to update.
1330
+ #
1331
+ # @option params [required, String] :channel_id
1332
+ # The ID of the Microsoft Teams channel.
1333
+ #
1334
+ # @option params [String] :channel_name
1335
+ # The name of the Microsoft Teams channel.
1336
+ #
1337
+ # @option params [Array<String>] :sns_topic_arns
1338
+ # The ARNs of the SNS topics that deliver notifications to AWS Chatbot.
1339
+ #
1340
+ # @option params [String] :iam_role_arn
1341
+ # The ARN of the IAM role that defines the permissions for AWS Chatbot.
1342
+ # This is a user-defined role that AWS Chatbot will assume. This is not
1343
+ # the service-linked role. For more information, see IAM Policies for
1344
+ # AWS Chatbot.
1345
+ #
1346
+ # @option params [String] :logging_level
1347
+ # Logging levels include ERROR, INFO, or NONE.
1348
+ #
1349
+ # @option params [Array<String>] :guardrail_policy_arns
1350
+ # The list of IAM policy ARNs that are applied as channel guardrails.
1351
+ # The AWS managed 'AdministratorAccess' policy is applied by default
1352
+ # if this is not set.
1353
+ #
1354
+ # @option params [Boolean] :user_authorization_required
1355
+ # Enables use of a user role requirement in your chat configuration.
1356
+ #
1357
+ # @return [Types::UpdateTeamsChannelConfigurationResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1358
+ #
1359
+ # * {Types::UpdateTeamsChannelConfigurationResult#channel_configuration #channel_configuration} => Types::TeamsChannelConfiguration
1360
+ #
1361
+ # @example Request syntax with placeholder values
1362
+ #
1363
+ # resp = client.update_microsoft_teams_channel_configuration({
1364
+ # chat_configuration_arn: "ChatConfigurationArn", # required
1365
+ # channel_id: "TeamsChannelId", # required
1366
+ # channel_name: "TeamsChannelName",
1367
+ # sns_topic_arns: ["Arn"],
1368
+ # iam_role_arn: "Arn",
1369
+ # logging_level: "CustomerCwLogLevel",
1370
+ # guardrail_policy_arns: ["GuardrailPolicyArn"],
1371
+ # user_authorization_required: false,
1372
+ # })
1373
+ #
1374
+ # @example Response structure
1375
+ #
1376
+ # resp.channel_configuration.channel_id #=> String
1377
+ # resp.channel_configuration.channel_name #=> String
1378
+ # resp.channel_configuration.team_id #=> String
1379
+ # resp.channel_configuration.team_name #=> String
1380
+ # resp.channel_configuration.tenant_id #=> String
1381
+ # resp.channel_configuration.chat_configuration_arn #=> String
1382
+ # resp.channel_configuration.iam_role_arn #=> String
1383
+ # resp.channel_configuration.sns_topic_arns #=> Array
1384
+ # resp.channel_configuration.sns_topic_arns[0] #=> String
1385
+ # resp.channel_configuration.configuration_name #=> String
1386
+ # resp.channel_configuration.logging_level #=> String
1387
+ # resp.channel_configuration.guardrail_policy_arns #=> Array
1388
+ # resp.channel_configuration.guardrail_policy_arns[0] #=> String
1389
+ # resp.channel_configuration.user_authorization_required #=> Boolean
1390
+ #
1391
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/UpdateMicrosoftTeamsChannelConfiguration AWS API Documentation
1392
+ #
1393
+ # @overload update_microsoft_teams_channel_configuration(params = {})
1394
+ # @param [Hash] params ({})
1395
+ def update_microsoft_teams_channel_configuration(params = {}, options = {})
1396
+ req = build_request(:update_microsoft_teams_channel_configuration, params)
1397
+ req.send_request(options)
1398
+ end
1399
+
1400
+ # Updates Slack Channel Configuration
1401
+ #
1402
+ # @option params [required, String] :chat_configuration_arn
1403
+ # The ARN of the SlackChannelConfiguration to update.
1404
+ #
1405
+ # @option params [required, String] :slack_channel_id
1406
+ # The ID of the Slack channel. To get the ID, open Slack, right click on
1407
+ # the channel name in the left pane, then choose Copy Link. The channel
1408
+ # ID is the 9-character string at the end of the URL. For example,
1409
+ # ABCBBLZZZ.
1410
+ #
1411
+ # @option params [String] :slack_channel_name
1412
+ # The name of the Slack Channel.
1413
+ #
1414
+ # @option params [Array<String>] :sns_topic_arns
1415
+ # The ARNs of the SNS topics that deliver notifications to AWS Chatbot.
1416
+ #
1417
+ # @option params [String] :iam_role_arn
1418
+ # The ARN of the IAM role that defines the permissions for AWS Chatbot.
1419
+ # This is a user-defined role that AWS Chatbot will assume. This is not
1420
+ # the service-linked role. For more information, see IAM Policies for
1421
+ # AWS Chatbot.
1422
+ #
1423
+ # @option params [String] :logging_level
1424
+ # Logging levels include ERROR, INFO, or NONE.
1425
+ #
1426
+ # @option params [Array<String>] :guardrail_policy_arns
1427
+ # The list of IAM policy ARNs that are applied as channel guardrails.
1428
+ # The AWS managed 'AdministratorAccess' policy is applied by default
1429
+ # if this is not set.
1430
+ #
1431
+ # @option params [Boolean] :user_authorization_required
1432
+ # Enables use of a user role requirement in your chat configuration.
1433
+ #
1434
+ # @return [Types::UpdateSlackChannelConfigurationResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1435
+ #
1436
+ # * {Types::UpdateSlackChannelConfigurationResult#channel_configuration #channel_configuration} => Types::SlackChannelConfiguration
1437
+ #
1438
+ # @example Request syntax with placeholder values
1439
+ #
1440
+ # resp = client.update_slack_channel_configuration({
1441
+ # chat_configuration_arn: "ChatConfigurationArn", # required
1442
+ # slack_channel_id: "SlackChannelId", # required
1443
+ # slack_channel_name: "SlackChannelDisplayName",
1444
+ # sns_topic_arns: ["Arn"],
1445
+ # iam_role_arn: "Arn",
1446
+ # logging_level: "CustomerCwLogLevel",
1447
+ # guardrail_policy_arns: ["GuardrailPolicyArn"],
1448
+ # user_authorization_required: false,
1449
+ # })
1450
+ #
1451
+ # @example Response structure
1452
+ #
1453
+ # resp.channel_configuration.slack_team_name #=> String
1454
+ # resp.channel_configuration.slack_team_id #=> String
1455
+ # resp.channel_configuration.slack_channel_id #=> String
1456
+ # resp.channel_configuration.slack_channel_name #=> String
1457
+ # resp.channel_configuration.chat_configuration_arn #=> String
1458
+ # resp.channel_configuration.iam_role_arn #=> String
1459
+ # resp.channel_configuration.sns_topic_arns #=> Array
1460
+ # resp.channel_configuration.sns_topic_arns[0] #=> String
1461
+ # resp.channel_configuration.configuration_name #=> String
1462
+ # resp.channel_configuration.logging_level #=> String
1463
+ # resp.channel_configuration.guardrail_policy_arns #=> Array
1464
+ # resp.channel_configuration.guardrail_policy_arns[0] #=> String
1465
+ # resp.channel_configuration.user_authorization_required #=> Boolean
1466
+ #
1467
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chatbot-2017-10-11/UpdateSlackChannelConfiguration AWS API Documentation
1468
+ #
1469
+ # @overload update_slack_channel_configuration(params = {})
1470
+ # @param [Hash] params ({})
1471
+ def update_slack_channel_configuration(params = {}, options = {})
1472
+ req = build_request(:update_slack_channel_configuration, params)
1473
+ req.send_request(options)
1474
+ end
1475
+
1476
+ # @!endgroup
1477
+
1478
+ # @param params ({})
1479
+ # @api private
1480
+ def build_request(operation_name, params = {})
1481
+ handlers = @handlers.for(operation_name)
1482
+ context = Seahorse::Client::RequestContext.new(
1483
+ operation_name: operation_name,
1484
+ operation: config.api.operation(operation_name),
1485
+ client: self,
1486
+ params: params,
1487
+ config: config)
1488
+ context[:gem_name] = 'aws-sdk-chatbot'
1489
+ context[:gem_version] = '1.0.0'
1490
+ Seahorse::Client::Request.new(handlers, context)
1491
+ end
1492
+
1493
+ # @api private
1494
+ # @deprecated
1495
+ def waiter_names
1496
+ []
1497
+ end
1498
+
1499
+ class << self
1500
+
1501
+ # @api private
1502
+ attr_reader :identifier
1503
+
1504
+ # @api private
1505
+ def errors_module
1506
+ Errors
1507
+ end
1508
+
1509
+ end
1510
+ end
1511
+ end