aws-sdk-voiceid 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,1382 @@
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/signature_v4.rb'
31
+ require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
32
+
33
+ Aws::Plugins::GlobalConfiguration.add_identifier(:voiceid)
34
+
35
+ module Aws::VoiceID
36
+ # An API client for VoiceID. To construct a client, you need to configure a `:region` and `:credentials`.
37
+ #
38
+ # client = Aws::VoiceID::Client.new(
39
+ # region: region_name,
40
+ # credentials: credentials,
41
+ # # ...
42
+ # )
43
+ #
44
+ # For details on configuring region and credentials see
45
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
46
+ #
47
+ # See {#initialize} for a full list of supported configuration options.
48
+ class Client < Seahorse::Client::Base
49
+
50
+ include Aws::ClientStubs
51
+
52
+ @identifier = :voiceid
53
+
54
+ set_api(ClientApi::API)
55
+
56
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
57
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
58
+ add_plugin(Aws::Plugins::Logging)
59
+ add_plugin(Aws::Plugins::ParamConverter)
60
+ add_plugin(Aws::Plugins::ParamValidator)
61
+ add_plugin(Aws::Plugins::UserAgent)
62
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
63
+ add_plugin(Aws::Plugins::RetryErrors)
64
+ add_plugin(Aws::Plugins::GlobalConfiguration)
65
+ add_plugin(Aws::Plugins::RegionalEndpoint)
66
+ add_plugin(Aws::Plugins::EndpointDiscovery)
67
+ add_plugin(Aws::Plugins::EndpointPattern)
68
+ add_plugin(Aws::Plugins::ResponsePaging)
69
+ add_plugin(Aws::Plugins::StubResponses)
70
+ add_plugin(Aws::Plugins::IdempotencyToken)
71
+ add_plugin(Aws::Plugins::JsonvalueConverter)
72
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
73
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
74
+ add_plugin(Aws::Plugins::TransferEncoding)
75
+ add_plugin(Aws::Plugins::HttpChecksum)
76
+ add_plugin(Aws::Plugins::SignatureV4)
77
+ add_plugin(Aws::Plugins::Protocols::JsonRpc)
78
+
79
+ # @overload initialize(options)
80
+ # @param [Hash] options
81
+ # @option options [required, Aws::CredentialProvider] :credentials
82
+ # Your AWS credentials. This can be an instance of any one of the
83
+ # following classes:
84
+ #
85
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
86
+ # credentials.
87
+ #
88
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
89
+ # shared file, such as `~/.aws/config`.
90
+ #
91
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
92
+ #
93
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
94
+ # assume a role after providing credentials via the web.
95
+ #
96
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
97
+ # access token generated from `aws login`.
98
+ #
99
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
100
+ # process that outputs to stdout.
101
+ #
102
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
103
+ # from an EC2 IMDS on an EC2 instance.
104
+ #
105
+ # * `Aws::ECSCredentials` - Used for loading credentials from
106
+ # instances running in ECS.
107
+ #
108
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
109
+ # from the Cognito Identity service.
110
+ #
111
+ # When `:credentials` are not configured directly, the following
112
+ # locations will be searched for credentials:
113
+ #
114
+ # * `Aws.config[:credentials]`
115
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
116
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
117
+ # * `~/.aws/credentials`
118
+ # * `~/.aws/config`
119
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
120
+ # are very aggressive. Construct and pass an instance of
121
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
122
+ # enable retries and extended timeouts.
123
+ #
124
+ # @option options [required, String] :region
125
+ # The AWS region to connect to. The configured `:region` is
126
+ # used to determine the service `:endpoint`. When not passed,
127
+ # a default `:region` is searched for in the following locations:
128
+ #
129
+ # * `Aws.config[:region]`
130
+ # * `ENV['AWS_REGION']`
131
+ # * `ENV['AMAZON_REGION']`
132
+ # * `ENV['AWS_DEFAULT_REGION']`
133
+ # * `~/.aws/credentials`
134
+ # * `~/.aws/config`
135
+ #
136
+ # @option options [String] :access_key_id
137
+ #
138
+ # @option options [Boolean] :active_endpoint_cache (false)
139
+ # When set to `true`, a thread polling for endpoints will be running in
140
+ # the background every 60 secs (default). Defaults to `false`.
141
+ #
142
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
143
+ # Used only in `adaptive` retry mode. When true, the request will sleep
144
+ # until there is sufficent client side capacity to retry the request.
145
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
146
+ # not retry instead of sleeping.
147
+ #
148
+ # @option options [Boolean] :client_side_monitoring (false)
149
+ # When `true`, client-side metrics will be collected for all API requests from
150
+ # this client.
151
+ #
152
+ # @option options [String] :client_side_monitoring_client_id ("")
153
+ # Allows you to provide an identifier for this client which will be attached to
154
+ # all generated client side metrics. Defaults to an empty string.
155
+ #
156
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
157
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
158
+ # side monitoring agent is running on, where client metrics will be published via UDP.
159
+ #
160
+ # @option options [Integer] :client_side_monitoring_port (31000)
161
+ # Required for publishing client metrics. The port that the client side monitoring
162
+ # agent is running on, where client metrics will be published via UDP.
163
+ #
164
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
165
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
166
+ # will use the Client Side Monitoring Agent Publisher.
167
+ #
168
+ # @option options [Boolean] :convert_params (true)
169
+ # When `true`, an attempt is made to coerce request parameters into
170
+ # the required types.
171
+ #
172
+ # @option options [Boolean] :correct_clock_skew (true)
173
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
174
+ # a clock skew correction and retry requests with skewed client clocks.
175
+ #
176
+ # @option options [Boolean] :disable_host_prefix_injection (false)
177
+ # Set to true to disable SDK automatically adding host prefix
178
+ # to default service endpoint when available.
179
+ #
180
+ # @option options [String] :endpoint
181
+ # The client endpoint is normally constructed from the `:region`
182
+ # option. You should only configure an `:endpoint` when connecting
183
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
184
+ #
185
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
186
+ # Used for the maximum size limit of the LRU cache storing endpoints data
187
+ # for endpoint discovery enabled operations. Defaults to 1000.
188
+ #
189
+ # @option options [Integer] :endpoint_cache_max_threads (10)
190
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
191
+ #
192
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
193
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
194
+ # Use this option to config the time interval in seconds for making
195
+ # requests fetching endpoints information. Defaults to 60 sec.
196
+ #
197
+ # @option options [Boolean] :endpoint_discovery (false)
198
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
199
+ #
200
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
201
+ # The log formatter.
202
+ #
203
+ # @option options [Symbol] :log_level (:info)
204
+ # The log level to send messages to the `:logger` at.
205
+ #
206
+ # @option options [Logger] :logger
207
+ # The Logger instance to send log messages to. If this option
208
+ # is not set, logging will be disabled.
209
+ #
210
+ # @option options [Integer] :max_attempts (3)
211
+ # An integer representing the maximum number attempts that will be made for
212
+ # a single request, including the initial attempt. For example,
213
+ # setting this value to 5 will result in a request being retried up to
214
+ # 4 times. Used in `standard` and `adaptive` retry modes.
215
+ #
216
+ # @option options [String] :profile ("default")
217
+ # Used when loading credentials from the shared credentials file
218
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
219
+ #
220
+ # @option options [Proc] :retry_backoff
221
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
222
+ # This option is only used in the `legacy` retry mode.
223
+ #
224
+ # @option options [Float] :retry_base_delay (0.3)
225
+ # The base delay in seconds used by the default backoff function. This option
226
+ # is only used in the `legacy` retry mode.
227
+ #
228
+ # @option options [Symbol] :retry_jitter (:none)
229
+ # A delay randomiser function used by the default backoff function.
230
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
231
+ # otherwise a Proc that takes and returns a number. This option is only used
232
+ # in the `legacy` retry mode.
233
+ #
234
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
235
+ #
236
+ # @option options [Integer] :retry_limit (3)
237
+ # The maximum number of times to retry failed requests. Only
238
+ # ~ 500 level server errors and certain ~ 400 level client errors
239
+ # are retried. Generally, these are throttling errors, data
240
+ # checksum errors, networking errors, timeout errors, auth errors,
241
+ # endpoint discovery, and errors from expired credentials.
242
+ # This option is only used in the `legacy` retry mode.
243
+ #
244
+ # @option options [Integer] :retry_max_delay (0)
245
+ # The maximum number of seconds to delay between retries (0 for no limit)
246
+ # used by the default backoff function. This option is only used in the
247
+ # `legacy` retry mode.
248
+ #
249
+ # @option options [String] :retry_mode ("legacy")
250
+ # Specifies which retry algorithm to use. Values are:
251
+ #
252
+ # * `legacy` - The pre-existing retry behavior. This is default value if
253
+ # no retry mode is provided.
254
+ #
255
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
256
+ # This includes support for retry quotas, which limit the number of
257
+ # unsuccessful retries a client can make.
258
+ #
259
+ # * `adaptive` - An experimental retry mode that includes all the
260
+ # functionality of `standard` mode along with automatic client side
261
+ # throttling. This is a provisional mode that may change behavior
262
+ # in the future.
263
+ #
264
+ #
265
+ # @option options [String] :secret_access_key
266
+ #
267
+ # @option options [String] :session_token
268
+ #
269
+ # @option options [Boolean] :simple_json (false)
270
+ # Disables request parameter conversion, validation, and formatting.
271
+ # Also disable response data type conversions. This option is useful
272
+ # when you want to ensure the highest level of performance by
273
+ # avoiding overhead of walking request parameters and response data
274
+ # structures.
275
+ #
276
+ # When `:simple_json` is enabled, the request parameters hash must
277
+ # be formatted exactly as the DynamoDB API expects.
278
+ #
279
+ # @option options [Boolean] :stub_responses (false)
280
+ # Causes the client to return stubbed responses. By default
281
+ # fake responses are generated and returned. You can specify
282
+ # the response data to return or errors to raise by calling
283
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
284
+ #
285
+ # ** Please note ** When response stubbing is enabled, no HTTP
286
+ # requests are made, and retries are disabled.
287
+ #
288
+ # @option options [Boolean] :validate_params (true)
289
+ # When `true`, request parameters are validated before
290
+ # sending the request.
291
+ #
292
+ # @option options [URI::HTTP,String] :http_proxy A proxy to send
293
+ # requests through. Formatted like 'http://proxy.com:123'.
294
+ #
295
+ # @option options [Float] :http_open_timeout (15) The number of
296
+ # seconds to wait when opening a HTTP session before raising a
297
+ # `Timeout::Error`.
298
+ #
299
+ # @option options [Integer] :http_read_timeout (60) The default
300
+ # number of seconds to wait for response data. This value can
301
+ # safely be set per-request on the session.
302
+ #
303
+ # @option options [Float] :http_idle_timeout (5) The number of
304
+ # seconds a connection is allowed to sit idle before it is
305
+ # considered stale. Stale connections are closed and removed
306
+ # from the pool before making a request.
307
+ #
308
+ # @option options [Float] :http_continue_timeout (1) The number of
309
+ # seconds to wait for a 100-continue response before sending the
310
+ # request body. This option has no effect unless the request has
311
+ # "Expect" header set to "100-continue". Defaults to `nil` which
312
+ # disables this behaviour. This value can safely be set per
313
+ # request on the session.
314
+ #
315
+ # @option options [Boolean] :http_wire_trace (false) When `true`,
316
+ # HTTP debug output will be sent to the `:logger`.
317
+ #
318
+ # @option options [Boolean] :ssl_verify_peer (true) When `true`,
319
+ # SSL peer certificates are verified when establishing a
320
+ # connection.
321
+ #
322
+ # @option options [String] :ssl_ca_bundle Full path to the SSL
323
+ # certificate authority bundle file that should be used when
324
+ # verifying peer certificates. If you do not pass
325
+ # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
326
+ # will be used if available.
327
+ #
328
+ # @option options [String] :ssl_ca_directory Full path of the
329
+ # directory that contains the unbundled SSL certificate
330
+ # authority files for verifying peer certificates. If you do
331
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
332
+ # system default will be used if available.
333
+ #
334
+ def initialize(*args)
335
+ super
336
+ end
337
+
338
+ # @!group API Operations
339
+
340
+ # Creates a domain that contains all Amazon Connect Voice ID data, such
341
+ # as speakers, fraudsters, customer audio, and voiceprints.
342
+ #
343
+ # @option params [String] :client_token
344
+ # The idempotency token for creating a new domain. If not provided,
345
+ # Amazon Web Services SDK populates this field.
346
+ #
347
+ # **A suitable default value is auto-generated.** You should normally
348
+ # not need to pass this option.**
349
+ #
350
+ # @option params [String] :description
351
+ # A brief description of this domain.
352
+ #
353
+ # @option params [required, String] :name
354
+ # The name of the domain.
355
+ #
356
+ # @option params [required, Types::ServerSideEncryptionConfiguration] :server_side_encryption_configuration
357
+ # The configuration, containing the KMS Key Identifier, to be used by
358
+ # Voice ID for the server-side encryption of your data. Refer to [
359
+ # Amazon Connect VoiceID encryption at rest][1] for more details on how
360
+ # the KMS Key is used.
361
+ #
362
+ #
363
+ #
364
+ # [1]: https://docs.aws.amazon.com/connect/latest/adminguide/encryption-at-rest.html#encryption-at-rest-voiceid
365
+ #
366
+ # @option params [Array<Types::Tag>] :tags
367
+ # A list of tags you want added to the domain.
368
+ #
369
+ # @return [Types::CreateDomainResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
370
+ #
371
+ # * {Types::CreateDomainResponse#domain #domain} => Types::Domain
372
+ #
373
+ # @example Request syntax with placeholder values
374
+ #
375
+ # resp = client.create_domain({
376
+ # client_token: "ClientTokenString",
377
+ # description: "Description",
378
+ # name: "DomainName", # required
379
+ # server_side_encryption_configuration: { # required
380
+ # kms_key_id: "KmsKeyId", # required
381
+ # },
382
+ # tags: [
383
+ # {
384
+ # key: "TagKey", # required
385
+ # value: "TagValue", # required
386
+ # },
387
+ # ],
388
+ # })
389
+ #
390
+ # @example Response structure
391
+ #
392
+ # resp.domain.arn #=> String
393
+ # resp.domain.created_at #=> Time
394
+ # resp.domain.description #=> String
395
+ # resp.domain.domain_id #=> String
396
+ # resp.domain.domain_status #=> String, one of "ACTIVE", "PENDING", "SUSPENDED"
397
+ # resp.domain.name #=> String
398
+ # resp.domain.server_side_encryption_configuration.kms_key_id #=> String
399
+ # resp.domain.updated_at #=> Time
400
+ #
401
+ # @see http://docs.aws.amazon.com/goto/WebAPI/voice-id-2021-09-27/CreateDomain AWS API Documentation
402
+ #
403
+ # @overload create_domain(params = {})
404
+ # @param [Hash] params ({})
405
+ def create_domain(params = {}, options = {})
406
+ req = build_request(:create_domain, params)
407
+ req.send_request(options)
408
+ end
409
+
410
+ # Deletes the specified domain from the Amazon Connect Voice ID system.
411
+ #
412
+ # @option params [required, String] :domain_id
413
+ # The identifier of the domain you want to delete.
414
+ #
415
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
416
+ #
417
+ # @example Request syntax with placeholder values
418
+ #
419
+ # resp = client.delete_domain({
420
+ # domain_id: "DomainId", # required
421
+ # })
422
+ #
423
+ # @see http://docs.aws.amazon.com/goto/WebAPI/voice-id-2021-09-27/DeleteDomain AWS API Documentation
424
+ #
425
+ # @overload delete_domain(params = {})
426
+ # @param [Hash] params ({})
427
+ def delete_domain(params = {}, options = {})
428
+ req = build_request(:delete_domain, params)
429
+ req.send_request(options)
430
+ end
431
+
432
+ # Deletes the specified fraudster from the Amazon Connect Voice ID
433
+ # system.
434
+ #
435
+ # @option params [required, String] :domain_id
436
+ # The identifier of the domain containing the fraudster.
437
+ #
438
+ # @option params [required, String] :fraudster_id
439
+ # The identifier of the fraudster you want to delete.
440
+ #
441
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
442
+ #
443
+ # @example Request syntax with placeholder values
444
+ #
445
+ # resp = client.delete_fraudster({
446
+ # domain_id: "DomainId", # required
447
+ # fraudster_id: "FraudsterId", # required
448
+ # })
449
+ #
450
+ # @see http://docs.aws.amazon.com/goto/WebAPI/voice-id-2021-09-27/DeleteFraudster AWS API Documentation
451
+ #
452
+ # @overload delete_fraudster(params = {})
453
+ # @param [Hash] params ({})
454
+ def delete_fraudster(params = {}, options = {})
455
+ req = build_request(:delete_fraudster, params)
456
+ req.send_request(options)
457
+ end
458
+
459
+ # Deletes the specified speaker from the Amazon Connect Voice ID system.
460
+ #
461
+ # @option params [required, String] :domain_id
462
+ # The identifier of the domain containing the speaker.
463
+ #
464
+ # @option params [required, String] :speaker_id
465
+ # The identifier of the speaker you want to delete.
466
+ #
467
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
468
+ #
469
+ # @example Request syntax with placeholder values
470
+ #
471
+ # resp = client.delete_speaker({
472
+ # domain_id: "DomainId", # required
473
+ # speaker_id: "SpeakerId", # required
474
+ # })
475
+ #
476
+ # @see http://docs.aws.amazon.com/goto/WebAPI/voice-id-2021-09-27/DeleteSpeaker AWS API Documentation
477
+ #
478
+ # @overload delete_speaker(params = {})
479
+ # @param [Hash] params ({})
480
+ def delete_speaker(params = {}, options = {})
481
+ req = build_request(:delete_speaker, params)
482
+ req.send_request(options)
483
+ end
484
+
485
+ # Describes the specified domain.
486
+ #
487
+ # @option params [required, String] :domain_id
488
+ # The identifier of the domain you are describing.
489
+ #
490
+ # @return [Types::DescribeDomainResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
491
+ #
492
+ # * {Types::DescribeDomainResponse#domain #domain} => Types::Domain
493
+ #
494
+ # @example Request syntax with placeholder values
495
+ #
496
+ # resp = client.describe_domain({
497
+ # domain_id: "DomainId", # required
498
+ # })
499
+ #
500
+ # @example Response structure
501
+ #
502
+ # resp.domain.arn #=> String
503
+ # resp.domain.created_at #=> Time
504
+ # resp.domain.description #=> String
505
+ # resp.domain.domain_id #=> String
506
+ # resp.domain.domain_status #=> String, one of "ACTIVE", "PENDING", "SUSPENDED"
507
+ # resp.domain.name #=> String
508
+ # resp.domain.server_side_encryption_configuration.kms_key_id #=> String
509
+ # resp.domain.updated_at #=> Time
510
+ #
511
+ # @see http://docs.aws.amazon.com/goto/WebAPI/voice-id-2021-09-27/DescribeDomain AWS API Documentation
512
+ #
513
+ # @overload describe_domain(params = {})
514
+ # @param [Hash] params ({})
515
+ def describe_domain(params = {}, options = {})
516
+ req = build_request(:describe_domain, params)
517
+ req.send_request(options)
518
+ end
519
+
520
+ # Describes the specified fraudster.
521
+ #
522
+ # @option params [required, String] :domain_id
523
+ # The identifier of the domain containing the fraudster.
524
+ #
525
+ # @option params [required, String] :fraudster_id
526
+ # The identifier of the fraudster you are describing.
527
+ #
528
+ # @return [Types::DescribeFraudsterResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
529
+ #
530
+ # * {Types::DescribeFraudsterResponse#fraudster #fraudster} => Types::Fraudster
531
+ #
532
+ # @example Request syntax with placeholder values
533
+ #
534
+ # resp = client.describe_fraudster({
535
+ # domain_id: "DomainId", # required
536
+ # fraudster_id: "FraudsterId", # required
537
+ # })
538
+ #
539
+ # @example Response structure
540
+ #
541
+ # resp.fraudster.created_at #=> Time
542
+ # resp.fraudster.domain_id #=> String
543
+ # resp.fraudster.generated_fraudster_id #=> String
544
+ #
545
+ # @see http://docs.aws.amazon.com/goto/WebAPI/voice-id-2021-09-27/DescribeFraudster AWS API Documentation
546
+ #
547
+ # @overload describe_fraudster(params = {})
548
+ # @param [Hash] params ({})
549
+ def describe_fraudster(params = {}, options = {})
550
+ req = build_request(:describe_fraudster, params)
551
+ req.send_request(options)
552
+ end
553
+
554
+ # Describes the specified fraudster registration job.
555
+ #
556
+ # @option params [required, String] :domain_id
557
+ # The identifier for the domain containing the fraudster registration
558
+ # job.
559
+ #
560
+ # @option params [required, String] :job_id
561
+ # The identifier for the fraudster registration job you are describing.
562
+ #
563
+ # @return [Types::DescribeFraudsterRegistrationJobResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
564
+ #
565
+ # * {Types::DescribeFraudsterRegistrationJobResponse#job #job} => Types::FraudsterRegistrationJob
566
+ #
567
+ # @example Request syntax with placeholder values
568
+ #
569
+ # resp = client.describe_fraudster_registration_job({
570
+ # domain_id: "DomainId", # required
571
+ # job_id: "JobId", # required
572
+ # })
573
+ #
574
+ # @example Response structure
575
+ #
576
+ # resp.job.created_at #=> Time
577
+ # resp.job.data_access_role_arn #=> String
578
+ # resp.job.domain_id #=> String
579
+ # resp.job.ended_at #=> Time
580
+ # resp.job.failure_details.message #=> String
581
+ # resp.job.failure_details.status_code #=> Integer
582
+ # resp.job.input_data_config.s3_uri #=> String
583
+ # resp.job.job_id #=> String
584
+ # resp.job.job_name #=> String
585
+ # resp.job.job_progress.percent_complete #=> Integer
586
+ # resp.job.job_status #=> String, one of "SUBMITTED", "IN_PROGRESS", "COMPLETED", "COMPLETED_WITH_ERRORS", "FAILED"
587
+ # resp.job.output_data_config.kms_key_id #=> String
588
+ # resp.job.output_data_config.s3_uri #=> String
589
+ # resp.job.registration_config.duplicate_registration_action #=> String, one of "SKIP", "REGISTER_AS_NEW"
590
+ # resp.job.registration_config.fraudster_similarity_threshold #=> Integer
591
+ #
592
+ # @see http://docs.aws.amazon.com/goto/WebAPI/voice-id-2021-09-27/DescribeFraudsterRegistrationJob AWS API Documentation
593
+ #
594
+ # @overload describe_fraudster_registration_job(params = {})
595
+ # @param [Hash] params ({})
596
+ def describe_fraudster_registration_job(params = {}, options = {})
597
+ req = build_request(:describe_fraudster_registration_job, params)
598
+ req.send_request(options)
599
+ end
600
+
601
+ # Describes the specified speaker.
602
+ #
603
+ # @option params [required, String] :domain_id
604
+ # The identifier of the domain that contains the speaker.
605
+ #
606
+ # @option params [required, String] :speaker_id
607
+ # The identifier of the speaker you are describing.
608
+ #
609
+ # @return [Types::DescribeSpeakerResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
610
+ #
611
+ # * {Types::DescribeSpeakerResponse#speaker #speaker} => Types::Speaker
612
+ #
613
+ # @example Request syntax with placeholder values
614
+ #
615
+ # resp = client.describe_speaker({
616
+ # domain_id: "DomainId", # required
617
+ # speaker_id: "SpeakerId", # required
618
+ # })
619
+ #
620
+ # @example Response structure
621
+ #
622
+ # resp.speaker.created_at #=> Time
623
+ # resp.speaker.customer_speaker_id #=> String
624
+ # resp.speaker.domain_id #=> String
625
+ # resp.speaker.generated_speaker_id #=> String
626
+ # resp.speaker.status #=> String, one of "ENROLLED", "EXPIRED", "OPTED_OUT", "PENDING"
627
+ # resp.speaker.updated_at #=> Time
628
+ #
629
+ # @see http://docs.aws.amazon.com/goto/WebAPI/voice-id-2021-09-27/DescribeSpeaker AWS API Documentation
630
+ #
631
+ # @overload describe_speaker(params = {})
632
+ # @param [Hash] params ({})
633
+ def describe_speaker(params = {}, options = {})
634
+ req = build_request(:describe_speaker, params)
635
+ req.send_request(options)
636
+ end
637
+
638
+ # Describes the specified speaker enrollment job.
639
+ #
640
+ # @option params [required, String] :domain_id
641
+ # The identifier of the domain containing the speaker enrollment job.
642
+ #
643
+ # @option params [required, String] :job_id
644
+ # The identifier of the speaker enrollment job you are describing.
645
+ #
646
+ # @return [Types::DescribeSpeakerEnrollmentJobResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
647
+ #
648
+ # * {Types::DescribeSpeakerEnrollmentJobResponse#job #job} => Types::SpeakerEnrollmentJob
649
+ #
650
+ # @example Request syntax with placeholder values
651
+ #
652
+ # resp = client.describe_speaker_enrollment_job({
653
+ # domain_id: "DomainId", # required
654
+ # job_id: "JobId", # required
655
+ # })
656
+ #
657
+ # @example Response structure
658
+ #
659
+ # resp.job.created_at #=> Time
660
+ # resp.job.data_access_role_arn #=> String
661
+ # resp.job.domain_id #=> String
662
+ # resp.job.ended_at #=> Time
663
+ # resp.job.enrollment_config.existing_enrollment_action #=> String, one of "SKIP", "OVERWRITE"
664
+ # resp.job.enrollment_config.fraud_detection_config.fraud_detection_action #=> String, one of "IGNORE", "FAIL"
665
+ # resp.job.enrollment_config.fraud_detection_config.risk_threshold #=> Integer
666
+ # resp.job.failure_details.message #=> String
667
+ # resp.job.failure_details.status_code #=> Integer
668
+ # resp.job.input_data_config.s3_uri #=> String
669
+ # resp.job.job_id #=> String
670
+ # resp.job.job_name #=> String
671
+ # resp.job.job_progress.percent_complete #=> Integer
672
+ # resp.job.job_status #=> String, one of "SUBMITTED", "IN_PROGRESS", "COMPLETED", "COMPLETED_WITH_ERRORS", "FAILED"
673
+ # resp.job.output_data_config.kms_key_id #=> String
674
+ # resp.job.output_data_config.s3_uri #=> String
675
+ #
676
+ # @see http://docs.aws.amazon.com/goto/WebAPI/voice-id-2021-09-27/DescribeSpeakerEnrollmentJob AWS API Documentation
677
+ #
678
+ # @overload describe_speaker_enrollment_job(params = {})
679
+ # @param [Hash] params ({})
680
+ def describe_speaker_enrollment_job(params = {}, options = {})
681
+ req = build_request(:describe_speaker_enrollment_job, params)
682
+ req.send_request(options)
683
+ end
684
+
685
+ # Evaluates a specified session based on audio data accumulated during a
686
+ # streaming Amazon Connect Voice ID call.
687
+ #
688
+ # @option params [required, String] :domain_id
689
+ # The identifier of the domain where the session started.
690
+ #
691
+ # @option params [required, String] :session_name_or_id
692
+ # The session identifier, or name of the session, that you want to
693
+ # evaluate. In Voice ID integration, this is the Contact-Id.
694
+ #
695
+ # @return [Types::EvaluateSessionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
696
+ #
697
+ # * {Types::EvaluateSessionResponse#authentication_result #authentication_result} => Types::AuthenticationResult
698
+ # * {Types::EvaluateSessionResponse#domain_id #domain_id} => String
699
+ # * {Types::EvaluateSessionResponse#fraud_detection_result #fraud_detection_result} => Types::FraudDetectionResult
700
+ # * {Types::EvaluateSessionResponse#session_id #session_id} => String
701
+ # * {Types::EvaluateSessionResponse#session_name #session_name} => String
702
+ # * {Types::EvaluateSessionResponse#streaming_status #streaming_status} => String
703
+ #
704
+ # @example Request syntax with placeholder values
705
+ #
706
+ # resp = client.evaluate_session({
707
+ # domain_id: "DomainId", # required
708
+ # session_name_or_id: "SessionNameOrId", # required
709
+ # })
710
+ #
711
+ # @example Response structure
712
+ #
713
+ # resp.authentication_result.audio_aggregation_ended_at #=> Time
714
+ # resp.authentication_result.audio_aggregation_started_at #=> Time
715
+ # resp.authentication_result.authentication_result_id #=> String
716
+ # resp.authentication_result.configuration.acceptance_threshold #=> Integer
717
+ # resp.authentication_result.customer_speaker_id #=> String
718
+ # resp.authentication_result.decision #=> String, one of "ACCEPT", "REJECT", "NOT_ENOUGH_SPEECH", "SPEAKER_NOT_ENROLLED", "SPEAKER_OPTED_OUT", "SPEAKER_ID_NOT_PROVIDED"
719
+ # resp.authentication_result.generated_speaker_id #=> String
720
+ # resp.authentication_result.score #=> Integer
721
+ # resp.domain_id #=> String
722
+ # resp.fraud_detection_result.audio_aggregation_ended_at #=> Time
723
+ # resp.fraud_detection_result.audio_aggregation_started_at #=> Time
724
+ # resp.fraud_detection_result.configuration.risk_threshold #=> Integer
725
+ # resp.fraud_detection_result.decision #=> String, one of "HIGH_RISK", "LOW_RISK", "NOT_ENOUGH_SPEECH"
726
+ # resp.fraud_detection_result.fraud_detection_result_id #=> String
727
+ # resp.fraud_detection_result.reasons #=> Array
728
+ # resp.fraud_detection_result.reasons[0] #=> String, one of "KNOWN_FRAUDSTER"
729
+ # resp.fraud_detection_result.risk_details.known_fraudster_risk.generated_fraudster_id #=> String
730
+ # resp.fraud_detection_result.risk_details.known_fraudster_risk.risk_score #=> Integer
731
+ # resp.session_id #=> String
732
+ # resp.session_name #=> String
733
+ # resp.streaming_status #=> String, one of "PENDING_CONFIGURATION", "ONGOING", "ENDED"
734
+ #
735
+ # @see http://docs.aws.amazon.com/goto/WebAPI/voice-id-2021-09-27/EvaluateSession AWS API Documentation
736
+ #
737
+ # @overload evaluate_session(params = {})
738
+ # @param [Hash] params ({})
739
+ def evaluate_session(params = {}, options = {})
740
+ req = build_request(:evaluate_session, params)
741
+ req.send_request(options)
742
+ end
743
+
744
+ # Lists all the domains in the Amazon Web Services account.
745
+ #
746
+ # @option params [Integer] :max_results
747
+ # The maximum number of results that are returned per call. You can use
748
+ # `NextToken` to obtain further pages of results. The default is 100;
749
+ # the maximum allowed page size is also 100.
750
+ #
751
+ # @option params [String] :next_token
752
+ # If `NextToken` is returned, there are more results available. The
753
+ # value of `NextToken` is a unique pagination token for each page. Make
754
+ # the call again using the returned token to retrieve the next page.
755
+ # Keep all other arguments unchanged. Each pagination token expires
756
+ # after 24 hours.
757
+ #
758
+ # @return [Types::ListDomainsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
759
+ #
760
+ # * {Types::ListDomainsResponse#domain_summaries #domain_summaries} => Array&lt;Types::DomainSummary&gt;
761
+ # * {Types::ListDomainsResponse#next_token #next_token} => String
762
+ #
763
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
764
+ #
765
+ # @example Request syntax with placeholder values
766
+ #
767
+ # resp = client.list_domains({
768
+ # max_results: 1,
769
+ # next_token: "NextToken",
770
+ # })
771
+ #
772
+ # @example Response structure
773
+ #
774
+ # resp.domain_summaries #=> Array
775
+ # resp.domain_summaries[0].arn #=> String
776
+ # resp.domain_summaries[0].created_at #=> Time
777
+ # resp.domain_summaries[0].description #=> String
778
+ # resp.domain_summaries[0].domain_id #=> String
779
+ # resp.domain_summaries[0].domain_status #=> String, one of "ACTIVE", "PENDING", "SUSPENDED"
780
+ # resp.domain_summaries[0].name #=> String
781
+ # resp.domain_summaries[0].server_side_encryption_configuration.kms_key_id #=> String
782
+ # resp.domain_summaries[0].updated_at #=> Time
783
+ # resp.next_token #=> String
784
+ #
785
+ # @see http://docs.aws.amazon.com/goto/WebAPI/voice-id-2021-09-27/ListDomains AWS API Documentation
786
+ #
787
+ # @overload list_domains(params = {})
788
+ # @param [Hash] params ({})
789
+ def list_domains(params = {}, options = {})
790
+ req = build_request(:list_domains, params)
791
+ req.send_request(options)
792
+ end
793
+
794
+ # Lists all the fraudster registration jobs in the domain with the given
795
+ # `JobStatus`. If `JobStatus` is not provided, this lists all fraudster
796
+ # registration jobs in the given domain.
797
+ #
798
+ # @option params [required, String] :domain_id
799
+ # The identifier of the domain containing the fraudster registration
800
+ # Jobs.
801
+ #
802
+ # @option params [String] :job_status
803
+ # Provides the status of your fraudster registration job.
804
+ #
805
+ # @option params [Integer] :max_results
806
+ # The maximum number of results that are returned per call. You can use
807
+ # `NextToken` to obtain further pages of results. The default is 100;
808
+ # the maximum allowed page size is also 100.
809
+ #
810
+ # @option params [String] :next_token
811
+ # If `NextToken` is returned, there are more results available. The
812
+ # value of `NextToken` is a unique pagination token for each page. Make
813
+ # the call again using the returned token to retrieve the next page.
814
+ # Keep all other arguments unchanged. Each pagination token expires
815
+ # after 24 hours.
816
+ #
817
+ # @return [Types::ListFraudsterRegistrationJobsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
818
+ #
819
+ # * {Types::ListFraudsterRegistrationJobsResponse#job_summaries #job_summaries} => Array&lt;Types::FraudsterRegistrationJobSummary&gt;
820
+ # * {Types::ListFraudsterRegistrationJobsResponse#next_token #next_token} => String
821
+ #
822
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
823
+ #
824
+ # @example Request syntax with placeholder values
825
+ #
826
+ # resp = client.list_fraudster_registration_jobs({
827
+ # domain_id: "DomainId", # required
828
+ # job_status: "SUBMITTED", # accepts SUBMITTED, IN_PROGRESS, COMPLETED, COMPLETED_WITH_ERRORS, FAILED
829
+ # max_results: 1,
830
+ # next_token: "NextToken",
831
+ # })
832
+ #
833
+ # @example Response structure
834
+ #
835
+ # resp.job_summaries #=> Array
836
+ # resp.job_summaries[0].created_at #=> Time
837
+ # resp.job_summaries[0].domain_id #=> String
838
+ # resp.job_summaries[0].ended_at #=> Time
839
+ # resp.job_summaries[0].failure_details.message #=> String
840
+ # resp.job_summaries[0].failure_details.status_code #=> Integer
841
+ # resp.job_summaries[0].job_id #=> String
842
+ # resp.job_summaries[0].job_name #=> String
843
+ # resp.job_summaries[0].job_progress.percent_complete #=> Integer
844
+ # resp.job_summaries[0].job_status #=> String, one of "SUBMITTED", "IN_PROGRESS", "COMPLETED", "COMPLETED_WITH_ERRORS", "FAILED"
845
+ # resp.next_token #=> String
846
+ #
847
+ # @see http://docs.aws.amazon.com/goto/WebAPI/voice-id-2021-09-27/ListFraudsterRegistrationJobs AWS API Documentation
848
+ #
849
+ # @overload list_fraudster_registration_jobs(params = {})
850
+ # @param [Hash] params ({})
851
+ def list_fraudster_registration_jobs(params = {}, options = {})
852
+ req = build_request(:list_fraudster_registration_jobs, params)
853
+ req.send_request(options)
854
+ end
855
+
856
+ # Lists all the speaker enrollment jobs in the domain with the specified
857
+ # `JobStatus`. If `JobStatus` is not provided, this lists all jobs with
858
+ # all possible speaker enrollment job statuses.
859
+ #
860
+ # @option params [required, String] :domain_id
861
+ # The identifier of the domain containing the speaker enrollment jobs.
862
+ #
863
+ # @option params [String] :job_status
864
+ # Provides the status of your speaker enrollment Job.
865
+ #
866
+ # @option params [Integer] :max_results
867
+ # The maximum number of results that are returned per call. You can use
868
+ # `NextToken` to obtain further pages of results. The default is 100;
869
+ # the maximum allowed page size is also 100.
870
+ #
871
+ # @option params [String] :next_token
872
+ # If `NextToken` is returned, there are more results available. The
873
+ # value of `NextToken` is a unique pagination token for each page. Make
874
+ # the call again using the returned token to retrieve the next page.
875
+ # Keep all other arguments unchanged. Each pagination token expires
876
+ # after 24 hours.
877
+ #
878
+ # @return [Types::ListSpeakerEnrollmentJobsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
879
+ #
880
+ # * {Types::ListSpeakerEnrollmentJobsResponse#job_summaries #job_summaries} => Array&lt;Types::SpeakerEnrollmentJobSummary&gt;
881
+ # * {Types::ListSpeakerEnrollmentJobsResponse#next_token #next_token} => String
882
+ #
883
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
884
+ #
885
+ # @example Request syntax with placeholder values
886
+ #
887
+ # resp = client.list_speaker_enrollment_jobs({
888
+ # domain_id: "DomainId", # required
889
+ # job_status: "SUBMITTED", # accepts SUBMITTED, IN_PROGRESS, COMPLETED, COMPLETED_WITH_ERRORS, FAILED
890
+ # max_results: 1,
891
+ # next_token: "NextToken",
892
+ # })
893
+ #
894
+ # @example Response structure
895
+ #
896
+ # resp.job_summaries #=> Array
897
+ # resp.job_summaries[0].created_at #=> Time
898
+ # resp.job_summaries[0].domain_id #=> String
899
+ # resp.job_summaries[0].ended_at #=> Time
900
+ # resp.job_summaries[0].failure_details.message #=> String
901
+ # resp.job_summaries[0].failure_details.status_code #=> Integer
902
+ # resp.job_summaries[0].job_id #=> String
903
+ # resp.job_summaries[0].job_name #=> String
904
+ # resp.job_summaries[0].job_progress.percent_complete #=> Integer
905
+ # resp.job_summaries[0].job_status #=> String, one of "SUBMITTED", "IN_PROGRESS", "COMPLETED", "COMPLETED_WITH_ERRORS", "FAILED"
906
+ # resp.next_token #=> String
907
+ #
908
+ # @see http://docs.aws.amazon.com/goto/WebAPI/voice-id-2021-09-27/ListSpeakerEnrollmentJobs AWS API Documentation
909
+ #
910
+ # @overload list_speaker_enrollment_jobs(params = {})
911
+ # @param [Hash] params ({})
912
+ def list_speaker_enrollment_jobs(params = {}, options = {})
913
+ req = build_request(:list_speaker_enrollment_jobs, params)
914
+ req.send_request(options)
915
+ end
916
+
917
+ # Lists all speakers in a specified domain.
918
+ #
919
+ # @option params [required, String] :domain_id
920
+ # The identifier of the domain.
921
+ #
922
+ # @option params [Integer] :max_results
923
+ # The maximum number of results that are returned per call. You can use
924
+ # `NextToken` to obtain further pages of results. The default is 100;
925
+ # the maximum allowed page size is also 100.
926
+ #
927
+ # @option params [String] :next_token
928
+ # If `NextToken` is returned, there are more results available. The
929
+ # value of `NextToken` is a unique pagination token for each page. Make
930
+ # the call again using the returned token to retrieve the next page.
931
+ # Keep all other arguments unchanged. Each pagination token expires
932
+ # after 24 hours.
933
+ #
934
+ # @return [Types::ListSpeakersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
935
+ #
936
+ # * {Types::ListSpeakersResponse#next_token #next_token} => String
937
+ # * {Types::ListSpeakersResponse#speaker_summaries #speaker_summaries} => Array&lt;Types::SpeakerSummary&gt;
938
+ #
939
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
940
+ #
941
+ # @example Request syntax with placeholder values
942
+ #
943
+ # resp = client.list_speakers({
944
+ # domain_id: "DomainId", # required
945
+ # max_results: 1,
946
+ # next_token: "NextToken",
947
+ # })
948
+ #
949
+ # @example Response structure
950
+ #
951
+ # resp.next_token #=> String
952
+ # resp.speaker_summaries #=> Array
953
+ # resp.speaker_summaries[0].created_at #=> Time
954
+ # resp.speaker_summaries[0].customer_speaker_id #=> String
955
+ # resp.speaker_summaries[0].domain_id #=> String
956
+ # resp.speaker_summaries[0].generated_speaker_id #=> String
957
+ # resp.speaker_summaries[0].status #=> String, one of "ENROLLED", "EXPIRED", "OPTED_OUT", "PENDING"
958
+ # resp.speaker_summaries[0].updated_at #=> Time
959
+ #
960
+ # @see http://docs.aws.amazon.com/goto/WebAPI/voice-id-2021-09-27/ListSpeakers AWS API Documentation
961
+ #
962
+ # @overload list_speakers(params = {})
963
+ # @param [Hash] params ({})
964
+ def list_speakers(params = {}, options = {})
965
+ req = build_request(:list_speakers, params)
966
+ req.send_request(options)
967
+ end
968
+
969
+ # Lists all tags associated with a specified Voice ID resource.
970
+ #
971
+ # @option params [required, String] :resource_arn
972
+ # The Amazon Resource Name (ARN) of the Voice ID resource for which you
973
+ # want to list the tags.
974
+ #
975
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
976
+ #
977
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Array&lt;Types::Tag&gt;
978
+ #
979
+ # @example Request syntax with placeholder values
980
+ #
981
+ # resp = client.list_tags_for_resource({
982
+ # resource_arn: "AmazonResourceName", # required
983
+ # })
984
+ #
985
+ # @example Response structure
986
+ #
987
+ # resp.tags #=> Array
988
+ # resp.tags[0].key #=> String
989
+ # resp.tags[0].value #=> String
990
+ #
991
+ # @see http://docs.aws.amazon.com/goto/WebAPI/voice-id-2021-09-27/ListTagsForResource AWS API Documentation
992
+ #
993
+ # @overload list_tags_for_resource(params = {})
994
+ # @param [Hash] params ({})
995
+ def list_tags_for_resource(params = {}, options = {})
996
+ req = build_request(:list_tags_for_resource, params)
997
+ req.send_request(options)
998
+ end
999
+
1000
+ # Opts out a speaker from Voice ID system. A speaker can be opted out
1001
+ # regardless of whether or not they already exist in the system. If they
1002
+ # don't yet exist, a new speaker is created in an opted out state. If
1003
+ # they already exist, their existing status is overridden and they are
1004
+ # opted out. Enrollment and evaluation authentication requests are
1005
+ # rejected for opted out speakers, and opted out speakers have no voice
1006
+ # embeddings stored in the system.
1007
+ #
1008
+ # @option params [required, String] :domain_id
1009
+ # The identifier of the domain containing the speaker.
1010
+ #
1011
+ # @option params [required, String] :speaker_id
1012
+ # The identifier of the speaker you want opted-out.
1013
+ #
1014
+ # @return [Types::OptOutSpeakerResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1015
+ #
1016
+ # * {Types::OptOutSpeakerResponse#speaker #speaker} => Types::Speaker
1017
+ #
1018
+ # @example Request syntax with placeholder values
1019
+ #
1020
+ # resp = client.opt_out_speaker({
1021
+ # domain_id: "DomainId", # required
1022
+ # speaker_id: "SpeakerId", # required
1023
+ # })
1024
+ #
1025
+ # @example Response structure
1026
+ #
1027
+ # resp.speaker.created_at #=> Time
1028
+ # resp.speaker.customer_speaker_id #=> String
1029
+ # resp.speaker.domain_id #=> String
1030
+ # resp.speaker.generated_speaker_id #=> String
1031
+ # resp.speaker.status #=> String, one of "ENROLLED", "EXPIRED", "OPTED_OUT", "PENDING"
1032
+ # resp.speaker.updated_at #=> Time
1033
+ #
1034
+ # @see http://docs.aws.amazon.com/goto/WebAPI/voice-id-2021-09-27/OptOutSpeaker AWS API Documentation
1035
+ #
1036
+ # @overload opt_out_speaker(params = {})
1037
+ # @param [Hash] params ({})
1038
+ def opt_out_speaker(params = {}, options = {})
1039
+ req = build_request(:opt_out_speaker, params)
1040
+ req.send_request(options)
1041
+ end
1042
+
1043
+ # Starts a new batch fraudster registration job using provided details.
1044
+ #
1045
+ # @option params [String] :client_token
1046
+ # The idempotency token for starting a new fraudster registration job.
1047
+ # If not provided, Amazon Web Services SDK populates this field.
1048
+ #
1049
+ # **A suitable default value is auto-generated.** You should normally
1050
+ # not need to pass this option.**
1051
+ #
1052
+ # @option params [required, String] :data_access_role_arn
1053
+ # The IAM role Amazon Resource Name (ARN) that grants Voice ID
1054
+ # permissions to access customer's buckets to read the input manifest
1055
+ # file and write the Job output file. Refer to the [Create and edit a
1056
+ # fraudster watchlist][1] documentation for the permissions needed in
1057
+ # this role.
1058
+ #
1059
+ #
1060
+ #
1061
+ # [1]: https://docs.aws.amazon.com/connect/latest/adminguide/voiceid-fraudster-watchlist.html
1062
+ #
1063
+ # @option params [required, String] :domain_id
1064
+ # The identifier of the domain containing the fraudster registration job
1065
+ # and in which the fraudsters are registered.
1066
+ #
1067
+ # @option params [required, Types::InputDataConfig] :input_data_config
1068
+ # The input data config containing an S3 URI for the input manifest file
1069
+ # that contains the list of fraudster registration requests.
1070
+ #
1071
+ # @option params [String] :job_name
1072
+ # The name of the new fraudster registration job.
1073
+ #
1074
+ # @option params [required, Types::OutputDataConfig] :output_data_config
1075
+ # The output data config containing the S3 location where Voice ID
1076
+ # writes the job output file; you must also include a KMS Key ID to
1077
+ # encrypt the file.
1078
+ #
1079
+ # @option params [Types::RegistrationConfig] :registration_config
1080
+ # The registration config containing details such as the action to take
1081
+ # when a duplicate fraudster is detected, and the similarity threshold
1082
+ # to use for detecting a duplicate fraudster.
1083
+ #
1084
+ # @return [Types::StartFraudsterRegistrationJobResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1085
+ #
1086
+ # * {Types::StartFraudsterRegistrationJobResponse#job #job} => Types::FraudsterRegistrationJob
1087
+ #
1088
+ # @example Request syntax with placeholder values
1089
+ #
1090
+ # resp = client.start_fraudster_registration_job({
1091
+ # client_token: "ClientTokenString",
1092
+ # data_access_role_arn: "IamRoleArn", # required
1093
+ # domain_id: "DomainId", # required
1094
+ # input_data_config: { # required
1095
+ # s3_uri: "S3Uri", # required
1096
+ # },
1097
+ # job_name: "JobName",
1098
+ # output_data_config: { # required
1099
+ # kms_key_id: "KmsKeyId",
1100
+ # s3_uri: "S3Uri", # required
1101
+ # },
1102
+ # registration_config: {
1103
+ # duplicate_registration_action: "SKIP", # accepts SKIP, REGISTER_AS_NEW
1104
+ # fraudster_similarity_threshold: 1,
1105
+ # },
1106
+ # })
1107
+ #
1108
+ # @example Response structure
1109
+ #
1110
+ # resp.job.created_at #=> Time
1111
+ # resp.job.data_access_role_arn #=> String
1112
+ # resp.job.domain_id #=> String
1113
+ # resp.job.ended_at #=> Time
1114
+ # resp.job.failure_details.message #=> String
1115
+ # resp.job.failure_details.status_code #=> Integer
1116
+ # resp.job.input_data_config.s3_uri #=> String
1117
+ # resp.job.job_id #=> String
1118
+ # resp.job.job_name #=> String
1119
+ # resp.job.job_progress.percent_complete #=> Integer
1120
+ # resp.job.job_status #=> String, one of "SUBMITTED", "IN_PROGRESS", "COMPLETED", "COMPLETED_WITH_ERRORS", "FAILED"
1121
+ # resp.job.output_data_config.kms_key_id #=> String
1122
+ # resp.job.output_data_config.s3_uri #=> String
1123
+ # resp.job.registration_config.duplicate_registration_action #=> String, one of "SKIP", "REGISTER_AS_NEW"
1124
+ # resp.job.registration_config.fraudster_similarity_threshold #=> Integer
1125
+ #
1126
+ # @see http://docs.aws.amazon.com/goto/WebAPI/voice-id-2021-09-27/StartFraudsterRegistrationJob AWS API Documentation
1127
+ #
1128
+ # @overload start_fraudster_registration_job(params = {})
1129
+ # @param [Hash] params ({})
1130
+ def start_fraudster_registration_job(params = {}, options = {})
1131
+ req = build_request(:start_fraudster_registration_job, params)
1132
+ req.send_request(options)
1133
+ end
1134
+
1135
+ # Starts a new batch speaker enrollment job using specified details.
1136
+ #
1137
+ # @option params [String] :client_token
1138
+ # The idempotency token for starting a new speaker enrollment Job. If
1139
+ # not provided, Amazon Web Services SDK populates this field.
1140
+ #
1141
+ # **A suitable default value is auto-generated.** You should normally
1142
+ # not need to pass this option.**
1143
+ #
1144
+ # @option params [required, String] :data_access_role_arn
1145
+ # The IAM role Amazon Resource Name (ARN) that grants Voice ID
1146
+ # permissions to access customer's buckets to read the input manifest
1147
+ # file and write the job output file. Refer to [Batch enrollment using
1148
+ # audio data from prior calls][1] documentation for the permissions
1149
+ # needed in this role.
1150
+ #
1151
+ #
1152
+ #
1153
+ # [1]: https://docs.aws.amazon.com/connect/latest/adminguide/voiceid-batch-enrollment.html
1154
+ #
1155
+ # @option params [required, String] :domain_id
1156
+ # The identifier of the domain that contains the speaker enrollment job
1157
+ # and in which the speakers are enrolled.
1158
+ #
1159
+ # @option params [Types::EnrollmentConfig] :enrollment_config
1160
+ # The enrollment config that contains details such as the action to take
1161
+ # when a speaker is already enrolled in the Voice ID system or when a
1162
+ # speaker is identified as a fraudster.
1163
+ #
1164
+ # @option params [required, Types::InputDataConfig] :input_data_config
1165
+ # The input data config containing the S3 location for the input
1166
+ # manifest file that contains the list of speaker enrollment requests.
1167
+ #
1168
+ # @option params [String] :job_name
1169
+ # A name for your speaker enrollment job.
1170
+ #
1171
+ # @option params [required, Types::OutputDataConfig] :output_data_config
1172
+ # The output data config containing the S3 location where Voice ID
1173
+ # writes the job output file; you must also include a KMS Key ID to
1174
+ # encrypt the file.
1175
+ #
1176
+ # @return [Types::StartSpeakerEnrollmentJobResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1177
+ #
1178
+ # * {Types::StartSpeakerEnrollmentJobResponse#job #job} => Types::SpeakerEnrollmentJob
1179
+ #
1180
+ # @example Request syntax with placeholder values
1181
+ #
1182
+ # resp = client.start_speaker_enrollment_job({
1183
+ # client_token: "ClientTokenString",
1184
+ # data_access_role_arn: "IamRoleArn", # required
1185
+ # domain_id: "DomainId", # required
1186
+ # enrollment_config: {
1187
+ # existing_enrollment_action: "SKIP", # accepts SKIP, OVERWRITE
1188
+ # fraud_detection_config: {
1189
+ # fraud_detection_action: "IGNORE", # accepts IGNORE, FAIL
1190
+ # risk_threshold: 1,
1191
+ # },
1192
+ # },
1193
+ # input_data_config: { # required
1194
+ # s3_uri: "S3Uri", # required
1195
+ # },
1196
+ # job_name: "JobName",
1197
+ # output_data_config: { # required
1198
+ # kms_key_id: "KmsKeyId",
1199
+ # s3_uri: "S3Uri", # required
1200
+ # },
1201
+ # })
1202
+ #
1203
+ # @example Response structure
1204
+ #
1205
+ # resp.job.created_at #=> Time
1206
+ # resp.job.data_access_role_arn #=> String
1207
+ # resp.job.domain_id #=> String
1208
+ # resp.job.ended_at #=> Time
1209
+ # resp.job.enrollment_config.existing_enrollment_action #=> String, one of "SKIP", "OVERWRITE"
1210
+ # resp.job.enrollment_config.fraud_detection_config.fraud_detection_action #=> String, one of "IGNORE", "FAIL"
1211
+ # resp.job.enrollment_config.fraud_detection_config.risk_threshold #=> Integer
1212
+ # resp.job.failure_details.message #=> String
1213
+ # resp.job.failure_details.status_code #=> Integer
1214
+ # resp.job.input_data_config.s3_uri #=> String
1215
+ # resp.job.job_id #=> String
1216
+ # resp.job.job_name #=> String
1217
+ # resp.job.job_progress.percent_complete #=> Integer
1218
+ # resp.job.job_status #=> String, one of "SUBMITTED", "IN_PROGRESS", "COMPLETED", "COMPLETED_WITH_ERRORS", "FAILED"
1219
+ # resp.job.output_data_config.kms_key_id #=> String
1220
+ # resp.job.output_data_config.s3_uri #=> String
1221
+ #
1222
+ # @see http://docs.aws.amazon.com/goto/WebAPI/voice-id-2021-09-27/StartSpeakerEnrollmentJob AWS API Documentation
1223
+ #
1224
+ # @overload start_speaker_enrollment_job(params = {})
1225
+ # @param [Hash] params ({})
1226
+ def start_speaker_enrollment_job(params = {}, options = {})
1227
+ req = build_request(:start_speaker_enrollment_job, params)
1228
+ req.send_request(options)
1229
+ end
1230
+
1231
+ # Tags an Amazon Connect Voice ID resource with the provided list of
1232
+ # tags.
1233
+ #
1234
+ # @option params [required, String] :resource_arn
1235
+ # The Amazon Resource Name (ARN) of the Voice ID resource you want to
1236
+ # tag.
1237
+ #
1238
+ # @option params [required, Array<Types::Tag>] :tags
1239
+ # The list of tags to assign to the specified resource.
1240
+ #
1241
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1242
+ #
1243
+ # @example Request syntax with placeholder values
1244
+ #
1245
+ # resp = client.tag_resource({
1246
+ # resource_arn: "AmazonResourceName", # required
1247
+ # tags: [ # required
1248
+ # {
1249
+ # key: "TagKey", # required
1250
+ # value: "TagValue", # required
1251
+ # },
1252
+ # ],
1253
+ # })
1254
+ #
1255
+ # @see http://docs.aws.amazon.com/goto/WebAPI/voice-id-2021-09-27/TagResource AWS API Documentation
1256
+ #
1257
+ # @overload tag_resource(params = {})
1258
+ # @param [Hash] params ({})
1259
+ def tag_resource(params = {}, options = {})
1260
+ req = build_request(:tag_resource, params)
1261
+ req.send_request(options)
1262
+ end
1263
+
1264
+ # Removes specified tags from a specified Amazon Connect Voice ID
1265
+ # resource.
1266
+ #
1267
+ # @option params [required, String] :resource_arn
1268
+ # The Amazon Resource Name (ARN) of the Voice ID resource you want to
1269
+ # remove tags from.
1270
+ #
1271
+ # @option params [required, Array<String>] :tag_keys
1272
+ # The list of tag keys you want to remove from the specified resource.
1273
+ #
1274
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1275
+ #
1276
+ # @example Request syntax with placeholder values
1277
+ #
1278
+ # resp = client.untag_resource({
1279
+ # resource_arn: "AmazonResourceName", # required
1280
+ # tag_keys: ["TagKey"], # required
1281
+ # })
1282
+ #
1283
+ # @see http://docs.aws.amazon.com/goto/WebAPI/voice-id-2021-09-27/UntagResource AWS API Documentation
1284
+ #
1285
+ # @overload untag_resource(params = {})
1286
+ # @param [Hash] params ({})
1287
+ def untag_resource(params = {}, options = {})
1288
+ req = build_request(:untag_resource, params)
1289
+ req.send_request(options)
1290
+ end
1291
+
1292
+ # Updates the specified domain. This API has clobber behavior, and
1293
+ # clears and replaces all attributes. If an optional field, such as
1294
+ # 'Description' is not provided, it is removed from the domain.
1295
+ #
1296
+ # @option params [String] :description
1297
+ # A brief description about this domain.
1298
+ #
1299
+ # @option params [required, String] :domain_id
1300
+ # The identifier of the domain to be updated.
1301
+ #
1302
+ # @option params [required, String] :name
1303
+ # The name of the domain.
1304
+ #
1305
+ # @option params [required, Types::ServerSideEncryptionConfiguration] :server_side_encryption_configuration
1306
+ # The configuration, containing the KMS Key Identifier, to be used by
1307
+ # Voice ID for the server-side encryption of your data. Note that all
1308
+ # the existing data in the domain are still encrypted using the existing
1309
+ # key, only the data added to domain after updating the key is encrypted
1310
+ # using the new key.
1311
+ #
1312
+ # @return [Types::UpdateDomainResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1313
+ #
1314
+ # * {Types::UpdateDomainResponse#domain #domain} => Types::Domain
1315
+ #
1316
+ # @example Request syntax with placeholder values
1317
+ #
1318
+ # resp = client.update_domain({
1319
+ # description: "Description",
1320
+ # domain_id: "DomainId", # required
1321
+ # name: "DomainName", # required
1322
+ # server_side_encryption_configuration: { # required
1323
+ # kms_key_id: "KmsKeyId", # required
1324
+ # },
1325
+ # })
1326
+ #
1327
+ # @example Response structure
1328
+ #
1329
+ # resp.domain.arn #=> String
1330
+ # resp.domain.created_at #=> Time
1331
+ # resp.domain.description #=> String
1332
+ # resp.domain.domain_id #=> String
1333
+ # resp.domain.domain_status #=> String, one of "ACTIVE", "PENDING", "SUSPENDED"
1334
+ # resp.domain.name #=> String
1335
+ # resp.domain.server_side_encryption_configuration.kms_key_id #=> String
1336
+ # resp.domain.updated_at #=> Time
1337
+ #
1338
+ # @see http://docs.aws.amazon.com/goto/WebAPI/voice-id-2021-09-27/UpdateDomain AWS API Documentation
1339
+ #
1340
+ # @overload update_domain(params = {})
1341
+ # @param [Hash] params ({})
1342
+ def update_domain(params = {}, options = {})
1343
+ req = build_request(:update_domain, params)
1344
+ req.send_request(options)
1345
+ end
1346
+
1347
+ # @!endgroup
1348
+
1349
+ # @param params ({})
1350
+ # @api private
1351
+ def build_request(operation_name, params = {})
1352
+ handlers = @handlers.for(operation_name)
1353
+ context = Seahorse::Client::RequestContext.new(
1354
+ operation_name: operation_name,
1355
+ operation: config.api.operation(operation_name),
1356
+ client: self,
1357
+ params: params,
1358
+ config: config)
1359
+ context[:gem_name] = 'aws-sdk-voiceid'
1360
+ context[:gem_version] = '1.0.0'
1361
+ Seahorse::Client::Request.new(handlers, context)
1362
+ end
1363
+
1364
+ # @api private
1365
+ # @deprecated
1366
+ def waiter_names
1367
+ []
1368
+ end
1369
+
1370
+ class << self
1371
+
1372
+ # @api private
1373
+ attr_reader :identifier
1374
+
1375
+ # @api private
1376
+ def errors_module
1377
+ Errors
1378
+ end
1379
+
1380
+ end
1381
+ end
1382
+ end