File: types.go

package info (click to toggle)
golang-github-aws-aws-sdk-go-v2 1.17.1-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 384,244 kB
  • sloc: java: 13,538; makefile: 400; sh: 137
file content (639 lines) | stat: -rw-r--r-- 21,870 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
// Code generated by smithy-go-codegen DO NOT EDIT.

package types

import (
	smithydocument "github.com/aws/smithy-go/document"
	"time"
)

// The configuration used to authenticate a speaker during a session.
type AuthenticationConfiguration struct {

	// The minimum threshold needed to successfully authenticate a speaker.
	//
	// This member is required.
	AcceptanceThreshold *int32

	noSmithyDocumentSerde
}

// The authentication result produced by Voice ID, processed against the current
// session state and streamed audio of the speaker.
type AuthenticationResult struct {

	// A timestamp indicating when audio aggregation ended for this authentication
	// result.
	AudioAggregationEndedAt *time.Time

	// A timestamp indicating when audio aggregation started for this authentication
	// result.
	AudioAggregationStartedAt *time.Time

	// The unique identifier for this authentication result. Because there can be
	// multiple authentications for a given session, this field helps to identify if
	// the returned result is from a previous streaming activity or a new result. Note
	// that in absence of any new streaming activity, AcceptanceThreshold changes, or
	// SpeakerId changes, Voice ID always returns cached Authentication Result for this
	// API.
	AuthenticationResultId *string

	// The AuthenticationConfiguration used to generate this authentication result.
	Configuration *AuthenticationConfiguration

	// The client-provided identifier for the speaker whose authentication result is
	// produced. Only present if a SpeakerId is provided for the session.
	CustomerSpeakerId *string

	// The authentication decision produced by Voice ID, processed against the current
	// session state and streamed audio of the speaker.
	Decision AuthenticationDecision

	// The service-generated identifier for the speaker whose authentication result is
	// produced.
	GeneratedSpeakerId *string

	// The authentication score for the speaker whose authentication result is
	// produced. This value is only present if the authentication decision is either
	// ACCEPT or REJECT.
	Score *int32

	noSmithyDocumentSerde
}

// Contains all the information about a domain.
type Domain struct {

	// The Amazon Resource Name (ARN) for the domain.
	Arn *string

	// The timestamp at which the domain is created.
	CreatedAt *time.Time

	// The client-provided description of the domain.
	Description *string

	// The service-generated identifier for the domain.
	DomainId *string

	// The current status of the domain.
	DomainStatus DomainStatus

	// The client-provided name for the domain.
	Name *string

	// The server-side encryption configuration containing the KMS key identifier you
	// want Voice ID to use to encrypt your data.
	ServerSideEncryptionConfiguration *ServerSideEncryptionConfiguration

	// Details about the most recent server-side encryption configuration update. When
	// the server-side encryption configuration is changed, dependency on the old KMS
	// key is removed through an asynchronous process. When this update is complete,
	// the domain's data can only be accessed using the new KMS key.
	ServerSideEncryptionUpdateDetails *ServerSideEncryptionUpdateDetails

	// The timestamp showing the domain's last update.
	UpdatedAt *time.Time

	noSmithyDocumentSerde
}

// Contains a summary of information about a domain.
type DomainSummary struct {

	// The Amazon Resource Name (ARN) for the domain.
	Arn *string

	// The timestamp showing when the domain is created.
	CreatedAt *time.Time

	// The client-provided description of the domain.
	Description *string

	// The service-generated identifier for the domain.
	DomainId *string

	// The current status of the domain.
	DomainStatus DomainStatus

	// The client-provided name for the domain.
	Name *string

	// The server-side encryption configuration containing the KMS key identifier you
	// want Voice ID to use to encrypt your data.
	ServerSideEncryptionConfiguration *ServerSideEncryptionConfiguration

	// Details about the most recent server-side encryption configuration update. When
	// the server-side encryption configuration is changed, dependency on the old KMS
	// key is removed through an asynchronous process. When this update is complete,
	// the domain's data can only be accessed using the new KMS key.
	ServerSideEncryptionUpdateDetails *ServerSideEncryptionUpdateDetails

	// The timestamp showing the domain's last update.
	UpdatedAt *time.Time

	noSmithyDocumentSerde
}

// Contains configurations defining enrollment behavior for the batch job.
type EnrollmentConfig struct {

	// The action to take when the specified speaker is already enrolled in the
	// specified domain. The default value is SKIP, which skips the enrollment for the
	// existing speaker. Setting the value to OVERWRITE replaces the existing voice
	// prints and enrollment audio stored for that speaker with new data generated from
	// the latest audio.
	ExistingEnrollmentAction ExistingEnrollmentAction

	// The fraud detection configuration to use for the speaker enrollment job.
	FraudDetectionConfig *EnrollmentJobFraudDetectionConfig

	noSmithyDocumentSerde
}

// The configuration defining the action to take when a speaker is flagged by the
// fraud detection system during a batch speaker enrollment job, and the risk
// threshold to use for identification.
type EnrollmentJobFraudDetectionConfig struct {

	// The action to take when the given speaker is flagged by the fraud detection
	// system. The default value is FAIL, which fails the speaker enrollment. Changing
	// this value to IGNORE results in the speaker being enrolled even if they are
	// flagged by the fraud detection system.
	FraudDetectionAction FraudDetectionAction

	// Threshold value for determining whether the speaker is a high risk to be
	// fraudulent. If the detected risk score calculated by Voice ID is greater than or
	// equal to the threshold, the speaker is considered a fraudster.
	RiskThreshold *int32

	noSmithyDocumentSerde
}

// Contains error details for a failed batch job.
type FailureDetails struct {

	// A description of the error that caused the batch job failure.
	Message *string

	// An HTTP status code representing the nature of the error.
	StatusCode *int32

	noSmithyDocumentSerde
}

// The configuration used for performing fraud detection over a speaker during a
// session.
type FraudDetectionConfiguration struct {

	// Threshold value for determining whether the speaker is a fraudster. If the
	// detected risk score calculated by Voice ID is higher than the threshold, the
	// speaker is considered a fraudster.
	//
	// This member is required.
	RiskThreshold *int32

	noSmithyDocumentSerde
}

// The fraud detection result produced by Voice ID, processed against the current
// session state and streamed audio of the speaker.
type FraudDetectionResult struct {

	// A timestamp indicating when audio aggregation ended for this fraud detection
	// result.
	AudioAggregationEndedAt *time.Time

	// A timestamp indicating when audio aggregation started for this fraud detection
	// result.
	AudioAggregationStartedAt *time.Time

	// The FraudDetectionConfiguration used to generate this fraud detection result.
	Configuration *FraudDetectionConfiguration

	// The fraud detection decision produced by Voice ID, processed against the current
	// session state and streamed audio of the speaker.
	Decision FraudDetectionDecision

	// The unique identifier for this fraud detection result. Given there can be
	// multiple fraud detections for a given session, this field helps in identifying
	// if the returned result is from previous streaming activity or a new result. Note
	// that in the absence of any new streaming activity or risk threshold changes,
	// Voice ID always returns cached Fraud Detection result for this API.
	FraudDetectionResultId *string

	// The reason speaker was flagged by the fraud detection system. This is only be
	// populated if fraud detection Decision is HIGH_RISK, and the following possible
	// values: KNOWN_FRAUDSTER and VOICE_SPOOFING.
	Reasons []FraudDetectionReason

	// Details about each risk analyzed for this speaker. Currently, this contains
	// KnownFraudsterRisk and VoiceSpoofingRisk details.
	RiskDetails *FraudRiskDetails

	noSmithyDocumentSerde
}

// Details regarding various fraud risk analyses performed against the current
// session state and streamed audio of the speaker.
type FraudRiskDetails struct {

	// The details resulting from 'Known Fraudster Risk' analysis of the speaker.
	//
	// This member is required.
	KnownFraudsterRisk *KnownFraudsterRisk

	// The details resulting from 'Voice Spoofing Risk' analysis of the speaker.
	//
	// This member is required.
	VoiceSpoofingRisk *VoiceSpoofingRisk

	noSmithyDocumentSerde
}

// Contains all the information about a fraudster.
type Fraudster struct {

	// The timestamp when Voice ID identified the fraudster.
	CreatedAt *time.Time

	// The identifier for the domain containing the fraudster.
	DomainId *string

	// The service-generated identifier for the fraudster.
	GeneratedFraudsterId *string

	noSmithyDocumentSerde
}

// Contains all the information about a fraudster registration job.
type FraudsterRegistrationJob struct {

	// A timestamp showing the creation time of the fraudster registration job.
	CreatedAt *time.Time

	// The IAM role Amazon Resource Name (ARN) that grants Voice ID permissions to
	// access customer's buckets to read the input manifest file and write the job
	// output file.
	DataAccessRoleArn *string

	// The identifier of the domain containing the fraudster registration job.
	DomainId *string

	// A timestamp showing when the fraudster registration job ended.
	EndedAt *time.Time

	// Contains details that are populated when an entire batch job fails. In cases of
	// individual registration job failures, the batch job as a whole doesn't fail; it
	// is completed with a JobStatus of COMPLETED_WITH_ERRORS. You can use the job
	// output file to identify the individual registration requests that failed.
	FailureDetails *FailureDetails

	// The input data config containing an S3 URI for the input manifest file that
	// contains the list of fraudster registration job requests.
	InputDataConfig *InputDataConfig

	// The service-generated identifier for the fraudster registration job.
	JobId *string

	// The client-provided name for the fraudster registration job.
	JobName *string

	// Shows the completed percentage of registration requests listed in the input
	// file.
	JobProgress *JobProgress

	// The current status of the fraudster registration job.
	JobStatus FraudsterRegistrationJobStatus

	// The output data config containing the S3 location where you want Voice ID to
	// write your job output file; you must also include a KMS key ID in order to
	// encrypt the file.
	OutputDataConfig *OutputDataConfig

	// The registration config containing details such as the action to take when a
	// duplicate fraudster is detected, and the similarity threshold to use for
	// detecting a duplicate fraudster.
	RegistrationConfig *RegistrationConfig

	noSmithyDocumentSerde
}

// Contains a summary of information about a fraudster registration job.
type FraudsterRegistrationJobSummary struct {

	// A timestamp showing when the fraudster registration job is created.
	CreatedAt *time.Time

	// The identifier of the domain containing the fraudster registration job.
	DomainId *string

	// A timestamp showing when the fraudster registration job ended.
	EndedAt *time.Time

	// Contains details that are populated when an entire batch job fails. In cases of
	// individual registration job failures, the batch job as a whole doesn't fail; it
	// is completed with a JobStatus of COMPLETED_WITH_ERRORS. You can use the job
	// output file to identify the individual registration requests that failed.
	FailureDetails *FailureDetails

	// The service-generated identifier for the fraudster registration job.
	JobId *string

	// The client-provided name for the fraudster registration job.
	JobName *string

	// Shows the completed percentage of registration requests listed in the input
	// file.
	JobProgress *JobProgress

	// The current status of the fraudster registration job.
	JobStatus FraudsterRegistrationJobStatus

	noSmithyDocumentSerde
}

// The configuration containing input file information for a batch job.
type InputDataConfig struct {

	// The S3 location for the input manifest file that contains the list of individual
	// enrollment or registration job requests.
	//
	// This member is required.
	S3Uri *string

	noSmithyDocumentSerde
}

// Indicates the completion progress for a batch job.
type JobProgress struct {

	// Shows the completed percentage of enrollment or registration requests listed in
	// the input file.
	PercentComplete *int32

	noSmithyDocumentSerde
}

// Contains details produced as a result of performing known fraudster risk
// analysis on a speaker.
type KnownFraudsterRisk struct {

	// The score indicating the likelihood the speaker is a known fraudster.
	//
	// This member is required.
	RiskScore *int32

	// The identifier of the fraudster that is the closest match to the speaker. If
	// there are no fraudsters registered in a given domain, or if there are no
	// fraudsters with a non-zero RiskScore, this value is null.
	GeneratedFraudsterId *string

	noSmithyDocumentSerde
}

// The configuration containing output file information for a batch job.
type OutputDataConfig struct {

	// The S3 path of the folder where Voice ID writes the job output file. It has a
	// *.out extension. For example, if the input file name is input-file.json and the
	// output folder path is s3://output-bucket/output-folder, the full output file
	// path is s3://output-bucket/output-folder/job-Id/input-file.json.out.
	//
	// This member is required.
	S3Uri *string

	// The identifier of the KMS key you want Voice ID to use to encrypt the output
	// file of a speaker enrollment job/fraudster registration job.
	KmsKeyId *string

	noSmithyDocumentSerde
}

// The configuration defining the action to take when a duplicate fraudster is
// detected, and the similarity threshold to use for detecting a duplicate
// fraudster during a batch fraudster registration job.
type RegistrationConfig struct {

	// The action to take when a fraudster is identified as a duplicate. The default
	// action is SKIP, which skips registering the duplicate fraudster. Setting the
	// value to REGISTER_AS_NEW always registers a new fraudster into the specified
	// domain.
	DuplicateRegistrationAction DuplicateRegistrationAction

	// The minimum similarity score between the new and old fraudsters in order to
	// consider the new fraudster a duplicate.
	FraudsterSimilarityThreshold *int32

	noSmithyDocumentSerde
}

// The configuration containing information about the customer managed key used for
// encrypting customer data.
type ServerSideEncryptionConfiguration struct {

	// The identifier of the KMS key to use to encrypt data stored by Voice ID. Voice
	// ID doesn't support asymmetric customer managed keys.
	//
	// This member is required.
	KmsKeyId *string

	noSmithyDocumentSerde
}

// Details about the most recent server-side encryption configuration update. When
// the server-side encryption configuration is changed, dependency on the old KMS
// key is removed through an asynchronous process. When this update is complete,
// the domain’s data can only be accessed using the new KMS key.
type ServerSideEncryptionUpdateDetails struct {

	// Message explaining the current UpdateStatus. When the UpdateStatus is FAILED,
	// this message explains the cause of the failure.
	Message *string

	// The previous KMS key ID the domain was encrypted with, before
	// ServerSideEncryptionConfiguration was updated to a new KMS key ID.
	OldKmsKeyId *string

	// Status of the server-side encryption update. During an update, if there is an
	// issue with the domain's current or old KMS key ID, such as an inaccessible or
	// disabled key, then the status is FAILED. In order to resolve this, the key needs
	// to be made accessible, and then an UpdateDomain call with the existing
	// server-side encryption configuration will re-attempt this update process.
	UpdateStatus ServerSideEncryptionUpdateStatus

	noSmithyDocumentSerde
}

// Contains all the information about a speaker.
type Speaker struct {

	// A timestamp showing when the speaker is created.
	CreatedAt *time.Time

	// The client-provided identifier for the speaker.
	CustomerSpeakerId *string

	// The identifier of the domain that contains the speaker.
	DomainId *string

	// The service-generated identifier for the speaker.
	GeneratedSpeakerId *string

	// The timestamp when the speaker was last accessed for enrollment, re-enrollment
	// or a successful authentication. This timestamp is accurate to one hour.
	LastAccessedAt *time.Time

	// The current status of the speaker.
	Status SpeakerStatus

	// A timestamp showing the speaker's last update.
	UpdatedAt *time.Time

	noSmithyDocumentSerde
}

// Contains all the information about a speaker enrollment job.
type SpeakerEnrollmentJob struct {

	// A timestamp showing the creation of the speaker enrollment job.
	CreatedAt *time.Time

	// The IAM role Amazon Resource Name (ARN) that grants Voice ID permissions to
	// access customer's buckets to read the input manifest file and write the job
	// output file.
	DataAccessRoleArn *string

	// The identifier of the domain that contains the speaker enrollment job.
	DomainId *string

	// A timestamp showing when the speaker enrollment job ended.
	EndedAt *time.Time

	// The configuration that defines the action to take when the speaker is already
	// enrolled in Voice ID, and the FraudDetectionConfig to use.
	EnrollmentConfig *EnrollmentConfig

	// Contains details that are populated when an entire batch job fails. In cases of
	// individual registration job failures, the batch job as a whole doesn't fail; it
	// is completed with a JobStatus of COMPLETED_WITH_ERRORS. You can use the job
	// output file to identify the individual registration requests that failed.
	FailureDetails *FailureDetails

	// The input data config containing an S3 URI for the input manifest file that
	// contains the list of speaker enrollment job requests.
	InputDataConfig *InputDataConfig

	// The service-generated identifier for the speaker enrollment job.
	JobId *string

	// The client-provided name for the speaker enrollment job.
	JobName *string

	// Provides details on job progress. This field shows the completed percentage of
	// registration requests listed in the input file.
	JobProgress *JobProgress

	// The current status of the speaker enrollment job.
	JobStatus SpeakerEnrollmentJobStatus

	// The output data config containing the S3 location where Voice ID writes the job
	// output file; you must also include a KMS key ID to encrypt the file.
	OutputDataConfig *OutputDataConfig

	noSmithyDocumentSerde
}

// Contains a summary of information about a speaker enrollment job.
type SpeakerEnrollmentJobSummary struct {

	// A timestamp showing the creation time of the speaker enrollment job.
	CreatedAt *time.Time

	// The identifier of the domain that contains the speaker enrollment job.
	DomainId *string

	// A timestamp showing when the speaker enrollment job ended.
	EndedAt *time.Time

	// Contains details that are populated when an entire batch job fails. In cases of
	// individual registration job failures, the batch job as a whole doesn't fail; it
	// is completed with a JobStatus of COMPLETED_WITH_ERRORS. You can use the job
	// output file to identify the individual registration requests that failed.
	FailureDetails *FailureDetails

	// The service-generated identifier for the speaker enrollment job.
	JobId *string

	// The client-provided name for the speaker enrollment job.
	JobName *string

	// Provides details regarding job progress. This field shows the completed
	// percentage of enrollment requests listed in the input file.
	JobProgress *JobProgress

	// The current status of the speaker enrollment job.
	JobStatus SpeakerEnrollmentJobStatus

	noSmithyDocumentSerde
}

// Contains a summary of information about a speaker.
type SpeakerSummary struct {

	// A timestamp showing the speaker's creation time.
	CreatedAt *time.Time

	// The client-provided identifier for the speaker.
	CustomerSpeakerId *string

	// The identifier of the domain that contains the speaker.
	DomainId *string

	// The service-generated identifier for the speaker.
	GeneratedSpeakerId *string

	// The timestamp when the speaker was last accessed for enrollment, re-enrollment
	// or a successful authentication. This timestamp is accurate to one hour.
	LastAccessedAt *time.Time

	// The current status of the speaker.
	Status SpeakerStatus

	// A timestamp showing the speaker's last update.
	UpdatedAt *time.Time

	noSmithyDocumentSerde
}

// The tags used to organize, track, or control access for this resource. For
// example, { "tags": {"key1":"value1", "key2":"value2"} }.
type Tag struct {

	// The first part of a key:value pair that forms a tag associated with a given
	// resource. For example, in the tag 'Department':'Sales', the key is 'Department'.
	//
	// This member is required.
	Key *string

	// The second part of a key:value pair that forms a tag associated with a given
	// resource. For example, in the tag 'Department':'Sales', the value is 'Sales'.
	//
	// This member is required.
	Value *string

	noSmithyDocumentSerde
}

// The details resulting from 'Voice Spoofing Risk' analysis of the speaker.
type VoiceSpoofingRisk struct {

	// The score indicating the likelihood of speaker’s voice being spoofed.
	//
	// This member is required.
	RiskScore *int32

	noSmithyDocumentSerde
}

type noSmithyDocumentSerde = smithydocument.NoSerde