aws-sdk-connectcases 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,1885 @@
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(:connectcases)
37
+
38
+ module Aws::ConnectCases
39
+ # An API client for ConnectCases. To construct a client, you need to configure a `:region` and `:credentials`.
40
+ #
41
+ # client = Aws::ConnectCases::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 = :connectcases
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
+ # Returns the description for the list of fields in the request
355
+ # parameters.
356
+ #
357
+ # @option params [required, String] :domain_id
358
+ # The unique identifier of the Cases domain.
359
+ #
360
+ # @option params [required, Array<Types::FieldIdentifier>] :fields
361
+ # A list of unique field identifiers.
362
+ #
363
+ # @return [Types::BatchGetFieldResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
364
+ #
365
+ # * {Types::BatchGetFieldResponse#errors #errors} => Array&lt;Types::FieldError&gt;
366
+ # * {Types::BatchGetFieldResponse#fields #fields} => Array&lt;Types::GetFieldResponse&gt;
367
+ #
368
+ # @example Request syntax with placeholder values
369
+ #
370
+ # resp = client.batch_get_field({
371
+ # domain_id: "DomainId", # required
372
+ # fields: [ # required
373
+ # {
374
+ # id: "FieldId", # required
375
+ # },
376
+ # ],
377
+ # })
378
+ #
379
+ # @example Response structure
380
+ #
381
+ # resp.errors #=> Array
382
+ # resp.errors[0].error_code #=> String
383
+ # resp.errors[0].id #=> String
384
+ # resp.errors[0].message #=> String
385
+ # resp.fields #=> Array
386
+ # resp.fields[0].description #=> String
387
+ # resp.fields[0].field_arn #=> String
388
+ # resp.fields[0].field_id #=> String
389
+ # resp.fields[0].name #=> String
390
+ # resp.fields[0].namespace #=> String, one of "System", "Custom"
391
+ # resp.fields[0].tags #=> Hash
392
+ # resp.fields[0].tags["String"] #=> String
393
+ # resp.fields[0].type #=> String, one of "Text", "Number", "Boolean", "DateTime", "SingleSelect"
394
+ #
395
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/BatchGetField AWS API Documentation
396
+ #
397
+ # @overload batch_get_field(params = {})
398
+ # @param [Hash] params ({})
399
+ def batch_get_field(params = {}, options = {})
400
+ req = build_request(:batch_get_field, params)
401
+ req.send_request(options)
402
+ end
403
+
404
+ # Creates and updates a set of field options for a single select field
405
+ # in a Cases domain.
406
+ #
407
+ # @option params [required, String] :domain_id
408
+ # The unique identifier of the Cases domain.
409
+ #
410
+ # @option params [required, String] :field_id
411
+ # The unique identifier of a field.
412
+ #
413
+ # @option params [required, Array<Types::FieldOption>] :options
414
+ # A list of `FieldOption` objects.
415
+ #
416
+ # @return [Types::BatchPutFieldOptionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
417
+ #
418
+ # * {Types::BatchPutFieldOptionsResponse#errors #errors} => Array&lt;Types::FieldOptionError&gt;
419
+ #
420
+ # @example Request syntax with placeholder values
421
+ #
422
+ # resp = client.batch_put_field_options({
423
+ # domain_id: "DomainId", # required
424
+ # field_id: "FieldId", # required
425
+ # options: [ # required
426
+ # {
427
+ # active: false, # required
428
+ # name: "FieldOptionName", # required
429
+ # value: "FieldOptionValue", # required
430
+ # },
431
+ # ],
432
+ # })
433
+ #
434
+ # @example Response structure
435
+ #
436
+ # resp.errors #=> Array
437
+ # resp.errors[0].error_code #=> String
438
+ # resp.errors[0].message #=> String
439
+ # resp.errors[0].value #=> String
440
+ #
441
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/BatchPutFieldOptions AWS API Documentation
442
+ #
443
+ # @overload batch_put_field_options(params = {})
444
+ # @param [Hash] params ({})
445
+ def batch_put_field_options(params = {}, options = {})
446
+ req = build_request(:batch_put_field_options, params)
447
+ req.send_request(options)
448
+ end
449
+
450
+ # Creates a case in the specified Cases domain. Case system and custom
451
+ # fields are taken as an array id/value pairs with a declared data
452
+ # types.
453
+ #
454
+ # <note markdown="1"> `customer_id` is a required field when creating a case.
455
+ #
456
+ # </note>
457
+ #
458
+ # @option params [String] :client_token
459
+ # A unique, case-sensitive identifier that you provide to ensure the
460
+ # idempotency of the request.
461
+ #
462
+ # **A suitable default value is auto-generated.** You should normally
463
+ # not need to pass this option.**
464
+ #
465
+ # @option params [required, String] :domain_id
466
+ # The unique identifier of the Cases domain.
467
+ #
468
+ # @option params [required, Array<Types::FieldValue>] :fields
469
+ # An array of objects with field ID (matching ListFields/DescribeField)
470
+ # and value union data.
471
+ #
472
+ # @option params [required, String] :template_id
473
+ # A unique identifier of a template.
474
+ #
475
+ # @return [Types::CreateCaseResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
476
+ #
477
+ # * {Types::CreateCaseResponse#case_arn #case_arn} => String
478
+ # * {Types::CreateCaseResponse#case_id #case_id} => String
479
+ #
480
+ # @example Request syntax with placeholder values
481
+ #
482
+ # resp = client.create_case({
483
+ # client_token: "CreateCaseRequestClientTokenString",
484
+ # domain_id: "DomainId", # required
485
+ # fields: [ # required
486
+ # {
487
+ # id: "FieldId", # required
488
+ # value: { # required
489
+ # boolean_value: false,
490
+ # double_value: 1.0,
491
+ # string_value: "FieldValueUnionStringValueString",
492
+ # },
493
+ # },
494
+ # ],
495
+ # template_id: "TemplateId", # required
496
+ # })
497
+ #
498
+ # @example Response structure
499
+ #
500
+ # resp.case_arn #=> String
501
+ # resp.case_id #=> String
502
+ #
503
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/CreateCase AWS API Documentation
504
+ #
505
+ # @overload create_case(params = {})
506
+ # @param [Hash] params ({})
507
+ def create_case(params = {}, options = {})
508
+ req = build_request(:create_case, params)
509
+ req.send_request(options)
510
+ end
511
+
512
+ # Creates a domain, which is a container for all case data, such as
513
+ # cases, fields, templates and layouts. Each Amazon Connect instance can
514
+ # be associated with only one Cases domain.
515
+ #
516
+ # This will not associate your connect instance to Cases domain.
517
+ # Instead, use the Amazon Connect [CreateIntegrationAssociation][1] API.
518
+ #
519
+ #
520
+ #
521
+ # [1]: https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateIntegrationAssociation.html
522
+ #
523
+ # @option params [required, String] :name
524
+ # The name for your Cases domain. It must be unique for your Amazon Web
525
+ # Services account.
526
+ #
527
+ # @return [Types::CreateDomainResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
528
+ #
529
+ # * {Types::CreateDomainResponse#domain_arn #domain_arn} => String
530
+ # * {Types::CreateDomainResponse#domain_id #domain_id} => String
531
+ # * {Types::CreateDomainResponse#domain_status #domain_status} => String
532
+ #
533
+ # @example Request syntax with placeholder values
534
+ #
535
+ # resp = client.create_domain({
536
+ # name: "DomainName", # required
537
+ # })
538
+ #
539
+ # @example Response structure
540
+ #
541
+ # resp.domain_arn #=> String
542
+ # resp.domain_id #=> String
543
+ # resp.domain_status #=> String, one of "Active", "CreationInProgress", "CreationFailed"
544
+ #
545
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/CreateDomain AWS API Documentation
546
+ #
547
+ # @overload create_domain(params = {})
548
+ # @param [Hash] params ({})
549
+ def create_domain(params = {}, options = {})
550
+ req = build_request(:create_domain, params)
551
+ req.send_request(options)
552
+ end
553
+
554
+ # Creates a field in the Cases domain. This field is used to define the
555
+ # case object model (that is, defines what data can be captured on
556
+ # cases) in a Cases domain.
557
+ #
558
+ # @option params [String] :description
559
+ # The description of the field.
560
+ #
561
+ # @option params [required, String] :domain_id
562
+ # The unique identifier of the Cases domain.
563
+ #
564
+ # @option params [required, String] :name
565
+ # The name of the field.
566
+ #
567
+ # @option params [required, String] :type
568
+ # Defines the data type, some system constraints, and default display of
569
+ # the field.
570
+ #
571
+ # @return [Types::CreateFieldResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
572
+ #
573
+ # * {Types::CreateFieldResponse#field_arn #field_arn} => String
574
+ # * {Types::CreateFieldResponse#field_id #field_id} => String
575
+ #
576
+ # @example Request syntax with placeholder values
577
+ #
578
+ # resp = client.create_field({
579
+ # description: "FieldDescription",
580
+ # domain_id: "DomainId", # required
581
+ # name: "FieldName", # required
582
+ # type: "Text", # required, accepts Text, Number, Boolean, DateTime, SingleSelect
583
+ # })
584
+ #
585
+ # @example Response structure
586
+ #
587
+ # resp.field_arn #=> String
588
+ # resp.field_id #=> String
589
+ #
590
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/CreateField AWS API Documentation
591
+ #
592
+ # @overload create_field(params = {})
593
+ # @param [Hash] params ({})
594
+ def create_field(params = {}, options = {})
595
+ req = build_request(:create_field, params)
596
+ req.send_request(options)
597
+ end
598
+
599
+ # Creates a layout in the Cases domain. Layouts define the following
600
+ # configuration in the top section and More Info tab of the Cases user
601
+ # interface:
602
+ #
603
+ # * Fields to display to the users
604
+ #
605
+ # * Field ordering
606
+ #
607
+ # <note markdown="1"> Title and Status fields cannot be part of layouts since they are not
608
+ # configurable.
609
+ #
610
+ # </note>
611
+ #
612
+ # @option params [required, Types::LayoutContent] :content
613
+ # Information about which fields will be present in the layout, and
614
+ # information about the order of the fields.
615
+ #
616
+ # @option params [required, String] :domain_id
617
+ # The unique identifier of the Cases domain.
618
+ #
619
+ # @option params [required, String] :name
620
+ # The name of the layout. It must be unique for the Cases domain.
621
+ #
622
+ # @return [Types::CreateLayoutResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
623
+ #
624
+ # * {Types::CreateLayoutResponse#layout_arn #layout_arn} => String
625
+ # * {Types::CreateLayoutResponse#layout_id #layout_id} => String
626
+ #
627
+ # @example Request syntax with placeholder values
628
+ #
629
+ # resp = client.create_layout({
630
+ # content: { # required
631
+ # basic: {
632
+ # more_info: {
633
+ # sections: [
634
+ # {
635
+ # field_group: {
636
+ # fields: [ # required
637
+ # {
638
+ # id: "FieldId", # required
639
+ # },
640
+ # ],
641
+ # name: "FieldGroupNameString",
642
+ # },
643
+ # },
644
+ # ],
645
+ # },
646
+ # top_panel: {
647
+ # sections: [
648
+ # {
649
+ # field_group: {
650
+ # fields: [ # required
651
+ # {
652
+ # id: "FieldId", # required
653
+ # },
654
+ # ],
655
+ # name: "FieldGroupNameString",
656
+ # },
657
+ # },
658
+ # ],
659
+ # },
660
+ # },
661
+ # },
662
+ # domain_id: "DomainId", # required
663
+ # name: "LayoutName", # required
664
+ # })
665
+ #
666
+ # @example Response structure
667
+ #
668
+ # resp.layout_arn #=> String
669
+ # resp.layout_id #=> String
670
+ #
671
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/CreateLayout AWS API Documentation
672
+ #
673
+ # @overload create_layout(params = {})
674
+ # @param [Hash] params ({})
675
+ def create_layout(params = {}, options = {})
676
+ req = build_request(:create_layout, params)
677
+ req.send_request(options)
678
+ end
679
+
680
+ # Creates a related item (comments, tasks, and contacts) and associates
681
+ # it with a case.
682
+ #
683
+ # <note markdown="1"> A Related Item is a resource that is associated with a case. It may or
684
+ # may not have an external identifier linking it to an external resource
685
+ # (for example, a `contactArn`). All Related Items have their own
686
+ # internal identifier, the `relatedItemArn`. Examples of related items
687
+ # include `comments` and `contacts`.
688
+ #
689
+ # </note>
690
+ #
691
+ # @option params [required, String] :case_id
692
+ # A unique identifier of the case.
693
+ #
694
+ # @option params [required, Types::RelatedItemInputContent] :content
695
+ # The content of a related item to be created.
696
+ #
697
+ # @option params [required, String] :domain_id
698
+ # The unique identifier of the Cases domain.
699
+ #
700
+ # @option params [required, String] :type
701
+ # The type of a related item.
702
+ #
703
+ # @return [Types::CreateRelatedItemResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
704
+ #
705
+ # * {Types::CreateRelatedItemResponse#related_item_arn #related_item_arn} => String
706
+ # * {Types::CreateRelatedItemResponse#related_item_id #related_item_id} => String
707
+ #
708
+ # @example Request syntax with placeholder values
709
+ #
710
+ # resp = client.create_related_item({
711
+ # case_id: "CaseId", # required
712
+ # content: { # required
713
+ # comment: {
714
+ # body: "CommentBody", # required
715
+ # content_type: "Text/Plain", # required, accepts Text/Plain
716
+ # },
717
+ # contact: {
718
+ # contact_arn: "ContactArn", # required
719
+ # },
720
+ # },
721
+ # domain_id: "DomainId", # required
722
+ # type: "Contact", # required, accepts Contact, Comment
723
+ # })
724
+ #
725
+ # @example Response structure
726
+ #
727
+ # resp.related_item_arn #=> String
728
+ # resp.related_item_id #=> String
729
+ #
730
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/CreateRelatedItem AWS API Documentation
731
+ #
732
+ # @overload create_related_item(params = {})
733
+ # @param [Hash] params ({})
734
+ def create_related_item(params = {}, options = {})
735
+ req = build_request(:create_related_item, params)
736
+ req.send_request(options)
737
+ end
738
+
739
+ # Creates a template in the Cases domain. This template is used to
740
+ # define the case object model (that is, define what data can be
741
+ # captured on cases) in a Cases domain. A template must have a unique
742
+ # name within a domain, and it must reference existing field IDs and
743
+ # layout IDs. Additionally, multiple fields with same IDs are not
744
+ # allowed within the same Template.
745
+ #
746
+ # @option params [String] :description
747
+ # A brief description of the template.
748
+ #
749
+ # @option params [required, String] :domain_id
750
+ # The unique identifier of the Cases domain.
751
+ #
752
+ # @option params [Types::LayoutConfiguration] :layout_configuration
753
+ # Configuration of layouts associated to the template.
754
+ #
755
+ # @option params [required, String] :name
756
+ # A name for the template. It must be unique per domain.
757
+ #
758
+ # @option params [Array<Types::RequiredField>] :required_fields
759
+ # A list of fields that must contain a value for a case to be
760
+ # successfully created with this template.
761
+ #
762
+ # @return [Types::CreateTemplateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
763
+ #
764
+ # * {Types::CreateTemplateResponse#template_arn #template_arn} => String
765
+ # * {Types::CreateTemplateResponse#template_id #template_id} => String
766
+ #
767
+ # @example Request syntax with placeholder values
768
+ #
769
+ # resp = client.create_template({
770
+ # description: "TemplateDescription",
771
+ # domain_id: "DomainId", # required
772
+ # layout_configuration: {
773
+ # default_layout: "LayoutId",
774
+ # },
775
+ # name: "TemplateName", # required
776
+ # required_fields: [
777
+ # {
778
+ # field_id: "FieldId", # required
779
+ # },
780
+ # ],
781
+ # })
782
+ #
783
+ # @example Response structure
784
+ #
785
+ # resp.template_arn #=> String
786
+ # resp.template_id #=> String
787
+ #
788
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/CreateTemplate AWS API Documentation
789
+ #
790
+ # @overload create_template(params = {})
791
+ # @param [Hash] params ({})
792
+ def create_template(params = {}, options = {})
793
+ req = build_request(:create_template, params)
794
+ req.send_request(options)
795
+ end
796
+
797
+ # Returns information about a specific case if it exists.
798
+ #
799
+ # @option params [required, String] :case_id
800
+ # A unique identifier of the case.
801
+ #
802
+ # @option params [required, String] :domain_id
803
+ # The unique identifier of the Cases domain.
804
+ #
805
+ # @option params [required, Array<Types::FieldIdentifier>] :fields
806
+ # A list of unique field identifiers.
807
+ #
808
+ # @option params [String] :next_token
809
+ # The token for the next set of results. Use the value returned in the
810
+ # previous response in the next request to retrieve the next set of
811
+ # results.
812
+ #
813
+ # @return [Types::GetCaseResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
814
+ #
815
+ # * {Types::GetCaseResponse#fields #fields} => Array&lt;Types::FieldValue&gt;
816
+ # * {Types::GetCaseResponse#next_token #next_token} => String
817
+ # * {Types::GetCaseResponse#tags #tags} => Hash&lt;String,String&gt;
818
+ # * {Types::GetCaseResponse#template_id #template_id} => String
819
+ #
820
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
821
+ #
822
+ # @example Request syntax with placeholder values
823
+ #
824
+ # resp = client.get_case({
825
+ # case_id: "CaseId", # required
826
+ # domain_id: "DomainId", # required
827
+ # fields: [ # required
828
+ # {
829
+ # id: "FieldId", # required
830
+ # },
831
+ # ],
832
+ # next_token: "NextToken",
833
+ # })
834
+ #
835
+ # @example Response structure
836
+ #
837
+ # resp.fields #=> Array
838
+ # resp.fields[0].id #=> String
839
+ # resp.fields[0].value.boolean_value #=> Boolean
840
+ # resp.fields[0].value.double_value #=> Float
841
+ # resp.fields[0].value.string_value #=> String
842
+ # resp.next_token #=> String
843
+ # resp.tags #=> Hash
844
+ # resp.tags["String"] #=> String
845
+ # resp.template_id #=> String
846
+ #
847
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/GetCase AWS API Documentation
848
+ #
849
+ # @overload get_case(params = {})
850
+ # @param [Hash] params ({})
851
+ def get_case(params = {}, options = {})
852
+ req = build_request(:get_case, params)
853
+ req.send_request(options)
854
+ end
855
+
856
+ # Returns the case event publishing configuration.
857
+ #
858
+ # @option params [required, String] :domain_id
859
+ # The unique identifier of the Cases domain.
860
+ #
861
+ # @return [Types::GetCaseEventConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
862
+ #
863
+ # * {Types::GetCaseEventConfigurationResponse#event_bridge #event_bridge} => Types::EventBridgeConfiguration
864
+ #
865
+ # @example Request syntax with placeholder values
866
+ #
867
+ # resp = client.get_case_event_configuration({
868
+ # domain_id: "DomainId", # required
869
+ # })
870
+ #
871
+ # @example Response structure
872
+ #
873
+ # resp.event_bridge.enabled #=> Boolean
874
+ # resp.event_bridge.included_data.case_data.fields #=> Array
875
+ # resp.event_bridge.included_data.case_data.fields[0].id #=> String
876
+ # resp.event_bridge.included_data.related_item_data.include_content #=> Boolean
877
+ #
878
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/GetCaseEventConfiguration AWS API Documentation
879
+ #
880
+ # @overload get_case_event_configuration(params = {})
881
+ # @param [Hash] params ({})
882
+ def get_case_event_configuration(params = {}, options = {})
883
+ req = build_request(:get_case_event_configuration, params)
884
+ req.send_request(options)
885
+ end
886
+
887
+ # Returns information about a specific domain if it exists.
888
+ #
889
+ # @option params [required, String] :domain_id
890
+ # The unique identifier of the Cases domain.
891
+ #
892
+ # @return [Types::GetDomainResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
893
+ #
894
+ # * {Types::GetDomainResponse#created_time #created_time} => Time
895
+ # * {Types::GetDomainResponse#domain_arn #domain_arn} => String
896
+ # * {Types::GetDomainResponse#domain_id #domain_id} => String
897
+ # * {Types::GetDomainResponse#domain_status #domain_status} => String
898
+ # * {Types::GetDomainResponse#name #name} => String
899
+ # * {Types::GetDomainResponse#tags #tags} => Hash&lt;String,String&gt;
900
+ #
901
+ # @example Request syntax with placeholder values
902
+ #
903
+ # resp = client.get_domain({
904
+ # domain_id: "DomainId", # required
905
+ # })
906
+ #
907
+ # @example Response structure
908
+ #
909
+ # resp.created_time #=> Time
910
+ # resp.domain_arn #=> String
911
+ # resp.domain_id #=> String
912
+ # resp.domain_status #=> String, one of "Active", "CreationInProgress", "CreationFailed"
913
+ # resp.name #=> String
914
+ # resp.tags #=> Hash
915
+ # resp.tags["String"] #=> String
916
+ #
917
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/GetDomain AWS API Documentation
918
+ #
919
+ # @overload get_domain(params = {})
920
+ # @param [Hash] params ({})
921
+ def get_domain(params = {}, options = {})
922
+ req = build_request(:get_domain, params)
923
+ req.send_request(options)
924
+ end
925
+
926
+ # Returns the details for the requested layout.
927
+ #
928
+ # @option params [required, String] :domain_id
929
+ # The unique identifier of the Cases domain.
930
+ #
931
+ # @option params [required, String] :layout_id
932
+ # The unique identifier of the layout.
933
+ #
934
+ # @return [Types::GetLayoutResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
935
+ #
936
+ # * {Types::GetLayoutResponse#content #content} => Types::LayoutContent
937
+ # * {Types::GetLayoutResponse#layout_arn #layout_arn} => String
938
+ # * {Types::GetLayoutResponse#layout_id #layout_id} => String
939
+ # * {Types::GetLayoutResponse#name #name} => String
940
+ # * {Types::GetLayoutResponse#tags #tags} => Hash&lt;String,String&gt;
941
+ #
942
+ # @example Request syntax with placeholder values
943
+ #
944
+ # resp = client.get_layout({
945
+ # domain_id: "DomainId", # required
946
+ # layout_id: "LayoutId", # required
947
+ # })
948
+ #
949
+ # @example Response structure
950
+ #
951
+ # resp.content.basic.more_info.sections #=> Array
952
+ # resp.content.basic.more_info.sections[0].field_group.fields #=> Array
953
+ # resp.content.basic.more_info.sections[0].field_group.fields[0].id #=> String
954
+ # resp.content.basic.more_info.sections[0].field_group.name #=> String
955
+ # resp.content.basic.top_panel.sections #=> Array
956
+ # resp.content.basic.top_panel.sections[0].field_group.fields #=> Array
957
+ # resp.content.basic.top_panel.sections[0].field_group.fields[0].id #=> String
958
+ # resp.content.basic.top_panel.sections[0].field_group.name #=> String
959
+ # resp.layout_arn #=> String
960
+ # resp.layout_id #=> String
961
+ # resp.name #=> String
962
+ # resp.tags #=> Hash
963
+ # resp.tags["String"] #=> String
964
+ #
965
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/GetLayout AWS API Documentation
966
+ #
967
+ # @overload get_layout(params = {})
968
+ # @param [Hash] params ({})
969
+ def get_layout(params = {}, options = {})
970
+ req = build_request(:get_layout, params)
971
+ req.send_request(options)
972
+ end
973
+
974
+ # Returns the details for the requested template.
975
+ #
976
+ # @option params [required, String] :domain_id
977
+ # The unique identifier of the Cases domain.
978
+ #
979
+ # @option params [required, String] :template_id
980
+ # A unique identifier of a template.
981
+ #
982
+ # @return [Types::GetTemplateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
983
+ #
984
+ # * {Types::GetTemplateResponse#description #description} => String
985
+ # * {Types::GetTemplateResponse#layout_configuration #layout_configuration} => Types::LayoutConfiguration
986
+ # * {Types::GetTemplateResponse#name #name} => String
987
+ # * {Types::GetTemplateResponse#required_fields #required_fields} => Array&lt;Types::RequiredField&gt;
988
+ # * {Types::GetTemplateResponse#tags #tags} => Hash&lt;String,String&gt;
989
+ # * {Types::GetTemplateResponse#template_arn #template_arn} => String
990
+ # * {Types::GetTemplateResponse#template_id #template_id} => String
991
+ #
992
+ # @example Request syntax with placeholder values
993
+ #
994
+ # resp = client.get_template({
995
+ # domain_id: "DomainId", # required
996
+ # template_id: "TemplateId", # required
997
+ # })
998
+ #
999
+ # @example Response structure
1000
+ #
1001
+ # resp.description #=> String
1002
+ # resp.layout_configuration.default_layout #=> String
1003
+ # resp.name #=> String
1004
+ # resp.required_fields #=> Array
1005
+ # resp.required_fields[0].field_id #=> String
1006
+ # resp.tags #=> Hash
1007
+ # resp.tags["String"] #=> String
1008
+ # resp.template_arn #=> String
1009
+ # resp.template_id #=> String
1010
+ #
1011
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/GetTemplate AWS API Documentation
1012
+ #
1013
+ # @overload get_template(params = {})
1014
+ # @param [Hash] params ({})
1015
+ def get_template(params = {}, options = {})
1016
+ req = build_request(:get_template, params)
1017
+ req.send_request(options)
1018
+ end
1019
+
1020
+ # Lists cases for a given contact.
1021
+ #
1022
+ # @option params [required, String] :contact_arn
1023
+ # A unique identifier of a contact in Amazon Connect.
1024
+ #
1025
+ # @option params [required, String] :domain_id
1026
+ # The unique identifier of the Cases domain.
1027
+ #
1028
+ # @option params [Integer] :max_results
1029
+ # The maximum number of results to return per page.
1030
+ #
1031
+ # @option params [String] :next_token
1032
+ # The token for the next set of results. Use the value returned in the
1033
+ # previous response in the next request to retrieve the next set of
1034
+ # results.
1035
+ #
1036
+ # @return [Types::ListCasesForContactResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1037
+ #
1038
+ # * {Types::ListCasesForContactResponse#cases #cases} => Array&lt;Types::CaseSummary&gt;
1039
+ # * {Types::ListCasesForContactResponse#next_token #next_token} => String
1040
+ #
1041
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1042
+ #
1043
+ # @example Request syntax with placeholder values
1044
+ #
1045
+ # resp = client.list_cases_for_contact({
1046
+ # contact_arn: "ContactArn", # required
1047
+ # domain_id: "DomainId", # required
1048
+ # max_results: 1,
1049
+ # next_token: "NextToken",
1050
+ # })
1051
+ #
1052
+ # @example Response structure
1053
+ #
1054
+ # resp.cases #=> Array
1055
+ # resp.cases[0].case_id #=> String
1056
+ # resp.cases[0].template_id #=> String
1057
+ # resp.next_token #=> String
1058
+ #
1059
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/ListCasesForContact AWS API Documentation
1060
+ #
1061
+ # @overload list_cases_for_contact(params = {})
1062
+ # @param [Hash] params ({})
1063
+ def list_cases_for_contact(params = {}, options = {})
1064
+ req = build_request(:list_cases_for_contact, params)
1065
+ req.send_request(options)
1066
+ end
1067
+
1068
+ # Lists all cases domains in the Amazon Web Services account. Each list
1069
+ # item is a condensed summary object of the domain.
1070
+ #
1071
+ # @option params [Integer] :max_results
1072
+ # The maximum number of results to return per page.
1073
+ #
1074
+ # @option params [String] :next_token
1075
+ # The token for the next set of results. Use the value returned in the
1076
+ # previous response in the next request to retrieve the next set of
1077
+ # results.
1078
+ #
1079
+ # @return [Types::ListDomainsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1080
+ #
1081
+ # * {Types::ListDomainsResponse#domains #domains} => Array&lt;Types::DomainSummary&gt;
1082
+ # * {Types::ListDomainsResponse#next_token #next_token} => String
1083
+ #
1084
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1085
+ #
1086
+ # @example Request syntax with placeholder values
1087
+ #
1088
+ # resp = client.list_domains({
1089
+ # max_results: 1,
1090
+ # next_token: "NextToken",
1091
+ # })
1092
+ #
1093
+ # @example Response structure
1094
+ #
1095
+ # resp.domains #=> Array
1096
+ # resp.domains[0].domain_arn #=> String
1097
+ # resp.domains[0].domain_id #=> String
1098
+ # resp.domains[0].name #=> String
1099
+ # resp.next_token #=> String
1100
+ #
1101
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/ListDomains AWS API Documentation
1102
+ #
1103
+ # @overload list_domains(params = {})
1104
+ # @param [Hash] params ({})
1105
+ def list_domains(params = {}, options = {})
1106
+ req = build_request(:list_domains, params)
1107
+ req.send_request(options)
1108
+ end
1109
+
1110
+ # Lists all of the field options for a field identifier in the domain.
1111
+ #
1112
+ # @option params [required, String] :domain_id
1113
+ # The unique identifier of the Cases domain.
1114
+ #
1115
+ # @option params [required, String] :field_id
1116
+ # The unique identifier of a field.
1117
+ #
1118
+ # @option params [Integer] :max_results
1119
+ # The maximum number of results to return per page.
1120
+ #
1121
+ # @option params [String] :next_token
1122
+ # The token for the next set of results. Use the value returned in the
1123
+ # previous response in the next request to retrieve the next set of
1124
+ # results.
1125
+ #
1126
+ # @option params [Array<String>] :values
1127
+ # A list of `FieldOption` values to filter on for `ListFieldOptions`.
1128
+ #
1129
+ # @return [Types::ListFieldOptionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1130
+ #
1131
+ # * {Types::ListFieldOptionsResponse#next_token #next_token} => String
1132
+ # * {Types::ListFieldOptionsResponse#options #options} => Array&lt;Types::FieldOption&gt;
1133
+ #
1134
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1135
+ #
1136
+ # @example Request syntax with placeholder values
1137
+ #
1138
+ # resp = client.list_field_options({
1139
+ # domain_id: "DomainId", # required
1140
+ # field_id: "FieldId", # required
1141
+ # max_results: 1,
1142
+ # next_token: "NextToken",
1143
+ # values: ["Value"],
1144
+ # })
1145
+ #
1146
+ # @example Response structure
1147
+ #
1148
+ # resp.next_token #=> String
1149
+ # resp.options #=> Array
1150
+ # resp.options[0].active #=> Boolean
1151
+ # resp.options[0].name #=> String
1152
+ # resp.options[0].value #=> String
1153
+ #
1154
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/ListFieldOptions AWS API Documentation
1155
+ #
1156
+ # @overload list_field_options(params = {})
1157
+ # @param [Hash] params ({})
1158
+ def list_field_options(params = {}, options = {})
1159
+ req = build_request(:list_field_options, params)
1160
+ req.send_request(options)
1161
+ end
1162
+
1163
+ # Lists all fields in a Cases domain.
1164
+ #
1165
+ # @option params [required, String] :domain_id
1166
+ # The unique identifier of the Cases domain.
1167
+ #
1168
+ # @option params [Integer] :max_results
1169
+ # The maximum number of results to return per page.
1170
+ #
1171
+ # @option params [String] :next_token
1172
+ # The token for the next set of results. Use the value returned in the
1173
+ # previous response in the next request to retrieve the next set of
1174
+ # results.
1175
+ #
1176
+ # @return [Types::ListFieldsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1177
+ #
1178
+ # * {Types::ListFieldsResponse#fields #fields} => Array&lt;Types::FieldSummary&gt;
1179
+ # * {Types::ListFieldsResponse#next_token #next_token} => String
1180
+ #
1181
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1182
+ #
1183
+ # @example Request syntax with placeholder values
1184
+ #
1185
+ # resp = client.list_fields({
1186
+ # domain_id: "DomainId", # required
1187
+ # max_results: 1,
1188
+ # next_token: "NextToken",
1189
+ # })
1190
+ #
1191
+ # @example Response structure
1192
+ #
1193
+ # resp.fields #=> Array
1194
+ # resp.fields[0].field_arn #=> String
1195
+ # resp.fields[0].field_id #=> String
1196
+ # resp.fields[0].name #=> String
1197
+ # resp.fields[0].namespace #=> String, one of "System", "Custom"
1198
+ # resp.fields[0].type #=> String, one of "Text", "Number", "Boolean", "DateTime", "SingleSelect"
1199
+ # resp.next_token #=> String
1200
+ #
1201
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/ListFields AWS API Documentation
1202
+ #
1203
+ # @overload list_fields(params = {})
1204
+ # @param [Hash] params ({})
1205
+ def list_fields(params = {}, options = {})
1206
+ req = build_request(:list_fields, params)
1207
+ req.send_request(options)
1208
+ end
1209
+
1210
+ # Lists all layouts in the given cases domain. Each list item is a
1211
+ # condensed summary object of the layout.
1212
+ #
1213
+ # @option params [required, String] :domain_id
1214
+ # The unique identifier of the Cases domain.
1215
+ #
1216
+ # @option params [Integer] :max_results
1217
+ # The maximum number of results to return per page.
1218
+ #
1219
+ # @option params [String] :next_token
1220
+ # The token for the next set of results. Use the value returned in the
1221
+ # previous response in the next request to retrieve the next set of
1222
+ # results.
1223
+ #
1224
+ # @return [Types::ListLayoutsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1225
+ #
1226
+ # * {Types::ListLayoutsResponse#layouts #layouts} => Array&lt;Types::LayoutSummary&gt;
1227
+ # * {Types::ListLayoutsResponse#next_token #next_token} => String
1228
+ #
1229
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1230
+ #
1231
+ # @example Request syntax with placeholder values
1232
+ #
1233
+ # resp = client.list_layouts({
1234
+ # domain_id: "DomainId", # required
1235
+ # max_results: 1,
1236
+ # next_token: "NextToken",
1237
+ # })
1238
+ #
1239
+ # @example Response structure
1240
+ #
1241
+ # resp.layouts #=> Array
1242
+ # resp.layouts[0].layout_arn #=> String
1243
+ # resp.layouts[0].layout_id #=> String
1244
+ # resp.layouts[0].name #=> String
1245
+ # resp.next_token #=> String
1246
+ #
1247
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/ListLayouts AWS API Documentation
1248
+ #
1249
+ # @overload list_layouts(params = {})
1250
+ # @param [Hash] params ({})
1251
+ def list_layouts(params = {}, options = {})
1252
+ req = build_request(:list_layouts, params)
1253
+ req.send_request(options)
1254
+ end
1255
+
1256
+ # Lists tags for a resource.
1257
+ #
1258
+ # @option params [required, String] :arn
1259
+ # The Amazon Resource Name (ARN)
1260
+ #
1261
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1262
+ #
1263
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Hash&lt;String,String&gt;
1264
+ #
1265
+ # @example Request syntax with placeholder values
1266
+ #
1267
+ # resp = client.list_tags_for_resource({
1268
+ # arn: "Arn", # required
1269
+ # })
1270
+ #
1271
+ # @example Response structure
1272
+ #
1273
+ # resp.tags #=> Hash
1274
+ # resp.tags["String"] #=> String
1275
+ #
1276
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/ListTagsForResource AWS API Documentation
1277
+ #
1278
+ # @overload list_tags_for_resource(params = {})
1279
+ # @param [Hash] params ({})
1280
+ def list_tags_for_resource(params = {}, options = {})
1281
+ req = build_request(:list_tags_for_resource, params)
1282
+ req.send_request(options)
1283
+ end
1284
+
1285
+ # Lists all of the templates in a Cases domain. Each list item is a
1286
+ # condensed summary object of the template.
1287
+ #
1288
+ # @option params [required, String] :domain_id
1289
+ # The unique identifier of the Cases domain.
1290
+ #
1291
+ # @option params [Integer] :max_results
1292
+ # The maximum number of results to return per page.
1293
+ #
1294
+ # @option params [String] :next_token
1295
+ # The token for the next set of results. Use the value returned in the
1296
+ # previous response in the next request to retrieve the next set of
1297
+ # results.
1298
+ #
1299
+ # @return [Types::ListTemplatesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1300
+ #
1301
+ # * {Types::ListTemplatesResponse#next_token #next_token} => String
1302
+ # * {Types::ListTemplatesResponse#templates #templates} => Array&lt;Types::TemplateSummary&gt;
1303
+ #
1304
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1305
+ #
1306
+ # @example Request syntax with placeholder values
1307
+ #
1308
+ # resp = client.list_templates({
1309
+ # domain_id: "DomainId", # required
1310
+ # max_results: 1,
1311
+ # next_token: "NextToken",
1312
+ # })
1313
+ #
1314
+ # @example Response structure
1315
+ #
1316
+ # resp.next_token #=> String
1317
+ # resp.templates #=> Array
1318
+ # resp.templates[0].name #=> String
1319
+ # resp.templates[0].template_arn #=> String
1320
+ # resp.templates[0].template_id #=> String
1321
+ #
1322
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/ListTemplates AWS API Documentation
1323
+ #
1324
+ # @overload list_templates(params = {})
1325
+ # @param [Hash] params ({})
1326
+ def list_templates(params = {}, options = {})
1327
+ req = build_request(:list_templates, params)
1328
+ req.send_request(options)
1329
+ end
1330
+
1331
+ # API for adding case event publishing configuration
1332
+ #
1333
+ # @option params [required, String] :domain_id
1334
+ # The unique identifier of the Cases domain.
1335
+ #
1336
+ # @option params [required, Types::EventBridgeConfiguration] :event_bridge
1337
+ # Configuration to enable EventBridge case event delivery and determine
1338
+ # what data is delivered.
1339
+ #
1340
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1341
+ #
1342
+ # @example Request syntax with placeholder values
1343
+ #
1344
+ # resp = client.put_case_event_configuration({
1345
+ # domain_id: "DomainId", # required
1346
+ # event_bridge: { # required
1347
+ # enabled: false, # required
1348
+ # included_data: {
1349
+ # case_data: {
1350
+ # fields: [ # required
1351
+ # {
1352
+ # id: "FieldId", # required
1353
+ # },
1354
+ # ],
1355
+ # },
1356
+ # related_item_data: {
1357
+ # include_content: false, # required
1358
+ # },
1359
+ # },
1360
+ # },
1361
+ # })
1362
+ #
1363
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/PutCaseEventConfiguration AWS API Documentation
1364
+ #
1365
+ # @overload put_case_event_configuration(params = {})
1366
+ # @param [Hash] params ({})
1367
+ def put_case_event_configuration(params = {}, options = {})
1368
+ req = build_request(:put_case_event_configuration, params)
1369
+ req.send_request(options)
1370
+ end
1371
+
1372
+ # Searches for cases within their associated Cases domain. Search
1373
+ # results are returned as a paginated list of abridged case documents.
1374
+ #
1375
+ # @option params [required, String] :domain_id
1376
+ # The unique identifier of the Cases domain.
1377
+ #
1378
+ # @option params [Array<Types::FieldIdentifier>] :fields
1379
+ # The list of field identifiers to be returned as part of the response.
1380
+ #
1381
+ # @option params [Types::CaseFilter] :filter
1382
+ # A list of filter objects.
1383
+ #
1384
+ # @option params [Integer] :max_results
1385
+ # The maximum number of cases to return. The current maximum supported
1386
+ # value is 25. This is also the default value when no other value is
1387
+ # provided.
1388
+ #
1389
+ # @option params [String] :next_token
1390
+ # The token for the next set of results. Use the value returned in the
1391
+ # previous response in the next request to retrieve the next set of
1392
+ # results.
1393
+ #
1394
+ # @option params [String] :search_term
1395
+ # A word or phrase used to perform a quick search.
1396
+ #
1397
+ # @option params [Array<Types::Sort>] :sorts
1398
+ # A list of sorts where each sort specifies a field and their sort order
1399
+ # to be applied to the results.
1400
+ #
1401
+ # @return [Types::SearchCasesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1402
+ #
1403
+ # * {Types::SearchCasesResponse#cases #cases} => Array&lt;Types::SearchCasesResponseItem&gt;
1404
+ # * {Types::SearchCasesResponse#next_token #next_token} => String
1405
+ #
1406
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1407
+ #
1408
+ # @example Request syntax with placeholder values
1409
+ #
1410
+ # resp = client.search_cases({
1411
+ # domain_id: "DomainId", # required
1412
+ # fields: [
1413
+ # {
1414
+ # id: "FieldId", # required
1415
+ # },
1416
+ # ],
1417
+ # filter: {
1418
+ # and_all: [
1419
+ # {
1420
+ # # recursive CaseFilter
1421
+ # },
1422
+ # ],
1423
+ # field: {
1424
+ # contains: {
1425
+ # id: "FieldId", # required
1426
+ # value: { # required
1427
+ # boolean_value: false,
1428
+ # double_value: 1.0,
1429
+ # string_value: "FieldValueUnionStringValueString",
1430
+ # },
1431
+ # },
1432
+ # equal_to: {
1433
+ # id: "FieldId", # required
1434
+ # value: { # required
1435
+ # boolean_value: false,
1436
+ # double_value: 1.0,
1437
+ # string_value: "FieldValueUnionStringValueString",
1438
+ # },
1439
+ # },
1440
+ # greater_than: {
1441
+ # id: "FieldId", # required
1442
+ # value: { # required
1443
+ # boolean_value: false,
1444
+ # double_value: 1.0,
1445
+ # string_value: "FieldValueUnionStringValueString",
1446
+ # },
1447
+ # },
1448
+ # greater_than_or_equal_to: {
1449
+ # id: "FieldId", # required
1450
+ # value: { # required
1451
+ # boolean_value: false,
1452
+ # double_value: 1.0,
1453
+ # string_value: "FieldValueUnionStringValueString",
1454
+ # },
1455
+ # },
1456
+ # less_than: {
1457
+ # id: "FieldId", # required
1458
+ # value: { # required
1459
+ # boolean_value: false,
1460
+ # double_value: 1.0,
1461
+ # string_value: "FieldValueUnionStringValueString",
1462
+ # },
1463
+ # },
1464
+ # less_than_or_equal_to: {
1465
+ # id: "FieldId", # required
1466
+ # value: { # required
1467
+ # boolean_value: false,
1468
+ # double_value: 1.0,
1469
+ # string_value: "FieldValueUnionStringValueString",
1470
+ # },
1471
+ # },
1472
+ # },
1473
+ # not: {
1474
+ # # recursive CaseFilter
1475
+ # },
1476
+ # },
1477
+ # max_results: 1,
1478
+ # next_token: "NextToken",
1479
+ # search_term: "SearchCasesRequestSearchTermString",
1480
+ # sorts: [
1481
+ # {
1482
+ # field_id: "FieldId", # required
1483
+ # sort_order: "Asc", # required, accepts Asc, Desc
1484
+ # },
1485
+ # ],
1486
+ # })
1487
+ #
1488
+ # @example Response structure
1489
+ #
1490
+ # resp.cases #=> Array
1491
+ # resp.cases[0].case_id #=> String
1492
+ # resp.cases[0].fields #=> Array
1493
+ # resp.cases[0].fields[0].id #=> String
1494
+ # resp.cases[0].fields[0].value.boolean_value #=> Boolean
1495
+ # resp.cases[0].fields[0].value.double_value #=> Float
1496
+ # resp.cases[0].fields[0].value.string_value #=> String
1497
+ # resp.cases[0].tags #=> Hash
1498
+ # resp.cases[0].tags["String"] #=> String
1499
+ # resp.cases[0].template_id #=> String
1500
+ # resp.next_token #=> String
1501
+ #
1502
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/SearchCases AWS API Documentation
1503
+ #
1504
+ # @overload search_cases(params = {})
1505
+ # @param [Hash] params ({})
1506
+ def search_cases(params = {}, options = {})
1507
+ req = build_request(:search_cases, params)
1508
+ req.send_request(options)
1509
+ end
1510
+
1511
+ # Searches for related items that are associated with a case.
1512
+ #
1513
+ # <note markdown="1"> If no filters are provided, this returns all related items associated
1514
+ # with a case.
1515
+ #
1516
+ # </note>
1517
+ #
1518
+ # @option params [required, String] :case_id
1519
+ # A unique identifier of the case.
1520
+ #
1521
+ # @option params [required, String] :domain_id
1522
+ # The unique identifier of the Cases domain.
1523
+ #
1524
+ # @option params [Array<Types::RelatedItemTypeFilter>] :filters
1525
+ # The list of types of related items and their parameters to use for
1526
+ # filtering.
1527
+ #
1528
+ # @option params [Integer] :max_results
1529
+ # The maximum number of results to return per page.
1530
+ #
1531
+ # @option params [String] :next_token
1532
+ # The token for the next set of results. Use the value returned in the
1533
+ # previous response in the next request to retrieve the next set of
1534
+ # results.
1535
+ #
1536
+ # @return [Types::SearchRelatedItemsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1537
+ #
1538
+ # * {Types::SearchRelatedItemsResponse#next_token #next_token} => String
1539
+ # * {Types::SearchRelatedItemsResponse#related_items #related_items} => Array&lt;Types::SearchRelatedItemsResponseItem&gt;
1540
+ #
1541
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1542
+ #
1543
+ # @example Request syntax with placeholder values
1544
+ #
1545
+ # resp = client.search_related_items({
1546
+ # case_id: "CaseId", # required
1547
+ # domain_id: "DomainId", # required
1548
+ # filters: [
1549
+ # {
1550
+ # comment: {
1551
+ # },
1552
+ # contact: {
1553
+ # channel: ["Channel"],
1554
+ # contact_arn: "ContactArn",
1555
+ # },
1556
+ # },
1557
+ # ],
1558
+ # max_results: 1,
1559
+ # next_token: "NextToken",
1560
+ # })
1561
+ #
1562
+ # @example Response structure
1563
+ #
1564
+ # resp.next_token #=> String
1565
+ # resp.related_items #=> Array
1566
+ # resp.related_items[0].association_time #=> Time
1567
+ # resp.related_items[0].content.comment.body #=> String
1568
+ # resp.related_items[0].content.comment.content_type #=> String, one of "Text/Plain"
1569
+ # resp.related_items[0].content.contact.channel #=> String
1570
+ # resp.related_items[0].content.contact.connected_to_system_time #=> Time
1571
+ # resp.related_items[0].content.contact.contact_arn #=> String
1572
+ # resp.related_items[0].related_item_id #=> String
1573
+ # resp.related_items[0].tags #=> Hash
1574
+ # resp.related_items[0].tags["String"] #=> String
1575
+ # resp.related_items[0].type #=> String, one of "Contact", "Comment"
1576
+ #
1577
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/SearchRelatedItems AWS API Documentation
1578
+ #
1579
+ # @overload search_related_items(params = {})
1580
+ # @param [Hash] params ({})
1581
+ def search_related_items(params = {}, options = {})
1582
+ req = build_request(:search_related_items, params)
1583
+ req.send_request(options)
1584
+ end
1585
+
1586
+ # Adds tags to a resource.
1587
+ #
1588
+ # @option params [required, String] :arn
1589
+ # The Amazon Resource Name (ARN)
1590
+ #
1591
+ # @option params [required, Hash<String,String>] :tags
1592
+ # A map of of key-value pairs that represent tags on a resource. Tags
1593
+ # are used to organize, track, or control access for this resource.
1594
+ #
1595
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1596
+ #
1597
+ # @example Request syntax with placeholder values
1598
+ #
1599
+ # resp = client.tag_resource({
1600
+ # arn: "Arn", # required
1601
+ # tags: { # required
1602
+ # "String" => "String",
1603
+ # },
1604
+ # })
1605
+ #
1606
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/TagResource AWS API Documentation
1607
+ #
1608
+ # @overload tag_resource(params = {})
1609
+ # @param [Hash] params ({})
1610
+ def tag_resource(params = {}, options = {})
1611
+ req = build_request(:tag_resource, params)
1612
+ req.send_request(options)
1613
+ end
1614
+
1615
+ # Untags a resource.
1616
+ #
1617
+ # @option params [required, String] :arn
1618
+ # The Amazon Resource Name (ARN)
1619
+ #
1620
+ # @option params [required, Array<String>] :tag_keys
1621
+ # List of tag keys.
1622
+ #
1623
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1624
+ #
1625
+ # @example Request syntax with placeholder values
1626
+ #
1627
+ # resp = client.untag_resource({
1628
+ # arn: "Arn", # required
1629
+ # tag_keys: ["TagKey"], # required
1630
+ # })
1631
+ #
1632
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/UntagResource AWS API Documentation
1633
+ #
1634
+ # @overload untag_resource(params = {})
1635
+ # @param [Hash] params ({})
1636
+ def untag_resource(params = {}, options = {})
1637
+ req = build_request(:untag_resource, params)
1638
+ req.send_request(options)
1639
+ end
1640
+
1641
+ # Updates the values of fields on a case. Fields to be updated are
1642
+ # received as an array of id/value pairs identical to the `CreateCase`
1643
+ # input .
1644
+ #
1645
+ # If the action is successful, the service sends back an HTTP 200
1646
+ # response with an empty HTTP body.
1647
+ #
1648
+ # @option params [required, String] :case_id
1649
+ # A unique identifier of the case.
1650
+ #
1651
+ # @option params [required, String] :domain_id
1652
+ # The unique identifier of the Cases domain.
1653
+ #
1654
+ # @option params [required, Array<Types::FieldValue>] :fields
1655
+ # An array of objects with `fieldId` (matching ListFields/DescribeField)
1656
+ # and value union data, structured identical to `CreateCase`.
1657
+ #
1658
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1659
+ #
1660
+ # @example Request syntax with placeholder values
1661
+ #
1662
+ # resp = client.update_case({
1663
+ # case_id: "CaseId", # required
1664
+ # domain_id: "DomainId", # required
1665
+ # fields: [ # required
1666
+ # {
1667
+ # id: "FieldId", # required
1668
+ # value: { # required
1669
+ # boolean_value: false,
1670
+ # double_value: 1.0,
1671
+ # string_value: "FieldValueUnionStringValueString",
1672
+ # },
1673
+ # },
1674
+ # ],
1675
+ # })
1676
+ #
1677
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/UpdateCase AWS API Documentation
1678
+ #
1679
+ # @overload update_case(params = {})
1680
+ # @param [Hash] params ({})
1681
+ def update_case(params = {}, options = {})
1682
+ req = build_request(:update_case, params)
1683
+ req.send_request(options)
1684
+ end
1685
+
1686
+ # Updates the properties of an existing field.
1687
+ #
1688
+ # @option params [String] :description
1689
+ # The description of a field.
1690
+ #
1691
+ # @option params [required, String] :domain_id
1692
+ # The unique identifier of the Cases domain.
1693
+ #
1694
+ # @option params [required, String] :field_id
1695
+ # The unique identifier of a field.
1696
+ #
1697
+ # @option params [String] :name
1698
+ # The name of the field.
1699
+ #
1700
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1701
+ #
1702
+ # @example Request syntax with placeholder values
1703
+ #
1704
+ # resp = client.update_field({
1705
+ # description: "FieldDescription",
1706
+ # domain_id: "DomainId", # required
1707
+ # field_id: "FieldId", # required
1708
+ # name: "FieldName",
1709
+ # })
1710
+ #
1711
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/UpdateField AWS API Documentation
1712
+ #
1713
+ # @overload update_field(params = {})
1714
+ # @param [Hash] params ({})
1715
+ def update_field(params = {}, options = {})
1716
+ req = build_request(:update_field, params)
1717
+ req.send_request(options)
1718
+ end
1719
+
1720
+ # Updates the attributes of an existing layout.
1721
+ #
1722
+ # If the action is successful, the service sends back an HTTP 200
1723
+ # response with an empty HTTP body.
1724
+ #
1725
+ # A `ValidationException` is returned when you add non-existent
1726
+ # `fieldIds` to a layout.
1727
+ #
1728
+ # <note markdown="1"> Title and Status fields cannot be part of layouts because they are not
1729
+ # configurable.
1730
+ #
1731
+ # </note>
1732
+ #
1733
+ # @option params [Types::LayoutContent] :content
1734
+ # Information about which fields will be present in the layout, the
1735
+ # order of the fields, and a read-only attribute of the field.
1736
+ #
1737
+ # @option params [required, String] :domain_id
1738
+ # The unique identifier of the Cases domain.
1739
+ #
1740
+ # @option params [required, String] :layout_id
1741
+ # The unique identifier of the layout.
1742
+ #
1743
+ # @option params [String] :name
1744
+ # The name of the layout. It must be unique per domain.
1745
+ #
1746
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1747
+ #
1748
+ # @example Request syntax with placeholder values
1749
+ #
1750
+ # resp = client.update_layout({
1751
+ # content: {
1752
+ # basic: {
1753
+ # more_info: {
1754
+ # sections: [
1755
+ # {
1756
+ # field_group: {
1757
+ # fields: [ # required
1758
+ # {
1759
+ # id: "FieldId", # required
1760
+ # },
1761
+ # ],
1762
+ # name: "FieldGroupNameString",
1763
+ # },
1764
+ # },
1765
+ # ],
1766
+ # },
1767
+ # top_panel: {
1768
+ # sections: [
1769
+ # {
1770
+ # field_group: {
1771
+ # fields: [ # required
1772
+ # {
1773
+ # id: "FieldId", # required
1774
+ # },
1775
+ # ],
1776
+ # name: "FieldGroupNameString",
1777
+ # },
1778
+ # },
1779
+ # ],
1780
+ # },
1781
+ # },
1782
+ # },
1783
+ # domain_id: "DomainId", # required
1784
+ # layout_id: "LayoutId", # required
1785
+ # name: "LayoutName",
1786
+ # })
1787
+ #
1788
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/UpdateLayout AWS API Documentation
1789
+ #
1790
+ # @overload update_layout(params = {})
1791
+ # @param [Hash] params ({})
1792
+ def update_layout(params = {}, options = {})
1793
+ req = build_request(:update_layout, params)
1794
+ req.send_request(options)
1795
+ end
1796
+
1797
+ # Updates the attributes of an existing template. The template
1798
+ # attributes that can be modified include `name`, `description`,
1799
+ # `layouts`, and `requiredFields`. At least one of these attributes must
1800
+ # not be null. If a null value is provided for a given attribute, that
1801
+ # attribute is ignored and its current value is preserved.
1802
+ #
1803
+ # @option params [String] :description
1804
+ # A brief description of the template.
1805
+ #
1806
+ # @option params [required, String] :domain_id
1807
+ # The unique identifier of the Cases domain.
1808
+ #
1809
+ # @option params [Types::LayoutConfiguration] :layout_configuration
1810
+ # Configuration of layouts associated to the template.
1811
+ #
1812
+ # @option params [String] :name
1813
+ # The name of the template. It must be unique per domain.
1814
+ #
1815
+ # @option params [Array<Types::RequiredField>] :required_fields
1816
+ # A list of fields that must contain a value for a case to be
1817
+ # successfully created with this template.
1818
+ #
1819
+ # @option params [required, String] :template_id
1820
+ # A unique identifier for the template.
1821
+ #
1822
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1823
+ #
1824
+ # @example Request syntax with placeholder values
1825
+ #
1826
+ # resp = client.update_template({
1827
+ # description: "TemplateDescription",
1828
+ # domain_id: "DomainId", # required
1829
+ # layout_configuration: {
1830
+ # default_layout: "LayoutId",
1831
+ # },
1832
+ # name: "TemplateName",
1833
+ # required_fields: [
1834
+ # {
1835
+ # field_id: "FieldId", # required
1836
+ # },
1837
+ # ],
1838
+ # template_id: "TemplateId", # required
1839
+ # })
1840
+ #
1841
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/UpdateTemplate AWS API Documentation
1842
+ #
1843
+ # @overload update_template(params = {})
1844
+ # @param [Hash] params ({})
1845
+ def update_template(params = {}, options = {})
1846
+ req = build_request(:update_template, params)
1847
+ req.send_request(options)
1848
+ end
1849
+
1850
+ # @!endgroup
1851
+
1852
+ # @param params ({})
1853
+ # @api private
1854
+ def build_request(operation_name, params = {})
1855
+ handlers = @handlers.for(operation_name)
1856
+ context = Seahorse::Client::RequestContext.new(
1857
+ operation_name: operation_name,
1858
+ operation: config.api.operation(operation_name),
1859
+ client: self,
1860
+ params: params,
1861
+ config: config)
1862
+ context[:gem_name] = 'aws-sdk-connectcases'
1863
+ context[:gem_version] = '1.0.0'
1864
+ Seahorse::Client::Request.new(handlers, context)
1865
+ end
1866
+
1867
+ # @api private
1868
+ # @deprecated
1869
+ def waiter_names
1870
+ []
1871
+ end
1872
+
1873
+ class << self
1874
+
1875
+ # @api private
1876
+ attr_reader :identifier
1877
+
1878
+ # @api private
1879
+ def errors_module
1880
+ Errors
1881
+ end
1882
+
1883
+ end
1884
+ end
1885
+ end