amazonka-voice-id (empty) → 2.0
raw patch · 113 files changed
+11406/−0 lines, 113 filesdep +amazonka-coredep +amazonka-testdep +amazonka-voice-id
Dependencies added: amazonka-core, amazonka-test, amazonka-voice-id, base, bytestring, case-insensitive, tasty, tasty-hunit, text, time, unordered-containers
Files
- LICENSE +367/−0
- README.md +44/−0
- amazonka-voice-id.cabal +142/−0
- fixture/CreateDomain.yaml +10/−0
- fixture/CreateDomainResponse.proto +0/−0
- fixture/DeleteDomain.yaml +10/−0
- fixture/DeleteDomainResponse.proto +0/−0
- fixture/DeleteFraudster.yaml +10/−0
- fixture/DeleteFraudsterResponse.proto +0/−0
- fixture/DeleteSpeaker.yaml +10/−0
- fixture/DeleteSpeakerResponse.proto +0/−0
- fixture/DescribeDomain.yaml +10/−0
- fixture/DescribeDomainResponse.proto +0/−0
- fixture/DescribeFraudster.yaml +10/−0
- fixture/DescribeFraudsterRegistrationJob.yaml +10/−0
- fixture/DescribeFraudsterRegistrationJobResponse.proto +0/−0
- fixture/DescribeFraudsterResponse.proto +0/−0
- fixture/DescribeSpeaker.yaml +10/−0
- fixture/DescribeSpeakerEnrollmentJob.yaml +10/−0
- fixture/DescribeSpeakerEnrollmentJobResponse.proto +0/−0
- fixture/DescribeSpeakerResponse.proto +0/−0
- fixture/EvaluateSession.yaml +10/−0
- fixture/EvaluateSessionResponse.proto +0/−0
- fixture/ListDomains.yaml +10/−0
- fixture/ListDomainsResponse.proto +0/−0
- fixture/ListFraudsterRegistrationJobs.yaml +10/−0
- fixture/ListFraudsterRegistrationJobsResponse.proto +0/−0
- fixture/ListSpeakerEnrollmentJobs.yaml +10/−0
- fixture/ListSpeakerEnrollmentJobsResponse.proto +0/−0
- fixture/ListSpeakers.yaml +10/−0
- fixture/ListSpeakersResponse.proto +0/−0
- fixture/ListTagsForResource.yaml +10/−0
- fixture/ListTagsForResourceResponse.proto +0/−0
- fixture/OptOutSpeaker.yaml +10/−0
- fixture/OptOutSpeakerResponse.proto +0/−0
- fixture/StartFraudsterRegistrationJob.yaml +10/−0
- fixture/StartFraudsterRegistrationJobResponse.proto +0/−0
- fixture/StartSpeakerEnrollmentJob.yaml +10/−0
- fixture/StartSpeakerEnrollmentJobResponse.proto +0/−0
- fixture/TagResource.yaml +10/−0
- fixture/TagResourceResponse.proto +0/−0
- fixture/UntagResource.yaml +10/−0
- fixture/UntagResourceResponse.proto +0/−0
- fixture/UpdateDomain.yaml +10/−0
- fixture/UpdateDomainResponse.proto +0/−0
- gen/Amazonka/VoiceId.hs +370/−0
- gen/Amazonka/VoiceId/CreateDomain.hs +241/−0
- gen/Amazonka/VoiceId/DeleteDomain.hs +127/−0
- gen/Amazonka/VoiceId/DeleteFraudster.hs +150/−0
- gen/Amazonka/VoiceId/DeleteSpeaker.hs +150/−0
- gen/Amazonka/VoiceId/DescribeDomain.hs +165/−0
- gen/Amazonka/VoiceId/DescribeFraudster.hs +186/−0
- gen/Amazonka/VoiceId/DescribeFraudsterRegistrationJob.hs +212/−0
- gen/Amazonka/VoiceId/DescribeSpeaker.hs +185/−0
- gen/Amazonka/VoiceId/DescribeSpeakerEnrollmentJob.hs +195/−0
- gen/Amazonka/VoiceId/EvaluateSession.hs +281/−0
- gen/Amazonka/VoiceId/Lens.hs +378/−0
- gen/Amazonka/VoiceId/ListDomains.hs +240/−0
- gen/Amazonka/VoiceId/ListFraudsterRegistrationJobs.hs +287/−0
- gen/Amazonka/VoiceId/ListSpeakerEnrollmentJobs.hs +278/−0
- gen/Amazonka/VoiceId/ListSpeakers.hs +260/−0
- gen/Amazonka/VoiceId/ListTagsForResource.hs +172/−0
- gen/Amazonka/VoiceId/OptOutSpeaker.hs +191/−0
- gen/Amazonka/VoiceId/StartFraudsterRegistrationJob.hs +308/−0
- gen/Amazonka/VoiceId/StartSpeakerEnrollmentJob.hs +302/−0
- gen/Amazonka/VoiceId/TagResource.hs +166/−0
- gen/Amazonka/VoiceId/Types.hs +455/−0
- gen/Amazonka/VoiceId/Types/AuthenticationConfiguration.hs +74/−0
- gen/Amazonka/VoiceId/Types/AuthenticationDecision.hs +96/−0
- gen/Amazonka/VoiceId/Types/AuthenticationResult.hs +202/−0
- gen/Amazonka/VoiceId/Types/Domain.hs +186/−0
- gen/Amazonka/VoiceId/Types/DomainStatus.hs +76/−0
- gen/Amazonka/VoiceId/Types/DomainSummary.hs +186/−0
- gen/Amazonka/VoiceId/Types/DuplicateRegistrationAction.hs +71/−0
- gen/Amazonka/VoiceId/Types/EnrollmentConfig.hs +110/−0
- gen/Amazonka/VoiceId/Types/EnrollmentJobFraudDetectionConfig.hs +127/−0
- gen/Amazonka/VoiceId/Types/ExistingEnrollmentAction.hs +71/−0
- gen/Amazonka/VoiceId/Types/FailureDetails.hs +84/−0
- gen/Amazonka/VoiceId/Types/FraudDetectionAction.hs +71/−0
- gen/Amazonka/VoiceId/Types/FraudDetectionConfiguration.hs +81/−0
- gen/Amazonka/VoiceId/Types/FraudDetectionDecision.hs +76/−0
- gen/Amazonka/VoiceId/Types/FraudDetectionReason.hs +71/−0
- gen/Amazonka/VoiceId/Types/FraudDetectionResult.hs +186/−0
- gen/Amazonka/VoiceId/Types/FraudRiskDetails.hs +100/−0
- gen/Amazonka/VoiceId/Types/Fraudster.hs +96/−0
- gen/Amazonka/VoiceId/Types/FraudsterRegistrationJob.hs +247/−0
- gen/Amazonka/VoiceId/Types/FraudsterRegistrationJobStatus.hs +86/−0
- gen/Amazonka/VoiceId/Types/FraudsterRegistrationJobSummary.hs +186/−0
- gen/Amazonka/VoiceId/Types/InputDataConfig.hs +79/−0
- gen/Amazonka/VoiceId/Types/JobProgress.hs +71/−0
- gen/Amazonka/VoiceId/Types/KnownFraudsterRisk.hs +94/−0
- gen/Amazonka/VoiceId/Types/OutputDataConfig.hs +110/−0
- gen/Amazonka/VoiceId/Types/RegistrationConfig.hs +111/−0
- gen/Amazonka/VoiceId/Types/ServerSideEncryptionConfiguration.hs +99/−0
- gen/Amazonka/VoiceId/Types/ServerSideEncryptionUpdateDetails.hs +134/−0
- gen/Amazonka/VoiceId/Types/ServerSideEncryptionUpdateStatus.hs +76/−0
- gen/Amazonka/VoiceId/Types/Speaker.hs +151/−0
- gen/Amazonka/VoiceId/Types/SpeakerEnrollmentJob.hs +243/−0
- gen/Amazonka/VoiceId/Types/SpeakerEnrollmentJobStatus.hs +86/−0
- gen/Amazonka/VoiceId/Types/SpeakerEnrollmentJobSummary.hs +175/−0
- gen/Amazonka/VoiceId/Types/SpeakerStatus.hs +81/−0
- gen/Amazonka/VoiceId/Types/SpeakerSummary.hs +151/−0
- gen/Amazonka/VoiceId/Types/StreamingStatus.hs +76/−0
- gen/Amazonka/VoiceId/Types/Tag.hs +109/−0
- gen/Amazonka/VoiceId/Types/VoiceSpoofingRisk.hs +71/−0
- gen/Amazonka/VoiceId/UntagResource.hs +173/−0
- gen/Amazonka/VoiceId/UpdateDomain.hs +238/−0
- gen/Amazonka/VoiceId/Waiters.hs +24/−0
- src/.gitkeep +0/−0
- test/Main.hs +23/−0
- test/Test/Amazonka/Gen/VoiceId.hs +458/−0
- test/Test/Amazonka/VoiceId.hs +20/−0
- test/Test/Amazonka/VoiceId/Internal.hs +8/−0
+ LICENSE view
@@ -0,0 +1,367 @@+Mozilla Public License Version 2.0+==================================++1. Definitions+--------------++1.1. "Contributor"+ means each individual or legal entity that creates, contributes to+ the creation of, or owns Covered Software.++1.2. "Contributor Version"+ means the combination of the Contributions of others (if any) used+ by a Contributor and that particular Contributor's Contribution.++1.3. "Contribution"+ means Covered Software of a particular Contributor.++1.4. "Covered Software"+ means Source Code Form to which the initial Contributor has attached+ the notice in Exhibit A, the Executable Form of such Source Code+ Form, and Modifications of such Source Code Form, in each case+ including portions thereof.++1.5. "Incompatible With Secondary Licenses"+ means++ (a) that the initial Contributor has attached the notice described+ in Exhibit B to the Covered Software; or++ (b) that the Covered Software was made available under the terms of+ version 1.1 or earlier of the License, but not also under the+ terms of a Secondary License.++1.6. "Executable Form"+ means any form of the work other than Source Code Form.++1.7. "Larger Work"+ means a work that combines Covered Software with other material, in+ a separate file or files, that is not Covered Software.++1.8. "License"+ means this document.++1.9. "Licensable"+ means having the right to grant, to the maximum extent possible,+ whether at the time of the initial grant or subsequently, any and+ all of the rights conveyed by this License.++1.10. "Modifications"+ means any of the following:++ (a) any file in Source Code Form that results from an addition to,+ deletion from, or modification of the contents of Covered+ Software; or++ (b) any new file in Source Code Form that contains any Covered+ Software.++1.11. "Patent Claims" of a Contributor+ means any patent claim(s), including without limitation, method,+ process, and apparatus claims, in any patent Licensable by such+ Contributor that would be infringed, but for the grant of the+ License, by the making, using, selling, offering for sale, having+ made, import, or transfer of either its Contributions or its+ Contributor Version.++1.12. "Secondary License"+ means either the GNU General Public License, Version 2.0, the GNU+ Lesser General Public License, Version 2.1, the GNU Affero General+ Public License, Version 3.0, or any later versions of those+ licenses.++1.13. "Source Code Form"+ means the form of the work preferred for making modifications.++1.14. "You" (or "Your")+ means an individual or a legal entity exercising rights under this+ License. For legal entities, "You" includes any entity that+ controls, is controlled by, or is under common control with You. For+ purposes of this definition, "control" means (a) the power, direct+ or indirect, to cause the direction or management of such entity,+ whether by contract or otherwise, or (b) ownership of more than+ fifty percent (50%) of the outstanding shares or beneficial+ ownership of such entity.++2. License Grants and Conditions+--------------------------------++2.1. Grants++Each Contributor hereby grants You a world-wide, royalty-free,+non-exclusive license:++(a) under intellectual property rights (other than patent or trademark)+ Licensable by such Contributor to use, reproduce, make available,+ modify, display, perform, distribute, and otherwise exploit its+ Contributions, either on an unmodified basis, with Modifications, or+ as part of a Larger Work; and++(b) under Patent Claims of such Contributor to make, use, sell, offer+ for sale, have made, import, and otherwise transfer either its+ Contributions or its Contributor Version.++2.2. Effective Date++The licenses granted in Section 2.1 with respect to any Contribution+become effective for each Contribution on the date the Contributor first+distributes such Contribution.++2.3. Limitations on Grant Scope++The licenses granted in this Section 2 are the only rights granted under+this License. No additional rights or licenses will be implied from the+distribution or licensing of Covered Software under this License.+Notwithstanding Section 2.1(b) above, no patent license is granted by a+Contributor:++(a) for any code that a Contributor has removed from Covered Software;+ or++(b) for infringements caused by: (i) Your and any other third party's+ modifications of Covered Software, or (ii) the combination of its+ Contributions with other software (except as part of its Contributor+ Version); or++(c) under Patent Claims infringed by Covered Software in the absence of+ its Contributions.++This License does not grant any rights in the trademarks, service marks,+or logos of any Contributor (except as may be necessary to comply with+the notice requirements in Section 3.4).++2.4. Subsequent Licenses++No Contributor makes additional grants as a result of Your choice to+distribute the Covered Software under a subsequent version of this+License (see Section 10.2) or under the terms of a Secondary License (if+permitted under the terms of Section 3.3).++2.5. Representation++Each Contributor represents that the Contributor believes its+Contributions are its original creation(s) or it has sufficient rights+to grant the rights to its Contributions conveyed by this License.++2.6. Fair Use++This License is not intended to limit any rights You have under+applicable copyright doctrines of fair use, fair dealing, or other+equivalents.++2.7. Conditions++Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted+in Section 2.1.++3. Responsibilities+-------------------++3.1. Distribution of Source Form++All distribution of Covered Software in Source Code Form, including any+Modifications that You create or to which You contribute, must be under+the terms of this License. You must inform recipients that the Source+Code Form of the Covered Software is governed by the terms of this+License, and how they can obtain a copy of this License. You may not+attempt to alter or restrict the recipients' rights in the Source Code+Form.++3.2. Distribution of Executable Form++If You distribute Covered Software in Executable Form then:++(a) such Covered Software must also be made available in Source Code+ Form, as described in Section 3.1, and You must inform recipients of+ the Executable Form how they can obtain a copy of such Source Code+ Form by reasonable means in a timely manner, at a charge no more+ than the cost of distribution to the recipient; and++(b) You may distribute such Executable Form under the terms of this+ License, or sublicense it under different terms, provided that the+ license for the Executable Form does not attempt to limit or alter+ the recipients' rights in the Source Code Form under this License.++3.3. Distribution of a Larger Work++You may create and distribute a Larger Work under terms of Your choice,+provided that You also comply with the requirements of this License for+the Covered Software. If the Larger Work is a combination of Covered+Software with a work governed by one or more Secondary Licenses, and the+Covered Software is not Incompatible With Secondary Licenses, this+License permits You to additionally distribute such Covered Software+under the terms of such Secondary License(s), so that the recipient of+the Larger Work may, at their option, further distribute the Covered+Software under the terms of either this License or such Secondary+License(s).++3.4. Notices++You may not remove or alter the substance of any license notices+(including copyright notices, patent notices, disclaimers of warranty,+or limitations of liability) contained within the Source Code Form of+the Covered Software, except that You may alter any license notices to+the extent required to remedy known factual inaccuracies.++3.5. Application of Additional Terms++You may choose to offer, and to charge a fee for, warranty, support,+indemnity or liability obligations to one or more recipients of Covered+Software. However, You may do so only on Your own behalf, and not on+behalf of any Contributor. You must make it absolutely clear that any+such warranty, support, indemnity, or liability obligation is offered by+You alone, and You hereby agree to indemnify every Contributor for any+liability incurred by such Contributor as a result of warranty, support,+indemnity or liability terms You offer. You may include additional+disclaimers of warranty and limitations of liability specific to any+jurisdiction.++4. Inability to Comply Due to Statute or Regulation+---------------------------------------------------++If it is impossible for You to comply with any of the terms of this+License with respect to some or all of the Covered Software due to+statute, judicial order, or regulation then You must: (a) comply with+the terms of this License to the maximum extent possible; and (b)+describe the limitations and the code they affect. Such description must+be placed in a text file included with all distributions of the Covered+Software under this License. Except to the extent prohibited by statute+or regulation, such description must be sufficiently detailed for a+recipient of ordinary skill to be able to understand it.++5. Termination+--------------++5.1. The rights granted under this License will terminate automatically+if You fail to comply with any of its terms. However, if You become+compliant, then the rights granted under this License from a particular+Contributor are reinstated (a) provisionally, unless and until such+Contributor explicitly and finally terminates Your grants, and (b) on an+ongoing basis, if such Contributor fails to notify You of the+non-compliance by some reasonable means prior to 60 days after You have+come back into compliance. Moreover, Your grants from a particular+Contributor are reinstated on an ongoing basis if such Contributor+notifies You of the non-compliance by some reasonable means, this is the+first time You have received notice of non-compliance with this License+from such Contributor, and You become compliant prior to 30 days after+Your receipt of the notice.++5.2. If You initiate litigation against any entity by asserting a patent+infringement claim (excluding declaratory judgment actions,+counter-claims, and cross-claims) alleging that a Contributor Version+directly or indirectly infringes any patent, then the rights granted to+You by any and all Contributors for the Covered Software under Section+2.1 of this License shall terminate.++5.3. In the event of termination under Sections 5.1 or 5.2 above, all+end user license agreements (excluding distributors and resellers) which+have been validly granted by You or Your distributors under this License+prior to termination shall survive termination.++************************************************************************+* *+* 6. Disclaimer of Warranty *+* ------------------------- *+* *+* Covered Software is provided under this License on an "as is" *+* basis, without warranty of any kind, either expressed, implied, or *+* statutory, including, without limitation, warranties that the *+* Covered Software is free of defects, merchantable, fit for a *+* particular purpose or non-infringing. The entire risk as to the *+* quality and performance of the Covered Software is with You. *+* Should any Covered Software prove defective in any respect, You *+* (not any Contributor) assume the cost of any necessary servicing, *+* repair, or correction. This disclaimer of warranty constitutes an *+* essential part of this License. No use of any Covered Software is *+* authorized under this License except under this disclaimer. *+* *+************************************************************************++************************************************************************+* *+* 7. Limitation of Liability *+* -------------------------- *+* *+* Under no circumstances and under no legal theory, whether tort *+* (including negligence), contract, or otherwise, shall any *+* Contributor, or anyone who distributes Covered Software as *+* permitted above, be liable to You for any direct, indirect, *+* special, incidental, or consequential damages of any character *+* including, without limitation, damages for lost profits, loss of *+* goodwill, work stoppage, computer failure or malfunction, or any *+* and all other commercial damages or losses, even if such party *+* shall have been informed of the possibility of such damages. This *+* limitation of liability shall not apply to liability for death or *+* personal injury resulting from such party's negligence to the *+* extent applicable law prohibits such limitation. Some *+* jurisdictions do not allow the exclusion or limitation of *+* incidental or consequential damages, so this exclusion and *+* limitation may not apply to You. *+* *+************************************************************************++8. Litigation+-------------++Any litigation relating to this License may be brought only in the+courts of a jurisdiction where the defendant maintains its principal+place of business and such litigation shall be governed by laws of that+jurisdiction, without reference to its conflict-of-law provisions.+Nothing in this Section shall prevent a party's ability to bring+cross-claims or counter-claims.++9. Miscellaneous+----------------++This License represents the complete agreement concerning the subject+matter hereof. If any provision of this License is held to be+unenforceable, such provision shall be reformed only to the extent+necessary to make it enforceable. Any law or regulation which provides+that the language of a contract shall be construed against the drafter+shall not be used to construe this License against a Contributor.++10. Versions of the License+---------------------------++10.1. New Versions++Mozilla Foundation is the license steward. Except as provided in Section+10.3, no one other than the license steward has the right to modify or+publish new versions of this License. Each version will be given a+distinguishing version number.++10.2. Effect of New Versions++You may distribute the Covered Software under the terms of the version+of the License under which You originally received the Covered Software,+or under the terms of any subsequent version published by the license+steward.++10.3. Modified Versions++If you create software not governed by this License, and you want to+create a new license for such software, you may create and use a+modified version of this License if you rename the license and remove+any references to the name of the license steward (except to note that+such modified license differs from this License).++10.4. Distributing Source Code Form that is Incompatible With Secondary+Licenses++If You choose to distribute Source Code Form that is Incompatible With+Secondary Licenses under the terms of this version of the License, the+notice described in Exhibit B of this License must be attached.++Exhibit A - Source Code Form License Notice+-------------------------------------------++ This Source Code Form is subject to the terms of the Mozilla Public+ License, v. 2.0. If a copy of the MPL was not distributed with this+ file, You can obtain one at http://mozilla.org/MPL/2.0/.++If it is not possible or desirable to put the notice in a particular+file, then You may include the notice in a location (such as a LICENSE+file in a relevant directory) where a recipient would be likely to look+for such a notice.++You may add additional accurate notices of copyright ownership.
+ README.md view
@@ -0,0 +1,44 @@+# Amazon Voice ID SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2021-09-27@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-voice-id)+and the [AWS API Reference](https://aws.amazon.com/documentation/).++The types from this library are intended to be used with [amazonka](http://hackage.haskell.org/package/amazonka),+which provides mechanisms for specifying AuthN/AuthZ information, sending requests,+and receiving responses.++Lenses are used for constructing and manipulating types,+due to the depth of nesting of AWS types and transparency regarding+de/serialisation into more palatable Haskell values.+The provided lenses should be compatible with any of the major lens libraries+[lens](http://hackage.haskell.org/package/lens) or [lens-family-core](http://hackage.haskell.org/package/lens-family-core).++See [Amazonka.VoiceId](http://hackage.haskell.org/package/amazonka-voice-id/docs/Amazonka-VoiceId.html)+or [the AWS documentation](https://aws.amazon.com/documentation/) to get started.+++## Contribute++For any problems, comments, or feedback please create an issue [here on GitHub](https://github.com/brendanhay/amazonka/issues).++> _Note:_ this library is an auto-generated Haskell package. Please see `amazonka-gen` for more information.+++## Licence++`amazonka-voice-id` is released under the [Mozilla Public License Version 2.0](http://www.mozilla.org/MPL/).++Parts of the code are derived from AWS service descriptions, licensed under Apache 2.0.+Source files subject to this contain an additional licensing clause in their header.
+ amazonka-voice-id.cabal view
@@ -0,0 +1,142 @@+cabal-version: 2.2+name: amazonka-voice-id+version: 2.0+synopsis: Amazon Voice ID SDK.+homepage: https://github.com/brendanhay/amazonka+bug-reports: https://github.com/brendanhay/amazonka/issues+license: MPL-2.0+license-file: LICENSE+author: Brendan Hay+maintainer:+ Brendan Hay <brendan.g.hay+amazonka@gmail.com>, Jack Kelly <jack@jackkelly.name>++copyright: Copyright (c) 2013-2023 Brendan Hay+category: AWS+build-type: Simple+extra-source-files:+ fixture/*.proto+ fixture/*.yaml+ README.md+ src/.gitkeep++description:+ Derived from API version @2021-09-27@ of the AWS service descriptions, licensed under Apache 2.0.+ .+ The types from this library are intended to be used with <http://hackage.haskell.org/package/amazonka amazonka>,+ which provides mechanisms for specifying AuthN/AuthZ information, sending requests, and receiving responses.+ .+ It is recommended to use generic lenses or optics from packages such as <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify optional fields and deconstruct responses.+ .+ Generated lenses can be found in "Amazonka.VoiceId.Lens" and are+ suitable for use with a lens package such as <http://hackage.haskell.org/package/lens lens> or <http://hackage.haskell.org/package/lens-family-core lens-family-core>.+ .+ See "Amazonka.VoiceId" and the <https://aws.amazon.com/documentation/ AWS documentation> to get started.++source-repository head+ type: git+ location: git://github.com/brendanhay/amazonka.git+ subdir: amazonka-voice-id++library+ default-language: Haskell2010+ hs-source-dirs: src gen+ ghc-options:+ -Wall -fwarn-incomplete-uni-patterns+ -fwarn-incomplete-record-updates -funbox-strict-fields++ exposed-modules:+ Amazonka.VoiceId+ Amazonka.VoiceId.CreateDomain+ Amazonka.VoiceId.DeleteDomain+ Amazonka.VoiceId.DeleteFraudster+ Amazonka.VoiceId.DeleteSpeaker+ Amazonka.VoiceId.DescribeDomain+ Amazonka.VoiceId.DescribeFraudster+ Amazonka.VoiceId.DescribeFraudsterRegistrationJob+ Amazonka.VoiceId.DescribeSpeaker+ Amazonka.VoiceId.DescribeSpeakerEnrollmentJob+ Amazonka.VoiceId.EvaluateSession+ Amazonka.VoiceId.Lens+ Amazonka.VoiceId.ListDomains+ Amazonka.VoiceId.ListFraudsterRegistrationJobs+ Amazonka.VoiceId.ListSpeakerEnrollmentJobs+ Amazonka.VoiceId.ListSpeakers+ Amazonka.VoiceId.ListTagsForResource+ Amazonka.VoiceId.OptOutSpeaker+ Amazonka.VoiceId.StartFraudsterRegistrationJob+ Amazonka.VoiceId.StartSpeakerEnrollmentJob+ Amazonka.VoiceId.TagResource+ Amazonka.VoiceId.Types+ Amazonka.VoiceId.Types.AuthenticationConfiguration+ Amazonka.VoiceId.Types.AuthenticationDecision+ Amazonka.VoiceId.Types.AuthenticationResult+ Amazonka.VoiceId.Types.Domain+ Amazonka.VoiceId.Types.DomainStatus+ Amazonka.VoiceId.Types.DomainSummary+ Amazonka.VoiceId.Types.DuplicateRegistrationAction+ Amazonka.VoiceId.Types.EnrollmentConfig+ Amazonka.VoiceId.Types.EnrollmentJobFraudDetectionConfig+ Amazonka.VoiceId.Types.ExistingEnrollmentAction+ Amazonka.VoiceId.Types.FailureDetails+ Amazonka.VoiceId.Types.FraudDetectionAction+ Amazonka.VoiceId.Types.FraudDetectionConfiguration+ Amazonka.VoiceId.Types.FraudDetectionDecision+ Amazonka.VoiceId.Types.FraudDetectionReason+ Amazonka.VoiceId.Types.FraudDetectionResult+ Amazonka.VoiceId.Types.FraudRiskDetails+ Amazonka.VoiceId.Types.Fraudster+ Amazonka.VoiceId.Types.FraudsterRegistrationJob+ Amazonka.VoiceId.Types.FraudsterRegistrationJobStatus+ Amazonka.VoiceId.Types.FraudsterRegistrationJobSummary+ Amazonka.VoiceId.Types.InputDataConfig+ Amazonka.VoiceId.Types.JobProgress+ Amazonka.VoiceId.Types.KnownFraudsterRisk+ Amazonka.VoiceId.Types.OutputDataConfig+ Amazonka.VoiceId.Types.RegistrationConfig+ Amazonka.VoiceId.Types.ServerSideEncryptionConfiguration+ Amazonka.VoiceId.Types.ServerSideEncryptionUpdateDetails+ Amazonka.VoiceId.Types.ServerSideEncryptionUpdateStatus+ Amazonka.VoiceId.Types.Speaker+ Amazonka.VoiceId.Types.SpeakerEnrollmentJob+ Amazonka.VoiceId.Types.SpeakerEnrollmentJobStatus+ Amazonka.VoiceId.Types.SpeakerEnrollmentJobSummary+ Amazonka.VoiceId.Types.SpeakerStatus+ Amazonka.VoiceId.Types.SpeakerSummary+ Amazonka.VoiceId.Types.StreamingStatus+ Amazonka.VoiceId.Types.Tag+ Amazonka.VoiceId.Types.VoiceSpoofingRisk+ Amazonka.VoiceId.UntagResource+ Amazonka.VoiceId.UpdateDomain+ Amazonka.VoiceId.Waiters++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , base >=4.12 && <5++test-suite amazonka-voice-id-test+ type: exitcode-stdio-1.0+ default-language: Haskell2010+ hs-source-dirs: test+ main-is: Main.hs+ ghc-options: -Wall -threaded++ -- This section is encoded by the template and any modules added by+ -- hand outside these namespaces will not correctly be added to the+ -- distribution package.+ other-modules:+ Test.Amazonka.Gen.VoiceId+ Test.Amazonka.VoiceId+ Test.Amazonka.VoiceId.Internal++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , amazonka-test >=2.0 && <2.1+ , amazonka-voice-id+ , base+ , bytestring+ , case-insensitive+ , tasty+ , tasty-hunit+ , text+ , time+ , unordered-containers
+ fixture/CreateDomain.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/voiceid/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: voiceid.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateDomainResponse.proto view
+ fixture/DeleteDomain.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/voiceid/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: voiceid.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteDomainResponse.proto view
+ fixture/DeleteFraudster.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/voiceid/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: voiceid.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteFraudsterResponse.proto view
+ fixture/DeleteSpeaker.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/voiceid/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: voiceid.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteSpeakerResponse.proto view
+ fixture/DescribeDomain.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/voiceid/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: voiceid.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DescribeDomainResponse.proto view
+ fixture/DescribeFraudster.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/voiceid/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: voiceid.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DescribeFraudsterRegistrationJob.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/voiceid/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: voiceid.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DescribeFraudsterRegistrationJobResponse.proto view
+ fixture/DescribeFraudsterResponse.proto view
+ fixture/DescribeSpeaker.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/voiceid/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: voiceid.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DescribeSpeakerEnrollmentJob.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/voiceid/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: voiceid.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DescribeSpeakerEnrollmentJobResponse.proto view
+ fixture/DescribeSpeakerResponse.proto view
+ fixture/EvaluateSession.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/voiceid/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: voiceid.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/EvaluateSessionResponse.proto view
+ fixture/ListDomains.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/voiceid/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: voiceid.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListDomainsResponse.proto view
+ fixture/ListFraudsterRegistrationJobs.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/voiceid/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: voiceid.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListFraudsterRegistrationJobsResponse.proto view
+ fixture/ListSpeakerEnrollmentJobs.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/voiceid/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: voiceid.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListSpeakerEnrollmentJobsResponse.proto view
+ fixture/ListSpeakers.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/voiceid/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: voiceid.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListSpeakersResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/voiceid/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: voiceid.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListTagsForResourceResponse.proto view
+ fixture/OptOutSpeaker.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/voiceid/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: voiceid.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/OptOutSpeakerResponse.proto view
+ fixture/StartFraudsterRegistrationJob.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/voiceid/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: voiceid.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/StartFraudsterRegistrationJobResponse.proto view
+ fixture/StartSpeakerEnrollmentJob.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/voiceid/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: voiceid.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/StartSpeakerEnrollmentJobResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/voiceid/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: voiceid.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/TagResourceResponse.proto view
+ fixture/UntagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/voiceid/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: voiceid.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UntagResourceResponse.proto view
+ fixture/UpdateDomain.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/voiceid/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: voiceid.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateDomainResponse.proto view
+ gen/Amazonka/VoiceId.hs view
@@ -0,0 +1,370 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Amazonka.VoiceId+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Derived from API version @2021-09-27@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- Amazon Connect Voice ID provides real-time caller authentication and+-- fraud screening. This guide describes the APIs used for this service.+module Amazonka.VoiceId+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ -- $errors++ -- ** AccessDeniedException+ _AccessDeniedException,++ -- ** ConflictException+ _ConflictException,++ -- ** InternalServerException+ _InternalServerException,++ -- ** ResourceNotFoundException+ _ResourceNotFoundException,++ -- ** ServiceQuotaExceededException+ _ServiceQuotaExceededException,++ -- ** ThrottlingException+ _ThrottlingException,++ -- ** ValidationException+ _ValidationException,++ -- * Waiters+ -- $waiters++ -- * Operations+ -- $operations++ -- ** CreateDomain+ CreateDomain (CreateDomain'),+ newCreateDomain,+ CreateDomainResponse (CreateDomainResponse'),+ newCreateDomainResponse,++ -- ** DeleteDomain+ DeleteDomain (DeleteDomain'),+ newDeleteDomain,+ DeleteDomainResponse (DeleteDomainResponse'),+ newDeleteDomainResponse,++ -- ** DeleteFraudster+ DeleteFraudster (DeleteFraudster'),+ newDeleteFraudster,+ DeleteFraudsterResponse (DeleteFraudsterResponse'),+ newDeleteFraudsterResponse,++ -- ** DeleteSpeaker+ DeleteSpeaker (DeleteSpeaker'),+ newDeleteSpeaker,+ DeleteSpeakerResponse (DeleteSpeakerResponse'),+ newDeleteSpeakerResponse,++ -- ** DescribeDomain+ DescribeDomain (DescribeDomain'),+ newDescribeDomain,+ DescribeDomainResponse (DescribeDomainResponse'),+ newDescribeDomainResponse,++ -- ** DescribeFraudster+ DescribeFraudster (DescribeFraudster'),+ newDescribeFraudster,+ DescribeFraudsterResponse (DescribeFraudsterResponse'),+ newDescribeFraudsterResponse,++ -- ** DescribeFraudsterRegistrationJob+ DescribeFraudsterRegistrationJob (DescribeFraudsterRegistrationJob'),+ newDescribeFraudsterRegistrationJob,+ DescribeFraudsterRegistrationJobResponse (DescribeFraudsterRegistrationJobResponse'),+ newDescribeFraudsterRegistrationJobResponse,++ -- ** DescribeSpeaker+ DescribeSpeaker (DescribeSpeaker'),+ newDescribeSpeaker,+ DescribeSpeakerResponse (DescribeSpeakerResponse'),+ newDescribeSpeakerResponse,++ -- ** DescribeSpeakerEnrollmentJob+ DescribeSpeakerEnrollmentJob (DescribeSpeakerEnrollmentJob'),+ newDescribeSpeakerEnrollmentJob,+ DescribeSpeakerEnrollmentJobResponse (DescribeSpeakerEnrollmentJobResponse'),+ newDescribeSpeakerEnrollmentJobResponse,++ -- ** EvaluateSession+ EvaluateSession (EvaluateSession'),+ newEvaluateSession,+ EvaluateSessionResponse (EvaluateSessionResponse'),+ newEvaluateSessionResponse,++ -- ** ListDomains (Paginated)+ ListDomains (ListDomains'),+ newListDomains,+ ListDomainsResponse (ListDomainsResponse'),+ newListDomainsResponse,++ -- ** ListFraudsterRegistrationJobs (Paginated)+ ListFraudsterRegistrationJobs (ListFraudsterRegistrationJobs'),+ newListFraudsterRegistrationJobs,+ ListFraudsterRegistrationJobsResponse (ListFraudsterRegistrationJobsResponse'),+ newListFraudsterRegistrationJobsResponse,++ -- ** ListSpeakerEnrollmentJobs (Paginated)+ ListSpeakerEnrollmentJobs (ListSpeakerEnrollmentJobs'),+ newListSpeakerEnrollmentJobs,+ ListSpeakerEnrollmentJobsResponse (ListSpeakerEnrollmentJobsResponse'),+ newListSpeakerEnrollmentJobsResponse,++ -- ** ListSpeakers (Paginated)+ ListSpeakers (ListSpeakers'),+ newListSpeakers,+ ListSpeakersResponse (ListSpeakersResponse'),+ newListSpeakersResponse,++ -- ** ListTagsForResource+ ListTagsForResource (ListTagsForResource'),+ newListTagsForResource,+ ListTagsForResourceResponse (ListTagsForResourceResponse'),+ newListTagsForResourceResponse,++ -- ** OptOutSpeaker+ OptOutSpeaker (OptOutSpeaker'),+ newOptOutSpeaker,+ OptOutSpeakerResponse (OptOutSpeakerResponse'),+ newOptOutSpeakerResponse,++ -- ** StartFraudsterRegistrationJob+ StartFraudsterRegistrationJob (StartFraudsterRegistrationJob'),+ newStartFraudsterRegistrationJob,+ StartFraudsterRegistrationJobResponse (StartFraudsterRegistrationJobResponse'),+ newStartFraudsterRegistrationJobResponse,++ -- ** StartSpeakerEnrollmentJob+ StartSpeakerEnrollmentJob (StartSpeakerEnrollmentJob'),+ newStartSpeakerEnrollmentJob,+ StartSpeakerEnrollmentJobResponse (StartSpeakerEnrollmentJobResponse'),+ newStartSpeakerEnrollmentJobResponse,++ -- ** TagResource+ TagResource (TagResource'),+ newTagResource,+ TagResourceResponse (TagResourceResponse'),+ newTagResourceResponse,++ -- ** UntagResource+ UntagResource (UntagResource'),+ newUntagResource,+ UntagResourceResponse (UntagResourceResponse'),+ newUntagResourceResponse,++ -- ** UpdateDomain+ UpdateDomain (UpdateDomain'),+ newUpdateDomain,+ UpdateDomainResponse (UpdateDomainResponse'),+ newUpdateDomainResponse,++ -- * Types++ -- ** AuthenticationDecision+ AuthenticationDecision (..),++ -- ** DomainStatus+ DomainStatus (..),++ -- ** DuplicateRegistrationAction+ DuplicateRegistrationAction (..),++ -- ** ExistingEnrollmentAction+ ExistingEnrollmentAction (..),++ -- ** FraudDetectionAction+ FraudDetectionAction (..),++ -- ** FraudDetectionDecision+ FraudDetectionDecision (..),++ -- ** FraudDetectionReason+ FraudDetectionReason (..),++ -- ** FraudsterRegistrationJobStatus+ FraudsterRegistrationJobStatus (..),++ -- ** ServerSideEncryptionUpdateStatus+ ServerSideEncryptionUpdateStatus (..),++ -- ** SpeakerEnrollmentJobStatus+ SpeakerEnrollmentJobStatus (..),++ -- ** SpeakerStatus+ SpeakerStatus (..),++ -- ** StreamingStatus+ StreamingStatus (..),++ -- ** AuthenticationConfiguration+ AuthenticationConfiguration (AuthenticationConfiguration'),+ newAuthenticationConfiguration,++ -- ** AuthenticationResult+ AuthenticationResult (AuthenticationResult'),+ newAuthenticationResult,++ -- ** Domain+ Domain (Domain'),+ newDomain,++ -- ** DomainSummary+ DomainSummary (DomainSummary'),+ newDomainSummary,++ -- ** EnrollmentConfig+ EnrollmentConfig (EnrollmentConfig'),+ newEnrollmentConfig,++ -- ** EnrollmentJobFraudDetectionConfig+ EnrollmentJobFraudDetectionConfig (EnrollmentJobFraudDetectionConfig'),+ newEnrollmentJobFraudDetectionConfig,++ -- ** FailureDetails+ FailureDetails (FailureDetails'),+ newFailureDetails,++ -- ** FraudDetectionConfiguration+ FraudDetectionConfiguration (FraudDetectionConfiguration'),+ newFraudDetectionConfiguration,++ -- ** FraudDetectionResult+ FraudDetectionResult (FraudDetectionResult'),+ newFraudDetectionResult,++ -- ** FraudRiskDetails+ FraudRiskDetails (FraudRiskDetails'),+ newFraudRiskDetails,++ -- ** Fraudster+ Fraudster (Fraudster'),+ newFraudster,++ -- ** FraudsterRegistrationJob+ FraudsterRegistrationJob (FraudsterRegistrationJob'),+ newFraudsterRegistrationJob,++ -- ** FraudsterRegistrationJobSummary+ FraudsterRegistrationJobSummary (FraudsterRegistrationJobSummary'),+ newFraudsterRegistrationJobSummary,++ -- ** InputDataConfig+ InputDataConfig (InputDataConfig'),+ newInputDataConfig,++ -- ** JobProgress+ JobProgress (JobProgress'),+ newJobProgress,++ -- ** KnownFraudsterRisk+ KnownFraudsterRisk (KnownFraudsterRisk'),+ newKnownFraudsterRisk,++ -- ** OutputDataConfig+ OutputDataConfig (OutputDataConfig'),+ newOutputDataConfig,++ -- ** RegistrationConfig+ RegistrationConfig (RegistrationConfig'),+ newRegistrationConfig,++ -- ** ServerSideEncryptionConfiguration+ ServerSideEncryptionConfiguration (ServerSideEncryptionConfiguration'),+ newServerSideEncryptionConfiguration,++ -- ** ServerSideEncryptionUpdateDetails+ ServerSideEncryptionUpdateDetails (ServerSideEncryptionUpdateDetails'),+ newServerSideEncryptionUpdateDetails,++ -- ** Speaker+ Speaker (Speaker'),+ newSpeaker,++ -- ** SpeakerEnrollmentJob+ SpeakerEnrollmentJob (SpeakerEnrollmentJob'),+ newSpeakerEnrollmentJob,++ -- ** SpeakerEnrollmentJobSummary+ SpeakerEnrollmentJobSummary (SpeakerEnrollmentJobSummary'),+ newSpeakerEnrollmentJobSummary,++ -- ** SpeakerSummary+ SpeakerSummary (SpeakerSummary'),+ newSpeakerSummary,++ -- ** Tag+ Tag (Tag'),+ newTag,++ -- ** VoiceSpoofingRisk+ VoiceSpoofingRisk (VoiceSpoofingRisk'),+ newVoiceSpoofingRisk,+ )+where++import Amazonka.VoiceId.CreateDomain+import Amazonka.VoiceId.DeleteDomain+import Amazonka.VoiceId.DeleteFraudster+import Amazonka.VoiceId.DeleteSpeaker+import Amazonka.VoiceId.DescribeDomain+import Amazonka.VoiceId.DescribeFraudster+import Amazonka.VoiceId.DescribeFraudsterRegistrationJob+import Amazonka.VoiceId.DescribeSpeaker+import Amazonka.VoiceId.DescribeSpeakerEnrollmentJob+import Amazonka.VoiceId.EvaluateSession+import Amazonka.VoiceId.Lens+import Amazonka.VoiceId.ListDomains+import Amazonka.VoiceId.ListFraudsterRegistrationJobs+import Amazonka.VoiceId.ListSpeakerEnrollmentJobs+import Amazonka.VoiceId.ListSpeakers+import Amazonka.VoiceId.ListTagsForResource+import Amazonka.VoiceId.OptOutSpeaker+import Amazonka.VoiceId.StartFraudsterRegistrationJob+import Amazonka.VoiceId.StartSpeakerEnrollmentJob+import Amazonka.VoiceId.TagResource+import Amazonka.VoiceId.Types+import Amazonka.VoiceId.UntagResource+import Amazonka.VoiceId.UpdateDomain+import Amazonka.VoiceId.Waiters++-- $errors+-- Error matchers are designed for use with the functions provided by+-- <http://hackage.haskell.org/package/lens/docs/Control-Exception-Lens.html Control.Exception.Lens>.+-- This allows catching (and rethrowing) service specific errors returned+-- by 'VoiceId'.++-- $operations+-- Some AWS operations return results that are incomplete and require subsequent+-- requests in order to obtain the entire result set. The process of sending+-- subsequent requests to continue where a previous request left off is called+-- pagination. For example, the 'ListObjects' operation of Amazon S3 returns up to+-- 1000 objects at a time, and you must send subsequent requests with the+-- appropriate Marker in order to retrieve the next page of results.+--+-- Operations that have an 'AWSPager' instance can transparently perform subsequent+-- requests, correctly setting Markers and other request facets to iterate through+-- the entire result set of a truncated API operation. Operations which support+-- this have an additional note in the documentation.+--+-- Many operations have the ability to filter results on the server side. See the+-- individual operation parameters for details.++-- $waiters+-- Waiters poll by repeatedly sending a request until some remote success condition+-- configured by the 'Wait' specification is fulfilled. The 'Wait' specification+-- determines how many attempts should be made, in addition to delay and retry strategies.
+ gen/Amazonka/VoiceId/CreateDomain.hs view
@@ -0,0 +1,241 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.CreateDomain+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a domain that contains all Amazon Connect Voice ID data, such as+-- speakers, fraudsters, customer audio, and voiceprints.+module Amazonka.VoiceId.CreateDomain+ ( -- * Creating a Request+ CreateDomain (..),+ newCreateDomain,++ -- * Request Lenses+ createDomain_clientToken,+ createDomain_description,+ createDomain_tags,+ createDomain_name,+ createDomain_serverSideEncryptionConfiguration,++ -- * Destructuring the Response+ CreateDomainResponse (..),+ newCreateDomainResponse,++ -- * Response Lenses+ createDomainResponse_domain,+ createDomainResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.VoiceId.Types++-- | /See:/ 'newCreateDomain' smart constructor.+data CreateDomain = CreateDomain'+ { -- | The idempotency token for creating a new domain. If not provided, Amazon+ -- Web Services SDK populates this field.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | A brief description of the domain.+ description :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | A list of tags you want added to the domain.+ tags :: Prelude.Maybe [Tag],+ -- | The name of the domain.+ name :: Data.Sensitive Prelude.Text,+ -- | The configuration, containing the KMS key identifier, to be used by+ -- Voice ID for the server-side encryption of your data. Refer to+ -- <https://docs.aws.amazon.com/connect/latest/adminguide/encryption-at-rest.html#encryption-at-rest-voiceid Amazon Connect Voice ID encryption at rest>+ -- for more details on how the KMS key is used.+ serverSideEncryptionConfiguration :: ServerSideEncryptionConfiguration+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDomain' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'createDomain_clientToken' - The idempotency token for creating a new domain. If not provided, Amazon+-- Web Services SDK populates this field.+--+-- 'description', 'createDomain_description' - A brief description of the domain.+--+-- 'tags', 'createDomain_tags' - A list of tags you want added to the domain.+--+-- 'name', 'createDomain_name' - The name of the domain.+--+-- 'serverSideEncryptionConfiguration', 'createDomain_serverSideEncryptionConfiguration' - The configuration, containing the KMS key identifier, to be used by+-- Voice ID for the server-side encryption of your data. Refer to+-- <https://docs.aws.amazon.com/connect/latest/adminguide/encryption-at-rest.html#encryption-at-rest-voiceid Amazon Connect Voice ID encryption at rest>+-- for more details on how the KMS key is used.+newCreateDomain ::+ -- | 'name'+ Prelude.Text ->+ -- | 'serverSideEncryptionConfiguration'+ ServerSideEncryptionConfiguration ->+ CreateDomain+newCreateDomain+ pName_+ pServerSideEncryptionConfiguration_ =+ CreateDomain'+ { clientToken = Prelude.Nothing,+ description = Prelude.Nothing,+ tags = Prelude.Nothing,+ name = Data._Sensitive Lens.# pName_,+ serverSideEncryptionConfiguration =+ pServerSideEncryptionConfiguration_+ }++-- | The idempotency token for creating a new domain. If not provided, Amazon+-- Web Services SDK populates this field.+createDomain_clientToken :: Lens.Lens' CreateDomain (Prelude.Maybe Prelude.Text)+createDomain_clientToken = Lens.lens (\CreateDomain' {clientToken} -> clientToken) (\s@CreateDomain' {} a -> s {clientToken = a} :: CreateDomain)++-- | A brief description of the domain.+createDomain_description :: Lens.Lens' CreateDomain (Prelude.Maybe Prelude.Text)+createDomain_description = Lens.lens (\CreateDomain' {description} -> description) (\s@CreateDomain' {} a -> s {description = a} :: CreateDomain) Prelude.. Lens.mapping Data._Sensitive++-- | A list of tags you want added to the domain.+createDomain_tags :: Lens.Lens' CreateDomain (Prelude.Maybe [Tag])+createDomain_tags = Lens.lens (\CreateDomain' {tags} -> tags) (\s@CreateDomain' {} a -> s {tags = a} :: CreateDomain) Prelude.. Lens.mapping Lens.coerced++-- | The name of the domain.+createDomain_name :: Lens.Lens' CreateDomain Prelude.Text+createDomain_name = Lens.lens (\CreateDomain' {name} -> name) (\s@CreateDomain' {} a -> s {name = a} :: CreateDomain) Prelude.. Data._Sensitive++-- | The configuration, containing the KMS key identifier, to be used by+-- Voice ID for the server-side encryption of your data. Refer to+-- <https://docs.aws.amazon.com/connect/latest/adminguide/encryption-at-rest.html#encryption-at-rest-voiceid Amazon Connect Voice ID encryption at rest>+-- for more details on how the KMS key is used.+createDomain_serverSideEncryptionConfiguration :: Lens.Lens' CreateDomain ServerSideEncryptionConfiguration+createDomain_serverSideEncryptionConfiguration = Lens.lens (\CreateDomain' {serverSideEncryptionConfiguration} -> serverSideEncryptionConfiguration) (\s@CreateDomain' {} a -> s {serverSideEncryptionConfiguration = a} :: CreateDomain)++instance Core.AWSRequest CreateDomain where+ type AWSResponse CreateDomain = CreateDomainResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateDomainResponse'+ Prelude.<$> (x Data..?> "Domain")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateDomain where+ hashWithSalt _salt CreateDomain' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` serverSideEncryptionConfiguration++instance Prelude.NFData CreateDomain where+ rnf CreateDomain' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf serverSideEncryptionConfiguration++instance Data.ToHeaders CreateDomain where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ("VoiceID.CreateDomain" :: Prelude.ByteString),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateDomain where+ toJSON CreateDomain' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ClientToken" Data..=) Prelude.<$> clientToken,+ ("Description" Data..=) Prelude.<$> description,+ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("Name" Data..= name),+ Prelude.Just+ ( "ServerSideEncryptionConfiguration"+ Data..= serverSideEncryptionConfiguration+ )+ ]+ )++instance Data.ToPath CreateDomain where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateDomain where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateDomainResponse' smart constructor.+data CreateDomainResponse = CreateDomainResponse'+ { -- | Information about the newly created domain.+ domain :: Prelude.Maybe Domain,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDomainResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domain', 'createDomainResponse_domain' - Information about the newly created domain.+--+-- 'httpStatus', 'createDomainResponse_httpStatus' - The response's http status code.+newCreateDomainResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateDomainResponse+newCreateDomainResponse pHttpStatus_ =+ CreateDomainResponse'+ { domain = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Information about the newly created domain.+createDomainResponse_domain :: Lens.Lens' CreateDomainResponse (Prelude.Maybe Domain)+createDomainResponse_domain = Lens.lens (\CreateDomainResponse' {domain} -> domain) (\s@CreateDomainResponse' {} a -> s {domain = a} :: CreateDomainResponse)++-- | The response's http status code.+createDomainResponse_httpStatus :: Lens.Lens' CreateDomainResponse Prelude.Int+createDomainResponse_httpStatus = Lens.lens (\CreateDomainResponse' {httpStatus} -> httpStatus) (\s@CreateDomainResponse' {} a -> s {httpStatus = a} :: CreateDomainResponse)++instance Prelude.NFData CreateDomainResponse where+ rnf CreateDomainResponse' {..} =+ Prelude.rnf domain+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/VoiceId/DeleteDomain.hs view
@@ -0,0 +1,127 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.DeleteDomain+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the specified domain from Voice ID.+module Amazonka.VoiceId.DeleteDomain+ ( -- * Creating a Request+ DeleteDomain (..),+ newDeleteDomain,++ -- * Request Lenses+ deleteDomain_domainId,++ -- * Destructuring the Response+ DeleteDomainResponse (..),+ newDeleteDomainResponse,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.VoiceId.Types++-- | /See:/ 'newDeleteDomain' smart constructor.+data DeleteDomain = DeleteDomain'+ { -- | The identifier of the domain you want to delete.+ domainId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDomain' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domainId', 'deleteDomain_domainId' - The identifier of the domain you want to delete.+newDeleteDomain ::+ -- | 'domainId'+ Prelude.Text ->+ DeleteDomain+newDeleteDomain pDomainId_ =+ DeleteDomain' {domainId = pDomainId_}++-- | The identifier of the domain you want to delete.+deleteDomain_domainId :: Lens.Lens' DeleteDomain Prelude.Text+deleteDomain_domainId = Lens.lens (\DeleteDomain' {domainId} -> domainId) (\s@DeleteDomain' {} a -> s {domainId = a} :: DeleteDomain)++instance Core.AWSRequest DeleteDomain where+ type AWSResponse DeleteDomain = DeleteDomainResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response = Response.receiveNull DeleteDomainResponse'++instance Prelude.Hashable DeleteDomain where+ hashWithSalt _salt DeleteDomain' {..} =+ _salt `Prelude.hashWithSalt` domainId++instance Prelude.NFData DeleteDomain where+ rnf DeleteDomain' {..} = Prelude.rnf domainId++instance Data.ToHeaders DeleteDomain where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ("VoiceID.DeleteDomain" :: Prelude.ByteString),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteDomain where+ toJSON DeleteDomain' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("DomainId" Data..= domainId)]+ )++instance Data.ToPath DeleteDomain where+ toPath = Prelude.const "/"++instance Data.ToQuery DeleteDomain where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteDomainResponse' smart constructor.+data DeleteDomainResponse = DeleteDomainResponse'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDomainResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDeleteDomainResponse ::+ DeleteDomainResponse+newDeleteDomainResponse = DeleteDomainResponse'++instance Prelude.NFData DeleteDomainResponse where+ rnf _ = ()
+ gen/Amazonka/VoiceId/DeleteFraudster.hs view
@@ -0,0 +1,150 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.DeleteFraudster+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the specified fraudster from Voice ID.+module Amazonka.VoiceId.DeleteFraudster+ ( -- * Creating a Request+ DeleteFraudster (..),+ newDeleteFraudster,++ -- * Request Lenses+ deleteFraudster_domainId,+ deleteFraudster_fraudsterId,++ -- * Destructuring the Response+ DeleteFraudsterResponse (..),+ newDeleteFraudsterResponse,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.VoiceId.Types++-- | /See:/ 'newDeleteFraudster' smart constructor.+data DeleteFraudster = DeleteFraudster'+ { -- | The identifier of the domain containing the fraudster.+ domainId :: Prelude.Text,+ -- | The identifier of the fraudster you want to delete.+ fraudsterId :: Data.Sensitive Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteFraudster' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domainId', 'deleteFraudster_domainId' - The identifier of the domain containing the fraudster.+--+-- 'fraudsterId', 'deleteFraudster_fraudsterId' - The identifier of the fraudster you want to delete.+newDeleteFraudster ::+ -- | 'domainId'+ Prelude.Text ->+ -- | 'fraudsterId'+ Prelude.Text ->+ DeleteFraudster+newDeleteFraudster pDomainId_ pFraudsterId_ =+ DeleteFraudster'+ { domainId = pDomainId_,+ fraudsterId = Data._Sensitive Lens.# pFraudsterId_+ }++-- | The identifier of the domain containing the fraudster.+deleteFraudster_domainId :: Lens.Lens' DeleteFraudster Prelude.Text+deleteFraudster_domainId = Lens.lens (\DeleteFraudster' {domainId} -> domainId) (\s@DeleteFraudster' {} a -> s {domainId = a} :: DeleteFraudster)++-- | The identifier of the fraudster you want to delete.+deleteFraudster_fraudsterId :: Lens.Lens' DeleteFraudster Prelude.Text+deleteFraudster_fraudsterId = Lens.lens (\DeleteFraudster' {fraudsterId} -> fraudsterId) (\s@DeleteFraudster' {} a -> s {fraudsterId = a} :: DeleteFraudster) Prelude.. Data._Sensitive++instance Core.AWSRequest DeleteFraudster where+ type+ AWSResponse DeleteFraudster =+ DeleteFraudsterResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveNull DeleteFraudsterResponse'++instance Prelude.Hashable DeleteFraudster where+ hashWithSalt _salt DeleteFraudster' {..} =+ _salt+ `Prelude.hashWithSalt` domainId+ `Prelude.hashWithSalt` fraudsterId++instance Prelude.NFData DeleteFraudster where+ rnf DeleteFraudster' {..} =+ Prelude.rnf domainId+ `Prelude.seq` Prelude.rnf fraudsterId++instance Data.ToHeaders DeleteFraudster where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ("VoiceID.DeleteFraudster" :: Prelude.ByteString),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteFraudster where+ toJSON DeleteFraudster' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("DomainId" Data..= domainId),+ Prelude.Just ("FraudsterId" Data..= fraudsterId)+ ]+ )++instance Data.ToPath DeleteFraudster where+ toPath = Prelude.const "/"++instance Data.ToQuery DeleteFraudster where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteFraudsterResponse' smart constructor.+data DeleteFraudsterResponse = DeleteFraudsterResponse'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteFraudsterResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDeleteFraudsterResponse ::+ DeleteFraudsterResponse+newDeleteFraudsterResponse = DeleteFraudsterResponse'++instance Prelude.NFData DeleteFraudsterResponse where+ rnf _ = ()
+ gen/Amazonka/VoiceId/DeleteSpeaker.hs view
@@ -0,0 +1,150 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.DeleteSpeaker+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the specified speaker from Voice ID.+module Amazonka.VoiceId.DeleteSpeaker+ ( -- * Creating a Request+ DeleteSpeaker (..),+ newDeleteSpeaker,++ -- * Request Lenses+ deleteSpeaker_domainId,+ deleteSpeaker_speakerId,++ -- * Destructuring the Response+ DeleteSpeakerResponse (..),+ newDeleteSpeakerResponse,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.VoiceId.Types++-- | /See:/ 'newDeleteSpeaker' smart constructor.+data DeleteSpeaker = DeleteSpeaker'+ { -- | The identifier of the domain containing the speaker.+ domainId :: Prelude.Text,+ -- | The identifier of the speaker you want to delete.+ speakerId :: Data.Sensitive Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteSpeaker' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domainId', 'deleteSpeaker_domainId' - The identifier of the domain containing the speaker.+--+-- 'speakerId', 'deleteSpeaker_speakerId' - The identifier of the speaker you want to delete.+newDeleteSpeaker ::+ -- | 'domainId'+ Prelude.Text ->+ -- | 'speakerId'+ Prelude.Text ->+ DeleteSpeaker+newDeleteSpeaker pDomainId_ pSpeakerId_ =+ DeleteSpeaker'+ { domainId = pDomainId_,+ speakerId = Data._Sensitive Lens.# pSpeakerId_+ }++-- | The identifier of the domain containing the speaker.+deleteSpeaker_domainId :: Lens.Lens' DeleteSpeaker Prelude.Text+deleteSpeaker_domainId = Lens.lens (\DeleteSpeaker' {domainId} -> domainId) (\s@DeleteSpeaker' {} a -> s {domainId = a} :: DeleteSpeaker)++-- | The identifier of the speaker you want to delete.+deleteSpeaker_speakerId :: Lens.Lens' DeleteSpeaker Prelude.Text+deleteSpeaker_speakerId = Lens.lens (\DeleteSpeaker' {speakerId} -> speakerId) (\s@DeleteSpeaker' {} a -> s {speakerId = a} :: DeleteSpeaker) Prelude.. Data._Sensitive++instance Core.AWSRequest DeleteSpeaker where+ type+ AWSResponse DeleteSpeaker =+ DeleteSpeakerResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveNull DeleteSpeakerResponse'++instance Prelude.Hashable DeleteSpeaker where+ hashWithSalt _salt DeleteSpeaker' {..} =+ _salt+ `Prelude.hashWithSalt` domainId+ `Prelude.hashWithSalt` speakerId++instance Prelude.NFData DeleteSpeaker where+ rnf DeleteSpeaker' {..} =+ Prelude.rnf domainId+ `Prelude.seq` Prelude.rnf speakerId++instance Data.ToHeaders DeleteSpeaker where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ("VoiceID.DeleteSpeaker" :: Prelude.ByteString),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteSpeaker where+ toJSON DeleteSpeaker' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("DomainId" Data..= domainId),+ Prelude.Just ("SpeakerId" Data..= speakerId)+ ]+ )++instance Data.ToPath DeleteSpeaker where+ toPath = Prelude.const "/"++instance Data.ToQuery DeleteSpeaker where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteSpeakerResponse' smart constructor.+data DeleteSpeakerResponse = DeleteSpeakerResponse'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteSpeakerResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDeleteSpeakerResponse ::+ DeleteSpeakerResponse+newDeleteSpeakerResponse = DeleteSpeakerResponse'++instance Prelude.NFData DeleteSpeakerResponse where+ rnf _ = ()
+ gen/Amazonka/VoiceId/DescribeDomain.hs view
@@ -0,0 +1,165 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.DescribeDomain+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes the specified domain.+module Amazonka.VoiceId.DescribeDomain+ ( -- * Creating a Request+ DescribeDomain (..),+ newDescribeDomain,++ -- * Request Lenses+ describeDomain_domainId,++ -- * Destructuring the Response+ DescribeDomainResponse (..),+ newDescribeDomainResponse,++ -- * Response Lenses+ describeDomainResponse_domain,+ describeDomainResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.VoiceId.Types++-- | /See:/ 'newDescribeDomain' smart constructor.+data DescribeDomain = DescribeDomain'+ { -- | The identifier of the domain you are describing.+ domainId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDomain' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domainId', 'describeDomain_domainId' - The identifier of the domain you are describing.+newDescribeDomain ::+ -- | 'domainId'+ Prelude.Text ->+ DescribeDomain+newDescribeDomain pDomainId_ =+ DescribeDomain' {domainId = pDomainId_}++-- | The identifier of the domain you are describing.+describeDomain_domainId :: Lens.Lens' DescribeDomain Prelude.Text+describeDomain_domainId = Lens.lens (\DescribeDomain' {domainId} -> domainId) (\s@DescribeDomain' {} a -> s {domainId = a} :: DescribeDomain)++instance Core.AWSRequest DescribeDomain where+ type+ AWSResponse DescribeDomain =+ DescribeDomainResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeDomainResponse'+ Prelude.<$> (x Data..?> "Domain")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeDomain where+ hashWithSalt _salt DescribeDomain' {..} =+ _salt `Prelude.hashWithSalt` domainId++instance Prelude.NFData DescribeDomain where+ rnf DescribeDomain' {..} = Prelude.rnf domainId++instance Data.ToHeaders DescribeDomain where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ("VoiceID.DescribeDomain" :: Prelude.ByteString),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DescribeDomain where+ toJSON DescribeDomain' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("DomainId" Data..= domainId)]+ )++instance Data.ToPath DescribeDomain where+ toPath = Prelude.const "/"++instance Data.ToQuery DescribeDomain where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeDomainResponse' smart constructor.+data DescribeDomainResponse = DescribeDomainResponse'+ { -- | Information about the specified domain.+ domain :: Prelude.Maybe Domain,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDomainResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domain', 'describeDomainResponse_domain' - Information about the specified domain.+--+-- 'httpStatus', 'describeDomainResponse_httpStatus' - The response's http status code.+newDescribeDomainResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeDomainResponse+newDescribeDomainResponse pHttpStatus_ =+ DescribeDomainResponse'+ { domain = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Information about the specified domain.+describeDomainResponse_domain :: Lens.Lens' DescribeDomainResponse (Prelude.Maybe Domain)+describeDomainResponse_domain = Lens.lens (\DescribeDomainResponse' {domain} -> domain) (\s@DescribeDomainResponse' {} a -> s {domain = a} :: DescribeDomainResponse)++-- | The response's http status code.+describeDomainResponse_httpStatus :: Lens.Lens' DescribeDomainResponse Prelude.Int+describeDomainResponse_httpStatus = Lens.lens (\DescribeDomainResponse' {httpStatus} -> httpStatus) (\s@DescribeDomainResponse' {} a -> s {httpStatus = a} :: DescribeDomainResponse)++instance Prelude.NFData DescribeDomainResponse where+ rnf DescribeDomainResponse' {..} =+ Prelude.rnf domain+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/VoiceId/DescribeFraudster.hs view
@@ -0,0 +1,186 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.DescribeFraudster+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes the specified fraudster.+module Amazonka.VoiceId.DescribeFraudster+ ( -- * Creating a Request+ DescribeFraudster (..),+ newDescribeFraudster,++ -- * Request Lenses+ describeFraudster_domainId,+ describeFraudster_fraudsterId,++ -- * Destructuring the Response+ DescribeFraudsterResponse (..),+ newDescribeFraudsterResponse,++ -- * Response Lenses+ describeFraudsterResponse_fraudster,+ describeFraudsterResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.VoiceId.Types++-- | /See:/ 'newDescribeFraudster' smart constructor.+data DescribeFraudster = DescribeFraudster'+ { -- | The identifier of the domain containing the fraudster.+ domainId :: Prelude.Text,+ -- | The identifier of the fraudster you are describing.+ fraudsterId :: Data.Sensitive Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeFraudster' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domainId', 'describeFraudster_domainId' - The identifier of the domain containing the fraudster.+--+-- 'fraudsterId', 'describeFraudster_fraudsterId' - The identifier of the fraudster you are describing.+newDescribeFraudster ::+ -- | 'domainId'+ Prelude.Text ->+ -- | 'fraudsterId'+ Prelude.Text ->+ DescribeFraudster+newDescribeFraudster pDomainId_ pFraudsterId_ =+ DescribeFraudster'+ { domainId = pDomainId_,+ fraudsterId = Data._Sensitive Lens.# pFraudsterId_+ }++-- | The identifier of the domain containing the fraudster.+describeFraudster_domainId :: Lens.Lens' DescribeFraudster Prelude.Text+describeFraudster_domainId = Lens.lens (\DescribeFraudster' {domainId} -> domainId) (\s@DescribeFraudster' {} a -> s {domainId = a} :: DescribeFraudster)++-- | The identifier of the fraudster you are describing.+describeFraudster_fraudsterId :: Lens.Lens' DescribeFraudster Prelude.Text+describeFraudster_fraudsterId = Lens.lens (\DescribeFraudster' {fraudsterId} -> fraudsterId) (\s@DescribeFraudster' {} a -> s {fraudsterId = a} :: DescribeFraudster) Prelude.. Data._Sensitive++instance Core.AWSRequest DescribeFraudster where+ type+ AWSResponse DescribeFraudster =+ DescribeFraudsterResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeFraudsterResponse'+ Prelude.<$> (x Data..?> "Fraudster")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeFraudster where+ hashWithSalt _salt DescribeFraudster' {..} =+ _salt+ `Prelude.hashWithSalt` domainId+ `Prelude.hashWithSalt` fraudsterId++instance Prelude.NFData DescribeFraudster where+ rnf DescribeFraudster' {..} =+ Prelude.rnf domainId+ `Prelude.seq` Prelude.rnf fraudsterId++instance Data.ToHeaders DescribeFraudster where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ("VoiceID.DescribeFraudster" :: Prelude.ByteString),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DescribeFraudster where+ toJSON DescribeFraudster' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("DomainId" Data..= domainId),+ Prelude.Just ("FraudsterId" Data..= fraudsterId)+ ]+ )++instance Data.ToPath DescribeFraudster where+ toPath = Prelude.const "/"++instance Data.ToQuery DescribeFraudster where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeFraudsterResponse' smart constructor.+data DescribeFraudsterResponse = DescribeFraudsterResponse'+ { -- | Information about the specified fraudster.+ fraudster :: Prelude.Maybe Fraudster,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeFraudsterResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fraudster', 'describeFraudsterResponse_fraudster' - Information about the specified fraudster.+--+-- 'httpStatus', 'describeFraudsterResponse_httpStatus' - The response's http status code.+newDescribeFraudsterResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeFraudsterResponse+newDescribeFraudsterResponse pHttpStatus_ =+ DescribeFraudsterResponse'+ { fraudster =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Information about the specified fraudster.+describeFraudsterResponse_fraudster :: Lens.Lens' DescribeFraudsterResponse (Prelude.Maybe Fraudster)+describeFraudsterResponse_fraudster = Lens.lens (\DescribeFraudsterResponse' {fraudster} -> fraudster) (\s@DescribeFraudsterResponse' {} a -> s {fraudster = a} :: DescribeFraudsterResponse)++-- | The response's http status code.+describeFraudsterResponse_httpStatus :: Lens.Lens' DescribeFraudsterResponse Prelude.Int+describeFraudsterResponse_httpStatus = Lens.lens (\DescribeFraudsterResponse' {httpStatus} -> httpStatus) (\s@DescribeFraudsterResponse' {} a -> s {httpStatus = a} :: DescribeFraudsterResponse)++instance Prelude.NFData DescribeFraudsterResponse where+ rnf DescribeFraudsterResponse' {..} =+ Prelude.rnf fraudster+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/VoiceId/DescribeFraudsterRegistrationJob.hs view
@@ -0,0 +1,212 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.DescribeFraudsterRegistrationJob+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes the specified fraudster registration job.+module Amazonka.VoiceId.DescribeFraudsterRegistrationJob+ ( -- * Creating a Request+ DescribeFraudsterRegistrationJob (..),+ newDescribeFraudsterRegistrationJob,++ -- * Request Lenses+ describeFraudsterRegistrationJob_domainId,+ describeFraudsterRegistrationJob_jobId,++ -- * Destructuring the Response+ DescribeFraudsterRegistrationJobResponse (..),+ newDescribeFraudsterRegistrationJobResponse,++ -- * Response Lenses+ describeFraudsterRegistrationJobResponse_job,+ describeFraudsterRegistrationJobResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.VoiceId.Types++-- | /See:/ 'newDescribeFraudsterRegistrationJob' smart constructor.+data DescribeFraudsterRegistrationJob = DescribeFraudsterRegistrationJob'+ { -- | The identifier for the domain containing the fraudster registration job.+ domainId :: Prelude.Text,+ -- | The identifier for the fraudster registration job you are describing.+ jobId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeFraudsterRegistrationJob' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domainId', 'describeFraudsterRegistrationJob_domainId' - The identifier for the domain containing the fraudster registration job.+--+-- 'jobId', 'describeFraudsterRegistrationJob_jobId' - The identifier for the fraudster registration job you are describing.+newDescribeFraudsterRegistrationJob ::+ -- | 'domainId'+ Prelude.Text ->+ -- | 'jobId'+ Prelude.Text ->+ DescribeFraudsterRegistrationJob+newDescribeFraudsterRegistrationJob+ pDomainId_+ pJobId_ =+ DescribeFraudsterRegistrationJob'+ { domainId =+ pDomainId_,+ jobId = pJobId_+ }++-- | The identifier for the domain containing the fraudster registration job.+describeFraudsterRegistrationJob_domainId :: Lens.Lens' DescribeFraudsterRegistrationJob Prelude.Text+describeFraudsterRegistrationJob_domainId = Lens.lens (\DescribeFraudsterRegistrationJob' {domainId} -> domainId) (\s@DescribeFraudsterRegistrationJob' {} a -> s {domainId = a} :: DescribeFraudsterRegistrationJob)++-- | The identifier for the fraudster registration job you are describing.+describeFraudsterRegistrationJob_jobId :: Lens.Lens' DescribeFraudsterRegistrationJob Prelude.Text+describeFraudsterRegistrationJob_jobId = Lens.lens (\DescribeFraudsterRegistrationJob' {jobId} -> jobId) (\s@DescribeFraudsterRegistrationJob' {} a -> s {jobId = a} :: DescribeFraudsterRegistrationJob)++instance+ Core.AWSRequest+ DescribeFraudsterRegistrationJob+ where+ type+ AWSResponse DescribeFraudsterRegistrationJob =+ DescribeFraudsterRegistrationJobResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeFraudsterRegistrationJobResponse'+ Prelude.<$> (x Data..?> "Job")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ DescribeFraudsterRegistrationJob+ where+ hashWithSalt+ _salt+ DescribeFraudsterRegistrationJob' {..} =+ _salt+ `Prelude.hashWithSalt` domainId+ `Prelude.hashWithSalt` jobId++instance+ Prelude.NFData+ DescribeFraudsterRegistrationJob+ where+ rnf DescribeFraudsterRegistrationJob' {..} =+ Prelude.rnf domainId+ `Prelude.seq` Prelude.rnf jobId++instance+ Data.ToHeaders+ DescribeFraudsterRegistrationJob+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "VoiceID.DescribeFraudsterRegistrationJob" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DescribeFraudsterRegistrationJob where+ toJSON DescribeFraudsterRegistrationJob' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("DomainId" Data..= domainId),+ Prelude.Just ("JobId" Data..= jobId)+ ]+ )++instance Data.ToPath DescribeFraudsterRegistrationJob where+ toPath = Prelude.const "/"++instance+ Data.ToQuery+ DescribeFraudsterRegistrationJob+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeFraudsterRegistrationJobResponse' smart constructor.+data DescribeFraudsterRegistrationJobResponse = DescribeFraudsterRegistrationJobResponse'+ { -- | Contains details about the specified fraudster registration job.+ job :: Prelude.Maybe FraudsterRegistrationJob,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeFraudsterRegistrationJobResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'job', 'describeFraudsterRegistrationJobResponse_job' - Contains details about the specified fraudster registration job.+--+-- 'httpStatus', 'describeFraudsterRegistrationJobResponse_httpStatus' - The response's http status code.+newDescribeFraudsterRegistrationJobResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeFraudsterRegistrationJobResponse+newDescribeFraudsterRegistrationJobResponse+ pHttpStatus_ =+ DescribeFraudsterRegistrationJobResponse'+ { job =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Contains details about the specified fraudster registration job.+describeFraudsterRegistrationJobResponse_job :: Lens.Lens' DescribeFraudsterRegistrationJobResponse (Prelude.Maybe FraudsterRegistrationJob)+describeFraudsterRegistrationJobResponse_job = Lens.lens (\DescribeFraudsterRegistrationJobResponse' {job} -> job) (\s@DescribeFraudsterRegistrationJobResponse' {} a -> s {job = a} :: DescribeFraudsterRegistrationJobResponse)++-- | The response's http status code.+describeFraudsterRegistrationJobResponse_httpStatus :: Lens.Lens' DescribeFraudsterRegistrationJobResponse Prelude.Int+describeFraudsterRegistrationJobResponse_httpStatus = Lens.lens (\DescribeFraudsterRegistrationJobResponse' {httpStatus} -> httpStatus) (\s@DescribeFraudsterRegistrationJobResponse' {} a -> s {httpStatus = a} :: DescribeFraudsterRegistrationJobResponse)++instance+ Prelude.NFData+ DescribeFraudsterRegistrationJobResponse+ where+ rnf DescribeFraudsterRegistrationJobResponse' {..} =+ Prelude.rnf job+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/VoiceId/DescribeSpeaker.hs view
@@ -0,0 +1,185 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.DescribeSpeaker+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes the specified speaker.+module Amazonka.VoiceId.DescribeSpeaker+ ( -- * Creating a Request+ DescribeSpeaker (..),+ newDescribeSpeaker,++ -- * Request Lenses+ describeSpeaker_domainId,+ describeSpeaker_speakerId,++ -- * Destructuring the Response+ DescribeSpeakerResponse (..),+ newDescribeSpeakerResponse,++ -- * Response Lenses+ describeSpeakerResponse_speaker,+ describeSpeakerResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.VoiceId.Types++-- | /See:/ 'newDescribeSpeaker' smart constructor.+data DescribeSpeaker = DescribeSpeaker'+ { -- | The identifier of the domain that contains the speaker.+ domainId :: Prelude.Text,+ -- | The identifier of the speaker you are describing.+ speakerId :: Data.Sensitive Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeSpeaker' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domainId', 'describeSpeaker_domainId' - The identifier of the domain that contains the speaker.+--+-- 'speakerId', 'describeSpeaker_speakerId' - The identifier of the speaker you are describing.+newDescribeSpeaker ::+ -- | 'domainId'+ Prelude.Text ->+ -- | 'speakerId'+ Prelude.Text ->+ DescribeSpeaker+newDescribeSpeaker pDomainId_ pSpeakerId_ =+ DescribeSpeaker'+ { domainId = pDomainId_,+ speakerId = Data._Sensitive Lens.# pSpeakerId_+ }++-- | The identifier of the domain that contains the speaker.+describeSpeaker_domainId :: Lens.Lens' DescribeSpeaker Prelude.Text+describeSpeaker_domainId = Lens.lens (\DescribeSpeaker' {domainId} -> domainId) (\s@DescribeSpeaker' {} a -> s {domainId = a} :: DescribeSpeaker)++-- | The identifier of the speaker you are describing.+describeSpeaker_speakerId :: Lens.Lens' DescribeSpeaker Prelude.Text+describeSpeaker_speakerId = Lens.lens (\DescribeSpeaker' {speakerId} -> speakerId) (\s@DescribeSpeaker' {} a -> s {speakerId = a} :: DescribeSpeaker) Prelude.. Data._Sensitive++instance Core.AWSRequest DescribeSpeaker where+ type+ AWSResponse DescribeSpeaker =+ DescribeSpeakerResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeSpeakerResponse'+ Prelude.<$> (x Data..?> "Speaker")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeSpeaker where+ hashWithSalt _salt DescribeSpeaker' {..} =+ _salt+ `Prelude.hashWithSalt` domainId+ `Prelude.hashWithSalt` speakerId++instance Prelude.NFData DescribeSpeaker where+ rnf DescribeSpeaker' {..} =+ Prelude.rnf domainId+ `Prelude.seq` Prelude.rnf speakerId++instance Data.ToHeaders DescribeSpeaker where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ("VoiceID.DescribeSpeaker" :: Prelude.ByteString),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DescribeSpeaker where+ toJSON DescribeSpeaker' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("DomainId" Data..= domainId),+ Prelude.Just ("SpeakerId" Data..= speakerId)+ ]+ )++instance Data.ToPath DescribeSpeaker where+ toPath = Prelude.const "/"++instance Data.ToQuery DescribeSpeaker where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeSpeakerResponse' smart constructor.+data DescribeSpeakerResponse = DescribeSpeakerResponse'+ { -- | Information about the specified speaker.+ speaker :: Prelude.Maybe Speaker,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeSpeakerResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'speaker', 'describeSpeakerResponse_speaker' - Information about the specified speaker.+--+-- 'httpStatus', 'describeSpeakerResponse_httpStatus' - The response's http status code.+newDescribeSpeakerResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeSpeakerResponse+newDescribeSpeakerResponse pHttpStatus_ =+ DescribeSpeakerResponse'+ { speaker = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Information about the specified speaker.+describeSpeakerResponse_speaker :: Lens.Lens' DescribeSpeakerResponse (Prelude.Maybe Speaker)+describeSpeakerResponse_speaker = Lens.lens (\DescribeSpeakerResponse' {speaker} -> speaker) (\s@DescribeSpeakerResponse' {} a -> s {speaker = a} :: DescribeSpeakerResponse)++-- | The response's http status code.+describeSpeakerResponse_httpStatus :: Lens.Lens' DescribeSpeakerResponse Prelude.Int+describeSpeakerResponse_httpStatus = Lens.lens (\DescribeSpeakerResponse' {httpStatus} -> httpStatus) (\s@DescribeSpeakerResponse' {} a -> s {httpStatus = a} :: DescribeSpeakerResponse)++instance Prelude.NFData DescribeSpeakerResponse where+ rnf DescribeSpeakerResponse' {..} =+ Prelude.rnf speaker+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/VoiceId/DescribeSpeakerEnrollmentJob.hs view
@@ -0,0 +1,195 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.DescribeSpeakerEnrollmentJob+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes the specified speaker enrollment job.+module Amazonka.VoiceId.DescribeSpeakerEnrollmentJob+ ( -- * Creating a Request+ DescribeSpeakerEnrollmentJob (..),+ newDescribeSpeakerEnrollmentJob,++ -- * Request Lenses+ describeSpeakerEnrollmentJob_domainId,+ describeSpeakerEnrollmentJob_jobId,++ -- * Destructuring the Response+ DescribeSpeakerEnrollmentJobResponse (..),+ newDescribeSpeakerEnrollmentJobResponse,++ -- * Response Lenses+ describeSpeakerEnrollmentJobResponse_job,+ describeSpeakerEnrollmentJobResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.VoiceId.Types++-- | /See:/ 'newDescribeSpeakerEnrollmentJob' smart constructor.+data DescribeSpeakerEnrollmentJob = DescribeSpeakerEnrollmentJob'+ { -- | The identifier of the domain containing the speaker enrollment job.+ domainId :: Prelude.Text,+ -- | The identifier of the speaker enrollment job you are describing.+ jobId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeSpeakerEnrollmentJob' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domainId', 'describeSpeakerEnrollmentJob_domainId' - The identifier of the domain containing the speaker enrollment job.+--+-- 'jobId', 'describeSpeakerEnrollmentJob_jobId' - The identifier of the speaker enrollment job you are describing.+newDescribeSpeakerEnrollmentJob ::+ -- | 'domainId'+ Prelude.Text ->+ -- | 'jobId'+ Prelude.Text ->+ DescribeSpeakerEnrollmentJob+newDescribeSpeakerEnrollmentJob pDomainId_ pJobId_ =+ DescribeSpeakerEnrollmentJob'+ { domainId =+ pDomainId_,+ jobId = pJobId_+ }++-- | The identifier of the domain containing the speaker enrollment job.+describeSpeakerEnrollmentJob_domainId :: Lens.Lens' DescribeSpeakerEnrollmentJob Prelude.Text+describeSpeakerEnrollmentJob_domainId = Lens.lens (\DescribeSpeakerEnrollmentJob' {domainId} -> domainId) (\s@DescribeSpeakerEnrollmentJob' {} a -> s {domainId = a} :: DescribeSpeakerEnrollmentJob)++-- | The identifier of the speaker enrollment job you are describing.+describeSpeakerEnrollmentJob_jobId :: Lens.Lens' DescribeSpeakerEnrollmentJob Prelude.Text+describeSpeakerEnrollmentJob_jobId = Lens.lens (\DescribeSpeakerEnrollmentJob' {jobId} -> jobId) (\s@DescribeSpeakerEnrollmentJob' {} a -> s {jobId = a} :: DescribeSpeakerEnrollmentJob)++instance Core.AWSRequest DescribeSpeakerEnrollmentJob where+ type+ AWSResponse DescribeSpeakerEnrollmentJob =+ DescribeSpeakerEnrollmentJobResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeSpeakerEnrollmentJobResponse'+ Prelude.<$> (x Data..?> "Job")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ DescribeSpeakerEnrollmentJob+ where+ hashWithSalt _salt DescribeSpeakerEnrollmentJob' {..} =+ _salt+ `Prelude.hashWithSalt` domainId+ `Prelude.hashWithSalt` jobId++instance Prelude.NFData DescribeSpeakerEnrollmentJob where+ rnf DescribeSpeakerEnrollmentJob' {..} =+ Prelude.rnf domainId+ `Prelude.seq` Prelude.rnf jobId++instance Data.ToHeaders DescribeSpeakerEnrollmentJob where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "VoiceID.DescribeSpeakerEnrollmentJob" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DescribeSpeakerEnrollmentJob where+ toJSON DescribeSpeakerEnrollmentJob' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("DomainId" Data..= domainId),+ Prelude.Just ("JobId" Data..= jobId)+ ]+ )++instance Data.ToPath DescribeSpeakerEnrollmentJob where+ toPath = Prelude.const "/"++instance Data.ToQuery DescribeSpeakerEnrollmentJob where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeSpeakerEnrollmentJobResponse' smart constructor.+data DescribeSpeakerEnrollmentJobResponse = DescribeSpeakerEnrollmentJobResponse'+ { -- | Contains details about the specified speaker enrollment job.+ job :: Prelude.Maybe SpeakerEnrollmentJob,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeSpeakerEnrollmentJobResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'job', 'describeSpeakerEnrollmentJobResponse_job' - Contains details about the specified speaker enrollment job.+--+-- 'httpStatus', 'describeSpeakerEnrollmentJobResponse_httpStatus' - The response's http status code.+newDescribeSpeakerEnrollmentJobResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeSpeakerEnrollmentJobResponse+newDescribeSpeakerEnrollmentJobResponse pHttpStatus_ =+ DescribeSpeakerEnrollmentJobResponse'+ { job =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Contains details about the specified speaker enrollment job.+describeSpeakerEnrollmentJobResponse_job :: Lens.Lens' DescribeSpeakerEnrollmentJobResponse (Prelude.Maybe SpeakerEnrollmentJob)+describeSpeakerEnrollmentJobResponse_job = Lens.lens (\DescribeSpeakerEnrollmentJobResponse' {job} -> job) (\s@DescribeSpeakerEnrollmentJobResponse' {} a -> s {job = a} :: DescribeSpeakerEnrollmentJobResponse)++-- | The response's http status code.+describeSpeakerEnrollmentJobResponse_httpStatus :: Lens.Lens' DescribeSpeakerEnrollmentJobResponse Prelude.Int+describeSpeakerEnrollmentJobResponse_httpStatus = Lens.lens (\DescribeSpeakerEnrollmentJobResponse' {httpStatus} -> httpStatus) (\s@DescribeSpeakerEnrollmentJobResponse' {} a -> s {httpStatus = a} :: DescribeSpeakerEnrollmentJobResponse)++instance+ Prelude.NFData+ DescribeSpeakerEnrollmentJobResponse+ where+ rnf DescribeSpeakerEnrollmentJobResponse' {..} =+ Prelude.rnf job+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/VoiceId/EvaluateSession.hs view
@@ -0,0 +1,281 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.EvaluateSession+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Evaluates a specified session based on audio data accumulated during a+-- streaming Amazon Connect Voice ID call.+module Amazonka.VoiceId.EvaluateSession+ ( -- * Creating a Request+ EvaluateSession (..),+ newEvaluateSession,++ -- * Request Lenses+ evaluateSession_domainId,+ evaluateSession_sessionNameOrId,++ -- * Destructuring the Response+ EvaluateSessionResponse (..),+ newEvaluateSessionResponse,++ -- * Response Lenses+ evaluateSessionResponse_authenticationResult,+ evaluateSessionResponse_domainId,+ evaluateSessionResponse_fraudDetectionResult,+ evaluateSessionResponse_sessionId,+ evaluateSessionResponse_sessionName,+ evaluateSessionResponse_streamingStatus,+ evaluateSessionResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.VoiceId.Types++-- | /See:/ 'newEvaluateSession' smart constructor.+data EvaluateSession = EvaluateSession'+ { -- | The identifier of the domain where the session started.+ domainId :: Prelude.Text,+ -- | The session identifier, or name of the session, that you want to+ -- evaluate. In Voice ID integration, this is the Contact-Id.+ sessionNameOrId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EvaluateSession' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domainId', 'evaluateSession_domainId' - The identifier of the domain where the session started.+--+-- 'sessionNameOrId', 'evaluateSession_sessionNameOrId' - The session identifier, or name of the session, that you want to+-- evaluate. In Voice ID integration, this is the Contact-Id.+newEvaluateSession ::+ -- | 'domainId'+ Prelude.Text ->+ -- | 'sessionNameOrId'+ Prelude.Text ->+ EvaluateSession+newEvaluateSession pDomainId_ pSessionNameOrId_ =+ EvaluateSession'+ { domainId = pDomainId_,+ sessionNameOrId = pSessionNameOrId_+ }++-- | The identifier of the domain where the session started.+evaluateSession_domainId :: Lens.Lens' EvaluateSession Prelude.Text+evaluateSession_domainId = Lens.lens (\EvaluateSession' {domainId} -> domainId) (\s@EvaluateSession' {} a -> s {domainId = a} :: EvaluateSession)++-- | The session identifier, or name of the session, that you want to+-- evaluate. In Voice ID integration, this is the Contact-Id.+evaluateSession_sessionNameOrId :: Lens.Lens' EvaluateSession Prelude.Text+evaluateSession_sessionNameOrId = Lens.lens (\EvaluateSession' {sessionNameOrId} -> sessionNameOrId) (\s@EvaluateSession' {} a -> s {sessionNameOrId = a} :: EvaluateSession)++instance Core.AWSRequest EvaluateSession where+ type+ AWSResponse EvaluateSession =+ EvaluateSessionResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ EvaluateSessionResponse'+ Prelude.<$> (x Data..?> "AuthenticationResult")+ Prelude.<*> (x Data..?> "DomainId")+ Prelude.<*> (x Data..?> "FraudDetectionResult")+ Prelude.<*> (x Data..?> "SessionId")+ Prelude.<*> (x Data..?> "SessionName")+ Prelude.<*> (x Data..?> "StreamingStatus")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable EvaluateSession where+ hashWithSalt _salt EvaluateSession' {..} =+ _salt+ `Prelude.hashWithSalt` domainId+ `Prelude.hashWithSalt` sessionNameOrId++instance Prelude.NFData EvaluateSession where+ rnf EvaluateSession' {..} =+ Prelude.rnf domainId+ `Prelude.seq` Prelude.rnf sessionNameOrId++instance Data.ToHeaders EvaluateSession where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ("VoiceID.EvaluateSession" :: Prelude.ByteString),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON EvaluateSession where+ toJSON EvaluateSession' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("DomainId" Data..= domainId),+ Prelude.Just+ ("SessionNameOrId" Data..= sessionNameOrId)+ ]+ )++instance Data.ToPath EvaluateSession where+ toPath = Prelude.const "/"++instance Data.ToQuery EvaluateSession where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newEvaluateSessionResponse' smart constructor.+data EvaluateSessionResponse = EvaluateSessionResponse'+ { -- | Details resulting from the authentication process, such as+ -- authentication decision and authentication score.+ authenticationResult :: Prelude.Maybe AuthenticationResult,+ -- | The identifier of the domain containing the session.+ domainId :: Prelude.Maybe Prelude.Text,+ -- | Details resulting from the fraud detection process, such as fraud+ -- detection decision and risk score.+ fraudDetectionResult :: Prelude.Maybe FraudDetectionResult,+ -- | The service-generated identifier of the session.+ sessionId :: Prelude.Maybe Prelude.Text,+ -- | The client-provided name of the session.+ sessionName :: Prelude.Maybe Prelude.Text,+ -- | The current status of audio streaming for this session. This field is+ -- useful to infer next steps when the Authentication or Fraud Detection+ -- results are empty or the decision is @NOT_ENOUGH_SPEECH@. In this+ -- situation, if the @StreamingStatus@ is @ONGOING\/PENDING_CONFIGURATION@,+ -- it can mean that the client should call the API again later, after Voice+ -- ID has enough audio to produce a result. If the decision remains+ -- @NOT_ENOUGH_SPEECH@ even after @StreamingStatus@ is @ENDED@, it means+ -- that the previously streamed session did not have enough speech to+ -- perform evaluation, and a new streaming session is needed to try again.+ streamingStatus :: Prelude.Maybe StreamingStatus,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EvaluateSessionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'authenticationResult', 'evaluateSessionResponse_authenticationResult' - Details resulting from the authentication process, such as+-- authentication decision and authentication score.+--+-- 'domainId', 'evaluateSessionResponse_domainId' - The identifier of the domain containing the session.+--+-- 'fraudDetectionResult', 'evaluateSessionResponse_fraudDetectionResult' - Details resulting from the fraud detection process, such as fraud+-- detection decision and risk score.+--+-- 'sessionId', 'evaluateSessionResponse_sessionId' - The service-generated identifier of the session.+--+-- 'sessionName', 'evaluateSessionResponse_sessionName' - The client-provided name of the session.+--+-- 'streamingStatus', 'evaluateSessionResponse_streamingStatus' - The current status of audio streaming for this session. This field is+-- useful to infer next steps when the Authentication or Fraud Detection+-- results are empty or the decision is @NOT_ENOUGH_SPEECH@. In this+-- situation, if the @StreamingStatus@ is @ONGOING\/PENDING_CONFIGURATION@,+-- it can mean that the client should call the API again later, after Voice+-- ID has enough audio to produce a result. If the decision remains+-- @NOT_ENOUGH_SPEECH@ even after @StreamingStatus@ is @ENDED@, it means+-- that the previously streamed session did not have enough speech to+-- perform evaluation, and a new streaming session is needed to try again.+--+-- 'httpStatus', 'evaluateSessionResponse_httpStatus' - The response's http status code.+newEvaluateSessionResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ EvaluateSessionResponse+newEvaluateSessionResponse pHttpStatus_ =+ EvaluateSessionResponse'+ { authenticationResult =+ Prelude.Nothing,+ domainId = Prelude.Nothing,+ fraudDetectionResult = Prelude.Nothing,+ sessionId = Prelude.Nothing,+ sessionName = Prelude.Nothing,+ streamingStatus = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Details resulting from the authentication process, such as+-- authentication decision and authentication score.+evaluateSessionResponse_authenticationResult :: Lens.Lens' EvaluateSessionResponse (Prelude.Maybe AuthenticationResult)+evaluateSessionResponse_authenticationResult = Lens.lens (\EvaluateSessionResponse' {authenticationResult} -> authenticationResult) (\s@EvaluateSessionResponse' {} a -> s {authenticationResult = a} :: EvaluateSessionResponse)++-- | The identifier of the domain containing the session.+evaluateSessionResponse_domainId :: Lens.Lens' EvaluateSessionResponse (Prelude.Maybe Prelude.Text)+evaluateSessionResponse_domainId = Lens.lens (\EvaluateSessionResponse' {domainId} -> domainId) (\s@EvaluateSessionResponse' {} a -> s {domainId = a} :: EvaluateSessionResponse)++-- | Details resulting from the fraud detection process, such as fraud+-- detection decision and risk score.+evaluateSessionResponse_fraudDetectionResult :: Lens.Lens' EvaluateSessionResponse (Prelude.Maybe FraudDetectionResult)+evaluateSessionResponse_fraudDetectionResult = Lens.lens (\EvaluateSessionResponse' {fraudDetectionResult} -> fraudDetectionResult) (\s@EvaluateSessionResponse' {} a -> s {fraudDetectionResult = a} :: EvaluateSessionResponse)++-- | The service-generated identifier of the session.+evaluateSessionResponse_sessionId :: Lens.Lens' EvaluateSessionResponse (Prelude.Maybe Prelude.Text)+evaluateSessionResponse_sessionId = Lens.lens (\EvaluateSessionResponse' {sessionId} -> sessionId) (\s@EvaluateSessionResponse' {} a -> s {sessionId = a} :: EvaluateSessionResponse)++-- | The client-provided name of the session.+evaluateSessionResponse_sessionName :: Lens.Lens' EvaluateSessionResponse (Prelude.Maybe Prelude.Text)+evaluateSessionResponse_sessionName = Lens.lens (\EvaluateSessionResponse' {sessionName} -> sessionName) (\s@EvaluateSessionResponse' {} a -> s {sessionName = a} :: EvaluateSessionResponse)++-- | The current status of audio streaming for this session. This field is+-- useful to infer next steps when the Authentication or Fraud Detection+-- results are empty or the decision is @NOT_ENOUGH_SPEECH@. In this+-- situation, if the @StreamingStatus@ is @ONGOING\/PENDING_CONFIGURATION@,+-- it can mean that the client should call the API again later, after Voice+-- ID has enough audio to produce a result. If the decision remains+-- @NOT_ENOUGH_SPEECH@ even after @StreamingStatus@ is @ENDED@, it means+-- that the previously streamed session did not have enough speech to+-- perform evaluation, and a new streaming session is needed to try again.+evaluateSessionResponse_streamingStatus :: Lens.Lens' EvaluateSessionResponse (Prelude.Maybe StreamingStatus)+evaluateSessionResponse_streamingStatus = Lens.lens (\EvaluateSessionResponse' {streamingStatus} -> streamingStatus) (\s@EvaluateSessionResponse' {} a -> s {streamingStatus = a} :: EvaluateSessionResponse)++-- | The response's http status code.+evaluateSessionResponse_httpStatus :: Lens.Lens' EvaluateSessionResponse Prelude.Int+evaluateSessionResponse_httpStatus = Lens.lens (\EvaluateSessionResponse' {httpStatus} -> httpStatus) (\s@EvaluateSessionResponse' {} a -> s {httpStatus = a} :: EvaluateSessionResponse)++instance Prelude.NFData EvaluateSessionResponse where+ rnf EvaluateSessionResponse' {..} =+ Prelude.rnf authenticationResult+ `Prelude.seq` Prelude.rnf domainId+ `Prelude.seq` Prelude.rnf fraudDetectionResult+ `Prelude.seq` Prelude.rnf sessionId+ `Prelude.seq` Prelude.rnf sessionName+ `Prelude.seq` Prelude.rnf streamingStatus+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/VoiceId/Lens.hs view
@@ -0,0 +1,378 @@+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.Lens+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.VoiceId.Lens+ ( -- * Operations++ -- ** CreateDomain+ createDomain_clientToken,+ createDomain_description,+ createDomain_tags,+ createDomain_name,+ createDomain_serverSideEncryptionConfiguration,+ createDomainResponse_domain,+ createDomainResponse_httpStatus,++ -- ** DeleteDomain+ deleteDomain_domainId,++ -- ** DeleteFraudster+ deleteFraudster_domainId,+ deleteFraudster_fraudsterId,++ -- ** DeleteSpeaker+ deleteSpeaker_domainId,+ deleteSpeaker_speakerId,++ -- ** DescribeDomain+ describeDomain_domainId,+ describeDomainResponse_domain,+ describeDomainResponse_httpStatus,++ -- ** DescribeFraudster+ describeFraudster_domainId,+ describeFraudster_fraudsterId,+ describeFraudsterResponse_fraudster,+ describeFraudsterResponse_httpStatus,++ -- ** DescribeFraudsterRegistrationJob+ describeFraudsterRegistrationJob_domainId,+ describeFraudsterRegistrationJob_jobId,+ describeFraudsterRegistrationJobResponse_job,+ describeFraudsterRegistrationJobResponse_httpStatus,++ -- ** DescribeSpeaker+ describeSpeaker_domainId,+ describeSpeaker_speakerId,+ describeSpeakerResponse_speaker,+ describeSpeakerResponse_httpStatus,++ -- ** DescribeSpeakerEnrollmentJob+ describeSpeakerEnrollmentJob_domainId,+ describeSpeakerEnrollmentJob_jobId,+ describeSpeakerEnrollmentJobResponse_job,+ describeSpeakerEnrollmentJobResponse_httpStatus,++ -- ** EvaluateSession+ evaluateSession_domainId,+ evaluateSession_sessionNameOrId,+ evaluateSessionResponse_authenticationResult,+ evaluateSessionResponse_domainId,+ evaluateSessionResponse_fraudDetectionResult,+ evaluateSessionResponse_sessionId,+ evaluateSessionResponse_sessionName,+ evaluateSessionResponse_streamingStatus,+ evaluateSessionResponse_httpStatus,++ -- ** ListDomains+ listDomains_maxResults,+ listDomains_nextToken,+ listDomainsResponse_domainSummaries,+ listDomainsResponse_nextToken,+ listDomainsResponse_httpStatus,++ -- ** ListFraudsterRegistrationJobs+ listFraudsterRegistrationJobs_jobStatus,+ listFraudsterRegistrationJobs_maxResults,+ listFraudsterRegistrationJobs_nextToken,+ listFraudsterRegistrationJobs_domainId,+ listFraudsterRegistrationJobsResponse_jobSummaries,+ listFraudsterRegistrationJobsResponse_nextToken,+ listFraudsterRegistrationJobsResponse_httpStatus,++ -- ** ListSpeakerEnrollmentJobs+ listSpeakerEnrollmentJobs_jobStatus,+ listSpeakerEnrollmentJobs_maxResults,+ listSpeakerEnrollmentJobs_nextToken,+ listSpeakerEnrollmentJobs_domainId,+ listSpeakerEnrollmentJobsResponse_jobSummaries,+ listSpeakerEnrollmentJobsResponse_nextToken,+ listSpeakerEnrollmentJobsResponse_httpStatus,++ -- ** ListSpeakers+ listSpeakers_maxResults,+ listSpeakers_nextToken,+ listSpeakers_domainId,+ listSpeakersResponse_nextToken,+ listSpeakersResponse_speakerSummaries,+ listSpeakersResponse_httpStatus,++ -- ** ListTagsForResource+ listTagsForResource_resourceArn,+ listTagsForResourceResponse_tags,+ listTagsForResourceResponse_httpStatus,++ -- ** OptOutSpeaker+ optOutSpeaker_domainId,+ optOutSpeaker_speakerId,+ optOutSpeakerResponse_speaker,+ optOutSpeakerResponse_httpStatus,++ -- ** StartFraudsterRegistrationJob+ startFraudsterRegistrationJob_clientToken,+ startFraudsterRegistrationJob_jobName,+ startFraudsterRegistrationJob_registrationConfig,+ startFraudsterRegistrationJob_dataAccessRoleArn,+ startFraudsterRegistrationJob_domainId,+ startFraudsterRegistrationJob_inputDataConfig,+ startFraudsterRegistrationJob_outputDataConfig,+ startFraudsterRegistrationJobResponse_job,+ startFraudsterRegistrationJobResponse_httpStatus,++ -- ** StartSpeakerEnrollmentJob+ startSpeakerEnrollmentJob_clientToken,+ startSpeakerEnrollmentJob_enrollmentConfig,+ startSpeakerEnrollmentJob_jobName,+ startSpeakerEnrollmentJob_dataAccessRoleArn,+ startSpeakerEnrollmentJob_domainId,+ startSpeakerEnrollmentJob_inputDataConfig,+ startSpeakerEnrollmentJob_outputDataConfig,+ startSpeakerEnrollmentJobResponse_job,+ startSpeakerEnrollmentJobResponse_httpStatus,++ -- ** TagResource+ tagResource_resourceArn,+ tagResource_tags,+ tagResourceResponse_httpStatus,++ -- ** UntagResource+ untagResource_resourceArn,+ untagResource_tagKeys,+ untagResourceResponse_httpStatus,++ -- ** UpdateDomain+ updateDomain_description,+ updateDomain_domainId,+ updateDomain_name,+ updateDomain_serverSideEncryptionConfiguration,+ updateDomainResponse_domain,+ updateDomainResponse_httpStatus,++ -- * Types++ -- ** AuthenticationConfiguration+ authenticationConfiguration_acceptanceThreshold,++ -- ** AuthenticationResult+ authenticationResult_audioAggregationEndedAt,+ authenticationResult_audioAggregationStartedAt,+ authenticationResult_authenticationResultId,+ authenticationResult_configuration,+ authenticationResult_customerSpeakerId,+ authenticationResult_decision,+ authenticationResult_generatedSpeakerId,+ authenticationResult_score,++ -- ** Domain+ domain_arn,+ domain_createdAt,+ domain_description,+ domain_domainId,+ domain_domainStatus,+ domain_name,+ domain_serverSideEncryptionConfiguration,+ domain_serverSideEncryptionUpdateDetails,+ domain_updatedAt,++ -- ** DomainSummary+ domainSummary_arn,+ domainSummary_createdAt,+ domainSummary_description,+ domainSummary_domainId,+ domainSummary_domainStatus,+ domainSummary_name,+ domainSummary_serverSideEncryptionConfiguration,+ domainSummary_serverSideEncryptionUpdateDetails,+ domainSummary_updatedAt,++ -- ** EnrollmentConfig+ enrollmentConfig_existingEnrollmentAction,+ enrollmentConfig_fraudDetectionConfig,++ -- ** EnrollmentJobFraudDetectionConfig+ enrollmentJobFraudDetectionConfig_fraudDetectionAction,+ enrollmentJobFraudDetectionConfig_riskThreshold,++ -- ** FailureDetails+ failureDetails_message,+ failureDetails_statusCode,++ -- ** FraudDetectionConfiguration+ fraudDetectionConfiguration_riskThreshold,++ -- ** FraudDetectionResult+ fraudDetectionResult_audioAggregationEndedAt,+ fraudDetectionResult_audioAggregationStartedAt,+ fraudDetectionResult_configuration,+ fraudDetectionResult_decision,+ fraudDetectionResult_fraudDetectionResultId,+ fraudDetectionResult_reasons,+ fraudDetectionResult_riskDetails,++ -- ** FraudRiskDetails+ fraudRiskDetails_knownFraudsterRisk,+ fraudRiskDetails_voiceSpoofingRisk,++ -- ** Fraudster+ fraudster_createdAt,+ fraudster_domainId,+ fraudster_generatedFraudsterId,++ -- ** FraudsterRegistrationJob+ fraudsterRegistrationJob_createdAt,+ fraudsterRegistrationJob_dataAccessRoleArn,+ fraudsterRegistrationJob_domainId,+ fraudsterRegistrationJob_endedAt,+ fraudsterRegistrationJob_failureDetails,+ fraudsterRegistrationJob_inputDataConfig,+ fraudsterRegistrationJob_jobId,+ fraudsterRegistrationJob_jobName,+ fraudsterRegistrationJob_jobProgress,+ fraudsterRegistrationJob_jobStatus,+ fraudsterRegistrationJob_outputDataConfig,+ fraudsterRegistrationJob_registrationConfig,++ -- ** FraudsterRegistrationJobSummary+ fraudsterRegistrationJobSummary_createdAt,+ fraudsterRegistrationJobSummary_domainId,+ fraudsterRegistrationJobSummary_endedAt,+ fraudsterRegistrationJobSummary_failureDetails,+ fraudsterRegistrationJobSummary_jobId,+ fraudsterRegistrationJobSummary_jobName,+ fraudsterRegistrationJobSummary_jobProgress,+ fraudsterRegistrationJobSummary_jobStatus,++ -- ** InputDataConfig+ inputDataConfig_s3Uri,++ -- ** JobProgress+ jobProgress_percentComplete,++ -- ** KnownFraudsterRisk+ knownFraudsterRisk_generatedFraudsterId,+ knownFraudsterRisk_riskScore,++ -- ** OutputDataConfig+ outputDataConfig_kmsKeyId,+ outputDataConfig_s3Uri,++ -- ** RegistrationConfig+ registrationConfig_duplicateRegistrationAction,+ registrationConfig_fraudsterSimilarityThreshold,++ -- ** ServerSideEncryptionConfiguration+ serverSideEncryptionConfiguration_kmsKeyId,++ -- ** ServerSideEncryptionUpdateDetails+ serverSideEncryptionUpdateDetails_message,+ serverSideEncryptionUpdateDetails_oldKmsKeyId,+ serverSideEncryptionUpdateDetails_updateStatus,++ -- ** Speaker+ speaker_createdAt,+ speaker_customerSpeakerId,+ speaker_domainId,+ speaker_generatedSpeakerId,+ speaker_lastAccessedAt,+ speaker_status,+ speaker_updatedAt,++ -- ** SpeakerEnrollmentJob+ speakerEnrollmentJob_createdAt,+ speakerEnrollmentJob_dataAccessRoleArn,+ speakerEnrollmentJob_domainId,+ speakerEnrollmentJob_endedAt,+ speakerEnrollmentJob_enrollmentConfig,+ speakerEnrollmentJob_failureDetails,+ speakerEnrollmentJob_inputDataConfig,+ speakerEnrollmentJob_jobId,+ speakerEnrollmentJob_jobName,+ speakerEnrollmentJob_jobProgress,+ speakerEnrollmentJob_jobStatus,+ speakerEnrollmentJob_outputDataConfig,++ -- ** SpeakerEnrollmentJobSummary+ speakerEnrollmentJobSummary_createdAt,+ speakerEnrollmentJobSummary_domainId,+ speakerEnrollmentJobSummary_endedAt,+ speakerEnrollmentJobSummary_failureDetails,+ speakerEnrollmentJobSummary_jobId,+ speakerEnrollmentJobSummary_jobName,+ speakerEnrollmentJobSummary_jobProgress,+ speakerEnrollmentJobSummary_jobStatus,++ -- ** SpeakerSummary+ speakerSummary_createdAt,+ speakerSummary_customerSpeakerId,+ speakerSummary_domainId,+ speakerSummary_generatedSpeakerId,+ speakerSummary_lastAccessedAt,+ speakerSummary_status,+ speakerSummary_updatedAt,++ -- ** Tag+ tag_key,+ tag_value,++ -- ** VoiceSpoofingRisk+ voiceSpoofingRisk_riskScore,+ )+where++import Amazonka.VoiceId.CreateDomain+import Amazonka.VoiceId.DeleteDomain+import Amazonka.VoiceId.DeleteFraudster+import Amazonka.VoiceId.DeleteSpeaker+import Amazonka.VoiceId.DescribeDomain+import Amazonka.VoiceId.DescribeFraudster+import Amazonka.VoiceId.DescribeFraudsterRegistrationJob+import Amazonka.VoiceId.DescribeSpeaker+import Amazonka.VoiceId.DescribeSpeakerEnrollmentJob+import Amazonka.VoiceId.EvaluateSession+import Amazonka.VoiceId.ListDomains+import Amazonka.VoiceId.ListFraudsterRegistrationJobs+import Amazonka.VoiceId.ListSpeakerEnrollmentJobs+import Amazonka.VoiceId.ListSpeakers+import Amazonka.VoiceId.ListTagsForResource+import Amazonka.VoiceId.OptOutSpeaker+import Amazonka.VoiceId.StartFraudsterRegistrationJob+import Amazonka.VoiceId.StartSpeakerEnrollmentJob+import Amazonka.VoiceId.TagResource+import Amazonka.VoiceId.Types.AuthenticationConfiguration+import Amazonka.VoiceId.Types.AuthenticationResult+import Amazonka.VoiceId.Types.Domain+import Amazonka.VoiceId.Types.DomainSummary+import Amazonka.VoiceId.Types.EnrollmentConfig+import Amazonka.VoiceId.Types.EnrollmentJobFraudDetectionConfig+import Amazonka.VoiceId.Types.FailureDetails+import Amazonka.VoiceId.Types.FraudDetectionConfiguration+import Amazonka.VoiceId.Types.FraudDetectionResult+import Amazonka.VoiceId.Types.FraudRiskDetails+import Amazonka.VoiceId.Types.Fraudster+import Amazonka.VoiceId.Types.FraudsterRegistrationJob+import Amazonka.VoiceId.Types.FraudsterRegistrationJobSummary+import Amazonka.VoiceId.Types.InputDataConfig+import Amazonka.VoiceId.Types.JobProgress+import Amazonka.VoiceId.Types.KnownFraudsterRisk+import Amazonka.VoiceId.Types.OutputDataConfig+import Amazonka.VoiceId.Types.RegistrationConfig+import Amazonka.VoiceId.Types.ServerSideEncryptionConfiguration+import Amazonka.VoiceId.Types.ServerSideEncryptionUpdateDetails+import Amazonka.VoiceId.Types.Speaker+import Amazonka.VoiceId.Types.SpeakerEnrollmentJob+import Amazonka.VoiceId.Types.SpeakerEnrollmentJobSummary+import Amazonka.VoiceId.Types.SpeakerSummary+import Amazonka.VoiceId.Types.Tag+import Amazonka.VoiceId.Types.VoiceSpoofingRisk+import Amazonka.VoiceId.UntagResource+import Amazonka.VoiceId.UpdateDomain
+ gen/Amazonka/VoiceId/ListDomains.hs view
@@ -0,0 +1,240 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.ListDomains+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists all the domains in the Amazon Web Services account.+--+-- This operation returns paginated results.+module Amazonka.VoiceId.ListDomains+ ( -- * Creating a Request+ ListDomains (..),+ newListDomains,++ -- * Request Lenses+ listDomains_maxResults,+ listDomains_nextToken,++ -- * Destructuring the Response+ ListDomainsResponse (..),+ newListDomainsResponse,++ -- * Response Lenses+ listDomainsResponse_domainSummaries,+ listDomainsResponse_nextToken,+ listDomainsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.VoiceId.Types++-- | /See:/ 'newListDomains' smart constructor.+data ListDomains = ListDomains'+ { -- | The maximum number of domains to list per API call.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | If @NextToken@ is returned, there are more results available. The value+ -- of @NextToken@ is a unique pagination token for each page. Make the call+ -- again using the returned token to retrieve the next page. Keep all other+ -- arguments unchanged. Each pagination token expires after 24 hours.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDomains' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listDomains_maxResults' - The maximum number of domains to list per API call.+--+-- 'nextToken', 'listDomains_nextToken' - If @NextToken@ is returned, there are more results available. The value+-- of @NextToken@ is a unique pagination token for each page. Make the call+-- again using the returned token to retrieve the next page. Keep all other+-- arguments unchanged. Each pagination token expires after 24 hours.+newListDomains ::+ ListDomains+newListDomains =+ ListDomains'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The maximum number of domains to list per API call.+listDomains_maxResults :: Lens.Lens' ListDomains (Prelude.Maybe Prelude.Natural)+listDomains_maxResults = Lens.lens (\ListDomains' {maxResults} -> maxResults) (\s@ListDomains' {} a -> s {maxResults = a} :: ListDomains)++-- | If @NextToken@ is returned, there are more results available. The value+-- of @NextToken@ is a unique pagination token for each page. Make the call+-- again using the returned token to retrieve the next page. Keep all other+-- arguments unchanged. Each pagination token expires after 24 hours.+listDomains_nextToken :: Lens.Lens' ListDomains (Prelude.Maybe Prelude.Text)+listDomains_nextToken = Lens.lens (\ListDomains' {nextToken} -> nextToken) (\s@ListDomains' {} a -> s {nextToken = a} :: ListDomains)++instance Core.AWSPager ListDomains where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listDomainsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listDomainsResponse_domainSummaries+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listDomains_nextToken+ Lens..~ rs+ Lens.^? listDomainsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListDomains where+ type AWSResponse ListDomains = ListDomainsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListDomainsResponse'+ Prelude.<$> ( x+ Data..?> "DomainSummaries"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListDomains where+ hashWithSalt _salt ListDomains' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListDomains where+ rnf ListDomains' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListDomains where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ("VoiceID.ListDomains" :: Prelude.ByteString),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListDomains where+ toJSON ListDomains' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken+ ]+ )++instance Data.ToPath ListDomains where+ toPath = Prelude.const "/"++instance Data.ToQuery ListDomains where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListDomainsResponse' smart constructor.+data ListDomainsResponse = ListDomainsResponse'+ { -- | A list containing details about each domain in the Amazon Web Services+ -- account.+ domainSummaries :: Prelude.Maybe [DomainSummary],+ -- | If @NextToken@ is returned, there are more results available. The value+ -- of @NextToken@ is a unique pagination token for each page. Make the call+ -- again using the returned token to retrieve the next page. Keep all other+ -- arguments unchanged. Each pagination token expires after 24 hours.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDomainsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domainSummaries', 'listDomainsResponse_domainSummaries' - A list containing details about each domain in the Amazon Web Services+-- account.+--+-- 'nextToken', 'listDomainsResponse_nextToken' - If @NextToken@ is returned, there are more results available. The value+-- of @NextToken@ is a unique pagination token for each page. Make the call+-- again using the returned token to retrieve the next page. Keep all other+-- arguments unchanged. Each pagination token expires after 24 hours.+--+-- 'httpStatus', 'listDomainsResponse_httpStatus' - The response's http status code.+newListDomainsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListDomainsResponse+newListDomainsResponse pHttpStatus_ =+ ListDomainsResponse'+ { domainSummaries =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A list containing details about each domain in the Amazon Web Services+-- account.+listDomainsResponse_domainSummaries :: Lens.Lens' ListDomainsResponse (Prelude.Maybe [DomainSummary])+listDomainsResponse_domainSummaries = Lens.lens (\ListDomainsResponse' {domainSummaries} -> domainSummaries) (\s@ListDomainsResponse' {} a -> s {domainSummaries = a} :: ListDomainsResponse) Prelude.. Lens.mapping Lens.coerced++-- | If @NextToken@ is returned, there are more results available. The value+-- of @NextToken@ is a unique pagination token for each page. Make the call+-- again using the returned token to retrieve the next page. Keep all other+-- arguments unchanged. Each pagination token expires after 24 hours.+listDomainsResponse_nextToken :: Lens.Lens' ListDomainsResponse (Prelude.Maybe Prelude.Text)+listDomainsResponse_nextToken = Lens.lens (\ListDomainsResponse' {nextToken} -> nextToken) (\s@ListDomainsResponse' {} a -> s {nextToken = a} :: ListDomainsResponse)++-- | The response's http status code.+listDomainsResponse_httpStatus :: Lens.Lens' ListDomainsResponse Prelude.Int+listDomainsResponse_httpStatus = Lens.lens (\ListDomainsResponse' {httpStatus} -> httpStatus) (\s@ListDomainsResponse' {} a -> s {httpStatus = a} :: ListDomainsResponse)++instance Prelude.NFData ListDomainsResponse where+ rnf ListDomainsResponse' {..} =+ Prelude.rnf domainSummaries+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/VoiceId/ListFraudsterRegistrationJobs.hs view
@@ -0,0 +1,287 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.ListFraudsterRegistrationJobs+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists all the fraudster registration jobs in the domain with the given+-- @JobStatus@. If @JobStatus@ is not provided, this lists all fraudster+-- registration jobs in the given domain.+--+-- This operation returns paginated results.+module Amazonka.VoiceId.ListFraudsterRegistrationJobs+ ( -- * Creating a Request+ ListFraudsterRegistrationJobs (..),+ newListFraudsterRegistrationJobs,++ -- * Request Lenses+ listFraudsterRegistrationJobs_jobStatus,+ listFraudsterRegistrationJobs_maxResults,+ listFraudsterRegistrationJobs_nextToken,+ listFraudsterRegistrationJobs_domainId,++ -- * Destructuring the Response+ ListFraudsterRegistrationJobsResponse (..),+ newListFraudsterRegistrationJobsResponse,++ -- * Response Lenses+ listFraudsterRegistrationJobsResponse_jobSummaries,+ listFraudsterRegistrationJobsResponse_nextToken,+ listFraudsterRegistrationJobsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.VoiceId.Types++-- | /See:/ 'newListFraudsterRegistrationJobs' smart constructor.+data ListFraudsterRegistrationJobs = ListFraudsterRegistrationJobs'+ { -- | Provides the status of your fraudster registration job.+ jobStatus :: Prelude.Maybe FraudsterRegistrationJobStatus,+ -- | The maximum number of results that are returned per call. You can use+ -- @NextToken@ to obtain further pages of results. The default is 100; the+ -- maximum allowed page size is also 100.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | If @NextToken@ is returned, there are more results available. The value+ -- of @NextToken@ is a unique pagination token for each page. Make the call+ -- again using the returned token to retrieve the next page. Keep all other+ -- arguments unchanged. Each pagination token expires after 24 hours.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The identifier of the domain containing the fraudster registration Jobs.+ domainId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListFraudsterRegistrationJobs' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'jobStatus', 'listFraudsterRegistrationJobs_jobStatus' - Provides the status of your fraudster registration job.+--+-- 'maxResults', 'listFraudsterRegistrationJobs_maxResults' - The maximum number of results that are returned per call. You can use+-- @NextToken@ to obtain further pages of results. The default is 100; the+-- maximum allowed page size is also 100.+--+-- 'nextToken', 'listFraudsterRegistrationJobs_nextToken' - If @NextToken@ is returned, there are more results available. The value+-- of @NextToken@ is a unique pagination token for each page. Make the call+-- again using the returned token to retrieve the next page. Keep all other+-- arguments unchanged. Each pagination token expires after 24 hours.+--+-- 'domainId', 'listFraudsterRegistrationJobs_domainId' - The identifier of the domain containing the fraudster registration Jobs.+newListFraudsterRegistrationJobs ::+ -- | 'domainId'+ Prelude.Text ->+ ListFraudsterRegistrationJobs+newListFraudsterRegistrationJobs pDomainId_ =+ ListFraudsterRegistrationJobs'+ { jobStatus =+ Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ domainId = pDomainId_+ }++-- | Provides the status of your fraudster registration job.+listFraudsterRegistrationJobs_jobStatus :: Lens.Lens' ListFraudsterRegistrationJobs (Prelude.Maybe FraudsterRegistrationJobStatus)+listFraudsterRegistrationJobs_jobStatus = Lens.lens (\ListFraudsterRegistrationJobs' {jobStatus} -> jobStatus) (\s@ListFraudsterRegistrationJobs' {} a -> s {jobStatus = a} :: ListFraudsterRegistrationJobs)++-- | The maximum number of results that are returned per call. You can use+-- @NextToken@ to obtain further pages of results. The default is 100; the+-- maximum allowed page size is also 100.+listFraudsterRegistrationJobs_maxResults :: Lens.Lens' ListFraudsterRegistrationJobs (Prelude.Maybe Prelude.Natural)+listFraudsterRegistrationJobs_maxResults = Lens.lens (\ListFraudsterRegistrationJobs' {maxResults} -> maxResults) (\s@ListFraudsterRegistrationJobs' {} a -> s {maxResults = a} :: ListFraudsterRegistrationJobs)++-- | If @NextToken@ is returned, there are more results available. The value+-- of @NextToken@ is a unique pagination token for each page. Make the call+-- again using the returned token to retrieve the next page. Keep all other+-- arguments unchanged. Each pagination token expires after 24 hours.+listFraudsterRegistrationJobs_nextToken :: Lens.Lens' ListFraudsterRegistrationJobs (Prelude.Maybe Prelude.Text)+listFraudsterRegistrationJobs_nextToken = Lens.lens (\ListFraudsterRegistrationJobs' {nextToken} -> nextToken) (\s@ListFraudsterRegistrationJobs' {} a -> s {nextToken = a} :: ListFraudsterRegistrationJobs)++-- | The identifier of the domain containing the fraudster registration Jobs.+listFraudsterRegistrationJobs_domainId :: Lens.Lens' ListFraudsterRegistrationJobs Prelude.Text+listFraudsterRegistrationJobs_domainId = Lens.lens (\ListFraudsterRegistrationJobs' {domainId} -> domainId) (\s@ListFraudsterRegistrationJobs' {} a -> s {domainId = a} :: ListFraudsterRegistrationJobs)++instance Core.AWSPager ListFraudsterRegistrationJobs where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listFraudsterRegistrationJobsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listFraudsterRegistrationJobsResponse_jobSummaries+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listFraudsterRegistrationJobs_nextToken+ Lens..~ rs+ Lens.^? listFraudsterRegistrationJobsResponse_nextToken+ Prelude.. Lens._Just++instance+ Core.AWSRequest+ ListFraudsterRegistrationJobs+ where+ type+ AWSResponse ListFraudsterRegistrationJobs =+ ListFraudsterRegistrationJobsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListFraudsterRegistrationJobsResponse'+ Prelude.<$> (x Data..?> "JobSummaries" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ ListFraudsterRegistrationJobs+ where+ hashWithSalt _salt ListFraudsterRegistrationJobs' {..} =+ _salt+ `Prelude.hashWithSalt` jobStatus+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` domainId++instance Prelude.NFData ListFraudsterRegistrationJobs where+ rnf ListFraudsterRegistrationJobs' {..} =+ Prelude.rnf jobStatus+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf domainId++instance Data.ToHeaders ListFraudsterRegistrationJobs where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "VoiceID.ListFraudsterRegistrationJobs" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListFraudsterRegistrationJobs where+ toJSON ListFraudsterRegistrationJobs' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("JobStatus" Data..=) Prelude.<$> jobStatus,+ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken,+ Prelude.Just ("DomainId" Data..= domainId)+ ]+ )++instance Data.ToPath ListFraudsterRegistrationJobs where+ toPath = Prelude.const "/"++instance Data.ToQuery ListFraudsterRegistrationJobs where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListFraudsterRegistrationJobsResponse' smart constructor.+data ListFraudsterRegistrationJobsResponse = ListFraudsterRegistrationJobsResponse'+ { -- | A list containing details about each specified fraudster registration+ -- job.+ jobSummaries :: Prelude.Maybe [FraudsterRegistrationJobSummary],+ -- | If @NextToken@ is returned, there are more results available. The value+ -- of @NextToken@ is a unique pagination token for each page. Make the call+ -- again using the returned token to retrieve the next page. Keep all other+ -- arguments unchanged. Each pagination token expires after 24 hours.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListFraudsterRegistrationJobsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'jobSummaries', 'listFraudsterRegistrationJobsResponse_jobSummaries' - A list containing details about each specified fraudster registration+-- job.+--+-- 'nextToken', 'listFraudsterRegistrationJobsResponse_nextToken' - If @NextToken@ is returned, there are more results available. The value+-- of @NextToken@ is a unique pagination token for each page. Make the call+-- again using the returned token to retrieve the next page. Keep all other+-- arguments unchanged. Each pagination token expires after 24 hours.+--+-- 'httpStatus', 'listFraudsterRegistrationJobsResponse_httpStatus' - The response's http status code.+newListFraudsterRegistrationJobsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListFraudsterRegistrationJobsResponse+newListFraudsterRegistrationJobsResponse pHttpStatus_ =+ ListFraudsterRegistrationJobsResponse'+ { jobSummaries =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A list containing details about each specified fraudster registration+-- job.+listFraudsterRegistrationJobsResponse_jobSummaries :: Lens.Lens' ListFraudsterRegistrationJobsResponse (Prelude.Maybe [FraudsterRegistrationJobSummary])+listFraudsterRegistrationJobsResponse_jobSummaries = Lens.lens (\ListFraudsterRegistrationJobsResponse' {jobSummaries} -> jobSummaries) (\s@ListFraudsterRegistrationJobsResponse' {} a -> s {jobSummaries = a} :: ListFraudsterRegistrationJobsResponse) Prelude.. Lens.mapping Lens.coerced++-- | If @NextToken@ is returned, there are more results available. The value+-- of @NextToken@ is a unique pagination token for each page. Make the call+-- again using the returned token to retrieve the next page. Keep all other+-- arguments unchanged. Each pagination token expires after 24 hours.+listFraudsterRegistrationJobsResponse_nextToken :: Lens.Lens' ListFraudsterRegistrationJobsResponse (Prelude.Maybe Prelude.Text)+listFraudsterRegistrationJobsResponse_nextToken = Lens.lens (\ListFraudsterRegistrationJobsResponse' {nextToken} -> nextToken) (\s@ListFraudsterRegistrationJobsResponse' {} a -> s {nextToken = a} :: ListFraudsterRegistrationJobsResponse)++-- | The response's http status code.+listFraudsterRegistrationJobsResponse_httpStatus :: Lens.Lens' ListFraudsterRegistrationJobsResponse Prelude.Int+listFraudsterRegistrationJobsResponse_httpStatus = Lens.lens (\ListFraudsterRegistrationJobsResponse' {httpStatus} -> httpStatus) (\s@ListFraudsterRegistrationJobsResponse' {} a -> s {httpStatus = a} :: ListFraudsterRegistrationJobsResponse)++instance+ Prelude.NFData+ ListFraudsterRegistrationJobsResponse+ where+ rnf ListFraudsterRegistrationJobsResponse' {..} =+ Prelude.rnf jobSummaries+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/VoiceId/ListSpeakerEnrollmentJobs.hs view
@@ -0,0 +1,278 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.ListSpeakerEnrollmentJobs+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists all the speaker enrollment jobs in the domain with the specified+-- @JobStatus@. If @JobStatus@ is not provided, this lists all jobs with+-- all possible speaker enrollment job statuses.+--+-- This operation returns paginated results.+module Amazonka.VoiceId.ListSpeakerEnrollmentJobs+ ( -- * Creating a Request+ ListSpeakerEnrollmentJobs (..),+ newListSpeakerEnrollmentJobs,++ -- * Request Lenses+ listSpeakerEnrollmentJobs_jobStatus,+ listSpeakerEnrollmentJobs_maxResults,+ listSpeakerEnrollmentJobs_nextToken,+ listSpeakerEnrollmentJobs_domainId,++ -- * Destructuring the Response+ ListSpeakerEnrollmentJobsResponse (..),+ newListSpeakerEnrollmentJobsResponse,++ -- * Response Lenses+ listSpeakerEnrollmentJobsResponse_jobSummaries,+ listSpeakerEnrollmentJobsResponse_nextToken,+ listSpeakerEnrollmentJobsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.VoiceId.Types++-- | /See:/ 'newListSpeakerEnrollmentJobs' smart constructor.+data ListSpeakerEnrollmentJobs = ListSpeakerEnrollmentJobs'+ { -- | Provides the status of your speaker enrollment Job.+ jobStatus :: Prelude.Maybe SpeakerEnrollmentJobStatus,+ -- | The maximum number of results that are returned per call. You can use+ -- @NextToken@ to obtain further pages of results. The default is 100; the+ -- maximum allowed page size is also 100.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | If @NextToken@ is returned, there are more results available. The value+ -- of @NextToken@ is a unique pagination token for each page. Make the call+ -- again using the returned token to retrieve the next page. Keep all other+ -- arguments unchanged. Each pagination token expires after 24 hours.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The identifier of the domain containing the speaker enrollment jobs.+ domainId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListSpeakerEnrollmentJobs' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'jobStatus', 'listSpeakerEnrollmentJobs_jobStatus' - Provides the status of your speaker enrollment Job.+--+-- 'maxResults', 'listSpeakerEnrollmentJobs_maxResults' - The maximum number of results that are returned per call. You can use+-- @NextToken@ to obtain further pages of results. The default is 100; the+-- maximum allowed page size is also 100.+--+-- 'nextToken', 'listSpeakerEnrollmentJobs_nextToken' - If @NextToken@ is returned, there are more results available. The value+-- of @NextToken@ is a unique pagination token for each page. Make the call+-- again using the returned token to retrieve the next page. Keep all other+-- arguments unchanged. Each pagination token expires after 24 hours.+--+-- 'domainId', 'listSpeakerEnrollmentJobs_domainId' - The identifier of the domain containing the speaker enrollment jobs.+newListSpeakerEnrollmentJobs ::+ -- | 'domainId'+ Prelude.Text ->+ ListSpeakerEnrollmentJobs+newListSpeakerEnrollmentJobs pDomainId_ =+ ListSpeakerEnrollmentJobs'+ { jobStatus =+ Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ domainId = pDomainId_+ }++-- | Provides the status of your speaker enrollment Job.+listSpeakerEnrollmentJobs_jobStatus :: Lens.Lens' ListSpeakerEnrollmentJobs (Prelude.Maybe SpeakerEnrollmentJobStatus)+listSpeakerEnrollmentJobs_jobStatus = Lens.lens (\ListSpeakerEnrollmentJobs' {jobStatus} -> jobStatus) (\s@ListSpeakerEnrollmentJobs' {} a -> s {jobStatus = a} :: ListSpeakerEnrollmentJobs)++-- | The maximum number of results that are returned per call. You can use+-- @NextToken@ to obtain further pages of results. The default is 100; the+-- maximum allowed page size is also 100.+listSpeakerEnrollmentJobs_maxResults :: Lens.Lens' ListSpeakerEnrollmentJobs (Prelude.Maybe Prelude.Natural)+listSpeakerEnrollmentJobs_maxResults = Lens.lens (\ListSpeakerEnrollmentJobs' {maxResults} -> maxResults) (\s@ListSpeakerEnrollmentJobs' {} a -> s {maxResults = a} :: ListSpeakerEnrollmentJobs)++-- | If @NextToken@ is returned, there are more results available. The value+-- of @NextToken@ is a unique pagination token for each page. Make the call+-- again using the returned token to retrieve the next page. Keep all other+-- arguments unchanged. Each pagination token expires after 24 hours.+listSpeakerEnrollmentJobs_nextToken :: Lens.Lens' ListSpeakerEnrollmentJobs (Prelude.Maybe Prelude.Text)+listSpeakerEnrollmentJobs_nextToken = Lens.lens (\ListSpeakerEnrollmentJobs' {nextToken} -> nextToken) (\s@ListSpeakerEnrollmentJobs' {} a -> s {nextToken = a} :: ListSpeakerEnrollmentJobs)++-- | The identifier of the domain containing the speaker enrollment jobs.+listSpeakerEnrollmentJobs_domainId :: Lens.Lens' ListSpeakerEnrollmentJobs Prelude.Text+listSpeakerEnrollmentJobs_domainId = Lens.lens (\ListSpeakerEnrollmentJobs' {domainId} -> domainId) (\s@ListSpeakerEnrollmentJobs' {} a -> s {domainId = a} :: ListSpeakerEnrollmentJobs)++instance Core.AWSPager ListSpeakerEnrollmentJobs where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listSpeakerEnrollmentJobsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listSpeakerEnrollmentJobsResponse_jobSummaries+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listSpeakerEnrollmentJobs_nextToken+ Lens..~ rs+ Lens.^? listSpeakerEnrollmentJobsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListSpeakerEnrollmentJobs where+ type+ AWSResponse ListSpeakerEnrollmentJobs =+ ListSpeakerEnrollmentJobsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListSpeakerEnrollmentJobsResponse'+ Prelude.<$> (x Data..?> "JobSummaries" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListSpeakerEnrollmentJobs where+ hashWithSalt _salt ListSpeakerEnrollmentJobs' {..} =+ _salt+ `Prelude.hashWithSalt` jobStatus+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` domainId++instance Prelude.NFData ListSpeakerEnrollmentJobs where+ rnf ListSpeakerEnrollmentJobs' {..} =+ Prelude.rnf jobStatus+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf domainId++instance Data.ToHeaders ListSpeakerEnrollmentJobs where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "VoiceID.ListSpeakerEnrollmentJobs" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListSpeakerEnrollmentJobs where+ toJSON ListSpeakerEnrollmentJobs' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("JobStatus" Data..=) Prelude.<$> jobStatus,+ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken,+ Prelude.Just ("DomainId" Data..= domainId)+ ]+ )++instance Data.ToPath ListSpeakerEnrollmentJobs where+ toPath = Prelude.const "/"++instance Data.ToQuery ListSpeakerEnrollmentJobs where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListSpeakerEnrollmentJobsResponse' smart constructor.+data ListSpeakerEnrollmentJobsResponse = ListSpeakerEnrollmentJobsResponse'+ { -- | A list containing details about each specified speaker enrollment job.+ jobSummaries :: Prelude.Maybe [SpeakerEnrollmentJobSummary],+ -- | If @NextToken@ is returned, there are more results available. The value+ -- of @NextToken@ is a unique pagination token for each page. Make the call+ -- again using the returned token to retrieve the next page. Keep all other+ -- arguments unchanged. Each pagination token expires after 24 hours.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListSpeakerEnrollmentJobsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'jobSummaries', 'listSpeakerEnrollmentJobsResponse_jobSummaries' - A list containing details about each specified speaker enrollment job.+--+-- 'nextToken', 'listSpeakerEnrollmentJobsResponse_nextToken' - If @NextToken@ is returned, there are more results available. The value+-- of @NextToken@ is a unique pagination token for each page. Make the call+-- again using the returned token to retrieve the next page. Keep all other+-- arguments unchanged. Each pagination token expires after 24 hours.+--+-- 'httpStatus', 'listSpeakerEnrollmentJobsResponse_httpStatus' - The response's http status code.+newListSpeakerEnrollmentJobsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListSpeakerEnrollmentJobsResponse+newListSpeakerEnrollmentJobsResponse pHttpStatus_ =+ ListSpeakerEnrollmentJobsResponse'+ { jobSummaries =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A list containing details about each specified speaker enrollment job.+listSpeakerEnrollmentJobsResponse_jobSummaries :: Lens.Lens' ListSpeakerEnrollmentJobsResponse (Prelude.Maybe [SpeakerEnrollmentJobSummary])+listSpeakerEnrollmentJobsResponse_jobSummaries = Lens.lens (\ListSpeakerEnrollmentJobsResponse' {jobSummaries} -> jobSummaries) (\s@ListSpeakerEnrollmentJobsResponse' {} a -> s {jobSummaries = a} :: ListSpeakerEnrollmentJobsResponse) Prelude.. Lens.mapping Lens.coerced++-- | If @NextToken@ is returned, there are more results available. The value+-- of @NextToken@ is a unique pagination token for each page. Make the call+-- again using the returned token to retrieve the next page. Keep all other+-- arguments unchanged. Each pagination token expires after 24 hours.+listSpeakerEnrollmentJobsResponse_nextToken :: Lens.Lens' ListSpeakerEnrollmentJobsResponse (Prelude.Maybe Prelude.Text)+listSpeakerEnrollmentJobsResponse_nextToken = Lens.lens (\ListSpeakerEnrollmentJobsResponse' {nextToken} -> nextToken) (\s@ListSpeakerEnrollmentJobsResponse' {} a -> s {nextToken = a} :: ListSpeakerEnrollmentJobsResponse)++-- | The response's http status code.+listSpeakerEnrollmentJobsResponse_httpStatus :: Lens.Lens' ListSpeakerEnrollmentJobsResponse Prelude.Int+listSpeakerEnrollmentJobsResponse_httpStatus = Lens.lens (\ListSpeakerEnrollmentJobsResponse' {httpStatus} -> httpStatus) (\s@ListSpeakerEnrollmentJobsResponse' {} a -> s {httpStatus = a} :: ListSpeakerEnrollmentJobsResponse)++instance+ Prelude.NFData+ ListSpeakerEnrollmentJobsResponse+ where+ rnf ListSpeakerEnrollmentJobsResponse' {..} =+ Prelude.rnf jobSummaries+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/VoiceId/ListSpeakers.hs view
@@ -0,0 +1,260 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.ListSpeakers+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists all speakers in a specified domain.+--+-- This operation returns paginated results.+module Amazonka.VoiceId.ListSpeakers+ ( -- * Creating a Request+ ListSpeakers (..),+ newListSpeakers,++ -- * Request Lenses+ listSpeakers_maxResults,+ listSpeakers_nextToken,+ listSpeakers_domainId,++ -- * Destructuring the Response+ ListSpeakersResponse (..),+ newListSpeakersResponse,++ -- * Response Lenses+ listSpeakersResponse_nextToken,+ listSpeakersResponse_speakerSummaries,+ listSpeakersResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.VoiceId.Types++-- | /See:/ 'newListSpeakers' smart constructor.+data ListSpeakers = ListSpeakers'+ { -- | The maximum number of results that are returned per call. You can use+ -- @NextToken@ to obtain further pages of results. The default is 100; the+ -- maximum allowed page size is also 100.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | If @NextToken@ is returned, there are more results available. The value+ -- of @NextToken@ is a unique pagination token for each page. Make the call+ -- again using the returned token to retrieve the next page. Keep all other+ -- arguments unchanged. Each pagination token expires after 24 hours.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The identifier of the domain.+ domainId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListSpeakers' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listSpeakers_maxResults' - The maximum number of results that are returned per call. You can use+-- @NextToken@ to obtain further pages of results. The default is 100; the+-- maximum allowed page size is also 100.+--+-- 'nextToken', 'listSpeakers_nextToken' - If @NextToken@ is returned, there are more results available. The value+-- of @NextToken@ is a unique pagination token for each page. Make the call+-- again using the returned token to retrieve the next page. Keep all other+-- arguments unchanged. Each pagination token expires after 24 hours.+--+-- 'domainId', 'listSpeakers_domainId' - The identifier of the domain.+newListSpeakers ::+ -- | 'domainId'+ Prelude.Text ->+ ListSpeakers+newListSpeakers pDomainId_ =+ ListSpeakers'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ domainId = pDomainId_+ }++-- | The maximum number of results that are returned per call. You can use+-- @NextToken@ to obtain further pages of results. The default is 100; the+-- maximum allowed page size is also 100.+listSpeakers_maxResults :: Lens.Lens' ListSpeakers (Prelude.Maybe Prelude.Natural)+listSpeakers_maxResults = Lens.lens (\ListSpeakers' {maxResults} -> maxResults) (\s@ListSpeakers' {} a -> s {maxResults = a} :: ListSpeakers)++-- | If @NextToken@ is returned, there are more results available. The value+-- of @NextToken@ is a unique pagination token for each page. Make the call+-- again using the returned token to retrieve the next page. Keep all other+-- arguments unchanged. Each pagination token expires after 24 hours.+listSpeakers_nextToken :: Lens.Lens' ListSpeakers (Prelude.Maybe Prelude.Text)+listSpeakers_nextToken = Lens.lens (\ListSpeakers' {nextToken} -> nextToken) (\s@ListSpeakers' {} a -> s {nextToken = a} :: ListSpeakers)++-- | The identifier of the domain.+listSpeakers_domainId :: Lens.Lens' ListSpeakers Prelude.Text+listSpeakers_domainId = Lens.lens (\ListSpeakers' {domainId} -> domainId) (\s@ListSpeakers' {} a -> s {domainId = a} :: ListSpeakers)++instance Core.AWSPager ListSpeakers where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listSpeakersResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listSpeakersResponse_speakerSummaries+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listSpeakers_nextToken+ Lens..~ rs+ Lens.^? listSpeakersResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListSpeakers where+ type AWSResponse ListSpeakers = ListSpeakersResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListSpeakersResponse'+ Prelude.<$> (x Data..?> "NextToken")+ Prelude.<*> ( x+ Data..?> "SpeakerSummaries"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListSpeakers where+ hashWithSalt _salt ListSpeakers' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` domainId++instance Prelude.NFData ListSpeakers where+ rnf ListSpeakers' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf domainId++instance Data.ToHeaders ListSpeakers where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ("VoiceID.ListSpeakers" :: Prelude.ByteString),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListSpeakers where+ toJSON ListSpeakers' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken,+ Prelude.Just ("DomainId" Data..= domainId)+ ]+ )++instance Data.ToPath ListSpeakers where+ toPath = Prelude.const "/"++instance Data.ToQuery ListSpeakers where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListSpeakersResponse' smart constructor.+data ListSpeakersResponse = ListSpeakersResponse'+ { -- | If @NextToken@ is returned, there are more results available. The value+ -- of @NextToken@ is a unique pagination token for each page. Make the call+ -- again using the returned token to retrieve the next page. Keep all other+ -- arguments unchanged. Each pagination token expires after 24 hours.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | A list containing details about each speaker in the Amazon Web Services+ -- account.+ speakerSummaries :: Prelude.Maybe [SpeakerSummary],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListSpeakersResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listSpeakersResponse_nextToken' - If @NextToken@ is returned, there are more results available. The value+-- of @NextToken@ is a unique pagination token for each page. Make the call+-- again using the returned token to retrieve the next page. Keep all other+-- arguments unchanged. Each pagination token expires after 24 hours.+--+-- 'speakerSummaries', 'listSpeakersResponse_speakerSummaries' - A list containing details about each speaker in the Amazon Web Services+-- account.+--+-- 'httpStatus', 'listSpeakersResponse_httpStatus' - The response's http status code.+newListSpeakersResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListSpeakersResponse+newListSpeakersResponse pHttpStatus_ =+ ListSpeakersResponse'+ { nextToken = Prelude.Nothing,+ speakerSummaries = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | If @NextToken@ is returned, there are more results available. The value+-- of @NextToken@ is a unique pagination token for each page. Make the call+-- again using the returned token to retrieve the next page. Keep all other+-- arguments unchanged. Each pagination token expires after 24 hours.+listSpeakersResponse_nextToken :: Lens.Lens' ListSpeakersResponse (Prelude.Maybe Prelude.Text)+listSpeakersResponse_nextToken = Lens.lens (\ListSpeakersResponse' {nextToken} -> nextToken) (\s@ListSpeakersResponse' {} a -> s {nextToken = a} :: ListSpeakersResponse)++-- | A list containing details about each speaker in the Amazon Web Services+-- account.+listSpeakersResponse_speakerSummaries :: Lens.Lens' ListSpeakersResponse (Prelude.Maybe [SpeakerSummary])+listSpeakersResponse_speakerSummaries = Lens.lens (\ListSpeakersResponse' {speakerSummaries} -> speakerSummaries) (\s@ListSpeakersResponse' {} a -> s {speakerSummaries = a} :: ListSpeakersResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listSpeakersResponse_httpStatus :: Lens.Lens' ListSpeakersResponse Prelude.Int+listSpeakersResponse_httpStatus = Lens.lens (\ListSpeakersResponse' {httpStatus} -> httpStatus) (\s@ListSpeakersResponse' {} a -> s {httpStatus = a} :: ListSpeakersResponse)++instance Prelude.NFData ListSpeakersResponse where+ rnf ListSpeakersResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf speakerSummaries+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/VoiceId/ListTagsForResource.hs view
@@ -0,0 +1,172 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.ListTagsForResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists all tags associated with a specified Voice ID resource.+module Amazonka.VoiceId.ListTagsForResource+ ( -- * Creating a Request+ ListTagsForResource (..),+ newListTagsForResource,++ -- * Request Lenses+ listTagsForResource_resourceArn,++ -- * Destructuring the Response+ ListTagsForResourceResponse (..),+ newListTagsForResourceResponse,++ -- * Response Lenses+ listTagsForResourceResponse_tags,+ listTagsForResourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.VoiceId.Types++-- | /See:/ 'newListTagsForResource' smart constructor.+data ListTagsForResource = ListTagsForResource'+ { -- | The Amazon Resource Name (ARN) of the Voice ID resource for which you+ -- want to list the tags.+ resourceArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'listTagsForResource_resourceArn' - The Amazon Resource Name (ARN) of the Voice ID resource for which you+-- want to list the tags.+newListTagsForResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ ListTagsForResource+newListTagsForResource pResourceArn_ =+ ListTagsForResource' {resourceArn = pResourceArn_}++-- | The Amazon Resource Name (ARN) of the Voice ID resource for which you+-- want to list the tags.+listTagsForResource_resourceArn :: Lens.Lens' ListTagsForResource Prelude.Text+listTagsForResource_resourceArn = Lens.lens (\ListTagsForResource' {resourceArn} -> resourceArn) (\s@ListTagsForResource' {} a -> s {resourceArn = a} :: ListTagsForResource)++instance Core.AWSRequest ListTagsForResource where+ type+ AWSResponse ListTagsForResource =+ ListTagsForResourceResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListTagsForResourceResponse'+ Prelude.<$> (x Data..?> "Tags" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListTagsForResource where+ hashWithSalt _salt ListTagsForResource' {..} =+ _salt `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData ListTagsForResource where+ rnf ListTagsForResource' {..} =+ Prelude.rnf resourceArn++instance Data.ToHeaders ListTagsForResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "VoiceID.ListTagsForResource" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListTagsForResource where+ toJSON ListTagsForResource' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("ResourceArn" Data..= resourceArn)]+ )++instance Data.ToPath ListTagsForResource where+ toPath = Prelude.const "/"++instance Data.ToQuery ListTagsForResource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListTagsForResourceResponse' smart constructor.+data ListTagsForResourceResponse = ListTagsForResourceResponse'+ { -- | The list of tags associated with the specified resource.+ tags :: Prelude.Maybe [Tag],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tags', 'listTagsForResourceResponse_tags' - The list of tags associated with the specified resource.+--+-- 'httpStatus', 'listTagsForResourceResponse_httpStatus' - The response's http status code.+newListTagsForResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListTagsForResourceResponse+newListTagsForResourceResponse pHttpStatus_ =+ ListTagsForResourceResponse'+ { tags =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The list of tags associated with the specified resource.+listTagsForResourceResponse_tags :: Lens.Lens' ListTagsForResourceResponse (Prelude.Maybe [Tag])+listTagsForResourceResponse_tags = Lens.lens (\ListTagsForResourceResponse' {tags} -> tags) (\s@ListTagsForResourceResponse' {} a -> s {tags = a} :: ListTagsForResourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listTagsForResourceResponse_httpStatus :: Lens.Lens' ListTagsForResourceResponse Prelude.Int+listTagsForResourceResponse_httpStatus = Lens.lens (\ListTagsForResourceResponse' {httpStatus} -> httpStatus) (\s@ListTagsForResourceResponse' {} a -> s {httpStatus = a} :: ListTagsForResourceResponse)++instance Prelude.NFData ListTagsForResourceResponse where+ rnf ListTagsForResourceResponse' {..} =+ Prelude.rnf tags+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/VoiceId/OptOutSpeaker.hs view
@@ -0,0 +1,191 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.OptOutSpeaker+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Opts out a speaker from Voice ID. A speaker can be opted out regardless+-- of whether or not they already exist in Voice ID. If they don\'t yet+-- exist, a new speaker is created in an opted out state. If they already+-- exist, their existing status is overridden and they are opted out.+-- Enrollment and evaluation authentication requests are rejected for opted+-- out speakers, and opted out speakers have no voice embeddings stored in+-- Voice ID.+module Amazonka.VoiceId.OptOutSpeaker+ ( -- * Creating a Request+ OptOutSpeaker (..),+ newOptOutSpeaker,++ -- * Request Lenses+ optOutSpeaker_domainId,+ optOutSpeaker_speakerId,++ -- * Destructuring the Response+ OptOutSpeakerResponse (..),+ newOptOutSpeakerResponse,++ -- * Response Lenses+ optOutSpeakerResponse_speaker,+ optOutSpeakerResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.VoiceId.Types++-- | /See:/ 'newOptOutSpeaker' smart constructor.+data OptOutSpeaker = OptOutSpeaker'+ { -- | The identifier of the domain containing the speaker.+ domainId :: Prelude.Text,+ -- | The identifier of the speaker you want opted-out.+ speakerId :: Data.Sensitive Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'OptOutSpeaker' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domainId', 'optOutSpeaker_domainId' - The identifier of the domain containing the speaker.+--+-- 'speakerId', 'optOutSpeaker_speakerId' - The identifier of the speaker you want opted-out.+newOptOutSpeaker ::+ -- | 'domainId'+ Prelude.Text ->+ -- | 'speakerId'+ Prelude.Text ->+ OptOutSpeaker+newOptOutSpeaker pDomainId_ pSpeakerId_ =+ OptOutSpeaker'+ { domainId = pDomainId_,+ speakerId = Data._Sensitive Lens.# pSpeakerId_+ }++-- | The identifier of the domain containing the speaker.+optOutSpeaker_domainId :: Lens.Lens' OptOutSpeaker Prelude.Text+optOutSpeaker_domainId = Lens.lens (\OptOutSpeaker' {domainId} -> domainId) (\s@OptOutSpeaker' {} a -> s {domainId = a} :: OptOutSpeaker)++-- | The identifier of the speaker you want opted-out.+optOutSpeaker_speakerId :: Lens.Lens' OptOutSpeaker Prelude.Text+optOutSpeaker_speakerId = Lens.lens (\OptOutSpeaker' {speakerId} -> speakerId) (\s@OptOutSpeaker' {} a -> s {speakerId = a} :: OptOutSpeaker) Prelude.. Data._Sensitive++instance Core.AWSRequest OptOutSpeaker where+ type+ AWSResponse OptOutSpeaker =+ OptOutSpeakerResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ OptOutSpeakerResponse'+ Prelude.<$> (x Data..?> "Speaker")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable OptOutSpeaker where+ hashWithSalt _salt OptOutSpeaker' {..} =+ _salt+ `Prelude.hashWithSalt` domainId+ `Prelude.hashWithSalt` speakerId++instance Prelude.NFData OptOutSpeaker where+ rnf OptOutSpeaker' {..} =+ Prelude.rnf domainId+ `Prelude.seq` Prelude.rnf speakerId++instance Data.ToHeaders OptOutSpeaker where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ("VoiceID.OptOutSpeaker" :: Prelude.ByteString),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON OptOutSpeaker where+ toJSON OptOutSpeaker' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("DomainId" Data..= domainId),+ Prelude.Just ("SpeakerId" Data..= speakerId)+ ]+ )++instance Data.ToPath OptOutSpeaker where+ toPath = Prelude.const "/"++instance Data.ToQuery OptOutSpeaker where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newOptOutSpeakerResponse' smart constructor.+data OptOutSpeakerResponse = OptOutSpeakerResponse'+ { -- | Details about the opted-out speaker.+ speaker :: Prelude.Maybe Speaker,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'OptOutSpeakerResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'speaker', 'optOutSpeakerResponse_speaker' - Details about the opted-out speaker.+--+-- 'httpStatus', 'optOutSpeakerResponse_httpStatus' - The response's http status code.+newOptOutSpeakerResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ OptOutSpeakerResponse+newOptOutSpeakerResponse pHttpStatus_ =+ OptOutSpeakerResponse'+ { speaker = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Details about the opted-out speaker.+optOutSpeakerResponse_speaker :: Lens.Lens' OptOutSpeakerResponse (Prelude.Maybe Speaker)+optOutSpeakerResponse_speaker = Lens.lens (\OptOutSpeakerResponse' {speaker} -> speaker) (\s@OptOutSpeakerResponse' {} a -> s {speaker = a} :: OptOutSpeakerResponse)++-- | The response's http status code.+optOutSpeakerResponse_httpStatus :: Lens.Lens' OptOutSpeakerResponse Prelude.Int+optOutSpeakerResponse_httpStatus = Lens.lens (\OptOutSpeakerResponse' {httpStatus} -> httpStatus) (\s@OptOutSpeakerResponse' {} a -> s {httpStatus = a} :: OptOutSpeakerResponse)++instance Prelude.NFData OptOutSpeakerResponse where+ rnf OptOutSpeakerResponse' {..} =+ Prelude.rnf speaker+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/VoiceId/StartFraudsterRegistrationJob.hs view
@@ -0,0 +1,308 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.StartFraudsterRegistrationJob+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Starts a new batch fraudster registration job using provided details.+module Amazonka.VoiceId.StartFraudsterRegistrationJob+ ( -- * Creating a Request+ StartFraudsterRegistrationJob (..),+ newStartFraudsterRegistrationJob,++ -- * Request Lenses+ startFraudsterRegistrationJob_clientToken,+ startFraudsterRegistrationJob_jobName,+ startFraudsterRegistrationJob_registrationConfig,+ startFraudsterRegistrationJob_dataAccessRoleArn,+ startFraudsterRegistrationJob_domainId,+ startFraudsterRegistrationJob_inputDataConfig,+ startFraudsterRegistrationJob_outputDataConfig,++ -- * Destructuring the Response+ StartFraudsterRegistrationJobResponse (..),+ newStartFraudsterRegistrationJobResponse,++ -- * Response Lenses+ startFraudsterRegistrationJobResponse_job,+ startFraudsterRegistrationJobResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.VoiceId.Types++-- | /See:/ 'newStartFraudsterRegistrationJob' smart constructor.+data StartFraudsterRegistrationJob = StartFraudsterRegistrationJob'+ { -- | The idempotency token for starting a new fraudster registration job. If+ -- not provided, Amazon Web Services SDK populates this field.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The name of the new fraudster registration job.+ jobName :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | 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 :: Prelude.Maybe RegistrationConfig,+ -- | 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. Refer to the+ -- <https://docs.aws.amazon.com/connect/latest/adminguide/voiceid-fraudster-watchlist.html Create and edit a fraudster watchlist>+ -- documentation for the permissions needed in this role.+ dataAccessRoleArn :: Prelude.Text,+ -- | The identifier of the domain containing the fraudster registration job+ -- and in which the fraudsters are registered.+ domainId :: Prelude.Text,+ -- | The input data config containing an S3 URI for the input manifest file+ -- that contains the list of fraudster registration requests.+ inputDataConfig :: InputDataConfig,+ -- | 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+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartFraudsterRegistrationJob' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'startFraudsterRegistrationJob_clientToken' - The idempotency token for starting a new fraudster registration job. If+-- not provided, Amazon Web Services SDK populates this field.+--+-- 'jobName', 'startFraudsterRegistrationJob_jobName' - The name of the new fraudster registration job.+--+-- 'registrationConfig', 'startFraudsterRegistrationJob_registrationConfig' - 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.+--+-- 'dataAccessRoleArn', 'startFraudsterRegistrationJob_dataAccessRoleArn' - 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. Refer to the+-- <https://docs.aws.amazon.com/connect/latest/adminguide/voiceid-fraudster-watchlist.html Create and edit a fraudster watchlist>+-- documentation for the permissions needed in this role.+--+-- 'domainId', 'startFraudsterRegistrationJob_domainId' - The identifier of the domain containing the fraudster registration job+-- and in which the fraudsters are registered.+--+-- 'inputDataConfig', 'startFraudsterRegistrationJob_inputDataConfig' - The input data config containing an S3 URI for the input manifest file+-- that contains the list of fraudster registration requests.+--+-- 'outputDataConfig', 'startFraudsterRegistrationJob_outputDataConfig' - 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.+newStartFraudsterRegistrationJob ::+ -- | 'dataAccessRoleArn'+ Prelude.Text ->+ -- | 'domainId'+ Prelude.Text ->+ -- | 'inputDataConfig'+ InputDataConfig ->+ -- | 'outputDataConfig'+ OutputDataConfig ->+ StartFraudsterRegistrationJob+newStartFraudsterRegistrationJob+ pDataAccessRoleArn_+ pDomainId_+ pInputDataConfig_+ pOutputDataConfig_ =+ StartFraudsterRegistrationJob'+ { clientToken =+ Prelude.Nothing,+ jobName = Prelude.Nothing,+ registrationConfig = Prelude.Nothing,+ dataAccessRoleArn = pDataAccessRoleArn_,+ domainId = pDomainId_,+ inputDataConfig = pInputDataConfig_,+ outputDataConfig = pOutputDataConfig_+ }++-- | The idempotency token for starting a new fraudster registration job. If+-- not provided, Amazon Web Services SDK populates this field.+startFraudsterRegistrationJob_clientToken :: Lens.Lens' StartFraudsterRegistrationJob (Prelude.Maybe Prelude.Text)+startFraudsterRegistrationJob_clientToken = Lens.lens (\StartFraudsterRegistrationJob' {clientToken} -> clientToken) (\s@StartFraudsterRegistrationJob' {} a -> s {clientToken = a} :: StartFraudsterRegistrationJob)++-- | The name of the new fraudster registration job.+startFraudsterRegistrationJob_jobName :: Lens.Lens' StartFraudsterRegistrationJob (Prelude.Maybe Prelude.Text)+startFraudsterRegistrationJob_jobName = Lens.lens (\StartFraudsterRegistrationJob' {jobName} -> jobName) (\s@StartFraudsterRegistrationJob' {} a -> s {jobName = a} :: StartFraudsterRegistrationJob) Prelude.. Lens.mapping Data._Sensitive++-- | 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.+startFraudsterRegistrationJob_registrationConfig :: Lens.Lens' StartFraudsterRegistrationJob (Prelude.Maybe RegistrationConfig)+startFraudsterRegistrationJob_registrationConfig = Lens.lens (\StartFraudsterRegistrationJob' {registrationConfig} -> registrationConfig) (\s@StartFraudsterRegistrationJob' {} a -> s {registrationConfig = a} :: StartFraudsterRegistrationJob)++-- | 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. Refer to the+-- <https://docs.aws.amazon.com/connect/latest/adminguide/voiceid-fraudster-watchlist.html Create and edit a fraudster watchlist>+-- documentation for the permissions needed in this role.+startFraudsterRegistrationJob_dataAccessRoleArn :: Lens.Lens' StartFraudsterRegistrationJob Prelude.Text+startFraudsterRegistrationJob_dataAccessRoleArn = Lens.lens (\StartFraudsterRegistrationJob' {dataAccessRoleArn} -> dataAccessRoleArn) (\s@StartFraudsterRegistrationJob' {} a -> s {dataAccessRoleArn = a} :: StartFraudsterRegistrationJob)++-- | The identifier of the domain containing the fraudster registration job+-- and in which the fraudsters are registered.+startFraudsterRegistrationJob_domainId :: Lens.Lens' StartFraudsterRegistrationJob Prelude.Text+startFraudsterRegistrationJob_domainId = Lens.lens (\StartFraudsterRegistrationJob' {domainId} -> domainId) (\s@StartFraudsterRegistrationJob' {} a -> s {domainId = a} :: StartFraudsterRegistrationJob)++-- | The input data config containing an S3 URI for the input manifest file+-- that contains the list of fraudster registration requests.+startFraudsterRegistrationJob_inputDataConfig :: Lens.Lens' StartFraudsterRegistrationJob InputDataConfig+startFraudsterRegistrationJob_inputDataConfig = Lens.lens (\StartFraudsterRegistrationJob' {inputDataConfig} -> inputDataConfig) (\s@StartFraudsterRegistrationJob' {} a -> s {inputDataConfig = a} :: StartFraudsterRegistrationJob)++-- | 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.+startFraudsterRegistrationJob_outputDataConfig :: Lens.Lens' StartFraudsterRegistrationJob OutputDataConfig+startFraudsterRegistrationJob_outputDataConfig = Lens.lens (\StartFraudsterRegistrationJob' {outputDataConfig} -> outputDataConfig) (\s@StartFraudsterRegistrationJob' {} a -> s {outputDataConfig = a} :: StartFraudsterRegistrationJob)++instance+ Core.AWSRequest+ StartFraudsterRegistrationJob+ where+ type+ AWSResponse StartFraudsterRegistrationJob =+ StartFraudsterRegistrationJobResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ StartFraudsterRegistrationJobResponse'+ Prelude.<$> (x Data..?> "Job")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ StartFraudsterRegistrationJob+ where+ hashWithSalt _salt StartFraudsterRegistrationJob' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` jobName+ `Prelude.hashWithSalt` registrationConfig+ `Prelude.hashWithSalt` dataAccessRoleArn+ `Prelude.hashWithSalt` domainId+ `Prelude.hashWithSalt` inputDataConfig+ `Prelude.hashWithSalt` outputDataConfig++instance Prelude.NFData StartFraudsterRegistrationJob where+ rnf StartFraudsterRegistrationJob' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf jobName+ `Prelude.seq` Prelude.rnf registrationConfig+ `Prelude.seq` Prelude.rnf dataAccessRoleArn+ `Prelude.seq` Prelude.rnf domainId+ `Prelude.seq` Prelude.rnf inputDataConfig+ `Prelude.seq` Prelude.rnf outputDataConfig++instance Data.ToHeaders StartFraudsterRegistrationJob where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "VoiceID.StartFraudsterRegistrationJob" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON StartFraudsterRegistrationJob where+ toJSON StartFraudsterRegistrationJob' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ClientToken" Data..=) Prelude.<$> clientToken,+ ("JobName" Data..=) Prelude.<$> jobName,+ ("RegistrationConfig" Data..=)+ Prelude.<$> registrationConfig,+ Prelude.Just+ ("DataAccessRoleArn" Data..= dataAccessRoleArn),+ Prelude.Just ("DomainId" Data..= domainId),+ Prelude.Just+ ("InputDataConfig" Data..= inputDataConfig),+ Prelude.Just+ ("OutputDataConfig" Data..= outputDataConfig)+ ]+ )++instance Data.ToPath StartFraudsterRegistrationJob where+ toPath = Prelude.const "/"++instance Data.ToQuery StartFraudsterRegistrationJob where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStartFraudsterRegistrationJobResponse' smart constructor.+data StartFraudsterRegistrationJobResponse = StartFraudsterRegistrationJobResponse'+ { -- | Details about the started fraudster registration job.+ job :: Prelude.Maybe FraudsterRegistrationJob,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartFraudsterRegistrationJobResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'job', 'startFraudsterRegistrationJobResponse_job' - Details about the started fraudster registration job.+--+-- 'httpStatus', 'startFraudsterRegistrationJobResponse_httpStatus' - The response's http status code.+newStartFraudsterRegistrationJobResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ StartFraudsterRegistrationJobResponse+newStartFraudsterRegistrationJobResponse pHttpStatus_ =+ StartFraudsterRegistrationJobResponse'+ { job =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Details about the started fraudster registration job.+startFraudsterRegistrationJobResponse_job :: Lens.Lens' StartFraudsterRegistrationJobResponse (Prelude.Maybe FraudsterRegistrationJob)+startFraudsterRegistrationJobResponse_job = Lens.lens (\StartFraudsterRegistrationJobResponse' {job} -> job) (\s@StartFraudsterRegistrationJobResponse' {} a -> s {job = a} :: StartFraudsterRegistrationJobResponse)++-- | The response's http status code.+startFraudsterRegistrationJobResponse_httpStatus :: Lens.Lens' StartFraudsterRegistrationJobResponse Prelude.Int+startFraudsterRegistrationJobResponse_httpStatus = Lens.lens (\StartFraudsterRegistrationJobResponse' {httpStatus} -> httpStatus) (\s@StartFraudsterRegistrationJobResponse' {} a -> s {httpStatus = a} :: StartFraudsterRegistrationJobResponse)++instance+ Prelude.NFData+ StartFraudsterRegistrationJobResponse+ where+ rnf StartFraudsterRegistrationJobResponse' {..} =+ Prelude.rnf job+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/VoiceId/StartSpeakerEnrollmentJob.hs view
@@ -0,0 +1,302 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.StartSpeakerEnrollmentJob+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Starts a new batch speaker enrollment job using specified details.+module Amazonka.VoiceId.StartSpeakerEnrollmentJob+ ( -- * Creating a Request+ StartSpeakerEnrollmentJob (..),+ newStartSpeakerEnrollmentJob,++ -- * Request Lenses+ startSpeakerEnrollmentJob_clientToken,+ startSpeakerEnrollmentJob_enrollmentConfig,+ startSpeakerEnrollmentJob_jobName,+ startSpeakerEnrollmentJob_dataAccessRoleArn,+ startSpeakerEnrollmentJob_domainId,+ startSpeakerEnrollmentJob_inputDataConfig,+ startSpeakerEnrollmentJob_outputDataConfig,++ -- * Destructuring the Response+ StartSpeakerEnrollmentJobResponse (..),+ newStartSpeakerEnrollmentJobResponse,++ -- * Response Lenses+ startSpeakerEnrollmentJobResponse_job,+ startSpeakerEnrollmentJobResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.VoiceId.Types++-- | /See:/ 'newStartSpeakerEnrollmentJob' smart constructor.+data StartSpeakerEnrollmentJob = StartSpeakerEnrollmentJob'+ { -- | The idempotency token for starting a new speaker enrollment Job. If not+ -- provided, Amazon Web Services SDK populates this field.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The enrollment config that contains details such as the action to take+ -- when a speaker is already enrolled in Voice ID or when a speaker is+ -- identified as a fraudster.+ enrollmentConfig :: Prelude.Maybe EnrollmentConfig,+ -- | A name for your speaker enrollment job.+ jobName :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | 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. Refer to+ -- <https://docs.aws.amazon.com/connect/latest/adminguide/voiceid-batch-enrollment.html Batch enrollment using audio data from prior calls>+ -- for the permissions needed in this role.+ dataAccessRoleArn :: Prelude.Text,+ -- | The identifier of the domain that contains the speaker enrollment job+ -- and in which the speakers are enrolled.+ domainId :: Prelude.Text,+ -- | The input data config containing the S3 location for the input manifest+ -- file that contains the list of speaker enrollment requests.+ inputDataConfig :: InputDataConfig,+ -- | 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+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartSpeakerEnrollmentJob' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'startSpeakerEnrollmentJob_clientToken' - The idempotency token for starting a new speaker enrollment Job. If not+-- provided, Amazon Web Services SDK populates this field.+--+-- 'enrollmentConfig', 'startSpeakerEnrollmentJob_enrollmentConfig' - The enrollment config that contains details such as the action to take+-- when a speaker is already enrolled in Voice ID or when a speaker is+-- identified as a fraudster.+--+-- 'jobName', 'startSpeakerEnrollmentJob_jobName' - A name for your speaker enrollment job.+--+-- 'dataAccessRoleArn', 'startSpeakerEnrollmentJob_dataAccessRoleArn' - 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. Refer to+-- <https://docs.aws.amazon.com/connect/latest/adminguide/voiceid-batch-enrollment.html Batch enrollment using audio data from prior calls>+-- for the permissions needed in this role.+--+-- 'domainId', 'startSpeakerEnrollmentJob_domainId' - The identifier of the domain that contains the speaker enrollment job+-- and in which the speakers are enrolled.+--+-- 'inputDataConfig', 'startSpeakerEnrollmentJob_inputDataConfig' - The input data config containing the S3 location for the input manifest+-- file that contains the list of speaker enrollment requests.+--+-- 'outputDataConfig', 'startSpeakerEnrollmentJob_outputDataConfig' - 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.+newStartSpeakerEnrollmentJob ::+ -- | 'dataAccessRoleArn'+ Prelude.Text ->+ -- | 'domainId'+ Prelude.Text ->+ -- | 'inputDataConfig'+ InputDataConfig ->+ -- | 'outputDataConfig'+ OutputDataConfig ->+ StartSpeakerEnrollmentJob+newStartSpeakerEnrollmentJob+ pDataAccessRoleArn_+ pDomainId_+ pInputDataConfig_+ pOutputDataConfig_ =+ StartSpeakerEnrollmentJob'+ { clientToken =+ Prelude.Nothing,+ enrollmentConfig = Prelude.Nothing,+ jobName = Prelude.Nothing,+ dataAccessRoleArn = pDataAccessRoleArn_,+ domainId = pDomainId_,+ inputDataConfig = pInputDataConfig_,+ outputDataConfig = pOutputDataConfig_+ }++-- | The idempotency token for starting a new speaker enrollment Job. If not+-- provided, Amazon Web Services SDK populates this field.+startSpeakerEnrollmentJob_clientToken :: Lens.Lens' StartSpeakerEnrollmentJob (Prelude.Maybe Prelude.Text)+startSpeakerEnrollmentJob_clientToken = Lens.lens (\StartSpeakerEnrollmentJob' {clientToken} -> clientToken) (\s@StartSpeakerEnrollmentJob' {} a -> s {clientToken = a} :: StartSpeakerEnrollmentJob)++-- | The enrollment config that contains details such as the action to take+-- when a speaker is already enrolled in Voice ID or when a speaker is+-- identified as a fraudster.+startSpeakerEnrollmentJob_enrollmentConfig :: Lens.Lens' StartSpeakerEnrollmentJob (Prelude.Maybe EnrollmentConfig)+startSpeakerEnrollmentJob_enrollmentConfig = Lens.lens (\StartSpeakerEnrollmentJob' {enrollmentConfig} -> enrollmentConfig) (\s@StartSpeakerEnrollmentJob' {} a -> s {enrollmentConfig = a} :: StartSpeakerEnrollmentJob)++-- | A name for your speaker enrollment job.+startSpeakerEnrollmentJob_jobName :: Lens.Lens' StartSpeakerEnrollmentJob (Prelude.Maybe Prelude.Text)+startSpeakerEnrollmentJob_jobName = Lens.lens (\StartSpeakerEnrollmentJob' {jobName} -> jobName) (\s@StartSpeakerEnrollmentJob' {} a -> s {jobName = a} :: StartSpeakerEnrollmentJob) Prelude.. Lens.mapping Data._Sensitive++-- | 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. Refer to+-- <https://docs.aws.amazon.com/connect/latest/adminguide/voiceid-batch-enrollment.html Batch enrollment using audio data from prior calls>+-- for the permissions needed in this role.+startSpeakerEnrollmentJob_dataAccessRoleArn :: Lens.Lens' StartSpeakerEnrollmentJob Prelude.Text+startSpeakerEnrollmentJob_dataAccessRoleArn = Lens.lens (\StartSpeakerEnrollmentJob' {dataAccessRoleArn} -> dataAccessRoleArn) (\s@StartSpeakerEnrollmentJob' {} a -> s {dataAccessRoleArn = a} :: StartSpeakerEnrollmentJob)++-- | The identifier of the domain that contains the speaker enrollment job+-- and in which the speakers are enrolled.+startSpeakerEnrollmentJob_domainId :: Lens.Lens' StartSpeakerEnrollmentJob Prelude.Text+startSpeakerEnrollmentJob_domainId = Lens.lens (\StartSpeakerEnrollmentJob' {domainId} -> domainId) (\s@StartSpeakerEnrollmentJob' {} a -> s {domainId = a} :: StartSpeakerEnrollmentJob)++-- | The input data config containing the S3 location for the input manifest+-- file that contains the list of speaker enrollment requests.+startSpeakerEnrollmentJob_inputDataConfig :: Lens.Lens' StartSpeakerEnrollmentJob InputDataConfig+startSpeakerEnrollmentJob_inputDataConfig = Lens.lens (\StartSpeakerEnrollmentJob' {inputDataConfig} -> inputDataConfig) (\s@StartSpeakerEnrollmentJob' {} a -> s {inputDataConfig = a} :: StartSpeakerEnrollmentJob)++-- | 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.+startSpeakerEnrollmentJob_outputDataConfig :: Lens.Lens' StartSpeakerEnrollmentJob OutputDataConfig+startSpeakerEnrollmentJob_outputDataConfig = Lens.lens (\StartSpeakerEnrollmentJob' {outputDataConfig} -> outputDataConfig) (\s@StartSpeakerEnrollmentJob' {} a -> s {outputDataConfig = a} :: StartSpeakerEnrollmentJob)++instance Core.AWSRequest StartSpeakerEnrollmentJob where+ type+ AWSResponse StartSpeakerEnrollmentJob =+ StartSpeakerEnrollmentJobResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ StartSpeakerEnrollmentJobResponse'+ Prelude.<$> (x Data..?> "Job")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable StartSpeakerEnrollmentJob where+ hashWithSalt _salt StartSpeakerEnrollmentJob' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` enrollmentConfig+ `Prelude.hashWithSalt` jobName+ `Prelude.hashWithSalt` dataAccessRoleArn+ `Prelude.hashWithSalt` domainId+ `Prelude.hashWithSalt` inputDataConfig+ `Prelude.hashWithSalt` outputDataConfig++instance Prelude.NFData StartSpeakerEnrollmentJob where+ rnf StartSpeakerEnrollmentJob' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf enrollmentConfig+ `Prelude.seq` Prelude.rnf jobName+ `Prelude.seq` Prelude.rnf dataAccessRoleArn+ `Prelude.seq` Prelude.rnf domainId+ `Prelude.seq` Prelude.rnf inputDataConfig+ `Prelude.seq` Prelude.rnf outputDataConfig++instance Data.ToHeaders StartSpeakerEnrollmentJob where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "VoiceID.StartSpeakerEnrollmentJob" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON StartSpeakerEnrollmentJob where+ toJSON StartSpeakerEnrollmentJob' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ClientToken" Data..=) Prelude.<$> clientToken,+ ("EnrollmentConfig" Data..=)+ Prelude.<$> enrollmentConfig,+ ("JobName" Data..=) Prelude.<$> jobName,+ Prelude.Just+ ("DataAccessRoleArn" Data..= dataAccessRoleArn),+ Prelude.Just ("DomainId" Data..= domainId),+ Prelude.Just+ ("InputDataConfig" Data..= inputDataConfig),+ Prelude.Just+ ("OutputDataConfig" Data..= outputDataConfig)+ ]+ )++instance Data.ToPath StartSpeakerEnrollmentJob where+ toPath = Prelude.const "/"++instance Data.ToQuery StartSpeakerEnrollmentJob where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStartSpeakerEnrollmentJobResponse' smart constructor.+data StartSpeakerEnrollmentJobResponse = StartSpeakerEnrollmentJobResponse'+ { -- | Details about the started speaker enrollment job.+ job :: Prelude.Maybe SpeakerEnrollmentJob,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartSpeakerEnrollmentJobResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'job', 'startSpeakerEnrollmentJobResponse_job' - Details about the started speaker enrollment job.+--+-- 'httpStatus', 'startSpeakerEnrollmentJobResponse_httpStatus' - The response's http status code.+newStartSpeakerEnrollmentJobResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ StartSpeakerEnrollmentJobResponse+newStartSpeakerEnrollmentJobResponse pHttpStatus_ =+ StartSpeakerEnrollmentJobResponse'+ { job =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Details about the started speaker enrollment job.+startSpeakerEnrollmentJobResponse_job :: Lens.Lens' StartSpeakerEnrollmentJobResponse (Prelude.Maybe SpeakerEnrollmentJob)+startSpeakerEnrollmentJobResponse_job = Lens.lens (\StartSpeakerEnrollmentJobResponse' {job} -> job) (\s@StartSpeakerEnrollmentJobResponse' {} a -> s {job = a} :: StartSpeakerEnrollmentJobResponse)++-- | The response's http status code.+startSpeakerEnrollmentJobResponse_httpStatus :: Lens.Lens' StartSpeakerEnrollmentJobResponse Prelude.Int+startSpeakerEnrollmentJobResponse_httpStatus = Lens.lens (\StartSpeakerEnrollmentJobResponse' {httpStatus} -> httpStatus) (\s@StartSpeakerEnrollmentJobResponse' {} a -> s {httpStatus = a} :: StartSpeakerEnrollmentJobResponse)++instance+ Prelude.NFData+ StartSpeakerEnrollmentJobResponse+ where+ rnf StartSpeakerEnrollmentJobResponse' {..} =+ Prelude.rnf job+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/VoiceId/TagResource.hs view
@@ -0,0 +1,166 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.TagResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Tags a Voice ID resource with the provided list of tags.+module Amazonka.VoiceId.TagResource+ ( -- * Creating a Request+ TagResource (..),+ newTagResource,++ -- * Request Lenses+ tagResource_resourceArn,+ tagResource_tags,++ -- * Destructuring the Response+ TagResourceResponse (..),+ newTagResourceResponse,++ -- * Response Lenses+ tagResourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.VoiceId.Types++-- | /See:/ 'newTagResource' smart constructor.+data TagResource = TagResource'+ { -- | The Amazon Resource Name (ARN) of the Voice ID resource you want to tag.+ resourceArn :: Prelude.Text,+ -- | The list of tags to assign to the specified resource.+ tags :: [Tag]+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'tagResource_resourceArn' - The Amazon Resource Name (ARN) of the Voice ID resource you want to tag.+--+-- 'tags', 'tagResource_tags' - The list of tags to assign to the specified resource.+newTagResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ TagResource+newTagResource pResourceArn_ =+ TagResource'+ { resourceArn = pResourceArn_,+ tags = Prelude.mempty+ }++-- | The Amazon Resource Name (ARN) of the Voice ID resource you want to tag.+tagResource_resourceArn :: Lens.Lens' TagResource Prelude.Text+tagResource_resourceArn = Lens.lens (\TagResource' {resourceArn} -> resourceArn) (\s@TagResource' {} a -> s {resourceArn = a} :: TagResource)++-- | The list of tags to assign to the specified resource.+tagResource_tags :: Lens.Lens' TagResource [Tag]+tagResource_tags = Lens.lens (\TagResource' {tags} -> tags) (\s@TagResource' {} a -> s {tags = a} :: TagResource) Prelude.. Lens.coerced++instance Core.AWSRequest TagResource where+ type AWSResponse TagResource = TagResourceResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ TagResourceResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable TagResource where+ hashWithSalt _salt TagResource' {..} =+ _salt+ `Prelude.hashWithSalt` resourceArn+ `Prelude.hashWithSalt` tags++instance Prelude.NFData TagResource where+ rnf TagResource' {..} =+ Prelude.rnf resourceArn+ `Prelude.seq` Prelude.rnf tags++instance Data.ToHeaders TagResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ("VoiceID.TagResource" :: Prelude.ByteString),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON TagResource where+ toJSON TagResource' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("ResourceArn" Data..= resourceArn),+ Prelude.Just ("Tags" Data..= tags)+ ]+ )++instance Data.ToPath TagResource where+ toPath = Prelude.const "/"++instance Data.ToQuery TagResource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newTagResourceResponse' smart constructor.+data TagResourceResponse = TagResourceResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'tagResourceResponse_httpStatus' - The response's http status code.+newTagResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ TagResourceResponse+newTagResourceResponse pHttpStatus_ =+ TagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+tagResourceResponse_httpStatus :: Lens.Lens' TagResourceResponse Prelude.Int+tagResourceResponse_httpStatus = Lens.lens (\TagResourceResponse' {httpStatus} -> httpStatus) (\s@TagResourceResponse' {} a -> s {httpStatus = a} :: TagResourceResponse)++instance Prelude.NFData TagResourceResponse where+ rnf TagResourceResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/VoiceId/Types.hs view
@@ -0,0 +1,455 @@+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.Types+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.VoiceId.Types+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ _AccessDeniedException,+ _ConflictException,+ _InternalServerException,+ _ResourceNotFoundException,+ _ServiceQuotaExceededException,+ _ThrottlingException,+ _ValidationException,++ -- * AuthenticationDecision+ AuthenticationDecision (..),++ -- * DomainStatus+ DomainStatus (..),++ -- * DuplicateRegistrationAction+ DuplicateRegistrationAction (..),++ -- * ExistingEnrollmentAction+ ExistingEnrollmentAction (..),++ -- * FraudDetectionAction+ FraudDetectionAction (..),++ -- * FraudDetectionDecision+ FraudDetectionDecision (..),++ -- * FraudDetectionReason+ FraudDetectionReason (..),++ -- * FraudsterRegistrationJobStatus+ FraudsterRegistrationJobStatus (..),++ -- * ServerSideEncryptionUpdateStatus+ ServerSideEncryptionUpdateStatus (..),++ -- * SpeakerEnrollmentJobStatus+ SpeakerEnrollmentJobStatus (..),++ -- * SpeakerStatus+ SpeakerStatus (..),++ -- * StreamingStatus+ StreamingStatus (..),++ -- * AuthenticationConfiguration+ AuthenticationConfiguration (..),+ newAuthenticationConfiguration,+ authenticationConfiguration_acceptanceThreshold,++ -- * AuthenticationResult+ AuthenticationResult (..),+ newAuthenticationResult,+ authenticationResult_audioAggregationEndedAt,+ authenticationResult_audioAggregationStartedAt,+ authenticationResult_authenticationResultId,+ authenticationResult_configuration,+ authenticationResult_customerSpeakerId,+ authenticationResult_decision,+ authenticationResult_generatedSpeakerId,+ authenticationResult_score,++ -- * Domain+ Domain (..),+ newDomain,+ domain_arn,+ domain_createdAt,+ domain_description,+ domain_domainId,+ domain_domainStatus,+ domain_name,+ domain_serverSideEncryptionConfiguration,+ domain_serverSideEncryptionUpdateDetails,+ domain_updatedAt,++ -- * DomainSummary+ DomainSummary (..),+ newDomainSummary,+ domainSummary_arn,+ domainSummary_createdAt,+ domainSummary_description,+ domainSummary_domainId,+ domainSummary_domainStatus,+ domainSummary_name,+ domainSummary_serverSideEncryptionConfiguration,+ domainSummary_serverSideEncryptionUpdateDetails,+ domainSummary_updatedAt,++ -- * EnrollmentConfig+ EnrollmentConfig (..),+ newEnrollmentConfig,+ enrollmentConfig_existingEnrollmentAction,+ enrollmentConfig_fraudDetectionConfig,++ -- * EnrollmentJobFraudDetectionConfig+ EnrollmentJobFraudDetectionConfig (..),+ newEnrollmentJobFraudDetectionConfig,+ enrollmentJobFraudDetectionConfig_fraudDetectionAction,+ enrollmentJobFraudDetectionConfig_riskThreshold,++ -- * FailureDetails+ FailureDetails (..),+ newFailureDetails,+ failureDetails_message,+ failureDetails_statusCode,++ -- * FraudDetectionConfiguration+ FraudDetectionConfiguration (..),+ newFraudDetectionConfiguration,+ fraudDetectionConfiguration_riskThreshold,++ -- * FraudDetectionResult+ FraudDetectionResult (..),+ newFraudDetectionResult,+ fraudDetectionResult_audioAggregationEndedAt,+ fraudDetectionResult_audioAggregationStartedAt,+ fraudDetectionResult_configuration,+ fraudDetectionResult_decision,+ fraudDetectionResult_fraudDetectionResultId,+ fraudDetectionResult_reasons,+ fraudDetectionResult_riskDetails,++ -- * FraudRiskDetails+ FraudRiskDetails (..),+ newFraudRiskDetails,+ fraudRiskDetails_knownFraudsterRisk,+ fraudRiskDetails_voiceSpoofingRisk,++ -- * Fraudster+ Fraudster (..),+ newFraudster,+ fraudster_createdAt,+ fraudster_domainId,+ fraudster_generatedFraudsterId,++ -- * FraudsterRegistrationJob+ FraudsterRegistrationJob (..),+ newFraudsterRegistrationJob,+ fraudsterRegistrationJob_createdAt,+ fraudsterRegistrationJob_dataAccessRoleArn,+ fraudsterRegistrationJob_domainId,+ fraudsterRegistrationJob_endedAt,+ fraudsterRegistrationJob_failureDetails,+ fraudsterRegistrationJob_inputDataConfig,+ fraudsterRegistrationJob_jobId,+ fraudsterRegistrationJob_jobName,+ fraudsterRegistrationJob_jobProgress,+ fraudsterRegistrationJob_jobStatus,+ fraudsterRegistrationJob_outputDataConfig,+ fraudsterRegistrationJob_registrationConfig,++ -- * FraudsterRegistrationJobSummary+ FraudsterRegistrationJobSummary (..),+ newFraudsterRegistrationJobSummary,+ fraudsterRegistrationJobSummary_createdAt,+ fraudsterRegistrationJobSummary_domainId,+ fraudsterRegistrationJobSummary_endedAt,+ fraudsterRegistrationJobSummary_failureDetails,+ fraudsterRegistrationJobSummary_jobId,+ fraudsterRegistrationJobSummary_jobName,+ fraudsterRegistrationJobSummary_jobProgress,+ fraudsterRegistrationJobSummary_jobStatus,++ -- * InputDataConfig+ InputDataConfig (..),+ newInputDataConfig,+ inputDataConfig_s3Uri,++ -- * JobProgress+ JobProgress (..),+ newJobProgress,+ jobProgress_percentComplete,++ -- * KnownFraudsterRisk+ KnownFraudsterRisk (..),+ newKnownFraudsterRisk,+ knownFraudsterRisk_generatedFraudsterId,+ knownFraudsterRisk_riskScore,++ -- * OutputDataConfig+ OutputDataConfig (..),+ newOutputDataConfig,+ outputDataConfig_kmsKeyId,+ outputDataConfig_s3Uri,++ -- * RegistrationConfig+ RegistrationConfig (..),+ newRegistrationConfig,+ registrationConfig_duplicateRegistrationAction,+ registrationConfig_fraudsterSimilarityThreshold,++ -- * ServerSideEncryptionConfiguration+ ServerSideEncryptionConfiguration (..),+ newServerSideEncryptionConfiguration,+ serverSideEncryptionConfiguration_kmsKeyId,++ -- * ServerSideEncryptionUpdateDetails+ ServerSideEncryptionUpdateDetails (..),+ newServerSideEncryptionUpdateDetails,+ serverSideEncryptionUpdateDetails_message,+ serverSideEncryptionUpdateDetails_oldKmsKeyId,+ serverSideEncryptionUpdateDetails_updateStatus,++ -- * Speaker+ Speaker (..),+ newSpeaker,+ speaker_createdAt,+ speaker_customerSpeakerId,+ speaker_domainId,+ speaker_generatedSpeakerId,+ speaker_lastAccessedAt,+ speaker_status,+ speaker_updatedAt,++ -- * SpeakerEnrollmentJob+ SpeakerEnrollmentJob (..),+ newSpeakerEnrollmentJob,+ speakerEnrollmentJob_createdAt,+ speakerEnrollmentJob_dataAccessRoleArn,+ speakerEnrollmentJob_domainId,+ speakerEnrollmentJob_endedAt,+ speakerEnrollmentJob_enrollmentConfig,+ speakerEnrollmentJob_failureDetails,+ speakerEnrollmentJob_inputDataConfig,+ speakerEnrollmentJob_jobId,+ speakerEnrollmentJob_jobName,+ speakerEnrollmentJob_jobProgress,+ speakerEnrollmentJob_jobStatus,+ speakerEnrollmentJob_outputDataConfig,++ -- * SpeakerEnrollmentJobSummary+ SpeakerEnrollmentJobSummary (..),+ newSpeakerEnrollmentJobSummary,+ speakerEnrollmentJobSummary_createdAt,+ speakerEnrollmentJobSummary_domainId,+ speakerEnrollmentJobSummary_endedAt,+ speakerEnrollmentJobSummary_failureDetails,+ speakerEnrollmentJobSummary_jobId,+ speakerEnrollmentJobSummary_jobName,+ speakerEnrollmentJobSummary_jobProgress,+ speakerEnrollmentJobSummary_jobStatus,++ -- * SpeakerSummary+ SpeakerSummary (..),+ newSpeakerSummary,+ speakerSummary_createdAt,+ speakerSummary_customerSpeakerId,+ speakerSummary_domainId,+ speakerSummary_generatedSpeakerId,+ speakerSummary_lastAccessedAt,+ speakerSummary_status,+ speakerSummary_updatedAt,++ -- * Tag+ Tag (..),+ newTag,+ tag_key,+ tag_value,++ -- * VoiceSpoofingRisk+ VoiceSpoofingRisk (..),+ newVoiceSpoofingRisk,+ voiceSpoofingRisk_riskScore,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign+import Amazonka.VoiceId.Types.AuthenticationConfiguration+import Amazonka.VoiceId.Types.AuthenticationDecision+import Amazonka.VoiceId.Types.AuthenticationResult+import Amazonka.VoiceId.Types.Domain+import Amazonka.VoiceId.Types.DomainStatus+import Amazonka.VoiceId.Types.DomainSummary+import Amazonka.VoiceId.Types.DuplicateRegistrationAction+import Amazonka.VoiceId.Types.EnrollmentConfig+import Amazonka.VoiceId.Types.EnrollmentJobFraudDetectionConfig+import Amazonka.VoiceId.Types.ExistingEnrollmentAction+import Amazonka.VoiceId.Types.FailureDetails+import Amazonka.VoiceId.Types.FraudDetectionAction+import Amazonka.VoiceId.Types.FraudDetectionConfiguration+import Amazonka.VoiceId.Types.FraudDetectionDecision+import Amazonka.VoiceId.Types.FraudDetectionReason+import Amazonka.VoiceId.Types.FraudDetectionResult+import Amazonka.VoiceId.Types.FraudRiskDetails+import Amazonka.VoiceId.Types.Fraudster+import Amazonka.VoiceId.Types.FraudsterRegistrationJob+import Amazonka.VoiceId.Types.FraudsterRegistrationJobStatus+import Amazonka.VoiceId.Types.FraudsterRegistrationJobSummary+import Amazonka.VoiceId.Types.InputDataConfig+import Amazonka.VoiceId.Types.JobProgress+import Amazonka.VoiceId.Types.KnownFraudsterRisk+import Amazonka.VoiceId.Types.OutputDataConfig+import Amazonka.VoiceId.Types.RegistrationConfig+import Amazonka.VoiceId.Types.ServerSideEncryptionConfiguration+import Amazonka.VoiceId.Types.ServerSideEncryptionUpdateDetails+import Amazonka.VoiceId.Types.ServerSideEncryptionUpdateStatus+import Amazonka.VoiceId.Types.Speaker+import Amazonka.VoiceId.Types.SpeakerEnrollmentJob+import Amazonka.VoiceId.Types.SpeakerEnrollmentJobStatus+import Amazonka.VoiceId.Types.SpeakerEnrollmentJobSummary+import Amazonka.VoiceId.Types.SpeakerStatus+import Amazonka.VoiceId.Types.SpeakerSummary+import Amazonka.VoiceId.Types.StreamingStatus+import Amazonka.VoiceId.Types.Tag+import Amazonka.VoiceId.Types.VoiceSpoofingRisk++-- | API version @2021-09-27@ of the Amazon Voice ID SDK configuration.+defaultService :: Core.Service+defaultService =+ Core.Service+ { Core.abbrev = "VoiceId",+ Core.signer = Sign.v4,+ Core.endpointPrefix = "voiceid",+ Core.signingName = "voiceid",+ Core.version = "2021-09-27",+ Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+ Core.endpoint = Core.defaultEndpoint defaultService,+ Core.timeout = Prelude.Just 70,+ Core.check = Core.statusSuccess,+ Core.error = Core.parseJSONError "VoiceId",+ Core.retry = retry+ }+ where+ retry =+ Core.Exponential+ { Core.base = 5.0e-2,+ Core.growth = 2,+ Core.attempts = 5,+ Core.check = check+ }+ check e+ | Lens.has (Core.hasStatus 502) e =+ Prelude.Just "bad_gateway"+ | Lens.has (Core.hasStatus 504) e =+ Prelude.Just "gateway_timeout"+ | Lens.has (Core.hasStatus 500) e =+ Prelude.Just "general_server_error"+ | Lens.has (Core.hasStatus 509) e =+ Prelude.Just "limit_exceeded"+ | Lens.has+ ( Core.hasCode "RequestThrottledException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "request_throttled_exception"+ | Lens.has (Core.hasStatus 503) e =+ Prelude.Just "service_unavailable"+ | Lens.has+ ( Core.hasCode "ThrottledException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttled_exception"+ | Lens.has+ ( Core.hasCode "Throttling"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttling"+ | Lens.has+ ( Core.hasCode "ThrottlingException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttling_exception"+ | Lens.has+ ( Core.hasCode+ "ProvisionedThroughputExceededException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throughput_exceeded"+ | Lens.has (Core.hasStatus 429) e =+ Prelude.Just "too_many_requests"+ | Prelude.otherwise = Prelude.Nothing++-- | You do not have sufficient permissions to perform this action. Check the+-- error message and try again.+_AccessDeniedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_AccessDeniedException =+ Core._MatchServiceError+ defaultService+ "AccessDeniedException"++-- | The request failed due to a conflict. Check the @ConflictType@ and error+-- message for more details.+_ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ConflictException =+ Core._MatchServiceError+ defaultService+ "ConflictException"++-- | The request failed due to an unknown error on the server side.+_InternalServerException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalServerException =+ Core._MatchServiceError+ defaultService+ "InternalServerException"++-- | The specified resource cannot be found. Check the @ResourceType@ and+-- error message for more details.+_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotFoundException =+ Core._MatchServiceError+ defaultService+ "ResourceNotFoundException"++-- | The request exceeded the service quota. Refer to+-- <https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html#voiceid-quotas Voice ID Service Quotas>+-- and try your request again.+_ServiceQuotaExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ServiceQuotaExceededException =+ Core._MatchServiceError+ defaultService+ "ServiceQuotaExceededException"++-- | The request was denied due to request throttling. Please slow down your+-- request rate. Refer to+-- <https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html##voiceid-api-quotas Amazon Connect Voice ID Service API throttling quotas>+-- and try your request again.+_ThrottlingException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ThrottlingException =+ Core._MatchServiceError+ defaultService+ "ThrottlingException"++-- | The request failed one or more validations; check the error message for+-- more details.+_ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ValidationException =+ Core._MatchServiceError+ defaultService+ "ValidationException"
+ gen/Amazonka/VoiceId/Types/AuthenticationConfiguration.hs view
@@ -0,0 +1,74 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.Types.AuthenticationConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.VoiceId.Types.AuthenticationConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The configuration used to authenticate a speaker during a session.+--+-- /See:/ 'newAuthenticationConfiguration' smart constructor.+data AuthenticationConfiguration = AuthenticationConfiguration'+ { -- | The minimum threshold needed to successfully authenticate a speaker.+ acceptanceThreshold :: Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AuthenticationConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'acceptanceThreshold', 'authenticationConfiguration_acceptanceThreshold' - The minimum threshold needed to successfully authenticate a speaker.+newAuthenticationConfiguration ::+ -- | 'acceptanceThreshold'+ Prelude.Natural ->+ AuthenticationConfiguration+newAuthenticationConfiguration pAcceptanceThreshold_ =+ AuthenticationConfiguration'+ { acceptanceThreshold =+ pAcceptanceThreshold_+ }++-- | The minimum threshold needed to successfully authenticate a speaker.+authenticationConfiguration_acceptanceThreshold :: Lens.Lens' AuthenticationConfiguration Prelude.Natural+authenticationConfiguration_acceptanceThreshold = Lens.lens (\AuthenticationConfiguration' {acceptanceThreshold} -> acceptanceThreshold) (\s@AuthenticationConfiguration' {} a -> s {acceptanceThreshold = a} :: AuthenticationConfiguration)++instance Data.FromJSON AuthenticationConfiguration where+ parseJSON =+ Data.withObject+ "AuthenticationConfiguration"+ ( \x ->+ AuthenticationConfiguration'+ Prelude.<$> (x Data..: "AcceptanceThreshold")+ )++instance Prelude.Hashable AuthenticationConfiguration where+ hashWithSalt _salt AuthenticationConfiguration' {..} =+ _salt `Prelude.hashWithSalt` acceptanceThreshold++instance Prelude.NFData AuthenticationConfiguration where+ rnf AuthenticationConfiguration' {..} =+ Prelude.rnf acceptanceThreshold
+ gen/Amazonka/VoiceId/Types/AuthenticationDecision.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.Types.AuthenticationDecision+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.VoiceId.Types.AuthenticationDecision+ ( AuthenticationDecision+ ( ..,+ AuthenticationDecision_ACCEPT,+ AuthenticationDecision_NOT_ENOUGH_SPEECH,+ AuthenticationDecision_REJECT,+ AuthenticationDecision_SPEAKER_EXPIRED,+ AuthenticationDecision_SPEAKER_ID_NOT_PROVIDED,+ AuthenticationDecision_SPEAKER_NOT_ENROLLED,+ AuthenticationDecision_SPEAKER_OPTED_OUT+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AuthenticationDecision = AuthenticationDecision'+ { fromAuthenticationDecision ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern AuthenticationDecision_ACCEPT :: AuthenticationDecision+pattern AuthenticationDecision_ACCEPT = AuthenticationDecision' "ACCEPT"++pattern AuthenticationDecision_NOT_ENOUGH_SPEECH :: AuthenticationDecision+pattern AuthenticationDecision_NOT_ENOUGH_SPEECH = AuthenticationDecision' "NOT_ENOUGH_SPEECH"++pattern AuthenticationDecision_REJECT :: AuthenticationDecision+pattern AuthenticationDecision_REJECT = AuthenticationDecision' "REJECT"++pattern AuthenticationDecision_SPEAKER_EXPIRED :: AuthenticationDecision+pattern AuthenticationDecision_SPEAKER_EXPIRED = AuthenticationDecision' "SPEAKER_EXPIRED"++pattern AuthenticationDecision_SPEAKER_ID_NOT_PROVIDED :: AuthenticationDecision+pattern AuthenticationDecision_SPEAKER_ID_NOT_PROVIDED = AuthenticationDecision' "SPEAKER_ID_NOT_PROVIDED"++pattern AuthenticationDecision_SPEAKER_NOT_ENROLLED :: AuthenticationDecision+pattern AuthenticationDecision_SPEAKER_NOT_ENROLLED = AuthenticationDecision' "SPEAKER_NOT_ENROLLED"++pattern AuthenticationDecision_SPEAKER_OPTED_OUT :: AuthenticationDecision+pattern AuthenticationDecision_SPEAKER_OPTED_OUT = AuthenticationDecision' "SPEAKER_OPTED_OUT"++{-# COMPLETE+ AuthenticationDecision_ACCEPT,+ AuthenticationDecision_NOT_ENOUGH_SPEECH,+ AuthenticationDecision_REJECT,+ AuthenticationDecision_SPEAKER_EXPIRED,+ AuthenticationDecision_SPEAKER_ID_NOT_PROVIDED,+ AuthenticationDecision_SPEAKER_NOT_ENROLLED,+ AuthenticationDecision_SPEAKER_OPTED_OUT,+ AuthenticationDecision'+ #-}
+ gen/Amazonka/VoiceId/Types/AuthenticationResult.hs view
@@ -0,0 +1,202 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.Types.AuthenticationResult+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.VoiceId.Types.AuthenticationResult where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.VoiceId.Types.AuthenticationConfiguration+import Amazonka.VoiceId.Types.AuthenticationDecision++-- | The authentication result produced by Voice ID, processed against the+-- current session state and streamed audio of the speaker.+--+-- /See:/ 'newAuthenticationResult' smart constructor.+data AuthenticationResult = AuthenticationResult'+ { -- | A timestamp indicating when audio aggregation ended for this+ -- authentication result.+ audioAggregationEndedAt :: Prelude.Maybe Data.POSIX,+ -- | A timestamp indicating when audio aggregation started for this+ -- authentication result.+ audioAggregationStartedAt :: Prelude.Maybe Data.POSIX,+ -- | 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 :: Prelude.Maybe Prelude.Text,+ -- | The @AuthenticationConfiguration@ used to generate this authentication+ -- result.+ configuration :: Prelude.Maybe AuthenticationConfiguration,+ -- | The client-provided identifier for the speaker whose authentication+ -- result is produced. Only present if a @SpeakerId@ is provided for the+ -- session.+ customerSpeakerId :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The authentication decision produced by Voice ID, processed against the+ -- current session state and streamed audio of the speaker.+ decision :: Prelude.Maybe AuthenticationDecision,+ -- | The service-generated identifier for the speaker whose authentication+ -- result is produced.+ generatedSpeakerId :: Prelude.Maybe Prelude.Text,+ -- | 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 :: Prelude.Maybe Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AuthenticationResult' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'audioAggregationEndedAt', 'authenticationResult_audioAggregationEndedAt' - A timestamp indicating when audio aggregation ended for this+-- authentication result.+--+-- 'audioAggregationStartedAt', 'authenticationResult_audioAggregationStartedAt' - A timestamp indicating when audio aggregation started for this+-- authentication result.+--+-- 'authenticationResultId', 'authenticationResult_authenticationResultId' - 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.+--+-- 'configuration', 'authenticationResult_configuration' - The @AuthenticationConfiguration@ used to generate this authentication+-- result.+--+-- 'customerSpeakerId', 'authenticationResult_customerSpeakerId' - The client-provided identifier for the speaker whose authentication+-- result is produced. Only present if a @SpeakerId@ is provided for the+-- session.+--+-- 'decision', 'authenticationResult_decision' - The authentication decision produced by Voice ID, processed against the+-- current session state and streamed audio of the speaker.+--+-- 'generatedSpeakerId', 'authenticationResult_generatedSpeakerId' - The service-generated identifier for the speaker whose authentication+-- result is produced.+--+-- 'score', 'authenticationResult_score' - 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@.+newAuthenticationResult ::+ AuthenticationResult+newAuthenticationResult =+ AuthenticationResult'+ { audioAggregationEndedAt =+ Prelude.Nothing,+ audioAggregationStartedAt = Prelude.Nothing,+ authenticationResultId = Prelude.Nothing,+ configuration = Prelude.Nothing,+ customerSpeakerId = Prelude.Nothing,+ decision = Prelude.Nothing,+ generatedSpeakerId = Prelude.Nothing,+ score = Prelude.Nothing+ }++-- | A timestamp indicating when audio aggregation ended for this+-- authentication result.+authenticationResult_audioAggregationEndedAt :: Lens.Lens' AuthenticationResult (Prelude.Maybe Prelude.UTCTime)+authenticationResult_audioAggregationEndedAt = Lens.lens (\AuthenticationResult' {audioAggregationEndedAt} -> audioAggregationEndedAt) (\s@AuthenticationResult' {} a -> s {audioAggregationEndedAt = a} :: AuthenticationResult) Prelude.. Lens.mapping Data._Time++-- | A timestamp indicating when audio aggregation started for this+-- authentication result.+authenticationResult_audioAggregationStartedAt :: Lens.Lens' AuthenticationResult (Prelude.Maybe Prelude.UTCTime)+authenticationResult_audioAggregationStartedAt = Lens.lens (\AuthenticationResult' {audioAggregationStartedAt} -> audioAggregationStartedAt) (\s@AuthenticationResult' {} a -> s {audioAggregationStartedAt = a} :: AuthenticationResult) Prelude.. Lens.mapping Data._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.+authenticationResult_authenticationResultId :: Lens.Lens' AuthenticationResult (Prelude.Maybe Prelude.Text)+authenticationResult_authenticationResultId = Lens.lens (\AuthenticationResult' {authenticationResultId} -> authenticationResultId) (\s@AuthenticationResult' {} a -> s {authenticationResultId = a} :: AuthenticationResult)++-- | The @AuthenticationConfiguration@ used to generate this authentication+-- result.+authenticationResult_configuration :: Lens.Lens' AuthenticationResult (Prelude.Maybe AuthenticationConfiguration)+authenticationResult_configuration = Lens.lens (\AuthenticationResult' {configuration} -> configuration) (\s@AuthenticationResult' {} a -> s {configuration = a} :: AuthenticationResult)++-- | The client-provided identifier for the speaker whose authentication+-- result is produced. Only present if a @SpeakerId@ is provided for the+-- session.+authenticationResult_customerSpeakerId :: Lens.Lens' AuthenticationResult (Prelude.Maybe Prelude.Text)+authenticationResult_customerSpeakerId = Lens.lens (\AuthenticationResult' {customerSpeakerId} -> customerSpeakerId) (\s@AuthenticationResult' {} a -> s {customerSpeakerId = a} :: AuthenticationResult) Prelude.. Lens.mapping Data._Sensitive++-- | The authentication decision produced by Voice ID, processed against the+-- current session state and streamed audio of the speaker.+authenticationResult_decision :: Lens.Lens' AuthenticationResult (Prelude.Maybe AuthenticationDecision)+authenticationResult_decision = Lens.lens (\AuthenticationResult' {decision} -> decision) (\s@AuthenticationResult' {} a -> s {decision = a} :: AuthenticationResult)++-- | The service-generated identifier for the speaker whose authentication+-- result is produced.+authenticationResult_generatedSpeakerId :: Lens.Lens' AuthenticationResult (Prelude.Maybe Prelude.Text)+authenticationResult_generatedSpeakerId = Lens.lens (\AuthenticationResult' {generatedSpeakerId} -> generatedSpeakerId) (\s@AuthenticationResult' {} a -> s {generatedSpeakerId = a} :: AuthenticationResult)++-- | 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@.+authenticationResult_score :: Lens.Lens' AuthenticationResult (Prelude.Maybe Prelude.Natural)+authenticationResult_score = Lens.lens (\AuthenticationResult' {score} -> score) (\s@AuthenticationResult' {} a -> s {score = a} :: AuthenticationResult)++instance Data.FromJSON AuthenticationResult where+ parseJSON =+ Data.withObject+ "AuthenticationResult"+ ( \x ->+ AuthenticationResult'+ Prelude.<$> (x Data..:? "AudioAggregationEndedAt")+ Prelude.<*> (x Data..:? "AudioAggregationStartedAt")+ Prelude.<*> (x Data..:? "AuthenticationResultId")+ Prelude.<*> (x Data..:? "Configuration")+ Prelude.<*> (x Data..:? "CustomerSpeakerId")+ Prelude.<*> (x Data..:? "Decision")+ Prelude.<*> (x Data..:? "GeneratedSpeakerId")+ Prelude.<*> (x Data..:? "Score")+ )++instance Prelude.Hashable AuthenticationResult where+ hashWithSalt _salt AuthenticationResult' {..} =+ _salt+ `Prelude.hashWithSalt` audioAggregationEndedAt+ `Prelude.hashWithSalt` audioAggregationStartedAt+ `Prelude.hashWithSalt` authenticationResultId+ `Prelude.hashWithSalt` configuration+ `Prelude.hashWithSalt` customerSpeakerId+ `Prelude.hashWithSalt` decision+ `Prelude.hashWithSalt` generatedSpeakerId+ `Prelude.hashWithSalt` score++instance Prelude.NFData AuthenticationResult where+ rnf AuthenticationResult' {..} =+ Prelude.rnf audioAggregationEndedAt+ `Prelude.seq` Prelude.rnf audioAggregationStartedAt+ `Prelude.seq` Prelude.rnf authenticationResultId+ `Prelude.seq` Prelude.rnf configuration+ `Prelude.seq` Prelude.rnf customerSpeakerId+ `Prelude.seq` Prelude.rnf decision+ `Prelude.seq` Prelude.rnf generatedSpeakerId+ `Prelude.seq` Prelude.rnf score
+ gen/Amazonka/VoiceId/Types/Domain.hs view
@@ -0,0 +1,186 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.Types.Domain+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.VoiceId.Types.Domain where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.VoiceId.Types.DomainStatus+import Amazonka.VoiceId.Types.ServerSideEncryptionConfiguration+import Amazonka.VoiceId.Types.ServerSideEncryptionUpdateDetails++-- | Contains all the information about a domain.+--+-- /See:/ 'newDomain' smart constructor.+data Domain = Domain'+ { -- | The Amazon Resource Name (ARN) for the domain.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The timestamp at which the domain is created.+ createdAt :: Prelude.Maybe Data.POSIX,+ -- | The client-provided description of the domain.+ description :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The service-generated identifier for the domain.+ domainId :: Prelude.Maybe Prelude.Text,+ -- | The current status of the domain.+ domainStatus :: Prelude.Maybe DomainStatus,+ -- | The client-provided name for the domain.+ name :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The server-side encryption configuration containing the KMS key+ -- identifier you want Voice ID to use to encrypt your data.+ serverSideEncryptionConfiguration :: Prelude.Maybe 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 :: Prelude.Maybe ServerSideEncryptionUpdateDetails,+ -- | The timestamp showing the domain\'s last update.+ updatedAt :: Prelude.Maybe Data.POSIX+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Domain' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'domain_arn' - The Amazon Resource Name (ARN) for the domain.+--+-- 'createdAt', 'domain_createdAt' - The timestamp at which the domain is created.+--+-- 'description', 'domain_description' - The client-provided description of the domain.+--+-- 'domainId', 'domain_domainId' - The service-generated identifier for the domain.+--+-- 'domainStatus', 'domain_domainStatus' - The current status of the domain.+--+-- 'name', 'domain_name' - The client-provided name for the domain.+--+-- 'serverSideEncryptionConfiguration', 'domain_serverSideEncryptionConfiguration' - The server-side encryption configuration containing the KMS key+-- identifier you want Voice ID to use to encrypt your data.+--+-- 'serverSideEncryptionUpdateDetails', 'domain_serverSideEncryptionUpdateDetails' - 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.+--+-- 'updatedAt', 'domain_updatedAt' - The timestamp showing the domain\'s last update.+newDomain ::+ Domain+newDomain =+ Domain'+ { arn = Prelude.Nothing,+ createdAt = Prelude.Nothing,+ description = Prelude.Nothing,+ domainId = Prelude.Nothing,+ domainStatus = Prelude.Nothing,+ name = Prelude.Nothing,+ serverSideEncryptionConfiguration = Prelude.Nothing,+ serverSideEncryptionUpdateDetails = Prelude.Nothing,+ updatedAt = Prelude.Nothing+ }++-- | The Amazon Resource Name (ARN) for the domain.+domain_arn :: Lens.Lens' Domain (Prelude.Maybe Prelude.Text)+domain_arn = Lens.lens (\Domain' {arn} -> arn) (\s@Domain' {} a -> s {arn = a} :: Domain)++-- | The timestamp at which the domain is created.+domain_createdAt :: Lens.Lens' Domain (Prelude.Maybe Prelude.UTCTime)+domain_createdAt = Lens.lens (\Domain' {createdAt} -> createdAt) (\s@Domain' {} a -> s {createdAt = a} :: Domain) Prelude.. Lens.mapping Data._Time++-- | The client-provided description of the domain.+domain_description :: Lens.Lens' Domain (Prelude.Maybe Prelude.Text)+domain_description = Lens.lens (\Domain' {description} -> description) (\s@Domain' {} a -> s {description = a} :: Domain) Prelude.. Lens.mapping Data._Sensitive++-- | The service-generated identifier for the domain.+domain_domainId :: Lens.Lens' Domain (Prelude.Maybe Prelude.Text)+domain_domainId = Lens.lens (\Domain' {domainId} -> domainId) (\s@Domain' {} a -> s {domainId = a} :: Domain)++-- | The current status of the domain.+domain_domainStatus :: Lens.Lens' Domain (Prelude.Maybe DomainStatus)+domain_domainStatus = Lens.lens (\Domain' {domainStatus} -> domainStatus) (\s@Domain' {} a -> s {domainStatus = a} :: Domain)++-- | The client-provided name for the domain.+domain_name :: Lens.Lens' Domain (Prelude.Maybe Prelude.Text)+domain_name = Lens.lens (\Domain' {name} -> name) (\s@Domain' {} a -> s {name = a} :: Domain) Prelude.. Lens.mapping Data._Sensitive++-- | The server-side encryption configuration containing the KMS key+-- identifier you want Voice ID to use to encrypt your data.+domain_serverSideEncryptionConfiguration :: Lens.Lens' Domain (Prelude.Maybe ServerSideEncryptionConfiguration)+domain_serverSideEncryptionConfiguration = Lens.lens (\Domain' {serverSideEncryptionConfiguration} -> serverSideEncryptionConfiguration) (\s@Domain' {} a -> s {serverSideEncryptionConfiguration = a} :: Domain)++-- | 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.+domain_serverSideEncryptionUpdateDetails :: Lens.Lens' Domain (Prelude.Maybe ServerSideEncryptionUpdateDetails)+domain_serverSideEncryptionUpdateDetails = Lens.lens (\Domain' {serverSideEncryptionUpdateDetails} -> serverSideEncryptionUpdateDetails) (\s@Domain' {} a -> s {serverSideEncryptionUpdateDetails = a} :: Domain)++-- | The timestamp showing the domain\'s last update.+domain_updatedAt :: Lens.Lens' Domain (Prelude.Maybe Prelude.UTCTime)+domain_updatedAt = Lens.lens (\Domain' {updatedAt} -> updatedAt) (\s@Domain' {} a -> s {updatedAt = a} :: Domain) Prelude.. Lens.mapping Data._Time++instance Data.FromJSON Domain where+ parseJSON =+ Data.withObject+ "Domain"+ ( \x ->+ Domain'+ Prelude.<$> (x Data..:? "Arn")+ Prelude.<*> (x Data..:? "CreatedAt")+ Prelude.<*> (x Data..:? "Description")+ Prelude.<*> (x Data..:? "DomainId")+ Prelude.<*> (x Data..:? "DomainStatus")+ Prelude.<*> (x Data..:? "Name")+ Prelude.<*> (x Data..:? "ServerSideEncryptionConfiguration")+ Prelude.<*> (x Data..:? "ServerSideEncryptionUpdateDetails")+ Prelude.<*> (x Data..:? "UpdatedAt")+ )++instance Prelude.Hashable Domain where+ hashWithSalt _salt Domain' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` createdAt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` domainId+ `Prelude.hashWithSalt` domainStatus+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` serverSideEncryptionConfiguration+ `Prelude.hashWithSalt` serverSideEncryptionUpdateDetails+ `Prelude.hashWithSalt` updatedAt++instance Prelude.NFData Domain where+ rnf Domain' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf createdAt+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf domainId+ `Prelude.seq` Prelude.rnf domainStatus+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf serverSideEncryptionConfiguration+ `Prelude.seq` Prelude.rnf serverSideEncryptionUpdateDetails+ `Prelude.seq` Prelude.rnf updatedAt
+ gen/Amazonka/VoiceId/Types/DomainStatus.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.Types.DomainStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.VoiceId.Types.DomainStatus+ ( DomainStatus+ ( ..,+ DomainStatus_ACTIVE,+ DomainStatus_PENDING,+ DomainStatus_SUSPENDED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DomainStatus = DomainStatus'+ { fromDomainStatus ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern DomainStatus_ACTIVE :: DomainStatus+pattern DomainStatus_ACTIVE = DomainStatus' "ACTIVE"++pattern DomainStatus_PENDING :: DomainStatus+pattern DomainStatus_PENDING = DomainStatus' "PENDING"++pattern DomainStatus_SUSPENDED :: DomainStatus+pattern DomainStatus_SUSPENDED = DomainStatus' "SUSPENDED"++{-# COMPLETE+ DomainStatus_ACTIVE,+ DomainStatus_PENDING,+ DomainStatus_SUSPENDED,+ DomainStatus'+ #-}
+ gen/Amazonka/VoiceId/Types/DomainSummary.hs view
@@ -0,0 +1,186 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.Types.DomainSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.VoiceId.Types.DomainSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.VoiceId.Types.DomainStatus+import Amazonka.VoiceId.Types.ServerSideEncryptionConfiguration+import Amazonka.VoiceId.Types.ServerSideEncryptionUpdateDetails++-- | Contains a summary of information about a domain.+--+-- /See:/ 'newDomainSummary' smart constructor.+data DomainSummary = DomainSummary'+ { -- | The Amazon Resource Name (ARN) for the domain.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The timestamp showing when the domain is created.+ createdAt :: Prelude.Maybe Data.POSIX,+ -- | The client-provided description of the domain.+ description :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The service-generated identifier for the domain.+ domainId :: Prelude.Maybe Prelude.Text,+ -- | The current status of the domain.+ domainStatus :: Prelude.Maybe DomainStatus,+ -- | The client-provided name for the domain.+ name :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The server-side encryption configuration containing the KMS key+ -- identifier you want Voice ID to use to encrypt your data.+ serverSideEncryptionConfiguration :: Prelude.Maybe 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 :: Prelude.Maybe ServerSideEncryptionUpdateDetails,+ -- | The timestamp showing the domain\'s last update.+ updatedAt :: Prelude.Maybe Data.POSIX+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DomainSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'domainSummary_arn' - The Amazon Resource Name (ARN) for the domain.+--+-- 'createdAt', 'domainSummary_createdAt' - The timestamp showing when the domain is created.+--+-- 'description', 'domainSummary_description' - The client-provided description of the domain.+--+-- 'domainId', 'domainSummary_domainId' - The service-generated identifier for the domain.+--+-- 'domainStatus', 'domainSummary_domainStatus' - The current status of the domain.+--+-- 'name', 'domainSummary_name' - The client-provided name for the domain.+--+-- 'serverSideEncryptionConfiguration', 'domainSummary_serverSideEncryptionConfiguration' - The server-side encryption configuration containing the KMS key+-- identifier you want Voice ID to use to encrypt your data.+--+-- 'serverSideEncryptionUpdateDetails', 'domainSummary_serverSideEncryptionUpdateDetails' - 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.+--+-- 'updatedAt', 'domainSummary_updatedAt' - The timestamp showing the domain\'s last update.+newDomainSummary ::+ DomainSummary+newDomainSummary =+ DomainSummary'+ { arn = Prelude.Nothing,+ createdAt = Prelude.Nothing,+ description = Prelude.Nothing,+ domainId = Prelude.Nothing,+ domainStatus = Prelude.Nothing,+ name = Prelude.Nothing,+ serverSideEncryptionConfiguration = Prelude.Nothing,+ serverSideEncryptionUpdateDetails = Prelude.Nothing,+ updatedAt = Prelude.Nothing+ }++-- | The Amazon Resource Name (ARN) for the domain.+domainSummary_arn :: Lens.Lens' DomainSummary (Prelude.Maybe Prelude.Text)+domainSummary_arn = Lens.lens (\DomainSummary' {arn} -> arn) (\s@DomainSummary' {} a -> s {arn = a} :: DomainSummary)++-- | The timestamp showing when the domain is created.+domainSummary_createdAt :: Lens.Lens' DomainSummary (Prelude.Maybe Prelude.UTCTime)+domainSummary_createdAt = Lens.lens (\DomainSummary' {createdAt} -> createdAt) (\s@DomainSummary' {} a -> s {createdAt = a} :: DomainSummary) Prelude.. Lens.mapping Data._Time++-- | The client-provided description of the domain.+domainSummary_description :: Lens.Lens' DomainSummary (Prelude.Maybe Prelude.Text)+domainSummary_description = Lens.lens (\DomainSummary' {description} -> description) (\s@DomainSummary' {} a -> s {description = a} :: DomainSummary) Prelude.. Lens.mapping Data._Sensitive++-- | The service-generated identifier for the domain.+domainSummary_domainId :: Lens.Lens' DomainSummary (Prelude.Maybe Prelude.Text)+domainSummary_domainId = Lens.lens (\DomainSummary' {domainId} -> domainId) (\s@DomainSummary' {} a -> s {domainId = a} :: DomainSummary)++-- | The current status of the domain.+domainSummary_domainStatus :: Lens.Lens' DomainSummary (Prelude.Maybe DomainStatus)+domainSummary_domainStatus = Lens.lens (\DomainSummary' {domainStatus} -> domainStatus) (\s@DomainSummary' {} a -> s {domainStatus = a} :: DomainSummary)++-- | The client-provided name for the domain.+domainSummary_name :: Lens.Lens' DomainSummary (Prelude.Maybe Prelude.Text)+domainSummary_name = Lens.lens (\DomainSummary' {name} -> name) (\s@DomainSummary' {} a -> s {name = a} :: DomainSummary) Prelude.. Lens.mapping Data._Sensitive++-- | The server-side encryption configuration containing the KMS key+-- identifier you want Voice ID to use to encrypt your data.+domainSummary_serverSideEncryptionConfiguration :: Lens.Lens' DomainSummary (Prelude.Maybe ServerSideEncryptionConfiguration)+domainSummary_serverSideEncryptionConfiguration = Lens.lens (\DomainSummary' {serverSideEncryptionConfiguration} -> serverSideEncryptionConfiguration) (\s@DomainSummary' {} a -> s {serverSideEncryptionConfiguration = a} :: DomainSummary)++-- | 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.+domainSummary_serverSideEncryptionUpdateDetails :: Lens.Lens' DomainSummary (Prelude.Maybe ServerSideEncryptionUpdateDetails)+domainSummary_serverSideEncryptionUpdateDetails = Lens.lens (\DomainSummary' {serverSideEncryptionUpdateDetails} -> serverSideEncryptionUpdateDetails) (\s@DomainSummary' {} a -> s {serverSideEncryptionUpdateDetails = a} :: DomainSummary)++-- | The timestamp showing the domain\'s last update.+domainSummary_updatedAt :: Lens.Lens' DomainSummary (Prelude.Maybe Prelude.UTCTime)+domainSummary_updatedAt = Lens.lens (\DomainSummary' {updatedAt} -> updatedAt) (\s@DomainSummary' {} a -> s {updatedAt = a} :: DomainSummary) Prelude.. Lens.mapping Data._Time++instance Data.FromJSON DomainSummary where+ parseJSON =+ Data.withObject+ "DomainSummary"+ ( \x ->+ DomainSummary'+ Prelude.<$> (x Data..:? "Arn")+ Prelude.<*> (x Data..:? "CreatedAt")+ Prelude.<*> (x Data..:? "Description")+ Prelude.<*> (x Data..:? "DomainId")+ Prelude.<*> (x Data..:? "DomainStatus")+ Prelude.<*> (x Data..:? "Name")+ Prelude.<*> (x Data..:? "ServerSideEncryptionConfiguration")+ Prelude.<*> (x Data..:? "ServerSideEncryptionUpdateDetails")+ Prelude.<*> (x Data..:? "UpdatedAt")+ )++instance Prelude.Hashable DomainSummary where+ hashWithSalt _salt DomainSummary' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` createdAt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` domainId+ `Prelude.hashWithSalt` domainStatus+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` serverSideEncryptionConfiguration+ `Prelude.hashWithSalt` serverSideEncryptionUpdateDetails+ `Prelude.hashWithSalt` updatedAt++instance Prelude.NFData DomainSummary where+ rnf DomainSummary' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf createdAt+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf domainId+ `Prelude.seq` Prelude.rnf domainStatus+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf serverSideEncryptionConfiguration+ `Prelude.seq` Prelude.rnf serverSideEncryptionUpdateDetails+ `Prelude.seq` Prelude.rnf updatedAt
+ gen/Amazonka/VoiceId/Types/DuplicateRegistrationAction.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.Types.DuplicateRegistrationAction+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.VoiceId.Types.DuplicateRegistrationAction+ ( DuplicateRegistrationAction+ ( ..,+ DuplicateRegistrationAction_REGISTER_AS_NEW,+ DuplicateRegistrationAction_SKIP+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DuplicateRegistrationAction = DuplicateRegistrationAction'+ { fromDuplicateRegistrationAction ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern DuplicateRegistrationAction_REGISTER_AS_NEW :: DuplicateRegistrationAction+pattern DuplicateRegistrationAction_REGISTER_AS_NEW = DuplicateRegistrationAction' "REGISTER_AS_NEW"++pattern DuplicateRegistrationAction_SKIP :: DuplicateRegistrationAction+pattern DuplicateRegistrationAction_SKIP = DuplicateRegistrationAction' "SKIP"++{-# COMPLETE+ DuplicateRegistrationAction_REGISTER_AS_NEW,+ DuplicateRegistrationAction_SKIP,+ DuplicateRegistrationAction'+ #-}
+ gen/Amazonka/VoiceId/Types/EnrollmentConfig.hs view
@@ -0,0 +1,110 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.Types.EnrollmentConfig+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.VoiceId.Types.EnrollmentConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.VoiceId.Types.EnrollmentJobFraudDetectionConfig+import Amazonka.VoiceId.Types.ExistingEnrollmentAction++-- | Contains configurations defining enrollment behavior for the batch job.+--+-- /See:/ 'newEnrollmentConfig' smart constructor.+data EnrollmentConfig = EnrollmentConfig'+ { -- | 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 :: Prelude.Maybe ExistingEnrollmentAction,+ -- | The fraud detection configuration to use for the speaker enrollment job.+ fraudDetectionConfig :: Prelude.Maybe EnrollmentJobFraudDetectionConfig+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EnrollmentConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'existingEnrollmentAction', 'enrollmentConfig_existingEnrollmentAction' - 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.+--+-- 'fraudDetectionConfig', 'enrollmentConfig_fraudDetectionConfig' - The fraud detection configuration to use for the speaker enrollment job.+newEnrollmentConfig ::+ EnrollmentConfig+newEnrollmentConfig =+ EnrollmentConfig'+ { existingEnrollmentAction =+ Prelude.Nothing,+ fraudDetectionConfig = Prelude.Nothing+ }++-- | 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.+enrollmentConfig_existingEnrollmentAction :: Lens.Lens' EnrollmentConfig (Prelude.Maybe ExistingEnrollmentAction)+enrollmentConfig_existingEnrollmentAction = Lens.lens (\EnrollmentConfig' {existingEnrollmentAction} -> existingEnrollmentAction) (\s@EnrollmentConfig' {} a -> s {existingEnrollmentAction = a} :: EnrollmentConfig)++-- | The fraud detection configuration to use for the speaker enrollment job.+enrollmentConfig_fraudDetectionConfig :: Lens.Lens' EnrollmentConfig (Prelude.Maybe EnrollmentJobFraudDetectionConfig)+enrollmentConfig_fraudDetectionConfig = Lens.lens (\EnrollmentConfig' {fraudDetectionConfig} -> fraudDetectionConfig) (\s@EnrollmentConfig' {} a -> s {fraudDetectionConfig = a} :: EnrollmentConfig)++instance Data.FromJSON EnrollmentConfig where+ parseJSON =+ Data.withObject+ "EnrollmentConfig"+ ( \x ->+ EnrollmentConfig'+ Prelude.<$> (x Data..:? "ExistingEnrollmentAction")+ Prelude.<*> (x Data..:? "FraudDetectionConfig")+ )++instance Prelude.Hashable EnrollmentConfig where+ hashWithSalt _salt EnrollmentConfig' {..} =+ _salt+ `Prelude.hashWithSalt` existingEnrollmentAction+ `Prelude.hashWithSalt` fraudDetectionConfig++instance Prelude.NFData EnrollmentConfig where+ rnf EnrollmentConfig' {..} =+ Prelude.rnf existingEnrollmentAction+ `Prelude.seq` Prelude.rnf fraudDetectionConfig++instance Data.ToJSON EnrollmentConfig where+ toJSON EnrollmentConfig' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ExistingEnrollmentAction" Data..=)+ Prelude.<$> existingEnrollmentAction,+ ("FraudDetectionConfig" Data..=)+ Prelude.<$> fraudDetectionConfig+ ]+ )
+ gen/Amazonka/VoiceId/Types/EnrollmentJobFraudDetectionConfig.hs view
@@ -0,0 +1,127 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.Types.EnrollmentJobFraudDetectionConfig+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.VoiceId.Types.EnrollmentJobFraudDetectionConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.VoiceId.Types.FraudDetectionAction++-- | 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.+--+-- /See:/ 'newEnrollmentJobFraudDetectionConfig' smart constructor.+data EnrollmentJobFraudDetectionConfig = EnrollmentJobFraudDetectionConfig'+ { -- | 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 :: Prelude.Maybe 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 :: Prelude.Maybe Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EnrollmentJobFraudDetectionConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fraudDetectionAction', 'enrollmentJobFraudDetectionConfig_fraudDetectionAction' - 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.+--+-- 'riskThreshold', 'enrollmentJobFraudDetectionConfig_riskThreshold' - 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.+newEnrollmentJobFraudDetectionConfig ::+ EnrollmentJobFraudDetectionConfig+newEnrollmentJobFraudDetectionConfig =+ EnrollmentJobFraudDetectionConfig'+ { fraudDetectionAction =+ Prelude.Nothing,+ riskThreshold = Prelude.Nothing+ }++-- | 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.+enrollmentJobFraudDetectionConfig_fraudDetectionAction :: Lens.Lens' EnrollmentJobFraudDetectionConfig (Prelude.Maybe FraudDetectionAction)+enrollmentJobFraudDetectionConfig_fraudDetectionAction = Lens.lens (\EnrollmentJobFraudDetectionConfig' {fraudDetectionAction} -> fraudDetectionAction) (\s@EnrollmentJobFraudDetectionConfig' {} a -> s {fraudDetectionAction = a} :: EnrollmentJobFraudDetectionConfig)++-- | 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.+enrollmentJobFraudDetectionConfig_riskThreshold :: Lens.Lens' EnrollmentJobFraudDetectionConfig (Prelude.Maybe Prelude.Natural)+enrollmentJobFraudDetectionConfig_riskThreshold = Lens.lens (\EnrollmentJobFraudDetectionConfig' {riskThreshold} -> riskThreshold) (\s@EnrollmentJobFraudDetectionConfig' {} a -> s {riskThreshold = a} :: EnrollmentJobFraudDetectionConfig)++instance+ Data.FromJSON+ EnrollmentJobFraudDetectionConfig+ where+ parseJSON =+ Data.withObject+ "EnrollmentJobFraudDetectionConfig"+ ( \x ->+ EnrollmentJobFraudDetectionConfig'+ Prelude.<$> (x Data..:? "FraudDetectionAction")+ Prelude.<*> (x Data..:? "RiskThreshold")+ )++instance+ Prelude.Hashable+ EnrollmentJobFraudDetectionConfig+ where+ hashWithSalt+ _salt+ EnrollmentJobFraudDetectionConfig' {..} =+ _salt+ `Prelude.hashWithSalt` fraudDetectionAction+ `Prelude.hashWithSalt` riskThreshold++instance+ Prelude.NFData+ EnrollmentJobFraudDetectionConfig+ where+ rnf EnrollmentJobFraudDetectionConfig' {..} =+ Prelude.rnf fraudDetectionAction+ `Prelude.seq` Prelude.rnf riskThreshold++instance+ Data.ToJSON+ EnrollmentJobFraudDetectionConfig+ where+ toJSON EnrollmentJobFraudDetectionConfig' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("FraudDetectionAction" Data..=)+ Prelude.<$> fraudDetectionAction,+ ("RiskThreshold" Data..=) Prelude.<$> riskThreshold+ ]+ )
+ gen/Amazonka/VoiceId/Types/ExistingEnrollmentAction.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.Types.ExistingEnrollmentAction+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.VoiceId.Types.ExistingEnrollmentAction+ ( ExistingEnrollmentAction+ ( ..,+ ExistingEnrollmentAction_OVERWRITE,+ ExistingEnrollmentAction_SKIP+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ExistingEnrollmentAction = ExistingEnrollmentAction'+ { fromExistingEnrollmentAction ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern ExistingEnrollmentAction_OVERWRITE :: ExistingEnrollmentAction+pattern ExistingEnrollmentAction_OVERWRITE = ExistingEnrollmentAction' "OVERWRITE"++pattern ExistingEnrollmentAction_SKIP :: ExistingEnrollmentAction+pattern ExistingEnrollmentAction_SKIP = ExistingEnrollmentAction' "SKIP"++{-# COMPLETE+ ExistingEnrollmentAction_OVERWRITE,+ ExistingEnrollmentAction_SKIP,+ ExistingEnrollmentAction'+ #-}
+ gen/Amazonka/VoiceId/Types/FailureDetails.hs view
@@ -0,0 +1,84 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.Types.FailureDetails+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.VoiceId.Types.FailureDetails where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Contains error details for a failed batch job.+--+-- /See:/ 'newFailureDetails' smart constructor.+data FailureDetails = FailureDetails'+ { -- | A description of the error that caused the batch job failure.+ message :: Prelude.Maybe Prelude.Text,+ -- | An HTTP status code representing the nature of the error.+ statusCode :: Prelude.Maybe Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FailureDetails' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'message', 'failureDetails_message' - A description of the error that caused the batch job failure.+--+-- 'statusCode', 'failureDetails_statusCode' - An HTTP status code representing the nature of the error.+newFailureDetails ::+ FailureDetails+newFailureDetails =+ FailureDetails'+ { message = Prelude.Nothing,+ statusCode = Prelude.Nothing+ }++-- | A description of the error that caused the batch job failure.+failureDetails_message :: Lens.Lens' FailureDetails (Prelude.Maybe Prelude.Text)+failureDetails_message = Lens.lens (\FailureDetails' {message} -> message) (\s@FailureDetails' {} a -> s {message = a} :: FailureDetails)++-- | An HTTP status code representing the nature of the error.+failureDetails_statusCode :: Lens.Lens' FailureDetails (Prelude.Maybe Prelude.Int)+failureDetails_statusCode = Lens.lens (\FailureDetails' {statusCode} -> statusCode) (\s@FailureDetails' {} a -> s {statusCode = a} :: FailureDetails)++instance Data.FromJSON FailureDetails where+ parseJSON =+ Data.withObject+ "FailureDetails"+ ( \x ->+ FailureDetails'+ Prelude.<$> (x Data..:? "Message")+ Prelude.<*> (x Data..:? "StatusCode")+ )++instance Prelude.Hashable FailureDetails where+ hashWithSalt _salt FailureDetails' {..} =+ _salt+ `Prelude.hashWithSalt` message+ `Prelude.hashWithSalt` statusCode++instance Prelude.NFData FailureDetails where+ rnf FailureDetails' {..} =+ Prelude.rnf message+ `Prelude.seq` Prelude.rnf statusCode
+ gen/Amazonka/VoiceId/Types/FraudDetectionAction.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.Types.FraudDetectionAction+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.VoiceId.Types.FraudDetectionAction+ ( FraudDetectionAction+ ( ..,+ FraudDetectionAction_FAIL,+ FraudDetectionAction_IGNORE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype FraudDetectionAction = FraudDetectionAction'+ { fromFraudDetectionAction ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern FraudDetectionAction_FAIL :: FraudDetectionAction+pattern FraudDetectionAction_FAIL = FraudDetectionAction' "FAIL"++pattern FraudDetectionAction_IGNORE :: FraudDetectionAction+pattern FraudDetectionAction_IGNORE = FraudDetectionAction' "IGNORE"++{-# COMPLETE+ FraudDetectionAction_FAIL,+ FraudDetectionAction_IGNORE,+ FraudDetectionAction'+ #-}
+ gen/Amazonka/VoiceId/Types/FraudDetectionConfiguration.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.Types.FraudDetectionConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.VoiceId.Types.FraudDetectionConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The configuration used for performing fraud detection over a speaker+-- during a session.+--+-- /See:/ 'newFraudDetectionConfiguration' smart constructor.+data FraudDetectionConfiguration = FraudDetectionConfiguration'+ { -- | 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.+ riskThreshold :: Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FraudDetectionConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'riskThreshold', 'fraudDetectionConfiguration_riskThreshold' - 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.+newFraudDetectionConfiguration ::+ -- | 'riskThreshold'+ Prelude.Natural ->+ FraudDetectionConfiguration+newFraudDetectionConfiguration pRiskThreshold_ =+ FraudDetectionConfiguration'+ { riskThreshold =+ pRiskThreshold_+ }++-- | 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.+fraudDetectionConfiguration_riskThreshold :: Lens.Lens' FraudDetectionConfiguration Prelude.Natural+fraudDetectionConfiguration_riskThreshold = Lens.lens (\FraudDetectionConfiguration' {riskThreshold} -> riskThreshold) (\s@FraudDetectionConfiguration' {} a -> s {riskThreshold = a} :: FraudDetectionConfiguration)++instance Data.FromJSON FraudDetectionConfiguration where+ parseJSON =+ Data.withObject+ "FraudDetectionConfiguration"+ ( \x ->+ FraudDetectionConfiguration'+ Prelude.<$> (x Data..: "RiskThreshold")+ )++instance Prelude.Hashable FraudDetectionConfiguration where+ hashWithSalt _salt FraudDetectionConfiguration' {..} =+ _salt `Prelude.hashWithSalt` riskThreshold++instance Prelude.NFData FraudDetectionConfiguration where+ rnf FraudDetectionConfiguration' {..} =+ Prelude.rnf riskThreshold
+ gen/Amazonka/VoiceId/Types/FraudDetectionDecision.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.Types.FraudDetectionDecision+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.VoiceId.Types.FraudDetectionDecision+ ( FraudDetectionDecision+ ( ..,+ FraudDetectionDecision_HIGH_RISK,+ FraudDetectionDecision_LOW_RISK,+ FraudDetectionDecision_NOT_ENOUGH_SPEECH+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype FraudDetectionDecision = FraudDetectionDecision'+ { fromFraudDetectionDecision ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern FraudDetectionDecision_HIGH_RISK :: FraudDetectionDecision+pattern FraudDetectionDecision_HIGH_RISK = FraudDetectionDecision' "HIGH_RISK"++pattern FraudDetectionDecision_LOW_RISK :: FraudDetectionDecision+pattern FraudDetectionDecision_LOW_RISK = FraudDetectionDecision' "LOW_RISK"++pattern FraudDetectionDecision_NOT_ENOUGH_SPEECH :: FraudDetectionDecision+pattern FraudDetectionDecision_NOT_ENOUGH_SPEECH = FraudDetectionDecision' "NOT_ENOUGH_SPEECH"++{-# COMPLETE+ FraudDetectionDecision_HIGH_RISK,+ FraudDetectionDecision_LOW_RISK,+ FraudDetectionDecision_NOT_ENOUGH_SPEECH,+ FraudDetectionDecision'+ #-}
+ gen/Amazonka/VoiceId/Types/FraudDetectionReason.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.Types.FraudDetectionReason+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.VoiceId.Types.FraudDetectionReason+ ( FraudDetectionReason+ ( ..,+ FraudDetectionReason_KNOWN_FRAUDSTER,+ FraudDetectionReason_VOICE_SPOOFING+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype FraudDetectionReason = FraudDetectionReason'+ { fromFraudDetectionReason ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern FraudDetectionReason_KNOWN_FRAUDSTER :: FraudDetectionReason+pattern FraudDetectionReason_KNOWN_FRAUDSTER = FraudDetectionReason' "KNOWN_FRAUDSTER"++pattern FraudDetectionReason_VOICE_SPOOFING :: FraudDetectionReason+pattern FraudDetectionReason_VOICE_SPOOFING = FraudDetectionReason' "VOICE_SPOOFING"++{-# COMPLETE+ FraudDetectionReason_KNOWN_FRAUDSTER,+ FraudDetectionReason_VOICE_SPOOFING,+ FraudDetectionReason'+ #-}
+ gen/Amazonka/VoiceId/Types/FraudDetectionResult.hs view
@@ -0,0 +1,186 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.Types.FraudDetectionResult+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.VoiceId.Types.FraudDetectionResult where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.VoiceId.Types.FraudDetectionConfiguration+import Amazonka.VoiceId.Types.FraudDetectionDecision+import Amazonka.VoiceId.Types.FraudDetectionReason+import Amazonka.VoiceId.Types.FraudRiskDetails++-- | The fraud detection result produced by Voice ID, processed against the+-- current session state and streamed audio of the speaker.+--+-- /See:/ 'newFraudDetectionResult' smart constructor.+data FraudDetectionResult = FraudDetectionResult'+ { -- | A timestamp indicating when audio aggregation ended for this fraud+ -- detection result.+ audioAggregationEndedAt :: Prelude.Maybe Data.POSIX,+ -- | A timestamp indicating when audio aggregation started for this fraud+ -- detection result.+ audioAggregationStartedAt :: Prelude.Maybe Data.POSIX,+ -- | The @FraudDetectionConfiguration@ used to generate this fraud detection+ -- result.+ configuration :: Prelude.Maybe FraudDetectionConfiguration,+ -- | The fraud detection decision produced by Voice ID, processed against the+ -- current session state and streamed audio of the speaker.+ decision :: Prelude.Maybe 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 :: Prelude.Maybe Prelude.Text,+ -- | 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 :: Prelude.Maybe [FraudDetectionReason],+ -- | Details about each risk analyzed for this speaker. Currently, this+ -- contains KnownFraudsterRisk and VoiceSpoofingRisk details.+ riskDetails :: Prelude.Maybe FraudRiskDetails+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FraudDetectionResult' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'audioAggregationEndedAt', 'fraudDetectionResult_audioAggregationEndedAt' - A timestamp indicating when audio aggregation ended for this fraud+-- detection result.+--+-- 'audioAggregationStartedAt', 'fraudDetectionResult_audioAggregationStartedAt' - A timestamp indicating when audio aggregation started for this fraud+-- detection result.+--+-- 'configuration', 'fraudDetectionResult_configuration' - The @FraudDetectionConfiguration@ used to generate this fraud detection+-- result.+--+-- 'decision', 'fraudDetectionResult_decision' - The fraud detection decision produced by Voice ID, processed against the+-- current session state and streamed audio of the speaker.+--+-- 'fraudDetectionResultId', 'fraudDetectionResult_fraudDetectionResultId' - 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.+--+-- 'reasons', 'fraudDetectionResult_reasons' - 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@.+--+-- 'riskDetails', 'fraudDetectionResult_riskDetails' - Details about each risk analyzed for this speaker. Currently, this+-- contains KnownFraudsterRisk and VoiceSpoofingRisk details.+newFraudDetectionResult ::+ FraudDetectionResult+newFraudDetectionResult =+ FraudDetectionResult'+ { audioAggregationEndedAt =+ Prelude.Nothing,+ audioAggregationStartedAt = Prelude.Nothing,+ configuration = Prelude.Nothing,+ decision = Prelude.Nothing,+ fraudDetectionResultId = Prelude.Nothing,+ reasons = Prelude.Nothing,+ riskDetails = Prelude.Nothing+ }++-- | A timestamp indicating when audio aggregation ended for this fraud+-- detection result.+fraudDetectionResult_audioAggregationEndedAt :: Lens.Lens' FraudDetectionResult (Prelude.Maybe Prelude.UTCTime)+fraudDetectionResult_audioAggregationEndedAt = Lens.lens (\FraudDetectionResult' {audioAggregationEndedAt} -> audioAggregationEndedAt) (\s@FraudDetectionResult' {} a -> s {audioAggregationEndedAt = a} :: FraudDetectionResult) Prelude.. Lens.mapping Data._Time++-- | A timestamp indicating when audio aggregation started for this fraud+-- detection result.+fraudDetectionResult_audioAggregationStartedAt :: Lens.Lens' FraudDetectionResult (Prelude.Maybe Prelude.UTCTime)+fraudDetectionResult_audioAggregationStartedAt = Lens.lens (\FraudDetectionResult' {audioAggregationStartedAt} -> audioAggregationStartedAt) (\s@FraudDetectionResult' {} a -> s {audioAggregationStartedAt = a} :: FraudDetectionResult) Prelude.. Lens.mapping Data._Time++-- | The @FraudDetectionConfiguration@ used to generate this fraud detection+-- result.+fraudDetectionResult_configuration :: Lens.Lens' FraudDetectionResult (Prelude.Maybe FraudDetectionConfiguration)+fraudDetectionResult_configuration = Lens.lens (\FraudDetectionResult' {configuration} -> configuration) (\s@FraudDetectionResult' {} a -> s {configuration = a} :: FraudDetectionResult)++-- | The fraud detection decision produced by Voice ID, processed against the+-- current session state and streamed audio of the speaker.+fraudDetectionResult_decision :: Lens.Lens' FraudDetectionResult (Prelude.Maybe FraudDetectionDecision)+fraudDetectionResult_decision = Lens.lens (\FraudDetectionResult' {decision} -> decision) (\s@FraudDetectionResult' {} a -> s {decision = a} :: FraudDetectionResult)++-- | 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.+fraudDetectionResult_fraudDetectionResultId :: Lens.Lens' FraudDetectionResult (Prelude.Maybe Prelude.Text)+fraudDetectionResult_fraudDetectionResultId = Lens.lens (\FraudDetectionResult' {fraudDetectionResultId} -> fraudDetectionResultId) (\s@FraudDetectionResult' {} a -> s {fraudDetectionResultId = a} :: FraudDetectionResult)++-- | 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@.+fraudDetectionResult_reasons :: Lens.Lens' FraudDetectionResult (Prelude.Maybe [FraudDetectionReason])+fraudDetectionResult_reasons = Lens.lens (\FraudDetectionResult' {reasons} -> reasons) (\s@FraudDetectionResult' {} a -> s {reasons = a} :: FraudDetectionResult) Prelude.. Lens.mapping Lens.coerced++-- | Details about each risk analyzed for this speaker. Currently, this+-- contains KnownFraudsterRisk and VoiceSpoofingRisk details.+fraudDetectionResult_riskDetails :: Lens.Lens' FraudDetectionResult (Prelude.Maybe FraudRiskDetails)+fraudDetectionResult_riskDetails = Lens.lens (\FraudDetectionResult' {riskDetails} -> riskDetails) (\s@FraudDetectionResult' {} a -> s {riskDetails = a} :: FraudDetectionResult)++instance Data.FromJSON FraudDetectionResult where+ parseJSON =+ Data.withObject+ "FraudDetectionResult"+ ( \x ->+ FraudDetectionResult'+ Prelude.<$> (x Data..:? "AudioAggregationEndedAt")+ Prelude.<*> (x Data..:? "AudioAggregationStartedAt")+ Prelude.<*> (x Data..:? "Configuration")+ Prelude.<*> (x Data..:? "Decision")+ Prelude.<*> (x Data..:? "FraudDetectionResultId")+ Prelude.<*> (x Data..:? "Reasons" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "RiskDetails")+ )++instance Prelude.Hashable FraudDetectionResult where+ hashWithSalt _salt FraudDetectionResult' {..} =+ _salt+ `Prelude.hashWithSalt` audioAggregationEndedAt+ `Prelude.hashWithSalt` audioAggregationStartedAt+ `Prelude.hashWithSalt` configuration+ `Prelude.hashWithSalt` decision+ `Prelude.hashWithSalt` fraudDetectionResultId+ `Prelude.hashWithSalt` reasons+ `Prelude.hashWithSalt` riskDetails++instance Prelude.NFData FraudDetectionResult where+ rnf FraudDetectionResult' {..} =+ Prelude.rnf audioAggregationEndedAt+ `Prelude.seq` Prelude.rnf audioAggregationStartedAt+ `Prelude.seq` Prelude.rnf configuration+ `Prelude.seq` Prelude.rnf decision+ `Prelude.seq` Prelude.rnf fraudDetectionResultId+ `Prelude.seq` Prelude.rnf reasons+ `Prelude.seq` Prelude.rnf riskDetails
+ gen/Amazonka/VoiceId/Types/FraudRiskDetails.hs view
@@ -0,0 +1,100 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.Types.FraudRiskDetails+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.VoiceId.Types.FraudRiskDetails where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.VoiceId.Types.KnownFraudsterRisk+import Amazonka.VoiceId.Types.VoiceSpoofingRisk++-- | Details regarding various fraud risk analyses performed against the+-- current session state and streamed audio of the speaker.+--+-- /See:/ 'newFraudRiskDetails' smart constructor.+data FraudRiskDetails = FraudRiskDetails'+ { -- | The details resulting from \'Known Fraudster Risk\' analysis of the+ -- speaker.+ knownFraudsterRisk :: KnownFraudsterRisk,+ -- | The details resulting from \'Voice Spoofing Risk\' analysis of the+ -- speaker.+ voiceSpoofingRisk :: VoiceSpoofingRisk+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FraudRiskDetails' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'knownFraudsterRisk', 'fraudRiskDetails_knownFraudsterRisk' - The details resulting from \'Known Fraudster Risk\' analysis of the+-- speaker.+--+-- 'voiceSpoofingRisk', 'fraudRiskDetails_voiceSpoofingRisk' - The details resulting from \'Voice Spoofing Risk\' analysis of the+-- speaker.+newFraudRiskDetails ::+ -- | 'knownFraudsterRisk'+ KnownFraudsterRisk ->+ -- | 'voiceSpoofingRisk'+ VoiceSpoofingRisk ->+ FraudRiskDetails+newFraudRiskDetails+ pKnownFraudsterRisk_+ pVoiceSpoofingRisk_ =+ FraudRiskDetails'+ { knownFraudsterRisk =+ pKnownFraudsterRisk_,+ voiceSpoofingRisk = pVoiceSpoofingRisk_+ }++-- | The details resulting from \'Known Fraudster Risk\' analysis of the+-- speaker.+fraudRiskDetails_knownFraudsterRisk :: Lens.Lens' FraudRiskDetails KnownFraudsterRisk+fraudRiskDetails_knownFraudsterRisk = Lens.lens (\FraudRiskDetails' {knownFraudsterRisk} -> knownFraudsterRisk) (\s@FraudRiskDetails' {} a -> s {knownFraudsterRisk = a} :: FraudRiskDetails)++-- | The details resulting from \'Voice Spoofing Risk\' analysis of the+-- speaker.+fraudRiskDetails_voiceSpoofingRisk :: Lens.Lens' FraudRiskDetails VoiceSpoofingRisk+fraudRiskDetails_voiceSpoofingRisk = Lens.lens (\FraudRiskDetails' {voiceSpoofingRisk} -> voiceSpoofingRisk) (\s@FraudRiskDetails' {} a -> s {voiceSpoofingRisk = a} :: FraudRiskDetails)++instance Data.FromJSON FraudRiskDetails where+ parseJSON =+ Data.withObject+ "FraudRiskDetails"+ ( \x ->+ FraudRiskDetails'+ Prelude.<$> (x Data..: "KnownFraudsterRisk")+ Prelude.<*> (x Data..: "VoiceSpoofingRisk")+ )++instance Prelude.Hashable FraudRiskDetails where+ hashWithSalt _salt FraudRiskDetails' {..} =+ _salt+ `Prelude.hashWithSalt` knownFraudsterRisk+ `Prelude.hashWithSalt` voiceSpoofingRisk++instance Prelude.NFData FraudRiskDetails where+ rnf FraudRiskDetails' {..} =+ Prelude.rnf knownFraudsterRisk+ `Prelude.seq` Prelude.rnf voiceSpoofingRisk
+ gen/Amazonka/VoiceId/Types/Fraudster.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.Types.Fraudster+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.VoiceId.Types.Fraudster where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Contains all the information about a fraudster.+--+-- /See:/ 'newFraudster' smart constructor.+data Fraudster = Fraudster'+ { -- | The timestamp when Voice ID identified the fraudster.+ createdAt :: Prelude.Maybe Data.POSIX,+ -- | The identifier for the domain containing the fraudster.+ domainId :: Prelude.Maybe Prelude.Text,+ -- | The service-generated identifier for the fraudster.+ generatedFraudsterId :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Fraudster' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'createdAt', 'fraudster_createdAt' - The timestamp when Voice ID identified the fraudster.+--+-- 'domainId', 'fraudster_domainId' - The identifier for the domain containing the fraudster.+--+-- 'generatedFraudsterId', 'fraudster_generatedFraudsterId' - The service-generated identifier for the fraudster.+newFraudster ::+ Fraudster+newFraudster =+ Fraudster'+ { createdAt = Prelude.Nothing,+ domainId = Prelude.Nothing,+ generatedFraudsterId = Prelude.Nothing+ }++-- | The timestamp when Voice ID identified the fraudster.+fraudster_createdAt :: Lens.Lens' Fraudster (Prelude.Maybe Prelude.UTCTime)+fraudster_createdAt = Lens.lens (\Fraudster' {createdAt} -> createdAt) (\s@Fraudster' {} a -> s {createdAt = a} :: Fraudster) Prelude.. Lens.mapping Data._Time++-- | The identifier for the domain containing the fraudster.+fraudster_domainId :: Lens.Lens' Fraudster (Prelude.Maybe Prelude.Text)+fraudster_domainId = Lens.lens (\Fraudster' {domainId} -> domainId) (\s@Fraudster' {} a -> s {domainId = a} :: Fraudster)++-- | The service-generated identifier for the fraudster.+fraudster_generatedFraudsterId :: Lens.Lens' Fraudster (Prelude.Maybe Prelude.Text)+fraudster_generatedFraudsterId = Lens.lens (\Fraudster' {generatedFraudsterId} -> generatedFraudsterId) (\s@Fraudster' {} a -> s {generatedFraudsterId = a} :: Fraudster)++instance Data.FromJSON Fraudster where+ parseJSON =+ Data.withObject+ "Fraudster"+ ( \x ->+ Fraudster'+ Prelude.<$> (x Data..:? "CreatedAt")+ Prelude.<*> (x Data..:? "DomainId")+ Prelude.<*> (x Data..:? "GeneratedFraudsterId")+ )++instance Prelude.Hashable Fraudster where+ hashWithSalt _salt Fraudster' {..} =+ _salt+ `Prelude.hashWithSalt` createdAt+ `Prelude.hashWithSalt` domainId+ `Prelude.hashWithSalt` generatedFraudsterId++instance Prelude.NFData Fraudster where+ rnf Fraudster' {..} =+ Prelude.rnf createdAt+ `Prelude.seq` Prelude.rnf domainId+ `Prelude.seq` Prelude.rnf generatedFraudsterId
+ gen/Amazonka/VoiceId/Types/FraudsterRegistrationJob.hs view
@@ -0,0 +1,247 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.Types.FraudsterRegistrationJob+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.VoiceId.Types.FraudsterRegistrationJob where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.VoiceId.Types.FailureDetails+import Amazonka.VoiceId.Types.FraudsterRegistrationJobStatus+import Amazonka.VoiceId.Types.InputDataConfig+import Amazonka.VoiceId.Types.JobProgress+import Amazonka.VoiceId.Types.OutputDataConfig+import Amazonka.VoiceId.Types.RegistrationConfig++-- | Contains all the information about a fraudster registration job.+--+-- /See:/ 'newFraudsterRegistrationJob' smart constructor.+data FraudsterRegistrationJob = FraudsterRegistrationJob'+ { -- | A timestamp showing the creation time of the fraudster registration job.+ createdAt :: Prelude.Maybe Data.POSIX,+ -- | 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 :: Prelude.Maybe Prelude.Text,+ -- | The identifier of the domain containing the fraudster registration job.+ domainId :: Prelude.Maybe Prelude.Text,+ -- | A timestamp showing when the fraudster registration job ended.+ endedAt :: Prelude.Maybe Data.POSIX,+ -- | 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 :: Prelude.Maybe FailureDetails,+ -- | The input data config containing an S3 URI for the input manifest file+ -- that contains the list of fraudster registration job requests.+ inputDataConfig :: Prelude.Maybe InputDataConfig,+ -- | The service-generated identifier for the fraudster registration job.+ jobId :: Prelude.Maybe Prelude.Text,+ -- | The client-provided name for the fraudster registration job.+ jobName :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | Shows the completed percentage of registration requests listed in the+ -- input file.+ jobProgress :: Prelude.Maybe JobProgress,+ -- | The current status of the fraudster registration job.+ jobStatus :: Prelude.Maybe 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 :: Prelude.Maybe 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 :: Prelude.Maybe RegistrationConfig+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FraudsterRegistrationJob' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'createdAt', 'fraudsterRegistrationJob_createdAt' - A timestamp showing the creation time of the fraudster registration job.+--+-- 'dataAccessRoleArn', 'fraudsterRegistrationJob_dataAccessRoleArn' - 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.+--+-- 'domainId', 'fraudsterRegistrationJob_domainId' - The identifier of the domain containing the fraudster registration job.+--+-- 'endedAt', 'fraudsterRegistrationJob_endedAt' - A timestamp showing when the fraudster registration job ended.+--+-- 'failureDetails', 'fraudsterRegistrationJob_failureDetails' - 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.+--+-- 'inputDataConfig', 'fraudsterRegistrationJob_inputDataConfig' - The input data config containing an S3 URI for the input manifest file+-- that contains the list of fraudster registration job requests.+--+-- 'jobId', 'fraudsterRegistrationJob_jobId' - The service-generated identifier for the fraudster registration job.+--+-- 'jobName', 'fraudsterRegistrationJob_jobName' - The client-provided name for the fraudster registration job.+--+-- 'jobProgress', 'fraudsterRegistrationJob_jobProgress' - Shows the completed percentage of registration requests listed in the+-- input file.+--+-- 'jobStatus', 'fraudsterRegistrationJob_jobStatus' - The current status of the fraudster registration job.+--+-- 'outputDataConfig', 'fraudsterRegistrationJob_outputDataConfig' - 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.+--+-- 'registrationConfig', 'fraudsterRegistrationJob_registrationConfig' - 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.+newFraudsterRegistrationJob ::+ FraudsterRegistrationJob+newFraudsterRegistrationJob =+ FraudsterRegistrationJob'+ { createdAt =+ Prelude.Nothing,+ dataAccessRoleArn = Prelude.Nothing,+ domainId = Prelude.Nothing,+ endedAt = Prelude.Nothing,+ failureDetails = Prelude.Nothing,+ inputDataConfig = Prelude.Nothing,+ jobId = Prelude.Nothing,+ jobName = Prelude.Nothing,+ jobProgress = Prelude.Nothing,+ jobStatus = Prelude.Nothing,+ outputDataConfig = Prelude.Nothing,+ registrationConfig = Prelude.Nothing+ }++-- | A timestamp showing the creation time of the fraudster registration job.+fraudsterRegistrationJob_createdAt :: Lens.Lens' FraudsterRegistrationJob (Prelude.Maybe Prelude.UTCTime)+fraudsterRegistrationJob_createdAt = Lens.lens (\FraudsterRegistrationJob' {createdAt} -> createdAt) (\s@FraudsterRegistrationJob' {} a -> s {createdAt = a} :: FraudsterRegistrationJob) Prelude.. Lens.mapping Data._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.+fraudsterRegistrationJob_dataAccessRoleArn :: Lens.Lens' FraudsterRegistrationJob (Prelude.Maybe Prelude.Text)+fraudsterRegistrationJob_dataAccessRoleArn = Lens.lens (\FraudsterRegistrationJob' {dataAccessRoleArn} -> dataAccessRoleArn) (\s@FraudsterRegistrationJob' {} a -> s {dataAccessRoleArn = a} :: FraudsterRegistrationJob)++-- | The identifier of the domain containing the fraudster registration job.+fraudsterRegistrationJob_domainId :: Lens.Lens' FraudsterRegistrationJob (Prelude.Maybe Prelude.Text)+fraudsterRegistrationJob_domainId = Lens.lens (\FraudsterRegistrationJob' {domainId} -> domainId) (\s@FraudsterRegistrationJob' {} a -> s {domainId = a} :: FraudsterRegistrationJob)++-- | A timestamp showing when the fraudster registration job ended.+fraudsterRegistrationJob_endedAt :: Lens.Lens' FraudsterRegistrationJob (Prelude.Maybe Prelude.UTCTime)+fraudsterRegistrationJob_endedAt = Lens.lens (\FraudsterRegistrationJob' {endedAt} -> endedAt) (\s@FraudsterRegistrationJob' {} a -> s {endedAt = a} :: FraudsterRegistrationJob) Prelude.. Lens.mapping Data._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.+fraudsterRegistrationJob_failureDetails :: Lens.Lens' FraudsterRegistrationJob (Prelude.Maybe FailureDetails)+fraudsterRegistrationJob_failureDetails = Lens.lens (\FraudsterRegistrationJob' {failureDetails} -> failureDetails) (\s@FraudsterRegistrationJob' {} a -> s {failureDetails = a} :: FraudsterRegistrationJob)++-- | The input data config containing an S3 URI for the input manifest file+-- that contains the list of fraudster registration job requests.+fraudsterRegistrationJob_inputDataConfig :: Lens.Lens' FraudsterRegistrationJob (Prelude.Maybe InputDataConfig)+fraudsterRegistrationJob_inputDataConfig = Lens.lens (\FraudsterRegistrationJob' {inputDataConfig} -> inputDataConfig) (\s@FraudsterRegistrationJob' {} a -> s {inputDataConfig = a} :: FraudsterRegistrationJob)++-- | The service-generated identifier for the fraudster registration job.+fraudsterRegistrationJob_jobId :: Lens.Lens' FraudsterRegistrationJob (Prelude.Maybe Prelude.Text)+fraudsterRegistrationJob_jobId = Lens.lens (\FraudsterRegistrationJob' {jobId} -> jobId) (\s@FraudsterRegistrationJob' {} a -> s {jobId = a} :: FraudsterRegistrationJob)++-- | The client-provided name for the fraudster registration job.+fraudsterRegistrationJob_jobName :: Lens.Lens' FraudsterRegistrationJob (Prelude.Maybe Prelude.Text)+fraudsterRegistrationJob_jobName = Lens.lens (\FraudsterRegistrationJob' {jobName} -> jobName) (\s@FraudsterRegistrationJob' {} a -> s {jobName = a} :: FraudsterRegistrationJob) Prelude.. Lens.mapping Data._Sensitive++-- | Shows the completed percentage of registration requests listed in the+-- input file.+fraudsterRegistrationJob_jobProgress :: Lens.Lens' FraudsterRegistrationJob (Prelude.Maybe JobProgress)+fraudsterRegistrationJob_jobProgress = Lens.lens (\FraudsterRegistrationJob' {jobProgress} -> jobProgress) (\s@FraudsterRegistrationJob' {} a -> s {jobProgress = a} :: FraudsterRegistrationJob)++-- | The current status of the fraudster registration job.+fraudsterRegistrationJob_jobStatus :: Lens.Lens' FraudsterRegistrationJob (Prelude.Maybe FraudsterRegistrationJobStatus)+fraudsterRegistrationJob_jobStatus = Lens.lens (\FraudsterRegistrationJob' {jobStatus} -> jobStatus) (\s@FraudsterRegistrationJob' {} a -> s {jobStatus = a} :: FraudsterRegistrationJob)++-- | 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.+fraudsterRegistrationJob_outputDataConfig :: Lens.Lens' FraudsterRegistrationJob (Prelude.Maybe OutputDataConfig)+fraudsterRegistrationJob_outputDataConfig = Lens.lens (\FraudsterRegistrationJob' {outputDataConfig} -> outputDataConfig) (\s@FraudsterRegistrationJob' {} a -> s {outputDataConfig = a} :: FraudsterRegistrationJob)++-- | 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.+fraudsterRegistrationJob_registrationConfig :: Lens.Lens' FraudsterRegistrationJob (Prelude.Maybe RegistrationConfig)+fraudsterRegistrationJob_registrationConfig = Lens.lens (\FraudsterRegistrationJob' {registrationConfig} -> registrationConfig) (\s@FraudsterRegistrationJob' {} a -> s {registrationConfig = a} :: FraudsterRegistrationJob)++instance Data.FromJSON FraudsterRegistrationJob where+ parseJSON =+ Data.withObject+ "FraudsterRegistrationJob"+ ( \x ->+ FraudsterRegistrationJob'+ Prelude.<$> (x Data..:? "CreatedAt")+ Prelude.<*> (x Data..:? "DataAccessRoleArn")+ Prelude.<*> (x Data..:? "DomainId")+ Prelude.<*> (x Data..:? "EndedAt")+ Prelude.<*> (x Data..:? "FailureDetails")+ Prelude.<*> (x Data..:? "InputDataConfig")+ Prelude.<*> (x Data..:? "JobId")+ Prelude.<*> (x Data..:? "JobName")+ Prelude.<*> (x Data..:? "JobProgress")+ Prelude.<*> (x Data..:? "JobStatus")+ Prelude.<*> (x Data..:? "OutputDataConfig")+ Prelude.<*> (x Data..:? "RegistrationConfig")+ )++instance Prelude.Hashable FraudsterRegistrationJob where+ hashWithSalt _salt FraudsterRegistrationJob' {..} =+ _salt+ `Prelude.hashWithSalt` createdAt+ `Prelude.hashWithSalt` dataAccessRoleArn+ `Prelude.hashWithSalt` domainId+ `Prelude.hashWithSalt` endedAt+ `Prelude.hashWithSalt` failureDetails+ `Prelude.hashWithSalt` inputDataConfig+ `Prelude.hashWithSalt` jobId+ `Prelude.hashWithSalt` jobName+ `Prelude.hashWithSalt` jobProgress+ `Prelude.hashWithSalt` jobStatus+ `Prelude.hashWithSalt` outputDataConfig+ `Prelude.hashWithSalt` registrationConfig++instance Prelude.NFData FraudsterRegistrationJob where+ rnf FraudsterRegistrationJob' {..} =+ Prelude.rnf createdAt+ `Prelude.seq` Prelude.rnf dataAccessRoleArn+ `Prelude.seq` Prelude.rnf domainId+ `Prelude.seq` Prelude.rnf endedAt+ `Prelude.seq` Prelude.rnf failureDetails+ `Prelude.seq` Prelude.rnf inputDataConfig+ `Prelude.seq` Prelude.rnf jobId+ `Prelude.seq` Prelude.rnf jobName+ `Prelude.seq` Prelude.rnf jobProgress+ `Prelude.seq` Prelude.rnf jobStatus+ `Prelude.seq` Prelude.rnf outputDataConfig+ `Prelude.seq` Prelude.rnf registrationConfig
+ gen/Amazonka/VoiceId/Types/FraudsterRegistrationJobStatus.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.Types.FraudsterRegistrationJobStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.VoiceId.Types.FraudsterRegistrationJobStatus+ ( FraudsterRegistrationJobStatus+ ( ..,+ FraudsterRegistrationJobStatus_COMPLETED,+ FraudsterRegistrationJobStatus_COMPLETED_WITH_ERRORS,+ FraudsterRegistrationJobStatus_FAILED,+ FraudsterRegistrationJobStatus_IN_PROGRESS,+ FraudsterRegistrationJobStatus_SUBMITTED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype FraudsterRegistrationJobStatus = FraudsterRegistrationJobStatus'+ { fromFraudsterRegistrationJobStatus ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern FraudsterRegistrationJobStatus_COMPLETED :: FraudsterRegistrationJobStatus+pattern FraudsterRegistrationJobStatus_COMPLETED = FraudsterRegistrationJobStatus' "COMPLETED"++pattern FraudsterRegistrationJobStatus_COMPLETED_WITH_ERRORS :: FraudsterRegistrationJobStatus+pattern FraudsterRegistrationJobStatus_COMPLETED_WITH_ERRORS = FraudsterRegistrationJobStatus' "COMPLETED_WITH_ERRORS"++pattern FraudsterRegistrationJobStatus_FAILED :: FraudsterRegistrationJobStatus+pattern FraudsterRegistrationJobStatus_FAILED = FraudsterRegistrationJobStatus' "FAILED"++pattern FraudsterRegistrationJobStatus_IN_PROGRESS :: FraudsterRegistrationJobStatus+pattern FraudsterRegistrationJobStatus_IN_PROGRESS = FraudsterRegistrationJobStatus' "IN_PROGRESS"++pattern FraudsterRegistrationJobStatus_SUBMITTED :: FraudsterRegistrationJobStatus+pattern FraudsterRegistrationJobStatus_SUBMITTED = FraudsterRegistrationJobStatus' "SUBMITTED"++{-# COMPLETE+ FraudsterRegistrationJobStatus_COMPLETED,+ FraudsterRegistrationJobStatus_COMPLETED_WITH_ERRORS,+ FraudsterRegistrationJobStatus_FAILED,+ FraudsterRegistrationJobStatus_IN_PROGRESS,+ FraudsterRegistrationJobStatus_SUBMITTED,+ FraudsterRegistrationJobStatus'+ #-}
+ gen/Amazonka/VoiceId/Types/FraudsterRegistrationJobSummary.hs view
@@ -0,0 +1,186 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.Types.FraudsterRegistrationJobSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.VoiceId.Types.FraudsterRegistrationJobSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.VoiceId.Types.FailureDetails+import Amazonka.VoiceId.Types.FraudsterRegistrationJobStatus+import Amazonka.VoiceId.Types.JobProgress++-- | Contains a summary of information about a fraudster registration job.+--+-- /See:/ 'newFraudsterRegistrationJobSummary' smart constructor.+data FraudsterRegistrationJobSummary = FraudsterRegistrationJobSummary'+ { -- | A timestamp showing when the fraudster registration job is created.+ createdAt :: Prelude.Maybe Data.POSIX,+ -- | The identifier of the domain containing the fraudster registration job.+ domainId :: Prelude.Maybe Prelude.Text,+ -- | A timestamp showing when the fraudster registration job ended.+ endedAt :: Prelude.Maybe Data.POSIX,+ -- | 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 :: Prelude.Maybe FailureDetails,+ -- | The service-generated identifier for the fraudster registration job.+ jobId :: Prelude.Maybe Prelude.Text,+ -- | The client-provided name for the fraudster registration job.+ jobName :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | Shows the completed percentage of registration requests listed in the+ -- input file.+ jobProgress :: Prelude.Maybe JobProgress,+ -- | The current status of the fraudster registration job.+ jobStatus :: Prelude.Maybe FraudsterRegistrationJobStatus+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FraudsterRegistrationJobSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'createdAt', 'fraudsterRegistrationJobSummary_createdAt' - A timestamp showing when the fraudster registration job is created.+--+-- 'domainId', 'fraudsterRegistrationJobSummary_domainId' - The identifier of the domain containing the fraudster registration job.+--+-- 'endedAt', 'fraudsterRegistrationJobSummary_endedAt' - A timestamp showing when the fraudster registration job ended.+--+-- 'failureDetails', 'fraudsterRegistrationJobSummary_failureDetails' - 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.+--+-- 'jobId', 'fraudsterRegistrationJobSummary_jobId' - The service-generated identifier for the fraudster registration job.+--+-- 'jobName', 'fraudsterRegistrationJobSummary_jobName' - The client-provided name for the fraudster registration job.+--+-- 'jobProgress', 'fraudsterRegistrationJobSummary_jobProgress' - Shows the completed percentage of registration requests listed in the+-- input file.+--+-- 'jobStatus', 'fraudsterRegistrationJobSummary_jobStatus' - The current status of the fraudster registration job.+newFraudsterRegistrationJobSummary ::+ FraudsterRegistrationJobSummary+newFraudsterRegistrationJobSummary =+ FraudsterRegistrationJobSummary'+ { createdAt =+ Prelude.Nothing,+ domainId = Prelude.Nothing,+ endedAt = Prelude.Nothing,+ failureDetails = Prelude.Nothing,+ jobId = Prelude.Nothing,+ jobName = Prelude.Nothing,+ jobProgress = Prelude.Nothing,+ jobStatus = Prelude.Nothing+ }++-- | A timestamp showing when the fraudster registration job is created.+fraudsterRegistrationJobSummary_createdAt :: Lens.Lens' FraudsterRegistrationJobSummary (Prelude.Maybe Prelude.UTCTime)+fraudsterRegistrationJobSummary_createdAt = Lens.lens (\FraudsterRegistrationJobSummary' {createdAt} -> createdAt) (\s@FraudsterRegistrationJobSummary' {} a -> s {createdAt = a} :: FraudsterRegistrationJobSummary) Prelude.. Lens.mapping Data._Time++-- | The identifier of the domain containing the fraudster registration job.+fraudsterRegistrationJobSummary_domainId :: Lens.Lens' FraudsterRegistrationJobSummary (Prelude.Maybe Prelude.Text)+fraudsterRegistrationJobSummary_domainId = Lens.lens (\FraudsterRegistrationJobSummary' {domainId} -> domainId) (\s@FraudsterRegistrationJobSummary' {} a -> s {domainId = a} :: FraudsterRegistrationJobSummary)++-- | A timestamp showing when the fraudster registration job ended.+fraudsterRegistrationJobSummary_endedAt :: Lens.Lens' FraudsterRegistrationJobSummary (Prelude.Maybe Prelude.UTCTime)+fraudsterRegistrationJobSummary_endedAt = Lens.lens (\FraudsterRegistrationJobSummary' {endedAt} -> endedAt) (\s@FraudsterRegistrationJobSummary' {} a -> s {endedAt = a} :: FraudsterRegistrationJobSummary) Prelude.. Lens.mapping Data._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.+fraudsterRegistrationJobSummary_failureDetails :: Lens.Lens' FraudsterRegistrationJobSummary (Prelude.Maybe FailureDetails)+fraudsterRegistrationJobSummary_failureDetails = Lens.lens (\FraudsterRegistrationJobSummary' {failureDetails} -> failureDetails) (\s@FraudsterRegistrationJobSummary' {} a -> s {failureDetails = a} :: FraudsterRegistrationJobSummary)++-- | The service-generated identifier for the fraudster registration job.+fraudsterRegistrationJobSummary_jobId :: Lens.Lens' FraudsterRegistrationJobSummary (Prelude.Maybe Prelude.Text)+fraudsterRegistrationJobSummary_jobId = Lens.lens (\FraudsterRegistrationJobSummary' {jobId} -> jobId) (\s@FraudsterRegistrationJobSummary' {} a -> s {jobId = a} :: FraudsterRegistrationJobSummary)++-- | The client-provided name for the fraudster registration job.+fraudsterRegistrationJobSummary_jobName :: Lens.Lens' FraudsterRegistrationJobSummary (Prelude.Maybe Prelude.Text)+fraudsterRegistrationJobSummary_jobName = Lens.lens (\FraudsterRegistrationJobSummary' {jobName} -> jobName) (\s@FraudsterRegistrationJobSummary' {} a -> s {jobName = a} :: FraudsterRegistrationJobSummary) Prelude.. Lens.mapping Data._Sensitive++-- | Shows the completed percentage of registration requests listed in the+-- input file.+fraudsterRegistrationJobSummary_jobProgress :: Lens.Lens' FraudsterRegistrationJobSummary (Prelude.Maybe JobProgress)+fraudsterRegistrationJobSummary_jobProgress = Lens.lens (\FraudsterRegistrationJobSummary' {jobProgress} -> jobProgress) (\s@FraudsterRegistrationJobSummary' {} a -> s {jobProgress = a} :: FraudsterRegistrationJobSummary)++-- | The current status of the fraudster registration job.+fraudsterRegistrationJobSummary_jobStatus :: Lens.Lens' FraudsterRegistrationJobSummary (Prelude.Maybe FraudsterRegistrationJobStatus)+fraudsterRegistrationJobSummary_jobStatus = Lens.lens (\FraudsterRegistrationJobSummary' {jobStatus} -> jobStatus) (\s@FraudsterRegistrationJobSummary' {} a -> s {jobStatus = a} :: FraudsterRegistrationJobSummary)++instance+ Data.FromJSON+ FraudsterRegistrationJobSummary+ where+ parseJSON =+ Data.withObject+ "FraudsterRegistrationJobSummary"+ ( \x ->+ FraudsterRegistrationJobSummary'+ Prelude.<$> (x Data..:? "CreatedAt")+ Prelude.<*> (x Data..:? "DomainId")+ Prelude.<*> (x Data..:? "EndedAt")+ Prelude.<*> (x Data..:? "FailureDetails")+ Prelude.<*> (x Data..:? "JobId")+ Prelude.<*> (x Data..:? "JobName")+ Prelude.<*> (x Data..:? "JobProgress")+ Prelude.<*> (x Data..:? "JobStatus")+ )++instance+ Prelude.Hashable+ FraudsterRegistrationJobSummary+ where+ hashWithSalt+ _salt+ FraudsterRegistrationJobSummary' {..} =+ _salt+ `Prelude.hashWithSalt` createdAt+ `Prelude.hashWithSalt` domainId+ `Prelude.hashWithSalt` endedAt+ `Prelude.hashWithSalt` failureDetails+ `Prelude.hashWithSalt` jobId+ `Prelude.hashWithSalt` jobName+ `Prelude.hashWithSalt` jobProgress+ `Prelude.hashWithSalt` jobStatus++instance+ Prelude.NFData+ FraudsterRegistrationJobSummary+ where+ rnf FraudsterRegistrationJobSummary' {..} =+ Prelude.rnf createdAt+ `Prelude.seq` Prelude.rnf domainId+ `Prelude.seq` Prelude.rnf endedAt+ `Prelude.seq` Prelude.rnf failureDetails+ `Prelude.seq` Prelude.rnf jobId+ `Prelude.seq` Prelude.rnf jobName+ `Prelude.seq` Prelude.rnf jobProgress+ `Prelude.seq` Prelude.rnf jobStatus
+ gen/Amazonka/VoiceId/Types/InputDataConfig.hs view
@@ -0,0 +1,79 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.Types.InputDataConfig+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.VoiceId.Types.InputDataConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The configuration containing input file information for a batch job.+--+-- /See:/ 'newInputDataConfig' smart constructor.+data InputDataConfig = InputDataConfig'+ { -- | The S3 location for the input manifest file that contains the list of+ -- individual enrollment or registration job requests.+ s3Uri :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'InputDataConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 's3Uri', 'inputDataConfig_s3Uri' - The S3 location for the input manifest file that contains the list of+-- individual enrollment or registration job requests.+newInputDataConfig ::+ -- | 's3Uri'+ Prelude.Text ->+ InputDataConfig+newInputDataConfig pS3Uri_ =+ InputDataConfig' {s3Uri = pS3Uri_}++-- | The S3 location for the input manifest file that contains the list of+-- individual enrollment or registration job requests.+inputDataConfig_s3Uri :: Lens.Lens' InputDataConfig Prelude.Text+inputDataConfig_s3Uri = Lens.lens (\InputDataConfig' {s3Uri} -> s3Uri) (\s@InputDataConfig' {} a -> s {s3Uri = a} :: InputDataConfig)++instance Data.FromJSON InputDataConfig where+ parseJSON =+ Data.withObject+ "InputDataConfig"+ ( \x ->+ InputDataConfig' Prelude.<$> (x Data..: "S3Uri")+ )++instance Prelude.Hashable InputDataConfig where+ hashWithSalt _salt InputDataConfig' {..} =+ _salt `Prelude.hashWithSalt` s3Uri++instance Prelude.NFData InputDataConfig where+ rnf InputDataConfig' {..} = Prelude.rnf s3Uri++instance Data.ToJSON InputDataConfig where+ toJSON InputDataConfig' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("S3Uri" Data..= s3Uri)]+ )
+ gen/Amazonka/VoiceId/Types/JobProgress.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.Types.JobProgress+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.VoiceId.Types.JobProgress where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Indicates the completion progress for a batch job.+--+-- /See:/ 'newJobProgress' smart constructor.+data JobProgress = JobProgress'+ { -- | Shows the completed percentage of enrollment or registration requests+ -- listed in the input file.+ percentComplete :: Prelude.Maybe Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'JobProgress' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'percentComplete', 'jobProgress_percentComplete' - Shows the completed percentage of enrollment or registration requests+-- listed in the input file.+newJobProgress ::+ JobProgress+newJobProgress =+ JobProgress' {percentComplete = Prelude.Nothing}++-- | Shows the completed percentage of enrollment or registration requests+-- listed in the input file.+jobProgress_percentComplete :: Lens.Lens' JobProgress (Prelude.Maybe Prelude.Natural)+jobProgress_percentComplete = Lens.lens (\JobProgress' {percentComplete} -> percentComplete) (\s@JobProgress' {} a -> s {percentComplete = a} :: JobProgress)++instance Data.FromJSON JobProgress where+ parseJSON =+ Data.withObject+ "JobProgress"+ ( \x ->+ JobProgress'+ Prelude.<$> (x Data..:? "PercentComplete")+ )++instance Prelude.Hashable JobProgress where+ hashWithSalt _salt JobProgress' {..} =+ _salt `Prelude.hashWithSalt` percentComplete++instance Prelude.NFData JobProgress where+ rnf JobProgress' {..} = Prelude.rnf percentComplete
+ gen/Amazonka/VoiceId/Types/KnownFraudsterRisk.hs view
@@ -0,0 +1,94 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.Types.KnownFraudsterRisk+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.VoiceId.Types.KnownFraudsterRisk where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Contains details produced as a result of performing known fraudster risk+-- analysis on a speaker.+--+-- /See:/ 'newKnownFraudsterRisk' smart constructor.+data KnownFraudsterRisk = KnownFraudsterRisk'+ { -- | 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 :: Prelude.Maybe Prelude.Text,+ -- | The score indicating the likelihood the speaker is a known fraudster.+ riskScore :: Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'KnownFraudsterRisk' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'generatedFraudsterId', 'knownFraudsterRisk_generatedFraudsterId' - 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@.+--+-- 'riskScore', 'knownFraudsterRisk_riskScore' - The score indicating the likelihood the speaker is a known fraudster.+newKnownFraudsterRisk ::+ -- | 'riskScore'+ Prelude.Natural ->+ KnownFraudsterRisk+newKnownFraudsterRisk pRiskScore_ =+ KnownFraudsterRisk'+ { generatedFraudsterId =+ Prelude.Nothing,+ riskScore = pRiskScore_+ }++-- | 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@.+knownFraudsterRisk_generatedFraudsterId :: Lens.Lens' KnownFraudsterRisk (Prelude.Maybe Prelude.Text)+knownFraudsterRisk_generatedFraudsterId = Lens.lens (\KnownFraudsterRisk' {generatedFraudsterId} -> generatedFraudsterId) (\s@KnownFraudsterRisk' {} a -> s {generatedFraudsterId = a} :: KnownFraudsterRisk)++-- | The score indicating the likelihood the speaker is a known fraudster.+knownFraudsterRisk_riskScore :: Lens.Lens' KnownFraudsterRisk Prelude.Natural+knownFraudsterRisk_riskScore = Lens.lens (\KnownFraudsterRisk' {riskScore} -> riskScore) (\s@KnownFraudsterRisk' {} a -> s {riskScore = a} :: KnownFraudsterRisk)++instance Data.FromJSON KnownFraudsterRisk where+ parseJSON =+ Data.withObject+ "KnownFraudsterRisk"+ ( \x ->+ KnownFraudsterRisk'+ Prelude.<$> (x Data..:? "GeneratedFraudsterId")+ Prelude.<*> (x Data..: "RiskScore")+ )++instance Prelude.Hashable KnownFraudsterRisk where+ hashWithSalt _salt KnownFraudsterRisk' {..} =+ _salt+ `Prelude.hashWithSalt` generatedFraudsterId+ `Prelude.hashWithSalt` riskScore++instance Prelude.NFData KnownFraudsterRisk where+ rnf KnownFraudsterRisk' {..} =+ Prelude.rnf generatedFraudsterId+ `Prelude.seq` Prelude.rnf riskScore
+ gen/Amazonka/VoiceId/Types/OutputDataConfig.hs view
@@ -0,0 +1,110 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.Types.OutputDataConfig+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.VoiceId.Types.OutputDataConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The configuration containing output file information for a batch job.+--+-- /See:/ 'newOutputDataConfig' smart constructor.+data OutputDataConfig = OutputDataConfig'+ { -- | 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 :: Prelude.Maybe Prelude.Text,+ -- | 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@.+ s3Uri :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'OutputDataConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'kmsKeyId', 'outputDataConfig_kmsKeyId' - 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.+--+-- 's3Uri', 'outputDataConfig_s3Uri' - 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@.+newOutputDataConfig ::+ -- | 's3Uri'+ Prelude.Text ->+ OutputDataConfig+newOutputDataConfig pS3Uri_ =+ OutputDataConfig'+ { kmsKeyId = Prelude.Nothing,+ s3Uri = pS3Uri_+ }++-- | 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.+outputDataConfig_kmsKeyId :: Lens.Lens' OutputDataConfig (Prelude.Maybe Prelude.Text)+outputDataConfig_kmsKeyId = Lens.lens (\OutputDataConfig' {kmsKeyId} -> kmsKeyId) (\s@OutputDataConfig' {} a -> s {kmsKeyId = a} :: OutputDataConfig)++-- | 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@.+outputDataConfig_s3Uri :: Lens.Lens' OutputDataConfig Prelude.Text+outputDataConfig_s3Uri = Lens.lens (\OutputDataConfig' {s3Uri} -> s3Uri) (\s@OutputDataConfig' {} a -> s {s3Uri = a} :: OutputDataConfig)++instance Data.FromJSON OutputDataConfig where+ parseJSON =+ Data.withObject+ "OutputDataConfig"+ ( \x ->+ OutputDataConfig'+ Prelude.<$> (x Data..:? "KmsKeyId")+ Prelude.<*> (x Data..: "S3Uri")+ )++instance Prelude.Hashable OutputDataConfig where+ hashWithSalt _salt OutputDataConfig' {..} =+ _salt+ `Prelude.hashWithSalt` kmsKeyId+ `Prelude.hashWithSalt` s3Uri++instance Prelude.NFData OutputDataConfig where+ rnf OutputDataConfig' {..} =+ Prelude.rnf kmsKeyId+ `Prelude.seq` Prelude.rnf s3Uri++instance Data.ToJSON OutputDataConfig where+ toJSON OutputDataConfig' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("KmsKeyId" Data..=) Prelude.<$> kmsKeyId,+ Prelude.Just ("S3Uri" Data..= s3Uri)+ ]+ )
+ gen/Amazonka/VoiceId/Types/RegistrationConfig.hs view
@@ -0,0 +1,111 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.Types.RegistrationConfig+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.VoiceId.Types.RegistrationConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.VoiceId.Types.DuplicateRegistrationAction++-- | 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.+--+-- /See:/ 'newRegistrationConfig' smart constructor.+data RegistrationConfig = RegistrationConfig'+ { -- | 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 :: Prelude.Maybe DuplicateRegistrationAction,+ -- | The minimum similarity score between the new and old fraudsters in order+ -- to consider the new fraudster a duplicate.+ fraudsterSimilarityThreshold :: Prelude.Maybe Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RegistrationConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'duplicateRegistrationAction', 'registrationConfig_duplicateRegistrationAction' - 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.+--+-- 'fraudsterSimilarityThreshold', 'registrationConfig_fraudsterSimilarityThreshold' - The minimum similarity score between the new and old fraudsters in order+-- to consider the new fraudster a duplicate.+newRegistrationConfig ::+ RegistrationConfig+newRegistrationConfig =+ RegistrationConfig'+ { duplicateRegistrationAction =+ Prelude.Nothing,+ fraudsterSimilarityThreshold = Prelude.Nothing+ }++-- | 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.+registrationConfig_duplicateRegistrationAction :: Lens.Lens' RegistrationConfig (Prelude.Maybe DuplicateRegistrationAction)+registrationConfig_duplicateRegistrationAction = Lens.lens (\RegistrationConfig' {duplicateRegistrationAction} -> duplicateRegistrationAction) (\s@RegistrationConfig' {} a -> s {duplicateRegistrationAction = a} :: RegistrationConfig)++-- | The minimum similarity score between the new and old fraudsters in order+-- to consider the new fraudster a duplicate.+registrationConfig_fraudsterSimilarityThreshold :: Lens.Lens' RegistrationConfig (Prelude.Maybe Prelude.Natural)+registrationConfig_fraudsterSimilarityThreshold = Lens.lens (\RegistrationConfig' {fraudsterSimilarityThreshold} -> fraudsterSimilarityThreshold) (\s@RegistrationConfig' {} a -> s {fraudsterSimilarityThreshold = a} :: RegistrationConfig)++instance Data.FromJSON RegistrationConfig where+ parseJSON =+ Data.withObject+ "RegistrationConfig"+ ( \x ->+ RegistrationConfig'+ Prelude.<$> (x Data..:? "DuplicateRegistrationAction")+ Prelude.<*> (x Data..:? "FraudsterSimilarityThreshold")+ )++instance Prelude.Hashable RegistrationConfig where+ hashWithSalt _salt RegistrationConfig' {..} =+ _salt+ `Prelude.hashWithSalt` duplicateRegistrationAction+ `Prelude.hashWithSalt` fraudsterSimilarityThreshold++instance Prelude.NFData RegistrationConfig where+ rnf RegistrationConfig' {..} =+ Prelude.rnf duplicateRegistrationAction+ `Prelude.seq` Prelude.rnf fraudsterSimilarityThreshold++instance Data.ToJSON RegistrationConfig where+ toJSON RegistrationConfig' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("DuplicateRegistrationAction" Data..=)+ Prelude.<$> duplicateRegistrationAction,+ ("FraudsterSimilarityThreshold" Data..=)+ Prelude.<$> fraudsterSimilarityThreshold+ ]+ )
+ gen/Amazonka/VoiceId/Types/ServerSideEncryptionConfiguration.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.Types.ServerSideEncryptionConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.VoiceId.Types.ServerSideEncryptionConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The configuration containing information about the customer managed key+-- used for encrypting customer data.+--+-- /See:/ 'newServerSideEncryptionConfiguration' smart constructor.+data ServerSideEncryptionConfiguration = ServerSideEncryptionConfiguration'+ { -- | The identifier of the KMS key to use to encrypt data stored by Voice ID.+ -- Voice ID doesn\'t support asymmetric customer managed keys.+ kmsKeyId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ServerSideEncryptionConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'kmsKeyId', 'serverSideEncryptionConfiguration_kmsKeyId' - The identifier of the KMS key to use to encrypt data stored by Voice ID.+-- Voice ID doesn\'t support asymmetric customer managed keys.+newServerSideEncryptionConfiguration ::+ -- | 'kmsKeyId'+ Prelude.Text ->+ ServerSideEncryptionConfiguration+newServerSideEncryptionConfiguration pKmsKeyId_ =+ ServerSideEncryptionConfiguration'+ { kmsKeyId =+ pKmsKeyId_+ }++-- | The identifier of the KMS key to use to encrypt data stored by Voice ID.+-- Voice ID doesn\'t support asymmetric customer managed keys.+serverSideEncryptionConfiguration_kmsKeyId :: Lens.Lens' ServerSideEncryptionConfiguration Prelude.Text+serverSideEncryptionConfiguration_kmsKeyId = Lens.lens (\ServerSideEncryptionConfiguration' {kmsKeyId} -> kmsKeyId) (\s@ServerSideEncryptionConfiguration' {} a -> s {kmsKeyId = a} :: ServerSideEncryptionConfiguration)++instance+ Data.FromJSON+ ServerSideEncryptionConfiguration+ where+ parseJSON =+ Data.withObject+ "ServerSideEncryptionConfiguration"+ ( \x ->+ ServerSideEncryptionConfiguration'+ Prelude.<$> (x Data..: "KmsKeyId")+ )++instance+ Prelude.Hashable+ ServerSideEncryptionConfiguration+ where+ hashWithSalt+ _salt+ ServerSideEncryptionConfiguration' {..} =+ _salt `Prelude.hashWithSalt` kmsKeyId++instance+ Prelude.NFData+ ServerSideEncryptionConfiguration+ where+ rnf ServerSideEncryptionConfiguration' {..} =+ Prelude.rnf kmsKeyId++instance+ Data.ToJSON+ ServerSideEncryptionConfiguration+ where+ toJSON ServerSideEncryptionConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("KmsKeyId" Data..= kmsKeyId)]+ )
+ gen/Amazonka/VoiceId/Types/ServerSideEncryptionUpdateDetails.hs view
@@ -0,0 +1,134 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.Types.ServerSideEncryptionUpdateDetails+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.VoiceId.Types.ServerSideEncryptionUpdateDetails where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.VoiceId.Types.ServerSideEncryptionUpdateStatus++-- | 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.+--+-- /See:/ 'newServerSideEncryptionUpdateDetails' smart constructor.+data ServerSideEncryptionUpdateDetails = ServerSideEncryptionUpdateDetails'+ { -- | Message explaining the current UpdateStatus. When the UpdateStatus is+ -- FAILED, this message explains the cause of the failure.+ message :: Prelude.Maybe Prelude.Text,+ -- | The previous KMS key ID the domain was encrypted with, before+ -- ServerSideEncryptionConfiguration was updated to a new KMS key ID.+ oldKmsKeyId :: Prelude.Maybe Prelude.Text,+ -- | 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 :: Prelude.Maybe ServerSideEncryptionUpdateStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ServerSideEncryptionUpdateDetails' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'message', 'serverSideEncryptionUpdateDetails_message' - Message explaining the current UpdateStatus. When the UpdateStatus is+-- FAILED, this message explains the cause of the failure.+--+-- 'oldKmsKeyId', 'serverSideEncryptionUpdateDetails_oldKmsKeyId' - The previous KMS key ID the domain was encrypted with, before+-- ServerSideEncryptionConfiguration was updated to a new KMS key ID.+--+-- 'updateStatus', 'serverSideEncryptionUpdateDetails_updateStatus' - 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.+newServerSideEncryptionUpdateDetails ::+ ServerSideEncryptionUpdateDetails+newServerSideEncryptionUpdateDetails =+ ServerSideEncryptionUpdateDetails'+ { message =+ Prelude.Nothing,+ oldKmsKeyId = Prelude.Nothing,+ updateStatus = Prelude.Nothing+ }++-- | Message explaining the current UpdateStatus. When the UpdateStatus is+-- FAILED, this message explains the cause of the failure.+serverSideEncryptionUpdateDetails_message :: Lens.Lens' ServerSideEncryptionUpdateDetails (Prelude.Maybe Prelude.Text)+serverSideEncryptionUpdateDetails_message = Lens.lens (\ServerSideEncryptionUpdateDetails' {message} -> message) (\s@ServerSideEncryptionUpdateDetails' {} a -> s {message = a} :: ServerSideEncryptionUpdateDetails)++-- | The previous KMS key ID the domain was encrypted with, before+-- ServerSideEncryptionConfiguration was updated to a new KMS key ID.+serverSideEncryptionUpdateDetails_oldKmsKeyId :: Lens.Lens' ServerSideEncryptionUpdateDetails (Prelude.Maybe Prelude.Text)+serverSideEncryptionUpdateDetails_oldKmsKeyId = Lens.lens (\ServerSideEncryptionUpdateDetails' {oldKmsKeyId} -> oldKmsKeyId) (\s@ServerSideEncryptionUpdateDetails' {} a -> s {oldKmsKeyId = a} :: ServerSideEncryptionUpdateDetails)++-- | 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.+serverSideEncryptionUpdateDetails_updateStatus :: Lens.Lens' ServerSideEncryptionUpdateDetails (Prelude.Maybe ServerSideEncryptionUpdateStatus)+serverSideEncryptionUpdateDetails_updateStatus = Lens.lens (\ServerSideEncryptionUpdateDetails' {updateStatus} -> updateStatus) (\s@ServerSideEncryptionUpdateDetails' {} a -> s {updateStatus = a} :: ServerSideEncryptionUpdateDetails)++instance+ Data.FromJSON+ ServerSideEncryptionUpdateDetails+ where+ parseJSON =+ Data.withObject+ "ServerSideEncryptionUpdateDetails"+ ( \x ->+ ServerSideEncryptionUpdateDetails'+ Prelude.<$> (x Data..:? "Message")+ Prelude.<*> (x Data..:? "OldKmsKeyId")+ Prelude.<*> (x Data..:? "UpdateStatus")+ )++instance+ Prelude.Hashable+ ServerSideEncryptionUpdateDetails+ where+ hashWithSalt+ _salt+ ServerSideEncryptionUpdateDetails' {..} =+ _salt+ `Prelude.hashWithSalt` message+ `Prelude.hashWithSalt` oldKmsKeyId+ `Prelude.hashWithSalt` updateStatus++instance+ Prelude.NFData+ ServerSideEncryptionUpdateDetails+ where+ rnf ServerSideEncryptionUpdateDetails' {..} =+ Prelude.rnf message+ `Prelude.seq` Prelude.rnf oldKmsKeyId+ `Prelude.seq` Prelude.rnf updateStatus
+ gen/Amazonka/VoiceId/Types/ServerSideEncryptionUpdateStatus.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.Types.ServerSideEncryptionUpdateStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.VoiceId.Types.ServerSideEncryptionUpdateStatus+ ( ServerSideEncryptionUpdateStatus+ ( ..,+ ServerSideEncryptionUpdateStatus_COMPLETED,+ ServerSideEncryptionUpdateStatus_FAILED,+ ServerSideEncryptionUpdateStatus_IN_PROGRESS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ServerSideEncryptionUpdateStatus = ServerSideEncryptionUpdateStatus'+ { fromServerSideEncryptionUpdateStatus ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern ServerSideEncryptionUpdateStatus_COMPLETED :: ServerSideEncryptionUpdateStatus+pattern ServerSideEncryptionUpdateStatus_COMPLETED = ServerSideEncryptionUpdateStatus' "COMPLETED"++pattern ServerSideEncryptionUpdateStatus_FAILED :: ServerSideEncryptionUpdateStatus+pattern ServerSideEncryptionUpdateStatus_FAILED = ServerSideEncryptionUpdateStatus' "FAILED"++pattern ServerSideEncryptionUpdateStatus_IN_PROGRESS :: ServerSideEncryptionUpdateStatus+pattern ServerSideEncryptionUpdateStatus_IN_PROGRESS = ServerSideEncryptionUpdateStatus' "IN_PROGRESS"++{-# COMPLETE+ ServerSideEncryptionUpdateStatus_COMPLETED,+ ServerSideEncryptionUpdateStatus_FAILED,+ ServerSideEncryptionUpdateStatus_IN_PROGRESS,+ ServerSideEncryptionUpdateStatus'+ #-}
+ gen/Amazonka/VoiceId/Types/Speaker.hs view
@@ -0,0 +1,151 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.Types.Speaker+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.VoiceId.Types.Speaker where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.VoiceId.Types.SpeakerStatus++-- | Contains all the information about a speaker.+--+-- /See:/ 'newSpeaker' smart constructor.+data Speaker = Speaker'+ { -- | A timestamp showing when the speaker is created.+ createdAt :: Prelude.Maybe Data.POSIX,+ -- | The client-provided identifier for the speaker.+ customerSpeakerId :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The identifier of the domain that contains the speaker.+ domainId :: Prelude.Maybe Prelude.Text,+ -- | The service-generated identifier for the speaker.+ generatedSpeakerId :: Prelude.Maybe Prelude.Text,+ -- | The timestamp when the speaker was last accessed for enrollment,+ -- re-enrollment or a successful authentication. This timestamp is accurate+ -- to one hour.+ lastAccessedAt :: Prelude.Maybe Data.POSIX,+ -- | The current status of the speaker.+ status :: Prelude.Maybe SpeakerStatus,+ -- | A timestamp showing the speaker\'s last update.+ updatedAt :: Prelude.Maybe Data.POSIX+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Speaker' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'createdAt', 'speaker_createdAt' - A timestamp showing when the speaker is created.+--+-- 'customerSpeakerId', 'speaker_customerSpeakerId' - The client-provided identifier for the speaker.+--+-- 'domainId', 'speaker_domainId' - The identifier of the domain that contains the speaker.+--+-- 'generatedSpeakerId', 'speaker_generatedSpeakerId' - The service-generated identifier for the speaker.+--+-- 'lastAccessedAt', 'speaker_lastAccessedAt' - The timestamp when the speaker was last accessed for enrollment,+-- re-enrollment or a successful authentication. This timestamp is accurate+-- to one hour.+--+-- 'status', 'speaker_status' - The current status of the speaker.+--+-- 'updatedAt', 'speaker_updatedAt' - A timestamp showing the speaker\'s last update.+newSpeaker ::+ Speaker+newSpeaker =+ Speaker'+ { createdAt = Prelude.Nothing,+ customerSpeakerId = Prelude.Nothing,+ domainId = Prelude.Nothing,+ generatedSpeakerId = Prelude.Nothing,+ lastAccessedAt = Prelude.Nothing,+ status = Prelude.Nothing,+ updatedAt = Prelude.Nothing+ }++-- | A timestamp showing when the speaker is created.+speaker_createdAt :: Lens.Lens' Speaker (Prelude.Maybe Prelude.UTCTime)+speaker_createdAt = Lens.lens (\Speaker' {createdAt} -> createdAt) (\s@Speaker' {} a -> s {createdAt = a} :: Speaker) Prelude.. Lens.mapping Data._Time++-- | The client-provided identifier for the speaker.+speaker_customerSpeakerId :: Lens.Lens' Speaker (Prelude.Maybe Prelude.Text)+speaker_customerSpeakerId = Lens.lens (\Speaker' {customerSpeakerId} -> customerSpeakerId) (\s@Speaker' {} a -> s {customerSpeakerId = a} :: Speaker) Prelude.. Lens.mapping Data._Sensitive++-- | The identifier of the domain that contains the speaker.+speaker_domainId :: Lens.Lens' Speaker (Prelude.Maybe Prelude.Text)+speaker_domainId = Lens.lens (\Speaker' {domainId} -> domainId) (\s@Speaker' {} a -> s {domainId = a} :: Speaker)++-- | The service-generated identifier for the speaker.+speaker_generatedSpeakerId :: Lens.Lens' Speaker (Prelude.Maybe Prelude.Text)+speaker_generatedSpeakerId = Lens.lens (\Speaker' {generatedSpeakerId} -> generatedSpeakerId) (\s@Speaker' {} a -> s {generatedSpeakerId = a} :: Speaker)++-- | The timestamp when the speaker was last accessed for enrollment,+-- re-enrollment or a successful authentication. This timestamp is accurate+-- to one hour.+speaker_lastAccessedAt :: Lens.Lens' Speaker (Prelude.Maybe Prelude.UTCTime)+speaker_lastAccessedAt = Lens.lens (\Speaker' {lastAccessedAt} -> lastAccessedAt) (\s@Speaker' {} a -> s {lastAccessedAt = a} :: Speaker) Prelude.. Lens.mapping Data._Time++-- | The current status of the speaker.+speaker_status :: Lens.Lens' Speaker (Prelude.Maybe SpeakerStatus)+speaker_status = Lens.lens (\Speaker' {status} -> status) (\s@Speaker' {} a -> s {status = a} :: Speaker)++-- | A timestamp showing the speaker\'s last update.+speaker_updatedAt :: Lens.Lens' Speaker (Prelude.Maybe Prelude.UTCTime)+speaker_updatedAt = Lens.lens (\Speaker' {updatedAt} -> updatedAt) (\s@Speaker' {} a -> s {updatedAt = a} :: Speaker) Prelude.. Lens.mapping Data._Time++instance Data.FromJSON Speaker where+ parseJSON =+ Data.withObject+ "Speaker"+ ( \x ->+ Speaker'+ Prelude.<$> (x Data..:? "CreatedAt")+ Prelude.<*> (x Data..:? "CustomerSpeakerId")+ Prelude.<*> (x Data..:? "DomainId")+ Prelude.<*> (x Data..:? "GeneratedSpeakerId")+ Prelude.<*> (x Data..:? "LastAccessedAt")+ Prelude.<*> (x Data..:? "Status")+ Prelude.<*> (x Data..:? "UpdatedAt")+ )++instance Prelude.Hashable Speaker where+ hashWithSalt _salt Speaker' {..} =+ _salt+ `Prelude.hashWithSalt` createdAt+ `Prelude.hashWithSalt` customerSpeakerId+ `Prelude.hashWithSalt` domainId+ `Prelude.hashWithSalt` generatedSpeakerId+ `Prelude.hashWithSalt` lastAccessedAt+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` updatedAt++instance Prelude.NFData Speaker where+ rnf Speaker' {..} =+ Prelude.rnf createdAt+ `Prelude.seq` Prelude.rnf customerSpeakerId+ `Prelude.seq` Prelude.rnf domainId+ `Prelude.seq` Prelude.rnf generatedSpeakerId+ `Prelude.seq` Prelude.rnf lastAccessedAt+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf updatedAt
+ gen/Amazonka/VoiceId/Types/SpeakerEnrollmentJob.hs view
@@ -0,0 +1,243 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.Types.SpeakerEnrollmentJob+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.VoiceId.Types.SpeakerEnrollmentJob where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.VoiceId.Types.EnrollmentConfig+import Amazonka.VoiceId.Types.FailureDetails+import Amazonka.VoiceId.Types.InputDataConfig+import Amazonka.VoiceId.Types.JobProgress+import Amazonka.VoiceId.Types.OutputDataConfig+import Amazonka.VoiceId.Types.SpeakerEnrollmentJobStatus++-- | Contains all the information about a speaker enrollment job.+--+-- /See:/ 'newSpeakerEnrollmentJob' smart constructor.+data SpeakerEnrollmentJob = SpeakerEnrollmentJob'+ { -- | A timestamp showing the creation of the speaker enrollment job.+ createdAt :: Prelude.Maybe Data.POSIX,+ -- | 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 :: Prelude.Maybe Prelude.Text,+ -- | The identifier of the domain that contains the speaker enrollment job.+ domainId :: Prelude.Maybe Prelude.Text,+ -- | A timestamp showing when the speaker enrollment job ended.+ endedAt :: Prelude.Maybe Data.POSIX,+ -- | The configuration that defines the action to take when the speaker is+ -- already enrolled in Voice ID, and the @FraudDetectionConfig@ to use.+ enrollmentConfig :: Prelude.Maybe 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 :: Prelude.Maybe FailureDetails,+ -- | The input data config containing an S3 URI for the input manifest file+ -- that contains the list of speaker enrollment job requests.+ inputDataConfig :: Prelude.Maybe InputDataConfig,+ -- | The service-generated identifier for the speaker enrollment job.+ jobId :: Prelude.Maybe Prelude.Text,+ -- | The client-provided name for the speaker enrollment job.+ jobName :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | Provides details on job progress. This field shows the completed+ -- percentage of registration requests listed in the input file.+ jobProgress :: Prelude.Maybe JobProgress,+ -- | The current status of the speaker enrollment job.+ jobStatus :: Prelude.Maybe 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 :: Prelude.Maybe OutputDataConfig+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SpeakerEnrollmentJob' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'createdAt', 'speakerEnrollmentJob_createdAt' - A timestamp showing the creation of the speaker enrollment job.+--+-- 'dataAccessRoleArn', 'speakerEnrollmentJob_dataAccessRoleArn' - 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.+--+-- 'domainId', 'speakerEnrollmentJob_domainId' - The identifier of the domain that contains the speaker enrollment job.+--+-- 'endedAt', 'speakerEnrollmentJob_endedAt' - A timestamp showing when the speaker enrollment job ended.+--+-- 'enrollmentConfig', 'speakerEnrollmentJob_enrollmentConfig' - The configuration that defines the action to take when the speaker is+-- already enrolled in Voice ID, and the @FraudDetectionConfig@ to use.+--+-- 'failureDetails', 'speakerEnrollmentJob_failureDetails' - 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.+--+-- 'inputDataConfig', 'speakerEnrollmentJob_inputDataConfig' - The input data config containing an S3 URI for the input manifest file+-- that contains the list of speaker enrollment job requests.+--+-- 'jobId', 'speakerEnrollmentJob_jobId' - The service-generated identifier for the speaker enrollment job.+--+-- 'jobName', 'speakerEnrollmentJob_jobName' - The client-provided name for the speaker enrollment job.+--+-- 'jobProgress', 'speakerEnrollmentJob_jobProgress' - Provides details on job progress. This field shows the completed+-- percentage of registration requests listed in the input file.+--+-- 'jobStatus', 'speakerEnrollmentJob_jobStatus' - The current status of the speaker enrollment job.+--+-- 'outputDataConfig', 'speakerEnrollmentJob_outputDataConfig' - 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.+newSpeakerEnrollmentJob ::+ SpeakerEnrollmentJob+newSpeakerEnrollmentJob =+ SpeakerEnrollmentJob'+ { createdAt = Prelude.Nothing,+ dataAccessRoleArn = Prelude.Nothing,+ domainId = Prelude.Nothing,+ endedAt = Prelude.Nothing,+ enrollmentConfig = Prelude.Nothing,+ failureDetails = Prelude.Nothing,+ inputDataConfig = Prelude.Nothing,+ jobId = Prelude.Nothing,+ jobName = Prelude.Nothing,+ jobProgress = Prelude.Nothing,+ jobStatus = Prelude.Nothing,+ outputDataConfig = Prelude.Nothing+ }++-- | A timestamp showing the creation of the speaker enrollment job.+speakerEnrollmentJob_createdAt :: Lens.Lens' SpeakerEnrollmentJob (Prelude.Maybe Prelude.UTCTime)+speakerEnrollmentJob_createdAt = Lens.lens (\SpeakerEnrollmentJob' {createdAt} -> createdAt) (\s@SpeakerEnrollmentJob' {} a -> s {createdAt = a} :: SpeakerEnrollmentJob) Prelude.. Lens.mapping Data._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.+speakerEnrollmentJob_dataAccessRoleArn :: Lens.Lens' SpeakerEnrollmentJob (Prelude.Maybe Prelude.Text)+speakerEnrollmentJob_dataAccessRoleArn = Lens.lens (\SpeakerEnrollmentJob' {dataAccessRoleArn} -> dataAccessRoleArn) (\s@SpeakerEnrollmentJob' {} a -> s {dataAccessRoleArn = a} :: SpeakerEnrollmentJob)++-- | The identifier of the domain that contains the speaker enrollment job.+speakerEnrollmentJob_domainId :: Lens.Lens' SpeakerEnrollmentJob (Prelude.Maybe Prelude.Text)+speakerEnrollmentJob_domainId = Lens.lens (\SpeakerEnrollmentJob' {domainId} -> domainId) (\s@SpeakerEnrollmentJob' {} a -> s {domainId = a} :: SpeakerEnrollmentJob)++-- | A timestamp showing when the speaker enrollment job ended.+speakerEnrollmentJob_endedAt :: Lens.Lens' SpeakerEnrollmentJob (Prelude.Maybe Prelude.UTCTime)+speakerEnrollmentJob_endedAt = Lens.lens (\SpeakerEnrollmentJob' {endedAt} -> endedAt) (\s@SpeakerEnrollmentJob' {} a -> s {endedAt = a} :: SpeakerEnrollmentJob) Prelude.. Lens.mapping Data._Time++-- | The configuration that defines the action to take when the speaker is+-- already enrolled in Voice ID, and the @FraudDetectionConfig@ to use.+speakerEnrollmentJob_enrollmentConfig :: Lens.Lens' SpeakerEnrollmentJob (Prelude.Maybe EnrollmentConfig)+speakerEnrollmentJob_enrollmentConfig = Lens.lens (\SpeakerEnrollmentJob' {enrollmentConfig} -> enrollmentConfig) (\s@SpeakerEnrollmentJob' {} a -> s {enrollmentConfig = a} :: SpeakerEnrollmentJob)++-- | 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.+speakerEnrollmentJob_failureDetails :: Lens.Lens' SpeakerEnrollmentJob (Prelude.Maybe FailureDetails)+speakerEnrollmentJob_failureDetails = Lens.lens (\SpeakerEnrollmentJob' {failureDetails} -> failureDetails) (\s@SpeakerEnrollmentJob' {} a -> s {failureDetails = a} :: SpeakerEnrollmentJob)++-- | The input data config containing an S3 URI for the input manifest file+-- that contains the list of speaker enrollment job requests.+speakerEnrollmentJob_inputDataConfig :: Lens.Lens' SpeakerEnrollmentJob (Prelude.Maybe InputDataConfig)+speakerEnrollmentJob_inputDataConfig = Lens.lens (\SpeakerEnrollmentJob' {inputDataConfig} -> inputDataConfig) (\s@SpeakerEnrollmentJob' {} a -> s {inputDataConfig = a} :: SpeakerEnrollmentJob)++-- | The service-generated identifier for the speaker enrollment job.+speakerEnrollmentJob_jobId :: Lens.Lens' SpeakerEnrollmentJob (Prelude.Maybe Prelude.Text)+speakerEnrollmentJob_jobId = Lens.lens (\SpeakerEnrollmentJob' {jobId} -> jobId) (\s@SpeakerEnrollmentJob' {} a -> s {jobId = a} :: SpeakerEnrollmentJob)++-- | The client-provided name for the speaker enrollment job.+speakerEnrollmentJob_jobName :: Lens.Lens' SpeakerEnrollmentJob (Prelude.Maybe Prelude.Text)+speakerEnrollmentJob_jobName = Lens.lens (\SpeakerEnrollmentJob' {jobName} -> jobName) (\s@SpeakerEnrollmentJob' {} a -> s {jobName = a} :: SpeakerEnrollmentJob) Prelude.. Lens.mapping Data._Sensitive++-- | Provides details on job progress. This field shows the completed+-- percentage of registration requests listed in the input file.+speakerEnrollmentJob_jobProgress :: Lens.Lens' SpeakerEnrollmentJob (Prelude.Maybe JobProgress)+speakerEnrollmentJob_jobProgress = Lens.lens (\SpeakerEnrollmentJob' {jobProgress} -> jobProgress) (\s@SpeakerEnrollmentJob' {} a -> s {jobProgress = a} :: SpeakerEnrollmentJob)++-- | The current status of the speaker enrollment job.+speakerEnrollmentJob_jobStatus :: Lens.Lens' SpeakerEnrollmentJob (Prelude.Maybe SpeakerEnrollmentJobStatus)+speakerEnrollmentJob_jobStatus = Lens.lens (\SpeakerEnrollmentJob' {jobStatus} -> jobStatus) (\s@SpeakerEnrollmentJob' {} a -> s {jobStatus = a} :: SpeakerEnrollmentJob)++-- | 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.+speakerEnrollmentJob_outputDataConfig :: Lens.Lens' SpeakerEnrollmentJob (Prelude.Maybe OutputDataConfig)+speakerEnrollmentJob_outputDataConfig = Lens.lens (\SpeakerEnrollmentJob' {outputDataConfig} -> outputDataConfig) (\s@SpeakerEnrollmentJob' {} a -> s {outputDataConfig = a} :: SpeakerEnrollmentJob)++instance Data.FromJSON SpeakerEnrollmentJob where+ parseJSON =+ Data.withObject+ "SpeakerEnrollmentJob"+ ( \x ->+ SpeakerEnrollmentJob'+ Prelude.<$> (x Data..:? "CreatedAt")+ Prelude.<*> (x Data..:? "DataAccessRoleArn")+ Prelude.<*> (x Data..:? "DomainId")+ Prelude.<*> (x Data..:? "EndedAt")+ Prelude.<*> (x Data..:? "EnrollmentConfig")+ Prelude.<*> (x Data..:? "FailureDetails")+ Prelude.<*> (x Data..:? "InputDataConfig")+ Prelude.<*> (x Data..:? "JobId")+ Prelude.<*> (x Data..:? "JobName")+ Prelude.<*> (x Data..:? "JobProgress")+ Prelude.<*> (x Data..:? "JobStatus")+ Prelude.<*> (x Data..:? "OutputDataConfig")+ )++instance Prelude.Hashable SpeakerEnrollmentJob where+ hashWithSalt _salt SpeakerEnrollmentJob' {..} =+ _salt+ `Prelude.hashWithSalt` createdAt+ `Prelude.hashWithSalt` dataAccessRoleArn+ `Prelude.hashWithSalt` domainId+ `Prelude.hashWithSalt` endedAt+ `Prelude.hashWithSalt` enrollmentConfig+ `Prelude.hashWithSalt` failureDetails+ `Prelude.hashWithSalt` inputDataConfig+ `Prelude.hashWithSalt` jobId+ `Prelude.hashWithSalt` jobName+ `Prelude.hashWithSalt` jobProgress+ `Prelude.hashWithSalt` jobStatus+ `Prelude.hashWithSalt` outputDataConfig++instance Prelude.NFData SpeakerEnrollmentJob where+ rnf SpeakerEnrollmentJob' {..} =+ Prelude.rnf createdAt+ `Prelude.seq` Prelude.rnf dataAccessRoleArn+ `Prelude.seq` Prelude.rnf domainId+ `Prelude.seq` Prelude.rnf endedAt+ `Prelude.seq` Prelude.rnf enrollmentConfig+ `Prelude.seq` Prelude.rnf failureDetails+ `Prelude.seq` Prelude.rnf inputDataConfig+ `Prelude.seq` Prelude.rnf jobId+ `Prelude.seq` Prelude.rnf jobName+ `Prelude.seq` Prelude.rnf jobProgress+ `Prelude.seq` Prelude.rnf jobStatus+ `Prelude.seq` Prelude.rnf outputDataConfig
+ gen/Amazonka/VoiceId/Types/SpeakerEnrollmentJobStatus.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.Types.SpeakerEnrollmentJobStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.VoiceId.Types.SpeakerEnrollmentJobStatus+ ( SpeakerEnrollmentJobStatus+ ( ..,+ SpeakerEnrollmentJobStatus_COMPLETED,+ SpeakerEnrollmentJobStatus_COMPLETED_WITH_ERRORS,+ SpeakerEnrollmentJobStatus_FAILED,+ SpeakerEnrollmentJobStatus_IN_PROGRESS,+ SpeakerEnrollmentJobStatus_SUBMITTED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SpeakerEnrollmentJobStatus = SpeakerEnrollmentJobStatus'+ { fromSpeakerEnrollmentJobStatus ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern SpeakerEnrollmentJobStatus_COMPLETED :: SpeakerEnrollmentJobStatus+pattern SpeakerEnrollmentJobStatus_COMPLETED = SpeakerEnrollmentJobStatus' "COMPLETED"++pattern SpeakerEnrollmentJobStatus_COMPLETED_WITH_ERRORS :: SpeakerEnrollmentJobStatus+pattern SpeakerEnrollmentJobStatus_COMPLETED_WITH_ERRORS = SpeakerEnrollmentJobStatus' "COMPLETED_WITH_ERRORS"++pattern SpeakerEnrollmentJobStatus_FAILED :: SpeakerEnrollmentJobStatus+pattern SpeakerEnrollmentJobStatus_FAILED = SpeakerEnrollmentJobStatus' "FAILED"++pattern SpeakerEnrollmentJobStatus_IN_PROGRESS :: SpeakerEnrollmentJobStatus+pattern SpeakerEnrollmentJobStatus_IN_PROGRESS = SpeakerEnrollmentJobStatus' "IN_PROGRESS"++pattern SpeakerEnrollmentJobStatus_SUBMITTED :: SpeakerEnrollmentJobStatus+pattern SpeakerEnrollmentJobStatus_SUBMITTED = SpeakerEnrollmentJobStatus' "SUBMITTED"++{-# COMPLETE+ SpeakerEnrollmentJobStatus_COMPLETED,+ SpeakerEnrollmentJobStatus_COMPLETED_WITH_ERRORS,+ SpeakerEnrollmentJobStatus_FAILED,+ SpeakerEnrollmentJobStatus_IN_PROGRESS,+ SpeakerEnrollmentJobStatus_SUBMITTED,+ SpeakerEnrollmentJobStatus'+ #-}
+ gen/Amazonka/VoiceId/Types/SpeakerEnrollmentJobSummary.hs view
@@ -0,0 +1,175 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.Types.SpeakerEnrollmentJobSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.VoiceId.Types.SpeakerEnrollmentJobSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.VoiceId.Types.FailureDetails+import Amazonka.VoiceId.Types.JobProgress+import Amazonka.VoiceId.Types.SpeakerEnrollmentJobStatus++-- | Contains a summary of information about a speaker enrollment job.+--+-- /See:/ 'newSpeakerEnrollmentJobSummary' smart constructor.+data SpeakerEnrollmentJobSummary = SpeakerEnrollmentJobSummary'+ { -- | A timestamp showing the creation time of the speaker enrollment job.+ createdAt :: Prelude.Maybe Data.POSIX,+ -- | The identifier of the domain that contains the speaker enrollment job.+ domainId :: Prelude.Maybe Prelude.Text,+ -- | A timestamp showing when the speaker enrollment job ended.+ endedAt :: Prelude.Maybe Data.POSIX,+ -- | 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 :: Prelude.Maybe FailureDetails,+ -- | The service-generated identifier for the speaker enrollment job.+ jobId :: Prelude.Maybe Prelude.Text,+ -- | The client-provided name for the speaker enrollment job.+ jobName :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | Provides details regarding job progress. This field shows the completed+ -- percentage of enrollment requests listed in the input file.+ jobProgress :: Prelude.Maybe JobProgress,+ -- | The current status of the speaker enrollment job.+ jobStatus :: Prelude.Maybe SpeakerEnrollmentJobStatus+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SpeakerEnrollmentJobSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'createdAt', 'speakerEnrollmentJobSummary_createdAt' - A timestamp showing the creation time of the speaker enrollment job.+--+-- 'domainId', 'speakerEnrollmentJobSummary_domainId' - The identifier of the domain that contains the speaker enrollment job.+--+-- 'endedAt', 'speakerEnrollmentJobSummary_endedAt' - A timestamp showing when the speaker enrollment job ended.+--+-- 'failureDetails', 'speakerEnrollmentJobSummary_failureDetails' - 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.+--+-- 'jobId', 'speakerEnrollmentJobSummary_jobId' - The service-generated identifier for the speaker enrollment job.+--+-- 'jobName', 'speakerEnrollmentJobSummary_jobName' - The client-provided name for the speaker enrollment job.+--+-- 'jobProgress', 'speakerEnrollmentJobSummary_jobProgress' - Provides details regarding job progress. This field shows the completed+-- percentage of enrollment requests listed in the input file.+--+-- 'jobStatus', 'speakerEnrollmentJobSummary_jobStatus' - The current status of the speaker enrollment job.+newSpeakerEnrollmentJobSummary ::+ SpeakerEnrollmentJobSummary+newSpeakerEnrollmentJobSummary =+ SpeakerEnrollmentJobSummary'+ { createdAt =+ Prelude.Nothing,+ domainId = Prelude.Nothing,+ endedAt = Prelude.Nothing,+ failureDetails = Prelude.Nothing,+ jobId = Prelude.Nothing,+ jobName = Prelude.Nothing,+ jobProgress = Prelude.Nothing,+ jobStatus = Prelude.Nothing+ }++-- | A timestamp showing the creation time of the speaker enrollment job.+speakerEnrollmentJobSummary_createdAt :: Lens.Lens' SpeakerEnrollmentJobSummary (Prelude.Maybe Prelude.UTCTime)+speakerEnrollmentJobSummary_createdAt = Lens.lens (\SpeakerEnrollmentJobSummary' {createdAt} -> createdAt) (\s@SpeakerEnrollmentJobSummary' {} a -> s {createdAt = a} :: SpeakerEnrollmentJobSummary) Prelude.. Lens.mapping Data._Time++-- | The identifier of the domain that contains the speaker enrollment job.+speakerEnrollmentJobSummary_domainId :: Lens.Lens' SpeakerEnrollmentJobSummary (Prelude.Maybe Prelude.Text)+speakerEnrollmentJobSummary_domainId = Lens.lens (\SpeakerEnrollmentJobSummary' {domainId} -> domainId) (\s@SpeakerEnrollmentJobSummary' {} a -> s {domainId = a} :: SpeakerEnrollmentJobSummary)++-- | A timestamp showing when the speaker enrollment job ended.+speakerEnrollmentJobSummary_endedAt :: Lens.Lens' SpeakerEnrollmentJobSummary (Prelude.Maybe Prelude.UTCTime)+speakerEnrollmentJobSummary_endedAt = Lens.lens (\SpeakerEnrollmentJobSummary' {endedAt} -> endedAt) (\s@SpeakerEnrollmentJobSummary' {} a -> s {endedAt = a} :: SpeakerEnrollmentJobSummary) Prelude.. Lens.mapping Data._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.+speakerEnrollmentJobSummary_failureDetails :: Lens.Lens' SpeakerEnrollmentJobSummary (Prelude.Maybe FailureDetails)+speakerEnrollmentJobSummary_failureDetails = Lens.lens (\SpeakerEnrollmentJobSummary' {failureDetails} -> failureDetails) (\s@SpeakerEnrollmentJobSummary' {} a -> s {failureDetails = a} :: SpeakerEnrollmentJobSummary)++-- | The service-generated identifier for the speaker enrollment job.+speakerEnrollmentJobSummary_jobId :: Lens.Lens' SpeakerEnrollmentJobSummary (Prelude.Maybe Prelude.Text)+speakerEnrollmentJobSummary_jobId = Lens.lens (\SpeakerEnrollmentJobSummary' {jobId} -> jobId) (\s@SpeakerEnrollmentJobSummary' {} a -> s {jobId = a} :: SpeakerEnrollmentJobSummary)++-- | The client-provided name for the speaker enrollment job.+speakerEnrollmentJobSummary_jobName :: Lens.Lens' SpeakerEnrollmentJobSummary (Prelude.Maybe Prelude.Text)+speakerEnrollmentJobSummary_jobName = Lens.lens (\SpeakerEnrollmentJobSummary' {jobName} -> jobName) (\s@SpeakerEnrollmentJobSummary' {} a -> s {jobName = a} :: SpeakerEnrollmentJobSummary) Prelude.. Lens.mapping Data._Sensitive++-- | Provides details regarding job progress. This field shows the completed+-- percentage of enrollment requests listed in the input file.+speakerEnrollmentJobSummary_jobProgress :: Lens.Lens' SpeakerEnrollmentJobSummary (Prelude.Maybe JobProgress)+speakerEnrollmentJobSummary_jobProgress = Lens.lens (\SpeakerEnrollmentJobSummary' {jobProgress} -> jobProgress) (\s@SpeakerEnrollmentJobSummary' {} a -> s {jobProgress = a} :: SpeakerEnrollmentJobSummary)++-- | The current status of the speaker enrollment job.+speakerEnrollmentJobSummary_jobStatus :: Lens.Lens' SpeakerEnrollmentJobSummary (Prelude.Maybe SpeakerEnrollmentJobStatus)+speakerEnrollmentJobSummary_jobStatus = Lens.lens (\SpeakerEnrollmentJobSummary' {jobStatus} -> jobStatus) (\s@SpeakerEnrollmentJobSummary' {} a -> s {jobStatus = a} :: SpeakerEnrollmentJobSummary)++instance Data.FromJSON SpeakerEnrollmentJobSummary where+ parseJSON =+ Data.withObject+ "SpeakerEnrollmentJobSummary"+ ( \x ->+ SpeakerEnrollmentJobSummary'+ Prelude.<$> (x Data..:? "CreatedAt")+ Prelude.<*> (x Data..:? "DomainId")+ Prelude.<*> (x Data..:? "EndedAt")+ Prelude.<*> (x Data..:? "FailureDetails")+ Prelude.<*> (x Data..:? "JobId")+ Prelude.<*> (x Data..:? "JobName")+ Prelude.<*> (x Data..:? "JobProgress")+ Prelude.<*> (x Data..:? "JobStatus")+ )++instance Prelude.Hashable SpeakerEnrollmentJobSummary where+ hashWithSalt _salt SpeakerEnrollmentJobSummary' {..} =+ _salt+ `Prelude.hashWithSalt` createdAt+ `Prelude.hashWithSalt` domainId+ `Prelude.hashWithSalt` endedAt+ `Prelude.hashWithSalt` failureDetails+ `Prelude.hashWithSalt` jobId+ `Prelude.hashWithSalt` jobName+ `Prelude.hashWithSalt` jobProgress+ `Prelude.hashWithSalt` jobStatus++instance Prelude.NFData SpeakerEnrollmentJobSummary where+ rnf SpeakerEnrollmentJobSummary' {..} =+ Prelude.rnf createdAt+ `Prelude.seq` Prelude.rnf domainId+ `Prelude.seq` Prelude.rnf endedAt+ `Prelude.seq` Prelude.rnf failureDetails+ `Prelude.seq` Prelude.rnf jobId+ `Prelude.seq` Prelude.rnf jobName+ `Prelude.seq` Prelude.rnf jobProgress+ `Prelude.seq` Prelude.rnf jobStatus
+ gen/Amazonka/VoiceId/Types/SpeakerStatus.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.Types.SpeakerStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.VoiceId.Types.SpeakerStatus+ ( SpeakerStatus+ ( ..,+ SpeakerStatus_ENROLLED,+ SpeakerStatus_EXPIRED,+ SpeakerStatus_OPTED_OUT,+ SpeakerStatus_PENDING+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SpeakerStatus = SpeakerStatus'+ { fromSpeakerStatus ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern SpeakerStatus_ENROLLED :: SpeakerStatus+pattern SpeakerStatus_ENROLLED = SpeakerStatus' "ENROLLED"++pattern SpeakerStatus_EXPIRED :: SpeakerStatus+pattern SpeakerStatus_EXPIRED = SpeakerStatus' "EXPIRED"++pattern SpeakerStatus_OPTED_OUT :: SpeakerStatus+pattern SpeakerStatus_OPTED_OUT = SpeakerStatus' "OPTED_OUT"++pattern SpeakerStatus_PENDING :: SpeakerStatus+pattern SpeakerStatus_PENDING = SpeakerStatus' "PENDING"++{-# COMPLETE+ SpeakerStatus_ENROLLED,+ SpeakerStatus_EXPIRED,+ SpeakerStatus_OPTED_OUT,+ SpeakerStatus_PENDING,+ SpeakerStatus'+ #-}
+ gen/Amazonka/VoiceId/Types/SpeakerSummary.hs view
@@ -0,0 +1,151 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.Types.SpeakerSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.VoiceId.Types.SpeakerSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.VoiceId.Types.SpeakerStatus++-- | Contains a summary of information about a speaker.+--+-- /See:/ 'newSpeakerSummary' smart constructor.+data SpeakerSummary = SpeakerSummary'+ { -- | A timestamp showing the speaker\'s creation time.+ createdAt :: Prelude.Maybe Data.POSIX,+ -- | The client-provided identifier for the speaker.+ customerSpeakerId :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The identifier of the domain that contains the speaker.+ domainId :: Prelude.Maybe Prelude.Text,+ -- | The service-generated identifier for the speaker.+ generatedSpeakerId :: Prelude.Maybe Prelude.Text,+ -- | The timestamp when the speaker was last accessed for enrollment,+ -- re-enrollment or a successful authentication. This timestamp is accurate+ -- to one hour.+ lastAccessedAt :: Prelude.Maybe Data.POSIX,+ -- | The current status of the speaker.+ status :: Prelude.Maybe SpeakerStatus,+ -- | A timestamp showing the speaker\'s last update.+ updatedAt :: Prelude.Maybe Data.POSIX+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SpeakerSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'createdAt', 'speakerSummary_createdAt' - A timestamp showing the speaker\'s creation time.+--+-- 'customerSpeakerId', 'speakerSummary_customerSpeakerId' - The client-provided identifier for the speaker.+--+-- 'domainId', 'speakerSummary_domainId' - The identifier of the domain that contains the speaker.+--+-- 'generatedSpeakerId', 'speakerSummary_generatedSpeakerId' - The service-generated identifier for the speaker.+--+-- 'lastAccessedAt', 'speakerSummary_lastAccessedAt' - The timestamp when the speaker was last accessed for enrollment,+-- re-enrollment or a successful authentication. This timestamp is accurate+-- to one hour.+--+-- 'status', 'speakerSummary_status' - The current status of the speaker.+--+-- 'updatedAt', 'speakerSummary_updatedAt' - A timestamp showing the speaker\'s last update.+newSpeakerSummary ::+ SpeakerSummary+newSpeakerSummary =+ SpeakerSummary'+ { createdAt = Prelude.Nothing,+ customerSpeakerId = Prelude.Nothing,+ domainId = Prelude.Nothing,+ generatedSpeakerId = Prelude.Nothing,+ lastAccessedAt = Prelude.Nothing,+ status = Prelude.Nothing,+ updatedAt = Prelude.Nothing+ }++-- | A timestamp showing the speaker\'s creation time.+speakerSummary_createdAt :: Lens.Lens' SpeakerSummary (Prelude.Maybe Prelude.UTCTime)+speakerSummary_createdAt = Lens.lens (\SpeakerSummary' {createdAt} -> createdAt) (\s@SpeakerSummary' {} a -> s {createdAt = a} :: SpeakerSummary) Prelude.. Lens.mapping Data._Time++-- | The client-provided identifier for the speaker.+speakerSummary_customerSpeakerId :: Lens.Lens' SpeakerSummary (Prelude.Maybe Prelude.Text)+speakerSummary_customerSpeakerId = Lens.lens (\SpeakerSummary' {customerSpeakerId} -> customerSpeakerId) (\s@SpeakerSummary' {} a -> s {customerSpeakerId = a} :: SpeakerSummary) Prelude.. Lens.mapping Data._Sensitive++-- | The identifier of the domain that contains the speaker.+speakerSummary_domainId :: Lens.Lens' SpeakerSummary (Prelude.Maybe Prelude.Text)+speakerSummary_domainId = Lens.lens (\SpeakerSummary' {domainId} -> domainId) (\s@SpeakerSummary' {} a -> s {domainId = a} :: SpeakerSummary)++-- | The service-generated identifier for the speaker.+speakerSummary_generatedSpeakerId :: Lens.Lens' SpeakerSummary (Prelude.Maybe Prelude.Text)+speakerSummary_generatedSpeakerId = Lens.lens (\SpeakerSummary' {generatedSpeakerId} -> generatedSpeakerId) (\s@SpeakerSummary' {} a -> s {generatedSpeakerId = a} :: SpeakerSummary)++-- | The timestamp when the speaker was last accessed for enrollment,+-- re-enrollment or a successful authentication. This timestamp is accurate+-- to one hour.+speakerSummary_lastAccessedAt :: Lens.Lens' SpeakerSummary (Prelude.Maybe Prelude.UTCTime)+speakerSummary_lastAccessedAt = Lens.lens (\SpeakerSummary' {lastAccessedAt} -> lastAccessedAt) (\s@SpeakerSummary' {} a -> s {lastAccessedAt = a} :: SpeakerSummary) Prelude.. Lens.mapping Data._Time++-- | The current status of the speaker.+speakerSummary_status :: Lens.Lens' SpeakerSummary (Prelude.Maybe SpeakerStatus)+speakerSummary_status = Lens.lens (\SpeakerSummary' {status} -> status) (\s@SpeakerSummary' {} a -> s {status = a} :: SpeakerSummary)++-- | A timestamp showing the speaker\'s last update.+speakerSummary_updatedAt :: Lens.Lens' SpeakerSummary (Prelude.Maybe Prelude.UTCTime)+speakerSummary_updatedAt = Lens.lens (\SpeakerSummary' {updatedAt} -> updatedAt) (\s@SpeakerSummary' {} a -> s {updatedAt = a} :: SpeakerSummary) Prelude.. Lens.mapping Data._Time++instance Data.FromJSON SpeakerSummary where+ parseJSON =+ Data.withObject+ "SpeakerSummary"+ ( \x ->+ SpeakerSummary'+ Prelude.<$> (x Data..:? "CreatedAt")+ Prelude.<*> (x Data..:? "CustomerSpeakerId")+ Prelude.<*> (x Data..:? "DomainId")+ Prelude.<*> (x Data..:? "GeneratedSpeakerId")+ Prelude.<*> (x Data..:? "LastAccessedAt")+ Prelude.<*> (x Data..:? "Status")+ Prelude.<*> (x Data..:? "UpdatedAt")+ )++instance Prelude.Hashable SpeakerSummary where+ hashWithSalt _salt SpeakerSummary' {..} =+ _salt+ `Prelude.hashWithSalt` createdAt+ `Prelude.hashWithSalt` customerSpeakerId+ `Prelude.hashWithSalt` domainId+ `Prelude.hashWithSalt` generatedSpeakerId+ `Prelude.hashWithSalt` lastAccessedAt+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` updatedAt++instance Prelude.NFData SpeakerSummary where+ rnf SpeakerSummary' {..} =+ Prelude.rnf createdAt+ `Prelude.seq` Prelude.rnf customerSpeakerId+ `Prelude.seq` Prelude.rnf domainId+ `Prelude.seq` Prelude.rnf generatedSpeakerId+ `Prelude.seq` Prelude.rnf lastAccessedAt+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf updatedAt
+ gen/Amazonka/VoiceId/Types/StreamingStatus.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.Types.StreamingStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.VoiceId.Types.StreamingStatus+ ( StreamingStatus+ ( ..,+ StreamingStatus_ENDED,+ StreamingStatus_ONGOING,+ StreamingStatus_PENDING_CONFIGURATION+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype StreamingStatus = StreamingStatus'+ { fromStreamingStatus ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern StreamingStatus_ENDED :: StreamingStatus+pattern StreamingStatus_ENDED = StreamingStatus' "ENDED"++pattern StreamingStatus_ONGOING :: StreamingStatus+pattern StreamingStatus_ONGOING = StreamingStatus' "ONGOING"++pattern StreamingStatus_PENDING_CONFIGURATION :: StreamingStatus+pattern StreamingStatus_PENDING_CONFIGURATION = StreamingStatus' "PENDING_CONFIGURATION"++{-# COMPLETE+ StreamingStatus_ENDED,+ StreamingStatus_ONGOING,+ StreamingStatus_PENDING_CONFIGURATION,+ StreamingStatus'+ #-}
+ gen/Amazonka/VoiceId/Types/Tag.hs view
@@ -0,0 +1,109 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.Types.Tag+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.VoiceId.Types.Tag where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The tags used to organize, track, or control access for this resource.+-- For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.+--+-- /See:/ 'newTag' smart constructor.+data Tag = Tag'+ { -- | 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\'.+ key :: Data.Sensitive Prelude.Text,+ -- | 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\'.+ value :: Data.Sensitive Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Tag' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'key', 'tag_key' - 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\'.+--+-- 'value', 'tag_value' - 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\'.+newTag ::+ -- | 'key'+ Prelude.Text ->+ -- | 'value'+ Prelude.Text ->+ Tag+newTag pKey_ pValue_ =+ Tag'+ { key = Data._Sensitive Lens.# pKey_,+ value = Data._Sensitive Lens.# pValue_+ }++-- | 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\'.+tag_key :: Lens.Lens' Tag Prelude.Text+tag_key = Lens.lens (\Tag' {key} -> key) (\s@Tag' {} a -> s {key = a} :: Tag) Prelude.. Data._Sensitive++-- | 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\'.+tag_value :: Lens.Lens' Tag Prelude.Text+tag_value = Lens.lens (\Tag' {value} -> value) (\s@Tag' {} a -> s {value = a} :: Tag) Prelude.. Data._Sensitive++instance Data.FromJSON Tag where+ parseJSON =+ Data.withObject+ "Tag"+ ( \x ->+ Tag'+ Prelude.<$> (x Data..: "Key")+ Prelude.<*> (x Data..: "Value")+ )++instance Prelude.Hashable Tag where+ hashWithSalt _salt Tag' {..} =+ _salt+ `Prelude.hashWithSalt` key+ `Prelude.hashWithSalt` value++instance Prelude.NFData Tag where+ rnf Tag' {..} =+ Prelude.rnf key `Prelude.seq` Prelude.rnf value++instance Data.ToJSON Tag where+ toJSON Tag' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("Key" Data..= key),+ Prelude.Just ("Value" Data..= value)+ ]+ )
+ gen/Amazonka/VoiceId/Types/VoiceSpoofingRisk.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.Types.VoiceSpoofingRisk+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.VoiceId.Types.VoiceSpoofingRisk where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The details resulting from \'Voice Spoofing Risk\' analysis of the+-- speaker.+--+-- /See:/ 'newVoiceSpoofingRisk' smart constructor.+data VoiceSpoofingRisk = VoiceSpoofingRisk'+ { -- | The score indicating the likelihood of speaker’s voice being spoofed.+ riskScore :: Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VoiceSpoofingRisk' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'riskScore', 'voiceSpoofingRisk_riskScore' - The score indicating the likelihood of speaker’s voice being spoofed.+newVoiceSpoofingRisk ::+ -- | 'riskScore'+ Prelude.Natural ->+ VoiceSpoofingRisk+newVoiceSpoofingRisk pRiskScore_ =+ VoiceSpoofingRisk' {riskScore = pRiskScore_}++-- | The score indicating the likelihood of speaker’s voice being spoofed.+voiceSpoofingRisk_riskScore :: Lens.Lens' VoiceSpoofingRisk Prelude.Natural+voiceSpoofingRisk_riskScore = Lens.lens (\VoiceSpoofingRisk' {riskScore} -> riskScore) (\s@VoiceSpoofingRisk' {} a -> s {riskScore = a} :: VoiceSpoofingRisk)++instance Data.FromJSON VoiceSpoofingRisk where+ parseJSON =+ Data.withObject+ "VoiceSpoofingRisk"+ ( \x ->+ VoiceSpoofingRisk'+ Prelude.<$> (x Data..: "RiskScore")+ )++instance Prelude.Hashable VoiceSpoofingRisk where+ hashWithSalt _salt VoiceSpoofingRisk' {..} =+ _salt `Prelude.hashWithSalt` riskScore++instance Prelude.NFData VoiceSpoofingRisk where+ rnf VoiceSpoofingRisk' {..} = Prelude.rnf riskScore
+ gen/Amazonka/VoiceId/UntagResource.hs view
@@ -0,0 +1,173 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.UntagResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Removes specified tags from a specified Amazon Connect Voice ID+-- resource.+module Amazonka.VoiceId.UntagResource+ ( -- * Creating a Request+ UntagResource (..),+ newUntagResource,++ -- * Request Lenses+ untagResource_resourceArn,+ untagResource_tagKeys,++ -- * Destructuring the Response+ UntagResourceResponse (..),+ newUntagResourceResponse,++ -- * Response Lenses+ untagResourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.VoiceId.Types++-- | /See:/ 'newUntagResource' smart constructor.+data UntagResource = UntagResource'+ { -- | The Amazon Resource Name (ARN) of the Voice ID resource you want to+ -- remove tags from.+ resourceArn :: Prelude.Text,+ -- | The list of tag keys you want to remove from the specified resource.+ tagKeys :: [Data.Sensitive Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'untagResource_resourceArn' - The Amazon Resource Name (ARN) of the Voice ID resource you want to+-- remove tags from.+--+-- 'tagKeys', 'untagResource_tagKeys' - The list of tag keys you want to remove from the specified resource.+newUntagResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ UntagResource+newUntagResource pResourceArn_ =+ UntagResource'+ { resourceArn = pResourceArn_,+ tagKeys = Prelude.mempty+ }++-- | The Amazon Resource Name (ARN) of the Voice ID resource you want to+-- remove tags from.+untagResource_resourceArn :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceArn = Lens.lens (\UntagResource' {resourceArn} -> resourceArn) (\s@UntagResource' {} a -> s {resourceArn = a} :: UntagResource)++-- | The list of tag keys you want to remove from the specified resource.+untagResource_tagKeys :: Lens.Lens' UntagResource [Prelude.Text]+untagResource_tagKeys = Lens.lens (\UntagResource' {tagKeys} -> tagKeys) (\s@UntagResource' {} a -> s {tagKeys = a} :: UntagResource) Prelude.. Lens.coerced++instance Core.AWSRequest UntagResource where+ type+ AWSResponse UntagResource =+ UntagResourceResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ UntagResourceResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UntagResource where+ hashWithSalt _salt UntagResource' {..} =+ _salt+ `Prelude.hashWithSalt` resourceArn+ `Prelude.hashWithSalt` tagKeys++instance Prelude.NFData UntagResource where+ rnf UntagResource' {..} =+ Prelude.rnf resourceArn+ `Prelude.seq` Prelude.rnf tagKeys++instance Data.ToHeaders UntagResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ("VoiceID.UntagResource" :: Prelude.ByteString),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UntagResource where+ toJSON UntagResource' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("ResourceArn" Data..= resourceArn),+ Prelude.Just ("TagKeys" Data..= tagKeys)+ ]+ )++instance Data.ToPath UntagResource where+ toPath = Prelude.const "/"++instance Data.ToQuery UntagResource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUntagResourceResponse' smart constructor.+data UntagResourceResponse = UntagResourceResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'untagResourceResponse_httpStatus' - The response's http status code.+newUntagResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UntagResourceResponse+newUntagResourceResponse pHttpStatus_ =+ UntagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+untagResourceResponse_httpStatus :: Lens.Lens' UntagResourceResponse Prelude.Int+untagResourceResponse_httpStatus = Lens.lens (\UntagResourceResponse' {httpStatus} -> httpStatus) (\s@UntagResourceResponse' {} a -> s {httpStatus = a} :: UntagResourceResponse)++instance Prelude.NFData UntagResourceResponse where+ rnf UntagResourceResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/VoiceId/UpdateDomain.hs view
@@ -0,0 +1,238 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.UpdateDomain+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the specified domain. This API has clobber behavior, and clears+-- and replaces all attributes. If an optional field, such as+-- \'Description\' is not provided, it is removed from the domain.+module Amazonka.VoiceId.UpdateDomain+ ( -- * Creating a Request+ UpdateDomain (..),+ newUpdateDomain,++ -- * Request Lenses+ updateDomain_description,+ updateDomain_domainId,+ updateDomain_name,+ updateDomain_serverSideEncryptionConfiguration,++ -- * Destructuring the Response+ UpdateDomainResponse (..),+ newUpdateDomainResponse,++ -- * Response Lenses+ updateDomainResponse_domain,+ updateDomainResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.VoiceId.Types++-- | /See:/ 'newUpdateDomain' smart constructor.+data UpdateDomain = UpdateDomain'+ { -- | A brief description of the domain.+ description :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The identifier of the domain to be updated.+ domainId :: Prelude.Text,+ -- | The name of the domain.+ name :: Data.Sensitive Prelude.Text,+ -- | The configuration, containing the KMS key identifier, to be used by+ -- Voice ID for the server-side encryption of your data. Changing the+ -- domain\'s associated KMS key immediately triggers an asynchronous+ -- process to remove dependency on the old KMS key, such that the domain\'s+ -- data can only be accessed using the new KMS key. The domain\'s+ -- @ServerSideEncryptionUpdateDetails@ contains the details for this+ -- process.+ serverSideEncryptionConfiguration :: ServerSideEncryptionConfiguration+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateDomain' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'updateDomain_description' - A brief description of the domain.+--+-- 'domainId', 'updateDomain_domainId' - The identifier of the domain to be updated.+--+-- 'name', 'updateDomain_name' - The name of the domain.+--+-- 'serverSideEncryptionConfiguration', 'updateDomain_serverSideEncryptionConfiguration' - The configuration, containing the KMS key identifier, to be used by+-- Voice ID for the server-side encryption of your data. Changing the+-- domain\'s associated KMS key immediately triggers an asynchronous+-- process to remove dependency on the old KMS key, such that the domain\'s+-- data can only be accessed using the new KMS key. The domain\'s+-- @ServerSideEncryptionUpdateDetails@ contains the details for this+-- process.+newUpdateDomain ::+ -- | 'domainId'+ Prelude.Text ->+ -- | 'name'+ Prelude.Text ->+ -- | 'serverSideEncryptionConfiguration'+ ServerSideEncryptionConfiguration ->+ UpdateDomain+newUpdateDomain+ pDomainId_+ pName_+ pServerSideEncryptionConfiguration_ =+ UpdateDomain'+ { description = Prelude.Nothing,+ domainId = pDomainId_,+ name = Data._Sensitive Lens.# pName_,+ serverSideEncryptionConfiguration =+ pServerSideEncryptionConfiguration_+ }++-- | A brief description of the domain.+updateDomain_description :: Lens.Lens' UpdateDomain (Prelude.Maybe Prelude.Text)+updateDomain_description = Lens.lens (\UpdateDomain' {description} -> description) (\s@UpdateDomain' {} a -> s {description = a} :: UpdateDomain) Prelude.. Lens.mapping Data._Sensitive++-- | The identifier of the domain to be updated.+updateDomain_domainId :: Lens.Lens' UpdateDomain Prelude.Text+updateDomain_domainId = Lens.lens (\UpdateDomain' {domainId} -> domainId) (\s@UpdateDomain' {} a -> s {domainId = a} :: UpdateDomain)++-- | The name of the domain.+updateDomain_name :: Lens.Lens' UpdateDomain Prelude.Text+updateDomain_name = Lens.lens (\UpdateDomain' {name} -> name) (\s@UpdateDomain' {} a -> s {name = a} :: UpdateDomain) Prelude.. Data._Sensitive++-- | The configuration, containing the KMS key identifier, to be used by+-- Voice ID for the server-side encryption of your data. Changing the+-- domain\'s associated KMS key immediately triggers an asynchronous+-- process to remove dependency on the old KMS key, such that the domain\'s+-- data can only be accessed using the new KMS key. The domain\'s+-- @ServerSideEncryptionUpdateDetails@ contains the details for this+-- process.+updateDomain_serverSideEncryptionConfiguration :: Lens.Lens' UpdateDomain ServerSideEncryptionConfiguration+updateDomain_serverSideEncryptionConfiguration = Lens.lens (\UpdateDomain' {serverSideEncryptionConfiguration} -> serverSideEncryptionConfiguration) (\s@UpdateDomain' {} a -> s {serverSideEncryptionConfiguration = a} :: UpdateDomain)++instance Core.AWSRequest UpdateDomain where+ type AWSResponse UpdateDomain = UpdateDomainResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateDomainResponse'+ Prelude.<$> (x Data..?> "Domain")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateDomain where+ hashWithSalt _salt UpdateDomain' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` domainId+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` serverSideEncryptionConfiguration++instance Prelude.NFData UpdateDomain where+ rnf UpdateDomain' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf domainId+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf serverSideEncryptionConfiguration++instance Data.ToHeaders UpdateDomain where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ("VoiceID.UpdateDomain" :: Prelude.ByteString),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateDomain where+ toJSON UpdateDomain' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Description" Data..=) Prelude.<$> description,+ Prelude.Just ("DomainId" Data..= domainId),+ Prelude.Just ("Name" Data..= name),+ Prelude.Just+ ( "ServerSideEncryptionConfiguration"+ Data..= serverSideEncryptionConfiguration+ )+ ]+ )++instance Data.ToPath UpdateDomain where+ toPath = Prelude.const "/"++instance Data.ToQuery UpdateDomain where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateDomainResponse' smart constructor.+data UpdateDomainResponse = UpdateDomainResponse'+ { -- | Details about the updated domain+ domain :: Prelude.Maybe Domain,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateDomainResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domain', 'updateDomainResponse_domain' - Details about the updated domain+--+-- 'httpStatus', 'updateDomainResponse_httpStatus' - The response's http status code.+newUpdateDomainResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateDomainResponse+newUpdateDomainResponse pHttpStatus_ =+ UpdateDomainResponse'+ { domain = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Details about the updated domain+updateDomainResponse_domain :: Lens.Lens' UpdateDomainResponse (Prelude.Maybe Domain)+updateDomainResponse_domain = Lens.lens (\UpdateDomainResponse' {domain} -> domain) (\s@UpdateDomainResponse' {} a -> s {domain = a} :: UpdateDomainResponse)++-- | The response's http status code.+updateDomainResponse_httpStatus :: Lens.Lens' UpdateDomainResponse Prelude.Int+updateDomainResponse_httpStatus = Lens.lens (\UpdateDomainResponse' {httpStatus} -> httpStatus) (\s@UpdateDomainResponse' {} a -> s {httpStatus = a} :: UpdateDomainResponse)++instance Prelude.NFData UpdateDomainResponse where+ rnf UpdateDomainResponse' {..} =+ Prelude.rnf domain+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/VoiceId/Waiters.hs view
@@ -0,0 +1,24 @@+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.VoiceId.Waiters+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.VoiceId.Waiters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.VoiceId.Lens+import Amazonka.VoiceId.Types
+ src/.gitkeep view
+ test/Main.hs view
@@ -0,0 +1,23 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Main+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Main (main) where++import Test.Amazonka.VoiceId+import Test.Amazonka.VoiceId.Internal+import Test.Tasty++main :: IO ()+main =+ defaultMain $+ testGroup+ "VoiceId"+ [ testGroup "tests" tests,+ testGroup "fixtures" fixtures+ ]
+ test/Test/Amazonka/Gen/VoiceId.hs view
@@ -0,0 +1,458 @@+{-# OPTIONS_GHC -fno-warn-orphans #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Test.Amazonka.Gen.VoiceId+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Test.Amazonka.Gen.VoiceId where++import Amazonka.VoiceId+import qualified Data.Proxy as Proxy+import Test.Amazonka.Fixture+import Test.Amazonka.Prelude+import Test.Amazonka.VoiceId.Internal+import Test.Tasty++-- Auto-generated: the actual test selection needs to be manually placed into+-- the top-level so that real test data can be incrementally added.+--+-- This commented snippet is what the entire set should look like:++-- fixtures :: TestTree+-- fixtures =+-- [ testGroup "request"+-- [ requestCreateDomain $+-- newCreateDomain+--+-- , requestDeleteDomain $+-- newDeleteDomain+--+-- , requestDeleteFraudster $+-- newDeleteFraudster+--+-- , requestDeleteSpeaker $+-- newDeleteSpeaker+--+-- , requestDescribeDomain $+-- newDescribeDomain+--+-- , requestDescribeFraudster $+-- newDescribeFraudster+--+-- , requestDescribeFraudsterRegistrationJob $+-- newDescribeFraudsterRegistrationJob+--+-- , requestDescribeSpeaker $+-- newDescribeSpeaker+--+-- , requestDescribeSpeakerEnrollmentJob $+-- newDescribeSpeakerEnrollmentJob+--+-- , requestEvaluateSession $+-- newEvaluateSession+--+-- , requestListDomains $+-- newListDomains+--+-- , requestListFraudsterRegistrationJobs $+-- newListFraudsterRegistrationJobs+--+-- , requestListSpeakerEnrollmentJobs $+-- newListSpeakerEnrollmentJobs+--+-- , requestListSpeakers $+-- newListSpeakers+--+-- , requestListTagsForResource $+-- newListTagsForResource+--+-- , requestOptOutSpeaker $+-- newOptOutSpeaker+--+-- , requestStartFraudsterRegistrationJob $+-- newStartFraudsterRegistrationJob+--+-- , requestStartSpeakerEnrollmentJob $+-- newStartSpeakerEnrollmentJob+--+-- , requestTagResource $+-- newTagResource+--+-- , requestUntagResource $+-- newUntagResource+--+-- , requestUpdateDomain $+-- newUpdateDomain+--+-- ]++-- , testGroup "response"+-- [ responseCreateDomain $+-- newCreateDomainResponse+--+-- , responseDeleteDomain $+-- newDeleteDomainResponse+--+-- , responseDeleteFraudster $+-- newDeleteFraudsterResponse+--+-- , responseDeleteSpeaker $+-- newDeleteSpeakerResponse+--+-- , responseDescribeDomain $+-- newDescribeDomainResponse+--+-- , responseDescribeFraudster $+-- newDescribeFraudsterResponse+--+-- , responseDescribeFraudsterRegistrationJob $+-- newDescribeFraudsterRegistrationJobResponse+--+-- , responseDescribeSpeaker $+-- newDescribeSpeakerResponse+--+-- , responseDescribeSpeakerEnrollmentJob $+-- newDescribeSpeakerEnrollmentJobResponse+--+-- , responseEvaluateSession $+-- newEvaluateSessionResponse+--+-- , responseListDomains $+-- newListDomainsResponse+--+-- , responseListFraudsterRegistrationJobs $+-- newListFraudsterRegistrationJobsResponse+--+-- , responseListSpeakerEnrollmentJobs $+-- newListSpeakerEnrollmentJobsResponse+--+-- , responseListSpeakers $+-- newListSpeakersResponse+--+-- , responseListTagsForResource $+-- newListTagsForResourceResponse+--+-- , responseOptOutSpeaker $+-- newOptOutSpeakerResponse+--+-- , responseStartFraudsterRegistrationJob $+-- newStartFraudsterRegistrationJobResponse+--+-- , responseStartSpeakerEnrollmentJob $+-- newStartSpeakerEnrollmentJobResponse+--+-- , responseTagResource $+-- newTagResourceResponse+--+-- , responseUntagResource $+-- newUntagResourceResponse+--+-- , responseUpdateDomain $+-- newUpdateDomainResponse+--+-- ]+-- ]++-- Requests++requestCreateDomain :: CreateDomain -> TestTree+requestCreateDomain =+ req+ "CreateDomain"+ "fixture/CreateDomain.yaml"++requestDeleteDomain :: DeleteDomain -> TestTree+requestDeleteDomain =+ req+ "DeleteDomain"+ "fixture/DeleteDomain.yaml"++requestDeleteFraudster :: DeleteFraudster -> TestTree+requestDeleteFraudster =+ req+ "DeleteFraudster"+ "fixture/DeleteFraudster.yaml"++requestDeleteSpeaker :: DeleteSpeaker -> TestTree+requestDeleteSpeaker =+ req+ "DeleteSpeaker"+ "fixture/DeleteSpeaker.yaml"++requestDescribeDomain :: DescribeDomain -> TestTree+requestDescribeDomain =+ req+ "DescribeDomain"+ "fixture/DescribeDomain.yaml"++requestDescribeFraudster :: DescribeFraudster -> TestTree+requestDescribeFraudster =+ req+ "DescribeFraudster"+ "fixture/DescribeFraudster.yaml"++requestDescribeFraudsterRegistrationJob :: DescribeFraudsterRegistrationJob -> TestTree+requestDescribeFraudsterRegistrationJob =+ req+ "DescribeFraudsterRegistrationJob"+ "fixture/DescribeFraudsterRegistrationJob.yaml"++requestDescribeSpeaker :: DescribeSpeaker -> TestTree+requestDescribeSpeaker =+ req+ "DescribeSpeaker"+ "fixture/DescribeSpeaker.yaml"++requestDescribeSpeakerEnrollmentJob :: DescribeSpeakerEnrollmentJob -> TestTree+requestDescribeSpeakerEnrollmentJob =+ req+ "DescribeSpeakerEnrollmentJob"+ "fixture/DescribeSpeakerEnrollmentJob.yaml"++requestEvaluateSession :: EvaluateSession -> TestTree+requestEvaluateSession =+ req+ "EvaluateSession"+ "fixture/EvaluateSession.yaml"++requestListDomains :: ListDomains -> TestTree+requestListDomains =+ req+ "ListDomains"+ "fixture/ListDomains.yaml"++requestListFraudsterRegistrationJobs :: ListFraudsterRegistrationJobs -> TestTree+requestListFraudsterRegistrationJobs =+ req+ "ListFraudsterRegistrationJobs"+ "fixture/ListFraudsterRegistrationJobs.yaml"++requestListSpeakerEnrollmentJobs :: ListSpeakerEnrollmentJobs -> TestTree+requestListSpeakerEnrollmentJobs =+ req+ "ListSpeakerEnrollmentJobs"+ "fixture/ListSpeakerEnrollmentJobs.yaml"++requestListSpeakers :: ListSpeakers -> TestTree+requestListSpeakers =+ req+ "ListSpeakers"+ "fixture/ListSpeakers.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+ req+ "ListTagsForResource"+ "fixture/ListTagsForResource.yaml"++requestOptOutSpeaker :: OptOutSpeaker -> TestTree+requestOptOutSpeaker =+ req+ "OptOutSpeaker"+ "fixture/OptOutSpeaker.yaml"++requestStartFraudsterRegistrationJob :: StartFraudsterRegistrationJob -> TestTree+requestStartFraudsterRegistrationJob =+ req+ "StartFraudsterRegistrationJob"+ "fixture/StartFraudsterRegistrationJob.yaml"++requestStartSpeakerEnrollmentJob :: StartSpeakerEnrollmentJob -> TestTree+requestStartSpeakerEnrollmentJob =+ req+ "StartSpeakerEnrollmentJob"+ "fixture/StartSpeakerEnrollmentJob.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+ req+ "TagResource"+ "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+ req+ "UntagResource"+ "fixture/UntagResource.yaml"++requestUpdateDomain :: UpdateDomain -> TestTree+requestUpdateDomain =+ req+ "UpdateDomain"+ "fixture/UpdateDomain.yaml"++-- Responses++responseCreateDomain :: CreateDomainResponse -> TestTree+responseCreateDomain =+ res+ "CreateDomainResponse"+ "fixture/CreateDomainResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateDomain)++responseDeleteDomain :: DeleteDomainResponse -> TestTree+responseDeleteDomain =+ res+ "DeleteDomainResponse"+ "fixture/DeleteDomainResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteDomain)++responseDeleteFraudster :: DeleteFraudsterResponse -> TestTree+responseDeleteFraudster =+ res+ "DeleteFraudsterResponse"+ "fixture/DeleteFraudsterResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteFraudster)++responseDeleteSpeaker :: DeleteSpeakerResponse -> TestTree+responseDeleteSpeaker =+ res+ "DeleteSpeakerResponse"+ "fixture/DeleteSpeakerResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteSpeaker)++responseDescribeDomain :: DescribeDomainResponse -> TestTree+responseDescribeDomain =+ res+ "DescribeDomainResponse"+ "fixture/DescribeDomainResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeDomain)++responseDescribeFraudster :: DescribeFraudsterResponse -> TestTree+responseDescribeFraudster =+ res+ "DescribeFraudsterResponse"+ "fixture/DescribeFraudsterResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeFraudster)++responseDescribeFraudsterRegistrationJob :: DescribeFraudsterRegistrationJobResponse -> TestTree+responseDescribeFraudsterRegistrationJob =+ res+ "DescribeFraudsterRegistrationJobResponse"+ "fixture/DescribeFraudsterRegistrationJobResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeFraudsterRegistrationJob)++responseDescribeSpeaker :: DescribeSpeakerResponse -> TestTree+responseDescribeSpeaker =+ res+ "DescribeSpeakerResponse"+ "fixture/DescribeSpeakerResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeSpeaker)++responseDescribeSpeakerEnrollmentJob :: DescribeSpeakerEnrollmentJobResponse -> TestTree+responseDescribeSpeakerEnrollmentJob =+ res+ "DescribeSpeakerEnrollmentJobResponse"+ "fixture/DescribeSpeakerEnrollmentJobResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeSpeakerEnrollmentJob)++responseEvaluateSession :: EvaluateSessionResponse -> TestTree+responseEvaluateSession =+ res+ "EvaluateSessionResponse"+ "fixture/EvaluateSessionResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy EvaluateSession)++responseListDomains :: ListDomainsResponse -> TestTree+responseListDomains =+ res+ "ListDomainsResponse"+ "fixture/ListDomainsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListDomains)++responseListFraudsterRegistrationJobs :: ListFraudsterRegistrationJobsResponse -> TestTree+responseListFraudsterRegistrationJobs =+ res+ "ListFraudsterRegistrationJobsResponse"+ "fixture/ListFraudsterRegistrationJobsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListFraudsterRegistrationJobs)++responseListSpeakerEnrollmentJobs :: ListSpeakerEnrollmentJobsResponse -> TestTree+responseListSpeakerEnrollmentJobs =+ res+ "ListSpeakerEnrollmentJobsResponse"+ "fixture/ListSpeakerEnrollmentJobsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListSpeakerEnrollmentJobs)++responseListSpeakers :: ListSpeakersResponse -> TestTree+responseListSpeakers =+ res+ "ListSpeakersResponse"+ "fixture/ListSpeakersResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListSpeakers)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+ res+ "ListTagsForResourceResponse"+ "fixture/ListTagsForResourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responseOptOutSpeaker :: OptOutSpeakerResponse -> TestTree+responseOptOutSpeaker =+ res+ "OptOutSpeakerResponse"+ "fixture/OptOutSpeakerResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy OptOutSpeaker)++responseStartFraudsterRegistrationJob :: StartFraudsterRegistrationJobResponse -> TestTree+responseStartFraudsterRegistrationJob =+ res+ "StartFraudsterRegistrationJobResponse"+ "fixture/StartFraudsterRegistrationJobResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy StartFraudsterRegistrationJob)++responseStartSpeakerEnrollmentJob :: StartSpeakerEnrollmentJobResponse -> TestTree+responseStartSpeakerEnrollmentJob =+ res+ "StartSpeakerEnrollmentJobResponse"+ "fixture/StartSpeakerEnrollmentJobResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy StartSpeakerEnrollmentJob)++responseTagResource :: TagResourceResponse -> TestTree+responseTagResource =+ res+ "TagResourceResponse"+ "fixture/TagResourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy TagResource)++responseUntagResource :: UntagResourceResponse -> TestTree+responseUntagResource =+ res+ "UntagResourceResponse"+ "fixture/UntagResourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UntagResource)++responseUpdateDomain :: UpdateDomainResponse -> TestTree+responseUpdateDomain =+ res+ "UpdateDomainResponse"+ "fixture/UpdateDomainResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateDomain)
+ test/Test/Amazonka/VoiceId.hs view
@@ -0,0 +1,20 @@+-- |+-- Module : Test.Amazonka.VoiceId+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Test.Amazonka.VoiceId+ ( tests,+ fixtures,+ )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/VoiceId/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module : Test.Amazonka.VoiceId.Internal+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Test.Amazonka.VoiceId.Internal where