aws-sdk-supportapp 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,758 @@
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/defaults_mode.rb'
32
+ require 'aws-sdk-core/plugins/recursion_detection.rb'
33
+ require 'aws-sdk-core/plugins/signature_v4.rb'
34
+ require 'aws-sdk-core/plugins/protocols/rest_json.rb'
35
+
36
+ Aws::Plugins::GlobalConfiguration.add_identifier(:supportapp)
37
+
38
+ module Aws::SupportApp
39
+ # An API client for SupportApp. To construct a client, you need to configure a `:region` and `:credentials`.
40
+ #
41
+ # client = Aws::SupportApp::Client.new(
42
+ # region: region_name,
43
+ # credentials: credentials,
44
+ # # ...
45
+ # )
46
+ #
47
+ # For details on configuring region and credentials see
48
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
49
+ #
50
+ # See {#initialize} for a full list of supported configuration options.
51
+ class Client < Seahorse::Client::Base
52
+
53
+ include Aws::ClientStubs
54
+
55
+ @identifier = :supportapp
56
+
57
+ set_api(ClientApi::API)
58
+
59
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
60
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
61
+ add_plugin(Aws::Plugins::Logging)
62
+ add_plugin(Aws::Plugins::ParamConverter)
63
+ add_plugin(Aws::Plugins::ParamValidator)
64
+ add_plugin(Aws::Plugins::UserAgent)
65
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
66
+ add_plugin(Aws::Plugins::RetryErrors)
67
+ add_plugin(Aws::Plugins::GlobalConfiguration)
68
+ add_plugin(Aws::Plugins::RegionalEndpoint)
69
+ add_plugin(Aws::Plugins::EndpointDiscovery)
70
+ add_plugin(Aws::Plugins::EndpointPattern)
71
+ add_plugin(Aws::Plugins::ResponsePaging)
72
+ add_plugin(Aws::Plugins::StubResponses)
73
+ add_plugin(Aws::Plugins::IdempotencyToken)
74
+ add_plugin(Aws::Plugins::JsonvalueConverter)
75
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
76
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
77
+ add_plugin(Aws::Plugins::TransferEncoding)
78
+ add_plugin(Aws::Plugins::HttpChecksum)
79
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
80
+ add_plugin(Aws::Plugins::DefaultsMode)
81
+ add_plugin(Aws::Plugins::RecursionDetection)
82
+ add_plugin(Aws::Plugins::SignatureV4)
83
+ add_plugin(Aws::Plugins::Protocols::RestJson)
84
+
85
+ # @overload initialize(options)
86
+ # @param [Hash] options
87
+ # @option options [required, Aws::CredentialProvider] :credentials
88
+ # Your AWS credentials. This can be an instance of any one of the
89
+ # following classes:
90
+ #
91
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
92
+ # credentials.
93
+ #
94
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
95
+ # shared file, such as `~/.aws/config`.
96
+ #
97
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
98
+ #
99
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
100
+ # assume a role after providing credentials via the web.
101
+ #
102
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
103
+ # access token generated from `aws login`.
104
+ #
105
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
106
+ # process that outputs to stdout.
107
+ #
108
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
109
+ # from an EC2 IMDS on an EC2 instance.
110
+ #
111
+ # * `Aws::ECSCredentials` - Used for loading credentials from
112
+ # instances running in ECS.
113
+ #
114
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
115
+ # from the Cognito Identity service.
116
+ #
117
+ # When `:credentials` are not configured directly, the following
118
+ # locations will be searched for credentials:
119
+ #
120
+ # * `Aws.config[:credentials]`
121
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
122
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
123
+ # * `~/.aws/credentials`
124
+ # * `~/.aws/config`
125
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
126
+ # are very aggressive. Construct and pass an instance of
127
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
128
+ # enable retries and extended timeouts. Instance profile credential
129
+ # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
130
+ # to true.
131
+ #
132
+ # @option options [required, String] :region
133
+ # The AWS region to connect to. The configured `:region` is
134
+ # used to determine the service `:endpoint`. When not passed,
135
+ # a default `:region` is searched for in the following locations:
136
+ #
137
+ # * `Aws.config[:region]`
138
+ # * `ENV['AWS_REGION']`
139
+ # * `ENV['AMAZON_REGION']`
140
+ # * `ENV['AWS_DEFAULT_REGION']`
141
+ # * `~/.aws/credentials`
142
+ # * `~/.aws/config`
143
+ #
144
+ # @option options [String] :access_key_id
145
+ #
146
+ # @option options [Boolean] :active_endpoint_cache (false)
147
+ # When set to `true`, a thread polling for endpoints will be running in
148
+ # the background every 60 secs (default). Defaults to `false`.
149
+ #
150
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
151
+ # Used only in `adaptive` retry mode. When true, the request will sleep
152
+ # until there is sufficent client side capacity to retry the request.
153
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
154
+ # not retry instead of sleeping.
155
+ #
156
+ # @option options [Boolean] :client_side_monitoring (false)
157
+ # When `true`, client-side metrics will be collected for all API requests from
158
+ # this client.
159
+ #
160
+ # @option options [String] :client_side_monitoring_client_id ("")
161
+ # Allows you to provide an identifier for this client which will be attached to
162
+ # all generated client side metrics. Defaults to an empty string.
163
+ #
164
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
165
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
166
+ # side monitoring agent is running on, where client metrics will be published via UDP.
167
+ #
168
+ # @option options [Integer] :client_side_monitoring_port (31000)
169
+ # Required for publishing client metrics. The port that the client side monitoring
170
+ # agent is running on, where client metrics will be published via UDP.
171
+ #
172
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
173
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
174
+ # will use the Client Side Monitoring Agent Publisher.
175
+ #
176
+ # @option options [Boolean] :convert_params (true)
177
+ # When `true`, an attempt is made to coerce request parameters into
178
+ # the required types.
179
+ #
180
+ # @option options [Boolean] :correct_clock_skew (true)
181
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
182
+ # a clock skew correction and retry requests with skewed client clocks.
183
+ #
184
+ # @option options [String] :defaults_mode ("legacy")
185
+ # See {Aws::DefaultsModeConfiguration} for a list of the
186
+ # accepted modes and the configuration defaults that are included.
187
+ #
188
+ # @option options [Boolean] :disable_host_prefix_injection (false)
189
+ # Set to true to disable SDK automatically adding host prefix
190
+ # to default service endpoint when available.
191
+ #
192
+ # @option options [String] :endpoint
193
+ # The client endpoint is normally constructed from the `:region`
194
+ # option. You should only configure an `:endpoint` when connecting
195
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
196
+ #
197
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
198
+ # Used for the maximum size limit of the LRU cache storing endpoints data
199
+ # for endpoint discovery enabled operations. Defaults to 1000.
200
+ #
201
+ # @option options [Integer] :endpoint_cache_max_threads (10)
202
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
203
+ #
204
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
205
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
206
+ # Use this option to config the time interval in seconds for making
207
+ # requests fetching endpoints information. Defaults to 60 sec.
208
+ #
209
+ # @option options [Boolean] :endpoint_discovery (false)
210
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
211
+ #
212
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
213
+ # The log formatter.
214
+ #
215
+ # @option options [Symbol] :log_level (:info)
216
+ # The log level to send messages to the `:logger` at.
217
+ #
218
+ # @option options [Logger] :logger
219
+ # The Logger instance to send log messages to. If this option
220
+ # is not set, logging will be disabled.
221
+ #
222
+ # @option options [Integer] :max_attempts (3)
223
+ # An integer representing the maximum number attempts that will be made for
224
+ # a single request, including the initial attempt. For example,
225
+ # setting this value to 5 will result in a request being retried up to
226
+ # 4 times. Used in `standard` and `adaptive` retry modes.
227
+ #
228
+ # @option options [String] :profile ("default")
229
+ # Used when loading credentials from the shared credentials file
230
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
231
+ #
232
+ # @option options [Proc] :retry_backoff
233
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
234
+ # This option is only used in the `legacy` retry mode.
235
+ #
236
+ # @option options [Float] :retry_base_delay (0.3)
237
+ # The base delay in seconds used by the default backoff function. This option
238
+ # is only used in the `legacy` retry mode.
239
+ #
240
+ # @option options [Symbol] :retry_jitter (:none)
241
+ # A delay randomiser function used by the default backoff function.
242
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
243
+ # otherwise a Proc that takes and returns a number. This option is only used
244
+ # in the `legacy` retry mode.
245
+ #
246
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
247
+ #
248
+ # @option options [Integer] :retry_limit (3)
249
+ # The maximum number of times to retry failed requests. Only
250
+ # ~ 500 level server errors and certain ~ 400 level client errors
251
+ # are retried. Generally, these are throttling errors, data
252
+ # checksum errors, networking errors, timeout errors, auth errors,
253
+ # endpoint discovery, and errors from expired credentials.
254
+ # This option is only used in the `legacy` retry mode.
255
+ #
256
+ # @option options [Integer] :retry_max_delay (0)
257
+ # The maximum number of seconds to delay between retries (0 for no limit)
258
+ # used by the default backoff function. This option is only used in the
259
+ # `legacy` retry mode.
260
+ #
261
+ # @option options [String] :retry_mode ("legacy")
262
+ # Specifies which retry algorithm to use. Values are:
263
+ #
264
+ # * `legacy` - The pre-existing retry behavior. This is default value if
265
+ # no retry mode is provided.
266
+ #
267
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
268
+ # This includes support for retry quotas, which limit the number of
269
+ # unsuccessful retries a client can make.
270
+ #
271
+ # * `adaptive` - An experimental retry mode that includes all the
272
+ # functionality of `standard` mode along with automatic client side
273
+ # throttling. This is a provisional mode that may change behavior
274
+ # in the future.
275
+ #
276
+ #
277
+ # @option options [String] :secret_access_key
278
+ #
279
+ # @option options [String] :session_token
280
+ #
281
+ # @option options [Boolean] :stub_responses (false)
282
+ # Causes the client to return stubbed responses. By default
283
+ # fake responses are generated and returned. You can specify
284
+ # the response data to return or errors to raise by calling
285
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
286
+ #
287
+ # ** Please note ** When response stubbing is enabled, no HTTP
288
+ # requests are made, and retries are disabled.
289
+ #
290
+ # @option options [Boolean] :use_dualstack_endpoint
291
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
292
+ # will be used if available.
293
+ #
294
+ # @option options [Boolean] :use_fips_endpoint
295
+ # When set to `true`, fips compatible endpoints will be used if available.
296
+ # When a `fips` region is used, the region is normalized and this config
297
+ # is set to `true`.
298
+ #
299
+ # @option options [Boolean] :validate_params (true)
300
+ # When `true`, request parameters are validated before
301
+ # sending the request.
302
+ #
303
+ # @option options [URI::HTTP,String] :http_proxy A proxy to send
304
+ # requests through. Formatted like 'http://proxy.com:123'.
305
+ #
306
+ # @option options [Float] :http_open_timeout (15) The number of
307
+ # seconds to wait when opening a HTTP session before raising a
308
+ # `Timeout::Error`.
309
+ #
310
+ # @option options [Float] :http_read_timeout (60) The default
311
+ # number of seconds to wait for response data. This value can
312
+ # safely be set per-request on the session.
313
+ #
314
+ # @option options [Float] :http_idle_timeout (5) The number of
315
+ # seconds a connection is allowed to sit idle before it is
316
+ # considered stale. Stale connections are closed and removed
317
+ # from the pool before making a request.
318
+ #
319
+ # @option options [Float] :http_continue_timeout (1) The number of
320
+ # seconds to wait for a 100-continue response before sending the
321
+ # request body. This option has no effect unless the request has
322
+ # "Expect" header set to "100-continue". Defaults to `nil` which
323
+ # disables this behaviour. This value can safely be set per
324
+ # request on the session.
325
+ #
326
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
327
+ # in seconds.
328
+ #
329
+ # @option options [Boolean] :http_wire_trace (false) When `true`,
330
+ # HTTP debug output will be sent to the `:logger`.
331
+ #
332
+ # @option options [Boolean] :ssl_verify_peer (true) When `true`,
333
+ # SSL peer certificates are verified when establishing a
334
+ # connection.
335
+ #
336
+ # @option options [String] :ssl_ca_bundle Full path to the SSL
337
+ # certificate authority bundle file that should be used when
338
+ # verifying peer certificates. If you do not pass
339
+ # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
340
+ # will be used if available.
341
+ #
342
+ # @option options [String] :ssl_ca_directory Full path of the
343
+ # directory that contains the unbundled SSL certificate
344
+ # authority files for verifying peer certificates. If you do
345
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
346
+ # system default will be used if available.
347
+ #
348
+ def initialize(*args)
349
+ super
350
+ end
351
+
352
+ # @!group API Operations
353
+
354
+ # Creates a Slack channel configuration for your Amazon Web Services
355
+ # account.
356
+ #
357
+ # <note markdown="1"> * You can add up to 5 Slack workspaces for your account.
358
+ #
359
+ # * You can add up to 20 Slack channels for your account.
360
+ #
361
+ # </note>
362
+ #
363
+ # A Slack channel can have up to 100 Amazon Web Services accounts. This
364
+ # means that only 100 accounts can add the same Slack channel to the
365
+ # Amazon Web Services Support App. We recommend that you only add the
366
+ # accounts that you need to manage support cases for your organization.
367
+ # This can reduce the notifications about case updates that you receive
368
+ # in the Slack channel.
369
+ #
370
+ # <note markdown="1"> We recommend that you choose a private Slack channel so that only
371
+ # members in that channel have read and write access to your support
372
+ # cases. Anyone in your Slack channel can create, update, or resolve
373
+ # support cases for your account. Users require an invitation to join
374
+ # private channels.
375
+ #
376
+ # </note>
377
+ #
378
+ # @option params [required, String] :channel_id
379
+ # The channel ID in Slack. This ID identifies a channel within a Slack
380
+ # workspace.
381
+ #
382
+ # @option params [String] :channel_name
383
+ # The name of the Slack channel that you configure for the Amazon Web
384
+ # Services Support App.
385
+ #
386
+ # @option params [required, String] :channel_role_arn
387
+ # The Amazon Resource Name (ARN) of an IAM role that you want to use to
388
+ # perform operations on Amazon Web Services. For more information, see
389
+ # [Managing access to the Amazon Web Services Support App][1] in the
390
+ # *Amazon Web Services Support User Guide*.
391
+ #
392
+ #
393
+ #
394
+ # [1]: https://docs.aws.amazon.com/awssupport/latest/user/support-app-permissions.html
395
+ #
396
+ # @option params [Boolean] :notify_on_add_correspondence_to_case
397
+ # Whether you want to get notified when a support case has a new
398
+ # correspondence.
399
+ #
400
+ # @option params [required, String] :notify_on_case_severity
401
+ # The case severity for a support case that you want to receive
402
+ # notifications.
403
+ #
404
+ # <p>If you specify <code>high</code> or <code>all</code>, you must specify <code>true</code> for at least one of the following parameters:</p> <ul> <li> <p> <code>notifyOnAddCorrespondenceToCase</code> </p> </li> <li> <p> <code>notifyOnCreateOrReopenCase</code> </p> </li> <li> <p> <code>notifyOnResolveCase</code> </p> </li> </ul> <p>If you specify <code>none</code>, the following parameters must be null or <code>false</code>:</p> <ul> <li> <p> <code>notifyOnAddCorrespondenceToCase</code> </p> </li> <li> <p> <code>notifyOnCreateOrReopenCase</code> </p> </li> <li> <p> <code>notifyOnResolveCase</code> </p> </li> </ul> <note> <p>If you don't specify these parameters in your request, they default to <code>false</code>.</p> </note>
405
+ #
406
+ # @option params [Boolean] :notify_on_create_or_reopen_case
407
+ # Whether you want to get notified when a support case is created or
408
+ # reopened.
409
+ #
410
+ # @option params [Boolean] :notify_on_resolve_case
411
+ # Whether you want to get notified when a support case is resolved.
412
+ #
413
+ # @option params [required, String] :team_id
414
+ # The team ID in Slack. This ID uniquely identifies a Slack workspace.
415
+ #
416
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
417
+ #
418
+ # @example Request syntax with placeholder values
419
+ #
420
+ # resp = client.create_slack_channel_configuration({
421
+ # channel_id: "channelId", # required
422
+ # channel_name: "channelName",
423
+ # channel_role_arn: "roleArn", # required
424
+ # notify_on_add_correspondence_to_case: false,
425
+ # notify_on_case_severity: "none", # required, accepts none, all, high
426
+ # notify_on_create_or_reopen_case: false,
427
+ # notify_on_resolve_case: false,
428
+ # team_id: "teamId", # required
429
+ # })
430
+ #
431
+ # @see http://docs.aws.amazon.com/goto/WebAPI/support-app-2021-08-20/CreateSlackChannelConfiguration AWS API Documentation
432
+ #
433
+ # @overload create_slack_channel_configuration(params = {})
434
+ # @param [Hash] params ({})
435
+ def create_slack_channel_configuration(params = {}, options = {})
436
+ req = build_request(:create_slack_channel_configuration, params)
437
+ req.send_request(options)
438
+ end
439
+
440
+ # Deletes an alias for an Amazon Web Services account ID. The alias
441
+ # appears in the Amazon Web Services Support App page of the Amazon Web
442
+ # Services Support Center. The alias also appears in Slack messages from
443
+ # the Amazon Web Services Support App.
444
+ #
445
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
446
+ #
447
+ # @see http://docs.aws.amazon.com/goto/WebAPI/support-app-2021-08-20/DeleteAccountAlias AWS API Documentation
448
+ #
449
+ # @overload delete_account_alias(params = {})
450
+ # @param [Hash] params ({})
451
+ def delete_account_alias(params = {}, options = {})
452
+ req = build_request(:delete_account_alias, params)
453
+ req.send_request(options)
454
+ end
455
+
456
+ # Deletes a Slack channel configuration from your Amazon Web Services
457
+ # account. This operation doesn't delete your Slack channel.
458
+ #
459
+ # @option params [required, String] :channel_id
460
+ # The channel ID in Slack. This ID identifies a channel within a Slack
461
+ # workspace.
462
+ #
463
+ # @option params [required, String] :team_id
464
+ # The team ID in Slack. This ID uniquely identifies a Slack workspace.
465
+ #
466
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
467
+ #
468
+ # @example Request syntax with placeholder values
469
+ #
470
+ # resp = client.delete_slack_channel_configuration({
471
+ # channel_id: "channelId", # required
472
+ # team_id: "teamId", # required
473
+ # })
474
+ #
475
+ # @see http://docs.aws.amazon.com/goto/WebAPI/support-app-2021-08-20/DeleteSlackChannelConfiguration AWS API Documentation
476
+ #
477
+ # @overload delete_slack_channel_configuration(params = {})
478
+ # @param [Hash] params ({})
479
+ def delete_slack_channel_configuration(params = {}, options = {})
480
+ req = build_request(:delete_slack_channel_configuration, params)
481
+ req.send_request(options)
482
+ end
483
+
484
+ # Deletes a Slack workspace configuration from your Amazon Web Services
485
+ # account. This operation doesn't delete your Slack workspace.
486
+ #
487
+ # @option params [required, String] :team_id
488
+ # The team ID in Slack. This ID uniquely identifies a Slack workspace.
489
+ #
490
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
491
+ #
492
+ # @example Request syntax with placeholder values
493
+ #
494
+ # resp = client.delete_slack_workspace_configuration({
495
+ # team_id: "teamId", # required
496
+ # })
497
+ #
498
+ # @see http://docs.aws.amazon.com/goto/WebAPI/support-app-2021-08-20/DeleteSlackWorkspaceConfiguration AWS API Documentation
499
+ #
500
+ # @overload delete_slack_workspace_configuration(params = {})
501
+ # @param [Hash] params ({})
502
+ def delete_slack_workspace_configuration(params = {}, options = {})
503
+ req = build_request(:delete_slack_workspace_configuration, params)
504
+ req.send_request(options)
505
+ end
506
+
507
+ # Retrieves the alias from an Amazon Web Services account ID. The alias
508
+ # appears in the Amazon Web Services Support App page of the Amazon Web
509
+ # Services Support Center. The alias also appears in Slack messages from
510
+ # the Amazon Web Services Support App.
511
+ #
512
+ # @return [Types::GetAccountAliasResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
513
+ #
514
+ # * {Types::GetAccountAliasResult#account_alias #account_alias} => String
515
+ #
516
+ # @example Response structure
517
+ #
518
+ # resp.account_alias #=> String
519
+ #
520
+ # @see http://docs.aws.amazon.com/goto/WebAPI/support-app-2021-08-20/GetAccountAlias AWS API Documentation
521
+ #
522
+ # @overload get_account_alias(params = {})
523
+ # @param [Hash] params ({})
524
+ def get_account_alias(params = {}, options = {})
525
+ req = build_request(:get_account_alias, params)
526
+ req.send_request(options)
527
+ end
528
+
529
+ # Lists the Slack channel configurations for an Amazon Web Services
530
+ # account.
531
+ #
532
+ # @option params [String] :next_token
533
+ # If the results of a search are large, the API only returns a portion
534
+ # of the results and includes a `nextToken` pagination token in the
535
+ # response. To retrieve the next batch of results, reissue the search
536
+ # request and include the returned token. When the API returns the last
537
+ # set of results, the response doesn't include a pagination token
538
+ # value.
539
+ #
540
+ # @return [Types::ListSlackChannelConfigurationsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
541
+ #
542
+ # * {Types::ListSlackChannelConfigurationsResult#next_token #next_token} => String
543
+ # * {Types::ListSlackChannelConfigurationsResult#slack_channel_configurations #slack_channel_configurations} => Array&lt;Types::SlackChannelConfiguration&gt;
544
+ #
545
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
546
+ #
547
+ # @example Request syntax with placeholder values
548
+ #
549
+ # resp = client.list_slack_channel_configurations({
550
+ # next_token: "paginationToken",
551
+ # })
552
+ #
553
+ # @example Response structure
554
+ #
555
+ # resp.next_token #=> String
556
+ # resp.slack_channel_configurations #=> Array
557
+ # resp.slack_channel_configurations[0].channel_id #=> String
558
+ # resp.slack_channel_configurations[0].channel_name #=> String
559
+ # resp.slack_channel_configurations[0].channel_role_arn #=> String
560
+ # resp.slack_channel_configurations[0].notify_on_add_correspondence_to_case #=> Boolean
561
+ # resp.slack_channel_configurations[0].notify_on_case_severity #=> String, one of "none", "all", "high"
562
+ # resp.slack_channel_configurations[0].notify_on_create_or_reopen_case #=> Boolean
563
+ # resp.slack_channel_configurations[0].notify_on_resolve_case #=> Boolean
564
+ # resp.slack_channel_configurations[0].team_id #=> String
565
+ #
566
+ # @see http://docs.aws.amazon.com/goto/WebAPI/support-app-2021-08-20/ListSlackChannelConfigurations AWS API Documentation
567
+ #
568
+ # @overload list_slack_channel_configurations(params = {})
569
+ # @param [Hash] params ({})
570
+ def list_slack_channel_configurations(params = {}, options = {})
571
+ req = build_request(:list_slack_channel_configurations, params)
572
+ req.send_request(options)
573
+ end
574
+
575
+ # Lists the Slack workspace configurations for an Amazon Web Services
576
+ # account.
577
+ #
578
+ # @option params [String] :next_token
579
+ # If the results of a search are large, the API only returns a portion
580
+ # of the results and includes a `nextToken` pagination token in the
581
+ # response. To retrieve the next batch of results, reissue the search
582
+ # request and include the returned token. When the API returns the last
583
+ # set of results, the response doesn't include a pagination token
584
+ # value.
585
+ #
586
+ # @return [Types::ListSlackWorkspaceConfigurationsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
587
+ #
588
+ # * {Types::ListSlackWorkspaceConfigurationsResult#next_token #next_token} => String
589
+ # * {Types::ListSlackWorkspaceConfigurationsResult#slack_workspace_configurations #slack_workspace_configurations} => Array&lt;Types::SlackWorkspaceConfiguration&gt;
590
+ #
591
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
592
+ #
593
+ # @example Request syntax with placeholder values
594
+ #
595
+ # resp = client.list_slack_workspace_configurations({
596
+ # next_token: "paginationToken",
597
+ # })
598
+ #
599
+ # @example Response structure
600
+ #
601
+ # resp.next_token #=> String
602
+ # resp.slack_workspace_configurations #=> Array
603
+ # resp.slack_workspace_configurations[0].team_id #=> String
604
+ #
605
+ # @see http://docs.aws.amazon.com/goto/WebAPI/support-app-2021-08-20/ListSlackWorkspaceConfigurations AWS API Documentation
606
+ #
607
+ # @overload list_slack_workspace_configurations(params = {})
608
+ # @param [Hash] params ({})
609
+ def list_slack_workspace_configurations(params = {}, options = {})
610
+ req = build_request(:list_slack_workspace_configurations, params)
611
+ req.send_request(options)
612
+ end
613
+
614
+ # Creates or updates an individual alias for each Amazon Web Services
615
+ # account ID. The alias appears in the Amazon Web Services Support App
616
+ # page of the Amazon Web Services Support Center. The alias also appears
617
+ # in Slack messages from the Amazon Web Services Support App.
618
+ #
619
+ # @option params [required, String] :account_alias
620
+ # An alias or short name for an Amazon Web Services account.
621
+ #
622
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
623
+ #
624
+ # @example Request syntax with placeholder values
625
+ #
626
+ # resp = client.put_account_alias({
627
+ # account_alias: "awsAccountAlias", # required
628
+ # })
629
+ #
630
+ # @see http://docs.aws.amazon.com/goto/WebAPI/support-app-2021-08-20/PutAccountAlias AWS API Documentation
631
+ #
632
+ # @overload put_account_alias(params = {})
633
+ # @param [Hash] params ({})
634
+ def put_account_alias(params = {}, options = {})
635
+ req = build_request(:put_account_alias, params)
636
+ req.send_request(options)
637
+ end
638
+
639
+ # Updates the configuration for a Slack channel, such as case update
640
+ # notifications.
641
+ #
642
+ # @option params [required, String] :channel_id
643
+ # The channel ID in Slack. This ID identifies a channel within a Slack
644
+ # workspace.
645
+ #
646
+ # @option params [String] :channel_name
647
+ # The Slack channel name that you want to update.
648
+ #
649
+ # @option params [String] :channel_role_arn
650
+ # The Amazon Resource Name (ARN) of an IAM role that you want to use to
651
+ # perform operations on Amazon Web Services. For more information, see
652
+ # [Managing access to the Amazon Web Services Support App][1] in the
653
+ # *Amazon Web Services Support User Guide*.
654
+ #
655
+ #
656
+ #
657
+ # [1]: https://docs.aws.amazon.com/awssupport/latest/user/support-app-permissions.html
658
+ #
659
+ # @option params [Boolean] :notify_on_add_correspondence_to_case
660
+ # Whether you want to get notified when a support case has a new
661
+ # correspondence.
662
+ #
663
+ # @option params [String] :notify_on_case_severity
664
+ # The case severity for a support case that you want to receive
665
+ # notifications.
666
+ #
667
+ # <p>If you specify <code>high</code> or <code>all</code>, at least one of the following parameters must be <code>true</code>:</p> <ul> <li> <p> <code>notifyOnAddCorrespondenceToCase</code> </p> </li> <li> <p> <code>notifyOnCreateOrReopenCase</code> </p> </li> <li> <p> <code>notifyOnResolveCase</code> </p> </li> </ul> <p>If you specify <code>none</code>, any of the following parameters that you specify in your request must be <code>false</code>:</p> <ul> <li> <p> <code>notifyOnAddCorrespondenceToCase</code> </p> </li> <li> <p> <code>notifyOnCreateOrReopenCase</code> </p> </li> <li> <p> <code>notifyOnResolveCase</code> </p> </li> </ul> <note> <p>If you don't specify these parameters in your request, the Amazon Web Services Support App uses the current values by default.</p> </note>
668
+ #
669
+ # @option params [Boolean] :notify_on_create_or_reopen_case
670
+ # Whether you want to get notified when a support case is created or
671
+ # reopened.
672
+ #
673
+ # @option params [Boolean] :notify_on_resolve_case
674
+ # Whether you want to get notified when a support case is resolved.
675
+ #
676
+ # @option params [required, String] :team_id
677
+ # The team ID in Slack. This ID uniquely identifies a Slack workspace.
678
+ #
679
+ # @return [Types::UpdateSlackChannelConfigurationResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
680
+ #
681
+ # * {Types::UpdateSlackChannelConfigurationResult#channel_id #channel_id} => String
682
+ # * {Types::UpdateSlackChannelConfigurationResult#channel_name #channel_name} => String
683
+ # * {Types::UpdateSlackChannelConfigurationResult#channel_role_arn #channel_role_arn} => String
684
+ # * {Types::UpdateSlackChannelConfigurationResult#notify_on_add_correspondence_to_case #notify_on_add_correspondence_to_case} => Boolean
685
+ # * {Types::UpdateSlackChannelConfigurationResult#notify_on_case_severity #notify_on_case_severity} => String
686
+ # * {Types::UpdateSlackChannelConfigurationResult#notify_on_create_or_reopen_case #notify_on_create_or_reopen_case} => Boolean
687
+ # * {Types::UpdateSlackChannelConfigurationResult#notify_on_resolve_case #notify_on_resolve_case} => Boolean
688
+ # * {Types::UpdateSlackChannelConfigurationResult#team_id #team_id} => String
689
+ #
690
+ # @example Request syntax with placeholder values
691
+ #
692
+ # resp = client.update_slack_channel_configuration({
693
+ # channel_id: "channelId", # required
694
+ # channel_name: "channelName",
695
+ # channel_role_arn: "roleArn",
696
+ # notify_on_add_correspondence_to_case: false,
697
+ # notify_on_case_severity: "none", # accepts none, all, high
698
+ # notify_on_create_or_reopen_case: false,
699
+ # notify_on_resolve_case: false,
700
+ # team_id: "teamId", # required
701
+ # })
702
+ #
703
+ # @example Response structure
704
+ #
705
+ # resp.channel_id #=> String
706
+ # resp.channel_name #=> String
707
+ # resp.channel_role_arn #=> String
708
+ # resp.notify_on_add_correspondence_to_case #=> Boolean
709
+ # resp.notify_on_case_severity #=> String, one of "none", "all", "high"
710
+ # resp.notify_on_create_or_reopen_case #=> Boolean
711
+ # resp.notify_on_resolve_case #=> Boolean
712
+ # resp.team_id #=> String
713
+ #
714
+ # @see http://docs.aws.amazon.com/goto/WebAPI/support-app-2021-08-20/UpdateSlackChannelConfiguration AWS API Documentation
715
+ #
716
+ # @overload update_slack_channel_configuration(params = {})
717
+ # @param [Hash] params ({})
718
+ def update_slack_channel_configuration(params = {}, options = {})
719
+ req = build_request(:update_slack_channel_configuration, params)
720
+ req.send_request(options)
721
+ end
722
+
723
+ # @!endgroup
724
+
725
+ # @param params ({})
726
+ # @api private
727
+ def build_request(operation_name, params = {})
728
+ handlers = @handlers.for(operation_name)
729
+ context = Seahorse::Client::RequestContext.new(
730
+ operation_name: operation_name,
731
+ operation: config.api.operation(operation_name),
732
+ client: self,
733
+ params: params,
734
+ config: config)
735
+ context[:gem_name] = 'aws-sdk-supportapp'
736
+ context[:gem_version] = '1.0.0'
737
+ Seahorse::Client::Request.new(handlers, context)
738
+ end
739
+
740
+ # @api private
741
+ # @deprecated
742
+ def waiter_names
743
+ []
744
+ end
745
+
746
+ class << self
747
+
748
+ # @api private
749
+ attr_reader :identifier
750
+
751
+ # @api private
752
+ def errors_module
753
+ Errors
754
+ end
755
+
756
+ end
757
+ end
758
+ end