packages feed

amazonka-chime-sdk-meetings (empty) → 2.0

raw patch · 87 files changed

+8325/−0 lines, 87 filesdep +amazonka-chime-sdk-meetingsdep +amazonka-coredep +amazonka-test

Dependencies added: amazonka-chime-sdk-meetings, amazonka-core, amazonka-test, base, bytestring, case-insensitive, tasty, tasty-hunit, text, time, unordered-containers

Files

+ 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 Chime SDK Meetings SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2021-07-15@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-chime-sdk-meetings)+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.ChimeSdkMeetings](http://hackage.haskell.org/package/amazonka-chime-sdk-meetings/docs/Amazonka-ChimeSdkMeetings.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-chime-sdk-meetings` 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-chime-sdk-meetings.cabal view
@@ -0,0 +1,126 @@+cabal-version:      2.2+name:               amazonka-chime-sdk-meetings+version:            2.0+synopsis:           Amazon Chime SDK Meetings 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-07-15@ 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.ChimeSdkMeetings.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.ChimeSdkMeetings" 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-chime-sdk-meetings++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.ChimeSdkMeetings+    Amazonka.ChimeSdkMeetings.BatchCreateAttendee+    Amazonka.ChimeSdkMeetings.BatchUpdateAttendeeCapabilitiesExcept+    Amazonka.ChimeSdkMeetings.CreateAttendee+    Amazonka.ChimeSdkMeetings.CreateMeeting+    Amazonka.ChimeSdkMeetings.CreateMeetingWithAttendees+    Amazonka.ChimeSdkMeetings.DeleteAttendee+    Amazonka.ChimeSdkMeetings.DeleteMeeting+    Amazonka.ChimeSdkMeetings.GetAttendee+    Amazonka.ChimeSdkMeetings.GetMeeting+    Amazonka.ChimeSdkMeetings.Lens+    Amazonka.ChimeSdkMeetings.ListAttendees+    Amazonka.ChimeSdkMeetings.ListTagsForResource+    Amazonka.ChimeSdkMeetings.StartMeetingTranscription+    Amazonka.ChimeSdkMeetings.StopMeetingTranscription+    Amazonka.ChimeSdkMeetings.TagResource+    Amazonka.ChimeSdkMeetings.Types+    Amazonka.ChimeSdkMeetings.Types.Attendee+    Amazonka.ChimeSdkMeetings.Types.AttendeeCapabilities+    Amazonka.ChimeSdkMeetings.Types.AttendeeIdItem+    Amazonka.ChimeSdkMeetings.Types.AudioFeatures+    Amazonka.ChimeSdkMeetings.Types.CreateAttendeeError+    Amazonka.ChimeSdkMeetings.Types.CreateAttendeeRequestItem+    Amazonka.ChimeSdkMeetings.Types.EngineTranscribeMedicalSettings+    Amazonka.ChimeSdkMeetings.Types.EngineTranscribeSettings+    Amazonka.ChimeSdkMeetings.Types.MediaCapabilities+    Amazonka.ChimeSdkMeetings.Types.MediaPlacement+    Amazonka.ChimeSdkMeetings.Types.Meeting+    Amazonka.ChimeSdkMeetings.Types.MeetingFeaturesConfiguration+    Amazonka.ChimeSdkMeetings.Types.MeetingFeatureStatus+    Amazonka.ChimeSdkMeetings.Types.NotificationsConfiguration+    Amazonka.ChimeSdkMeetings.Types.Tag+    Amazonka.ChimeSdkMeetings.Types.TranscribeContentIdentificationType+    Amazonka.ChimeSdkMeetings.Types.TranscribeContentRedactionType+    Amazonka.ChimeSdkMeetings.Types.TranscribeLanguageCode+    Amazonka.ChimeSdkMeetings.Types.TranscribeMedicalContentIdentificationType+    Amazonka.ChimeSdkMeetings.Types.TranscribeMedicalLanguageCode+    Amazonka.ChimeSdkMeetings.Types.TranscribeMedicalRegion+    Amazonka.ChimeSdkMeetings.Types.TranscribeMedicalSpecialty+    Amazonka.ChimeSdkMeetings.Types.TranscribeMedicalType+    Amazonka.ChimeSdkMeetings.Types.TranscribePartialResultsStability+    Amazonka.ChimeSdkMeetings.Types.TranscribeRegion+    Amazonka.ChimeSdkMeetings.Types.TranscribeVocabularyFilterMethod+    Amazonka.ChimeSdkMeetings.Types.TranscriptionConfiguration+    Amazonka.ChimeSdkMeetings.UntagResource+    Amazonka.ChimeSdkMeetings.UpdateAttendeeCapabilities+    Amazonka.ChimeSdkMeetings.Waiters++  build-depends:+    , amazonka-core  >=2.0  && <2.1+    , base           >=4.12 && <5++test-suite amazonka-chime-sdk-meetings-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.ChimeSdkMeetings+    Test.Amazonka.ChimeSdkMeetings.Internal+    Test.Amazonka.Gen.ChimeSdkMeetings++  build-depends:+    , amazonka-chime-sdk-meetings+    , amazonka-core                >=2.0 && <2.1+    , amazonka-test                >=2.0 && <2.1+    , base+    , bytestring+    , case-insensitive+    , tasty+    , tasty-hunit+    , text+    , time+    , unordered-containers
+ fixture/BatchCreateAttendee.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/meetings-chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  meetings-chime.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/BatchCreateAttendeeResponse.proto view
+ fixture/BatchUpdateAttendeeCapabilitiesExcept.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/meetings-chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  meetings-chime.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/BatchUpdateAttendeeCapabilitiesExceptResponse.proto view
+ fixture/CreateAttendee.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/meetings-chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  meetings-chime.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/CreateAttendeeResponse.proto view
+ fixture/CreateMeeting.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/meetings-chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  meetings-chime.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/CreateMeetingResponse.proto view
+ fixture/CreateMeetingWithAttendees.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/meetings-chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  meetings-chime.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/CreateMeetingWithAttendeesResponse.proto view
+ fixture/DeleteAttendee.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/meetings-chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  meetings-chime.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/DeleteAttendeeResponse.proto view
+ fixture/DeleteMeeting.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/meetings-chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  meetings-chime.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/DeleteMeetingResponse.proto view
+ fixture/GetAttendee.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/meetings-chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  meetings-chime.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/GetAttendeeResponse.proto view
+ fixture/GetMeeting.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/meetings-chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  meetings-chime.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/GetMeetingResponse.proto view
+ fixture/ListAttendees.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/meetings-chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  meetings-chime.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/ListAttendeesResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/meetings-chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  meetings-chime.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/StartMeetingTranscription.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/meetings-chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  meetings-chime.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/StartMeetingTranscriptionResponse.proto view
+ fixture/StopMeetingTranscription.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/meetings-chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  meetings-chime.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/StopMeetingTranscriptionResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/meetings-chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  meetings-chime.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/meetings-chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  meetings-chime.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/UpdateAttendeeCapabilities.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/meetings-chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  meetings-chime.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/UpdateAttendeeCapabilitiesResponse.proto view
+ gen/Amazonka/ChimeSdkMeetings.hs view
@@ -0,0 +1,308 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Amazonka.ChimeSdkMeetings+-- 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-07-15@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- The Amazon Chime SDK meetings APIs in this section allow software+-- developers to create Amazon Chime SDK meetings, set the AWS Regions for+-- meetings, create and manage users, and send and receive meeting+-- notifications. For more information about the meeting APIs, see+-- <https://docs.aws.amazon.com/chime/latest/APIReference/API_Operations_Amazon_Chime_SDK_Meetings.html Amazon Chime SDK meetings>.+module Amazonka.ChimeSdkMeetings+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    -- $errors++    -- ** BadRequestException+    _BadRequestException,++    -- ** ConflictException+    _ConflictException,++    -- ** ForbiddenException+    _ForbiddenException,++    -- ** LimitExceededException+    _LimitExceededException,++    -- ** NotFoundException+    _NotFoundException,++    -- ** ResourceNotFoundException+    _ResourceNotFoundException,++    -- ** ServiceFailureException+    _ServiceFailureException,++    -- ** ServiceUnavailableException+    _ServiceUnavailableException,++    -- ** ThrottlingException+    _ThrottlingException,++    -- ** TooManyTagsException+    _TooManyTagsException,++    -- ** UnauthorizedException+    _UnauthorizedException,++    -- ** UnprocessableEntityException+    _UnprocessableEntityException,++    -- * Waiters+    -- $waiters++    -- * Operations+    -- $operations++    -- ** BatchCreateAttendee+    BatchCreateAttendee (BatchCreateAttendee'),+    newBatchCreateAttendee,+    BatchCreateAttendeeResponse (BatchCreateAttendeeResponse'),+    newBatchCreateAttendeeResponse,++    -- ** BatchUpdateAttendeeCapabilitiesExcept+    BatchUpdateAttendeeCapabilitiesExcept (BatchUpdateAttendeeCapabilitiesExcept'),+    newBatchUpdateAttendeeCapabilitiesExcept,+    BatchUpdateAttendeeCapabilitiesExceptResponse (BatchUpdateAttendeeCapabilitiesExceptResponse'),+    newBatchUpdateAttendeeCapabilitiesExceptResponse,++    -- ** CreateAttendee+    CreateAttendee (CreateAttendee'),+    newCreateAttendee,+    CreateAttendeeResponse (CreateAttendeeResponse'),+    newCreateAttendeeResponse,++    -- ** CreateMeeting+    CreateMeeting (CreateMeeting'),+    newCreateMeeting,+    CreateMeetingResponse (CreateMeetingResponse'),+    newCreateMeetingResponse,++    -- ** CreateMeetingWithAttendees+    CreateMeetingWithAttendees (CreateMeetingWithAttendees'),+    newCreateMeetingWithAttendees,+    CreateMeetingWithAttendeesResponse (CreateMeetingWithAttendeesResponse'),+    newCreateMeetingWithAttendeesResponse,++    -- ** DeleteAttendee+    DeleteAttendee (DeleteAttendee'),+    newDeleteAttendee,+    DeleteAttendeeResponse (DeleteAttendeeResponse'),+    newDeleteAttendeeResponse,++    -- ** DeleteMeeting+    DeleteMeeting (DeleteMeeting'),+    newDeleteMeeting,+    DeleteMeetingResponse (DeleteMeetingResponse'),+    newDeleteMeetingResponse,++    -- ** GetAttendee+    GetAttendee (GetAttendee'),+    newGetAttendee,+    GetAttendeeResponse (GetAttendeeResponse'),+    newGetAttendeeResponse,++    -- ** GetMeeting+    GetMeeting (GetMeeting'),+    newGetMeeting,+    GetMeetingResponse (GetMeetingResponse'),+    newGetMeetingResponse,++    -- ** ListAttendees+    ListAttendees (ListAttendees'),+    newListAttendees,+    ListAttendeesResponse (ListAttendeesResponse'),+    newListAttendeesResponse,++    -- ** ListTagsForResource+    ListTagsForResource (ListTagsForResource'),+    newListTagsForResource,+    ListTagsForResourceResponse (ListTagsForResourceResponse'),+    newListTagsForResourceResponse,++    -- ** StartMeetingTranscription+    StartMeetingTranscription (StartMeetingTranscription'),+    newStartMeetingTranscription,+    StartMeetingTranscriptionResponse (StartMeetingTranscriptionResponse'),+    newStartMeetingTranscriptionResponse,++    -- ** StopMeetingTranscription+    StopMeetingTranscription (StopMeetingTranscription'),+    newStopMeetingTranscription,+    StopMeetingTranscriptionResponse (StopMeetingTranscriptionResponse'),+    newStopMeetingTranscriptionResponse,++    -- ** TagResource+    TagResource (TagResource'),+    newTagResource,+    TagResourceResponse (TagResourceResponse'),+    newTagResourceResponse,++    -- ** UntagResource+    UntagResource (UntagResource'),+    newUntagResource,+    UntagResourceResponse (UntagResourceResponse'),+    newUntagResourceResponse,++    -- ** UpdateAttendeeCapabilities+    UpdateAttendeeCapabilities (UpdateAttendeeCapabilities'),+    newUpdateAttendeeCapabilities,+    UpdateAttendeeCapabilitiesResponse (UpdateAttendeeCapabilitiesResponse'),+    newUpdateAttendeeCapabilitiesResponse,++    -- * Types++    -- ** MediaCapabilities+    MediaCapabilities (..),++    -- ** MeetingFeatureStatus+    MeetingFeatureStatus (..),++    -- ** TranscribeContentIdentificationType+    TranscribeContentIdentificationType (..),++    -- ** TranscribeContentRedactionType+    TranscribeContentRedactionType (..),++    -- ** TranscribeLanguageCode+    TranscribeLanguageCode (..),++    -- ** TranscribeMedicalContentIdentificationType+    TranscribeMedicalContentIdentificationType (..),++    -- ** TranscribeMedicalLanguageCode+    TranscribeMedicalLanguageCode (..),++    -- ** TranscribeMedicalRegion+    TranscribeMedicalRegion (..),++    -- ** TranscribeMedicalSpecialty+    TranscribeMedicalSpecialty (..),++    -- ** TranscribeMedicalType+    TranscribeMedicalType (..),++    -- ** TranscribePartialResultsStability+    TranscribePartialResultsStability (..),++    -- ** TranscribeRegion+    TranscribeRegion (..),++    -- ** TranscribeVocabularyFilterMethod+    TranscribeVocabularyFilterMethod (..),++    -- ** Attendee+    Attendee (Attendee'),+    newAttendee,++    -- ** AttendeeCapabilities+    AttendeeCapabilities (AttendeeCapabilities'),+    newAttendeeCapabilities,++    -- ** AttendeeIdItem+    AttendeeIdItem (AttendeeIdItem'),+    newAttendeeIdItem,++    -- ** AudioFeatures+    AudioFeatures (AudioFeatures'),+    newAudioFeatures,++    -- ** CreateAttendeeError+    CreateAttendeeError (CreateAttendeeError'),+    newCreateAttendeeError,++    -- ** CreateAttendeeRequestItem+    CreateAttendeeRequestItem (CreateAttendeeRequestItem'),+    newCreateAttendeeRequestItem,++    -- ** EngineTranscribeMedicalSettings+    EngineTranscribeMedicalSettings (EngineTranscribeMedicalSettings'),+    newEngineTranscribeMedicalSettings,++    -- ** EngineTranscribeSettings+    EngineTranscribeSettings (EngineTranscribeSettings'),+    newEngineTranscribeSettings,++    -- ** MediaPlacement+    MediaPlacement (MediaPlacement'),+    newMediaPlacement,++    -- ** Meeting+    Meeting (Meeting'),+    newMeeting,++    -- ** MeetingFeaturesConfiguration+    MeetingFeaturesConfiguration (MeetingFeaturesConfiguration'),+    newMeetingFeaturesConfiguration,++    -- ** NotificationsConfiguration+    NotificationsConfiguration (NotificationsConfiguration'),+    newNotificationsConfiguration,++    -- ** Tag+    Tag (Tag'),+    newTag,++    -- ** TranscriptionConfiguration+    TranscriptionConfiguration (TranscriptionConfiguration'),+    newTranscriptionConfiguration,+  )+where++import Amazonka.ChimeSdkMeetings.BatchCreateAttendee+import Amazonka.ChimeSdkMeetings.BatchUpdateAttendeeCapabilitiesExcept+import Amazonka.ChimeSdkMeetings.CreateAttendee+import Amazonka.ChimeSdkMeetings.CreateMeeting+import Amazonka.ChimeSdkMeetings.CreateMeetingWithAttendees+import Amazonka.ChimeSdkMeetings.DeleteAttendee+import Amazonka.ChimeSdkMeetings.DeleteMeeting+import Amazonka.ChimeSdkMeetings.GetAttendee+import Amazonka.ChimeSdkMeetings.GetMeeting+import Amazonka.ChimeSdkMeetings.Lens+import Amazonka.ChimeSdkMeetings.ListAttendees+import Amazonka.ChimeSdkMeetings.ListTagsForResource+import Amazonka.ChimeSdkMeetings.StartMeetingTranscription+import Amazonka.ChimeSdkMeetings.StopMeetingTranscription+import Amazonka.ChimeSdkMeetings.TagResource+import Amazonka.ChimeSdkMeetings.Types+import Amazonka.ChimeSdkMeetings.UntagResource+import Amazonka.ChimeSdkMeetings.UpdateAttendeeCapabilities+import Amazonka.ChimeSdkMeetings.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 'ChimeSdkMeetings'.++-- $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/ChimeSdkMeetings/BatchCreateAttendee.hs view
@@ -0,0 +1,202 @@+{-# 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.ChimeSdkMeetings.BatchCreateAttendee+-- 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 up to 100 attendees for an active Amazon Chime SDK meeting. For+-- more information about the Amazon Chime SDK, see+-- <https://docs.aws.amazon.com/chime/latest/dg/meetings-sdk.html Using the Amazon Chime SDK>+-- in the /Amazon Chime Developer Guide/.+module Amazonka.ChimeSdkMeetings.BatchCreateAttendee+  ( -- * Creating a Request+    BatchCreateAttendee (..),+    newBatchCreateAttendee,++    -- * Request Lenses+    batchCreateAttendee_meetingId,+    batchCreateAttendee_attendees,++    -- * Destructuring the Response+    BatchCreateAttendeeResponse (..),+    newBatchCreateAttendeeResponse,++    -- * Response Lenses+    batchCreateAttendeeResponse_attendees,+    batchCreateAttendeeResponse_errors,+    batchCreateAttendeeResponse_httpStatus,+  )+where++import Amazonka.ChimeSdkMeetings.Types+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++-- | /See:/ 'newBatchCreateAttendee' smart constructor.+data BatchCreateAttendee = BatchCreateAttendee'+  { -- | The Amazon Chime SDK ID of the meeting to which you\'re adding+    -- attendees.+    meetingId :: Prelude.Text,+    -- | The attendee information, including attendees\' IDs and join tokens.+    attendees :: Prelude.NonEmpty CreateAttendeeRequestItem+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchCreateAttendee' 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:+--+-- 'meetingId', 'batchCreateAttendee_meetingId' - The Amazon Chime SDK ID of the meeting to which you\'re adding+-- attendees.+--+-- 'attendees', 'batchCreateAttendee_attendees' - The attendee information, including attendees\' IDs and join tokens.+newBatchCreateAttendee ::+  -- | 'meetingId'+  Prelude.Text ->+  -- | 'attendees'+  Prelude.NonEmpty CreateAttendeeRequestItem ->+  BatchCreateAttendee+newBatchCreateAttendee pMeetingId_ pAttendees_ =+  BatchCreateAttendee'+    { meetingId = pMeetingId_,+      attendees = Lens.coerced Lens.# pAttendees_+    }++-- | The Amazon Chime SDK ID of the meeting to which you\'re adding+-- attendees.+batchCreateAttendee_meetingId :: Lens.Lens' BatchCreateAttendee Prelude.Text+batchCreateAttendee_meetingId = Lens.lens (\BatchCreateAttendee' {meetingId} -> meetingId) (\s@BatchCreateAttendee' {} a -> s {meetingId = a} :: BatchCreateAttendee)++-- | The attendee information, including attendees\' IDs and join tokens.+batchCreateAttendee_attendees :: Lens.Lens' BatchCreateAttendee (Prelude.NonEmpty CreateAttendeeRequestItem)+batchCreateAttendee_attendees = Lens.lens (\BatchCreateAttendee' {attendees} -> attendees) (\s@BatchCreateAttendee' {} a -> s {attendees = a} :: BatchCreateAttendee) Prelude.. Lens.coerced++instance Core.AWSRequest BatchCreateAttendee where+  type+    AWSResponse BatchCreateAttendee =+      BatchCreateAttendeeResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          BatchCreateAttendeeResponse'+            Prelude.<$> (x Data..?> "Attendees" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "Errors" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable BatchCreateAttendee where+  hashWithSalt _salt BatchCreateAttendee' {..} =+    _salt+      `Prelude.hashWithSalt` meetingId+      `Prelude.hashWithSalt` attendees++instance Prelude.NFData BatchCreateAttendee where+  rnf BatchCreateAttendee' {..} =+    Prelude.rnf meetingId+      `Prelude.seq` Prelude.rnf attendees++instance Data.ToHeaders BatchCreateAttendee where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON BatchCreateAttendee where+  toJSON BatchCreateAttendee' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("Attendees" Data..= attendees)]+      )++instance Data.ToPath BatchCreateAttendee where+  toPath BatchCreateAttendee' {..} =+    Prelude.mconcat+      ["/meetings/", Data.toBS meetingId, "/attendees"]++instance Data.ToQuery BatchCreateAttendee where+  toQuery =+    Prelude.const+      (Prelude.mconcat ["operation=batch-create"])++-- | /See:/ 'newBatchCreateAttendeeResponse' smart constructor.+data BatchCreateAttendeeResponse = BatchCreateAttendeeResponse'+  { -- | The attendee information, including attendees\' IDs and join tokens.+    attendees :: Prelude.Maybe [Attendee],+    -- | If the action fails for one or more of the attendees in the request, a+    -- list of the attendees is returned, along with error codes and error+    -- messages.+    errors :: Prelude.Maybe [CreateAttendeeError],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchCreateAttendeeResponse' 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:+--+-- 'attendees', 'batchCreateAttendeeResponse_attendees' - The attendee information, including attendees\' IDs and join tokens.+--+-- 'errors', 'batchCreateAttendeeResponse_errors' - If the action fails for one or more of the attendees in the request, a+-- list of the attendees is returned, along with error codes and error+-- messages.+--+-- 'httpStatus', 'batchCreateAttendeeResponse_httpStatus' - The response's http status code.+newBatchCreateAttendeeResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  BatchCreateAttendeeResponse+newBatchCreateAttendeeResponse pHttpStatus_ =+  BatchCreateAttendeeResponse'+    { attendees =+        Prelude.Nothing,+      errors = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The attendee information, including attendees\' IDs and join tokens.+batchCreateAttendeeResponse_attendees :: Lens.Lens' BatchCreateAttendeeResponse (Prelude.Maybe [Attendee])+batchCreateAttendeeResponse_attendees = Lens.lens (\BatchCreateAttendeeResponse' {attendees} -> attendees) (\s@BatchCreateAttendeeResponse' {} a -> s {attendees = a} :: BatchCreateAttendeeResponse) Prelude.. Lens.mapping Lens.coerced++-- | If the action fails for one or more of the attendees in the request, a+-- list of the attendees is returned, along with error codes and error+-- messages.+batchCreateAttendeeResponse_errors :: Lens.Lens' BatchCreateAttendeeResponse (Prelude.Maybe [CreateAttendeeError])+batchCreateAttendeeResponse_errors = Lens.lens (\BatchCreateAttendeeResponse' {errors} -> errors) (\s@BatchCreateAttendeeResponse' {} a -> s {errors = a} :: BatchCreateAttendeeResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+batchCreateAttendeeResponse_httpStatus :: Lens.Lens' BatchCreateAttendeeResponse Prelude.Int+batchCreateAttendeeResponse_httpStatus = Lens.lens (\BatchCreateAttendeeResponse' {httpStatus} -> httpStatus) (\s@BatchCreateAttendeeResponse' {} a -> s {httpStatus = a} :: BatchCreateAttendeeResponse)++instance Prelude.NFData BatchCreateAttendeeResponse where+  rnf BatchCreateAttendeeResponse' {..} =+    Prelude.rnf attendees+      `Prelude.seq` Prelude.rnf errors+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ChimeSdkMeetings/BatchUpdateAttendeeCapabilitiesExcept.hs view
@@ -0,0 +1,228 @@+{-# 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.ChimeSdkMeetings.BatchUpdateAttendeeCapabilitiesExcept+-- 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 @AttendeeCapabilities@ except the capabilities listed in an+-- @ExcludedAttendeeIds@ table.+--+-- You use the capabilities with a set of values that control what the+-- capabilities can do, such as @SendReceive@ data. For more information+-- about those values, see .+--+-- When using capabilities, be aware of these corner cases:+--+-- -   You can\'t set @content@ capabilities to @SendReceive@ or @Receive@+--     unless you also set @video@ capabilities to @SendReceive@ or+--     @Receive@. If you don\'t set the @video@ capability to receive, the+--     response will contain an HTTP 400 Bad Request status code. However,+--     you can set your @video@ capability to receive and you set your+--     @content@ capability to not receive.+--+-- -   When you change an @audio@ capability from @None@ or @Receive@ to+--     @Send@ or @SendReceive@ , and if the attendee left their microphone+--     unmuted, audio will flow from the attendee to the other meeting+--     participants.+--+-- -   When you change a @video@ or @content@ capability from @None@ or+--     @Receive@ to @Send@ or @SendReceive@ , and if the attendee turned on+--     their video or content streams, remote attendess can receive those+--     streams, but only after media renegotiation between the client and+--     the Amazon Chime back-end server.+module Amazonka.ChimeSdkMeetings.BatchUpdateAttendeeCapabilitiesExcept+  ( -- * Creating a Request+    BatchUpdateAttendeeCapabilitiesExcept (..),+    newBatchUpdateAttendeeCapabilitiesExcept,++    -- * Request Lenses+    batchUpdateAttendeeCapabilitiesExcept_meetingId,+    batchUpdateAttendeeCapabilitiesExcept_excludedAttendeeIds,+    batchUpdateAttendeeCapabilitiesExcept_capabilities,++    -- * Destructuring the Response+    BatchUpdateAttendeeCapabilitiesExceptResponse (..),+    newBatchUpdateAttendeeCapabilitiesExceptResponse,+  )+where++import Amazonka.ChimeSdkMeetings.Types+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++-- | /See:/ 'newBatchUpdateAttendeeCapabilitiesExcept' smart constructor.+data BatchUpdateAttendeeCapabilitiesExcept = BatchUpdateAttendeeCapabilitiesExcept'+  { -- | The ID of the meeting associated with the update request.+    meetingId :: Prelude.Text,+    -- | The @AttendeeIDs@ that you want to exclude from one or more+    -- capabilities.+    excludedAttendeeIds :: Prelude.NonEmpty AttendeeIdItem,+    -- | The capabilities (@audio@, @video@, or @content@) that you want to+    -- update.+    capabilities :: AttendeeCapabilities+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchUpdateAttendeeCapabilitiesExcept' 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:+--+-- 'meetingId', 'batchUpdateAttendeeCapabilitiesExcept_meetingId' - The ID of the meeting associated with the update request.+--+-- 'excludedAttendeeIds', 'batchUpdateAttendeeCapabilitiesExcept_excludedAttendeeIds' - The @AttendeeIDs@ that you want to exclude from one or more+-- capabilities.+--+-- 'capabilities', 'batchUpdateAttendeeCapabilitiesExcept_capabilities' - The capabilities (@audio@, @video@, or @content@) that you want to+-- update.+newBatchUpdateAttendeeCapabilitiesExcept ::+  -- | 'meetingId'+  Prelude.Text ->+  -- | 'excludedAttendeeIds'+  Prelude.NonEmpty AttendeeIdItem ->+  -- | 'capabilities'+  AttendeeCapabilities ->+  BatchUpdateAttendeeCapabilitiesExcept+newBatchUpdateAttendeeCapabilitiesExcept+  pMeetingId_+  pExcludedAttendeeIds_+  pCapabilities_ =+    BatchUpdateAttendeeCapabilitiesExcept'+      { meetingId =+          pMeetingId_,+        excludedAttendeeIds =+          Lens.coerced+            Lens.# pExcludedAttendeeIds_,+        capabilities = pCapabilities_+      }++-- | The ID of the meeting associated with the update request.+batchUpdateAttendeeCapabilitiesExcept_meetingId :: Lens.Lens' BatchUpdateAttendeeCapabilitiesExcept Prelude.Text+batchUpdateAttendeeCapabilitiesExcept_meetingId = Lens.lens (\BatchUpdateAttendeeCapabilitiesExcept' {meetingId} -> meetingId) (\s@BatchUpdateAttendeeCapabilitiesExcept' {} a -> s {meetingId = a} :: BatchUpdateAttendeeCapabilitiesExcept)++-- | The @AttendeeIDs@ that you want to exclude from one or more+-- capabilities.+batchUpdateAttendeeCapabilitiesExcept_excludedAttendeeIds :: Lens.Lens' BatchUpdateAttendeeCapabilitiesExcept (Prelude.NonEmpty AttendeeIdItem)+batchUpdateAttendeeCapabilitiesExcept_excludedAttendeeIds = Lens.lens (\BatchUpdateAttendeeCapabilitiesExcept' {excludedAttendeeIds} -> excludedAttendeeIds) (\s@BatchUpdateAttendeeCapabilitiesExcept' {} a -> s {excludedAttendeeIds = a} :: BatchUpdateAttendeeCapabilitiesExcept) Prelude.. Lens.coerced++-- | The capabilities (@audio@, @video@, or @content@) that you want to+-- update.+batchUpdateAttendeeCapabilitiesExcept_capabilities :: Lens.Lens' BatchUpdateAttendeeCapabilitiesExcept AttendeeCapabilities+batchUpdateAttendeeCapabilitiesExcept_capabilities = Lens.lens (\BatchUpdateAttendeeCapabilitiesExcept' {capabilities} -> capabilities) (\s@BatchUpdateAttendeeCapabilitiesExcept' {} a -> s {capabilities = a} :: BatchUpdateAttendeeCapabilitiesExcept)++instance+  Core.AWSRequest+    BatchUpdateAttendeeCapabilitiesExcept+  where+  type+    AWSResponse+      BatchUpdateAttendeeCapabilitiesExcept =+      BatchUpdateAttendeeCapabilitiesExceptResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveNull+      BatchUpdateAttendeeCapabilitiesExceptResponse'++instance+  Prelude.Hashable+    BatchUpdateAttendeeCapabilitiesExcept+  where+  hashWithSalt+    _salt+    BatchUpdateAttendeeCapabilitiesExcept' {..} =+      _salt+        `Prelude.hashWithSalt` meetingId+        `Prelude.hashWithSalt` excludedAttendeeIds+        `Prelude.hashWithSalt` capabilities++instance+  Prelude.NFData+    BatchUpdateAttendeeCapabilitiesExcept+  where+  rnf BatchUpdateAttendeeCapabilitiesExcept' {..} =+    Prelude.rnf meetingId+      `Prelude.seq` Prelude.rnf excludedAttendeeIds+      `Prelude.seq` Prelude.rnf capabilities++instance+  Data.ToHeaders+    BatchUpdateAttendeeCapabilitiesExcept+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToJSON+    BatchUpdateAttendeeCapabilitiesExcept+  where+  toJSON BatchUpdateAttendeeCapabilitiesExcept' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("ExcludedAttendeeIds" Data..= excludedAttendeeIds),+            Prelude.Just ("Capabilities" Data..= capabilities)+          ]+      )++instance+  Data.ToPath+    BatchUpdateAttendeeCapabilitiesExcept+  where+  toPath BatchUpdateAttendeeCapabilitiesExcept' {..} =+    Prelude.mconcat+      [ "/meetings/",+        Data.toBS meetingId,+        "/attendees/capabilities"+      ]++instance+  Data.ToQuery+    BatchUpdateAttendeeCapabilitiesExcept+  where+  toQuery =+    Prelude.const+      (Prelude.mconcat ["operation=batch-update-except"])++-- | /See:/ 'newBatchUpdateAttendeeCapabilitiesExceptResponse' smart constructor.+data BatchUpdateAttendeeCapabilitiesExceptResponse = BatchUpdateAttendeeCapabilitiesExceptResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchUpdateAttendeeCapabilitiesExceptResponse' 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.+newBatchUpdateAttendeeCapabilitiesExceptResponse ::+  BatchUpdateAttendeeCapabilitiesExceptResponse+newBatchUpdateAttendeeCapabilitiesExceptResponse =+  BatchUpdateAttendeeCapabilitiesExceptResponse'++instance+  Prelude.NFData+    BatchUpdateAttendeeCapabilitiesExceptResponse+  where+  rnf _ = ()
+ gen/Amazonka/ChimeSdkMeetings/CreateAttendee.hs view
@@ -0,0 +1,275 @@+{-# 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.ChimeSdkMeetings.CreateAttendee+-- 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 new attendee for an active Amazon Chime SDK meeting. For more+-- information about the Amazon Chime SDK, see+-- <https://docs.aws.amazon.com/chime/latest/dg/meetings-sdk.html Using the Amazon Chime SDK>+-- in the /Amazon Chime Developer Guide/.+module Amazonka.ChimeSdkMeetings.CreateAttendee+  ( -- * Creating a Request+    CreateAttendee (..),+    newCreateAttendee,++    -- * Request Lenses+    createAttendee_capabilities,+    createAttendee_meetingId,+    createAttendee_externalUserId,++    -- * Destructuring the Response+    CreateAttendeeResponse (..),+    newCreateAttendeeResponse,++    -- * Response Lenses+    createAttendeeResponse_attendee,+    createAttendeeResponse_httpStatus,+  )+where++import Amazonka.ChimeSdkMeetings.Types+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++-- | /See:/ 'newCreateAttendee' smart constructor.+data CreateAttendee = CreateAttendee'+  { -- | The capabilities (@audio@, @video@, or @content@) that you want to grant+    -- an attendee. If you don\'t specify capabilities, all users have send and+    -- receive capabilities on all media channels by default.+    --+    -- You use the capabilities with a set of values that control what the+    -- capabilities can do, such as @SendReceive@ data. For more information+    -- about those values, see .+    --+    -- When using capabilities, be aware of these corner cases:+    --+    -- -   You can\'t set @content@ capabilities to @SendReceive@ or @Receive@+    --     unless you also set @video@ capabilities to @SendReceive@ or+    --     @Receive@. If you don\'t set the @video@ capability to receive, the+    --     response will contain an HTTP 400 Bad Request status code. However,+    --     you can set your @video@ capability to receive and you set your+    --     @content@ capability to not receive.+    --+    -- -   When you change an @audio@ capability from @None@ or @Receive@ to+    --     @Send@ or @SendReceive@ , and if the attendee left their microphone+    --     unmuted, audio will flow from the attendee to the other meeting+    --     participants.+    --+    -- -   When you change a @video@ or @content@ capability from @None@ or+    --     @Receive@ to @Send@ or @SendReceive@ , and if the attendee turned on+    --     their video or content streams, remote attendess can receive those+    --     streams, but only after media renegotiation between the client and+    --     the Amazon Chime back-end server.+    capabilities :: Prelude.Maybe AttendeeCapabilities,+    -- | The unique ID of the meeting.+    meetingId :: Prelude.Text,+    -- | The Amazon Chime SDK external user ID. An idempotency token. Links the+    -- attendee to an identity managed by a builder application.+    externalUserId :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAttendee' 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:+--+-- 'capabilities', 'createAttendee_capabilities' - The capabilities (@audio@, @video@, or @content@) that you want to grant+-- an attendee. If you don\'t specify capabilities, all users have send and+-- receive capabilities on all media channels by default.+--+-- You use the capabilities with a set of values that control what the+-- capabilities can do, such as @SendReceive@ data. For more information+-- about those values, see .+--+-- When using capabilities, be aware of these corner cases:+--+-- -   You can\'t set @content@ capabilities to @SendReceive@ or @Receive@+--     unless you also set @video@ capabilities to @SendReceive@ or+--     @Receive@. If you don\'t set the @video@ capability to receive, the+--     response will contain an HTTP 400 Bad Request status code. However,+--     you can set your @video@ capability to receive and you set your+--     @content@ capability to not receive.+--+-- -   When you change an @audio@ capability from @None@ or @Receive@ to+--     @Send@ or @SendReceive@ , and if the attendee left their microphone+--     unmuted, audio will flow from the attendee to the other meeting+--     participants.+--+-- -   When you change a @video@ or @content@ capability from @None@ or+--     @Receive@ to @Send@ or @SendReceive@ , and if the attendee turned on+--     their video or content streams, remote attendess can receive those+--     streams, but only after media renegotiation between the client and+--     the Amazon Chime back-end server.+--+-- 'meetingId', 'createAttendee_meetingId' - The unique ID of the meeting.+--+-- 'externalUserId', 'createAttendee_externalUserId' - The Amazon Chime SDK external user ID. An idempotency token. Links the+-- attendee to an identity managed by a builder application.+newCreateAttendee ::+  -- | 'meetingId'+  Prelude.Text ->+  -- | 'externalUserId'+  Prelude.Text ->+  CreateAttendee+newCreateAttendee pMeetingId_ pExternalUserId_ =+  CreateAttendee'+    { capabilities = Prelude.Nothing,+      meetingId = pMeetingId_,+      externalUserId =+        Data._Sensitive Lens.# pExternalUserId_+    }++-- | The capabilities (@audio@, @video@, or @content@) that you want to grant+-- an attendee. If you don\'t specify capabilities, all users have send and+-- receive capabilities on all media channels by default.+--+-- You use the capabilities with a set of values that control what the+-- capabilities can do, such as @SendReceive@ data. For more information+-- about those values, see .+--+-- When using capabilities, be aware of these corner cases:+--+-- -   You can\'t set @content@ capabilities to @SendReceive@ or @Receive@+--     unless you also set @video@ capabilities to @SendReceive@ or+--     @Receive@. If you don\'t set the @video@ capability to receive, the+--     response will contain an HTTP 400 Bad Request status code. However,+--     you can set your @video@ capability to receive and you set your+--     @content@ capability to not receive.+--+-- -   When you change an @audio@ capability from @None@ or @Receive@ to+--     @Send@ or @SendReceive@ , and if the attendee left their microphone+--     unmuted, audio will flow from the attendee to the other meeting+--     participants.+--+-- -   When you change a @video@ or @content@ capability from @None@ or+--     @Receive@ to @Send@ or @SendReceive@ , and if the attendee turned on+--     their video or content streams, remote attendess can receive those+--     streams, but only after media renegotiation between the client and+--     the Amazon Chime back-end server.+createAttendee_capabilities :: Lens.Lens' CreateAttendee (Prelude.Maybe AttendeeCapabilities)+createAttendee_capabilities = Lens.lens (\CreateAttendee' {capabilities} -> capabilities) (\s@CreateAttendee' {} a -> s {capabilities = a} :: CreateAttendee)++-- | The unique ID of the meeting.+createAttendee_meetingId :: Lens.Lens' CreateAttendee Prelude.Text+createAttendee_meetingId = Lens.lens (\CreateAttendee' {meetingId} -> meetingId) (\s@CreateAttendee' {} a -> s {meetingId = a} :: CreateAttendee)++-- | The Amazon Chime SDK external user ID. An idempotency token. Links the+-- attendee to an identity managed by a builder application.+createAttendee_externalUserId :: Lens.Lens' CreateAttendee Prelude.Text+createAttendee_externalUserId = Lens.lens (\CreateAttendee' {externalUserId} -> externalUserId) (\s@CreateAttendee' {} a -> s {externalUserId = a} :: CreateAttendee) Prelude.. Data._Sensitive++instance Core.AWSRequest CreateAttendee where+  type+    AWSResponse CreateAttendee =+      CreateAttendeeResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateAttendeeResponse'+            Prelude.<$> (x Data..?> "Attendee")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateAttendee where+  hashWithSalt _salt CreateAttendee' {..} =+    _salt+      `Prelude.hashWithSalt` capabilities+      `Prelude.hashWithSalt` meetingId+      `Prelude.hashWithSalt` externalUserId++instance Prelude.NFData CreateAttendee where+  rnf CreateAttendee' {..} =+    Prelude.rnf capabilities+      `Prelude.seq` Prelude.rnf meetingId+      `Prelude.seq` Prelude.rnf externalUserId++instance Data.ToHeaders CreateAttendee where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON CreateAttendee where+  toJSON CreateAttendee' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Capabilities" Data..=) Prelude.<$> capabilities,+            Prelude.Just+              ("ExternalUserId" Data..= externalUserId)+          ]+      )++instance Data.ToPath CreateAttendee where+  toPath CreateAttendee' {..} =+    Prelude.mconcat+      ["/meetings/", Data.toBS meetingId, "/attendees"]++instance Data.ToQuery CreateAttendee where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateAttendeeResponse' smart constructor.+data CreateAttendeeResponse = CreateAttendeeResponse'+  { -- | The attendee information, including attendee ID and join token.+    attendee :: Prelude.Maybe Attendee,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAttendeeResponse' 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:+--+-- 'attendee', 'createAttendeeResponse_attendee' - The attendee information, including attendee ID and join token.+--+-- 'httpStatus', 'createAttendeeResponse_httpStatus' - The response's http status code.+newCreateAttendeeResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateAttendeeResponse+newCreateAttendeeResponse pHttpStatus_ =+  CreateAttendeeResponse'+    { attendee = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The attendee information, including attendee ID and join token.+createAttendeeResponse_attendee :: Lens.Lens' CreateAttendeeResponse (Prelude.Maybe Attendee)+createAttendeeResponse_attendee = Lens.lens (\CreateAttendeeResponse' {attendee} -> attendee) (\s@CreateAttendeeResponse' {} a -> s {attendee = a} :: CreateAttendeeResponse)++-- | The response's http status code.+createAttendeeResponse_httpStatus :: Lens.Lens' CreateAttendeeResponse Prelude.Int+createAttendeeResponse_httpStatus = Lens.lens (\CreateAttendeeResponse' {httpStatus} -> httpStatus) (\s@CreateAttendeeResponse' {} a -> s {httpStatus = a} :: CreateAttendeeResponse)++instance Prelude.NFData CreateAttendeeResponse where+  rnf CreateAttendeeResponse' {..} =+    Prelude.rnf attendee+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ChimeSdkMeetings/CreateMeeting.hs view
@@ -0,0 +1,456 @@+{-# 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.ChimeSdkMeetings.CreateMeeting+-- 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 new Amazon Chime SDK meeting in the specified media Region+-- with no initial attendees. For more information about specifying media+-- Regions, see+-- <https://docs.aws.amazon.com/chime/latest/dg/chime-sdk-meetings-regions.html Amazon Chime SDK Media Regions>+-- in the /Amazon Chime Developer Guide/. For more information about the+-- Amazon Chime SDK, see+-- <https://docs.aws.amazon.com/chime/latest/dg/meetings-sdk.html Using the Amazon Chime SDK>+-- in the /Amazon Chime Developer Guide/.+module Amazonka.ChimeSdkMeetings.CreateMeeting+  ( -- * Creating a Request+    CreateMeeting (..),+    newCreateMeeting,++    -- * Request Lenses+    createMeeting_meetingFeatures,+    createMeeting_meetingHostId,+    createMeeting_notificationsConfiguration,+    createMeeting_primaryMeetingId,+    createMeeting_tags,+    createMeeting_tenantIds,+    createMeeting_clientRequestToken,+    createMeeting_mediaRegion,+    createMeeting_externalMeetingId,++    -- * Destructuring the Response+    CreateMeetingResponse (..),+    newCreateMeetingResponse,++    -- * Response Lenses+    createMeetingResponse_meeting,+    createMeetingResponse_httpStatus,+  )+where++import Amazonka.ChimeSdkMeetings.Types+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++-- | /See:/ 'newCreateMeeting' smart constructor.+data CreateMeeting = CreateMeeting'+  { -- | Lists the audio and video features enabled for a meeting, such as echo+    -- reduction.+    meetingFeatures :: Prelude.Maybe MeetingFeaturesConfiguration,+    -- | Reserved.+    meetingHostId :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The configuration for resource targets to receive notifications when+    -- meeting and attendee events occur.+    notificationsConfiguration :: Prelude.Maybe NotificationsConfiguration,+    -- | When specified, replicates the media from the primary meeting to the new+    -- meeting.+    primaryMeetingId :: Prelude.Maybe Prelude.Text,+    -- | Applies one or more tags to an Amazon Chime SDK meeting. Note the+    -- following:+    --+    -- -   Not all resources have tags. For a list of services with resources+    --     that support tagging using this operation, see+    --     <https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/supported-services.html Services that support the Resource Groups Tagging API>.+    --     If the resource doesn\'t yet support this operation, the resource\'s+    --     service might support tagging using its own API operations. For more+    --     information, refer to the documentation for that service.+    --+    -- -   Each resource can have up to 50 tags. For other limits, see+    --     <https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html#tag-conventions Tag Naming and Usage Conventions>+    --     in the /AWS General Reference/.+    --+    -- -   You can only tag resources that are located in the specified AWS+    --     Region for the AWS account.+    --+    -- -   To add tags to a resource, you need the necessary permissions for+    --     the service that the resource belongs to as well as permissions for+    --     adding tags. For more information, see the documentation for each+    --     service.+    --+    -- Do not store personally identifiable information (PII) or other+    -- confidential or sensitive information in tags. We use tags to provide+    -- you with billing and administration services. Tags are not intended to+    -- be used for private or sensitive data.+    --+    -- __Minimum permissions__+    --+    -- In addition to the @tag:TagResources @permission required by this+    -- operation, you must also have the tagging permission defined by the+    -- service that created the resource. For example, to tag a+    -- @ChimeSDKMeetings@ instance using the @TagResources@ operation, you must+    -- have both of the following permissions:+    --+    -- @tag:TagResources@+    --+    -- @ChimeSDKMeetings:CreateTags@+    --+    -- Some services might have specific requirements for tagging some+    -- resources. For example, to tag an Amazon S3 bucket, you must also have+    -- the @s3:GetBucketTagging@ permission. If the expected minimum+    -- permissions don\'t work, check the documentation for that service\'s+    -- tagging APIs for more information.+    tags :: Prelude.Maybe [Tag],+    -- | A consistent and opaque identifier, created and maintained by the+    -- builder to represent a segment of their users.+    tenantIds :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+    -- | The unique identifier for the client request. Use a different token for+    -- different meetings.+    clientRequestToken :: Data.Sensitive Prelude.Text,+    -- | The Region in which to create the meeting.+    --+    -- Available values: @af-south-1@, @ap-northeast-1@, @ap-northeast-2@,+    -- @ap-south-1@, @ap-southeast-1@, @ap-southeast-2@, @ca-central-1@,+    -- @eu-central-1@, @eu-north-1@, @eu-south-1@, @eu-west-1@, @eu-west-2@,+    -- @eu-west-3@, @sa-east-1@, @us-east-1@, @us-east-2@, @us-west-1@,+    -- @us-west-2@.+    --+    -- Available values in AWS GovCloud (US) Regions: @us-gov-east-1@,+    -- @us-gov-west-1@.+    mediaRegion :: Prelude.Text,+    -- | The external meeting ID.+    externalMeetingId :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateMeeting' 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:+--+-- 'meetingFeatures', 'createMeeting_meetingFeatures' - Lists the audio and video features enabled for a meeting, such as echo+-- reduction.+--+-- 'meetingHostId', 'createMeeting_meetingHostId' - Reserved.+--+-- 'notificationsConfiguration', 'createMeeting_notificationsConfiguration' - The configuration for resource targets to receive notifications when+-- meeting and attendee events occur.+--+-- 'primaryMeetingId', 'createMeeting_primaryMeetingId' - When specified, replicates the media from the primary meeting to the new+-- meeting.+--+-- 'tags', 'createMeeting_tags' - Applies one or more tags to an Amazon Chime SDK meeting. Note the+-- following:+--+-- -   Not all resources have tags. For a list of services with resources+--     that support tagging using this operation, see+--     <https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/supported-services.html Services that support the Resource Groups Tagging API>.+--     If the resource doesn\'t yet support this operation, the resource\'s+--     service might support tagging using its own API operations. For more+--     information, refer to the documentation for that service.+--+-- -   Each resource can have up to 50 tags. For other limits, see+--     <https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html#tag-conventions Tag Naming and Usage Conventions>+--     in the /AWS General Reference/.+--+-- -   You can only tag resources that are located in the specified AWS+--     Region for the AWS account.+--+-- -   To add tags to a resource, you need the necessary permissions for+--     the service that the resource belongs to as well as permissions for+--     adding tags. For more information, see the documentation for each+--     service.+--+-- Do not store personally identifiable information (PII) or other+-- confidential or sensitive information in tags. We use tags to provide+-- you with billing and administration services. Tags are not intended to+-- be used for private or sensitive data.+--+-- __Minimum permissions__+--+-- In addition to the @tag:TagResources @permission required by this+-- operation, you must also have the tagging permission defined by the+-- service that created the resource. For example, to tag a+-- @ChimeSDKMeetings@ instance using the @TagResources@ operation, you must+-- have both of the following permissions:+--+-- @tag:TagResources@+--+-- @ChimeSDKMeetings:CreateTags@+--+-- Some services might have specific requirements for tagging some+-- resources. For example, to tag an Amazon S3 bucket, you must also have+-- the @s3:GetBucketTagging@ permission. If the expected minimum+-- permissions don\'t work, check the documentation for that service\'s+-- tagging APIs for more information.+--+-- 'tenantIds', 'createMeeting_tenantIds' - A consistent and opaque identifier, created and maintained by the+-- builder to represent a segment of their users.+--+-- 'clientRequestToken', 'createMeeting_clientRequestToken' - The unique identifier for the client request. Use a different token for+-- different meetings.+--+-- 'mediaRegion', 'createMeeting_mediaRegion' - The Region in which to create the meeting.+--+-- Available values: @af-south-1@, @ap-northeast-1@, @ap-northeast-2@,+-- @ap-south-1@, @ap-southeast-1@, @ap-southeast-2@, @ca-central-1@,+-- @eu-central-1@, @eu-north-1@, @eu-south-1@, @eu-west-1@, @eu-west-2@,+-- @eu-west-3@, @sa-east-1@, @us-east-1@, @us-east-2@, @us-west-1@,+-- @us-west-2@.+--+-- Available values in AWS GovCloud (US) Regions: @us-gov-east-1@,+-- @us-gov-west-1@.+--+-- 'externalMeetingId', 'createMeeting_externalMeetingId' - The external meeting ID.+newCreateMeeting ::+  -- | 'clientRequestToken'+  Prelude.Text ->+  -- | 'mediaRegion'+  Prelude.Text ->+  -- | 'externalMeetingId'+  Prelude.Text ->+  CreateMeeting+newCreateMeeting+  pClientRequestToken_+  pMediaRegion_+  pExternalMeetingId_ =+    CreateMeeting'+      { meetingFeatures = Prelude.Nothing,+        meetingHostId = Prelude.Nothing,+        notificationsConfiguration = Prelude.Nothing,+        primaryMeetingId = Prelude.Nothing,+        tags = Prelude.Nothing,+        tenantIds = Prelude.Nothing,+        clientRequestToken =+          Data._Sensitive Lens.# pClientRequestToken_,+        mediaRegion = pMediaRegion_,+        externalMeetingId =+          Data._Sensitive Lens.# pExternalMeetingId_+      }++-- | Lists the audio and video features enabled for a meeting, such as echo+-- reduction.+createMeeting_meetingFeatures :: Lens.Lens' CreateMeeting (Prelude.Maybe MeetingFeaturesConfiguration)+createMeeting_meetingFeatures = Lens.lens (\CreateMeeting' {meetingFeatures} -> meetingFeatures) (\s@CreateMeeting' {} a -> s {meetingFeatures = a} :: CreateMeeting)++-- | Reserved.+createMeeting_meetingHostId :: Lens.Lens' CreateMeeting (Prelude.Maybe Prelude.Text)+createMeeting_meetingHostId = Lens.lens (\CreateMeeting' {meetingHostId} -> meetingHostId) (\s@CreateMeeting' {} a -> s {meetingHostId = a} :: CreateMeeting) Prelude.. Lens.mapping Data._Sensitive++-- | The configuration for resource targets to receive notifications when+-- meeting and attendee events occur.+createMeeting_notificationsConfiguration :: Lens.Lens' CreateMeeting (Prelude.Maybe NotificationsConfiguration)+createMeeting_notificationsConfiguration = Lens.lens (\CreateMeeting' {notificationsConfiguration} -> notificationsConfiguration) (\s@CreateMeeting' {} a -> s {notificationsConfiguration = a} :: CreateMeeting)++-- | When specified, replicates the media from the primary meeting to the new+-- meeting.+createMeeting_primaryMeetingId :: Lens.Lens' CreateMeeting (Prelude.Maybe Prelude.Text)+createMeeting_primaryMeetingId = Lens.lens (\CreateMeeting' {primaryMeetingId} -> primaryMeetingId) (\s@CreateMeeting' {} a -> s {primaryMeetingId = a} :: CreateMeeting)++-- | Applies one or more tags to an Amazon Chime SDK meeting. Note the+-- following:+--+-- -   Not all resources have tags. For a list of services with resources+--     that support tagging using this operation, see+--     <https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/supported-services.html Services that support the Resource Groups Tagging API>.+--     If the resource doesn\'t yet support this operation, the resource\'s+--     service might support tagging using its own API operations. For more+--     information, refer to the documentation for that service.+--+-- -   Each resource can have up to 50 tags. For other limits, see+--     <https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html#tag-conventions Tag Naming and Usage Conventions>+--     in the /AWS General Reference/.+--+-- -   You can only tag resources that are located in the specified AWS+--     Region for the AWS account.+--+-- -   To add tags to a resource, you need the necessary permissions for+--     the service that the resource belongs to as well as permissions for+--     adding tags. For more information, see the documentation for each+--     service.+--+-- Do not store personally identifiable information (PII) or other+-- confidential or sensitive information in tags. We use tags to provide+-- you with billing and administration services. Tags are not intended to+-- be used for private or sensitive data.+--+-- __Minimum permissions__+--+-- In addition to the @tag:TagResources @permission required by this+-- operation, you must also have the tagging permission defined by the+-- service that created the resource. For example, to tag a+-- @ChimeSDKMeetings@ instance using the @TagResources@ operation, you must+-- have both of the following permissions:+--+-- @tag:TagResources@+--+-- @ChimeSDKMeetings:CreateTags@+--+-- Some services might have specific requirements for tagging some+-- resources. For example, to tag an Amazon S3 bucket, you must also have+-- the @s3:GetBucketTagging@ permission. If the expected minimum+-- permissions don\'t work, check the documentation for that service\'s+-- tagging APIs for more information.+createMeeting_tags :: Lens.Lens' CreateMeeting (Prelude.Maybe [Tag])+createMeeting_tags = Lens.lens (\CreateMeeting' {tags} -> tags) (\s@CreateMeeting' {} a -> s {tags = a} :: CreateMeeting) Prelude.. Lens.mapping Lens.coerced++-- | A consistent and opaque identifier, created and maintained by the+-- builder to represent a segment of their users.+createMeeting_tenantIds :: Lens.Lens' CreateMeeting (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+createMeeting_tenantIds = Lens.lens (\CreateMeeting' {tenantIds} -> tenantIds) (\s@CreateMeeting' {} a -> s {tenantIds = a} :: CreateMeeting) Prelude.. Lens.mapping Lens.coerced++-- | The unique identifier for the client request. Use a different token for+-- different meetings.+createMeeting_clientRequestToken :: Lens.Lens' CreateMeeting Prelude.Text+createMeeting_clientRequestToken = Lens.lens (\CreateMeeting' {clientRequestToken} -> clientRequestToken) (\s@CreateMeeting' {} a -> s {clientRequestToken = a} :: CreateMeeting) Prelude.. Data._Sensitive++-- | The Region in which to create the meeting.+--+-- Available values: @af-south-1@, @ap-northeast-1@, @ap-northeast-2@,+-- @ap-south-1@, @ap-southeast-1@, @ap-southeast-2@, @ca-central-1@,+-- @eu-central-1@, @eu-north-1@, @eu-south-1@, @eu-west-1@, @eu-west-2@,+-- @eu-west-3@, @sa-east-1@, @us-east-1@, @us-east-2@, @us-west-1@,+-- @us-west-2@.+--+-- Available values in AWS GovCloud (US) Regions: @us-gov-east-1@,+-- @us-gov-west-1@.+createMeeting_mediaRegion :: Lens.Lens' CreateMeeting Prelude.Text+createMeeting_mediaRegion = Lens.lens (\CreateMeeting' {mediaRegion} -> mediaRegion) (\s@CreateMeeting' {} a -> s {mediaRegion = a} :: CreateMeeting)++-- | The external meeting ID.+createMeeting_externalMeetingId :: Lens.Lens' CreateMeeting Prelude.Text+createMeeting_externalMeetingId = Lens.lens (\CreateMeeting' {externalMeetingId} -> externalMeetingId) (\s@CreateMeeting' {} a -> s {externalMeetingId = a} :: CreateMeeting) Prelude.. Data._Sensitive++instance Core.AWSRequest CreateMeeting where+  type+    AWSResponse CreateMeeting =+      CreateMeetingResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateMeetingResponse'+            Prelude.<$> (x Data..?> "Meeting")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateMeeting where+  hashWithSalt _salt CreateMeeting' {..} =+    _salt+      `Prelude.hashWithSalt` meetingFeatures+      `Prelude.hashWithSalt` meetingHostId+      `Prelude.hashWithSalt` notificationsConfiguration+      `Prelude.hashWithSalt` primaryMeetingId+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` tenantIds+      `Prelude.hashWithSalt` clientRequestToken+      `Prelude.hashWithSalt` mediaRegion+      `Prelude.hashWithSalt` externalMeetingId++instance Prelude.NFData CreateMeeting where+  rnf CreateMeeting' {..} =+    Prelude.rnf meetingFeatures+      `Prelude.seq` Prelude.rnf meetingHostId+      `Prelude.seq` Prelude.rnf notificationsConfiguration+      `Prelude.seq` Prelude.rnf primaryMeetingId+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf tenantIds+      `Prelude.seq` Prelude.rnf clientRequestToken+      `Prelude.seq` Prelude.rnf mediaRegion+      `Prelude.seq` Prelude.rnf externalMeetingId++instance Data.ToHeaders CreateMeeting where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON CreateMeeting where+  toJSON CreateMeeting' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MeetingFeatures" Data..=)+              Prelude.<$> meetingFeatures,+            ("MeetingHostId" Data..=) Prelude.<$> meetingHostId,+            ("NotificationsConfiguration" Data..=)+              Prelude.<$> notificationsConfiguration,+            ("PrimaryMeetingId" Data..=)+              Prelude.<$> primaryMeetingId,+            ("Tags" Data..=) Prelude.<$> tags,+            ("TenantIds" Data..=) Prelude.<$> tenantIds,+            Prelude.Just+              ("ClientRequestToken" Data..= clientRequestToken),+            Prelude.Just ("MediaRegion" Data..= mediaRegion),+            Prelude.Just+              ("ExternalMeetingId" Data..= externalMeetingId)+          ]+      )++instance Data.ToPath CreateMeeting where+  toPath = Prelude.const "/meetings"++instance Data.ToQuery CreateMeeting where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateMeetingResponse' smart constructor.+data CreateMeetingResponse = CreateMeetingResponse'+  { -- | The meeting information, including the meeting ID and @MediaPlacement@.+    meeting :: Prelude.Maybe Meeting,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateMeetingResponse' 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:+--+-- 'meeting', 'createMeetingResponse_meeting' - The meeting information, including the meeting ID and @MediaPlacement@.+--+-- 'httpStatus', 'createMeetingResponse_httpStatus' - The response's http status code.+newCreateMeetingResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateMeetingResponse+newCreateMeetingResponse pHttpStatus_ =+  CreateMeetingResponse'+    { meeting = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The meeting information, including the meeting ID and @MediaPlacement@.+createMeetingResponse_meeting :: Lens.Lens' CreateMeetingResponse (Prelude.Maybe Meeting)+createMeetingResponse_meeting = Lens.lens (\CreateMeetingResponse' {meeting} -> meeting) (\s@CreateMeetingResponse' {} a -> s {meeting = a} :: CreateMeetingResponse)++-- | The response's http status code.+createMeetingResponse_httpStatus :: Lens.Lens' CreateMeetingResponse Prelude.Int+createMeetingResponse_httpStatus = Lens.lens (\CreateMeetingResponse' {httpStatus} -> httpStatus) (\s@CreateMeetingResponse' {} a -> s {httpStatus = a} :: CreateMeetingResponse)++instance Prelude.NFData CreateMeetingResponse where+  rnf CreateMeetingResponse' {..} =+    Prelude.rnf meeting+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ChimeSdkMeetings/CreateMeetingWithAttendees.hs view
@@ -0,0 +1,379 @@+{-# 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.ChimeSdkMeetings.CreateMeetingWithAttendees+-- 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 new Amazon Chime SDK meeting in the specified media Region,+-- with attendees. For more information about specifying media Regions, see+-- <https://docs.aws.amazon.com/chime/latest/dg/chime-sdk-meetings-regions.html Amazon Chime SDK Media Regions>+-- in the /Amazon Chime Developer Guide/. For more information about the+-- Amazon Chime SDK, see+-- <https://docs.aws.amazon.com/chime/latest/dg/meetings-sdk.html Using the Amazon Chime SDK>+-- in the /Amazon Chime Developer Guide/.+module Amazonka.ChimeSdkMeetings.CreateMeetingWithAttendees+  ( -- * Creating a Request+    CreateMeetingWithAttendees (..),+    newCreateMeetingWithAttendees,++    -- * Request Lenses+    createMeetingWithAttendees_meetingFeatures,+    createMeetingWithAttendees_meetingHostId,+    createMeetingWithAttendees_notificationsConfiguration,+    createMeetingWithAttendees_primaryMeetingId,+    createMeetingWithAttendees_tags,+    createMeetingWithAttendees_tenantIds,+    createMeetingWithAttendees_clientRequestToken,+    createMeetingWithAttendees_mediaRegion,+    createMeetingWithAttendees_externalMeetingId,+    createMeetingWithAttendees_attendees,++    -- * Destructuring the Response+    CreateMeetingWithAttendeesResponse (..),+    newCreateMeetingWithAttendeesResponse,++    -- * Response Lenses+    createMeetingWithAttendeesResponse_attendees,+    createMeetingWithAttendeesResponse_errors,+    createMeetingWithAttendeesResponse_meeting,+    createMeetingWithAttendeesResponse_httpStatus,+  )+where++import Amazonka.ChimeSdkMeetings.Types+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++-- | /See:/ 'newCreateMeetingWithAttendees' smart constructor.+data CreateMeetingWithAttendees = CreateMeetingWithAttendees'+  { -- | Lists the audio and video features enabled for a meeting, such as echo+    -- reduction.+    meetingFeatures :: Prelude.Maybe MeetingFeaturesConfiguration,+    -- | Reserved.+    meetingHostId :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The configuration for resource targets to receive notifications when+    -- meeting and attendee events occur.+    notificationsConfiguration :: Prelude.Maybe NotificationsConfiguration,+    -- | When specified, replicates the media from the primary meeting to the new+    -- meeting.+    primaryMeetingId :: Prelude.Maybe Prelude.Text,+    -- | The tags in the request.+    tags :: Prelude.Maybe [Tag],+    -- | A consistent and opaque identifier, created and maintained by the+    -- builder to represent a segment of their users.+    tenantIds :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+    -- | The unique identifier for the client request. Use a different token for+    -- different meetings.+    clientRequestToken :: Data.Sensitive Prelude.Text,+    -- | The Region in which to create the meeting.+    --+    -- Available values: @af-south-1@, @ap-northeast-1@, @ap-northeast-2@,+    -- @ap-south-1@, @ap-southeast-1@, @ap-southeast-2@, @ca-central-1@,+    -- @eu-central-1@, @eu-north-1@, @eu-south-1@, @eu-west-1@, @eu-west-2@,+    -- @eu-west-3@, @sa-east-1@, @us-east-1@, @us-east-2@, @us-west-1@,+    -- @us-west-2@.+    --+    -- Available values in AWS GovCloud (US) Regions: @us-gov-east-1@,+    -- @us-gov-west-1@.+    mediaRegion :: Prelude.Text,+    -- | The external meeting ID.+    externalMeetingId :: Data.Sensitive Prelude.Text,+    -- | The attendee information, including attendees\' IDs and join tokens.+    attendees :: Prelude.NonEmpty CreateAttendeeRequestItem+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateMeetingWithAttendees' 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:+--+-- 'meetingFeatures', 'createMeetingWithAttendees_meetingFeatures' - Lists the audio and video features enabled for a meeting, such as echo+-- reduction.+--+-- 'meetingHostId', 'createMeetingWithAttendees_meetingHostId' - Reserved.+--+-- 'notificationsConfiguration', 'createMeetingWithAttendees_notificationsConfiguration' - The configuration for resource targets to receive notifications when+-- meeting and attendee events occur.+--+-- 'primaryMeetingId', 'createMeetingWithAttendees_primaryMeetingId' - When specified, replicates the media from the primary meeting to the new+-- meeting.+--+-- 'tags', 'createMeetingWithAttendees_tags' - The tags in the request.+--+-- 'tenantIds', 'createMeetingWithAttendees_tenantIds' - A consistent and opaque identifier, created and maintained by the+-- builder to represent a segment of their users.+--+-- 'clientRequestToken', 'createMeetingWithAttendees_clientRequestToken' - The unique identifier for the client request. Use a different token for+-- different meetings.+--+-- 'mediaRegion', 'createMeetingWithAttendees_mediaRegion' - The Region in which to create the meeting.+--+-- Available values: @af-south-1@, @ap-northeast-1@, @ap-northeast-2@,+-- @ap-south-1@, @ap-southeast-1@, @ap-southeast-2@, @ca-central-1@,+-- @eu-central-1@, @eu-north-1@, @eu-south-1@, @eu-west-1@, @eu-west-2@,+-- @eu-west-3@, @sa-east-1@, @us-east-1@, @us-east-2@, @us-west-1@,+-- @us-west-2@.+--+-- Available values in AWS GovCloud (US) Regions: @us-gov-east-1@,+-- @us-gov-west-1@.+--+-- 'externalMeetingId', 'createMeetingWithAttendees_externalMeetingId' - The external meeting ID.+--+-- 'attendees', 'createMeetingWithAttendees_attendees' - The attendee information, including attendees\' IDs and join tokens.+newCreateMeetingWithAttendees ::+  -- | 'clientRequestToken'+  Prelude.Text ->+  -- | 'mediaRegion'+  Prelude.Text ->+  -- | 'externalMeetingId'+  Prelude.Text ->+  -- | 'attendees'+  Prelude.NonEmpty CreateAttendeeRequestItem ->+  CreateMeetingWithAttendees+newCreateMeetingWithAttendees+  pClientRequestToken_+  pMediaRegion_+  pExternalMeetingId_+  pAttendees_ =+    CreateMeetingWithAttendees'+      { meetingFeatures =+          Prelude.Nothing,+        meetingHostId = Prelude.Nothing,+        notificationsConfiguration = Prelude.Nothing,+        primaryMeetingId = Prelude.Nothing,+        tags = Prelude.Nothing,+        tenantIds = Prelude.Nothing,+        clientRequestToken =+          Data._Sensitive Lens.# pClientRequestToken_,+        mediaRegion = pMediaRegion_,+        externalMeetingId =+          Data._Sensitive Lens.# pExternalMeetingId_,+        attendees = Lens.coerced Lens.# pAttendees_+      }++-- | Lists the audio and video features enabled for a meeting, such as echo+-- reduction.+createMeetingWithAttendees_meetingFeatures :: Lens.Lens' CreateMeetingWithAttendees (Prelude.Maybe MeetingFeaturesConfiguration)+createMeetingWithAttendees_meetingFeatures = Lens.lens (\CreateMeetingWithAttendees' {meetingFeatures} -> meetingFeatures) (\s@CreateMeetingWithAttendees' {} a -> s {meetingFeatures = a} :: CreateMeetingWithAttendees)++-- | Reserved.+createMeetingWithAttendees_meetingHostId :: Lens.Lens' CreateMeetingWithAttendees (Prelude.Maybe Prelude.Text)+createMeetingWithAttendees_meetingHostId = Lens.lens (\CreateMeetingWithAttendees' {meetingHostId} -> meetingHostId) (\s@CreateMeetingWithAttendees' {} a -> s {meetingHostId = a} :: CreateMeetingWithAttendees) Prelude.. Lens.mapping Data._Sensitive++-- | The configuration for resource targets to receive notifications when+-- meeting and attendee events occur.+createMeetingWithAttendees_notificationsConfiguration :: Lens.Lens' CreateMeetingWithAttendees (Prelude.Maybe NotificationsConfiguration)+createMeetingWithAttendees_notificationsConfiguration = Lens.lens (\CreateMeetingWithAttendees' {notificationsConfiguration} -> notificationsConfiguration) (\s@CreateMeetingWithAttendees' {} a -> s {notificationsConfiguration = a} :: CreateMeetingWithAttendees)++-- | When specified, replicates the media from the primary meeting to the new+-- meeting.+createMeetingWithAttendees_primaryMeetingId :: Lens.Lens' CreateMeetingWithAttendees (Prelude.Maybe Prelude.Text)+createMeetingWithAttendees_primaryMeetingId = Lens.lens (\CreateMeetingWithAttendees' {primaryMeetingId} -> primaryMeetingId) (\s@CreateMeetingWithAttendees' {} a -> s {primaryMeetingId = a} :: CreateMeetingWithAttendees)++-- | The tags in the request.+createMeetingWithAttendees_tags :: Lens.Lens' CreateMeetingWithAttendees (Prelude.Maybe [Tag])+createMeetingWithAttendees_tags = Lens.lens (\CreateMeetingWithAttendees' {tags} -> tags) (\s@CreateMeetingWithAttendees' {} a -> s {tags = a} :: CreateMeetingWithAttendees) Prelude.. Lens.mapping Lens.coerced++-- | A consistent and opaque identifier, created and maintained by the+-- builder to represent a segment of their users.+createMeetingWithAttendees_tenantIds :: Lens.Lens' CreateMeetingWithAttendees (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+createMeetingWithAttendees_tenantIds = Lens.lens (\CreateMeetingWithAttendees' {tenantIds} -> tenantIds) (\s@CreateMeetingWithAttendees' {} a -> s {tenantIds = a} :: CreateMeetingWithAttendees) Prelude.. Lens.mapping Lens.coerced++-- | The unique identifier for the client request. Use a different token for+-- different meetings.+createMeetingWithAttendees_clientRequestToken :: Lens.Lens' CreateMeetingWithAttendees Prelude.Text+createMeetingWithAttendees_clientRequestToken = Lens.lens (\CreateMeetingWithAttendees' {clientRequestToken} -> clientRequestToken) (\s@CreateMeetingWithAttendees' {} a -> s {clientRequestToken = a} :: CreateMeetingWithAttendees) Prelude.. Data._Sensitive++-- | The Region in which to create the meeting.+--+-- Available values: @af-south-1@, @ap-northeast-1@, @ap-northeast-2@,+-- @ap-south-1@, @ap-southeast-1@, @ap-southeast-2@, @ca-central-1@,+-- @eu-central-1@, @eu-north-1@, @eu-south-1@, @eu-west-1@, @eu-west-2@,+-- @eu-west-3@, @sa-east-1@, @us-east-1@, @us-east-2@, @us-west-1@,+-- @us-west-2@.+--+-- Available values in AWS GovCloud (US) Regions: @us-gov-east-1@,+-- @us-gov-west-1@.+createMeetingWithAttendees_mediaRegion :: Lens.Lens' CreateMeetingWithAttendees Prelude.Text+createMeetingWithAttendees_mediaRegion = Lens.lens (\CreateMeetingWithAttendees' {mediaRegion} -> mediaRegion) (\s@CreateMeetingWithAttendees' {} a -> s {mediaRegion = a} :: CreateMeetingWithAttendees)++-- | The external meeting ID.+createMeetingWithAttendees_externalMeetingId :: Lens.Lens' CreateMeetingWithAttendees Prelude.Text+createMeetingWithAttendees_externalMeetingId = Lens.lens (\CreateMeetingWithAttendees' {externalMeetingId} -> externalMeetingId) (\s@CreateMeetingWithAttendees' {} a -> s {externalMeetingId = a} :: CreateMeetingWithAttendees) Prelude.. Data._Sensitive++-- | The attendee information, including attendees\' IDs and join tokens.+createMeetingWithAttendees_attendees :: Lens.Lens' CreateMeetingWithAttendees (Prelude.NonEmpty CreateAttendeeRequestItem)+createMeetingWithAttendees_attendees = Lens.lens (\CreateMeetingWithAttendees' {attendees} -> attendees) (\s@CreateMeetingWithAttendees' {} a -> s {attendees = a} :: CreateMeetingWithAttendees) Prelude.. Lens.coerced++instance Core.AWSRequest CreateMeetingWithAttendees where+  type+    AWSResponse CreateMeetingWithAttendees =+      CreateMeetingWithAttendeesResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateMeetingWithAttendeesResponse'+            Prelude.<$> (x Data..?> "Attendees" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "Errors" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "Meeting")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateMeetingWithAttendees where+  hashWithSalt _salt CreateMeetingWithAttendees' {..} =+    _salt+      `Prelude.hashWithSalt` meetingFeatures+      `Prelude.hashWithSalt` meetingHostId+      `Prelude.hashWithSalt` notificationsConfiguration+      `Prelude.hashWithSalt` primaryMeetingId+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` tenantIds+      `Prelude.hashWithSalt` clientRequestToken+      `Prelude.hashWithSalt` mediaRegion+      `Prelude.hashWithSalt` externalMeetingId+      `Prelude.hashWithSalt` attendees++instance Prelude.NFData CreateMeetingWithAttendees where+  rnf CreateMeetingWithAttendees' {..} =+    Prelude.rnf meetingFeatures+      `Prelude.seq` Prelude.rnf meetingHostId+      `Prelude.seq` Prelude.rnf notificationsConfiguration+      `Prelude.seq` Prelude.rnf primaryMeetingId+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf tenantIds+      `Prelude.seq` Prelude.rnf clientRequestToken+      `Prelude.seq` Prelude.rnf mediaRegion+      `Prelude.seq` Prelude.rnf externalMeetingId+      `Prelude.seq` Prelude.rnf attendees++instance Data.ToHeaders CreateMeetingWithAttendees where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON CreateMeetingWithAttendees where+  toJSON CreateMeetingWithAttendees' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MeetingFeatures" Data..=)+              Prelude.<$> meetingFeatures,+            ("MeetingHostId" Data..=) Prelude.<$> meetingHostId,+            ("NotificationsConfiguration" Data..=)+              Prelude.<$> notificationsConfiguration,+            ("PrimaryMeetingId" Data..=)+              Prelude.<$> primaryMeetingId,+            ("Tags" Data..=) Prelude.<$> tags,+            ("TenantIds" Data..=) Prelude.<$> tenantIds,+            Prelude.Just+              ("ClientRequestToken" Data..= clientRequestToken),+            Prelude.Just ("MediaRegion" Data..= mediaRegion),+            Prelude.Just+              ("ExternalMeetingId" Data..= externalMeetingId),+            Prelude.Just ("Attendees" Data..= attendees)+          ]+      )++instance Data.ToPath CreateMeetingWithAttendees where+  toPath = Prelude.const "/meetings"++instance Data.ToQuery CreateMeetingWithAttendees where+  toQuery =+    Prelude.const+      (Prelude.mconcat ["operation=create-attendees"])++-- | /See:/ 'newCreateMeetingWithAttendeesResponse' smart constructor.+data CreateMeetingWithAttendeesResponse = CreateMeetingWithAttendeesResponse'+  { -- | The attendee information, including attendees\' IDs and join tokens.+    attendees :: Prelude.Maybe [Attendee],+    -- | If the action fails for one or more of the attendees in the request, a+    -- list of the attendees is returned, along with error codes and error+    -- messages.+    errors :: Prelude.Maybe [CreateAttendeeError],+    -- | The meeting information, including the meeting ID and @MediaPlacement@.+    meeting :: Prelude.Maybe Meeting,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateMeetingWithAttendeesResponse' 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:+--+-- 'attendees', 'createMeetingWithAttendeesResponse_attendees' - The attendee information, including attendees\' IDs and join tokens.+--+-- 'errors', 'createMeetingWithAttendeesResponse_errors' - If the action fails for one or more of the attendees in the request, a+-- list of the attendees is returned, along with error codes and error+-- messages.+--+-- 'meeting', 'createMeetingWithAttendeesResponse_meeting' - The meeting information, including the meeting ID and @MediaPlacement@.+--+-- 'httpStatus', 'createMeetingWithAttendeesResponse_httpStatus' - The response's http status code.+newCreateMeetingWithAttendeesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateMeetingWithAttendeesResponse+newCreateMeetingWithAttendeesResponse pHttpStatus_ =+  CreateMeetingWithAttendeesResponse'+    { attendees =+        Prelude.Nothing,+      errors = Prelude.Nothing,+      meeting = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The attendee information, including attendees\' IDs and join tokens.+createMeetingWithAttendeesResponse_attendees :: Lens.Lens' CreateMeetingWithAttendeesResponse (Prelude.Maybe [Attendee])+createMeetingWithAttendeesResponse_attendees = Lens.lens (\CreateMeetingWithAttendeesResponse' {attendees} -> attendees) (\s@CreateMeetingWithAttendeesResponse' {} a -> s {attendees = a} :: CreateMeetingWithAttendeesResponse) Prelude.. Lens.mapping Lens.coerced++-- | If the action fails for one or more of the attendees in the request, a+-- list of the attendees is returned, along with error codes and error+-- messages.+createMeetingWithAttendeesResponse_errors :: Lens.Lens' CreateMeetingWithAttendeesResponse (Prelude.Maybe [CreateAttendeeError])+createMeetingWithAttendeesResponse_errors = Lens.lens (\CreateMeetingWithAttendeesResponse' {errors} -> errors) (\s@CreateMeetingWithAttendeesResponse' {} a -> s {errors = a} :: CreateMeetingWithAttendeesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The meeting information, including the meeting ID and @MediaPlacement@.+createMeetingWithAttendeesResponse_meeting :: Lens.Lens' CreateMeetingWithAttendeesResponse (Prelude.Maybe Meeting)+createMeetingWithAttendeesResponse_meeting = Lens.lens (\CreateMeetingWithAttendeesResponse' {meeting} -> meeting) (\s@CreateMeetingWithAttendeesResponse' {} a -> s {meeting = a} :: CreateMeetingWithAttendeesResponse)++-- | The response's http status code.+createMeetingWithAttendeesResponse_httpStatus :: Lens.Lens' CreateMeetingWithAttendeesResponse Prelude.Int+createMeetingWithAttendeesResponse_httpStatus = Lens.lens (\CreateMeetingWithAttendeesResponse' {httpStatus} -> httpStatus) (\s@CreateMeetingWithAttendeesResponse' {} a -> s {httpStatus = a} :: CreateMeetingWithAttendeesResponse)++instance+  Prelude.NFData+    CreateMeetingWithAttendeesResponse+  where+  rnf CreateMeetingWithAttendeesResponse' {..} =+    Prelude.rnf attendees+      `Prelude.seq` Prelude.rnf errors+      `Prelude.seq` Prelude.rnf meeting+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ChimeSdkMeetings/DeleteAttendee.hs view
@@ -0,0 +1,142 @@+{-# 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.ChimeSdkMeetings.DeleteAttendee+-- 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 an attendee from the specified Amazon Chime SDK meeting and+-- deletes their @JoinToken@. Attendees are automatically deleted when a+-- Amazon Chime SDK meeting is deleted. For more information about the+-- Amazon Chime SDK, see+-- <https://docs.aws.amazon.com/chime/latest/dg/meetings-sdk.html Using the Amazon Chime SDK>+-- in the /Amazon Chime Developer Guide/.+module Amazonka.ChimeSdkMeetings.DeleteAttendee+  ( -- * Creating a Request+    DeleteAttendee (..),+    newDeleteAttendee,++    -- * Request Lenses+    deleteAttendee_meetingId,+    deleteAttendee_attendeeId,++    -- * Destructuring the Response+    DeleteAttendeeResponse (..),+    newDeleteAttendeeResponse,+  )+where++import Amazonka.ChimeSdkMeetings.Types+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++-- | /See:/ 'newDeleteAttendee' smart constructor.+data DeleteAttendee = DeleteAttendee'+  { -- | The Amazon Chime SDK meeting ID.+    meetingId :: Prelude.Text,+    -- | The Amazon Chime SDK attendee ID.+    attendeeId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAttendee' 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:+--+-- 'meetingId', 'deleteAttendee_meetingId' - The Amazon Chime SDK meeting ID.+--+-- 'attendeeId', 'deleteAttendee_attendeeId' - The Amazon Chime SDK attendee ID.+newDeleteAttendee ::+  -- | 'meetingId'+  Prelude.Text ->+  -- | 'attendeeId'+  Prelude.Text ->+  DeleteAttendee+newDeleteAttendee pMeetingId_ pAttendeeId_ =+  DeleteAttendee'+    { meetingId = pMeetingId_,+      attendeeId = pAttendeeId_+    }++-- | The Amazon Chime SDK meeting ID.+deleteAttendee_meetingId :: Lens.Lens' DeleteAttendee Prelude.Text+deleteAttendee_meetingId = Lens.lens (\DeleteAttendee' {meetingId} -> meetingId) (\s@DeleteAttendee' {} a -> s {meetingId = a} :: DeleteAttendee)++-- | The Amazon Chime SDK attendee ID.+deleteAttendee_attendeeId :: Lens.Lens' DeleteAttendee Prelude.Text+deleteAttendee_attendeeId = Lens.lens (\DeleteAttendee' {attendeeId} -> attendeeId) (\s@DeleteAttendee' {} a -> s {attendeeId = a} :: DeleteAttendee)++instance Core.AWSRequest DeleteAttendee where+  type+    AWSResponse DeleteAttendee =+      DeleteAttendeeResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveNull DeleteAttendeeResponse'++instance Prelude.Hashable DeleteAttendee where+  hashWithSalt _salt DeleteAttendee' {..} =+    _salt+      `Prelude.hashWithSalt` meetingId+      `Prelude.hashWithSalt` attendeeId++instance Prelude.NFData DeleteAttendee where+  rnf DeleteAttendee' {..} =+    Prelude.rnf meetingId+      `Prelude.seq` Prelude.rnf attendeeId++instance Data.ToHeaders DeleteAttendee where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DeleteAttendee where+  toPath DeleteAttendee' {..} =+    Prelude.mconcat+      [ "/meetings/",+        Data.toBS meetingId,+        "/attendees/",+        Data.toBS attendeeId+      ]++instance Data.ToQuery DeleteAttendee where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteAttendeeResponse' smart constructor.+data DeleteAttendeeResponse = DeleteAttendeeResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAttendeeResponse' 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.+newDeleteAttendeeResponse ::+  DeleteAttendeeResponse+newDeleteAttendeeResponse = DeleteAttendeeResponse'++instance Prelude.NFData DeleteAttendeeResponse where+  rnf _ = ()
+ gen/Amazonka/ChimeSdkMeetings/DeleteMeeting.hs view
@@ -0,0 +1,119 @@+{-# 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.ChimeSdkMeetings.DeleteMeeting+-- 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 Amazon Chime SDK meeting. The operation deletes+-- all attendees, disconnects all clients, and prevents new clients from+-- joining the meeting. For more information about the Amazon Chime SDK,+-- see+-- <https://docs.aws.amazon.com/chime/latest/dg/meetings-sdk.html Using the Amazon Chime SDK>+-- in the /Amazon Chime Developer Guide/.+module Amazonka.ChimeSdkMeetings.DeleteMeeting+  ( -- * Creating a Request+    DeleteMeeting (..),+    newDeleteMeeting,++    -- * Request Lenses+    deleteMeeting_meetingId,++    -- * Destructuring the Response+    DeleteMeetingResponse (..),+    newDeleteMeetingResponse,+  )+where++import Amazonka.ChimeSdkMeetings.Types+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++-- | /See:/ 'newDeleteMeeting' smart constructor.+data DeleteMeeting = DeleteMeeting'+  { -- | The Amazon Chime SDK meeting ID.+    meetingId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteMeeting' 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:+--+-- 'meetingId', 'deleteMeeting_meetingId' - The Amazon Chime SDK meeting ID.+newDeleteMeeting ::+  -- | 'meetingId'+  Prelude.Text ->+  DeleteMeeting+newDeleteMeeting pMeetingId_ =+  DeleteMeeting' {meetingId = pMeetingId_}++-- | The Amazon Chime SDK meeting ID.+deleteMeeting_meetingId :: Lens.Lens' DeleteMeeting Prelude.Text+deleteMeeting_meetingId = Lens.lens (\DeleteMeeting' {meetingId} -> meetingId) (\s@DeleteMeeting' {} a -> s {meetingId = a} :: DeleteMeeting)++instance Core.AWSRequest DeleteMeeting where+  type+    AWSResponse DeleteMeeting =+      DeleteMeetingResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveNull DeleteMeetingResponse'++instance Prelude.Hashable DeleteMeeting where+  hashWithSalt _salt DeleteMeeting' {..} =+    _salt `Prelude.hashWithSalt` meetingId++instance Prelude.NFData DeleteMeeting where+  rnf DeleteMeeting' {..} = Prelude.rnf meetingId++instance Data.ToHeaders DeleteMeeting where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DeleteMeeting where+  toPath DeleteMeeting' {..} =+    Prelude.mconcat ["/meetings/", Data.toBS meetingId]++instance Data.ToQuery DeleteMeeting where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteMeetingResponse' smart constructor.+data DeleteMeetingResponse = DeleteMeetingResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteMeetingResponse' 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.+newDeleteMeetingResponse ::+  DeleteMeetingResponse+newDeleteMeetingResponse = DeleteMeetingResponse'++instance Prelude.NFData DeleteMeetingResponse where+  rnf _ = ()
+ gen/Amazonka/ChimeSdkMeetings/GetAttendee.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.ChimeSdkMeetings.GetAttendee+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the Amazon Chime SDK attendee details for a specified meeting ID+-- and attendee ID. For more information about the Amazon Chime SDK, see+-- <https://docs.aws.amazon.com/chime/latest/dg/meetings-sdk.html Using the Amazon Chime SDK>+-- in the /Amazon Chime Developer Guide/.+module Amazonka.ChimeSdkMeetings.GetAttendee+  ( -- * Creating a Request+    GetAttendee (..),+    newGetAttendee,++    -- * Request Lenses+    getAttendee_meetingId,+    getAttendee_attendeeId,++    -- * Destructuring the Response+    GetAttendeeResponse (..),+    newGetAttendeeResponse,++    -- * Response Lenses+    getAttendeeResponse_attendee,+    getAttendeeResponse_httpStatus,+  )+where++import Amazonka.ChimeSdkMeetings.Types+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++-- | /See:/ 'newGetAttendee' smart constructor.+data GetAttendee = GetAttendee'+  { -- | The Amazon Chime SDK meeting ID.+    meetingId :: Prelude.Text,+    -- | The Amazon Chime SDK attendee ID.+    attendeeId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAttendee' 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:+--+-- 'meetingId', 'getAttendee_meetingId' - The Amazon Chime SDK meeting ID.+--+-- 'attendeeId', 'getAttendee_attendeeId' - The Amazon Chime SDK attendee ID.+newGetAttendee ::+  -- | 'meetingId'+  Prelude.Text ->+  -- | 'attendeeId'+  Prelude.Text ->+  GetAttendee+newGetAttendee pMeetingId_ pAttendeeId_ =+  GetAttendee'+    { meetingId = pMeetingId_,+      attendeeId = pAttendeeId_+    }++-- | The Amazon Chime SDK meeting ID.+getAttendee_meetingId :: Lens.Lens' GetAttendee Prelude.Text+getAttendee_meetingId = Lens.lens (\GetAttendee' {meetingId} -> meetingId) (\s@GetAttendee' {} a -> s {meetingId = a} :: GetAttendee)++-- | The Amazon Chime SDK attendee ID.+getAttendee_attendeeId :: Lens.Lens' GetAttendee Prelude.Text+getAttendee_attendeeId = Lens.lens (\GetAttendee' {attendeeId} -> attendeeId) (\s@GetAttendee' {} a -> s {attendeeId = a} :: GetAttendee)++instance Core.AWSRequest GetAttendee where+  type AWSResponse GetAttendee = GetAttendeeResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetAttendeeResponse'+            Prelude.<$> (x Data..?> "Attendee")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetAttendee where+  hashWithSalt _salt GetAttendee' {..} =+    _salt+      `Prelude.hashWithSalt` meetingId+      `Prelude.hashWithSalt` attendeeId++instance Prelude.NFData GetAttendee where+  rnf GetAttendee' {..} =+    Prelude.rnf meetingId+      `Prelude.seq` Prelude.rnf attendeeId++instance Data.ToHeaders GetAttendee where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath GetAttendee where+  toPath GetAttendee' {..} =+    Prelude.mconcat+      [ "/meetings/",+        Data.toBS meetingId,+        "/attendees/",+        Data.toBS attendeeId+      ]++instance Data.ToQuery GetAttendee where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetAttendeeResponse' smart constructor.+data GetAttendeeResponse = GetAttendeeResponse'+  { -- | The Amazon Chime SDK attendee information.+    attendee :: Prelude.Maybe Attendee,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAttendeeResponse' 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:+--+-- 'attendee', 'getAttendeeResponse_attendee' - The Amazon Chime SDK attendee information.+--+-- 'httpStatus', 'getAttendeeResponse_httpStatus' - The response's http status code.+newGetAttendeeResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetAttendeeResponse+newGetAttendeeResponse pHttpStatus_ =+  GetAttendeeResponse'+    { attendee = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Chime SDK attendee information.+getAttendeeResponse_attendee :: Lens.Lens' GetAttendeeResponse (Prelude.Maybe Attendee)+getAttendeeResponse_attendee = Lens.lens (\GetAttendeeResponse' {attendee} -> attendee) (\s@GetAttendeeResponse' {} a -> s {attendee = a} :: GetAttendeeResponse)++-- | The response's http status code.+getAttendeeResponse_httpStatus :: Lens.Lens' GetAttendeeResponse Prelude.Int+getAttendeeResponse_httpStatus = Lens.lens (\GetAttendeeResponse' {httpStatus} -> httpStatus) (\s@GetAttendeeResponse' {} a -> s {httpStatus = a} :: GetAttendeeResponse)++instance Prelude.NFData GetAttendeeResponse where+  rnf GetAttendeeResponse' {..} =+    Prelude.rnf attendee+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ChimeSdkMeetings/GetMeeting.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.ChimeSdkMeetings.GetMeeting+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the Amazon Chime SDK meeting details for the specified meeting ID.+-- For more information about the Amazon Chime SDK, see+-- <https://docs.aws.amazon.com/chime/latest/dg/meetings-sdk.html Using the Amazon Chime SDK>+-- in the /Amazon Chime Developer Guide/.+module Amazonka.ChimeSdkMeetings.GetMeeting+  ( -- * Creating a Request+    GetMeeting (..),+    newGetMeeting,++    -- * Request Lenses+    getMeeting_meetingId,++    -- * Destructuring the Response+    GetMeetingResponse (..),+    newGetMeetingResponse,++    -- * Response Lenses+    getMeetingResponse_meeting,+    getMeetingResponse_httpStatus,+  )+where++import Amazonka.ChimeSdkMeetings.Types+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++-- | /See:/ 'newGetMeeting' smart constructor.+data GetMeeting = GetMeeting'+  { -- | The Amazon Chime SDK meeting ID.+    meetingId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetMeeting' 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:+--+-- 'meetingId', 'getMeeting_meetingId' - The Amazon Chime SDK meeting ID.+newGetMeeting ::+  -- | 'meetingId'+  Prelude.Text ->+  GetMeeting+newGetMeeting pMeetingId_ =+  GetMeeting' {meetingId = pMeetingId_}++-- | The Amazon Chime SDK meeting ID.+getMeeting_meetingId :: Lens.Lens' GetMeeting Prelude.Text+getMeeting_meetingId = Lens.lens (\GetMeeting' {meetingId} -> meetingId) (\s@GetMeeting' {} a -> s {meetingId = a} :: GetMeeting)++instance Core.AWSRequest GetMeeting where+  type AWSResponse GetMeeting = GetMeetingResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetMeetingResponse'+            Prelude.<$> (x Data..?> "Meeting")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetMeeting where+  hashWithSalt _salt GetMeeting' {..} =+    _salt `Prelude.hashWithSalt` meetingId++instance Prelude.NFData GetMeeting where+  rnf GetMeeting' {..} = Prelude.rnf meetingId++instance Data.ToHeaders GetMeeting where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath GetMeeting where+  toPath GetMeeting' {..} =+    Prelude.mconcat ["/meetings/", Data.toBS meetingId]++instance Data.ToQuery GetMeeting where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetMeetingResponse' smart constructor.+data GetMeetingResponse = GetMeetingResponse'+  { -- | The Amazon Chime SDK meeting information.+    meeting :: Prelude.Maybe Meeting,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetMeetingResponse' 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:+--+-- 'meeting', 'getMeetingResponse_meeting' - The Amazon Chime SDK meeting information.+--+-- 'httpStatus', 'getMeetingResponse_httpStatus' - The response's http status code.+newGetMeetingResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetMeetingResponse+newGetMeetingResponse pHttpStatus_ =+  GetMeetingResponse'+    { meeting = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Chime SDK meeting information.+getMeetingResponse_meeting :: Lens.Lens' GetMeetingResponse (Prelude.Maybe Meeting)+getMeetingResponse_meeting = Lens.lens (\GetMeetingResponse' {meeting} -> meeting) (\s@GetMeetingResponse' {} a -> s {meeting = a} :: GetMeetingResponse)++-- | The response's http status code.+getMeetingResponse_httpStatus :: Lens.Lens' GetMeetingResponse Prelude.Int+getMeetingResponse_httpStatus = Lens.lens (\GetMeetingResponse' {httpStatus} -> httpStatus) (\s@GetMeetingResponse' {} a -> s {httpStatus = a} :: GetMeetingResponse)++instance Prelude.NFData GetMeetingResponse where+  rnf GetMeetingResponse' {..} =+    Prelude.rnf meeting+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ChimeSdkMeetings/Lens.hs view
@@ -0,0 +1,240 @@+{-# 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.ChimeSdkMeetings.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.ChimeSdkMeetings.Lens+  ( -- * Operations++    -- ** BatchCreateAttendee+    batchCreateAttendee_meetingId,+    batchCreateAttendee_attendees,+    batchCreateAttendeeResponse_attendees,+    batchCreateAttendeeResponse_errors,+    batchCreateAttendeeResponse_httpStatus,++    -- ** BatchUpdateAttendeeCapabilitiesExcept+    batchUpdateAttendeeCapabilitiesExcept_meetingId,+    batchUpdateAttendeeCapabilitiesExcept_excludedAttendeeIds,+    batchUpdateAttendeeCapabilitiesExcept_capabilities,++    -- ** CreateAttendee+    createAttendee_capabilities,+    createAttendee_meetingId,+    createAttendee_externalUserId,+    createAttendeeResponse_attendee,+    createAttendeeResponse_httpStatus,++    -- ** CreateMeeting+    createMeeting_meetingFeatures,+    createMeeting_meetingHostId,+    createMeeting_notificationsConfiguration,+    createMeeting_primaryMeetingId,+    createMeeting_tags,+    createMeeting_tenantIds,+    createMeeting_clientRequestToken,+    createMeeting_mediaRegion,+    createMeeting_externalMeetingId,+    createMeetingResponse_meeting,+    createMeetingResponse_httpStatus,++    -- ** CreateMeetingWithAttendees+    createMeetingWithAttendees_meetingFeatures,+    createMeetingWithAttendees_meetingHostId,+    createMeetingWithAttendees_notificationsConfiguration,+    createMeetingWithAttendees_primaryMeetingId,+    createMeetingWithAttendees_tags,+    createMeetingWithAttendees_tenantIds,+    createMeetingWithAttendees_clientRequestToken,+    createMeetingWithAttendees_mediaRegion,+    createMeetingWithAttendees_externalMeetingId,+    createMeetingWithAttendees_attendees,+    createMeetingWithAttendeesResponse_attendees,+    createMeetingWithAttendeesResponse_errors,+    createMeetingWithAttendeesResponse_meeting,+    createMeetingWithAttendeesResponse_httpStatus,++    -- ** DeleteAttendee+    deleteAttendee_meetingId,+    deleteAttendee_attendeeId,++    -- ** DeleteMeeting+    deleteMeeting_meetingId,++    -- ** GetAttendee+    getAttendee_meetingId,+    getAttendee_attendeeId,+    getAttendeeResponse_attendee,+    getAttendeeResponse_httpStatus,++    -- ** GetMeeting+    getMeeting_meetingId,+    getMeetingResponse_meeting,+    getMeetingResponse_httpStatus,++    -- ** ListAttendees+    listAttendees_maxResults,+    listAttendees_nextToken,+    listAttendees_meetingId,+    listAttendeesResponse_attendees,+    listAttendeesResponse_nextToken,+    listAttendeesResponse_httpStatus,++    -- ** ListTagsForResource+    listTagsForResource_resourceARN,+    listTagsForResourceResponse_tags,+    listTagsForResourceResponse_httpStatus,++    -- ** StartMeetingTranscription+    startMeetingTranscription_meetingId,+    startMeetingTranscription_transcriptionConfiguration,++    -- ** StopMeetingTranscription+    stopMeetingTranscription_meetingId,++    -- ** TagResource+    tagResource_resourceARN,+    tagResource_tags,+    tagResourceResponse_httpStatus,++    -- ** UntagResource+    untagResource_resourceARN,+    untagResource_tagKeys,+    untagResourceResponse_httpStatus,++    -- ** UpdateAttendeeCapabilities+    updateAttendeeCapabilities_meetingId,+    updateAttendeeCapabilities_attendeeId,+    updateAttendeeCapabilities_capabilities,+    updateAttendeeCapabilitiesResponse_attendee,+    updateAttendeeCapabilitiesResponse_httpStatus,++    -- * Types++    -- ** Attendee+    attendee_attendeeId,+    attendee_capabilities,+    attendee_externalUserId,+    attendee_joinToken,++    -- ** AttendeeCapabilities+    attendeeCapabilities_audio,+    attendeeCapabilities_video,+    attendeeCapabilities_content,++    -- ** AttendeeIdItem+    attendeeIdItem_attendeeId,++    -- ** AudioFeatures+    audioFeatures_echoReduction,++    -- ** CreateAttendeeError+    createAttendeeError_errorCode,+    createAttendeeError_errorMessage,+    createAttendeeError_externalUserId,++    -- ** CreateAttendeeRequestItem+    createAttendeeRequestItem_capabilities,+    createAttendeeRequestItem_externalUserId,++    -- ** EngineTranscribeMedicalSettings+    engineTranscribeMedicalSettings_contentIdentificationType,+    engineTranscribeMedicalSettings_region,+    engineTranscribeMedicalSettings_vocabularyName,+    engineTranscribeMedicalSettings_languageCode,+    engineTranscribeMedicalSettings_specialty,+    engineTranscribeMedicalSettings_type,++    -- ** EngineTranscribeSettings+    engineTranscribeSettings_contentIdentificationType,+    engineTranscribeSettings_contentRedactionType,+    engineTranscribeSettings_enablePartialResultsStabilization,+    engineTranscribeSettings_identifyLanguage,+    engineTranscribeSettings_languageCode,+    engineTranscribeSettings_languageModelName,+    engineTranscribeSettings_languageOptions,+    engineTranscribeSettings_partialResultsStability,+    engineTranscribeSettings_piiEntityTypes,+    engineTranscribeSettings_preferredLanguage,+    engineTranscribeSettings_region,+    engineTranscribeSettings_vocabularyFilterMethod,+    engineTranscribeSettings_vocabularyFilterName,+    engineTranscribeSettings_vocabularyName,++    -- ** MediaPlacement+    mediaPlacement_audioFallbackUrl,+    mediaPlacement_audioHostUrl,+    mediaPlacement_eventIngestionUrl,+    mediaPlacement_screenDataUrl,+    mediaPlacement_screenSharingUrl,+    mediaPlacement_screenViewingUrl,+    mediaPlacement_signalingUrl,+    mediaPlacement_turnControlUrl,++    -- ** Meeting+    meeting_externalMeetingId,+    meeting_mediaPlacement,+    meeting_mediaRegion,+    meeting_meetingArn,+    meeting_meetingFeatures,+    meeting_meetingHostId,+    meeting_meetingId,+    meeting_primaryMeetingId,+    meeting_tenantIds,++    -- ** MeetingFeaturesConfiguration+    meetingFeaturesConfiguration_audio,++    -- ** NotificationsConfiguration+    notificationsConfiguration_lambdaFunctionArn,+    notificationsConfiguration_snsTopicArn,+    notificationsConfiguration_sqsQueueArn,++    -- ** Tag+    tag_key,+    tag_value,++    -- ** TranscriptionConfiguration+    transcriptionConfiguration_engineTranscribeMedicalSettings,+    transcriptionConfiguration_engineTranscribeSettings,+  )+where++import Amazonka.ChimeSdkMeetings.BatchCreateAttendee+import Amazonka.ChimeSdkMeetings.BatchUpdateAttendeeCapabilitiesExcept+import Amazonka.ChimeSdkMeetings.CreateAttendee+import Amazonka.ChimeSdkMeetings.CreateMeeting+import Amazonka.ChimeSdkMeetings.CreateMeetingWithAttendees+import Amazonka.ChimeSdkMeetings.DeleteAttendee+import Amazonka.ChimeSdkMeetings.DeleteMeeting+import Amazonka.ChimeSdkMeetings.GetAttendee+import Amazonka.ChimeSdkMeetings.GetMeeting+import Amazonka.ChimeSdkMeetings.ListAttendees+import Amazonka.ChimeSdkMeetings.ListTagsForResource+import Amazonka.ChimeSdkMeetings.StartMeetingTranscription+import Amazonka.ChimeSdkMeetings.StopMeetingTranscription+import Amazonka.ChimeSdkMeetings.TagResource+import Amazonka.ChimeSdkMeetings.Types.Attendee+import Amazonka.ChimeSdkMeetings.Types.AttendeeCapabilities+import Amazonka.ChimeSdkMeetings.Types.AttendeeIdItem+import Amazonka.ChimeSdkMeetings.Types.AudioFeatures+import Amazonka.ChimeSdkMeetings.Types.CreateAttendeeError+import Amazonka.ChimeSdkMeetings.Types.CreateAttendeeRequestItem+import Amazonka.ChimeSdkMeetings.Types.EngineTranscribeMedicalSettings+import Amazonka.ChimeSdkMeetings.Types.EngineTranscribeSettings+import Amazonka.ChimeSdkMeetings.Types.MediaPlacement+import Amazonka.ChimeSdkMeetings.Types.Meeting+import Amazonka.ChimeSdkMeetings.Types.MeetingFeaturesConfiguration+import Amazonka.ChimeSdkMeetings.Types.NotificationsConfiguration+import Amazonka.ChimeSdkMeetings.Types.Tag+import Amazonka.ChimeSdkMeetings.Types.TranscriptionConfiguration+import Amazonka.ChimeSdkMeetings.UntagResource+import Amazonka.ChimeSdkMeetings.UpdateAttendeeCapabilities
+ gen/Amazonka/ChimeSdkMeetings/ListAttendees.hs view
@@ -0,0 +1,197 @@+{-# 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.ChimeSdkMeetings.ListAttendees+-- 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 the attendees for the specified Amazon Chime SDK meeting. For more+-- information about the Amazon Chime SDK, see+-- <https://docs.aws.amazon.com/chime/latest/dg/meetings-sdk.html Using the Amazon Chime SDK>+-- in the /Amazon Chime Developer Guide/.+module Amazonka.ChimeSdkMeetings.ListAttendees+  ( -- * Creating a Request+    ListAttendees (..),+    newListAttendees,++    -- * Request Lenses+    listAttendees_maxResults,+    listAttendees_nextToken,+    listAttendees_meetingId,++    -- * Destructuring the Response+    ListAttendeesResponse (..),+    newListAttendeesResponse,++    -- * Response Lenses+    listAttendeesResponse_attendees,+    listAttendeesResponse_nextToken,+    listAttendeesResponse_httpStatus,+  )+where++import Amazonka.ChimeSdkMeetings.Types+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++-- | /See:/ 'newListAttendees' smart constructor.+data ListAttendees = ListAttendees'+  { -- | The maximum number of results to return in a single call.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token to use to retrieve the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Chime SDK meeting ID.+    meetingId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAttendees' 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', 'listAttendees_maxResults' - The maximum number of results to return in a single call.+--+-- 'nextToken', 'listAttendees_nextToken' - The token to use to retrieve the next page of results.+--+-- 'meetingId', 'listAttendees_meetingId' - The Amazon Chime SDK meeting ID.+newListAttendees ::+  -- | 'meetingId'+  Prelude.Text ->+  ListAttendees+newListAttendees pMeetingId_ =+  ListAttendees'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      meetingId = pMeetingId_+    }++-- | The maximum number of results to return in a single call.+listAttendees_maxResults :: Lens.Lens' ListAttendees (Prelude.Maybe Prelude.Natural)+listAttendees_maxResults = Lens.lens (\ListAttendees' {maxResults} -> maxResults) (\s@ListAttendees' {} a -> s {maxResults = a} :: ListAttendees)++-- | The token to use to retrieve the next page of results.+listAttendees_nextToken :: Lens.Lens' ListAttendees (Prelude.Maybe Prelude.Text)+listAttendees_nextToken = Lens.lens (\ListAttendees' {nextToken} -> nextToken) (\s@ListAttendees' {} a -> s {nextToken = a} :: ListAttendees)++-- | The Amazon Chime SDK meeting ID.+listAttendees_meetingId :: Lens.Lens' ListAttendees Prelude.Text+listAttendees_meetingId = Lens.lens (\ListAttendees' {meetingId} -> meetingId) (\s@ListAttendees' {} a -> s {meetingId = a} :: ListAttendees)++instance Core.AWSRequest ListAttendees where+  type+    AWSResponse ListAttendees =+      ListAttendeesResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListAttendeesResponse'+            Prelude.<$> (x Data..?> "Attendees" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListAttendees where+  hashWithSalt _salt ListAttendees' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` meetingId++instance Prelude.NFData ListAttendees where+  rnf ListAttendees' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf meetingId++instance Data.ToHeaders ListAttendees where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ListAttendees where+  toPath ListAttendees' {..} =+    Prelude.mconcat+      ["/meetings/", Data.toBS meetingId, "/attendees"]++instance Data.ToQuery ListAttendees where+  toQuery ListAttendees' {..} =+    Prelude.mconcat+      [ "max-results" Data.=: maxResults,+        "next-token" Data.=: nextToken+      ]++-- | /See:/ 'newListAttendeesResponse' smart constructor.+data ListAttendeesResponse = ListAttendeesResponse'+  { -- | The Amazon Chime SDK attendee information.+    attendees :: Prelude.Maybe [Attendee],+    -- | The token to use to retrieve the next page of results.+    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 'ListAttendeesResponse' 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:+--+-- 'attendees', 'listAttendeesResponse_attendees' - The Amazon Chime SDK attendee information.+--+-- 'nextToken', 'listAttendeesResponse_nextToken' - The token to use to retrieve the next page of results.+--+-- 'httpStatus', 'listAttendeesResponse_httpStatus' - The response's http status code.+newListAttendeesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListAttendeesResponse+newListAttendeesResponse pHttpStatus_ =+  ListAttendeesResponse'+    { attendees = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Chime SDK attendee information.+listAttendeesResponse_attendees :: Lens.Lens' ListAttendeesResponse (Prelude.Maybe [Attendee])+listAttendeesResponse_attendees = Lens.lens (\ListAttendeesResponse' {attendees} -> attendees) (\s@ListAttendeesResponse' {} a -> s {attendees = a} :: ListAttendeesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token to use to retrieve the next page of results.+listAttendeesResponse_nextToken :: Lens.Lens' ListAttendeesResponse (Prelude.Maybe Prelude.Text)+listAttendeesResponse_nextToken = Lens.lens (\ListAttendeesResponse' {nextToken} -> nextToken) (\s@ListAttendeesResponse' {} a -> s {nextToken = a} :: ListAttendeesResponse)++-- | The response's http status code.+listAttendeesResponse_httpStatus :: Lens.Lens' ListAttendeesResponse Prelude.Int+listAttendeesResponse_httpStatus = Lens.lens (\ListAttendeesResponse' {httpStatus} -> httpStatus) (\s@ListAttendeesResponse' {} a -> s {httpStatus = a} :: ListAttendeesResponse)++instance Prelude.NFData ListAttendeesResponse where+  rnf ListAttendeesResponse' {..} =+    Prelude.rnf attendees+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ChimeSdkMeetings/ListTagsForResource.hs view
@@ -0,0 +1,151 @@+{-# 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.ChimeSdkMeetings.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)+--+-- Returns a list of the tags available for the specified resource.+module Amazonka.ChimeSdkMeetings.ListTagsForResource+  ( -- * Creating a Request+    ListTagsForResource (..),+    newListTagsForResource,++    -- * Request Lenses+    listTagsForResource_resourceARN,++    -- * Destructuring the Response+    ListTagsForResourceResponse (..),+    newListTagsForResourceResponse,++    -- * Response Lenses+    listTagsForResourceResponse_tags,+    listTagsForResourceResponse_httpStatus,+  )+where++import Amazonka.ChimeSdkMeetings.Types+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++-- | /See:/ 'newListTagsForResource' smart constructor.+data ListTagsForResource = ListTagsForResource'+  { -- | The ARN of the resource.+    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 ARN of the resource.+newListTagsForResource ::+  -- | 'resourceARN'+  Prelude.Text ->+  ListTagsForResource+newListTagsForResource pResourceARN_ =+  ListTagsForResource' {resourceARN = pResourceARN_}++-- | The ARN of the resource.+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.get (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.mempty++instance Data.ToPath ListTagsForResource where+  toPath = Prelude.const "/tags"++instance Data.ToQuery ListTagsForResource where+  toQuery ListTagsForResource' {..} =+    Prelude.mconcat ["arn" Data.=: resourceARN]++-- | /See:/ 'newListTagsForResourceResponse' smart constructor.+data ListTagsForResourceResponse = ListTagsForResourceResponse'+  { -- | The tags requested for the specified resource.+    tags :: Prelude.Maybe [Tag],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, 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 tags requested for 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 tags requested for 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/ChimeSdkMeetings/StartMeetingTranscription.hs view
@@ -0,0 +1,156 @@+{-# 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.ChimeSdkMeetings.StartMeetingTranscription+-- 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 transcription for the specified @meetingId@.+module Amazonka.ChimeSdkMeetings.StartMeetingTranscription+  ( -- * Creating a Request+    StartMeetingTranscription (..),+    newStartMeetingTranscription,++    -- * Request Lenses+    startMeetingTranscription_meetingId,+    startMeetingTranscription_transcriptionConfiguration,++    -- * Destructuring the Response+    StartMeetingTranscriptionResponse (..),+    newStartMeetingTranscriptionResponse,+  )+where++import Amazonka.ChimeSdkMeetings.Types+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++-- | /See:/ 'newStartMeetingTranscription' smart constructor.+data StartMeetingTranscription = StartMeetingTranscription'+  { -- | The unique ID of the meeting being transcribed.+    meetingId :: Prelude.Text,+    -- | The configuration for the current transcription operation. Must contain+    -- @EngineTranscribeSettings@ or @EngineTranscribeMedicalSettings@.+    transcriptionConfiguration :: TranscriptionConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartMeetingTranscription' 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:+--+-- 'meetingId', 'startMeetingTranscription_meetingId' - The unique ID of the meeting being transcribed.+--+-- 'transcriptionConfiguration', 'startMeetingTranscription_transcriptionConfiguration' - The configuration for the current transcription operation. Must contain+-- @EngineTranscribeSettings@ or @EngineTranscribeMedicalSettings@.+newStartMeetingTranscription ::+  -- | 'meetingId'+  Prelude.Text ->+  -- | 'transcriptionConfiguration'+  TranscriptionConfiguration ->+  StartMeetingTranscription+newStartMeetingTranscription+  pMeetingId_+  pTranscriptionConfiguration_ =+    StartMeetingTranscription'+      { meetingId = pMeetingId_,+        transcriptionConfiguration =+          pTranscriptionConfiguration_+      }++-- | The unique ID of the meeting being transcribed.+startMeetingTranscription_meetingId :: Lens.Lens' StartMeetingTranscription Prelude.Text+startMeetingTranscription_meetingId = Lens.lens (\StartMeetingTranscription' {meetingId} -> meetingId) (\s@StartMeetingTranscription' {} a -> s {meetingId = a} :: StartMeetingTranscription)++-- | The configuration for the current transcription operation. Must contain+-- @EngineTranscribeSettings@ or @EngineTranscribeMedicalSettings@.+startMeetingTranscription_transcriptionConfiguration :: Lens.Lens' StartMeetingTranscription TranscriptionConfiguration+startMeetingTranscription_transcriptionConfiguration = Lens.lens (\StartMeetingTranscription' {transcriptionConfiguration} -> transcriptionConfiguration) (\s@StartMeetingTranscription' {} a -> s {transcriptionConfiguration = a} :: StartMeetingTranscription)++instance Core.AWSRequest StartMeetingTranscription where+  type+    AWSResponse StartMeetingTranscription =+      StartMeetingTranscriptionResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveNull+      StartMeetingTranscriptionResponse'++instance Prelude.Hashable StartMeetingTranscription where+  hashWithSalt _salt StartMeetingTranscription' {..} =+    _salt+      `Prelude.hashWithSalt` meetingId+      `Prelude.hashWithSalt` transcriptionConfiguration++instance Prelude.NFData StartMeetingTranscription where+  rnf StartMeetingTranscription' {..} =+    Prelude.rnf meetingId+      `Prelude.seq` Prelude.rnf transcriptionConfiguration++instance Data.ToHeaders StartMeetingTranscription where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON StartMeetingTranscription where+  toJSON StartMeetingTranscription' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "TranscriptionConfiguration"+                  Data..= transcriptionConfiguration+              )+          ]+      )++instance Data.ToPath StartMeetingTranscription where+  toPath StartMeetingTranscription' {..} =+    Prelude.mconcat+      ["/meetings/", Data.toBS meetingId, "/transcription"]++instance Data.ToQuery StartMeetingTranscription where+  toQuery =+    Prelude.const (Prelude.mconcat ["operation=start"])++-- | /See:/ 'newStartMeetingTranscriptionResponse' smart constructor.+data StartMeetingTranscriptionResponse = StartMeetingTranscriptionResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartMeetingTranscriptionResponse' 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.+newStartMeetingTranscriptionResponse ::+  StartMeetingTranscriptionResponse+newStartMeetingTranscriptionResponse =+  StartMeetingTranscriptionResponse'++instance+  Prelude.NFData+    StartMeetingTranscriptionResponse+  where+  rnf _ = ()
+ gen/Amazonka/ChimeSdkMeetings/StopMeetingTranscription.hs view
@@ -0,0 +1,125 @@+{-# 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.ChimeSdkMeetings.StopMeetingTranscription+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Stops transcription for the specified @meetingId@.+module Amazonka.ChimeSdkMeetings.StopMeetingTranscription+  ( -- * Creating a Request+    StopMeetingTranscription (..),+    newStopMeetingTranscription,++    -- * Request Lenses+    stopMeetingTranscription_meetingId,++    -- * Destructuring the Response+    StopMeetingTranscriptionResponse (..),+    newStopMeetingTranscriptionResponse,+  )+where++import Amazonka.ChimeSdkMeetings.Types+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++-- | /See:/ 'newStopMeetingTranscription' smart constructor.+data StopMeetingTranscription = StopMeetingTranscription'+  { -- | The unique ID of the meeting for which you stop transcription.+    meetingId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StopMeetingTranscription' 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:+--+-- 'meetingId', 'stopMeetingTranscription_meetingId' - The unique ID of the meeting for which you stop transcription.+newStopMeetingTranscription ::+  -- | 'meetingId'+  Prelude.Text ->+  StopMeetingTranscription+newStopMeetingTranscription pMeetingId_ =+  StopMeetingTranscription' {meetingId = pMeetingId_}++-- | The unique ID of the meeting for which you stop transcription.+stopMeetingTranscription_meetingId :: Lens.Lens' StopMeetingTranscription Prelude.Text+stopMeetingTranscription_meetingId = Lens.lens (\StopMeetingTranscription' {meetingId} -> meetingId) (\s@StopMeetingTranscription' {} a -> s {meetingId = a} :: StopMeetingTranscription)++instance Core.AWSRequest StopMeetingTranscription where+  type+    AWSResponse StopMeetingTranscription =+      StopMeetingTranscriptionResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveNull+      StopMeetingTranscriptionResponse'++instance Prelude.Hashable StopMeetingTranscription where+  hashWithSalt _salt StopMeetingTranscription' {..} =+    _salt `Prelude.hashWithSalt` meetingId++instance Prelude.NFData StopMeetingTranscription where+  rnf StopMeetingTranscription' {..} =+    Prelude.rnf meetingId++instance Data.ToHeaders StopMeetingTranscription where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON StopMeetingTranscription where+  toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath StopMeetingTranscription where+  toPath StopMeetingTranscription' {..} =+    Prelude.mconcat+      ["/meetings/", Data.toBS meetingId, "/transcription"]++instance Data.ToQuery StopMeetingTranscription where+  toQuery =+    Prelude.const (Prelude.mconcat ["operation=stop"])++-- | /See:/ 'newStopMeetingTranscriptionResponse' smart constructor.+data StopMeetingTranscriptionResponse = StopMeetingTranscriptionResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StopMeetingTranscriptionResponse' 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.+newStopMeetingTranscriptionResponse ::+  StopMeetingTranscriptionResponse+newStopMeetingTranscriptionResponse =+  StopMeetingTranscriptionResponse'++instance+  Prelude.NFData+    StopMeetingTranscriptionResponse+  where+  rnf _ = ()
+ gen/Amazonka/ChimeSdkMeetings/TagResource.hs view
@@ -0,0 +1,158 @@+{-# 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.ChimeSdkMeetings.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)+--+-- The resource that supports tags.+module Amazonka.ChimeSdkMeetings.TagResource+  ( -- * Creating a Request+    TagResource (..),+    newTagResource,++    -- * Request Lenses+    tagResource_resourceARN,+    tagResource_tags,++    -- * Destructuring the Response+    TagResourceResponse (..),+    newTagResourceResponse,++    -- * Response Lenses+    tagResourceResponse_httpStatus,+  )+where++import Amazonka.ChimeSdkMeetings.Types+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++-- | /See:/ 'newTagResource' smart constructor.+data TagResource = TagResource'+  { -- | The ARN of the resource.+    resourceARN :: Prelude.Text,+    -- | Lists the requested tags.+    tags :: [Tag]+  }+  deriving (Prelude.Eq, Prelude.Read, 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 ARN of the resource.+--+-- 'tags', 'tagResource_tags' - Lists the requested tags.+newTagResource ::+  -- | 'resourceARN'+  Prelude.Text ->+  TagResource+newTagResource pResourceARN_ =+  TagResource'+    { resourceARN = pResourceARN_,+      tags = Prelude.mempty+    }++-- | The ARN of the resource.+tagResource_resourceARN :: Lens.Lens' TagResource Prelude.Text+tagResource_resourceARN = Lens.lens (\TagResource' {resourceARN} -> resourceARN) (\s@TagResource' {} a -> s {resourceARN = a} :: TagResource)++-- | Lists the requested tags.+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.mempty++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 "/tags"++instance Data.ToQuery TagResource where+  toQuery =+    Prelude.const+      (Prelude.mconcat ["operation=tag-resource"])++-- | /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/ChimeSdkMeetings/Types.hs view
@@ -0,0 +1,388 @@+{-# 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.ChimeSdkMeetings.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.ChimeSdkMeetings.Types+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    _BadRequestException,+    _ConflictException,+    _ForbiddenException,+    _LimitExceededException,+    _NotFoundException,+    _ResourceNotFoundException,+    _ServiceFailureException,+    _ServiceUnavailableException,+    _ThrottlingException,+    _TooManyTagsException,+    _UnauthorizedException,+    _UnprocessableEntityException,++    -- * MediaCapabilities+    MediaCapabilities (..),++    -- * MeetingFeatureStatus+    MeetingFeatureStatus (..),++    -- * TranscribeContentIdentificationType+    TranscribeContentIdentificationType (..),++    -- * TranscribeContentRedactionType+    TranscribeContentRedactionType (..),++    -- * TranscribeLanguageCode+    TranscribeLanguageCode (..),++    -- * TranscribeMedicalContentIdentificationType+    TranscribeMedicalContentIdentificationType (..),++    -- * TranscribeMedicalLanguageCode+    TranscribeMedicalLanguageCode (..),++    -- * TranscribeMedicalRegion+    TranscribeMedicalRegion (..),++    -- * TranscribeMedicalSpecialty+    TranscribeMedicalSpecialty (..),++    -- * TranscribeMedicalType+    TranscribeMedicalType (..),++    -- * TranscribePartialResultsStability+    TranscribePartialResultsStability (..),++    -- * TranscribeRegion+    TranscribeRegion (..),++    -- * TranscribeVocabularyFilterMethod+    TranscribeVocabularyFilterMethod (..),++    -- * Attendee+    Attendee (..),+    newAttendee,+    attendee_attendeeId,+    attendee_capabilities,+    attendee_externalUserId,+    attendee_joinToken,++    -- * AttendeeCapabilities+    AttendeeCapabilities (..),+    newAttendeeCapabilities,+    attendeeCapabilities_audio,+    attendeeCapabilities_video,+    attendeeCapabilities_content,++    -- * AttendeeIdItem+    AttendeeIdItem (..),+    newAttendeeIdItem,+    attendeeIdItem_attendeeId,++    -- * AudioFeatures+    AudioFeatures (..),+    newAudioFeatures,+    audioFeatures_echoReduction,++    -- * CreateAttendeeError+    CreateAttendeeError (..),+    newCreateAttendeeError,+    createAttendeeError_errorCode,+    createAttendeeError_errorMessage,+    createAttendeeError_externalUserId,++    -- * CreateAttendeeRequestItem+    CreateAttendeeRequestItem (..),+    newCreateAttendeeRequestItem,+    createAttendeeRequestItem_capabilities,+    createAttendeeRequestItem_externalUserId,++    -- * EngineTranscribeMedicalSettings+    EngineTranscribeMedicalSettings (..),+    newEngineTranscribeMedicalSettings,+    engineTranscribeMedicalSettings_contentIdentificationType,+    engineTranscribeMedicalSettings_region,+    engineTranscribeMedicalSettings_vocabularyName,+    engineTranscribeMedicalSettings_languageCode,+    engineTranscribeMedicalSettings_specialty,+    engineTranscribeMedicalSettings_type,++    -- * EngineTranscribeSettings+    EngineTranscribeSettings (..),+    newEngineTranscribeSettings,+    engineTranscribeSettings_contentIdentificationType,+    engineTranscribeSettings_contentRedactionType,+    engineTranscribeSettings_enablePartialResultsStabilization,+    engineTranscribeSettings_identifyLanguage,+    engineTranscribeSettings_languageCode,+    engineTranscribeSettings_languageModelName,+    engineTranscribeSettings_languageOptions,+    engineTranscribeSettings_partialResultsStability,+    engineTranscribeSettings_piiEntityTypes,+    engineTranscribeSettings_preferredLanguage,+    engineTranscribeSettings_region,+    engineTranscribeSettings_vocabularyFilterMethod,+    engineTranscribeSettings_vocabularyFilterName,+    engineTranscribeSettings_vocabularyName,++    -- * MediaPlacement+    MediaPlacement (..),+    newMediaPlacement,+    mediaPlacement_audioFallbackUrl,+    mediaPlacement_audioHostUrl,+    mediaPlacement_eventIngestionUrl,+    mediaPlacement_screenDataUrl,+    mediaPlacement_screenSharingUrl,+    mediaPlacement_screenViewingUrl,+    mediaPlacement_signalingUrl,+    mediaPlacement_turnControlUrl,++    -- * Meeting+    Meeting (..),+    newMeeting,+    meeting_externalMeetingId,+    meeting_mediaPlacement,+    meeting_mediaRegion,+    meeting_meetingArn,+    meeting_meetingFeatures,+    meeting_meetingHostId,+    meeting_meetingId,+    meeting_primaryMeetingId,+    meeting_tenantIds,++    -- * MeetingFeaturesConfiguration+    MeetingFeaturesConfiguration (..),+    newMeetingFeaturesConfiguration,+    meetingFeaturesConfiguration_audio,++    -- * NotificationsConfiguration+    NotificationsConfiguration (..),+    newNotificationsConfiguration,+    notificationsConfiguration_lambdaFunctionArn,+    notificationsConfiguration_snsTopicArn,+    notificationsConfiguration_sqsQueueArn,++    -- * Tag+    Tag (..),+    newTag,+    tag_key,+    tag_value,++    -- * TranscriptionConfiguration+    TranscriptionConfiguration (..),+    newTranscriptionConfiguration,+    transcriptionConfiguration_engineTranscribeMedicalSettings,+    transcriptionConfiguration_engineTranscribeSettings,+  )+where++import Amazonka.ChimeSdkMeetings.Types.Attendee+import Amazonka.ChimeSdkMeetings.Types.AttendeeCapabilities+import Amazonka.ChimeSdkMeetings.Types.AttendeeIdItem+import Amazonka.ChimeSdkMeetings.Types.AudioFeatures+import Amazonka.ChimeSdkMeetings.Types.CreateAttendeeError+import Amazonka.ChimeSdkMeetings.Types.CreateAttendeeRequestItem+import Amazonka.ChimeSdkMeetings.Types.EngineTranscribeMedicalSettings+import Amazonka.ChimeSdkMeetings.Types.EngineTranscribeSettings+import Amazonka.ChimeSdkMeetings.Types.MediaCapabilities+import Amazonka.ChimeSdkMeetings.Types.MediaPlacement+import Amazonka.ChimeSdkMeetings.Types.Meeting+import Amazonka.ChimeSdkMeetings.Types.MeetingFeatureStatus+import Amazonka.ChimeSdkMeetings.Types.MeetingFeaturesConfiguration+import Amazonka.ChimeSdkMeetings.Types.NotificationsConfiguration+import Amazonka.ChimeSdkMeetings.Types.Tag+import Amazonka.ChimeSdkMeetings.Types.TranscribeContentIdentificationType+import Amazonka.ChimeSdkMeetings.Types.TranscribeContentRedactionType+import Amazonka.ChimeSdkMeetings.Types.TranscribeLanguageCode+import Amazonka.ChimeSdkMeetings.Types.TranscribeMedicalContentIdentificationType+import Amazonka.ChimeSdkMeetings.Types.TranscribeMedicalLanguageCode+import Amazonka.ChimeSdkMeetings.Types.TranscribeMedicalRegion+import Amazonka.ChimeSdkMeetings.Types.TranscribeMedicalSpecialty+import Amazonka.ChimeSdkMeetings.Types.TranscribeMedicalType+import Amazonka.ChimeSdkMeetings.Types.TranscribePartialResultsStability+import Amazonka.ChimeSdkMeetings.Types.TranscribeRegion+import Amazonka.ChimeSdkMeetings.Types.TranscribeVocabularyFilterMethod+import Amazonka.ChimeSdkMeetings.Types.TranscriptionConfiguration+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++-- | API version @2021-07-15@ of the Amazon Chime SDK Meetings SDK configuration.+defaultService :: Core.Service+defaultService =+  Core.Service+    { Core.abbrev = "ChimeSdkMeetings",+      Core.signer = Sign.v4,+      Core.endpointPrefix = "meetings-chime",+      Core.signingName = "chime",+      Core.version = "2021-07-15",+      Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+      Core.endpoint = Core.defaultEndpoint defaultService,+      Core.timeout = Prelude.Just 70,+      Core.check = Core.statusSuccess,+      Core.error = Core.parseJSONError "ChimeSdkMeetings",+      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++-- | The input parameters don\'t match the service\'s restrictions.+_BadRequestException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_BadRequestException =+  Core._MatchServiceError+    defaultService+    "BadRequestException"+    Prelude.. Core.hasStatus 400++-- | Multiple instances of the same request have been made simultaneously.+_ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ConflictException =+  Core._MatchServiceError+    defaultService+    "ConflictException"+    Prelude.. Core.hasStatus 409++-- | The client is permanently forbidden from making the request.+_ForbiddenException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ForbiddenException =+  Core._MatchServiceError+    defaultService+    "ForbiddenException"+    Prelude.. Core.hasStatus 403++-- | The request exceeds the resource limit.+_LimitExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_LimitExceededException =+  Core._MatchServiceError+    defaultService+    "LimitExceededException"+    Prelude.. Core.hasStatus 400++-- | One or more of the resources in the request does not exist in the+-- system.+_NotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_NotFoundException =+  Core._MatchServiceError+    defaultService+    "NotFoundException"+    Prelude.. Core.hasStatus 404++-- | The resource that you want to tag couldn\'t be found.+_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotFoundException =+  Core._MatchServiceError+    defaultService+    "ResourceNotFoundException"+    Prelude.. Core.hasStatus 404++-- | The service encountered an unexpected error.+_ServiceFailureException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ServiceFailureException =+  Core._MatchServiceError+    defaultService+    "ServiceFailureException"+    Prelude.. Core.hasStatus 500++-- | The service is currently unavailable.+_ServiceUnavailableException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ServiceUnavailableException =+  Core._MatchServiceError+    defaultService+    "ServiceUnavailableException"+    Prelude.. Core.hasStatus 503++-- | The number of customer requests exceeds the request rate limit.+_ThrottlingException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ThrottlingException =+  Core._MatchServiceError+    defaultService+    "ThrottlingException"+    Prelude.. Core.hasStatus 429++-- | Too many tags were added to the specified resource.+_TooManyTagsException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_TooManyTagsException =+  Core._MatchServiceError+    defaultService+    "TooManyTagsException"+    Prelude.. Core.hasStatus 400++-- | The user isn\'t authorized to request a resource.+_UnauthorizedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_UnauthorizedException =+  Core._MatchServiceError+    defaultService+    "UnauthorizedException"+    Prelude.. Core.hasStatus 401++-- | The request was well-formed but was unable to be followed due to+-- semantic errors.+_UnprocessableEntityException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_UnprocessableEntityException =+  Core._MatchServiceError+    defaultService+    "UnprocessableEntityException"+    Prelude.. Core.hasStatus 422
+ gen/Amazonka/ChimeSdkMeetings/Types/Attendee.hs view
@@ -0,0 +1,192 @@+{-# 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.ChimeSdkMeetings.Types.Attendee+-- 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.ChimeSdkMeetings.Types.Attendee where++import Amazonka.ChimeSdkMeetings.Types.AttendeeCapabilities+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++-- | An Amazon Chime SDK meeting attendee. Includes a unique @AttendeeId@ and+-- @JoinToken@. The @JoinToken@ allows a client to authenticate and join as+-- the specified attendee. The @JoinToken@ expires when the meeting ends,+-- or when DeleteAttendee is called. After that, the attendee is unable to+-- join the meeting.+--+-- We recommend securely transferring each @JoinToken@ from your server+-- application to the client so that no other client has access to the+-- token except for the one authorized to represent the attendee.+--+-- /See:/ 'newAttendee' smart constructor.+data Attendee = Attendee'+  { -- | The Amazon Chime SDK attendee ID.+    attendeeId :: Prelude.Maybe Prelude.Text,+    -- | The capabilities assigned to an attendee: audio, video, or content.+    --+    -- You use the capabilities with a set of values that control what the+    -- capabilities can do, such as @SendReceive@ data. For more information+    -- about those values, see .+    --+    -- When using capabilities, be aware of these corner cases:+    --+    -- -   You can\'t set @content@ capabilities to @SendReceive@ or @Receive@+    --     unless you also set @video@ capabilities to @SendReceive@ or+    --     @Receive@. If you don\'t set the @video@ capability to receive, the+    --     response will contain an HTTP 400 Bad Request status code. However,+    --     you can set your @video@ capability to receive and you set your+    --     @content@ capability to not receive.+    --+    -- -   When you change an @audio@ capability from @None@ or @Receive@ to+    --     @Send@ or @SendReceive@ , and if the attendee left their microphone+    --     unmuted, audio will flow from the attendee to the other meeting+    --     participants.+    --+    -- -   When you change a @video@ or @content@ capability from @None@ or+    --     @Receive@ to @Send@ or @SendReceive@ , and if the attendee turned on+    --     their video or content streams, remote attendess can receive those+    --     streams, but only after media renegotiation between the client and+    --     the Amazon Chime back-end server.+    capabilities :: Prelude.Maybe AttendeeCapabilities,+    -- | The Amazon Chime SDK external user ID. An idempotency token. Links the+    -- attendee to an identity managed by a builder application.+    externalUserId :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The join token used by the Amazon Chime SDK attendee.+    joinToken :: Prelude.Maybe (Data.Sensitive Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Attendee' 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:+--+-- 'attendeeId', 'attendee_attendeeId' - The Amazon Chime SDK attendee ID.+--+-- 'capabilities', 'attendee_capabilities' - The capabilities assigned to an attendee: audio, video, or content.+--+-- You use the capabilities with a set of values that control what the+-- capabilities can do, such as @SendReceive@ data. For more information+-- about those values, see .+--+-- When using capabilities, be aware of these corner cases:+--+-- -   You can\'t set @content@ capabilities to @SendReceive@ or @Receive@+--     unless you also set @video@ capabilities to @SendReceive@ or+--     @Receive@. If you don\'t set the @video@ capability to receive, the+--     response will contain an HTTP 400 Bad Request status code. However,+--     you can set your @video@ capability to receive and you set your+--     @content@ capability to not receive.+--+-- -   When you change an @audio@ capability from @None@ or @Receive@ to+--     @Send@ or @SendReceive@ , and if the attendee left their microphone+--     unmuted, audio will flow from the attendee to the other meeting+--     participants.+--+-- -   When you change a @video@ or @content@ capability from @None@ or+--     @Receive@ to @Send@ or @SendReceive@ , and if the attendee turned on+--     their video or content streams, remote attendess can receive those+--     streams, but only after media renegotiation between the client and+--     the Amazon Chime back-end server.+--+-- 'externalUserId', 'attendee_externalUserId' - The Amazon Chime SDK external user ID. An idempotency token. Links the+-- attendee to an identity managed by a builder application.+--+-- 'joinToken', 'attendee_joinToken' - The join token used by the Amazon Chime SDK attendee.+newAttendee ::+  Attendee+newAttendee =+  Attendee'+    { attendeeId = Prelude.Nothing,+      capabilities = Prelude.Nothing,+      externalUserId = Prelude.Nothing,+      joinToken = Prelude.Nothing+    }++-- | The Amazon Chime SDK attendee ID.+attendee_attendeeId :: Lens.Lens' Attendee (Prelude.Maybe Prelude.Text)+attendee_attendeeId = Lens.lens (\Attendee' {attendeeId} -> attendeeId) (\s@Attendee' {} a -> s {attendeeId = a} :: Attendee)++-- | The capabilities assigned to an attendee: audio, video, or content.+--+-- You use the capabilities with a set of values that control what the+-- capabilities can do, such as @SendReceive@ data. For more information+-- about those values, see .+--+-- When using capabilities, be aware of these corner cases:+--+-- -   You can\'t set @content@ capabilities to @SendReceive@ or @Receive@+--     unless you also set @video@ capabilities to @SendReceive@ or+--     @Receive@. If you don\'t set the @video@ capability to receive, the+--     response will contain an HTTP 400 Bad Request status code. However,+--     you can set your @video@ capability to receive and you set your+--     @content@ capability to not receive.+--+-- -   When you change an @audio@ capability from @None@ or @Receive@ to+--     @Send@ or @SendReceive@ , and if the attendee left their microphone+--     unmuted, audio will flow from the attendee to the other meeting+--     participants.+--+-- -   When you change a @video@ or @content@ capability from @None@ or+--     @Receive@ to @Send@ or @SendReceive@ , and if the attendee turned on+--     their video or content streams, remote attendess can receive those+--     streams, but only after media renegotiation between the client and+--     the Amazon Chime back-end server.+attendee_capabilities :: Lens.Lens' Attendee (Prelude.Maybe AttendeeCapabilities)+attendee_capabilities = Lens.lens (\Attendee' {capabilities} -> capabilities) (\s@Attendee' {} a -> s {capabilities = a} :: Attendee)++-- | The Amazon Chime SDK external user ID. An idempotency token. Links the+-- attendee to an identity managed by a builder application.+attendee_externalUserId :: Lens.Lens' Attendee (Prelude.Maybe Prelude.Text)+attendee_externalUserId = Lens.lens (\Attendee' {externalUserId} -> externalUserId) (\s@Attendee' {} a -> s {externalUserId = a} :: Attendee) Prelude.. Lens.mapping Data._Sensitive++-- | The join token used by the Amazon Chime SDK attendee.+attendee_joinToken :: Lens.Lens' Attendee (Prelude.Maybe Prelude.Text)+attendee_joinToken = Lens.lens (\Attendee' {joinToken} -> joinToken) (\s@Attendee' {} a -> s {joinToken = a} :: Attendee) Prelude.. Lens.mapping Data._Sensitive++instance Data.FromJSON Attendee where+  parseJSON =+    Data.withObject+      "Attendee"+      ( \x ->+          Attendee'+            Prelude.<$> (x Data..:? "AttendeeId")+            Prelude.<*> (x Data..:? "Capabilities")+            Prelude.<*> (x Data..:? "ExternalUserId")+            Prelude.<*> (x Data..:? "JoinToken")+      )++instance Prelude.Hashable Attendee where+  hashWithSalt _salt Attendee' {..} =+    _salt+      `Prelude.hashWithSalt` attendeeId+      `Prelude.hashWithSalt` capabilities+      `Prelude.hashWithSalt` externalUserId+      `Prelude.hashWithSalt` joinToken++instance Prelude.NFData Attendee where+  rnf Attendee' {..} =+    Prelude.rnf attendeeId+      `Prelude.seq` Prelude.rnf capabilities+      `Prelude.seq` Prelude.rnf externalUserId+      `Prelude.seq` Prelude.rnf joinToken
+ gen/Amazonka/ChimeSdkMeetings/Types/AttendeeCapabilities.hs view
@@ -0,0 +1,137 @@+{-# 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.ChimeSdkMeetings.Types.AttendeeCapabilities+-- 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.ChimeSdkMeetings.Types.AttendeeCapabilities where++import Amazonka.ChimeSdkMeetings.Types.MediaCapabilities+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 media capabilities of an attendee: audio, video, or content.+--+-- You use the capabilities with a set of values that control what the+-- capabilities can do, such as @SendReceive@ data. For more information+-- about those values, see .+--+-- When using capabilities, be aware of these corner cases:+--+-- -   You can\'t set @content@ capabilities to @SendReceive@ or @Receive@+--     unless you also set @video@ capabilities to @SendReceive@ or+--     @Receive@. If you don\'t set the @video@ capability to receive, the+--     response will contain an HTTP 400 Bad Request status code. However,+--     you can set your @video@ capability to receive and you set your+--     @content@ capability to not receive.+--+-- -   When you change an @audio@ capability from @None@ or @Receive@ to+--     @Send@ or @SendReceive@ , and if the attendee left their microphone+--     unmuted, audio will flow from the attendee to the other meeting+--     participants.+--+-- -   When you change a @video@ or @content@ capability from @None@ or+--     @Receive@ to @Send@ or @SendReceive@ , and if the attendee turned on+--     their video or content streams, remote attendess can receive those+--     streams, but only after media renegotiation between the client and+--     the Amazon Chime back-end server.+--+-- /See:/ 'newAttendeeCapabilities' smart constructor.+data AttendeeCapabilities = AttendeeCapabilities'+  { -- | The audio capability assigned to an attendee.+    audio :: MediaCapabilities,+    -- | The video capability assigned to an attendee.+    video :: MediaCapabilities,+    -- | The content capability assigned to an attendee.+    content :: MediaCapabilities+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AttendeeCapabilities' 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:+--+-- 'audio', 'attendeeCapabilities_audio' - The audio capability assigned to an attendee.+--+-- 'video', 'attendeeCapabilities_video' - The video capability assigned to an attendee.+--+-- 'content', 'attendeeCapabilities_content' - The content capability assigned to an attendee.+newAttendeeCapabilities ::+  -- | 'audio'+  MediaCapabilities ->+  -- | 'video'+  MediaCapabilities ->+  -- | 'content'+  MediaCapabilities ->+  AttendeeCapabilities+newAttendeeCapabilities pAudio_ pVideo_ pContent_ =+  AttendeeCapabilities'+    { audio = pAudio_,+      video = pVideo_,+      content = pContent_+    }++-- | The audio capability assigned to an attendee.+attendeeCapabilities_audio :: Lens.Lens' AttendeeCapabilities MediaCapabilities+attendeeCapabilities_audio = Lens.lens (\AttendeeCapabilities' {audio} -> audio) (\s@AttendeeCapabilities' {} a -> s {audio = a} :: AttendeeCapabilities)++-- | The video capability assigned to an attendee.+attendeeCapabilities_video :: Lens.Lens' AttendeeCapabilities MediaCapabilities+attendeeCapabilities_video = Lens.lens (\AttendeeCapabilities' {video} -> video) (\s@AttendeeCapabilities' {} a -> s {video = a} :: AttendeeCapabilities)++-- | The content capability assigned to an attendee.+attendeeCapabilities_content :: Lens.Lens' AttendeeCapabilities MediaCapabilities+attendeeCapabilities_content = Lens.lens (\AttendeeCapabilities' {content} -> content) (\s@AttendeeCapabilities' {} a -> s {content = a} :: AttendeeCapabilities)++instance Data.FromJSON AttendeeCapabilities where+  parseJSON =+    Data.withObject+      "AttendeeCapabilities"+      ( \x ->+          AttendeeCapabilities'+            Prelude.<$> (x Data..: "Audio")+            Prelude.<*> (x Data..: "Video")+            Prelude.<*> (x Data..: "Content")+      )++instance Prelude.Hashable AttendeeCapabilities where+  hashWithSalt _salt AttendeeCapabilities' {..} =+    _salt+      `Prelude.hashWithSalt` audio+      `Prelude.hashWithSalt` video+      `Prelude.hashWithSalt` content++instance Prelude.NFData AttendeeCapabilities where+  rnf AttendeeCapabilities' {..} =+    Prelude.rnf audio+      `Prelude.seq` Prelude.rnf video+      `Prelude.seq` Prelude.rnf content++instance Data.ToJSON AttendeeCapabilities where+  toJSON AttendeeCapabilities' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Audio" Data..= audio),+            Prelude.Just ("Video" Data..= video),+            Prelude.Just ("Content" Data..= content)+          ]+      )
+ gen/Amazonka/ChimeSdkMeetings/Types/AttendeeIdItem.hs view
@@ -0,0 +1,68 @@+{-# 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.ChimeSdkMeetings.Types.AttendeeIdItem+-- 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.ChimeSdkMeetings.Types.AttendeeIdItem 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++-- | A structure that contains one or more attendee IDs.+--+-- /See:/ 'newAttendeeIdItem' smart constructor.+data AttendeeIdItem = AttendeeIdItem'+  { -- | A list of one or more attendee IDs.+    attendeeId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AttendeeIdItem' 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:+--+-- 'attendeeId', 'attendeeIdItem_attendeeId' - A list of one or more attendee IDs.+newAttendeeIdItem ::+  -- | 'attendeeId'+  Prelude.Text ->+  AttendeeIdItem+newAttendeeIdItem pAttendeeId_ =+  AttendeeIdItem' {attendeeId = pAttendeeId_}++-- | A list of one or more attendee IDs.+attendeeIdItem_attendeeId :: Lens.Lens' AttendeeIdItem Prelude.Text+attendeeIdItem_attendeeId = Lens.lens (\AttendeeIdItem' {attendeeId} -> attendeeId) (\s@AttendeeIdItem' {} a -> s {attendeeId = a} :: AttendeeIdItem)++instance Prelude.Hashable AttendeeIdItem where+  hashWithSalt _salt AttendeeIdItem' {..} =+    _salt `Prelude.hashWithSalt` attendeeId++instance Prelude.NFData AttendeeIdItem where+  rnf AttendeeIdItem' {..} = Prelude.rnf attendeeId++instance Data.ToJSON AttendeeIdItem where+  toJSON AttendeeIdItem' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("AttendeeId" Data..= attendeeId)]+      )
+ gen/Amazonka/ChimeSdkMeetings/Types/AudioFeatures.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.ChimeSdkMeetings.Types.AudioFeatures+-- 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.ChimeSdkMeetings.Types.AudioFeatures where++import Amazonka.ChimeSdkMeetings.Types.MeetingFeatureStatus+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++-- | An optional category of meeting features that contains audio-specific+-- configurations, such as operating parameters for Amazon Voice Focus.+--+-- /See:/ 'newAudioFeatures' smart constructor.+data AudioFeatures = AudioFeatures'+  { -- | Makes echo reduction available to clients who connect to the meeting.+    echoReduction :: Prelude.Maybe MeetingFeatureStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AudioFeatures' 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:+--+-- 'echoReduction', 'audioFeatures_echoReduction' - Makes echo reduction available to clients who connect to the meeting.+newAudioFeatures ::+  AudioFeatures+newAudioFeatures =+  AudioFeatures' {echoReduction = Prelude.Nothing}++-- | Makes echo reduction available to clients who connect to the meeting.+audioFeatures_echoReduction :: Lens.Lens' AudioFeatures (Prelude.Maybe MeetingFeatureStatus)+audioFeatures_echoReduction = Lens.lens (\AudioFeatures' {echoReduction} -> echoReduction) (\s@AudioFeatures' {} a -> s {echoReduction = a} :: AudioFeatures)++instance Data.FromJSON AudioFeatures where+  parseJSON =+    Data.withObject+      "AudioFeatures"+      ( \x ->+          AudioFeatures'+            Prelude.<$> (x Data..:? "EchoReduction")+      )++instance Prelude.Hashable AudioFeatures where+  hashWithSalt _salt AudioFeatures' {..} =+    _salt `Prelude.hashWithSalt` echoReduction++instance Prelude.NFData AudioFeatures where+  rnf AudioFeatures' {..} = Prelude.rnf echoReduction++instance Data.ToJSON AudioFeatures where+  toJSON AudioFeatures' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("EchoReduction" Data..=)+              Prelude.<$> echoReduction+          ]+      )
+ gen/Amazonka/ChimeSdkMeetings/Types/CreateAttendeeError.hs view
@@ -0,0 +1,101 @@+{-# 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.ChimeSdkMeetings.Types.CreateAttendeeError+-- 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.ChimeSdkMeetings.Types.CreateAttendeeError 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 list of errors returned when errors are encountered during the+-- BatchCreateAttendee and CreateAttendee actions. This includes external+-- user IDs, error codes, and error messages.+--+-- /See:/ 'newCreateAttendeeError' smart constructor.+data CreateAttendeeError = CreateAttendeeError'+  { -- | The error code.+    errorCode :: Prelude.Maybe Prelude.Text,+    -- | The error message.+    errorMessage :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Chime SDK external user ID. An idempotency token. Links the+    -- attendee to an identity managed by a builder application.+    externalUserId :: Prelude.Maybe (Data.Sensitive Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAttendeeError' 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:+--+-- 'errorCode', 'createAttendeeError_errorCode' - The error code.+--+-- 'errorMessage', 'createAttendeeError_errorMessage' - The error message.+--+-- 'externalUserId', 'createAttendeeError_externalUserId' - The Amazon Chime SDK external user ID. An idempotency token. Links the+-- attendee to an identity managed by a builder application.+newCreateAttendeeError ::+  CreateAttendeeError+newCreateAttendeeError =+  CreateAttendeeError'+    { errorCode = Prelude.Nothing,+      errorMessage = Prelude.Nothing,+      externalUserId = Prelude.Nothing+    }++-- | The error code.+createAttendeeError_errorCode :: Lens.Lens' CreateAttendeeError (Prelude.Maybe Prelude.Text)+createAttendeeError_errorCode = Lens.lens (\CreateAttendeeError' {errorCode} -> errorCode) (\s@CreateAttendeeError' {} a -> s {errorCode = a} :: CreateAttendeeError)++-- | The error message.+createAttendeeError_errorMessage :: Lens.Lens' CreateAttendeeError (Prelude.Maybe Prelude.Text)+createAttendeeError_errorMessage = Lens.lens (\CreateAttendeeError' {errorMessage} -> errorMessage) (\s@CreateAttendeeError' {} a -> s {errorMessage = a} :: CreateAttendeeError)++-- | The Amazon Chime SDK external user ID. An idempotency token. Links the+-- attendee to an identity managed by a builder application.+createAttendeeError_externalUserId :: Lens.Lens' CreateAttendeeError (Prelude.Maybe Prelude.Text)+createAttendeeError_externalUserId = Lens.lens (\CreateAttendeeError' {externalUserId} -> externalUserId) (\s@CreateAttendeeError' {} a -> s {externalUserId = a} :: CreateAttendeeError) Prelude.. Lens.mapping Data._Sensitive++instance Data.FromJSON CreateAttendeeError where+  parseJSON =+    Data.withObject+      "CreateAttendeeError"+      ( \x ->+          CreateAttendeeError'+            Prelude.<$> (x Data..:? "ErrorCode")+            Prelude.<*> (x Data..:? "ErrorMessage")+            Prelude.<*> (x Data..:? "ExternalUserId")+      )++instance Prelude.Hashable CreateAttendeeError where+  hashWithSalt _salt CreateAttendeeError' {..} =+    _salt+      `Prelude.hashWithSalt` errorCode+      `Prelude.hashWithSalt` errorMessage+      `Prelude.hashWithSalt` externalUserId++instance Prelude.NFData CreateAttendeeError where+  rnf CreateAttendeeError' {..} =+    Prelude.rnf errorCode+      `Prelude.seq` Prelude.rnf errorMessage+      `Prelude.seq` Prelude.rnf externalUserId
+ gen/Amazonka/ChimeSdkMeetings/Types/CreateAttendeeRequestItem.hs view
@@ -0,0 +1,93 @@+{-# 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.ChimeSdkMeetings.Types.CreateAttendeeRequestItem+-- 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.ChimeSdkMeetings.Types.CreateAttendeeRequestItem where++import Amazonka.ChimeSdkMeetings.Types.AttendeeCapabilities+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 Amazon Chime SDK attendee fields to create, used with the+-- BatchCreateAttendee action.+--+-- /See:/ 'newCreateAttendeeRequestItem' smart constructor.+data CreateAttendeeRequestItem = CreateAttendeeRequestItem'+  { -- | A list of one or more capabilities.+    capabilities :: Prelude.Maybe AttendeeCapabilities,+    -- | The Amazon Chime SDK external user ID. An idempotency token. Links the+    -- attendee to an identity managed by a builder application.+    externalUserId :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAttendeeRequestItem' 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:+--+-- 'capabilities', 'createAttendeeRequestItem_capabilities' - A list of one or more capabilities.+--+-- 'externalUserId', 'createAttendeeRequestItem_externalUserId' - The Amazon Chime SDK external user ID. An idempotency token. Links the+-- attendee to an identity managed by a builder application.+newCreateAttendeeRequestItem ::+  -- | 'externalUserId'+  Prelude.Text ->+  CreateAttendeeRequestItem+newCreateAttendeeRequestItem pExternalUserId_ =+  CreateAttendeeRequestItem'+    { capabilities =+        Prelude.Nothing,+      externalUserId =+        Data._Sensitive Lens.# pExternalUserId_+    }++-- | A list of one or more capabilities.+createAttendeeRequestItem_capabilities :: Lens.Lens' CreateAttendeeRequestItem (Prelude.Maybe AttendeeCapabilities)+createAttendeeRequestItem_capabilities = Lens.lens (\CreateAttendeeRequestItem' {capabilities} -> capabilities) (\s@CreateAttendeeRequestItem' {} a -> s {capabilities = a} :: CreateAttendeeRequestItem)++-- | The Amazon Chime SDK external user ID. An idempotency token. Links the+-- attendee to an identity managed by a builder application.+createAttendeeRequestItem_externalUserId :: Lens.Lens' CreateAttendeeRequestItem Prelude.Text+createAttendeeRequestItem_externalUserId = Lens.lens (\CreateAttendeeRequestItem' {externalUserId} -> externalUserId) (\s@CreateAttendeeRequestItem' {} a -> s {externalUserId = a} :: CreateAttendeeRequestItem) Prelude.. Data._Sensitive++instance Prelude.Hashable CreateAttendeeRequestItem where+  hashWithSalt _salt CreateAttendeeRequestItem' {..} =+    _salt+      `Prelude.hashWithSalt` capabilities+      `Prelude.hashWithSalt` externalUserId++instance Prelude.NFData CreateAttendeeRequestItem where+  rnf CreateAttendeeRequestItem' {..} =+    Prelude.rnf capabilities+      `Prelude.seq` Prelude.rnf externalUserId++instance Data.ToJSON CreateAttendeeRequestItem where+  toJSON CreateAttendeeRequestItem' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Capabilities" Data..=) Prelude.<$> capabilities,+            Prelude.Just+              ("ExternalUserId" Data..= externalUserId)+          ]+      )
+ gen/Amazonka/ChimeSdkMeetings/Types/EngineTranscribeMedicalSettings.hs view
@@ -0,0 +1,162 @@+{-# 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.ChimeSdkMeetings.Types.EngineTranscribeMedicalSettings+-- 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.ChimeSdkMeetings.Types.EngineTranscribeMedicalSettings where++import Amazonka.ChimeSdkMeetings.Types.TranscribeMedicalContentIdentificationType+import Amazonka.ChimeSdkMeetings.Types.TranscribeMedicalLanguageCode+import Amazonka.ChimeSdkMeetings.Types.TranscribeMedicalRegion+import Amazonka.ChimeSdkMeetings.Types.TranscribeMedicalSpecialty+import Amazonka.ChimeSdkMeetings.Types.TranscribeMedicalType+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++-- | Settings specific to the Amazon Transcribe Medical engine.+--+-- /See:/ 'newEngineTranscribeMedicalSettings' smart constructor.+data EngineTranscribeMedicalSettings = EngineTranscribeMedicalSettings'+  { -- | Set this field to @PHI@ to identify personal health information in the+    -- transcription output.+    contentIdentificationType :: Prelude.Maybe TranscribeMedicalContentIdentificationType,+    -- | The AWS Region passed to Amazon Transcribe Medical. If you don\'t+    -- specify a Region, Amazon Chime uses the meeting\'s Region.+    region :: Prelude.Maybe TranscribeMedicalRegion,+    -- | The name of the vocabulary passed to Amazon Transcribe Medical.+    vocabularyName :: Prelude.Maybe Prelude.Text,+    -- | The language code specified for the Amazon Transcribe Medical engine.+    languageCode :: TranscribeMedicalLanguageCode,+    -- | The specialty specified for the Amazon Transcribe Medical engine.+    specialty :: TranscribeMedicalSpecialty,+    -- | The type of transcription.+    type' :: TranscribeMedicalType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EngineTranscribeMedicalSettings' 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:+--+-- 'contentIdentificationType', 'engineTranscribeMedicalSettings_contentIdentificationType' - Set this field to @PHI@ to identify personal health information in the+-- transcription output.+--+-- 'region', 'engineTranscribeMedicalSettings_region' - The AWS Region passed to Amazon Transcribe Medical. If you don\'t+-- specify a Region, Amazon Chime uses the meeting\'s Region.+--+-- 'vocabularyName', 'engineTranscribeMedicalSettings_vocabularyName' - The name of the vocabulary passed to Amazon Transcribe Medical.+--+-- 'languageCode', 'engineTranscribeMedicalSettings_languageCode' - The language code specified for the Amazon Transcribe Medical engine.+--+-- 'specialty', 'engineTranscribeMedicalSettings_specialty' - The specialty specified for the Amazon Transcribe Medical engine.+--+-- 'type'', 'engineTranscribeMedicalSettings_type' - The type of transcription.+newEngineTranscribeMedicalSettings ::+  -- | 'languageCode'+  TranscribeMedicalLanguageCode ->+  -- | 'specialty'+  TranscribeMedicalSpecialty ->+  -- | 'type''+  TranscribeMedicalType ->+  EngineTranscribeMedicalSettings+newEngineTranscribeMedicalSettings+  pLanguageCode_+  pSpecialty_+  pType_ =+    EngineTranscribeMedicalSettings'+      { contentIdentificationType =+          Prelude.Nothing,+        region = Prelude.Nothing,+        vocabularyName = Prelude.Nothing,+        languageCode = pLanguageCode_,+        specialty = pSpecialty_,+        type' = pType_+      }++-- | Set this field to @PHI@ to identify personal health information in the+-- transcription output.+engineTranscribeMedicalSettings_contentIdentificationType :: Lens.Lens' EngineTranscribeMedicalSettings (Prelude.Maybe TranscribeMedicalContentIdentificationType)+engineTranscribeMedicalSettings_contentIdentificationType = Lens.lens (\EngineTranscribeMedicalSettings' {contentIdentificationType} -> contentIdentificationType) (\s@EngineTranscribeMedicalSettings' {} a -> s {contentIdentificationType = a} :: EngineTranscribeMedicalSettings)++-- | The AWS Region passed to Amazon Transcribe Medical. If you don\'t+-- specify a Region, Amazon Chime uses the meeting\'s Region.+engineTranscribeMedicalSettings_region :: Lens.Lens' EngineTranscribeMedicalSettings (Prelude.Maybe TranscribeMedicalRegion)+engineTranscribeMedicalSettings_region = Lens.lens (\EngineTranscribeMedicalSettings' {region} -> region) (\s@EngineTranscribeMedicalSettings' {} a -> s {region = a} :: EngineTranscribeMedicalSettings)++-- | The name of the vocabulary passed to Amazon Transcribe Medical.+engineTranscribeMedicalSettings_vocabularyName :: Lens.Lens' EngineTranscribeMedicalSettings (Prelude.Maybe Prelude.Text)+engineTranscribeMedicalSettings_vocabularyName = Lens.lens (\EngineTranscribeMedicalSettings' {vocabularyName} -> vocabularyName) (\s@EngineTranscribeMedicalSettings' {} a -> s {vocabularyName = a} :: EngineTranscribeMedicalSettings)++-- | The language code specified for the Amazon Transcribe Medical engine.+engineTranscribeMedicalSettings_languageCode :: Lens.Lens' EngineTranscribeMedicalSettings TranscribeMedicalLanguageCode+engineTranscribeMedicalSettings_languageCode = Lens.lens (\EngineTranscribeMedicalSettings' {languageCode} -> languageCode) (\s@EngineTranscribeMedicalSettings' {} a -> s {languageCode = a} :: EngineTranscribeMedicalSettings)++-- | The specialty specified for the Amazon Transcribe Medical engine.+engineTranscribeMedicalSettings_specialty :: Lens.Lens' EngineTranscribeMedicalSettings TranscribeMedicalSpecialty+engineTranscribeMedicalSettings_specialty = Lens.lens (\EngineTranscribeMedicalSettings' {specialty} -> specialty) (\s@EngineTranscribeMedicalSettings' {} a -> s {specialty = a} :: EngineTranscribeMedicalSettings)++-- | The type of transcription.+engineTranscribeMedicalSettings_type :: Lens.Lens' EngineTranscribeMedicalSettings TranscribeMedicalType+engineTranscribeMedicalSettings_type = Lens.lens (\EngineTranscribeMedicalSettings' {type'} -> type') (\s@EngineTranscribeMedicalSettings' {} a -> s {type' = a} :: EngineTranscribeMedicalSettings)++instance+  Prelude.Hashable+    EngineTranscribeMedicalSettings+  where+  hashWithSalt+    _salt+    EngineTranscribeMedicalSettings' {..} =+      _salt+        `Prelude.hashWithSalt` contentIdentificationType+        `Prelude.hashWithSalt` region+        `Prelude.hashWithSalt` vocabularyName+        `Prelude.hashWithSalt` languageCode+        `Prelude.hashWithSalt` specialty+        `Prelude.hashWithSalt` type'++instance+  Prelude.NFData+    EngineTranscribeMedicalSettings+  where+  rnf EngineTranscribeMedicalSettings' {..} =+    Prelude.rnf contentIdentificationType+      `Prelude.seq` Prelude.rnf region+      `Prelude.seq` Prelude.rnf vocabularyName+      `Prelude.seq` Prelude.rnf languageCode+      `Prelude.seq` Prelude.rnf specialty+      `Prelude.seq` Prelude.rnf type'++instance Data.ToJSON EngineTranscribeMedicalSettings where+  toJSON EngineTranscribeMedicalSettings' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ContentIdentificationType" Data..=)+              Prelude.<$> contentIdentificationType,+            ("Region" Data..=) Prelude.<$> region,+            ("VocabularyName" Data..=)+              Prelude.<$> vocabularyName,+            Prelude.Just ("LanguageCode" Data..= languageCode),+            Prelude.Just ("Specialty" Data..= specialty),+            Prelude.Just ("Type" Data..= type')+          ]+      )
+ gen/Amazonka/ChimeSdkMeetings/Types/EngineTranscribeSettings.hs view
@@ -0,0 +1,313 @@+{-# 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.ChimeSdkMeetings.Types.EngineTranscribeSettings+-- 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.ChimeSdkMeetings.Types.EngineTranscribeSettings where++import Amazonka.ChimeSdkMeetings.Types.TranscribeContentIdentificationType+import Amazonka.ChimeSdkMeetings.Types.TranscribeContentRedactionType+import Amazonka.ChimeSdkMeetings.Types.TranscribeLanguageCode+import Amazonka.ChimeSdkMeetings.Types.TranscribePartialResultsStability+import Amazonka.ChimeSdkMeetings.Types.TranscribeRegion+import Amazonka.ChimeSdkMeetings.Types.TranscribeVocabularyFilterMethod+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++-- | Settings specific to the Amazon Transcribe engine.+--+-- /See:/ 'newEngineTranscribeSettings' smart constructor.+data EngineTranscribeSettings = EngineTranscribeSettings'+  { -- | Set this field to @PII@ to identify personally identifiable information+    -- in the transcription output.+    contentIdentificationType :: Prelude.Maybe TranscribeContentIdentificationType,+    -- | Set this field to @PII@ to redact personally identifiable information in+    -- the transcription output. Content redaction is performed only upon+    -- complete transcription of the audio segments.+    --+    -- You can’t set @ContentRedactionType@ and @ContentIdentificationType@ in+    -- the same request. If you set both, your request returns a+    -- @BadRequestException@.+    contentRedactionType :: Prelude.Maybe TranscribeContentRedactionType,+    -- | Generates partial transcription results that are less likely to change+    -- as meeting attendees speak. It does so by only allowing the last few+    -- words from the partial results to change.+    enablePartialResultsStabilization :: Prelude.Maybe Prelude.Bool,+    -- | Automatically identifies the language spoken in media files.+    identifyLanguage :: Prelude.Maybe Prelude.Bool,+    -- | The language code specified for the Amazon Transcribe engine.+    languageCode :: Prelude.Maybe TranscribeLanguageCode,+    -- | The name of the language model used during transcription.+    languageModelName :: Prelude.Maybe Prelude.Text,+    -- | Language codes for the languages that you want to identify. You must+    -- provide at least 2 codes.+    languageOptions :: Prelude.Maybe Prelude.Text,+    -- | The stabity level of a partial results transcription. Determines how+    -- stable you want the transcription results to be. A higher level means+    -- the transcription results are less likely to change.+    partialResultsStability :: Prelude.Maybe TranscribePartialResultsStability,+    -- | Lists the PII entity types you want to identify or redact. To specify+    -- entity types, you must enable @ContentIdentificationType@ or+    -- @ContentRedactionType@.+    --+    -- @PIIEntityTypes@ must be comma-separated. The available values are:+    -- @BANK_ACCOUNT_NUMBER@, @BANK_ROUTING, CREDIT_DEBIT_NUMBER@,+    -- @CREDIT_DEBIT_CVV@, @CREDIT_DEBIT_EXPIRY@, @PIN@, @EMAIL@, @ADDRESS@,+    -- @NAME@, @PHONE@, @SSN@, and @ALL@.+    --+    -- @PiiEntityTypes@ is an optional parameter with a default value of @ALL@.+    piiEntityTypes :: Prelude.Maybe Prelude.Text,+    -- | Language code for the preferred language.+    preferredLanguage :: Prelude.Maybe TranscribeLanguageCode,+    -- | The AWS Region passed to Amazon Transcribe. If you don\'t specify a+    -- Region, Amazon Chime uses the meeting\'s Region.+    region :: Prelude.Maybe TranscribeRegion,+    -- | The filtering method passed to Amazon Transcribe.+    vocabularyFilterMethod :: Prelude.Maybe TranscribeVocabularyFilterMethod,+    -- | The name of the vocabulary filter passed to Amazon Transcribe.+    vocabularyFilterName :: Prelude.Maybe Prelude.Text,+    -- | The name of the vocabulary passed to Amazon Transcribe.+    vocabularyName :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EngineTranscribeSettings' 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:+--+-- 'contentIdentificationType', 'engineTranscribeSettings_contentIdentificationType' - Set this field to @PII@ to identify personally identifiable information+-- in the transcription output.+--+-- 'contentRedactionType', 'engineTranscribeSettings_contentRedactionType' - Set this field to @PII@ to redact personally identifiable information in+-- the transcription output. Content redaction is performed only upon+-- complete transcription of the audio segments.+--+-- You can’t set @ContentRedactionType@ and @ContentIdentificationType@ in+-- the same request. If you set both, your request returns a+-- @BadRequestException@.+--+-- 'enablePartialResultsStabilization', 'engineTranscribeSettings_enablePartialResultsStabilization' - Generates partial transcription results that are less likely to change+-- as meeting attendees speak. It does so by only allowing the last few+-- words from the partial results to change.+--+-- 'identifyLanguage', 'engineTranscribeSettings_identifyLanguage' - Automatically identifies the language spoken in media files.+--+-- 'languageCode', 'engineTranscribeSettings_languageCode' - The language code specified for the Amazon Transcribe engine.+--+-- 'languageModelName', 'engineTranscribeSettings_languageModelName' - The name of the language model used during transcription.+--+-- 'languageOptions', 'engineTranscribeSettings_languageOptions' - Language codes for the languages that you want to identify. You must+-- provide at least 2 codes.+--+-- 'partialResultsStability', 'engineTranscribeSettings_partialResultsStability' - The stabity level of a partial results transcription. Determines how+-- stable you want the transcription results to be. A higher level means+-- the transcription results are less likely to change.+--+-- 'piiEntityTypes', 'engineTranscribeSettings_piiEntityTypes' - Lists the PII entity types you want to identify or redact. To specify+-- entity types, you must enable @ContentIdentificationType@ or+-- @ContentRedactionType@.+--+-- @PIIEntityTypes@ must be comma-separated. The available values are:+-- @BANK_ACCOUNT_NUMBER@, @BANK_ROUTING, CREDIT_DEBIT_NUMBER@,+-- @CREDIT_DEBIT_CVV@, @CREDIT_DEBIT_EXPIRY@, @PIN@, @EMAIL@, @ADDRESS@,+-- @NAME@, @PHONE@, @SSN@, and @ALL@.+--+-- @PiiEntityTypes@ is an optional parameter with a default value of @ALL@.+--+-- 'preferredLanguage', 'engineTranscribeSettings_preferredLanguage' - Language code for the preferred language.+--+-- 'region', 'engineTranscribeSettings_region' - The AWS Region passed to Amazon Transcribe. If you don\'t specify a+-- Region, Amazon Chime uses the meeting\'s Region.+--+-- 'vocabularyFilterMethod', 'engineTranscribeSettings_vocabularyFilterMethod' - The filtering method passed to Amazon Transcribe.+--+-- 'vocabularyFilterName', 'engineTranscribeSettings_vocabularyFilterName' - The name of the vocabulary filter passed to Amazon Transcribe.+--+-- 'vocabularyName', 'engineTranscribeSettings_vocabularyName' - The name of the vocabulary passed to Amazon Transcribe.+newEngineTranscribeSettings ::+  EngineTranscribeSettings+newEngineTranscribeSettings =+  EngineTranscribeSettings'+    { contentIdentificationType =+        Prelude.Nothing,+      contentRedactionType = Prelude.Nothing,+      enablePartialResultsStabilization =+        Prelude.Nothing,+      identifyLanguage = Prelude.Nothing,+      languageCode = Prelude.Nothing,+      languageModelName = Prelude.Nothing,+      languageOptions = Prelude.Nothing,+      partialResultsStability = Prelude.Nothing,+      piiEntityTypes = Prelude.Nothing,+      preferredLanguage = Prelude.Nothing,+      region = Prelude.Nothing,+      vocabularyFilterMethod = Prelude.Nothing,+      vocabularyFilterName = Prelude.Nothing,+      vocabularyName = Prelude.Nothing+    }++-- | Set this field to @PII@ to identify personally identifiable information+-- in the transcription output.+engineTranscribeSettings_contentIdentificationType :: Lens.Lens' EngineTranscribeSettings (Prelude.Maybe TranscribeContentIdentificationType)+engineTranscribeSettings_contentIdentificationType = Lens.lens (\EngineTranscribeSettings' {contentIdentificationType} -> contentIdentificationType) (\s@EngineTranscribeSettings' {} a -> s {contentIdentificationType = a} :: EngineTranscribeSettings)++-- | Set this field to @PII@ to redact personally identifiable information in+-- the transcription output. Content redaction is performed only upon+-- complete transcription of the audio segments.+--+-- You can’t set @ContentRedactionType@ and @ContentIdentificationType@ in+-- the same request. If you set both, your request returns a+-- @BadRequestException@.+engineTranscribeSettings_contentRedactionType :: Lens.Lens' EngineTranscribeSettings (Prelude.Maybe TranscribeContentRedactionType)+engineTranscribeSettings_contentRedactionType = Lens.lens (\EngineTranscribeSettings' {contentRedactionType} -> contentRedactionType) (\s@EngineTranscribeSettings' {} a -> s {contentRedactionType = a} :: EngineTranscribeSettings)++-- | Generates partial transcription results that are less likely to change+-- as meeting attendees speak. It does so by only allowing the last few+-- words from the partial results to change.+engineTranscribeSettings_enablePartialResultsStabilization :: Lens.Lens' EngineTranscribeSettings (Prelude.Maybe Prelude.Bool)+engineTranscribeSettings_enablePartialResultsStabilization = Lens.lens (\EngineTranscribeSettings' {enablePartialResultsStabilization} -> enablePartialResultsStabilization) (\s@EngineTranscribeSettings' {} a -> s {enablePartialResultsStabilization = a} :: EngineTranscribeSettings)++-- | Automatically identifies the language spoken in media files.+engineTranscribeSettings_identifyLanguage :: Lens.Lens' EngineTranscribeSettings (Prelude.Maybe Prelude.Bool)+engineTranscribeSettings_identifyLanguage = Lens.lens (\EngineTranscribeSettings' {identifyLanguage} -> identifyLanguage) (\s@EngineTranscribeSettings' {} a -> s {identifyLanguage = a} :: EngineTranscribeSettings)++-- | The language code specified for the Amazon Transcribe engine.+engineTranscribeSettings_languageCode :: Lens.Lens' EngineTranscribeSettings (Prelude.Maybe TranscribeLanguageCode)+engineTranscribeSettings_languageCode = Lens.lens (\EngineTranscribeSettings' {languageCode} -> languageCode) (\s@EngineTranscribeSettings' {} a -> s {languageCode = a} :: EngineTranscribeSettings)++-- | The name of the language model used during transcription.+engineTranscribeSettings_languageModelName :: Lens.Lens' EngineTranscribeSettings (Prelude.Maybe Prelude.Text)+engineTranscribeSettings_languageModelName = Lens.lens (\EngineTranscribeSettings' {languageModelName} -> languageModelName) (\s@EngineTranscribeSettings' {} a -> s {languageModelName = a} :: EngineTranscribeSettings)++-- | Language codes for the languages that you want to identify. You must+-- provide at least 2 codes.+engineTranscribeSettings_languageOptions :: Lens.Lens' EngineTranscribeSettings (Prelude.Maybe Prelude.Text)+engineTranscribeSettings_languageOptions = Lens.lens (\EngineTranscribeSettings' {languageOptions} -> languageOptions) (\s@EngineTranscribeSettings' {} a -> s {languageOptions = a} :: EngineTranscribeSettings)++-- | The stabity level of a partial results transcription. Determines how+-- stable you want the transcription results to be. A higher level means+-- the transcription results are less likely to change.+engineTranscribeSettings_partialResultsStability :: Lens.Lens' EngineTranscribeSettings (Prelude.Maybe TranscribePartialResultsStability)+engineTranscribeSettings_partialResultsStability = Lens.lens (\EngineTranscribeSettings' {partialResultsStability} -> partialResultsStability) (\s@EngineTranscribeSettings' {} a -> s {partialResultsStability = a} :: EngineTranscribeSettings)++-- | Lists the PII entity types you want to identify or redact. To specify+-- entity types, you must enable @ContentIdentificationType@ or+-- @ContentRedactionType@.+--+-- @PIIEntityTypes@ must be comma-separated. The available values are:+-- @BANK_ACCOUNT_NUMBER@, @BANK_ROUTING, CREDIT_DEBIT_NUMBER@,+-- @CREDIT_DEBIT_CVV@, @CREDIT_DEBIT_EXPIRY@, @PIN@, @EMAIL@, @ADDRESS@,+-- @NAME@, @PHONE@, @SSN@, and @ALL@.+--+-- @PiiEntityTypes@ is an optional parameter with a default value of @ALL@.+engineTranscribeSettings_piiEntityTypes :: Lens.Lens' EngineTranscribeSettings (Prelude.Maybe Prelude.Text)+engineTranscribeSettings_piiEntityTypes = Lens.lens (\EngineTranscribeSettings' {piiEntityTypes} -> piiEntityTypes) (\s@EngineTranscribeSettings' {} a -> s {piiEntityTypes = a} :: EngineTranscribeSettings)++-- | Language code for the preferred language.+engineTranscribeSettings_preferredLanguage :: Lens.Lens' EngineTranscribeSettings (Prelude.Maybe TranscribeLanguageCode)+engineTranscribeSettings_preferredLanguage = Lens.lens (\EngineTranscribeSettings' {preferredLanguage} -> preferredLanguage) (\s@EngineTranscribeSettings' {} a -> s {preferredLanguage = a} :: EngineTranscribeSettings)++-- | The AWS Region passed to Amazon Transcribe. If you don\'t specify a+-- Region, Amazon Chime uses the meeting\'s Region.+engineTranscribeSettings_region :: Lens.Lens' EngineTranscribeSettings (Prelude.Maybe TranscribeRegion)+engineTranscribeSettings_region = Lens.lens (\EngineTranscribeSettings' {region} -> region) (\s@EngineTranscribeSettings' {} a -> s {region = a} :: EngineTranscribeSettings)++-- | The filtering method passed to Amazon Transcribe.+engineTranscribeSettings_vocabularyFilterMethod :: Lens.Lens' EngineTranscribeSettings (Prelude.Maybe TranscribeVocabularyFilterMethod)+engineTranscribeSettings_vocabularyFilterMethod = Lens.lens (\EngineTranscribeSettings' {vocabularyFilterMethod} -> vocabularyFilterMethod) (\s@EngineTranscribeSettings' {} a -> s {vocabularyFilterMethod = a} :: EngineTranscribeSettings)++-- | The name of the vocabulary filter passed to Amazon Transcribe.+engineTranscribeSettings_vocabularyFilterName :: Lens.Lens' EngineTranscribeSettings (Prelude.Maybe Prelude.Text)+engineTranscribeSettings_vocabularyFilterName = Lens.lens (\EngineTranscribeSettings' {vocabularyFilterName} -> vocabularyFilterName) (\s@EngineTranscribeSettings' {} a -> s {vocabularyFilterName = a} :: EngineTranscribeSettings)++-- | The name of the vocabulary passed to Amazon Transcribe.+engineTranscribeSettings_vocabularyName :: Lens.Lens' EngineTranscribeSettings (Prelude.Maybe Prelude.Text)+engineTranscribeSettings_vocabularyName = Lens.lens (\EngineTranscribeSettings' {vocabularyName} -> vocabularyName) (\s@EngineTranscribeSettings' {} a -> s {vocabularyName = a} :: EngineTranscribeSettings)++instance Prelude.Hashable EngineTranscribeSettings where+  hashWithSalt _salt EngineTranscribeSettings' {..} =+    _salt+      `Prelude.hashWithSalt` contentIdentificationType+      `Prelude.hashWithSalt` contentRedactionType+      `Prelude.hashWithSalt` enablePartialResultsStabilization+      `Prelude.hashWithSalt` identifyLanguage+      `Prelude.hashWithSalt` languageCode+      `Prelude.hashWithSalt` languageModelName+      `Prelude.hashWithSalt` languageOptions+      `Prelude.hashWithSalt` partialResultsStability+      `Prelude.hashWithSalt` piiEntityTypes+      `Prelude.hashWithSalt` preferredLanguage+      `Prelude.hashWithSalt` region+      `Prelude.hashWithSalt` vocabularyFilterMethod+      `Prelude.hashWithSalt` vocabularyFilterName+      `Prelude.hashWithSalt` vocabularyName++instance Prelude.NFData EngineTranscribeSettings where+  rnf EngineTranscribeSettings' {..} =+    Prelude.rnf contentIdentificationType+      `Prelude.seq` Prelude.rnf contentRedactionType+      `Prelude.seq` Prelude.rnf enablePartialResultsStabilization+      `Prelude.seq` Prelude.rnf identifyLanguage+      `Prelude.seq` Prelude.rnf languageCode+      `Prelude.seq` Prelude.rnf languageModelName+      `Prelude.seq` Prelude.rnf languageOptions+      `Prelude.seq` Prelude.rnf partialResultsStability+      `Prelude.seq` Prelude.rnf piiEntityTypes+      `Prelude.seq` Prelude.rnf preferredLanguage+      `Prelude.seq` Prelude.rnf region+      `Prelude.seq` Prelude.rnf vocabularyFilterMethod+      `Prelude.seq` Prelude.rnf vocabularyFilterName+      `Prelude.seq` Prelude.rnf vocabularyName++instance Data.ToJSON EngineTranscribeSettings where+  toJSON EngineTranscribeSettings' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ContentIdentificationType" Data..=)+              Prelude.<$> contentIdentificationType,+            ("ContentRedactionType" Data..=)+              Prelude.<$> contentRedactionType,+            ("EnablePartialResultsStabilization" Data..=)+              Prelude.<$> enablePartialResultsStabilization,+            ("IdentifyLanguage" Data..=)+              Prelude.<$> identifyLanguage,+            ("LanguageCode" Data..=) Prelude.<$> languageCode,+            ("LanguageModelName" Data..=)+              Prelude.<$> languageModelName,+            ("LanguageOptions" Data..=)+              Prelude.<$> languageOptions,+            ("PartialResultsStability" Data..=)+              Prelude.<$> partialResultsStability,+            ("PiiEntityTypes" Data..=)+              Prelude.<$> piiEntityTypes,+            ("PreferredLanguage" Data..=)+              Prelude.<$> preferredLanguage,+            ("Region" Data..=) Prelude.<$> region,+            ("VocabularyFilterMethod" Data..=)+              Prelude.<$> vocabularyFilterMethod,+            ("VocabularyFilterName" Data..=)+              Prelude.<$> vocabularyFilterName,+            ("VocabularyName" Data..=)+              Prelude.<$> vocabularyName+          ]+      )
+ gen/Amazonka/ChimeSdkMeetings/Types/MediaCapabilities.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.ChimeSdkMeetings.Types.MediaCapabilities+-- 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.ChimeSdkMeetings.Types.MediaCapabilities+  ( MediaCapabilities+      ( ..,+        MediaCapabilities_None,+        MediaCapabilities_Receive,+        MediaCapabilities_Send,+        MediaCapabilities_SendReceive+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype MediaCapabilities = MediaCapabilities'+  { fromMediaCapabilities ::+      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 MediaCapabilities_None :: MediaCapabilities+pattern MediaCapabilities_None = MediaCapabilities' "None"++pattern MediaCapabilities_Receive :: MediaCapabilities+pattern MediaCapabilities_Receive = MediaCapabilities' "Receive"++pattern MediaCapabilities_Send :: MediaCapabilities+pattern MediaCapabilities_Send = MediaCapabilities' "Send"++pattern MediaCapabilities_SendReceive :: MediaCapabilities+pattern MediaCapabilities_SendReceive = MediaCapabilities' "SendReceive"++{-# COMPLETE+  MediaCapabilities_None,+  MediaCapabilities_Receive,+  MediaCapabilities_Send,+  MediaCapabilities_SendReceive,+  MediaCapabilities'+  #-}
+ gen/Amazonka/ChimeSdkMeetings/Types/MediaPlacement.hs view
@@ -0,0 +1,157 @@+{-# 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.ChimeSdkMeetings.Types.MediaPlacement+-- 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.ChimeSdkMeetings.Types.MediaPlacement 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++-- | A set of endpoints used by clients to connect to the media service group+-- for an Amazon Chime SDK meeting.+--+-- /See:/ 'newMediaPlacement' smart constructor.+data MediaPlacement = MediaPlacement'+  { -- | The audio fallback URL.+    audioFallbackUrl :: Prelude.Maybe Prelude.Text,+    -- | The audio host URL.+    audioHostUrl :: Prelude.Maybe Prelude.Text,+    -- | The event ingestion URL.+    eventIngestionUrl :: Prelude.Maybe Prelude.Text,+    -- | The screen data URL.+    screenDataUrl :: Prelude.Maybe Prelude.Text,+    -- | The screen sharing URL.+    screenSharingUrl :: Prelude.Maybe Prelude.Text,+    -- | The screen viewing URL.+    screenViewingUrl :: Prelude.Maybe Prelude.Text,+    -- | The signaling URL.+    signalingUrl :: Prelude.Maybe Prelude.Text,+    -- | The turn control URL.+    turnControlUrl :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MediaPlacement' 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:+--+-- 'audioFallbackUrl', 'mediaPlacement_audioFallbackUrl' - The audio fallback URL.+--+-- 'audioHostUrl', 'mediaPlacement_audioHostUrl' - The audio host URL.+--+-- 'eventIngestionUrl', 'mediaPlacement_eventIngestionUrl' - The event ingestion URL.+--+-- 'screenDataUrl', 'mediaPlacement_screenDataUrl' - The screen data URL.+--+-- 'screenSharingUrl', 'mediaPlacement_screenSharingUrl' - The screen sharing URL.+--+-- 'screenViewingUrl', 'mediaPlacement_screenViewingUrl' - The screen viewing URL.+--+-- 'signalingUrl', 'mediaPlacement_signalingUrl' - The signaling URL.+--+-- 'turnControlUrl', 'mediaPlacement_turnControlUrl' - The turn control URL.+newMediaPlacement ::+  MediaPlacement+newMediaPlacement =+  MediaPlacement'+    { audioFallbackUrl = Prelude.Nothing,+      audioHostUrl = Prelude.Nothing,+      eventIngestionUrl = Prelude.Nothing,+      screenDataUrl = Prelude.Nothing,+      screenSharingUrl = Prelude.Nothing,+      screenViewingUrl = Prelude.Nothing,+      signalingUrl = Prelude.Nothing,+      turnControlUrl = Prelude.Nothing+    }++-- | The audio fallback URL.+mediaPlacement_audioFallbackUrl :: Lens.Lens' MediaPlacement (Prelude.Maybe Prelude.Text)+mediaPlacement_audioFallbackUrl = Lens.lens (\MediaPlacement' {audioFallbackUrl} -> audioFallbackUrl) (\s@MediaPlacement' {} a -> s {audioFallbackUrl = a} :: MediaPlacement)++-- | The audio host URL.+mediaPlacement_audioHostUrl :: Lens.Lens' MediaPlacement (Prelude.Maybe Prelude.Text)+mediaPlacement_audioHostUrl = Lens.lens (\MediaPlacement' {audioHostUrl} -> audioHostUrl) (\s@MediaPlacement' {} a -> s {audioHostUrl = a} :: MediaPlacement)++-- | The event ingestion URL.+mediaPlacement_eventIngestionUrl :: Lens.Lens' MediaPlacement (Prelude.Maybe Prelude.Text)+mediaPlacement_eventIngestionUrl = Lens.lens (\MediaPlacement' {eventIngestionUrl} -> eventIngestionUrl) (\s@MediaPlacement' {} a -> s {eventIngestionUrl = a} :: MediaPlacement)++-- | The screen data URL.+mediaPlacement_screenDataUrl :: Lens.Lens' MediaPlacement (Prelude.Maybe Prelude.Text)+mediaPlacement_screenDataUrl = Lens.lens (\MediaPlacement' {screenDataUrl} -> screenDataUrl) (\s@MediaPlacement' {} a -> s {screenDataUrl = a} :: MediaPlacement)++-- | The screen sharing URL.+mediaPlacement_screenSharingUrl :: Lens.Lens' MediaPlacement (Prelude.Maybe Prelude.Text)+mediaPlacement_screenSharingUrl = Lens.lens (\MediaPlacement' {screenSharingUrl} -> screenSharingUrl) (\s@MediaPlacement' {} a -> s {screenSharingUrl = a} :: MediaPlacement)++-- | The screen viewing URL.+mediaPlacement_screenViewingUrl :: Lens.Lens' MediaPlacement (Prelude.Maybe Prelude.Text)+mediaPlacement_screenViewingUrl = Lens.lens (\MediaPlacement' {screenViewingUrl} -> screenViewingUrl) (\s@MediaPlacement' {} a -> s {screenViewingUrl = a} :: MediaPlacement)++-- | The signaling URL.+mediaPlacement_signalingUrl :: Lens.Lens' MediaPlacement (Prelude.Maybe Prelude.Text)+mediaPlacement_signalingUrl = Lens.lens (\MediaPlacement' {signalingUrl} -> signalingUrl) (\s@MediaPlacement' {} a -> s {signalingUrl = a} :: MediaPlacement)++-- | The turn control URL.+mediaPlacement_turnControlUrl :: Lens.Lens' MediaPlacement (Prelude.Maybe Prelude.Text)+mediaPlacement_turnControlUrl = Lens.lens (\MediaPlacement' {turnControlUrl} -> turnControlUrl) (\s@MediaPlacement' {} a -> s {turnControlUrl = a} :: MediaPlacement)++instance Data.FromJSON MediaPlacement where+  parseJSON =+    Data.withObject+      "MediaPlacement"+      ( \x ->+          MediaPlacement'+            Prelude.<$> (x Data..:? "AudioFallbackUrl")+            Prelude.<*> (x Data..:? "AudioHostUrl")+            Prelude.<*> (x Data..:? "EventIngestionUrl")+            Prelude.<*> (x Data..:? "ScreenDataUrl")+            Prelude.<*> (x Data..:? "ScreenSharingUrl")+            Prelude.<*> (x Data..:? "ScreenViewingUrl")+            Prelude.<*> (x Data..:? "SignalingUrl")+            Prelude.<*> (x Data..:? "TurnControlUrl")+      )++instance Prelude.Hashable MediaPlacement where+  hashWithSalt _salt MediaPlacement' {..} =+    _salt+      `Prelude.hashWithSalt` audioFallbackUrl+      `Prelude.hashWithSalt` audioHostUrl+      `Prelude.hashWithSalt` eventIngestionUrl+      `Prelude.hashWithSalt` screenDataUrl+      `Prelude.hashWithSalt` screenSharingUrl+      `Prelude.hashWithSalt` screenViewingUrl+      `Prelude.hashWithSalt` signalingUrl+      `Prelude.hashWithSalt` turnControlUrl++instance Prelude.NFData MediaPlacement where+  rnf MediaPlacement' {..} =+    Prelude.rnf audioFallbackUrl+      `Prelude.seq` Prelude.rnf audioHostUrl+      `Prelude.seq` Prelude.rnf eventIngestionUrl+      `Prelude.seq` Prelude.rnf screenDataUrl+      `Prelude.seq` Prelude.rnf screenSharingUrl+      `Prelude.seq` Prelude.rnf screenViewingUrl+      `Prelude.seq` Prelude.rnf signalingUrl+      `Prelude.seq` Prelude.rnf turnControlUrl
+ gen/Amazonka/ChimeSdkMeetings/Types/Meeting.hs view
@@ -0,0 +1,194 @@+{-# 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.ChimeSdkMeetings.Types.Meeting+-- 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.ChimeSdkMeetings.Types.Meeting where++import Amazonka.ChimeSdkMeetings.Types.MediaPlacement+import Amazonka.ChimeSdkMeetings.Types.MeetingFeaturesConfiguration+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++-- | A meeting created using the Amazon Chime SDK.+--+-- /See:/ 'newMeeting' smart constructor.+data Meeting = Meeting'+  { -- | The external meeting ID.+    externalMeetingId :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The media placement for the meeting.+    mediaPlacement :: Prelude.Maybe MediaPlacement,+    -- | The Region in which you create the meeting. Available values:+    -- @af-south-1@, @ap-northeast-1@, @ap-northeast-2@, @ap-south-1@,+    -- @ap-southeast-1@, @ap-southeast-2@, @ca-central-1@, @eu-central-1@,+    -- @eu-north-1@, @eu-south-1@, @eu-west-1@, @eu-west-2@, @eu-west-3@,+    -- @sa-east-1@, @us-east-1@, @us-east-2@, @us-west-1@, @us-west-2@.+    --+    -- Available values in AWS GovCloud (US) Regions: @us-gov-east-1@,+    -- @us-gov-west-1@.+    mediaRegion :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the meeting.+    meetingArn :: Prelude.Maybe Prelude.Text,+    -- | The features available to a meeting, such as Amazon Voice Focus.+    meetingFeatures :: Prelude.Maybe MeetingFeaturesConfiguration,+    -- | Reserved.+    meetingHostId :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The Amazon Chime SDK meeting ID.+    meetingId :: Prelude.Maybe Prelude.Text,+    -- | When specified, replicates the media from the primary meeting to this+    -- meeting.+    primaryMeetingId :: Prelude.Maybe Prelude.Text,+    -- | Array of strings.+    tenantIds :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Meeting' 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:+--+-- 'externalMeetingId', 'meeting_externalMeetingId' - The external meeting ID.+--+-- 'mediaPlacement', 'meeting_mediaPlacement' - The media placement for the meeting.+--+-- 'mediaRegion', 'meeting_mediaRegion' - The Region in which you create the meeting. Available values:+-- @af-south-1@, @ap-northeast-1@, @ap-northeast-2@, @ap-south-1@,+-- @ap-southeast-1@, @ap-southeast-2@, @ca-central-1@, @eu-central-1@,+-- @eu-north-1@, @eu-south-1@, @eu-west-1@, @eu-west-2@, @eu-west-3@,+-- @sa-east-1@, @us-east-1@, @us-east-2@, @us-west-1@, @us-west-2@.+--+-- Available values in AWS GovCloud (US) Regions: @us-gov-east-1@,+-- @us-gov-west-1@.+--+-- 'meetingArn', 'meeting_meetingArn' - The ARN of the meeting.+--+-- 'meetingFeatures', 'meeting_meetingFeatures' - The features available to a meeting, such as Amazon Voice Focus.+--+-- 'meetingHostId', 'meeting_meetingHostId' - Reserved.+--+-- 'meetingId', 'meeting_meetingId' - The Amazon Chime SDK meeting ID.+--+-- 'primaryMeetingId', 'meeting_primaryMeetingId' - When specified, replicates the media from the primary meeting to this+-- meeting.+--+-- 'tenantIds', 'meeting_tenantIds' - Array of strings.+newMeeting ::+  Meeting+newMeeting =+  Meeting'+    { externalMeetingId = Prelude.Nothing,+      mediaPlacement = Prelude.Nothing,+      mediaRegion = Prelude.Nothing,+      meetingArn = Prelude.Nothing,+      meetingFeatures = Prelude.Nothing,+      meetingHostId = Prelude.Nothing,+      meetingId = Prelude.Nothing,+      primaryMeetingId = Prelude.Nothing,+      tenantIds = Prelude.Nothing+    }++-- | The external meeting ID.+meeting_externalMeetingId :: Lens.Lens' Meeting (Prelude.Maybe Prelude.Text)+meeting_externalMeetingId = Lens.lens (\Meeting' {externalMeetingId} -> externalMeetingId) (\s@Meeting' {} a -> s {externalMeetingId = a} :: Meeting) Prelude.. Lens.mapping Data._Sensitive++-- | The media placement for the meeting.+meeting_mediaPlacement :: Lens.Lens' Meeting (Prelude.Maybe MediaPlacement)+meeting_mediaPlacement = Lens.lens (\Meeting' {mediaPlacement} -> mediaPlacement) (\s@Meeting' {} a -> s {mediaPlacement = a} :: Meeting)++-- | The Region in which you create the meeting. Available values:+-- @af-south-1@, @ap-northeast-1@, @ap-northeast-2@, @ap-south-1@,+-- @ap-southeast-1@, @ap-southeast-2@, @ca-central-1@, @eu-central-1@,+-- @eu-north-1@, @eu-south-1@, @eu-west-1@, @eu-west-2@, @eu-west-3@,+-- @sa-east-1@, @us-east-1@, @us-east-2@, @us-west-1@, @us-west-2@.+--+-- Available values in AWS GovCloud (US) Regions: @us-gov-east-1@,+-- @us-gov-west-1@.+meeting_mediaRegion :: Lens.Lens' Meeting (Prelude.Maybe Prelude.Text)+meeting_mediaRegion = Lens.lens (\Meeting' {mediaRegion} -> mediaRegion) (\s@Meeting' {} a -> s {mediaRegion = a} :: Meeting)++-- | The ARN of the meeting.+meeting_meetingArn :: Lens.Lens' Meeting (Prelude.Maybe Prelude.Text)+meeting_meetingArn = Lens.lens (\Meeting' {meetingArn} -> meetingArn) (\s@Meeting' {} a -> s {meetingArn = a} :: Meeting)++-- | The features available to a meeting, such as Amazon Voice Focus.+meeting_meetingFeatures :: Lens.Lens' Meeting (Prelude.Maybe MeetingFeaturesConfiguration)+meeting_meetingFeatures = Lens.lens (\Meeting' {meetingFeatures} -> meetingFeatures) (\s@Meeting' {} a -> s {meetingFeatures = a} :: Meeting)++-- | Reserved.+meeting_meetingHostId :: Lens.Lens' Meeting (Prelude.Maybe Prelude.Text)+meeting_meetingHostId = Lens.lens (\Meeting' {meetingHostId} -> meetingHostId) (\s@Meeting' {} a -> s {meetingHostId = a} :: Meeting) Prelude.. Lens.mapping Data._Sensitive++-- | The Amazon Chime SDK meeting ID.+meeting_meetingId :: Lens.Lens' Meeting (Prelude.Maybe Prelude.Text)+meeting_meetingId = Lens.lens (\Meeting' {meetingId} -> meetingId) (\s@Meeting' {} a -> s {meetingId = a} :: Meeting)++-- | When specified, replicates the media from the primary meeting to this+-- meeting.+meeting_primaryMeetingId :: Lens.Lens' Meeting (Prelude.Maybe Prelude.Text)+meeting_primaryMeetingId = Lens.lens (\Meeting' {primaryMeetingId} -> primaryMeetingId) (\s@Meeting' {} a -> s {primaryMeetingId = a} :: Meeting)++-- | Array of strings.+meeting_tenantIds :: Lens.Lens' Meeting (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+meeting_tenantIds = Lens.lens (\Meeting' {tenantIds} -> tenantIds) (\s@Meeting' {} a -> s {tenantIds = a} :: Meeting) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON Meeting where+  parseJSON =+    Data.withObject+      "Meeting"+      ( \x ->+          Meeting'+            Prelude.<$> (x Data..:? "ExternalMeetingId")+            Prelude.<*> (x Data..:? "MediaPlacement")+            Prelude.<*> (x Data..:? "MediaRegion")+            Prelude.<*> (x Data..:? "MeetingArn")+            Prelude.<*> (x Data..:? "MeetingFeatures")+            Prelude.<*> (x Data..:? "MeetingHostId")+            Prelude.<*> (x Data..:? "MeetingId")+            Prelude.<*> (x Data..:? "PrimaryMeetingId")+            Prelude.<*> (x Data..:? "TenantIds")+      )++instance Prelude.Hashable Meeting where+  hashWithSalt _salt Meeting' {..} =+    _salt+      `Prelude.hashWithSalt` externalMeetingId+      `Prelude.hashWithSalt` mediaPlacement+      `Prelude.hashWithSalt` mediaRegion+      `Prelude.hashWithSalt` meetingArn+      `Prelude.hashWithSalt` meetingFeatures+      `Prelude.hashWithSalt` meetingHostId+      `Prelude.hashWithSalt` meetingId+      `Prelude.hashWithSalt` primaryMeetingId+      `Prelude.hashWithSalt` tenantIds++instance Prelude.NFData Meeting where+  rnf Meeting' {..} =+    Prelude.rnf externalMeetingId+      `Prelude.seq` Prelude.rnf mediaPlacement+      `Prelude.seq` Prelude.rnf mediaRegion+      `Prelude.seq` Prelude.rnf meetingArn+      `Prelude.seq` Prelude.rnf meetingFeatures+      `Prelude.seq` Prelude.rnf meetingHostId+      `Prelude.seq` Prelude.rnf meetingId+      `Prelude.seq` Prelude.rnf primaryMeetingId+      `Prelude.seq` Prelude.rnf tenantIds
+ gen/Amazonka/ChimeSdkMeetings/Types/MeetingFeatureStatus.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.ChimeSdkMeetings.Types.MeetingFeatureStatus+-- 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.ChimeSdkMeetings.Types.MeetingFeatureStatus+  ( MeetingFeatureStatus+      ( ..,+        MeetingFeatureStatus_AVAILABLE,+        MeetingFeatureStatus_UNAVAILABLE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype MeetingFeatureStatus = MeetingFeatureStatus'+  { fromMeetingFeatureStatus ::+      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 MeetingFeatureStatus_AVAILABLE :: MeetingFeatureStatus+pattern MeetingFeatureStatus_AVAILABLE = MeetingFeatureStatus' "AVAILABLE"++pattern MeetingFeatureStatus_UNAVAILABLE :: MeetingFeatureStatus+pattern MeetingFeatureStatus_UNAVAILABLE = MeetingFeatureStatus' "UNAVAILABLE"++{-# COMPLETE+  MeetingFeatureStatus_AVAILABLE,+  MeetingFeatureStatus_UNAVAILABLE,+  MeetingFeatureStatus'+  #-}
+ gen/Amazonka/ChimeSdkMeetings/Types/MeetingFeaturesConfiguration.hs view
@@ -0,0 +1,86 @@+{-# 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.ChimeSdkMeetings.Types.MeetingFeaturesConfiguration+-- 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.ChimeSdkMeetings.Types.MeetingFeaturesConfiguration where++import Amazonka.ChimeSdkMeetings.Types.AudioFeatures+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 settings of the features available to a meeting.>+--+-- /See:/ 'newMeetingFeaturesConfiguration' smart constructor.+data MeetingFeaturesConfiguration = MeetingFeaturesConfiguration'+  { -- | The configuration settings for the audio features available to a+    -- meeting.+    audio :: Prelude.Maybe AudioFeatures+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MeetingFeaturesConfiguration' 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:+--+-- 'audio', 'meetingFeaturesConfiguration_audio' - The configuration settings for the audio features available to a+-- meeting.+newMeetingFeaturesConfiguration ::+  MeetingFeaturesConfiguration+newMeetingFeaturesConfiguration =+  MeetingFeaturesConfiguration'+    { audio =+        Prelude.Nothing+    }++-- | The configuration settings for the audio features available to a+-- meeting.+meetingFeaturesConfiguration_audio :: Lens.Lens' MeetingFeaturesConfiguration (Prelude.Maybe AudioFeatures)+meetingFeaturesConfiguration_audio = Lens.lens (\MeetingFeaturesConfiguration' {audio} -> audio) (\s@MeetingFeaturesConfiguration' {} a -> s {audio = a} :: MeetingFeaturesConfiguration)++instance Data.FromJSON MeetingFeaturesConfiguration where+  parseJSON =+    Data.withObject+      "MeetingFeaturesConfiguration"+      ( \x ->+          MeetingFeaturesConfiguration'+            Prelude.<$> (x Data..:? "Audio")+      )++instance+  Prelude.Hashable+    MeetingFeaturesConfiguration+  where+  hashWithSalt _salt MeetingFeaturesConfiguration' {..} =+    _salt `Prelude.hashWithSalt` audio++instance Prelude.NFData MeetingFeaturesConfiguration where+  rnf MeetingFeaturesConfiguration' {..} =+    Prelude.rnf audio++instance Data.ToJSON MeetingFeaturesConfiguration where+  toJSON MeetingFeaturesConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [("Audio" Data..=) Prelude.<$> audio]+      )
+ gen/Amazonka/ChimeSdkMeetings/Types/NotificationsConfiguration.hs view
@@ -0,0 +1,98 @@+{-# 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.ChimeSdkMeetings.Types.NotificationsConfiguration+-- 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.ChimeSdkMeetings.Types.NotificationsConfiguration 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 for resource targets to receive notifications when+-- meeting and attendee events occur.+--+-- /See:/ 'newNotificationsConfiguration' smart constructor.+data NotificationsConfiguration = NotificationsConfiguration'+  { -- | The ARN of the AWS Lambda function in the notifications configuration.+    lambdaFunctionArn :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The ARN of the SNS topic.+    snsTopicArn :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The ARN of the SQS queue.+    sqsQueueArn :: Prelude.Maybe (Data.Sensitive Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NotificationsConfiguration' 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:+--+-- 'lambdaFunctionArn', 'notificationsConfiguration_lambdaFunctionArn' - The ARN of the AWS Lambda function in the notifications configuration.+--+-- 'snsTopicArn', 'notificationsConfiguration_snsTopicArn' - The ARN of the SNS topic.+--+-- 'sqsQueueArn', 'notificationsConfiguration_sqsQueueArn' - The ARN of the SQS queue.+newNotificationsConfiguration ::+  NotificationsConfiguration+newNotificationsConfiguration =+  NotificationsConfiguration'+    { lambdaFunctionArn =+        Prelude.Nothing,+      snsTopicArn = Prelude.Nothing,+      sqsQueueArn = Prelude.Nothing+    }++-- | The ARN of the AWS Lambda function in the notifications configuration.+notificationsConfiguration_lambdaFunctionArn :: Lens.Lens' NotificationsConfiguration (Prelude.Maybe Prelude.Text)+notificationsConfiguration_lambdaFunctionArn = Lens.lens (\NotificationsConfiguration' {lambdaFunctionArn} -> lambdaFunctionArn) (\s@NotificationsConfiguration' {} a -> s {lambdaFunctionArn = a} :: NotificationsConfiguration) Prelude.. Lens.mapping Data._Sensitive++-- | The ARN of the SNS topic.+notificationsConfiguration_snsTopicArn :: Lens.Lens' NotificationsConfiguration (Prelude.Maybe Prelude.Text)+notificationsConfiguration_snsTopicArn = Lens.lens (\NotificationsConfiguration' {snsTopicArn} -> snsTopicArn) (\s@NotificationsConfiguration' {} a -> s {snsTopicArn = a} :: NotificationsConfiguration) Prelude.. Lens.mapping Data._Sensitive++-- | The ARN of the SQS queue.+notificationsConfiguration_sqsQueueArn :: Lens.Lens' NotificationsConfiguration (Prelude.Maybe Prelude.Text)+notificationsConfiguration_sqsQueueArn = Lens.lens (\NotificationsConfiguration' {sqsQueueArn} -> sqsQueueArn) (\s@NotificationsConfiguration' {} a -> s {sqsQueueArn = a} :: NotificationsConfiguration) Prelude.. Lens.mapping Data._Sensitive++instance Prelude.Hashable NotificationsConfiguration where+  hashWithSalt _salt NotificationsConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` lambdaFunctionArn+      `Prelude.hashWithSalt` snsTopicArn+      `Prelude.hashWithSalt` sqsQueueArn++instance Prelude.NFData NotificationsConfiguration where+  rnf NotificationsConfiguration' {..} =+    Prelude.rnf lambdaFunctionArn+      `Prelude.seq` Prelude.rnf snsTopicArn+      `Prelude.seq` Prelude.rnf sqsQueueArn++instance Data.ToJSON NotificationsConfiguration where+  toJSON NotificationsConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("LambdaFunctionArn" Data..=)+              Prelude.<$> lambdaFunctionArn,+            ("SnsTopicArn" Data..=) Prelude.<$> snsTopicArn,+            ("SqsQueueArn" Data..=) Prelude.<$> sqsQueueArn+          ]+      )
+ gen/Amazonka/ChimeSdkMeetings/Types/Tag.hs view
@@ -0,0 +1,93 @@+{-# 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.ChimeSdkMeetings.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.ChimeSdkMeetings.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++-- | A key-value pair that you define.+--+-- /See:/ 'newTag' smart constructor.+data Tag = Tag'+  { -- | The tag\'s key.+    key :: Prelude.Text,+    -- | The tag\'s value.+    value :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, 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 tag\'s key.+--+-- 'value', 'tag_value' - The tag\'s value.+newTag ::+  -- | 'key'+  Prelude.Text ->+  -- | 'value'+  Prelude.Text ->+  Tag+newTag pKey_ pValue_ =+  Tag' {key = pKey_, value = pValue_}++-- | The tag\'s key.+tag_key :: Lens.Lens' Tag Prelude.Text+tag_key = Lens.lens (\Tag' {key} -> key) (\s@Tag' {} a -> s {key = a} :: Tag)++-- | The tag\'s value.+tag_value :: Lens.Lens' Tag Prelude.Text+tag_value = Lens.lens (\Tag' {value} -> value) (\s@Tag' {} a -> s {value = a} :: Tag)++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/ChimeSdkMeetings/Types/TranscribeContentIdentificationType.hs view
@@ -0,0 +1,66 @@+{-# 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.ChimeSdkMeetings.Types.TranscribeContentIdentificationType+-- 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.ChimeSdkMeetings.Types.TranscribeContentIdentificationType+  ( TranscribeContentIdentificationType+      ( ..,+        TranscribeContentIdentificationType_PII+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TranscribeContentIdentificationType = TranscribeContentIdentificationType'+  { fromTranscribeContentIdentificationType ::+      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 TranscribeContentIdentificationType_PII :: TranscribeContentIdentificationType+pattern TranscribeContentIdentificationType_PII = TranscribeContentIdentificationType' "PII"++{-# COMPLETE+  TranscribeContentIdentificationType_PII,+  TranscribeContentIdentificationType'+  #-}
+ gen/Amazonka/ChimeSdkMeetings/Types/TranscribeContentRedactionType.hs view
@@ -0,0 +1,66 @@+{-# 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.ChimeSdkMeetings.Types.TranscribeContentRedactionType+-- 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.ChimeSdkMeetings.Types.TranscribeContentRedactionType+  ( TranscribeContentRedactionType+      ( ..,+        TranscribeContentRedactionType_PII+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TranscribeContentRedactionType = TranscribeContentRedactionType'+  { fromTranscribeContentRedactionType ::+      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 TranscribeContentRedactionType_PII :: TranscribeContentRedactionType+pattern TranscribeContentRedactionType_PII = TranscribeContentRedactionType' "PII"++{-# COMPLETE+  TranscribeContentRedactionType_PII,+  TranscribeContentRedactionType'+  #-}
+ gen/Amazonka/ChimeSdkMeetings/Types/TranscribeLanguageCode.hs view
@@ -0,0 +1,121 @@+{-# 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.ChimeSdkMeetings.Types.TranscribeLanguageCode+-- 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.ChimeSdkMeetings.Types.TranscribeLanguageCode+  ( TranscribeLanguageCode+      ( ..,+        TranscribeLanguageCode_De_DE,+        TranscribeLanguageCode_En_AU,+        TranscribeLanguageCode_En_GB,+        TranscribeLanguageCode_En_US,+        TranscribeLanguageCode_Es_US,+        TranscribeLanguageCode_Fr_CA,+        TranscribeLanguageCode_Fr_FR,+        TranscribeLanguageCode_It_IT,+        TranscribeLanguageCode_Ja_JP,+        TranscribeLanguageCode_Ko_KR,+        TranscribeLanguageCode_Pt_BR,+        TranscribeLanguageCode_Zh_CN+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TranscribeLanguageCode = TranscribeLanguageCode'+  { fromTranscribeLanguageCode ::+      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 TranscribeLanguageCode_De_DE :: TranscribeLanguageCode+pattern TranscribeLanguageCode_De_DE = TranscribeLanguageCode' "de-DE"++pattern TranscribeLanguageCode_En_AU :: TranscribeLanguageCode+pattern TranscribeLanguageCode_En_AU = TranscribeLanguageCode' "en-AU"++pattern TranscribeLanguageCode_En_GB :: TranscribeLanguageCode+pattern TranscribeLanguageCode_En_GB = TranscribeLanguageCode' "en-GB"++pattern TranscribeLanguageCode_En_US :: TranscribeLanguageCode+pattern TranscribeLanguageCode_En_US = TranscribeLanguageCode' "en-US"++pattern TranscribeLanguageCode_Es_US :: TranscribeLanguageCode+pattern TranscribeLanguageCode_Es_US = TranscribeLanguageCode' "es-US"++pattern TranscribeLanguageCode_Fr_CA :: TranscribeLanguageCode+pattern TranscribeLanguageCode_Fr_CA = TranscribeLanguageCode' "fr-CA"++pattern TranscribeLanguageCode_Fr_FR :: TranscribeLanguageCode+pattern TranscribeLanguageCode_Fr_FR = TranscribeLanguageCode' "fr-FR"++pattern TranscribeLanguageCode_It_IT :: TranscribeLanguageCode+pattern TranscribeLanguageCode_It_IT = TranscribeLanguageCode' "it-IT"++pattern TranscribeLanguageCode_Ja_JP :: TranscribeLanguageCode+pattern TranscribeLanguageCode_Ja_JP = TranscribeLanguageCode' "ja-JP"++pattern TranscribeLanguageCode_Ko_KR :: TranscribeLanguageCode+pattern TranscribeLanguageCode_Ko_KR = TranscribeLanguageCode' "ko-KR"++pattern TranscribeLanguageCode_Pt_BR :: TranscribeLanguageCode+pattern TranscribeLanguageCode_Pt_BR = TranscribeLanguageCode' "pt-BR"++pattern TranscribeLanguageCode_Zh_CN :: TranscribeLanguageCode+pattern TranscribeLanguageCode_Zh_CN = TranscribeLanguageCode' "zh-CN"++{-# COMPLETE+  TranscribeLanguageCode_De_DE,+  TranscribeLanguageCode_En_AU,+  TranscribeLanguageCode_En_GB,+  TranscribeLanguageCode_En_US,+  TranscribeLanguageCode_Es_US,+  TranscribeLanguageCode_Fr_CA,+  TranscribeLanguageCode_Fr_FR,+  TranscribeLanguageCode_It_IT,+  TranscribeLanguageCode_Ja_JP,+  TranscribeLanguageCode_Ko_KR,+  TranscribeLanguageCode_Pt_BR,+  TranscribeLanguageCode_Zh_CN,+  TranscribeLanguageCode'+  #-}
+ gen/Amazonka/ChimeSdkMeetings/Types/TranscribeMedicalContentIdentificationType.hs view
@@ -0,0 +1,66 @@+{-# 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.ChimeSdkMeetings.Types.TranscribeMedicalContentIdentificationType+-- 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.ChimeSdkMeetings.Types.TranscribeMedicalContentIdentificationType+  ( TranscribeMedicalContentIdentificationType+      ( ..,+        TranscribeMedicalContentIdentificationType_PHI+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TranscribeMedicalContentIdentificationType = TranscribeMedicalContentIdentificationType'+  { fromTranscribeMedicalContentIdentificationType ::+      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 TranscribeMedicalContentIdentificationType_PHI :: TranscribeMedicalContentIdentificationType+pattern TranscribeMedicalContentIdentificationType_PHI = TranscribeMedicalContentIdentificationType' "PHI"++{-# COMPLETE+  TranscribeMedicalContentIdentificationType_PHI,+  TranscribeMedicalContentIdentificationType'+  #-}
+ gen/Amazonka/ChimeSdkMeetings/Types/TranscribeMedicalLanguageCode.hs view
@@ -0,0 +1,66 @@+{-# 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.ChimeSdkMeetings.Types.TranscribeMedicalLanguageCode+-- 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.ChimeSdkMeetings.Types.TranscribeMedicalLanguageCode+  ( TranscribeMedicalLanguageCode+      ( ..,+        TranscribeMedicalLanguageCode_En_US+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TranscribeMedicalLanguageCode = TranscribeMedicalLanguageCode'+  { fromTranscribeMedicalLanguageCode ::+      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 TranscribeMedicalLanguageCode_En_US :: TranscribeMedicalLanguageCode+pattern TranscribeMedicalLanguageCode_En_US = TranscribeMedicalLanguageCode' "en-US"++{-# COMPLETE+  TranscribeMedicalLanguageCode_En_US,+  TranscribeMedicalLanguageCode'+  #-}
+ gen/Amazonka/ChimeSdkMeetings/Types/TranscribeMedicalRegion.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.ChimeSdkMeetings.Types.TranscribeMedicalRegion+-- 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.ChimeSdkMeetings.Types.TranscribeMedicalRegion+  ( TranscribeMedicalRegion+      ( ..,+        TranscribeMedicalRegion_Ap_southeast_2,+        TranscribeMedicalRegion_Auto,+        TranscribeMedicalRegion_Ca_central_1,+        TranscribeMedicalRegion_Eu_west_1,+        TranscribeMedicalRegion_Us_east_1,+        TranscribeMedicalRegion_Us_east_2,+        TranscribeMedicalRegion_Us_west_2+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TranscribeMedicalRegion = TranscribeMedicalRegion'+  { fromTranscribeMedicalRegion ::+      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 TranscribeMedicalRegion_Ap_southeast_2 :: TranscribeMedicalRegion+pattern TranscribeMedicalRegion_Ap_southeast_2 = TranscribeMedicalRegion' "ap-southeast-2"++pattern TranscribeMedicalRegion_Auto :: TranscribeMedicalRegion+pattern TranscribeMedicalRegion_Auto = TranscribeMedicalRegion' "auto"++pattern TranscribeMedicalRegion_Ca_central_1 :: TranscribeMedicalRegion+pattern TranscribeMedicalRegion_Ca_central_1 = TranscribeMedicalRegion' "ca-central-1"++pattern TranscribeMedicalRegion_Eu_west_1 :: TranscribeMedicalRegion+pattern TranscribeMedicalRegion_Eu_west_1 = TranscribeMedicalRegion' "eu-west-1"++pattern TranscribeMedicalRegion_Us_east_1 :: TranscribeMedicalRegion+pattern TranscribeMedicalRegion_Us_east_1 = TranscribeMedicalRegion' "us-east-1"++pattern TranscribeMedicalRegion_Us_east_2 :: TranscribeMedicalRegion+pattern TranscribeMedicalRegion_Us_east_2 = TranscribeMedicalRegion' "us-east-2"++pattern TranscribeMedicalRegion_Us_west_2 :: TranscribeMedicalRegion+pattern TranscribeMedicalRegion_Us_west_2 = TranscribeMedicalRegion' "us-west-2"++{-# COMPLETE+  TranscribeMedicalRegion_Ap_southeast_2,+  TranscribeMedicalRegion_Auto,+  TranscribeMedicalRegion_Ca_central_1,+  TranscribeMedicalRegion_Eu_west_1,+  TranscribeMedicalRegion_Us_east_1,+  TranscribeMedicalRegion_Us_east_2,+  TranscribeMedicalRegion_Us_west_2,+  TranscribeMedicalRegion'+  #-}
+ gen/Amazonka/ChimeSdkMeetings/Types/TranscribeMedicalSpecialty.hs view
@@ -0,0 +1,91 @@+{-# 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.ChimeSdkMeetings.Types.TranscribeMedicalSpecialty+-- 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.ChimeSdkMeetings.Types.TranscribeMedicalSpecialty+  ( TranscribeMedicalSpecialty+      ( ..,+        TranscribeMedicalSpecialty_CARDIOLOGY,+        TranscribeMedicalSpecialty_NEUROLOGY,+        TranscribeMedicalSpecialty_ONCOLOGY,+        TranscribeMedicalSpecialty_PRIMARYCARE,+        TranscribeMedicalSpecialty_RADIOLOGY,+        TranscribeMedicalSpecialty_UROLOGY+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TranscribeMedicalSpecialty = TranscribeMedicalSpecialty'+  { fromTranscribeMedicalSpecialty ::+      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 TranscribeMedicalSpecialty_CARDIOLOGY :: TranscribeMedicalSpecialty+pattern TranscribeMedicalSpecialty_CARDIOLOGY = TranscribeMedicalSpecialty' "CARDIOLOGY"++pattern TranscribeMedicalSpecialty_NEUROLOGY :: TranscribeMedicalSpecialty+pattern TranscribeMedicalSpecialty_NEUROLOGY = TranscribeMedicalSpecialty' "NEUROLOGY"++pattern TranscribeMedicalSpecialty_ONCOLOGY :: TranscribeMedicalSpecialty+pattern TranscribeMedicalSpecialty_ONCOLOGY = TranscribeMedicalSpecialty' "ONCOLOGY"++pattern TranscribeMedicalSpecialty_PRIMARYCARE :: TranscribeMedicalSpecialty+pattern TranscribeMedicalSpecialty_PRIMARYCARE = TranscribeMedicalSpecialty' "PRIMARYCARE"++pattern TranscribeMedicalSpecialty_RADIOLOGY :: TranscribeMedicalSpecialty+pattern TranscribeMedicalSpecialty_RADIOLOGY = TranscribeMedicalSpecialty' "RADIOLOGY"++pattern TranscribeMedicalSpecialty_UROLOGY :: TranscribeMedicalSpecialty+pattern TranscribeMedicalSpecialty_UROLOGY = TranscribeMedicalSpecialty' "UROLOGY"++{-# COMPLETE+  TranscribeMedicalSpecialty_CARDIOLOGY,+  TranscribeMedicalSpecialty_NEUROLOGY,+  TranscribeMedicalSpecialty_ONCOLOGY,+  TranscribeMedicalSpecialty_PRIMARYCARE,+  TranscribeMedicalSpecialty_RADIOLOGY,+  TranscribeMedicalSpecialty_UROLOGY,+  TranscribeMedicalSpecialty'+  #-}
+ gen/Amazonka/ChimeSdkMeetings/Types/TranscribeMedicalType.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.ChimeSdkMeetings.Types.TranscribeMedicalType+-- 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.ChimeSdkMeetings.Types.TranscribeMedicalType+  ( TranscribeMedicalType+      ( ..,+        TranscribeMedicalType_CONVERSATION,+        TranscribeMedicalType_DICTATION+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TranscribeMedicalType = TranscribeMedicalType'+  { fromTranscribeMedicalType ::+      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 TranscribeMedicalType_CONVERSATION :: TranscribeMedicalType+pattern TranscribeMedicalType_CONVERSATION = TranscribeMedicalType' "CONVERSATION"++pattern TranscribeMedicalType_DICTATION :: TranscribeMedicalType+pattern TranscribeMedicalType_DICTATION = TranscribeMedicalType' "DICTATION"++{-# COMPLETE+  TranscribeMedicalType_CONVERSATION,+  TranscribeMedicalType_DICTATION,+  TranscribeMedicalType'+  #-}
+ gen/Amazonka/ChimeSdkMeetings/Types/TranscribePartialResultsStability.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.ChimeSdkMeetings.Types.TranscribePartialResultsStability+-- 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.ChimeSdkMeetings.Types.TranscribePartialResultsStability+  ( TranscribePartialResultsStability+      ( ..,+        TranscribePartialResultsStability_High,+        TranscribePartialResultsStability_Low,+        TranscribePartialResultsStability_Medium+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TranscribePartialResultsStability = TranscribePartialResultsStability'+  { fromTranscribePartialResultsStability ::+      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 TranscribePartialResultsStability_High :: TranscribePartialResultsStability+pattern TranscribePartialResultsStability_High = TranscribePartialResultsStability' "high"++pattern TranscribePartialResultsStability_Low :: TranscribePartialResultsStability+pattern TranscribePartialResultsStability_Low = TranscribePartialResultsStability' "low"++pattern TranscribePartialResultsStability_Medium :: TranscribePartialResultsStability+pattern TranscribePartialResultsStability_Medium = TranscribePartialResultsStability' "medium"++{-# COMPLETE+  TranscribePartialResultsStability_High,+  TranscribePartialResultsStability_Low,+  TranscribePartialResultsStability_Medium,+  TranscribePartialResultsStability'+  #-}
+ gen/Amazonka/ChimeSdkMeetings/Types/TranscribeRegion.hs view
@@ -0,0 +1,126 @@+{-# 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.ChimeSdkMeetings.Types.TranscribeRegion+-- 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.ChimeSdkMeetings.Types.TranscribeRegion+  ( TranscribeRegion+      ( ..,+        TranscribeRegion_Ap_northeast_1,+        TranscribeRegion_Ap_northeast_2,+        TranscribeRegion_Ap_southeast_2,+        TranscribeRegion_Auto,+        TranscribeRegion_Ca_central_1,+        TranscribeRegion_Eu_central_1,+        TranscribeRegion_Eu_west_1,+        TranscribeRegion_Eu_west_2,+        TranscribeRegion_Sa_east_1,+        TranscribeRegion_Us_east_1,+        TranscribeRegion_Us_east_2,+        TranscribeRegion_Us_gov_west_1,+        TranscribeRegion_Us_west_2+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TranscribeRegion = TranscribeRegion'+  { fromTranscribeRegion ::+      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 TranscribeRegion_Ap_northeast_1 :: TranscribeRegion+pattern TranscribeRegion_Ap_northeast_1 = TranscribeRegion' "ap-northeast-1"++pattern TranscribeRegion_Ap_northeast_2 :: TranscribeRegion+pattern TranscribeRegion_Ap_northeast_2 = TranscribeRegion' "ap-northeast-2"++pattern TranscribeRegion_Ap_southeast_2 :: TranscribeRegion+pattern TranscribeRegion_Ap_southeast_2 = TranscribeRegion' "ap-southeast-2"++pattern TranscribeRegion_Auto :: TranscribeRegion+pattern TranscribeRegion_Auto = TranscribeRegion' "auto"++pattern TranscribeRegion_Ca_central_1 :: TranscribeRegion+pattern TranscribeRegion_Ca_central_1 = TranscribeRegion' "ca-central-1"++pattern TranscribeRegion_Eu_central_1 :: TranscribeRegion+pattern TranscribeRegion_Eu_central_1 = TranscribeRegion' "eu-central-1"++pattern TranscribeRegion_Eu_west_1 :: TranscribeRegion+pattern TranscribeRegion_Eu_west_1 = TranscribeRegion' "eu-west-1"++pattern TranscribeRegion_Eu_west_2 :: TranscribeRegion+pattern TranscribeRegion_Eu_west_2 = TranscribeRegion' "eu-west-2"++pattern TranscribeRegion_Sa_east_1 :: TranscribeRegion+pattern TranscribeRegion_Sa_east_1 = TranscribeRegion' "sa-east-1"++pattern TranscribeRegion_Us_east_1 :: TranscribeRegion+pattern TranscribeRegion_Us_east_1 = TranscribeRegion' "us-east-1"++pattern TranscribeRegion_Us_east_2 :: TranscribeRegion+pattern TranscribeRegion_Us_east_2 = TranscribeRegion' "us-east-2"++pattern TranscribeRegion_Us_gov_west_1 :: TranscribeRegion+pattern TranscribeRegion_Us_gov_west_1 = TranscribeRegion' "us-gov-west-1"++pattern TranscribeRegion_Us_west_2 :: TranscribeRegion+pattern TranscribeRegion_Us_west_2 = TranscribeRegion' "us-west-2"++{-# COMPLETE+  TranscribeRegion_Ap_northeast_1,+  TranscribeRegion_Ap_northeast_2,+  TranscribeRegion_Ap_southeast_2,+  TranscribeRegion_Auto,+  TranscribeRegion_Ca_central_1,+  TranscribeRegion_Eu_central_1,+  TranscribeRegion_Eu_west_1,+  TranscribeRegion_Eu_west_2,+  TranscribeRegion_Sa_east_1,+  TranscribeRegion_Us_east_1,+  TranscribeRegion_Us_east_2,+  TranscribeRegion_Us_gov_west_1,+  TranscribeRegion_Us_west_2,+  TranscribeRegion'+  #-}
+ gen/Amazonka/ChimeSdkMeetings/Types/TranscribeVocabularyFilterMethod.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.ChimeSdkMeetings.Types.TranscribeVocabularyFilterMethod+-- 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.ChimeSdkMeetings.Types.TranscribeVocabularyFilterMethod+  ( TranscribeVocabularyFilterMethod+      ( ..,+        TranscribeVocabularyFilterMethod_Mask,+        TranscribeVocabularyFilterMethod_Remove,+        TranscribeVocabularyFilterMethod_Tag+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TranscribeVocabularyFilterMethod = TranscribeVocabularyFilterMethod'+  { fromTranscribeVocabularyFilterMethod ::+      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 TranscribeVocabularyFilterMethod_Mask :: TranscribeVocabularyFilterMethod+pattern TranscribeVocabularyFilterMethod_Mask = TranscribeVocabularyFilterMethod' "mask"++pattern TranscribeVocabularyFilterMethod_Remove :: TranscribeVocabularyFilterMethod+pattern TranscribeVocabularyFilterMethod_Remove = TranscribeVocabularyFilterMethod' "remove"++pattern TranscribeVocabularyFilterMethod_Tag :: TranscribeVocabularyFilterMethod+pattern TranscribeVocabularyFilterMethod_Tag = TranscribeVocabularyFilterMethod' "tag"++{-# COMPLETE+  TranscribeVocabularyFilterMethod_Mask,+  TranscribeVocabularyFilterMethod_Remove,+  TranscribeVocabularyFilterMethod_Tag,+  TranscribeVocabularyFilterMethod'+  #-}
+ gen/Amazonka/ChimeSdkMeetings/Types/TranscriptionConfiguration.hs view
@@ -0,0 +1,92 @@+{-# 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.ChimeSdkMeetings.Types.TranscriptionConfiguration+-- 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.ChimeSdkMeetings.Types.TranscriptionConfiguration where++import Amazonka.ChimeSdkMeetings.Types.EngineTranscribeMedicalSettings+import Amazonka.ChimeSdkMeetings.Types.EngineTranscribeSettings+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 for the current transcription operation. Must contain+-- @EngineTranscribeSettings@ or @EngineTranscribeMedicalSettings@.+--+-- /See:/ 'newTranscriptionConfiguration' smart constructor.+data TranscriptionConfiguration = TranscriptionConfiguration'+  { -- | The transcription configuration settings passed to Amazon Transcribe+    -- Medical.+    engineTranscribeMedicalSettings :: Prelude.Maybe EngineTranscribeMedicalSettings,+    -- | The transcription configuration settings passed to Amazon Transcribe.+    engineTranscribeSettings :: Prelude.Maybe EngineTranscribeSettings+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TranscriptionConfiguration' 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:+--+-- 'engineTranscribeMedicalSettings', 'transcriptionConfiguration_engineTranscribeMedicalSettings' - The transcription configuration settings passed to Amazon Transcribe+-- Medical.+--+-- 'engineTranscribeSettings', 'transcriptionConfiguration_engineTranscribeSettings' - The transcription configuration settings passed to Amazon Transcribe.+newTranscriptionConfiguration ::+  TranscriptionConfiguration+newTranscriptionConfiguration =+  TranscriptionConfiguration'+    { engineTranscribeMedicalSettings =+        Prelude.Nothing,+      engineTranscribeSettings = Prelude.Nothing+    }++-- | The transcription configuration settings passed to Amazon Transcribe+-- Medical.+transcriptionConfiguration_engineTranscribeMedicalSettings :: Lens.Lens' TranscriptionConfiguration (Prelude.Maybe EngineTranscribeMedicalSettings)+transcriptionConfiguration_engineTranscribeMedicalSettings = Lens.lens (\TranscriptionConfiguration' {engineTranscribeMedicalSettings} -> engineTranscribeMedicalSettings) (\s@TranscriptionConfiguration' {} a -> s {engineTranscribeMedicalSettings = a} :: TranscriptionConfiguration)++-- | The transcription configuration settings passed to Amazon Transcribe.+transcriptionConfiguration_engineTranscribeSettings :: Lens.Lens' TranscriptionConfiguration (Prelude.Maybe EngineTranscribeSettings)+transcriptionConfiguration_engineTranscribeSettings = Lens.lens (\TranscriptionConfiguration' {engineTranscribeSettings} -> engineTranscribeSettings) (\s@TranscriptionConfiguration' {} a -> s {engineTranscribeSettings = a} :: TranscriptionConfiguration)++instance Prelude.Hashable TranscriptionConfiguration where+  hashWithSalt _salt TranscriptionConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` engineTranscribeMedicalSettings+      `Prelude.hashWithSalt` engineTranscribeSettings++instance Prelude.NFData TranscriptionConfiguration where+  rnf TranscriptionConfiguration' {..} =+    Prelude.rnf engineTranscribeMedicalSettings+      `Prelude.seq` Prelude.rnf engineTranscribeSettings++instance Data.ToJSON TranscriptionConfiguration where+  toJSON TranscriptionConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("EngineTranscribeMedicalSettings" Data..=)+              Prelude.<$> engineTranscribeMedicalSettings,+            ("EngineTranscribeSettings" Data..=)+              Prelude.<$> engineTranscribeSettings+          ]+      )
+ gen/Amazonka/ChimeSdkMeetings/UntagResource.hs view
@@ -0,0 +1,184 @@+{-# 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.ChimeSdkMeetings.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 the specified tags from the specified resources. When you+-- specify a tag key, the action removes both that key and its associated+-- value. The operation succeeds even if you attempt to remove tags from a+-- resource that were already removed. Note the following:+--+-- -   To remove tags from a resource, you need the necessary permissions+--     for the service that the resource belongs to as well as permissions+--     for removing tags. For more information, see the documentation for+--     the service whose resource you want to untag.+--+-- -   You can only tag resources that are located in the specified AWS+--     Region for the calling AWS account.+--+-- __Minimum permissions__+--+-- In addition to the @tag:UntagResources@ permission required by this+-- operation, you must also have the remove tags permission defined by the+-- service that created the resource. For example, to remove the tags from+-- an Amazon EC2 instance using the @UntagResources@ operation, you must+-- have both of the following permissions:+--+-- @tag:UntagResource@+--+-- @ChimeSDKMeetings:DeleteTags@+module Amazonka.ChimeSdkMeetings.UntagResource+  ( -- * Creating a Request+    UntagResource (..),+    newUntagResource,++    -- * Request Lenses+    untagResource_resourceARN,+    untagResource_tagKeys,++    -- * Destructuring the Response+    UntagResourceResponse (..),+    newUntagResourceResponse,++    -- * Response Lenses+    untagResourceResponse_httpStatus,+  )+where++import Amazonka.ChimeSdkMeetings.Types+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++-- | /See:/ 'newUntagResource' smart constructor.+data UntagResource = UntagResource'+  { -- | The ARN of the resource that you\'re removing tags from.+    resourceARN :: Prelude.Text,+    -- | The tag keys being removed from the resources.+    tagKeys :: [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, 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 ARN of the resource that you\'re removing tags from.+--+-- 'tagKeys', 'untagResource_tagKeys' - The tag keys being removed from the resources.+newUntagResource ::+  -- | 'resourceARN'+  Prelude.Text ->+  UntagResource+newUntagResource pResourceARN_ =+  UntagResource'+    { resourceARN = pResourceARN_,+      tagKeys = Prelude.mempty+    }++-- | The ARN of the resource that you\'re removing tags from.+untagResource_resourceARN :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceARN = Lens.lens (\UntagResource' {resourceARN} -> resourceARN) (\s@UntagResource' {} a -> s {resourceARN = a} :: UntagResource)++-- | The tag keys being removed from the resources.+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.mempty++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 "/tags"++instance Data.ToQuery UntagResource where+  toQuery =+    Prelude.const+      (Prelude.mconcat ["operation=untag-resource"])++-- | /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/ChimeSdkMeetings/UpdateAttendeeCapabilities.hs view
@@ -0,0 +1,226 @@+{-# 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.ChimeSdkMeetings.UpdateAttendeeCapabilities+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- The capabilties that you want to update.+--+-- You use the capabilities with a set of values that control what the+-- capabilities can do, such as @SendReceive@ data. For more information+-- about those values, see .+--+-- When using capabilities, be aware of these corner cases:+--+-- -   You can\'t set @content@ capabilities to @SendReceive@ or @Receive@+--     unless you also set @video@ capabilities to @SendReceive@ or+--     @Receive@. If you don\'t set the @video@ capability to receive, the+--     response will contain an HTTP 400 Bad Request status code. However,+--     you can set your @video@ capability to receive and you set your+--     @content@ capability to not receive.+--+-- -   When you change an @audio@ capability from @None@ or @Receive@ to+--     @Send@ or @SendReceive@ , and if the attendee left their microphone+--     unmuted, audio will flow from the attendee to the other meeting+--     participants.+--+-- -   When you change a @video@ or @content@ capability from @None@ or+--     @Receive@ to @Send@ or @SendReceive@ , and if the attendee turned on+--     their video or content streams, remote attendess can receive those+--     streams, but only after media renegotiation between the client and+--     the Amazon Chime back-end server.+module Amazonka.ChimeSdkMeetings.UpdateAttendeeCapabilities+  ( -- * Creating a Request+    UpdateAttendeeCapabilities (..),+    newUpdateAttendeeCapabilities,++    -- * Request Lenses+    updateAttendeeCapabilities_meetingId,+    updateAttendeeCapabilities_attendeeId,+    updateAttendeeCapabilities_capabilities,++    -- * Destructuring the Response+    UpdateAttendeeCapabilitiesResponse (..),+    newUpdateAttendeeCapabilitiesResponse,++    -- * Response Lenses+    updateAttendeeCapabilitiesResponse_attendee,+    updateAttendeeCapabilitiesResponse_httpStatus,+  )+where++import Amazonka.ChimeSdkMeetings.Types+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++-- | /See:/ 'newUpdateAttendeeCapabilities' smart constructor.+data UpdateAttendeeCapabilities = UpdateAttendeeCapabilities'+  { -- | The ID of the meeting associated with the update request.+    meetingId :: Prelude.Text,+    -- | The ID of the attendee associated with the update request.+    attendeeId :: Prelude.Text,+    -- | The capabilties that you want to update.+    capabilities :: AttendeeCapabilities+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAttendeeCapabilities' 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:+--+-- 'meetingId', 'updateAttendeeCapabilities_meetingId' - The ID of the meeting associated with the update request.+--+-- 'attendeeId', 'updateAttendeeCapabilities_attendeeId' - The ID of the attendee associated with the update request.+--+-- 'capabilities', 'updateAttendeeCapabilities_capabilities' - The capabilties that you want to update.+newUpdateAttendeeCapabilities ::+  -- | 'meetingId'+  Prelude.Text ->+  -- | 'attendeeId'+  Prelude.Text ->+  -- | 'capabilities'+  AttendeeCapabilities ->+  UpdateAttendeeCapabilities+newUpdateAttendeeCapabilities+  pMeetingId_+  pAttendeeId_+  pCapabilities_ =+    UpdateAttendeeCapabilities'+      { meetingId =+          pMeetingId_,+        attendeeId = pAttendeeId_,+        capabilities = pCapabilities_+      }++-- | The ID of the meeting associated with the update request.+updateAttendeeCapabilities_meetingId :: Lens.Lens' UpdateAttendeeCapabilities Prelude.Text+updateAttendeeCapabilities_meetingId = Lens.lens (\UpdateAttendeeCapabilities' {meetingId} -> meetingId) (\s@UpdateAttendeeCapabilities' {} a -> s {meetingId = a} :: UpdateAttendeeCapabilities)++-- | The ID of the attendee associated with the update request.+updateAttendeeCapabilities_attendeeId :: Lens.Lens' UpdateAttendeeCapabilities Prelude.Text+updateAttendeeCapabilities_attendeeId = Lens.lens (\UpdateAttendeeCapabilities' {attendeeId} -> attendeeId) (\s@UpdateAttendeeCapabilities' {} a -> s {attendeeId = a} :: UpdateAttendeeCapabilities)++-- | The capabilties that you want to update.+updateAttendeeCapabilities_capabilities :: Lens.Lens' UpdateAttendeeCapabilities AttendeeCapabilities+updateAttendeeCapabilities_capabilities = Lens.lens (\UpdateAttendeeCapabilities' {capabilities} -> capabilities) (\s@UpdateAttendeeCapabilities' {} a -> s {capabilities = a} :: UpdateAttendeeCapabilities)++instance Core.AWSRequest UpdateAttendeeCapabilities where+  type+    AWSResponse UpdateAttendeeCapabilities =+      UpdateAttendeeCapabilitiesResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateAttendeeCapabilitiesResponse'+            Prelude.<$> (x Data..?> "Attendee")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateAttendeeCapabilities where+  hashWithSalt _salt UpdateAttendeeCapabilities' {..} =+    _salt+      `Prelude.hashWithSalt` meetingId+      `Prelude.hashWithSalt` attendeeId+      `Prelude.hashWithSalt` capabilities++instance Prelude.NFData UpdateAttendeeCapabilities where+  rnf UpdateAttendeeCapabilities' {..} =+    Prelude.rnf meetingId+      `Prelude.seq` Prelude.rnf attendeeId+      `Prelude.seq` Prelude.rnf capabilities++instance Data.ToHeaders UpdateAttendeeCapabilities where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON UpdateAttendeeCapabilities where+  toJSON UpdateAttendeeCapabilities' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("Capabilities" Data..= capabilities)]+      )++instance Data.ToPath UpdateAttendeeCapabilities where+  toPath UpdateAttendeeCapabilities' {..} =+    Prelude.mconcat+      [ "/meetings/",+        Data.toBS meetingId,+        "/attendees/",+        Data.toBS attendeeId,+        "/capabilities"+      ]++instance Data.ToQuery UpdateAttendeeCapabilities where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateAttendeeCapabilitiesResponse' smart constructor.+data UpdateAttendeeCapabilitiesResponse = UpdateAttendeeCapabilitiesResponse'+  { -- | The updated attendee data.+    attendee :: Prelude.Maybe Attendee,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAttendeeCapabilitiesResponse' 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:+--+-- 'attendee', 'updateAttendeeCapabilitiesResponse_attendee' - The updated attendee data.+--+-- 'httpStatus', 'updateAttendeeCapabilitiesResponse_httpStatus' - The response's http status code.+newUpdateAttendeeCapabilitiesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateAttendeeCapabilitiesResponse+newUpdateAttendeeCapabilitiesResponse pHttpStatus_ =+  UpdateAttendeeCapabilitiesResponse'+    { attendee =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The updated attendee data.+updateAttendeeCapabilitiesResponse_attendee :: Lens.Lens' UpdateAttendeeCapabilitiesResponse (Prelude.Maybe Attendee)+updateAttendeeCapabilitiesResponse_attendee = Lens.lens (\UpdateAttendeeCapabilitiesResponse' {attendee} -> attendee) (\s@UpdateAttendeeCapabilitiesResponse' {} a -> s {attendee = a} :: UpdateAttendeeCapabilitiesResponse)++-- | The response's http status code.+updateAttendeeCapabilitiesResponse_httpStatus :: Lens.Lens' UpdateAttendeeCapabilitiesResponse Prelude.Int+updateAttendeeCapabilitiesResponse_httpStatus = Lens.lens (\UpdateAttendeeCapabilitiesResponse' {httpStatus} -> httpStatus) (\s@UpdateAttendeeCapabilitiesResponse' {} a -> s {httpStatus = a} :: UpdateAttendeeCapabilitiesResponse)++instance+  Prelude.NFData+    UpdateAttendeeCapabilitiesResponse+  where+  rnf UpdateAttendeeCapabilitiesResponse' {..} =+    Prelude.rnf attendee+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ChimeSdkMeetings/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.ChimeSdkMeetings.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.ChimeSdkMeetings.Waiters where++import Amazonka.ChimeSdkMeetings.Lens+import Amazonka.ChimeSdkMeetings.Types+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
+ 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.ChimeSdkMeetings+import Test.Amazonka.ChimeSdkMeetings.Internal+import Test.Tasty++main :: IO ()+main =+  defaultMain $+    testGroup+      "ChimeSdkMeetings"+      [ testGroup "tests" tests,+        testGroup "fixtures" fixtures+      ]
+ test/Test/Amazonka/ChimeSdkMeetings.hs view
@@ -0,0 +1,20 @@+-- |+-- Module      : Test.Amazonka.ChimeSdkMeetings+-- 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.ChimeSdkMeetings+  ( tests,+    fixtures,+  )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/ChimeSdkMeetings/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module      : Test.Amazonka.ChimeSdkMeetings.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.ChimeSdkMeetings.Internal where
+ test/Test/Amazonka/Gen/ChimeSdkMeetings.hs view
@@ -0,0 +1,358 @@+{-# 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.ChimeSdkMeetings+-- 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.ChimeSdkMeetings where++import Amazonka.ChimeSdkMeetings+import qualified Data.Proxy as Proxy+import Test.Amazonka.ChimeSdkMeetings.Internal+import Test.Amazonka.Fixture+import Test.Amazonka.Prelude+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"+--         [ requestBatchCreateAttendee $+--             newBatchCreateAttendee+--+--         , requestBatchUpdateAttendeeCapabilitiesExcept $+--             newBatchUpdateAttendeeCapabilitiesExcept+--+--         , requestCreateAttendee $+--             newCreateAttendee+--+--         , requestCreateMeeting $+--             newCreateMeeting+--+--         , requestCreateMeetingWithAttendees $+--             newCreateMeetingWithAttendees+--+--         , requestDeleteAttendee $+--             newDeleteAttendee+--+--         , requestDeleteMeeting $+--             newDeleteMeeting+--+--         , requestGetAttendee $+--             newGetAttendee+--+--         , requestGetMeeting $+--             newGetMeeting+--+--         , requestListAttendees $+--             newListAttendees+--+--         , requestListTagsForResource $+--             newListTagsForResource+--+--         , requestStartMeetingTranscription $+--             newStartMeetingTranscription+--+--         , requestStopMeetingTranscription $+--             newStopMeetingTranscription+--+--         , requestTagResource $+--             newTagResource+--+--         , requestUntagResource $+--             newUntagResource+--+--         , requestUpdateAttendeeCapabilities $+--             newUpdateAttendeeCapabilities+--+--           ]++--     , testGroup "response"+--         [ responseBatchCreateAttendee $+--             newBatchCreateAttendeeResponse+--+--         , responseBatchUpdateAttendeeCapabilitiesExcept $+--             newBatchUpdateAttendeeCapabilitiesExceptResponse+--+--         , responseCreateAttendee $+--             newCreateAttendeeResponse+--+--         , responseCreateMeeting $+--             newCreateMeetingResponse+--+--         , responseCreateMeetingWithAttendees $+--             newCreateMeetingWithAttendeesResponse+--+--         , responseDeleteAttendee $+--             newDeleteAttendeeResponse+--+--         , responseDeleteMeeting $+--             newDeleteMeetingResponse+--+--         , responseGetAttendee $+--             newGetAttendeeResponse+--+--         , responseGetMeeting $+--             newGetMeetingResponse+--+--         , responseListAttendees $+--             newListAttendeesResponse+--+--         , responseListTagsForResource $+--             newListTagsForResourceResponse+--+--         , responseStartMeetingTranscription $+--             newStartMeetingTranscriptionResponse+--+--         , responseStopMeetingTranscription $+--             newStopMeetingTranscriptionResponse+--+--         , responseTagResource $+--             newTagResourceResponse+--+--         , responseUntagResource $+--             newUntagResourceResponse+--+--         , responseUpdateAttendeeCapabilities $+--             newUpdateAttendeeCapabilitiesResponse+--+--           ]+--     ]++-- Requests++requestBatchCreateAttendee :: BatchCreateAttendee -> TestTree+requestBatchCreateAttendee =+  req+    "BatchCreateAttendee"+    "fixture/BatchCreateAttendee.yaml"++requestBatchUpdateAttendeeCapabilitiesExcept :: BatchUpdateAttendeeCapabilitiesExcept -> TestTree+requestBatchUpdateAttendeeCapabilitiesExcept =+  req+    "BatchUpdateAttendeeCapabilitiesExcept"+    "fixture/BatchUpdateAttendeeCapabilitiesExcept.yaml"++requestCreateAttendee :: CreateAttendee -> TestTree+requestCreateAttendee =+  req+    "CreateAttendee"+    "fixture/CreateAttendee.yaml"++requestCreateMeeting :: CreateMeeting -> TestTree+requestCreateMeeting =+  req+    "CreateMeeting"+    "fixture/CreateMeeting.yaml"++requestCreateMeetingWithAttendees :: CreateMeetingWithAttendees -> TestTree+requestCreateMeetingWithAttendees =+  req+    "CreateMeetingWithAttendees"+    "fixture/CreateMeetingWithAttendees.yaml"++requestDeleteAttendee :: DeleteAttendee -> TestTree+requestDeleteAttendee =+  req+    "DeleteAttendee"+    "fixture/DeleteAttendee.yaml"++requestDeleteMeeting :: DeleteMeeting -> TestTree+requestDeleteMeeting =+  req+    "DeleteMeeting"+    "fixture/DeleteMeeting.yaml"++requestGetAttendee :: GetAttendee -> TestTree+requestGetAttendee =+  req+    "GetAttendee"+    "fixture/GetAttendee.yaml"++requestGetMeeting :: GetMeeting -> TestTree+requestGetMeeting =+  req+    "GetMeeting"+    "fixture/GetMeeting.yaml"++requestListAttendees :: ListAttendees -> TestTree+requestListAttendees =+  req+    "ListAttendees"+    "fixture/ListAttendees.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+  req+    "ListTagsForResource"+    "fixture/ListTagsForResource.yaml"++requestStartMeetingTranscription :: StartMeetingTranscription -> TestTree+requestStartMeetingTranscription =+  req+    "StartMeetingTranscription"+    "fixture/StartMeetingTranscription.yaml"++requestStopMeetingTranscription :: StopMeetingTranscription -> TestTree+requestStopMeetingTranscription =+  req+    "StopMeetingTranscription"+    "fixture/StopMeetingTranscription.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+  req+    "TagResource"+    "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+  req+    "UntagResource"+    "fixture/UntagResource.yaml"++requestUpdateAttendeeCapabilities :: UpdateAttendeeCapabilities -> TestTree+requestUpdateAttendeeCapabilities =+  req+    "UpdateAttendeeCapabilities"+    "fixture/UpdateAttendeeCapabilities.yaml"++-- Responses++responseBatchCreateAttendee :: BatchCreateAttendeeResponse -> TestTree+responseBatchCreateAttendee =+  res+    "BatchCreateAttendeeResponse"+    "fixture/BatchCreateAttendeeResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy BatchCreateAttendee)++responseBatchUpdateAttendeeCapabilitiesExcept :: BatchUpdateAttendeeCapabilitiesExceptResponse -> TestTree+responseBatchUpdateAttendeeCapabilitiesExcept =+  res+    "BatchUpdateAttendeeCapabilitiesExceptResponse"+    "fixture/BatchUpdateAttendeeCapabilitiesExceptResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy BatchUpdateAttendeeCapabilitiesExcept)++responseCreateAttendee :: CreateAttendeeResponse -> TestTree+responseCreateAttendee =+  res+    "CreateAttendeeResponse"+    "fixture/CreateAttendeeResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateAttendee)++responseCreateMeeting :: CreateMeetingResponse -> TestTree+responseCreateMeeting =+  res+    "CreateMeetingResponse"+    "fixture/CreateMeetingResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateMeeting)++responseCreateMeetingWithAttendees :: CreateMeetingWithAttendeesResponse -> TestTree+responseCreateMeetingWithAttendees =+  res+    "CreateMeetingWithAttendeesResponse"+    "fixture/CreateMeetingWithAttendeesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateMeetingWithAttendees)++responseDeleteAttendee :: DeleteAttendeeResponse -> TestTree+responseDeleteAttendee =+  res+    "DeleteAttendeeResponse"+    "fixture/DeleteAttendeeResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteAttendee)++responseDeleteMeeting :: DeleteMeetingResponse -> TestTree+responseDeleteMeeting =+  res+    "DeleteMeetingResponse"+    "fixture/DeleteMeetingResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteMeeting)++responseGetAttendee :: GetAttendeeResponse -> TestTree+responseGetAttendee =+  res+    "GetAttendeeResponse"+    "fixture/GetAttendeeResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetAttendee)++responseGetMeeting :: GetMeetingResponse -> TestTree+responseGetMeeting =+  res+    "GetMeetingResponse"+    "fixture/GetMeetingResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetMeeting)++responseListAttendees :: ListAttendeesResponse -> TestTree+responseListAttendees =+  res+    "ListAttendeesResponse"+    "fixture/ListAttendeesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListAttendees)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+  res+    "ListTagsForResourceResponse"+    "fixture/ListTagsForResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responseStartMeetingTranscription :: StartMeetingTranscriptionResponse -> TestTree+responseStartMeetingTranscription =+  res+    "StartMeetingTranscriptionResponse"+    "fixture/StartMeetingTranscriptionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy StartMeetingTranscription)++responseStopMeetingTranscription :: StopMeetingTranscriptionResponse -> TestTree+responseStopMeetingTranscription =+  res+    "StopMeetingTranscriptionResponse"+    "fixture/StopMeetingTranscriptionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy StopMeetingTranscription)++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)++responseUpdateAttendeeCapabilities :: UpdateAttendeeCapabilitiesResponse -> TestTree+responseUpdateAttendeeCapabilities =+  res+    "UpdateAttendeeCapabilitiesResponse"+    "fixture/UpdateAttendeeCapabilitiesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateAttendeeCapabilities)