aws-sdk-connectcases 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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