packages feed

amazonka-chime (empty) → 2.0

raw patch · 735 files changed

+63526/−0 lines, 735 filesdep +amazonka-chimedep +amazonka-coredep +amazonka-test

Dependencies added: amazonka-chime, 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++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2018-05-01@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-chime)+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.Chime](http://hackage.haskell.org/package/amazonka-chime/docs/Amazonka-Chime.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` 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.cabal view
@@ -0,0 +1,424 @@+cabal-version:      2.2+name:               amazonka-chime+version:            2.0+synopsis:           Amazon Chime 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 @2018-05-01@ 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.Chime.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.Chime" 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++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.Chime+    Amazonka.Chime.AssociatePhoneNumbersWithVoiceConnector+    Amazonka.Chime.AssociatePhoneNumbersWithVoiceConnectorGroup+    Amazonka.Chime.AssociatePhoneNumberWithUser+    Amazonka.Chime.AssociateSigninDelegateGroupsWithAccount+    Amazonka.Chime.BatchCreateAttendee+    Amazonka.Chime.BatchCreateChannelMembership+    Amazonka.Chime.BatchCreateRoomMembership+    Amazonka.Chime.BatchDeletePhoneNumber+    Amazonka.Chime.BatchSuspendUser+    Amazonka.Chime.BatchUnsuspendUser+    Amazonka.Chime.BatchUpdatePhoneNumber+    Amazonka.Chime.BatchUpdateUser+    Amazonka.Chime.CreateAccount+    Amazonka.Chime.CreateAppInstance+    Amazonka.Chime.CreateAppInstanceAdmin+    Amazonka.Chime.CreateAppInstanceUser+    Amazonka.Chime.CreateAttendee+    Amazonka.Chime.CreateBot+    Amazonka.Chime.CreateChannel+    Amazonka.Chime.CreateChannelBan+    Amazonka.Chime.CreateChannelMembership+    Amazonka.Chime.CreateChannelModerator+    Amazonka.Chime.CreateMediaCapturePipeline+    Amazonka.Chime.CreateMeeting+    Amazonka.Chime.CreateMeetingDialOut+    Amazonka.Chime.CreateMeetingWithAttendees+    Amazonka.Chime.CreatePhoneNumberOrder+    Amazonka.Chime.CreateProxySession+    Amazonka.Chime.CreateRoom+    Amazonka.Chime.CreateRoomMembership+    Amazonka.Chime.CreateSipMediaApplication+    Amazonka.Chime.CreateSipMediaApplicationCall+    Amazonka.Chime.CreateSipRule+    Amazonka.Chime.CreateUser+    Amazonka.Chime.CreateVoiceConnector+    Amazonka.Chime.CreateVoiceConnectorGroup+    Amazonka.Chime.DeleteAccount+    Amazonka.Chime.DeleteAppInstance+    Amazonka.Chime.DeleteAppInstanceAdmin+    Amazonka.Chime.DeleteAppInstanceStreamingConfigurations+    Amazonka.Chime.DeleteAppInstanceUser+    Amazonka.Chime.DeleteAttendee+    Amazonka.Chime.DeleteChannel+    Amazonka.Chime.DeleteChannelBan+    Amazonka.Chime.DeleteChannelMembership+    Amazonka.Chime.DeleteChannelMessage+    Amazonka.Chime.DeleteChannelModerator+    Amazonka.Chime.DeleteEventsConfiguration+    Amazonka.Chime.DeleteMediaCapturePipeline+    Amazonka.Chime.DeleteMeeting+    Amazonka.Chime.DeletePhoneNumber+    Amazonka.Chime.DeleteProxySession+    Amazonka.Chime.DeleteRoom+    Amazonka.Chime.DeleteRoomMembership+    Amazonka.Chime.DeleteSipMediaApplication+    Amazonka.Chime.DeleteSipRule+    Amazonka.Chime.DeleteVoiceConnector+    Amazonka.Chime.DeleteVoiceConnectorEmergencyCallingConfiguration+    Amazonka.Chime.DeleteVoiceConnectorGroup+    Amazonka.Chime.DeleteVoiceConnectorOrigination+    Amazonka.Chime.DeleteVoiceConnectorProxy+    Amazonka.Chime.DeleteVoiceConnectorStreamingConfiguration+    Amazonka.Chime.DeleteVoiceConnectorTermination+    Amazonka.Chime.DeleteVoiceConnectorTerminationCredentials+    Amazonka.Chime.DescribeAppInstance+    Amazonka.Chime.DescribeAppInstanceAdmin+    Amazonka.Chime.DescribeAppInstanceUser+    Amazonka.Chime.DescribeChannel+    Amazonka.Chime.DescribeChannelBan+    Amazonka.Chime.DescribeChannelMembership+    Amazonka.Chime.DescribeChannelMembershipForAppInstanceUser+    Amazonka.Chime.DescribeChannelModeratedByAppInstanceUser+    Amazonka.Chime.DescribeChannelModerator+    Amazonka.Chime.DisassociatePhoneNumberFromUser+    Amazonka.Chime.DisassociatePhoneNumbersFromVoiceConnector+    Amazonka.Chime.DisassociatePhoneNumbersFromVoiceConnectorGroup+    Amazonka.Chime.DisassociateSigninDelegateGroupsFromAccount+    Amazonka.Chime.GetAccount+    Amazonka.Chime.GetAccountSettings+    Amazonka.Chime.GetAppInstanceRetentionSettings+    Amazonka.Chime.GetAppInstanceStreamingConfigurations+    Amazonka.Chime.GetAttendee+    Amazonka.Chime.GetBot+    Amazonka.Chime.GetChannelMessage+    Amazonka.Chime.GetEventsConfiguration+    Amazonka.Chime.GetGlobalSettings+    Amazonka.Chime.GetMediaCapturePipeline+    Amazonka.Chime.GetMeeting+    Amazonka.Chime.GetMessagingSessionEndpoint+    Amazonka.Chime.GetPhoneNumber+    Amazonka.Chime.GetPhoneNumberOrder+    Amazonka.Chime.GetPhoneNumberSettings+    Amazonka.Chime.GetProxySession+    Amazonka.Chime.GetRetentionSettings+    Amazonka.Chime.GetRoom+    Amazonka.Chime.GetSipMediaApplication+    Amazonka.Chime.GetSipMediaApplicationLoggingConfiguration+    Amazonka.Chime.GetSipRule+    Amazonka.Chime.GetUser+    Amazonka.Chime.GetUserSettings+    Amazonka.Chime.GetVoiceConnector+    Amazonka.Chime.GetVoiceConnectorEmergencyCallingConfiguration+    Amazonka.Chime.GetVoiceConnectorGroup+    Amazonka.Chime.GetVoiceConnectorLoggingConfiguration+    Amazonka.Chime.GetVoiceConnectorOrigination+    Amazonka.Chime.GetVoiceConnectorProxy+    Amazonka.Chime.GetVoiceConnectorStreamingConfiguration+    Amazonka.Chime.GetVoiceConnectorTermination+    Amazonka.Chime.GetVoiceConnectorTerminationHealth+    Amazonka.Chime.InviteUsers+    Amazonka.Chime.Lens+    Amazonka.Chime.ListAccounts+    Amazonka.Chime.ListAppInstanceAdmins+    Amazonka.Chime.ListAppInstances+    Amazonka.Chime.ListAppInstanceUsers+    Amazonka.Chime.ListAttendees+    Amazonka.Chime.ListAttendeeTags+    Amazonka.Chime.ListBots+    Amazonka.Chime.ListChannelBans+    Amazonka.Chime.ListChannelMemberships+    Amazonka.Chime.ListChannelMembershipsForAppInstanceUser+    Amazonka.Chime.ListChannelMessages+    Amazonka.Chime.ListChannelModerators+    Amazonka.Chime.ListChannels+    Amazonka.Chime.ListChannelsModeratedByAppInstanceUser+    Amazonka.Chime.ListMediaCapturePipelines+    Amazonka.Chime.ListMeetings+    Amazonka.Chime.ListMeetingTags+    Amazonka.Chime.ListPhoneNumberOrders+    Amazonka.Chime.ListPhoneNumbers+    Amazonka.Chime.ListProxySessions+    Amazonka.Chime.ListRoomMemberships+    Amazonka.Chime.ListRooms+    Amazonka.Chime.ListSipMediaApplications+    Amazonka.Chime.ListSipRules+    Amazonka.Chime.ListSupportedPhoneNumberCountries+    Amazonka.Chime.ListTagsForResource+    Amazonka.Chime.ListUsers+    Amazonka.Chime.ListVoiceConnectorGroups+    Amazonka.Chime.ListVoiceConnectors+    Amazonka.Chime.ListVoiceConnectorTerminationCredentials+    Amazonka.Chime.LogoutUser+    Amazonka.Chime.PutAppInstanceRetentionSettings+    Amazonka.Chime.PutAppInstanceStreamingConfigurations+    Amazonka.Chime.PutEventsConfiguration+    Amazonka.Chime.PutRetentionSettings+    Amazonka.Chime.PutSipMediaApplicationLoggingConfiguration+    Amazonka.Chime.PutVoiceConnectorEmergencyCallingConfiguration+    Amazonka.Chime.PutVoiceConnectorLoggingConfiguration+    Amazonka.Chime.PutVoiceConnectorOrigination+    Amazonka.Chime.PutVoiceConnectorProxy+    Amazonka.Chime.PutVoiceConnectorStreamingConfiguration+    Amazonka.Chime.PutVoiceConnectorTermination+    Amazonka.Chime.PutVoiceConnectorTerminationCredentials+    Amazonka.Chime.RedactChannelMessage+    Amazonka.Chime.RedactConversationMessage+    Amazonka.Chime.RedactRoomMessage+    Amazonka.Chime.RegenerateSecurityToken+    Amazonka.Chime.ResetPersonalPIN+    Amazonka.Chime.RestorePhoneNumber+    Amazonka.Chime.SearchAvailablePhoneNumbers+    Amazonka.Chime.SendChannelMessage+    Amazonka.Chime.StartMeetingTranscription+    Amazonka.Chime.StopMeetingTranscription+    Amazonka.Chime.TagAttendee+    Amazonka.Chime.TagMeeting+    Amazonka.Chime.TagResource+    Amazonka.Chime.Types+    Amazonka.Chime.Types.Account+    Amazonka.Chime.Types.AccountSettings+    Amazonka.Chime.Types.AccountStatus+    Amazonka.Chime.Types.AccountType+    Amazonka.Chime.Types.Address+    Amazonka.Chime.Types.AlexaForBusinessMetadata+    Amazonka.Chime.Types.AppInstance+    Amazonka.Chime.Types.AppInstanceAdmin+    Amazonka.Chime.Types.AppInstanceAdminSummary+    Amazonka.Chime.Types.AppInstanceDataType+    Amazonka.Chime.Types.AppInstanceRetentionSettings+    Amazonka.Chime.Types.AppInstanceStreamingConfiguration+    Amazonka.Chime.Types.AppInstanceSummary+    Amazonka.Chime.Types.AppInstanceUser+    Amazonka.Chime.Types.AppInstanceUserMembershipSummary+    Amazonka.Chime.Types.AppInstanceUserSummary+    Amazonka.Chime.Types.ArtifactsConfiguration+    Amazonka.Chime.Types.ArtifactsState+    Amazonka.Chime.Types.Attendee+    Amazonka.Chime.Types.AudioArtifactsConfiguration+    Amazonka.Chime.Types.AudioMuxType+    Amazonka.Chime.Types.BatchChannelMemberships+    Amazonka.Chime.Types.BatchCreateChannelMembershipError+    Amazonka.Chime.Types.Bot+    Amazonka.Chime.Types.BotType+    Amazonka.Chime.Types.BusinessCallingSettings+    Amazonka.Chime.Types.CallingNameStatus+    Amazonka.Chime.Types.CandidateAddress+    Amazonka.Chime.Types.Capability+    Amazonka.Chime.Types.Channel+    Amazonka.Chime.Types.ChannelBan+    Amazonka.Chime.Types.ChannelBanSummary+    Amazonka.Chime.Types.ChannelMembership+    Amazonka.Chime.Types.ChannelMembershipForAppInstanceUserSummary+    Amazonka.Chime.Types.ChannelMembershipSummary+    Amazonka.Chime.Types.ChannelMembershipType+    Amazonka.Chime.Types.ChannelMessage+    Amazonka.Chime.Types.ChannelMessagePersistenceType+    Amazonka.Chime.Types.ChannelMessageSummary+    Amazonka.Chime.Types.ChannelMessageType+    Amazonka.Chime.Types.ChannelMode+    Amazonka.Chime.Types.ChannelModeratedByAppInstanceUserSummary+    Amazonka.Chime.Types.ChannelModerator+    Amazonka.Chime.Types.ChannelModeratorSummary+    Amazonka.Chime.Types.ChannelPrivacy+    Amazonka.Chime.Types.ChannelRetentionSettings+    Amazonka.Chime.Types.ChannelSummary+    Amazonka.Chime.Types.ChimeSdkMeetingConfiguration+    Amazonka.Chime.Types.ContentArtifactsConfiguration+    Amazonka.Chime.Types.ContentMuxType+    Amazonka.Chime.Types.ConversationRetentionSettings+    Amazonka.Chime.Types.CreateAttendeeError+    Amazonka.Chime.Types.CreateAttendeeRequestItem+    Amazonka.Chime.Types.Credential+    Amazonka.Chime.Types.DNISEmergencyCallingConfiguration+    Amazonka.Chime.Types.EmailStatus+    Amazonka.Chime.Types.EmergencyCallingConfiguration+    Amazonka.Chime.Types.EngineTranscribeMedicalSettings+    Amazonka.Chime.Types.EngineTranscribeSettings+    Amazonka.Chime.Types.ErrorCode+    Amazonka.Chime.Types.EventsConfiguration+    Amazonka.Chime.Types.GeoMatchLevel+    Amazonka.Chime.Types.GeoMatchParams+    Amazonka.Chime.Types.Identity+    Amazonka.Chime.Types.Invite+    Amazonka.Chime.Types.InviteStatus+    Amazonka.Chime.Types.License+    Amazonka.Chime.Types.LoggingConfiguration+    Amazonka.Chime.Types.MediaCapturePipeline+    Amazonka.Chime.Types.MediaPipelineSinkType+    Amazonka.Chime.Types.MediaPipelineSourceType+    Amazonka.Chime.Types.MediaPipelineStatus+    Amazonka.Chime.Types.MediaPlacement+    Amazonka.Chime.Types.Meeting+    Amazonka.Chime.Types.MeetingNotificationConfiguration+    Amazonka.Chime.Types.Member+    Amazonka.Chime.Types.MemberError+    Amazonka.Chime.Types.MembershipItem+    Amazonka.Chime.Types.MemberType+    Amazonka.Chime.Types.MessagingSessionEndpoint+    Amazonka.Chime.Types.NotificationTarget+    Amazonka.Chime.Types.NumberSelectionBehavior+    Amazonka.Chime.Types.OrderedPhoneNumber+    Amazonka.Chime.Types.OrderedPhoneNumberStatus+    Amazonka.Chime.Types.Origination+    Amazonka.Chime.Types.OriginationRoute+    Amazonka.Chime.Types.OriginationRouteProtocol+    Amazonka.Chime.Types.Participant+    Amazonka.Chime.Types.PhoneNumber+    Amazonka.Chime.Types.PhoneNumberAssociation+    Amazonka.Chime.Types.PhoneNumberAssociationName+    Amazonka.Chime.Types.PhoneNumberCapabilities+    Amazonka.Chime.Types.PhoneNumberCountry+    Amazonka.Chime.Types.PhoneNumberError+    Amazonka.Chime.Types.PhoneNumberOrder+    Amazonka.Chime.Types.PhoneNumberOrderStatus+    Amazonka.Chime.Types.PhoneNumberProductType+    Amazonka.Chime.Types.PhoneNumberStatus+    Amazonka.Chime.Types.PhoneNumberType+    Amazonka.Chime.Types.Proxy+    Amazonka.Chime.Types.ProxySession+    Amazonka.Chime.Types.ProxySessionStatus+    Amazonka.Chime.Types.RegistrationStatus+    Amazonka.Chime.Types.RetentionSettings+    Amazonka.Chime.Types.Room+    Amazonka.Chime.Types.RoomMembership+    Amazonka.Chime.Types.RoomMembershipRole+    Amazonka.Chime.Types.RoomRetentionSettings+    Amazonka.Chime.Types.SelectedVideoStreams+    Amazonka.Chime.Types.SigninDelegateGroup+    Amazonka.Chime.Types.SipMediaApplication+    Amazonka.Chime.Types.SipMediaApplicationCall+    Amazonka.Chime.Types.SipMediaApplicationEndpoint+    Amazonka.Chime.Types.SipMediaApplicationLoggingConfiguration+    Amazonka.Chime.Types.SipRule+    Amazonka.Chime.Types.SipRuleTargetApplication+    Amazonka.Chime.Types.SipRuleTriggerType+    Amazonka.Chime.Types.SortOrder+    Amazonka.Chime.Types.SourceConfiguration+    Amazonka.Chime.Types.StreamingConfiguration+    Amazonka.Chime.Types.StreamingNotificationTarget+    Amazonka.Chime.Types.Tag+    Amazonka.Chime.Types.TelephonySettings+    Amazonka.Chime.Types.Termination+    Amazonka.Chime.Types.TerminationHealth+    Amazonka.Chime.Types.TranscribeContentIdentificationType+    Amazonka.Chime.Types.TranscribeContentRedactionType+    Amazonka.Chime.Types.TranscribeLanguageCode+    Amazonka.Chime.Types.TranscribeMedicalContentIdentificationType+    Amazonka.Chime.Types.TranscribeMedicalLanguageCode+    Amazonka.Chime.Types.TranscribeMedicalRegion+    Amazonka.Chime.Types.TranscribeMedicalSpecialty+    Amazonka.Chime.Types.TranscribeMedicalType+    Amazonka.Chime.Types.TranscribePartialResultsStability+    Amazonka.Chime.Types.TranscribeRegion+    Amazonka.Chime.Types.TranscribeVocabularyFilterMethod+    Amazonka.Chime.Types.TranscriptionConfiguration+    Amazonka.Chime.Types.UpdatePhoneNumberRequestItem+    Amazonka.Chime.Types.UpdateUserRequestItem+    Amazonka.Chime.Types.User+    Amazonka.Chime.Types.UserError+    Amazonka.Chime.Types.UserSettings+    Amazonka.Chime.Types.UserType+    Amazonka.Chime.Types.VideoArtifactsConfiguration+    Amazonka.Chime.Types.VideoMuxType+    Amazonka.Chime.Types.VoiceConnector+    Amazonka.Chime.Types.VoiceConnectorAwsRegion+    Amazonka.Chime.Types.VoiceConnectorGroup+    Amazonka.Chime.Types.VoiceConnectorItem+    Amazonka.Chime.Types.VoiceConnectorSettings+    Amazonka.Chime.UntagAttendee+    Amazonka.Chime.UntagMeeting+    Amazonka.Chime.UntagResource+    Amazonka.Chime.UpdateAccount+    Amazonka.Chime.UpdateAccountSettings+    Amazonka.Chime.UpdateAppInstance+    Amazonka.Chime.UpdateAppInstanceUser+    Amazonka.Chime.UpdateBot+    Amazonka.Chime.UpdateChannel+    Amazonka.Chime.UpdateChannelMessage+    Amazonka.Chime.UpdateChannelReadMarker+    Amazonka.Chime.UpdateGlobalSettings+    Amazonka.Chime.UpdatePhoneNumber+    Amazonka.Chime.UpdatePhoneNumberSettings+    Amazonka.Chime.UpdateProxySession+    Amazonka.Chime.UpdateRoom+    Amazonka.Chime.UpdateRoomMembership+    Amazonka.Chime.UpdateSipMediaApplication+    Amazonka.Chime.UpdateSipMediaApplicationCall+    Amazonka.Chime.UpdateSipRule+    Amazonka.Chime.UpdateUser+    Amazonka.Chime.UpdateUserSettings+    Amazonka.Chime.UpdateVoiceConnector+    Amazonka.Chime.UpdateVoiceConnectorGroup+    Amazonka.Chime.ValidateE911Address+    Amazonka.Chime.Waiters++  build-depends:+    , amazonka-core  >=2.0  && <2.1+    , base           >=4.12 && <5++test-suite amazonka-chime-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.Chime+    Test.Amazonka.Chime.Internal+    Test.Amazonka.Gen.Chime++  build-depends:+    , amazonka-chime+    , amazonka-core         >=2.0 && <2.1+    , amazonka-test         >=2.0 && <2.1+    , base+    , bytestring+    , case-insensitive+    , tasty+    , tasty-hunit+    , text+    , time+    , unordered-containers
+ fixture/AssociatePhoneNumberWithUser.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/AssociatePhoneNumberWithUserResponse.proto view
+ fixture/AssociatePhoneNumbersWithVoiceConnector.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/AssociatePhoneNumbersWithVoiceConnectorGroup.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/AssociatePhoneNumbersWithVoiceConnectorGroupResponse.proto view
+ fixture/AssociatePhoneNumbersWithVoiceConnectorResponse.proto view
+ fixture/AssociateSigninDelegateGroupsWithAccount.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/AssociateSigninDelegateGroupsWithAccountResponse.proto view
+ fixture/BatchCreateAttendee.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/BatchCreateChannelMembership.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/BatchCreateChannelMembershipResponse.proto view
+ fixture/BatchCreateRoomMembership.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/BatchCreateRoomMembershipResponse.proto view
+ fixture/BatchDeletePhoneNumber.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/BatchDeletePhoneNumberResponse.proto view
+ fixture/BatchSuspendUser.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/BatchSuspendUserResponse.proto view
+ fixture/BatchUnsuspendUser.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/BatchUnsuspendUserResponse.proto view
+ fixture/BatchUpdatePhoneNumber.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/BatchUpdatePhoneNumberResponse.proto view
+ fixture/BatchUpdateUser.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/BatchUpdateUserResponse.proto view
+ fixture/CreateAccount.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/CreateAccountResponse.proto view
+ fixture/CreateAppInstance.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/CreateAppInstanceAdmin.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/CreateAppInstanceAdminResponse.proto view
+ fixture/CreateAppInstanceResponse.proto view
+ fixture/CreateAppInstanceUser.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/CreateAppInstanceUserResponse.proto view
+ fixture/CreateAttendee.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/CreateBot.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/CreateBotResponse.proto view
+ fixture/CreateChannel.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/CreateChannelBan.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/CreateChannelBanResponse.proto view
+ fixture/CreateChannelMembership.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/CreateChannelMembershipResponse.proto view
+ fixture/CreateChannelModerator.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/CreateChannelModeratorResponse.proto view
+ fixture/CreateChannelResponse.proto view
+ fixture/CreateMediaCapturePipeline.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/CreateMediaCapturePipelineResponse.proto view
+ fixture/CreateMeeting.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/CreateMeetingDialOut.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/CreateMeetingDialOutResponse.proto view
+ 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/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/CreatePhoneNumberOrder.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/CreatePhoneNumberOrderResponse.proto view
+ fixture/CreateProxySession.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/CreateProxySessionResponse.proto view
+ fixture/CreateRoom.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/CreateRoomMembership.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/CreateRoomMembershipResponse.proto view
+ fixture/CreateRoomResponse.proto view
+ fixture/CreateSipMediaApplication.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/CreateSipMediaApplicationCall.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/CreateSipMediaApplicationCallResponse.proto view
+ fixture/CreateSipMediaApplicationResponse.proto view
+ fixture/CreateSipRule.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/CreateSipRuleResponse.proto view
+ fixture/CreateUser.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/CreateUserResponse.proto view
+ fixture/CreateVoiceConnector.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/CreateVoiceConnectorGroup.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/CreateVoiceConnectorGroupResponse.proto view
+ fixture/CreateVoiceConnectorResponse.proto view
+ fixture/DeleteAccount.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/DeleteAccountResponse.proto view
+ fixture/DeleteAppInstance.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/DeleteAppInstanceAdmin.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/DeleteAppInstanceAdminResponse.proto view
+ fixture/DeleteAppInstanceResponse.proto view
+ fixture/DeleteAppInstanceStreamingConfigurations.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/DeleteAppInstanceStreamingConfigurationsResponse.proto view
+ fixture/DeleteAppInstanceUser.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/DeleteAppInstanceUserResponse.proto view
+ fixture/DeleteAttendee.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/DeleteChannel.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/DeleteChannelBan.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/DeleteChannelBanResponse.proto view
+ fixture/DeleteChannelMembership.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/DeleteChannelMembershipResponse.proto view
+ fixture/DeleteChannelMessage.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/DeleteChannelMessageResponse.proto view
+ fixture/DeleteChannelModerator.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/DeleteChannelModeratorResponse.proto view
+ fixture/DeleteChannelResponse.proto view
+ fixture/DeleteEventsConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/DeleteEventsConfigurationResponse.proto view
+ fixture/DeleteMediaCapturePipeline.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/DeleteMediaCapturePipelineResponse.proto view
+ fixture/DeleteMeeting.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/DeletePhoneNumber.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/DeletePhoneNumberResponse.proto view
+ fixture/DeleteProxySession.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/DeleteProxySessionResponse.proto view
+ fixture/DeleteRoom.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/DeleteRoomMembership.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/DeleteRoomMembershipResponse.proto view
+ fixture/DeleteRoomResponse.proto view
+ fixture/DeleteSipMediaApplication.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/DeleteSipMediaApplicationResponse.proto view
+ fixture/DeleteSipRule.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/DeleteSipRuleResponse.proto view
+ fixture/DeleteVoiceConnector.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/DeleteVoiceConnectorEmergencyCallingConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/DeleteVoiceConnectorEmergencyCallingConfigurationResponse.proto view
+ fixture/DeleteVoiceConnectorGroup.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/DeleteVoiceConnectorGroupResponse.proto view
+ fixture/DeleteVoiceConnectorOrigination.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/DeleteVoiceConnectorOriginationResponse.proto view
+ fixture/DeleteVoiceConnectorProxy.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/DeleteVoiceConnectorProxyResponse.proto view
+ fixture/DeleteVoiceConnectorResponse.proto view
+ fixture/DeleteVoiceConnectorStreamingConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/DeleteVoiceConnectorStreamingConfigurationResponse.proto view
+ fixture/DeleteVoiceConnectorTermination.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/DeleteVoiceConnectorTerminationCredentials.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/DeleteVoiceConnectorTerminationCredentialsResponse.proto view
+ fixture/DeleteVoiceConnectorTerminationResponse.proto view
+ fixture/DescribeAppInstance.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/DescribeAppInstanceAdmin.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/DescribeAppInstanceAdminResponse.proto view
+ fixture/DescribeAppInstanceResponse.proto view
+ fixture/DescribeAppInstanceUser.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/DescribeAppInstanceUserResponse.proto view
+ fixture/DescribeChannel.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/DescribeChannelBan.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/DescribeChannelBanResponse.proto view
+ fixture/DescribeChannelMembership.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/DescribeChannelMembershipForAppInstanceUser.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/DescribeChannelMembershipForAppInstanceUserResponse.proto view
+ fixture/DescribeChannelMembershipResponse.proto view
+ fixture/DescribeChannelModeratedByAppInstanceUser.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/DescribeChannelModeratedByAppInstanceUserResponse.proto view
+ fixture/DescribeChannelModerator.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/DescribeChannelModeratorResponse.proto view
+ fixture/DescribeChannelResponse.proto view
+ fixture/DisassociatePhoneNumberFromUser.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/DisassociatePhoneNumberFromUserResponse.proto view
+ fixture/DisassociatePhoneNumbersFromVoiceConnector.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/DisassociatePhoneNumbersFromVoiceConnectorGroup.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/DisassociatePhoneNumbersFromVoiceConnectorGroupResponse.proto view
+ fixture/DisassociatePhoneNumbersFromVoiceConnectorResponse.proto view
+ fixture/DisassociateSigninDelegateGroupsFromAccount.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/DisassociateSigninDelegateGroupsFromAccountResponse.proto view
+ fixture/GetAccount.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/GetAccountResponse.proto view
+ fixture/GetAccountSettings.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/GetAccountSettingsResponse.proto view
+ fixture/GetAppInstanceRetentionSettings.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/GetAppInstanceRetentionSettingsResponse.proto view
+ fixture/GetAppInstanceStreamingConfigurations.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/GetAppInstanceStreamingConfigurationsResponse.proto view
+ fixture/GetAttendee.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/GetBot.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/GetBotResponse.proto view
+ fixture/GetChannelMessage.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/GetChannelMessageResponse.proto view
+ fixture/GetEventsConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/GetEventsConfigurationResponse.proto view
+ fixture/GetGlobalSettings.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/GetGlobalSettingsResponse.proto view
+ fixture/GetMediaCapturePipeline.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/GetMediaCapturePipelineResponse.proto view
+ fixture/GetMeeting.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/GetMessagingSessionEndpoint.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/GetMessagingSessionEndpointResponse.proto view
+ fixture/GetPhoneNumber.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/GetPhoneNumberOrder.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/GetPhoneNumberOrderResponse.proto view
+ fixture/GetPhoneNumberResponse.proto view
+ fixture/GetPhoneNumberSettings.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/GetPhoneNumberSettingsResponse.proto view
+ fixture/GetProxySession.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/GetProxySessionResponse.proto view
+ fixture/GetRetentionSettings.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/GetRetentionSettingsResponse.proto view
+ fixture/GetRoom.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/GetRoomResponse.proto view
+ fixture/GetSipMediaApplication.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/GetSipMediaApplicationLoggingConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/GetSipMediaApplicationLoggingConfigurationResponse.proto view
+ fixture/GetSipMediaApplicationResponse.proto view
+ fixture/GetSipRule.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/GetSipRuleResponse.proto view
+ fixture/GetUser.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/GetUserResponse.proto view
+ fixture/GetUserSettings.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/GetUserSettingsResponse.proto view
+ fixture/GetVoiceConnector.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/GetVoiceConnectorEmergencyCallingConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/GetVoiceConnectorEmergencyCallingConfigurationResponse.proto view
+ fixture/GetVoiceConnectorGroup.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/GetVoiceConnectorGroupResponse.proto view
+ fixture/GetVoiceConnectorLoggingConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/GetVoiceConnectorLoggingConfigurationResponse.proto view
+ fixture/GetVoiceConnectorOrigination.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/GetVoiceConnectorOriginationResponse.proto view
+ fixture/GetVoiceConnectorProxy.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/GetVoiceConnectorProxyResponse.proto view
+ fixture/GetVoiceConnectorResponse.proto view
+ fixture/GetVoiceConnectorStreamingConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/GetVoiceConnectorStreamingConfigurationResponse.proto view
+ fixture/GetVoiceConnectorTermination.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/GetVoiceConnectorTerminationHealth.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/GetVoiceConnectorTerminationHealthResponse.proto view
+ fixture/GetVoiceConnectorTerminationResponse.proto view
+ fixture/InviteUsers.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/InviteUsersResponse.proto view
+ fixture/ListAccounts.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/ListAccountsResponse.proto view
+ fixture/ListAppInstanceAdmins.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/ListAppInstanceAdminsResponse.proto view
+ fixture/ListAppInstanceUsers.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/ListAppInstanceUsersResponse.proto view
+ fixture/ListAppInstances.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/ListAppInstancesResponse.proto view
+ fixture/ListAttendeeTags.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/ListAttendeeTagsResponse.proto view
+ fixture/ListAttendees.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/ListBots.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/ListBotsResponse.proto view
+ fixture/ListChannelBans.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/ListChannelBansResponse.proto view
+ fixture/ListChannelMemberships.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/ListChannelMembershipsForAppInstanceUser.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/ListChannelMembershipsForAppInstanceUserResponse.proto view
+ fixture/ListChannelMembershipsResponse.proto view
+ fixture/ListChannelMessages.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/ListChannelMessagesResponse.proto view
+ fixture/ListChannelModerators.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/ListChannelModeratorsResponse.proto view
+ fixture/ListChannels.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/ListChannelsModeratedByAppInstanceUser.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/ListChannelsModeratedByAppInstanceUserResponse.proto view
+ fixture/ListChannelsResponse.proto view
+ fixture/ListMediaCapturePipelines.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/ListMediaCapturePipelinesResponse.proto view
+ fixture/ListMeetingTags.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/ListMeetingTagsResponse.proto view
+ fixture/ListMeetings.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/ListMeetingsResponse.proto view
+ fixture/ListPhoneNumberOrders.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/ListPhoneNumberOrdersResponse.proto view
+ fixture/ListPhoneNumbers.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/ListPhoneNumbersResponse.proto view
+ fixture/ListProxySessions.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/ListProxySessionsResponse.proto view
+ fixture/ListRoomMemberships.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/ListRoomMembershipsResponse.proto view
+ fixture/ListRooms.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/ListRoomsResponse.proto view
+ fixture/ListSipMediaApplications.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/ListSipMediaApplicationsResponse.proto view
+ fixture/ListSipRules.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/ListSipRulesResponse.proto view
+ fixture/ListSupportedPhoneNumberCountries.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/ListSupportedPhoneNumberCountriesResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/ListUsers.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/ListUsersResponse.proto view
+ fixture/ListVoiceConnectorGroups.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/ListVoiceConnectorGroupsResponse.proto view
+ fixture/ListVoiceConnectorTerminationCredentials.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/ListVoiceConnectorTerminationCredentialsResponse.proto view
+ fixture/ListVoiceConnectors.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/ListVoiceConnectorsResponse.proto view
+ fixture/LogoutUser.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/LogoutUserResponse.proto view
+ fixture/PutAppInstanceRetentionSettings.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/PutAppInstanceRetentionSettingsResponse.proto view
+ fixture/PutAppInstanceStreamingConfigurations.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/PutAppInstanceStreamingConfigurationsResponse.proto view
+ fixture/PutEventsConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/PutEventsConfigurationResponse.proto view
+ fixture/PutRetentionSettings.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/PutRetentionSettingsResponse.proto view
+ fixture/PutSipMediaApplicationLoggingConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/PutSipMediaApplicationLoggingConfigurationResponse.proto view
+ fixture/PutVoiceConnectorEmergencyCallingConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/PutVoiceConnectorEmergencyCallingConfigurationResponse.proto view
+ fixture/PutVoiceConnectorLoggingConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/PutVoiceConnectorLoggingConfigurationResponse.proto view
+ fixture/PutVoiceConnectorOrigination.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/PutVoiceConnectorOriginationResponse.proto view
+ fixture/PutVoiceConnectorProxy.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/PutVoiceConnectorProxyResponse.proto view
+ fixture/PutVoiceConnectorStreamingConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/PutVoiceConnectorStreamingConfigurationResponse.proto view
+ fixture/PutVoiceConnectorTermination.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/PutVoiceConnectorTerminationCredentials.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/PutVoiceConnectorTerminationCredentialsResponse.proto view
+ fixture/PutVoiceConnectorTerminationResponse.proto view
+ fixture/RedactChannelMessage.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/RedactChannelMessageResponse.proto view
+ fixture/RedactConversationMessage.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/RedactConversationMessageResponse.proto view
+ fixture/RedactRoomMessage.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/RedactRoomMessageResponse.proto view
+ fixture/RegenerateSecurityToken.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/RegenerateSecurityTokenResponse.proto view
+ fixture/ResetPersonalPIN.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/ResetPersonalPINResponse.proto view
+ fixture/RestorePhoneNumber.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/RestorePhoneNumberResponse.proto view
+ fixture/SearchAvailablePhoneNumbers.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/SearchAvailablePhoneNumbersResponse.proto view
+ fixture/SendChannelMessage.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/SendChannelMessageResponse.proto view
+ fixture/StartMeetingTranscription.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/TagAttendee.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/TagAttendeeResponse.proto view
+ fixture/TagMeeting.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/TagMeetingResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/UntagAttendee.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/UntagAttendeeResponse.proto view
+ fixture/UntagMeeting.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/UntagMeetingResponse.proto view
+ fixture/UntagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/UpdateAccount.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/UpdateAccountResponse.proto view
+ fixture/UpdateAccountSettings.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/UpdateAccountSettingsResponse.proto view
+ fixture/UpdateAppInstance.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/UpdateAppInstanceResponse.proto view
+ fixture/UpdateAppInstanceUser.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/UpdateAppInstanceUserResponse.proto view
+ fixture/UpdateBot.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/UpdateBotResponse.proto view
+ fixture/UpdateChannel.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/UpdateChannelMessage.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/UpdateChannelMessageResponse.proto view
+ fixture/UpdateChannelReadMarker.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/UpdateChannelReadMarkerResponse.proto view
+ fixture/UpdateChannelResponse.proto view
+ fixture/UpdateGlobalSettings.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/UpdateGlobalSettingsResponse.proto view
+ fixture/UpdatePhoneNumber.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/UpdatePhoneNumberResponse.proto view
+ fixture/UpdatePhoneNumberSettings.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/UpdatePhoneNumberSettingsResponse.proto view
+ fixture/UpdateProxySession.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/UpdateProxySessionResponse.proto view
+ fixture/UpdateRoom.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/UpdateRoomMembership.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/UpdateRoomMembershipResponse.proto view
+ fixture/UpdateRoomResponse.proto view
+ fixture/UpdateSipMediaApplication.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/UpdateSipMediaApplicationCall.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/UpdateSipMediaApplicationCallResponse.proto view
+ fixture/UpdateSipMediaApplicationResponse.proto view
+ fixture/UpdateSipRule.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/UpdateSipRuleResponse.proto view
+ fixture/UpdateUser.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/UpdateUserResponse.proto view
+ fixture/UpdateUserSettings.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/UpdateUserSettingsResponse.proto view
+ fixture/UpdateVoiceConnector.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/UpdateVoiceConnectorGroup.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/UpdateVoiceConnectorGroupResponse.proto view
+ fixture/UpdateVoiceConnectorResponse.proto view
+ fixture/ValidateE911Address.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  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/ValidateE911AddressResponse.proto view
+ gen/Amazonka/Chime.hs view
@@ -0,0 +1,2024 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Amazonka.Chime+-- 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 @2018-05-01@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- The Amazon Chime API (application programming interface) is designed for+-- developers to perform key tasks, such as creating and managing Amazon+-- Chime accounts, users, and Voice Connectors. This guide provides+-- detailed information about the Amazon Chime API, including operations,+-- types, inputs and outputs, and error codes. It also includes API actions+-- for use with the Amazon Chime SDK, which developers use to build their+-- own communication applications. 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/.+--+-- You can use an AWS SDK, the AWS Command Line Interface (AWS CLI), or the+-- REST API to make API calls. We recommend using an AWS SDK or the AWS+-- CLI. Each API operation includes links to information about using it+-- with a language-specific AWS SDK or the AWS CLI.+--+-- [Using an AWS SDK]+--     You don\'t need to write code to calculate a signature for request+--     authentication. The SDK clients authenticate your requests by using+--     access keys that you provide. For more information about AWS SDKs,+--     see the <http://aws.amazon.com/developer/ AWS Developer Center>.+--+-- [Using the AWS CLI]+--     Use your access keys with the AWS CLI to make API calls. For+--     information about setting up the AWS CLI, see+--     <https://docs.aws.amazon.com/cli/latest/userguide/installing.html Installing the AWS Command Line Interface>+--     in the /AWS Command Line Interface User Guide/. For a list of+--     available Amazon Chime commands, see the+--     <https://docs.aws.amazon.com/cli/latest/reference/chime/index.html Amazon Chime commands>+--     in the /AWS CLI Command Reference/.+--+-- [Using REST APIs]+--     If you use REST to make API calls, you must authenticate your+--     request by providing a signature. Amazon Chime supports signature+--     version 4. For more information, see+--     <https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html Signature Version 4 Signing Process>+--     in the /Amazon Web Services General Reference/.+--+--     When making REST API calls, use the service name @chime@ and REST+--     endpoint @https:\/\/service.chime.aws.amazon.com@.+--+-- Administrative permissions are controlled using AWS Identity and Access+-- Management (IAM). For more information, see+-- <https://docs.aws.amazon.com/chime/latest/ag/security-iam.html Identity and Access Management for Amazon Chime>+-- in the /Amazon Chime Administration Guide/.+module Amazonka.Chime+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    -- $errors++    -- ** AccessDeniedException+    _AccessDeniedException,++    -- ** BadRequestException+    _BadRequestException,++    -- ** ConflictException+    _ConflictException,++    -- ** ForbiddenException+    _ForbiddenException,++    -- ** NotFoundException+    _NotFoundException,++    -- ** ResourceLimitExceededException+    _ResourceLimitExceededException,++    -- ** ServiceFailureException+    _ServiceFailureException,++    -- ** ServiceUnavailableException+    _ServiceUnavailableException,++    -- ** ThrottledClientException+    _ThrottledClientException,++    -- ** UnauthorizedClientException+    _UnauthorizedClientException,++    -- ** UnprocessableEntityException+    _UnprocessableEntityException,++    -- * Waiters+    -- $waiters++    -- * Operations+    -- $operations++    -- ** AssociatePhoneNumberWithUser+    AssociatePhoneNumberWithUser (AssociatePhoneNumberWithUser'),+    newAssociatePhoneNumberWithUser,+    AssociatePhoneNumberWithUserResponse (AssociatePhoneNumberWithUserResponse'),+    newAssociatePhoneNumberWithUserResponse,++    -- ** AssociatePhoneNumbersWithVoiceConnector+    AssociatePhoneNumbersWithVoiceConnector (AssociatePhoneNumbersWithVoiceConnector'),+    newAssociatePhoneNumbersWithVoiceConnector,+    AssociatePhoneNumbersWithVoiceConnectorResponse (AssociatePhoneNumbersWithVoiceConnectorResponse'),+    newAssociatePhoneNumbersWithVoiceConnectorResponse,++    -- ** AssociatePhoneNumbersWithVoiceConnectorGroup+    AssociatePhoneNumbersWithVoiceConnectorGroup (AssociatePhoneNumbersWithVoiceConnectorGroup'),+    newAssociatePhoneNumbersWithVoiceConnectorGroup,+    AssociatePhoneNumbersWithVoiceConnectorGroupResponse (AssociatePhoneNumbersWithVoiceConnectorGroupResponse'),+    newAssociatePhoneNumbersWithVoiceConnectorGroupResponse,++    -- ** AssociateSigninDelegateGroupsWithAccount+    AssociateSigninDelegateGroupsWithAccount (AssociateSigninDelegateGroupsWithAccount'),+    newAssociateSigninDelegateGroupsWithAccount,+    AssociateSigninDelegateGroupsWithAccountResponse (AssociateSigninDelegateGroupsWithAccountResponse'),+    newAssociateSigninDelegateGroupsWithAccountResponse,++    -- ** BatchCreateAttendee+    BatchCreateAttendee (BatchCreateAttendee'),+    newBatchCreateAttendee,+    BatchCreateAttendeeResponse (BatchCreateAttendeeResponse'),+    newBatchCreateAttendeeResponse,++    -- ** BatchCreateChannelMembership+    BatchCreateChannelMembership (BatchCreateChannelMembership'),+    newBatchCreateChannelMembership,+    BatchCreateChannelMembershipResponse (BatchCreateChannelMembershipResponse'),+    newBatchCreateChannelMembershipResponse,++    -- ** BatchCreateRoomMembership+    BatchCreateRoomMembership (BatchCreateRoomMembership'),+    newBatchCreateRoomMembership,+    BatchCreateRoomMembershipResponse (BatchCreateRoomMembershipResponse'),+    newBatchCreateRoomMembershipResponse,++    -- ** BatchDeletePhoneNumber+    BatchDeletePhoneNumber (BatchDeletePhoneNumber'),+    newBatchDeletePhoneNumber,+    BatchDeletePhoneNumberResponse (BatchDeletePhoneNumberResponse'),+    newBatchDeletePhoneNumberResponse,++    -- ** BatchSuspendUser+    BatchSuspendUser (BatchSuspendUser'),+    newBatchSuspendUser,+    BatchSuspendUserResponse (BatchSuspendUserResponse'),+    newBatchSuspendUserResponse,++    -- ** BatchUnsuspendUser+    BatchUnsuspendUser (BatchUnsuspendUser'),+    newBatchUnsuspendUser,+    BatchUnsuspendUserResponse (BatchUnsuspendUserResponse'),+    newBatchUnsuspendUserResponse,++    -- ** BatchUpdatePhoneNumber+    BatchUpdatePhoneNumber (BatchUpdatePhoneNumber'),+    newBatchUpdatePhoneNumber,+    BatchUpdatePhoneNumberResponse (BatchUpdatePhoneNumberResponse'),+    newBatchUpdatePhoneNumberResponse,++    -- ** BatchUpdateUser+    BatchUpdateUser (BatchUpdateUser'),+    newBatchUpdateUser,+    BatchUpdateUserResponse (BatchUpdateUserResponse'),+    newBatchUpdateUserResponse,++    -- ** CreateAccount+    CreateAccount (CreateAccount'),+    newCreateAccount,+    CreateAccountResponse (CreateAccountResponse'),+    newCreateAccountResponse,++    -- ** CreateAppInstance+    CreateAppInstance (CreateAppInstance'),+    newCreateAppInstance,+    CreateAppInstanceResponse (CreateAppInstanceResponse'),+    newCreateAppInstanceResponse,++    -- ** CreateAppInstanceAdmin+    CreateAppInstanceAdmin (CreateAppInstanceAdmin'),+    newCreateAppInstanceAdmin,+    CreateAppInstanceAdminResponse (CreateAppInstanceAdminResponse'),+    newCreateAppInstanceAdminResponse,++    -- ** CreateAppInstanceUser+    CreateAppInstanceUser (CreateAppInstanceUser'),+    newCreateAppInstanceUser,+    CreateAppInstanceUserResponse (CreateAppInstanceUserResponse'),+    newCreateAppInstanceUserResponse,++    -- ** CreateAttendee+    CreateAttendee (CreateAttendee'),+    newCreateAttendee,+    CreateAttendeeResponse (CreateAttendeeResponse'),+    newCreateAttendeeResponse,++    -- ** CreateBot+    CreateBot (CreateBot'),+    newCreateBot,+    CreateBotResponse (CreateBotResponse'),+    newCreateBotResponse,++    -- ** CreateChannel+    CreateChannel (CreateChannel'),+    newCreateChannel,+    CreateChannelResponse (CreateChannelResponse'),+    newCreateChannelResponse,++    -- ** CreateChannelBan+    CreateChannelBan (CreateChannelBan'),+    newCreateChannelBan,+    CreateChannelBanResponse (CreateChannelBanResponse'),+    newCreateChannelBanResponse,++    -- ** CreateChannelMembership+    CreateChannelMembership (CreateChannelMembership'),+    newCreateChannelMembership,+    CreateChannelMembershipResponse (CreateChannelMembershipResponse'),+    newCreateChannelMembershipResponse,++    -- ** CreateChannelModerator+    CreateChannelModerator (CreateChannelModerator'),+    newCreateChannelModerator,+    CreateChannelModeratorResponse (CreateChannelModeratorResponse'),+    newCreateChannelModeratorResponse,++    -- ** CreateMediaCapturePipeline+    CreateMediaCapturePipeline (CreateMediaCapturePipeline'),+    newCreateMediaCapturePipeline,+    CreateMediaCapturePipelineResponse (CreateMediaCapturePipelineResponse'),+    newCreateMediaCapturePipelineResponse,++    -- ** CreateMeeting+    CreateMeeting (CreateMeeting'),+    newCreateMeeting,+    CreateMeetingResponse (CreateMeetingResponse'),+    newCreateMeetingResponse,++    -- ** CreateMeetingDialOut+    CreateMeetingDialOut (CreateMeetingDialOut'),+    newCreateMeetingDialOut,+    CreateMeetingDialOutResponse (CreateMeetingDialOutResponse'),+    newCreateMeetingDialOutResponse,++    -- ** CreateMeetingWithAttendees+    CreateMeetingWithAttendees (CreateMeetingWithAttendees'),+    newCreateMeetingWithAttendees,+    CreateMeetingWithAttendeesResponse (CreateMeetingWithAttendeesResponse'),+    newCreateMeetingWithAttendeesResponse,++    -- ** CreatePhoneNumberOrder+    CreatePhoneNumberOrder (CreatePhoneNumberOrder'),+    newCreatePhoneNumberOrder,+    CreatePhoneNumberOrderResponse (CreatePhoneNumberOrderResponse'),+    newCreatePhoneNumberOrderResponse,++    -- ** CreateProxySession+    CreateProxySession (CreateProxySession'),+    newCreateProxySession,+    CreateProxySessionResponse (CreateProxySessionResponse'),+    newCreateProxySessionResponse,++    -- ** CreateRoom+    CreateRoom (CreateRoom'),+    newCreateRoom,+    CreateRoomResponse (CreateRoomResponse'),+    newCreateRoomResponse,++    -- ** CreateRoomMembership+    CreateRoomMembership (CreateRoomMembership'),+    newCreateRoomMembership,+    CreateRoomMembershipResponse (CreateRoomMembershipResponse'),+    newCreateRoomMembershipResponse,++    -- ** CreateSipMediaApplication+    CreateSipMediaApplication (CreateSipMediaApplication'),+    newCreateSipMediaApplication,+    CreateSipMediaApplicationResponse (CreateSipMediaApplicationResponse'),+    newCreateSipMediaApplicationResponse,++    -- ** CreateSipMediaApplicationCall+    CreateSipMediaApplicationCall (CreateSipMediaApplicationCall'),+    newCreateSipMediaApplicationCall,+    CreateSipMediaApplicationCallResponse (CreateSipMediaApplicationCallResponse'),+    newCreateSipMediaApplicationCallResponse,++    -- ** CreateSipRule+    CreateSipRule (CreateSipRule'),+    newCreateSipRule,+    CreateSipRuleResponse (CreateSipRuleResponse'),+    newCreateSipRuleResponse,++    -- ** CreateUser+    CreateUser (CreateUser'),+    newCreateUser,+    CreateUserResponse (CreateUserResponse'),+    newCreateUserResponse,++    -- ** CreateVoiceConnector+    CreateVoiceConnector (CreateVoiceConnector'),+    newCreateVoiceConnector,+    CreateVoiceConnectorResponse (CreateVoiceConnectorResponse'),+    newCreateVoiceConnectorResponse,++    -- ** CreateVoiceConnectorGroup+    CreateVoiceConnectorGroup (CreateVoiceConnectorGroup'),+    newCreateVoiceConnectorGroup,+    CreateVoiceConnectorGroupResponse (CreateVoiceConnectorGroupResponse'),+    newCreateVoiceConnectorGroupResponse,++    -- ** DeleteAccount+    DeleteAccount (DeleteAccount'),+    newDeleteAccount,+    DeleteAccountResponse (DeleteAccountResponse'),+    newDeleteAccountResponse,++    -- ** DeleteAppInstance+    DeleteAppInstance (DeleteAppInstance'),+    newDeleteAppInstance,+    DeleteAppInstanceResponse (DeleteAppInstanceResponse'),+    newDeleteAppInstanceResponse,++    -- ** DeleteAppInstanceAdmin+    DeleteAppInstanceAdmin (DeleteAppInstanceAdmin'),+    newDeleteAppInstanceAdmin,+    DeleteAppInstanceAdminResponse (DeleteAppInstanceAdminResponse'),+    newDeleteAppInstanceAdminResponse,++    -- ** DeleteAppInstanceStreamingConfigurations+    DeleteAppInstanceStreamingConfigurations (DeleteAppInstanceStreamingConfigurations'),+    newDeleteAppInstanceStreamingConfigurations,+    DeleteAppInstanceStreamingConfigurationsResponse (DeleteAppInstanceStreamingConfigurationsResponse'),+    newDeleteAppInstanceStreamingConfigurationsResponse,++    -- ** DeleteAppInstanceUser+    DeleteAppInstanceUser (DeleteAppInstanceUser'),+    newDeleteAppInstanceUser,+    DeleteAppInstanceUserResponse (DeleteAppInstanceUserResponse'),+    newDeleteAppInstanceUserResponse,++    -- ** DeleteAttendee+    DeleteAttendee (DeleteAttendee'),+    newDeleteAttendee,+    DeleteAttendeeResponse (DeleteAttendeeResponse'),+    newDeleteAttendeeResponse,++    -- ** DeleteChannel+    DeleteChannel (DeleteChannel'),+    newDeleteChannel,+    DeleteChannelResponse (DeleteChannelResponse'),+    newDeleteChannelResponse,++    -- ** DeleteChannelBan+    DeleteChannelBan (DeleteChannelBan'),+    newDeleteChannelBan,+    DeleteChannelBanResponse (DeleteChannelBanResponse'),+    newDeleteChannelBanResponse,++    -- ** DeleteChannelMembership+    DeleteChannelMembership (DeleteChannelMembership'),+    newDeleteChannelMembership,+    DeleteChannelMembershipResponse (DeleteChannelMembershipResponse'),+    newDeleteChannelMembershipResponse,++    -- ** DeleteChannelMessage+    DeleteChannelMessage (DeleteChannelMessage'),+    newDeleteChannelMessage,+    DeleteChannelMessageResponse (DeleteChannelMessageResponse'),+    newDeleteChannelMessageResponse,++    -- ** DeleteChannelModerator+    DeleteChannelModerator (DeleteChannelModerator'),+    newDeleteChannelModerator,+    DeleteChannelModeratorResponse (DeleteChannelModeratorResponse'),+    newDeleteChannelModeratorResponse,++    -- ** DeleteEventsConfiguration+    DeleteEventsConfiguration (DeleteEventsConfiguration'),+    newDeleteEventsConfiguration,+    DeleteEventsConfigurationResponse (DeleteEventsConfigurationResponse'),+    newDeleteEventsConfigurationResponse,++    -- ** DeleteMediaCapturePipeline+    DeleteMediaCapturePipeline (DeleteMediaCapturePipeline'),+    newDeleteMediaCapturePipeline,+    DeleteMediaCapturePipelineResponse (DeleteMediaCapturePipelineResponse'),+    newDeleteMediaCapturePipelineResponse,++    -- ** DeleteMeeting+    DeleteMeeting (DeleteMeeting'),+    newDeleteMeeting,+    DeleteMeetingResponse (DeleteMeetingResponse'),+    newDeleteMeetingResponse,++    -- ** DeletePhoneNumber+    DeletePhoneNumber (DeletePhoneNumber'),+    newDeletePhoneNumber,+    DeletePhoneNumberResponse (DeletePhoneNumberResponse'),+    newDeletePhoneNumberResponse,++    -- ** DeleteProxySession+    DeleteProxySession (DeleteProxySession'),+    newDeleteProxySession,+    DeleteProxySessionResponse (DeleteProxySessionResponse'),+    newDeleteProxySessionResponse,++    -- ** DeleteRoom+    DeleteRoom (DeleteRoom'),+    newDeleteRoom,+    DeleteRoomResponse (DeleteRoomResponse'),+    newDeleteRoomResponse,++    -- ** DeleteRoomMembership+    DeleteRoomMembership (DeleteRoomMembership'),+    newDeleteRoomMembership,+    DeleteRoomMembershipResponse (DeleteRoomMembershipResponse'),+    newDeleteRoomMembershipResponse,++    -- ** DeleteSipMediaApplication+    DeleteSipMediaApplication (DeleteSipMediaApplication'),+    newDeleteSipMediaApplication,+    DeleteSipMediaApplicationResponse (DeleteSipMediaApplicationResponse'),+    newDeleteSipMediaApplicationResponse,++    -- ** DeleteSipRule+    DeleteSipRule (DeleteSipRule'),+    newDeleteSipRule,+    DeleteSipRuleResponse (DeleteSipRuleResponse'),+    newDeleteSipRuleResponse,++    -- ** DeleteVoiceConnector+    DeleteVoiceConnector (DeleteVoiceConnector'),+    newDeleteVoiceConnector,+    DeleteVoiceConnectorResponse (DeleteVoiceConnectorResponse'),+    newDeleteVoiceConnectorResponse,++    -- ** DeleteVoiceConnectorEmergencyCallingConfiguration+    DeleteVoiceConnectorEmergencyCallingConfiguration (DeleteVoiceConnectorEmergencyCallingConfiguration'),+    newDeleteVoiceConnectorEmergencyCallingConfiguration,+    DeleteVoiceConnectorEmergencyCallingConfigurationResponse (DeleteVoiceConnectorEmergencyCallingConfigurationResponse'),+    newDeleteVoiceConnectorEmergencyCallingConfigurationResponse,++    -- ** DeleteVoiceConnectorGroup+    DeleteVoiceConnectorGroup (DeleteVoiceConnectorGroup'),+    newDeleteVoiceConnectorGroup,+    DeleteVoiceConnectorGroupResponse (DeleteVoiceConnectorGroupResponse'),+    newDeleteVoiceConnectorGroupResponse,++    -- ** DeleteVoiceConnectorOrigination+    DeleteVoiceConnectorOrigination (DeleteVoiceConnectorOrigination'),+    newDeleteVoiceConnectorOrigination,+    DeleteVoiceConnectorOriginationResponse (DeleteVoiceConnectorOriginationResponse'),+    newDeleteVoiceConnectorOriginationResponse,++    -- ** DeleteVoiceConnectorProxy+    DeleteVoiceConnectorProxy (DeleteVoiceConnectorProxy'),+    newDeleteVoiceConnectorProxy,+    DeleteVoiceConnectorProxyResponse (DeleteVoiceConnectorProxyResponse'),+    newDeleteVoiceConnectorProxyResponse,++    -- ** DeleteVoiceConnectorStreamingConfiguration+    DeleteVoiceConnectorStreamingConfiguration (DeleteVoiceConnectorStreamingConfiguration'),+    newDeleteVoiceConnectorStreamingConfiguration,+    DeleteVoiceConnectorStreamingConfigurationResponse (DeleteVoiceConnectorStreamingConfigurationResponse'),+    newDeleteVoiceConnectorStreamingConfigurationResponse,++    -- ** DeleteVoiceConnectorTermination+    DeleteVoiceConnectorTermination (DeleteVoiceConnectorTermination'),+    newDeleteVoiceConnectorTermination,+    DeleteVoiceConnectorTerminationResponse (DeleteVoiceConnectorTerminationResponse'),+    newDeleteVoiceConnectorTerminationResponse,++    -- ** DeleteVoiceConnectorTerminationCredentials+    DeleteVoiceConnectorTerminationCredentials (DeleteVoiceConnectorTerminationCredentials'),+    newDeleteVoiceConnectorTerminationCredentials,+    DeleteVoiceConnectorTerminationCredentialsResponse (DeleteVoiceConnectorTerminationCredentialsResponse'),+    newDeleteVoiceConnectorTerminationCredentialsResponse,++    -- ** DescribeAppInstance+    DescribeAppInstance (DescribeAppInstance'),+    newDescribeAppInstance,+    DescribeAppInstanceResponse (DescribeAppInstanceResponse'),+    newDescribeAppInstanceResponse,++    -- ** DescribeAppInstanceAdmin+    DescribeAppInstanceAdmin (DescribeAppInstanceAdmin'),+    newDescribeAppInstanceAdmin,+    DescribeAppInstanceAdminResponse (DescribeAppInstanceAdminResponse'),+    newDescribeAppInstanceAdminResponse,++    -- ** DescribeAppInstanceUser+    DescribeAppInstanceUser (DescribeAppInstanceUser'),+    newDescribeAppInstanceUser,+    DescribeAppInstanceUserResponse (DescribeAppInstanceUserResponse'),+    newDescribeAppInstanceUserResponse,++    -- ** DescribeChannel+    DescribeChannel (DescribeChannel'),+    newDescribeChannel,+    DescribeChannelResponse (DescribeChannelResponse'),+    newDescribeChannelResponse,++    -- ** DescribeChannelBan+    DescribeChannelBan (DescribeChannelBan'),+    newDescribeChannelBan,+    DescribeChannelBanResponse (DescribeChannelBanResponse'),+    newDescribeChannelBanResponse,++    -- ** DescribeChannelMembership+    DescribeChannelMembership (DescribeChannelMembership'),+    newDescribeChannelMembership,+    DescribeChannelMembershipResponse (DescribeChannelMembershipResponse'),+    newDescribeChannelMembershipResponse,++    -- ** DescribeChannelMembershipForAppInstanceUser+    DescribeChannelMembershipForAppInstanceUser (DescribeChannelMembershipForAppInstanceUser'),+    newDescribeChannelMembershipForAppInstanceUser,+    DescribeChannelMembershipForAppInstanceUserResponse (DescribeChannelMembershipForAppInstanceUserResponse'),+    newDescribeChannelMembershipForAppInstanceUserResponse,++    -- ** DescribeChannelModeratedByAppInstanceUser+    DescribeChannelModeratedByAppInstanceUser (DescribeChannelModeratedByAppInstanceUser'),+    newDescribeChannelModeratedByAppInstanceUser,+    DescribeChannelModeratedByAppInstanceUserResponse (DescribeChannelModeratedByAppInstanceUserResponse'),+    newDescribeChannelModeratedByAppInstanceUserResponse,++    -- ** DescribeChannelModerator+    DescribeChannelModerator (DescribeChannelModerator'),+    newDescribeChannelModerator,+    DescribeChannelModeratorResponse (DescribeChannelModeratorResponse'),+    newDescribeChannelModeratorResponse,++    -- ** DisassociatePhoneNumberFromUser+    DisassociatePhoneNumberFromUser (DisassociatePhoneNumberFromUser'),+    newDisassociatePhoneNumberFromUser,+    DisassociatePhoneNumberFromUserResponse (DisassociatePhoneNumberFromUserResponse'),+    newDisassociatePhoneNumberFromUserResponse,++    -- ** DisassociatePhoneNumbersFromVoiceConnector+    DisassociatePhoneNumbersFromVoiceConnector (DisassociatePhoneNumbersFromVoiceConnector'),+    newDisassociatePhoneNumbersFromVoiceConnector,+    DisassociatePhoneNumbersFromVoiceConnectorResponse (DisassociatePhoneNumbersFromVoiceConnectorResponse'),+    newDisassociatePhoneNumbersFromVoiceConnectorResponse,++    -- ** DisassociatePhoneNumbersFromVoiceConnectorGroup+    DisassociatePhoneNumbersFromVoiceConnectorGroup (DisassociatePhoneNumbersFromVoiceConnectorGroup'),+    newDisassociatePhoneNumbersFromVoiceConnectorGroup,+    DisassociatePhoneNumbersFromVoiceConnectorGroupResponse (DisassociatePhoneNumbersFromVoiceConnectorGroupResponse'),+    newDisassociatePhoneNumbersFromVoiceConnectorGroupResponse,++    -- ** DisassociateSigninDelegateGroupsFromAccount+    DisassociateSigninDelegateGroupsFromAccount (DisassociateSigninDelegateGroupsFromAccount'),+    newDisassociateSigninDelegateGroupsFromAccount,+    DisassociateSigninDelegateGroupsFromAccountResponse (DisassociateSigninDelegateGroupsFromAccountResponse'),+    newDisassociateSigninDelegateGroupsFromAccountResponse,++    -- ** GetAccount+    GetAccount (GetAccount'),+    newGetAccount,+    GetAccountResponse (GetAccountResponse'),+    newGetAccountResponse,++    -- ** GetAccountSettings+    GetAccountSettings (GetAccountSettings'),+    newGetAccountSettings,+    GetAccountSettingsResponse (GetAccountSettingsResponse'),+    newGetAccountSettingsResponse,++    -- ** GetAppInstanceRetentionSettings+    GetAppInstanceRetentionSettings (GetAppInstanceRetentionSettings'),+    newGetAppInstanceRetentionSettings,+    GetAppInstanceRetentionSettingsResponse (GetAppInstanceRetentionSettingsResponse'),+    newGetAppInstanceRetentionSettingsResponse,++    -- ** GetAppInstanceStreamingConfigurations+    GetAppInstanceStreamingConfigurations (GetAppInstanceStreamingConfigurations'),+    newGetAppInstanceStreamingConfigurations,+    GetAppInstanceStreamingConfigurationsResponse (GetAppInstanceStreamingConfigurationsResponse'),+    newGetAppInstanceStreamingConfigurationsResponse,++    -- ** GetAttendee+    GetAttendee (GetAttendee'),+    newGetAttendee,+    GetAttendeeResponse (GetAttendeeResponse'),+    newGetAttendeeResponse,++    -- ** GetBot+    GetBot (GetBot'),+    newGetBot,+    GetBotResponse (GetBotResponse'),+    newGetBotResponse,++    -- ** GetChannelMessage+    GetChannelMessage (GetChannelMessage'),+    newGetChannelMessage,+    GetChannelMessageResponse (GetChannelMessageResponse'),+    newGetChannelMessageResponse,++    -- ** GetEventsConfiguration+    GetEventsConfiguration (GetEventsConfiguration'),+    newGetEventsConfiguration,+    GetEventsConfigurationResponse (GetEventsConfigurationResponse'),+    newGetEventsConfigurationResponse,++    -- ** GetGlobalSettings+    GetGlobalSettings (GetGlobalSettings'),+    newGetGlobalSettings,+    GetGlobalSettingsResponse (GetGlobalSettingsResponse'),+    newGetGlobalSettingsResponse,++    -- ** GetMediaCapturePipeline+    GetMediaCapturePipeline (GetMediaCapturePipeline'),+    newGetMediaCapturePipeline,+    GetMediaCapturePipelineResponse (GetMediaCapturePipelineResponse'),+    newGetMediaCapturePipelineResponse,++    -- ** GetMeeting+    GetMeeting (GetMeeting'),+    newGetMeeting,+    GetMeetingResponse (GetMeetingResponse'),+    newGetMeetingResponse,++    -- ** GetMessagingSessionEndpoint+    GetMessagingSessionEndpoint (GetMessagingSessionEndpoint'),+    newGetMessagingSessionEndpoint,+    GetMessagingSessionEndpointResponse (GetMessagingSessionEndpointResponse'),+    newGetMessagingSessionEndpointResponse,++    -- ** GetPhoneNumber+    GetPhoneNumber (GetPhoneNumber'),+    newGetPhoneNumber,+    GetPhoneNumberResponse (GetPhoneNumberResponse'),+    newGetPhoneNumberResponse,++    -- ** GetPhoneNumberOrder+    GetPhoneNumberOrder (GetPhoneNumberOrder'),+    newGetPhoneNumberOrder,+    GetPhoneNumberOrderResponse (GetPhoneNumberOrderResponse'),+    newGetPhoneNumberOrderResponse,++    -- ** GetPhoneNumberSettings+    GetPhoneNumberSettings (GetPhoneNumberSettings'),+    newGetPhoneNumberSettings,+    GetPhoneNumberSettingsResponse (GetPhoneNumberSettingsResponse'),+    newGetPhoneNumberSettingsResponse,++    -- ** GetProxySession+    GetProxySession (GetProxySession'),+    newGetProxySession,+    GetProxySessionResponse (GetProxySessionResponse'),+    newGetProxySessionResponse,++    -- ** GetRetentionSettings+    GetRetentionSettings (GetRetentionSettings'),+    newGetRetentionSettings,+    GetRetentionSettingsResponse (GetRetentionSettingsResponse'),+    newGetRetentionSettingsResponse,++    -- ** GetRoom+    GetRoom (GetRoom'),+    newGetRoom,+    GetRoomResponse (GetRoomResponse'),+    newGetRoomResponse,++    -- ** GetSipMediaApplication+    GetSipMediaApplication (GetSipMediaApplication'),+    newGetSipMediaApplication,+    GetSipMediaApplicationResponse (GetSipMediaApplicationResponse'),+    newGetSipMediaApplicationResponse,++    -- ** GetSipMediaApplicationLoggingConfiguration+    GetSipMediaApplicationLoggingConfiguration (GetSipMediaApplicationLoggingConfiguration'),+    newGetSipMediaApplicationLoggingConfiguration,+    GetSipMediaApplicationLoggingConfigurationResponse (GetSipMediaApplicationLoggingConfigurationResponse'),+    newGetSipMediaApplicationLoggingConfigurationResponse,++    -- ** GetSipRule+    GetSipRule (GetSipRule'),+    newGetSipRule,+    GetSipRuleResponse (GetSipRuleResponse'),+    newGetSipRuleResponse,++    -- ** GetUser+    GetUser (GetUser'),+    newGetUser,+    GetUserResponse (GetUserResponse'),+    newGetUserResponse,++    -- ** GetUserSettings+    GetUserSettings (GetUserSettings'),+    newGetUserSettings,+    GetUserSettingsResponse (GetUserSettingsResponse'),+    newGetUserSettingsResponse,++    -- ** GetVoiceConnector+    GetVoiceConnector (GetVoiceConnector'),+    newGetVoiceConnector,+    GetVoiceConnectorResponse (GetVoiceConnectorResponse'),+    newGetVoiceConnectorResponse,++    -- ** GetVoiceConnectorEmergencyCallingConfiguration+    GetVoiceConnectorEmergencyCallingConfiguration (GetVoiceConnectorEmergencyCallingConfiguration'),+    newGetVoiceConnectorEmergencyCallingConfiguration,+    GetVoiceConnectorEmergencyCallingConfigurationResponse (GetVoiceConnectorEmergencyCallingConfigurationResponse'),+    newGetVoiceConnectorEmergencyCallingConfigurationResponse,++    -- ** GetVoiceConnectorGroup+    GetVoiceConnectorGroup (GetVoiceConnectorGroup'),+    newGetVoiceConnectorGroup,+    GetVoiceConnectorGroupResponse (GetVoiceConnectorGroupResponse'),+    newGetVoiceConnectorGroupResponse,++    -- ** GetVoiceConnectorLoggingConfiguration+    GetVoiceConnectorLoggingConfiguration (GetVoiceConnectorLoggingConfiguration'),+    newGetVoiceConnectorLoggingConfiguration,+    GetVoiceConnectorLoggingConfigurationResponse (GetVoiceConnectorLoggingConfigurationResponse'),+    newGetVoiceConnectorLoggingConfigurationResponse,++    -- ** GetVoiceConnectorOrigination+    GetVoiceConnectorOrigination (GetVoiceConnectorOrigination'),+    newGetVoiceConnectorOrigination,+    GetVoiceConnectorOriginationResponse (GetVoiceConnectorOriginationResponse'),+    newGetVoiceConnectorOriginationResponse,++    -- ** GetVoiceConnectorProxy+    GetVoiceConnectorProxy (GetVoiceConnectorProxy'),+    newGetVoiceConnectorProxy,+    GetVoiceConnectorProxyResponse (GetVoiceConnectorProxyResponse'),+    newGetVoiceConnectorProxyResponse,++    -- ** GetVoiceConnectorStreamingConfiguration+    GetVoiceConnectorStreamingConfiguration (GetVoiceConnectorStreamingConfiguration'),+    newGetVoiceConnectorStreamingConfiguration,+    GetVoiceConnectorStreamingConfigurationResponse (GetVoiceConnectorStreamingConfigurationResponse'),+    newGetVoiceConnectorStreamingConfigurationResponse,++    -- ** GetVoiceConnectorTermination+    GetVoiceConnectorTermination (GetVoiceConnectorTermination'),+    newGetVoiceConnectorTermination,+    GetVoiceConnectorTerminationResponse (GetVoiceConnectorTerminationResponse'),+    newGetVoiceConnectorTerminationResponse,++    -- ** GetVoiceConnectorTerminationHealth+    GetVoiceConnectorTerminationHealth (GetVoiceConnectorTerminationHealth'),+    newGetVoiceConnectorTerminationHealth,+    GetVoiceConnectorTerminationHealthResponse (GetVoiceConnectorTerminationHealthResponse'),+    newGetVoiceConnectorTerminationHealthResponse,++    -- ** InviteUsers+    InviteUsers (InviteUsers'),+    newInviteUsers,+    InviteUsersResponse (InviteUsersResponse'),+    newInviteUsersResponse,++    -- ** ListAccounts (Paginated)+    ListAccounts (ListAccounts'),+    newListAccounts,+    ListAccountsResponse (ListAccountsResponse'),+    newListAccountsResponse,++    -- ** ListAppInstanceAdmins+    ListAppInstanceAdmins (ListAppInstanceAdmins'),+    newListAppInstanceAdmins,+    ListAppInstanceAdminsResponse (ListAppInstanceAdminsResponse'),+    newListAppInstanceAdminsResponse,++    -- ** ListAppInstanceUsers+    ListAppInstanceUsers (ListAppInstanceUsers'),+    newListAppInstanceUsers,+    ListAppInstanceUsersResponse (ListAppInstanceUsersResponse'),+    newListAppInstanceUsersResponse,++    -- ** ListAppInstances+    ListAppInstances (ListAppInstances'),+    newListAppInstances,+    ListAppInstancesResponse (ListAppInstancesResponse'),+    newListAppInstancesResponse,++    -- ** ListAttendeeTags+    ListAttendeeTags (ListAttendeeTags'),+    newListAttendeeTags,+    ListAttendeeTagsResponse (ListAttendeeTagsResponse'),+    newListAttendeeTagsResponse,++    -- ** ListAttendees+    ListAttendees (ListAttendees'),+    newListAttendees,+    ListAttendeesResponse (ListAttendeesResponse'),+    newListAttendeesResponse,++    -- ** ListBots+    ListBots (ListBots'),+    newListBots,+    ListBotsResponse (ListBotsResponse'),+    newListBotsResponse,++    -- ** ListChannelBans+    ListChannelBans (ListChannelBans'),+    newListChannelBans,+    ListChannelBansResponse (ListChannelBansResponse'),+    newListChannelBansResponse,++    -- ** ListChannelMemberships+    ListChannelMemberships (ListChannelMemberships'),+    newListChannelMemberships,+    ListChannelMembershipsResponse (ListChannelMembershipsResponse'),+    newListChannelMembershipsResponse,++    -- ** ListChannelMembershipsForAppInstanceUser+    ListChannelMembershipsForAppInstanceUser (ListChannelMembershipsForAppInstanceUser'),+    newListChannelMembershipsForAppInstanceUser,+    ListChannelMembershipsForAppInstanceUserResponse (ListChannelMembershipsForAppInstanceUserResponse'),+    newListChannelMembershipsForAppInstanceUserResponse,++    -- ** ListChannelMessages+    ListChannelMessages (ListChannelMessages'),+    newListChannelMessages,+    ListChannelMessagesResponse (ListChannelMessagesResponse'),+    newListChannelMessagesResponse,++    -- ** ListChannelModerators+    ListChannelModerators (ListChannelModerators'),+    newListChannelModerators,+    ListChannelModeratorsResponse (ListChannelModeratorsResponse'),+    newListChannelModeratorsResponse,++    -- ** ListChannels+    ListChannels (ListChannels'),+    newListChannels,+    ListChannelsResponse (ListChannelsResponse'),+    newListChannelsResponse,++    -- ** ListChannelsModeratedByAppInstanceUser+    ListChannelsModeratedByAppInstanceUser (ListChannelsModeratedByAppInstanceUser'),+    newListChannelsModeratedByAppInstanceUser,+    ListChannelsModeratedByAppInstanceUserResponse (ListChannelsModeratedByAppInstanceUserResponse'),+    newListChannelsModeratedByAppInstanceUserResponse,++    -- ** ListMediaCapturePipelines+    ListMediaCapturePipelines (ListMediaCapturePipelines'),+    newListMediaCapturePipelines,+    ListMediaCapturePipelinesResponse (ListMediaCapturePipelinesResponse'),+    newListMediaCapturePipelinesResponse,++    -- ** ListMeetingTags+    ListMeetingTags (ListMeetingTags'),+    newListMeetingTags,+    ListMeetingTagsResponse (ListMeetingTagsResponse'),+    newListMeetingTagsResponse,++    -- ** ListMeetings+    ListMeetings (ListMeetings'),+    newListMeetings,+    ListMeetingsResponse (ListMeetingsResponse'),+    newListMeetingsResponse,++    -- ** ListPhoneNumberOrders+    ListPhoneNumberOrders (ListPhoneNumberOrders'),+    newListPhoneNumberOrders,+    ListPhoneNumberOrdersResponse (ListPhoneNumberOrdersResponse'),+    newListPhoneNumberOrdersResponse,++    -- ** ListPhoneNumbers+    ListPhoneNumbers (ListPhoneNumbers'),+    newListPhoneNumbers,+    ListPhoneNumbersResponse (ListPhoneNumbersResponse'),+    newListPhoneNumbersResponse,++    -- ** ListProxySessions+    ListProxySessions (ListProxySessions'),+    newListProxySessions,+    ListProxySessionsResponse (ListProxySessionsResponse'),+    newListProxySessionsResponse,++    -- ** ListRoomMemberships+    ListRoomMemberships (ListRoomMemberships'),+    newListRoomMemberships,+    ListRoomMembershipsResponse (ListRoomMembershipsResponse'),+    newListRoomMembershipsResponse,++    -- ** ListRooms+    ListRooms (ListRooms'),+    newListRooms,+    ListRoomsResponse (ListRoomsResponse'),+    newListRoomsResponse,++    -- ** ListSipMediaApplications+    ListSipMediaApplications (ListSipMediaApplications'),+    newListSipMediaApplications,+    ListSipMediaApplicationsResponse (ListSipMediaApplicationsResponse'),+    newListSipMediaApplicationsResponse,++    -- ** ListSipRules+    ListSipRules (ListSipRules'),+    newListSipRules,+    ListSipRulesResponse (ListSipRulesResponse'),+    newListSipRulesResponse,++    -- ** ListSupportedPhoneNumberCountries+    ListSupportedPhoneNumberCountries (ListSupportedPhoneNumberCountries'),+    newListSupportedPhoneNumberCountries,+    ListSupportedPhoneNumberCountriesResponse (ListSupportedPhoneNumberCountriesResponse'),+    newListSupportedPhoneNumberCountriesResponse,++    -- ** ListTagsForResource+    ListTagsForResource (ListTagsForResource'),+    newListTagsForResource,+    ListTagsForResourceResponse (ListTagsForResourceResponse'),+    newListTagsForResourceResponse,++    -- ** ListUsers (Paginated)+    ListUsers (ListUsers'),+    newListUsers,+    ListUsersResponse (ListUsersResponse'),+    newListUsersResponse,++    -- ** ListVoiceConnectorGroups+    ListVoiceConnectorGroups (ListVoiceConnectorGroups'),+    newListVoiceConnectorGroups,+    ListVoiceConnectorGroupsResponse (ListVoiceConnectorGroupsResponse'),+    newListVoiceConnectorGroupsResponse,++    -- ** ListVoiceConnectorTerminationCredentials+    ListVoiceConnectorTerminationCredentials (ListVoiceConnectorTerminationCredentials'),+    newListVoiceConnectorTerminationCredentials,+    ListVoiceConnectorTerminationCredentialsResponse (ListVoiceConnectorTerminationCredentialsResponse'),+    newListVoiceConnectorTerminationCredentialsResponse,++    -- ** ListVoiceConnectors+    ListVoiceConnectors (ListVoiceConnectors'),+    newListVoiceConnectors,+    ListVoiceConnectorsResponse (ListVoiceConnectorsResponse'),+    newListVoiceConnectorsResponse,++    -- ** LogoutUser+    LogoutUser (LogoutUser'),+    newLogoutUser,+    LogoutUserResponse (LogoutUserResponse'),+    newLogoutUserResponse,++    -- ** PutAppInstanceRetentionSettings+    PutAppInstanceRetentionSettings (PutAppInstanceRetentionSettings'),+    newPutAppInstanceRetentionSettings,+    PutAppInstanceRetentionSettingsResponse (PutAppInstanceRetentionSettingsResponse'),+    newPutAppInstanceRetentionSettingsResponse,++    -- ** PutAppInstanceStreamingConfigurations+    PutAppInstanceStreamingConfigurations (PutAppInstanceStreamingConfigurations'),+    newPutAppInstanceStreamingConfigurations,+    PutAppInstanceStreamingConfigurationsResponse (PutAppInstanceStreamingConfigurationsResponse'),+    newPutAppInstanceStreamingConfigurationsResponse,++    -- ** PutEventsConfiguration+    PutEventsConfiguration (PutEventsConfiguration'),+    newPutEventsConfiguration,+    PutEventsConfigurationResponse (PutEventsConfigurationResponse'),+    newPutEventsConfigurationResponse,++    -- ** PutRetentionSettings+    PutRetentionSettings (PutRetentionSettings'),+    newPutRetentionSettings,+    PutRetentionSettingsResponse (PutRetentionSettingsResponse'),+    newPutRetentionSettingsResponse,++    -- ** PutSipMediaApplicationLoggingConfiguration+    PutSipMediaApplicationLoggingConfiguration (PutSipMediaApplicationLoggingConfiguration'),+    newPutSipMediaApplicationLoggingConfiguration,+    PutSipMediaApplicationLoggingConfigurationResponse (PutSipMediaApplicationLoggingConfigurationResponse'),+    newPutSipMediaApplicationLoggingConfigurationResponse,++    -- ** PutVoiceConnectorEmergencyCallingConfiguration+    PutVoiceConnectorEmergencyCallingConfiguration (PutVoiceConnectorEmergencyCallingConfiguration'),+    newPutVoiceConnectorEmergencyCallingConfiguration,+    PutVoiceConnectorEmergencyCallingConfigurationResponse (PutVoiceConnectorEmergencyCallingConfigurationResponse'),+    newPutVoiceConnectorEmergencyCallingConfigurationResponse,++    -- ** PutVoiceConnectorLoggingConfiguration+    PutVoiceConnectorLoggingConfiguration (PutVoiceConnectorLoggingConfiguration'),+    newPutVoiceConnectorLoggingConfiguration,+    PutVoiceConnectorLoggingConfigurationResponse (PutVoiceConnectorLoggingConfigurationResponse'),+    newPutVoiceConnectorLoggingConfigurationResponse,++    -- ** PutVoiceConnectorOrigination+    PutVoiceConnectorOrigination (PutVoiceConnectorOrigination'),+    newPutVoiceConnectorOrigination,+    PutVoiceConnectorOriginationResponse (PutVoiceConnectorOriginationResponse'),+    newPutVoiceConnectorOriginationResponse,++    -- ** PutVoiceConnectorProxy+    PutVoiceConnectorProxy (PutVoiceConnectorProxy'),+    newPutVoiceConnectorProxy,+    PutVoiceConnectorProxyResponse (PutVoiceConnectorProxyResponse'),+    newPutVoiceConnectorProxyResponse,++    -- ** PutVoiceConnectorStreamingConfiguration+    PutVoiceConnectorStreamingConfiguration (PutVoiceConnectorStreamingConfiguration'),+    newPutVoiceConnectorStreamingConfiguration,+    PutVoiceConnectorStreamingConfigurationResponse (PutVoiceConnectorStreamingConfigurationResponse'),+    newPutVoiceConnectorStreamingConfigurationResponse,++    -- ** PutVoiceConnectorTermination+    PutVoiceConnectorTermination (PutVoiceConnectorTermination'),+    newPutVoiceConnectorTermination,+    PutVoiceConnectorTerminationResponse (PutVoiceConnectorTerminationResponse'),+    newPutVoiceConnectorTerminationResponse,++    -- ** PutVoiceConnectorTerminationCredentials+    PutVoiceConnectorTerminationCredentials (PutVoiceConnectorTerminationCredentials'),+    newPutVoiceConnectorTerminationCredentials,+    PutVoiceConnectorTerminationCredentialsResponse (PutVoiceConnectorTerminationCredentialsResponse'),+    newPutVoiceConnectorTerminationCredentialsResponse,++    -- ** RedactChannelMessage+    RedactChannelMessage (RedactChannelMessage'),+    newRedactChannelMessage,+    RedactChannelMessageResponse (RedactChannelMessageResponse'),+    newRedactChannelMessageResponse,++    -- ** RedactConversationMessage+    RedactConversationMessage (RedactConversationMessage'),+    newRedactConversationMessage,+    RedactConversationMessageResponse (RedactConversationMessageResponse'),+    newRedactConversationMessageResponse,++    -- ** RedactRoomMessage+    RedactRoomMessage (RedactRoomMessage'),+    newRedactRoomMessage,+    RedactRoomMessageResponse (RedactRoomMessageResponse'),+    newRedactRoomMessageResponse,++    -- ** RegenerateSecurityToken+    RegenerateSecurityToken (RegenerateSecurityToken'),+    newRegenerateSecurityToken,+    RegenerateSecurityTokenResponse (RegenerateSecurityTokenResponse'),+    newRegenerateSecurityTokenResponse,++    -- ** ResetPersonalPIN+    ResetPersonalPIN (ResetPersonalPIN'),+    newResetPersonalPIN,+    ResetPersonalPINResponse (ResetPersonalPINResponse'),+    newResetPersonalPINResponse,++    -- ** RestorePhoneNumber+    RestorePhoneNumber (RestorePhoneNumber'),+    newRestorePhoneNumber,+    RestorePhoneNumberResponse (RestorePhoneNumberResponse'),+    newRestorePhoneNumberResponse,++    -- ** SearchAvailablePhoneNumbers+    SearchAvailablePhoneNumbers (SearchAvailablePhoneNumbers'),+    newSearchAvailablePhoneNumbers,+    SearchAvailablePhoneNumbersResponse (SearchAvailablePhoneNumbersResponse'),+    newSearchAvailablePhoneNumbersResponse,++    -- ** SendChannelMessage+    SendChannelMessage (SendChannelMessage'),+    newSendChannelMessage,+    SendChannelMessageResponse (SendChannelMessageResponse'),+    newSendChannelMessageResponse,++    -- ** StartMeetingTranscription+    StartMeetingTranscription (StartMeetingTranscription'),+    newStartMeetingTranscription,+    StartMeetingTranscriptionResponse (StartMeetingTranscriptionResponse'),+    newStartMeetingTranscriptionResponse,++    -- ** StopMeetingTranscription+    StopMeetingTranscription (StopMeetingTranscription'),+    newStopMeetingTranscription,+    StopMeetingTranscriptionResponse (StopMeetingTranscriptionResponse'),+    newStopMeetingTranscriptionResponse,++    -- ** TagAttendee+    TagAttendee (TagAttendee'),+    newTagAttendee,+    TagAttendeeResponse (TagAttendeeResponse'),+    newTagAttendeeResponse,++    -- ** TagMeeting+    TagMeeting (TagMeeting'),+    newTagMeeting,+    TagMeetingResponse (TagMeetingResponse'),+    newTagMeetingResponse,++    -- ** TagResource+    TagResource (TagResource'),+    newTagResource,+    TagResourceResponse (TagResourceResponse'),+    newTagResourceResponse,++    -- ** UntagAttendee+    UntagAttendee (UntagAttendee'),+    newUntagAttendee,+    UntagAttendeeResponse (UntagAttendeeResponse'),+    newUntagAttendeeResponse,++    -- ** UntagMeeting+    UntagMeeting (UntagMeeting'),+    newUntagMeeting,+    UntagMeetingResponse (UntagMeetingResponse'),+    newUntagMeetingResponse,++    -- ** UntagResource+    UntagResource (UntagResource'),+    newUntagResource,+    UntagResourceResponse (UntagResourceResponse'),+    newUntagResourceResponse,++    -- ** UpdateAccount+    UpdateAccount (UpdateAccount'),+    newUpdateAccount,+    UpdateAccountResponse (UpdateAccountResponse'),+    newUpdateAccountResponse,++    -- ** UpdateAccountSettings+    UpdateAccountSettings (UpdateAccountSettings'),+    newUpdateAccountSettings,+    UpdateAccountSettingsResponse (UpdateAccountSettingsResponse'),+    newUpdateAccountSettingsResponse,++    -- ** UpdateAppInstance+    UpdateAppInstance (UpdateAppInstance'),+    newUpdateAppInstance,+    UpdateAppInstanceResponse (UpdateAppInstanceResponse'),+    newUpdateAppInstanceResponse,++    -- ** UpdateAppInstanceUser+    UpdateAppInstanceUser (UpdateAppInstanceUser'),+    newUpdateAppInstanceUser,+    UpdateAppInstanceUserResponse (UpdateAppInstanceUserResponse'),+    newUpdateAppInstanceUserResponse,++    -- ** UpdateBot+    UpdateBot (UpdateBot'),+    newUpdateBot,+    UpdateBotResponse (UpdateBotResponse'),+    newUpdateBotResponse,++    -- ** UpdateChannel+    UpdateChannel (UpdateChannel'),+    newUpdateChannel,+    UpdateChannelResponse (UpdateChannelResponse'),+    newUpdateChannelResponse,++    -- ** UpdateChannelMessage+    UpdateChannelMessage (UpdateChannelMessage'),+    newUpdateChannelMessage,+    UpdateChannelMessageResponse (UpdateChannelMessageResponse'),+    newUpdateChannelMessageResponse,++    -- ** UpdateChannelReadMarker+    UpdateChannelReadMarker (UpdateChannelReadMarker'),+    newUpdateChannelReadMarker,+    UpdateChannelReadMarkerResponse (UpdateChannelReadMarkerResponse'),+    newUpdateChannelReadMarkerResponse,++    -- ** UpdateGlobalSettings+    UpdateGlobalSettings (UpdateGlobalSettings'),+    newUpdateGlobalSettings,+    UpdateGlobalSettingsResponse (UpdateGlobalSettingsResponse'),+    newUpdateGlobalSettingsResponse,++    -- ** UpdatePhoneNumber+    UpdatePhoneNumber (UpdatePhoneNumber'),+    newUpdatePhoneNumber,+    UpdatePhoneNumberResponse (UpdatePhoneNumberResponse'),+    newUpdatePhoneNumberResponse,++    -- ** UpdatePhoneNumberSettings+    UpdatePhoneNumberSettings (UpdatePhoneNumberSettings'),+    newUpdatePhoneNumberSettings,+    UpdatePhoneNumberSettingsResponse (UpdatePhoneNumberSettingsResponse'),+    newUpdatePhoneNumberSettingsResponse,++    -- ** UpdateProxySession+    UpdateProxySession (UpdateProxySession'),+    newUpdateProxySession,+    UpdateProxySessionResponse (UpdateProxySessionResponse'),+    newUpdateProxySessionResponse,++    -- ** UpdateRoom+    UpdateRoom (UpdateRoom'),+    newUpdateRoom,+    UpdateRoomResponse (UpdateRoomResponse'),+    newUpdateRoomResponse,++    -- ** UpdateRoomMembership+    UpdateRoomMembership (UpdateRoomMembership'),+    newUpdateRoomMembership,+    UpdateRoomMembershipResponse (UpdateRoomMembershipResponse'),+    newUpdateRoomMembershipResponse,++    -- ** UpdateSipMediaApplication+    UpdateSipMediaApplication (UpdateSipMediaApplication'),+    newUpdateSipMediaApplication,+    UpdateSipMediaApplicationResponse (UpdateSipMediaApplicationResponse'),+    newUpdateSipMediaApplicationResponse,++    -- ** UpdateSipMediaApplicationCall+    UpdateSipMediaApplicationCall (UpdateSipMediaApplicationCall'),+    newUpdateSipMediaApplicationCall,+    UpdateSipMediaApplicationCallResponse (UpdateSipMediaApplicationCallResponse'),+    newUpdateSipMediaApplicationCallResponse,++    -- ** UpdateSipRule+    UpdateSipRule (UpdateSipRule'),+    newUpdateSipRule,+    UpdateSipRuleResponse (UpdateSipRuleResponse'),+    newUpdateSipRuleResponse,++    -- ** UpdateUser+    UpdateUser (UpdateUser'),+    newUpdateUser,+    UpdateUserResponse (UpdateUserResponse'),+    newUpdateUserResponse,++    -- ** UpdateUserSettings+    UpdateUserSettings (UpdateUserSettings'),+    newUpdateUserSettings,+    UpdateUserSettingsResponse (UpdateUserSettingsResponse'),+    newUpdateUserSettingsResponse,++    -- ** UpdateVoiceConnector+    UpdateVoiceConnector (UpdateVoiceConnector'),+    newUpdateVoiceConnector,+    UpdateVoiceConnectorResponse (UpdateVoiceConnectorResponse'),+    newUpdateVoiceConnectorResponse,++    -- ** UpdateVoiceConnectorGroup+    UpdateVoiceConnectorGroup (UpdateVoiceConnectorGroup'),+    newUpdateVoiceConnectorGroup,+    UpdateVoiceConnectorGroupResponse (UpdateVoiceConnectorGroupResponse'),+    newUpdateVoiceConnectorGroupResponse,++    -- ** ValidateE911Address+    ValidateE911Address (ValidateE911Address'),+    newValidateE911Address,+    ValidateE911AddressResponse (ValidateE911AddressResponse'),+    newValidateE911AddressResponse,++    -- * Types++    -- ** AccountStatus+    AccountStatus (..),++    -- ** AccountType+    AccountType (..),++    -- ** AppInstanceDataType+    AppInstanceDataType (..),++    -- ** ArtifactsState+    ArtifactsState (..),++    -- ** AudioMuxType+    AudioMuxType (..),++    -- ** BotType+    BotType (..),++    -- ** CallingNameStatus+    CallingNameStatus (..),++    -- ** Capability+    Capability (..),++    -- ** ChannelMembershipType+    ChannelMembershipType (..),++    -- ** ChannelMessagePersistenceType+    ChannelMessagePersistenceType (..),++    -- ** ChannelMessageType+    ChannelMessageType (..),++    -- ** ChannelMode+    ChannelMode (..),++    -- ** ChannelPrivacy+    ChannelPrivacy (..),++    -- ** ContentMuxType+    ContentMuxType (..),++    -- ** EmailStatus+    EmailStatus (..),++    -- ** ErrorCode+    ErrorCode (..),++    -- ** GeoMatchLevel+    GeoMatchLevel (..),++    -- ** InviteStatus+    InviteStatus (..),++    -- ** License+    License (..),++    -- ** MediaPipelineSinkType+    MediaPipelineSinkType (..),++    -- ** MediaPipelineSourceType+    MediaPipelineSourceType (..),++    -- ** MediaPipelineStatus+    MediaPipelineStatus (..),++    -- ** MemberType+    MemberType (..),++    -- ** NotificationTarget+    NotificationTarget (..),++    -- ** NumberSelectionBehavior+    NumberSelectionBehavior (..),++    -- ** OrderedPhoneNumberStatus+    OrderedPhoneNumberStatus (..),++    -- ** OriginationRouteProtocol+    OriginationRouteProtocol (..),++    -- ** PhoneNumberAssociationName+    PhoneNumberAssociationName (..),++    -- ** PhoneNumberOrderStatus+    PhoneNumberOrderStatus (..),++    -- ** PhoneNumberProductType+    PhoneNumberProductType (..),++    -- ** PhoneNumberStatus+    PhoneNumberStatus (..),++    -- ** PhoneNumberType+    PhoneNumberType (..),++    -- ** ProxySessionStatus+    ProxySessionStatus (..),++    -- ** RegistrationStatus+    RegistrationStatus (..),++    -- ** RoomMembershipRole+    RoomMembershipRole (..),++    -- ** SipRuleTriggerType+    SipRuleTriggerType (..),++    -- ** SortOrder+    SortOrder (..),++    -- ** TranscribeContentIdentificationType+    TranscribeContentIdentificationType (..),++    -- ** TranscribeContentRedactionType+    TranscribeContentRedactionType (..),++    -- ** TranscribeLanguageCode+    TranscribeLanguageCode (..),++    -- ** TranscribeMedicalContentIdentificationType+    TranscribeMedicalContentIdentificationType (..),++    -- ** TranscribeMedicalLanguageCode+    TranscribeMedicalLanguageCode (..),++    -- ** TranscribeMedicalRegion+    TranscribeMedicalRegion (..),++    -- ** TranscribeMedicalSpecialty+    TranscribeMedicalSpecialty (..),++    -- ** TranscribeMedicalType+    TranscribeMedicalType (..),++    -- ** TranscribePartialResultsStability+    TranscribePartialResultsStability (..),++    -- ** TranscribeRegion+    TranscribeRegion (..),++    -- ** TranscribeVocabularyFilterMethod+    TranscribeVocabularyFilterMethod (..),++    -- ** UserType+    UserType (..),++    -- ** VideoMuxType+    VideoMuxType (..),++    -- ** VoiceConnectorAwsRegion+    VoiceConnectorAwsRegion (..),++    -- ** Account+    Account (Account'),+    newAccount,++    -- ** AccountSettings+    AccountSettings (AccountSettings'),+    newAccountSettings,++    -- ** Address+    Address (Address'),+    newAddress,++    -- ** AlexaForBusinessMetadata+    AlexaForBusinessMetadata (AlexaForBusinessMetadata'),+    newAlexaForBusinessMetadata,++    -- ** AppInstance+    AppInstance (AppInstance'),+    newAppInstance,++    -- ** AppInstanceAdmin+    AppInstanceAdmin (AppInstanceAdmin'),+    newAppInstanceAdmin,++    -- ** AppInstanceAdminSummary+    AppInstanceAdminSummary (AppInstanceAdminSummary'),+    newAppInstanceAdminSummary,++    -- ** AppInstanceRetentionSettings+    AppInstanceRetentionSettings (AppInstanceRetentionSettings'),+    newAppInstanceRetentionSettings,++    -- ** AppInstanceStreamingConfiguration+    AppInstanceStreamingConfiguration (AppInstanceStreamingConfiguration'),+    newAppInstanceStreamingConfiguration,++    -- ** AppInstanceSummary+    AppInstanceSummary (AppInstanceSummary'),+    newAppInstanceSummary,++    -- ** AppInstanceUser+    AppInstanceUser (AppInstanceUser'),+    newAppInstanceUser,++    -- ** AppInstanceUserMembershipSummary+    AppInstanceUserMembershipSummary (AppInstanceUserMembershipSummary'),+    newAppInstanceUserMembershipSummary,++    -- ** AppInstanceUserSummary+    AppInstanceUserSummary (AppInstanceUserSummary'),+    newAppInstanceUserSummary,++    -- ** ArtifactsConfiguration+    ArtifactsConfiguration (ArtifactsConfiguration'),+    newArtifactsConfiguration,++    -- ** Attendee+    Attendee (Attendee'),+    newAttendee,++    -- ** AudioArtifactsConfiguration+    AudioArtifactsConfiguration (AudioArtifactsConfiguration'),+    newAudioArtifactsConfiguration,++    -- ** BatchChannelMemberships+    BatchChannelMemberships (BatchChannelMemberships'),+    newBatchChannelMemberships,++    -- ** BatchCreateChannelMembershipError+    BatchCreateChannelMembershipError (BatchCreateChannelMembershipError'),+    newBatchCreateChannelMembershipError,++    -- ** Bot+    Bot (Bot'),+    newBot,++    -- ** BusinessCallingSettings+    BusinessCallingSettings (BusinessCallingSettings'),+    newBusinessCallingSettings,++    -- ** CandidateAddress+    CandidateAddress (CandidateAddress'),+    newCandidateAddress,++    -- ** Channel+    Channel (Channel'),+    newChannel,++    -- ** ChannelBan+    ChannelBan (ChannelBan'),+    newChannelBan,++    -- ** ChannelBanSummary+    ChannelBanSummary (ChannelBanSummary'),+    newChannelBanSummary,++    -- ** ChannelMembership+    ChannelMembership (ChannelMembership'),+    newChannelMembership,++    -- ** ChannelMembershipForAppInstanceUserSummary+    ChannelMembershipForAppInstanceUserSummary (ChannelMembershipForAppInstanceUserSummary'),+    newChannelMembershipForAppInstanceUserSummary,++    -- ** ChannelMembershipSummary+    ChannelMembershipSummary (ChannelMembershipSummary'),+    newChannelMembershipSummary,++    -- ** ChannelMessage+    ChannelMessage (ChannelMessage'),+    newChannelMessage,++    -- ** ChannelMessageSummary+    ChannelMessageSummary (ChannelMessageSummary'),+    newChannelMessageSummary,++    -- ** ChannelModeratedByAppInstanceUserSummary+    ChannelModeratedByAppInstanceUserSummary (ChannelModeratedByAppInstanceUserSummary'),+    newChannelModeratedByAppInstanceUserSummary,++    -- ** ChannelModerator+    ChannelModerator (ChannelModerator'),+    newChannelModerator,++    -- ** ChannelModeratorSummary+    ChannelModeratorSummary (ChannelModeratorSummary'),+    newChannelModeratorSummary,++    -- ** ChannelRetentionSettings+    ChannelRetentionSettings (ChannelRetentionSettings'),+    newChannelRetentionSettings,++    -- ** ChannelSummary+    ChannelSummary (ChannelSummary'),+    newChannelSummary,++    -- ** ChimeSdkMeetingConfiguration+    ChimeSdkMeetingConfiguration (ChimeSdkMeetingConfiguration'),+    newChimeSdkMeetingConfiguration,++    -- ** ContentArtifactsConfiguration+    ContentArtifactsConfiguration (ContentArtifactsConfiguration'),+    newContentArtifactsConfiguration,++    -- ** ConversationRetentionSettings+    ConversationRetentionSettings (ConversationRetentionSettings'),+    newConversationRetentionSettings,++    -- ** CreateAttendeeError+    CreateAttendeeError (CreateAttendeeError'),+    newCreateAttendeeError,++    -- ** CreateAttendeeRequestItem+    CreateAttendeeRequestItem (CreateAttendeeRequestItem'),+    newCreateAttendeeRequestItem,++    -- ** Credential+    Credential (Credential'),+    newCredential,++    -- ** DNISEmergencyCallingConfiguration+    DNISEmergencyCallingConfiguration (DNISEmergencyCallingConfiguration'),+    newDNISEmergencyCallingConfiguration,++    -- ** EmergencyCallingConfiguration+    EmergencyCallingConfiguration (EmergencyCallingConfiguration'),+    newEmergencyCallingConfiguration,++    -- ** EngineTranscribeMedicalSettings+    EngineTranscribeMedicalSettings (EngineTranscribeMedicalSettings'),+    newEngineTranscribeMedicalSettings,++    -- ** EngineTranscribeSettings+    EngineTranscribeSettings (EngineTranscribeSettings'),+    newEngineTranscribeSettings,++    -- ** EventsConfiguration+    EventsConfiguration (EventsConfiguration'),+    newEventsConfiguration,++    -- ** GeoMatchParams+    GeoMatchParams (GeoMatchParams'),+    newGeoMatchParams,++    -- ** Identity+    Identity (Identity'),+    newIdentity,++    -- ** Invite+    Invite (Invite'),+    newInvite,++    -- ** LoggingConfiguration+    LoggingConfiguration (LoggingConfiguration'),+    newLoggingConfiguration,++    -- ** MediaCapturePipeline+    MediaCapturePipeline (MediaCapturePipeline'),+    newMediaCapturePipeline,++    -- ** MediaPlacement+    MediaPlacement (MediaPlacement'),+    newMediaPlacement,++    -- ** Meeting+    Meeting (Meeting'),+    newMeeting,++    -- ** MeetingNotificationConfiguration+    MeetingNotificationConfiguration (MeetingNotificationConfiguration'),+    newMeetingNotificationConfiguration,++    -- ** Member+    Member (Member'),+    newMember,++    -- ** MemberError+    MemberError (MemberError'),+    newMemberError,++    -- ** MembershipItem+    MembershipItem (MembershipItem'),+    newMembershipItem,++    -- ** MessagingSessionEndpoint+    MessagingSessionEndpoint (MessagingSessionEndpoint'),+    newMessagingSessionEndpoint,++    -- ** OrderedPhoneNumber+    OrderedPhoneNumber (OrderedPhoneNumber'),+    newOrderedPhoneNumber,++    -- ** Origination+    Origination (Origination'),+    newOrigination,++    -- ** OriginationRoute+    OriginationRoute (OriginationRoute'),+    newOriginationRoute,++    -- ** Participant+    Participant (Participant'),+    newParticipant,++    -- ** PhoneNumber+    PhoneNumber (PhoneNumber'),+    newPhoneNumber,++    -- ** PhoneNumberAssociation+    PhoneNumberAssociation (PhoneNumberAssociation'),+    newPhoneNumberAssociation,++    -- ** PhoneNumberCapabilities+    PhoneNumberCapabilities (PhoneNumberCapabilities'),+    newPhoneNumberCapabilities,++    -- ** PhoneNumberCountry+    PhoneNumberCountry (PhoneNumberCountry'),+    newPhoneNumberCountry,++    -- ** PhoneNumberError+    PhoneNumberError (PhoneNumberError'),+    newPhoneNumberError,++    -- ** PhoneNumberOrder+    PhoneNumberOrder (PhoneNumberOrder'),+    newPhoneNumberOrder,++    -- ** Proxy+    Proxy (Proxy'),+    newProxy,++    -- ** ProxySession+    ProxySession (ProxySession'),+    newProxySession,++    -- ** RetentionSettings+    RetentionSettings (RetentionSettings'),+    newRetentionSettings,++    -- ** Room+    Room (Room'),+    newRoom,++    -- ** RoomMembership+    RoomMembership (RoomMembership'),+    newRoomMembership,++    -- ** RoomRetentionSettings+    RoomRetentionSettings (RoomRetentionSettings'),+    newRoomRetentionSettings,++    -- ** SelectedVideoStreams+    SelectedVideoStreams (SelectedVideoStreams'),+    newSelectedVideoStreams,++    -- ** SigninDelegateGroup+    SigninDelegateGroup (SigninDelegateGroup'),+    newSigninDelegateGroup,++    -- ** SipMediaApplication+    SipMediaApplication (SipMediaApplication'),+    newSipMediaApplication,++    -- ** SipMediaApplicationCall+    SipMediaApplicationCall (SipMediaApplicationCall'),+    newSipMediaApplicationCall,++    -- ** SipMediaApplicationEndpoint+    SipMediaApplicationEndpoint (SipMediaApplicationEndpoint'),+    newSipMediaApplicationEndpoint,++    -- ** SipMediaApplicationLoggingConfiguration+    SipMediaApplicationLoggingConfiguration (SipMediaApplicationLoggingConfiguration'),+    newSipMediaApplicationLoggingConfiguration,++    -- ** SipRule+    SipRule (SipRule'),+    newSipRule,++    -- ** SipRuleTargetApplication+    SipRuleTargetApplication (SipRuleTargetApplication'),+    newSipRuleTargetApplication,++    -- ** SourceConfiguration+    SourceConfiguration (SourceConfiguration'),+    newSourceConfiguration,++    -- ** StreamingConfiguration+    StreamingConfiguration (StreamingConfiguration'),+    newStreamingConfiguration,++    -- ** StreamingNotificationTarget+    StreamingNotificationTarget (StreamingNotificationTarget'),+    newStreamingNotificationTarget,++    -- ** Tag+    Tag (Tag'),+    newTag,++    -- ** TelephonySettings+    TelephonySettings (TelephonySettings'),+    newTelephonySettings,++    -- ** Termination+    Termination (Termination'),+    newTermination,++    -- ** TerminationHealth+    TerminationHealth (TerminationHealth'),+    newTerminationHealth,++    -- ** TranscriptionConfiguration+    TranscriptionConfiguration (TranscriptionConfiguration'),+    newTranscriptionConfiguration,++    -- ** UpdatePhoneNumberRequestItem+    UpdatePhoneNumberRequestItem (UpdatePhoneNumberRequestItem'),+    newUpdatePhoneNumberRequestItem,++    -- ** UpdateUserRequestItem+    UpdateUserRequestItem (UpdateUserRequestItem'),+    newUpdateUserRequestItem,++    -- ** User+    User (User'),+    newUser,++    -- ** UserError+    UserError (UserError'),+    newUserError,++    -- ** UserSettings+    UserSettings (UserSettings'),+    newUserSettings,++    -- ** VideoArtifactsConfiguration+    VideoArtifactsConfiguration (VideoArtifactsConfiguration'),+    newVideoArtifactsConfiguration,++    -- ** VoiceConnector+    VoiceConnector (VoiceConnector'),+    newVoiceConnector,++    -- ** VoiceConnectorGroup+    VoiceConnectorGroup (VoiceConnectorGroup'),+    newVoiceConnectorGroup,++    -- ** VoiceConnectorItem+    VoiceConnectorItem (VoiceConnectorItem'),+    newVoiceConnectorItem,++    -- ** VoiceConnectorSettings+    VoiceConnectorSettings (VoiceConnectorSettings'),+    newVoiceConnectorSettings,+  )+where++import Amazonka.Chime.AssociatePhoneNumberWithUser+import Amazonka.Chime.AssociatePhoneNumbersWithVoiceConnector+import Amazonka.Chime.AssociatePhoneNumbersWithVoiceConnectorGroup+import Amazonka.Chime.AssociateSigninDelegateGroupsWithAccount+import Amazonka.Chime.BatchCreateAttendee+import Amazonka.Chime.BatchCreateChannelMembership+import Amazonka.Chime.BatchCreateRoomMembership+import Amazonka.Chime.BatchDeletePhoneNumber+import Amazonka.Chime.BatchSuspendUser+import Amazonka.Chime.BatchUnsuspendUser+import Amazonka.Chime.BatchUpdatePhoneNumber+import Amazonka.Chime.BatchUpdateUser+import Amazonka.Chime.CreateAccount+import Amazonka.Chime.CreateAppInstance+import Amazonka.Chime.CreateAppInstanceAdmin+import Amazonka.Chime.CreateAppInstanceUser+import Amazonka.Chime.CreateAttendee+import Amazonka.Chime.CreateBot+import Amazonka.Chime.CreateChannel+import Amazonka.Chime.CreateChannelBan+import Amazonka.Chime.CreateChannelMembership+import Amazonka.Chime.CreateChannelModerator+import Amazonka.Chime.CreateMediaCapturePipeline+import Amazonka.Chime.CreateMeeting+import Amazonka.Chime.CreateMeetingDialOut+import Amazonka.Chime.CreateMeetingWithAttendees+import Amazonka.Chime.CreatePhoneNumberOrder+import Amazonka.Chime.CreateProxySession+import Amazonka.Chime.CreateRoom+import Amazonka.Chime.CreateRoomMembership+import Amazonka.Chime.CreateSipMediaApplication+import Amazonka.Chime.CreateSipMediaApplicationCall+import Amazonka.Chime.CreateSipRule+import Amazonka.Chime.CreateUser+import Amazonka.Chime.CreateVoiceConnector+import Amazonka.Chime.CreateVoiceConnectorGroup+import Amazonka.Chime.DeleteAccount+import Amazonka.Chime.DeleteAppInstance+import Amazonka.Chime.DeleteAppInstanceAdmin+import Amazonka.Chime.DeleteAppInstanceStreamingConfigurations+import Amazonka.Chime.DeleteAppInstanceUser+import Amazonka.Chime.DeleteAttendee+import Amazonka.Chime.DeleteChannel+import Amazonka.Chime.DeleteChannelBan+import Amazonka.Chime.DeleteChannelMembership+import Amazonka.Chime.DeleteChannelMessage+import Amazonka.Chime.DeleteChannelModerator+import Amazonka.Chime.DeleteEventsConfiguration+import Amazonka.Chime.DeleteMediaCapturePipeline+import Amazonka.Chime.DeleteMeeting+import Amazonka.Chime.DeletePhoneNumber+import Amazonka.Chime.DeleteProxySession+import Amazonka.Chime.DeleteRoom+import Amazonka.Chime.DeleteRoomMembership+import Amazonka.Chime.DeleteSipMediaApplication+import Amazonka.Chime.DeleteSipRule+import Amazonka.Chime.DeleteVoiceConnector+import Amazonka.Chime.DeleteVoiceConnectorEmergencyCallingConfiguration+import Amazonka.Chime.DeleteVoiceConnectorGroup+import Amazonka.Chime.DeleteVoiceConnectorOrigination+import Amazonka.Chime.DeleteVoiceConnectorProxy+import Amazonka.Chime.DeleteVoiceConnectorStreamingConfiguration+import Amazonka.Chime.DeleteVoiceConnectorTermination+import Amazonka.Chime.DeleteVoiceConnectorTerminationCredentials+import Amazonka.Chime.DescribeAppInstance+import Amazonka.Chime.DescribeAppInstanceAdmin+import Amazonka.Chime.DescribeAppInstanceUser+import Amazonka.Chime.DescribeChannel+import Amazonka.Chime.DescribeChannelBan+import Amazonka.Chime.DescribeChannelMembership+import Amazonka.Chime.DescribeChannelMembershipForAppInstanceUser+import Amazonka.Chime.DescribeChannelModeratedByAppInstanceUser+import Amazonka.Chime.DescribeChannelModerator+import Amazonka.Chime.DisassociatePhoneNumberFromUser+import Amazonka.Chime.DisassociatePhoneNumbersFromVoiceConnector+import Amazonka.Chime.DisassociatePhoneNumbersFromVoiceConnectorGroup+import Amazonka.Chime.DisassociateSigninDelegateGroupsFromAccount+import Amazonka.Chime.GetAccount+import Amazonka.Chime.GetAccountSettings+import Amazonka.Chime.GetAppInstanceRetentionSettings+import Amazonka.Chime.GetAppInstanceStreamingConfigurations+import Amazonka.Chime.GetAttendee+import Amazonka.Chime.GetBot+import Amazonka.Chime.GetChannelMessage+import Amazonka.Chime.GetEventsConfiguration+import Amazonka.Chime.GetGlobalSettings+import Amazonka.Chime.GetMediaCapturePipeline+import Amazonka.Chime.GetMeeting+import Amazonka.Chime.GetMessagingSessionEndpoint+import Amazonka.Chime.GetPhoneNumber+import Amazonka.Chime.GetPhoneNumberOrder+import Amazonka.Chime.GetPhoneNumberSettings+import Amazonka.Chime.GetProxySession+import Amazonka.Chime.GetRetentionSettings+import Amazonka.Chime.GetRoom+import Amazonka.Chime.GetSipMediaApplication+import Amazonka.Chime.GetSipMediaApplicationLoggingConfiguration+import Amazonka.Chime.GetSipRule+import Amazonka.Chime.GetUser+import Amazonka.Chime.GetUserSettings+import Amazonka.Chime.GetVoiceConnector+import Amazonka.Chime.GetVoiceConnectorEmergencyCallingConfiguration+import Amazonka.Chime.GetVoiceConnectorGroup+import Amazonka.Chime.GetVoiceConnectorLoggingConfiguration+import Amazonka.Chime.GetVoiceConnectorOrigination+import Amazonka.Chime.GetVoiceConnectorProxy+import Amazonka.Chime.GetVoiceConnectorStreamingConfiguration+import Amazonka.Chime.GetVoiceConnectorTermination+import Amazonka.Chime.GetVoiceConnectorTerminationHealth+import Amazonka.Chime.InviteUsers+import Amazonka.Chime.Lens+import Amazonka.Chime.ListAccounts+import Amazonka.Chime.ListAppInstanceAdmins+import Amazonka.Chime.ListAppInstanceUsers+import Amazonka.Chime.ListAppInstances+import Amazonka.Chime.ListAttendeeTags+import Amazonka.Chime.ListAttendees+import Amazonka.Chime.ListBots+import Amazonka.Chime.ListChannelBans+import Amazonka.Chime.ListChannelMemberships+import Amazonka.Chime.ListChannelMembershipsForAppInstanceUser+import Amazonka.Chime.ListChannelMessages+import Amazonka.Chime.ListChannelModerators+import Amazonka.Chime.ListChannels+import Amazonka.Chime.ListChannelsModeratedByAppInstanceUser+import Amazonka.Chime.ListMediaCapturePipelines+import Amazonka.Chime.ListMeetingTags+import Amazonka.Chime.ListMeetings+import Amazonka.Chime.ListPhoneNumberOrders+import Amazonka.Chime.ListPhoneNumbers+import Amazonka.Chime.ListProxySessions+import Amazonka.Chime.ListRoomMemberships+import Amazonka.Chime.ListRooms+import Amazonka.Chime.ListSipMediaApplications+import Amazonka.Chime.ListSipRules+import Amazonka.Chime.ListSupportedPhoneNumberCountries+import Amazonka.Chime.ListTagsForResource+import Amazonka.Chime.ListUsers+import Amazonka.Chime.ListVoiceConnectorGroups+import Amazonka.Chime.ListVoiceConnectorTerminationCredentials+import Amazonka.Chime.ListVoiceConnectors+import Amazonka.Chime.LogoutUser+import Amazonka.Chime.PutAppInstanceRetentionSettings+import Amazonka.Chime.PutAppInstanceStreamingConfigurations+import Amazonka.Chime.PutEventsConfiguration+import Amazonka.Chime.PutRetentionSettings+import Amazonka.Chime.PutSipMediaApplicationLoggingConfiguration+import Amazonka.Chime.PutVoiceConnectorEmergencyCallingConfiguration+import Amazonka.Chime.PutVoiceConnectorLoggingConfiguration+import Amazonka.Chime.PutVoiceConnectorOrigination+import Amazonka.Chime.PutVoiceConnectorProxy+import Amazonka.Chime.PutVoiceConnectorStreamingConfiguration+import Amazonka.Chime.PutVoiceConnectorTermination+import Amazonka.Chime.PutVoiceConnectorTerminationCredentials+import Amazonka.Chime.RedactChannelMessage+import Amazonka.Chime.RedactConversationMessage+import Amazonka.Chime.RedactRoomMessage+import Amazonka.Chime.RegenerateSecurityToken+import Amazonka.Chime.ResetPersonalPIN+import Amazonka.Chime.RestorePhoneNumber+import Amazonka.Chime.SearchAvailablePhoneNumbers+import Amazonka.Chime.SendChannelMessage+import Amazonka.Chime.StartMeetingTranscription+import Amazonka.Chime.StopMeetingTranscription+import Amazonka.Chime.TagAttendee+import Amazonka.Chime.TagMeeting+import Amazonka.Chime.TagResource+import Amazonka.Chime.Types+import Amazonka.Chime.UntagAttendee+import Amazonka.Chime.UntagMeeting+import Amazonka.Chime.UntagResource+import Amazonka.Chime.UpdateAccount+import Amazonka.Chime.UpdateAccountSettings+import Amazonka.Chime.UpdateAppInstance+import Amazonka.Chime.UpdateAppInstanceUser+import Amazonka.Chime.UpdateBot+import Amazonka.Chime.UpdateChannel+import Amazonka.Chime.UpdateChannelMessage+import Amazonka.Chime.UpdateChannelReadMarker+import Amazonka.Chime.UpdateGlobalSettings+import Amazonka.Chime.UpdatePhoneNumber+import Amazonka.Chime.UpdatePhoneNumberSettings+import Amazonka.Chime.UpdateProxySession+import Amazonka.Chime.UpdateRoom+import Amazonka.Chime.UpdateRoomMembership+import Amazonka.Chime.UpdateSipMediaApplication+import Amazonka.Chime.UpdateSipMediaApplicationCall+import Amazonka.Chime.UpdateSipRule+import Amazonka.Chime.UpdateUser+import Amazonka.Chime.UpdateUserSettings+import Amazonka.Chime.UpdateVoiceConnector+import Amazonka.Chime.UpdateVoiceConnectorGroup+import Amazonka.Chime.ValidateE911Address+import Amazonka.Chime.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 'Chime'.++-- $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/Chime/AssociatePhoneNumberWithUser.hs view
@@ -0,0 +1,199 @@+{-# 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.Chime.AssociatePhoneNumberWithUser+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Associates a phone number with the specified Amazon Chime user.+module Amazonka.Chime.AssociatePhoneNumberWithUser+  ( -- * Creating a Request+    AssociatePhoneNumberWithUser (..),+    newAssociatePhoneNumberWithUser,++    -- * Request Lenses+    associatePhoneNumberWithUser_accountId,+    associatePhoneNumberWithUser_userId,+    associatePhoneNumberWithUser_e164PhoneNumber,++    -- * Destructuring the Response+    AssociatePhoneNumberWithUserResponse (..),+    newAssociatePhoneNumberWithUserResponse,++    -- * Response Lenses+    associatePhoneNumberWithUserResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newAssociatePhoneNumberWithUser' smart constructor.+data AssociatePhoneNumberWithUser = AssociatePhoneNumberWithUser'+  { -- | The Amazon Chime account ID.+    accountId :: Prelude.Text,+    -- | The user ID.+    userId :: Prelude.Text,+    -- | The phone number, in E.164 format.+    e164PhoneNumber :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociatePhoneNumberWithUser' 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:+--+-- 'accountId', 'associatePhoneNumberWithUser_accountId' - The Amazon Chime account ID.+--+-- 'userId', 'associatePhoneNumberWithUser_userId' - The user ID.+--+-- 'e164PhoneNumber', 'associatePhoneNumberWithUser_e164PhoneNumber' - The phone number, in E.164 format.+newAssociatePhoneNumberWithUser ::+  -- | 'accountId'+  Prelude.Text ->+  -- | 'userId'+  Prelude.Text ->+  -- | 'e164PhoneNumber'+  Prelude.Text ->+  AssociatePhoneNumberWithUser+newAssociatePhoneNumberWithUser+  pAccountId_+  pUserId_+  pE164PhoneNumber_ =+    AssociatePhoneNumberWithUser'+      { accountId =+          pAccountId_,+        userId = pUserId_,+        e164PhoneNumber =+          Data._Sensitive Lens.# pE164PhoneNumber_+      }++-- | The Amazon Chime account ID.+associatePhoneNumberWithUser_accountId :: Lens.Lens' AssociatePhoneNumberWithUser Prelude.Text+associatePhoneNumberWithUser_accountId = Lens.lens (\AssociatePhoneNumberWithUser' {accountId} -> accountId) (\s@AssociatePhoneNumberWithUser' {} a -> s {accountId = a} :: AssociatePhoneNumberWithUser)++-- | The user ID.+associatePhoneNumberWithUser_userId :: Lens.Lens' AssociatePhoneNumberWithUser Prelude.Text+associatePhoneNumberWithUser_userId = Lens.lens (\AssociatePhoneNumberWithUser' {userId} -> userId) (\s@AssociatePhoneNumberWithUser' {} a -> s {userId = a} :: AssociatePhoneNumberWithUser)++-- | The phone number, in E.164 format.+associatePhoneNumberWithUser_e164PhoneNumber :: Lens.Lens' AssociatePhoneNumberWithUser Prelude.Text+associatePhoneNumberWithUser_e164PhoneNumber = Lens.lens (\AssociatePhoneNumberWithUser' {e164PhoneNumber} -> e164PhoneNumber) (\s@AssociatePhoneNumberWithUser' {} a -> s {e164PhoneNumber = a} :: AssociatePhoneNumberWithUser) Prelude.. Data._Sensitive++instance Core.AWSRequest AssociatePhoneNumberWithUser where+  type+    AWSResponse AssociatePhoneNumberWithUser =+      AssociatePhoneNumberWithUserResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          AssociatePhoneNumberWithUserResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    AssociatePhoneNumberWithUser+  where+  hashWithSalt _salt AssociatePhoneNumberWithUser' {..} =+    _salt+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` userId+      `Prelude.hashWithSalt` e164PhoneNumber++instance Prelude.NFData AssociatePhoneNumberWithUser where+  rnf AssociatePhoneNumberWithUser' {..} =+    Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf userId+      `Prelude.seq` Prelude.rnf e164PhoneNumber++instance Data.ToHeaders AssociatePhoneNumberWithUser where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON AssociatePhoneNumberWithUser where+  toJSON AssociatePhoneNumberWithUser' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("E164PhoneNumber" Data..= e164PhoneNumber)+          ]+      )++instance Data.ToPath AssociatePhoneNumberWithUser where+  toPath AssociatePhoneNumberWithUser' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS accountId,+        "/users/",+        Data.toBS userId+      ]++instance Data.ToQuery AssociatePhoneNumberWithUser where+  toQuery =+    Prelude.const+      ( Prelude.mconcat+          ["operation=associate-phone-number"]+      )++-- | /See:/ 'newAssociatePhoneNumberWithUserResponse' smart constructor.+data AssociatePhoneNumberWithUserResponse = AssociatePhoneNumberWithUserResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociatePhoneNumberWithUserResponse' 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', 'associatePhoneNumberWithUserResponse_httpStatus' - The response's http status code.+newAssociatePhoneNumberWithUserResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  AssociatePhoneNumberWithUserResponse+newAssociatePhoneNumberWithUserResponse pHttpStatus_ =+  AssociatePhoneNumberWithUserResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+associatePhoneNumberWithUserResponse_httpStatus :: Lens.Lens' AssociatePhoneNumberWithUserResponse Prelude.Int+associatePhoneNumberWithUserResponse_httpStatus = Lens.lens (\AssociatePhoneNumberWithUserResponse' {httpStatus} -> httpStatus) (\s@AssociatePhoneNumberWithUserResponse' {} a -> s {httpStatus = a} :: AssociatePhoneNumberWithUserResponse)++instance+  Prelude.NFData+    AssociatePhoneNumberWithUserResponse+  where+  rnf AssociatePhoneNumberWithUserResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/Chime/AssociatePhoneNumbersWithVoiceConnector.hs view
@@ -0,0 +1,245 @@+{-# 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.Chime.AssociatePhoneNumbersWithVoiceConnector+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Associates phone numbers with the specified Amazon Chime Voice+-- Connector.+module Amazonka.Chime.AssociatePhoneNumbersWithVoiceConnector+  ( -- * Creating a Request+    AssociatePhoneNumbersWithVoiceConnector (..),+    newAssociatePhoneNumbersWithVoiceConnector,++    -- * Request Lenses+    associatePhoneNumbersWithVoiceConnector_forceAssociate,+    associatePhoneNumbersWithVoiceConnector_voiceConnectorId,+    associatePhoneNumbersWithVoiceConnector_e164PhoneNumbers,++    -- * Destructuring the Response+    AssociatePhoneNumbersWithVoiceConnectorResponse (..),+    newAssociatePhoneNumbersWithVoiceConnectorResponse,++    -- * Response Lenses+    associatePhoneNumbersWithVoiceConnectorResponse_phoneNumberErrors,+    associatePhoneNumbersWithVoiceConnectorResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newAssociatePhoneNumbersWithVoiceConnector' smart constructor.+data AssociatePhoneNumbersWithVoiceConnector = AssociatePhoneNumbersWithVoiceConnector'+  { -- | If true, associates the provided phone numbers with the provided Amazon+    -- Chime Voice Connector and removes any previously existing associations.+    -- If false, does not associate any phone numbers that have previously+    -- existing associations.+    forceAssociate :: Prelude.Maybe Prelude.Bool,+    -- | The Amazon Chime Voice Connector ID.+    voiceConnectorId :: Prelude.Text,+    -- | List of phone numbers, in E.164 format.+    e164PhoneNumbers :: [Data.Sensitive Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociatePhoneNumbersWithVoiceConnector' 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:+--+-- 'forceAssociate', 'associatePhoneNumbersWithVoiceConnector_forceAssociate' - If true, associates the provided phone numbers with the provided Amazon+-- Chime Voice Connector and removes any previously existing associations.+-- If false, does not associate any phone numbers that have previously+-- existing associations.+--+-- 'voiceConnectorId', 'associatePhoneNumbersWithVoiceConnector_voiceConnectorId' - The Amazon Chime Voice Connector ID.+--+-- 'e164PhoneNumbers', 'associatePhoneNumbersWithVoiceConnector_e164PhoneNumbers' - List of phone numbers, in E.164 format.+newAssociatePhoneNumbersWithVoiceConnector ::+  -- | 'voiceConnectorId'+  Prelude.Text ->+  AssociatePhoneNumbersWithVoiceConnector+newAssociatePhoneNumbersWithVoiceConnector+  pVoiceConnectorId_ =+    AssociatePhoneNumbersWithVoiceConnector'+      { forceAssociate =+          Prelude.Nothing,+        voiceConnectorId =+          pVoiceConnectorId_,+        e164PhoneNumbers = Prelude.mempty+      }++-- | If true, associates the provided phone numbers with the provided Amazon+-- Chime Voice Connector and removes any previously existing associations.+-- If false, does not associate any phone numbers that have previously+-- existing associations.+associatePhoneNumbersWithVoiceConnector_forceAssociate :: Lens.Lens' AssociatePhoneNumbersWithVoiceConnector (Prelude.Maybe Prelude.Bool)+associatePhoneNumbersWithVoiceConnector_forceAssociate = Lens.lens (\AssociatePhoneNumbersWithVoiceConnector' {forceAssociate} -> forceAssociate) (\s@AssociatePhoneNumbersWithVoiceConnector' {} a -> s {forceAssociate = a} :: AssociatePhoneNumbersWithVoiceConnector)++-- | The Amazon Chime Voice Connector ID.+associatePhoneNumbersWithVoiceConnector_voiceConnectorId :: Lens.Lens' AssociatePhoneNumbersWithVoiceConnector Prelude.Text+associatePhoneNumbersWithVoiceConnector_voiceConnectorId = Lens.lens (\AssociatePhoneNumbersWithVoiceConnector' {voiceConnectorId} -> voiceConnectorId) (\s@AssociatePhoneNumbersWithVoiceConnector' {} a -> s {voiceConnectorId = a} :: AssociatePhoneNumbersWithVoiceConnector)++-- | List of phone numbers, in E.164 format.+associatePhoneNumbersWithVoiceConnector_e164PhoneNumbers :: Lens.Lens' AssociatePhoneNumbersWithVoiceConnector [Prelude.Text]+associatePhoneNumbersWithVoiceConnector_e164PhoneNumbers = Lens.lens (\AssociatePhoneNumbersWithVoiceConnector' {e164PhoneNumbers} -> e164PhoneNumbers) (\s@AssociatePhoneNumbersWithVoiceConnector' {} a -> s {e164PhoneNumbers = a} :: AssociatePhoneNumbersWithVoiceConnector) Prelude.. Lens.coerced++instance+  Core.AWSRequest+    AssociatePhoneNumbersWithVoiceConnector+  where+  type+    AWSResponse+      AssociatePhoneNumbersWithVoiceConnector =+      AssociatePhoneNumbersWithVoiceConnectorResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          AssociatePhoneNumbersWithVoiceConnectorResponse'+            Prelude.<$> ( x+                            Data..?> "PhoneNumberErrors"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    AssociatePhoneNumbersWithVoiceConnector+  where+  hashWithSalt+    _salt+    AssociatePhoneNumbersWithVoiceConnector' {..} =+      _salt+        `Prelude.hashWithSalt` forceAssociate+        `Prelude.hashWithSalt` voiceConnectorId+        `Prelude.hashWithSalt` e164PhoneNumbers++instance+  Prelude.NFData+    AssociatePhoneNumbersWithVoiceConnector+  where+  rnf AssociatePhoneNumbersWithVoiceConnector' {..} =+    Prelude.rnf forceAssociate+      `Prelude.seq` Prelude.rnf voiceConnectorId+      `Prelude.seq` Prelude.rnf e164PhoneNumbers++instance+  Data.ToHeaders+    AssociatePhoneNumbersWithVoiceConnector+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToJSON+    AssociatePhoneNumbersWithVoiceConnector+  where+  toJSON AssociatePhoneNumbersWithVoiceConnector' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ForceAssociate" Data..=)+              Prelude.<$> forceAssociate,+            Prelude.Just+              ("E164PhoneNumbers" Data..= e164PhoneNumbers)+          ]+      )++instance+  Data.ToPath+    AssociatePhoneNumbersWithVoiceConnector+  where+  toPath AssociatePhoneNumbersWithVoiceConnector' {..} =+    Prelude.mconcat+      ["/voice-connectors/", Data.toBS voiceConnectorId]++instance+  Data.ToQuery+    AssociatePhoneNumbersWithVoiceConnector+  where+  toQuery =+    Prelude.const+      ( Prelude.mconcat+          ["operation=associate-phone-numbers"]+      )++-- | /See:/ 'newAssociatePhoneNumbersWithVoiceConnectorResponse' smart constructor.+data AssociatePhoneNumbersWithVoiceConnectorResponse = AssociatePhoneNumbersWithVoiceConnectorResponse'+  { -- | If the action fails for one or more of the phone numbers in the request,+    -- a list of the phone numbers is returned, along with error codes and+    -- error messages.+    phoneNumberErrors :: Prelude.Maybe [PhoneNumberError],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociatePhoneNumbersWithVoiceConnectorResponse' 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:+--+-- 'phoneNumberErrors', 'associatePhoneNumbersWithVoiceConnectorResponse_phoneNumberErrors' - If the action fails for one or more of the phone numbers in the request,+-- a list of the phone numbers is returned, along with error codes and+-- error messages.+--+-- 'httpStatus', 'associatePhoneNumbersWithVoiceConnectorResponse_httpStatus' - The response's http status code.+newAssociatePhoneNumbersWithVoiceConnectorResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  AssociatePhoneNumbersWithVoiceConnectorResponse+newAssociatePhoneNumbersWithVoiceConnectorResponse+  pHttpStatus_ =+    AssociatePhoneNumbersWithVoiceConnectorResponse'+      { phoneNumberErrors =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | If the action fails for one or more of the phone numbers in the request,+-- a list of the phone numbers is returned, along with error codes and+-- error messages.+associatePhoneNumbersWithVoiceConnectorResponse_phoneNumberErrors :: Lens.Lens' AssociatePhoneNumbersWithVoiceConnectorResponse (Prelude.Maybe [PhoneNumberError])+associatePhoneNumbersWithVoiceConnectorResponse_phoneNumberErrors = Lens.lens (\AssociatePhoneNumbersWithVoiceConnectorResponse' {phoneNumberErrors} -> phoneNumberErrors) (\s@AssociatePhoneNumbersWithVoiceConnectorResponse' {} a -> s {phoneNumberErrors = a} :: AssociatePhoneNumbersWithVoiceConnectorResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+associatePhoneNumbersWithVoiceConnectorResponse_httpStatus :: Lens.Lens' AssociatePhoneNumbersWithVoiceConnectorResponse Prelude.Int+associatePhoneNumbersWithVoiceConnectorResponse_httpStatus = Lens.lens (\AssociatePhoneNumbersWithVoiceConnectorResponse' {httpStatus} -> httpStatus) (\s@AssociatePhoneNumbersWithVoiceConnectorResponse' {} a -> s {httpStatus = a} :: AssociatePhoneNumbersWithVoiceConnectorResponse)++instance+  Prelude.NFData+    AssociatePhoneNumbersWithVoiceConnectorResponse+  where+  rnf+    AssociatePhoneNumbersWithVoiceConnectorResponse' {..} =+      Prelude.rnf phoneNumberErrors+        `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/AssociatePhoneNumbersWithVoiceConnectorGroup.hs view
@@ -0,0 +1,251 @@+{-# 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.Chime.AssociatePhoneNumbersWithVoiceConnectorGroup+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Associates phone numbers with the specified Amazon Chime Voice Connector+-- group.+module Amazonka.Chime.AssociatePhoneNumbersWithVoiceConnectorGroup+  ( -- * Creating a Request+    AssociatePhoneNumbersWithVoiceConnectorGroup (..),+    newAssociatePhoneNumbersWithVoiceConnectorGroup,++    -- * Request Lenses+    associatePhoneNumbersWithVoiceConnectorGroup_forceAssociate,+    associatePhoneNumbersWithVoiceConnectorGroup_voiceConnectorGroupId,+    associatePhoneNumbersWithVoiceConnectorGroup_e164PhoneNumbers,++    -- * Destructuring the Response+    AssociatePhoneNumbersWithVoiceConnectorGroupResponse (..),+    newAssociatePhoneNumbersWithVoiceConnectorGroupResponse,++    -- * Response Lenses+    associatePhoneNumbersWithVoiceConnectorGroupResponse_phoneNumberErrors,+    associatePhoneNumbersWithVoiceConnectorGroupResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newAssociatePhoneNumbersWithVoiceConnectorGroup' smart constructor.+data AssociatePhoneNumbersWithVoiceConnectorGroup = AssociatePhoneNumbersWithVoiceConnectorGroup'+  { -- | If true, associates the provided phone numbers with the provided Amazon+    -- Chime Voice Connector Group and removes any previously existing+    -- associations. If false, does not associate any phone numbers that have+    -- previously existing associations.+    forceAssociate :: Prelude.Maybe Prelude.Bool,+    -- | The Amazon Chime Voice Connector group ID.+    voiceConnectorGroupId :: Prelude.Text,+    -- | List of phone numbers, in E.164 format.+    e164PhoneNumbers :: [Data.Sensitive Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociatePhoneNumbersWithVoiceConnectorGroup' 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:+--+-- 'forceAssociate', 'associatePhoneNumbersWithVoiceConnectorGroup_forceAssociate' - If true, associates the provided phone numbers with the provided Amazon+-- Chime Voice Connector Group and removes any previously existing+-- associations. If false, does not associate any phone numbers that have+-- previously existing associations.+--+-- 'voiceConnectorGroupId', 'associatePhoneNumbersWithVoiceConnectorGroup_voiceConnectorGroupId' - The Amazon Chime Voice Connector group ID.+--+-- 'e164PhoneNumbers', 'associatePhoneNumbersWithVoiceConnectorGroup_e164PhoneNumbers' - List of phone numbers, in E.164 format.+newAssociatePhoneNumbersWithVoiceConnectorGroup ::+  -- | 'voiceConnectorGroupId'+  Prelude.Text ->+  AssociatePhoneNumbersWithVoiceConnectorGroup+newAssociatePhoneNumbersWithVoiceConnectorGroup+  pVoiceConnectorGroupId_ =+    AssociatePhoneNumbersWithVoiceConnectorGroup'+      { forceAssociate =+          Prelude.Nothing,+        voiceConnectorGroupId =+          pVoiceConnectorGroupId_,+        e164PhoneNumbers =+          Prelude.mempty+      }++-- | If true, associates the provided phone numbers with the provided Amazon+-- Chime Voice Connector Group and removes any previously existing+-- associations. If false, does not associate any phone numbers that have+-- previously existing associations.+associatePhoneNumbersWithVoiceConnectorGroup_forceAssociate :: Lens.Lens' AssociatePhoneNumbersWithVoiceConnectorGroup (Prelude.Maybe Prelude.Bool)+associatePhoneNumbersWithVoiceConnectorGroup_forceAssociate = Lens.lens (\AssociatePhoneNumbersWithVoiceConnectorGroup' {forceAssociate} -> forceAssociate) (\s@AssociatePhoneNumbersWithVoiceConnectorGroup' {} a -> s {forceAssociate = a} :: AssociatePhoneNumbersWithVoiceConnectorGroup)++-- | The Amazon Chime Voice Connector group ID.+associatePhoneNumbersWithVoiceConnectorGroup_voiceConnectorGroupId :: Lens.Lens' AssociatePhoneNumbersWithVoiceConnectorGroup Prelude.Text+associatePhoneNumbersWithVoiceConnectorGroup_voiceConnectorGroupId = Lens.lens (\AssociatePhoneNumbersWithVoiceConnectorGroup' {voiceConnectorGroupId} -> voiceConnectorGroupId) (\s@AssociatePhoneNumbersWithVoiceConnectorGroup' {} a -> s {voiceConnectorGroupId = a} :: AssociatePhoneNumbersWithVoiceConnectorGroup)++-- | List of phone numbers, in E.164 format.+associatePhoneNumbersWithVoiceConnectorGroup_e164PhoneNumbers :: Lens.Lens' AssociatePhoneNumbersWithVoiceConnectorGroup [Prelude.Text]+associatePhoneNumbersWithVoiceConnectorGroup_e164PhoneNumbers = Lens.lens (\AssociatePhoneNumbersWithVoiceConnectorGroup' {e164PhoneNumbers} -> e164PhoneNumbers) (\s@AssociatePhoneNumbersWithVoiceConnectorGroup' {} a -> s {e164PhoneNumbers = a} :: AssociatePhoneNumbersWithVoiceConnectorGroup) Prelude.. Lens.coerced++instance+  Core.AWSRequest+    AssociatePhoneNumbersWithVoiceConnectorGroup+  where+  type+    AWSResponse+      AssociatePhoneNumbersWithVoiceConnectorGroup =+      AssociatePhoneNumbersWithVoiceConnectorGroupResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          AssociatePhoneNumbersWithVoiceConnectorGroupResponse'+            Prelude.<$> ( x+                            Data..?> "PhoneNumberErrors"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    AssociatePhoneNumbersWithVoiceConnectorGroup+  where+  hashWithSalt+    _salt+    AssociatePhoneNumbersWithVoiceConnectorGroup' {..} =+      _salt+        `Prelude.hashWithSalt` forceAssociate+        `Prelude.hashWithSalt` voiceConnectorGroupId+        `Prelude.hashWithSalt` e164PhoneNumbers++instance+  Prelude.NFData+    AssociatePhoneNumbersWithVoiceConnectorGroup+  where+  rnf AssociatePhoneNumbersWithVoiceConnectorGroup' {..} =+    Prelude.rnf forceAssociate+      `Prelude.seq` Prelude.rnf voiceConnectorGroupId+      `Prelude.seq` Prelude.rnf e164PhoneNumbers++instance+  Data.ToHeaders+    AssociatePhoneNumbersWithVoiceConnectorGroup+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToJSON+    AssociatePhoneNumbersWithVoiceConnectorGroup+  where+  toJSON+    AssociatePhoneNumbersWithVoiceConnectorGroup' {..} =+      Data.object+        ( Prelude.catMaybes+            [ ("ForceAssociate" Data..=)+                Prelude.<$> forceAssociate,+              Prelude.Just+                ("E164PhoneNumbers" Data..= e164PhoneNumbers)+            ]+        )++instance+  Data.ToPath+    AssociatePhoneNumbersWithVoiceConnectorGroup+  where+  toPath+    AssociatePhoneNumbersWithVoiceConnectorGroup' {..} =+      Prelude.mconcat+        [ "/voice-connector-groups/",+          Data.toBS voiceConnectorGroupId+        ]++instance+  Data.ToQuery+    AssociatePhoneNumbersWithVoiceConnectorGroup+  where+  toQuery =+    Prelude.const+      ( Prelude.mconcat+          ["operation=associate-phone-numbers"]+      )++-- | /See:/ 'newAssociatePhoneNumbersWithVoiceConnectorGroupResponse' smart constructor.+data AssociatePhoneNumbersWithVoiceConnectorGroupResponse = AssociatePhoneNumbersWithVoiceConnectorGroupResponse'+  { -- | If the action fails for one or more of the phone numbers in the request,+    -- a list of the phone numbers is returned, along with error codes and+    -- error messages.+    phoneNumberErrors :: Prelude.Maybe [PhoneNumberError],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociatePhoneNumbersWithVoiceConnectorGroupResponse' 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:+--+-- 'phoneNumberErrors', 'associatePhoneNumbersWithVoiceConnectorGroupResponse_phoneNumberErrors' - If the action fails for one or more of the phone numbers in the request,+-- a list of the phone numbers is returned, along with error codes and+-- error messages.+--+-- 'httpStatus', 'associatePhoneNumbersWithVoiceConnectorGroupResponse_httpStatus' - The response's http status code.+newAssociatePhoneNumbersWithVoiceConnectorGroupResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  AssociatePhoneNumbersWithVoiceConnectorGroupResponse+newAssociatePhoneNumbersWithVoiceConnectorGroupResponse+  pHttpStatus_ =+    AssociatePhoneNumbersWithVoiceConnectorGroupResponse'+      { phoneNumberErrors =+          Prelude.Nothing,+        httpStatus =+          pHttpStatus_+      }++-- | If the action fails for one or more of the phone numbers in the request,+-- a list of the phone numbers is returned, along with error codes and+-- error messages.+associatePhoneNumbersWithVoiceConnectorGroupResponse_phoneNumberErrors :: Lens.Lens' AssociatePhoneNumbersWithVoiceConnectorGroupResponse (Prelude.Maybe [PhoneNumberError])+associatePhoneNumbersWithVoiceConnectorGroupResponse_phoneNumberErrors = Lens.lens (\AssociatePhoneNumbersWithVoiceConnectorGroupResponse' {phoneNumberErrors} -> phoneNumberErrors) (\s@AssociatePhoneNumbersWithVoiceConnectorGroupResponse' {} a -> s {phoneNumberErrors = a} :: AssociatePhoneNumbersWithVoiceConnectorGroupResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+associatePhoneNumbersWithVoiceConnectorGroupResponse_httpStatus :: Lens.Lens' AssociatePhoneNumbersWithVoiceConnectorGroupResponse Prelude.Int+associatePhoneNumbersWithVoiceConnectorGroupResponse_httpStatus = Lens.lens (\AssociatePhoneNumbersWithVoiceConnectorGroupResponse' {httpStatus} -> httpStatus) (\s@AssociatePhoneNumbersWithVoiceConnectorGroupResponse' {} a -> s {httpStatus = a} :: AssociatePhoneNumbersWithVoiceConnectorGroupResponse)++instance+  Prelude.NFData+    AssociatePhoneNumbersWithVoiceConnectorGroupResponse+  where+  rnf+    AssociatePhoneNumbersWithVoiceConnectorGroupResponse' {..} =+      Prelude.rnf phoneNumberErrors+        `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/AssociateSigninDelegateGroupsWithAccount.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.Chime.AssociateSigninDelegateGroupsWithAccount+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Associates the specified sign-in delegate groups with the specified+-- Amazon Chime account.+module Amazonka.Chime.AssociateSigninDelegateGroupsWithAccount+  ( -- * Creating a Request+    AssociateSigninDelegateGroupsWithAccount (..),+    newAssociateSigninDelegateGroupsWithAccount,++    -- * Request Lenses+    associateSigninDelegateGroupsWithAccount_accountId,+    associateSigninDelegateGroupsWithAccount_signinDelegateGroups,++    -- * Destructuring the Response+    AssociateSigninDelegateGroupsWithAccountResponse (..),+    newAssociateSigninDelegateGroupsWithAccountResponse,++    -- * Response Lenses+    associateSigninDelegateGroupsWithAccountResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newAssociateSigninDelegateGroupsWithAccount' smart constructor.+data AssociateSigninDelegateGroupsWithAccount = AssociateSigninDelegateGroupsWithAccount'+  { -- | The Amazon Chime account ID.+    accountId :: Prelude.Text,+    -- | The sign-in delegate groups.+    signinDelegateGroups :: [SigninDelegateGroup]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateSigninDelegateGroupsWithAccount' 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:+--+-- 'accountId', 'associateSigninDelegateGroupsWithAccount_accountId' - The Amazon Chime account ID.+--+-- 'signinDelegateGroups', 'associateSigninDelegateGroupsWithAccount_signinDelegateGroups' - The sign-in delegate groups.+newAssociateSigninDelegateGroupsWithAccount ::+  -- | 'accountId'+  Prelude.Text ->+  AssociateSigninDelegateGroupsWithAccount+newAssociateSigninDelegateGroupsWithAccount+  pAccountId_ =+    AssociateSigninDelegateGroupsWithAccount'+      { accountId =+          pAccountId_,+        signinDelegateGroups =+          Prelude.mempty+      }++-- | The Amazon Chime account ID.+associateSigninDelegateGroupsWithAccount_accountId :: Lens.Lens' AssociateSigninDelegateGroupsWithAccount Prelude.Text+associateSigninDelegateGroupsWithAccount_accountId = Lens.lens (\AssociateSigninDelegateGroupsWithAccount' {accountId} -> accountId) (\s@AssociateSigninDelegateGroupsWithAccount' {} a -> s {accountId = a} :: AssociateSigninDelegateGroupsWithAccount)++-- | The sign-in delegate groups.+associateSigninDelegateGroupsWithAccount_signinDelegateGroups :: Lens.Lens' AssociateSigninDelegateGroupsWithAccount [SigninDelegateGroup]+associateSigninDelegateGroupsWithAccount_signinDelegateGroups = Lens.lens (\AssociateSigninDelegateGroupsWithAccount' {signinDelegateGroups} -> signinDelegateGroups) (\s@AssociateSigninDelegateGroupsWithAccount' {} a -> s {signinDelegateGroups = a} :: AssociateSigninDelegateGroupsWithAccount) Prelude.. Lens.coerced++instance+  Core.AWSRequest+    AssociateSigninDelegateGroupsWithAccount+  where+  type+    AWSResponse+      AssociateSigninDelegateGroupsWithAccount =+      AssociateSigninDelegateGroupsWithAccountResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          AssociateSigninDelegateGroupsWithAccountResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    AssociateSigninDelegateGroupsWithAccount+  where+  hashWithSalt+    _salt+    AssociateSigninDelegateGroupsWithAccount' {..} =+      _salt+        `Prelude.hashWithSalt` accountId+        `Prelude.hashWithSalt` signinDelegateGroups++instance+  Prelude.NFData+    AssociateSigninDelegateGroupsWithAccount+  where+  rnf AssociateSigninDelegateGroupsWithAccount' {..} =+    Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf signinDelegateGroups++instance+  Data.ToHeaders+    AssociateSigninDelegateGroupsWithAccount+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToJSON+    AssociateSigninDelegateGroupsWithAccount+  where+  toJSON AssociateSigninDelegateGroupsWithAccount' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "SigninDelegateGroups"+                  Data..= signinDelegateGroups+              )+          ]+      )++instance+  Data.ToPath+    AssociateSigninDelegateGroupsWithAccount+  where+  toPath AssociateSigninDelegateGroupsWithAccount' {..} =+    Prelude.mconcat ["/accounts/", Data.toBS accountId]++instance+  Data.ToQuery+    AssociateSigninDelegateGroupsWithAccount+  where+  toQuery =+    Prelude.const+      ( Prelude.mconcat+          ["operation=associate-signin-delegate-groups"]+      )++-- | /See:/ 'newAssociateSigninDelegateGroupsWithAccountResponse' smart constructor.+data AssociateSigninDelegateGroupsWithAccountResponse = AssociateSigninDelegateGroupsWithAccountResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateSigninDelegateGroupsWithAccountResponse' 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', 'associateSigninDelegateGroupsWithAccountResponse_httpStatus' - The response's http status code.+newAssociateSigninDelegateGroupsWithAccountResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  AssociateSigninDelegateGroupsWithAccountResponse+newAssociateSigninDelegateGroupsWithAccountResponse+  pHttpStatus_ =+    AssociateSigninDelegateGroupsWithAccountResponse'+      { httpStatus =+          pHttpStatus_+      }++-- | The response's http status code.+associateSigninDelegateGroupsWithAccountResponse_httpStatus :: Lens.Lens' AssociateSigninDelegateGroupsWithAccountResponse Prelude.Int+associateSigninDelegateGroupsWithAccountResponse_httpStatus = Lens.lens (\AssociateSigninDelegateGroupsWithAccountResponse' {httpStatus} -> httpStatus) (\s@AssociateSigninDelegateGroupsWithAccountResponse' {} a -> s {httpStatus = a} :: AssociateSigninDelegateGroupsWithAccountResponse)++instance+  Prelude.NFData+    AssociateSigninDelegateGroupsWithAccountResponse+  where+  rnf+    AssociateSigninDelegateGroupsWithAccountResponse' {..} =+      Prelude.rnf httpStatus
+ gen/Amazonka/Chime/BatchCreateAttendee.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.Chime.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 new 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.Chime.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.Chime.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 meeting ID.+    meetingId :: Prelude.Text,+    -- | The request containing the attendees to create.+    attendees :: [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 meeting ID.+--+-- 'attendees', 'batchCreateAttendee_attendees' - The request containing the attendees to create.+newBatchCreateAttendee ::+  -- | 'meetingId'+  Prelude.Text ->+  BatchCreateAttendee+newBatchCreateAttendee pMeetingId_ =+  BatchCreateAttendee'+    { meetingId = pMeetingId_,+      attendees = Prelude.mempty+    }++-- | The Amazon Chime SDK meeting ID.+batchCreateAttendee_meetingId :: Lens.Lens' BatchCreateAttendee Prelude.Text+batchCreateAttendee_meetingId = Lens.lens (\BatchCreateAttendee' {meetingId} -> meetingId) (\s@BatchCreateAttendee' {} a -> s {meetingId = a} :: BatchCreateAttendee)++-- | The request containing the attendees to create.+batchCreateAttendee_attendees :: Lens.Lens' BatchCreateAttendee [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/Chime/BatchCreateChannelMembership.hs view
@@ -0,0 +1,245 @@+{-# 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.Chime.BatchCreateChannelMembership+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds a specified number of users to a channel.+module Amazonka.Chime.BatchCreateChannelMembership+  ( -- * Creating a Request+    BatchCreateChannelMembership (..),+    newBatchCreateChannelMembership,++    -- * Request Lenses+    batchCreateChannelMembership_chimeBearer,+    batchCreateChannelMembership_type,+    batchCreateChannelMembership_channelArn,+    batchCreateChannelMembership_memberArns,++    -- * Destructuring the Response+    BatchCreateChannelMembershipResponse (..),+    newBatchCreateChannelMembershipResponse,++    -- * Response Lenses+    batchCreateChannelMembershipResponse_batchChannelMemberships,+    batchCreateChannelMembershipResponse_errors,+    batchCreateChannelMembershipResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newBatchCreateChannelMembership' smart constructor.+data BatchCreateChannelMembership = BatchCreateChannelMembership'+  { -- | The @AppInstanceUserArn@ of the user that makes the API call.+    chimeBearer :: Prelude.Maybe Prelude.Text,+    -- | The membership type of a user, @DEFAULT@ or @HIDDEN@. Default members+    -- are always returned as part of @ListChannelMemberships@. Hidden members+    -- are only returned if the type filter in @ListChannelMemberships@ equals+    -- @HIDDEN@. Otherwise hidden members are not returned. This is only+    -- supported by moderators.+    type' :: Prelude.Maybe ChannelMembershipType,+    -- | The ARN of the channel to which you\'re adding users.+    channelArn :: Prelude.Text,+    -- | The ARNs of the members you want to add to the channel.+    memberArns :: Prelude.NonEmpty Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchCreateChannelMembership' 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:+--+-- 'chimeBearer', 'batchCreateChannelMembership_chimeBearer' - The @AppInstanceUserArn@ of the user that makes the API call.+--+-- 'type'', 'batchCreateChannelMembership_type' - The membership type of a user, @DEFAULT@ or @HIDDEN@. Default members+-- are always returned as part of @ListChannelMemberships@. Hidden members+-- are only returned if the type filter in @ListChannelMemberships@ equals+-- @HIDDEN@. Otherwise hidden members are not returned. This is only+-- supported by moderators.+--+-- 'channelArn', 'batchCreateChannelMembership_channelArn' - The ARN of the channel to which you\'re adding users.+--+-- 'memberArns', 'batchCreateChannelMembership_memberArns' - The ARNs of the members you want to add to the channel.+newBatchCreateChannelMembership ::+  -- | 'channelArn'+  Prelude.Text ->+  -- | 'memberArns'+  Prelude.NonEmpty Prelude.Text ->+  BatchCreateChannelMembership+newBatchCreateChannelMembership+  pChannelArn_+  pMemberArns_ =+    BatchCreateChannelMembership'+      { chimeBearer =+          Prelude.Nothing,+        type' = Prelude.Nothing,+        channelArn = pChannelArn_,+        memberArns = Lens.coerced Lens.# pMemberArns_+      }++-- | The @AppInstanceUserArn@ of the user that makes the API call.+batchCreateChannelMembership_chimeBearer :: Lens.Lens' BatchCreateChannelMembership (Prelude.Maybe Prelude.Text)+batchCreateChannelMembership_chimeBearer = Lens.lens (\BatchCreateChannelMembership' {chimeBearer} -> chimeBearer) (\s@BatchCreateChannelMembership' {} a -> s {chimeBearer = a} :: BatchCreateChannelMembership)++-- | The membership type of a user, @DEFAULT@ or @HIDDEN@. Default members+-- are always returned as part of @ListChannelMemberships@. Hidden members+-- are only returned if the type filter in @ListChannelMemberships@ equals+-- @HIDDEN@. Otherwise hidden members are not returned. This is only+-- supported by moderators.+batchCreateChannelMembership_type :: Lens.Lens' BatchCreateChannelMembership (Prelude.Maybe ChannelMembershipType)+batchCreateChannelMembership_type = Lens.lens (\BatchCreateChannelMembership' {type'} -> type') (\s@BatchCreateChannelMembership' {} a -> s {type' = a} :: BatchCreateChannelMembership)++-- | The ARN of the channel to which you\'re adding users.+batchCreateChannelMembership_channelArn :: Lens.Lens' BatchCreateChannelMembership Prelude.Text+batchCreateChannelMembership_channelArn = Lens.lens (\BatchCreateChannelMembership' {channelArn} -> channelArn) (\s@BatchCreateChannelMembership' {} a -> s {channelArn = a} :: BatchCreateChannelMembership)++-- | The ARNs of the members you want to add to the channel.+batchCreateChannelMembership_memberArns :: Lens.Lens' BatchCreateChannelMembership (Prelude.NonEmpty Prelude.Text)+batchCreateChannelMembership_memberArns = Lens.lens (\BatchCreateChannelMembership' {memberArns} -> memberArns) (\s@BatchCreateChannelMembership' {} a -> s {memberArns = a} :: BatchCreateChannelMembership) Prelude.. Lens.coerced++instance Core.AWSRequest BatchCreateChannelMembership where+  type+    AWSResponse BatchCreateChannelMembership =+      BatchCreateChannelMembershipResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          BatchCreateChannelMembershipResponse'+            Prelude.<$> (x Data..?> "BatchChannelMemberships")+            Prelude.<*> (x Data..?> "Errors" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    BatchCreateChannelMembership+  where+  hashWithSalt _salt BatchCreateChannelMembership' {..} =+    _salt+      `Prelude.hashWithSalt` chimeBearer+      `Prelude.hashWithSalt` type'+      `Prelude.hashWithSalt` channelArn+      `Prelude.hashWithSalt` memberArns++instance Prelude.NFData BatchCreateChannelMembership where+  rnf BatchCreateChannelMembership' {..} =+    Prelude.rnf chimeBearer+      `Prelude.seq` Prelude.rnf type'+      `Prelude.seq` Prelude.rnf channelArn+      `Prelude.seq` Prelude.rnf memberArns++instance Data.ToHeaders BatchCreateChannelMembership where+  toHeaders BatchCreateChannelMembership' {..} =+    Prelude.mconcat+      ["x-amz-chime-bearer" Data.=# chimeBearer]++instance Data.ToJSON BatchCreateChannelMembership where+  toJSON BatchCreateChannelMembership' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Type" Data..=) Prelude.<$> type',+            Prelude.Just ("MemberArns" Data..= memberArns)+          ]+      )++instance Data.ToPath BatchCreateChannelMembership where+  toPath BatchCreateChannelMembership' {..} =+    Prelude.mconcat+      ["/channels/", Data.toBS channelArn, "/memberships"]++instance Data.ToQuery BatchCreateChannelMembership where+  toQuery =+    Prelude.const+      (Prelude.mconcat ["operation=batch-create"])++-- | /See:/ 'newBatchCreateChannelMembershipResponse' smart constructor.+data BatchCreateChannelMembershipResponse = BatchCreateChannelMembershipResponse'+  { -- | The list of channel memberships in the response.+    batchChannelMemberships :: Prelude.Maybe BatchChannelMemberships,+    -- | If the action fails for one or more of the memberships in the request, a+    -- list of the memberships is returned, along with error codes and error+    -- messages.+    errors :: Prelude.Maybe [BatchCreateChannelMembershipError],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchCreateChannelMembershipResponse' 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:+--+-- 'batchChannelMemberships', 'batchCreateChannelMembershipResponse_batchChannelMemberships' - The list of channel memberships in the response.+--+-- 'errors', 'batchCreateChannelMembershipResponse_errors' - If the action fails for one or more of the memberships in the request, a+-- list of the memberships is returned, along with error codes and error+-- messages.+--+-- 'httpStatus', 'batchCreateChannelMembershipResponse_httpStatus' - The response's http status code.+newBatchCreateChannelMembershipResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  BatchCreateChannelMembershipResponse+newBatchCreateChannelMembershipResponse pHttpStatus_ =+  BatchCreateChannelMembershipResponse'+    { batchChannelMemberships =+        Prelude.Nothing,+      errors = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The list of channel memberships in the response.+batchCreateChannelMembershipResponse_batchChannelMemberships :: Lens.Lens' BatchCreateChannelMembershipResponse (Prelude.Maybe BatchChannelMemberships)+batchCreateChannelMembershipResponse_batchChannelMemberships = Lens.lens (\BatchCreateChannelMembershipResponse' {batchChannelMemberships} -> batchChannelMemberships) (\s@BatchCreateChannelMembershipResponse' {} a -> s {batchChannelMemberships = a} :: BatchCreateChannelMembershipResponse)++-- | If the action fails for one or more of the memberships in the request, a+-- list of the memberships is returned, along with error codes and error+-- messages.+batchCreateChannelMembershipResponse_errors :: Lens.Lens' BatchCreateChannelMembershipResponse (Prelude.Maybe [BatchCreateChannelMembershipError])+batchCreateChannelMembershipResponse_errors = Lens.lens (\BatchCreateChannelMembershipResponse' {errors} -> errors) (\s@BatchCreateChannelMembershipResponse' {} a -> s {errors = a} :: BatchCreateChannelMembershipResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+batchCreateChannelMembershipResponse_httpStatus :: Lens.Lens' BatchCreateChannelMembershipResponse Prelude.Int+batchCreateChannelMembershipResponse_httpStatus = Lens.lens (\BatchCreateChannelMembershipResponse' {httpStatus} -> httpStatus) (\s@BatchCreateChannelMembershipResponse' {} a -> s {httpStatus = a} :: BatchCreateChannelMembershipResponse)++instance+  Prelude.NFData+    BatchCreateChannelMembershipResponse+  where+  rnf BatchCreateChannelMembershipResponse' {..} =+    Prelude.rnf batchChannelMemberships+      `Prelude.seq` Prelude.rnf errors+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/BatchCreateRoomMembership.hs view
@@ -0,0 +1,209 @@+{-# 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.Chime.BatchCreateRoomMembership+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds up to 50 members to a chat room in an Amazon Chime Enterprise+-- account. Members can be users or bots. The member role designates+-- whether the member is a chat room administrator or a general chat room+-- member.+module Amazonka.Chime.BatchCreateRoomMembership+  ( -- * Creating a Request+    BatchCreateRoomMembership (..),+    newBatchCreateRoomMembership,++    -- * Request Lenses+    batchCreateRoomMembership_accountId,+    batchCreateRoomMembership_roomId,+    batchCreateRoomMembership_membershipItemList,++    -- * Destructuring the Response+    BatchCreateRoomMembershipResponse (..),+    newBatchCreateRoomMembershipResponse,++    -- * Response Lenses+    batchCreateRoomMembershipResponse_errors,+    batchCreateRoomMembershipResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newBatchCreateRoomMembership' smart constructor.+data BatchCreateRoomMembership = BatchCreateRoomMembership'+  { -- | The Amazon Chime account ID.+    accountId :: Prelude.Text,+    -- | The room ID.+    roomId :: Prelude.Text,+    -- | The list of membership items.+    membershipItemList :: [MembershipItem]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchCreateRoomMembership' 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:+--+-- 'accountId', 'batchCreateRoomMembership_accountId' - The Amazon Chime account ID.+--+-- 'roomId', 'batchCreateRoomMembership_roomId' - The room ID.+--+-- 'membershipItemList', 'batchCreateRoomMembership_membershipItemList' - The list of membership items.+newBatchCreateRoomMembership ::+  -- | 'accountId'+  Prelude.Text ->+  -- | 'roomId'+  Prelude.Text ->+  BatchCreateRoomMembership+newBatchCreateRoomMembership pAccountId_ pRoomId_ =+  BatchCreateRoomMembership'+    { accountId = pAccountId_,+      roomId = pRoomId_,+      membershipItemList = Prelude.mempty+    }++-- | The Amazon Chime account ID.+batchCreateRoomMembership_accountId :: Lens.Lens' BatchCreateRoomMembership Prelude.Text+batchCreateRoomMembership_accountId = Lens.lens (\BatchCreateRoomMembership' {accountId} -> accountId) (\s@BatchCreateRoomMembership' {} a -> s {accountId = a} :: BatchCreateRoomMembership)++-- | The room ID.+batchCreateRoomMembership_roomId :: Lens.Lens' BatchCreateRoomMembership Prelude.Text+batchCreateRoomMembership_roomId = Lens.lens (\BatchCreateRoomMembership' {roomId} -> roomId) (\s@BatchCreateRoomMembership' {} a -> s {roomId = a} :: BatchCreateRoomMembership)++-- | The list of membership items.+batchCreateRoomMembership_membershipItemList :: Lens.Lens' BatchCreateRoomMembership [MembershipItem]+batchCreateRoomMembership_membershipItemList = Lens.lens (\BatchCreateRoomMembership' {membershipItemList} -> membershipItemList) (\s@BatchCreateRoomMembership' {} a -> s {membershipItemList = a} :: BatchCreateRoomMembership) Prelude.. Lens.coerced++instance Core.AWSRequest BatchCreateRoomMembership where+  type+    AWSResponse BatchCreateRoomMembership =+      BatchCreateRoomMembershipResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          BatchCreateRoomMembershipResponse'+            Prelude.<$> (x Data..?> "Errors" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable BatchCreateRoomMembership where+  hashWithSalt _salt BatchCreateRoomMembership' {..} =+    _salt+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` roomId+      `Prelude.hashWithSalt` membershipItemList++instance Prelude.NFData BatchCreateRoomMembership where+  rnf BatchCreateRoomMembership' {..} =+    Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf roomId+      `Prelude.seq` Prelude.rnf membershipItemList++instance Data.ToHeaders BatchCreateRoomMembership where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON BatchCreateRoomMembership where+  toJSON BatchCreateRoomMembership' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("MembershipItemList" Data..= membershipItemList)+          ]+      )++instance Data.ToPath BatchCreateRoomMembership where+  toPath BatchCreateRoomMembership' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS accountId,+        "/rooms/",+        Data.toBS roomId,+        "/memberships"+      ]++instance Data.ToQuery BatchCreateRoomMembership where+  toQuery =+    Prelude.const+      (Prelude.mconcat ["operation=batch-create"])++-- | /See:/ 'newBatchCreateRoomMembershipResponse' smart constructor.+data BatchCreateRoomMembershipResponse = BatchCreateRoomMembershipResponse'+  { -- | If the action fails for one or more of the member IDs in the request, a+    -- list of the member IDs is returned, along with error codes and error+    -- messages.+    errors :: Prelude.Maybe [MemberError],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchCreateRoomMembershipResponse' 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:+--+-- 'errors', 'batchCreateRoomMembershipResponse_errors' - If the action fails for one or more of the member IDs in the request, a+-- list of the member IDs is returned, along with error codes and error+-- messages.+--+-- 'httpStatus', 'batchCreateRoomMembershipResponse_httpStatus' - The response's http status code.+newBatchCreateRoomMembershipResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  BatchCreateRoomMembershipResponse+newBatchCreateRoomMembershipResponse pHttpStatus_ =+  BatchCreateRoomMembershipResponse'+    { errors =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | If the action fails for one or more of the member IDs in the request, a+-- list of the member IDs is returned, along with error codes and error+-- messages.+batchCreateRoomMembershipResponse_errors :: Lens.Lens' BatchCreateRoomMembershipResponse (Prelude.Maybe [MemberError])+batchCreateRoomMembershipResponse_errors = Lens.lens (\BatchCreateRoomMembershipResponse' {errors} -> errors) (\s@BatchCreateRoomMembershipResponse' {} a -> s {errors = a} :: BatchCreateRoomMembershipResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+batchCreateRoomMembershipResponse_httpStatus :: Lens.Lens' BatchCreateRoomMembershipResponse Prelude.Int+batchCreateRoomMembershipResponse_httpStatus = Lens.lens (\BatchCreateRoomMembershipResponse' {httpStatus} -> httpStatus) (\s@BatchCreateRoomMembershipResponse' {} a -> s {httpStatus = a} :: BatchCreateRoomMembershipResponse)++instance+  Prelude.NFData+    BatchCreateRoomMembershipResponse+  where+  rnf BatchCreateRoomMembershipResponse' {..} =+    Prelude.rnf errors+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/BatchDeletePhoneNumber.hs view
@@ -0,0 +1,181 @@+{-# 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.Chime.BatchDeletePhoneNumber+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Moves phone numbers into the __Deletion queue__. Phone numbers must be+-- disassociated from any users or Amazon Chime Voice Connectors before+-- they can be deleted.+--+-- Phone numbers remain in the __Deletion queue__ for 7 days before they+-- are deleted permanently.+module Amazonka.Chime.BatchDeletePhoneNumber+  ( -- * Creating a Request+    BatchDeletePhoneNumber (..),+    newBatchDeletePhoneNumber,++    -- * Request Lenses+    batchDeletePhoneNumber_phoneNumberIds,++    -- * Destructuring the Response+    BatchDeletePhoneNumberResponse (..),+    newBatchDeletePhoneNumberResponse,++    -- * Response Lenses+    batchDeletePhoneNumberResponse_phoneNumberErrors,+    batchDeletePhoneNumberResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newBatchDeletePhoneNumber' smart constructor.+data BatchDeletePhoneNumber = BatchDeletePhoneNumber'+  { -- | List of phone number IDs.+    phoneNumberIds :: Prelude.NonEmpty Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchDeletePhoneNumber' 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:+--+-- 'phoneNumberIds', 'batchDeletePhoneNumber_phoneNumberIds' - List of phone number IDs.+newBatchDeletePhoneNumber ::+  -- | 'phoneNumberIds'+  Prelude.NonEmpty Prelude.Text ->+  BatchDeletePhoneNumber+newBatchDeletePhoneNumber pPhoneNumberIds_ =+  BatchDeletePhoneNumber'+    { phoneNumberIds =+        Lens.coerced Lens.# pPhoneNumberIds_+    }++-- | List of phone number IDs.+batchDeletePhoneNumber_phoneNumberIds :: Lens.Lens' BatchDeletePhoneNumber (Prelude.NonEmpty Prelude.Text)+batchDeletePhoneNumber_phoneNumberIds = Lens.lens (\BatchDeletePhoneNumber' {phoneNumberIds} -> phoneNumberIds) (\s@BatchDeletePhoneNumber' {} a -> s {phoneNumberIds = a} :: BatchDeletePhoneNumber) Prelude.. Lens.coerced++instance Core.AWSRequest BatchDeletePhoneNumber where+  type+    AWSResponse BatchDeletePhoneNumber =+      BatchDeletePhoneNumberResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          BatchDeletePhoneNumberResponse'+            Prelude.<$> ( x+                            Data..?> "PhoneNumberErrors"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable BatchDeletePhoneNumber where+  hashWithSalt _salt BatchDeletePhoneNumber' {..} =+    _salt `Prelude.hashWithSalt` phoneNumberIds++instance Prelude.NFData BatchDeletePhoneNumber where+  rnf BatchDeletePhoneNumber' {..} =+    Prelude.rnf phoneNumberIds++instance Data.ToHeaders BatchDeletePhoneNumber where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON BatchDeletePhoneNumber where+  toJSON BatchDeletePhoneNumber' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("PhoneNumberIds" Data..= phoneNumberIds)+          ]+      )++instance Data.ToPath BatchDeletePhoneNumber where+  toPath = Prelude.const "/phone-numbers"++instance Data.ToQuery BatchDeletePhoneNumber where+  toQuery =+    Prelude.const+      (Prelude.mconcat ["operation=batch-delete"])++-- | /See:/ 'newBatchDeletePhoneNumberResponse' smart constructor.+data BatchDeletePhoneNumberResponse = BatchDeletePhoneNumberResponse'+  { -- | If the action fails for one or more of the phone numbers in the request,+    -- a list of the phone numbers is returned, along with error codes and+    -- error messages.+    phoneNumberErrors :: Prelude.Maybe [PhoneNumberError],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchDeletePhoneNumberResponse' 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:+--+-- 'phoneNumberErrors', 'batchDeletePhoneNumberResponse_phoneNumberErrors' - If the action fails for one or more of the phone numbers in the request,+-- a list of the phone numbers is returned, along with error codes and+-- error messages.+--+-- 'httpStatus', 'batchDeletePhoneNumberResponse_httpStatus' - The response's http status code.+newBatchDeletePhoneNumberResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  BatchDeletePhoneNumberResponse+newBatchDeletePhoneNumberResponse pHttpStatus_ =+  BatchDeletePhoneNumberResponse'+    { phoneNumberErrors =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | If the action fails for one or more of the phone numbers in the request,+-- a list of the phone numbers is returned, along with error codes and+-- error messages.+batchDeletePhoneNumberResponse_phoneNumberErrors :: Lens.Lens' BatchDeletePhoneNumberResponse (Prelude.Maybe [PhoneNumberError])+batchDeletePhoneNumberResponse_phoneNumberErrors = Lens.lens (\BatchDeletePhoneNumberResponse' {phoneNumberErrors} -> phoneNumberErrors) (\s@BatchDeletePhoneNumberResponse' {} a -> s {phoneNumberErrors = a} :: BatchDeletePhoneNumberResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+batchDeletePhoneNumberResponse_httpStatus :: Lens.Lens' BatchDeletePhoneNumberResponse Prelude.Int+batchDeletePhoneNumberResponse_httpStatus = Lens.lens (\BatchDeletePhoneNumberResponse' {httpStatus} -> httpStatus) (\s@BatchDeletePhoneNumberResponse' {} a -> s {httpStatus = a} :: BatchDeletePhoneNumberResponse)++instance+  Prelude.NFData+    BatchDeletePhoneNumberResponse+  where+  rnf BatchDeletePhoneNumberResponse' {..} =+    Prelude.rnf phoneNumberErrors+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/BatchSuspendUser.hs view
@@ -0,0 +1,198 @@+{-# 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.Chime.BatchSuspendUser+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Suspends up to 50 users from a @Team@ or @EnterpriseLWA@ Amazon Chime+-- account. For more information about different account types, see+-- <https://docs.aws.amazon.com/chime/latest/ag/manage-chime-account.html Managing Your Amazon Chime Accounts>+-- in the /Amazon Chime Administration Guide/.+--+-- Users suspended from a @Team@ account are disassociated from the+-- account,but they can continue to use Amazon Chime as free users. To+-- remove the suspension from suspended @Team@ account users, invite them+-- to the @Team@ account again. You can use the InviteUsers action to do+-- so.+--+-- Users suspended from an @EnterpriseLWA@ account are immediately signed+-- out of Amazon Chime and can no longer sign in. To remove the suspension+-- from suspended @EnterpriseLWA@ account users, use the BatchUnsuspendUser+-- action.+--+-- To sign out users without suspending them, use the LogoutUser action.+module Amazonka.Chime.BatchSuspendUser+  ( -- * Creating a Request+    BatchSuspendUser (..),+    newBatchSuspendUser,++    -- * Request Lenses+    batchSuspendUser_accountId,+    batchSuspendUser_userIdList,++    -- * Destructuring the Response+    BatchSuspendUserResponse (..),+    newBatchSuspendUserResponse,++    -- * Response Lenses+    batchSuspendUserResponse_userErrors,+    batchSuspendUserResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newBatchSuspendUser' smart constructor.+data BatchSuspendUser = BatchSuspendUser'+  { -- | The Amazon Chime account ID.+    accountId :: Prelude.Text,+    -- | The request containing the user IDs to suspend.+    userIdList :: [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchSuspendUser' 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:+--+-- 'accountId', 'batchSuspendUser_accountId' - The Amazon Chime account ID.+--+-- 'userIdList', 'batchSuspendUser_userIdList' - The request containing the user IDs to suspend.+newBatchSuspendUser ::+  -- | 'accountId'+  Prelude.Text ->+  BatchSuspendUser+newBatchSuspendUser pAccountId_ =+  BatchSuspendUser'+    { accountId = pAccountId_,+      userIdList = Prelude.mempty+    }++-- | The Amazon Chime account ID.+batchSuspendUser_accountId :: Lens.Lens' BatchSuspendUser Prelude.Text+batchSuspendUser_accountId = Lens.lens (\BatchSuspendUser' {accountId} -> accountId) (\s@BatchSuspendUser' {} a -> s {accountId = a} :: BatchSuspendUser)++-- | The request containing the user IDs to suspend.+batchSuspendUser_userIdList :: Lens.Lens' BatchSuspendUser [Prelude.Text]+batchSuspendUser_userIdList = Lens.lens (\BatchSuspendUser' {userIdList} -> userIdList) (\s@BatchSuspendUser' {} a -> s {userIdList = a} :: BatchSuspendUser) Prelude.. Lens.coerced++instance Core.AWSRequest BatchSuspendUser where+  type+    AWSResponse BatchSuspendUser =+      BatchSuspendUserResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          BatchSuspendUserResponse'+            Prelude.<$> (x Data..?> "UserErrors" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable BatchSuspendUser where+  hashWithSalt _salt BatchSuspendUser' {..} =+    _salt+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` userIdList++instance Prelude.NFData BatchSuspendUser where+  rnf BatchSuspendUser' {..} =+    Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf userIdList++instance Data.ToHeaders BatchSuspendUser where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON BatchSuspendUser where+  toJSON BatchSuspendUser' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("UserIdList" Data..= userIdList)]+      )++instance Data.ToPath BatchSuspendUser where+  toPath BatchSuspendUser' {..} =+    Prelude.mconcat+      ["/accounts/", Data.toBS accountId, "/users"]++instance Data.ToQuery BatchSuspendUser where+  toQuery =+    Prelude.const+      (Prelude.mconcat ["operation=suspend"])++-- | /See:/ 'newBatchSuspendUserResponse' smart constructor.+data BatchSuspendUserResponse = BatchSuspendUserResponse'+  { -- | If the BatchSuspendUser action fails for one or more of the user IDs in+    -- the request, a list of the user IDs is returned, along with error codes+    -- and error messages.+    userErrors :: Prelude.Maybe [UserError],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchSuspendUserResponse' 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:+--+-- 'userErrors', 'batchSuspendUserResponse_userErrors' - If the BatchSuspendUser action fails for one or more of the user IDs in+-- the request, a list of the user IDs is returned, along with error codes+-- and error messages.+--+-- 'httpStatus', 'batchSuspendUserResponse_httpStatus' - The response's http status code.+newBatchSuspendUserResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  BatchSuspendUserResponse+newBatchSuspendUserResponse pHttpStatus_ =+  BatchSuspendUserResponse'+    { userErrors =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | If the BatchSuspendUser action fails for one or more of the user IDs in+-- the request, a list of the user IDs is returned, along with error codes+-- and error messages.+batchSuspendUserResponse_userErrors :: Lens.Lens' BatchSuspendUserResponse (Prelude.Maybe [UserError])+batchSuspendUserResponse_userErrors = Lens.lens (\BatchSuspendUserResponse' {userErrors} -> userErrors) (\s@BatchSuspendUserResponse' {} a -> s {userErrors = a} :: BatchSuspendUserResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+batchSuspendUserResponse_httpStatus :: Lens.Lens' BatchSuspendUserResponse Prelude.Int+batchSuspendUserResponse_httpStatus = Lens.lens (\BatchSuspendUserResponse' {httpStatus} -> httpStatus) (\s@BatchSuspendUserResponse' {} a -> s {httpStatus = a} :: BatchSuspendUserResponse)++instance Prelude.NFData BatchSuspendUserResponse where+  rnf BatchSuspendUserResponse' {..} =+    Prelude.rnf userErrors+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/BatchUnsuspendUser.hs view
@@ -0,0 +1,191 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Chime.BatchUnsuspendUser+-- 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 suspension from up to 50 previously suspended users for the+-- specified Amazon Chime @EnterpriseLWA@ account. Only users on+-- @EnterpriseLWA@ accounts can be unsuspended using this action. For more+-- information about different account types, see+-- <https://docs.aws.amazon.com/chime/latest/ag/manage-chime-account.html Managing Your Amazon Chime Accounts>+-- in the account types, in the /Amazon Chime Administration Guide/.+--+-- Previously suspended users who are unsuspended using this action are+-- returned to @Registered@ status. Users who are not previously suspended+-- are ignored.+module Amazonka.Chime.BatchUnsuspendUser+  ( -- * Creating a Request+    BatchUnsuspendUser (..),+    newBatchUnsuspendUser,++    -- * Request Lenses+    batchUnsuspendUser_accountId,+    batchUnsuspendUser_userIdList,++    -- * Destructuring the Response+    BatchUnsuspendUserResponse (..),+    newBatchUnsuspendUserResponse,++    -- * Response Lenses+    batchUnsuspendUserResponse_userErrors,+    batchUnsuspendUserResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newBatchUnsuspendUser' smart constructor.+data BatchUnsuspendUser = BatchUnsuspendUser'+  { -- | The Amazon Chime account ID.+    accountId :: Prelude.Text,+    -- | The request containing the user IDs to unsuspend.+    userIdList :: [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchUnsuspendUser' 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:+--+-- 'accountId', 'batchUnsuspendUser_accountId' - The Amazon Chime account ID.+--+-- 'userIdList', 'batchUnsuspendUser_userIdList' - The request containing the user IDs to unsuspend.+newBatchUnsuspendUser ::+  -- | 'accountId'+  Prelude.Text ->+  BatchUnsuspendUser+newBatchUnsuspendUser pAccountId_ =+  BatchUnsuspendUser'+    { accountId = pAccountId_,+      userIdList = Prelude.mempty+    }++-- | The Amazon Chime account ID.+batchUnsuspendUser_accountId :: Lens.Lens' BatchUnsuspendUser Prelude.Text+batchUnsuspendUser_accountId = Lens.lens (\BatchUnsuspendUser' {accountId} -> accountId) (\s@BatchUnsuspendUser' {} a -> s {accountId = a} :: BatchUnsuspendUser)++-- | The request containing the user IDs to unsuspend.+batchUnsuspendUser_userIdList :: Lens.Lens' BatchUnsuspendUser [Prelude.Text]+batchUnsuspendUser_userIdList = Lens.lens (\BatchUnsuspendUser' {userIdList} -> userIdList) (\s@BatchUnsuspendUser' {} a -> s {userIdList = a} :: BatchUnsuspendUser) Prelude.. Lens.coerced++instance Core.AWSRequest BatchUnsuspendUser where+  type+    AWSResponse BatchUnsuspendUser =+      BatchUnsuspendUserResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          BatchUnsuspendUserResponse'+            Prelude.<$> (x Data..?> "UserErrors" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable BatchUnsuspendUser where+  hashWithSalt _salt BatchUnsuspendUser' {..} =+    _salt+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` userIdList++instance Prelude.NFData BatchUnsuspendUser where+  rnf BatchUnsuspendUser' {..} =+    Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf userIdList++instance Data.ToHeaders BatchUnsuspendUser where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON BatchUnsuspendUser where+  toJSON BatchUnsuspendUser' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("UserIdList" Data..= userIdList)]+      )++instance Data.ToPath BatchUnsuspendUser where+  toPath BatchUnsuspendUser' {..} =+    Prelude.mconcat+      ["/accounts/", Data.toBS accountId, "/users"]++instance Data.ToQuery BatchUnsuspendUser where+  toQuery =+    Prelude.const+      (Prelude.mconcat ["operation=unsuspend"])++-- | /See:/ 'newBatchUnsuspendUserResponse' smart constructor.+data BatchUnsuspendUserResponse = BatchUnsuspendUserResponse'+  { -- | If the BatchUnsuspendUser action fails for one or more of the user IDs+    -- in the request, a list of the user IDs is returned, along with error+    -- codes and error messages.+    userErrors :: Prelude.Maybe [UserError],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchUnsuspendUserResponse' 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:+--+-- 'userErrors', 'batchUnsuspendUserResponse_userErrors' - If the BatchUnsuspendUser action fails for one or more of the user IDs+-- in the request, a list of the user IDs is returned, along with error+-- codes and error messages.+--+-- 'httpStatus', 'batchUnsuspendUserResponse_httpStatus' - The response's http status code.+newBatchUnsuspendUserResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  BatchUnsuspendUserResponse+newBatchUnsuspendUserResponse pHttpStatus_ =+  BatchUnsuspendUserResponse'+    { userErrors =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | If the BatchUnsuspendUser action fails for one or more of the user IDs+-- in the request, a list of the user IDs is returned, along with error+-- codes and error messages.+batchUnsuspendUserResponse_userErrors :: Lens.Lens' BatchUnsuspendUserResponse (Prelude.Maybe [UserError])+batchUnsuspendUserResponse_userErrors = Lens.lens (\BatchUnsuspendUserResponse' {userErrors} -> userErrors) (\s@BatchUnsuspendUserResponse' {} a -> s {userErrors = a} :: BatchUnsuspendUserResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+batchUnsuspendUserResponse_httpStatus :: Lens.Lens' BatchUnsuspendUserResponse Prelude.Int+batchUnsuspendUserResponse_httpStatus = Lens.lens (\BatchUnsuspendUserResponse' {httpStatus} -> httpStatus) (\s@BatchUnsuspendUserResponse' {} a -> s {httpStatus = a} :: BatchUnsuspendUserResponse)++instance Prelude.NFData BatchUnsuspendUserResponse where+  rnf BatchUnsuspendUserResponse' {..} =+    Prelude.rnf userErrors+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/BatchUpdatePhoneNumber.hs view
@@ -0,0 +1,190 @@+{-# 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.Chime.BatchUpdatePhoneNumber+-- 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 phone number product types or calling names. You can update one+-- attribute at a time for each @UpdatePhoneNumberRequestItem@. For+-- example, you can update the product type or the calling name.+--+-- For toll-free numbers, you cannot use the Amazon Chime Business Calling+-- product type. For numbers outside the U.S., you must use the Amazon+-- Chime SIP Media Application Dial-In product type.+--+-- Updates to outbound calling names can take up to 72 hours to complete.+-- Pending updates to outbound calling names must be complete before you+-- can request another update.+module Amazonka.Chime.BatchUpdatePhoneNumber+  ( -- * Creating a Request+    BatchUpdatePhoneNumber (..),+    newBatchUpdatePhoneNumber,++    -- * Request Lenses+    batchUpdatePhoneNumber_updatePhoneNumberRequestItems,++    -- * Destructuring the Response+    BatchUpdatePhoneNumberResponse (..),+    newBatchUpdatePhoneNumberResponse,++    -- * Response Lenses+    batchUpdatePhoneNumberResponse_phoneNumberErrors,+    batchUpdatePhoneNumberResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newBatchUpdatePhoneNumber' smart constructor.+data BatchUpdatePhoneNumber = BatchUpdatePhoneNumber'+  { -- | The request containing the phone number IDs and product types or calling+    -- names to update.+    updatePhoneNumberRequestItems :: [UpdatePhoneNumberRequestItem]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchUpdatePhoneNumber' 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:+--+-- 'updatePhoneNumberRequestItems', 'batchUpdatePhoneNumber_updatePhoneNumberRequestItems' - The request containing the phone number IDs and product types or calling+-- names to update.+newBatchUpdatePhoneNumber ::+  BatchUpdatePhoneNumber+newBatchUpdatePhoneNumber =+  BatchUpdatePhoneNumber'+    { updatePhoneNumberRequestItems =+        Prelude.mempty+    }++-- | The request containing the phone number IDs and product types or calling+-- names to update.+batchUpdatePhoneNumber_updatePhoneNumberRequestItems :: Lens.Lens' BatchUpdatePhoneNumber [UpdatePhoneNumberRequestItem]+batchUpdatePhoneNumber_updatePhoneNumberRequestItems = Lens.lens (\BatchUpdatePhoneNumber' {updatePhoneNumberRequestItems} -> updatePhoneNumberRequestItems) (\s@BatchUpdatePhoneNumber' {} a -> s {updatePhoneNumberRequestItems = a} :: BatchUpdatePhoneNumber) Prelude.. Lens.coerced++instance Core.AWSRequest BatchUpdatePhoneNumber where+  type+    AWSResponse BatchUpdatePhoneNumber =+      BatchUpdatePhoneNumberResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          BatchUpdatePhoneNumberResponse'+            Prelude.<$> ( x+                            Data..?> "PhoneNumberErrors"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable BatchUpdatePhoneNumber where+  hashWithSalt _salt BatchUpdatePhoneNumber' {..} =+    _salt+      `Prelude.hashWithSalt` updatePhoneNumberRequestItems++instance Prelude.NFData BatchUpdatePhoneNumber where+  rnf BatchUpdatePhoneNumber' {..} =+    Prelude.rnf updatePhoneNumberRequestItems++instance Data.ToHeaders BatchUpdatePhoneNumber where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON BatchUpdatePhoneNumber where+  toJSON BatchUpdatePhoneNumber' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "UpdatePhoneNumberRequestItems"+                  Data..= updatePhoneNumberRequestItems+              )+          ]+      )++instance Data.ToPath BatchUpdatePhoneNumber where+  toPath = Prelude.const "/phone-numbers"++instance Data.ToQuery BatchUpdatePhoneNumber where+  toQuery =+    Prelude.const+      (Prelude.mconcat ["operation=batch-update"])++-- | /See:/ 'newBatchUpdatePhoneNumberResponse' smart constructor.+data BatchUpdatePhoneNumberResponse = BatchUpdatePhoneNumberResponse'+  { -- | If the action fails for one or more of the phone numbers in the request,+    -- a list of the phone numbers is returned, along with error codes and+    -- error messages.+    phoneNumberErrors :: Prelude.Maybe [PhoneNumberError],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchUpdatePhoneNumberResponse' 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:+--+-- 'phoneNumberErrors', 'batchUpdatePhoneNumberResponse_phoneNumberErrors' - If the action fails for one or more of the phone numbers in the request,+-- a list of the phone numbers is returned, along with error codes and+-- error messages.+--+-- 'httpStatus', 'batchUpdatePhoneNumberResponse_httpStatus' - The response's http status code.+newBatchUpdatePhoneNumberResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  BatchUpdatePhoneNumberResponse+newBatchUpdatePhoneNumberResponse pHttpStatus_ =+  BatchUpdatePhoneNumberResponse'+    { phoneNumberErrors =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | If the action fails for one or more of the phone numbers in the request,+-- a list of the phone numbers is returned, along with error codes and+-- error messages.+batchUpdatePhoneNumberResponse_phoneNumberErrors :: Lens.Lens' BatchUpdatePhoneNumberResponse (Prelude.Maybe [PhoneNumberError])+batchUpdatePhoneNumberResponse_phoneNumberErrors = Lens.lens (\BatchUpdatePhoneNumberResponse' {phoneNumberErrors} -> phoneNumberErrors) (\s@BatchUpdatePhoneNumberResponse' {} a -> s {phoneNumberErrors = a} :: BatchUpdatePhoneNumberResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+batchUpdatePhoneNumberResponse_httpStatus :: Lens.Lens' BatchUpdatePhoneNumberResponse Prelude.Int+batchUpdatePhoneNumberResponse_httpStatus = Lens.lens (\BatchUpdatePhoneNumberResponse' {httpStatus} -> httpStatus) (\s@BatchUpdatePhoneNumberResponse' {} a -> s {httpStatus = a} :: BatchUpdatePhoneNumberResponse)++instance+  Prelude.NFData+    BatchUpdatePhoneNumberResponse+  where+  rnf BatchUpdatePhoneNumberResponse' {..} =+    Prelude.rnf phoneNumberErrors+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/BatchUpdateUser.hs view
@@ -0,0 +1,186 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Chime.BatchUpdateUser+-- 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 user details within the UpdateUserRequestItem object for up to+-- 20 users for the specified Amazon Chime account. Currently, only+-- @LicenseType@ updates are supported for this action.+module Amazonka.Chime.BatchUpdateUser+  ( -- * Creating a Request+    BatchUpdateUser (..),+    newBatchUpdateUser,++    -- * Request Lenses+    batchUpdateUser_accountId,+    batchUpdateUser_updateUserRequestItems,++    -- * Destructuring the Response+    BatchUpdateUserResponse (..),+    newBatchUpdateUserResponse,++    -- * Response Lenses+    batchUpdateUserResponse_userErrors,+    batchUpdateUserResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newBatchUpdateUser' smart constructor.+data BatchUpdateUser = BatchUpdateUser'+  { -- | The Amazon Chime account ID.+    accountId :: Prelude.Text,+    -- | The request containing the user IDs and details to update.+    updateUserRequestItems :: [UpdateUserRequestItem]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchUpdateUser' 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:+--+-- 'accountId', 'batchUpdateUser_accountId' - The Amazon Chime account ID.+--+-- 'updateUserRequestItems', 'batchUpdateUser_updateUserRequestItems' - The request containing the user IDs and details to update.+newBatchUpdateUser ::+  -- | 'accountId'+  Prelude.Text ->+  BatchUpdateUser+newBatchUpdateUser pAccountId_ =+  BatchUpdateUser'+    { accountId = pAccountId_,+      updateUserRequestItems = Prelude.mempty+    }++-- | The Amazon Chime account ID.+batchUpdateUser_accountId :: Lens.Lens' BatchUpdateUser Prelude.Text+batchUpdateUser_accountId = Lens.lens (\BatchUpdateUser' {accountId} -> accountId) (\s@BatchUpdateUser' {} a -> s {accountId = a} :: BatchUpdateUser)++-- | The request containing the user IDs and details to update.+batchUpdateUser_updateUserRequestItems :: Lens.Lens' BatchUpdateUser [UpdateUserRequestItem]+batchUpdateUser_updateUserRequestItems = Lens.lens (\BatchUpdateUser' {updateUserRequestItems} -> updateUserRequestItems) (\s@BatchUpdateUser' {} a -> s {updateUserRequestItems = a} :: BatchUpdateUser) Prelude.. Lens.coerced++instance Core.AWSRequest BatchUpdateUser where+  type+    AWSResponse BatchUpdateUser =+      BatchUpdateUserResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          BatchUpdateUserResponse'+            Prelude.<$> (x Data..?> "UserErrors" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable BatchUpdateUser where+  hashWithSalt _salt BatchUpdateUser' {..} =+    _salt+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` updateUserRequestItems++instance Prelude.NFData BatchUpdateUser where+  rnf BatchUpdateUser' {..} =+    Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf updateUserRequestItems++instance Data.ToHeaders BatchUpdateUser where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON BatchUpdateUser where+  toJSON BatchUpdateUser' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "UpdateUserRequestItems"+                  Data..= updateUserRequestItems+              )+          ]+      )++instance Data.ToPath BatchUpdateUser where+  toPath BatchUpdateUser' {..} =+    Prelude.mconcat+      ["/accounts/", Data.toBS accountId, "/users"]++instance Data.ToQuery BatchUpdateUser where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newBatchUpdateUserResponse' smart constructor.+data BatchUpdateUserResponse = BatchUpdateUserResponse'+  { -- | If the BatchUpdateUser action fails for one or more of the user IDs in+    -- the request, a list of the user IDs is returned, along with error codes+    -- and error messages.+    userErrors :: Prelude.Maybe [UserError],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchUpdateUserResponse' 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:+--+-- 'userErrors', 'batchUpdateUserResponse_userErrors' - If the BatchUpdateUser action fails for one or more of the user IDs in+-- the request, a list of the user IDs is returned, along with error codes+-- and error messages.+--+-- 'httpStatus', 'batchUpdateUserResponse_httpStatus' - The response's http status code.+newBatchUpdateUserResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  BatchUpdateUserResponse+newBatchUpdateUserResponse pHttpStatus_ =+  BatchUpdateUserResponse'+    { userErrors =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | If the BatchUpdateUser action fails for one or more of the user IDs in+-- the request, a list of the user IDs is returned, along with error codes+-- and error messages.+batchUpdateUserResponse_userErrors :: Lens.Lens' BatchUpdateUserResponse (Prelude.Maybe [UserError])+batchUpdateUserResponse_userErrors = Lens.lens (\BatchUpdateUserResponse' {userErrors} -> userErrors) (\s@BatchUpdateUserResponse' {} a -> s {userErrors = a} :: BatchUpdateUserResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+batchUpdateUserResponse_httpStatus :: Lens.Lens' BatchUpdateUserResponse Prelude.Int+batchUpdateUserResponse_httpStatus = Lens.lens (\BatchUpdateUserResponse' {httpStatus} -> httpStatus) (\s@BatchUpdateUserResponse' {} a -> s {httpStatus = a} :: BatchUpdateUserResponse)++instance Prelude.NFData BatchUpdateUserResponse where+  rnf BatchUpdateUserResponse' {..} =+    Prelude.rnf userErrors+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/CreateAccount.hs view
@@ -0,0 +1,159 @@+{-# 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.Chime.CreateAccount+-- 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 an Amazon Chime account under the administrator\'s AWS account.+-- Only @Team@ account types are currently supported for this action. For+-- more information about different account types, see+-- <https://docs.aws.amazon.com/chime/latest/ag/manage-chime-account.html Managing Your Amazon Chime Accounts>+-- in the /Amazon Chime Administration Guide/.+module Amazonka.Chime.CreateAccount+  ( -- * Creating a Request+    CreateAccount (..),+    newCreateAccount,++    -- * Request Lenses+    createAccount_name,++    -- * Destructuring the Response+    CreateAccountResponse (..),+    newCreateAccountResponse,++    -- * Response Lenses+    createAccountResponse_account,+    createAccountResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newCreateAccount' smart constructor.+data CreateAccount = CreateAccount'+  { -- | The name of the Amazon Chime account.+    name :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAccount' 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:+--+-- 'name', 'createAccount_name' - The name of the Amazon Chime account.+newCreateAccount ::+  -- | 'name'+  Prelude.Text ->+  CreateAccount+newCreateAccount pName_ =+  CreateAccount' {name = pName_}++-- | The name of the Amazon Chime account.+createAccount_name :: Lens.Lens' CreateAccount Prelude.Text+createAccount_name = Lens.lens (\CreateAccount' {name} -> name) (\s@CreateAccount' {} a -> s {name = a} :: CreateAccount)++instance Core.AWSRequest CreateAccount where+  type+    AWSResponse CreateAccount =+      CreateAccountResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateAccountResponse'+            Prelude.<$> (x Data..?> "Account")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateAccount where+  hashWithSalt _salt CreateAccount' {..} =+    _salt `Prelude.hashWithSalt` name++instance Prelude.NFData CreateAccount where+  rnf CreateAccount' {..} = Prelude.rnf name++instance Data.ToHeaders CreateAccount where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON CreateAccount where+  toJSON CreateAccount' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("Name" Data..= name)]+      )++instance Data.ToPath CreateAccount where+  toPath = Prelude.const "/accounts"++instance Data.ToQuery CreateAccount where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateAccountResponse' smart constructor.+data CreateAccountResponse = CreateAccountResponse'+  { -- | The Amazon Chime account details.+    account :: Prelude.Maybe Account,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAccountResponse' 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:+--+-- 'account', 'createAccountResponse_account' - The Amazon Chime account details.+--+-- 'httpStatus', 'createAccountResponse_httpStatus' - The response's http status code.+newCreateAccountResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateAccountResponse+newCreateAccountResponse pHttpStatus_ =+  CreateAccountResponse'+    { account = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Chime account details.+createAccountResponse_account :: Lens.Lens' CreateAccountResponse (Prelude.Maybe Account)+createAccountResponse_account = Lens.lens (\CreateAccountResponse' {account} -> account) (\s@CreateAccountResponse' {} a -> s {account = a} :: CreateAccountResponse)++-- | The response's http status code.+createAccountResponse_httpStatus :: Lens.Lens' CreateAccountResponse Prelude.Int+createAccountResponse_httpStatus = Lens.lens (\CreateAccountResponse' {httpStatus} -> httpStatus) (\s@CreateAccountResponse' {} a -> s {httpStatus = a} :: CreateAccountResponse)++instance Prelude.NFData CreateAccountResponse where+  rnf CreateAccountResponse' {..} =+    Prelude.rnf account+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/CreateAppInstance.hs view
@@ -0,0 +1,206 @@+{-# 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.Chime.CreateAppInstance+-- 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 an Amazon Chime SDK messaging @AppInstance@ under an AWS+-- account. Only SDK messaging customers use this API. @CreateAppInstance@+-- supports idempotency behavior as described in the AWS API Standard.+module Amazonka.Chime.CreateAppInstance+  ( -- * Creating a Request+    CreateAppInstance (..),+    newCreateAppInstance,++    -- * Request Lenses+    createAppInstance_metadata,+    createAppInstance_tags,+    createAppInstance_name,+    createAppInstance_clientRequestToken,++    -- * Destructuring the Response+    CreateAppInstanceResponse (..),+    newCreateAppInstanceResponse,++    -- * Response Lenses+    createAppInstanceResponse_appInstanceArn,+    createAppInstanceResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newCreateAppInstance' smart constructor.+data CreateAppInstance = CreateAppInstance'+  { -- | The metadata of the @AppInstance@. Limited to a 1KB string in UTF-8.+    metadata :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | Tags assigned to the @AppInstance@.+    tags :: Prelude.Maybe (Prelude.NonEmpty Tag),+    -- | The name of the @AppInstance@.+    name :: Data.Sensitive Prelude.Text,+    -- | The @ClientRequestToken@ of the @AppInstance@.+    clientRequestToken :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAppInstance' 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:+--+-- 'metadata', 'createAppInstance_metadata' - The metadata of the @AppInstance@. Limited to a 1KB string in UTF-8.+--+-- 'tags', 'createAppInstance_tags' - Tags assigned to the @AppInstance@.+--+-- 'name', 'createAppInstance_name' - The name of the @AppInstance@.+--+-- 'clientRequestToken', 'createAppInstance_clientRequestToken' - The @ClientRequestToken@ of the @AppInstance@.+newCreateAppInstance ::+  -- | 'name'+  Prelude.Text ->+  -- | 'clientRequestToken'+  Prelude.Text ->+  CreateAppInstance+newCreateAppInstance pName_ pClientRequestToken_ =+  CreateAppInstance'+    { metadata = Prelude.Nothing,+      tags = Prelude.Nothing,+      name = Data._Sensitive Lens.# pName_,+      clientRequestToken =+        Data._Sensitive Lens.# pClientRequestToken_+    }++-- | The metadata of the @AppInstance@. Limited to a 1KB string in UTF-8.+createAppInstance_metadata :: Lens.Lens' CreateAppInstance (Prelude.Maybe Prelude.Text)+createAppInstance_metadata = Lens.lens (\CreateAppInstance' {metadata} -> metadata) (\s@CreateAppInstance' {} a -> s {metadata = a} :: CreateAppInstance) Prelude.. Lens.mapping Data._Sensitive++-- | Tags assigned to the @AppInstance@.+createAppInstance_tags :: Lens.Lens' CreateAppInstance (Prelude.Maybe (Prelude.NonEmpty Tag))+createAppInstance_tags = Lens.lens (\CreateAppInstance' {tags} -> tags) (\s@CreateAppInstance' {} a -> s {tags = a} :: CreateAppInstance) Prelude.. Lens.mapping Lens.coerced++-- | The name of the @AppInstance@.+createAppInstance_name :: Lens.Lens' CreateAppInstance Prelude.Text+createAppInstance_name = Lens.lens (\CreateAppInstance' {name} -> name) (\s@CreateAppInstance' {} a -> s {name = a} :: CreateAppInstance) Prelude.. Data._Sensitive++-- | The @ClientRequestToken@ of the @AppInstance@.+createAppInstance_clientRequestToken :: Lens.Lens' CreateAppInstance Prelude.Text+createAppInstance_clientRequestToken = Lens.lens (\CreateAppInstance' {clientRequestToken} -> clientRequestToken) (\s@CreateAppInstance' {} a -> s {clientRequestToken = a} :: CreateAppInstance) Prelude.. Data._Sensitive++instance Core.AWSRequest CreateAppInstance where+  type+    AWSResponse CreateAppInstance =+      CreateAppInstanceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateAppInstanceResponse'+            Prelude.<$> (x Data..?> "AppInstanceArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateAppInstance where+  hashWithSalt _salt CreateAppInstance' {..} =+    _salt+      `Prelude.hashWithSalt` metadata+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` clientRequestToken++instance Prelude.NFData CreateAppInstance where+  rnf CreateAppInstance' {..} =+    Prelude.rnf metadata+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf clientRequestToken++instance Data.ToHeaders CreateAppInstance where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON CreateAppInstance where+  toJSON CreateAppInstance' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Metadata" Data..=) Prelude.<$> metadata,+            ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just ("Name" Data..= name),+            Prelude.Just+              ("ClientRequestToken" Data..= clientRequestToken)+          ]+      )++instance Data.ToPath CreateAppInstance where+  toPath = Prelude.const "/app-instances"++instance Data.ToQuery CreateAppInstance where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateAppInstanceResponse' smart constructor.+data CreateAppInstanceResponse = CreateAppInstanceResponse'+  { -- | The Amazon Resource Number (ARN) of the @AppInstance@.+    appInstanceArn :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAppInstanceResponse' 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:+--+-- 'appInstanceArn', 'createAppInstanceResponse_appInstanceArn' - The Amazon Resource Number (ARN) of the @AppInstance@.+--+-- 'httpStatus', 'createAppInstanceResponse_httpStatus' - The response's http status code.+newCreateAppInstanceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateAppInstanceResponse+newCreateAppInstanceResponse pHttpStatus_ =+  CreateAppInstanceResponse'+    { appInstanceArn =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Number (ARN) of the @AppInstance@.+createAppInstanceResponse_appInstanceArn :: Lens.Lens' CreateAppInstanceResponse (Prelude.Maybe Prelude.Text)+createAppInstanceResponse_appInstanceArn = Lens.lens (\CreateAppInstanceResponse' {appInstanceArn} -> appInstanceArn) (\s@CreateAppInstanceResponse' {} a -> s {appInstanceArn = a} :: CreateAppInstanceResponse)++-- | The response's http status code.+createAppInstanceResponse_httpStatus :: Lens.Lens' CreateAppInstanceResponse Prelude.Int+createAppInstanceResponse_httpStatus = Lens.lens (\CreateAppInstanceResponse' {httpStatus} -> httpStatus) (\s@CreateAppInstanceResponse' {} a -> s {httpStatus = a} :: CreateAppInstanceResponse)++instance Prelude.NFData CreateAppInstanceResponse where+  rnf CreateAppInstanceResponse' {..} =+    Prelude.rnf appInstanceArn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/CreateAppInstanceAdmin.hs view
@@ -0,0 +1,206 @@+{-# 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.Chime.CreateAppInstanceAdmin+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Promotes an @AppInstanceUser@ to an @AppInstanceAdmin@. The promoted+-- user can perform the following actions.+--+-- -   @ChannelModerator@ actions across all channels in the @AppInstance@.+--+-- -   @DeleteChannelMessage@ actions.+--+-- Only an @AppInstanceUser@ can be promoted to an @AppInstanceAdmin@ role.+module Amazonka.Chime.CreateAppInstanceAdmin+  ( -- * Creating a Request+    CreateAppInstanceAdmin (..),+    newCreateAppInstanceAdmin,++    -- * Request Lenses+    createAppInstanceAdmin_appInstanceAdminArn,+    createAppInstanceAdmin_appInstanceArn,++    -- * Destructuring the Response+    CreateAppInstanceAdminResponse (..),+    newCreateAppInstanceAdminResponse,++    -- * Response Lenses+    createAppInstanceAdminResponse_appInstanceAdmin,+    createAppInstanceAdminResponse_appInstanceArn,+    createAppInstanceAdminResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newCreateAppInstanceAdmin' smart constructor.+data CreateAppInstanceAdmin = CreateAppInstanceAdmin'+  { -- | The ARN of the administrator of the current @AppInstance@.+    appInstanceAdminArn :: Prelude.Text,+    -- | The ARN of the @AppInstance@.+    appInstanceArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAppInstanceAdmin' 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:+--+-- 'appInstanceAdminArn', 'createAppInstanceAdmin_appInstanceAdminArn' - The ARN of the administrator of the current @AppInstance@.+--+-- 'appInstanceArn', 'createAppInstanceAdmin_appInstanceArn' - The ARN of the @AppInstance@.+newCreateAppInstanceAdmin ::+  -- | 'appInstanceAdminArn'+  Prelude.Text ->+  -- | 'appInstanceArn'+  Prelude.Text ->+  CreateAppInstanceAdmin+newCreateAppInstanceAdmin+  pAppInstanceAdminArn_+  pAppInstanceArn_ =+    CreateAppInstanceAdmin'+      { appInstanceAdminArn =+          pAppInstanceAdminArn_,+        appInstanceArn = pAppInstanceArn_+      }++-- | The ARN of the administrator of the current @AppInstance@.+createAppInstanceAdmin_appInstanceAdminArn :: Lens.Lens' CreateAppInstanceAdmin Prelude.Text+createAppInstanceAdmin_appInstanceAdminArn = Lens.lens (\CreateAppInstanceAdmin' {appInstanceAdminArn} -> appInstanceAdminArn) (\s@CreateAppInstanceAdmin' {} a -> s {appInstanceAdminArn = a} :: CreateAppInstanceAdmin)++-- | The ARN of the @AppInstance@.+createAppInstanceAdmin_appInstanceArn :: Lens.Lens' CreateAppInstanceAdmin Prelude.Text+createAppInstanceAdmin_appInstanceArn = Lens.lens (\CreateAppInstanceAdmin' {appInstanceArn} -> appInstanceArn) (\s@CreateAppInstanceAdmin' {} a -> s {appInstanceArn = a} :: CreateAppInstanceAdmin)++instance Core.AWSRequest CreateAppInstanceAdmin where+  type+    AWSResponse CreateAppInstanceAdmin =+      CreateAppInstanceAdminResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateAppInstanceAdminResponse'+            Prelude.<$> (x Data..?> "AppInstanceAdmin")+            Prelude.<*> (x Data..?> "AppInstanceArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateAppInstanceAdmin where+  hashWithSalt _salt CreateAppInstanceAdmin' {..} =+    _salt+      `Prelude.hashWithSalt` appInstanceAdminArn+      `Prelude.hashWithSalt` appInstanceArn++instance Prelude.NFData CreateAppInstanceAdmin where+  rnf CreateAppInstanceAdmin' {..} =+    Prelude.rnf appInstanceAdminArn+      `Prelude.seq` Prelude.rnf appInstanceArn++instance Data.ToHeaders CreateAppInstanceAdmin where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON CreateAppInstanceAdmin where+  toJSON CreateAppInstanceAdmin' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("AppInstanceAdminArn" Data..= appInstanceAdminArn)+          ]+      )++instance Data.ToPath CreateAppInstanceAdmin where+  toPath CreateAppInstanceAdmin' {..} =+    Prelude.mconcat+      [ "/app-instances/",+        Data.toBS appInstanceArn,+        "/admins"+      ]++instance Data.ToQuery CreateAppInstanceAdmin where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateAppInstanceAdminResponse' smart constructor.+data CreateAppInstanceAdminResponse = CreateAppInstanceAdminResponse'+  { -- | The name and ARN of the admin for the @AppInstance@.+    appInstanceAdmin :: Prelude.Maybe Identity,+    -- | The ARN of the of the admin for the @AppInstance@.+    appInstanceArn :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAppInstanceAdminResponse' 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:+--+-- 'appInstanceAdmin', 'createAppInstanceAdminResponse_appInstanceAdmin' - The name and ARN of the admin for the @AppInstance@.+--+-- 'appInstanceArn', 'createAppInstanceAdminResponse_appInstanceArn' - The ARN of the of the admin for the @AppInstance@.+--+-- 'httpStatus', 'createAppInstanceAdminResponse_httpStatus' - The response's http status code.+newCreateAppInstanceAdminResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateAppInstanceAdminResponse+newCreateAppInstanceAdminResponse pHttpStatus_ =+  CreateAppInstanceAdminResponse'+    { appInstanceAdmin =+        Prelude.Nothing,+      appInstanceArn = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The name and ARN of the admin for the @AppInstance@.+createAppInstanceAdminResponse_appInstanceAdmin :: Lens.Lens' CreateAppInstanceAdminResponse (Prelude.Maybe Identity)+createAppInstanceAdminResponse_appInstanceAdmin = Lens.lens (\CreateAppInstanceAdminResponse' {appInstanceAdmin} -> appInstanceAdmin) (\s@CreateAppInstanceAdminResponse' {} a -> s {appInstanceAdmin = a} :: CreateAppInstanceAdminResponse)++-- | The ARN of the of the admin for the @AppInstance@.+createAppInstanceAdminResponse_appInstanceArn :: Lens.Lens' CreateAppInstanceAdminResponse (Prelude.Maybe Prelude.Text)+createAppInstanceAdminResponse_appInstanceArn = Lens.lens (\CreateAppInstanceAdminResponse' {appInstanceArn} -> appInstanceArn) (\s@CreateAppInstanceAdminResponse' {} a -> s {appInstanceArn = a} :: CreateAppInstanceAdminResponse)++-- | The response's http status code.+createAppInstanceAdminResponse_httpStatus :: Lens.Lens' CreateAppInstanceAdminResponse Prelude.Int+createAppInstanceAdminResponse_httpStatus = Lens.lens (\CreateAppInstanceAdminResponse' {httpStatus} -> httpStatus) (\s@CreateAppInstanceAdminResponse' {} a -> s {httpStatus = a} :: CreateAppInstanceAdminResponse)++instance+  Prelude.NFData+    CreateAppInstanceAdminResponse+  where+  rnf CreateAppInstanceAdminResponse' {..} =+    Prelude.rnf appInstanceAdmin+      `Prelude.seq` Prelude.rnf appInstanceArn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/CreateAppInstanceUser.hs view
@@ -0,0 +1,242 @@+{-# 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.Chime.CreateAppInstanceUser+-- 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 user under an Amazon Chime @AppInstance@. The request consists+-- of a unique @appInstanceUserId@ and @Name@ for that user.+module Amazonka.Chime.CreateAppInstanceUser+  ( -- * Creating a Request+    CreateAppInstanceUser (..),+    newCreateAppInstanceUser,++    -- * Request Lenses+    createAppInstanceUser_metadata,+    createAppInstanceUser_tags,+    createAppInstanceUser_appInstanceArn,+    createAppInstanceUser_appInstanceUserId,+    createAppInstanceUser_name,+    createAppInstanceUser_clientRequestToken,++    -- * Destructuring the Response+    CreateAppInstanceUserResponse (..),+    newCreateAppInstanceUserResponse,++    -- * Response Lenses+    createAppInstanceUserResponse_appInstanceUserArn,+    createAppInstanceUserResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newCreateAppInstanceUser' smart constructor.+data CreateAppInstanceUser = CreateAppInstanceUser'+  { -- | The request\'s metadata. Limited to a 1KB string in UTF-8.+    metadata :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | Tags assigned to the @AppInstanceUser@.+    tags :: Prelude.Maybe (Prelude.NonEmpty Tag),+    -- | The ARN of the @AppInstance@ request.+    appInstanceArn :: Prelude.Text,+    -- | The user ID of the @AppInstance@.+    appInstanceUserId :: Data.Sensitive Prelude.Text,+    -- | The user\'s name.+    name :: Data.Sensitive Prelude.Text,+    -- | The token assigned to the user requesting an @AppInstance@.+    clientRequestToken :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAppInstanceUser' 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:+--+-- 'metadata', 'createAppInstanceUser_metadata' - The request\'s metadata. Limited to a 1KB string in UTF-8.+--+-- 'tags', 'createAppInstanceUser_tags' - Tags assigned to the @AppInstanceUser@.+--+-- 'appInstanceArn', 'createAppInstanceUser_appInstanceArn' - The ARN of the @AppInstance@ request.+--+-- 'appInstanceUserId', 'createAppInstanceUser_appInstanceUserId' - The user ID of the @AppInstance@.+--+-- 'name', 'createAppInstanceUser_name' - The user\'s name.+--+-- 'clientRequestToken', 'createAppInstanceUser_clientRequestToken' - The token assigned to the user requesting an @AppInstance@.+newCreateAppInstanceUser ::+  -- | 'appInstanceArn'+  Prelude.Text ->+  -- | 'appInstanceUserId'+  Prelude.Text ->+  -- | 'name'+  Prelude.Text ->+  -- | 'clientRequestToken'+  Prelude.Text ->+  CreateAppInstanceUser+newCreateAppInstanceUser+  pAppInstanceArn_+  pAppInstanceUserId_+  pName_+  pClientRequestToken_ =+    CreateAppInstanceUser'+      { metadata = Prelude.Nothing,+        tags = Prelude.Nothing,+        appInstanceArn = pAppInstanceArn_,+        appInstanceUserId =+          Data._Sensitive Lens.# pAppInstanceUserId_,+        name = Data._Sensitive Lens.# pName_,+        clientRequestToken =+          Data._Sensitive Lens.# pClientRequestToken_+      }++-- | The request\'s metadata. Limited to a 1KB string in UTF-8.+createAppInstanceUser_metadata :: Lens.Lens' CreateAppInstanceUser (Prelude.Maybe Prelude.Text)+createAppInstanceUser_metadata = Lens.lens (\CreateAppInstanceUser' {metadata} -> metadata) (\s@CreateAppInstanceUser' {} a -> s {metadata = a} :: CreateAppInstanceUser) Prelude.. Lens.mapping Data._Sensitive++-- | Tags assigned to the @AppInstanceUser@.+createAppInstanceUser_tags :: Lens.Lens' CreateAppInstanceUser (Prelude.Maybe (Prelude.NonEmpty Tag))+createAppInstanceUser_tags = Lens.lens (\CreateAppInstanceUser' {tags} -> tags) (\s@CreateAppInstanceUser' {} a -> s {tags = a} :: CreateAppInstanceUser) Prelude.. Lens.mapping Lens.coerced++-- | The ARN of the @AppInstance@ request.+createAppInstanceUser_appInstanceArn :: Lens.Lens' CreateAppInstanceUser Prelude.Text+createAppInstanceUser_appInstanceArn = Lens.lens (\CreateAppInstanceUser' {appInstanceArn} -> appInstanceArn) (\s@CreateAppInstanceUser' {} a -> s {appInstanceArn = a} :: CreateAppInstanceUser)++-- | The user ID of the @AppInstance@.+createAppInstanceUser_appInstanceUserId :: Lens.Lens' CreateAppInstanceUser Prelude.Text+createAppInstanceUser_appInstanceUserId = Lens.lens (\CreateAppInstanceUser' {appInstanceUserId} -> appInstanceUserId) (\s@CreateAppInstanceUser' {} a -> s {appInstanceUserId = a} :: CreateAppInstanceUser) Prelude.. Data._Sensitive++-- | The user\'s name.+createAppInstanceUser_name :: Lens.Lens' CreateAppInstanceUser Prelude.Text+createAppInstanceUser_name = Lens.lens (\CreateAppInstanceUser' {name} -> name) (\s@CreateAppInstanceUser' {} a -> s {name = a} :: CreateAppInstanceUser) Prelude.. Data._Sensitive++-- | The token assigned to the user requesting an @AppInstance@.+createAppInstanceUser_clientRequestToken :: Lens.Lens' CreateAppInstanceUser Prelude.Text+createAppInstanceUser_clientRequestToken = Lens.lens (\CreateAppInstanceUser' {clientRequestToken} -> clientRequestToken) (\s@CreateAppInstanceUser' {} a -> s {clientRequestToken = a} :: CreateAppInstanceUser) Prelude.. Data._Sensitive++instance Core.AWSRequest CreateAppInstanceUser where+  type+    AWSResponse CreateAppInstanceUser =+      CreateAppInstanceUserResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateAppInstanceUserResponse'+            Prelude.<$> (x Data..?> "AppInstanceUserArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateAppInstanceUser where+  hashWithSalt _salt CreateAppInstanceUser' {..} =+    _salt+      `Prelude.hashWithSalt` metadata+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` appInstanceArn+      `Prelude.hashWithSalt` appInstanceUserId+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` clientRequestToken++instance Prelude.NFData CreateAppInstanceUser where+  rnf CreateAppInstanceUser' {..} =+    Prelude.rnf metadata+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf appInstanceArn+      `Prelude.seq` Prelude.rnf appInstanceUserId+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf clientRequestToken++instance Data.ToHeaders CreateAppInstanceUser where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON CreateAppInstanceUser where+  toJSON CreateAppInstanceUser' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Metadata" Data..=) Prelude.<$> metadata,+            ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just+              ("AppInstanceArn" Data..= appInstanceArn),+            Prelude.Just+              ("AppInstanceUserId" Data..= appInstanceUserId),+            Prelude.Just ("Name" Data..= name),+            Prelude.Just+              ("ClientRequestToken" Data..= clientRequestToken)+          ]+      )++instance Data.ToPath CreateAppInstanceUser where+  toPath = Prelude.const "/app-instance-users"++instance Data.ToQuery CreateAppInstanceUser where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateAppInstanceUserResponse' smart constructor.+data CreateAppInstanceUserResponse = CreateAppInstanceUserResponse'+  { -- | The user\'s ARN.+    appInstanceUserArn :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAppInstanceUserResponse' 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:+--+-- 'appInstanceUserArn', 'createAppInstanceUserResponse_appInstanceUserArn' - The user\'s ARN.+--+-- 'httpStatus', 'createAppInstanceUserResponse_httpStatus' - The response's http status code.+newCreateAppInstanceUserResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateAppInstanceUserResponse+newCreateAppInstanceUserResponse pHttpStatus_ =+  CreateAppInstanceUserResponse'+    { appInstanceUserArn =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The user\'s ARN.+createAppInstanceUserResponse_appInstanceUserArn :: Lens.Lens' CreateAppInstanceUserResponse (Prelude.Maybe Prelude.Text)+createAppInstanceUserResponse_appInstanceUserArn = Lens.lens (\CreateAppInstanceUserResponse' {appInstanceUserArn} -> appInstanceUserArn) (\s@CreateAppInstanceUserResponse' {} a -> s {appInstanceUserArn = a} :: CreateAppInstanceUserResponse)++-- | The response's http status code.+createAppInstanceUserResponse_httpStatus :: Lens.Lens' CreateAppInstanceUserResponse Prelude.Int+createAppInstanceUserResponse_httpStatus = Lens.lens (\CreateAppInstanceUserResponse' {httpStatus} -> httpStatus) (\s@CreateAppInstanceUserResponse' {} a -> s {httpStatus = a} :: CreateAppInstanceUserResponse)++instance Prelude.NFData CreateAppInstanceUserResponse where+  rnf CreateAppInstanceUserResponse' {..} =+    Prelude.rnf appInstanceUserArn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/CreateAttendee.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.Chime.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.Chime.CreateAttendee+  ( -- * Creating a Request+    CreateAttendee (..),+    newCreateAttendee,++    -- * Request Lenses+    createAttendee_tags,+    createAttendee_meetingId,+    createAttendee_externalUserId,++    -- * Destructuring the Response+    CreateAttendeeResponse (..),+    newCreateAttendeeResponse,++    -- * Response Lenses+    createAttendeeResponse_attendee,+    createAttendeeResponse_httpStatus,+  )+where++import Amazonka.Chime.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 tag key-value pairs.+    tags :: Prelude.Maybe (Prelude.NonEmpty Tag),+    -- | The Amazon Chime SDK meeting ID.+    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:+--+-- 'tags', 'createAttendee_tags' - The tag key-value pairs.+--+-- 'meetingId', 'createAttendee_meetingId' - The Amazon Chime SDK meeting ID.+--+-- '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'+    { tags = Prelude.Nothing,+      meetingId = pMeetingId_,+      externalUserId =+        Data._Sensitive Lens.# pExternalUserId_+    }++-- | The tag key-value pairs.+createAttendee_tags :: Lens.Lens' CreateAttendee (Prelude.Maybe (Prelude.NonEmpty Tag))+createAttendee_tags = Lens.lens (\CreateAttendee' {tags} -> tags) (\s@CreateAttendee' {} a -> s {tags = a} :: CreateAttendee) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Chime SDK meeting ID.+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` tags+      `Prelude.hashWithSalt` meetingId+      `Prelude.hashWithSalt` externalUserId++instance Prelude.NFData CreateAttendee where+  rnf CreateAttendee' {..} =+    Prelude.rnf tags+      `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+          [ ("Tags" Data..=) Prelude.<$> tags,+            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/Chime/CreateBot.hs view
@@ -0,0 +1,187 @@+{-# 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.Chime.CreateBot+-- 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 bot for an Amazon Chime Enterprise account.+module Amazonka.Chime.CreateBot+  ( -- * Creating a Request+    CreateBot (..),+    newCreateBot,++    -- * Request Lenses+    createBot_domain,+    createBot_displayName,+    createBot_accountId,++    -- * Destructuring the Response+    CreateBotResponse (..),+    newCreateBotResponse,++    -- * Response Lenses+    createBotResponse_bot,+    createBotResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newCreateBot' smart constructor.+data CreateBot = CreateBot'+  { -- | The domain of the Amazon Chime Enterprise account.+    domain :: Prelude.Maybe Prelude.Text,+    -- | The bot display name.+    displayName :: Data.Sensitive Prelude.Text,+    -- | The Amazon Chime account ID.+    accountId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateBot' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domain', 'createBot_domain' - The domain of the Amazon Chime Enterprise account.+--+-- 'displayName', 'createBot_displayName' - The bot display name.+--+-- 'accountId', 'createBot_accountId' - The Amazon Chime account ID.+newCreateBot ::+  -- | 'displayName'+  Prelude.Text ->+  -- | 'accountId'+  Prelude.Text ->+  CreateBot+newCreateBot pDisplayName_ pAccountId_ =+  CreateBot'+    { domain = Prelude.Nothing,+      displayName = Data._Sensitive Lens.# pDisplayName_,+      accountId = pAccountId_+    }++-- | The domain of the Amazon Chime Enterprise account.+createBot_domain :: Lens.Lens' CreateBot (Prelude.Maybe Prelude.Text)+createBot_domain = Lens.lens (\CreateBot' {domain} -> domain) (\s@CreateBot' {} a -> s {domain = a} :: CreateBot)++-- | The bot display name.+createBot_displayName :: Lens.Lens' CreateBot Prelude.Text+createBot_displayName = Lens.lens (\CreateBot' {displayName} -> displayName) (\s@CreateBot' {} a -> s {displayName = a} :: CreateBot) Prelude.. Data._Sensitive++-- | The Amazon Chime account ID.+createBot_accountId :: Lens.Lens' CreateBot Prelude.Text+createBot_accountId = Lens.lens (\CreateBot' {accountId} -> accountId) (\s@CreateBot' {} a -> s {accountId = a} :: CreateBot)++instance Core.AWSRequest CreateBot where+  type AWSResponse CreateBot = CreateBotResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateBotResponse'+            Prelude.<$> (x Data..?> "Bot")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateBot where+  hashWithSalt _salt CreateBot' {..} =+    _salt+      `Prelude.hashWithSalt` domain+      `Prelude.hashWithSalt` displayName+      `Prelude.hashWithSalt` accountId++instance Prelude.NFData CreateBot where+  rnf CreateBot' {..} =+    Prelude.rnf domain+      `Prelude.seq` Prelude.rnf displayName+      `Prelude.seq` Prelude.rnf accountId++instance Data.ToHeaders CreateBot where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON CreateBot where+  toJSON CreateBot' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Domain" Data..=) Prelude.<$> domain,+            Prelude.Just ("DisplayName" Data..= displayName)+          ]+      )++instance Data.ToPath CreateBot where+  toPath CreateBot' {..} =+    Prelude.mconcat+      ["/accounts/", Data.toBS accountId, "/bots"]++instance Data.ToQuery CreateBot where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateBotResponse' smart constructor.+data CreateBotResponse = CreateBotResponse'+  { -- | The bot details.+    bot :: Prelude.Maybe Bot,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateBotResponse' 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:+--+-- 'bot', 'createBotResponse_bot' - The bot details.+--+-- 'httpStatus', 'createBotResponse_httpStatus' - The response's http status code.+newCreateBotResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateBotResponse+newCreateBotResponse pHttpStatus_ =+  CreateBotResponse'+    { bot = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The bot details.+createBotResponse_bot :: Lens.Lens' CreateBotResponse (Prelude.Maybe Bot)+createBotResponse_bot = Lens.lens (\CreateBotResponse' {bot} -> bot) (\s@CreateBotResponse' {} a -> s {bot = a} :: CreateBotResponse)++-- | The response's http status code.+createBotResponse_httpStatus :: Lens.Lens' CreateBotResponse Prelude.Int+createBotResponse_httpStatus = Lens.lens (\CreateBotResponse' {httpStatus} -> httpStatus) (\s@CreateBotResponse' {} a -> s {httpStatus = a} :: CreateBotResponse)++instance Prelude.NFData CreateBotResponse where+  rnf CreateBotResponse' {..} =+    Prelude.rnf bot+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/CreateChannel.hs view
@@ -0,0 +1,284 @@+{-# 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.Chime.CreateChannel+-- 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 channel to which you can add users and send messages.+--+-- __Restriction__: You can\'t change a channel\'s privacy.+--+-- The @x-amz-chime-bearer@ request header is mandatory. Use the+-- @AppInstanceUserArn@ of the user that makes the API call as the value in+-- the header.+module Amazonka.Chime.CreateChannel+  ( -- * Creating a Request+    CreateChannel (..),+    newCreateChannel,++    -- * Request Lenses+    createChannel_chimeBearer,+    createChannel_metadata,+    createChannel_mode,+    createChannel_privacy,+    createChannel_tags,+    createChannel_appInstanceArn,+    createChannel_name,+    createChannel_clientRequestToken,++    -- * Destructuring the Response+    CreateChannelResponse (..),+    newCreateChannelResponse,++    -- * Response Lenses+    createChannelResponse_channelArn,+    createChannelResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newCreateChannel' smart constructor.+data CreateChannel = CreateChannel'+  { -- | The @AppInstanceUserArn@ of the user that makes the API call.+    chimeBearer :: Prelude.Maybe Prelude.Text,+    -- | The metadata of the creation request. Limited to 1KB and UTF-8.+    metadata :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The channel mode: @UNRESTRICTED@ or @RESTRICTED@. Administrators,+    -- moderators, and channel members can add themselves and other members to+    -- unrestricted channels. Only administrators and moderators can add+    -- members to restricted channels.+    mode :: Prelude.Maybe ChannelMode,+    -- | The channel\'s privacy level: @PUBLIC@ or @PRIVATE@. Private channels+    -- aren\'t discoverable by users outside the channel. Public channels are+    -- discoverable by anyone in the @AppInstance@.+    privacy :: Prelude.Maybe ChannelPrivacy,+    -- | The tags for the creation request.+    tags :: Prelude.Maybe (Prelude.NonEmpty Tag),+    -- | The ARN of the channel request.+    appInstanceArn :: Prelude.Text,+    -- | The name of the channel.+    name :: Data.Sensitive Prelude.Text,+    -- | The client token for the request. An @Idempotency@ token.+    clientRequestToken :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateChannel' 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:+--+-- 'chimeBearer', 'createChannel_chimeBearer' - The @AppInstanceUserArn@ of the user that makes the API call.+--+-- 'metadata', 'createChannel_metadata' - The metadata of the creation request. Limited to 1KB and UTF-8.+--+-- 'mode', 'createChannel_mode' - The channel mode: @UNRESTRICTED@ or @RESTRICTED@. Administrators,+-- moderators, and channel members can add themselves and other members to+-- unrestricted channels. Only administrators and moderators can add+-- members to restricted channels.+--+-- 'privacy', 'createChannel_privacy' - The channel\'s privacy level: @PUBLIC@ or @PRIVATE@. Private channels+-- aren\'t discoverable by users outside the channel. Public channels are+-- discoverable by anyone in the @AppInstance@.+--+-- 'tags', 'createChannel_tags' - The tags for the creation request.+--+-- 'appInstanceArn', 'createChannel_appInstanceArn' - The ARN of the channel request.+--+-- 'name', 'createChannel_name' - The name of the channel.+--+-- 'clientRequestToken', 'createChannel_clientRequestToken' - The client token for the request. An @Idempotency@ token.+newCreateChannel ::+  -- | 'appInstanceArn'+  Prelude.Text ->+  -- | 'name'+  Prelude.Text ->+  -- | 'clientRequestToken'+  Prelude.Text ->+  CreateChannel+newCreateChannel+  pAppInstanceArn_+  pName_+  pClientRequestToken_ =+    CreateChannel'+      { chimeBearer = Prelude.Nothing,+        metadata = Prelude.Nothing,+        mode = Prelude.Nothing,+        privacy = Prelude.Nothing,+        tags = Prelude.Nothing,+        appInstanceArn = pAppInstanceArn_,+        name = Data._Sensitive Lens.# pName_,+        clientRequestToken =+          Data._Sensitive Lens.# pClientRequestToken_+      }++-- | The @AppInstanceUserArn@ of the user that makes the API call.+createChannel_chimeBearer :: Lens.Lens' CreateChannel (Prelude.Maybe Prelude.Text)+createChannel_chimeBearer = Lens.lens (\CreateChannel' {chimeBearer} -> chimeBearer) (\s@CreateChannel' {} a -> s {chimeBearer = a} :: CreateChannel)++-- | The metadata of the creation request. Limited to 1KB and UTF-8.+createChannel_metadata :: Lens.Lens' CreateChannel (Prelude.Maybe Prelude.Text)+createChannel_metadata = Lens.lens (\CreateChannel' {metadata} -> metadata) (\s@CreateChannel' {} a -> s {metadata = a} :: CreateChannel) Prelude.. Lens.mapping Data._Sensitive++-- | The channel mode: @UNRESTRICTED@ or @RESTRICTED@. Administrators,+-- moderators, and channel members can add themselves and other members to+-- unrestricted channels. Only administrators and moderators can add+-- members to restricted channels.+createChannel_mode :: Lens.Lens' CreateChannel (Prelude.Maybe ChannelMode)+createChannel_mode = Lens.lens (\CreateChannel' {mode} -> mode) (\s@CreateChannel' {} a -> s {mode = a} :: CreateChannel)++-- | The channel\'s privacy level: @PUBLIC@ or @PRIVATE@. Private channels+-- aren\'t discoverable by users outside the channel. Public channels are+-- discoverable by anyone in the @AppInstance@.+createChannel_privacy :: Lens.Lens' CreateChannel (Prelude.Maybe ChannelPrivacy)+createChannel_privacy = Lens.lens (\CreateChannel' {privacy} -> privacy) (\s@CreateChannel' {} a -> s {privacy = a} :: CreateChannel)++-- | The tags for the creation request.+createChannel_tags :: Lens.Lens' CreateChannel (Prelude.Maybe (Prelude.NonEmpty Tag))+createChannel_tags = Lens.lens (\CreateChannel' {tags} -> tags) (\s@CreateChannel' {} a -> s {tags = a} :: CreateChannel) Prelude.. Lens.mapping Lens.coerced++-- | The ARN of the channel request.+createChannel_appInstanceArn :: Lens.Lens' CreateChannel Prelude.Text+createChannel_appInstanceArn = Lens.lens (\CreateChannel' {appInstanceArn} -> appInstanceArn) (\s@CreateChannel' {} a -> s {appInstanceArn = a} :: CreateChannel)++-- | The name of the channel.+createChannel_name :: Lens.Lens' CreateChannel Prelude.Text+createChannel_name = Lens.lens (\CreateChannel' {name} -> name) (\s@CreateChannel' {} a -> s {name = a} :: CreateChannel) Prelude.. Data._Sensitive++-- | The client token for the request. An @Idempotency@ token.+createChannel_clientRequestToken :: Lens.Lens' CreateChannel Prelude.Text+createChannel_clientRequestToken = Lens.lens (\CreateChannel' {clientRequestToken} -> clientRequestToken) (\s@CreateChannel' {} a -> s {clientRequestToken = a} :: CreateChannel) Prelude.. Data._Sensitive++instance Core.AWSRequest CreateChannel where+  type+    AWSResponse CreateChannel =+      CreateChannelResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateChannelResponse'+            Prelude.<$> (x Data..?> "ChannelArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateChannel where+  hashWithSalt _salt CreateChannel' {..} =+    _salt+      `Prelude.hashWithSalt` chimeBearer+      `Prelude.hashWithSalt` metadata+      `Prelude.hashWithSalt` mode+      `Prelude.hashWithSalt` privacy+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` appInstanceArn+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` clientRequestToken++instance Prelude.NFData CreateChannel where+  rnf CreateChannel' {..} =+    Prelude.rnf chimeBearer+      `Prelude.seq` Prelude.rnf metadata+      `Prelude.seq` Prelude.rnf mode+      `Prelude.seq` Prelude.rnf privacy+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf appInstanceArn+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf clientRequestToken++instance Data.ToHeaders CreateChannel where+  toHeaders CreateChannel' {..} =+    Prelude.mconcat+      ["x-amz-chime-bearer" Data.=# chimeBearer]++instance Data.ToJSON CreateChannel where+  toJSON CreateChannel' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Metadata" Data..=) Prelude.<$> metadata,+            ("Mode" Data..=) Prelude.<$> mode,+            ("Privacy" Data..=) Prelude.<$> privacy,+            ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just+              ("AppInstanceArn" Data..= appInstanceArn),+            Prelude.Just ("Name" Data..= name),+            Prelude.Just+              ("ClientRequestToken" Data..= clientRequestToken)+          ]+      )++instance Data.ToPath CreateChannel where+  toPath = Prelude.const "/channels"++instance Data.ToQuery CreateChannel where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateChannelResponse' smart constructor.+data CreateChannelResponse = CreateChannelResponse'+  { -- | The ARN of the channel.+    channelArn :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateChannelResponse' 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:+--+-- 'channelArn', 'createChannelResponse_channelArn' - The ARN of the channel.+--+-- 'httpStatus', 'createChannelResponse_httpStatus' - The response's http status code.+newCreateChannelResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateChannelResponse+newCreateChannelResponse pHttpStatus_ =+  CreateChannelResponse'+    { channelArn =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The ARN of the channel.+createChannelResponse_channelArn :: Lens.Lens' CreateChannelResponse (Prelude.Maybe Prelude.Text)+createChannelResponse_channelArn = Lens.lens (\CreateChannelResponse' {channelArn} -> channelArn) (\s@CreateChannelResponse' {} a -> s {channelArn = a} :: CreateChannelResponse)++-- | The response's http status code.+createChannelResponse_httpStatus :: Lens.Lens' CreateChannelResponse Prelude.Int+createChannelResponse_httpStatus = Lens.lens (\CreateChannelResponse' {httpStatus} -> httpStatus) (\s@CreateChannelResponse' {} a -> s {httpStatus = a} :: CreateChannelResponse)++instance Prelude.NFData CreateChannelResponse where+  rnf CreateChannelResponse' {..} =+    Prelude.rnf channelArn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/CreateChannelBan.hs view
@@ -0,0 +1,212 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Chime.CreateChannelBan+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Permanently bans a member from a channel. Moderators can\'t add banned+-- members to a channel. To undo a ban, you first have to+-- @DeleteChannelBan@, and then @CreateChannelMembership@. Bans are cleaned+-- up when you delete users or channels.+--+-- If you ban a user who is already part of a channel, that user is+-- automatically kicked from the channel.+--+-- The @x-amz-chime-bearer@ request header is mandatory. Use the+-- @AppInstanceUserArn@ of the user that makes the API call as the value in+-- the header.+module Amazonka.Chime.CreateChannelBan+  ( -- * Creating a Request+    CreateChannelBan (..),+    newCreateChannelBan,++    -- * Request Lenses+    createChannelBan_chimeBearer,+    createChannelBan_channelArn,+    createChannelBan_memberArn,++    -- * Destructuring the Response+    CreateChannelBanResponse (..),+    newCreateChannelBanResponse,++    -- * Response Lenses+    createChannelBanResponse_channelArn,+    createChannelBanResponse_member,+    createChannelBanResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newCreateChannelBan' smart constructor.+data CreateChannelBan = CreateChannelBan'+  { -- | The @AppInstanceUserArn@ of the user that makes the API call.+    chimeBearer :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the ban request.+    channelArn :: Prelude.Text,+    -- | The ARN of the member being banned.+    memberArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateChannelBan' 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:+--+-- 'chimeBearer', 'createChannelBan_chimeBearer' - The @AppInstanceUserArn@ of the user that makes the API call.+--+-- 'channelArn', 'createChannelBan_channelArn' - The ARN of the ban request.+--+-- 'memberArn', 'createChannelBan_memberArn' - The ARN of the member being banned.+newCreateChannelBan ::+  -- | 'channelArn'+  Prelude.Text ->+  -- | 'memberArn'+  Prelude.Text ->+  CreateChannelBan+newCreateChannelBan pChannelArn_ pMemberArn_ =+  CreateChannelBan'+    { chimeBearer = Prelude.Nothing,+      channelArn = pChannelArn_,+      memberArn = pMemberArn_+    }++-- | The @AppInstanceUserArn@ of the user that makes the API call.+createChannelBan_chimeBearer :: Lens.Lens' CreateChannelBan (Prelude.Maybe Prelude.Text)+createChannelBan_chimeBearer = Lens.lens (\CreateChannelBan' {chimeBearer} -> chimeBearer) (\s@CreateChannelBan' {} a -> s {chimeBearer = a} :: CreateChannelBan)++-- | The ARN of the ban request.+createChannelBan_channelArn :: Lens.Lens' CreateChannelBan Prelude.Text+createChannelBan_channelArn = Lens.lens (\CreateChannelBan' {channelArn} -> channelArn) (\s@CreateChannelBan' {} a -> s {channelArn = a} :: CreateChannelBan)++-- | The ARN of the member being banned.+createChannelBan_memberArn :: Lens.Lens' CreateChannelBan Prelude.Text+createChannelBan_memberArn = Lens.lens (\CreateChannelBan' {memberArn} -> memberArn) (\s@CreateChannelBan' {} a -> s {memberArn = a} :: CreateChannelBan)++instance Core.AWSRequest CreateChannelBan where+  type+    AWSResponse CreateChannelBan =+      CreateChannelBanResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateChannelBanResponse'+            Prelude.<$> (x Data..?> "ChannelArn")+            Prelude.<*> (x Data..?> "Member")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateChannelBan where+  hashWithSalt _salt CreateChannelBan' {..} =+    _salt+      `Prelude.hashWithSalt` chimeBearer+      `Prelude.hashWithSalt` channelArn+      `Prelude.hashWithSalt` memberArn++instance Prelude.NFData CreateChannelBan where+  rnf CreateChannelBan' {..} =+    Prelude.rnf chimeBearer+      `Prelude.seq` Prelude.rnf channelArn+      `Prelude.seq` Prelude.rnf memberArn++instance Data.ToHeaders CreateChannelBan where+  toHeaders CreateChannelBan' {..} =+    Prelude.mconcat+      ["x-amz-chime-bearer" Data.=# chimeBearer]++instance Data.ToJSON CreateChannelBan where+  toJSON CreateChannelBan' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("MemberArn" Data..= memberArn)]+      )++instance Data.ToPath CreateChannelBan where+  toPath CreateChannelBan' {..} =+    Prelude.mconcat+      ["/channels/", Data.toBS channelArn, "/bans"]++instance Data.ToQuery CreateChannelBan where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateChannelBanResponse' smart constructor.+data CreateChannelBanResponse = CreateChannelBanResponse'+  { -- | The ARN of the response to the ban request.+    channelArn :: Prelude.Maybe Prelude.Text,+    -- | The @ChannelArn@ and @BannedIdentity@ of the member in the ban response.+    member :: Prelude.Maybe Identity,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateChannelBanResponse' 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:+--+-- 'channelArn', 'createChannelBanResponse_channelArn' - The ARN of the response to the ban request.+--+-- 'member', 'createChannelBanResponse_member' - The @ChannelArn@ and @BannedIdentity@ of the member in the ban response.+--+-- 'httpStatus', 'createChannelBanResponse_httpStatus' - The response's http status code.+newCreateChannelBanResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateChannelBanResponse+newCreateChannelBanResponse pHttpStatus_ =+  CreateChannelBanResponse'+    { channelArn =+        Prelude.Nothing,+      member = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The ARN of the response to the ban request.+createChannelBanResponse_channelArn :: Lens.Lens' CreateChannelBanResponse (Prelude.Maybe Prelude.Text)+createChannelBanResponse_channelArn = Lens.lens (\CreateChannelBanResponse' {channelArn} -> channelArn) (\s@CreateChannelBanResponse' {} a -> s {channelArn = a} :: CreateChannelBanResponse)++-- | The @ChannelArn@ and @BannedIdentity@ of the member in the ban response.+createChannelBanResponse_member :: Lens.Lens' CreateChannelBanResponse (Prelude.Maybe Identity)+createChannelBanResponse_member = Lens.lens (\CreateChannelBanResponse' {member} -> member) (\s@CreateChannelBanResponse' {} a -> s {member = a} :: CreateChannelBanResponse)++-- | The response's http status code.+createChannelBanResponse_httpStatus :: Lens.Lens' CreateChannelBanResponse Prelude.Int+createChannelBanResponse_httpStatus = Lens.lens (\CreateChannelBanResponse' {httpStatus} -> httpStatus) (\s@CreateChannelBanResponse' {} a -> s {httpStatus = a} :: CreateChannelBanResponse)++instance Prelude.NFData CreateChannelBanResponse where+  rnf CreateChannelBanResponse' {..} =+    Prelude.rnf channelArn+      `Prelude.seq` Prelude.rnf member+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/CreateChannelMembership.hs view
@@ -0,0 +1,259 @@+{-# 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.Chime.CreateChannelMembership+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds a user to a channel. The @InvitedBy@ response field is derived from+-- the request header. A channel member can:+--+-- -   List messages+--+-- -   Send messages+--+-- -   Receive messages+--+-- -   Edit their own messages+--+-- -   Leave the channel+--+-- Privacy settings impact this action as follows:+--+-- -   Public Channels: You do not need to be a member to list messages,+--     but you must be a member to send messages.+--+-- -   Private Channels: You must be a member to list or send messages.+--+-- The @x-amz-chime-bearer@ request header is mandatory. Use the+-- @AppInstanceUserArn@ of the user that makes the API call as the value in+-- the header.+module Amazonka.Chime.CreateChannelMembership+  ( -- * Creating a Request+    CreateChannelMembership (..),+    newCreateChannelMembership,++    -- * Request Lenses+    createChannelMembership_chimeBearer,+    createChannelMembership_channelArn,+    createChannelMembership_memberArn,+    createChannelMembership_type,++    -- * Destructuring the Response+    CreateChannelMembershipResponse (..),+    newCreateChannelMembershipResponse,++    -- * Response Lenses+    createChannelMembershipResponse_channelArn,+    createChannelMembershipResponse_member,+    createChannelMembershipResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newCreateChannelMembership' smart constructor.+data CreateChannelMembership = CreateChannelMembership'+  { -- | The @AppInstanceUserArn@ of the user that makes the API call.+    chimeBearer :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the channel to which you\'re adding users.+    channelArn :: Prelude.Text,+    -- | The ARN of the member you want to add to the channel.+    memberArn :: Prelude.Text,+    -- | The membership type of a user, @DEFAULT@ or @HIDDEN@. Default members+    -- are always returned as part of @ListChannelMemberships@. Hidden members+    -- are only returned if the type filter in @ListChannelMemberships@ equals+    -- @HIDDEN@. Otherwise hidden members are not returned. This is only+    -- supported by moderators.+    type' :: ChannelMembershipType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateChannelMembership' 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:+--+-- 'chimeBearer', 'createChannelMembership_chimeBearer' - The @AppInstanceUserArn@ of the user that makes the API call.+--+-- 'channelArn', 'createChannelMembership_channelArn' - The ARN of the channel to which you\'re adding users.+--+-- 'memberArn', 'createChannelMembership_memberArn' - The ARN of the member you want to add to the channel.+--+-- 'type'', 'createChannelMembership_type' - The membership type of a user, @DEFAULT@ or @HIDDEN@. Default members+-- are always returned as part of @ListChannelMemberships@. Hidden members+-- are only returned if the type filter in @ListChannelMemberships@ equals+-- @HIDDEN@. Otherwise hidden members are not returned. This is only+-- supported by moderators.+newCreateChannelMembership ::+  -- | 'channelArn'+  Prelude.Text ->+  -- | 'memberArn'+  Prelude.Text ->+  -- | 'type''+  ChannelMembershipType ->+  CreateChannelMembership+newCreateChannelMembership+  pChannelArn_+  pMemberArn_+  pType_ =+    CreateChannelMembership'+      { chimeBearer =+          Prelude.Nothing,+        channelArn = pChannelArn_,+        memberArn = pMemberArn_,+        type' = pType_+      }++-- | The @AppInstanceUserArn@ of the user that makes the API call.+createChannelMembership_chimeBearer :: Lens.Lens' CreateChannelMembership (Prelude.Maybe Prelude.Text)+createChannelMembership_chimeBearer = Lens.lens (\CreateChannelMembership' {chimeBearer} -> chimeBearer) (\s@CreateChannelMembership' {} a -> s {chimeBearer = a} :: CreateChannelMembership)++-- | The ARN of the channel to which you\'re adding users.+createChannelMembership_channelArn :: Lens.Lens' CreateChannelMembership Prelude.Text+createChannelMembership_channelArn = Lens.lens (\CreateChannelMembership' {channelArn} -> channelArn) (\s@CreateChannelMembership' {} a -> s {channelArn = a} :: CreateChannelMembership)++-- | The ARN of the member you want to add to the channel.+createChannelMembership_memberArn :: Lens.Lens' CreateChannelMembership Prelude.Text+createChannelMembership_memberArn = Lens.lens (\CreateChannelMembership' {memberArn} -> memberArn) (\s@CreateChannelMembership' {} a -> s {memberArn = a} :: CreateChannelMembership)++-- | The membership type of a user, @DEFAULT@ or @HIDDEN@. Default members+-- are always returned as part of @ListChannelMemberships@. Hidden members+-- are only returned if the type filter in @ListChannelMemberships@ equals+-- @HIDDEN@. Otherwise hidden members are not returned. This is only+-- supported by moderators.+createChannelMembership_type :: Lens.Lens' CreateChannelMembership ChannelMembershipType+createChannelMembership_type = Lens.lens (\CreateChannelMembership' {type'} -> type') (\s@CreateChannelMembership' {} a -> s {type' = a} :: CreateChannelMembership)++instance Core.AWSRequest CreateChannelMembership where+  type+    AWSResponse CreateChannelMembership =+      CreateChannelMembershipResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateChannelMembershipResponse'+            Prelude.<$> (x Data..?> "ChannelArn")+            Prelude.<*> (x Data..?> "Member")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateChannelMembership where+  hashWithSalt _salt CreateChannelMembership' {..} =+    _salt+      `Prelude.hashWithSalt` chimeBearer+      `Prelude.hashWithSalt` channelArn+      `Prelude.hashWithSalt` memberArn+      `Prelude.hashWithSalt` type'++instance Prelude.NFData CreateChannelMembership where+  rnf CreateChannelMembership' {..} =+    Prelude.rnf chimeBearer+      `Prelude.seq` Prelude.rnf channelArn+      `Prelude.seq` Prelude.rnf memberArn+      `Prelude.seq` Prelude.rnf type'++instance Data.ToHeaders CreateChannelMembership where+  toHeaders CreateChannelMembership' {..} =+    Prelude.mconcat+      ["x-amz-chime-bearer" Data.=# chimeBearer]++instance Data.ToJSON CreateChannelMembership where+  toJSON CreateChannelMembership' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("MemberArn" Data..= memberArn),+            Prelude.Just ("Type" Data..= type')+          ]+      )++instance Data.ToPath CreateChannelMembership where+  toPath CreateChannelMembership' {..} =+    Prelude.mconcat+      ["/channels/", Data.toBS channelArn, "/memberships"]++instance Data.ToQuery CreateChannelMembership where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateChannelMembershipResponse' smart constructor.+data CreateChannelMembershipResponse = CreateChannelMembershipResponse'+  { -- | The ARN of the channel.+    channelArn :: Prelude.Maybe Prelude.Text,+    -- | The ARN and metadata of the member being added.+    member :: Prelude.Maybe Identity,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateChannelMembershipResponse' 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:+--+-- 'channelArn', 'createChannelMembershipResponse_channelArn' - The ARN of the channel.+--+-- 'member', 'createChannelMembershipResponse_member' - The ARN and metadata of the member being added.+--+-- 'httpStatus', 'createChannelMembershipResponse_httpStatus' - The response's http status code.+newCreateChannelMembershipResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateChannelMembershipResponse+newCreateChannelMembershipResponse pHttpStatus_ =+  CreateChannelMembershipResponse'+    { channelArn =+        Prelude.Nothing,+      member = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The ARN of the channel.+createChannelMembershipResponse_channelArn :: Lens.Lens' CreateChannelMembershipResponse (Prelude.Maybe Prelude.Text)+createChannelMembershipResponse_channelArn = Lens.lens (\CreateChannelMembershipResponse' {channelArn} -> channelArn) (\s@CreateChannelMembershipResponse' {} a -> s {channelArn = a} :: CreateChannelMembershipResponse)++-- | The ARN and metadata of the member being added.+createChannelMembershipResponse_member :: Lens.Lens' CreateChannelMembershipResponse (Prelude.Maybe Identity)+createChannelMembershipResponse_member = Lens.lens (\CreateChannelMembershipResponse' {member} -> member) (\s@CreateChannelMembershipResponse' {} a -> s {member = a} :: CreateChannelMembershipResponse)++-- | The response's http status code.+createChannelMembershipResponse_httpStatus :: Lens.Lens' CreateChannelMembershipResponse Prelude.Int+createChannelMembershipResponse_httpStatus = Lens.lens (\CreateChannelMembershipResponse' {httpStatus} -> httpStatus) (\s@CreateChannelMembershipResponse' {} a -> s {httpStatus = a} :: CreateChannelMembershipResponse)++instance+  Prelude.NFData+    CreateChannelMembershipResponse+  where+  rnf CreateChannelMembershipResponse' {..} =+    Prelude.rnf channelArn+      `Prelude.seq` Prelude.rnf member+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/CreateChannelModerator.hs view
@@ -0,0 +1,224 @@+{-# 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.Chime.CreateChannelModerator+-- 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 @ChannelModerator@. A channel moderator can:+--+-- -   Add and remove other members of the channel.+--+-- -   Add and remove other moderators of the channel.+--+-- -   Add and remove user bans for the channel.+--+-- -   Redact messages in the channel.+--+-- -   List messages in the channel.+--+-- The @x-amz-chime-bearer@ request header is mandatory. Use the+-- @AppInstanceUserArn@ of the user that makes the API call as the value in+-- the header.+module Amazonka.Chime.CreateChannelModerator+  ( -- * Creating a Request+    CreateChannelModerator (..),+    newCreateChannelModerator,++    -- * Request Lenses+    createChannelModerator_chimeBearer,+    createChannelModerator_channelArn,+    createChannelModerator_channelModeratorArn,++    -- * Destructuring the Response+    CreateChannelModeratorResponse (..),+    newCreateChannelModeratorResponse,++    -- * Response Lenses+    createChannelModeratorResponse_channelArn,+    createChannelModeratorResponse_channelModerator,+    createChannelModeratorResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newCreateChannelModerator' smart constructor.+data CreateChannelModerator = CreateChannelModerator'+  { -- | The @AppInstanceUserArn@ of the user that makes the API call.+    chimeBearer :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the channel.+    channelArn :: Prelude.Text,+    -- | The ARN of the moderator.+    channelModeratorArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateChannelModerator' 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:+--+-- 'chimeBearer', 'createChannelModerator_chimeBearer' - The @AppInstanceUserArn@ of the user that makes the API call.+--+-- 'channelArn', 'createChannelModerator_channelArn' - The ARN of the channel.+--+-- 'channelModeratorArn', 'createChannelModerator_channelModeratorArn' - The ARN of the moderator.+newCreateChannelModerator ::+  -- | 'channelArn'+  Prelude.Text ->+  -- | 'channelModeratorArn'+  Prelude.Text ->+  CreateChannelModerator+newCreateChannelModerator+  pChannelArn_+  pChannelModeratorArn_ =+    CreateChannelModerator'+      { chimeBearer =+          Prelude.Nothing,+        channelArn = pChannelArn_,+        channelModeratorArn = pChannelModeratorArn_+      }++-- | The @AppInstanceUserArn@ of the user that makes the API call.+createChannelModerator_chimeBearer :: Lens.Lens' CreateChannelModerator (Prelude.Maybe Prelude.Text)+createChannelModerator_chimeBearer = Lens.lens (\CreateChannelModerator' {chimeBearer} -> chimeBearer) (\s@CreateChannelModerator' {} a -> s {chimeBearer = a} :: CreateChannelModerator)++-- | The ARN of the channel.+createChannelModerator_channelArn :: Lens.Lens' CreateChannelModerator Prelude.Text+createChannelModerator_channelArn = Lens.lens (\CreateChannelModerator' {channelArn} -> channelArn) (\s@CreateChannelModerator' {} a -> s {channelArn = a} :: CreateChannelModerator)++-- | The ARN of the moderator.+createChannelModerator_channelModeratorArn :: Lens.Lens' CreateChannelModerator Prelude.Text+createChannelModerator_channelModeratorArn = Lens.lens (\CreateChannelModerator' {channelModeratorArn} -> channelModeratorArn) (\s@CreateChannelModerator' {} a -> s {channelModeratorArn = a} :: CreateChannelModerator)++instance Core.AWSRequest CreateChannelModerator where+  type+    AWSResponse CreateChannelModerator =+      CreateChannelModeratorResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateChannelModeratorResponse'+            Prelude.<$> (x Data..?> "ChannelArn")+            Prelude.<*> (x Data..?> "ChannelModerator")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateChannelModerator where+  hashWithSalt _salt CreateChannelModerator' {..} =+    _salt+      `Prelude.hashWithSalt` chimeBearer+      `Prelude.hashWithSalt` channelArn+      `Prelude.hashWithSalt` channelModeratorArn++instance Prelude.NFData CreateChannelModerator where+  rnf CreateChannelModerator' {..} =+    Prelude.rnf chimeBearer+      `Prelude.seq` Prelude.rnf channelArn+      `Prelude.seq` Prelude.rnf channelModeratorArn++instance Data.ToHeaders CreateChannelModerator where+  toHeaders CreateChannelModerator' {..} =+    Prelude.mconcat+      ["x-amz-chime-bearer" Data.=# chimeBearer]++instance Data.ToJSON CreateChannelModerator where+  toJSON CreateChannelModerator' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("ChannelModeratorArn" Data..= channelModeratorArn)+          ]+      )++instance Data.ToPath CreateChannelModerator where+  toPath CreateChannelModerator' {..} =+    Prelude.mconcat+      ["/channels/", Data.toBS channelArn, "/moderators"]++instance Data.ToQuery CreateChannelModerator where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateChannelModeratorResponse' smart constructor.+data CreateChannelModeratorResponse = CreateChannelModeratorResponse'+  { -- | The ARN of the channel.+    channelArn :: Prelude.Maybe Prelude.Text,+    -- | The ARNs of the channel and the moderator.+    channelModerator :: Prelude.Maybe Identity,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateChannelModeratorResponse' 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:+--+-- 'channelArn', 'createChannelModeratorResponse_channelArn' - The ARN of the channel.+--+-- 'channelModerator', 'createChannelModeratorResponse_channelModerator' - The ARNs of the channel and the moderator.+--+-- 'httpStatus', 'createChannelModeratorResponse_httpStatus' - The response's http status code.+newCreateChannelModeratorResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateChannelModeratorResponse+newCreateChannelModeratorResponse pHttpStatus_ =+  CreateChannelModeratorResponse'+    { channelArn =+        Prelude.Nothing,+      channelModerator = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The ARN of the channel.+createChannelModeratorResponse_channelArn :: Lens.Lens' CreateChannelModeratorResponse (Prelude.Maybe Prelude.Text)+createChannelModeratorResponse_channelArn = Lens.lens (\CreateChannelModeratorResponse' {channelArn} -> channelArn) (\s@CreateChannelModeratorResponse' {} a -> s {channelArn = a} :: CreateChannelModeratorResponse)++-- | The ARNs of the channel and the moderator.+createChannelModeratorResponse_channelModerator :: Lens.Lens' CreateChannelModeratorResponse (Prelude.Maybe Identity)+createChannelModeratorResponse_channelModerator = Lens.lens (\CreateChannelModeratorResponse' {channelModerator} -> channelModerator) (\s@CreateChannelModeratorResponse' {} a -> s {channelModerator = a} :: CreateChannelModeratorResponse)++-- | The response's http status code.+createChannelModeratorResponse_httpStatus :: Lens.Lens' CreateChannelModeratorResponse Prelude.Int+createChannelModeratorResponse_httpStatus = Lens.lens (\CreateChannelModeratorResponse' {httpStatus} -> httpStatus) (\s@CreateChannelModeratorResponse' {} a -> s {httpStatus = a} :: CreateChannelModeratorResponse)++instance+  Prelude.NFData+    CreateChannelModeratorResponse+  where+  rnf CreateChannelModeratorResponse' {..} =+    Prelude.rnf channelArn+      `Prelude.seq` Prelude.rnf channelModerator+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/CreateMediaCapturePipeline.hs view
@@ -0,0 +1,254 @@+{-# 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.Chime.CreateMediaCapturePipeline+-- 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 media capture pipeline.+module Amazonka.Chime.CreateMediaCapturePipeline+  ( -- * Creating a Request+    CreateMediaCapturePipeline (..),+    newCreateMediaCapturePipeline,++    -- * Request Lenses+    createMediaCapturePipeline_chimeSdkMeetingConfiguration,+    createMediaCapturePipeline_clientRequestToken,+    createMediaCapturePipeline_sourceType,+    createMediaCapturePipeline_sourceArn,+    createMediaCapturePipeline_sinkType,+    createMediaCapturePipeline_sinkArn,++    -- * Destructuring the Response+    CreateMediaCapturePipelineResponse (..),+    newCreateMediaCapturePipelineResponse,++    -- * Response Lenses+    createMediaCapturePipelineResponse_mediaCapturePipeline,+    createMediaCapturePipelineResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newCreateMediaCapturePipeline' smart constructor.+data CreateMediaCapturePipeline = CreateMediaCapturePipeline'+  { -- | The configuration for a specified media capture pipeline. @SourceType@+    -- must be @ChimeSdkMeeting@.+    chimeSdkMeetingConfiguration :: Prelude.Maybe ChimeSdkMeetingConfiguration,+    -- | The token assigned to the client making the pipeline request.+    clientRequestToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | Source type from which the media artifacts will be captured. A Chime SDK+    -- Meeting is the only supported source.+    sourceType :: MediaPipelineSourceType,+    -- | ARN of the source from which the media artifacts are captured.+    sourceArn :: Data.Sensitive Prelude.Text,+    -- | Destination type to which the media artifacts are saved. You must use an+    -- S3 bucket.+    sinkType :: MediaPipelineSinkType,+    -- | The ARN of the sink type.+    sinkArn :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateMediaCapturePipeline' 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:+--+-- 'chimeSdkMeetingConfiguration', 'createMediaCapturePipeline_chimeSdkMeetingConfiguration' - The configuration for a specified media capture pipeline. @SourceType@+-- must be @ChimeSdkMeeting@.+--+-- 'clientRequestToken', 'createMediaCapturePipeline_clientRequestToken' - The token assigned to the client making the pipeline request.+--+-- 'sourceType', 'createMediaCapturePipeline_sourceType' - Source type from which the media artifacts will be captured. A Chime SDK+-- Meeting is the only supported source.+--+-- 'sourceArn', 'createMediaCapturePipeline_sourceArn' - ARN of the source from which the media artifacts are captured.+--+-- 'sinkType', 'createMediaCapturePipeline_sinkType' - Destination type to which the media artifacts are saved. You must use an+-- S3 bucket.+--+-- 'sinkArn', 'createMediaCapturePipeline_sinkArn' - The ARN of the sink type.+newCreateMediaCapturePipeline ::+  -- | 'sourceType'+  MediaPipelineSourceType ->+  -- | 'sourceArn'+  Prelude.Text ->+  -- | 'sinkType'+  MediaPipelineSinkType ->+  -- | 'sinkArn'+  Prelude.Text ->+  CreateMediaCapturePipeline+newCreateMediaCapturePipeline+  pSourceType_+  pSourceArn_+  pSinkType_+  pSinkArn_ =+    CreateMediaCapturePipeline'+      { chimeSdkMeetingConfiguration =+          Prelude.Nothing,+        clientRequestToken = Prelude.Nothing,+        sourceType = pSourceType_,+        sourceArn = Data._Sensitive Lens.# pSourceArn_,+        sinkType = pSinkType_,+        sinkArn = Data._Sensitive Lens.# pSinkArn_+      }++-- | The configuration for a specified media capture pipeline. @SourceType@+-- must be @ChimeSdkMeeting@.+createMediaCapturePipeline_chimeSdkMeetingConfiguration :: Lens.Lens' CreateMediaCapturePipeline (Prelude.Maybe ChimeSdkMeetingConfiguration)+createMediaCapturePipeline_chimeSdkMeetingConfiguration = Lens.lens (\CreateMediaCapturePipeline' {chimeSdkMeetingConfiguration} -> chimeSdkMeetingConfiguration) (\s@CreateMediaCapturePipeline' {} a -> s {chimeSdkMeetingConfiguration = a} :: CreateMediaCapturePipeline)++-- | The token assigned to the client making the pipeline request.+createMediaCapturePipeline_clientRequestToken :: Lens.Lens' CreateMediaCapturePipeline (Prelude.Maybe Prelude.Text)+createMediaCapturePipeline_clientRequestToken = Lens.lens (\CreateMediaCapturePipeline' {clientRequestToken} -> clientRequestToken) (\s@CreateMediaCapturePipeline' {} a -> s {clientRequestToken = a} :: CreateMediaCapturePipeline) Prelude.. Lens.mapping Data._Sensitive++-- | Source type from which the media artifacts will be captured. A Chime SDK+-- Meeting is the only supported source.+createMediaCapturePipeline_sourceType :: Lens.Lens' CreateMediaCapturePipeline MediaPipelineSourceType+createMediaCapturePipeline_sourceType = Lens.lens (\CreateMediaCapturePipeline' {sourceType} -> sourceType) (\s@CreateMediaCapturePipeline' {} a -> s {sourceType = a} :: CreateMediaCapturePipeline)++-- | ARN of the source from which the media artifacts are captured.+createMediaCapturePipeline_sourceArn :: Lens.Lens' CreateMediaCapturePipeline Prelude.Text+createMediaCapturePipeline_sourceArn = Lens.lens (\CreateMediaCapturePipeline' {sourceArn} -> sourceArn) (\s@CreateMediaCapturePipeline' {} a -> s {sourceArn = a} :: CreateMediaCapturePipeline) Prelude.. Data._Sensitive++-- | Destination type to which the media artifacts are saved. You must use an+-- S3 bucket.+createMediaCapturePipeline_sinkType :: Lens.Lens' CreateMediaCapturePipeline MediaPipelineSinkType+createMediaCapturePipeline_sinkType = Lens.lens (\CreateMediaCapturePipeline' {sinkType} -> sinkType) (\s@CreateMediaCapturePipeline' {} a -> s {sinkType = a} :: CreateMediaCapturePipeline)++-- | The ARN of the sink type.+createMediaCapturePipeline_sinkArn :: Lens.Lens' CreateMediaCapturePipeline Prelude.Text+createMediaCapturePipeline_sinkArn = Lens.lens (\CreateMediaCapturePipeline' {sinkArn} -> sinkArn) (\s@CreateMediaCapturePipeline' {} a -> s {sinkArn = a} :: CreateMediaCapturePipeline) Prelude.. Data._Sensitive++instance Core.AWSRequest CreateMediaCapturePipeline where+  type+    AWSResponse CreateMediaCapturePipeline =+      CreateMediaCapturePipelineResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateMediaCapturePipelineResponse'+            Prelude.<$> (x Data..?> "MediaCapturePipeline")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateMediaCapturePipeline where+  hashWithSalt _salt CreateMediaCapturePipeline' {..} =+    _salt+      `Prelude.hashWithSalt` chimeSdkMeetingConfiguration+      `Prelude.hashWithSalt` clientRequestToken+      `Prelude.hashWithSalt` sourceType+      `Prelude.hashWithSalt` sourceArn+      `Prelude.hashWithSalt` sinkType+      `Prelude.hashWithSalt` sinkArn++instance Prelude.NFData CreateMediaCapturePipeline where+  rnf CreateMediaCapturePipeline' {..} =+    Prelude.rnf chimeSdkMeetingConfiguration+      `Prelude.seq` Prelude.rnf clientRequestToken+      `Prelude.seq` Prelude.rnf sourceType+      `Prelude.seq` Prelude.rnf sourceArn+      `Prelude.seq` Prelude.rnf sinkType+      `Prelude.seq` Prelude.rnf sinkArn++instance Data.ToHeaders CreateMediaCapturePipeline where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON CreateMediaCapturePipeline where+  toJSON CreateMediaCapturePipeline' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ChimeSdkMeetingConfiguration" Data..=)+              Prelude.<$> chimeSdkMeetingConfiguration,+            ("ClientRequestToken" Data..=)+              Prelude.<$> clientRequestToken,+            Prelude.Just ("SourceType" Data..= sourceType),+            Prelude.Just ("SourceArn" Data..= sourceArn),+            Prelude.Just ("SinkType" Data..= sinkType),+            Prelude.Just ("SinkArn" Data..= sinkArn)+          ]+      )++instance Data.ToPath CreateMediaCapturePipeline where+  toPath = Prelude.const "/media-capture-pipelines"++instance Data.ToQuery CreateMediaCapturePipeline where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateMediaCapturePipelineResponse' smart constructor.+data CreateMediaCapturePipelineResponse = CreateMediaCapturePipelineResponse'+  { -- | A media capture pipeline object, the ID, source type, source ARN, sink+    -- type, and sink ARN of a media capture pipeline object.+    mediaCapturePipeline :: Prelude.Maybe MediaCapturePipeline,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateMediaCapturePipelineResponse' 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:+--+-- 'mediaCapturePipeline', 'createMediaCapturePipelineResponse_mediaCapturePipeline' - A media capture pipeline object, the ID, source type, source ARN, sink+-- type, and sink ARN of a media capture pipeline object.+--+-- 'httpStatus', 'createMediaCapturePipelineResponse_httpStatus' - The response's http status code.+newCreateMediaCapturePipelineResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateMediaCapturePipelineResponse+newCreateMediaCapturePipelineResponse pHttpStatus_ =+  CreateMediaCapturePipelineResponse'+    { mediaCapturePipeline =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | A media capture pipeline object, the ID, source type, source ARN, sink+-- type, and sink ARN of a media capture pipeline object.+createMediaCapturePipelineResponse_mediaCapturePipeline :: Lens.Lens' CreateMediaCapturePipelineResponse (Prelude.Maybe MediaCapturePipeline)+createMediaCapturePipelineResponse_mediaCapturePipeline = Lens.lens (\CreateMediaCapturePipelineResponse' {mediaCapturePipeline} -> mediaCapturePipeline) (\s@CreateMediaCapturePipelineResponse' {} a -> s {mediaCapturePipeline = a} :: CreateMediaCapturePipelineResponse)++-- | The response's http status code.+createMediaCapturePipelineResponse_httpStatus :: Lens.Lens' CreateMediaCapturePipelineResponse Prelude.Int+createMediaCapturePipelineResponse_httpStatus = Lens.lens (\CreateMediaCapturePipelineResponse' {httpStatus} -> httpStatus) (\s@CreateMediaCapturePipelineResponse' {} a -> s {httpStatus = a} :: CreateMediaCapturePipelineResponse)++instance+  Prelude.NFData+    CreateMediaCapturePipelineResponse+  where+  rnf CreateMediaCapturePipelineResponse' {..} =+    Prelude.rnf mediaCapturePipeline+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/CreateMeeting.hs view
@@ -0,0 +1,260 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Chime.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.Chime.CreateMeeting+  ( -- * Creating a Request+    CreateMeeting (..),+    newCreateMeeting,++    -- * Request Lenses+    createMeeting_externalMeetingId,+    createMeeting_mediaRegion,+    createMeeting_meetingHostId,+    createMeeting_notificationsConfiguration,+    createMeeting_tags,+    createMeeting_clientRequestToken,++    -- * Destructuring the Response+    CreateMeetingResponse (..),+    newCreateMeetingResponse,++    -- * Response Lenses+    createMeetingResponse_meeting,+    createMeetingResponse_httpStatus,+  )+where++import Amazonka.Chime.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'+  { -- | The external meeting ID.+    externalMeetingId :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The Region in which to create the meeting. Default: @us-east-1@.+    --+    -- 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@ .+    mediaRegion :: Prelude.Maybe Prelude.Text,+    -- | 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 MeetingNotificationConfiguration,+    -- | The tag key-value pairs.+    tags :: Prelude.Maybe (Prelude.NonEmpty Tag),+    -- | The unique identifier for the client request. Use a different token for+    -- different meetings.+    clientRequestToken :: 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:+--+-- 'externalMeetingId', 'createMeeting_externalMeetingId' - The external meeting ID.+--+-- 'mediaRegion', 'createMeeting_mediaRegion' - The Region in which to create the meeting. Default: @us-east-1@.+--+-- 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@ .+--+-- 'meetingHostId', 'createMeeting_meetingHostId' - Reserved.+--+-- 'notificationsConfiguration', 'createMeeting_notificationsConfiguration' - The configuration for resource targets to receive notifications when+-- meeting and attendee events occur.+--+-- 'tags', 'createMeeting_tags' - The tag key-value pairs.+--+-- 'clientRequestToken', 'createMeeting_clientRequestToken' - The unique identifier for the client request. Use a different token for+-- different meetings.+newCreateMeeting ::+  -- | 'clientRequestToken'+  Prelude.Text ->+  CreateMeeting+newCreateMeeting pClientRequestToken_ =+  CreateMeeting'+    { externalMeetingId = Prelude.Nothing,+      mediaRegion = Prelude.Nothing,+      meetingHostId = Prelude.Nothing,+      notificationsConfiguration = Prelude.Nothing,+      tags = Prelude.Nothing,+      clientRequestToken =+        Data._Sensitive Lens.# pClientRequestToken_+    }++-- | The external meeting ID.+createMeeting_externalMeetingId :: Lens.Lens' CreateMeeting (Prelude.Maybe Prelude.Text)+createMeeting_externalMeetingId = Lens.lens (\CreateMeeting' {externalMeetingId} -> externalMeetingId) (\s@CreateMeeting' {} a -> s {externalMeetingId = a} :: CreateMeeting) Prelude.. Lens.mapping Data._Sensitive++-- | The Region in which to create the meeting. Default: @us-east-1@.+--+-- 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@ .+createMeeting_mediaRegion :: Lens.Lens' CreateMeeting (Prelude.Maybe Prelude.Text)+createMeeting_mediaRegion = Lens.lens (\CreateMeeting' {mediaRegion} -> mediaRegion) (\s@CreateMeeting' {} a -> s {mediaRegion = 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 MeetingNotificationConfiguration)+createMeeting_notificationsConfiguration = Lens.lens (\CreateMeeting' {notificationsConfiguration} -> notificationsConfiguration) (\s@CreateMeeting' {} a -> s {notificationsConfiguration = a} :: CreateMeeting)++-- | The tag key-value pairs.+createMeeting_tags :: Lens.Lens' CreateMeeting (Prelude.Maybe (Prelude.NonEmpty Tag))+createMeeting_tags = Lens.lens (\CreateMeeting' {tags} -> tags) (\s@CreateMeeting' {} a -> s {tags = 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++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` externalMeetingId+      `Prelude.hashWithSalt` mediaRegion+      `Prelude.hashWithSalt` meetingHostId+      `Prelude.hashWithSalt` notificationsConfiguration+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` clientRequestToken++instance Prelude.NFData CreateMeeting where+  rnf CreateMeeting' {..} =+    Prelude.rnf externalMeetingId+      `Prelude.seq` Prelude.rnf mediaRegion+      `Prelude.seq` Prelude.rnf meetingHostId+      `Prelude.seq` Prelude.rnf notificationsConfiguration+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf clientRequestToken++instance Data.ToHeaders CreateMeeting where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON CreateMeeting where+  toJSON CreateMeeting' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ExternalMeetingId" Data..=)+              Prelude.<$> externalMeetingId,+            ("MediaRegion" Data..=) Prelude.<$> mediaRegion,+            ("MeetingHostId" Data..=) Prelude.<$> meetingHostId,+            ("NotificationsConfiguration" Data..=)+              Prelude.<$> notificationsConfiguration,+            ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just+              ("ClientRequestToken" Data..= clientRequestToken)+          ]+      )++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/Chime/CreateMeetingDialOut.hs view
@@ -0,0 +1,230 @@+{-# 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.Chime.CreateMeetingDialOut+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Uses the join token and call metadata in a meeting request (From number,+-- To number, and so forth) to initiate an outbound call to a public+-- switched telephone network (PSTN) and join them into a Chime meeting.+-- Also ensures that the From number belongs to the customer.+--+-- To play welcome audio or implement an interactive voice response (IVR),+-- use the @CreateSipMediaApplicationCall@ action with the corresponding+-- SIP media application ID.+module Amazonka.Chime.CreateMeetingDialOut+  ( -- * Creating a Request+    CreateMeetingDialOut (..),+    newCreateMeetingDialOut,++    -- * Request Lenses+    createMeetingDialOut_meetingId,+    createMeetingDialOut_fromPhoneNumber,+    createMeetingDialOut_toPhoneNumber,+    createMeetingDialOut_joinToken,++    -- * Destructuring the Response+    CreateMeetingDialOutResponse (..),+    newCreateMeetingDialOutResponse,++    -- * Response Lenses+    createMeetingDialOutResponse_transactionId,+    createMeetingDialOutResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newCreateMeetingDialOut' smart constructor.+data CreateMeetingDialOut = CreateMeetingDialOut'+  { -- | The Amazon Chime SDK meeting ID.+    meetingId :: Prelude.Text,+    -- | Phone number used as the caller ID when the remote party receives a+    -- call.+    fromPhoneNumber :: Data.Sensitive Prelude.Text,+    -- | Phone number called when inviting someone to a meeting.+    toPhoneNumber :: Data.Sensitive Prelude.Text,+    -- | Token used by the Amazon Chime SDK attendee. Call the+    -- <https://docs.aws.amazon.com/chime/latest/APIReference/API_CreateAttendee.html CreateAttendee>+    -- action to get a join token.+    joinToken :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateMeetingDialOut' 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', 'createMeetingDialOut_meetingId' - The Amazon Chime SDK meeting ID.+--+-- 'fromPhoneNumber', 'createMeetingDialOut_fromPhoneNumber' - Phone number used as the caller ID when the remote party receives a+-- call.+--+-- 'toPhoneNumber', 'createMeetingDialOut_toPhoneNumber' - Phone number called when inviting someone to a meeting.+--+-- 'joinToken', 'createMeetingDialOut_joinToken' - Token used by the Amazon Chime SDK attendee. Call the+-- <https://docs.aws.amazon.com/chime/latest/APIReference/API_CreateAttendee.html CreateAttendee>+-- action to get a join token.+newCreateMeetingDialOut ::+  -- | 'meetingId'+  Prelude.Text ->+  -- | 'fromPhoneNumber'+  Prelude.Text ->+  -- | 'toPhoneNumber'+  Prelude.Text ->+  -- | 'joinToken'+  Prelude.Text ->+  CreateMeetingDialOut+newCreateMeetingDialOut+  pMeetingId_+  pFromPhoneNumber_+  pToPhoneNumber_+  pJoinToken_ =+    CreateMeetingDialOut'+      { meetingId = pMeetingId_,+        fromPhoneNumber =+          Data._Sensitive Lens.# pFromPhoneNumber_,+        toPhoneNumber =+          Data._Sensitive Lens.# pToPhoneNumber_,+        joinToken = Data._Sensitive Lens.# pJoinToken_+      }++-- | The Amazon Chime SDK meeting ID.+createMeetingDialOut_meetingId :: Lens.Lens' CreateMeetingDialOut Prelude.Text+createMeetingDialOut_meetingId = Lens.lens (\CreateMeetingDialOut' {meetingId} -> meetingId) (\s@CreateMeetingDialOut' {} a -> s {meetingId = a} :: CreateMeetingDialOut)++-- | Phone number used as the caller ID when the remote party receives a+-- call.+createMeetingDialOut_fromPhoneNumber :: Lens.Lens' CreateMeetingDialOut Prelude.Text+createMeetingDialOut_fromPhoneNumber = Lens.lens (\CreateMeetingDialOut' {fromPhoneNumber} -> fromPhoneNumber) (\s@CreateMeetingDialOut' {} a -> s {fromPhoneNumber = a} :: CreateMeetingDialOut) Prelude.. Data._Sensitive++-- | Phone number called when inviting someone to a meeting.+createMeetingDialOut_toPhoneNumber :: Lens.Lens' CreateMeetingDialOut Prelude.Text+createMeetingDialOut_toPhoneNumber = Lens.lens (\CreateMeetingDialOut' {toPhoneNumber} -> toPhoneNumber) (\s@CreateMeetingDialOut' {} a -> s {toPhoneNumber = a} :: CreateMeetingDialOut) Prelude.. Data._Sensitive++-- | Token used by the Amazon Chime SDK attendee. Call the+-- <https://docs.aws.amazon.com/chime/latest/APIReference/API_CreateAttendee.html CreateAttendee>+-- action to get a join token.+createMeetingDialOut_joinToken :: Lens.Lens' CreateMeetingDialOut Prelude.Text+createMeetingDialOut_joinToken = Lens.lens (\CreateMeetingDialOut' {joinToken} -> joinToken) (\s@CreateMeetingDialOut' {} a -> s {joinToken = a} :: CreateMeetingDialOut) Prelude.. Data._Sensitive++instance Core.AWSRequest CreateMeetingDialOut where+  type+    AWSResponse CreateMeetingDialOut =+      CreateMeetingDialOutResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateMeetingDialOutResponse'+            Prelude.<$> (x Data..?> "TransactionId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateMeetingDialOut where+  hashWithSalt _salt CreateMeetingDialOut' {..} =+    _salt+      `Prelude.hashWithSalt` meetingId+      `Prelude.hashWithSalt` fromPhoneNumber+      `Prelude.hashWithSalt` toPhoneNumber+      `Prelude.hashWithSalt` joinToken++instance Prelude.NFData CreateMeetingDialOut where+  rnf CreateMeetingDialOut' {..} =+    Prelude.rnf meetingId+      `Prelude.seq` Prelude.rnf fromPhoneNumber+      `Prelude.seq` Prelude.rnf toPhoneNumber+      `Prelude.seq` Prelude.rnf joinToken++instance Data.ToHeaders CreateMeetingDialOut where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON CreateMeetingDialOut where+  toJSON CreateMeetingDialOut' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("FromPhoneNumber" Data..= fromPhoneNumber),+            Prelude.Just ("ToPhoneNumber" Data..= toPhoneNumber),+            Prelude.Just ("JoinToken" Data..= joinToken)+          ]+      )++instance Data.ToPath CreateMeetingDialOut where+  toPath CreateMeetingDialOut' {..} =+    Prelude.mconcat+      ["/meetings/", Data.toBS meetingId, "/dial-outs"]++instance Data.ToQuery CreateMeetingDialOut where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateMeetingDialOutResponse' smart constructor.+data CreateMeetingDialOutResponse = CreateMeetingDialOutResponse'+  { -- | Unique ID that tracks API calls.+    transactionId :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateMeetingDialOutResponse' 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:+--+-- 'transactionId', 'createMeetingDialOutResponse_transactionId' - Unique ID that tracks API calls.+--+-- 'httpStatus', 'createMeetingDialOutResponse_httpStatus' - The response's http status code.+newCreateMeetingDialOutResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateMeetingDialOutResponse+newCreateMeetingDialOutResponse pHttpStatus_ =+  CreateMeetingDialOutResponse'+    { transactionId =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Unique ID that tracks API calls.+createMeetingDialOutResponse_transactionId :: Lens.Lens' CreateMeetingDialOutResponse (Prelude.Maybe Prelude.Text)+createMeetingDialOutResponse_transactionId = Lens.lens (\CreateMeetingDialOutResponse' {transactionId} -> transactionId) (\s@CreateMeetingDialOutResponse' {} a -> s {transactionId = a} :: CreateMeetingDialOutResponse)++-- | The response's http status code.+createMeetingDialOutResponse_httpStatus :: Lens.Lens' CreateMeetingDialOutResponse Prelude.Int+createMeetingDialOutResponse_httpStatus = Lens.lens (\CreateMeetingDialOutResponse' {httpStatus} -> httpStatus) (\s@CreateMeetingDialOutResponse' {} a -> s {httpStatus = a} :: CreateMeetingDialOutResponse)++instance Prelude.NFData CreateMeetingDialOutResponse where+  rnf CreateMeetingDialOutResponse' {..} =+    Prelude.rnf transactionId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/CreateMeetingWithAttendees.hs view
@@ -0,0 +1,304 @@+{-# 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.Chime.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.Chime.CreateMeetingWithAttendees+  ( -- * Creating a Request+    CreateMeetingWithAttendees (..),+    newCreateMeetingWithAttendees,++    -- * Request Lenses+    createMeetingWithAttendees_attendees,+    createMeetingWithAttendees_externalMeetingId,+    createMeetingWithAttendees_mediaRegion,+    createMeetingWithAttendees_meetingHostId,+    createMeetingWithAttendees_notificationsConfiguration,+    createMeetingWithAttendees_tags,+    createMeetingWithAttendees_clientRequestToken,++    -- * Destructuring the Response+    CreateMeetingWithAttendeesResponse (..),+    newCreateMeetingWithAttendeesResponse,++    -- * Response Lenses+    createMeetingWithAttendeesResponse_attendees,+    createMeetingWithAttendeesResponse_errors,+    createMeetingWithAttendeesResponse_meeting,+    createMeetingWithAttendeesResponse_httpStatus,+  )+where++import Amazonka.Chime.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'+  { -- | The request containing the attendees to create.+    attendees :: Prelude.Maybe (Prelude.NonEmpty CreateAttendeeRequestItem),+    -- | The external meeting ID.+    externalMeetingId :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The Region in which to create the meeting. Default: @us-east-1@ .+    --+    -- 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@ .+    mediaRegion :: Prelude.Maybe Prelude.Text,+    -- | Reserved.+    meetingHostId :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    notificationsConfiguration :: Prelude.Maybe MeetingNotificationConfiguration,+    -- | The tag key-value pairs.+    tags :: Prelude.Maybe (Prelude.NonEmpty Tag),+    -- | The unique identifier for the client request. Use a different token for+    -- different meetings.+    clientRequestToken :: Data.Sensitive Prelude.Text+  }+  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:+--+-- 'attendees', 'createMeetingWithAttendees_attendees' - The request containing the attendees to create.+--+-- 'externalMeetingId', 'createMeetingWithAttendees_externalMeetingId' - The external meeting ID.+--+-- 'mediaRegion', 'createMeetingWithAttendees_mediaRegion' - The Region in which to create the meeting. Default: @us-east-1@ .+--+-- 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@ .+--+-- 'meetingHostId', 'createMeetingWithAttendees_meetingHostId' - Reserved.+--+-- 'notificationsConfiguration', 'createMeetingWithAttendees_notificationsConfiguration' - Undocumented member.+--+-- 'tags', 'createMeetingWithAttendees_tags' - The tag key-value pairs.+--+-- 'clientRequestToken', 'createMeetingWithAttendees_clientRequestToken' - The unique identifier for the client request. Use a different token for+-- different meetings.+newCreateMeetingWithAttendees ::+  -- | 'clientRequestToken'+  Prelude.Text ->+  CreateMeetingWithAttendees+newCreateMeetingWithAttendees pClientRequestToken_ =+  CreateMeetingWithAttendees'+    { attendees =+        Prelude.Nothing,+      externalMeetingId = Prelude.Nothing,+      mediaRegion = Prelude.Nothing,+      meetingHostId = Prelude.Nothing,+      notificationsConfiguration = Prelude.Nothing,+      tags = Prelude.Nothing,+      clientRequestToken =+        Data._Sensitive Lens.# pClientRequestToken_+    }++-- | The request containing the attendees to create.+createMeetingWithAttendees_attendees :: Lens.Lens' CreateMeetingWithAttendees (Prelude.Maybe (Prelude.NonEmpty CreateAttendeeRequestItem))+createMeetingWithAttendees_attendees = Lens.lens (\CreateMeetingWithAttendees' {attendees} -> attendees) (\s@CreateMeetingWithAttendees' {} a -> s {attendees = a} :: CreateMeetingWithAttendees) Prelude.. Lens.mapping Lens.coerced++-- | The external meeting ID.+createMeetingWithAttendees_externalMeetingId :: Lens.Lens' CreateMeetingWithAttendees (Prelude.Maybe Prelude.Text)+createMeetingWithAttendees_externalMeetingId = Lens.lens (\CreateMeetingWithAttendees' {externalMeetingId} -> externalMeetingId) (\s@CreateMeetingWithAttendees' {} a -> s {externalMeetingId = a} :: CreateMeetingWithAttendees) Prelude.. Lens.mapping Data._Sensitive++-- | The Region in which to create the meeting. Default: @us-east-1@ .+--+-- 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@ .+createMeetingWithAttendees_mediaRegion :: Lens.Lens' CreateMeetingWithAttendees (Prelude.Maybe Prelude.Text)+createMeetingWithAttendees_mediaRegion = Lens.lens (\CreateMeetingWithAttendees' {mediaRegion} -> mediaRegion) (\s@CreateMeetingWithAttendees' {} a -> s {mediaRegion = 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++-- | Undocumented member.+createMeetingWithAttendees_notificationsConfiguration :: Lens.Lens' CreateMeetingWithAttendees (Prelude.Maybe MeetingNotificationConfiguration)+createMeetingWithAttendees_notificationsConfiguration = Lens.lens (\CreateMeetingWithAttendees' {notificationsConfiguration} -> notificationsConfiguration) (\s@CreateMeetingWithAttendees' {} a -> s {notificationsConfiguration = a} :: CreateMeetingWithAttendees)++-- | The tag key-value pairs.+createMeetingWithAttendees_tags :: Lens.Lens' CreateMeetingWithAttendees (Prelude.Maybe (Prelude.NonEmpty Tag))+createMeetingWithAttendees_tags = Lens.lens (\CreateMeetingWithAttendees' {tags} -> tags) (\s@CreateMeetingWithAttendees' {} a -> s {tags = 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++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` attendees+      `Prelude.hashWithSalt` externalMeetingId+      `Prelude.hashWithSalt` mediaRegion+      `Prelude.hashWithSalt` meetingHostId+      `Prelude.hashWithSalt` notificationsConfiguration+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` clientRequestToken++instance Prelude.NFData CreateMeetingWithAttendees where+  rnf CreateMeetingWithAttendees' {..} =+    Prelude.rnf attendees+      `Prelude.seq` Prelude.rnf externalMeetingId+      `Prelude.seq` Prelude.rnf mediaRegion+      `Prelude.seq` Prelude.rnf meetingHostId+      `Prelude.seq` Prelude.rnf notificationsConfiguration+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf clientRequestToken++instance Data.ToHeaders CreateMeetingWithAttendees where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON CreateMeetingWithAttendees where+  toJSON CreateMeetingWithAttendees' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Attendees" Data..=) Prelude.<$> attendees,+            ("ExternalMeetingId" Data..=)+              Prelude.<$> externalMeetingId,+            ("MediaRegion" Data..=) Prelude.<$> mediaRegion,+            ("MeetingHostId" Data..=) Prelude.<$> meetingHostId,+            ("NotificationsConfiguration" Data..=)+              Prelude.<$> notificationsConfiguration,+            ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just+              ("ClientRequestToken" Data..= clientRequestToken)+          ]+      )++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],+    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' - Undocumented member.+--+-- '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++-- | Undocumented member.+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/Chime/CreatePhoneNumberOrder.hs view
@@ -0,0 +1,182 @@+{-# 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.Chime.CreatePhoneNumberOrder+-- 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 an order for phone numbers to be provisioned. For toll-free+-- numbers, you cannot use the Amazon Chime Business Calling product type.+-- For numbers outside the U.S., you must use the Amazon Chime SIP Media+-- Application Dial-In product type.+module Amazonka.Chime.CreatePhoneNumberOrder+  ( -- * Creating a Request+    CreatePhoneNumberOrder (..),+    newCreatePhoneNumberOrder,++    -- * Request Lenses+    createPhoneNumberOrder_productType,+    createPhoneNumberOrder_e164PhoneNumbers,++    -- * Destructuring the Response+    CreatePhoneNumberOrderResponse (..),+    newCreatePhoneNumberOrderResponse,++    -- * Response Lenses+    createPhoneNumberOrderResponse_phoneNumberOrder,+    createPhoneNumberOrderResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newCreatePhoneNumberOrder' smart constructor.+data CreatePhoneNumberOrder = CreatePhoneNumberOrder'+  { -- | The phone number product type.+    productType :: PhoneNumberProductType,+    -- | List of phone numbers, in E.164 format.+    e164PhoneNumbers :: [Data.Sensitive Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreatePhoneNumberOrder' 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:+--+-- 'productType', 'createPhoneNumberOrder_productType' - The phone number product type.+--+-- 'e164PhoneNumbers', 'createPhoneNumberOrder_e164PhoneNumbers' - List of phone numbers, in E.164 format.+newCreatePhoneNumberOrder ::+  -- | 'productType'+  PhoneNumberProductType ->+  CreatePhoneNumberOrder+newCreatePhoneNumberOrder pProductType_ =+  CreatePhoneNumberOrder'+    { productType =+        pProductType_,+      e164PhoneNumbers = Prelude.mempty+    }++-- | The phone number product type.+createPhoneNumberOrder_productType :: Lens.Lens' CreatePhoneNumberOrder PhoneNumberProductType+createPhoneNumberOrder_productType = Lens.lens (\CreatePhoneNumberOrder' {productType} -> productType) (\s@CreatePhoneNumberOrder' {} a -> s {productType = a} :: CreatePhoneNumberOrder)++-- | List of phone numbers, in E.164 format.+createPhoneNumberOrder_e164PhoneNumbers :: Lens.Lens' CreatePhoneNumberOrder [Prelude.Text]+createPhoneNumberOrder_e164PhoneNumbers = Lens.lens (\CreatePhoneNumberOrder' {e164PhoneNumbers} -> e164PhoneNumbers) (\s@CreatePhoneNumberOrder' {} a -> s {e164PhoneNumbers = a} :: CreatePhoneNumberOrder) Prelude.. Lens.coerced++instance Core.AWSRequest CreatePhoneNumberOrder where+  type+    AWSResponse CreatePhoneNumberOrder =+      CreatePhoneNumberOrderResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreatePhoneNumberOrderResponse'+            Prelude.<$> (x Data..?> "PhoneNumberOrder")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreatePhoneNumberOrder where+  hashWithSalt _salt CreatePhoneNumberOrder' {..} =+    _salt+      `Prelude.hashWithSalt` productType+      `Prelude.hashWithSalt` e164PhoneNumbers++instance Prelude.NFData CreatePhoneNumberOrder where+  rnf CreatePhoneNumberOrder' {..} =+    Prelude.rnf productType+      `Prelude.seq` Prelude.rnf e164PhoneNumbers++instance Data.ToHeaders CreatePhoneNumberOrder where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON CreatePhoneNumberOrder where+  toJSON CreatePhoneNumberOrder' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("ProductType" Data..= productType),+            Prelude.Just+              ("E164PhoneNumbers" Data..= e164PhoneNumbers)+          ]+      )++instance Data.ToPath CreatePhoneNumberOrder where+  toPath = Prelude.const "/phone-number-orders"++instance Data.ToQuery CreatePhoneNumberOrder where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreatePhoneNumberOrderResponse' smart constructor.+data CreatePhoneNumberOrderResponse = CreatePhoneNumberOrderResponse'+  { -- | The phone number order details.+    phoneNumberOrder :: Prelude.Maybe PhoneNumberOrder,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreatePhoneNumberOrderResponse' 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:+--+-- 'phoneNumberOrder', 'createPhoneNumberOrderResponse_phoneNumberOrder' - The phone number order details.+--+-- 'httpStatus', 'createPhoneNumberOrderResponse_httpStatus' - The response's http status code.+newCreatePhoneNumberOrderResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreatePhoneNumberOrderResponse+newCreatePhoneNumberOrderResponse pHttpStatus_ =+  CreatePhoneNumberOrderResponse'+    { phoneNumberOrder =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The phone number order details.+createPhoneNumberOrderResponse_phoneNumberOrder :: Lens.Lens' CreatePhoneNumberOrderResponse (Prelude.Maybe PhoneNumberOrder)+createPhoneNumberOrderResponse_phoneNumberOrder = Lens.lens (\CreatePhoneNumberOrderResponse' {phoneNumberOrder} -> phoneNumberOrder) (\s@CreatePhoneNumberOrderResponse' {} a -> s {phoneNumberOrder = a} :: CreatePhoneNumberOrderResponse)++-- | The response's http status code.+createPhoneNumberOrderResponse_httpStatus :: Lens.Lens' CreatePhoneNumberOrderResponse Prelude.Int+createPhoneNumberOrderResponse_httpStatus = Lens.lens (\CreatePhoneNumberOrderResponse' {httpStatus} -> httpStatus) (\s@CreatePhoneNumberOrderResponse' {} a -> s {httpStatus = a} :: CreatePhoneNumberOrderResponse)++instance+  Prelude.NFData+    CreatePhoneNumberOrderResponse+  where+  rnf CreatePhoneNumberOrderResponse' {..} =+    Prelude.rnf phoneNumberOrder+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/CreateProxySession.hs view
@@ -0,0 +1,274 @@+{-# 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.Chime.CreateProxySession+-- 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 proxy session on the specified Amazon Chime Voice Connector+-- for the specified participant phone numbers.+module Amazonka.Chime.CreateProxySession+  ( -- * Creating a Request+    CreateProxySession (..),+    newCreateProxySession,++    -- * Request Lenses+    createProxySession_expiryMinutes,+    createProxySession_geoMatchLevel,+    createProxySession_geoMatchParams,+    createProxySession_name,+    createProxySession_numberSelectionBehavior,+    createProxySession_participantPhoneNumbers,+    createProxySession_capabilities,+    createProxySession_voiceConnectorId,++    -- * Destructuring the Response+    CreateProxySessionResponse (..),+    newCreateProxySessionResponse,++    -- * Response Lenses+    createProxySessionResponse_proxySession,+    createProxySessionResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newCreateProxySession' smart constructor.+data CreateProxySession = CreateProxySession'+  { -- | The number of minutes allowed for the proxy session.+    expiryMinutes :: Prelude.Maybe Prelude.Natural,+    -- | The preference for matching the country or area code of the proxy phone+    -- number with that of the first participant.+    geoMatchLevel :: Prelude.Maybe GeoMatchLevel,+    -- | The country and area code for the proxy phone number.+    geoMatchParams :: Prelude.Maybe GeoMatchParams,+    -- | The name of the proxy session.+    name :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The preference for proxy phone number reuse, or stickiness, between the+    -- same participants across sessions.+    numberSelectionBehavior :: Prelude.Maybe NumberSelectionBehavior,+    -- | The participant phone numbers.+    participantPhoneNumbers :: Prelude.NonEmpty (Data.Sensitive Prelude.Text),+    -- | The proxy session capabilities.+    capabilities :: [Capability],+    -- | The Amazon Chime voice connector ID.+    voiceConnectorId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateProxySession' 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:+--+-- 'expiryMinutes', 'createProxySession_expiryMinutes' - The number of minutes allowed for the proxy session.+--+-- 'geoMatchLevel', 'createProxySession_geoMatchLevel' - The preference for matching the country or area code of the proxy phone+-- number with that of the first participant.+--+-- 'geoMatchParams', 'createProxySession_geoMatchParams' - The country and area code for the proxy phone number.+--+-- 'name', 'createProxySession_name' - The name of the proxy session.+--+-- 'numberSelectionBehavior', 'createProxySession_numberSelectionBehavior' - The preference for proxy phone number reuse, or stickiness, between the+-- same participants across sessions.+--+-- 'participantPhoneNumbers', 'createProxySession_participantPhoneNumbers' - The participant phone numbers.+--+-- 'capabilities', 'createProxySession_capabilities' - The proxy session capabilities.+--+-- 'voiceConnectorId', 'createProxySession_voiceConnectorId' - The Amazon Chime voice connector ID.+newCreateProxySession ::+  -- | 'participantPhoneNumbers'+  Prelude.NonEmpty Prelude.Text ->+  -- | 'voiceConnectorId'+  Prelude.Text ->+  CreateProxySession+newCreateProxySession+  pParticipantPhoneNumbers_+  pVoiceConnectorId_ =+    CreateProxySession'+      { expiryMinutes =+          Prelude.Nothing,+        geoMatchLevel = Prelude.Nothing,+        geoMatchParams = Prelude.Nothing,+        name = Prelude.Nothing,+        numberSelectionBehavior = Prelude.Nothing,+        participantPhoneNumbers =+          Lens.coerced Lens.# pParticipantPhoneNumbers_,+        capabilities = Prelude.mempty,+        voiceConnectorId = pVoiceConnectorId_+      }++-- | The number of minutes allowed for the proxy session.+createProxySession_expiryMinutes :: Lens.Lens' CreateProxySession (Prelude.Maybe Prelude.Natural)+createProxySession_expiryMinutes = Lens.lens (\CreateProxySession' {expiryMinutes} -> expiryMinutes) (\s@CreateProxySession' {} a -> s {expiryMinutes = a} :: CreateProxySession)++-- | The preference for matching the country or area code of the proxy phone+-- number with that of the first participant.+createProxySession_geoMatchLevel :: Lens.Lens' CreateProxySession (Prelude.Maybe GeoMatchLevel)+createProxySession_geoMatchLevel = Lens.lens (\CreateProxySession' {geoMatchLevel} -> geoMatchLevel) (\s@CreateProxySession' {} a -> s {geoMatchLevel = a} :: CreateProxySession)++-- | The country and area code for the proxy phone number.+createProxySession_geoMatchParams :: Lens.Lens' CreateProxySession (Prelude.Maybe GeoMatchParams)+createProxySession_geoMatchParams = Lens.lens (\CreateProxySession' {geoMatchParams} -> geoMatchParams) (\s@CreateProxySession' {} a -> s {geoMatchParams = a} :: CreateProxySession)++-- | The name of the proxy session.+createProxySession_name :: Lens.Lens' CreateProxySession (Prelude.Maybe Prelude.Text)+createProxySession_name = Lens.lens (\CreateProxySession' {name} -> name) (\s@CreateProxySession' {} a -> s {name = a} :: CreateProxySession) Prelude.. Lens.mapping Data._Sensitive++-- | The preference for proxy phone number reuse, or stickiness, between the+-- same participants across sessions.+createProxySession_numberSelectionBehavior :: Lens.Lens' CreateProxySession (Prelude.Maybe NumberSelectionBehavior)+createProxySession_numberSelectionBehavior = Lens.lens (\CreateProxySession' {numberSelectionBehavior} -> numberSelectionBehavior) (\s@CreateProxySession' {} a -> s {numberSelectionBehavior = a} :: CreateProxySession)++-- | The participant phone numbers.+createProxySession_participantPhoneNumbers :: Lens.Lens' CreateProxySession (Prelude.NonEmpty Prelude.Text)+createProxySession_participantPhoneNumbers = Lens.lens (\CreateProxySession' {participantPhoneNumbers} -> participantPhoneNumbers) (\s@CreateProxySession' {} a -> s {participantPhoneNumbers = a} :: CreateProxySession) Prelude.. Lens.coerced++-- | The proxy session capabilities.+createProxySession_capabilities :: Lens.Lens' CreateProxySession [Capability]+createProxySession_capabilities = Lens.lens (\CreateProxySession' {capabilities} -> capabilities) (\s@CreateProxySession' {} a -> s {capabilities = a} :: CreateProxySession) Prelude.. Lens.coerced++-- | The Amazon Chime voice connector ID.+createProxySession_voiceConnectorId :: Lens.Lens' CreateProxySession Prelude.Text+createProxySession_voiceConnectorId = Lens.lens (\CreateProxySession' {voiceConnectorId} -> voiceConnectorId) (\s@CreateProxySession' {} a -> s {voiceConnectorId = a} :: CreateProxySession)++instance Core.AWSRequest CreateProxySession where+  type+    AWSResponse CreateProxySession =+      CreateProxySessionResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateProxySessionResponse'+            Prelude.<$> (x Data..?> "ProxySession")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateProxySession where+  hashWithSalt _salt CreateProxySession' {..} =+    _salt+      `Prelude.hashWithSalt` expiryMinutes+      `Prelude.hashWithSalt` geoMatchLevel+      `Prelude.hashWithSalt` geoMatchParams+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` numberSelectionBehavior+      `Prelude.hashWithSalt` participantPhoneNumbers+      `Prelude.hashWithSalt` capabilities+      `Prelude.hashWithSalt` voiceConnectorId++instance Prelude.NFData CreateProxySession where+  rnf CreateProxySession' {..} =+    Prelude.rnf expiryMinutes+      `Prelude.seq` Prelude.rnf geoMatchLevel+      `Prelude.seq` Prelude.rnf geoMatchParams+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf numberSelectionBehavior+      `Prelude.seq` Prelude.rnf participantPhoneNumbers+      `Prelude.seq` Prelude.rnf capabilities+      `Prelude.seq` Prelude.rnf voiceConnectorId++instance Data.ToHeaders CreateProxySession where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON CreateProxySession where+  toJSON CreateProxySession' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ExpiryMinutes" Data..=) Prelude.<$> expiryMinutes,+            ("GeoMatchLevel" Data..=) Prelude.<$> geoMatchLevel,+            ("GeoMatchParams" Data..=)+              Prelude.<$> geoMatchParams,+            ("Name" Data..=) Prelude.<$> name,+            ("NumberSelectionBehavior" Data..=)+              Prelude.<$> numberSelectionBehavior,+            Prelude.Just+              ( "ParticipantPhoneNumbers"+                  Data..= participantPhoneNumbers+              ),+            Prelude.Just ("Capabilities" Data..= capabilities)+          ]+      )++instance Data.ToPath CreateProxySession where+  toPath CreateProxySession' {..} =+    Prelude.mconcat+      [ "/voice-connectors/",+        Data.toBS voiceConnectorId,+        "/proxy-sessions"+      ]++instance Data.ToQuery CreateProxySession where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateProxySessionResponse' smart constructor.+data CreateProxySessionResponse = CreateProxySessionResponse'+  { -- | The proxy session details.+    proxySession :: Prelude.Maybe ProxySession,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateProxySessionResponse' 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:+--+-- 'proxySession', 'createProxySessionResponse_proxySession' - The proxy session details.+--+-- 'httpStatus', 'createProxySessionResponse_httpStatus' - The response's http status code.+newCreateProxySessionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateProxySessionResponse+newCreateProxySessionResponse pHttpStatus_ =+  CreateProxySessionResponse'+    { proxySession =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The proxy session details.+createProxySessionResponse_proxySession :: Lens.Lens' CreateProxySessionResponse (Prelude.Maybe ProxySession)+createProxySessionResponse_proxySession = Lens.lens (\CreateProxySessionResponse' {proxySession} -> proxySession) (\s@CreateProxySessionResponse' {} a -> s {proxySession = a} :: CreateProxySessionResponse)++-- | The response's http status code.+createProxySessionResponse_httpStatus :: Lens.Lens' CreateProxySessionResponse Prelude.Int+createProxySessionResponse_httpStatus = Lens.lens (\CreateProxySessionResponse' {httpStatus} -> httpStatus) (\s@CreateProxySessionResponse' {} a -> s {httpStatus = a} :: CreateProxySessionResponse)++instance Prelude.NFData CreateProxySessionResponse where+  rnf CreateProxySessionResponse' {..} =+    Prelude.rnf proxySession+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/CreateRoom.hs view
@@ -0,0 +1,188 @@+{-# 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.Chime.CreateRoom+-- 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 chat room for the specified Amazon Chime Enterprise account.+module Amazonka.Chime.CreateRoom+  ( -- * Creating a Request+    CreateRoom (..),+    newCreateRoom,++    -- * Request Lenses+    createRoom_clientRequestToken,+    createRoom_accountId,+    createRoom_name,++    -- * Destructuring the Response+    CreateRoomResponse (..),+    newCreateRoomResponse,++    -- * Response Lenses+    createRoomResponse_room,+    createRoomResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newCreateRoom' smart constructor.+data CreateRoom = CreateRoom'+  { -- | The idempotency token for the request.+    clientRequestToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The Amazon Chime account ID.+    accountId :: Prelude.Text,+    -- | The room name.+    name :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateRoom' 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:+--+-- 'clientRequestToken', 'createRoom_clientRequestToken' - The idempotency token for the request.+--+-- 'accountId', 'createRoom_accountId' - The Amazon Chime account ID.+--+-- 'name', 'createRoom_name' - The room name.+newCreateRoom ::+  -- | 'accountId'+  Prelude.Text ->+  -- | 'name'+  Prelude.Text ->+  CreateRoom+newCreateRoom pAccountId_ pName_ =+  CreateRoom'+    { clientRequestToken = Prelude.Nothing,+      accountId = pAccountId_,+      name = Data._Sensitive Lens.# pName_+    }++-- | The idempotency token for the request.+createRoom_clientRequestToken :: Lens.Lens' CreateRoom (Prelude.Maybe Prelude.Text)+createRoom_clientRequestToken = Lens.lens (\CreateRoom' {clientRequestToken} -> clientRequestToken) (\s@CreateRoom' {} a -> s {clientRequestToken = a} :: CreateRoom) Prelude.. Lens.mapping Data._Sensitive++-- | The Amazon Chime account ID.+createRoom_accountId :: Lens.Lens' CreateRoom Prelude.Text+createRoom_accountId = Lens.lens (\CreateRoom' {accountId} -> accountId) (\s@CreateRoom' {} a -> s {accountId = a} :: CreateRoom)++-- | The room name.+createRoom_name :: Lens.Lens' CreateRoom Prelude.Text+createRoom_name = Lens.lens (\CreateRoom' {name} -> name) (\s@CreateRoom' {} a -> s {name = a} :: CreateRoom) Prelude.. Data._Sensitive++instance Core.AWSRequest CreateRoom where+  type AWSResponse CreateRoom = CreateRoomResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateRoomResponse'+            Prelude.<$> (x Data..?> "Room")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateRoom where+  hashWithSalt _salt CreateRoom' {..} =+    _salt+      `Prelude.hashWithSalt` clientRequestToken+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` name++instance Prelude.NFData CreateRoom where+  rnf CreateRoom' {..} =+    Prelude.rnf clientRequestToken+      `Prelude.seq` Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders CreateRoom where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON CreateRoom where+  toJSON CreateRoom' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ClientRequestToken" Data..=)+              Prelude.<$> clientRequestToken,+            Prelude.Just ("Name" Data..= name)+          ]+      )++instance Data.ToPath CreateRoom where+  toPath CreateRoom' {..} =+    Prelude.mconcat+      ["/accounts/", Data.toBS accountId, "/rooms"]++instance Data.ToQuery CreateRoom where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateRoomResponse' smart constructor.+data CreateRoomResponse = CreateRoomResponse'+  { -- | The room details.+    room :: Prelude.Maybe Room,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateRoomResponse' 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:+--+-- 'room', 'createRoomResponse_room' - The room details.+--+-- 'httpStatus', 'createRoomResponse_httpStatus' - The response's http status code.+newCreateRoomResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateRoomResponse+newCreateRoomResponse pHttpStatus_ =+  CreateRoomResponse'+    { room = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The room details.+createRoomResponse_room :: Lens.Lens' CreateRoomResponse (Prelude.Maybe Room)+createRoomResponse_room = Lens.lens (\CreateRoomResponse' {room} -> room) (\s@CreateRoomResponse' {} a -> s {room = a} :: CreateRoomResponse)++-- | The response's http status code.+createRoomResponse_httpStatus :: Lens.Lens' CreateRoomResponse Prelude.Int+createRoomResponse_httpStatus = Lens.lens (\CreateRoomResponse' {httpStatus} -> httpStatus) (\s@CreateRoomResponse' {} a -> s {httpStatus = a} :: CreateRoomResponse)++instance Prelude.NFData CreateRoomResponse where+  rnf CreateRoomResponse' {..} =+    Prelude.rnf room+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/CreateRoomMembership.hs view
@@ -0,0 +1,214 @@+{-# 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.Chime.CreateRoomMembership+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds a member to a chat room in an Amazon Chime Enterprise account. A+-- member can be either a user or a bot. The member role designates whether+-- the member is a chat room administrator or a general chat room member.+module Amazonka.Chime.CreateRoomMembership+  ( -- * Creating a Request+    CreateRoomMembership (..),+    newCreateRoomMembership,++    -- * Request Lenses+    createRoomMembership_role,+    createRoomMembership_accountId,+    createRoomMembership_roomId,+    createRoomMembership_memberId,++    -- * Destructuring the Response+    CreateRoomMembershipResponse (..),+    newCreateRoomMembershipResponse,++    -- * Response Lenses+    createRoomMembershipResponse_roomMembership,+    createRoomMembershipResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newCreateRoomMembership' smart constructor.+data CreateRoomMembership = CreateRoomMembership'+  { -- | The role of the member.+    role' :: Prelude.Maybe RoomMembershipRole,+    -- | The Amazon Chime account ID.+    accountId :: Prelude.Text,+    -- | The room ID.+    roomId :: Prelude.Text,+    -- | The Amazon Chime member ID (user ID or bot ID).+    memberId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateRoomMembership' 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:+--+-- 'role'', 'createRoomMembership_role' - The role of the member.+--+-- 'accountId', 'createRoomMembership_accountId' - The Amazon Chime account ID.+--+-- 'roomId', 'createRoomMembership_roomId' - The room ID.+--+-- 'memberId', 'createRoomMembership_memberId' - The Amazon Chime member ID (user ID or bot ID).+newCreateRoomMembership ::+  -- | 'accountId'+  Prelude.Text ->+  -- | 'roomId'+  Prelude.Text ->+  -- | 'memberId'+  Prelude.Text ->+  CreateRoomMembership+newCreateRoomMembership+  pAccountId_+  pRoomId_+  pMemberId_ =+    CreateRoomMembership'+      { role' = Prelude.Nothing,+        accountId = pAccountId_,+        roomId = pRoomId_,+        memberId = pMemberId_+      }++-- | The role of the member.+createRoomMembership_role :: Lens.Lens' CreateRoomMembership (Prelude.Maybe RoomMembershipRole)+createRoomMembership_role = Lens.lens (\CreateRoomMembership' {role'} -> role') (\s@CreateRoomMembership' {} a -> s {role' = a} :: CreateRoomMembership)++-- | The Amazon Chime account ID.+createRoomMembership_accountId :: Lens.Lens' CreateRoomMembership Prelude.Text+createRoomMembership_accountId = Lens.lens (\CreateRoomMembership' {accountId} -> accountId) (\s@CreateRoomMembership' {} a -> s {accountId = a} :: CreateRoomMembership)++-- | The room ID.+createRoomMembership_roomId :: Lens.Lens' CreateRoomMembership Prelude.Text+createRoomMembership_roomId = Lens.lens (\CreateRoomMembership' {roomId} -> roomId) (\s@CreateRoomMembership' {} a -> s {roomId = a} :: CreateRoomMembership)++-- | The Amazon Chime member ID (user ID or bot ID).+createRoomMembership_memberId :: Lens.Lens' CreateRoomMembership Prelude.Text+createRoomMembership_memberId = Lens.lens (\CreateRoomMembership' {memberId} -> memberId) (\s@CreateRoomMembership' {} a -> s {memberId = a} :: CreateRoomMembership)++instance Core.AWSRequest CreateRoomMembership where+  type+    AWSResponse CreateRoomMembership =+      CreateRoomMembershipResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateRoomMembershipResponse'+            Prelude.<$> (x Data..?> "RoomMembership")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateRoomMembership where+  hashWithSalt _salt CreateRoomMembership' {..} =+    _salt+      `Prelude.hashWithSalt` role'+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` roomId+      `Prelude.hashWithSalt` memberId++instance Prelude.NFData CreateRoomMembership where+  rnf CreateRoomMembership' {..} =+    Prelude.rnf role'+      `Prelude.seq` Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf roomId+      `Prelude.seq` Prelude.rnf memberId++instance Data.ToHeaders CreateRoomMembership where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON CreateRoomMembership where+  toJSON CreateRoomMembership' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Role" Data..=) Prelude.<$> role',+            Prelude.Just ("MemberId" Data..= memberId)+          ]+      )++instance Data.ToPath CreateRoomMembership where+  toPath CreateRoomMembership' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS accountId,+        "/rooms/",+        Data.toBS roomId,+        "/memberships"+      ]++instance Data.ToQuery CreateRoomMembership where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateRoomMembershipResponse' smart constructor.+data CreateRoomMembershipResponse = CreateRoomMembershipResponse'+  { -- | The room membership details.+    roomMembership :: Prelude.Maybe RoomMembership,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateRoomMembershipResponse' 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:+--+-- 'roomMembership', 'createRoomMembershipResponse_roomMembership' - The room membership details.+--+-- 'httpStatus', 'createRoomMembershipResponse_httpStatus' - The response's http status code.+newCreateRoomMembershipResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateRoomMembershipResponse+newCreateRoomMembershipResponse pHttpStatus_ =+  CreateRoomMembershipResponse'+    { roomMembership =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The room membership details.+createRoomMembershipResponse_roomMembership :: Lens.Lens' CreateRoomMembershipResponse (Prelude.Maybe RoomMembership)+createRoomMembershipResponse_roomMembership = Lens.lens (\CreateRoomMembershipResponse' {roomMembership} -> roomMembership) (\s@CreateRoomMembershipResponse' {} a -> s {roomMembership = a} :: CreateRoomMembershipResponse)++-- | The response's http status code.+createRoomMembershipResponse_httpStatus :: Lens.Lens' CreateRoomMembershipResponse Prelude.Int+createRoomMembershipResponse_httpStatus = Lens.lens (\CreateRoomMembershipResponse' {httpStatus} -> httpStatus) (\s@CreateRoomMembershipResponse' {} a -> s {httpStatus = a} :: CreateRoomMembershipResponse)++instance Prelude.NFData CreateRoomMembershipResponse where+  rnf CreateRoomMembershipResponse' {..} =+    Prelude.rnf roomMembership+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/CreateSipMediaApplication.hs view
@@ -0,0 +1,200 @@+{-# 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.Chime.CreateSipMediaApplication+-- 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 SIP media application.+module Amazonka.Chime.CreateSipMediaApplication+  ( -- * Creating a Request+    CreateSipMediaApplication (..),+    newCreateSipMediaApplication,++    -- * Request Lenses+    createSipMediaApplication_awsRegion,+    createSipMediaApplication_name,+    createSipMediaApplication_endpoints,++    -- * Destructuring the Response+    CreateSipMediaApplicationResponse (..),+    newCreateSipMediaApplicationResponse,++    -- * Response Lenses+    createSipMediaApplicationResponse_sipMediaApplication,+    createSipMediaApplicationResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newCreateSipMediaApplication' smart constructor.+data CreateSipMediaApplication = CreateSipMediaApplication'+  { -- | The AWS Region assigned to the SIP media application.+    awsRegion :: Prelude.Text,+    -- | The SIP media application name.+    name :: Prelude.Text,+    -- | List of endpoints (Lambda Amazon Resource Names) specified for the SIP+    -- media application. Currently, only one endpoint is supported.+    endpoints :: Prelude.NonEmpty SipMediaApplicationEndpoint+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateSipMediaApplication' 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:+--+-- 'awsRegion', 'createSipMediaApplication_awsRegion' - The AWS Region assigned to the SIP media application.+--+-- 'name', 'createSipMediaApplication_name' - The SIP media application name.+--+-- 'endpoints', 'createSipMediaApplication_endpoints' - List of endpoints (Lambda Amazon Resource Names) specified for the SIP+-- media application. Currently, only one endpoint is supported.+newCreateSipMediaApplication ::+  -- | 'awsRegion'+  Prelude.Text ->+  -- | 'name'+  Prelude.Text ->+  -- | 'endpoints'+  Prelude.NonEmpty SipMediaApplicationEndpoint ->+  CreateSipMediaApplication+newCreateSipMediaApplication+  pAwsRegion_+  pName_+  pEndpoints_ =+    CreateSipMediaApplication'+      { awsRegion = pAwsRegion_,+        name = pName_,+        endpoints = Lens.coerced Lens.# pEndpoints_+      }++-- | The AWS Region assigned to the SIP media application.+createSipMediaApplication_awsRegion :: Lens.Lens' CreateSipMediaApplication Prelude.Text+createSipMediaApplication_awsRegion = Lens.lens (\CreateSipMediaApplication' {awsRegion} -> awsRegion) (\s@CreateSipMediaApplication' {} a -> s {awsRegion = a} :: CreateSipMediaApplication)++-- | The SIP media application name.+createSipMediaApplication_name :: Lens.Lens' CreateSipMediaApplication Prelude.Text+createSipMediaApplication_name = Lens.lens (\CreateSipMediaApplication' {name} -> name) (\s@CreateSipMediaApplication' {} a -> s {name = a} :: CreateSipMediaApplication)++-- | List of endpoints (Lambda Amazon Resource Names) specified for the SIP+-- media application. Currently, only one endpoint is supported.+createSipMediaApplication_endpoints :: Lens.Lens' CreateSipMediaApplication (Prelude.NonEmpty SipMediaApplicationEndpoint)+createSipMediaApplication_endpoints = Lens.lens (\CreateSipMediaApplication' {endpoints} -> endpoints) (\s@CreateSipMediaApplication' {} a -> s {endpoints = a} :: CreateSipMediaApplication) Prelude.. Lens.coerced++instance Core.AWSRequest CreateSipMediaApplication where+  type+    AWSResponse CreateSipMediaApplication =+      CreateSipMediaApplicationResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateSipMediaApplicationResponse'+            Prelude.<$> (x Data..?> "SipMediaApplication")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateSipMediaApplication where+  hashWithSalt _salt CreateSipMediaApplication' {..} =+    _salt+      `Prelude.hashWithSalt` awsRegion+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` endpoints++instance Prelude.NFData CreateSipMediaApplication where+  rnf CreateSipMediaApplication' {..} =+    Prelude.rnf awsRegion+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf endpoints++instance Data.ToHeaders CreateSipMediaApplication where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON CreateSipMediaApplication where+  toJSON CreateSipMediaApplication' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("AwsRegion" Data..= awsRegion),+            Prelude.Just ("Name" Data..= name),+            Prelude.Just ("Endpoints" Data..= endpoints)+          ]+      )++instance Data.ToPath CreateSipMediaApplication where+  toPath = Prelude.const "/sip-media-applications"++instance Data.ToQuery CreateSipMediaApplication where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateSipMediaApplicationResponse' smart constructor.+data CreateSipMediaApplicationResponse = CreateSipMediaApplicationResponse'+  { -- | The SIP media application details.+    sipMediaApplication :: Prelude.Maybe SipMediaApplication,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateSipMediaApplicationResponse' 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:+--+-- 'sipMediaApplication', 'createSipMediaApplicationResponse_sipMediaApplication' - The SIP media application details.+--+-- 'httpStatus', 'createSipMediaApplicationResponse_httpStatus' - The response's http status code.+newCreateSipMediaApplicationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateSipMediaApplicationResponse+newCreateSipMediaApplicationResponse pHttpStatus_ =+  CreateSipMediaApplicationResponse'+    { sipMediaApplication =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The SIP media application details.+createSipMediaApplicationResponse_sipMediaApplication :: Lens.Lens' CreateSipMediaApplicationResponse (Prelude.Maybe SipMediaApplication)+createSipMediaApplicationResponse_sipMediaApplication = Lens.lens (\CreateSipMediaApplicationResponse' {sipMediaApplication} -> sipMediaApplication) (\s@CreateSipMediaApplicationResponse' {} a -> s {sipMediaApplication = a} :: CreateSipMediaApplicationResponse)++-- | The response's http status code.+createSipMediaApplicationResponse_httpStatus :: Lens.Lens' CreateSipMediaApplicationResponse Prelude.Int+createSipMediaApplicationResponse_httpStatus = Lens.lens (\CreateSipMediaApplicationResponse' {httpStatus} -> httpStatus) (\s@CreateSipMediaApplicationResponse' {} a -> s {httpStatus = a} :: CreateSipMediaApplicationResponse)++instance+  Prelude.NFData+    CreateSipMediaApplicationResponse+  where+  rnf CreateSipMediaApplicationResponse' {..} =+    Prelude.rnf sipMediaApplication+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/CreateSipMediaApplicationCall.hs view
@@ -0,0 +1,231 @@+{-# 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.Chime.CreateSipMediaApplicationCall+-- 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 an outbound call to a phone number from the phone number+-- specified in the request, and it invokes the endpoint of the specified+-- @sipMediaApplicationId@.+module Amazonka.Chime.CreateSipMediaApplicationCall+  ( -- * Creating a Request+    CreateSipMediaApplicationCall (..),+    newCreateSipMediaApplicationCall,++    -- * Request Lenses+    createSipMediaApplicationCall_sipHeaders,+    createSipMediaApplicationCall_fromPhoneNumber,+    createSipMediaApplicationCall_toPhoneNumber,+    createSipMediaApplicationCall_sipMediaApplicationId,++    -- * Destructuring the Response+    CreateSipMediaApplicationCallResponse (..),+    newCreateSipMediaApplicationCallResponse,++    -- * Response Lenses+    createSipMediaApplicationCallResponse_sipMediaApplicationCall,+    createSipMediaApplicationCallResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newCreateSipMediaApplicationCall' smart constructor.+data CreateSipMediaApplicationCall = CreateSipMediaApplicationCall'+  { -- | The SIP headers added to an outbound call leg.+    sipHeaders :: Prelude.Maybe (Prelude.HashMap Prelude.Text (Data.Sensitive Prelude.Text)),+    -- | The phone number that a user calls from. This is a phone number in your+    -- Amazon Chime phone number inventory.+    fromPhoneNumber :: Data.Sensitive Prelude.Text,+    -- | The phone number that the service should call.+    toPhoneNumber :: Data.Sensitive Prelude.Text,+    -- | The ID of the SIP media application.+    sipMediaApplicationId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateSipMediaApplicationCall' 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:+--+-- 'sipHeaders', 'createSipMediaApplicationCall_sipHeaders' - The SIP headers added to an outbound call leg.+--+-- 'fromPhoneNumber', 'createSipMediaApplicationCall_fromPhoneNumber' - The phone number that a user calls from. This is a phone number in your+-- Amazon Chime phone number inventory.+--+-- 'toPhoneNumber', 'createSipMediaApplicationCall_toPhoneNumber' - The phone number that the service should call.+--+-- 'sipMediaApplicationId', 'createSipMediaApplicationCall_sipMediaApplicationId' - The ID of the SIP media application.+newCreateSipMediaApplicationCall ::+  -- | 'fromPhoneNumber'+  Prelude.Text ->+  -- | 'toPhoneNumber'+  Prelude.Text ->+  -- | 'sipMediaApplicationId'+  Prelude.Text ->+  CreateSipMediaApplicationCall+newCreateSipMediaApplicationCall+  pFromPhoneNumber_+  pToPhoneNumber_+  pSipMediaApplicationId_ =+    CreateSipMediaApplicationCall'+      { sipHeaders =+          Prelude.Nothing,+        fromPhoneNumber =+          Data._Sensitive Lens.# pFromPhoneNumber_,+        toPhoneNumber =+          Data._Sensitive Lens.# pToPhoneNumber_,+        sipMediaApplicationId =+          pSipMediaApplicationId_+      }++-- | The SIP headers added to an outbound call leg.+createSipMediaApplicationCall_sipHeaders :: Lens.Lens' CreateSipMediaApplicationCall (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createSipMediaApplicationCall_sipHeaders = Lens.lens (\CreateSipMediaApplicationCall' {sipHeaders} -> sipHeaders) (\s@CreateSipMediaApplicationCall' {} a -> s {sipHeaders = a} :: CreateSipMediaApplicationCall) Prelude.. Lens.mapping Lens.coerced++-- | The phone number that a user calls from. This is a phone number in your+-- Amazon Chime phone number inventory.+createSipMediaApplicationCall_fromPhoneNumber :: Lens.Lens' CreateSipMediaApplicationCall Prelude.Text+createSipMediaApplicationCall_fromPhoneNumber = Lens.lens (\CreateSipMediaApplicationCall' {fromPhoneNumber} -> fromPhoneNumber) (\s@CreateSipMediaApplicationCall' {} a -> s {fromPhoneNumber = a} :: CreateSipMediaApplicationCall) Prelude.. Data._Sensitive++-- | The phone number that the service should call.+createSipMediaApplicationCall_toPhoneNumber :: Lens.Lens' CreateSipMediaApplicationCall Prelude.Text+createSipMediaApplicationCall_toPhoneNumber = Lens.lens (\CreateSipMediaApplicationCall' {toPhoneNumber} -> toPhoneNumber) (\s@CreateSipMediaApplicationCall' {} a -> s {toPhoneNumber = a} :: CreateSipMediaApplicationCall) Prelude.. Data._Sensitive++-- | The ID of the SIP media application.+createSipMediaApplicationCall_sipMediaApplicationId :: Lens.Lens' CreateSipMediaApplicationCall Prelude.Text+createSipMediaApplicationCall_sipMediaApplicationId = Lens.lens (\CreateSipMediaApplicationCall' {sipMediaApplicationId} -> sipMediaApplicationId) (\s@CreateSipMediaApplicationCall' {} a -> s {sipMediaApplicationId = a} :: CreateSipMediaApplicationCall)++instance+  Core.AWSRequest+    CreateSipMediaApplicationCall+  where+  type+    AWSResponse CreateSipMediaApplicationCall =+      CreateSipMediaApplicationCallResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateSipMediaApplicationCallResponse'+            Prelude.<$> (x Data..?> "SipMediaApplicationCall")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    CreateSipMediaApplicationCall+  where+  hashWithSalt _salt CreateSipMediaApplicationCall' {..} =+    _salt+      `Prelude.hashWithSalt` sipHeaders+      `Prelude.hashWithSalt` fromPhoneNumber+      `Prelude.hashWithSalt` toPhoneNumber+      `Prelude.hashWithSalt` sipMediaApplicationId++instance Prelude.NFData CreateSipMediaApplicationCall where+  rnf CreateSipMediaApplicationCall' {..} =+    Prelude.rnf sipHeaders+      `Prelude.seq` Prelude.rnf fromPhoneNumber+      `Prelude.seq` Prelude.rnf toPhoneNumber+      `Prelude.seq` Prelude.rnf sipMediaApplicationId++instance Data.ToHeaders CreateSipMediaApplicationCall where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON CreateSipMediaApplicationCall where+  toJSON CreateSipMediaApplicationCall' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("SipHeaders" Data..=) Prelude.<$> sipHeaders,+            Prelude.Just+              ("FromPhoneNumber" Data..= fromPhoneNumber),+            Prelude.Just+              ("ToPhoneNumber" Data..= toPhoneNumber)+          ]+      )++instance Data.ToPath CreateSipMediaApplicationCall where+  toPath CreateSipMediaApplicationCall' {..} =+    Prelude.mconcat+      [ "/sip-media-applications/",+        Data.toBS sipMediaApplicationId,+        "/calls"+      ]++instance Data.ToQuery CreateSipMediaApplicationCall where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateSipMediaApplicationCallResponse' smart constructor.+data CreateSipMediaApplicationCallResponse = CreateSipMediaApplicationCallResponse'+  { -- | The actual call.+    sipMediaApplicationCall :: Prelude.Maybe SipMediaApplicationCall,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateSipMediaApplicationCallResponse' 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:+--+-- 'sipMediaApplicationCall', 'createSipMediaApplicationCallResponse_sipMediaApplicationCall' - The actual call.+--+-- 'httpStatus', 'createSipMediaApplicationCallResponse_httpStatus' - The response's http status code.+newCreateSipMediaApplicationCallResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateSipMediaApplicationCallResponse+newCreateSipMediaApplicationCallResponse pHttpStatus_ =+  CreateSipMediaApplicationCallResponse'+    { sipMediaApplicationCall =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The actual call.+createSipMediaApplicationCallResponse_sipMediaApplicationCall :: Lens.Lens' CreateSipMediaApplicationCallResponse (Prelude.Maybe SipMediaApplicationCall)+createSipMediaApplicationCallResponse_sipMediaApplicationCall = Lens.lens (\CreateSipMediaApplicationCallResponse' {sipMediaApplicationCall} -> sipMediaApplicationCall) (\s@CreateSipMediaApplicationCallResponse' {} a -> s {sipMediaApplicationCall = a} :: CreateSipMediaApplicationCallResponse)++-- | The response's http status code.+createSipMediaApplicationCallResponse_httpStatus :: Lens.Lens' CreateSipMediaApplicationCallResponse Prelude.Int+createSipMediaApplicationCallResponse_httpStatus = Lens.lens (\CreateSipMediaApplicationCallResponse' {httpStatus} -> httpStatus) (\s@CreateSipMediaApplicationCallResponse' {} a -> s {httpStatus = a} :: CreateSipMediaApplicationCallResponse)++instance+  Prelude.NFData+    CreateSipMediaApplicationCallResponse+  where+  rnf CreateSipMediaApplicationCallResponse' {..} =+    Prelude.rnf sipMediaApplicationCall+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/CreateSipRule.hs view
@@ -0,0 +1,255 @@+{-# 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.Chime.CreateSipRule+-- 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 SIP rule which can be used to run a SIP media application as a+-- target for a specific trigger type.+module Amazonka.Chime.CreateSipRule+  ( -- * Creating a Request+    CreateSipRule (..),+    newCreateSipRule,++    -- * Request Lenses+    createSipRule_disabled,+    createSipRule_name,+    createSipRule_triggerType,+    createSipRule_triggerValue,+    createSipRule_targetApplications,++    -- * Destructuring the Response+    CreateSipRuleResponse (..),+    newCreateSipRuleResponse,++    -- * Response Lenses+    createSipRuleResponse_sipRule,+    createSipRuleResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newCreateSipRule' smart constructor.+data CreateSipRule = CreateSipRule'+  { -- | Enables or disables a rule. You must disable rules before you can delete+    -- them.+    disabled :: Prelude.Maybe Prelude.Bool,+    -- | The name of the SIP rule.+    name :: Prelude.Text,+    -- | The type of trigger assigned to the SIP rule in @TriggerValue@,+    -- currently @RequestUriHostname@ or @ToPhoneNumber@.+    triggerType :: SipRuleTriggerType,+    -- | If @TriggerType@ is @RequestUriHostname@, the value can be the outbound+    -- host name of an Amazon Chime Voice Connector. If @TriggerType@ is+    -- @ToPhoneNumber@, the value can be a customer-owned phone number in the+    -- E164 format. The @SipMediaApplication@ specified in the @SipRule@ is+    -- triggered if the request URI in an incoming SIP request matches the+    -- @RequestUriHostname@, or if the @To@ header in the incoming SIP request+    -- matches the @ToPhoneNumber@ value.+    triggerValue :: Prelude.Text,+    -- | List of SIP media applications with priority and AWS Region. Only one+    -- SIP application per AWS Region can be used.+    targetApplications :: Prelude.NonEmpty SipRuleTargetApplication+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateSipRule' 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:+--+-- 'disabled', 'createSipRule_disabled' - Enables or disables a rule. You must disable rules before you can delete+-- them.+--+-- 'name', 'createSipRule_name' - The name of the SIP rule.+--+-- 'triggerType', 'createSipRule_triggerType' - The type of trigger assigned to the SIP rule in @TriggerValue@,+-- currently @RequestUriHostname@ or @ToPhoneNumber@.+--+-- 'triggerValue', 'createSipRule_triggerValue' - If @TriggerType@ is @RequestUriHostname@, the value can be the outbound+-- host name of an Amazon Chime Voice Connector. If @TriggerType@ is+-- @ToPhoneNumber@, the value can be a customer-owned phone number in the+-- E164 format. The @SipMediaApplication@ specified in the @SipRule@ is+-- triggered if the request URI in an incoming SIP request matches the+-- @RequestUriHostname@, or if the @To@ header in the incoming SIP request+-- matches the @ToPhoneNumber@ value.+--+-- 'targetApplications', 'createSipRule_targetApplications' - List of SIP media applications with priority and AWS Region. Only one+-- SIP application per AWS Region can be used.+newCreateSipRule ::+  -- | 'name'+  Prelude.Text ->+  -- | 'triggerType'+  SipRuleTriggerType ->+  -- | 'triggerValue'+  Prelude.Text ->+  -- | 'targetApplications'+  Prelude.NonEmpty SipRuleTargetApplication ->+  CreateSipRule+newCreateSipRule+  pName_+  pTriggerType_+  pTriggerValue_+  pTargetApplications_ =+    CreateSipRule'+      { disabled = Prelude.Nothing,+        name = pName_,+        triggerType = pTriggerType_,+        triggerValue = pTriggerValue_,+        targetApplications =+          Lens.coerced Lens.# pTargetApplications_+      }++-- | Enables or disables a rule. You must disable rules before you can delete+-- them.+createSipRule_disabled :: Lens.Lens' CreateSipRule (Prelude.Maybe Prelude.Bool)+createSipRule_disabled = Lens.lens (\CreateSipRule' {disabled} -> disabled) (\s@CreateSipRule' {} a -> s {disabled = a} :: CreateSipRule)++-- | The name of the SIP rule.+createSipRule_name :: Lens.Lens' CreateSipRule Prelude.Text+createSipRule_name = Lens.lens (\CreateSipRule' {name} -> name) (\s@CreateSipRule' {} a -> s {name = a} :: CreateSipRule)++-- | The type of trigger assigned to the SIP rule in @TriggerValue@,+-- currently @RequestUriHostname@ or @ToPhoneNumber@.+createSipRule_triggerType :: Lens.Lens' CreateSipRule SipRuleTriggerType+createSipRule_triggerType = Lens.lens (\CreateSipRule' {triggerType} -> triggerType) (\s@CreateSipRule' {} a -> s {triggerType = a} :: CreateSipRule)++-- | If @TriggerType@ is @RequestUriHostname@, the value can be the outbound+-- host name of an Amazon Chime Voice Connector. If @TriggerType@ is+-- @ToPhoneNumber@, the value can be a customer-owned phone number in the+-- E164 format. The @SipMediaApplication@ specified in the @SipRule@ is+-- triggered if the request URI in an incoming SIP request matches the+-- @RequestUriHostname@, or if the @To@ header in the incoming SIP request+-- matches the @ToPhoneNumber@ value.+createSipRule_triggerValue :: Lens.Lens' CreateSipRule Prelude.Text+createSipRule_triggerValue = Lens.lens (\CreateSipRule' {triggerValue} -> triggerValue) (\s@CreateSipRule' {} a -> s {triggerValue = a} :: CreateSipRule)++-- | List of SIP media applications with priority and AWS Region. Only one+-- SIP application per AWS Region can be used.+createSipRule_targetApplications :: Lens.Lens' CreateSipRule (Prelude.NonEmpty SipRuleTargetApplication)+createSipRule_targetApplications = Lens.lens (\CreateSipRule' {targetApplications} -> targetApplications) (\s@CreateSipRule' {} a -> s {targetApplications = a} :: CreateSipRule) Prelude.. Lens.coerced++instance Core.AWSRequest CreateSipRule where+  type+    AWSResponse CreateSipRule =+      CreateSipRuleResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateSipRuleResponse'+            Prelude.<$> (x Data..?> "SipRule")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateSipRule where+  hashWithSalt _salt CreateSipRule' {..} =+    _salt+      `Prelude.hashWithSalt` disabled+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` triggerType+      `Prelude.hashWithSalt` triggerValue+      `Prelude.hashWithSalt` targetApplications++instance Prelude.NFData CreateSipRule where+  rnf CreateSipRule' {..} =+    Prelude.rnf disabled+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf triggerType+      `Prelude.seq` Prelude.rnf triggerValue+      `Prelude.seq` Prelude.rnf targetApplications++instance Data.ToHeaders CreateSipRule where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON CreateSipRule where+  toJSON CreateSipRule' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Disabled" Data..=) Prelude.<$> disabled,+            Prelude.Just ("Name" Data..= name),+            Prelude.Just ("TriggerType" Data..= triggerType),+            Prelude.Just ("TriggerValue" Data..= triggerValue),+            Prelude.Just+              ("TargetApplications" Data..= targetApplications)+          ]+      )++instance Data.ToPath CreateSipRule where+  toPath = Prelude.const "/sip-rules"++instance Data.ToQuery CreateSipRule where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateSipRuleResponse' smart constructor.+data CreateSipRuleResponse = CreateSipRuleResponse'+  { -- | Returns the SIP rule information, including the rule ID, triggers, and+    -- target applications.+    sipRule :: Prelude.Maybe SipRule,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateSipRuleResponse' 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:+--+-- 'sipRule', 'createSipRuleResponse_sipRule' - Returns the SIP rule information, including the rule ID, triggers, and+-- target applications.+--+-- 'httpStatus', 'createSipRuleResponse_httpStatus' - The response's http status code.+newCreateSipRuleResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateSipRuleResponse+newCreateSipRuleResponse pHttpStatus_ =+  CreateSipRuleResponse'+    { sipRule = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Returns the SIP rule information, including the rule ID, triggers, and+-- target applications.+createSipRuleResponse_sipRule :: Lens.Lens' CreateSipRuleResponse (Prelude.Maybe SipRule)+createSipRuleResponse_sipRule = Lens.lens (\CreateSipRuleResponse' {sipRule} -> sipRule) (\s@CreateSipRuleResponse' {} a -> s {sipRule = a} :: CreateSipRuleResponse)++-- | The response's http status code.+createSipRuleResponse_httpStatus :: Lens.Lens' CreateSipRuleResponse Prelude.Int+createSipRuleResponse_httpStatus = Lens.lens (\CreateSipRuleResponse' {httpStatus} -> httpStatus) (\s@CreateSipRuleResponse' {} a -> s {httpStatus = a} :: CreateSipRuleResponse)++instance Prelude.NFData CreateSipRuleResponse where+  rnf CreateSipRuleResponse' {..} =+    Prelude.rnf sipRule+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/CreateUser.hs view
@@ -0,0 +1,199 @@+{-# 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.Chime.CreateUser+-- 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 user under the specified Amazon Chime account.+module Amazonka.Chime.CreateUser+  ( -- * Creating a Request+    CreateUser (..),+    newCreateUser,++    -- * Request Lenses+    createUser_email,+    createUser_userType,+    createUser_username,+    createUser_accountId,++    -- * Destructuring the Response+    CreateUserResponse (..),+    newCreateUserResponse,++    -- * Response Lenses+    createUserResponse_user,+    createUserResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newCreateUser' smart constructor.+data CreateUser = CreateUser'+  { -- | The user\'s email address.+    email :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The user type.+    userType :: Prelude.Maybe UserType,+    -- | The user name.+    username :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Chime account ID.+    accountId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateUser' 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:+--+-- 'email', 'createUser_email' - The user\'s email address.+--+-- 'userType', 'createUser_userType' - The user type.+--+-- 'username', 'createUser_username' - The user name.+--+-- 'accountId', 'createUser_accountId' - The Amazon Chime account ID.+newCreateUser ::+  -- | 'accountId'+  Prelude.Text ->+  CreateUser+newCreateUser pAccountId_ =+  CreateUser'+    { email = Prelude.Nothing,+      userType = Prelude.Nothing,+      username = Prelude.Nothing,+      accountId = pAccountId_+    }++-- | The user\'s email address.+createUser_email :: Lens.Lens' CreateUser (Prelude.Maybe Prelude.Text)+createUser_email = Lens.lens (\CreateUser' {email} -> email) (\s@CreateUser' {} a -> s {email = a} :: CreateUser) Prelude.. Lens.mapping Data._Sensitive++-- | The user type.+createUser_userType :: Lens.Lens' CreateUser (Prelude.Maybe UserType)+createUser_userType = Lens.lens (\CreateUser' {userType} -> userType) (\s@CreateUser' {} a -> s {userType = a} :: CreateUser)++-- | The user name.+createUser_username :: Lens.Lens' CreateUser (Prelude.Maybe Prelude.Text)+createUser_username = Lens.lens (\CreateUser' {username} -> username) (\s@CreateUser' {} a -> s {username = a} :: CreateUser)++-- | The Amazon Chime account ID.+createUser_accountId :: Lens.Lens' CreateUser Prelude.Text+createUser_accountId = Lens.lens (\CreateUser' {accountId} -> accountId) (\s@CreateUser' {} a -> s {accountId = a} :: CreateUser)++instance Core.AWSRequest CreateUser where+  type AWSResponse CreateUser = CreateUserResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateUserResponse'+            Prelude.<$> (x Data..?> "User")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateUser where+  hashWithSalt _salt CreateUser' {..} =+    _salt+      `Prelude.hashWithSalt` email+      `Prelude.hashWithSalt` userType+      `Prelude.hashWithSalt` username+      `Prelude.hashWithSalt` accountId++instance Prelude.NFData CreateUser where+  rnf CreateUser' {..} =+    Prelude.rnf email+      `Prelude.seq` Prelude.rnf userType+      `Prelude.seq` Prelude.rnf username+      `Prelude.seq` Prelude.rnf accountId++instance Data.ToHeaders CreateUser where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON CreateUser where+  toJSON CreateUser' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Email" Data..=) Prelude.<$> email,+            ("UserType" Data..=) Prelude.<$> userType,+            ("Username" Data..=) Prelude.<$> username+          ]+      )++instance Data.ToPath CreateUser where+  toPath CreateUser' {..} =+    Prelude.mconcat+      ["/accounts/", Data.toBS accountId, "/users"]++instance Data.ToQuery CreateUser where+  toQuery =+    Prelude.const+      (Prelude.mconcat ["operation=create"])++-- | /See:/ 'newCreateUserResponse' smart constructor.+data CreateUserResponse = CreateUserResponse'+  { user :: Prelude.Maybe User,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateUserResponse' 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:+--+-- 'user', 'createUserResponse_user' - Undocumented member.+--+-- 'httpStatus', 'createUserResponse_httpStatus' - The response's http status code.+newCreateUserResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateUserResponse+newCreateUserResponse pHttpStatus_ =+  CreateUserResponse'+    { user = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+createUserResponse_user :: Lens.Lens' CreateUserResponse (Prelude.Maybe User)+createUserResponse_user = Lens.lens (\CreateUserResponse' {user} -> user) (\s@CreateUserResponse' {} a -> s {user = a} :: CreateUserResponse)++-- | The response's http status code.+createUserResponse_httpStatus :: Lens.Lens' CreateUserResponse Prelude.Int+createUserResponse_httpStatus = Lens.lens (\CreateUserResponse' {httpStatus} -> httpStatus) (\s@CreateUserResponse' {} a -> s {httpStatus = a} :: CreateUserResponse)++instance Prelude.NFData CreateUserResponse where+  rnf CreateUserResponse' {..} =+    Prelude.rnf user+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/CreateVoiceConnector.hs view
@@ -0,0 +1,200 @@+{-# 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.Chime.CreateVoiceConnector+-- 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 an Amazon Chime Voice Connector under the administrator\'s AWS+-- account. You can choose to create an Amazon Chime Voice Connector in a+-- specific AWS Region.+--+-- Enabling CreateVoiceConnectorRequest$RequireEncryption configures your+-- Amazon Chime Voice Connector to use TLS transport for SIP signaling and+-- Secure RTP (SRTP) for media. Inbound calls use TLS transport, and+-- unencrypted outbound calls are blocked.+module Amazonka.Chime.CreateVoiceConnector+  ( -- * Creating a Request+    CreateVoiceConnector (..),+    newCreateVoiceConnector,++    -- * Request Lenses+    createVoiceConnector_awsRegion,+    createVoiceConnector_name,+    createVoiceConnector_requireEncryption,++    -- * Destructuring the Response+    CreateVoiceConnectorResponse (..),+    newCreateVoiceConnectorResponse,++    -- * Response Lenses+    createVoiceConnectorResponse_voiceConnector,+    createVoiceConnectorResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newCreateVoiceConnector' smart constructor.+data CreateVoiceConnector = CreateVoiceConnector'+  { -- | The AWS Region in which the Amazon Chime Voice Connector is created.+    -- Default value: @us-east-1@ .+    awsRegion :: Prelude.Maybe VoiceConnectorAwsRegion,+    -- | The name of the Amazon Chime Voice Connector.+    name :: Prelude.Text,+    -- | When enabled, requires encryption for the Amazon Chime Voice Connector.+    requireEncryption :: Prelude.Bool+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateVoiceConnector' 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:+--+-- 'awsRegion', 'createVoiceConnector_awsRegion' - The AWS Region in which the Amazon Chime Voice Connector is created.+-- Default value: @us-east-1@ .+--+-- 'name', 'createVoiceConnector_name' - The name of the Amazon Chime Voice Connector.+--+-- 'requireEncryption', 'createVoiceConnector_requireEncryption' - When enabled, requires encryption for the Amazon Chime Voice Connector.+newCreateVoiceConnector ::+  -- | 'name'+  Prelude.Text ->+  -- | 'requireEncryption'+  Prelude.Bool ->+  CreateVoiceConnector+newCreateVoiceConnector pName_ pRequireEncryption_ =+  CreateVoiceConnector'+    { awsRegion = Prelude.Nothing,+      name = pName_,+      requireEncryption = pRequireEncryption_+    }++-- | The AWS Region in which the Amazon Chime Voice Connector is created.+-- Default value: @us-east-1@ .+createVoiceConnector_awsRegion :: Lens.Lens' CreateVoiceConnector (Prelude.Maybe VoiceConnectorAwsRegion)+createVoiceConnector_awsRegion = Lens.lens (\CreateVoiceConnector' {awsRegion} -> awsRegion) (\s@CreateVoiceConnector' {} a -> s {awsRegion = a} :: CreateVoiceConnector)++-- | The name of the Amazon Chime Voice Connector.+createVoiceConnector_name :: Lens.Lens' CreateVoiceConnector Prelude.Text+createVoiceConnector_name = Lens.lens (\CreateVoiceConnector' {name} -> name) (\s@CreateVoiceConnector' {} a -> s {name = a} :: CreateVoiceConnector)++-- | When enabled, requires encryption for the Amazon Chime Voice Connector.+createVoiceConnector_requireEncryption :: Lens.Lens' CreateVoiceConnector Prelude.Bool+createVoiceConnector_requireEncryption = Lens.lens (\CreateVoiceConnector' {requireEncryption} -> requireEncryption) (\s@CreateVoiceConnector' {} a -> s {requireEncryption = a} :: CreateVoiceConnector)++instance Core.AWSRequest CreateVoiceConnector where+  type+    AWSResponse CreateVoiceConnector =+      CreateVoiceConnectorResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateVoiceConnectorResponse'+            Prelude.<$> (x Data..?> "VoiceConnector")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateVoiceConnector where+  hashWithSalt _salt CreateVoiceConnector' {..} =+    _salt+      `Prelude.hashWithSalt` awsRegion+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` requireEncryption++instance Prelude.NFData CreateVoiceConnector where+  rnf CreateVoiceConnector' {..} =+    Prelude.rnf awsRegion+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf requireEncryption++instance Data.ToHeaders CreateVoiceConnector where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON CreateVoiceConnector where+  toJSON CreateVoiceConnector' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AwsRegion" Data..=) Prelude.<$> awsRegion,+            Prelude.Just ("Name" Data..= name),+            Prelude.Just+              ("RequireEncryption" Data..= requireEncryption)+          ]+      )++instance Data.ToPath CreateVoiceConnector where+  toPath = Prelude.const "/voice-connectors"++instance Data.ToQuery CreateVoiceConnector where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateVoiceConnectorResponse' smart constructor.+data CreateVoiceConnectorResponse = CreateVoiceConnectorResponse'+  { -- | The Amazon Chime Voice Connector details.+    voiceConnector :: Prelude.Maybe VoiceConnector,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateVoiceConnectorResponse' 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:+--+-- 'voiceConnector', 'createVoiceConnectorResponse_voiceConnector' - The Amazon Chime Voice Connector details.+--+-- 'httpStatus', 'createVoiceConnectorResponse_httpStatus' - The response's http status code.+newCreateVoiceConnectorResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateVoiceConnectorResponse+newCreateVoiceConnectorResponse pHttpStatus_ =+  CreateVoiceConnectorResponse'+    { voiceConnector =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Chime Voice Connector details.+createVoiceConnectorResponse_voiceConnector :: Lens.Lens' CreateVoiceConnectorResponse (Prelude.Maybe VoiceConnector)+createVoiceConnectorResponse_voiceConnector = Lens.lens (\CreateVoiceConnectorResponse' {voiceConnector} -> voiceConnector) (\s@CreateVoiceConnectorResponse' {} a -> s {voiceConnector = a} :: CreateVoiceConnectorResponse)++-- | The response's http status code.+createVoiceConnectorResponse_httpStatus :: Lens.Lens' CreateVoiceConnectorResponse Prelude.Int+createVoiceConnectorResponse_httpStatus = Lens.lens (\CreateVoiceConnectorResponse' {httpStatus} -> httpStatus) (\s@CreateVoiceConnectorResponse' {} a -> s {httpStatus = a} :: CreateVoiceConnectorResponse)++instance Prelude.NFData CreateVoiceConnectorResponse where+  rnf CreateVoiceConnectorResponse' {..} =+    Prelude.rnf voiceConnector+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/CreateVoiceConnectorGroup.hs view
@@ -0,0 +1,186 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Chime.CreateVoiceConnectorGroup+-- 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 an Amazon Chime Voice Connector group under the administrator\'s+-- AWS account. You can associate Amazon Chime Voice Connectors with the+-- Amazon Chime Voice Connector group by including @VoiceConnectorItems@ in+-- the request.+--+-- You can include Amazon Chime Voice Connectors from different AWS Regions+-- in your group. This creates a fault tolerant mechanism for fallback in+-- case of availability events.+module Amazonka.Chime.CreateVoiceConnectorGroup+  ( -- * Creating a Request+    CreateVoiceConnectorGroup (..),+    newCreateVoiceConnectorGroup,++    -- * Request Lenses+    createVoiceConnectorGroup_voiceConnectorItems,+    createVoiceConnectorGroup_name,++    -- * Destructuring the Response+    CreateVoiceConnectorGroupResponse (..),+    newCreateVoiceConnectorGroupResponse,++    -- * Response Lenses+    createVoiceConnectorGroupResponse_voiceConnectorGroup,+    createVoiceConnectorGroupResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newCreateVoiceConnectorGroup' smart constructor.+data CreateVoiceConnectorGroup = CreateVoiceConnectorGroup'+  { -- | The Amazon Chime Voice Connectors to route inbound calls to.+    voiceConnectorItems :: Prelude.Maybe [VoiceConnectorItem],+    -- | The name of the Amazon Chime Voice Connector group.+    name :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateVoiceConnectorGroup' 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:+--+-- 'voiceConnectorItems', 'createVoiceConnectorGroup_voiceConnectorItems' - The Amazon Chime Voice Connectors to route inbound calls to.+--+-- 'name', 'createVoiceConnectorGroup_name' - The name of the Amazon Chime Voice Connector group.+newCreateVoiceConnectorGroup ::+  -- | 'name'+  Prelude.Text ->+  CreateVoiceConnectorGroup+newCreateVoiceConnectorGroup pName_ =+  CreateVoiceConnectorGroup'+    { voiceConnectorItems =+        Prelude.Nothing,+      name = pName_+    }++-- | The Amazon Chime Voice Connectors to route inbound calls to.+createVoiceConnectorGroup_voiceConnectorItems :: Lens.Lens' CreateVoiceConnectorGroup (Prelude.Maybe [VoiceConnectorItem])+createVoiceConnectorGroup_voiceConnectorItems = Lens.lens (\CreateVoiceConnectorGroup' {voiceConnectorItems} -> voiceConnectorItems) (\s@CreateVoiceConnectorGroup' {} a -> s {voiceConnectorItems = a} :: CreateVoiceConnectorGroup) Prelude.. Lens.mapping Lens.coerced++-- | The name of the Amazon Chime Voice Connector group.+createVoiceConnectorGroup_name :: Lens.Lens' CreateVoiceConnectorGroup Prelude.Text+createVoiceConnectorGroup_name = Lens.lens (\CreateVoiceConnectorGroup' {name} -> name) (\s@CreateVoiceConnectorGroup' {} a -> s {name = a} :: CreateVoiceConnectorGroup)++instance Core.AWSRequest CreateVoiceConnectorGroup where+  type+    AWSResponse CreateVoiceConnectorGroup =+      CreateVoiceConnectorGroupResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateVoiceConnectorGroupResponse'+            Prelude.<$> (x Data..?> "VoiceConnectorGroup")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateVoiceConnectorGroup where+  hashWithSalt _salt CreateVoiceConnectorGroup' {..} =+    _salt+      `Prelude.hashWithSalt` voiceConnectorItems+      `Prelude.hashWithSalt` name++instance Prelude.NFData CreateVoiceConnectorGroup where+  rnf CreateVoiceConnectorGroup' {..} =+    Prelude.rnf voiceConnectorItems+      `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders CreateVoiceConnectorGroup where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON CreateVoiceConnectorGroup where+  toJSON CreateVoiceConnectorGroup' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("VoiceConnectorItems" Data..=)+              Prelude.<$> voiceConnectorItems,+            Prelude.Just ("Name" Data..= name)+          ]+      )++instance Data.ToPath CreateVoiceConnectorGroup where+  toPath = Prelude.const "/voice-connector-groups"++instance Data.ToQuery CreateVoiceConnectorGroup where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateVoiceConnectorGroupResponse' smart constructor.+data CreateVoiceConnectorGroupResponse = CreateVoiceConnectorGroupResponse'+  { -- | The Amazon Chime Voice Connector group details.+    voiceConnectorGroup :: Prelude.Maybe VoiceConnectorGroup,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateVoiceConnectorGroupResponse' 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:+--+-- 'voiceConnectorGroup', 'createVoiceConnectorGroupResponse_voiceConnectorGroup' - The Amazon Chime Voice Connector group details.+--+-- 'httpStatus', 'createVoiceConnectorGroupResponse_httpStatus' - The response's http status code.+newCreateVoiceConnectorGroupResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateVoiceConnectorGroupResponse+newCreateVoiceConnectorGroupResponse pHttpStatus_ =+  CreateVoiceConnectorGroupResponse'+    { voiceConnectorGroup =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Chime Voice Connector group details.+createVoiceConnectorGroupResponse_voiceConnectorGroup :: Lens.Lens' CreateVoiceConnectorGroupResponse (Prelude.Maybe VoiceConnectorGroup)+createVoiceConnectorGroupResponse_voiceConnectorGroup = Lens.lens (\CreateVoiceConnectorGroupResponse' {voiceConnectorGroup} -> voiceConnectorGroup) (\s@CreateVoiceConnectorGroupResponse' {} a -> s {voiceConnectorGroup = a} :: CreateVoiceConnectorGroupResponse)++-- | The response's http status code.+createVoiceConnectorGroupResponse_httpStatus :: Lens.Lens' CreateVoiceConnectorGroupResponse Prelude.Int+createVoiceConnectorGroupResponse_httpStatus = Lens.lens (\CreateVoiceConnectorGroupResponse' {httpStatus} -> httpStatus) (\s@CreateVoiceConnectorGroupResponse' {} a -> s {httpStatus = a} :: CreateVoiceConnectorGroupResponse)++instance+  Prelude.NFData+    CreateVoiceConnectorGroupResponse+  where+  rnf CreateVoiceConnectorGroupResponse' {..} =+    Prelude.rnf voiceConnectorGroup+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/DeleteAccount.hs view
@@ -0,0 +1,148 @@+{-# 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.Chime.DeleteAccount+-- 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 account. You must suspend all users+-- before deleting @Team@ account. You can use the BatchSuspendUser action+-- to dodo.+--+-- For @EnterpriseLWA@ and @EnterpriseAD@ accounts, you must release the+-- claimed domains for your Amazon Chime account before deletion. As soon+-- as you release the domain, all users under that account are suspended.+--+-- Deleted accounts appear in your @Disabled@ accounts list for 90 days. To+-- restore deleted account from your @Disabled@ accounts list, you must+-- contact AWS Support.+--+-- After 90 days, deleted accounts are permanently removed from your+-- @Disabled@ accounts list.+module Amazonka.Chime.DeleteAccount+  ( -- * Creating a Request+    DeleteAccount (..),+    newDeleteAccount,++    -- * Request Lenses+    deleteAccount_accountId,++    -- * Destructuring the Response+    DeleteAccountResponse (..),+    newDeleteAccountResponse,++    -- * Response Lenses+    deleteAccountResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newDeleteAccount' smart constructor.+data DeleteAccount = DeleteAccount'+  { -- | The Amazon Chime account ID.+    accountId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAccount' 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:+--+-- 'accountId', 'deleteAccount_accountId' - The Amazon Chime account ID.+newDeleteAccount ::+  -- | 'accountId'+  Prelude.Text ->+  DeleteAccount+newDeleteAccount pAccountId_ =+  DeleteAccount' {accountId = pAccountId_}++-- | The Amazon Chime account ID.+deleteAccount_accountId :: Lens.Lens' DeleteAccount Prelude.Text+deleteAccount_accountId = Lens.lens (\DeleteAccount' {accountId} -> accountId) (\s@DeleteAccount' {} a -> s {accountId = a} :: DeleteAccount)++instance Core.AWSRequest DeleteAccount where+  type+    AWSResponse DeleteAccount =+      DeleteAccountResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DeleteAccountResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteAccount where+  hashWithSalt _salt DeleteAccount' {..} =+    _salt `Prelude.hashWithSalt` accountId++instance Prelude.NFData DeleteAccount where+  rnf DeleteAccount' {..} = Prelude.rnf accountId++instance Data.ToHeaders DeleteAccount where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DeleteAccount where+  toPath DeleteAccount' {..} =+    Prelude.mconcat ["/accounts/", Data.toBS accountId]++instance Data.ToQuery DeleteAccount where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteAccountResponse' smart constructor.+data DeleteAccountResponse = DeleteAccountResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAccountResponse' 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', 'deleteAccountResponse_httpStatus' - The response's http status code.+newDeleteAccountResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteAccountResponse+newDeleteAccountResponse pHttpStatus_ =+  DeleteAccountResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+deleteAccountResponse_httpStatus :: Lens.Lens' DeleteAccountResponse Prelude.Int+deleteAccountResponse_httpStatus = Lens.lens (\DeleteAccountResponse' {httpStatus} -> httpStatus) (\s@DeleteAccountResponse' {} a -> s {httpStatus = a} :: DeleteAccountResponse)++instance Prelude.NFData DeleteAccountResponse where+  rnf DeleteAccountResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/Chime/DeleteAppInstance.hs view
@@ -0,0 +1,120 @@+{-# 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.Chime.DeleteAppInstance+-- 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 @AppInstance@ and all associated data asynchronously.+module Amazonka.Chime.DeleteAppInstance+  ( -- * Creating a Request+    DeleteAppInstance (..),+    newDeleteAppInstance,++    -- * Request Lenses+    deleteAppInstance_appInstanceArn,++    -- * Destructuring the Response+    DeleteAppInstanceResponse (..),+    newDeleteAppInstanceResponse,+  )+where++import Amazonka.Chime.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:/ 'newDeleteAppInstance' smart constructor.+data DeleteAppInstance = DeleteAppInstance'+  { -- | The ARN of the @AppInstance@.+    appInstanceArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAppInstance' 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:+--+-- 'appInstanceArn', 'deleteAppInstance_appInstanceArn' - The ARN of the @AppInstance@.+newDeleteAppInstance ::+  -- | 'appInstanceArn'+  Prelude.Text ->+  DeleteAppInstance+newDeleteAppInstance pAppInstanceArn_ =+  DeleteAppInstance'+    { appInstanceArn =+        pAppInstanceArn_+    }++-- | The ARN of the @AppInstance@.+deleteAppInstance_appInstanceArn :: Lens.Lens' DeleteAppInstance Prelude.Text+deleteAppInstance_appInstanceArn = Lens.lens (\DeleteAppInstance' {appInstanceArn} -> appInstanceArn) (\s@DeleteAppInstance' {} a -> s {appInstanceArn = a} :: DeleteAppInstance)++instance Core.AWSRequest DeleteAppInstance where+  type+    AWSResponse DeleteAppInstance =+      DeleteAppInstanceResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveNull DeleteAppInstanceResponse'++instance Prelude.Hashable DeleteAppInstance where+  hashWithSalt _salt DeleteAppInstance' {..} =+    _salt `Prelude.hashWithSalt` appInstanceArn++instance Prelude.NFData DeleteAppInstance where+  rnf DeleteAppInstance' {..} =+    Prelude.rnf appInstanceArn++instance Data.ToHeaders DeleteAppInstance where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DeleteAppInstance where+  toPath DeleteAppInstance' {..} =+    Prelude.mconcat+      ["/app-instances/", Data.toBS appInstanceArn]++instance Data.ToQuery DeleteAppInstance where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteAppInstanceResponse' smart constructor.+data DeleteAppInstanceResponse = DeleteAppInstanceResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAppInstanceResponse' 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.+newDeleteAppInstanceResponse ::+  DeleteAppInstanceResponse+newDeleteAppInstanceResponse =+  DeleteAppInstanceResponse'++instance Prelude.NFData DeleteAppInstanceResponse where+  rnf _ = ()
+ gen/Amazonka/Chime/DeleteAppInstanceAdmin.hs view
@@ -0,0 +1,146 @@+{-# 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.Chime.DeleteAppInstanceAdmin+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Demotes an @AppInstanceAdmin@ to an @AppInstanceUser@. This action does+-- not delete the user.+module Amazonka.Chime.DeleteAppInstanceAdmin+  ( -- * Creating a Request+    DeleteAppInstanceAdmin (..),+    newDeleteAppInstanceAdmin,++    -- * Request Lenses+    deleteAppInstanceAdmin_appInstanceAdminArn,+    deleteAppInstanceAdmin_appInstanceArn,++    -- * Destructuring the Response+    DeleteAppInstanceAdminResponse (..),+    newDeleteAppInstanceAdminResponse,+  )+where++import Amazonka.Chime.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:/ 'newDeleteAppInstanceAdmin' smart constructor.+data DeleteAppInstanceAdmin = DeleteAppInstanceAdmin'+  { -- | The ARN of the @AppInstance@\'s administrator.+    appInstanceAdminArn :: Prelude.Text,+    -- | The ARN of the @AppInstance@.+    appInstanceArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAppInstanceAdmin' 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:+--+-- 'appInstanceAdminArn', 'deleteAppInstanceAdmin_appInstanceAdminArn' - The ARN of the @AppInstance@\'s administrator.+--+-- 'appInstanceArn', 'deleteAppInstanceAdmin_appInstanceArn' - The ARN of the @AppInstance@.+newDeleteAppInstanceAdmin ::+  -- | 'appInstanceAdminArn'+  Prelude.Text ->+  -- | 'appInstanceArn'+  Prelude.Text ->+  DeleteAppInstanceAdmin+newDeleteAppInstanceAdmin+  pAppInstanceAdminArn_+  pAppInstanceArn_ =+    DeleteAppInstanceAdmin'+      { appInstanceAdminArn =+          pAppInstanceAdminArn_,+        appInstanceArn = pAppInstanceArn_+      }++-- | The ARN of the @AppInstance@\'s administrator.+deleteAppInstanceAdmin_appInstanceAdminArn :: Lens.Lens' DeleteAppInstanceAdmin Prelude.Text+deleteAppInstanceAdmin_appInstanceAdminArn = Lens.lens (\DeleteAppInstanceAdmin' {appInstanceAdminArn} -> appInstanceAdminArn) (\s@DeleteAppInstanceAdmin' {} a -> s {appInstanceAdminArn = a} :: DeleteAppInstanceAdmin)++-- | The ARN of the @AppInstance@.+deleteAppInstanceAdmin_appInstanceArn :: Lens.Lens' DeleteAppInstanceAdmin Prelude.Text+deleteAppInstanceAdmin_appInstanceArn = Lens.lens (\DeleteAppInstanceAdmin' {appInstanceArn} -> appInstanceArn) (\s@DeleteAppInstanceAdmin' {} a -> s {appInstanceArn = a} :: DeleteAppInstanceAdmin)++instance Core.AWSRequest DeleteAppInstanceAdmin where+  type+    AWSResponse DeleteAppInstanceAdmin =+      DeleteAppInstanceAdminResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveNull+      DeleteAppInstanceAdminResponse'++instance Prelude.Hashable DeleteAppInstanceAdmin where+  hashWithSalt _salt DeleteAppInstanceAdmin' {..} =+    _salt+      `Prelude.hashWithSalt` appInstanceAdminArn+      `Prelude.hashWithSalt` appInstanceArn++instance Prelude.NFData DeleteAppInstanceAdmin where+  rnf DeleteAppInstanceAdmin' {..} =+    Prelude.rnf appInstanceAdminArn+      `Prelude.seq` Prelude.rnf appInstanceArn++instance Data.ToHeaders DeleteAppInstanceAdmin where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DeleteAppInstanceAdmin where+  toPath DeleteAppInstanceAdmin' {..} =+    Prelude.mconcat+      [ "/app-instances/",+        Data.toBS appInstanceArn,+        "/admins/",+        Data.toBS appInstanceAdminArn+      ]++instance Data.ToQuery DeleteAppInstanceAdmin where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteAppInstanceAdminResponse' smart constructor.+data DeleteAppInstanceAdminResponse = DeleteAppInstanceAdminResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAppInstanceAdminResponse' 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.+newDeleteAppInstanceAdminResponse ::+  DeleteAppInstanceAdminResponse+newDeleteAppInstanceAdminResponse =+  DeleteAppInstanceAdminResponse'++instance+  Prelude.NFData+    DeleteAppInstanceAdminResponse+  where+  rnf _ = ()
+ gen/Amazonka/Chime/DeleteAppInstanceStreamingConfigurations.hs view
@@ -0,0 +1,149 @@+{-# 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.Chime.DeleteAppInstanceStreamingConfigurations+-- 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 streaming configurations of an @AppInstance@.+module Amazonka.Chime.DeleteAppInstanceStreamingConfigurations+  ( -- * Creating a Request+    DeleteAppInstanceStreamingConfigurations (..),+    newDeleteAppInstanceStreamingConfigurations,++    -- * Request Lenses+    deleteAppInstanceStreamingConfigurations_appInstanceArn,++    -- * Destructuring the Response+    DeleteAppInstanceStreamingConfigurationsResponse (..),+    newDeleteAppInstanceStreamingConfigurationsResponse,+  )+where++import Amazonka.Chime.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:/ 'newDeleteAppInstanceStreamingConfigurations' smart constructor.+data DeleteAppInstanceStreamingConfigurations = DeleteAppInstanceStreamingConfigurations'+  { -- | The ARN of the streaming configurations being deleted.+    appInstanceArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAppInstanceStreamingConfigurations' 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:+--+-- 'appInstanceArn', 'deleteAppInstanceStreamingConfigurations_appInstanceArn' - The ARN of the streaming configurations being deleted.+newDeleteAppInstanceStreamingConfigurations ::+  -- | 'appInstanceArn'+  Prelude.Text ->+  DeleteAppInstanceStreamingConfigurations+newDeleteAppInstanceStreamingConfigurations+  pAppInstanceArn_ =+    DeleteAppInstanceStreamingConfigurations'+      { appInstanceArn =+          pAppInstanceArn_+      }++-- | The ARN of the streaming configurations being deleted.+deleteAppInstanceStreamingConfigurations_appInstanceArn :: Lens.Lens' DeleteAppInstanceStreamingConfigurations Prelude.Text+deleteAppInstanceStreamingConfigurations_appInstanceArn = Lens.lens (\DeleteAppInstanceStreamingConfigurations' {appInstanceArn} -> appInstanceArn) (\s@DeleteAppInstanceStreamingConfigurations' {} a -> s {appInstanceArn = a} :: DeleteAppInstanceStreamingConfigurations)++instance+  Core.AWSRequest+    DeleteAppInstanceStreamingConfigurations+  where+  type+    AWSResponse+      DeleteAppInstanceStreamingConfigurations =+      DeleteAppInstanceStreamingConfigurationsResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveNull+      DeleteAppInstanceStreamingConfigurationsResponse'++instance+  Prelude.Hashable+    DeleteAppInstanceStreamingConfigurations+  where+  hashWithSalt+    _salt+    DeleteAppInstanceStreamingConfigurations' {..} =+      _salt `Prelude.hashWithSalt` appInstanceArn++instance+  Prelude.NFData+    DeleteAppInstanceStreamingConfigurations+  where+  rnf DeleteAppInstanceStreamingConfigurations' {..} =+    Prelude.rnf appInstanceArn++instance+  Data.ToHeaders+    DeleteAppInstanceStreamingConfigurations+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToPath+    DeleteAppInstanceStreamingConfigurations+  where+  toPath DeleteAppInstanceStreamingConfigurations' {..} =+    Prelude.mconcat+      [ "/app-instances/",+        Data.toBS appInstanceArn,+        "/streaming-configurations"+      ]++instance+  Data.ToQuery+    DeleteAppInstanceStreamingConfigurations+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteAppInstanceStreamingConfigurationsResponse' smart constructor.+data DeleteAppInstanceStreamingConfigurationsResponse = DeleteAppInstanceStreamingConfigurationsResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAppInstanceStreamingConfigurationsResponse' 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.+newDeleteAppInstanceStreamingConfigurationsResponse ::+  DeleteAppInstanceStreamingConfigurationsResponse+newDeleteAppInstanceStreamingConfigurationsResponse =+  DeleteAppInstanceStreamingConfigurationsResponse'++instance+  Prelude.NFData+    DeleteAppInstanceStreamingConfigurationsResponse+  where+  rnf _ = ()
+ gen/Amazonka/Chime/DeleteAppInstanceUser.hs view
@@ -0,0 +1,122 @@+{-# 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.Chime.DeleteAppInstanceUser+-- 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 @AppInstanceUser@.+module Amazonka.Chime.DeleteAppInstanceUser+  ( -- * Creating a Request+    DeleteAppInstanceUser (..),+    newDeleteAppInstanceUser,++    -- * Request Lenses+    deleteAppInstanceUser_appInstanceUserArn,++    -- * Destructuring the Response+    DeleteAppInstanceUserResponse (..),+    newDeleteAppInstanceUserResponse,+  )+where++import Amazonka.Chime.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:/ 'newDeleteAppInstanceUser' smart constructor.+data DeleteAppInstanceUser = DeleteAppInstanceUser'+  { -- | The ARN of the user request being deleted.+    appInstanceUserArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAppInstanceUser' 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:+--+-- 'appInstanceUserArn', 'deleteAppInstanceUser_appInstanceUserArn' - The ARN of the user request being deleted.+newDeleteAppInstanceUser ::+  -- | 'appInstanceUserArn'+  Prelude.Text ->+  DeleteAppInstanceUser+newDeleteAppInstanceUser pAppInstanceUserArn_ =+  DeleteAppInstanceUser'+    { appInstanceUserArn =+        pAppInstanceUserArn_+    }++-- | The ARN of the user request being deleted.+deleteAppInstanceUser_appInstanceUserArn :: Lens.Lens' DeleteAppInstanceUser Prelude.Text+deleteAppInstanceUser_appInstanceUserArn = Lens.lens (\DeleteAppInstanceUser' {appInstanceUserArn} -> appInstanceUserArn) (\s@DeleteAppInstanceUser' {} a -> s {appInstanceUserArn = a} :: DeleteAppInstanceUser)++instance Core.AWSRequest DeleteAppInstanceUser where+  type+    AWSResponse DeleteAppInstanceUser =+      DeleteAppInstanceUserResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveNull DeleteAppInstanceUserResponse'++instance Prelude.Hashable DeleteAppInstanceUser where+  hashWithSalt _salt DeleteAppInstanceUser' {..} =+    _salt `Prelude.hashWithSalt` appInstanceUserArn++instance Prelude.NFData DeleteAppInstanceUser where+  rnf DeleteAppInstanceUser' {..} =+    Prelude.rnf appInstanceUserArn++instance Data.ToHeaders DeleteAppInstanceUser where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DeleteAppInstanceUser where+  toPath DeleteAppInstanceUser' {..} =+    Prelude.mconcat+      [ "/app-instance-users/",+        Data.toBS appInstanceUserArn+      ]++instance Data.ToQuery DeleteAppInstanceUser where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteAppInstanceUserResponse' smart constructor.+data DeleteAppInstanceUserResponse = DeleteAppInstanceUserResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAppInstanceUserResponse' 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.+newDeleteAppInstanceUserResponse ::+  DeleteAppInstanceUserResponse+newDeleteAppInstanceUserResponse =+  DeleteAppInstanceUserResponse'++instance Prelude.NFData DeleteAppInstanceUserResponse where+  rnf _ = ()
+ gen/Amazonka/Chime/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.Chime.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.Chime.DeleteAttendee+  ( -- * Creating a Request+    DeleteAttendee (..),+    newDeleteAttendee,++    -- * Request Lenses+    deleteAttendee_meetingId,+    deleteAttendee_attendeeId,++    -- * Destructuring the Response+    DeleteAttendeeResponse (..),+    newDeleteAttendeeResponse,+  )+where++import Amazonka.Chime.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/Chime/DeleteChannel.hs view
@@ -0,0 +1,138 @@+{-# 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.Chime.DeleteChannel+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Immediately makes a channel and its memberships inaccessible and marks+-- them for deletion. This is an irreversible process.+--+-- The @x-amz-chime-bearer@ request header is mandatory. Use the+-- @AppInstanceUserArn@ of the user that makes the API call as the value in+-- the header.+module Amazonka.Chime.DeleteChannel+  ( -- * Creating a Request+    DeleteChannel (..),+    newDeleteChannel,++    -- * Request Lenses+    deleteChannel_chimeBearer,+    deleteChannel_channelArn,++    -- * Destructuring the Response+    DeleteChannelResponse (..),+    newDeleteChannelResponse,+  )+where++import Amazonka.Chime.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:/ 'newDeleteChannel' smart constructor.+data DeleteChannel = DeleteChannel'+  { -- | The @AppInstanceUserArn@ of the user that makes the API call.+    chimeBearer :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the channel being deleted.+    channelArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteChannel' 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:+--+-- 'chimeBearer', 'deleteChannel_chimeBearer' - The @AppInstanceUserArn@ of the user that makes the API call.+--+-- 'channelArn', 'deleteChannel_channelArn' - The ARN of the channel being deleted.+newDeleteChannel ::+  -- | 'channelArn'+  Prelude.Text ->+  DeleteChannel+newDeleteChannel pChannelArn_ =+  DeleteChannel'+    { chimeBearer = Prelude.Nothing,+      channelArn = pChannelArn_+    }++-- | The @AppInstanceUserArn@ of the user that makes the API call.+deleteChannel_chimeBearer :: Lens.Lens' DeleteChannel (Prelude.Maybe Prelude.Text)+deleteChannel_chimeBearer = Lens.lens (\DeleteChannel' {chimeBearer} -> chimeBearer) (\s@DeleteChannel' {} a -> s {chimeBearer = a} :: DeleteChannel)++-- | The ARN of the channel being deleted.+deleteChannel_channelArn :: Lens.Lens' DeleteChannel Prelude.Text+deleteChannel_channelArn = Lens.lens (\DeleteChannel' {channelArn} -> channelArn) (\s@DeleteChannel' {} a -> s {channelArn = a} :: DeleteChannel)++instance Core.AWSRequest DeleteChannel where+  type+    AWSResponse DeleteChannel =+      DeleteChannelResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveNull DeleteChannelResponse'++instance Prelude.Hashable DeleteChannel where+  hashWithSalt _salt DeleteChannel' {..} =+    _salt+      `Prelude.hashWithSalt` chimeBearer+      `Prelude.hashWithSalt` channelArn++instance Prelude.NFData DeleteChannel where+  rnf DeleteChannel' {..} =+    Prelude.rnf chimeBearer+      `Prelude.seq` Prelude.rnf channelArn++instance Data.ToHeaders DeleteChannel where+  toHeaders DeleteChannel' {..} =+    Prelude.mconcat+      ["x-amz-chime-bearer" Data.=# chimeBearer]++instance Data.ToPath DeleteChannel where+  toPath DeleteChannel' {..} =+    Prelude.mconcat+      ["/channels/", Data.toBS channelArn]++instance Data.ToQuery DeleteChannel where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteChannelResponse' smart constructor.+data DeleteChannelResponse = DeleteChannelResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteChannelResponse' 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.+newDeleteChannelResponse ::+  DeleteChannelResponse+newDeleteChannelResponse = DeleteChannelResponse'++instance Prelude.NFData DeleteChannelResponse where+  rnf _ = ()
+ gen/Amazonka/Chime/DeleteChannelBan.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.Chime.DeleteChannelBan+-- 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 a user from a channel\'s ban list.+--+-- The @x-amz-chime-bearer@ request header is mandatory. Use the+-- @AppInstanceUserArn@ of the user that makes the API call as the value in+-- the header.+module Amazonka.Chime.DeleteChannelBan+  ( -- * Creating a Request+    DeleteChannelBan (..),+    newDeleteChannelBan,++    -- * Request Lenses+    deleteChannelBan_chimeBearer,+    deleteChannelBan_channelArn,+    deleteChannelBan_memberArn,++    -- * Destructuring the Response+    DeleteChannelBanResponse (..),+    newDeleteChannelBanResponse,+  )+where++import Amazonka.Chime.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:/ 'newDeleteChannelBan' smart constructor.+data DeleteChannelBan = DeleteChannelBan'+  { -- | The @AppInstanceUserArn@ of the user that makes the API call.+    chimeBearer :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the channel from which the @AppInstanceUser@ was banned.+    channelArn :: Prelude.Text,+    -- | The ARN of the @AppInstanceUser@ that you want to reinstate.+    memberArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteChannelBan' 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:+--+-- 'chimeBearer', 'deleteChannelBan_chimeBearer' - The @AppInstanceUserArn@ of the user that makes the API call.+--+-- 'channelArn', 'deleteChannelBan_channelArn' - The ARN of the channel from which the @AppInstanceUser@ was banned.+--+-- 'memberArn', 'deleteChannelBan_memberArn' - The ARN of the @AppInstanceUser@ that you want to reinstate.+newDeleteChannelBan ::+  -- | 'channelArn'+  Prelude.Text ->+  -- | 'memberArn'+  Prelude.Text ->+  DeleteChannelBan+newDeleteChannelBan pChannelArn_ pMemberArn_ =+  DeleteChannelBan'+    { chimeBearer = Prelude.Nothing,+      channelArn = pChannelArn_,+      memberArn = pMemberArn_+    }++-- | The @AppInstanceUserArn@ of the user that makes the API call.+deleteChannelBan_chimeBearer :: Lens.Lens' DeleteChannelBan (Prelude.Maybe Prelude.Text)+deleteChannelBan_chimeBearer = Lens.lens (\DeleteChannelBan' {chimeBearer} -> chimeBearer) (\s@DeleteChannelBan' {} a -> s {chimeBearer = a} :: DeleteChannelBan)++-- | The ARN of the channel from which the @AppInstanceUser@ was banned.+deleteChannelBan_channelArn :: Lens.Lens' DeleteChannelBan Prelude.Text+deleteChannelBan_channelArn = Lens.lens (\DeleteChannelBan' {channelArn} -> channelArn) (\s@DeleteChannelBan' {} a -> s {channelArn = a} :: DeleteChannelBan)++-- | The ARN of the @AppInstanceUser@ that you want to reinstate.+deleteChannelBan_memberArn :: Lens.Lens' DeleteChannelBan Prelude.Text+deleteChannelBan_memberArn = Lens.lens (\DeleteChannelBan' {memberArn} -> memberArn) (\s@DeleteChannelBan' {} a -> s {memberArn = a} :: DeleteChannelBan)++instance Core.AWSRequest DeleteChannelBan where+  type+    AWSResponse DeleteChannelBan =+      DeleteChannelBanResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveNull DeleteChannelBanResponse'++instance Prelude.Hashable DeleteChannelBan where+  hashWithSalt _salt DeleteChannelBan' {..} =+    _salt+      `Prelude.hashWithSalt` chimeBearer+      `Prelude.hashWithSalt` channelArn+      `Prelude.hashWithSalt` memberArn++instance Prelude.NFData DeleteChannelBan where+  rnf DeleteChannelBan' {..} =+    Prelude.rnf chimeBearer+      `Prelude.seq` Prelude.rnf channelArn+      `Prelude.seq` Prelude.rnf memberArn++instance Data.ToHeaders DeleteChannelBan where+  toHeaders DeleteChannelBan' {..} =+    Prelude.mconcat+      ["x-amz-chime-bearer" Data.=# chimeBearer]++instance Data.ToPath DeleteChannelBan where+  toPath DeleteChannelBan' {..} =+    Prelude.mconcat+      [ "/channels/",+        Data.toBS channelArn,+        "/bans/",+        Data.toBS memberArn+      ]++instance Data.ToQuery DeleteChannelBan where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteChannelBanResponse' smart constructor.+data DeleteChannelBanResponse = DeleteChannelBanResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteChannelBanResponse' 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.+newDeleteChannelBanResponse ::+  DeleteChannelBanResponse+newDeleteChannelBanResponse =+  DeleteChannelBanResponse'++instance Prelude.NFData DeleteChannelBanResponse where+  rnf _ = ()
+ gen/Amazonka/Chime/DeleteChannelMembership.hs view
@@ -0,0 +1,161 @@+{-# 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.Chime.DeleteChannelMembership+-- 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 a member from a channel.+--+-- The @x-amz-chime-bearer@ request header is mandatory. Use the+-- @AppInstanceUserArn@ of the user that makes the API call as the value in+-- the header.+module Amazonka.Chime.DeleteChannelMembership+  ( -- * Creating a Request+    DeleteChannelMembership (..),+    newDeleteChannelMembership,++    -- * Request Lenses+    deleteChannelMembership_chimeBearer,+    deleteChannelMembership_channelArn,+    deleteChannelMembership_memberArn,++    -- * Destructuring the Response+    DeleteChannelMembershipResponse (..),+    newDeleteChannelMembershipResponse,+  )+where++import Amazonka.Chime.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:/ 'newDeleteChannelMembership' smart constructor.+data DeleteChannelMembership = DeleteChannelMembership'+  { -- | The @AppInstanceUserArn@ of the user that makes the API call.+    chimeBearer :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the channel from which you want to remove the user.+    channelArn :: Prelude.Text,+    -- | The ARN of the member that you\'re removing from the channel.+    memberArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteChannelMembership' 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:+--+-- 'chimeBearer', 'deleteChannelMembership_chimeBearer' - The @AppInstanceUserArn@ of the user that makes the API call.+--+-- 'channelArn', 'deleteChannelMembership_channelArn' - The ARN of the channel from which you want to remove the user.+--+-- 'memberArn', 'deleteChannelMembership_memberArn' - The ARN of the member that you\'re removing from the channel.+newDeleteChannelMembership ::+  -- | 'channelArn'+  Prelude.Text ->+  -- | 'memberArn'+  Prelude.Text ->+  DeleteChannelMembership+newDeleteChannelMembership pChannelArn_ pMemberArn_ =+  DeleteChannelMembership'+    { chimeBearer =+        Prelude.Nothing,+      channelArn = pChannelArn_,+      memberArn = pMemberArn_+    }++-- | The @AppInstanceUserArn@ of the user that makes the API call.+deleteChannelMembership_chimeBearer :: Lens.Lens' DeleteChannelMembership (Prelude.Maybe Prelude.Text)+deleteChannelMembership_chimeBearer = Lens.lens (\DeleteChannelMembership' {chimeBearer} -> chimeBearer) (\s@DeleteChannelMembership' {} a -> s {chimeBearer = a} :: DeleteChannelMembership)++-- | The ARN of the channel from which you want to remove the user.+deleteChannelMembership_channelArn :: Lens.Lens' DeleteChannelMembership Prelude.Text+deleteChannelMembership_channelArn = Lens.lens (\DeleteChannelMembership' {channelArn} -> channelArn) (\s@DeleteChannelMembership' {} a -> s {channelArn = a} :: DeleteChannelMembership)++-- | The ARN of the member that you\'re removing from the channel.+deleteChannelMembership_memberArn :: Lens.Lens' DeleteChannelMembership Prelude.Text+deleteChannelMembership_memberArn = Lens.lens (\DeleteChannelMembership' {memberArn} -> memberArn) (\s@DeleteChannelMembership' {} a -> s {memberArn = a} :: DeleteChannelMembership)++instance Core.AWSRequest DeleteChannelMembership where+  type+    AWSResponse DeleteChannelMembership =+      DeleteChannelMembershipResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveNull+      DeleteChannelMembershipResponse'++instance Prelude.Hashable DeleteChannelMembership where+  hashWithSalt _salt DeleteChannelMembership' {..} =+    _salt+      `Prelude.hashWithSalt` chimeBearer+      `Prelude.hashWithSalt` channelArn+      `Prelude.hashWithSalt` memberArn++instance Prelude.NFData DeleteChannelMembership where+  rnf DeleteChannelMembership' {..} =+    Prelude.rnf chimeBearer+      `Prelude.seq` Prelude.rnf channelArn+      `Prelude.seq` Prelude.rnf memberArn++instance Data.ToHeaders DeleteChannelMembership where+  toHeaders DeleteChannelMembership' {..} =+    Prelude.mconcat+      ["x-amz-chime-bearer" Data.=# chimeBearer]++instance Data.ToPath DeleteChannelMembership where+  toPath DeleteChannelMembership' {..} =+    Prelude.mconcat+      [ "/channels/",+        Data.toBS channelArn,+        "/memberships/",+        Data.toBS memberArn+      ]++instance Data.ToQuery DeleteChannelMembership where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteChannelMembershipResponse' smart constructor.+data DeleteChannelMembershipResponse = DeleteChannelMembershipResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteChannelMembershipResponse' 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.+newDeleteChannelMembershipResponse ::+  DeleteChannelMembershipResponse+newDeleteChannelMembershipResponse =+  DeleteChannelMembershipResponse'++instance+  Prelude.NFData+    DeleteChannelMembershipResponse+  where+  rnf _ = ()
+ gen/Amazonka/Chime/DeleteChannelMessage.hs view
@@ -0,0 +1,159 @@+{-# 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.Chime.DeleteChannelMessage+-- 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 a channel message. Only admins can perform this action. Deletion+-- makes messages inaccessible immediately. A background process deletes+-- any revisions created by @UpdateChannelMessage@.+--+-- The @x-amz-chime-bearer@ request header is mandatory. Use the+-- @AppInstanceUserArn@ of the user that makes the API call as the value in+-- the header.+module Amazonka.Chime.DeleteChannelMessage+  ( -- * Creating a Request+    DeleteChannelMessage (..),+    newDeleteChannelMessage,++    -- * Request Lenses+    deleteChannelMessage_chimeBearer,+    deleteChannelMessage_channelArn,+    deleteChannelMessage_messageId,++    -- * Destructuring the Response+    DeleteChannelMessageResponse (..),+    newDeleteChannelMessageResponse,+  )+where++import Amazonka.Chime.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:/ 'newDeleteChannelMessage' smart constructor.+data DeleteChannelMessage = DeleteChannelMessage'+  { -- | The @AppInstanceUserArn@ of the user that makes the API call.+    chimeBearer :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the channel.+    channelArn :: Prelude.Text,+    -- | The ID of the message being deleted.+    messageId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteChannelMessage' 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:+--+-- 'chimeBearer', 'deleteChannelMessage_chimeBearer' - The @AppInstanceUserArn@ of the user that makes the API call.+--+-- 'channelArn', 'deleteChannelMessage_channelArn' - The ARN of the channel.+--+-- 'messageId', 'deleteChannelMessage_messageId' - The ID of the message being deleted.+newDeleteChannelMessage ::+  -- | 'channelArn'+  Prelude.Text ->+  -- | 'messageId'+  Prelude.Text ->+  DeleteChannelMessage+newDeleteChannelMessage pChannelArn_ pMessageId_ =+  DeleteChannelMessage'+    { chimeBearer =+        Prelude.Nothing,+      channelArn = pChannelArn_,+      messageId = pMessageId_+    }++-- | The @AppInstanceUserArn@ of the user that makes the API call.+deleteChannelMessage_chimeBearer :: Lens.Lens' DeleteChannelMessage (Prelude.Maybe Prelude.Text)+deleteChannelMessage_chimeBearer = Lens.lens (\DeleteChannelMessage' {chimeBearer} -> chimeBearer) (\s@DeleteChannelMessage' {} a -> s {chimeBearer = a} :: DeleteChannelMessage)++-- | The ARN of the channel.+deleteChannelMessage_channelArn :: Lens.Lens' DeleteChannelMessage Prelude.Text+deleteChannelMessage_channelArn = Lens.lens (\DeleteChannelMessage' {channelArn} -> channelArn) (\s@DeleteChannelMessage' {} a -> s {channelArn = a} :: DeleteChannelMessage)++-- | The ID of the message being deleted.+deleteChannelMessage_messageId :: Lens.Lens' DeleteChannelMessage Prelude.Text+deleteChannelMessage_messageId = Lens.lens (\DeleteChannelMessage' {messageId} -> messageId) (\s@DeleteChannelMessage' {} a -> s {messageId = a} :: DeleteChannelMessage)++instance Core.AWSRequest DeleteChannelMessage where+  type+    AWSResponse DeleteChannelMessage =+      DeleteChannelMessageResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveNull DeleteChannelMessageResponse'++instance Prelude.Hashable DeleteChannelMessage where+  hashWithSalt _salt DeleteChannelMessage' {..} =+    _salt+      `Prelude.hashWithSalt` chimeBearer+      `Prelude.hashWithSalt` channelArn+      `Prelude.hashWithSalt` messageId++instance Prelude.NFData DeleteChannelMessage where+  rnf DeleteChannelMessage' {..} =+    Prelude.rnf chimeBearer+      `Prelude.seq` Prelude.rnf channelArn+      `Prelude.seq` Prelude.rnf messageId++instance Data.ToHeaders DeleteChannelMessage where+  toHeaders DeleteChannelMessage' {..} =+    Prelude.mconcat+      ["x-amz-chime-bearer" Data.=# chimeBearer]++instance Data.ToPath DeleteChannelMessage where+  toPath DeleteChannelMessage' {..} =+    Prelude.mconcat+      [ "/channels/",+        Data.toBS channelArn,+        "/messages/",+        Data.toBS messageId+      ]++instance Data.ToQuery DeleteChannelMessage where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteChannelMessageResponse' smart constructor.+data DeleteChannelMessageResponse = DeleteChannelMessageResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteChannelMessageResponse' 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.+newDeleteChannelMessageResponse ::+  DeleteChannelMessageResponse+newDeleteChannelMessageResponse =+  DeleteChannelMessageResponse'++instance Prelude.NFData DeleteChannelMessageResponse where+  rnf _ = ()
+ gen/Amazonka/Chime/DeleteChannelModerator.hs view
@@ -0,0 +1,163 @@+{-# 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.Chime.DeleteChannelModerator+-- 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 a channel moderator.+--+-- The @x-amz-chime-bearer@ request header is mandatory. Use the+-- @AppInstanceUserArn@ of the user that makes the API call as the value in+-- the header.+module Amazonka.Chime.DeleteChannelModerator+  ( -- * Creating a Request+    DeleteChannelModerator (..),+    newDeleteChannelModerator,++    -- * Request Lenses+    deleteChannelModerator_chimeBearer,+    deleteChannelModerator_channelArn,+    deleteChannelModerator_channelModeratorArn,++    -- * Destructuring the Response+    DeleteChannelModeratorResponse (..),+    newDeleteChannelModeratorResponse,+  )+where++import Amazonka.Chime.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:/ 'newDeleteChannelModerator' smart constructor.+data DeleteChannelModerator = DeleteChannelModerator'+  { -- | The @AppInstanceUserArn@ of the user that makes the API call.+    chimeBearer :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the channel.+    channelArn :: Prelude.Text,+    -- | The ARN of the moderator being deleted.+    channelModeratorArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteChannelModerator' 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:+--+-- 'chimeBearer', 'deleteChannelModerator_chimeBearer' - The @AppInstanceUserArn@ of the user that makes the API call.+--+-- 'channelArn', 'deleteChannelModerator_channelArn' - The ARN of the channel.+--+-- 'channelModeratorArn', 'deleteChannelModerator_channelModeratorArn' - The ARN of the moderator being deleted.+newDeleteChannelModerator ::+  -- | 'channelArn'+  Prelude.Text ->+  -- | 'channelModeratorArn'+  Prelude.Text ->+  DeleteChannelModerator+newDeleteChannelModerator+  pChannelArn_+  pChannelModeratorArn_ =+    DeleteChannelModerator'+      { chimeBearer =+          Prelude.Nothing,+        channelArn = pChannelArn_,+        channelModeratorArn = pChannelModeratorArn_+      }++-- | The @AppInstanceUserArn@ of the user that makes the API call.+deleteChannelModerator_chimeBearer :: Lens.Lens' DeleteChannelModerator (Prelude.Maybe Prelude.Text)+deleteChannelModerator_chimeBearer = Lens.lens (\DeleteChannelModerator' {chimeBearer} -> chimeBearer) (\s@DeleteChannelModerator' {} a -> s {chimeBearer = a} :: DeleteChannelModerator)++-- | The ARN of the channel.+deleteChannelModerator_channelArn :: Lens.Lens' DeleteChannelModerator Prelude.Text+deleteChannelModerator_channelArn = Lens.lens (\DeleteChannelModerator' {channelArn} -> channelArn) (\s@DeleteChannelModerator' {} a -> s {channelArn = a} :: DeleteChannelModerator)++-- | The ARN of the moderator being deleted.+deleteChannelModerator_channelModeratorArn :: Lens.Lens' DeleteChannelModerator Prelude.Text+deleteChannelModerator_channelModeratorArn = Lens.lens (\DeleteChannelModerator' {channelModeratorArn} -> channelModeratorArn) (\s@DeleteChannelModerator' {} a -> s {channelModeratorArn = a} :: DeleteChannelModerator)++instance Core.AWSRequest DeleteChannelModerator where+  type+    AWSResponse DeleteChannelModerator =+      DeleteChannelModeratorResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveNull+      DeleteChannelModeratorResponse'++instance Prelude.Hashable DeleteChannelModerator where+  hashWithSalt _salt DeleteChannelModerator' {..} =+    _salt+      `Prelude.hashWithSalt` chimeBearer+      `Prelude.hashWithSalt` channelArn+      `Prelude.hashWithSalt` channelModeratorArn++instance Prelude.NFData DeleteChannelModerator where+  rnf DeleteChannelModerator' {..} =+    Prelude.rnf chimeBearer+      `Prelude.seq` Prelude.rnf channelArn+      `Prelude.seq` Prelude.rnf channelModeratorArn++instance Data.ToHeaders DeleteChannelModerator where+  toHeaders DeleteChannelModerator' {..} =+    Prelude.mconcat+      ["x-amz-chime-bearer" Data.=# chimeBearer]++instance Data.ToPath DeleteChannelModerator where+  toPath DeleteChannelModerator' {..} =+    Prelude.mconcat+      [ "/channels/",+        Data.toBS channelArn,+        "/moderators/",+        Data.toBS channelModeratorArn+      ]++instance Data.ToQuery DeleteChannelModerator where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteChannelModeratorResponse' smart constructor.+data DeleteChannelModeratorResponse = DeleteChannelModeratorResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteChannelModeratorResponse' 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.+newDeleteChannelModeratorResponse ::+  DeleteChannelModeratorResponse+newDeleteChannelModeratorResponse =+  DeleteChannelModeratorResponse'++instance+  Prelude.NFData+    DeleteChannelModeratorResponse+  where+  rnf _ = ()
+ gen/Amazonka/Chime/DeleteEventsConfiguration.hs view
@@ -0,0 +1,144 @@+{-# 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.Chime.DeleteEventsConfiguration+-- 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 events configuration that allows a bot to receive outgoing+-- events.+module Amazonka.Chime.DeleteEventsConfiguration+  ( -- * Creating a Request+    DeleteEventsConfiguration (..),+    newDeleteEventsConfiguration,++    -- * Request Lenses+    deleteEventsConfiguration_accountId,+    deleteEventsConfiguration_botId,++    -- * Destructuring the Response+    DeleteEventsConfigurationResponse (..),+    newDeleteEventsConfigurationResponse,+  )+where++import Amazonka.Chime.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:/ 'newDeleteEventsConfiguration' smart constructor.+data DeleteEventsConfiguration = DeleteEventsConfiguration'+  { -- | The Amazon Chime account ID.+    accountId :: Prelude.Text,+    -- | The bot ID.+    botId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteEventsConfiguration' 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:+--+-- 'accountId', 'deleteEventsConfiguration_accountId' - The Amazon Chime account ID.+--+-- 'botId', 'deleteEventsConfiguration_botId' - The bot ID.+newDeleteEventsConfiguration ::+  -- | 'accountId'+  Prelude.Text ->+  -- | 'botId'+  Prelude.Text ->+  DeleteEventsConfiguration+newDeleteEventsConfiguration pAccountId_ pBotId_ =+  DeleteEventsConfiguration'+    { accountId = pAccountId_,+      botId = pBotId_+    }++-- | The Amazon Chime account ID.+deleteEventsConfiguration_accountId :: Lens.Lens' DeleteEventsConfiguration Prelude.Text+deleteEventsConfiguration_accountId = Lens.lens (\DeleteEventsConfiguration' {accountId} -> accountId) (\s@DeleteEventsConfiguration' {} a -> s {accountId = a} :: DeleteEventsConfiguration)++-- | The bot ID.+deleteEventsConfiguration_botId :: Lens.Lens' DeleteEventsConfiguration Prelude.Text+deleteEventsConfiguration_botId = Lens.lens (\DeleteEventsConfiguration' {botId} -> botId) (\s@DeleteEventsConfiguration' {} a -> s {botId = a} :: DeleteEventsConfiguration)++instance Core.AWSRequest DeleteEventsConfiguration where+  type+    AWSResponse DeleteEventsConfiguration =+      DeleteEventsConfigurationResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveNull+      DeleteEventsConfigurationResponse'++instance Prelude.Hashable DeleteEventsConfiguration where+  hashWithSalt _salt DeleteEventsConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` botId++instance Prelude.NFData DeleteEventsConfiguration where+  rnf DeleteEventsConfiguration' {..} =+    Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf botId++instance Data.ToHeaders DeleteEventsConfiguration where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DeleteEventsConfiguration where+  toPath DeleteEventsConfiguration' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS accountId,+        "/bots/",+        Data.toBS botId,+        "/events-configuration"+      ]++instance Data.ToQuery DeleteEventsConfiguration where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteEventsConfigurationResponse' smart constructor.+data DeleteEventsConfigurationResponse = DeleteEventsConfigurationResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteEventsConfigurationResponse' 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.+newDeleteEventsConfigurationResponse ::+  DeleteEventsConfigurationResponse+newDeleteEventsConfigurationResponse =+  DeleteEventsConfigurationResponse'++instance+  Prelude.NFData+    DeleteEventsConfigurationResponse+  where+  rnf _ = ()
+ gen/Amazonka/Chime/DeleteMediaCapturePipeline.hs view
@@ -0,0 +1,126 @@+{-# 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.Chime.DeleteMediaCapturePipeline+-- 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 media capture pipeline.+module Amazonka.Chime.DeleteMediaCapturePipeline+  ( -- * Creating a Request+    DeleteMediaCapturePipeline (..),+    newDeleteMediaCapturePipeline,++    -- * Request Lenses+    deleteMediaCapturePipeline_mediaPipelineId,++    -- * Destructuring the Response+    DeleteMediaCapturePipelineResponse (..),+    newDeleteMediaCapturePipelineResponse,+  )+where++import Amazonka.Chime.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:/ 'newDeleteMediaCapturePipeline' smart constructor.+data DeleteMediaCapturePipeline = DeleteMediaCapturePipeline'+  { -- | The ID of the media capture pipeline being deleted.+    mediaPipelineId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteMediaCapturePipeline' 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:+--+-- 'mediaPipelineId', 'deleteMediaCapturePipeline_mediaPipelineId' - The ID of the media capture pipeline being deleted.+newDeleteMediaCapturePipeline ::+  -- | 'mediaPipelineId'+  Prelude.Text ->+  DeleteMediaCapturePipeline+newDeleteMediaCapturePipeline pMediaPipelineId_ =+  DeleteMediaCapturePipeline'+    { mediaPipelineId =+        pMediaPipelineId_+    }++-- | The ID of the media capture pipeline being deleted.+deleteMediaCapturePipeline_mediaPipelineId :: Lens.Lens' DeleteMediaCapturePipeline Prelude.Text+deleteMediaCapturePipeline_mediaPipelineId = Lens.lens (\DeleteMediaCapturePipeline' {mediaPipelineId} -> mediaPipelineId) (\s@DeleteMediaCapturePipeline' {} a -> s {mediaPipelineId = a} :: DeleteMediaCapturePipeline)++instance Core.AWSRequest DeleteMediaCapturePipeline where+  type+    AWSResponse DeleteMediaCapturePipeline =+      DeleteMediaCapturePipelineResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveNull+      DeleteMediaCapturePipelineResponse'++instance Prelude.Hashable DeleteMediaCapturePipeline where+  hashWithSalt _salt DeleteMediaCapturePipeline' {..} =+    _salt `Prelude.hashWithSalt` mediaPipelineId++instance Prelude.NFData DeleteMediaCapturePipeline where+  rnf DeleteMediaCapturePipeline' {..} =+    Prelude.rnf mediaPipelineId++instance Data.ToHeaders DeleteMediaCapturePipeline where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DeleteMediaCapturePipeline where+  toPath DeleteMediaCapturePipeline' {..} =+    Prelude.mconcat+      [ "/media-capture-pipelines/",+        Data.toBS mediaPipelineId+      ]++instance Data.ToQuery DeleteMediaCapturePipeline where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteMediaCapturePipelineResponse' smart constructor.+data DeleteMediaCapturePipelineResponse = DeleteMediaCapturePipelineResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteMediaCapturePipelineResponse' 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.+newDeleteMediaCapturePipelineResponse ::+  DeleteMediaCapturePipelineResponse+newDeleteMediaCapturePipelineResponse =+  DeleteMediaCapturePipelineResponse'++instance+  Prelude.NFData+    DeleteMediaCapturePipelineResponse+  where+  rnf _ = ()
+ gen/Amazonka/Chime/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.Chime.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.Chime.DeleteMeeting+  ( -- * Creating a Request+    DeleteMeeting (..),+    newDeleteMeeting,++    -- * Request Lenses+    deleteMeeting_meetingId,++    -- * Destructuring the Response+    DeleteMeetingResponse (..),+    newDeleteMeetingResponse,+  )+where++import Amazonka.Chime.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/Chime/DeletePhoneNumber.hs view
@@ -0,0 +1,122 @@+{-# 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.Chime.DeletePhoneNumber+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Moves the specified phone number into the __Deletion queue__. A phone+-- number must be disassociated from any users or Amazon Chime Voice+-- Connectors before it can be deleted.+--+-- Deleted phone numbers remain in the __Deletion queue__ for 7 days before+-- they are deleted permanently.+module Amazonka.Chime.DeletePhoneNumber+  ( -- * Creating a Request+    DeletePhoneNumber (..),+    newDeletePhoneNumber,++    -- * Request Lenses+    deletePhoneNumber_phoneNumberId,++    -- * Destructuring the Response+    DeletePhoneNumberResponse (..),+    newDeletePhoneNumberResponse,+  )+where++import Amazonka.Chime.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:/ 'newDeletePhoneNumber' smart constructor.+data DeletePhoneNumber = DeletePhoneNumber'+  { -- | The phone number ID.+    phoneNumberId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeletePhoneNumber' 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:+--+-- 'phoneNumberId', 'deletePhoneNumber_phoneNumberId' - The phone number ID.+newDeletePhoneNumber ::+  -- | 'phoneNumberId'+  Prelude.Text ->+  DeletePhoneNumber+newDeletePhoneNumber pPhoneNumberId_ =+  DeletePhoneNumber' {phoneNumberId = pPhoneNumberId_}++-- | The phone number ID.+deletePhoneNumber_phoneNumberId :: Lens.Lens' DeletePhoneNumber Prelude.Text+deletePhoneNumber_phoneNumberId = Lens.lens (\DeletePhoneNumber' {phoneNumberId} -> phoneNumberId) (\s@DeletePhoneNumber' {} a -> s {phoneNumberId = a} :: DeletePhoneNumber)++instance Core.AWSRequest DeletePhoneNumber where+  type+    AWSResponse DeletePhoneNumber =+      DeletePhoneNumberResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveNull DeletePhoneNumberResponse'++instance Prelude.Hashable DeletePhoneNumber where+  hashWithSalt _salt DeletePhoneNumber' {..} =+    _salt `Prelude.hashWithSalt` phoneNumberId++instance Prelude.NFData DeletePhoneNumber where+  rnf DeletePhoneNumber' {..} =+    Prelude.rnf phoneNumberId++instance Data.ToHeaders DeletePhoneNumber where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DeletePhoneNumber where+  toPath DeletePhoneNumber' {..} =+    Prelude.mconcat+      ["/phone-numbers/", Data.toBS phoneNumberId]++instance Data.ToQuery DeletePhoneNumber where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeletePhoneNumberResponse' smart constructor.+data DeletePhoneNumberResponse = DeletePhoneNumberResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeletePhoneNumberResponse' 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.+newDeletePhoneNumberResponse ::+  DeletePhoneNumberResponse+newDeletePhoneNumberResponse =+  DeletePhoneNumberResponse'++instance Prelude.NFData DeletePhoneNumberResponse where+  rnf _ = ()
+ gen/Amazonka/Chime/DeleteProxySession.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.Chime.DeleteProxySession+-- 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 proxy session from the specified Amazon Chime+-- Voice Connector.+module Amazonka.Chime.DeleteProxySession+  ( -- * Creating a Request+    DeleteProxySession (..),+    newDeleteProxySession,++    -- * Request Lenses+    deleteProxySession_voiceConnectorId,+    deleteProxySession_proxySessionId,++    -- * Destructuring the Response+    DeleteProxySessionResponse (..),+    newDeleteProxySessionResponse,+  )+where++import Amazonka.Chime.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:/ 'newDeleteProxySession' smart constructor.+data DeleteProxySession = DeleteProxySession'+  { -- | The Amazon Chime voice connector ID.+    voiceConnectorId :: Prelude.Text,+    -- | The proxy session ID.+    proxySessionId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteProxySession' 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:+--+-- 'voiceConnectorId', 'deleteProxySession_voiceConnectorId' - The Amazon Chime voice connector ID.+--+-- 'proxySessionId', 'deleteProxySession_proxySessionId' - The proxy session ID.+newDeleteProxySession ::+  -- | 'voiceConnectorId'+  Prelude.Text ->+  -- | 'proxySessionId'+  Prelude.Text ->+  DeleteProxySession+newDeleteProxySession+  pVoiceConnectorId_+  pProxySessionId_ =+    DeleteProxySession'+      { voiceConnectorId =+          pVoiceConnectorId_,+        proxySessionId = pProxySessionId_+      }++-- | The Amazon Chime voice connector ID.+deleteProxySession_voiceConnectorId :: Lens.Lens' DeleteProxySession Prelude.Text+deleteProxySession_voiceConnectorId = Lens.lens (\DeleteProxySession' {voiceConnectorId} -> voiceConnectorId) (\s@DeleteProxySession' {} a -> s {voiceConnectorId = a} :: DeleteProxySession)++-- | The proxy session ID.+deleteProxySession_proxySessionId :: Lens.Lens' DeleteProxySession Prelude.Text+deleteProxySession_proxySessionId = Lens.lens (\DeleteProxySession' {proxySessionId} -> proxySessionId) (\s@DeleteProxySession' {} a -> s {proxySessionId = a} :: DeleteProxySession)++instance Core.AWSRequest DeleteProxySession where+  type+    AWSResponse DeleteProxySession =+      DeleteProxySessionResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveNull DeleteProxySessionResponse'++instance Prelude.Hashable DeleteProxySession where+  hashWithSalt _salt DeleteProxySession' {..} =+    _salt+      `Prelude.hashWithSalt` voiceConnectorId+      `Prelude.hashWithSalt` proxySessionId++instance Prelude.NFData DeleteProxySession where+  rnf DeleteProxySession' {..} =+    Prelude.rnf voiceConnectorId+      `Prelude.seq` Prelude.rnf proxySessionId++instance Data.ToHeaders DeleteProxySession where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DeleteProxySession where+  toPath DeleteProxySession' {..} =+    Prelude.mconcat+      [ "/voice-connectors/",+        Data.toBS voiceConnectorId,+        "/proxy-sessions/",+        Data.toBS proxySessionId+      ]++instance Data.ToQuery DeleteProxySession where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteProxySessionResponse' smart constructor.+data DeleteProxySessionResponse = DeleteProxySessionResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteProxySessionResponse' 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.+newDeleteProxySessionResponse ::+  DeleteProxySessionResponse+newDeleteProxySessionResponse =+  DeleteProxySessionResponse'++instance Prelude.NFData DeleteProxySessionResponse where+  rnf _ = ()
+ gen/Amazonka/Chime/DeleteRoom.hs view
@@ -0,0 +1,134 @@+{-# 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.Chime.DeleteRoom+-- 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 a chat room in an Amazon Chime Enterprise account.+module Amazonka.Chime.DeleteRoom+  ( -- * Creating a Request+    DeleteRoom (..),+    newDeleteRoom,++    -- * Request Lenses+    deleteRoom_accountId,+    deleteRoom_roomId,++    -- * Destructuring the Response+    DeleteRoomResponse (..),+    newDeleteRoomResponse,+  )+where++import Amazonka.Chime.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:/ 'newDeleteRoom' smart constructor.+data DeleteRoom = DeleteRoom'+  { -- | The Amazon Chime account ID.+    accountId :: Prelude.Text,+    -- | The chat room ID.+    roomId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteRoom' 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:+--+-- 'accountId', 'deleteRoom_accountId' - The Amazon Chime account ID.+--+-- 'roomId', 'deleteRoom_roomId' - The chat room ID.+newDeleteRoom ::+  -- | 'accountId'+  Prelude.Text ->+  -- | 'roomId'+  Prelude.Text ->+  DeleteRoom+newDeleteRoom pAccountId_ pRoomId_ =+  DeleteRoom'+    { accountId = pAccountId_,+      roomId = pRoomId_+    }++-- | The Amazon Chime account ID.+deleteRoom_accountId :: Lens.Lens' DeleteRoom Prelude.Text+deleteRoom_accountId = Lens.lens (\DeleteRoom' {accountId} -> accountId) (\s@DeleteRoom' {} a -> s {accountId = a} :: DeleteRoom)++-- | The chat room ID.+deleteRoom_roomId :: Lens.Lens' DeleteRoom Prelude.Text+deleteRoom_roomId = Lens.lens (\DeleteRoom' {roomId} -> roomId) (\s@DeleteRoom' {} a -> s {roomId = a} :: DeleteRoom)++instance Core.AWSRequest DeleteRoom where+  type AWSResponse DeleteRoom = DeleteRoomResponse+  request overrides =+    Request.delete (overrides defaultService)+  response = Response.receiveNull DeleteRoomResponse'++instance Prelude.Hashable DeleteRoom where+  hashWithSalt _salt DeleteRoom' {..} =+    _salt+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` roomId++instance Prelude.NFData DeleteRoom where+  rnf DeleteRoom' {..} =+    Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf roomId++instance Data.ToHeaders DeleteRoom where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DeleteRoom where+  toPath DeleteRoom' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS accountId,+        "/rooms/",+        Data.toBS roomId+      ]++instance Data.ToQuery DeleteRoom where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteRoomResponse' smart constructor.+data DeleteRoomResponse = DeleteRoomResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteRoomResponse' 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.+newDeleteRoomResponse ::+  DeleteRoomResponse+newDeleteRoomResponse = DeleteRoomResponse'++instance Prelude.NFData DeleteRoomResponse where+  rnf _ = ()
+ gen/Amazonka/Chime/DeleteRoomMembership.hs view
@@ -0,0 +1,157 @@+{-# 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.Chime.DeleteRoomMembership+-- 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 a member from a chat room in an Amazon Chime Enterprise account.+module Amazonka.Chime.DeleteRoomMembership+  ( -- * Creating a Request+    DeleteRoomMembership (..),+    newDeleteRoomMembership,++    -- * Request Lenses+    deleteRoomMembership_accountId,+    deleteRoomMembership_roomId,+    deleteRoomMembership_memberId,++    -- * Destructuring the Response+    DeleteRoomMembershipResponse (..),+    newDeleteRoomMembershipResponse,+  )+where++import Amazonka.Chime.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:/ 'newDeleteRoomMembership' smart constructor.+data DeleteRoomMembership = DeleteRoomMembership'+  { -- | The Amazon Chime account ID.+    accountId :: Prelude.Text,+    -- | The room ID.+    roomId :: Prelude.Text,+    -- | The member ID (user ID or bot ID).+    memberId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteRoomMembership' 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:+--+-- 'accountId', 'deleteRoomMembership_accountId' - The Amazon Chime account ID.+--+-- 'roomId', 'deleteRoomMembership_roomId' - The room ID.+--+-- 'memberId', 'deleteRoomMembership_memberId' - The member ID (user ID or bot ID).+newDeleteRoomMembership ::+  -- | 'accountId'+  Prelude.Text ->+  -- | 'roomId'+  Prelude.Text ->+  -- | 'memberId'+  Prelude.Text ->+  DeleteRoomMembership+newDeleteRoomMembership+  pAccountId_+  pRoomId_+  pMemberId_ =+    DeleteRoomMembership'+      { accountId = pAccountId_,+        roomId = pRoomId_,+        memberId = pMemberId_+      }++-- | The Amazon Chime account ID.+deleteRoomMembership_accountId :: Lens.Lens' DeleteRoomMembership Prelude.Text+deleteRoomMembership_accountId = Lens.lens (\DeleteRoomMembership' {accountId} -> accountId) (\s@DeleteRoomMembership' {} a -> s {accountId = a} :: DeleteRoomMembership)++-- | The room ID.+deleteRoomMembership_roomId :: Lens.Lens' DeleteRoomMembership Prelude.Text+deleteRoomMembership_roomId = Lens.lens (\DeleteRoomMembership' {roomId} -> roomId) (\s@DeleteRoomMembership' {} a -> s {roomId = a} :: DeleteRoomMembership)++-- | The member ID (user ID or bot ID).+deleteRoomMembership_memberId :: Lens.Lens' DeleteRoomMembership Prelude.Text+deleteRoomMembership_memberId = Lens.lens (\DeleteRoomMembership' {memberId} -> memberId) (\s@DeleteRoomMembership' {} a -> s {memberId = a} :: DeleteRoomMembership)++instance Core.AWSRequest DeleteRoomMembership where+  type+    AWSResponse DeleteRoomMembership =+      DeleteRoomMembershipResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveNull DeleteRoomMembershipResponse'++instance Prelude.Hashable DeleteRoomMembership where+  hashWithSalt _salt DeleteRoomMembership' {..} =+    _salt+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` roomId+      `Prelude.hashWithSalt` memberId++instance Prelude.NFData DeleteRoomMembership where+  rnf DeleteRoomMembership' {..} =+    Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf roomId+      `Prelude.seq` Prelude.rnf memberId++instance Data.ToHeaders DeleteRoomMembership where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DeleteRoomMembership where+  toPath DeleteRoomMembership' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS accountId,+        "/rooms/",+        Data.toBS roomId,+        "/memberships/",+        Data.toBS memberId+      ]++instance Data.ToQuery DeleteRoomMembership where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteRoomMembershipResponse' smart constructor.+data DeleteRoomMembershipResponse = DeleteRoomMembershipResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteRoomMembershipResponse' 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.+newDeleteRoomMembershipResponse ::+  DeleteRoomMembershipResponse+newDeleteRoomMembershipResponse =+  DeleteRoomMembershipResponse'++instance Prelude.NFData DeleteRoomMembershipResponse where+  rnf _ = ()
+ gen/Amazonka/Chime/DeleteSipMediaApplication.hs view
@@ -0,0 +1,126 @@+{-# 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.Chime.DeleteSipMediaApplication+-- 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 a SIP media application.+module Amazonka.Chime.DeleteSipMediaApplication+  ( -- * Creating a Request+    DeleteSipMediaApplication (..),+    newDeleteSipMediaApplication,++    -- * Request Lenses+    deleteSipMediaApplication_sipMediaApplicationId,++    -- * Destructuring the Response+    DeleteSipMediaApplicationResponse (..),+    newDeleteSipMediaApplicationResponse,+  )+where++import Amazonka.Chime.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:/ 'newDeleteSipMediaApplication' smart constructor.+data DeleteSipMediaApplication = DeleteSipMediaApplication'+  { -- | The SIP media application ID.+    sipMediaApplicationId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteSipMediaApplication' 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:+--+-- 'sipMediaApplicationId', 'deleteSipMediaApplication_sipMediaApplicationId' - The SIP media application ID.+newDeleteSipMediaApplication ::+  -- | 'sipMediaApplicationId'+  Prelude.Text ->+  DeleteSipMediaApplication+newDeleteSipMediaApplication pSipMediaApplicationId_ =+  DeleteSipMediaApplication'+    { sipMediaApplicationId =+        pSipMediaApplicationId_+    }++-- | The SIP media application ID.+deleteSipMediaApplication_sipMediaApplicationId :: Lens.Lens' DeleteSipMediaApplication Prelude.Text+deleteSipMediaApplication_sipMediaApplicationId = Lens.lens (\DeleteSipMediaApplication' {sipMediaApplicationId} -> sipMediaApplicationId) (\s@DeleteSipMediaApplication' {} a -> s {sipMediaApplicationId = a} :: DeleteSipMediaApplication)++instance Core.AWSRequest DeleteSipMediaApplication where+  type+    AWSResponse DeleteSipMediaApplication =+      DeleteSipMediaApplicationResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveNull+      DeleteSipMediaApplicationResponse'++instance Prelude.Hashable DeleteSipMediaApplication where+  hashWithSalt _salt DeleteSipMediaApplication' {..} =+    _salt `Prelude.hashWithSalt` sipMediaApplicationId++instance Prelude.NFData DeleteSipMediaApplication where+  rnf DeleteSipMediaApplication' {..} =+    Prelude.rnf sipMediaApplicationId++instance Data.ToHeaders DeleteSipMediaApplication where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DeleteSipMediaApplication where+  toPath DeleteSipMediaApplication' {..} =+    Prelude.mconcat+      [ "/sip-media-applications/",+        Data.toBS sipMediaApplicationId+      ]++instance Data.ToQuery DeleteSipMediaApplication where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteSipMediaApplicationResponse' smart constructor.+data DeleteSipMediaApplicationResponse = DeleteSipMediaApplicationResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteSipMediaApplicationResponse' 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.+newDeleteSipMediaApplicationResponse ::+  DeleteSipMediaApplicationResponse+newDeleteSipMediaApplicationResponse =+  DeleteSipMediaApplicationResponse'++instance+  Prelude.NFData+    DeleteSipMediaApplicationResponse+  where+  rnf _ = ()
+ gen/Amazonka/Chime/DeleteSipRule.hs view
@@ -0,0 +1,116 @@+{-# 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.Chime.DeleteSipRule+-- 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 a SIP rule. You must disable a SIP rule before you can delete+-- it.+module Amazonka.Chime.DeleteSipRule+  ( -- * Creating a Request+    DeleteSipRule (..),+    newDeleteSipRule,++    -- * Request Lenses+    deleteSipRule_sipRuleId,++    -- * Destructuring the Response+    DeleteSipRuleResponse (..),+    newDeleteSipRuleResponse,+  )+where++import Amazonka.Chime.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:/ 'newDeleteSipRule' smart constructor.+data DeleteSipRule = DeleteSipRule'+  { -- | The SIP rule ID.+    sipRuleId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteSipRule' 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:+--+-- 'sipRuleId', 'deleteSipRule_sipRuleId' - The SIP rule ID.+newDeleteSipRule ::+  -- | 'sipRuleId'+  Prelude.Text ->+  DeleteSipRule+newDeleteSipRule pSipRuleId_ =+  DeleteSipRule' {sipRuleId = pSipRuleId_}++-- | The SIP rule ID.+deleteSipRule_sipRuleId :: Lens.Lens' DeleteSipRule Prelude.Text+deleteSipRule_sipRuleId = Lens.lens (\DeleteSipRule' {sipRuleId} -> sipRuleId) (\s@DeleteSipRule' {} a -> s {sipRuleId = a} :: DeleteSipRule)++instance Core.AWSRequest DeleteSipRule where+  type+    AWSResponse DeleteSipRule =+      DeleteSipRuleResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveNull DeleteSipRuleResponse'++instance Prelude.Hashable DeleteSipRule where+  hashWithSalt _salt DeleteSipRule' {..} =+    _salt `Prelude.hashWithSalt` sipRuleId++instance Prelude.NFData DeleteSipRule where+  rnf DeleteSipRule' {..} = Prelude.rnf sipRuleId++instance Data.ToHeaders DeleteSipRule where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DeleteSipRule where+  toPath DeleteSipRule' {..} =+    Prelude.mconcat+      ["/sip-rules/", Data.toBS sipRuleId]++instance Data.ToQuery DeleteSipRule where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteSipRuleResponse' smart constructor.+data DeleteSipRuleResponse = DeleteSipRuleResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteSipRuleResponse' 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.+newDeleteSipRuleResponse ::+  DeleteSipRuleResponse+newDeleteSipRuleResponse = DeleteSipRuleResponse'++instance Prelude.NFData DeleteSipRuleResponse where+  rnf _ = ()
+ gen/Amazonka/Chime/DeleteVoiceConnector.hs view
@@ -0,0 +1,122 @@+{-# 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.Chime.DeleteVoiceConnector+-- 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 Voice Connector. Any phone numbers+-- associated with the Amazon Chime Voice Connector must be disassociated+-- from it before it can be deleted.+module Amazonka.Chime.DeleteVoiceConnector+  ( -- * Creating a Request+    DeleteVoiceConnector (..),+    newDeleteVoiceConnector,++    -- * Request Lenses+    deleteVoiceConnector_voiceConnectorId,++    -- * Destructuring the Response+    DeleteVoiceConnectorResponse (..),+    newDeleteVoiceConnectorResponse,+  )+where++import Amazonka.Chime.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:/ 'newDeleteVoiceConnector' smart constructor.+data DeleteVoiceConnector = DeleteVoiceConnector'+  { -- | The Amazon Chime Voice Connector ID.+    voiceConnectorId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteVoiceConnector' 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:+--+-- 'voiceConnectorId', 'deleteVoiceConnector_voiceConnectorId' - The Amazon Chime Voice Connector ID.+newDeleteVoiceConnector ::+  -- | 'voiceConnectorId'+  Prelude.Text ->+  DeleteVoiceConnector+newDeleteVoiceConnector pVoiceConnectorId_ =+  DeleteVoiceConnector'+    { voiceConnectorId =+        pVoiceConnectorId_+    }++-- | The Amazon Chime Voice Connector ID.+deleteVoiceConnector_voiceConnectorId :: Lens.Lens' DeleteVoiceConnector Prelude.Text+deleteVoiceConnector_voiceConnectorId = Lens.lens (\DeleteVoiceConnector' {voiceConnectorId} -> voiceConnectorId) (\s@DeleteVoiceConnector' {} a -> s {voiceConnectorId = a} :: DeleteVoiceConnector)++instance Core.AWSRequest DeleteVoiceConnector where+  type+    AWSResponse DeleteVoiceConnector =+      DeleteVoiceConnectorResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveNull DeleteVoiceConnectorResponse'++instance Prelude.Hashable DeleteVoiceConnector where+  hashWithSalt _salt DeleteVoiceConnector' {..} =+    _salt `Prelude.hashWithSalt` voiceConnectorId++instance Prelude.NFData DeleteVoiceConnector where+  rnf DeleteVoiceConnector' {..} =+    Prelude.rnf voiceConnectorId++instance Data.ToHeaders DeleteVoiceConnector where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DeleteVoiceConnector where+  toPath DeleteVoiceConnector' {..} =+    Prelude.mconcat+      ["/voice-connectors/", Data.toBS voiceConnectorId]++instance Data.ToQuery DeleteVoiceConnector where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteVoiceConnectorResponse' smart constructor.+data DeleteVoiceConnectorResponse = DeleteVoiceConnectorResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteVoiceConnectorResponse' 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.+newDeleteVoiceConnectorResponse ::+  DeleteVoiceConnectorResponse+newDeleteVoiceConnectorResponse =+  DeleteVoiceConnectorResponse'++instance Prelude.NFData DeleteVoiceConnectorResponse where+  rnf _ = ()
+ gen/Amazonka/Chime/DeleteVoiceConnectorEmergencyCallingConfiguration.hs view
@@ -0,0 +1,152 @@+{-# 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.Chime.DeleteVoiceConnectorEmergencyCallingConfiguration+-- 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 emergency calling configuration details from the specified+-- Amazon Chime Voice Connector.+module Amazonka.Chime.DeleteVoiceConnectorEmergencyCallingConfiguration+  ( -- * Creating a Request+    DeleteVoiceConnectorEmergencyCallingConfiguration (..),+    newDeleteVoiceConnectorEmergencyCallingConfiguration,++    -- * Request Lenses+    deleteVoiceConnectorEmergencyCallingConfiguration_voiceConnectorId,++    -- * Destructuring the Response+    DeleteVoiceConnectorEmergencyCallingConfigurationResponse (..),+    newDeleteVoiceConnectorEmergencyCallingConfigurationResponse,+  )+where++import Amazonka.Chime.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:/ 'newDeleteVoiceConnectorEmergencyCallingConfiguration' smart constructor.+data DeleteVoiceConnectorEmergencyCallingConfiguration = DeleteVoiceConnectorEmergencyCallingConfiguration'+  { -- | The Amazon Chime Voice Connector ID.+    voiceConnectorId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteVoiceConnectorEmergencyCallingConfiguration' 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:+--+-- 'voiceConnectorId', 'deleteVoiceConnectorEmergencyCallingConfiguration_voiceConnectorId' - The Amazon Chime Voice Connector ID.+newDeleteVoiceConnectorEmergencyCallingConfiguration ::+  -- | 'voiceConnectorId'+  Prelude.Text ->+  DeleteVoiceConnectorEmergencyCallingConfiguration+newDeleteVoiceConnectorEmergencyCallingConfiguration+  pVoiceConnectorId_ =+    DeleteVoiceConnectorEmergencyCallingConfiguration'+      { voiceConnectorId =+          pVoiceConnectorId_+      }++-- | The Amazon Chime Voice Connector ID.+deleteVoiceConnectorEmergencyCallingConfiguration_voiceConnectorId :: Lens.Lens' DeleteVoiceConnectorEmergencyCallingConfiguration Prelude.Text+deleteVoiceConnectorEmergencyCallingConfiguration_voiceConnectorId = Lens.lens (\DeleteVoiceConnectorEmergencyCallingConfiguration' {voiceConnectorId} -> voiceConnectorId) (\s@DeleteVoiceConnectorEmergencyCallingConfiguration' {} a -> s {voiceConnectorId = a} :: DeleteVoiceConnectorEmergencyCallingConfiguration)++instance+  Core.AWSRequest+    DeleteVoiceConnectorEmergencyCallingConfiguration+  where+  type+    AWSResponse+      DeleteVoiceConnectorEmergencyCallingConfiguration =+      DeleteVoiceConnectorEmergencyCallingConfigurationResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveNull+      DeleteVoiceConnectorEmergencyCallingConfigurationResponse'++instance+  Prelude.Hashable+    DeleteVoiceConnectorEmergencyCallingConfiguration+  where+  hashWithSalt+    _salt+    DeleteVoiceConnectorEmergencyCallingConfiguration' {..} =+      _salt `Prelude.hashWithSalt` voiceConnectorId++instance+  Prelude.NFData+    DeleteVoiceConnectorEmergencyCallingConfiguration+  where+  rnf+    DeleteVoiceConnectorEmergencyCallingConfiguration' {..} =+      Prelude.rnf voiceConnectorId++instance+  Data.ToHeaders+    DeleteVoiceConnectorEmergencyCallingConfiguration+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToPath+    DeleteVoiceConnectorEmergencyCallingConfiguration+  where+  toPath+    DeleteVoiceConnectorEmergencyCallingConfiguration' {..} =+      Prelude.mconcat+        [ "/voice-connectors/",+          Data.toBS voiceConnectorId,+          "/emergency-calling-configuration"+        ]++instance+  Data.ToQuery+    DeleteVoiceConnectorEmergencyCallingConfiguration+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteVoiceConnectorEmergencyCallingConfigurationResponse' smart constructor.+data DeleteVoiceConnectorEmergencyCallingConfigurationResponse = DeleteVoiceConnectorEmergencyCallingConfigurationResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteVoiceConnectorEmergencyCallingConfigurationResponse' 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.+newDeleteVoiceConnectorEmergencyCallingConfigurationResponse ::+  DeleteVoiceConnectorEmergencyCallingConfigurationResponse+newDeleteVoiceConnectorEmergencyCallingConfigurationResponse =+  DeleteVoiceConnectorEmergencyCallingConfigurationResponse'++instance+  Prelude.NFData+    DeleteVoiceConnectorEmergencyCallingConfigurationResponse+  where+  rnf _ = ()
+ gen/Amazonka/Chime/DeleteVoiceConnectorGroup.hs view
@@ -0,0 +1,128 @@+{-# 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.Chime.DeleteVoiceConnectorGroup+-- 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 Voice Connector group. Any+-- @VoiceConnectorItems@ and phone numbers associated with the group must+-- be removed before it can be deleted.+module Amazonka.Chime.DeleteVoiceConnectorGroup+  ( -- * Creating a Request+    DeleteVoiceConnectorGroup (..),+    newDeleteVoiceConnectorGroup,++    -- * Request Lenses+    deleteVoiceConnectorGroup_voiceConnectorGroupId,++    -- * Destructuring the Response+    DeleteVoiceConnectorGroupResponse (..),+    newDeleteVoiceConnectorGroupResponse,+  )+where++import Amazonka.Chime.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:/ 'newDeleteVoiceConnectorGroup' smart constructor.+data DeleteVoiceConnectorGroup = DeleteVoiceConnectorGroup'+  { -- | The Amazon Chime Voice Connector group ID.+    voiceConnectorGroupId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteVoiceConnectorGroup' 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:+--+-- 'voiceConnectorGroupId', 'deleteVoiceConnectorGroup_voiceConnectorGroupId' - The Amazon Chime Voice Connector group ID.+newDeleteVoiceConnectorGroup ::+  -- | 'voiceConnectorGroupId'+  Prelude.Text ->+  DeleteVoiceConnectorGroup+newDeleteVoiceConnectorGroup pVoiceConnectorGroupId_ =+  DeleteVoiceConnectorGroup'+    { voiceConnectorGroupId =+        pVoiceConnectorGroupId_+    }++-- | The Amazon Chime Voice Connector group ID.+deleteVoiceConnectorGroup_voiceConnectorGroupId :: Lens.Lens' DeleteVoiceConnectorGroup Prelude.Text+deleteVoiceConnectorGroup_voiceConnectorGroupId = Lens.lens (\DeleteVoiceConnectorGroup' {voiceConnectorGroupId} -> voiceConnectorGroupId) (\s@DeleteVoiceConnectorGroup' {} a -> s {voiceConnectorGroupId = a} :: DeleteVoiceConnectorGroup)++instance Core.AWSRequest DeleteVoiceConnectorGroup where+  type+    AWSResponse DeleteVoiceConnectorGroup =+      DeleteVoiceConnectorGroupResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveNull+      DeleteVoiceConnectorGroupResponse'++instance Prelude.Hashable DeleteVoiceConnectorGroup where+  hashWithSalt _salt DeleteVoiceConnectorGroup' {..} =+    _salt `Prelude.hashWithSalt` voiceConnectorGroupId++instance Prelude.NFData DeleteVoiceConnectorGroup where+  rnf DeleteVoiceConnectorGroup' {..} =+    Prelude.rnf voiceConnectorGroupId++instance Data.ToHeaders DeleteVoiceConnectorGroup where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DeleteVoiceConnectorGroup where+  toPath DeleteVoiceConnectorGroup' {..} =+    Prelude.mconcat+      [ "/voice-connector-groups/",+        Data.toBS voiceConnectorGroupId+      ]++instance Data.ToQuery DeleteVoiceConnectorGroup where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteVoiceConnectorGroupResponse' smart constructor.+data DeleteVoiceConnectorGroupResponse = DeleteVoiceConnectorGroupResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteVoiceConnectorGroupResponse' 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.+newDeleteVoiceConnectorGroupResponse ::+  DeleteVoiceConnectorGroupResponse+newDeleteVoiceConnectorGroupResponse =+  DeleteVoiceConnectorGroupResponse'++instance+  Prelude.NFData+    DeleteVoiceConnectorGroupResponse+  where+  rnf _ = ()
+ gen/Amazonka/Chime/DeleteVoiceConnectorOrigination.hs view
@@ -0,0 +1,145 @@+{-# 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.Chime.DeleteVoiceConnectorOrigination+-- 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 origination settings for the specified Amazon Chime Voice+-- Connector.+--+-- If emergency calling is configured for the Amazon Chime Voice Connector,+-- it must be deleted prior to deleting the origination settings.+module Amazonka.Chime.DeleteVoiceConnectorOrigination+  ( -- * Creating a Request+    DeleteVoiceConnectorOrigination (..),+    newDeleteVoiceConnectorOrigination,++    -- * Request Lenses+    deleteVoiceConnectorOrigination_voiceConnectorId,++    -- * Destructuring the Response+    DeleteVoiceConnectorOriginationResponse (..),+    newDeleteVoiceConnectorOriginationResponse,+  )+where++import Amazonka.Chime.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:/ 'newDeleteVoiceConnectorOrigination' smart constructor.+data DeleteVoiceConnectorOrigination = DeleteVoiceConnectorOrigination'+  { -- | The Amazon Chime Voice Connector ID.+    voiceConnectorId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteVoiceConnectorOrigination' 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:+--+-- 'voiceConnectorId', 'deleteVoiceConnectorOrigination_voiceConnectorId' - The Amazon Chime Voice Connector ID.+newDeleteVoiceConnectorOrigination ::+  -- | 'voiceConnectorId'+  Prelude.Text ->+  DeleteVoiceConnectorOrigination+newDeleteVoiceConnectorOrigination pVoiceConnectorId_ =+  DeleteVoiceConnectorOrigination'+    { voiceConnectorId =+        pVoiceConnectorId_+    }++-- | The Amazon Chime Voice Connector ID.+deleteVoiceConnectorOrigination_voiceConnectorId :: Lens.Lens' DeleteVoiceConnectorOrigination Prelude.Text+deleteVoiceConnectorOrigination_voiceConnectorId = Lens.lens (\DeleteVoiceConnectorOrigination' {voiceConnectorId} -> voiceConnectorId) (\s@DeleteVoiceConnectorOrigination' {} a -> s {voiceConnectorId = a} :: DeleteVoiceConnectorOrigination)++instance+  Core.AWSRequest+    DeleteVoiceConnectorOrigination+  where+  type+    AWSResponse DeleteVoiceConnectorOrigination =+      DeleteVoiceConnectorOriginationResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveNull+      DeleteVoiceConnectorOriginationResponse'++instance+  Prelude.Hashable+    DeleteVoiceConnectorOrigination+  where+  hashWithSalt+    _salt+    DeleteVoiceConnectorOrigination' {..} =+      _salt `Prelude.hashWithSalt` voiceConnectorId++instance+  Prelude.NFData+    DeleteVoiceConnectorOrigination+  where+  rnf DeleteVoiceConnectorOrigination' {..} =+    Prelude.rnf voiceConnectorId++instance+  Data.ToHeaders+    DeleteVoiceConnectorOrigination+  where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DeleteVoiceConnectorOrigination where+  toPath DeleteVoiceConnectorOrigination' {..} =+    Prelude.mconcat+      [ "/voice-connectors/",+        Data.toBS voiceConnectorId,+        "/origination"+      ]++instance Data.ToQuery DeleteVoiceConnectorOrigination where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteVoiceConnectorOriginationResponse' smart constructor.+data DeleteVoiceConnectorOriginationResponse = DeleteVoiceConnectorOriginationResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteVoiceConnectorOriginationResponse' 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.+newDeleteVoiceConnectorOriginationResponse ::+  DeleteVoiceConnectorOriginationResponse+newDeleteVoiceConnectorOriginationResponse =+  DeleteVoiceConnectorOriginationResponse'++instance+  Prelude.NFData+    DeleteVoiceConnectorOriginationResponse+  where+  rnf _ = ()
+ gen/Amazonka/Chime/DeleteVoiceConnectorProxy.hs view
@@ -0,0 +1,128 @@+{-# 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.Chime.DeleteVoiceConnectorProxy+-- 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 proxy configuration from the specified Amazon Chime Voice+-- Connector.+module Amazonka.Chime.DeleteVoiceConnectorProxy+  ( -- * Creating a Request+    DeleteVoiceConnectorProxy (..),+    newDeleteVoiceConnectorProxy,++    -- * Request Lenses+    deleteVoiceConnectorProxy_voiceConnectorId,++    -- * Destructuring the Response+    DeleteVoiceConnectorProxyResponse (..),+    newDeleteVoiceConnectorProxyResponse,+  )+where++import Amazonka.Chime.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:/ 'newDeleteVoiceConnectorProxy' smart constructor.+data DeleteVoiceConnectorProxy = DeleteVoiceConnectorProxy'+  { -- | The Amazon Chime Voice Connector ID.+    voiceConnectorId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteVoiceConnectorProxy' 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:+--+-- 'voiceConnectorId', 'deleteVoiceConnectorProxy_voiceConnectorId' - The Amazon Chime Voice Connector ID.+newDeleteVoiceConnectorProxy ::+  -- | 'voiceConnectorId'+  Prelude.Text ->+  DeleteVoiceConnectorProxy+newDeleteVoiceConnectorProxy pVoiceConnectorId_ =+  DeleteVoiceConnectorProxy'+    { voiceConnectorId =+        pVoiceConnectorId_+    }++-- | The Amazon Chime Voice Connector ID.+deleteVoiceConnectorProxy_voiceConnectorId :: Lens.Lens' DeleteVoiceConnectorProxy Prelude.Text+deleteVoiceConnectorProxy_voiceConnectorId = Lens.lens (\DeleteVoiceConnectorProxy' {voiceConnectorId} -> voiceConnectorId) (\s@DeleteVoiceConnectorProxy' {} a -> s {voiceConnectorId = a} :: DeleteVoiceConnectorProxy)++instance Core.AWSRequest DeleteVoiceConnectorProxy where+  type+    AWSResponse DeleteVoiceConnectorProxy =+      DeleteVoiceConnectorProxyResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveNull+      DeleteVoiceConnectorProxyResponse'++instance Prelude.Hashable DeleteVoiceConnectorProxy where+  hashWithSalt _salt DeleteVoiceConnectorProxy' {..} =+    _salt `Prelude.hashWithSalt` voiceConnectorId++instance Prelude.NFData DeleteVoiceConnectorProxy where+  rnf DeleteVoiceConnectorProxy' {..} =+    Prelude.rnf voiceConnectorId++instance Data.ToHeaders DeleteVoiceConnectorProxy where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DeleteVoiceConnectorProxy where+  toPath DeleteVoiceConnectorProxy' {..} =+    Prelude.mconcat+      [ "/voice-connectors/",+        Data.toBS voiceConnectorId,+        "/programmable-numbers/proxy"+      ]++instance Data.ToQuery DeleteVoiceConnectorProxy where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteVoiceConnectorProxyResponse' smart constructor.+data DeleteVoiceConnectorProxyResponse = DeleteVoiceConnectorProxyResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteVoiceConnectorProxyResponse' 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.+newDeleteVoiceConnectorProxyResponse ::+  DeleteVoiceConnectorProxyResponse+newDeleteVoiceConnectorProxyResponse =+  DeleteVoiceConnectorProxyResponse'++instance+  Prelude.NFData+    DeleteVoiceConnectorProxyResponse+  where+  rnf _ = ()
+ gen/Amazonka/Chime/DeleteVoiceConnectorStreamingConfiguration.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.Chime.DeleteVoiceConnectorStreamingConfiguration+-- 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 streaming configuration for the specified Amazon Chime Voice+-- Connector.+module Amazonka.Chime.DeleteVoiceConnectorStreamingConfiguration+  ( -- * Creating a Request+    DeleteVoiceConnectorStreamingConfiguration (..),+    newDeleteVoiceConnectorStreamingConfiguration,++    -- * Request Lenses+    deleteVoiceConnectorStreamingConfiguration_voiceConnectorId,++    -- * Destructuring the Response+    DeleteVoiceConnectorStreamingConfigurationResponse (..),+    newDeleteVoiceConnectorStreamingConfigurationResponse,+  )+where++import Amazonka.Chime.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:/ 'newDeleteVoiceConnectorStreamingConfiguration' smart constructor.+data DeleteVoiceConnectorStreamingConfiguration = DeleteVoiceConnectorStreamingConfiguration'+  { -- | The Amazon Chime Voice Connector ID.+    voiceConnectorId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteVoiceConnectorStreamingConfiguration' 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:+--+-- 'voiceConnectorId', 'deleteVoiceConnectorStreamingConfiguration_voiceConnectorId' - The Amazon Chime Voice Connector ID.+newDeleteVoiceConnectorStreamingConfiguration ::+  -- | 'voiceConnectorId'+  Prelude.Text ->+  DeleteVoiceConnectorStreamingConfiguration+newDeleteVoiceConnectorStreamingConfiguration+  pVoiceConnectorId_ =+    DeleteVoiceConnectorStreamingConfiguration'+      { voiceConnectorId =+          pVoiceConnectorId_+      }++-- | The Amazon Chime Voice Connector ID.+deleteVoiceConnectorStreamingConfiguration_voiceConnectorId :: Lens.Lens' DeleteVoiceConnectorStreamingConfiguration Prelude.Text+deleteVoiceConnectorStreamingConfiguration_voiceConnectorId = Lens.lens (\DeleteVoiceConnectorStreamingConfiguration' {voiceConnectorId} -> voiceConnectorId) (\s@DeleteVoiceConnectorStreamingConfiguration' {} a -> s {voiceConnectorId = a} :: DeleteVoiceConnectorStreamingConfiguration)++instance+  Core.AWSRequest+    DeleteVoiceConnectorStreamingConfiguration+  where+  type+    AWSResponse+      DeleteVoiceConnectorStreamingConfiguration =+      DeleteVoiceConnectorStreamingConfigurationResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveNull+      DeleteVoiceConnectorStreamingConfigurationResponse'++instance+  Prelude.Hashable+    DeleteVoiceConnectorStreamingConfiguration+  where+  hashWithSalt+    _salt+    DeleteVoiceConnectorStreamingConfiguration' {..} =+      _salt `Prelude.hashWithSalt` voiceConnectorId++instance+  Prelude.NFData+    DeleteVoiceConnectorStreamingConfiguration+  where+  rnf DeleteVoiceConnectorStreamingConfiguration' {..} =+    Prelude.rnf voiceConnectorId++instance+  Data.ToHeaders+    DeleteVoiceConnectorStreamingConfiguration+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToPath+    DeleteVoiceConnectorStreamingConfiguration+  where+  toPath+    DeleteVoiceConnectorStreamingConfiguration' {..} =+      Prelude.mconcat+        [ "/voice-connectors/",+          Data.toBS voiceConnectorId,+          "/streaming-configuration"+        ]++instance+  Data.ToQuery+    DeleteVoiceConnectorStreamingConfiguration+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteVoiceConnectorStreamingConfigurationResponse' smart constructor.+data DeleteVoiceConnectorStreamingConfigurationResponse = DeleteVoiceConnectorStreamingConfigurationResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteVoiceConnectorStreamingConfigurationResponse' 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.+newDeleteVoiceConnectorStreamingConfigurationResponse ::+  DeleteVoiceConnectorStreamingConfigurationResponse+newDeleteVoiceConnectorStreamingConfigurationResponse =+  DeleteVoiceConnectorStreamingConfigurationResponse'++instance+  Prelude.NFData+    DeleteVoiceConnectorStreamingConfigurationResponse+  where+  rnf _ = ()
+ gen/Amazonka/Chime/DeleteVoiceConnectorTermination.hs view
@@ -0,0 +1,145 @@+{-# 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.Chime.DeleteVoiceConnectorTermination+-- 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 termination settings for the specified Amazon Chime Voice+-- Connector.+--+-- If emergency calling is configured for the Amazon Chime Voice Connector,+-- it must be deleted prior to deleting the termination settings.+module Amazonka.Chime.DeleteVoiceConnectorTermination+  ( -- * Creating a Request+    DeleteVoiceConnectorTermination (..),+    newDeleteVoiceConnectorTermination,++    -- * Request Lenses+    deleteVoiceConnectorTermination_voiceConnectorId,++    -- * Destructuring the Response+    DeleteVoiceConnectorTerminationResponse (..),+    newDeleteVoiceConnectorTerminationResponse,+  )+where++import Amazonka.Chime.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:/ 'newDeleteVoiceConnectorTermination' smart constructor.+data DeleteVoiceConnectorTermination = DeleteVoiceConnectorTermination'+  { -- | The Amazon Chime Voice Connector ID.+    voiceConnectorId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteVoiceConnectorTermination' 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:+--+-- 'voiceConnectorId', 'deleteVoiceConnectorTermination_voiceConnectorId' - The Amazon Chime Voice Connector ID.+newDeleteVoiceConnectorTermination ::+  -- | 'voiceConnectorId'+  Prelude.Text ->+  DeleteVoiceConnectorTermination+newDeleteVoiceConnectorTermination pVoiceConnectorId_ =+  DeleteVoiceConnectorTermination'+    { voiceConnectorId =+        pVoiceConnectorId_+    }++-- | The Amazon Chime Voice Connector ID.+deleteVoiceConnectorTermination_voiceConnectorId :: Lens.Lens' DeleteVoiceConnectorTermination Prelude.Text+deleteVoiceConnectorTermination_voiceConnectorId = Lens.lens (\DeleteVoiceConnectorTermination' {voiceConnectorId} -> voiceConnectorId) (\s@DeleteVoiceConnectorTermination' {} a -> s {voiceConnectorId = a} :: DeleteVoiceConnectorTermination)++instance+  Core.AWSRequest+    DeleteVoiceConnectorTermination+  where+  type+    AWSResponse DeleteVoiceConnectorTermination =+      DeleteVoiceConnectorTerminationResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveNull+      DeleteVoiceConnectorTerminationResponse'++instance+  Prelude.Hashable+    DeleteVoiceConnectorTermination+  where+  hashWithSalt+    _salt+    DeleteVoiceConnectorTermination' {..} =+      _salt `Prelude.hashWithSalt` voiceConnectorId++instance+  Prelude.NFData+    DeleteVoiceConnectorTermination+  where+  rnf DeleteVoiceConnectorTermination' {..} =+    Prelude.rnf voiceConnectorId++instance+  Data.ToHeaders+    DeleteVoiceConnectorTermination+  where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DeleteVoiceConnectorTermination where+  toPath DeleteVoiceConnectorTermination' {..} =+    Prelude.mconcat+      [ "/voice-connectors/",+        Data.toBS voiceConnectorId,+        "/termination"+      ]++instance Data.ToQuery DeleteVoiceConnectorTermination where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteVoiceConnectorTerminationResponse' smart constructor.+data DeleteVoiceConnectorTerminationResponse = DeleteVoiceConnectorTerminationResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteVoiceConnectorTerminationResponse' 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.+newDeleteVoiceConnectorTerminationResponse ::+  DeleteVoiceConnectorTerminationResponse+newDeleteVoiceConnectorTerminationResponse =+  DeleteVoiceConnectorTerminationResponse'++instance+  Prelude.NFData+    DeleteVoiceConnectorTerminationResponse+  where+  rnf _ = ()
+ gen/Amazonka/Chime/DeleteVoiceConnectorTerminationCredentials.hs view
@@ -0,0 +1,181 @@+{-# 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.Chime.DeleteVoiceConnectorTerminationCredentials+-- 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 SIP credentials used by your equipment to+-- authenticate during call termination.+module Amazonka.Chime.DeleteVoiceConnectorTerminationCredentials+  ( -- * Creating a Request+    DeleteVoiceConnectorTerminationCredentials (..),+    newDeleteVoiceConnectorTerminationCredentials,++    -- * Request Lenses+    deleteVoiceConnectorTerminationCredentials_usernames,+    deleteVoiceConnectorTerminationCredentials_voiceConnectorId,++    -- * Destructuring the Response+    DeleteVoiceConnectorTerminationCredentialsResponse (..),+    newDeleteVoiceConnectorTerminationCredentialsResponse,+  )+where++import Amazonka.Chime.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:/ 'newDeleteVoiceConnectorTerminationCredentials' smart constructor.+data DeleteVoiceConnectorTerminationCredentials = DeleteVoiceConnectorTerminationCredentials'+  { -- | The RFC2617 compliant username associated with the SIP credentials, in+    -- US-ASCII format.+    usernames :: [Data.Sensitive Prelude.Text],+    -- | The Amazon Chime Voice Connector ID.+    voiceConnectorId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteVoiceConnectorTerminationCredentials' 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:+--+-- 'usernames', 'deleteVoiceConnectorTerminationCredentials_usernames' - The RFC2617 compliant username associated with the SIP credentials, in+-- US-ASCII format.+--+-- 'voiceConnectorId', 'deleteVoiceConnectorTerminationCredentials_voiceConnectorId' - The Amazon Chime Voice Connector ID.+newDeleteVoiceConnectorTerminationCredentials ::+  -- | 'voiceConnectorId'+  Prelude.Text ->+  DeleteVoiceConnectorTerminationCredentials+newDeleteVoiceConnectorTerminationCredentials+  pVoiceConnectorId_ =+    DeleteVoiceConnectorTerminationCredentials'+      { usernames =+          Prelude.mempty,+        voiceConnectorId =+          pVoiceConnectorId_+      }++-- | The RFC2617 compliant username associated with the SIP credentials, in+-- US-ASCII format.+deleteVoiceConnectorTerminationCredentials_usernames :: Lens.Lens' DeleteVoiceConnectorTerminationCredentials [Prelude.Text]+deleteVoiceConnectorTerminationCredentials_usernames = Lens.lens (\DeleteVoiceConnectorTerminationCredentials' {usernames} -> usernames) (\s@DeleteVoiceConnectorTerminationCredentials' {} a -> s {usernames = a} :: DeleteVoiceConnectorTerminationCredentials) Prelude.. Lens.coerced++-- | The Amazon Chime Voice Connector ID.+deleteVoiceConnectorTerminationCredentials_voiceConnectorId :: Lens.Lens' DeleteVoiceConnectorTerminationCredentials Prelude.Text+deleteVoiceConnectorTerminationCredentials_voiceConnectorId = Lens.lens (\DeleteVoiceConnectorTerminationCredentials' {voiceConnectorId} -> voiceConnectorId) (\s@DeleteVoiceConnectorTerminationCredentials' {} a -> s {voiceConnectorId = a} :: DeleteVoiceConnectorTerminationCredentials)++instance+  Core.AWSRequest+    DeleteVoiceConnectorTerminationCredentials+  where+  type+    AWSResponse+      DeleteVoiceConnectorTerminationCredentials =+      DeleteVoiceConnectorTerminationCredentialsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveNull+      DeleteVoiceConnectorTerminationCredentialsResponse'++instance+  Prelude.Hashable+    DeleteVoiceConnectorTerminationCredentials+  where+  hashWithSalt+    _salt+    DeleteVoiceConnectorTerminationCredentials' {..} =+      _salt+        `Prelude.hashWithSalt` usernames+        `Prelude.hashWithSalt` voiceConnectorId++instance+  Prelude.NFData+    DeleteVoiceConnectorTerminationCredentials+  where+  rnf DeleteVoiceConnectorTerminationCredentials' {..} =+    Prelude.rnf usernames+      `Prelude.seq` Prelude.rnf voiceConnectorId++instance+  Data.ToHeaders+    DeleteVoiceConnectorTerminationCredentials+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToJSON+    DeleteVoiceConnectorTerminationCredentials+  where+  toJSON+    DeleteVoiceConnectorTerminationCredentials' {..} =+      Data.object+        ( Prelude.catMaybes+            [Prelude.Just ("Usernames" Data..= usernames)]+        )++instance+  Data.ToPath+    DeleteVoiceConnectorTerminationCredentials+  where+  toPath+    DeleteVoiceConnectorTerminationCredentials' {..} =+      Prelude.mconcat+        [ "/voice-connectors/",+          Data.toBS voiceConnectorId,+          "/termination/credentials"+        ]++instance+  Data.ToQuery+    DeleteVoiceConnectorTerminationCredentials+  where+  toQuery =+    Prelude.const+      (Prelude.mconcat ["operation=delete"])++-- | /See:/ 'newDeleteVoiceConnectorTerminationCredentialsResponse' smart constructor.+data DeleteVoiceConnectorTerminationCredentialsResponse = DeleteVoiceConnectorTerminationCredentialsResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteVoiceConnectorTerminationCredentialsResponse' 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.+newDeleteVoiceConnectorTerminationCredentialsResponse ::+  DeleteVoiceConnectorTerminationCredentialsResponse+newDeleteVoiceConnectorTerminationCredentialsResponse =+  DeleteVoiceConnectorTerminationCredentialsResponse'++instance+  Prelude.NFData+    DeleteVoiceConnectorTerminationCredentialsResponse+  where+  rnf _ = ()
+ gen/Amazonka/Chime/DescribeAppInstance.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.Chime.DescribeAppInstance+-- 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 the full details of an @AppInstance@.+module Amazonka.Chime.DescribeAppInstance+  ( -- * Creating a Request+    DescribeAppInstance (..),+    newDescribeAppInstance,++    -- * Request Lenses+    describeAppInstance_appInstanceArn,++    -- * Destructuring the Response+    DescribeAppInstanceResponse (..),+    newDescribeAppInstanceResponse,++    -- * Response Lenses+    describeAppInstanceResponse_appInstance,+    describeAppInstanceResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newDescribeAppInstance' smart constructor.+data DescribeAppInstance = DescribeAppInstance'+  { -- | The ARN of the @AppInstance@.+    appInstanceArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeAppInstance' 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:+--+-- 'appInstanceArn', 'describeAppInstance_appInstanceArn' - The ARN of the @AppInstance@.+newDescribeAppInstance ::+  -- | 'appInstanceArn'+  Prelude.Text ->+  DescribeAppInstance+newDescribeAppInstance pAppInstanceArn_ =+  DescribeAppInstance'+    { appInstanceArn =+        pAppInstanceArn_+    }++-- | The ARN of the @AppInstance@.+describeAppInstance_appInstanceArn :: Lens.Lens' DescribeAppInstance Prelude.Text+describeAppInstance_appInstanceArn = Lens.lens (\DescribeAppInstance' {appInstanceArn} -> appInstanceArn) (\s@DescribeAppInstance' {} a -> s {appInstanceArn = a} :: DescribeAppInstance)++instance Core.AWSRequest DescribeAppInstance where+  type+    AWSResponse DescribeAppInstance =+      DescribeAppInstanceResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeAppInstanceResponse'+            Prelude.<$> (x Data..?> "AppInstance")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeAppInstance where+  hashWithSalt _salt DescribeAppInstance' {..} =+    _salt `Prelude.hashWithSalt` appInstanceArn++instance Prelude.NFData DescribeAppInstance where+  rnf DescribeAppInstance' {..} =+    Prelude.rnf appInstanceArn++instance Data.ToHeaders DescribeAppInstance where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DescribeAppInstance where+  toPath DescribeAppInstance' {..} =+    Prelude.mconcat+      ["/app-instances/", Data.toBS appInstanceArn]++instance Data.ToQuery DescribeAppInstance where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeAppInstanceResponse' smart constructor.+data DescribeAppInstanceResponse = DescribeAppInstanceResponse'+  { -- | The ARN, metadata, created and last-updated timestamps, and the name of+    -- the @AppInstance@. All timestamps use epoch milliseconds.+    appInstance :: Prelude.Maybe AppInstance,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeAppInstanceResponse' 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:+--+-- 'appInstance', 'describeAppInstanceResponse_appInstance' - The ARN, metadata, created and last-updated timestamps, and the name of+-- the @AppInstance@. All timestamps use epoch milliseconds.+--+-- 'httpStatus', 'describeAppInstanceResponse_httpStatus' - The response's http status code.+newDescribeAppInstanceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeAppInstanceResponse+newDescribeAppInstanceResponse pHttpStatus_ =+  DescribeAppInstanceResponse'+    { appInstance =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The ARN, metadata, created and last-updated timestamps, and the name of+-- the @AppInstance@. All timestamps use epoch milliseconds.+describeAppInstanceResponse_appInstance :: Lens.Lens' DescribeAppInstanceResponse (Prelude.Maybe AppInstance)+describeAppInstanceResponse_appInstance = Lens.lens (\DescribeAppInstanceResponse' {appInstance} -> appInstance) (\s@DescribeAppInstanceResponse' {} a -> s {appInstance = a} :: DescribeAppInstanceResponse)++-- | The response's http status code.+describeAppInstanceResponse_httpStatus :: Lens.Lens' DescribeAppInstanceResponse Prelude.Int+describeAppInstanceResponse_httpStatus = Lens.lens (\DescribeAppInstanceResponse' {httpStatus} -> httpStatus) (\s@DescribeAppInstanceResponse' {} a -> s {httpStatus = a} :: DescribeAppInstanceResponse)++instance Prelude.NFData DescribeAppInstanceResponse where+  rnf DescribeAppInstanceResponse' {..} =+    Prelude.rnf appInstance+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/DescribeAppInstanceAdmin.hs view
@@ -0,0 +1,185 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Chime.DescribeAppInstanceAdmin+-- 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 the full details of an @AppInstanceAdmin@.+module Amazonka.Chime.DescribeAppInstanceAdmin+  ( -- * Creating a Request+    DescribeAppInstanceAdmin (..),+    newDescribeAppInstanceAdmin,++    -- * Request Lenses+    describeAppInstanceAdmin_appInstanceAdminArn,+    describeAppInstanceAdmin_appInstanceArn,++    -- * Destructuring the Response+    DescribeAppInstanceAdminResponse (..),+    newDescribeAppInstanceAdminResponse,++    -- * Response Lenses+    describeAppInstanceAdminResponse_appInstanceAdmin,+    describeAppInstanceAdminResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newDescribeAppInstanceAdmin' smart constructor.+data DescribeAppInstanceAdmin = DescribeAppInstanceAdmin'+  { -- | The ARN of the @AppInstanceAdmin@.+    appInstanceAdminArn :: Prelude.Text,+    -- | The ARN of the @AppInstance@.+    appInstanceArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeAppInstanceAdmin' 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:+--+-- 'appInstanceAdminArn', 'describeAppInstanceAdmin_appInstanceAdminArn' - The ARN of the @AppInstanceAdmin@.+--+-- 'appInstanceArn', 'describeAppInstanceAdmin_appInstanceArn' - The ARN of the @AppInstance@.+newDescribeAppInstanceAdmin ::+  -- | 'appInstanceAdminArn'+  Prelude.Text ->+  -- | 'appInstanceArn'+  Prelude.Text ->+  DescribeAppInstanceAdmin+newDescribeAppInstanceAdmin+  pAppInstanceAdminArn_+  pAppInstanceArn_ =+    DescribeAppInstanceAdmin'+      { appInstanceAdminArn =+          pAppInstanceAdminArn_,+        appInstanceArn = pAppInstanceArn_+      }++-- | The ARN of the @AppInstanceAdmin@.+describeAppInstanceAdmin_appInstanceAdminArn :: Lens.Lens' DescribeAppInstanceAdmin Prelude.Text+describeAppInstanceAdmin_appInstanceAdminArn = Lens.lens (\DescribeAppInstanceAdmin' {appInstanceAdminArn} -> appInstanceAdminArn) (\s@DescribeAppInstanceAdmin' {} a -> s {appInstanceAdminArn = a} :: DescribeAppInstanceAdmin)++-- | The ARN of the @AppInstance@.+describeAppInstanceAdmin_appInstanceArn :: Lens.Lens' DescribeAppInstanceAdmin Prelude.Text+describeAppInstanceAdmin_appInstanceArn = Lens.lens (\DescribeAppInstanceAdmin' {appInstanceArn} -> appInstanceArn) (\s@DescribeAppInstanceAdmin' {} a -> s {appInstanceArn = a} :: DescribeAppInstanceAdmin)++instance Core.AWSRequest DescribeAppInstanceAdmin where+  type+    AWSResponse DescribeAppInstanceAdmin =+      DescribeAppInstanceAdminResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeAppInstanceAdminResponse'+            Prelude.<$> (x Data..?> "AppInstanceAdmin")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeAppInstanceAdmin where+  hashWithSalt _salt DescribeAppInstanceAdmin' {..} =+    _salt+      `Prelude.hashWithSalt` appInstanceAdminArn+      `Prelude.hashWithSalt` appInstanceArn++instance Prelude.NFData DescribeAppInstanceAdmin where+  rnf DescribeAppInstanceAdmin' {..} =+    Prelude.rnf appInstanceAdminArn+      `Prelude.seq` Prelude.rnf appInstanceArn++instance Data.ToHeaders DescribeAppInstanceAdmin where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DescribeAppInstanceAdmin where+  toPath DescribeAppInstanceAdmin' {..} =+    Prelude.mconcat+      [ "/app-instances/",+        Data.toBS appInstanceArn,+        "/admins/",+        Data.toBS appInstanceAdminArn+      ]++instance Data.ToQuery DescribeAppInstanceAdmin where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeAppInstanceAdminResponse' smart constructor.+data DescribeAppInstanceAdminResponse = DescribeAppInstanceAdminResponse'+  { -- | The ARN and name of the @AppInstanceUser@, the ARN of the @AppInstance@,+    -- and the created and last-updated timestamps. All timestamps use epoch+    -- milliseconds.+    appInstanceAdmin :: Prelude.Maybe AppInstanceAdmin,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeAppInstanceAdminResponse' 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:+--+-- 'appInstanceAdmin', 'describeAppInstanceAdminResponse_appInstanceAdmin' - The ARN and name of the @AppInstanceUser@, the ARN of the @AppInstance@,+-- and the created and last-updated timestamps. All timestamps use epoch+-- milliseconds.+--+-- 'httpStatus', 'describeAppInstanceAdminResponse_httpStatus' - The response's http status code.+newDescribeAppInstanceAdminResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeAppInstanceAdminResponse+newDescribeAppInstanceAdminResponse pHttpStatus_ =+  DescribeAppInstanceAdminResponse'+    { appInstanceAdmin =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The ARN and name of the @AppInstanceUser@, the ARN of the @AppInstance@,+-- and the created and last-updated timestamps. All timestamps use epoch+-- milliseconds.+describeAppInstanceAdminResponse_appInstanceAdmin :: Lens.Lens' DescribeAppInstanceAdminResponse (Prelude.Maybe AppInstanceAdmin)+describeAppInstanceAdminResponse_appInstanceAdmin = Lens.lens (\DescribeAppInstanceAdminResponse' {appInstanceAdmin} -> appInstanceAdmin) (\s@DescribeAppInstanceAdminResponse' {} a -> s {appInstanceAdmin = a} :: DescribeAppInstanceAdminResponse)++-- | The response's http status code.+describeAppInstanceAdminResponse_httpStatus :: Lens.Lens' DescribeAppInstanceAdminResponse Prelude.Int+describeAppInstanceAdminResponse_httpStatus = Lens.lens (\DescribeAppInstanceAdminResponse' {httpStatus} -> httpStatus) (\s@DescribeAppInstanceAdminResponse' {} a -> s {httpStatus = a} :: DescribeAppInstanceAdminResponse)++instance+  Prelude.NFData+    DescribeAppInstanceAdminResponse+  where+  rnf DescribeAppInstanceAdminResponse' {..} =+    Prelude.rnf appInstanceAdmin+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/DescribeAppInstanceUser.hs view
@@ -0,0 +1,160 @@+{-# 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.Chime.DescribeAppInstanceUser+-- 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 the full details of an @AppInstanceUser@.+module Amazonka.Chime.DescribeAppInstanceUser+  ( -- * Creating a Request+    DescribeAppInstanceUser (..),+    newDescribeAppInstanceUser,++    -- * Request Lenses+    describeAppInstanceUser_appInstanceUserArn,++    -- * Destructuring the Response+    DescribeAppInstanceUserResponse (..),+    newDescribeAppInstanceUserResponse,++    -- * Response Lenses+    describeAppInstanceUserResponse_appInstanceUser,+    describeAppInstanceUserResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newDescribeAppInstanceUser' smart constructor.+data DescribeAppInstanceUser = DescribeAppInstanceUser'+  { -- | The ARN of the @AppInstanceUser@.+    appInstanceUserArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeAppInstanceUser' 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:+--+-- 'appInstanceUserArn', 'describeAppInstanceUser_appInstanceUserArn' - The ARN of the @AppInstanceUser@.+newDescribeAppInstanceUser ::+  -- | 'appInstanceUserArn'+  Prelude.Text ->+  DescribeAppInstanceUser+newDescribeAppInstanceUser pAppInstanceUserArn_ =+  DescribeAppInstanceUser'+    { appInstanceUserArn =+        pAppInstanceUserArn_+    }++-- | The ARN of the @AppInstanceUser@.+describeAppInstanceUser_appInstanceUserArn :: Lens.Lens' DescribeAppInstanceUser Prelude.Text+describeAppInstanceUser_appInstanceUserArn = Lens.lens (\DescribeAppInstanceUser' {appInstanceUserArn} -> appInstanceUserArn) (\s@DescribeAppInstanceUser' {} a -> s {appInstanceUserArn = a} :: DescribeAppInstanceUser)++instance Core.AWSRequest DescribeAppInstanceUser where+  type+    AWSResponse DescribeAppInstanceUser =+      DescribeAppInstanceUserResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeAppInstanceUserResponse'+            Prelude.<$> (x Data..?> "AppInstanceUser")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeAppInstanceUser where+  hashWithSalt _salt DescribeAppInstanceUser' {..} =+    _salt `Prelude.hashWithSalt` appInstanceUserArn++instance Prelude.NFData DescribeAppInstanceUser where+  rnf DescribeAppInstanceUser' {..} =+    Prelude.rnf appInstanceUserArn++instance Data.ToHeaders DescribeAppInstanceUser where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DescribeAppInstanceUser where+  toPath DescribeAppInstanceUser' {..} =+    Prelude.mconcat+      [ "/app-instance-users/",+        Data.toBS appInstanceUserArn+      ]++instance Data.ToQuery DescribeAppInstanceUser where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeAppInstanceUserResponse' smart constructor.+data DescribeAppInstanceUserResponse = DescribeAppInstanceUserResponse'+  { -- | The name of the @AppInstanceUser@.+    appInstanceUser :: Prelude.Maybe AppInstanceUser,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeAppInstanceUserResponse' 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:+--+-- 'appInstanceUser', 'describeAppInstanceUserResponse_appInstanceUser' - The name of the @AppInstanceUser@.+--+-- 'httpStatus', 'describeAppInstanceUserResponse_httpStatus' - The response's http status code.+newDescribeAppInstanceUserResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeAppInstanceUserResponse+newDescribeAppInstanceUserResponse pHttpStatus_ =+  DescribeAppInstanceUserResponse'+    { appInstanceUser =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The name of the @AppInstanceUser@.+describeAppInstanceUserResponse_appInstanceUser :: Lens.Lens' DescribeAppInstanceUserResponse (Prelude.Maybe AppInstanceUser)+describeAppInstanceUserResponse_appInstanceUser = Lens.lens (\DescribeAppInstanceUserResponse' {appInstanceUser} -> appInstanceUser) (\s@DescribeAppInstanceUserResponse' {} a -> s {appInstanceUser = a} :: DescribeAppInstanceUserResponse)++-- | The response's http status code.+describeAppInstanceUserResponse_httpStatus :: Lens.Lens' DescribeAppInstanceUserResponse Prelude.Int+describeAppInstanceUserResponse_httpStatus = Lens.lens (\DescribeAppInstanceUserResponse' {httpStatus} -> httpStatus) (\s@DescribeAppInstanceUserResponse' {} a -> s {httpStatus = a} :: DescribeAppInstanceUserResponse)++instance+  Prelude.NFData+    DescribeAppInstanceUserResponse+  where+  rnf DescribeAppInstanceUserResponse' {..} =+    Prelude.rnf appInstanceUser+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/DescribeChannel.hs view
@@ -0,0 +1,172 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Chime.DescribeChannel+-- 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 the full details of a channel in an Amazon Chime @AppInstance@.+--+-- The @x-amz-chime-bearer@ request header is mandatory. Use the+-- @AppInstanceUserArn@ of the user that makes the API call as the value in+-- the header.+module Amazonka.Chime.DescribeChannel+  ( -- * Creating a Request+    DescribeChannel (..),+    newDescribeChannel,++    -- * Request Lenses+    describeChannel_chimeBearer,+    describeChannel_channelArn,++    -- * Destructuring the Response+    DescribeChannelResponse (..),+    newDescribeChannelResponse,++    -- * Response Lenses+    describeChannelResponse_channel,+    describeChannelResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newDescribeChannel' smart constructor.+data DescribeChannel = DescribeChannel'+  { -- | The @AppInstanceUserArn@ of the user that makes the API call.+    chimeBearer :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the channel.+    channelArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeChannel' 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:+--+-- 'chimeBearer', 'describeChannel_chimeBearer' - The @AppInstanceUserArn@ of the user that makes the API call.+--+-- 'channelArn', 'describeChannel_channelArn' - The ARN of the channel.+newDescribeChannel ::+  -- | 'channelArn'+  Prelude.Text ->+  DescribeChannel+newDescribeChannel pChannelArn_ =+  DescribeChannel'+    { chimeBearer = Prelude.Nothing,+      channelArn = pChannelArn_+    }++-- | The @AppInstanceUserArn@ of the user that makes the API call.+describeChannel_chimeBearer :: Lens.Lens' DescribeChannel (Prelude.Maybe Prelude.Text)+describeChannel_chimeBearer = Lens.lens (\DescribeChannel' {chimeBearer} -> chimeBearer) (\s@DescribeChannel' {} a -> s {chimeBearer = a} :: DescribeChannel)++-- | The ARN of the channel.+describeChannel_channelArn :: Lens.Lens' DescribeChannel Prelude.Text+describeChannel_channelArn = Lens.lens (\DescribeChannel' {channelArn} -> channelArn) (\s@DescribeChannel' {} a -> s {channelArn = a} :: DescribeChannel)++instance Core.AWSRequest DescribeChannel where+  type+    AWSResponse DescribeChannel =+      DescribeChannelResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeChannelResponse'+            Prelude.<$> (x Data..?> "Channel")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeChannel where+  hashWithSalt _salt DescribeChannel' {..} =+    _salt+      `Prelude.hashWithSalt` chimeBearer+      `Prelude.hashWithSalt` channelArn++instance Prelude.NFData DescribeChannel where+  rnf DescribeChannel' {..} =+    Prelude.rnf chimeBearer+      `Prelude.seq` Prelude.rnf channelArn++instance Data.ToHeaders DescribeChannel where+  toHeaders DescribeChannel' {..} =+    Prelude.mconcat+      ["x-amz-chime-bearer" Data.=# chimeBearer]++instance Data.ToPath DescribeChannel where+  toPath DescribeChannel' {..} =+    Prelude.mconcat+      ["/channels/", Data.toBS channelArn]++instance Data.ToQuery DescribeChannel where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeChannelResponse' smart constructor.+data DescribeChannelResponse = DescribeChannelResponse'+  { -- | The channel details.+    channel :: Prelude.Maybe Channel,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeChannelResponse' 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:+--+-- 'channel', 'describeChannelResponse_channel' - The channel details.+--+-- 'httpStatus', 'describeChannelResponse_httpStatus' - The response's http status code.+newDescribeChannelResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeChannelResponse+newDescribeChannelResponse pHttpStatus_ =+  DescribeChannelResponse'+    { channel = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The channel details.+describeChannelResponse_channel :: Lens.Lens' DescribeChannelResponse (Prelude.Maybe Channel)+describeChannelResponse_channel = Lens.lens (\DescribeChannelResponse' {channel} -> channel) (\s@DescribeChannelResponse' {} a -> s {channel = a} :: DescribeChannelResponse)++-- | The response's http status code.+describeChannelResponse_httpStatus :: Lens.Lens' DescribeChannelResponse Prelude.Int+describeChannelResponse_httpStatus = Lens.lens (\DescribeChannelResponse' {httpStatus} -> httpStatus) (\s@DescribeChannelResponse' {} a -> s {httpStatus = a} :: DescribeChannelResponse)++instance Prelude.NFData DescribeChannelResponse where+  rnf DescribeChannelResponse' {..} =+    Prelude.rnf channel+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/DescribeChannelBan.hs view
@@ -0,0 +1,191 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Chime.DescribeChannelBan+-- 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 the full details of a channel ban.+--+-- The @x-amz-chime-bearer@ request header is mandatory. Use the+-- @AppInstanceUserArn@ of the user that makes the API call as the value in+-- the header.+module Amazonka.Chime.DescribeChannelBan+  ( -- * Creating a Request+    DescribeChannelBan (..),+    newDescribeChannelBan,++    -- * Request Lenses+    describeChannelBan_chimeBearer,+    describeChannelBan_channelArn,+    describeChannelBan_memberArn,++    -- * Destructuring the Response+    DescribeChannelBanResponse (..),+    newDescribeChannelBanResponse,++    -- * Response Lenses+    describeChannelBanResponse_channelBan,+    describeChannelBanResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newDescribeChannelBan' smart constructor.+data DescribeChannelBan = DescribeChannelBan'+  { -- | The @AppInstanceUserArn@ of the user that makes the API call.+    chimeBearer :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the channel from which the user is banned.+    channelArn :: Prelude.Text,+    -- | The ARN of the member being banned.+    memberArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeChannelBan' 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:+--+-- 'chimeBearer', 'describeChannelBan_chimeBearer' - The @AppInstanceUserArn@ of the user that makes the API call.+--+-- 'channelArn', 'describeChannelBan_channelArn' - The ARN of the channel from which the user is banned.+--+-- 'memberArn', 'describeChannelBan_memberArn' - The ARN of the member being banned.+newDescribeChannelBan ::+  -- | 'channelArn'+  Prelude.Text ->+  -- | 'memberArn'+  Prelude.Text ->+  DescribeChannelBan+newDescribeChannelBan pChannelArn_ pMemberArn_ =+  DescribeChannelBan'+    { chimeBearer = Prelude.Nothing,+      channelArn = pChannelArn_,+      memberArn = pMemberArn_+    }++-- | The @AppInstanceUserArn@ of the user that makes the API call.+describeChannelBan_chimeBearer :: Lens.Lens' DescribeChannelBan (Prelude.Maybe Prelude.Text)+describeChannelBan_chimeBearer = Lens.lens (\DescribeChannelBan' {chimeBearer} -> chimeBearer) (\s@DescribeChannelBan' {} a -> s {chimeBearer = a} :: DescribeChannelBan)++-- | The ARN of the channel from which the user is banned.+describeChannelBan_channelArn :: Lens.Lens' DescribeChannelBan Prelude.Text+describeChannelBan_channelArn = Lens.lens (\DescribeChannelBan' {channelArn} -> channelArn) (\s@DescribeChannelBan' {} a -> s {channelArn = a} :: DescribeChannelBan)++-- | The ARN of the member being banned.+describeChannelBan_memberArn :: Lens.Lens' DescribeChannelBan Prelude.Text+describeChannelBan_memberArn = Lens.lens (\DescribeChannelBan' {memberArn} -> memberArn) (\s@DescribeChannelBan' {} a -> s {memberArn = a} :: DescribeChannelBan)++instance Core.AWSRequest DescribeChannelBan where+  type+    AWSResponse DescribeChannelBan =+      DescribeChannelBanResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeChannelBanResponse'+            Prelude.<$> (x Data..?> "ChannelBan")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeChannelBan where+  hashWithSalt _salt DescribeChannelBan' {..} =+    _salt+      `Prelude.hashWithSalt` chimeBearer+      `Prelude.hashWithSalt` channelArn+      `Prelude.hashWithSalt` memberArn++instance Prelude.NFData DescribeChannelBan where+  rnf DescribeChannelBan' {..} =+    Prelude.rnf chimeBearer+      `Prelude.seq` Prelude.rnf channelArn+      `Prelude.seq` Prelude.rnf memberArn++instance Data.ToHeaders DescribeChannelBan where+  toHeaders DescribeChannelBan' {..} =+    Prelude.mconcat+      ["x-amz-chime-bearer" Data.=# chimeBearer]++instance Data.ToPath DescribeChannelBan where+  toPath DescribeChannelBan' {..} =+    Prelude.mconcat+      [ "/channels/",+        Data.toBS channelArn,+        "/bans/",+        Data.toBS memberArn+      ]++instance Data.ToQuery DescribeChannelBan where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeChannelBanResponse' smart constructor.+data DescribeChannelBanResponse = DescribeChannelBanResponse'+  { -- | The details of the ban.+    channelBan :: Prelude.Maybe ChannelBan,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeChannelBanResponse' 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:+--+-- 'channelBan', 'describeChannelBanResponse_channelBan' - The details of the ban.+--+-- 'httpStatus', 'describeChannelBanResponse_httpStatus' - The response's http status code.+newDescribeChannelBanResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeChannelBanResponse+newDescribeChannelBanResponse pHttpStatus_ =+  DescribeChannelBanResponse'+    { channelBan =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The details of the ban.+describeChannelBanResponse_channelBan :: Lens.Lens' DescribeChannelBanResponse (Prelude.Maybe ChannelBan)+describeChannelBanResponse_channelBan = Lens.lens (\DescribeChannelBanResponse' {channelBan} -> channelBan) (\s@DescribeChannelBanResponse' {} a -> s {channelBan = a} :: DescribeChannelBanResponse)++-- | The response's http status code.+describeChannelBanResponse_httpStatus :: Lens.Lens' DescribeChannelBanResponse Prelude.Int+describeChannelBanResponse_httpStatus = Lens.lens (\DescribeChannelBanResponse' {httpStatus} -> httpStatus) (\s@DescribeChannelBanResponse' {} a -> s {httpStatus = a} :: DescribeChannelBanResponse)++instance Prelude.NFData DescribeChannelBanResponse where+  rnf DescribeChannelBanResponse' {..} =+    Prelude.rnf channelBan+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/DescribeChannelMembership.hs view
@@ -0,0 +1,195 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Chime.DescribeChannelMembership+-- 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 the full details of a user\'s channel membership.+--+-- The @x-amz-chime-bearer@ request header is mandatory. Use the+-- @AppInstanceUserArn@ of the user that makes the API call as the value in+-- the header.+module Amazonka.Chime.DescribeChannelMembership+  ( -- * Creating a Request+    DescribeChannelMembership (..),+    newDescribeChannelMembership,++    -- * Request Lenses+    describeChannelMembership_chimeBearer,+    describeChannelMembership_channelArn,+    describeChannelMembership_memberArn,++    -- * Destructuring the Response+    DescribeChannelMembershipResponse (..),+    newDescribeChannelMembershipResponse,++    -- * Response Lenses+    describeChannelMembershipResponse_channelMembership,+    describeChannelMembershipResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newDescribeChannelMembership' smart constructor.+data DescribeChannelMembership = DescribeChannelMembership'+  { -- | The @AppInstanceUserArn@ of the user that makes the API call.+    chimeBearer :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the channel.+    channelArn :: Prelude.Text,+    -- | The ARN of the member.+    memberArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeChannelMembership' 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:+--+-- 'chimeBearer', 'describeChannelMembership_chimeBearer' - The @AppInstanceUserArn@ of the user that makes the API call.+--+-- 'channelArn', 'describeChannelMembership_channelArn' - The ARN of the channel.+--+-- 'memberArn', 'describeChannelMembership_memberArn' - The ARN of the member.+newDescribeChannelMembership ::+  -- | 'channelArn'+  Prelude.Text ->+  -- | 'memberArn'+  Prelude.Text ->+  DescribeChannelMembership+newDescribeChannelMembership pChannelArn_ pMemberArn_ =+  DescribeChannelMembership'+    { chimeBearer =+        Prelude.Nothing,+      channelArn = pChannelArn_,+      memberArn = pMemberArn_+    }++-- | The @AppInstanceUserArn@ of the user that makes the API call.+describeChannelMembership_chimeBearer :: Lens.Lens' DescribeChannelMembership (Prelude.Maybe Prelude.Text)+describeChannelMembership_chimeBearer = Lens.lens (\DescribeChannelMembership' {chimeBearer} -> chimeBearer) (\s@DescribeChannelMembership' {} a -> s {chimeBearer = a} :: DescribeChannelMembership)++-- | The ARN of the channel.+describeChannelMembership_channelArn :: Lens.Lens' DescribeChannelMembership Prelude.Text+describeChannelMembership_channelArn = Lens.lens (\DescribeChannelMembership' {channelArn} -> channelArn) (\s@DescribeChannelMembership' {} a -> s {channelArn = a} :: DescribeChannelMembership)++-- | The ARN of the member.+describeChannelMembership_memberArn :: Lens.Lens' DescribeChannelMembership Prelude.Text+describeChannelMembership_memberArn = Lens.lens (\DescribeChannelMembership' {memberArn} -> memberArn) (\s@DescribeChannelMembership' {} a -> s {memberArn = a} :: DescribeChannelMembership)++instance Core.AWSRequest DescribeChannelMembership where+  type+    AWSResponse DescribeChannelMembership =+      DescribeChannelMembershipResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeChannelMembershipResponse'+            Prelude.<$> (x Data..?> "ChannelMembership")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeChannelMembership where+  hashWithSalt _salt DescribeChannelMembership' {..} =+    _salt+      `Prelude.hashWithSalt` chimeBearer+      `Prelude.hashWithSalt` channelArn+      `Prelude.hashWithSalt` memberArn++instance Prelude.NFData DescribeChannelMembership where+  rnf DescribeChannelMembership' {..} =+    Prelude.rnf chimeBearer+      `Prelude.seq` Prelude.rnf channelArn+      `Prelude.seq` Prelude.rnf memberArn++instance Data.ToHeaders DescribeChannelMembership where+  toHeaders DescribeChannelMembership' {..} =+    Prelude.mconcat+      ["x-amz-chime-bearer" Data.=# chimeBearer]++instance Data.ToPath DescribeChannelMembership where+  toPath DescribeChannelMembership' {..} =+    Prelude.mconcat+      [ "/channels/",+        Data.toBS channelArn,+        "/memberships/",+        Data.toBS memberArn+      ]++instance Data.ToQuery DescribeChannelMembership where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeChannelMembershipResponse' smart constructor.+data DescribeChannelMembershipResponse = DescribeChannelMembershipResponse'+  { -- | The details of the membership.+    channelMembership :: Prelude.Maybe ChannelMembership,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeChannelMembershipResponse' 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:+--+-- 'channelMembership', 'describeChannelMembershipResponse_channelMembership' - The details of the membership.+--+-- 'httpStatus', 'describeChannelMembershipResponse_httpStatus' - The response's http status code.+newDescribeChannelMembershipResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeChannelMembershipResponse+newDescribeChannelMembershipResponse pHttpStatus_ =+  DescribeChannelMembershipResponse'+    { channelMembership =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The details of the membership.+describeChannelMembershipResponse_channelMembership :: Lens.Lens' DescribeChannelMembershipResponse (Prelude.Maybe ChannelMembership)+describeChannelMembershipResponse_channelMembership = Lens.lens (\DescribeChannelMembershipResponse' {channelMembership} -> channelMembership) (\s@DescribeChannelMembershipResponse' {} a -> s {channelMembership = a} :: DescribeChannelMembershipResponse)++-- | The response's http status code.+describeChannelMembershipResponse_httpStatus :: Lens.Lens' DescribeChannelMembershipResponse Prelude.Int+describeChannelMembershipResponse_httpStatus = Lens.lens (\DescribeChannelMembershipResponse' {httpStatus} -> httpStatus) (\s@DescribeChannelMembershipResponse' {} a -> s {httpStatus = a} :: DescribeChannelMembershipResponse)++instance+  Prelude.NFData+    DescribeChannelMembershipResponse+  where+  rnf DescribeChannelMembershipResponse' {..} =+    Prelude.rnf channelMembership+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/DescribeChannelMembershipForAppInstanceUser.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.Chime.DescribeChannelMembershipForAppInstanceUser+-- 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 the details of a channel based on the membership of the+-- specified @AppInstanceUser@.+--+-- The @x-amz-chime-bearer@ request header is mandatory. Use the+-- @AppInstanceUserArn@ of the user that makes the API call as the value in+-- the header.+module Amazonka.Chime.DescribeChannelMembershipForAppInstanceUser+  ( -- * Creating a Request+    DescribeChannelMembershipForAppInstanceUser (..),+    newDescribeChannelMembershipForAppInstanceUser,++    -- * Request Lenses+    describeChannelMembershipForAppInstanceUser_chimeBearer,+    describeChannelMembershipForAppInstanceUser_channelArn,+    describeChannelMembershipForAppInstanceUser_appInstanceUserArn,++    -- * Destructuring the Response+    DescribeChannelMembershipForAppInstanceUserResponse (..),+    newDescribeChannelMembershipForAppInstanceUserResponse,++    -- * Response Lenses+    describeChannelMembershipForAppInstanceUserResponse_channelMembership,+    describeChannelMembershipForAppInstanceUserResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newDescribeChannelMembershipForAppInstanceUser' smart constructor.+data DescribeChannelMembershipForAppInstanceUser = DescribeChannelMembershipForAppInstanceUser'+  { -- | The @AppInstanceUserArn@ of the user that makes the API call.+    chimeBearer :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the channel to which the user belongs.+    channelArn :: Prelude.Text,+    -- | The ARN of the user in a channel.+    appInstanceUserArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeChannelMembershipForAppInstanceUser' 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:+--+-- 'chimeBearer', 'describeChannelMembershipForAppInstanceUser_chimeBearer' - The @AppInstanceUserArn@ of the user that makes the API call.+--+-- 'channelArn', 'describeChannelMembershipForAppInstanceUser_channelArn' - The ARN of the channel to which the user belongs.+--+-- 'appInstanceUserArn', 'describeChannelMembershipForAppInstanceUser_appInstanceUserArn' - The ARN of the user in a channel.+newDescribeChannelMembershipForAppInstanceUser ::+  -- | 'channelArn'+  Prelude.Text ->+  -- | 'appInstanceUserArn'+  Prelude.Text ->+  DescribeChannelMembershipForAppInstanceUser+newDescribeChannelMembershipForAppInstanceUser+  pChannelArn_+  pAppInstanceUserArn_ =+    DescribeChannelMembershipForAppInstanceUser'+      { chimeBearer =+          Prelude.Nothing,+        channelArn = pChannelArn_,+        appInstanceUserArn =+          pAppInstanceUserArn_+      }++-- | The @AppInstanceUserArn@ of the user that makes the API call.+describeChannelMembershipForAppInstanceUser_chimeBearer :: Lens.Lens' DescribeChannelMembershipForAppInstanceUser (Prelude.Maybe Prelude.Text)+describeChannelMembershipForAppInstanceUser_chimeBearer = Lens.lens (\DescribeChannelMembershipForAppInstanceUser' {chimeBearer} -> chimeBearer) (\s@DescribeChannelMembershipForAppInstanceUser' {} a -> s {chimeBearer = a} :: DescribeChannelMembershipForAppInstanceUser)++-- | The ARN of the channel to which the user belongs.+describeChannelMembershipForAppInstanceUser_channelArn :: Lens.Lens' DescribeChannelMembershipForAppInstanceUser Prelude.Text+describeChannelMembershipForAppInstanceUser_channelArn = Lens.lens (\DescribeChannelMembershipForAppInstanceUser' {channelArn} -> channelArn) (\s@DescribeChannelMembershipForAppInstanceUser' {} a -> s {channelArn = a} :: DescribeChannelMembershipForAppInstanceUser)++-- | The ARN of the user in a channel.+describeChannelMembershipForAppInstanceUser_appInstanceUserArn :: Lens.Lens' DescribeChannelMembershipForAppInstanceUser Prelude.Text+describeChannelMembershipForAppInstanceUser_appInstanceUserArn = Lens.lens (\DescribeChannelMembershipForAppInstanceUser' {appInstanceUserArn} -> appInstanceUserArn) (\s@DescribeChannelMembershipForAppInstanceUser' {} a -> s {appInstanceUserArn = a} :: DescribeChannelMembershipForAppInstanceUser)++instance+  Core.AWSRequest+    DescribeChannelMembershipForAppInstanceUser+  where+  type+    AWSResponse+      DescribeChannelMembershipForAppInstanceUser =+      DescribeChannelMembershipForAppInstanceUserResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeChannelMembershipForAppInstanceUserResponse'+            Prelude.<$> (x Data..?> "ChannelMembership")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    DescribeChannelMembershipForAppInstanceUser+  where+  hashWithSalt+    _salt+    DescribeChannelMembershipForAppInstanceUser' {..} =+      _salt+        `Prelude.hashWithSalt` chimeBearer+        `Prelude.hashWithSalt` channelArn+        `Prelude.hashWithSalt` appInstanceUserArn++instance+  Prelude.NFData+    DescribeChannelMembershipForAppInstanceUser+  where+  rnf DescribeChannelMembershipForAppInstanceUser' {..} =+    Prelude.rnf chimeBearer+      `Prelude.seq` Prelude.rnf channelArn+      `Prelude.seq` Prelude.rnf appInstanceUserArn++instance+  Data.ToHeaders+    DescribeChannelMembershipForAppInstanceUser+  where+  toHeaders+    DescribeChannelMembershipForAppInstanceUser' {..} =+      Prelude.mconcat+        ["x-amz-chime-bearer" Data.=# chimeBearer]++instance+  Data.ToPath+    DescribeChannelMembershipForAppInstanceUser+  where+  toPath+    DescribeChannelMembershipForAppInstanceUser' {..} =+      Prelude.mconcat+        ["/channels/", Data.toBS channelArn]++instance+  Data.ToQuery+    DescribeChannelMembershipForAppInstanceUser+  where+  toQuery+    DescribeChannelMembershipForAppInstanceUser' {..} =+      Prelude.mconcat+        [ "app-instance-user-arn" Data.=: appInstanceUserArn,+          "scope=app-instance-user-membership"+        ]++-- | /See:/ 'newDescribeChannelMembershipForAppInstanceUserResponse' smart constructor.+data DescribeChannelMembershipForAppInstanceUserResponse = DescribeChannelMembershipForAppInstanceUserResponse'+  { -- | The channel to which a user belongs.+    channelMembership :: Prelude.Maybe ChannelMembershipForAppInstanceUserSummary,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeChannelMembershipForAppInstanceUserResponse' 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:+--+-- 'channelMembership', 'describeChannelMembershipForAppInstanceUserResponse_channelMembership' - The channel to which a user belongs.+--+-- 'httpStatus', 'describeChannelMembershipForAppInstanceUserResponse_httpStatus' - The response's http status code.+newDescribeChannelMembershipForAppInstanceUserResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeChannelMembershipForAppInstanceUserResponse+newDescribeChannelMembershipForAppInstanceUserResponse+  pHttpStatus_ =+    DescribeChannelMembershipForAppInstanceUserResponse'+      { channelMembership =+          Prelude.Nothing,+        httpStatus =+          pHttpStatus_+      }++-- | The channel to which a user belongs.+describeChannelMembershipForAppInstanceUserResponse_channelMembership :: Lens.Lens' DescribeChannelMembershipForAppInstanceUserResponse (Prelude.Maybe ChannelMembershipForAppInstanceUserSummary)+describeChannelMembershipForAppInstanceUserResponse_channelMembership = Lens.lens (\DescribeChannelMembershipForAppInstanceUserResponse' {channelMembership} -> channelMembership) (\s@DescribeChannelMembershipForAppInstanceUserResponse' {} a -> s {channelMembership = a} :: DescribeChannelMembershipForAppInstanceUserResponse)++-- | The response's http status code.+describeChannelMembershipForAppInstanceUserResponse_httpStatus :: Lens.Lens' DescribeChannelMembershipForAppInstanceUserResponse Prelude.Int+describeChannelMembershipForAppInstanceUserResponse_httpStatus = Lens.lens (\DescribeChannelMembershipForAppInstanceUserResponse' {httpStatus} -> httpStatus) (\s@DescribeChannelMembershipForAppInstanceUserResponse' {} a -> s {httpStatus = a} :: DescribeChannelMembershipForAppInstanceUserResponse)++instance+  Prelude.NFData+    DescribeChannelMembershipForAppInstanceUserResponse+  where+  rnf+    DescribeChannelMembershipForAppInstanceUserResponse' {..} =+      Prelude.rnf channelMembership+        `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/DescribeChannelModeratedByAppInstanceUser.hs view
@@ -0,0 +1,225 @@+{-# 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.Chime.DescribeChannelModeratedByAppInstanceUser+-- 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 the full details of a channel moderated by the specified+-- @AppInstanceUser@.+--+-- The @x-amz-chime-bearer@ request header is mandatory. Use the+-- @AppInstanceUserArn@ of the user that makes the API call as the value in+-- the header.+module Amazonka.Chime.DescribeChannelModeratedByAppInstanceUser+  ( -- * Creating a Request+    DescribeChannelModeratedByAppInstanceUser (..),+    newDescribeChannelModeratedByAppInstanceUser,++    -- * Request Lenses+    describeChannelModeratedByAppInstanceUser_chimeBearer,+    describeChannelModeratedByAppInstanceUser_channelArn,+    describeChannelModeratedByAppInstanceUser_appInstanceUserArn,++    -- * Destructuring the Response+    DescribeChannelModeratedByAppInstanceUserResponse (..),+    newDescribeChannelModeratedByAppInstanceUserResponse,++    -- * Response Lenses+    describeChannelModeratedByAppInstanceUserResponse_channel,+    describeChannelModeratedByAppInstanceUserResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newDescribeChannelModeratedByAppInstanceUser' smart constructor.+data DescribeChannelModeratedByAppInstanceUser = DescribeChannelModeratedByAppInstanceUser'+  { -- | The @AppInstanceUserArn@ of the user that makes the API call.+    chimeBearer :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the moderated channel.+    channelArn :: Prelude.Text,+    -- | The ARN of the @AppInstanceUser@ in the moderated channel.+    appInstanceUserArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeChannelModeratedByAppInstanceUser' 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:+--+-- 'chimeBearer', 'describeChannelModeratedByAppInstanceUser_chimeBearer' - The @AppInstanceUserArn@ of the user that makes the API call.+--+-- 'channelArn', 'describeChannelModeratedByAppInstanceUser_channelArn' - The ARN of the moderated channel.+--+-- 'appInstanceUserArn', 'describeChannelModeratedByAppInstanceUser_appInstanceUserArn' - The ARN of the @AppInstanceUser@ in the moderated channel.+newDescribeChannelModeratedByAppInstanceUser ::+  -- | 'channelArn'+  Prelude.Text ->+  -- | 'appInstanceUserArn'+  Prelude.Text ->+  DescribeChannelModeratedByAppInstanceUser+newDescribeChannelModeratedByAppInstanceUser+  pChannelArn_+  pAppInstanceUserArn_ =+    DescribeChannelModeratedByAppInstanceUser'+      { chimeBearer =+          Prelude.Nothing,+        channelArn = pChannelArn_,+        appInstanceUserArn =+          pAppInstanceUserArn_+      }++-- | The @AppInstanceUserArn@ of the user that makes the API call.+describeChannelModeratedByAppInstanceUser_chimeBearer :: Lens.Lens' DescribeChannelModeratedByAppInstanceUser (Prelude.Maybe Prelude.Text)+describeChannelModeratedByAppInstanceUser_chimeBearer = Lens.lens (\DescribeChannelModeratedByAppInstanceUser' {chimeBearer} -> chimeBearer) (\s@DescribeChannelModeratedByAppInstanceUser' {} a -> s {chimeBearer = a} :: DescribeChannelModeratedByAppInstanceUser)++-- | The ARN of the moderated channel.+describeChannelModeratedByAppInstanceUser_channelArn :: Lens.Lens' DescribeChannelModeratedByAppInstanceUser Prelude.Text+describeChannelModeratedByAppInstanceUser_channelArn = Lens.lens (\DescribeChannelModeratedByAppInstanceUser' {channelArn} -> channelArn) (\s@DescribeChannelModeratedByAppInstanceUser' {} a -> s {channelArn = a} :: DescribeChannelModeratedByAppInstanceUser)++-- | The ARN of the @AppInstanceUser@ in the moderated channel.+describeChannelModeratedByAppInstanceUser_appInstanceUserArn :: Lens.Lens' DescribeChannelModeratedByAppInstanceUser Prelude.Text+describeChannelModeratedByAppInstanceUser_appInstanceUserArn = Lens.lens (\DescribeChannelModeratedByAppInstanceUser' {appInstanceUserArn} -> appInstanceUserArn) (\s@DescribeChannelModeratedByAppInstanceUser' {} a -> s {appInstanceUserArn = a} :: DescribeChannelModeratedByAppInstanceUser)++instance+  Core.AWSRequest+    DescribeChannelModeratedByAppInstanceUser+  where+  type+    AWSResponse+      DescribeChannelModeratedByAppInstanceUser =+      DescribeChannelModeratedByAppInstanceUserResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeChannelModeratedByAppInstanceUserResponse'+            Prelude.<$> (x Data..?> "Channel")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    DescribeChannelModeratedByAppInstanceUser+  where+  hashWithSalt+    _salt+    DescribeChannelModeratedByAppInstanceUser' {..} =+      _salt+        `Prelude.hashWithSalt` chimeBearer+        `Prelude.hashWithSalt` channelArn+        `Prelude.hashWithSalt` appInstanceUserArn++instance+  Prelude.NFData+    DescribeChannelModeratedByAppInstanceUser+  where+  rnf DescribeChannelModeratedByAppInstanceUser' {..} =+    Prelude.rnf chimeBearer+      `Prelude.seq` Prelude.rnf channelArn+      `Prelude.seq` Prelude.rnf appInstanceUserArn++instance+  Data.ToHeaders+    DescribeChannelModeratedByAppInstanceUser+  where+  toHeaders+    DescribeChannelModeratedByAppInstanceUser' {..} =+      Prelude.mconcat+        ["x-amz-chime-bearer" Data.=# chimeBearer]++instance+  Data.ToPath+    DescribeChannelModeratedByAppInstanceUser+  where+  toPath DescribeChannelModeratedByAppInstanceUser' {..} =+    Prelude.mconcat+      ["/channels/", Data.toBS channelArn]++instance+  Data.ToQuery+    DescribeChannelModeratedByAppInstanceUser+  where+  toQuery+    DescribeChannelModeratedByAppInstanceUser' {..} =+      Prelude.mconcat+        [ "app-instance-user-arn" Data.=: appInstanceUserArn,+          "scope=app-instance-user-moderated-channel"+        ]++-- | /See:/ 'newDescribeChannelModeratedByAppInstanceUserResponse' smart constructor.+data DescribeChannelModeratedByAppInstanceUserResponse = DescribeChannelModeratedByAppInstanceUserResponse'+  { -- | The moderated channel.+    channel :: Prelude.Maybe ChannelModeratedByAppInstanceUserSummary,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeChannelModeratedByAppInstanceUserResponse' 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:+--+-- 'channel', 'describeChannelModeratedByAppInstanceUserResponse_channel' - The moderated channel.+--+-- 'httpStatus', 'describeChannelModeratedByAppInstanceUserResponse_httpStatus' - The response's http status code.+newDescribeChannelModeratedByAppInstanceUserResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeChannelModeratedByAppInstanceUserResponse+newDescribeChannelModeratedByAppInstanceUserResponse+  pHttpStatus_ =+    DescribeChannelModeratedByAppInstanceUserResponse'+      { channel =+          Prelude.Nothing,+        httpStatus =+          pHttpStatus_+      }++-- | The moderated channel.+describeChannelModeratedByAppInstanceUserResponse_channel :: Lens.Lens' DescribeChannelModeratedByAppInstanceUserResponse (Prelude.Maybe ChannelModeratedByAppInstanceUserSummary)+describeChannelModeratedByAppInstanceUserResponse_channel = Lens.lens (\DescribeChannelModeratedByAppInstanceUserResponse' {channel} -> channel) (\s@DescribeChannelModeratedByAppInstanceUserResponse' {} a -> s {channel = a} :: DescribeChannelModeratedByAppInstanceUserResponse)++-- | The response's http status code.+describeChannelModeratedByAppInstanceUserResponse_httpStatus :: Lens.Lens' DescribeChannelModeratedByAppInstanceUserResponse Prelude.Int+describeChannelModeratedByAppInstanceUserResponse_httpStatus = Lens.lens (\DescribeChannelModeratedByAppInstanceUserResponse' {httpStatus} -> httpStatus) (\s@DescribeChannelModeratedByAppInstanceUserResponse' {} a -> s {httpStatus = a} :: DescribeChannelModeratedByAppInstanceUserResponse)++instance+  Prelude.NFData+    DescribeChannelModeratedByAppInstanceUserResponse+  where+  rnf+    DescribeChannelModeratedByAppInstanceUserResponse' {..} =+      Prelude.rnf channel+        `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/DescribeChannelModerator.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.Chime.DescribeChannelModerator+-- 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 the full details of a single ChannelModerator.+--+-- The @x-amz-chime-bearer@ request header is mandatory. Use the+-- @AppInstanceUserArn@ of the user that makes the API call as the value in+-- the header.+module Amazonka.Chime.DescribeChannelModerator+  ( -- * Creating a Request+    DescribeChannelModerator (..),+    newDescribeChannelModerator,++    -- * Request Lenses+    describeChannelModerator_chimeBearer,+    describeChannelModerator_channelArn,+    describeChannelModerator_channelModeratorArn,++    -- * Destructuring the Response+    DescribeChannelModeratorResponse (..),+    newDescribeChannelModeratorResponse,++    -- * Response Lenses+    describeChannelModeratorResponse_channelModerator,+    describeChannelModeratorResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newDescribeChannelModerator' smart constructor.+data DescribeChannelModerator = DescribeChannelModerator'+  { -- | The @AppInstanceUserArn@ of the user that makes the API call.+    chimeBearer :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the channel.+    channelArn :: Prelude.Text,+    -- | The ARN of the channel moderator.+    channelModeratorArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeChannelModerator' 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:+--+-- 'chimeBearer', 'describeChannelModerator_chimeBearer' - The @AppInstanceUserArn@ of the user that makes the API call.+--+-- 'channelArn', 'describeChannelModerator_channelArn' - The ARN of the channel.+--+-- 'channelModeratorArn', 'describeChannelModerator_channelModeratorArn' - The ARN of the channel moderator.+newDescribeChannelModerator ::+  -- | 'channelArn'+  Prelude.Text ->+  -- | 'channelModeratorArn'+  Prelude.Text ->+  DescribeChannelModerator+newDescribeChannelModerator+  pChannelArn_+  pChannelModeratorArn_ =+    DescribeChannelModerator'+      { chimeBearer =+          Prelude.Nothing,+        channelArn = pChannelArn_,+        channelModeratorArn = pChannelModeratorArn_+      }++-- | The @AppInstanceUserArn@ of the user that makes the API call.+describeChannelModerator_chimeBearer :: Lens.Lens' DescribeChannelModerator (Prelude.Maybe Prelude.Text)+describeChannelModerator_chimeBearer = Lens.lens (\DescribeChannelModerator' {chimeBearer} -> chimeBearer) (\s@DescribeChannelModerator' {} a -> s {chimeBearer = a} :: DescribeChannelModerator)++-- | The ARN of the channel.+describeChannelModerator_channelArn :: Lens.Lens' DescribeChannelModerator Prelude.Text+describeChannelModerator_channelArn = Lens.lens (\DescribeChannelModerator' {channelArn} -> channelArn) (\s@DescribeChannelModerator' {} a -> s {channelArn = a} :: DescribeChannelModerator)++-- | The ARN of the channel moderator.+describeChannelModerator_channelModeratorArn :: Lens.Lens' DescribeChannelModerator Prelude.Text+describeChannelModerator_channelModeratorArn = Lens.lens (\DescribeChannelModerator' {channelModeratorArn} -> channelModeratorArn) (\s@DescribeChannelModerator' {} a -> s {channelModeratorArn = a} :: DescribeChannelModerator)++instance Core.AWSRequest DescribeChannelModerator where+  type+    AWSResponse DescribeChannelModerator =+      DescribeChannelModeratorResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeChannelModeratorResponse'+            Prelude.<$> (x Data..?> "ChannelModerator")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeChannelModerator where+  hashWithSalt _salt DescribeChannelModerator' {..} =+    _salt+      `Prelude.hashWithSalt` chimeBearer+      `Prelude.hashWithSalt` channelArn+      `Prelude.hashWithSalt` channelModeratorArn++instance Prelude.NFData DescribeChannelModerator where+  rnf DescribeChannelModerator' {..} =+    Prelude.rnf chimeBearer+      `Prelude.seq` Prelude.rnf channelArn+      `Prelude.seq` Prelude.rnf channelModeratorArn++instance Data.ToHeaders DescribeChannelModerator where+  toHeaders DescribeChannelModerator' {..} =+    Prelude.mconcat+      ["x-amz-chime-bearer" Data.=# chimeBearer]++instance Data.ToPath DescribeChannelModerator where+  toPath DescribeChannelModerator' {..} =+    Prelude.mconcat+      [ "/channels/",+        Data.toBS channelArn,+        "/moderators/",+        Data.toBS channelModeratorArn+      ]++instance Data.ToQuery DescribeChannelModerator where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeChannelModeratorResponse' smart constructor.+data DescribeChannelModeratorResponse = DescribeChannelModeratorResponse'+  { -- | The details of the channel moderator.+    channelModerator :: Prelude.Maybe ChannelModerator,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeChannelModeratorResponse' 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:+--+-- 'channelModerator', 'describeChannelModeratorResponse_channelModerator' - The details of the channel moderator.+--+-- 'httpStatus', 'describeChannelModeratorResponse_httpStatus' - The response's http status code.+newDescribeChannelModeratorResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeChannelModeratorResponse+newDescribeChannelModeratorResponse pHttpStatus_ =+  DescribeChannelModeratorResponse'+    { channelModerator =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The details of the channel moderator.+describeChannelModeratorResponse_channelModerator :: Lens.Lens' DescribeChannelModeratorResponse (Prelude.Maybe ChannelModerator)+describeChannelModeratorResponse_channelModerator = Lens.lens (\DescribeChannelModeratorResponse' {channelModerator} -> channelModerator) (\s@DescribeChannelModeratorResponse' {} a -> s {channelModerator = a} :: DescribeChannelModeratorResponse)++-- | The response's http status code.+describeChannelModeratorResponse_httpStatus :: Lens.Lens' DescribeChannelModeratorResponse Prelude.Int+describeChannelModeratorResponse_httpStatus = Lens.lens (\DescribeChannelModeratorResponse' {httpStatus} -> httpStatus) (\s@DescribeChannelModeratorResponse' {} a -> s {httpStatus = a} :: DescribeChannelModeratorResponse)++instance+  Prelude.NFData+    DescribeChannelModeratorResponse+  where+  rnf DescribeChannelModeratorResponse' {..} =+    Prelude.rnf channelModerator+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/DisassociatePhoneNumberFromUser.hs view
@@ -0,0 +1,190 @@+{-# 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.Chime.DisassociatePhoneNumberFromUser+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Disassociates the primary provisioned phone number from the specified+-- Amazon Chime user.+module Amazonka.Chime.DisassociatePhoneNumberFromUser+  ( -- * Creating a Request+    DisassociatePhoneNumberFromUser (..),+    newDisassociatePhoneNumberFromUser,++    -- * Request Lenses+    disassociatePhoneNumberFromUser_accountId,+    disassociatePhoneNumberFromUser_userId,++    -- * Destructuring the Response+    DisassociatePhoneNumberFromUserResponse (..),+    newDisassociatePhoneNumberFromUserResponse,++    -- * Response Lenses+    disassociatePhoneNumberFromUserResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newDisassociatePhoneNumberFromUser' smart constructor.+data DisassociatePhoneNumberFromUser = DisassociatePhoneNumberFromUser'+  { -- | The Amazon Chime account ID.+    accountId :: Prelude.Text,+    -- | The user ID.+    userId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociatePhoneNumberFromUser' 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:+--+-- 'accountId', 'disassociatePhoneNumberFromUser_accountId' - The Amazon Chime account ID.+--+-- 'userId', 'disassociatePhoneNumberFromUser_userId' - The user ID.+newDisassociatePhoneNumberFromUser ::+  -- | 'accountId'+  Prelude.Text ->+  -- | 'userId'+  Prelude.Text ->+  DisassociatePhoneNumberFromUser+newDisassociatePhoneNumberFromUser+  pAccountId_+  pUserId_ =+    DisassociatePhoneNumberFromUser'+      { accountId =+          pAccountId_,+        userId = pUserId_+      }++-- | The Amazon Chime account ID.+disassociatePhoneNumberFromUser_accountId :: Lens.Lens' DisassociatePhoneNumberFromUser Prelude.Text+disassociatePhoneNumberFromUser_accountId = Lens.lens (\DisassociatePhoneNumberFromUser' {accountId} -> accountId) (\s@DisassociatePhoneNumberFromUser' {} a -> s {accountId = a} :: DisassociatePhoneNumberFromUser)++-- | The user ID.+disassociatePhoneNumberFromUser_userId :: Lens.Lens' DisassociatePhoneNumberFromUser Prelude.Text+disassociatePhoneNumberFromUser_userId = Lens.lens (\DisassociatePhoneNumberFromUser' {userId} -> userId) (\s@DisassociatePhoneNumberFromUser' {} a -> s {userId = a} :: DisassociatePhoneNumberFromUser)++instance+  Core.AWSRequest+    DisassociatePhoneNumberFromUser+  where+  type+    AWSResponse DisassociatePhoneNumberFromUser =+      DisassociatePhoneNumberFromUserResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DisassociatePhoneNumberFromUserResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    DisassociatePhoneNumberFromUser+  where+  hashWithSalt+    _salt+    DisassociatePhoneNumberFromUser' {..} =+      _salt+        `Prelude.hashWithSalt` accountId+        `Prelude.hashWithSalt` userId++instance+  Prelude.NFData+    DisassociatePhoneNumberFromUser+  where+  rnf DisassociatePhoneNumberFromUser' {..} =+    Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf userId++instance+  Data.ToHeaders+    DisassociatePhoneNumberFromUser+  where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON DisassociatePhoneNumberFromUser where+  toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath DisassociatePhoneNumberFromUser where+  toPath DisassociatePhoneNumberFromUser' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS accountId,+        "/users/",+        Data.toBS userId+      ]++instance Data.ToQuery DisassociatePhoneNumberFromUser where+  toQuery =+    Prelude.const+      ( Prelude.mconcat+          ["operation=disassociate-phone-number"]+      )++-- | /See:/ 'newDisassociatePhoneNumberFromUserResponse' smart constructor.+data DisassociatePhoneNumberFromUserResponse = DisassociatePhoneNumberFromUserResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociatePhoneNumberFromUserResponse' 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', 'disassociatePhoneNumberFromUserResponse_httpStatus' - The response's http status code.+newDisassociatePhoneNumberFromUserResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DisassociatePhoneNumberFromUserResponse+newDisassociatePhoneNumberFromUserResponse+  pHttpStatus_ =+    DisassociatePhoneNumberFromUserResponse'+      { httpStatus =+          pHttpStatus_+      }++-- | The response's http status code.+disassociatePhoneNumberFromUserResponse_httpStatus :: Lens.Lens' DisassociatePhoneNumberFromUserResponse Prelude.Int+disassociatePhoneNumberFromUserResponse_httpStatus = Lens.lens (\DisassociatePhoneNumberFromUserResponse' {httpStatus} -> httpStatus) (\s@DisassociatePhoneNumberFromUserResponse' {} a -> s {httpStatus = a} :: DisassociatePhoneNumberFromUserResponse)++instance+  Prelude.NFData+    DisassociatePhoneNumberFromUserResponse+  where+  rnf DisassociatePhoneNumberFromUserResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/Chime/DisassociatePhoneNumbersFromVoiceConnector.hs view
@@ -0,0 +1,225 @@+{-# 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.Chime.DisassociatePhoneNumbersFromVoiceConnector+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Disassociates the specified phone numbers from the specified Amazon+-- Chime Voice Connector.+module Amazonka.Chime.DisassociatePhoneNumbersFromVoiceConnector+  ( -- * Creating a Request+    DisassociatePhoneNumbersFromVoiceConnector (..),+    newDisassociatePhoneNumbersFromVoiceConnector,++    -- * Request Lenses+    disassociatePhoneNumbersFromVoiceConnector_voiceConnectorId,+    disassociatePhoneNumbersFromVoiceConnector_e164PhoneNumbers,++    -- * Destructuring the Response+    DisassociatePhoneNumbersFromVoiceConnectorResponse (..),+    newDisassociatePhoneNumbersFromVoiceConnectorResponse,++    -- * Response Lenses+    disassociatePhoneNumbersFromVoiceConnectorResponse_phoneNumberErrors,+    disassociatePhoneNumbersFromVoiceConnectorResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newDisassociatePhoneNumbersFromVoiceConnector' smart constructor.+data DisassociatePhoneNumbersFromVoiceConnector = DisassociatePhoneNumbersFromVoiceConnector'+  { -- | The Amazon Chime Voice Connector ID.+    voiceConnectorId :: Prelude.Text,+    -- | List of phone numbers, in E.164 format.+    e164PhoneNumbers :: [Data.Sensitive Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociatePhoneNumbersFromVoiceConnector' 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:+--+-- 'voiceConnectorId', 'disassociatePhoneNumbersFromVoiceConnector_voiceConnectorId' - The Amazon Chime Voice Connector ID.+--+-- 'e164PhoneNumbers', 'disassociatePhoneNumbersFromVoiceConnector_e164PhoneNumbers' - List of phone numbers, in E.164 format.+newDisassociatePhoneNumbersFromVoiceConnector ::+  -- | 'voiceConnectorId'+  Prelude.Text ->+  DisassociatePhoneNumbersFromVoiceConnector+newDisassociatePhoneNumbersFromVoiceConnector+  pVoiceConnectorId_ =+    DisassociatePhoneNumbersFromVoiceConnector'+      { voiceConnectorId =+          pVoiceConnectorId_,+        e164PhoneNumbers =+          Prelude.mempty+      }++-- | The Amazon Chime Voice Connector ID.+disassociatePhoneNumbersFromVoiceConnector_voiceConnectorId :: Lens.Lens' DisassociatePhoneNumbersFromVoiceConnector Prelude.Text+disassociatePhoneNumbersFromVoiceConnector_voiceConnectorId = Lens.lens (\DisassociatePhoneNumbersFromVoiceConnector' {voiceConnectorId} -> voiceConnectorId) (\s@DisassociatePhoneNumbersFromVoiceConnector' {} a -> s {voiceConnectorId = a} :: DisassociatePhoneNumbersFromVoiceConnector)++-- | List of phone numbers, in E.164 format.+disassociatePhoneNumbersFromVoiceConnector_e164PhoneNumbers :: Lens.Lens' DisassociatePhoneNumbersFromVoiceConnector [Prelude.Text]+disassociatePhoneNumbersFromVoiceConnector_e164PhoneNumbers = Lens.lens (\DisassociatePhoneNumbersFromVoiceConnector' {e164PhoneNumbers} -> e164PhoneNumbers) (\s@DisassociatePhoneNumbersFromVoiceConnector' {} a -> s {e164PhoneNumbers = a} :: DisassociatePhoneNumbersFromVoiceConnector) Prelude.. Lens.coerced++instance+  Core.AWSRequest+    DisassociatePhoneNumbersFromVoiceConnector+  where+  type+    AWSResponse+      DisassociatePhoneNumbersFromVoiceConnector =+      DisassociatePhoneNumbersFromVoiceConnectorResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DisassociatePhoneNumbersFromVoiceConnectorResponse'+            Prelude.<$> ( x+                            Data..?> "PhoneNumberErrors"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    DisassociatePhoneNumbersFromVoiceConnector+  where+  hashWithSalt+    _salt+    DisassociatePhoneNumbersFromVoiceConnector' {..} =+      _salt+        `Prelude.hashWithSalt` voiceConnectorId+        `Prelude.hashWithSalt` e164PhoneNumbers++instance+  Prelude.NFData+    DisassociatePhoneNumbersFromVoiceConnector+  where+  rnf DisassociatePhoneNumbersFromVoiceConnector' {..} =+    Prelude.rnf voiceConnectorId+      `Prelude.seq` Prelude.rnf e164PhoneNumbers++instance+  Data.ToHeaders+    DisassociatePhoneNumbersFromVoiceConnector+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToJSON+    DisassociatePhoneNumbersFromVoiceConnector+  where+  toJSON+    DisassociatePhoneNumbersFromVoiceConnector' {..} =+      Data.object+        ( Prelude.catMaybes+            [ Prelude.Just+                ("E164PhoneNumbers" Data..= e164PhoneNumbers)+            ]+        )++instance+  Data.ToPath+    DisassociatePhoneNumbersFromVoiceConnector+  where+  toPath+    DisassociatePhoneNumbersFromVoiceConnector' {..} =+      Prelude.mconcat+        ["/voice-connectors/", Data.toBS voiceConnectorId]++instance+  Data.ToQuery+    DisassociatePhoneNumbersFromVoiceConnector+  where+  toQuery =+    Prelude.const+      ( Prelude.mconcat+          ["operation=disassociate-phone-numbers"]+      )++-- | /See:/ 'newDisassociatePhoneNumbersFromVoiceConnectorResponse' smart constructor.+data DisassociatePhoneNumbersFromVoiceConnectorResponse = DisassociatePhoneNumbersFromVoiceConnectorResponse'+  { -- | If the action fails for one or more of the phone numbers in the request,+    -- a list of the phone numbers is returned, along with error codes and+    -- error messages.+    phoneNumberErrors :: Prelude.Maybe [PhoneNumberError],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociatePhoneNumbersFromVoiceConnectorResponse' 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:+--+-- 'phoneNumberErrors', 'disassociatePhoneNumbersFromVoiceConnectorResponse_phoneNumberErrors' - If the action fails for one or more of the phone numbers in the request,+-- a list of the phone numbers is returned, along with error codes and+-- error messages.+--+-- 'httpStatus', 'disassociatePhoneNumbersFromVoiceConnectorResponse_httpStatus' - The response's http status code.+newDisassociatePhoneNumbersFromVoiceConnectorResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DisassociatePhoneNumbersFromVoiceConnectorResponse+newDisassociatePhoneNumbersFromVoiceConnectorResponse+  pHttpStatus_ =+    DisassociatePhoneNumbersFromVoiceConnectorResponse'+      { phoneNumberErrors =+          Prelude.Nothing,+        httpStatus =+          pHttpStatus_+      }++-- | If the action fails for one or more of the phone numbers in the request,+-- a list of the phone numbers is returned, along with error codes and+-- error messages.+disassociatePhoneNumbersFromVoiceConnectorResponse_phoneNumberErrors :: Lens.Lens' DisassociatePhoneNumbersFromVoiceConnectorResponse (Prelude.Maybe [PhoneNumberError])+disassociatePhoneNumbersFromVoiceConnectorResponse_phoneNumberErrors = Lens.lens (\DisassociatePhoneNumbersFromVoiceConnectorResponse' {phoneNumberErrors} -> phoneNumberErrors) (\s@DisassociatePhoneNumbersFromVoiceConnectorResponse' {} a -> s {phoneNumberErrors = a} :: DisassociatePhoneNumbersFromVoiceConnectorResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+disassociatePhoneNumbersFromVoiceConnectorResponse_httpStatus :: Lens.Lens' DisassociatePhoneNumbersFromVoiceConnectorResponse Prelude.Int+disassociatePhoneNumbersFromVoiceConnectorResponse_httpStatus = Lens.lens (\DisassociatePhoneNumbersFromVoiceConnectorResponse' {httpStatus} -> httpStatus) (\s@DisassociatePhoneNumbersFromVoiceConnectorResponse' {} a -> s {httpStatus = a} :: DisassociatePhoneNumbersFromVoiceConnectorResponse)++instance+  Prelude.NFData+    DisassociatePhoneNumbersFromVoiceConnectorResponse+  where+  rnf+    DisassociatePhoneNumbersFromVoiceConnectorResponse' {..} =+      Prelude.rnf phoneNumberErrors+        `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/DisassociatePhoneNumbersFromVoiceConnectorGroup.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.Chime.DisassociatePhoneNumbersFromVoiceConnectorGroup+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Disassociates the specified phone numbers from the specified Amazon+-- Chime Voice Connector group.+module Amazonka.Chime.DisassociatePhoneNumbersFromVoiceConnectorGroup+  ( -- * Creating a Request+    DisassociatePhoneNumbersFromVoiceConnectorGroup (..),+    newDisassociatePhoneNumbersFromVoiceConnectorGroup,++    -- * Request Lenses+    disassociatePhoneNumbersFromVoiceConnectorGroup_voiceConnectorGroupId,+    disassociatePhoneNumbersFromVoiceConnectorGroup_e164PhoneNumbers,++    -- * Destructuring the Response+    DisassociatePhoneNumbersFromVoiceConnectorGroupResponse (..),+    newDisassociatePhoneNumbersFromVoiceConnectorGroupResponse,++    -- * Response Lenses+    disassociatePhoneNumbersFromVoiceConnectorGroupResponse_phoneNumberErrors,+    disassociatePhoneNumbersFromVoiceConnectorGroupResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newDisassociatePhoneNumbersFromVoiceConnectorGroup' smart constructor.+data DisassociatePhoneNumbersFromVoiceConnectorGroup = DisassociatePhoneNumbersFromVoiceConnectorGroup'+  { -- | The Amazon Chime Voice Connector group ID.+    voiceConnectorGroupId :: Prelude.Text,+    -- | List of phone numbers, in E.164 format.+    e164PhoneNumbers :: [Data.Sensitive Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociatePhoneNumbersFromVoiceConnectorGroup' 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:+--+-- 'voiceConnectorGroupId', 'disassociatePhoneNumbersFromVoiceConnectorGroup_voiceConnectorGroupId' - The Amazon Chime Voice Connector group ID.+--+-- 'e164PhoneNumbers', 'disassociatePhoneNumbersFromVoiceConnectorGroup_e164PhoneNumbers' - List of phone numbers, in E.164 format.+newDisassociatePhoneNumbersFromVoiceConnectorGroup ::+  -- | 'voiceConnectorGroupId'+  Prelude.Text ->+  DisassociatePhoneNumbersFromVoiceConnectorGroup+newDisassociatePhoneNumbersFromVoiceConnectorGroup+  pVoiceConnectorGroupId_ =+    DisassociatePhoneNumbersFromVoiceConnectorGroup'+      { voiceConnectorGroupId =+          pVoiceConnectorGroupId_,+        e164PhoneNumbers =+          Prelude.mempty+      }++-- | The Amazon Chime Voice Connector group ID.+disassociatePhoneNumbersFromVoiceConnectorGroup_voiceConnectorGroupId :: Lens.Lens' DisassociatePhoneNumbersFromVoiceConnectorGroup Prelude.Text+disassociatePhoneNumbersFromVoiceConnectorGroup_voiceConnectorGroupId = Lens.lens (\DisassociatePhoneNumbersFromVoiceConnectorGroup' {voiceConnectorGroupId} -> voiceConnectorGroupId) (\s@DisassociatePhoneNumbersFromVoiceConnectorGroup' {} a -> s {voiceConnectorGroupId = a} :: DisassociatePhoneNumbersFromVoiceConnectorGroup)++-- | List of phone numbers, in E.164 format.+disassociatePhoneNumbersFromVoiceConnectorGroup_e164PhoneNumbers :: Lens.Lens' DisassociatePhoneNumbersFromVoiceConnectorGroup [Prelude.Text]+disassociatePhoneNumbersFromVoiceConnectorGroup_e164PhoneNumbers = Lens.lens (\DisassociatePhoneNumbersFromVoiceConnectorGroup' {e164PhoneNumbers} -> e164PhoneNumbers) (\s@DisassociatePhoneNumbersFromVoiceConnectorGroup' {} a -> s {e164PhoneNumbers = a} :: DisassociatePhoneNumbersFromVoiceConnectorGroup) Prelude.. Lens.coerced++instance+  Core.AWSRequest+    DisassociatePhoneNumbersFromVoiceConnectorGroup+  where+  type+    AWSResponse+      DisassociatePhoneNumbersFromVoiceConnectorGroup =+      DisassociatePhoneNumbersFromVoiceConnectorGroupResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DisassociatePhoneNumbersFromVoiceConnectorGroupResponse'+            Prelude.<$> ( x+                            Data..?> "PhoneNumberErrors"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    DisassociatePhoneNumbersFromVoiceConnectorGroup+  where+  hashWithSalt+    _salt+    DisassociatePhoneNumbersFromVoiceConnectorGroup' {..} =+      _salt+        `Prelude.hashWithSalt` voiceConnectorGroupId+        `Prelude.hashWithSalt` e164PhoneNumbers++instance+  Prelude.NFData+    DisassociatePhoneNumbersFromVoiceConnectorGroup+  where+  rnf+    DisassociatePhoneNumbersFromVoiceConnectorGroup' {..} =+      Prelude.rnf voiceConnectorGroupId+        `Prelude.seq` Prelude.rnf e164PhoneNumbers++instance+  Data.ToHeaders+    DisassociatePhoneNumbersFromVoiceConnectorGroup+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToJSON+    DisassociatePhoneNumbersFromVoiceConnectorGroup+  where+  toJSON+    DisassociatePhoneNumbersFromVoiceConnectorGroup' {..} =+      Data.object+        ( Prelude.catMaybes+            [ Prelude.Just+                ("E164PhoneNumbers" Data..= e164PhoneNumbers)+            ]+        )++instance+  Data.ToPath+    DisassociatePhoneNumbersFromVoiceConnectorGroup+  where+  toPath+    DisassociatePhoneNumbersFromVoiceConnectorGroup' {..} =+      Prelude.mconcat+        [ "/voice-connector-groups/",+          Data.toBS voiceConnectorGroupId+        ]++instance+  Data.ToQuery+    DisassociatePhoneNumbersFromVoiceConnectorGroup+  where+  toQuery =+    Prelude.const+      ( Prelude.mconcat+          ["operation=disassociate-phone-numbers"]+      )++-- | /See:/ 'newDisassociatePhoneNumbersFromVoiceConnectorGroupResponse' smart constructor.+data DisassociatePhoneNumbersFromVoiceConnectorGroupResponse = DisassociatePhoneNumbersFromVoiceConnectorGroupResponse'+  { -- | If the action fails for one or more of the phone numbers in the request,+    -- a list of the phone numbers is returned, along with error codes and+    -- error messages.+    phoneNumberErrors :: Prelude.Maybe [PhoneNumberError],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociatePhoneNumbersFromVoiceConnectorGroupResponse' 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:+--+-- 'phoneNumberErrors', 'disassociatePhoneNumbersFromVoiceConnectorGroupResponse_phoneNumberErrors' - If the action fails for one or more of the phone numbers in the request,+-- a list of the phone numbers is returned, along with error codes and+-- error messages.+--+-- 'httpStatus', 'disassociatePhoneNumbersFromVoiceConnectorGroupResponse_httpStatus' - The response's http status code.+newDisassociatePhoneNumbersFromVoiceConnectorGroupResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DisassociatePhoneNumbersFromVoiceConnectorGroupResponse+newDisassociatePhoneNumbersFromVoiceConnectorGroupResponse+  pHttpStatus_ =+    DisassociatePhoneNumbersFromVoiceConnectorGroupResponse'+      { phoneNumberErrors =+          Prelude.Nothing,+        httpStatus =+          pHttpStatus_+      }++-- | If the action fails for one or more of the phone numbers in the request,+-- a list of the phone numbers is returned, along with error codes and+-- error messages.+disassociatePhoneNumbersFromVoiceConnectorGroupResponse_phoneNumberErrors :: Lens.Lens' DisassociatePhoneNumbersFromVoiceConnectorGroupResponse (Prelude.Maybe [PhoneNumberError])+disassociatePhoneNumbersFromVoiceConnectorGroupResponse_phoneNumberErrors = Lens.lens (\DisassociatePhoneNumbersFromVoiceConnectorGroupResponse' {phoneNumberErrors} -> phoneNumberErrors) (\s@DisassociatePhoneNumbersFromVoiceConnectorGroupResponse' {} a -> s {phoneNumberErrors = a} :: DisassociatePhoneNumbersFromVoiceConnectorGroupResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+disassociatePhoneNumbersFromVoiceConnectorGroupResponse_httpStatus :: Lens.Lens' DisassociatePhoneNumbersFromVoiceConnectorGroupResponse Prelude.Int+disassociatePhoneNumbersFromVoiceConnectorGroupResponse_httpStatus = Lens.lens (\DisassociatePhoneNumbersFromVoiceConnectorGroupResponse' {httpStatus} -> httpStatus) (\s@DisassociatePhoneNumbersFromVoiceConnectorGroupResponse' {} a -> s {httpStatus = a} :: DisassociatePhoneNumbersFromVoiceConnectorGroupResponse)++instance+  Prelude.NFData+    DisassociatePhoneNumbersFromVoiceConnectorGroupResponse+  where+  rnf+    DisassociatePhoneNumbersFromVoiceConnectorGroupResponse' {..} =+      Prelude.rnf phoneNumberErrors+        `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/DisassociateSigninDelegateGroupsFromAccount.hs view
@@ -0,0 +1,204 @@+{-# 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.Chime.DisassociateSigninDelegateGroupsFromAccount+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Disassociates the specified sign-in delegate groups from the specified+-- Amazon Chime account.+module Amazonka.Chime.DisassociateSigninDelegateGroupsFromAccount+  ( -- * Creating a Request+    DisassociateSigninDelegateGroupsFromAccount (..),+    newDisassociateSigninDelegateGroupsFromAccount,++    -- * Request Lenses+    disassociateSigninDelegateGroupsFromAccount_accountId,+    disassociateSigninDelegateGroupsFromAccount_groupNames,++    -- * Destructuring the Response+    DisassociateSigninDelegateGroupsFromAccountResponse (..),+    newDisassociateSigninDelegateGroupsFromAccountResponse,++    -- * Response Lenses+    disassociateSigninDelegateGroupsFromAccountResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newDisassociateSigninDelegateGroupsFromAccount' smart constructor.+data DisassociateSigninDelegateGroupsFromAccount = DisassociateSigninDelegateGroupsFromAccount'+  { -- | The Amazon Chime account ID.+    accountId :: Prelude.Text,+    -- | The sign-in delegate group names.+    groupNames :: Prelude.NonEmpty Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateSigninDelegateGroupsFromAccount' 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:+--+-- 'accountId', 'disassociateSigninDelegateGroupsFromAccount_accountId' - The Amazon Chime account ID.+--+-- 'groupNames', 'disassociateSigninDelegateGroupsFromAccount_groupNames' - The sign-in delegate group names.+newDisassociateSigninDelegateGroupsFromAccount ::+  -- | 'accountId'+  Prelude.Text ->+  -- | 'groupNames'+  Prelude.NonEmpty Prelude.Text ->+  DisassociateSigninDelegateGroupsFromAccount+newDisassociateSigninDelegateGroupsFromAccount+  pAccountId_+  pGroupNames_ =+    DisassociateSigninDelegateGroupsFromAccount'+      { accountId =+          pAccountId_,+        groupNames =+          Lens.coerced+            Lens.# pGroupNames_+      }++-- | The Amazon Chime account ID.+disassociateSigninDelegateGroupsFromAccount_accountId :: Lens.Lens' DisassociateSigninDelegateGroupsFromAccount Prelude.Text+disassociateSigninDelegateGroupsFromAccount_accountId = Lens.lens (\DisassociateSigninDelegateGroupsFromAccount' {accountId} -> accountId) (\s@DisassociateSigninDelegateGroupsFromAccount' {} a -> s {accountId = a} :: DisassociateSigninDelegateGroupsFromAccount)++-- | The sign-in delegate group names.+disassociateSigninDelegateGroupsFromAccount_groupNames :: Lens.Lens' DisassociateSigninDelegateGroupsFromAccount (Prelude.NonEmpty Prelude.Text)+disassociateSigninDelegateGroupsFromAccount_groupNames = Lens.lens (\DisassociateSigninDelegateGroupsFromAccount' {groupNames} -> groupNames) (\s@DisassociateSigninDelegateGroupsFromAccount' {} a -> s {groupNames = a} :: DisassociateSigninDelegateGroupsFromAccount) Prelude.. Lens.coerced++instance+  Core.AWSRequest+    DisassociateSigninDelegateGroupsFromAccount+  where+  type+    AWSResponse+      DisassociateSigninDelegateGroupsFromAccount =+      DisassociateSigninDelegateGroupsFromAccountResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DisassociateSigninDelegateGroupsFromAccountResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    DisassociateSigninDelegateGroupsFromAccount+  where+  hashWithSalt+    _salt+    DisassociateSigninDelegateGroupsFromAccount' {..} =+      _salt+        `Prelude.hashWithSalt` accountId+        `Prelude.hashWithSalt` groupNames++instance+  Prelude.NFData+    DisassociateSigninDelegateGroupsFromAccount+  where+  rnf DisassociateSigninDelegateGroupsFromAccount' {..} =+    Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf groupNames++instance+  Data.ToHeaders+    DisassociateSigninDelegateGroupsFromAccount+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToJSON+    DisassociateSigninDelegateGroupsFromAccount+  where+  toJSON+    DisassociateSigninDelegateGroupsFromAccount' {..} =+      Data.object+        ( Prelude.catMaybes+            [Prelude.Just ("GroupNames" Data..= groupNames)]+        )++instance+  Data.ToPath+    DisassociateSigninDelegateGroupsFromAccount+  where+  toPath+    DisassociateSigninDelegateGroupsFromAccount' {..} =+      Prelude.mconcat ["/accounts/", Data.toBS accountId]++instance+  Data.ToQuery+    DisassociateSigninDelegateGroupsFromAccount+  where+  toQuery =+    Prelude.const+      ( Prelude.mconcat+          ["operation=disassociate-signin-delegate-groups"]+      )++-- | /See:/ 'newDisassociateSigninDelegateGroupsFromAccountResponse' smart constructor.+data DisassociateSigninDelegateGroupsFromAccountResponse = DisassociateSigninDelegateGroupsFromAccountResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateSigninDelegateGroupsFromAccountResponse' 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', 'disassociateSigninDelegateGroupsFromAccountResponse_httpStatus' - The response's http status code.+newDisassociateSigninDelegateGroupsFromAccountResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DisassociateSigninDelegateGroupsFromAccountResponse+newDisassociateSigninDelegateGroupsFromAccountResponse+  pHttpStatus_ =+    DisassociateSigninDelegateGroupsFromAccountResponse'+      { httpStatus =+          pHttpStatus_+      }++-- | The response's http status code.+disassociateSigninDelegateGroupsFromAccountResponse_httpStatus :: Lens.Lens' DisassociateSigninDelegateGroupsFromAccountResponse Prelude.Int+disassociateSigninDelegateGroupsFromAccountResponse_httpStatus = Lens.lens (\DisassociateSigninDelegateGroupsFromAccountResponse' {httpStatus} -> httpStatus) (\s@DisassociateSigninDelegateGroupsFromAccountResponse' {} a -> s {httpStatus = a} :: DisassociateSigninDelegateGroupsFromAccountResponse)++instance+  Prelude.NFData+    DisassociateSigninDelegateGroupsFromAccountResponse+  where+  rnf+    DisassociateSigninDelegateGroupsFromAccountResponse' {..} =+      Prelude.rnf httpStatus
+ gen/Amazonka/Chime/GetAccount.hs view
@@ -0,0 +1,148 @@+{-# 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.Chime.GetAccount+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves details for the specified Amazon Chime account, such as+-- account type and supported licenses.+module Amazonka.Chime.GetAccount+  ( -- * Creating a Request+    GetAccount (..),+    newGetAccount,++    -- * Request Lenses+    getAccount_accountId,++    -- * Destructuring the Response+    GetAccountResponse (..),+    newGetAccountResponse,++    -- * Response Lenses+    getAccountResponse_account,+    getAccountResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newGetAccount' smart constructor.+data GetAccount = GetAccount'+  { -- | The Amazon Chime account ID.+    accountId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAccount' 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:+--+-- 'accountId', 'getAccount_accountId' - The Amazon Chime account ID.+newGetAccount ::+  -- | 'accountId'+  Prelude.Text ->+  GetAccount+newGetAccount pAccountId_ =+  GetAccount' {accountId = pAccountId_}++-- | The Amazon Chime account ID.+getAccount_accountId :: Lens.Lens' GetAccount Prelude.Text+getAccount_accountId = Lens.lens (\GetAccount' {accountId} -> accountId) (\s@GetAccount' {} a -> s {accountId = a} :: GetAccount)++instance Core.AWSRequest GetAccount where+  type AWSResponse GetAccount = GetAccountResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetAccountResponse'+            Prelude.<$> (x Data..?> "Account")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetAccount where+  hashWithSalt _salt GetAccount' {..} =+    _salt `Prelude.hashWithSalt` accountId++instance Prelude.NFData GetAccount where+  rnf GetAccount' {..} = Prelude.rnf accountId++instance Data.ToHeaders GetAccount where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath GetAccount where+  toPath GetAccount' {..} =+    Prelude.mconcat ["/accounts/", Data.toBS accountId]++instance Data.ToQuery GetAccount where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetAccountResponse' smart constructor.+data GetAccountResponse = GetAccountResponse'+  { -- | The Amazon Chime account details.+    account :: Prelude.Maybe Account,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAccountResponse' 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:+--+-- 'account', 'getAccountResponse_account' - The Amazon Chime account details.+--+-- 'httpStatus', 'getAccountResponse_httpStatus' - The response's http status code.+newGetAccountResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetAccountResponse+newGetAccountResponse pHttpStatus_ =+  GetAccountResponse'+    { account = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Chime account details.+getAccountResponse_account :: Lens.Lens' GetAccountResponse (Prelude.Maybe Account)+getAccountResponse_account = Lens.lens (\GetAccountResponse' {account} -> account) (\s@GetAccountResponse' {} a -> s {account = a} :: GetAccountResponse)++-- | The response's http status code.+getAccountResponse_httpStatus :: Lens.Lens' GetAccountResponse Prelude.Int+getAccountResponse_httpStatus = Lens.lens (\GetAccountResponse' {httpStatus} -> httpStatus) (\s@GetAccountResponse' {} a -> s {httpStatus = a} :: GetAccountResponse)++instance Prelude.NFData GetAccountResponse where+  rnf GetAccountResponse' {..} =+    Prelude.rnf account+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/GetAccountSettings.hs view
@@ -0,0 +1,155 @@+{-# 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.Chime.GetAccountSettings+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves account settings for the specified Amazon Chime account ID,+-- such as remote control and dialout settings. For more information about+-- these settings, see+-- <https://docs.aws.amazon.com/chime/latest/ag/policies.html Use the Policies Page>+-- in the /Amazon Chime Administration Guide/.+module Amazonka.Chime.GetAccountSettings+  ( -- * Creating a Request+    GetAccountSettings (..),+    newGetAccountSettings,++    -- * Request Lenses+    getAccountSettings_accountId,++    -- * Destructuring the Response+    GetAccountSettingsResponse (..),+    newGetAccountSettingsResponse,++    -- * Response Lenses+    getAccountSettingsResponse_accountSettings,+    getAccountSettingsResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newGetAccountSettings' smart constructor.+data GetAccountSettings = GetAccountSettings'+  { -- | The Amazon Chime account ID.+    accountId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAccountSettings' 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:+--+-- 'accountId', 'getAccountSettings_accountId' - The Amazon Chime account ID.+newGetAccountSettings ::+  -- | 'accountId'+  Prelude.Text ->+  GetAccountSettings+newGetAccountSettings pAccountId_ =+  GetAccountSettings' {accountId = pAccountId_}++-- | The Amazon Chime account ID.+getAccountSettings_accountId :: Lens.Lens' GetAccountSettings Prelude.Text+getAccountSettings_accountId = Lens.lens (\GetAccountSettings' {accountId} -> accountId) (\s@GetAccountSettings' {} a -> s {accountId = a} :: GetAccountSettings)++instance Core.AWSRequest GetAccountSettings where+  type+    AWSResponse GetAccountSettings =+      GetAccountSettingsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetAccountSettingsResponse'+            Prelude.<$> (x Data..?> "AccountSettings")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetAccountSettings where+  hashWithSalt _salt GetAccountSettings' {..} =+    _salt `Prelude.hashWithSalt` accountId++instance Prelude.NFData GetAccountSettings where+  rnf GetAccountSettings' {..} = Prelude.rnf accountId++instance Data.ToHeaders GetAccountSettings where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath GetAccountSettings where+  toPath GetAccountSettings' {..} =+    Prelude.mconcat+      ["/accounts/", Data.toBS accountId, "/settings"]++instance Data.ToQuery GetAccountSettings where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetAccountSettingsResponse' smart constructor.+data GetAccountSettingsResponse = GetAccountSettingsResponse'+  { -- | The Amazon Chime account settings.+    accountSettings :: Prelude.Maybe AccountSettings,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAccountSettingsResponse' 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:+--+-- 'accountSettings', 'getAccountSettingsResponse_accountSettings' - The Amazon Chime account settings.+--+-- 'httpStatus', 'getAccountSettingsResponse_httpStatus' - The response's http status code.+newGetAccountSettingsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetAccountSettingsResponse+newGetAccountSettingsResponse pHttpStatus_ =+  GetAccountSettingsResponse'+    { accountSettings =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Chime account settings.+getAccountSettingsResponse_accountSettings :: Lens.Lens' GetAccountSettingsResponse (Prelude.Maybe AccountSettings)+getAccountSettingsResponse_accountSettings = Lens.lens (\GetAccountSettingsResponse' {accountSettings} -> accountSettings) (\s@GetAccountSettingsResponse' {} a -> s {accountSettings = a} :: GetAccountSettingsResponse)++-- | The response's http status code.+getAccountSettingsResponse_httpStatus :: Lens.Lens' GetAccountSettingsResponse Prelude.Int+getAccountSettingsResponse_httpStatus = Lens.lens (\GetAccountSettingsResponse' {httpStatus} -> httpStatus) (\s@GetAccountSettingsResponse' {} a -> s {httpStatus = a} :: GetAccountSettingsResponse)++instance Prelude.NFData GetAccountSettingsResponse where+  rnf GetAccountSettingsResponse' {..} =+    Prelude.rnf accountSettings+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/GetAppInstanceRetentionSettings.hs view
@@ -0,0 +1,192 @@+{-# 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.Chime.GetAppInstanceRetentionSettings+-- 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 retention settings for an @AppInstance@.+module Amazonka.Chime.GetAppInstanceRetentionSettings+  ( -- * Creating a Request+    GetAppInstanceRetentionSettings (..),+    newGetAppInstanceRetentionSettings,++    -- * Request Lenses+    getAppInstanceRetentionSettings_appInstanceArn,++    -- * Destructuring the Response+    GetAppInstanceRetentionSettingsResponse (..),+    newGetAppInstanceRetentionSettingsResponse,++    -- * Response Lenses+    getAppInstanceRetentionSettingsResponse_appInstanceRetentionSettings,+    getAppInstanceRetentionSettingsResponse_initiateDeletionTimestamp,+    getAppInstanceRetentionSettingsResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newGetAppInstanceRetentionSettings' smart constructor.+data GetAppInstanceRetentionSettings = GetAppInstanceRetentionSettings'+  { -- | The ARN of the @AppInstance@.+    appInstanceArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAppInstanceRetentionSettings' 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:+--+-- 'appInstanceArn', 'getAppInstanceRetentionSettings_appInstanceArn' - The ARN of the @AppInstance@.+newGetAppInstanceRetentionSettings ::+  -- | 'appInstanceArn'+  Prelude.Text ->+  GetAppInstanceRetentionSettings+newGetAppInstanceRetentionSettings pAppInstanceArn_ =+  GetAppInstanceRetentionSettings'+    { appInstanceArn =+        pAppInstanceArn_+    }++-- | The ARN of the @AppInstance@.+getAppInstanceRetentionSettings_appInstanceArn :: Lens.Lens' GetAppInstanceRetentionSettings Prelude.Text+getAppInstanceRetentionSettings_appInstanceArn = Lens.lens (\GetAppInstanceRetentionSettings' {appInstanceArn} -> appInstanceArn) (\s@GetAppInstanceRetentionSettings' {} a -> s {appInstanceArn = a} :: GetAppInstanceRetentionSettings)++instance+  Core.AWSRequest+    GetAppInstanceRetentionSettings+  where+  type+    AWSResponse GetAppInstanceRetentionSettings =+      GetAppInstanceRetentionSettingsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetAppInstanceRetentionSettingsResponse'+            Prelude.<$> (x Data..?> "AppInstanceRetentionSettings")+            Prelude.<*> (x Data..?> "InitiateDeletionTimestamp")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    GetAppInstanceRetentionSettings+  where+  hashWithSalt+    _salt+    GetAppInstanceRetentionSettings' {..} =+      _salt `Prelude.hashWithSalt` appInstanceArn++instance+  Prelude.NFData+    GetAppInstanceRetentionSettings+  where+  rnf GetAppInstanceRetentionSettings' {..} =+    Prelude.rnf appInstanceArn++instance+  Data.ToHeaders+    GetAppInstanceRetentionSettings+  where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath GetAppInstanceRetentionSettings where+  toPath GetAppInstanceRetentionSettings' {..} =+    Prelude.mconcat+      [ "/app-instances/",+        Data.toBS appInstanceArn,+        "/retention-settings"+      ]++instance Data.ToQuery GetAppInstanceRetentionSettings where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetAppInstanceRetentionSettingsResponse' smart constructor.+data GetAppInstanceRetentionSettingsResponse = GetAppInstanceRetentionSettingsResponse'+  { -- | The retention settings for the @AppInstance@.+    appInstanceRetentionSettings :: Prelude.Maybe AppInstanceRetentionSettings,+    -- | The timestamp representing the time at which the specified items are+    -- retained, in Epoch Seconds.+    initiateDeletionTimestamp :: Prelude.Maybe Data.POSIX,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAppInstanceRetentionSettingsResponse' 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:+--+-- 'appInstanceRetentionSettings', 'getAppInstanceRetentionSettingsResponse_appInstanceRetentionSettings' - The retention settings for the @AppInstance@.+--+-- 'initiateDeletionTimestamp', 'getAppInstanceRetentionSettingsResponse_initiateDeletionTimestamp' - The timestamp representing the time at which the specified items are+-- retained, in Epoch Seconds.+--+-- 'httpStatus', 'getAppInstanceRetentionSettingsResponse_httpStatus' - The response's http status code.+newGetAppInstanceRetentionSettingsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetAppInstanceRetentionSettingsResponse+newGetAppInstanceRetentionSettingsResponse+  pHttpStatus_ =+    GetAppInstanceRetentionSettingsResponse'+      { appInstanceRetentionSettings =+          Prelude.Nothing,+        initiateDeletionTimestamp =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The retention settings for the @AppInstance@.+getAppInstanceRetentionSettingsResponse_appInstanceRetentionSettings :: Lens.Lens' GetAppInstanceRetentionSettingsResponse (Prelude.Maybe AppInstanceRetentionSettings)+getAppInstanceRetentionSettingsResponse_appInstanceRetentionSettings = Lens.lens (\GetAppInstanceRetentionSettingsResponse' {appInstanceRetentionSettings} -> appInstanceRetentionSettings) (\s@GetAppInstanceRetentionSettingsResponse' {} a -> s {appInstanceRetentionSettings = a} :: GetAppInstanceRetentionSettingsResponse)++-- | The timestamp representing the time at which the specified items are+-- retained, in Epoch Seconds.+getAppInstanceRetentionSettingsResponse_initiateDeletionTimestamp :: Lens.Lens' GetAppInstanceRetentionSettingsResponse (Prelude.Maybe Prelude.UTCTime)+getAppInstanceRetentionSettingsResponse_initiateDeletionTimestamp = Lens.lens (\GetAppInstanceRetentionSettingsResponse' {initiateDeletionTimestamp} -> initiateDeletionTimestamp) (\s@GetAppInstanceRetentionSettingsResponse' {} a -> s {initiateDeletionTimestamp = a} :: GetAppInstanceRetentionSettingsResponse) Prelude.. Lens.mapping Data._Time++-- | The response's http status code.+getAppInstanceRetentionSettingsResponse_httpStatus :: Lens.Lens' GetAppInstanceRetentionSettingsResponse Prelude.Int+getAppInstanceRetentionSettingsResponse_httpStatus = Lens.lens (\GetAppInstanceRetentionSettingsResponse' {httpStatus} -> httpStatus) (\s@GetAppInstanceRetentionSettingsResponse' {} a -> s {httpStatus = a} :: GetAppInstanceRetentionSettingsResponse)++instance+  Prelude.NFData+    GetAppInstanceRetentionSettingsResponse+  where+  rnf GetAppInstanceRetentionSettingsResponse' {..} =+    Prelude.rnf appInstanceRetentionSettings+      `Prelude.seq` Prelude.rnf initiateDeletionTimestamp+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/GetAppInstanceStreamingConfigurations.hs view
@@ -0,0 +1,185 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Chime.GetAppInstanceStreamingConfigurations+-- 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 streaming settings for an @AppInstance@.+module Amazonka.Chime.GetAppInstanceStreamingConfigurations+  ( -- * Creating a Request+    GetAppInstanceStreamingConfigurations (..),+    newGetAppInstanceStreamingConfigurations,++    -- * Request Lenses+    getAppInstanceStreamingConfigurations_appInstanceArn,++    -- * Destructuring the Response+    GetAppInstanceStreamingConfigurationsResponse (..),+    newGetAppInstanceStreamingConfigurationsResponse,++    -- * Response Lenses+    getAppInstanceStreamingConfigurationsResponse_appInstanceStreamingConfigurations,+    getAppInstanceStreamingConfigurationsResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newGetAppInstanceStreamingConfigurations' smart constructor.+data GetAppInstanceStreamingConfigurations = GetAppInstanceStreamingConfigurations'+  { -- | The ARN of the @AppInstance@.+    appInstanceArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAppInstanceStreamingConfigurations' 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:+--+-- 'appInstanceArn', 'getAppInstanceStreamingConfigurations_appInstanceArn' - The ARN of the @AppInstance@.+newGetAppInstanceStreamingConfigurations ::+  -- | 'appInstanceArn'+  Prelude.Text ->+  GetAppInstanceStreamingConfigurations+newGetAppInstanceStreamingConfigurations+  pAppInstanceArn_ =+    GetAppInstanceStreamingConfigurations'+      { appInstanceArn =+          pAppInstanceArn_+      }++-- | The ARN of the @AppInstance@.+getAppInstanceStreamingConfigurations_appInstanceArn :: Lens.Lens' GetAppInstanceStreamingConfigurations Prelude.Text+getAppInstanceStreamingConfigurations_appInstanceArn = Lens.lens (\GetAppInstanceStreamingConfigurations' {appInstanceArn} -> appInstanceArn) (\s@GetAppInstanceStreamingConfigurations' {} a -> s {appInstanceArn = a} :: GetAppInstanceStreamingConfigurations)++instance+  Core.AWSRequest+    GetAppInstanceStreamingConfigurations+  where+  type+    AWSResponse+      GetAppInstanceStreamingConfigurations =+      GetAppInstanceStreamingConfigurationsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetAppInstanceStreamingConfigurationsResponse'+            Prelude.<$> (x Data..?> "AppInstanceStreamingConfigurations")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    GetAppInstanceStreamingConfigurations+  where+  hashWithSalt+    _salt+    GetAppInstanceStreamingConfigurations' {..} =+      _salt `Prelude.hashWithSalt` appInstanceArn++instance+  Prelude.NFData+    GetAppInstanceStreamingConfigurations+  where+  rnf GetAppInstanceStreamingConfigurations' {..} =+    Prelude.rnf appInstanceArn++instance+  Data.ToHeaders+    GetAppInstanceStreamingConfigurations+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToPath+    GetAppInstanceStreamingConfigurations+  where+  toPath GetAppInstanceStreamingConfigurations' {..} =+    Prelude.mconcat+      [ "/app-instances/",+        Data.toBS appInstanceArn,+        "/streaming-configurations"+      ]++instance+  Data.ToQuery+    GetAppInstanceStreamingConfigurations+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetAppInstanceStreamingConfigurationsResponse' smart constructor.+data GetAppInstanceStreamingConfigurationsResponse = GetAppInstanceStreamingConfigurationsResponse'+  { -- | The streaming settings.+    appInstanceStreamingConfigurations :: Prelude.Maybe (Prelude.NonEmpty AppInstanceStreamingConfiguration),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAppInstanceStreamingConfigurationsResponse' 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:+--+-- 'appInstanceStreamingConfigurations', 'getAppInstanceStreamingConfigurationsResponse_appInstanceStreamingConfigurations' - The streaming settings.+--+-- 'httpStatus', 'getAppInstanceStreamingConfigurationsResponse_httpStatus' - The response's http status code.+newGetAppInstanceStreamingConfigurationsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetAppInstanceStreamingConfigurationsResponse+newGetAppInstanceStreamingConfigurationsResponse+  pHttpStatus_ =+    GetAppInstanceStreamingConfigurationsResponse'+      { appInstanceStreamingConfigurations =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The streaming settings.+getAppInstanceStreamingConfigurationsResponse_appInstanceStreamingConfigurations :: Lens.Lens' GetAppInstanceStreamingConfigurationsResponse (Prelude.Maybe (Prelude.NonEmpty AppInstanceStreamingConfiguration))+getAppInstanceStreamingConfigurationsResponse_appInstanceStreamingConfigurations = Lens.lens (\GetAppInstanceStreamingConfigurationsResponse' {appInstanceStreamingConfigurations} -> appInstanceStreamingConfigurations) (\s@GetAppInstanceStreamingConfigurationsResponse' {} a -> s {appInstanceStreamingConfigurations = a} :: GetAppInstanceStreamingConfigurationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+getAppInstanceStreamingConfigurationsResponse_httpStatus :: Lens.Lens' GetAppInstanceStreamingConfigurationsResponse Prelude.Int+getAppInstanceStreamingConfigurationsResponse_httpStatus = Lens.lens (\GetAppInstanceStreamingConfigurationsResponse' {httpStatus} -> httpStatus) (\s@GetAppInstanceStreamingConfigurationsResponse' {} a -> s {httpStatus = a} :: GetAppInstanceStreamingConfigurationsResponse)++instance+  Prelude.NFData+    GetAppInstanceStreamingConfigurationsResponse+  where+  rnf+    GetAppInstanceStreamingConfigurationsResponse' {..} =+      Prelude.rnf appInstanceStreamingConfigurations+        `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/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.Chime.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.Chime.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.Chime.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/Chime/GetBot.hs view
@@ -0,0 +1,168 @@+{-# 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.Chime.GetBot+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves details for the specified bot, such as bot email address, bot+-- type, status, and display name.+module Amazonka.Chime.GetBot+  ( -- * Creating a Request+    GetBot (..),+    newGetBot,++    -- * Request Lenses+    getBot_accountId,+    getBot_botId,++    -- * Destructuring the Response+    GetBotResponse (..),+    newGetBotResponse,++    -- * Response Lenses+    getBotResponse_bot,+    getBotResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newGetBot' smart constructor.+data GetBot = GetBot'+  { -- | The Amazon Chime account ID.+    accountId :: Prelude.Text,+    -- | The bot ID.+    botId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBot' 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:+--+-- 'accountId', 'getBot_accountId' - The Amazon Chime account ID.+--+-- 'botId', 'getBot_botId' - The bot ID.+newGetBot ::+  -- | 'accountId'+  Prelude.Text ->+  -- | 'botId'+  Prelude.Text ->+  GetBot+newGetBot pAccountId_ pBotId_ =+  GetBot' {accountId = pAccountId_, botId = pBotId_}++-- | The Amazon Chime account ID.+getBot_accountId :: Lens.Lens' GetBot Prelude.Text+getBot_accountId = Lens.lens (\GetBot' {accountId} -> accountId) (\s@GetBot' {} a -> s {accountId = a} :: GetBot)++-- | The bot ID.+getBot_botId :: Lens.Lens' GetBot Prelude.Text+getBot_botId = Lens.lens (\GetBot' {botId} -> botId) (\s@GetBot' {} a -> s {botId = a} :: GetBot)++instance Core.AWSRequest GetBot where+  type AWSResponse GetBot = GetBotResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetBotResponse'+            Prelude.<$> (x Data..?> "Bot")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetBot where+  hashWithSalt _salt GetBot' {..} =+    _salt+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` botId++instance Prelude.NFData GetBot where+  rnf GetBot' {..} =+    Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf botId++instance Data.ToHeaders GetBot where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath GetBot where+  toPath GetBot' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS accountId,+        "/bots/",+        Data.toBS botId+      ]++instance Data.ToQuery GetBot where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetBotResponse' smart constructor.+data GetBotResponse = GetBotResponse'+  { -- | The chat bot details.+    bot :: Prelude.Maybe Bot,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBotResponse' 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:+--+-- 'bot', 'getBotResponse_bot' - The chat bot details.+--+-- 'httpStatus', 'getBotResponse_httpStatus' - The response's http status code.+newGetBotResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetBotResponse+newGetBotResponse pHttpStatus_ =+  GetBotResponse'+    { bot = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The chat bot details.+getBotResponse_bot :: Lens.Lens' GetBotResponse (Prelude.Maybe Bot)+getBotResponse_bot = Lens.lens (\GetBotResponse' {bot} -> bot) (\s@GetBotResponse' {} a -> s {bot = a} :: GetBotResponse)++-- | The response's http status code.+getBotResponse_httpStatus :: Lens.Lens' GetBotResponse Prelude.Int+getBotResponse_httpStatus = Lens.lens (\GetBotResponse' {httpStatus} -> httpStatus) (\s@GetBotResponse' {} a -> s {httpStatus = a} :: GetBotResponse)++instance Prelude.NFData GetBotResponse where+  rnf GetBotResponse' {..} =+    Prelude.rnf bot+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/GetChannelMessage.hs view
@@ -0,0 +1,191 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Chime.GetChannelMessage+-- 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 full details of a channel message.+--+-- The x-amz-chime-bearer request header is mandatory. Use the+-- @AppInstanceUserArn@ of the user that makes the API call as the value in+-- the header.+module Amazonka.Chime.GetChannelMessage+  ( -- * Creating a Request+    GetChannelMessage (..),+    newGetChannelMessage,++    -- * Request Lenses+    getChannelMessage_chimeBearer,+    getChannelMessage_channelArn,+    getChannelMessage_messageId,++    -- * Destructuring the Response+    GetChannelMessageResponse (..),+    newGetChannelMessageResponse,++    -- * Response Lenses+    getChannelMessageResponse_channelMessage,+    getChannelMessageResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newGetChannelMessage' smart constructor.+data GetChannelMessage = GetChannelMessage'+  { -- | The @AppInstanceUserArn@ of the user that makes the API call.+    chimeBearer :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the channel.+    channelArn :: Prelude.Text,+    -- | The ID of the message.+    messageId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetChannelMessage' 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:+--+-- 'chimeBearer', 'getChannelMessage_chimeBearer' - The @AppInstanceUserArn@ of the user that makes the API call.+--+-- 'channelArn', 'getChannelMessage_channelArn' - The ARN of the channel.+--+-- 'messageId', 'getChannelMessage_messageId' - The ID of the message.+newGetChannelMessage ::+  -- | 'channelArn'+  Prelude.Text ->+  -- | 'messageId'+  Prelude.Text ->+  GetChannelMessage+newGetChannelMessage pChannelArn_ pMessageId_ =+  GetChannelMessage'+    { chimeBearer = Prelude.Nothing,+      channelArn = pChannelArn_,+      messageId = pMessageId_+    }++-- | The @AppInstanceUserArn@ of the user that makes the API call.+getChannelMessage_chimeBearer :: Lens.Lens' GetChannelMessage (Prelude.Maybe Prelude.Text)+getChannelMessage_chimeBearer = Lens.lens (\GetChannelMessage' {chimeBearer} -> chimeBearer) (\s@GetChannelMessage' {} a -> s {chimeBearer = a} :: GetChannelMessage)++-- | The ARN of the channel.+getChannelMessage_channelArn :: Lens.Lens' GetChannelMessage Prelude.Text+getChannelMessage_channelArn = Lens.lens (\GetChannelMessage' {channelArn} -> channelArn) (\s@GetChannelMessage' {} a -> s {channelArn = a} :: GetChannelMessage)++-- | The ID of the message.+getChannelMessage_messageId :: Lens.Lens' GetChannelMessage Prelude.Text+getChannelMessage_messageId = Lens.lens (\GetChannelMessage' {messageId} -> messageId) (\s@GetChannelMessage' {} a -> s {messageId = a} :: GetChannelMessage)++instance Core.AWSRequest GetChannelMessage where+  type+    AWSResponse GetChannelMessage =+      GetChannelMessageResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetChannelMessageResponse'+            Prelude.<$> (x Data..?> "ChannelMessage")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetChannelMessage where+  hashWithSalt _salt GetChannelMessage' {..} =+    _salt+      `Prelude.hashWithSalt` chimeBearer+      `Prelude.hashWithSalt` channelArn+      `Prelude.hashWithSalt` messageId++instance Prelude.NFData GetChannelMessage where+  rnf GetChannelMessage' {..} =+    Prelude.rnf chimeBearer+      `Prelude.seq` Prelude.rnf channelArn+      `Prelude.seq` Prelude.rnf messageId++instance Data.ToHeaders GetChannelMessage where+  toHeaders GetChannelMessage' {..} =+    Prelude.mconcat+      ["x-amz-chime-bearer" Data.=# chimeBearer]++instance Data.ToPath GetChannelMessage where+  toPath GetChannelMessage' {..} =+    Prelude.mconcat+      [ "/channels/",+        Data.toBS channelArn,+        "/messages/",+        Data.toBS messageId+      ]++instance Data.ToQuery GetChannelMessage where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetChannelMessageResponse' smart constructor.+data GetChannelMessageResponse = GetChannelMessageResponse'+  { -- | The details of and content in the message.+    channelMessage :: Prelude.Maybe ChannelMessage,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetChannelMessageResponse' 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:+--+-- 'channelMessage', 'getChannelMessageResponse_channelMessage' - The details of and content in the message.+--+-- 'httpStatus', 'getChannelMessageResponse_httpStatus' - The response's http status code.+newGetChannelMessageResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetChannelMessageResponse+newGetChannelMessageResponse pHttpStatus_ =+  GetChannelMessageResponse'+    { channelMessage =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The details of and content in the message.+getChannelMessageResponse_channelMessage :: Lens.Lens' GetChannelMessageResponse (Prelude.Maybe ChannelMessage)+getChannelMessageResponse_channelMessage = Lens.lens (\GetChannelMessageResponse' {channelMessage} -> channelMessage) (\s@GetChannelMessageResponse' {} a -> s {channelMessage = a} :: GetChannelMessageResponse)++-- | The response's http status code.+getChannelMessageResponse_httpStatus :: Lens.Lens' GetChannelMessageResponse Prelude.Int+getChannelMessageResponse_httpStatus = Lens.lens (\GetChannelMessageResponse' {httpStatus} -> httpStatus) (\s@GetChannelMessageResponse' {} a -> s {httpStatus = a} :: GetChannelMessageResponse)++instance Prelude.NFData GetChannelMessageResponse where+  rnf GetChannelMessageResponse' {..} =+    Prelude.rnf channelMessage+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/GetEventsConfiguration.hs view
@@ -0,0 +1,178 @@+{-# 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.Chime.GetEventsConfiguration+-- 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 details for an events configuration that allows a bot to receive+-- outgoing events, such as an HTTPS endpoint or Lambda function ARN.+module Amazonka.Chime.GetEventsConfiguration+  ( -- * Creating a Request+    GetEventsConfiguration (..),+    newGetEventsConfiguration,++    -- * Request Lenses+    getEventsConfiguration_accountId,+    getEventsConfiguration_botId,++    -- * Destructuring the Response+    GetEventsConfigurationResponse (..),+    newGetEventsConfigurationResponse,++    -- * Response Lenses+    getEventsConfigurationResponse_eventsConfiguration,+    getEventsConfigurationResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newGetEventsConfiguration' smart constructor.+data GetEventsConfiguration = GetEventsConfiguration'+  { -- | The Amazon Chime account ID.+    accountId :: Prelude.Text,+    -- | The bot ID.+    botId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetEventsConfiguration' 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:+--+-- 'accountId', 'getEventsConfiguration_accountId' - The Amazon Chime account ID.+--+-- 'botId', 'getEventsConfiguration_botId' - The bot ID.+newGetEventsConfiguration ::+  -- | 'accountId'+  Prelude.Text ->+  -- | 'botId'+  Prelude.Text ->+  GetEventsConfiguration+newGetEventsConfiguration pAccountId_ pBotId_ =+  GetEventsConfiguration'+    { accountId = pAccountId_,+      botId = pBotId_+    }++-- | The Amazon Chime account ID.+getEventsConfiguration_accountId :: Lens.Lens' GetEventsConfiguration Prelude.Text+getEventsConfiguration_accountId = Lens.lens (\GetEventsConfiguration' {accountId} -> accountId) (\s@GetEventsConfiguration' {} a -> s {accountId = a} :: GetEventsConfiguration)++-- | The bot ID.+getEventsConfiguration_botId :: Lens.Lens' GetEventsConfiguration Prelude.Text+getEventsConfiguration_botId = Lens.lens (\GetEventsConfiguration' {botId} -> botId) (\s@GetEventsConfiguration' {} a -> s {botId = a} :: GetEventsConfiguration)++instance Core.AWSRequest GetEventsConfiguration where+  type+    AWSResponse GetEventsConfiguration =+      GetEventsConfigurationResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetEventsConfigurationResponse'+            Prelude.<$> (x Data..?> "EventsConfiguration")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetEventsConfiguration where+  hashWithSalt _salt GetEventsConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` botId++instance Prelude.NFData GetEventsConfiguration where+  rnf GetEventsConfiguration' {..} =+    Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf botId++instance Data.ToHeaders GetEventsConfiguration where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath GetEventsConfiguration where+  toPath GetEventsConfiguration' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS accountId,+        "/bots/",+        Data.toBS botId,+        "/events-configuration"+      ]++instance Data.ToQuery GetEventsConfiguration where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetEventsConfigurationResponse' smart constructor.+data GetEventsConfigurationResponse = GetEventsConfigurationResponse'+  { -- | The events configuration details.+    eventsConfiguration :: Prelude.Maybe EventsConfiguration,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetEventsConfigurationResponse' 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:+--+-- 'eventsConfiguration', 'getEventsConfigurationResponse_eventsConfiguration' - The events configuration details.+--+-- 'httpStatus', 'getEventsConfigurationResponse_httpStatus' - The response's http status code.+newGetEventsConfigurationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetEventsConfigurationResponse+newGetEventsConfigurationResponse pHttpStatus_ =+  GetEventsConfigurationResponse'+    { eventsConfiguration =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The events configuration details.+getEventsConfigurationResponse_eventsConfiguration :: Lens.Lens' GetEventsConfigurationResponse (Prelude.Maybe EventsConfiguration)+getEventsConfigurationResponse_eventsConfiguration = Lens.lens (\GetEventsConfigurationResponse' {eventsConfiguration} -> eventsConfiguration) (\s@GetEventsConfigurationResponse' {} a -> s {eventsConfiguration = a} :: GetEventsConfigurationResponse)++-- | The response's http status code.+getEventsConfigurationResponse_httpStatus :: Lens.Lens' GetEventsConfigurationResponse Prelude.Int+getEventsConfigurationResponse_httpStatus = Lens.lens (\GetEventsConfigurationResponse' {httpStatus} -> httpStatus) (\s@GetEventsConfigurationResponse' {} a -> s {httpStatus = a} :: GetEventsConfigurationResponse)++instance+  Prelude.NFData+    GetEventsConfigurationResponse+  where+  rnf GetEventsConfigurationResponse' {..} =+    Prelude.rnf eventsConfiguration+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/GetGlobalSettings.hs view
@@ -0,0 +1,146 @@+{-# 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.Chime.GetGlobalSettings+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves global settings for the administrator\'s AWS account, such as+-- Amazon Chime Business Calling and Amazon Chime Voice Connector settings.+module Amazonka.Chime.GetGlobalSettings+  ( -- * Creating a Request+    GetGlobalSettings (..),+    newGetGlobalSettings,++    -- * Destructuring the Response+    GetGlobalSettingsResponse (..),+    newGetGlobalSettingsResponse,++    -- * Response Lenses+    getGlobalSettingsResponse_businessCalling,+    getGlobalSettingsResponse_voiceConnector,+    getGlobalSettingsResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newGetGlobalSettings' smart constructor.+data GetGlobalSettings = GetGlobalSettings'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetGlobalSettings' 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.+newGetGlobalSettings ::+  GetGlobalSettings+newGetGlobalSettings = GetGlobalSettings'++instance Core.AWSRequest GetGlobalSettings where+  type+    AWSResponse GetGlobalSettings =+      GetGlobalSettingsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetGlobalSettingsResponse'+            Prelude.<$> (x Data..?> "BusinessCalling")+            Prelude.<*> (x Data..?> "VoiceConnector")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetGlobalSettings where+  hashWithSalt _salt _ =+    _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData GetGlobalSettings where+  rnf _ = ()++instance Data.ToHeaders GetGlobalSettings where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath GetGlobalSettings where+  toPath = Prelude.const "/settings"++instance Data.ToQuery GetGlobalSettings where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetGlobalSettingsResponse' smart constructor.+data GetGlobalSettingsResponse = GetGlobalSettingsResponse'+  { -- | The Amazon Chime Business Calling settings.+    businessCalling :: Prelude.Maybe BusinessCallingSettings,+    -- | The Amazon Chime Voice Connector settings.+    voiceConnector :: Prelude.Maybe VoiceConnectorSettings,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetGlobalSettingsResponse' 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:+--+-- 'businessCalling', 'getGlobalSettingsResponse_businessCalling' - The Amazon Chime Business Calling settings.+--+-- 'voiceConnector', 'getGlobalSettingsResponse_voiceConnector' - The Amazon Chime Voice Connector settings.+--+-- 'httpStatus', 'getGlobalSettingsResponse_httpStatus' - The response's http status code.+newGetGlobalSettingsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetGlobalSettingsResponse+newGetGlobalSettingsResponse pHttpStatus_ =+  GetGlobalSettingsResponse'+    { businessCalling =+        Prelude.Nothing,+      voiceConnector = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Chime Business Calling settings.+getGlobalSettingsResponse_businessCalling :: Lens.Lens' GetGlobalSettingsResponse (Prelude.Maybe BusinessCallingSettings)+getGlobalSettingsResponse_businessCalling = Lens.lens (\GetGlobalSettingsResponse' {businessCalling} -> businessCalling) (\s@GetGlobalSettingsResponse' {} a -> s {businessCalling = a} :: GetGlobalSettingsResponse)++-- | The Amazon Chime Voice Connector settings.+getGlobalSettingsResponse_voiceConnector :: Lens.Lens' GetGlobalSettingsResponse (Prelude.Maybe VoiceConnectorSettings)+getGlobalSettingsResponse_voiceConnector = Lens.lens (\GetGlobalSettingsResponse' {voiceConnector} -> voiceConnector) (\s@GetGlobalSettingsResponse' {} a -> s {voiceConnector = a} :: GetGlobalSettingsResponse)++-- | The response's http status code.+getGlobalSettingsResponse_httpStatus :: Lens.Lens' GetGlobalSettingsResponse Prelude.Int+getGlobalSettingsResponse_httpStatus = Lens.lens (\GetGlobalSettingsResponse' {httpStatus} -> httpStatus) (\s@GetGlobalSettingsResponse' {} a -> s {httpStatus = a} :: GetGlobalSettingsResponse)++instance Prelude.NFData GetGlobalSettingsResponse where+  rnf GetGlobalSettingsResponse' {..} =+    Prelude.rnf businessCalling+      `Prelude.seq` Prelude.rnf voiceConnector+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/GetMediaCapturePipeline.hs view
@@ -0,0 +1,160 @@+{-# 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.Chime.GetMediaCapturePipeline+-- 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 an existing media capture pipeline.+module Amazonka.Chime.GetMediaCapturePipeline+  ( -- * Creating a Request+    GetMediaCapturePipeline (..),+    newGetMediaCapturePipeline,++    -- * Request Lenses+    getMediaCapturePipeline_mediaPipelineId,++    -- * Destructuring the Response+    GetMediaCapturePipelineResponse (..),+    newGetMediaCapturePipelineResponse,++    -- * Response Lenses+    getMediaCapturePipelineResponse_mediaCapturePipeline,+    getMediaCapturePipelineResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newGetMediaCapturePipeline' smart constructor.+data GetMediaCapturePipeline = GetMediaCapturePipeline'+  { -- | The ID of the pipeline that you want to get.+    mediaPipelineId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetMediaCapturePipeline' 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:+--+-- 'mediaPipelineId', 'getMediaCapturePipeline_mediaPipelineId' - The ID of the pipeline that you want to get.+newGetMediaCapturePipeline ::+  -- | 'mediaPipelineId'+  Prelude.Text ->+  GetMediaCapturePipeline+newGetMediaCapturePipeline pMediaPipelineId_ =+  GetMediaCapturePipeline'+    { mediaPipelineId =+        pMediaPipelineId_+    }++-- | The ID of the pipeline that you want to get.+getMediaCapturePipeline_mediaPipelineId :: Lens.Lens' GetMediaCapturePipeline Prelude.Text+getMediaCapturePipeline_mediaPipelineId = Lens.lens (\GetMediaCapturePipeline' {mediaPipelineId} -> mediaPipelineId) (\s@GetMediaCapturePipeline' {} a -> s {mediaPipelineId = a} :: GetMediaCapturePipeline)++instance Core.AWSRequest GetMediaCapturePipeline where+  type+    AWSResponse GetMediaCapturePipeline =+      GetMediaCapturePipelineResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetMediaCapturePipelineResponse'+            Prelude.<$> (x Data..?> "MediaCapturePipeline")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetMediaCapturePipeline where+  hashWithSalt _salt GetMediaCapturePipeline' {..} =+    _salt `Prelude.hashWithSalt` mediaPipelineId++instance Prelude.NFData GetMediaCapturePipeline where+  rnf GetMediaCapturePipeline' {..} =+    Prelude.rnf mediaPipelineId++instance Data.ToHeaders GetMediaCapturePipeline where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath GetMediaCapturePipeline where+  toPath GetMediaCapturePipeline' {..} =+    Prelude.mconcat+      [ "/media-capture-pipelines/",+        Data.toBS mediaPipelineId+      ]++instance Data.ToQuery GetMediaCapturePipeline where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetMediaCapturePipelineResponse' smart constructor.+data GetMediaCapturePipelineResponse = GetMediaCapturePipelineResponse'+  { -- | The media capture pipeline object.+    mediaCapturePipeline :: Prelude.Maybe MediaCapturePipeline,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetMediaCapturePipelineResponse' 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:+--+-- 'mediaCapturePipeline', 'getMediaCapturePipelineResponse_mediaCapturePipeline' - The media capture pipeline object.+--+-- 'httpStatus', 'getMediaCapturePipelineResponse_httpStatus' - The response's http status code.+newGetMediaCapturePipelineResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetMediaCapturePipelineResponse+newGetMediaCapturePipelineResponse pHttpStatus_ =+  GetMediaCapturePipelineResponse'+    { mediaCapturePipeline =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The media capture pipeline object.+getMediaCapturePipelineResponse_mediaCapturePipeline :: Lens.Lens' GetMediaCapturePipelineResponse (Prelude.Maybe MediaCapturePipeline)+getMediaCapturePipelineResponse_mediaCapturePipeline = Lens.lens (\GetMediaCapturePipelineResponse' {mediaCapturePipeline} -> mediaCapturePipeline) (\s@GetMediaCapturePipelineResponse' {} a -> s {mediaCapturePipeline = a} :: GetMediaCapturePipelineResponse)++-- | The response's http status code.+getMediaCapturePipelineResponse_httpStatus :: Lens.Lens' GetMediaCapturePipelineResponse Prelude.Int+getMediaCapturePipelineResponse_httpStatus = Lens.lens (\GetMediaCapturePipelineResponse' {httpStatus} -> httpStatus) (\s@GetMediaCapturePipelineResponse' {} a -> s {httpStatus = a} :: GetMediaCapturePipelineResponse)++instance+  Prelude.NFData+    GetMediaCapturePipelineResponse+  where+  rnf GetMediaCapturePipelineResponse' {..} =+    Prelude.rnf mediaCapturePipeline+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/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.Chime.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.Chime.GetMeeting+  ( -- * Creating a Request+    GetMeeting (..),+    newGetMeeting,++    -- * Request Lenses+    getMeeting_meetingId,++    -- * Destructuring the Response+    GetMeetingResponse (..),+    newGetMeetingResponse,++    -- * Response Lenses+    getMeetingResponse_meeting,+    getMeetingResponse_httpStatus,+  )+where++import Amazonka.Chime.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/Chime/GetMessagingSessionEndpoint.hs view
@@ -0,0 +1,137 @@+{-# 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.Chime.GetMessagingSessionEndpoint+-- 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 details of the endpoint for the messaging session.+module Amazonka.Chime.GetMessagingSessionEndpoint+  ( -- * Creating a Request+    GetMessagingSessionEndpoint (..),+    newGetMessagingSessionEndpoint,++    -- * Destructuring the Response+    GetMessagingSessionEndpointResponse (..),+    newGetMessagingSessionEndpointResponse,++    -- * Response Lenses+    getMessagingSessionEndpointResponse_endpoint,+    getMessagingSessionEndpointResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newGetMessagingSessionEndpoint' smart constructor.+data GetMessagingSessionEndpoint = GetMessagingSessionEndpoint'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetMessagingSessionEndpoint' 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.+newGetMessagingSessionEndpoint ::+  GetMessagingSessionEndpoint+newGetMessagingSessionEndpoint =+  GetMessagingSessionEndpoint'++instance Core.AWSRequest GetMessagingSessionEndpoint where+  type+    AWSResponse GetMessagingSessionEndpoint =+      GetMessagingSessionEndpointResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetMessagingSessionEndpointResponse'+            Prelude.<$> (x Data..?> "Endpoint")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetMessagingSessionEndpoint where+  hashWithSalt _salt _ =+    _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData GetMessagingSessionEndpoint where+  rnf _ = ()++instance Data.ToHeaders GetMessagingSessionEndpoint where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath GetMessagingSessionEndpoint where+  toPath = Prelude.const "/endpoints/messaging-session"++instance Data.ToQuery GetMessagingSessionEndpoint where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetMessagingSessionEndpointResponse' smart constructor.+data GetMessagingSessionEndpointResponse = GetMessagingSessionEndpointResponse'+  { -- | The endpoint returned in the response.+    endpoint :: Prelude.Maybe MessagingSessionEndpoint,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetMessagingSessionEndpointResponse' 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:+--+-- 'endpoint', 'getMessagingSessionEndpointResponse_endpoint' - The endpoint returned in the response.+--+-- 'httpStatus', 'getMessagingSessionEndpointResponse_httpStatus' - The response's http status code.+newGetMessagingSessionEndpointResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetMessagingSessionEndpointResponse+newGetMessagingSessionEndpointResponse pHttpStatus_ =+  GetMessagingSessionEndpointResponse'+    { endpoint =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The endpoint returned in the response.+getMessagingSessionEndpointResponse_endpoint :: Lens.Lens' GetMessagingSessionEndpointResponse (Prelude.Maybe MessagingSessionEndpoint)+getMessagingSessionEndpointResponse_endpoint = Lens.lens (\GetMessagingSessionEndpointResponse' {endpoint} -> endpoint) (\s@GetMessagingSessionEndpointResponse' {} a -> s {endpoint = a} :: GetMessagingSessionEndpointResponse)++-- | The response's http status code.+getMessagingSessionEndpointResponse_httpStatus :: Lens.Lens' GetMessagingSessionEndpointResponse Prelude.Int+getMessagingSessionEndpointResponse_httpStatus = Lens.lens (\GetMessagingSessionEndpointResponse' {httpStatus} -> httpStatus) (\s@GetMessagingSessionEndpointResponse' {} a -> s {httpStatus = a} :: GetMessagingSessionEndpointResponse)++instance+  Prelude.NFData+    GetMessagingSessionEndpointResponse+  where+  rnf GetMessagingSessionEndpointResponse' {..} =+    Prelude.rnf endpoint+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/GetPhoneNumber.hs view
@@ -0,0 +1,152 @@+{-# 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.Chime.GetPhoneNumber+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves details for the specified phone number ID, such as+-- associations, capabilities, and product type.+module Amazonka.Chime.GetPhoneNumber+  ( -- * Creating a Request+    GetPhoneNumber (..),+    newGetPhoneNumber,++    -- * Request Lenses+    getPhoneNumber_phoneNumberId,++    -- * Destructuring the Response+    GetPhoneNumberResponse (..),+    newGetPhoneNumberResponse,++    -- * Response Lenses+    getPhoneNumberResponse_phoneNumber,+    getPhoneNumberResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newGetPhoneNumber' smart constructor.+data GetPhoneNumber = GetPhoneNumber'+  { -- | The phone number ID.+    phoneNumberId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetPhoneNumber' 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:+--+-- 'phoneNumberId', 'getPhoneNumber_phoneNumberId' - The phone number ID.+newGetPhoneNumber ::+  -- | 'phoneNumberId'+  Prelude.Text ->+  GetPhoneNumber+newGetPhoneNumber pPhoneNumberId_ =+  GetPhoneNumber' {phoneNumberId = pPhoneNumberId_}++-- | The phone number ID.+getPhoneNumber_phoneNumberId :: Lens.Lens' GetPhoneNumber Prelude.Text+getPhoneNumber_phoneNumberId = Lens.lens (\GetPhoneNumber' {phoneNumberId} -> phoneNumberId) (\s@GetPhoneNumber' {} a -> s {phoneNumberId = a} :: GetPhoneNumber)++instance Core.AWSRequest GetPhoneNumber where+  type+    AWSResponse GetPhoneNumber =+      GetPhoneNumberResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetPhoneNumberResponse'+            Prelude.<$> (x Data..?> "PhoneNumber")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetPhoneNumber where+  hashWithSalt _salt GetPhoneNumber' {..} =+    _salt `Prelude.hashWithSalt` phoneNumberId++instance Prelude.NFData GetPhoneNumber where+  rnf GetPhoneNumber' {..} = Prelude.rnf phoneNumberId++instance Data.ToHeaders GetPhoneNumber where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath GetPhoneNumber where+  toPath GetPhoneNumber' {..} =+    Prelude.mconcat+      ["/phone-numbers/", Data.toBS phoneNumberId]++instance Data.ToQuery GetPhoneNumber where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetPhoneNumberResponse' smart constructor.+data GetPhoneNumberResponse = GetPhoneNumberResponse'+  { -- | The phone number details.+    phoneNumber :: Prelude.Maybe PhoneNumber,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetPhoneNumberResponse' 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:+--+-- 'phoneNumber', 'getPhoneNumberResponse_phoneNumber' - The phone number details.+--+-- 'httpStatus', 'getPhoneNumberResponse_httpStatus' - The response's http status code.+newGetPhoneNumberResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetPhoneNumberResponse+newGetPhoneNumberResponse pHttpStatus_ =+  GetPhoneNumberResponse'+    { phoneNumber =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The phone number details.+getPhoneNumberResponse_phoneNumber :: Lens.Lens' GetPhoneNumberResponse (Prelude.Maybe PhoneNumber)+getPhoneNumberResponse_phoneNumber = Lens.lens (\GetPhoneNumberResponse' {phoneNumber} -> phoneNumber) (\s@GetPhoneNumberResponse' {} a -> s {phoneNumber = a} :: GetPhoneNumberResponse)++-- | The response's http status code.+getPhoneNumberResponse_httpStatus :: Lens.Lens' GetPhoneNumberResponse Prelude.Int+getPhoneNumberResponse_httpStatus = Lens.lens (\GetPhoneNumberResponse' {httpStatus} -> httpStatus) (\s@GetPhoneNumberResponse' {} a -> s {httpStatus = a} :: GetPhoneNumberResponse)++instance Prelude.NFData GetPhoneNumberResponse where+  rnf GetPhoneNumberResponse' {..} =+    Prelude.rnf phoneNumber+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/GetPhoneNumberOrder.hs view
@@ -0,0 +1,159 @@+{-# 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.Chime.GetPhoneNumberOrder+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves details for the specified phone number order, such as the+-- order creation timestamp, phone numbers in E.164 format, product type,+-- and order status.+module Amazonka.Chime.GetPhoneNumberOrder+  ( -- * Creating a Request+    GetPhoneNumberOrder (..),+    newGetPhoneNumberOrder,++    -- * Request Lenses+    getPhoneNumberOrder_phoneNumberOrderId,++    -- * Destructuring the Response+    GetPhoneNumberOrderResponse (..),+    newGetPhoneNumberOrderResponse,++    -- * Response Lenses+    getPhoneNumberOrderResponse_phoneNumberOrder,+    getPhoneNumberOrderResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newGetPhoneNumberOrder' smart constructor.+data GetPhoneNumberOrder = GetPhoneNumberOrder'+  { -- | The ID for the phone number order.+    phoneNumberOrderId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetPhoneNumberOrder' 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:+--+-- 'phoneNumberOrderId', 'getPhoneNumberOrder_phoneNumberOrderId' - The ID for the phone number order.+newGetPhoneNumberOrder ::+  -- | 'phoneNumberOrderId'+  Prelude.Text ->+  GetPhoneNumberOrder+newGetPhoneNumberOrder pPhoneNumberOrderId_ =+  GetPhoneNumberOrder'+    { phoneNumberOrderId =+        pPhoneNumberOrderId_+    }++-- | The ID for the phone number order.+getPhoneNumberOrder_phoneNumberOrderId :: Lens.Lens' GetPhoneNumberOrder Prelude.Text+getPhoneNumberOrder_phoneNumberOrderId = Lens.lens (\GetPhoneNumberOrder' {phoneNumberOrderId} -> phoneNumberOrderId) (\s@GetPhoneNumberOrder' {} a -> s {phoneNumberOrderId = a} :: GetPhoneNumberOrder)++instance Core.AWSRequest GetPhoneNumberOrder where+  type+    AWSResponse GetPhoneNumberOrder =+      GetPhoneNumberOrderResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetPhoneNumberOrderResponse'+            Prelude.<$> (x Data..?> "PhoneNumberOrder")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetPhoneNumberOrder where+  hashWithSalt _salt GetPhoneNumberOrder' {..} =+    _salt `Prelude.hashWithSalt` phoneNumberOrderId++instance Prelude.NFData GetPhoneNumberOrder where+  rnf GetPhoneNumberOrder' {..} =+    Prelude.rnf phoneNumberOrderId++instance Data.ToHeaders GetPhoneNumberOrder where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath GetPhoneNumberOrder where+  toPath GetPhoneNumberOrder' {..} =+    Prelude.mconcat+      [ "/phone-number-orders/",+        Data.toBS phoneNumberOrderId+      ]++instance Data.ToQuery GetPhoneNumberOrder where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetPhoneNumberOrderResponse' smart constructor.+data GetPhoneNumberOrderResponse = GetPhoneNumberOrderResponse'+  { -- | The phone number order details.+    phoneNumberOrder :: Prelude.Maybe PhoneNumberOrder,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetPhoneNumberOrderResponse' 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:+--+-- 'phoneNumberOrder', 'getPhoneNumberOrderResponse_phoneNumberOrder' - The phone number order details.+--+-- 'httpStatus', 'getPhoneNumberOrderResponse_httpStatus' - The response's http status code.+newGetPhoneNumberOrderResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetPhoneNumberOrderResponse+newGetPhoneNumberOrderResponse pHttpStatus_ =+  GetPhoneNumberOrderResponse'+    { phoneNumberOrder =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The phone number order details.+getPhoneNumberOrderResponse_phoneNumberOrder :: Lens.Lens' GetPhoneNumberOrderResponse (Prelude.Maybe PhoneNumberOrder)+getPhoneNumberOrderResponse_phoneNumberOrder = Lens.lens (\GetPhoneNumberOrderResponse' {phoneNumberOrder} -> phoneNumberOrder) (\s@GetPhoneNumberOrderResponse' {} a -> s {phoneNumberOrder = a} :: GetPhoneNumberOrderResponse)++-- | The response's http status code.+getPhoneNumberOrderResponse_httpStatus :: Lens.Lens' GetPhoneNumberOrderResponse Prelude.Int+getPhoneNumberOrderResponse_httpStatus = Lens.lens (\GetPhoneNumberOrderResponse' {httpStatus} -> httpStatus) (\s@GetPhoneNumberOrderResponse' {} a -> s {httpStatus = a} :: GetPhoneNumberOrderResponse)++instance Prelude.NFData GetPhoneNumberOrderResponse where+  rnf GetPhoneNumberOrderResponse' {..} =+    Prelude.rnf phoneNumberOrder+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/GetPhoneNumberSettings.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.Chime.GetPhoneNumberSettings+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the phone number settings for the administrator\'s AWS+-- account, such as the default outbound calling name.+module Amazonka.Chime.GetPhoneNumberSettings+  ( -- * Creating a Request+    GetPhoneNumberSettings (..),+    newGetPhoneNumberSettings,++    -- * Destructuring the Response+    GetPhoneNumberSettingsResponse (..),+    newGetPhoneNumberSettingsResponse,++    -- * Response Lenses+    getPhoneNumberSettingsResponse_callingName,+    getPhoneNumberSettingsResponse_callingNameUpdatedTimestamp,+    getPhoneNumberSettingsResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newGetPhoneNumberSettings' smart constructor.+data GetPhoneNumberSettings = GetPhoneNumberSettings'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetPhoneNumberSettings' 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.+newGetPhoneNumberSettings ::+  GetPhoneNumberSettings+newGetPhoneNumberSettings = GetPhoneNumberSettings'++instance Core.AWSRequest GetPhoneNumberSettings where+  type+    AWSResponse GetPhoneNumberSettings =+      GetPhoneNumberSettingsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetPhoneNumberSettingsResponse'+            Prelude.<$> (x Data..?> "CallingName")+            Prelude.<*> (x Data..?> "CallingNameUpdatedTimestamp")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetPhoneNumberSettings where+  hashWithSalt _salt _ =+    _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData GetPhoneNumberSettings where+  rnf _ = ()++instance Data.ToHeaders GetPhoneNumberSettings where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath GetPhoneNumberSettings where+  toPath = Prelude.const "/settings/phone-number"++instance Data.ToQuery GetPhoneNumberSettings where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetPhoneNumberSettingsResponse' smart constructor.+data GetPhoneNumberSettingsResponse = GetPhoneNumberSettingsResponse'+  { -- | The default outbound calling name for the account.+    callingName :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The updated outbound calling name timestamp, in ISO 8601 format.+    callingNameUpdatedTimestamp :: Prelude.Maybe Data.ISO8601,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetPhoneNumberSettingsResponse' 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:+--+-- 'callingName', 'getPhoneNumberSettingsResponse_callingName' - The default outbound calling name for the account.+--+-- 'callingNameUpdatedTimestamp', 'getPhoneNumberSettingsResponse_callingNameUpdatedTimestamp' - The updated outbound calling name timestamp, in ISO 8601 format.+--+-- 'httpStatus', 'getPhoneNumberSettingsResponse_httpStatus' - The response's http status code.+newGetPhoneNumberSettingsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetPhoneNumberSettingsResponse+newGetPhoneNumberSettingsResponse pHttpStatus_ =+  GetPhoneNumberSettingsResponse'+    { callingName =+        Prelude.Nothing,+      callingNameUpdatedTimestamp =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The default outbound calling name for the account.+getPhoneNumberSettingsResponse_callingName :: Lens.Lens' GetPhoneNumberSettingsResponse (Prelude.Maybe Prelude.Text)+getPhoneNumberSettingsResponse_callingName = Lens.lens (\GetPhoneNumberSettingsResponse' {callingName} -> callingName) (\s@GetPhoneNumberSettingsResponse' {} a -> s {callingName = a} :: GetPhoneNumberSettingsResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The updated outbound calling name timestamp, in ISO 8601 format.+getPhoneNumberSettingsResponse_callingNameUpdatedTimestamp :: Lens.Lens' GetPhoneNumberSettingsResponse (Prelude.Maybe Prelude.UTCTime)+getPhoneNumberSettingsResponse_callingNameUpdatedTimestamp = Lens.lens (\GetPhoneNumberSettingsResponse' {callingNameUpdatedTimestamp} -> callingNameUpdatedTimestamp) (\s@GetPhoneNumberSettingsResponse' {} a -> s {callingNameUpdatedTimestamp = a} :: GetPhoneNumberSettingsResponse) Prelude.. Lens.mapping Data._Time++-- | The response's http status code.+getPhoneNumberSettingsResponse_httpStatus :: Lens.Lens' GetPhoneNumberSettingsResponse Prelude.Int+getPhoneNumberSettingsResponse_httpStatus = Lens.lens (\GetPhoneNumberSettingsResponse' {httpStatus} -> httpStatus) (\s@GetPhoneNumberSettingsResponse' {} a -> s {httpStatus = a} :: GetPhoneNumberSettingsResponse)++instance+  Prelude.NFData+    GetPhoneNumberSettingsResponse+  where+  rnf GetPhoneNumberSettingsResponse' {..} =+    Prelude.rnf callingName+      `Prelude.seq` Prelude.rnf callingNameUpdatedTimestamp+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/GetProxySession.hs view
@@ -0,0 +1,177 @@+{-# 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.Chime.GetProxySession+-- 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 specified proxy session details for the specified Amazon Chime+-- Voice Connector.+module Amazonka.Chime.GetProxySession+  ( -- * Creating a Request+    GetProxySession (..),+    newGetProxySession,++    -- * Request Lenses+    getProxySession_voiceConnectorId,+    getProxySession_proxySessionId,++    -- * Destructuring the Response+    GetProxySessionResponse (..),+    newGetProxySessionResponse,++    -- * Response Lenses+    getProxySessionResponse_proxySession,+    getProxySessionResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newGetProxySession' smart constructor.+data GetProxySession = GetProxySession'+  { -- | The Amazon Chime voice connector ID.+    voiceConnectorId :: Prelude.Text,+    -- | The proxy session ID.+    proxySessionId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetProxySession' 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:+--+-- 'voiceConnectorId', 'getProxySession_voiceConnectorId' - The Amazon Chime voice connector ID.+--+-- 'proxySessionId', 'getProxySession_proxySessionId' - The proxy session ID.+newGetProxySession ::+  -- | 'voiceConnectorId'+  Prelude.Text ->+  -- | 'proxySessionId'+  Prelude.Text ->+  GetProxySession+newGetProxySession+  pVoiceConnectorId_+  pProxySessionId_ =+    GetProxySession'+      { voiceConnectorId =+          pVoiceConnectorId_,+        proxySessionId = pProxySessionId_+      }++-- | The Amazon Chime voice connector ID.+getProxySession_voiceConnectorId :: Lens.Lens' GetProxySession Prelude.Text+getProxySession_voiceConnectorId = Lens.lens (\GetProxySession' {voiceConnectorId} -> voiceConnectorId) (\s@GetProxySession' {} a -> s {voiceConnectorId = a} :: GetProxySession)++-- | The proxy session ID.+getProxySession_proxySessionId :: Lens.Lens' GetProxySession Prelude.Text+getProxySession_proxySessionId = Lens.lens (\GetProxySession' {proxySessionId} -> proxySessionId) (\s@GetProxySession' {} a -> s {proxySessionId = a} :: GetProxySession)++instance Core.AWSRequest GetProxySession where+  type+    AWSResponse GetProxySession =+      GetProxySessionResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetProxySessionResponse'+            Prelude.<$> (x Data..?> "ProxySession")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetProxySession where+  hashWithSalt _salt GetProxySession' {..} =+    _salt+      `Prelude.hashWithSalt` voiceConnectorId+      `Prelude.hashWithSalt` proxySessionId++instance Prelude.NFData GetProxySession where+  rnf GetProxySession' {..} =+    Prelude.rnf voiceConnectorId+      `Prelude.seq` Prelude.rnf proxySessionId++instance Data.ToHeaders GetProxySession where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath GetProxySession where+  toPath GetProxySession' {..} =+    Prelude.mconcat+      [ "/voice-connectors/",+        Data.toBS voiceConnectorId,+        "/proxy-sessions/",+        Data.toBS proxySessionId+      ]++instance Data.ToQuery GetProxySession where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetProxySessionResponse' smart constructor.+data GetProxySessionResponse = GetProxySessionResponse'+  { -- | The proxy session details.+    proxySession :: Prelude.Maybe ProxySession,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetProxySessionResponse' 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:+--+-- 'proxySession', 'getProxySessionResponse_proxySession' - The proxy session details.+--+-- 'httpStatus', 'getProxySessionResponse_httpStatus' - The response's http status code.+newGetProxySessionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetProxySessionResponse+newGetProxySessionResponse pHttpStatus_ =+  GetProxySessionResponse'+    { proxySession =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The proxy session details.+getProxySessionResponse_proxySession :: Lens.Lens' GetProxySessionResponse (Prelude.Maybe ProxySession)+getProxySessionResponse_proxySession = Lens.lens (\GetProxySessionResponse' {proxySession} -> proxySession) (\s@GetProxySessionResponse' {} a -> s {proxySession = a} :: GetProxySessionResponse)++-- | The response's http status code.+getProxySessionResponse_httpStatus :: Lens.Lens' GetProxySessionResponse Prelude.Int+getProxySessionResponse_httpStatus = Lens.lens (\GetProxySessionResponse' {httpStatus} -> httpStatus) (\s@GetProxySessionResponse' {} a -> s {httpStatus = a} :: GetProxySessionResponse)++instance Prelude.NFData GetProxySessionResponse where+  rnf GetProxySessionResponse' {..} =+    Prelude.rnf proxySession+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/GetRetentionSettings.hs view
@@ -0,0 +1,172 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Chime.GetRetentionSettings+-- 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 retention settings for the specified Amazon Chime Enterprise+-- account. For more information about retention settings, see+-- <https://docs.aws.amazon.com/chime/latest/ag/chat-retention.html Managing Chat Retention Policies>+-- in the /Amazon Chime Administration Guide/.+module Amazonka.Chime.GetRetentionSettings+  ( -- * Creating a Request+    GetRetentionSettings (..),+    newGetRetentionSettings,++    -- * Request Lenses+    getRetentionSettings_accountId,++    -- * Destructuring the Response+    GetRetentionSettingsResponse (..),+    newGetRetentionSettingsResponse,++    -- * Response Lenses+    getRetentionSettingsResponse_initiateDeletionTimestamp,+    getRetentionSettingsResponse_retentionSettings,+    getRetentionSettingsResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newGetRetentionSettings' smart constructor.+data GetRetentionSettings = GetRetentionSettings'+  { -- | The Amazon Chime account ID.+    accountId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetRetentionSettings' 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:+--+-- 'accountId', 'getRetentionSettings_accountId' - The Amazon Chime account ID.+newGetRetentionSettings ::+  -- | 'accountId'+  Prelude.Text ->+  GetRetentionSettings+newGetRetentionSettings pAccountId_ =+  GetRetentionSettings' {accountId = pAccountId_}++-- | The Amazon Chime account ID.+getRetentionSettings_accountId :: Lens.Lens' GetRetentionSettings Prelude.Text+getRetentionSettings_accountId = Lens.lens (\GetRetentionSettings' {accountId} -> accountId) (\s@GetRetentionSettings' {} a -> s {accountId = a} :: GetRetentionSettings)++instance Core.AWSRequest GetRetentionSettings where+  type+    AWSResponse GetRetentionSettings =+      GetRetentionSettingsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetRetentionSettingsResponse'+            Prelude.<$> (x Data..?> "InitiateDeletionTimestamp")+            Prelude.<*> (x Data..?> "RetentionSettings")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetRetentionSettings where+  hashWithSalt _salt GetRetentionSettings' {..} =+    _salt `Prelude.hashWithSalt` accountId++instance Prelude.NFData GetRetentionSettings where+  rnf GetRetentionSettings' {..} = Prelude.rnf accountId++instance Data.ToHeaders GetRetentionSettings where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath GetRetentionSettings where+  toPath GetRetentionSettings' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS accountId,+        "/retention-settings"+      ]++instance Data.ToQuery GetRetentionSettings where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetRetentionSettingsResponse' smart constructor.+data GetRetentionSettingsResponse = GetRetentionSettingsResponse'+  { -- | The timestamp representing the time at which the specified items are+    -- permanently deleted, in ISO 8601 format.+    initiateDeletionTimestamp :: Prelude.Maybe Data.ISO8601,+    -- | The retention settings.+    retentionSettings :: Prelude.Maybe RetentionSettings,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetRetentionSettingsResponse' 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:+--+-- 'initiateDeletionTimestamp', 'getRetentionSettingsResponse_initiateDeletionTimestamp' - The timestamp representing the time at which the specified items are+-- permanently deleted, in ISO 8601 format.+--+-- 'retentionSettings', 'getRetentionSettingsResponse_retentionSettings' - The retention settings.+--+-- 'httpStatus', 'getRetentionSettingsResponse_httpStatus' - The response's http status code.+newGetRetentionSettingsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetRetentionSettingsResponse+newGetRetentionSettingsResponse pHttpStatus_ =+  GetRetentionSettingsResponse'+    { initiateDeletionTimestamp =+        Prelude.Nothing,+      retentionSettings = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The timestamp representing the time at which the specified items are+-- permanently deleted, in ISO 8601 format.+getRetentionSettingsResponse_initiateDeletionTimestamp :: Lens.Lens' GetRetentionSettingsResponse (Prelude.Maybe Prelude.UTCTime)+getRetentionSettingsResponse_initiateDeletionTimestamp = Lens.lens (\GetRetentionSettingsResponse' {initiateDeletionTimestamp} -> initiateDeletionTimestamp) (\s@GetRetentionSettingsResponse' {} a -> s {initiateDeletionTimestamp = a} :: GetRetentionSettingsResponse) Prelude.. Lens.mapping Data._Time++-- | The retention settings.+getRetentionSettingsResponse_retentionSettings :: Lens.Lens' GetRetentionSettingsResponse (Prelude.Maybe RetentionSettings)+getRetentionSettingsResponse_retentionSettings = Lens.lens (\GetRetentionSettingsResponse' {retentionSettings} -> retentionSettings) (\s@GetRetentionSettingsResponse' {} a -> s {retentionSettings = a} :: GetRetentionSettingsResponse)++-- | The response's http status code.+getRetentionSettingsResponse_httpStatus :: Lens.Lens' GetRetentionSettingsResponse Prelude.Int+getRetentionSettingsResponse_httpStatus = Lens.lens (\GetRetentionSettingsResponse' {httpStatus} -> httpStatus) (\s@GetRetentionSettingsResponse' {} a -> s {httpStatus = a} :: GetRetentionSettingsResponse)++instance Prelude.NFData GetRetentionSettingsResponse where+  rnf GetRetentionSettingsResponse' {..} =+    Prelude.rnf initiateDeletionTimestamp+      `Prelude.seq` Prelude.rnf retentionSettings+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/GetRoom.hs view
@@ -0,0 +1,171 @@+{-# 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.Chime.GetRoom+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves room details, such as the room name, for a room in an Amazon+-- Chime Enterprise account.+module Amazonka.Chime.GetRoom+  ( -- * Creating a Request+    GetRoom (..),+    newGetRoom,++    -- * Request Lenses+    getRoom_accountId,+    getRoom_roomId,++    -- * Destructuring the Response+    GetRoomResponse (..),+    newGetRoomResponse,++    -- * Response Lenses+    getRoomResponse_room,+    getRoomResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newGetRoom' smart constructor.+data GetRoom = GetRoom'+  { -- | The Amazon Chime account ID.+    accountId :: Prelude.Text,+    -- | The room ID.+    roomId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetRoom' 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:+--+-- 'accountId', 'getRoom_accountId' - The Amazon Chime account ID.+--+-- 'roomId', 'getRoom_roomId' - The room ID.+newGetRoom ::+  -- | 'accountId'+  Prelude.Text ->+  -- | 'roomId'+  Prelude.Text ->+  GetRoom+newGetRoom pAccountId_ pRoomId_ =+  GetRoom'+    { accountId = pAccountId_,+      roomId = pRoomId_+    }++-- | The Amazon Chime account ID.+getRoom_accountId :: Lens.Lens' GetRoom Prelude.Text+getRoom_accountId = Lens.lens (\GetRoom' {accountId} -> accountId) (\s@GetRoom' {} a -> s {accountId = a} :: GetRoom)++-- | The room ID.+getRoom_roomId :: Lens.Lens' GetRoom Prelude.Text+getRoom_roomId = Lens.lens (\GetRoom' {roomId} -> roomId) (\s@GetRoom' {} a -> s {roomId = a} :: GetRoom)++instance Core.AWSRequest GetRoom where+  type AWSResponse GetRoom = GetRoomResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetRoomResponse'+            Prelude.<$> (x Data..?> "Room")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetRoom where+  hashWithSalt _salt GetRoom' {..} =+    _salt+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` roomId++instance Prelude.NFData GetRoom where+  rnf GetRoom' {..} =+    Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf roomId++instance Data.ToHeaders GetRoom where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath GetRoom where+  toPath GetRoom' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS accountId,+        "/rooms/",+        Data.toBS roomId+      ]++instance Data.ToQuery GetRoom where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetRoomResponse' smart constructor.+data GetRoomResponse = GetRoomResponse'+  { -- | The room details.+    room :: Prelude.Maybe Room,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetRoomResponse' 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:+--+-- 'room', 'getRoomResponse_room' - The room details.+--+-- 'httpStatus', 'getRoomResponse_httpStatus' - The response's http status code.+newGetRoomResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetRoomResponse+newGetRoomResponse pHttpStatus_ =+  GetRoomResponse'+    { room = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The room details.+getRoomResponse_room :: Lens.Lens' GetRoomResponse (Prelude.Maybe Room)+getRoomResponse_room = Lens.lens (\GetRoomResponse' {room} -> room) (\s@GetRoomResponse' {} a -> s {room = a} :: GetRoomResponse)++-- | The response's http status code.+getRoomResponse_httpStatus :: Lens.Lens' GetRoomResponse Prelude.Int+getRoomResponse_httpStatus = Lens.lens (\GetRoomResponse' {httpStatus} -> httpStatus) (\s@GetRoomResponse' {} a -> s {httpStatus = a} :: GetRoomResponse)++instance Prelude.NFData GetRoomResponse where+  rnf GetRoomResponse' {..} =+    Prelude.rnf room+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/GetSipMediaApplication.hs view
@@ -0,0 +1,161 @@+{-# 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.Chime.GetSipMediaApplication+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the information for a SIP media application, including name,+-- AWS Region, and endpoints.+module Amazonka.Chime.GetSipMediaApplication+  ( -- * Creating a Request+    GetSipMediaApplication (..),+    newGetSipMediaApplication,++    -- * Request Lenses+    getSipMediaApplication_sipMediaApplicationId,++    -- * Destructuring the Response+    GetSipMediaApplicationResponse (..),+    newGetSipMediaApplicationResponse,++    -- * Response Lenses+    getSipMediaApplicationResponse_sipMediaApplication,+    getSipMediaApplicationResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newGetSipMediaApplication' smart constructor.+data GetSipMediaApplication = GetSipMediaApplication'+  { -- | The SIP media application ID.+    sipMediaApplicationId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetSipMediaApplication' 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:+--+-- 'sipMediaApplicationId', 'getSipMediaApplication_sipMediaApplicationId' - The SIP media application ID.+newGetSipMediaApplication ::+  -- | 'sipMediaApplicationId'+  Prelude.Text ->+  GetSipMediaApplication+newGetSipMediaApplication pSipMediaApplicationId_ =+  GetSipMediaApplication'+    { sipMediaApplicationId =+        pSipMediaApplicationId_+    }++-- | The SIP media application ID.+getSipMediaApplication_sipMediaApplicationId :: Lens.Lens' GetSipMediaApplication Prelude.Text+getSipMediaApplication_sipMediaApplicationId = Lens.lens (\GetSipMediaApplication' {sipMediaApplicationId} -> sipMediaApplicationId) (\s@GetSipMediaApplication' {} a -> s {sipMediaApplicationId = a} :: GetSipMediaApplication)++instance Core.AWSRequest GetSipMediaApplication where+  type+    AWSResponse GetSipMediaApplication =+      GetSipMediaApplicationResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetSipMediaApplicationResponse'+            Prelude.<$> (x Data..?> "SipMediaApplication")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetSipMediaApplication where+  hashWithSalt _salt GetSipMediaApplication' {..} =+    _salt `Prelude.hashWithSalt` sipMediaApplicationId++instance Prelude.NFData GetSipMediaApplication where+  rnf GetSipMediaApplication' {..} =+    Prelude.rnf sipMediaApplicationId++instance Data.ToHeaders GetSipMediaApplication where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath GetSipMediaApplication where+  toPath GetSipMediaApplication' {..} =+    Prelude.mconcat+      [ "/sip-media-applications/",+        Data.toBS sipMediaApplicationId+      ]++instance Data.ToQuery GetSipMediaApplication where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetSipMediaApplicationResponse' smart constructor.+data GetSipMediaApplicationResponse = GetSipMediaApplicationResponse'+  { -- | The SIP media application details.+    sipMediaApplication :: Prelude.Maybe SipMediaApplication,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetSipMediaApplicationResponse' 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:+--+-- 'sipMediaApplication', 'getSipMediaApplicationResponse_sipMediaApplication' - The SIP media application details.+--+-- 'httpStatus', 'getSipMediaApplicationResponse_httpStatus' - The response's http status code.+newGetSipMediaApplicationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetSipMediaApplicationResponse+newGetSipMediaApplicationResponse pHttpStatus_ =+  GetSipMediaApplicationResponse'+    { sipMediaApplication =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The SIP media application details.+getSipMediaApplicationResponse_sipMediaApplication :: Lens.Lens' GetSipMediaApplicationResponse (Prelude.Maybe SipMediaApplication)+getSipMediaApplicationResponse_sipMediaApplication = Lens.lens (\GetSipMediaApplicationResponse' {sipMediaApplication} -> sipMediaApplication) (\s@GetSipMediaApplicationResponse' {} a -> s {sipMediaApplication = a} :: GetSipMediaApplicationResponse)++-- | The response's http status code.+getSipMediaApplicationResponse_httpStatus :: Lens.Lens' GetSipMediaApplicationResponse Prelude.Int+getSipMediaApplicationResponse_httpStatus = Lens.lens (\GetSipMediaApplicationResponse' {httpStatus} -> httpStatus) (\s@GetSipMediaApplicationResponse' {} a -> s {httpStatus = a} :: GetSipMediaApplicationResponse)++instance+  Prelude.NFData+    GetSipMediaApplicationResponse+  where+  rnf GetSipMediaApplicationResponse' {..} =+    Prelude.rnf sipMediaApplication+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/GetSipMediaApplicationLoggingConfiguration.hs view
@@ -0,0 +1,190 @@+{-# 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.Chime.GetSipMediaApplicationLoggingConfiguration+-- 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 the logging configuration for the specified SIP media+-- application.+module Amazonka.Chime.GetSipMediaApplicationLoggingConfiguration+  ( -- * Creating a Request+    GetSipMediaApplicationLoggingConfiguration (..),+    newGetSipMediaApplicationLoggingConfiguration,++    -- * Request Lenses+    getSipMediaApplicationLoggingConfiguration_sipMediaApplicationId,++    -- * Destructuring the Response+    GetSipMediaApplicationLoggingConfigurationResponse (..),+    newGetSipMediaApplicationLoggingConfigurationResponse,++    -- * Response Lenses+    getSipMediaApplicationLoggingConfigurationResponse_sipMediaApplicationLoggingConfiguration,+    getSipMediaApplicationLoggingConfigurationResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newGetSipMediaApplicationLoggingConfiguration' smart constructor.+data GetSipMediaApplicationLoggingConfiguration = GetSipMediaApplicationLoggingConfiguration'+  { -- | The SIP media application ID.+    sipMediaApplicationId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetSipMediaApplicationLoggingConfiguration' 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:+--+-- 'sipMediaApplicationId', 'getSipMediaApplicationLoggingConfiguration_sipMediaApplicationId' - The SIP media application ID.+newGetSipMediaApplicationLoggingConfiguration ::+  -- | 'sipMediaApplicationId'+  Prelude.Text ->+  GetSipMediaApplicationLoggingConfiguration+newGetSipMediaApplicationLoggingConfiguration+  pSipMediaApplicationId_ =+    GetSipMediaApplicationLoggingConfiguration'+      { sipMediaApplicationId =+          pSipMediaApplicationId_+      }++-- | The SIP media application ID.+getSipMediaApplicationLoggingConfiguration_sipMediaApplicationId :: Lens.Lens' GetSipMediaApplicationLoggingConfiguration Prelude.Text+getSipMediaApplicationLoggingConfiguration_sipMediaApplicationId = Lens.lens (\GetSipMediaApplicationLoggingConfiguration' {sipMediaApplicationId} -> sipMediaApplicationId) (\s@GetSipMediaApplicationLoggingConfiguration' {} a -> s {sipMediaApplicationId = a} :: GetSipMediaApplicationLoggingConfiguration)++instance+  Core.AWSRequest+    GetSipMediaApplicationLoggingConfiguration+  where+  type+    AWSResponse+      GetSipMediaApplicationLoggingConfiguration =+      GetSipMediaApplicationLoggingConfigurationResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetSipMediaApplicationLoggingConfigurationResponse'+            Prelude.<$> ( x+                            Data..?> "SipMediaApplicationLoggingConfiguration"+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    GetSipMediaApplicationLoggingConfiguration+  where+  hashWithSalt+    _salt+    GetSipMediaApplicationLoggingConfiguration' {..} =+      _salt `Prelude.hashWithSalt` sipMediaApplicationId++instance+  Prelude.NFData+    GetSipMediaApplicationLoggingConfiguration+  where+  rnf GetSipMediaApplicationLoggingConfiguration' {..} =+    Prelude.rnf sipMediaApplicationId++instance+  Data.ToHeaders+    GetSipMediaApplicationLoggingConfiguration+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToPath+    GetSipMediaApplicationLoggingConfiguration+  where+  toPath+    GetSipMediaApplicationLoggingConfiguration' {..} =+      Prelude.mconcat+        [ "/sip-media-applications/",+          Data.toBS sipMediaApplicationId,+          "/logging-configuration"+        ]++instance+  Data.ToQuery+    GetSipMediaApplicationLoggingConfiguration+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetSipMediaApplicationLoggingConfigurationResponse' smart constructor.+data GetSipMediaApplicationLoggingConfigurationResponse = GetSipMediaApplicationLoggingConfigurationResponse'+  { -- | The actual logging configuration.+    sipMediaApplicationLoggingConfiguration :: Prelude.Maybe SipMediaApplicationLoggingConfiguration,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetSipMediaApplicationLoggingConfigurationResponse' 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:+--+-- 'sipMediaApplicationLoggingConfiguration', 'getSipMediaApplicationLoggingConfigurationResponse_sipMediaApplicationLoggingConfiguration' - The actual logging configuration.+--+-- 'httpStatus', 'getSipMediaApplicationLoggingConfigurationResponse_httpStatus' - The response's http status code.+newGetSipMediaApplicationLoggingConfigurationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetSipMediaApplicationLoggingConfigurationResponse+newGetSipMediaApplicationLoggingConfigurationResponse+  pHttpStatus_ =+    GetSipMediaApplicationLoggingConfigurationResponse'+      { sipMediaApplicationLoggingConfiguration =+          Prelude.Nothing,+        httpStatus =+          pHttpStatus_+      }++-- | The actual logging configuration.+getSipMediaApplicationLoggingConfigurationResponse_sipMediaApplicationLoggingConfiguration :: Lens.Lens' GetSipMediaApplicationLoggingConfigurationResponse (Prelude.Maybe SipMediaApplicationLoggingConfiguration)+getSipMediaApplicationLoggingConfigurationResponse_sipMediaApplicationLoggingConfiguration = Lens.lens (\GetSipMediaApplicationLoggingConfigurationResponse' {sipMediaApplicationLoggingConfiguration} -> sipMediaApplicationLoggingConfiguration) (\s@GetSipMediaApplicationLoggingConfigurationResponse' {} a -> s {sipMediaApplicationLoggingConfiguration = a} :: GetSipMediaApplicationLoggingConfigurationResponse)++-- | The response's http status code.+getSipMediaApplicationLoggingConfigurationResponse_httpStatus :: Lens.Lens' GetSipMediaApplicationLoggingConfigurationResponse Prelude.Int+getSipMediaApplicationLoggingConfigurationResponse_httpStatus = Lens.lens (\GetSipMediaApplicationLoggingConfigurationResponse' {httpStatus} -> httpStatus) (\s@GetSipMediaApplicationLoggingConfigurationResponse' {} a -> s {httpStatus = a} :: GetSipMediaApplicationLoggingConfigurationResponse)++instance+  Prelude.NFData+    GetSipMediaApplicationLoggingConfigurationResponse+  where+  rnf+    GetSipMediaApplicationLoggingConfigurationResponse' {..} =+      Prelude.rnf sipMediaApplicationLoggingConfiguration+        `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/GetSipRule.hs view
@@ -0,0 +1,149 @@+{-# 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.Chime.GetSipRule+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the details of a SIP rule, such as the rule ID, name,+-- triggers, and target endpoints.+module Amazonka.Chime.GetSipRule+  ( -- * Creating a Request+    GetSipRule (..),+    newGetSipRule,++    -- * Request Lenses+    getSipRule_sipRuleId,++    -- * Destructuring the Response+    GetSipRuleResponse (..),+    newGetSipRuleResponse,++    -- * Response Lenses+    getSipRuleResponse_sipRule,+    getSipRuleResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newGetSipRule' smart constructor.+data GetSipRule = GetSipRule'+  { -- | The SIP rule ID.+    sipRuleId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetSipRule' 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:+--+-- 'sipRuleId', 'getSipRule_sipRuleId' - The SIP rule ID.+newGetSipRule ::+  -- | 'sipRuleId'+  Prelude.Text ->+  GetSipRule+newGetSipRule pSipRuleId_ =+  GetSipRule' {sipRuleId = pSipRuleId_}++-- | The SIP rule ID.+getSipRule_sipRuleId :: Lens.Lens' GetSipRule Prelude.Text+getSipRule_sipRuleId = Lens.lens (\GetSipRule' {sipRuleId} -> sipRuleId) (\s@GetSipRule' {} a -> s {sipRuleId = a} :: GetSipRule)++instance Core.AWSRequest GetSipRule where+  type AWSResponse GetSipRule = GetSipRuleResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetSipRuleResponse'+            Prelude.<$> (x Data..?> "SipRule")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetSipRule where+  hashWithSalt _salt GetSipRule' {..} =+    _salt `Prelude.hashWithSalt` sipRuleId++instance Prelude.NFData GetSipRule where+  rnf GetSipRule' {..} = Prelude.rnf sipRuleId++instance Data.ToHeaders GetSipRule where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath GetSipRule where+  toPath GetSipRule' {..} =+    Prelude.mconcat+      ["/sip-rules/", Data.toBS sipRuleId]++instance Data.ToQuery GetSipRule where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetSipRuleResponse' smart constructor.+data GetSipRuleResponse = GetSipRuleResponse'+  { -- | The SIP rule details.+    sipRule :: Prelude.Maybe SipRule,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetSipRuleResponse' 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:+--+-- 'sipRule', 'getSipRuleResponse_sipRule' - The SIP rule details.+--+-- 'httpStatus', 'getSipRuleResponse_httpStatus' - The response's http status code.+newGetSipRuleResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetSipRuleResponse+newGetSipRuleResponse pHttpStatus_ =+  GetSipRuleResponse'+    { sipRule = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The SIP rule details.+getSipRuleResponse_sipRule :: Lens.Lens' GetSipRuleResponse (Prelude.Maybe SipRule)+getSipRuleResponse_sipRule = Lens.lens (\GetSipRuleResponse' {sipRule} -> sipRule) (\s@GetSipRuleResponse' {} a -> s {sipRule = a} :: GetSipRuleResponse)++-- | The response's http status code.+getSipRuleResponse_httpStatus :: Lens.Lens' GetSipRuleResponse Prelude.Int+getSipRuleResponse_httpStatus = Lens.lens (\GetSipRuleResponse' {httpStatus} -> httpStatus) (\s@GetSipRuleResponse' {} a -> s {httpStatus = a} :: GetSipRuleResponse)++instance Prelude.NFData GetSipRuleResponse where+  rnf GetSipRuleResponse' {..} =+    Prelude.rnf sipRule+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/GetUser.hs view
@@ -0,0 +1,174 @@+{-# 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.Chime.GetUser+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves details for the specified user ID, such as primary email+-- address, license type,and personal meeting PIN.+--+-- To retrieve user details with an email address instead of a user ID, use+-- the ListUsers action, and then filter by email address.+module Amazonka.Chime.GetUser+  ( -- * Creating a Request+    GetUser (..),+    newGetUser,++    -- * Request Lenses+    getUser_accountId,+    getUser_userId,++    -- * Destructuring the Response+    GetUserResponse (..),+    newGetUserResponse,++    -- * Response Lenses+    getUserResponse_user,+    getUserResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newGetUser' smart constructor.+data GetUser = GetUser'+  { -- | The Amazon Chime account ID.+    accountId :: Prelude.Text,+    -- | The user ID.+    userId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetUser' 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:+--+-- 'accountId', 'getUser_accountId' - The Amazon Chime account ID.+--+-- 'userId', 'getUser_userId' - The user ID.+newGetUser ::+  -- | 'accountId'+  Prelude.Text ->+  -- | 'userId'+  Prelude.Text ->+  GetUser+newGetUser pAccountId_ pUserId_ =+  GetUser'+    { accountId = pAccountId_,+      userId = pUserId_+    }++-- | The Amazon Chime account ID.+getUser_accountId :: Lens.Lens' GetUser Prelude.Text+getUser_accountId = Lens.lens (\GetUser' {accountId} -> accountId) (\s@GetUser' {} a -> s {accountId = a} :: GetUser)++-- | The user ID.+getUser_userId :: Lens.Lens' GetUser Prelude.Text+getUser_userId = Lens.lens (\GetUser' {userId} -> userId) (\s@GetUser' {} a -> s {userId = a} :: GetUser)++instance Core.AWSRequest GetUser where+  type AWSResponse GetUser = GetUserResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetUserResponse'+            Prelude.<$> (x Data..?> "User")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetUser where+  hashWithSalt _salt GetUser' {..} =+    _salt+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` userId++instance Prelude.NFData GetUser where+  rnf GetUser' {..} =+    Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf userId++instance Data.ToHeaders GetUser where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath GetUser where+  toPath GetUser' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS accountId,+        "/users/",+        Data.toBS userId+      ]++instance Data.ToQuery GetUser where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetUserResponse' smart constructor.+data GetUserResponse = GetUserResponse'+  { -- | The user details.+    user :: Prelude.Maybe User,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetUserResponse' 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:+--+-- 'user', 'getUserResponse_user' - The user details.+--+-- 'httpStatus', 'getUserResponse_httpStatus' - The response's http status code.+newGetUserResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetUserResponse+newGetUserResponse pHttpStatus_ =+  GetUserResponse'+    { user = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The user details.+getUserResponse_user :: Lens.Lens' GetUserResponse (Prelude.Maybe User)+getUserResponse_user = Lens.lens (\GetUserResponse' {user} -> user) (\s@GetUserResponse' {} a -> s {user = a} :: GetUserResponse)++-- | The response's http status code.+getUserResponse_httpStatus :: Lens.Lens' GetUserResponse Prelude.Int+getUserResponse_httpStatus = Lens.lens (\GetUserResponse' {httpStatus} -> httpStatus) (\s@GetUserResponse' {} a -> s {httpStatus = a} :: GetUserResponse)++instance Prelude.NFData GetUserResponse where+  rnf GetUserResponse' {..} =+    Prelude.rnf user+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/GetUserSettings.hs view
@@ -0,0 +1,175 @@+{-# 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.Chime.GetUserSettings+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves settings for the specified user ID, such as any associated+-- phone number settings.+module Amazonka.Chime.GetUserSettings+  ( -- * Creating a Request+    GetUserSettings (..),+    newGetUserSettings,++    -- * Request Lenses+    getUserSettings_accountId,+    getUserSettings_userId,++    -- * Destructuring the Response+    GetUserSettingsResponse (..),+    newGetUserSettingsResponse,++    -- * Response Lenses+    getUserSettingsResponse_userSettings,+    getUserSettingsResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newGetUserSettings' smart constructor.+data GetUserSettings = GetUserSettings'+  { -- | The Amazon Chime account ID.+    accountId :: Prelude.Text,+    -- | The user ID.+    userId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetUserSettings' 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:+--+-- 'accountId', 'getUserSettings_accountId' - The Amazon Chime account ID.+--+-- 'userId', 'getUserSettings_userId' - The user ID.+newGetUserSettings ::+  -- | 'accountId'+  Prelude.Text ->+  -- | 'userId'+  Prelude.Text ->+  GetUserSettings+newGetUserSettings pAccountId_ pUserId_ =+  GetUserSettings'+    { accountId = pAccountId_,+      userId = pUserId_+    }++-- | The Amazon Chime account ID.+getUserSettings_accountId :: Lens.Lens' GetUserSettings Prelude.Text+getUserSettings_accountId = Lens.lens (\GetUserSettings' {accountId} -> accountId) (\s@GetUserSettings' {} a -> s {accountId = a} :: GetUserSettings)++-- | The user ID.+getUserSettings_userId :: Lens.Lens' GetUserSettings Prelude.Text+getUserSettings_userId = Lens.lens (\GetUserSettings' {userId} -> userId) (\s@GetUserSettings' {} a -> s {userId = a} :: GetUserSettings)++instance Core.AWSRequest GetUserSettings where+  type+    AWSResponse GetUserSettings =+      GetUserSettingsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetUserSettingsResponse'+            Prelude.<$> (x Data..?> "UserSettings")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetUserSettings where+  hashWithSalt _salt GetUserSettings' {..} =+    _salt+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` userId++instance Prelude.NFData GetUserSettings where+  rnf GetUserSettings' {..} =+    Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf userId++instance Data.ToHeaders GetUserSettings where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath GetUserSettings where+  toPath GetUserSettings' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS accountId,+        "/users/",+        Data.toBS userId,+        "/settings"+      ]++instance Data.ToQuery GetUserSettings where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetUserSettingsResponse' smart constructor.+data GetUserSettingsResponse = GetUserSettingsResponse'+  { -- | The user settings.+    userSettings :: Prelude.Maybe UserSettings,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetUserSettingsResponse' 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:+--+-- 'userSettings', 'getUserSettingsResponse_userSettings' - The user settings.+--+-- 'httpStatus', 'getUserSettingsResponse_httpStatus' - The response's http status code.+newGetUserSettingsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetUserSettingsResponse+newGetUserSettingsResponse pHttpStatus_ =+  GetUserSettingsResponse'+    { userSettings =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The user settings.+getUserSettingsResponse_userSettings :: Lens.Lens' GetUserSettingsResponse (Prelude.Maybe UserSettings)+getUserSettingsResponse_userSettings = Lens.lens (\GetUserSettingsResponse' {userSettings} -> userSettings) (\s@GetUserSettingsResponse' {} a -> s {userSettings = a} :: GetUserSettingsResponse)++-- | The response's http status code.+getUserSettingsResponse_httpStatus :: Lens.Lens' GetUserSettingsResponse Prelude.Int+getUserSettingsResponse_httpStatus = Lens.lens (\GetUserSettingsResponse' {httpStatus} -> httpStatus) (\s@GetUserSettingsResponse' {} a -> s {httpStatus = a} :: GetUserSettingsResponse)++instance Prelude.NFData GetUserSettingsResponse where+  rnf GetUserSettingsResponse' {..} =+    Prelude.rnf userSettings+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/GetVoiceConnector.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.Chime.GetVoiceConnector+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves details for the specified Amazon Chime Voice Connector, such+-- as timestamps,name, outbound host, and encryption requirements.+module Amazonka.Chime.GetVoiceConnector+  ( -- * Creating a Request+    GetVoiceConnector (..),+    newGetVoiceConnector,++    -- * Request Lenses+    getVoiceConnector_voiceConnectorId,++    -- * Destructuring the Response+    GetVoiceConnectorResponse (..),+    newGetVoiceConnectorResponse,++    -- * Response Lenses+    getVoiceConnectorResponse_voiceConnector,+    getVoiceConnectorResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newGetVoiceConnector' smart constructor.+data GetVoiceConnector = GetVoiceConnector'+  { -- | The Amazon Chime Voice Connector ID.+    voiceConnectorId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetVoiceConnector' 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:+--+-- 'voiceConnectorId', 'getVoiceConnector_voiceConnectorId' - The Amazon Chime Voice Connector ID.+newGetVoiceConnector ::+  -- | 'voiceConnectorId'+  Prelude.Text ->+  GetVoiceConnector+newGetVoiceConnector pVoiceConnectorId_ =+  GetVoiceConnector'+    { voiceConnectorId =+        pVoiceConnectorId_+    }++-- | The Amazon Chime Voice Connector ID.+getVoiceConnector_voiceConnectorId :: Lens.Lens' GetVoiceConnector Prelude.Text+getVoiceConnector_voiceConnectorId = Lens.lens (\GetVoiceConnector' {voiceConnectorId} -> voiceConnectorId) (\s@GetVoiceConnector' {} a -> s {voiceConnectorId = a} :: GetVoiceConnector)++instance Core.AWSRequest GetVoiceConnector where+  type+    AWSResponse GetVoiceConnector =+      GetVoiceConnectorResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetVoiceConnectorResponse'+            Prelude.<$> (x Data..?> "VoiceConnector")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetVoiceConnector where+  hashWithSalt _salt GetVoiceConnector' {..} =+    _salt `Prelude.hashWithSalt` voiceConnectorId++instance Prelude.NFData GetVoiceConnector where+  rnf GetVoiceConnector' {..} =+    Prelude.rnf voiceConnectorId++instance Data.ToHeaders GetVoiceConnector where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath GetVoiceConnector where+  toPath GetVoiceConnector' {..} =+    Prelude.mconcat+      ["/voice-connectors/", Data.toBS voiceConnectorId]++instance Data.ToQuery GetVoiceConnector where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetVoiceConnectorResponse' smart constructor.+data GetVoiceConnectorResponse = GetVoiceConnectorResponse'+  { -- | The Amazon Chime Voice Connector details.+    voiceConnector :: Prelude.Maybe VoiceConnector,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetVoiceConnectorResponse' 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:+--+-- 'voiceConnector', 'getVoiceConnectorResponse_voiceConnector' - The Amazon Chime Voice Connector details.+--+-- 'httpStatus', 'getVoiceConnectorResponse_httpStatus' - The response's http status code.+newGetVoiceConnectorResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetVoiceConnectorResponse+newGetVoiceConnectorResponse pHttpStatus_ =+  GetVoiceConnectorResponse'+    { voiceConnector =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Chime Voice Connector details.+getVoiceConnectorResponse_voiceConnector :: Lens.Lens' GetVoiceConnectorResponse (Prelude.Maybe VoiceConnector)+getVoiceConnectorResponse_voiceConnector = Lens.lens (\GetVoiceConnectorResponse' {voiceConnector} -> voiceConnector) (\s@GetVoiceConnectorResponse' {} a -> s {voiceConnector = a} :: GetVoiceConnectorResponse)++-- | The response's http status code.+getVoiceConnectorResponse_httpStatus :: Lens.Lens' GetVoiceConnectorResponse Prelude.Int+getVoiceConnectorResponse_httpStatus = Lens.lens (\GetVoiceConnectorResponse' {httpStatus} -> httpStatus) (\s@GetVoiceConnectorResponse' {} a -> s {httpStatus = a} :: GetVoiceConnectorResponse)++instance Prelude.NFData GetVoiceConnectorResponse where+  rnf GetVoiceConnectorResponse' {..} =+    Prelude.rnf voiceConnector+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/GetVoiceConnectorEmergencyCallingConfiguration.hs view
@@ -0,0 +1,189 @@+{-# 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.Chime.GetVoiceConnectorEmergencyCallingConfiguration+-- 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 emergency calling configuration details for the specified+-- Amazon Chime Voice Connector.+module Amazonka.Chime.GetVoiceConnectorEmergencyCallingConfiguration+  ( -- * Creating a Request+    GetVoiceConnectorEmergencyCallingConfiguration (..),+    newGetVoiceConnectorEmergencyCallingConfiguration,++    -- * Request Lenses+    getVoiceConnectorEmergencyCallingConfiguration_voiceConnectorId,++    -- * Destructuring the Response+    GetVoiceConnectorEmergencyCallingConfigurationResponse (..),+    newGetVoiceConnectorEmergencyCallingConfigurationResponse,++    -- * Response Lenses+    getVoiceConnectorEmergencyCallingConfigurationResponse_emergencyCallingConfiguration,+    getVoiceConnectorEmergencyCallingConfigurationResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newGetVoiceConnectorEmergencyCallingConfiguration' smart constructor.+data GetVoiceConnectorEmergencyCallingConfiguration = GetVoiceConnectorEmergencyCallingConfiguration'+  { -- | The Amazon Chime Voice Connector ID.+    voiceConnectorId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetVoiceConnectorEmergencyCallingConfiguration' 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:+--+-- 'voiceConnectorId', 'getVoiceConnectorEmergencyCallingConfiguration_voiceConnectorId' - The Amazon Chime Voice Connector ID.+newGetVoiceConnectorEmergencyCallingConfiguration ::+  -- | 'voiceConnectorId'+  Prelude.Text ->+  GetVoiceConnectorEmergencyCallingConfiguration+newGetVoiceConnectorEmergencyCallingConfiguration+  pVoiceConnectorId_ =+    GetVoiceConnectorEmergencyCallingConfiguration'+      { voiceConnectorId =+          pVoiceConnectorId_+      }++-- | The Amazon Chime Voice Connector ID.+getVoiceConnectorEmergencyCallingConfiguration_voiceConnectorId :: Lens.Lens' GetVoiceConnectorEmergencyCallingConfiguration Prelude.Text+getVoiceConnectorEmergencyCallingConfiguration_voiceConnectorId = Lens.lens (\GetVoiceConnectorEmergencyCallingConfiguration' {voiceConnectorId} -> voiceConnectorId) (\s@GetVoiceConnectorEmergencyCallingConfiguration' {} a -> s {voiceConnectorId = a} :: GetVoiceConnectorEmergencyCallingConfiguration)++instance+  Core.AWSRequest+    GetVoiceConnectorEmergencyCallingConfiguration+  where+  type+    AWSResponse+      GetVoiceConnectorEmergencyCallingConfiguration =+      GetVoiceConnectorEmergencyCallingConfigurationResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetVoiceConnectorEmergencyCallingConfigurationResponse'+            Prelude.<$> (x Data..?> "EmergencyCallingConfiguration")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    GetVoiceConnectorEmergencyCallingConfiguration+  where+  hashWithSalt+    _salt+    GetVoiceConnectorEmergencyCallingConfiguration' {..} =+      _salt `Prelude.hashWithSalt` voiceConnectorId++instance+  Prelude.NFData+    GetVoiceConnectorEmergencyCallingConfiguration+  where+  rnf+    GetVoiceConnectorEmergencyCallingConfiguration' {..} =+      Prelude.rnf voiceConnectorId++instance+  Data.ToHeaders+    GetVoiceConnectorEmergencyCallingConfiguration+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToPath+    GetVoiceConnectorEmergencyCallingConfiguration+  where+  toPath+    GetVoiceConnectorEmergencyCallingConfiguration' {..} =+      Prelude.mconcat+        [ "/voice-connectors/",+          Data.toBS voiceConnectorId,+          "/emergency-calling-configuration"+        ]++instance+  Data.ToQuery+    GetVoiceConnectorEmergencyCallingConfiguration+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetVoiceConnectorEmergencyCallingConfigurationResponse' smart constructor.+data GetVoiceConnectorEmergencyCallingConfigurationResponse = GetVoiceConnectorEmergencyCallingConfigurationResponse'+  { -- | The emergency calling configuration details.+    emergencyCallingConfiguration :: Prelude.Maybe EmergencyCallingConfiguration,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetVoiceConnectorEmergencyCallingConfigurationResponse' 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:+--+-- 'emergencyCallingConfiguration', 'getVoiceConnectorEmergencyCallingConfigurationResponse_emergencyCallingConfiguration' - The emergency calling configuration details.+--+-- 'httpStatus', 'getVoiceConnectorEmergencyCallingConfigurationResponse_httpStatus' - The response's http status code.+newGetVoiceConnectorEmergencyCallingConfigurationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetVoiceConnectorEmergencyCallingConfigurationResponse+newGetVoiceConnectorEmergencyCallingConfigurationResponse+  pHttpStatus_ =+    GetVoiceConnectorEmergencyCallingConfigurationResponse'+      { emergencyCallingConfiguration =+          Prelude.Nothing,+        httpStatus =+          pHttpStatus_+      }++-- | The emergency calling configuration details.+getVoiceConnectorEmergencyCallingConfigurationResponse_emergencyCallingConfiguration :: Lens.Lens' GetVoiceConnectorEmergencyCallingConfigurationResponse (Prelude.Maybe EmergencyCallingConfiguration)+getVoiceConnectorEmergencyCallingConfigurationResponse_emergencyCallingConfiguration = Lens.lens (\GetVoiceConnectorEmergencyCallingConfigurationResponse' {emergencyCallingConfiguration} -> emergencyCallingConfiguration) (\s@GetVoiceConnectorEmergencyCallingConfigurationResponse' {} a -> s {emergencyCallingConfiguration = a} :: GetVoiceConnectorEmergencyCallingConfigurationResponse)++-- | The response's http status code.+getVoiceConnectorEmergencyCallingConfigurationResponse_httpStatus :: Lens.Lens' GetVoiceConnectorEmergencyCallingConfigurationResponse Prelude.Int+getVoiceConnectorEmergencyCallingConfigurationResponse_httpStatus = Lens.lens (\GetVoiceConnectorEmergencyCallingConfigurationResponse' {httpStatus} -> httpStatus) (\s@GetVoiceConnectorEmergencyCallingConfigurationResponse' {} a -> s {httpStatus = a} :: GetVoiceConnectorEmergencyCallingConfigurationResponse)++instance+  Prelude.NFData+    GetVoiceConnectorEmergencyCallingConfigurationResponse+  where+  rnf+    GetVoiceConnectorEmergencyCallingConfigurationResponse' {..} =+      Prelude.rnf emergencyCallingConfiguration+        `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/GetVoiceConnectorGroup.hs view
@@ -0,0 +1,161 @@+{-# 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.Chime.GetVoiceConnectorGroup+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves details for the specified Amazon Chime Voice Connector group,+-- such as timestamps,name, and associated @VoiceConnectorItems@.+module Amazonka.Chime.GetVoiceConnectorGroup+  ( -- * Creating a Request+    GetVoiceConnectorGroup (..),+    newGetVoiceConnectorGroup,++    -- * Request Lenses+    getVoiceConnectorGroup_voiceConnectorGroupId,++    -- * Destructuring the Response+    GetVoiceConnectorGroupResponse (..),+    newGetVoiceConnectorGroupResponse,++    -- * Response Lenses+    getVoiceConnectorGroupResponse_voiceConnectorGroup,+    getVoiceConnectorGroupResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newGetVoiceConnectorGroup' smart constructor.+data GetVoiceConnectorGroup = GetVoiceConnectorGroup'+  { -- | The Amazon Chime Voice Connector group ID.+    voiceConnectorGroupId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetVoiceConnectorGroup' 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:+--+-- 'voiceConnectorGroupId', 'getVoiceConnectorGroup_voiceConnectorGroupId' - The Amazon Chime Voice Connector group ID.+newGetVoiceConnectorGroup ::+  -- | 'voiceConnectorGroupId'+  Prelude.Text ->+  GetVoiceConnectorGroup+newGetVoiceConnectorGroup pVoiceConnectorGroupId_ =+  GetVoiceConnectorGroup'+    { voiceConnectorGroupId =+        pVoiceConnectorGroupId_+    }++-- | The Amazon Chime Voice Connector group ID.+getVoiceConnectorGroup_voiceConnectorGroupId :: Lens.Lens' GetVoiceConnectorGroup Prelude.Text+getVoiceConnectorGroup_voiceConnectorGroupId = Lens.lens (\GetVoiceConnectorGroup' {voiceConnectorGroupId} -> voiceConnectorGroupId) (\s@GetVoiceConnectorGroup' {} a -> s {voiceConnectorGroupId = a} :: GetVoiceConnectorGroup)++instance Core.AWSRequest GetVoiceConnectorGroup where+  type+    AWSResponse GetVoiceConnectorGroup =+      GetVoiceConnectorGroupResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetVoiceConnectorGroupResponse'+            Prelude.<$> (x Data..?> "VoiceConnectorGroup")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetVoiceConnectorGroup where+  hashWithSalt _salt GetVoiceConnectorGroup' {..} =+    _salt `Prelude.hashWithSalt` voiceConnectorGroupId++instance Prelude.NFData GetVoiceConnectorGroup where+  rnf GetVoiceConnectorGroup' {..} =+    Prelude.rnf voiceConnectorGroupId++instance Data.ToHeaders GetVoiceConnectorGroup where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath GetVoiceConnectorGroup where+  toPath GetVoiceConnectorGroup' {..} =+    Prelude.mconcat+      [ "/voice-connector-groups/",+        Data.toBS voiceConnectorGroupId+      ]++instance Data.ToQuery GetVoiceConnectorGroup where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetVoiceConnectorGroupResponse' smart constructor.+data GetVoiceConnectorGroupResponse = GetVoiceConnectorGroupResponse'+  { -- | The Amazon Chime Voice Connector group details.+    voiceConnectorGroup :: Prelude.Maybe VoiceConnectorGroup,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetVoiceConnectorGroupResponse' 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:+--+-- 'voiceConnectorGroup', 'getVoiceConnectorGroupResponse_voiceConnectorGroup' - The Amazon Chime Voice Connector group details.+--+-- 'httpStatus', 'getVoiceConnectorGroupResponse_httpStatus' - The response's http status code.+newGetVoiceConnectorGroupResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetVoiceConnectorGroupResponse+newGetVoiceConnectorGroupResponse pHttpStatus_ =+  GetVoiceConnectorGroupResponse'+    { voiceConnectorGroup =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Chime Voice Connector group details.+getVoiceConnectorGroupResponse_voiceConnectorGroup :: Lens.Lens' GetVoiceConnectorGroupResponse (Prelude.Maybe VoiceConnectorGroup)+getVoiceConnectorGroupResponse_voiceConnectorGroup = Lens.lens (\GetVoiceConnectorGroupResponse' {voiceConnectorGroup} -> voiceConnectorGroup) (\s@GetVoiceConnectorGroupResponse' {} a -> s {voiceConnectorGroup = a} :: GetVoiceConnectorGroupResponse)++-- | The response's http status code.+getVoiceConnectorGroupResponse_httpStatus :: Lens.Lens' GetVoiceConnectorGroupResponse Prelude.Int+getVoiceConnectorGroupResponse_httpStatus = Lens.lens (\GetVoiceConnectorGroupResponse' {httpStatus} -> httpStatus) (\s@GetVoiceConnectorGroupResponse' {} a -> s {httpStatus = a} :: GetVoiceConnectorGroupResponse)++instance+  Prelude.NFData+    GetVoiceConnectorGroupResponse+  where+  rnf GetVoiceConnectorGroupResponse' {..} =+    Prelude.rnf voiceConnectorGroup+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/GetVoiceConnectorLoggingConfiguration.hs view
@@ -0,0 +1,187 @@+{-# 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.Chime.GetVoiceConnectorLoggingConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the logging configuration details for the specified Amazon+-- Chime Voice Connector. Shows whether SIP message logs are enabled for+-- sending to Amazon CloudWatch Logs.+module Amazonka.Chime.GetVoiceConnectorLoggingConfiguration+  ( -- * Creating a Request+    GetVoiceConnectorLoggingConfiguration (..),+    newGetVoiceConnectorLoggingConfiguration,++    -- * Request Lenses+    getVoiceConnectorLoggingConfiguration_voiceConnectorId,++    -- * Destructuring the Response+    GetVoiceConnectorLoggingConfigurationResponse (..),+    newGetVoiceConnectorLoggingConfigurationResponse,++    -- * Response Lenses+    getVoiceConnectorLoggingConfigurationResponse_loggingConfiguration,+    getVoiceConnectorLoggingConfigurationResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newGetVoiceConnectorLoggingConfiguration' smart constructor.+data GetVoiceConnectorLoggingConfiguration = GetVoiceConnectorLoggingConfiguration'+  { -- | The Amazon Chime Voice Connector ID.+    voiceConnectorId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetVoiceConnectorLoggingConfiguration' 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:+--+-- 'voiceConnectorId', 'getVoiceConnectorLoggingConfiguration_voiceConnectorId' - The Amazon Chime Voice Connector ID.+newGetVoiceConnectorLoggingConfiguration ::+  -- | 'voiceConnectorId'+  Prelude.Text ->+  GetVoiceConnectorLoggingConfiguration+newGetVoiceConnectorLoggingConfiguration+  pVoiceConnectorId_ =+    GetVoiceConnectorLoggingConfiguration'+      { voiceConnectorId =+          pVoiceConnectorId_+      }++-- | The Amazon Chime Voice Connector ID.+getVoiceConnectorLoggingConfiguration_voiceConnectorId :: Lens.Lens' GetVoiceConnectorLoggingConfiguration Prelude.Text+getVoiceConnectorLoggingConfiguration_voiceConnectorId = Lens.lens (\GetVoiceConnectorLoggingConfiguration' {voiceConnectorId} -> voiceConnectorId) (\s@GetVoiceConnectorLoggingConfiguration' {} a -> s {voiceConnectorId = a} :: GetVoiceConnectorLoggingConfiguration)++instance+  Core.AWSRequest+    GetVoiceConnectorLoggingConfiguration+  where+  type+    AWSResponse+      GetVoiceConnectorLoggingConfiguration =+      GetVoiceConnectorLoggingConfigurationResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetVoiceConnectorLoggingConfigurationResponse'+            Prelude.<$> (x Data..?> "LoggingConfiguration")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    GetVoiceConnectorLoggingConfiguration+  where+  hashWithSalt+    _salt+    GetVoiceConnectorLoggingConfiguration' {..} =+      _salt `Prelude.hashWithSalt` voiceConnectorId++instance+  Prelude.NFData+    GetVoiceConnectorLoggingConfiguration+  where+  rnf GetVoiceConnectorLoggingConfiguration' {..} =+    Prelude.rnf voiceConnectorId++instance+  Data.ToHeaders+    GetVoiceConnectorLoggingConfiguration+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToPath+    GetVoiceConnectorLoggingConfiguration+  where+  toPath GetVoiceConnectorLoggingConfiguration' {..} =+    Prelude.mconcat+      [ "/voice-connectors/",+        Data.toBS voiceConnectorId,+        "/logging-configuration"+      ]++instance+  Data.ToQuery+    GetVoiceConnectorLoggingConfiguration+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetVoiceConnectorLoggingConfigurationResponse' smart constructor.+data GetVoiceConnectorLoggingConfigurationResponse = GetVoiceConnectorLoggingConfigurationResponse'+  { -- | The logging configuration details.+    loggingConfiguration :: Prelude.Maybe LoggingConfiguration,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetVoiceConnectorLoggingConfigurationResponse' 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:+--+-- 'loggingConfiguration', 'getVoiceConnectorLoggingConfigurationResponse_loggingConfiguration' - The logging configuration details.+--+-- 'httpStatus', 'getVoiceConnectorLoggingConfigurationResponse_httpStatus' - The response's http status code.+newGetVoiceConnectorLoggingConfigurationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetVoiceConnectorLoggingConfigurationResponse+newGetVoiceConnectorLoggingConfigurationResponse+  pHttpStatus_ =+    GetVoiceConnectorLoggingConfigurationResponse'+      { loggingConfiguration =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The logging configuration details.+getVoiceConnectorLoggingConfigurationResponse_loggingConfiguration :: Lens.Lens' GetVoiceConnectorLoggingConfigurationResponse (Prelude.Maybe LoggingConfiguration)+getVoiceConnectorLoggingConfigurationResponse_loggingConfiguration = Lens.lens (\GetVoiceConnectorLoggingConfigurationResponse' {loggingConfiguration} -> loggingConfiguration) (\s@GetVoiceConnectorLoggingConfigurationResponse' {} a -> s {loggingConfiguration = a} :: GetVoiceConnectorLoggingConfigurationResponse)++-- | The response's http status code.+getVoiceConnectorLoggingConfigurationResponse_httpStatus :: Lens.Lens' GetVoiceConnectorLoggingConfigurationResponse Prelude.Int+getVoiceConnectorLoggingConfigurationResponse_httpStatus = Lens.lens (\GetVoiceConnectorLoggingConfigurationResponse' {httpStatus} -> httpStatus) (\s@GetVoiceConnectorLoggingConfigurationResponse' {} a -> s {httpStatus = a} :: GetVoiceConnectorLoggingConfigurationResponse)++instance+  Prelude.NFData+    GetVoiceConnectorLoggingConfigurationResponse+  where+  rnf+    GetVoiceConnectorLoggingConfigurationResponse' {..} =+      Prelude.rnf loggingConfiguration+        `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/GetVoiceConnectorOrigination.hs view
@@ -0,0 +1,165 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Chime.GetVoiceConnectorOrigination+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves origination setting details for the specified Amazon Chime+-- Voice Connector.+module Amazonka.Chime.GetVoiceConnectorOrigination+  ( -- * Creating a Request+    GetVoiceConnectorOrigination (..),+    newGetVoiceConnectorOrigination,++    -- * Request Lenses+    getVoiceConnectorOrigination_voiceConnectorId,++    -- * Destructuring the Response+    GetVoiceConnectorOriginationResponse (..),+    newGetVoiceConnectorOriginationResponse,++    -- * Response Lenses+    getVoiceConnectorOriginationResponse_origination,+    getVoiceConnectorOriginationResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newGetVoiceConnectorOrigination' smart constructor.+data GetVoiceConnectorOrigination = GetVoiceConnectorOrigination'+  { -- | The Amazon Chime Voice Connector ID.+    voiceConnectorId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetVoiceConnectorOrigination' 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:+--+-- 'voiceConnectorId', 'getVoiceConnectorOrigination_voiceConnectorId' - The Amazon Chime Voice Connector ID.+newGetVoiceConnectorOrigination ::+  -- | 'voiceConnectorId'+  Prelude.Text ->+  GetVoiceConnectorOrigination+newGetVoiceConnectorOrigination pVoiceConnectorId_ =+  GetVoiceConnectorOrigination'+    { voiceConnectorId =+        pVoiceConnectorId_+    }++-- | The Amazon Chime Voice Connector ID.+getVoiceConnectorOrigination_voiceConnectorId :: Lens.Lens' GetVoiceConnectorOrigination Prelude.Text+getVoiceConnectorOrigination_voiceConnectorId = Lens.lens (\GetVoiceConnectorOrigination' {voiceConnectorId} -> voiceConnectorId) (\s@GetVoiceConnectorOrigination' {} a -> s {voiceConnectorId = a} :: GetVoiceConnectorOrigination)++instance Core.AWSRequest GetVoiceConnectorOrigination where+  type+    AWSResponse GetVoiceConnectorOrigination =+      GetVoiceConnectorOriginationResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetVoiceConnectorOriginationResponse'+            Prelude.<$> (x Data..?> "Origination")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    GetVoiceConnectorOrigination+  where+  hashWithSalt _salt GetVoiceConnectorOrigination' {..} =+    _salt `Prelude.hashWithSalt` voiceConnectorId++instance Prelude.NFData GetVoiceConnectorOrigination where+  rnf GetVoiceConnectorOrigination' {..} =+    Prelude.rnf voiceConnectorId++instance Data.ToHeaders GetVoiceConnectorOrigination where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath GetVoiceConnectorOrigination where+  toPath GetVoiceConnectorOrigination' {..} =+    Prelude.mconcat+      [ "/voice-connectors/",+        Data.toBS voiceConnectorId,+        "/origination"+      ]++instance Data.ToQuery GetVoiceConnectorOrigination where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetVoiceConnectorOriginationResponse' smart constructor.+data GetVoiceConnectorOriginationResponse = GetVoiceConnectorOriginationResponse'+  { -- | The origination setting details.+    origination :: Prelude.Maybe Origination,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetVoiceConnectorOriginationResponse' 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:+--+-- 'origination', 'getVoiceConnectorOriginationResponse_origination' - The origination setting details.+--+-- 'httpStatus', 'getVoiceConnectorOriginationResponse_httpStatus' - The response's http status code.+newGetVoiceConnectorOriginationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetVoiceConnectorOriginationResponse+newGetVoiceConnectorOriginationResponse pHttpStatus_ =+  GetVoiceConnectorOriginationResponse'+    { origination =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The origination setting details.+getVoiceConnectorOriginationResponse_origination :: Lens.Lens' GetVoiceConnectorOriginationResponse (Prelude.Maybe Origination)+getVoiceConnectorOriginationResponse_origination = Lens.lens (\GetVoiceConnectorOriginationResponse' {origination} -> origination) (\s@GetVoiceConnectorOriginationResponse' {} a -> s {origination = a} :: GetVoiceConnectorOriginationResponse)++-- | The response's http status code.+getVoiceConnectorOriginationResponse_httpStatus :: Lens.Lens' GetVoiceConnectorOriginationResponse Prelude.Int+getVoiceConnectorOriginationResponse_httpStatus = Lens.lens (\GetVoiceConnectorOriginationResponse' {httpStatus} -> httpStatus) (\s@GetVoiceConnectorOriginationResponse' {} a -> s {httpStatus = a} :: GetVoiceConnectorOriginationResponse)++instance+  Prelude.NFData+    GetVoiceConnectorOriginationResponse+  where+  rnf GetVoiceConnectorOriginationResponse' {..} =+    Prelude.rnf origination+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/GetVoiceConnectorProxy.hs view
@@ -0,0 +1,162 @@+{-# 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.Chime.GetVoiceConnectorProxy+-- 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 proxy configuration details for the specified Amazon Chime+-- Voice Connector.+module Amazonka.Chime.GetVoiceConnectorProxy+  ( -- * Creating a Request+    GetVoiceConnectorProxy (..),+    newGetVoiceConnectorProxy,++    -- * Request Lenses+    getVoiceConnectorProxy_voiceConnectorId,++    -- * Destructuring the Response+    GetVoiceConnectorProxyResponse (..),+    newGetVoiceConnectorProxyResponse,++    -- * Response Lenses+    getVoiceConnectorProxyResponse_proxy,+    getVoiceConnectorProxyResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newGetVoiceConnectorProxy' smart constructor.+data GetVoiceConnectorProxy = GetVoiceConnectorProxy'+  { -- | The Amazon Chime voice connector ID.+    voiceConnectorId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetVoiceConnectorProxy' 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:+--+-- 'voiceConnectorId', 'getVoiceConnectorProxy_voiceConnectorId' - The Amazon Chime voice connector ID.+newGetVoiceConnectorProxy ::+  -- | 'voiceConnectorId'+  Prelude.Text ->+  GetVoiceConnectorProxy+newGetVoiceConnectorProxy pVoiceConnectorId_ =+  GetVoiceConnectorProxy'+    { voiceConnectorId =+        pVoiceConnectorId_+    }++-- | The Amazon Chime voice connector ID.+getVoiceConnectorProxy_voiceConnectorId :: Lens.Lens' GetVoiceConnectorProxy Prelude.Text+getVoiceConnectorProxy_voiceConnectorId = Lens.lens (\GetVoiceConnectorProxy' {voiceConnectorId} -> voiceConnectorId) (\s@GetVoiceConnectorProxy' {} a -> s {voiceConnectorId = a} :: GetVoiceConnectorProxy)++instance Core.AWSRequest GetVoiceConnectorProxy where+  type+    AWSResponse GetVoiceConnectorProxy =+      GetVoiceConnectorProxyResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetVoiceConnectorProxyResponse'+            Prelude.<$> (x Data..?> "Proxy")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetVoiceConnectorProxy where+  hashWithSalt _salt GetVoiceConnectorProxy' {..} =+    _salt `Prelude.hashWithSalt` voiceConnectorId++instance Prelude.NFData GetVoiceConnectorProxy where+  rnf GetVoiceConnectorProxy' {..} =+    Prelude.rnf voiceConnectorId++instance Data.ToHeaders GetVoiceConnectorProxy where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath GetVoiceConnectorProxy where+  toPath GetVoiceConnectorProxy' {..} =+    Prelude.mconcat+      [ "/voice-connectors/",+        Data.toBS voiceConnectorId,+        "/programmable-numbers/proxy"+      ]++instance Data.ToQuery GetVoiceConnectorProxy where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetVoiceConnectorProxyResponse' smart constructor.+data GetVoiceConnectorProxyResponse = GetVoiceConnectorProxyResponse'+  { -- | The proxy configuration details.+    proxy :: Prelude.Maybe Proxy,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetVoiceConnectorProxyResponse' 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:+--+-- 'proxy', 'getVoiceConnectorProxyResponse_proxy' - The proxy configuration details.+--+-- 'httpStatus', 'getVoiceConnectorProxyResponse_httpStatus' - The response's http status code.+newGetVoiceConnectorProxyResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetVoiceConnectorProxyResponse+newGetVoiceConnectorProxyResponse pHttpStatus_ =+  GetVoiceConnectorProxyResponse'+    { proxy =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The proxy configuration details.+getVoiceConnectorProxyResponse_proxy :: Lens.Lens' GetVoiceConnectorProxyResponse (Prelude.Maybe Proxy)+getVoiceConnectorProxyResponse_proxy = Lens.lens (\GetVoiceConnectorProxyResponse' {proxy} -> proxy) (\s@GetVoiceConnectorProxyResponse' {} a -> s {proxy = a} :: GetVoiceConnectorProxyResponse)++-- | The response's http status code.+getVoiceConnectorProxyResponse_httpStatus :: Lens.Lens' GetVoiceConnectorProxyResponse Prelude.Int+getVoiceConnectorProxyResponse_httpStatus = Lens.lens (\GetVoiceConnectorProxyResponse' {httpStatus} -> httpStatus) (\s@GetVoiceConnectorProxyResponse' {} a -> s {httpStatus = a} :: GetVoiceConnectorProxyResponse)++instance+  Prelude.NFData+    GetVoiceConnectorProxyResponse+  where+  rnf GetVoiceConnectorProxyResponse' {..} =+    Prelude.rnf proxy+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/GetVoiceConnectorStreamingConfiguration.hs view
@@ -0,0 +1,188 @@+{-# 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.Chime.GetVoiceConnectorStreamingConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the streaming configuration details for the specified Amazon+-- Chime Voice Connector. Shows whether media streaming is enabled for+-- sending to Amazon Kinesis. It also shows the retention period, in hours,+-- for the Amazon Kinesis data.+module Amazonka.Chime.GetVoiceConnectorStreamingConfiguration+  ( -- * Creating a Request+    GetVoiceConnectorStreamingConfiguration (..),+    newGetVoiceConnectorStreamingConfiguration,++    -- * Request Lenses+    getVoiceConnectorStreamingConfiguration_voiceConnectorId,++    -- * Destructuring the Response+    GetVoiceConnectorStreamingConfigurationResponse (..),+    newGetVoiceConnectorStreamingConfigurationResponse,++    -- * Response Lenses+    getVoiceConnectorStreamingConfigurationResponse_streamingConfiguration,+    getVoiceConnectorStreamingConfigurationResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newGetVoiceConnectorStreamingConfiguration' smart constructor.+data GetVoiceConnectorStreamingConfiguration = GetVoiceConnectorStreamingConfiguration'+  { -- | The Amazon Chime Voice Connector ID.+    voiceConnectorId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetVoiceConnectorStreamingConfiguration' 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:+--+-- 'voiceConnectorId', 'getVoiceConnectorStreamingConfiguration_voiceConnectorId' - The Amazon Chime Voice Connector ID.+newGetVoiceConnectorStreamingConfiguration ::+  -- | 'voiceConnectorId'+  Prelude.Text ->+  GetVoiceConnectorStreamingConfiguration+newGetVoiceConnectorStreamingConfiguration+  pVoiceConnectorId_ =+    GetVoiceConnectorStreamingConfiguration'+      { voiceConnectorId =+          pVoiceConnectorId_+      }++-- | The Amazon Chime Voice Connector ID.+getVoiceConnectorStreamingConfiguration_voiceConnectorId :: Lens.Lens' GetVoiceConnectorStreamingConfiguration Prelude.Text+getVoiceConnectorStreamingConfiguration_voiceConnectorId = Lens.lens (\GetVoiceConnectorStreamingConfiguration' {voiceConnectorId} -> voiceConnectorId) (\s@GetVoiceConnectorStreamingConfiguration' {} a -> s {voiceConnectorId = a} :: GetVoiceConnectorStreamingConfiguration)++instance+  Core.AWSRequest+    GetVoiceConnectorStreamingConfiguration+  where+  type+    AWSResponse+      GetVoiceConnectorStreamingConfiguration =+      GetVoiceConnectorStreamingConfigurationResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetVoiceConnectorStreamingConfigurationResponse'+            Prelude.<$> (x Data..?> "StreamingConfiguration")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    GetVoiceConnectorStreamingConfiguration+  where+  hashWithSalt+    _salt+    GetVoiceConnectorStreamingConfiguration' {..} =+      _salt `Prelude.hashWithSalt` voiceConnectorId++instance+  Prelude.NFData+    GetVoiceConnectorStreamingConfiguration+  where+  rnf GetVoiceConnectorStreamingConfiguration' {..} =+    Prelude.rnf voiceConnectorId++instance+  Data.ToHeaders+    GetVoiceConnectorStreamingConfiguration+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToPath+    GetVoiceConnectorStreamingConfiguration+  where+  toPath GetVoiceConnectorStreamingConfiguration' {..} =+    Prelude.mconcat+      [ "/voice-connectors/",+        Data.toBS voiceConnectorId,+        "/streaming-configuration"+      ]++instance+  Data.ToQuery+    GetVoiceConnectorStreamingConfiguration+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetVoiceConnectorStreamingConfigurationResponse' smart constructor.+data GetVoiceConnectorStreamingConfigurationResponse = GetVoiceConnectorStreamingConfigurationResponse'+  { -- | The streaming configuration details.+    streamingConfiguration :: Prelude.Maybe StreamingConfiguration,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetVoiceConnectorStreamingConfigurationResponse' 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:+--+-- 'streamingConfiguration', 'getVoiceConnectorStreamingConfigurationResponse_streamingConfiguration' - The streaming configuration details.+--+-- 'httpStatus', 'getVoiceConnectorStreamingConfigurationResponse_httpStatus' - The response's http status code.+newGetVoiceConnectorStreamingConfigurationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetVoiceConnectorStreamingConfigurationResponse+newGetVoiceConnectorStreamingConfigurationResponse+  pHttpStatus_ =+    GetVoiceConnectorStreamingConfigurationResponse'+      { streamingConfiguration =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The streaming configuration details.+getVoiceConnectorStreamingConfigurationResponse_streamingConfiguration :: Lens.Lens' GetVoiceConnectorStreamingConfigurationResponse (Prelude.Maybe StreamingConfiguration)+getVoiceConnectorStreamingConfigurationResponse_streamingConfiguration = Lens.lens (\GetVoiceConnectorStreamingConfigurationResponse' {streamingConfiguration} -> streamingConfiguration) (\s@GetVoiceConnectorStreamingConfigurationResponse' {} a -> s {streamingConfiguration = a} :: GetVoiceConnectorStreamingConfigurationResponse)++-- | The response's http status code.+getVoiceConnectorStreamingConfigurationResponse_httpStatus :: Lens.Lens' GetVoiceConnectorStreamingConfigurationResponse Prelude.Int+getVoiceConnectorStreamingConfigurationResponse_httpStatus = Lens.lens (\GetVoiceConnectorStreamingConfigurationResponse' {httpStatus} -> httpStatus) (\s@GetVoiceConnectorStreamingConfigurationResponse' {} a -> s {httpStatus = a} :: GetVoiceConnectorStreamingConfigurationResponse)++instance+  Prelude.NFData+    GetVoiceConnectorStreamingConfigurationResponse+  where+  rnf+    GetVoiceConnectorStreamingConfigurationResponse' {..} =+      Prelude.rnf streamingConfiguration+        `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/GetVoiceConnectorTermination.hs view
@@ -0,0 +1,165 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Chime.GetVoiceConnectorTermination+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves termination setting details for the specified Amazon Chime+-- Voice Connector.+module Amazonka.Chime.GetVoiceConnectorTermination+  ( -- * Creating a Request+    GetVoiceConnectorTermination (..),+    newGetVoiceConnectorTermination,++    -- * Request Lenses+    getVoiceConnectorTermination_voiceConnectorId,++    -- * Destructuring the Response+    GetVoiceConnectorTerminationResponse (..),+    newGetVoiceConnectorTerminationResponse,++    -- * Response Lenses+    getVoiceConnectorTerminationResponse_termination,+    getVoiceConnectorTerminationResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newGetVoiceConnectorTermination' smart constructor.+data GetVoiceConnectorTermination = GetVoiceConnectorTermination'+  { -- | The Amazon Chime Voice Connector ID.+    voiceConnectorId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetVoiceConnectorTermination' 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:+--+-- 'voiceConnectorId', 'getVoiceConnectorTermination_voiceConnectorId' - The Amazon Chime Voice Connector ID.+newGetVoiceConnectorTermination ::+  -- | 'voiceConnectorId'+  Prelude.Text ->+  GetVoiceConnectorTermination+newGetVoiceConnectorTermination pVoiceConnectorId_ =+  GetVoiceConnectorTermination'+    { voiceConnectorId =+        pVoiceConnectorId_+    }++-- | The Amazon Chime Voice Connector ID.+getVoiceConnectorTermination_voiceConnectorId :: Lens.Lens' GetVoiceConnectorTermination Prelude.Text+getVoiceConnectorTermination_voiceConnectorId = Lens.lens (\GetVoiceConnectorTermination' {voiceConnectorId} -> voiceConnectorId) (\s@GetVoiceConnectorTermination' {} a -> s {voiceConnectorId = a} :: GetVoiceConnectorTermination)++instance Core.AWSRequest GetVoiceConnectorTermination where+  type+    AWSResponse GetVoiceConnectorTermination =+      GetVoiceConnectorTerminationResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetVoiceConnectorTerminationResponse'+            Prelude.<$> (x Data..?> "Termination")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    GetVoiceConnectorTermination+  where+  hashWithSalt _salt GetVoiceConnectorTermination' {..} =+    _salt `Prelude.hashWithSalt` voiceConnectorId++instance Prelude.NFData GetVoiceConnectorTermination where+  rnf GetVoiceConnectorTermination' {..} =+    Prelude.rnf voiceConnectorId++instance Data.ToHeaders GetVoiceConnectorTermination where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath GetVoiceConnectorTermination where+  toPath GetVoiceConnectorTermination' {..} =+    Prelude.mconcat+      [ "/voice-connectors/",+        Data.toBS voiceConnectorId,+        "/termination"+      ]++instance Data.ToQuery GetVoiceConnectorTermination where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetVoiceConnectorTerminationResponse' smart constructor.+data GetVoiceConnectorTerminationResponse = GetVoiceConnectorTerminationResponse'+  { -- | The termination setting details.+    termination :: Prelude.Maybe Termination,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetVoiceConnectorTerminationResponse' 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:+--+-- 'termination', 'getVoiceConnectorTerminationResponse_termination' - The termination setting details.+--+-- 'httpStatus', 'getVoiceConnectorTerminationResponse_httpStatus' - The response's http status code.+newGetVoiceConnectorTerminationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetVoiceConnectorTerminationResponse+newGetVoiceConnectorTerminationResponse pHttpStatus_ =+  GetVoiceConnectorTerminationResponse'+    { termination =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The termination setting details.+getVoiceConnectorTerminationResponse_termination :: Lens.Lens' GetVoiceConnectorTerminationResponse (Prelude.Maybe Termination)+getVoiceConnectorTerminationResponse_termination = Lens.lens (\GetVoiceConnectorTerminationResponse' {termination} -> termination) (\s@GetVoiceConnectorTerminationResponse' {} a -> s {termination = a} :: GetVoiceConnectorTerminationResponse)++-- | The response's http status code.+getVoiceConnectorTerminationResponse_httpStatus :: Lens.Lens' GetVoiceConnectorTerminationResponse Prelude.Int+getVoiceConnectorTerminationResponse_httpStatus = Lens.lens (\GetVoiceConnectorTerminationResponse' {httpStatus} -> httpStatus) (\s@GetVoiceConnectorTerminationResponse' {} a -> s {httpStatus = a} :: GetVoiceConnectorTerminationResponse)++instance+  Prelude.NFData+    GetVoiceConnectorTerminationResponse+  where+  rnf GetVoiceConnectorTerminationResponse' {..} =+    Prelude.rnf termination+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/GetVoiceConnectorTerminationHealth.hs view
@@ -0,0 +1,185 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Chime.GetVoiceConnectorTerminationHealth+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves information about the last time a SIP @OPTIONS@ ping was+-- received from your SIP infrastructure for the specified Amazon Chime+-- Voice Connector.+module Amazonka.Chime.GetVoiceConnectorTerminationHealth+  ( -- * Creating a Request+    GetVoiceConnectorTerminationHealth (..),+    newGetVoiceConnectorTerminationHealth,++    -- * Request Lenses+    getVoiceConnectorTerminationHealth_voiceConnectorId,++    -- * Destructuring the Response+    GetVoiceConnectorTerminationHealthResponse (..),+    newGetVoiceConnectorTerminationHealthResponse,++    -- * Response Lenses+    getVoiceConnectorTerminationHealthResponse_terminationHealth,+    getVoiceConnectorTerminationHealthResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newGetVoiceConnectorTerminationHealth' smart constructor.+data GetVoiceConnectorTerminationHealth = GetVoiceConnectorTerminationHealth'+  { -- | The Amazon Chime Voice Connector ID.+    voiceConnectorId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetVoiceConnectorTerminationHealth' 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:+--+-- 'voiceConnectorId', 'getVoiceConnectorTerminationHealth_voiceConnectorId' - The Amazon Chime Voice Connector ID.+newGetVoiceConnectorTerminationHealth ::+  -- | 'voiceConnectorId'+  Prelude.Text ->+  GetVoiceConnectorTerminationHealth+newGetVoiceConnectorTerminationHealth+  pVoiceConnectorId_ =+    GetVoiceConnectorTerminationHealth'+      { voiceConnectorId =+          pVoiceConnectorId_+      }++-- | The Amazon Chime Voice Connector ID.+getVoiceConnectorTerminationHealth_voiceConnectorId :: Lens.Lens' GetVoiceConnectorTerminationHealth Prelude.Text+getVoiceConnectorTerminationHealth_voiceConnectorId = Lens.lens (\GetVoiceConnectorTerminationHealth' {voiceConnectorId} -> voiceConnectorId) (\s@GetVoiceConnectorTerminationHealth' {} a -> s {voiceConnectorId = a} :: GetVoiceConnectorTerminationHealth)++instance+  Core.AWSRequest+    GetVoiceConnectorTerminationHealth+  where+  type+    AWSResponse GetVoiceConnectorTerminationHealth =+      GetVoiceConnectorTerminationHealthResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetVoiceConnectorTerminationHealthResponse'+            Prelude.<$> (x Data..?> "TerminationHealth")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    GetVoiceConnectorTerminationHealth+  where+  hashWithSalt+    _salt+    GetVoiceConnectorTerminationHealth' {..} =+      _salt `Prelude.hashWithSalt` voiceConnectorId++instance+  Prelude.NFData+    GetVoiceConnectorTerminationHealth+  where+  rnf GetVoiceConnectorTerminationHealth' {..} =+    Prelude.rnf voiceConnectorId++instance+  Data.ToHeaders+    GetVoiceConnectorTerminationHealth+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToPath+    GetVoiceConnectorTerminationHealth+  where+  toPath GetVoiceConnectorTerminationHealth' {..} =+    Prelude.mconcat+      [ "/voice-connectors/",+        Data.toBS voiceConnectorId,+        "/termination/health"+      ]++instance+  Data.ToQuery+    GetVoiceConnectorTerminationHealth+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetVoiceConnectorTerminationHealthResponse' smart constructor.+data GetVoiceConnectorTerminationHealthResponse = GetVoiceConnectorTerminationHealthResponse'+  { -- | The termination health details.+    terminationHealth :: Prelude.Maybe TerminationHealth,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetVoiceConnectorTerminationHealthResponse' 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:+--+-- 'terminationHealth', 'getVoiceConnectorTerminationHealthResponse_terminationHealth' - The termination health details.+--+-- 'httpStatus', 'getVoiceConnectorTerminationHealthResponse_httpStatus' - The response's http status code.+newGetVoiceConnectorTerminationHealthResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetVoiceConnectorTerminationHealthResponse+newGetVoiceConnectorTerminationHealthResponse+  pHttpStatus_ =+    GetVoiceConnectorTerminationHealthResponse'+      { terminationHealth =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The termination health details.+getVoiceConnectorTerminationHealthResponse_terminationHealth :: Lens.Lens' GetVoiceConnectorTerminationHealthResponse (Prelude.Maybe TerminationHealth)+getVoiceConnectorTerminationHealthResponse_terminationHealth = Lens.lens (\GetVoiceConnectorTerminationHealthResponse' {terminationHealth} -> terminationHealth) (\s@GetVoiceConnectorTerminationHealthResponse' {} a -> s {terminationHealth = a} :: GetVoiceConnectorTerminationHealthResponse)++-- | The response's http status code.+getVoiceConnectorTerminationHealthResponse_httpStatus :: Lens.Lens' GetVoiceConnectorTerminationHealthResponse Prelude.Int+getVoiceConnectorTerminationHealthResponse_httpStatus = Lens.lens (\GetVoiceConnectorTerminationHealthResponse' {httpStatus} -> httpStatus) (\s@GetVoiceConnectorTerminationHealthResponse' {} a -> s {httpStatus = a} :: GetVoiceConnectorTerminationHealthResponse)++instance+  Prelude.NFData+    GetVoiceConnectorTerminationHealthResponse+  where+  rnf GetVoiceConnectorTerminationHealthResponse' {..} =+    Prelude.rnf terminationHealth+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/InviteUsers.hs view
@@ -0,0 +1,189 @@+{-# 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.Chime.InviteUsers+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Sends email to a maximum of 50 users, inviting them to the specified+-- Amazon Chime @Team@ account. Only @Team@ account types are currently+-- supported for this action.+module Amazonka.Chime.InviteUsers+  ( -- * Creating a Request+    InviteUsers (..),+    newInviteUsers,++    -- * Request Lenses+    inviteUsers_userType,+    inviteUsers_accountId,+    inviteUsers_userEmailList,++    -- * Destructuring the Response+    InviteUsersResponse (..),+    newInviteUsersResponse,++    -- * Response Lenses+    inviteUsersResponse_invites,+    inviteUsersResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newInviteUsers' smart constructor.+data InviteUsers = InviteUsers'+  { -- | The user type.+    userType :: Prelude.Maybe UserType,+    -- | The Amazon Chime account ID.+    accountId :: Prelude.Text,+    -- | The user email addresses to which to send the email invitation.+    userEmailList :: [Data.Sensitive Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'InviteUsers' 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:+--+-- 'userType', 'inviteUsers_userType' - The user type.+--+-- 'accountId', 'inviteUsers_accountId' - The Amazon Chime account ID.+--+-- 'userEmailList', 'inviteUsers_userEmailList' - The user email addresses to which to send the email invitation.+newInviteUsers ::+  -- | 'accountId'+  Prelude.Text ->+  InviteUsers+newInviteUsers pAccountId_ =+  InviteUsers'+    { userType = Prelude.Nothing,+      accountId = pAccountId_,+      userEmailList = Prelude.mempty+    }++-- | The user type.+inviteUsers_userType :: Lens.Lens' InviteUsers (Prelude.Maybe UserType)+inviteUsers_userType = Lens.lens (\InviteUsers' {userType} -> userType) (\s@InviteUsers' {} a -> s {userType = a} :: InviteUsers)++-- | The Amazon Chime account ID.+inviteUsers_accountId :: Lens.Lens' InviteUsers Prelude.Text+inviteUsers_accountId = Lens.lens (\InviteUsers' {accountId} -> accountId) (\s@InviteUsers' {} a -> s {accountId = a} :: InviteUsers)++-- | The user email addresses to which to send the email invitation.+inviteUsers_userEmailList :: Lens.Lens' InviteUsers [Prelude.Text]+inviteUsers_userEmailList = Lens.lens (\InviteUsers' {userEmailList} -> userEmailList) (\s@InviteUsers' {} a -> s {userEmailList = a} :: InviteUsers) Prelude.. Lens.coerced++instance Core.AWSRequest InviteUsers where+  type AWSResponse InviteUsers = InviteUsersResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          InviteUsersResponse'+            Prelude.<$> (x Data..?> "Invites" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable InviteUsers where+  hashWithSalt _salt InviteUsers' {..} =+    _salt+      `Prelude.hashWithSalt` userType+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` userEmailList++instance Prelude.NFData InviteUsers where+  rnf InviteUsers' {..} =+    Prelude.rnf userType+      `Prelude.seq` Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf userEmailList++instance Data.ToHeaders InviteUsers where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON InviteUsers where+  toJSON InviteUsers' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("UserType" Data..=) Prelude.<$> userType,+            Prelude.Just+              ("UserEmailList" Data..= userEmailList)+          ]+      )++instance Data.ToPath InviteUsers where+  toPath InviteUsers' {..} =+    Prelude.mconcat+      ["/accounts/", Data.toBS accountId, "/users"]++instance Data.ToQuery InviteUsers where+  toQuery =+    Prelude.const (Prelude.mconcat ["operation=add"])++-- | /See:/ 'newInviteUsersResponse' smart constructor.+data InviteUsersResponse = InviteUsersResponse'+  { -- | The email invitation details.+    invites :: Prelude.Maybe [Invite],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'InviteUsersResponse' 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:+--+-- 'invites', 'inviteUsersResponse_invites' - The email invitation details.+--+-- 'httpStatus', 'inviteUsersResponse_httpStatus' - The response's http status code.+newInviteUsersResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  InviteUsersResponse+newInviteUsersResponse pHttpStatus_ =+  InviteUsersResponse'+    { invites = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The email invitation details.+inviteUsersResponse_invites :: Lens.Lens' InviteUsersResponse (Prelude.Maybe [Invite])+inviteUsersResponse_invites = Lens.lens (\InviteUsersResponse' {invites} -> invites) (\s@InviteUsersResponse' {} a -> s {invites = a} :: InviteUsersResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+inviteUsersResponse_httpStatus :: Lens.Lens' InviteUsersResponse Prelude.Int+inviteUsersResponse_httpStatus = Lens.lens (\InviteUsersResponse' {httpStatus} -> httpStatus) (\s@InviteUsersResponse' {} a -> s {httpStatus = a} :: InviteUsersResponse)++instance Prelude.NFData InviteUsersResponse where+  rnf InviteUsersResponse' {..} =+    Prelude.rnf invites+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/Lens.hs view
@@ -0,0 +1,2101 @@+{-# 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.Chime.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.Chime.Lens+  ( -- * Operations++    -- ** AssociatePhoneNumberWithUser+    associatePhoneNumberWithUser_accountId,+    associatePhoneNumberWithUser_userId,+    associatePhoneNumberWithUser_e164PhoneNumber,+    associatePhoneNumberWithUserResponse_httpStatus,++    -- ** AssociatePhoneNumbersWithVoiceConnector+    associatePhoneNumbersWithVoiceConnector_forceAssociate,+    associatePhoneNumbersWithVoiceConnector_voiceConnectorId,+    associatePhoneNumbersWithVoiceConnector_e164PhoneNumbers,+    associatePhoneNumbersWithVoiceConnectorResponse_phoneNumberErrors,+    associatePhoneNumbersWithVoiceConnectorResponse_httpStatus,++    -- ** AssociatePhoneNumbersWithVoiceConnectorGroup+    associatePhoneNumbersWithVoiceConnectorGroup_forceAssociate,+    associatePhoneNumbersWithVoiceConnectorGroup_voiceConnectorGroupId,+    associatePhoneNumbersWithVoiceConnectorGroup_e164PhoneNumbers,+    associatePhoneNumbersWithVoiceConnectorGroupResponse_phoneNumberErrors,+    associatePhoneNumbersWithVoiceConnectorGroupResponse_httpStatus,++    -- ** AssociateSigninDelegateGroupsWithAccount+    associateSigninDelegateGroupsWithAccount_accountId,+    associateSigninDelegateGroupsWithAccount_signinDelegateGroups,+    associateSigninDelegateGroupsWithAccountResponse_httpStatus,++    -- ** BatchCreateAttendee+    batchCreateAttendee_meetingId,+    batchCreateAttendee_attendees,+    batchCreateAttendeeResponse_attendees,+    batchCreateAttendeeResponse_errors,+    batchCreateAttendeeResponse_httpStatus,++    -- ** BatchCreateChannelMembership+    batchCreateChannelMembership_chimeBearer,+    batchCreateChannelMembership_type,+    batchCreateChannelMembership_channelArn,+    batchCreateChannelMembership_memberArns,+    batchCreateChannelMembershipResponse_batchChannelMemberships,+    batchCreateChannelMembershipResponse_errors,+    batchCreateChannelMembershipResponse_httpStatus,++    -- ** BatchCreateRoomMembership+    batchCreateRoomMembership_accountId,+    batchCreateRoomMembership_roomId,+    batchCreateRoomMembership_membershipItemList,+    batchCreateRoomMembershipResponse_errors,+    batchCreateRoomMembershipResponse_httpStatus,++    -- ** BatchDeletePhoneNumber+    batchDeletePhoneNumber_phoneNumberIds,+    batchDeletePhoneNumberResponse_phoneNumberErrors,+    batchDeletePhoneNumberResponse_httpStatus,++    -- ** BatchSuspendUser+    batchSuspendUser_accountId,+    batchSuspendUser_userIdList,+    batchSuspendUserResponse_userErrors,+    batchSuspendUserResponse_httpStatus,++    -- ** BatchUnsuspendUser+    batchUnsuspendUser_accountId,+    batchUnsuspendUser_userIdList,+    batchUnsuspendUserResponse_userErrors,+    batchUnsuspendUserResponse_httpStatus,++    -- ** BatchUpdatePhoneNumber+    batchUpdatePhoneNumber_updatePhoneNumberRequestItems,+    batchUpdatePhoneNumberResponse_phoneNumberErrors,+    batchUpdatePhoneNumberResponse_httpStatus,++    -- ** BatchUpdateUser+    batchUpdateUser_accountId,+    batchUpdateUser_updateUserRequestItems,+    batchUpdateUserResponse_userErrors,+    batchUpdateUserResponse_httpStatus,++    -- ** CreateAccount+    createAccount_name,+    createAccountResponse_account,+    createAccountResponse_httpStatus,++    -- ** CreateAppInstance+    createAppInstance_metadata,+    createAppInstance_tags,+    createAppInstance_name,+    createAppInstance_clientRequestToken,+    createAppInstanceResponse_appInstanceArn,+    createAppInstanceResponse_httpStatus,++    -- ** CreateAppInstanceAdmin+    createAppInstanceAdmin_appInstanceAdminArn,+    createAppInstanceAdmin_appInstanceArn,+    createAppInstanceAdminResponse_appInstanceAdmin,+    createAppInstanceAdminResponse_appInstanceArn,+    createAppInstanceAdminResponse_httpStatus,++    -- ** CreateAppInstanceUser+    createAppInstanceUser_metadata,+    createAppInstanceUser_tags,+    createAppInstanceUser_appInstanceArn,+    createAppInstanceUser_appInstanceUserId,+    createAppInstanceUser_name,+    createAppInstanceUser_clientRequestToken,+    createAppInstanceUserResponse_appInstanceUserArn,+    createAppInstanceUserResponse_httpStatus,++    -- ** CreateAttendee+    createAttendee_tags,+    createAttendee_meetingId,+    createAttendee_externalUserId,+    createAttendeeResponse_attendee,+    createAttendeeResponse_httpStatus,++    -- ** CreateBot+    createBot_domain,+    createBot_displayName,+    createBot_accountId,+    createBotResponse_bot,+    createBotResponse_httpStatus,++    -- ** CreateChannel+    createChannel_chimeBearer,+    createChannel_metadata,+    createChannel_mode,+    createChannel_privacy,+    createChannel_tags,+    createChannel_appInstanceArn,+    createChannel_name,+    createChannel_clientRequestToken,+    createChannelResponse_channelArn,+    createChannelResponse_httpStatus,++    -- ** CreateChannelBan+    createChannelBan_chimeBearer,+    createChannelBan_channelArn,+    createChannelBan_memberArn,+    createChannelBanResponse_channelArn,+    createChannelBanResponse_member,+    createChannelBanResponse_httpStatus,++    -- ** CreateChannelMembership+    createChannelMembership_chimeBearer,+    createChannelMembership_channelArn,+    createChannelMembership_memberArn,+    createChannelMembership_type,+    createChannelMembershipResponse_channelArn,+    createChannelMembershipResponse_member,+    createChannelMembershipResponse_httpStatus,++    -- ** CreateChannelModerator+    createChannelModerator_chimeBearer,+    createChannelModerator_channelArn,+    createChannelModerator_channelModeratorArn,+    createChannelModeratorResponse_channelArn,+    createChannelModeratorResponse_channelModerator,+    createChannelModeratorResponse_httpStatus,++    -- ** CreateMediaCapturePipeline+    createMediaCapturePipeline_chimeSdkMeetingConfiguration,+    createMediaCapturePipeline_clientRequestToken,+    createMediaCapturePipeline_sourceType,+    createMediaCapturePipeline_sourceArn,+    createMediaCapturePipeline_sinkType,+    createMediaCapturePipeline_sinkArn,+    createMediaCapturePipelineResponse_mediaCapturePipeline,+    createMediaCapturePipelineResponse_httpStatus,++    -- ** CreateMeeting+    createMeeting_externalMeetingId,+    createMeeting_mediaRegion,+    createMeeting_meetingHostId,+    createMeeting_notificationsConfiguration,+    createMeeting_tags,+    createMeeting_clientRequestToken,+    createMeetingResponse_meeting,+    createMeetingResponse_httpStatus,++    -- ** CreateMeetingDialOut+    createMeetingDialOut_meetingId,+    createMeetingDialOut_fromPhoneNumber,+    createMeetingDialOut_toPhoneNumber,+    createMeetingDialOut_joinToken,+    createMeetingDialOutResponse_transactionId,+    createMeetingDialOutResponse_httpStatus,++    -- ** CreateMeetingWithAttendees+    createMeetingWithAttendees_attendees,+    createMeetingWithAttendees_externalMeetingId,+    createMeetingWithAttendees_mediaRegion,+    createMeetingWithAttendees_meetingHostId,+    createMeetingWithAttendees_notificationsConfiguration,+    createMeetingWithAttendees_tags,+    createMeetingWithAttendees_clientRequestToken,+    createMeetingWithAttendeesResponse_attendees,+    createMeetingWithAttendeesResponse_errors,+    createMeetingWithAttendeesResponse_meeting,+    createMeetingWithAttendeesResponse_httpStatus,++    -- ** CreatePhoneNumberOrder+    createPhoneNumberOrder_productType,+    createPhoneNumberOrder_e164PhoneNumbers,+    createPhoneNumberOrderResponse_phoneNumberOrder,+    createPhoneNumberOrderResponse_httpStatus,++    -- ** CreateProxySession+    createProxySession_expiryMinutes,+    createProxySession_geoMatchLevel,+    createProxySession_geoMatchParams,+    createProxySession_name,+    createProxySession_numberSelectionBehavior,+    createProxySession_participantPhoneNumbers,+    createProxySession_capabilities,+    createProxySession_voiceConnectorId,+    createProxySessionResponse_proxySession,+    createProxySessionResponse_httpStatus,++    -- ** CreateRoom+    createRoom_clientRequestToken,+    createRoom_accountId,+    createRoom_name,+    createRoomResponse_room,+    createRoomResponse_httpStatus,++    -- ** CreateRoomMembership+    createRoomMembership_role,+    createRoomMembership_accountId,+    createRoomMembership_roomId,+    createRoomMembership_memberId,+    createRoomMembershipResponse_roomMembership,+    createRoomMembershipResponse_httpStatus,++    -- ** CreateSipMediaApplication+    createSipMediaApplication_awsRegion,+    createSipMediaApplication_name,+    createSipMediaApplication_endpoints,+    createSipMediaApplicationResponse_sipMediaApplication,+    createSipMediaApplicationResponse_httpStatus,++    -- ** CreateSipMediaApplicationCall+    createSipMediaApplicationCall_sipHeaders,+    createSipMediaApplicationCall_fromPhoneNumber,+    createSipMediaApplicationCall_toPhoneNumber,+    createSipMediaApplicationCall_sipMediaApplicationId,+    createSipMediaApplicationCallResponse_sipMediaApplicationCall,+    createSipMediaApplicationCallResponse_httpStatus,++    -- ** CreateSipRule+    createSipRule_disabled,+    createSipRule_name,+    createSipRule_triggerType,+    createSipRule_triggerValue,+    createSipRule_targetApplications,+    createSipRuleResponse_sipRule,+    createSipRuleResponse_httpStatus,++    -- ** CreateUser+    createUser_email,+    createUser_userType,+    createUser_username,+    createUser_accountId,+    createUserResponse_user,+    createUserResponse_httpStatus,++    -- ** CreateVoiceConnector+    createVoiceConnector_awsRegion,+    createVoiceConnector_name,+    createVoiceConnector_requireEncryption,+    createVoiceConnectorResponse_voiceConnector,+    createVoiceConnectorResponse_httpStatus,++    -- ** CreateVoiceConnectorGroup+    createVoiceConnectorGroup_voiceConnectorItems,+    createVoiceConnectorGroup_name,+    createVoiceConnectorGroupResponse_voiceConnectorGroup,+    createVoiceConnectorGroupResponse_httpStatus,++    -- ** DeleteAccount+    deleteAccount_accountId,+    deleteAccountResponse_httpStatus,++    -- ** DeleteAppInstance+    deleteAppInstance_appInstanceArn,++    -- ** DeleteAppInstanceAdmin+    deleteAppInstanceAdmin_appInstanceAdminArn,+    deleteAppInstanceAdmin_appInstanceArn,++    -- ** DeleteAppInstanceStreamingConfigurations+    deleteAppInstanceStreamingConfigurations_appInstanceArn,++    -- ** DeleteAppInstanceUser+    deleteAppInstanceUser_appInstanceUserArn,++    -- ** DeleteAttendee+    deleteAttendee_meetingId,+    deleteAttendee_attendeeId,++    -- ** DeleteChannel+    deleteChannel_chimeBearer,+    deleteChannel_channelArn,++    -- ** DeleteChannelBan+    deleteChannelBan_chimeBearer,+    deleteChannelBan_channelArn,+    deleteChannelBan_memberArn,++    -- ** DeleteChannelMembership+    deleteChannelMembership_chimeBearer,+    deleteChannelMembership_channelArn,+    deleteChannelMembership_memberArn,++    -- ** DeleteChannelMessage+    deleteChannelMessage_chimeBearer,+    deleteChannelMessage_channelArn,+    deleteChannelMessage_messageId,++    -- ** DeleteChannelModerator+    deleteChannelModerator_chimeBearer,+    deleteChannelModerator_channelArn,+    deleteChannelModerator_channelModeratorArn,++    -- ** DeleteEventsConfiguration+    deleteEventsConfiguration_accountId,+    deleteEventsConfiguration_botId,++    -- ** DeleteMediaCapturePipeline+    deleteMediaCapturePipeline_mediaPipelineId,++    -- ** DeleteMeeting+    deleteMeeting_meetingId,++    -- ** DeletePhoneNumber+    deletePhoneNumber_phoneNumberId,++    -- ** DeleteProxySession+    deleteProxySession_voiceConnectorId,+    deleteProxySession_proxySessionId,++    -- ** DeleteRoom+    deleteRoom_accountId,+    deleteRoom_roomId,++    -- ** DeleteRoomMembership+    deleteRoomMembership_accountId,+    deleteRoomMembership_roomId,+    deleteRoomMembership_memberId,++    -- ** DeleteSipMediaApplication+    deleteSipMediaApplication_sipMediaApplicationId,++    -- ** DeleteSipRule+    deleteSipRule_sipRuleId,++    -- ** DeleteVoiceConnector+    deleteVoiceConnector_voiceConnectorId,++    -- ** DeleteVoiceConnectorEmergencyCallingConfiguration+    deleteVoiceConnectorEmergencyCallingConfiguration_voiceConnectorId,++    -- ** DeleteVoiceConnectorGroup+    deleteVoiceConnectorGroup_voiceConnectorGroupId,++    -- ** DeleteVoiceConnectorOrigination+    deleteVoiceConnectorOrigination_voiceConnectorId,++    -- ** DeleteVoiceConnectorProxy+    deleteVoiceConnectorProxy_voiceConnectorId,++    -- ** DeleteVoiceConnectorStreamingConfiguration+    deleteVoiceConnectorStreamingConfiguration_voiceConnectorId,++    -- ** DeleteVoiceConnectorTermination+    deleteVoiceConnectorTermination_voiceConnectorId,++    -- ** DeleteVoiceConnectorTerminationCredentials+    deleteVoiceConnectorTerminationCredentials_usernames,+    deleteVoiceConnectorTerminationCredentials_voiceConnectorId,++    -- ** DescribeAppInstance+    describeAppInstance_appInstanceArn,+    describeAppInstanceResponse_appInstance,+    describeAppInstanceResponse_httpStatus,++    -- ** DescribeAppInstanceAdmin+    describeAppInstanceAdmin_appInstanceAdminArn,+    describeAppInstanceAdmin_appInstanceArn,+    describeAppInstanceAdminResponse_appInstanceAdmin,+    describeAppInstanceAdminResponse_httpStatus,++    -- ** DescribeAppInstanceUser+    describeAppInstanceUser_appInstanceUserArn,+    describeAppInstanceUserResponse_appInstanceUser,+    describeAppInstanceUserResponse_httpStatus,++    -- ** DescribeChannel+    describeChannel_chimeBearer,+    describeChannel_channelArn,+    describeChannelResponse_channel,+    describeChannelResponse_httpStatus,++    -- ** DescribeChannelBan+    describeChannelBan_chimeBearer,+    describeChannelBan_channelArn,+    describeChannelBan_memberArn,+    describeChannelBanResponse_channelBan,+    describeChannelBanResponse_httpStatus,++    -- ** DescribeChannelMembership+    describeChannelMembership_chimeBearer,+    describeChannelMembership_channelArn,+    describeChannelMembership_memberArn,+    describeChannelMembershipResponse_channelMembership,+    describeChannelMembershipResponse_httpStatus,++    -- ** DescribeChannelMembershipForAppInstanceUser+    describeChannelMembershipForAppInstanceUser_chimeBearer,+    describeChannelMembershipForAppInstanceUser_channelArn,+    describeChannelMembershipForAppInstanceUser_appInstanceUserArn,+    describeChannelMembershipForAppInstanceUserResponse_channelMembership,+    describeChannelMembershipForAppInstanceUserResponse_httpStatus,++    -- ** DescribeChannelModeratedByAppInstanceUser+    describeChannelModeratedByAppInstanceUser_chimeBearer,+    describeChannelModeratedByAppInstanceUser_channelArn,+    describeChannelModeratedByAppInstanceUser_appInstanceUserArn,+    describeChannelModeratedByAppInstanceUserResponse_channel,+    describeChannelModeratedByAppInstanceUserResponse_httpStatus,++    -- ** DescribeChannelModerator+    describeChannelModerator_chimeBearer,+    describeChannelModerator_channelArn,+    describeChannelModerator_channelModeratorArn,+    describeChannelModeratorResponse_channelModerator,+    describeChannelModeratorResponse_httpStatus,++    -- ** DisassociatePhoneNumberFromUser+    disassociatePhoneNumberFromUser_accountId,+    disassociatePhoneNumberFromUser_userId,+    disassociatePhoneNumberFromUserResponse_httpStatus,++    -- ** DisassociatePhoneNumbersFromVoiceConnector+    disassociatePhoneNumbersFromVoiceConnector_voiceConnectorId,+    disassociatePhoneNumbersFromVoiceConnector_e164PhoneNumbers,+    disassociatePhoneNumbersFromVoiceConnectorResponse_phoneNumberErrors,+    disassociatePhoneNumbersFromVoiceConnectorResponse_httpStatus,++    -- ** DisassociatePhoneNumbersFromVoiceConnectorGroup+    disassociatePhoneNumbersFromVoiceConnectorGroup_voiceConnectorGroupId,+    disassociatePhoneNumbersFromVoiceConnectorGroup_e164PhoneNumbers,+    disassociatePhoneNumbersFromVoiceConnectorGroupResponse_phoneNumberErrors,+    disassociatePhoneNumbersFromVoiceConnectorGroupResponse_httpStatus,++    -- ** DisassociateSigninDelegateGroupsFromAccount+    disassociateSigninDelegateGroupsFromAccount_accountId,+    disassociateSigninDelegateGroupsFromAccount_groupNames,+    disassociateSigninDelegateGroupsFromAccountResponse_httpStatus,++    -- ** GetAccount+    getAccount_accountId,+    getAccountResponse_account,+    getAccountResponse_httpStatus,++    -- ** GetAccountSettings+    getAccountSettings_accountId,+    getAccountSettingsResponse_accountSettings,+    getAccountSettingsResponse_httpStatus,++    -- ** GetAppInstanceRetentionSettings+    getAppInstanceRetentionSettings_appInstanceArn,+    getAppInstanceRetentionSettingsResponse_appInstanceRetentionSettings,+    getAppInstanceRetentionSettingsResponse_initiateDeletionTimestamp,+    getAppInstanceRetentionSettingsResponse_httpStatus,++    -- ** GetAppInstanceStreamingConfigurations+    getAppInstanceStreamingConfigurations_appInstanceArn,+    getAppInstanceStreamingConfigurationsResponse_appInstanceStreamingConfigurations,+    getAppInstanceStreamingConfigurationsResponse_httpStatus,++    -- ** GetAttendee+    getAttendee_meetingId,+    getAttendee_attendeeId,+    getAttendeeResponse_attendee,+    getAttendeeResponse_httpStatus,++    -- ** GetBot+    getBot_accountId,+    getBot_botId,+    getBotResponse_bot,+    getBotResponse_httpStatus,++    -- ** GetChannelMessage+    getChannelMessage_chimeBearer,+    getChannelMessage_channelArn,+    getChannelMessage_messageId,+    getChannelMessageResponse_channelMessage,+    getChannelMessageResponse_httpStatus,++    -- ** GetEventsConfiguration+    getEventsConfiguration_accountId,+    getEventsConfiguration_botId,+    getEventsConfigurationResponse_eventsConfiguration,+    getEventsConfigurationResponse_httpStatus,++    -- ** GetGlobalSettings+    getGlobalSettingsResponse_businessCalling,+    getGlobalSettingsResponse_voiceConnector,+    getGlobalSettingsResponse_httpStatus,++    -- ** GetMediaCapturePipeline+    getMediaCapturePipeline_mediaPipelineId,+    getMediaCapturePipelineResponse_mediaCapturePipeline,+    getMediaCapturePipelineResponse_httpStatus,++    -- ** GetMeeting+    getMeeting_meetingId,+    getMeetingResponse_meeting,+    getMeetingResponse_httpStatus,++    -- ** GetMessagingSessionEndpoint+    getMessagingSessionEndpointResponse_endpoint,+    getMessagingSessionEndpointResponse_httpStatus,++    -- ** GetPhoneNumber+    getPhoneNumber_phoneNumberId,+    getPhoneNumberResponse_phoneNumber,+    getPhoneNumberResponse_httpStatus,++    -- ** GetPhoneNumberOrder+    getPhoneNumberOrder_phoneNumberOrderId,+    getPhoneNumberOrderResponse_phoneNumberOrder,+    getPhoneNumberOrderResponse_httpStatus,++    -- ** GetPhoneNumberSettings+    getPhoneNumberSettingsResponse_callingName,+    getPhoneNumberSettingsResponse_callingNameUpdatedTimestamp,+    getPhoneNumberSettingsResponse_httpStatus,++    -- ** GetProxySession+    getProxySession_voiceConnectorId,+    getProxySession_proxySessionId,+    getProxySessionResponse_proxySession,+    getProxySessionResponse_httpStatus,++    -- ** GetRetentionSettings+    getRetentionSettings_accountId,+    getRetentionSettingsResponse_initiateDeletionTimestamp,+    getRetentionSettingsResponse_retentionSettings,+    getRetentionSettingsResponse_httpStatus,++    -- ** GetRoom+    getRoom_accountId,+    getRoom_roomId,+    getRoomResponse_room,+    getRoomResponse_httpStatus,++    -- ** GetSipMediaApplication+    getSipMediaApplication_sipMediaApplicationId,+    getSipMediaApplicationResponse_sipMediaApplication,+    getSipMediaApplicationResponse_httpStatus,++    -- ** GetSipMediaApplicationLoggingConfiguration+    getSipMediaApplicationLoggingConfiguration_sipMediaApplicationId,+    getSipMediaApplicationLoggingConfigurationResponse_sipMediaApplicationLoggingConfiguration,+    getSipMediaApplicationLoggingConfigurationResponse_httpStatus,++    -- ** GetSipRule+    getSipRule_sipRuleId,+    getSipRuleResponse_sipRule,+    getSipRuleResponse_httpStatus,++    -- ** GetUser+    getUser_accountId,+    getUser_userId,+    getUserResponse_user,+    getUserResponse_httpStatus,++    -- ** GetUserSettings+    getUserSettings_accountId,+    getUserSettings_userId,+    getUserSettingsResponse_userSettings,+    getUserSettingsResponse_httpStatus,++    -- ** GetVoiceConnector+    getVoiceConnector_voiceConnectorId,+    getVoiceConnectorResponse_voiceConnector,+    getVoiceConnectorResponse_httpStatus,++    -- ** GetVoiceConnectorEmergencyCallingConfiguration+    getVoiceConnectorEmergencyCallingConfiguration_voiceConnectorId,+    getVoiceConnectorEmergencyCallingConfigurationResponse_emergencyCallingConfiguration,+    getVoiceConnectorEmergencyCallingConfigurationResponse_httpStatus,++    -- ** GetVoiceConnectorGroup+    getVoiceConnectorGroup_voiceConnectorGroupId,+    getVoiceConnectorGroupResponse_voiceConnectorGroup,+    getVoiceConnectorGroupResponse_httpStatus,++    -- ** GetVoiceConnectorLoggingConfiguration+    getVoiceConnectorLoggingConfiguration_voiceConnectorId,+    getVoiceConnectorLoggingConfigurationResponse_loggingConfiguration,+    getVoiceConnectorLoggingConfigurationResponse_httpStatus,++    -- ** GetVoiceConnectorOrigination+    getVoiceConnectorOrigination_voiceConnectorId,+    getVoiceConnectorOriginationResponse_origination,+    getVoiceConnectorOriginationResponse_httpStatus,++    -- ** GetVoiceConnectorProxy+    getVoiceConnectorProxy_voiceConnectorId,+    getVoiceConnectorProxyResponse_proxy,+    getVoiceConnectorProxyResponse_httpStatus,++    -- ** GetVoiceConnectorStreamingConfiguration+    getVoiceConnectorStreamingConfiguration_voiceConnectorId,+    getVoiceConnectorStreamingConfigurationResponse_streamingConfiguration,+    getVoiceConnectorStreamingConfigurationResponse_httpStatus,++    -- ** GetVoiceConnectorTermination+    getVoiceConnectorTermination_voiceConnectorId,+    getVoiceConnectorTerminationResponse_termination,+    getVoiceConnectorTerminationResponse_httpStatus,++    -- ** GetVoiceConnectorTerminationHealth+    getVoiceConnectorTerminationHealth_voiceConnectorId,+    getVoiceConnectorTerminationHealthResponse_terminationHealth,+    getVoiceConnectorTerminationHealthResponse_httpStatus,++    -- ** InviteUsers+    inviteUsers_userType,+    inviteUsers_accountId,+    inviteUsers_userEmailList,+    inviteUsersResponse_invites,+    inviteUsersResponse_httpStatus,++    -- ** ListAccounts+    listAccounts_maxResults,+    listAccounts_name,+    listAccounts_nextToken,+    listAccounts_userEmail,+    listAccountsResponse_accounts,+    listAccountsResponse_nextToken,+    listAccountsResponse_httpStatus,++    -- ** ListAppInstanceAdmins+    listAppInstanceAdmins_maxResults,+    listAppInstanceAdmins_nextToken,+    listAppInstanceAdmins_appInstanceArn,+    listAppInstanceAdminsResponse_appInstanceAdmins,+    listAppInstanceAdminsResponse_appInstanceArn,+    listAppInstanceAdminsResponse_nextToken,+    listAppInstanceAdminsResponse_httpStatus,++    -- ** ListAppInstanceUsers+    listAppInstanceUsers_maxResults,+    listAppInstanceUsers_nextToken,+    listAppInstanceUsers_appInstanceArn,+    listAppInstanceUsersResponse_appInstanceArn,+    listAppInstanceUsersResponse_appInstanceUsers,+    listAppInstanceUsersResponse_nextToken,+    listAppInstanceUsersResponse_httpStatus,++    -- ** ListAppInstances+    listAppInstances_maxResults,+    listAppInstances_nextToken,+    listAppInstancesResponse_appInstances,+    listAppInstancesResponse_nextToken,+    listAppInstancesResponse_httpStatus,++    -- ** ListAttendeeTags+    listAttendeeTags_meetingId,+    listAttendeeTags_attendeeId,+    listAttendeeTagsResponse_tags,+    listAttendeeTagsResponse_httpStatus,++    -- ** ListAttendees+    listAttendees_maxResults,+    listAttendees_nextToken,+    listAttendees_meetingId,+    listAttendeesResponse_attendees,+    listAttendeesResponse_nextToken,+    listAttendeesResponse_httpStatus,++    -- ** ListBots+    listBots_maxResults,+    listBots_nextToken,+    listBots_accountId,+    listBotsResponse_bots,+    listBotsResponse_nextToken,+    listBotsResponse_httpStatus,++    -- ** ListChannelBans+    listChannelBans_chimeBearer,+    listChannelBans_maxResults,+    listChannelBans_nextToken,+    listChannelBans_channelArn,+    listChannelBansResponse_channelArn,+    listChannelBansResponse_channelBans,+    listChannelBansResponse_nextToken,+    listChannelBansResponse_httpStatus,++    -- ** ListChannelMemberships+    listChannelMemberships_chimeBearer,+    listChannelMemberships_maxResults,+    listChannelMemberships_nextToken,+    listChannelMemberships_type,+    listChannelMemberships_channelArn,+    listChannelMembershipsResponse_channelArn,+    listChannelMembershipsResponse_channelMemberships,+    listChannelMembershipsResponse_nextToken,+    listChannelMembershipsResponse_httpStatus,++    -- ** ListChannelMembershipsForAppInstanceUser+    listChannelMembershipsForAppInstanceUser_appInstanceUserArn,+    listChannelMembershipsForAppInstanceUser_chimeBearer,+    listChannelMembershipsForAppInstanceUser_maxResults,+    listChannelMembershipsForAppInstanceUser_nextToken,+    listChannelMembershipsForAppInstanceUserResponse_channelMemberships,+    listChannelMembershipsForAppInstanceUserResponse_nextToken,+    listChannelMembershipsForAppInstanceUserResponse_httpStatus,++    -- ** ListChannelMessages+    listChannelMessages_chimeBearer,+    listChannelMessages_maxResults,+    listChannelMessages_nextToken,+    listChannelMessages_notAfter,+    listChannelMessages_notBefore,+    listChannelMessages_sortOrder,+    listChannelMessages_channelArn,+    listChannelMessagesResponse_channelArn,+    listChannelMessagesResponse_channelMessages,+    listChannelMessagesResponse_nextToken,+    listChannelMessagesResponse_httpStatus,++    -- ** ListChannelModerators+    listChannelModerators_chimeBearer,+    listChannelModerators_maxResults,+    listChannelModerators_nextToken,+    listChannelModerators_channelArn,+    listChannelModeratorsResponse_channelArn,+    listChannelModeratorsResponse_channelModerators,+    listChannelModeratorsResponse_nextToken,+    listChannelModeratorsResponse_httpStatus,++    -- ** ListChannels+    listChannels_chimeBearer,+    listChannels_maxResults,+    listChannels_nextToken,+    listChannels_privacy,+    listChannels_appInstanceArn,+    listChannelsResponse_channels,+    listChannelsResponse_nextToken,+    listChannelsResponse_httpStatus,++    -- ** ListChannelsModeratedByAppInstanceUser+    listChannelsModeratedByAppInstanceUser_appInstanceUserArn,+    listChannelsModeratedByAppInstanceUser_chimeBearer,+    listChannelsModeratedByAppInstanceUser_maxResults,+    listChannelsModeratedByAppInstanceUser_nextToken,+    listChannelsModeratedByAppInstanceUserResponse_channels,+    listChannelsModeratedByAppInstanceUserResponse_nextToken,+    listChannelsModeratedByAppInstanceUserResponse_httpStatus,++    -- ** ListMediaCapturePipelines+    listMediaCapturePipelines_maxResults,+    listMediaCapturePipelines_nextToken,+    listMediaCapturePipelinesResponse_mediaCapturePipelines,+    listMediaCapturePipelinesResponse_nextToken,+    listMediaCapturePipelinesResponse_httpStatus,++    -- ** ListMeetingTags+    listMeetingTags_meetingId,+    listMeetingTagsResponse_tags,+    listMeetingTagsResponse_httpStatus,++    -- ** ListMeetings+    listMeetings_maxResults,+    listMeetings_nextToken,+    listMeetingsResponse_meetings,+    listMeetingsResponse_nextToken,+    listMeetingsResponse_httpStatus,++    -- ** ListPhoneNumberOrders+    listPhoneNumberOrders_maxResults,+    listPhoneNumberOrders_nextToken,+    listPhoneNumberOrdersResponse_nextToken,+    listPhoneNumberOrdersResponse_phoneNumberOrders,+    listPhoneNumberOrdersResponse_httpStatus,++    -- ** ListPhoneNumbers+    listPhoneNumbers_filterName,+    listPhoneNumbers_filterValue,+    listPhoneNumbers_maxResults,+    listPhoneNumbers_nextToken,+    listPhoneNumbers_productType,+    listPhoneNumbers_status,+    listPhoneNumbersResponse_nextToken,+    listPhoneNumbersResponse_phoneNumbers,+    listPhoneNumbersResponse_httpStatus,++    -- ** ListProxySessions+    listProxySessions_maxResults,+    listProxySessions_nextToken,+    listProxySessions_status,+    listProxySessions_voiceConnectorId,+    listProxySessionsResponse_nextToken,+    listProxySessionsResponse_proxySessions,+    listProxySessionsResponse_httpStatus,++    -- ** ListRoomMemberships+    listRoomMemberships_maxResults,+    listRoomMemberships_nextToken,+    listRoomMemberships_accountId,+    listRoomMemberships_roomId,+    listRoomMembershipsResponse_nextToken,+    listRoomMembershipsResponse_roomMemberships,+    listRoomMembershipsResponse_httpStatus,++    -- ** ListRooms+    listRooms_maxResults,+    listRooms_memberId,+    listRooms_nextToken,+    listRooms_accountId,+    listRoomsResponse_nextToken,+    listRoomsResponse_rooms,+    listRoomsResponse_httpStatus,++    -- ** ListSipMediaApplications+    listSipMediaApplications_maxResults,+    listSipMediaApplications_nextToken,+    listSipMediaApplicationsResponse_nextToken,+    listSipMediaApplicationsResponse_sipMediaApplications,+    listSipMediaApplicationsResponse_httpStatus,++    -- ** ListSipRules+    listSipRules_maxResults,+    listSipRules_nextToken,+    listSipRules_sipMediaApplicationId,+    listSipRulesResponse_nextToken,+    listSipRulesResponse_sipRules,+    listSipRulesResponse_httpStatus,++    -- ** ListSupportedPhoneNumberCountries+    listSupportedPhoneNumberCountries_productType,+    listSupportedPhoneNumberCountriesResponse_phoneNumberCountries,+    listSupportedPhoneNumberCountriesResponse_httpStatus,++    -- ** ListTagsForResource+    listTagsForResource_resourceARN,+    listTagsForResourceResponse_tags,+    listTagsForResourceResponse_httpStatus,++    -- ** ListUsers+    listUsers_maxResults,+    listUsers_nextToken,+    listUsers_userEmail,+    listUsers_userType,+    listUsers_accountId,+    listUsersResponse_nextToken,+    listUsersResponse_users,+    listUsersResponse_httpStatus,++    -- ** ListVoiceConnectorGroups+    listVoiceConnectorGroups_maxResults,+    listVoiceConnectorGroups_nextToken,+    listVoiceConnectorGroupsResponse_nextToken,+    listVoiceConnectorGroupsResponse_voiceConnectorGroups,+    listVoiceConnectorGroupsResponse_httpStatus,++    -- ** ListVoiceConnectorTerminationCredentials+    listVoiceConnectorTerminationCredentials_voiceConnectorId,+    listVoiceConnectorTerminationCredentialsResponse_usernames,+    listVoiceConnectorTerminationCredentialsResponse_httpStatus,++    -- ** ListVoiceConnectors+    listVoiceConnectors_maxResults,+    listVoiceConnectors_nextToken,+    listVoiceConnectorsResponse_nextToken,+    listVoiceConnectorsResponse_voiceConnectors,+    listVoiceConnectorsResponse_httpStatus,++    -- ** LogoutUser+    logoutUser_accountId,+    logoutUser_userId,+    logoutUserResponse_httpStatus,++    -- ** PutAppInstanceRetentionSettings+    putAppInstanceRetentionSettings_appInstanceArn,+    putAppInstanceRetentionSettings_appInstanceRetentionSettings,+    putAppInstanceRetentionSettingsResponse_appInstanceRetentionSettings,+    putAppInstanceRetentionSettingsResponse_initiateDeletionTimestamp,+    putAppInstanceRetentionSettingsResponse_httpStatus,++    -- ** PutAppInstanceStreamingConfigurations+    putAppInstanceStreamingConfigurations_appInstanceArn,+    putAppInstanceStreamingConfigurations_appInstanceStreamingConfigurations,+    putAppInstanceStreamingConfigurationsResponse_appInstanceStreamingConfigurations,+    putAppInstanceStreamingConfigurationsResponse_httpStatus,++    -- ** PutEventsConfiguration+    putEventsConfiguration_lambdaFunctionArn,+    putEventsConfiguration_outboundEventsHTTPSEndpoint,+    putEventsConfiguration_accountId,+    putEventsConfiguration_botId,+    putEventsConfigurationResponse_eventsConfiguration,+    putEventsConfigurationResponse_httpStatus,++    -- ** PutRetentionSettings+    putRetentionSettings_accountId,+    putRetentionSettings_retentionSettings,+    putRetentionSettingsResponse_initiateDeletionTimestamp,+    putRetentionSettingsResponse_retentionSettings,+    putRetentionSettingsResponse_httpStatus,++    -- ** PutSipMediaApplicationLoggingConfiguration+    putSipMediaApplicationLoggingConfiguration_sipMediaApplicationLoggingConfiguration,+    putSipMediaApplicationLoggingConfiguration_sipMediaApplicationId,+    putSipMediaApplicationLoggingConfigurationResponse_sipMediaApplicationLoggingConfiguration,+    putSipMediaApplicationLoggingConfigurationResponse_httpStatus,++    -- ** PutVoiceConnectorEmergencyCallingConfiguration+    putVoiceConnectorEmergencyCallingConfiguration_voiceConnectorId,+    putVoiceConnectorEmergencyCallingConfiguration_emergencyCallingConfiguration,+    putVoiceConnectorEmergencyCallingConfigurationResponse_emergencyCallingConfiguration,+    putVoiceConnectorEmergencyCallingConfigurationResponse_httpStatus,++    -- ** PutVoiceConnectorLoggingConfiguration+    putVoiceConnectorLoggingConfiguration_voiceConnectorId,+    putVoiceConnectorLoggingConfiguration_loggingConfiguration,+    putVoiceConnectorLoggingConfigurationResponse_loggingConfiguration,+    putVoiceConnectorLoggingConfigurationResponse_httpStatus,++    -- ** PutVoiceConnectorOrigination+    putVoiceConnectorOrigination_voiceConnectorId,+    putVoiceConnectorOrigination_origination,+    putVoiceConnectorOriginationResponse_origination,+    putVoiceConnectorOriginationResponse_httpStatus,++    -- ** PutVoiceConnectorProxy+    putVoiceConnectorProxy_disabled,+    putVoiceConnectorProxy_fallBackPhoneNumber,+    putVoiceConnectorProxy_defaultSessionExpiryMinutes,+    putVoiceConnectorProxy_phoneNumberPoolCountries,+    putVoiceConnectorProxy_voiceConnectorId,+    putVoiceConnectorProxyResponse_proxy,+    putVoiceConnectorProxyResponse_httpStatus,++    -- ** PutVoiceConnectorStreamingConfiguration+    putVoiceConnectorStreamingConfiguration_voiceConnectorId,+    putVoiceConnectorStreamingConfiguration_streamingConfiguration,+    putVoiceConnectorStreamingConfigurationResponse_streamingConfiguration,+    putVoiceConnectorStreamingConfigurationResponse_httpStatus,++    -- ** PutVoiceConnectorTermination+    putVoiceConnectorTermination_voiceConnectorId,+    putVoiceConnectorTermination_termination,+    putVoiceConnectorTerminationResponse_termination,+    putVoiceConnectorTerminationResponse_httpStatus,++    -- ** PutVoiceConnectorTerminationCredentials+    putVoiceConnectorTerminationCredentials_credentials,+    putVoiceConnectorTerminationCredentials_voiceConnectorId,++    -- ** RedactChannelMessage+    redactChannelMessage_chimeBearer,+    redactChannelMessage_channelArn,+    redactChannelMessage_messageId,+    redactChannelMessageResponse_channelArn,+    redactChannelMessageResponse_messageId,+    redactChannelMessageResponse_httpStatus,++    -- ** RedactConversationMessage+    redactConversationMessage_accountId,+    redactConversationMessage_conversationId,+    redactConversationMessage_messageId,+    redactConversationMessageResponse_httpStatus,++    -- ** RedactRoomMessage+    redactRoomMessage_accountId,+    redactRoomMessage_roomId,+    redactRoomMessage_messageId,+    redactRoomMessageResponse_httpStatus,++    -- ** RegenerateSecurityToken+    regenerateSecurityToken_accountId,+    regenerateSecurityToken_botId,+    regenerateSecurityTokenResponse_bot,+    regenerateSecurityTokenResponse_httpStatus,++    -- ** ResetPersonalPIN+    resetPersonalPIN_accountId,+    resetPersonalPIN_userId,+    resetPersonalPINResponse_user,+    resetPersonalPINResponse_httpStatus,++    -- ** RestorePhoneNumber+    restorePhoneNumber_phoneNumberId,+    restorePhoneNumberResponse_phoneNumber,+    restorePhoneNumberResponse_httpStatus,++    -- ** SearchAvailablePhoneNumbers+    searchAvailablePhoneNumbers_areaCode,+    searchAvailablePhoneNumbers_city,+    searchAvailablePhoneNumbers_country,+    searchAvailablePhoneNumbers_maxResults,+    searchAvailablePhoneNumbers_nextToken,+    searchAvailablePhoneNumbers_phoneNumberType,+    searchAvailablePhoneNumbers_state,+    searchAvailablePhoneNumbers_tollFreePrefix,+    searchAvailablePhoneNumbersResponse_e164PhoneNumbers,+    searchAvailablePhoneNumbersResponse_nextToken,+    searchAvailablePhoneNumbersResponse_httpStatus,++    -- ** SendChannelMessage+    sendChannelMessage_chimeBearer,+    sendChannelMessage_metadata,+    sendChannelMessage_channelArn,+    sendChannelMessage_content,+    sendChannelMessage_type,+    sendChannelMessage_persistence,+    sendChannelMessage_clientRequestToken,+    sendChannelMessageResponse_channelArn,+    sendChannelMessageResponse_messageId,+    sendChannelMessageResponse_httpStatus,++    -- ** StartMeetingTranscription+    startMeetingTranscription_meetingId,+    startMeetingTranscription_transcriptionConfiguration,+    startMeetingTranscriptionResponse_httpStatus,++    -- ** StopMeetingTranscription+    stopMeetingTranscription_meetingId,+    stopMeetingTranscriptionResponse_httpStatus,++    -- ** TagAttendee+    tagAttendee_meetingId,+    tagAttendee_attendeeId,+    tagAttendee_tags,++    -- ** TagMeeting+    tagMeeting_meetingId,+    tagMeeting_tags,++    -- ** TagResource+    tagResource_resourceARN,+    tagResource_tags,++    -- ** UntagAttendee+    untagAttendee_meetingId,+    untagAttendee_tagKeys,+    untagAttendee_attendeeId,++    -- ** UntagMeeting+    untagMeeting_meetingId,+    untagMeeting_tagKeys,++    -- ** UntagResource+    untagResource_resourceARN,+    untagResource_tagKeys,++    -- ** UpdateAccount+    updateAccount_defaultLicense,+    updateAccount_name,+    updateAccount_accountId,+    updateAccountResponse_account,+    updateAccountResponse_httpStatus,++    -- ** UpdateAccountSettings+    updateAccountSettings_accountId,+    updateAccountSettings_accountSettings,+    updateAccountSettingsResponse_httpStatus,++    -- ** UpdateAppInstance+    updateAppInstance_metadata,+    updateAppInstance_appInstanceArn,+    updateAppInstance_name,+    updateAppInstanceResponse_appInstanceArn,+    updateAppInstanceResponse_httpStatus,++    -- ** UpdateAppInstanceUser+    updateAppInstanceUser_metadata,+    updateAppInstanceUser_appInstanceUserArn,+    updateAppInstanceUser_name,+    updateAppInstanceUserResponse_appInstanceUserArn,+    updateAppInstanceUserResponse_httpStatus,++    -- ** UpdateBot+    updateBot_disabled,+    updateBot_accountId,+    updateBot_botId,+    updateBotResponse_bot,+    updateBotResponse_httpStatus,++    -- ** UpdateChannel+    updateChannel_chimeBearer,+    updateChannel_metadata,+    updateChannel_channelArn,+    updateChannel_name,+    updateChannel_mode,+    updateChannelResponse_channelArn,+    updateChannelResponse_httpStatus,++    -- ** UpdateChannelMessage+    updateChannelMessage_chimeBearer,+    updateChannelMessage_content,+    updateChannelMessage_metadata,+    updateChannelMessage_channelArn,+    updateChannelMessage_messageId,+    updateChannelMessageResponse_channelArn,+    updateChannelMessageResponse_messageId,+    updateChannelMessageResponse_httpStatus,++    -- ** UpdateChannelReadMarker+    updateChannelReadMarker_chimeBearer,+    updateChannelReadMarker_channelArn,+    updateChannelReadMarkerResponse_channelArn,+    updateChannelReadMarkerResponse_httpStatus,++    -- ** UpdateGlobalSettings+    updateGlobalSettings_businessCalling,+    updateGlobalSettings_voiceConnector,++    -- ** UpdatePhoneNumber+    updatePhoneNumber_callingName,+    updatePhoneNumber_productType,+    updatePhoneNumber_phoneNumberId,+    updatePhoneNumberResponse_phoneNumber,+    updatePhoneNumberResponse_httpStatus,++    -- ** UpdatePhoneNumberSettings+    updatePhoneNumberSettings_callingName,++    -- ** UpdateProxySession+    updateProxySession_expiryMinutes,+    updateProxySession_capabilities,+    updateProxySession_voiceConnectorId,+    updateProxySession_proxySessionId,+    updateProxySessionResponse_proxySession,+    updateProxySessionResponse_httpStatus,++    -- ** UpdateRoom+    updateRoom_name,+    updateRoom_accountId,+    updateRoom_roomId,+    updateRoomResponse_room,+    updateRoomResponse_httpStatus,++    -- ** UpdateRoomMembership+    updateRoomMembership_role,+    updateRoomMembership_accountId,+    updateRoomMembership_roomId,+    updateRoomMembership_memberId,+    updateRoomMembershipResponse_roomMembership,+    updateRoomMembershipResponse_httpStatus,++    -- ** UpdateSipMediaApplication+    updateSipMediaApplication_endpoints,+    updateSipMediaApplication_name,+    updateSipMediaApplication_sipMediaApplicationId,+    updateSipMediaApplicationResponse_sipMediaApplication,+    updateSipMediaApplicationResponse_httpStatus,++    -- ** UpdateSipMediaApplicationCall+    updateSipMediaApplicationCall_sipMediaApplicationId,+    updateSipMediaApplicationCall_transactionId,+    updateSipMediaApplicationCall_arguments,+    updateSipMediaApplicationCallResponse_sipMediaApplicationCall,+    updateSipMediaApplicationCallResponse_httpStatus,++    -- ** UpdateSipRule+    updateSipRule_disabled,+    updateSipRule_targetApplications,+    updateSipRule_sipRuleId,+    updateSipRule_name,+    updateSipRuleResponse_sipRule,+    updateSipRuleResponse_httpStatus,++    -- ** UpdateUser+    updateUser_alexaForBusinessMetadata,+    updateUser_licenseType,+    updateUser_userType,+    updateUser_accountId,+    updateUser_userId,+    updateUserResponse_user,+    updateUserResponse_httpStatus,++    -- ** UpdateUserSettings+    updateUserSettings_accountId,+    updateUserSettings_userId,+    updateUserSettings_userSettings,++    -- ** UpdateVoiceConnector+    updateVoiceConnector_voiceConnectorId,+    updateVoiceConnector_name,+    updateVoiceConnector_requireEncryption,+    updateVoiceConnectorResponse_voiceConnector,+    updateVoiceConnectorResponse_httpStatus,++    -- ** UpdateVoiceConnectorGroup+    updateVoiceConnectorGroup_voiceConnectorGroupId,+    updateVoiceConnectorGroup_name,+    updateVoiceConnectorGroup_voiceConnectorItems,+    updateVoiceConnectorGroupResponse_voiceConnectorGroup,+    updateVoiceConnectorGroupResponse_httpStatus,++    -- ** ValidateE911Address+    validateE911Address_awsAccountId,+    validateE911Address_streetNumber,+    validateE911Address_streetInfo,+    validateE911Address_city,+    validateE911Address_state,+    validateE911Address_country,+    validateE911Address_postalCode,+    validateE911AddressResponse_address,+    validateE911AddressResponse_addressExternalId,+    validateE911AddressResponse_candidateAddressList,+    validateE911AddressResponse_validationResult,+    validateE911AddressResponse_httpStatus,++    -- * Types++    -- ** Account+    account_accountStatus,+    account_accountType,+    account_createdTimestamp,+    account_defaultLicense,+    account_signinDelegateGroups,+    account_supportedLicenses,+    account_awsAccountId,+    account_accountId,+    account_name,++    -- ** AccountSettings+    accountSettings_disableRemoteControl,+    accountSettings_enableDialOut,++    -- ** Address+    address_city,+    address_country,+    address_postDirectional,+    address_postalCode,+    address_postalCodePlus4,+    address_preDirectional,+    address_state,+    address_streetName,+    address_streetNumber,+    address_streetSuffix,++    -- ** AlexaForBusinessMetadata+    alexaForBusinessMetadata_alexaForBusinessRoomArn,+    alexaForBusinessMetadata_isAlexaForBusinessEnabled,++    -- ** AppInstance+    appInstance_appInstanceArn,+    appInstance_createdTimestamp,+    appInstance_lastUpdatedTimestamp,+    appInstance_metadata,+    appInstance_name,++    -- ** AppInstanceAdmin+    appInstanceAdmin_admin,+    appInstanceAdmin_appInstanceArn,+    appInstanceAdmin_createdTimestamp,++    -- ** AppInstanceAdminSummary+    appInstanceAdminSummary_admin,++    -- ** AppInstanceRetentionSettings+    appInstanceRetentionSettings_channelRetentionSettings,++    -- ** AppInstanceStreamingConfiguration+    appInstanceStreamingConfiguration_appInstanceDataType,+    appInstanceStreamingConfiguration_resourceArn,++    -- ** AppInstanceSummary+    appInstanceSummary_appInstanceArn,+    appInstanceSummary_metadata,+    appInstanceSummary_name,++    -- ** AppInstanceUser+    appInstanceUser_appInstanceUserArn,+    appInstanceUser_createdTimestamp,+    appInstanceUser_lastUpdatedTimestamp,+    appInstanceUser_metadata,+    appInstanceUser_name,++    -- ** AppInstanceUserMembershipSummary+    appInstanceUserMembershipSummary_readMarkerTimestamp,+    appInstanceUserMembershipSummary_type,++    -- ** AppInstanceUserSummary+    appInstanceUserSummary_appInstanceUserArn,+    appInstanceUserSummary_metadata,+    appInstanceUserSummary_name,++    -- ** ArtifactsConfiguration+    artifactsConfiguration_audio,+    artifactsConfiguration_video,+    artifactsConfiguration_content,++    -- ** Attendee+    attendee_attendeeId,+    attendee_externalUserId,+    attendee_joinToken,++    -- ** AudioArtifactsConfiguration+    audioArtifactsConfiguration_muxType,++    -- ** BatchChannelMemberships+    batchChannelMemberships_channelArn,+    batchChannelMemberships_invitedBy,+    batchChannelMemberships_members,+    batchChannelMemberships_type,++    -- ** BatchCreateChannelMembershipError+    batchCreateChannelMembershipError_errorCode,+    batchCreateChannelMembershipError_errorMessage,+    batchCreateChannelMembershipError_memberArn,++    -- ** Bot+    bot_botEmail,+    bot_botId,+    bot_botType,+    bot_createdTimestamp,+    bot_disabled,+    bot_displayName,+    bot_securityToken,+    bot_updatedTimestamp,+    bot_userId,++    -- ** BusinessCallingSettings+    businessCallingSettings_cdrBucket,++    -- ** CandidateAddress+    candidateAddress_city,+    candidateAddress_country,+    candidateAddress_postalCode,+    candidateAddress_postalCodePlus4,+    candidateAddress_state,+    candidateAddress_streetInfo,+    candidateAddress_streetNumber,++    -- ** Channel+    channel_channelArn,+    channel_createdBy,+    channel_createdTimestamp,+    channel_lastMessageTimestamp,+    channel_lastUpdatedTimestamp,+    channel_metadata,+    channel_mode,+    channel_name,+    channel_privacy,++    -- ** ChannelBan+    channelBan_channelArn,+    channelBan_createdBy,+    channelBan_createdTimestamp,+    channelBan_member,++    -- ** ChannelBanSummary+    channelBanSummary_member,++    -- ** ChannelMembership+    channelMembership_channelArn,+    channelMembership_createdTimestamp,+    channelMembership_invitedBy,+    channelMembership_lastUpdatedTimestamp,+    channelMembership_member,+    channelMembership_type,++    -- ** ChannelMembershipForAppInstanceUserSummary+    channelMembershipForAppInstanceUserSummary_appInstanceUserMembershipSummary,+    channelMembershipForAppInstanceUserSummary_channelSummary,++    -- ** ChannelMembershipSummary+    channelMembershipSummary_member,++    -- ** ChannelMessage+    channelMessage_channelArn,+    channelMessage_content,+    channelMessage_createdTimestamp,+    channelMessage_lastEditedTimestamp,+    channelMessage_lastUpdatedTimestamp,+    channelMessage_messageId,+    channelMessage_metadata,+    channelMessage_persistence,+    channelMessage_redacted,+    channelMessage_sender,+    channelMessage_type,++    -- ** ChannelMessageSummary+    channelMessageSummary_content,+    channelMessageSummary_createdTimestamp,+    channelMessageSummary_lastEditedTimestamp,+    channelMessageSummary_lastUpdatedTimestamp,+    channelMessageSummary_messageId,+    channelMessageSummary_metadata,+    channelMessageSummary_redacted,+    channelMessageSummary_sender,+    channelMessageSummary_type,++    -- ** ChannelModeratedByAppInstanceUserSummary+    channelModeratedByAppInstanceUserSummary_channelSummary,++    -- ** ChannelModerator+    channelModerator_channelArn,+    channelModerator_createdBy,+    channelModerator_createdTimestamp,+    channelModerator_moderator,++    -- ** ChannelModeratorSummary+    channelModeratorSummary_moderator,++    -- ** ChannelRetentionSettings+    channelRetentionSettings_retentionDays,++    -- ** ChannelSummary+    channelSummary_channelArn,+    channelSummary_lastMessageTimestamp,+    channelSummary_metadata,+    channelSummary_mode,+    channelSummary_name,+    channelSummary_privacy,++    -- ** ChimeSdkMeetingConfiguration+    chimeSdkMeetingConfiguration_artifactsConfiguration,+    chimeSdkMeetingConfiguration_sourceConfiguration,++    -- ** ContentArtifactsConfiguration+    contentArtifactsConfiguration_muxType,+    contentArtifactsConfiguration_state,++    -- ** ConversationRetentionSettings+    conversationRetentionSettings_retentionDays,++    -- ** CreateAttendeeError+    createAttendeeError_errorCode,+    createAttendeeError_errorMessage,+    createAttendeeError_externalUserId,++    -- ** CreateAttendeeRequestItem+    createAttendeeRequestItem_tags,+    createAttendeeRequestItem_externalUserId,++    -- ** Credential+    credential_password,+    credential_username,++    -- ** DNISEmergencyCallingConfiguration+    dNISEmergencyCallingConfiguration_testPhoneNumber,+    dNISEmergencyCallingConfiguration_emergencyPhoneNumber,+    dNISEmergencyCallingConfiguration_callingCountry,++    -- ** EmergencyCallingConfiguration+    emergencyCallingConfiguration_dnis,++    -- ** EngineTranscribeMedicalSettings+    engineTranscribeMedicalSettings_contentIdentificationType,+    engineTranscribeMedicalSettings_region,+    engineTranscribeMedicalSettings_vocabularyName,+    engineTranscribeMedicalSettings_languageCode,+    engineTranscribeMedicalSettings_specialty,+    engineTranscribeMedicalSettings_type,++    -- ** EngineTranscribeSettings+    engineTranscribeSettings_contentIdentificationType,+    engineTranscribeSettings_contentRedactionType,+    engineTranscribeSettings_enablePartialResultsStabilization,+    engineTranscribeSettings_languageModelName,+    engineTranscribeSettings_partialResultsStability,+    engineTranscribeSettings_piiEntityTypes,+    engineTranscribeSettings_region,+    engineTranscribeSettings_vocabularyFilterMethod,+    engineTranscribeSettings_vocabularyFilterName,+    engineTranscribeSettings_vocabularyName,+    engineTranscribeSettings_languageCode,++    -- ** EventsConfiguration+    eventsConfiguration_botId,+    eventsConfiguration_lambdaFunctionArn,+    eventsConfiguration_outboundEventsHTTPSEndpoint,++    -- ** GeoMatchParams+    geoMatchParams_country,+    geoMatchParams_areaCode,++    -- ** Identity+    identity_arn,+    identity_name,++    -- ** Invite+    invite_emailAddress,+    invite_emailStatus,+    invite_inviteId,+    invite_status,++    -- ** LoggingConfiguration+    loggingConfiguration_enableMediaMetricLogs,+    loggingConfiguration_enableSIPLogs,++    -- ** MediaCapturePipeline+    mediaCapturePipeline_chimeSdkMeetingConfiguration,+    mediaCapturePipeline_createdTimestamp,+    mediaCapturePipeline_mediaPipelineId,+    mediaCapturePipeline_sinkArn,+    mediaCapturePipeline_sinkType,+    mediaCapturePipeline_sourceArn,+    mediaCapturePipeline_sourceType,+    mediaCapturePipeline_status,+    mediaCapturePipeline_updatedTimestamp,++    -- ** 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_meetingId,++    -- ** MeetingNotificationConfiguration+    meetingNotificationConfiguration_snsTopicArn,+    meetingNotificationConfiguration_sqsQueueArn,++    -- ** Member+    member_accountId,+    member_email,+    member_fullName,+    member_memberId,+    member_memberType,++    -- ** MemberError+    memberError_errorCode,+    memberError_errorMessage,+    memberError_memberId,++    -- ** MembershipItem+    membershipItem_memberId,+    membershipItem_role,++    -- ** MessagingSessionEndpoint+    messagingSessionEndpoint_url,++    -- ** OrderedPhoneNumber+    orderedPhoneNumber_e164PhoneNumber,+    orderedPhoneNumber_status,++    -- ** Origination+    origination_disabled,+    origination_routes,++    -- ** OriginationRoute+    originationRoute_host,+    originationRoute_port,+    originationRoute_priority,+    originationRoute_protocol,+    originationRoute_weight,++    -- ** Participant+    participant_phoneNumber,+    participant_proxyPhoneNumber,++    -- ** PhoneNumber+    phoneNumber_associations,+    phoneNumber_callingName,+    phoneNumber_callingNameStatus,+    phoneNumber_capabilities,+    phoneNumber_country,+    phoneNumber_createdTimestamp,+    phoneNumber_deletionTimestamp,+    phoneNumber_e164PhoneNumber,+    phoneNumber_phoneNumberId,+    phoneNumber_productType,+    phoneNumber_status,+    phoneNumber_type,+    phoneNumber_updatedTimestamp,++    -- ** PhoneNumberAssociation+    phoneNumberAssociation_associatedTimestamp,+    phoneNumberAssociation_name,+    phoneNumberAssociation_value,++    -- ** PhoneNumberCapabilities+    phoneNumberCapabilities_inboundCall,+    phoneNumberCapabilities_inboundMMS,+    phoneNumberCapabilities_inboundSMS,+    phoneNumberCapabilities_outboundCall,+    phoneNumberCapabilities_outboundMMS,+    phoneNumberCapabilities_outboundSMS,++    -- ** PhoneNumberCountry+    phoneNumberCountry_countryCode,+    phoneNumberCountry_supportedPhoneNumberTypes,++    -- ** PhoneNumberError+    phoneNumberError_errorCode,+    phoneNumberError_errorMessage,+    phoneNumberError_phoneNumberId,++    -- ** PhoneNumberOrder+    phoneNumberOrder_createdTimestamp,+    phoneNumberOrder_orderedPhoneNumbers,+    phoneNumberOrder_phoneNumberOrderId,+    phoneNumberOrder_productType,+    phoneNumberOrder_status,+    phoneNumberOrder_updatedTimestamp,++    -- ** Proxy+    proxy_defaultSessionExpiryMinutes,+    proxy_disabled,+    proxy_fallBackPhoneNumber,+    proxy_phoneNumberCountries,++    -- ** ProxySession+    proxySession_capabilities,+    proxySession_createdTimestamp,+    proxySession_endedTimestamp,+    proxySession_expiryMinutes,+    proxySession_geoMatchLevel,+    proxySession_geoMatchParams,+    proxySession_name,+    proxySession_numberSelectionBehavior,+    proxySession_participants,+    proxySession_proxySessionId,+    proxySession_status,+    proxySession_updatedTimestamp,+    proxySession_voiceConnectorId,++    -- ** RetentionSettings+    retentionSettings_conversationRetentionSettings,+    retentionSettings_roomRetentionSettings,++    -- ** Room+    room_accountId,+    room_createdBy,+    room_createdTimestamp,+    room_name,+    room_roomId,+    room_updatedTimestamp,++    -- ** RoomMembership+    roomMembership_invitedBy,+    roomMembership_member,+    roomMembership_role,+    roomMembership_roomId,+    roomMembership_updatedTimestamp,++    -- ** RoomRetentionSettings+    roomRetentionSettings_retentionDays,++    -- ** SelectedVideoStreams+    selectedVideoStreams_attendeeIds,+    selectedVideoStreams_externalUserIds,++    -- ** SigninDelegateGroup+    signinDelegateGroup_groupName,++    -- ** SipMediaApplication+    sipMediaApplication_awsRegion,+    sipMediaApplication_createdTimestamp,+    sipMediaApplication_endpoints,+    sipMediaApplication_name,+    sipMediaApplication_sipMediaApplicationId,+    sipMediaApplication_updatedTimestamp,++    -- ** SipMediaApplicationCall+    sipMediaApplicationCall_transactionId,++    -- ** SipMediaApplicationEndpoint+    sipMediaApplicationEndpoint_lambdaArn,++    -- ** SipMediaApplicationLoggingConfiguration+    sipMediaApplicationLoggingConfiguration_enableSipMediaApplicationMessageLogs,++    -- ** SipRule+    sipRule_createdTimestamp,+    sipRule_disabled,+    sipRule_name,+    sipRule_sipRuleId,+    sipRule_targetApplications,+    sipRule_triggerType,+    sipRule_triggerValue,+    sipRule_updatedTimestamp,++    -- ** SipRuleTargetApplication+    sipRuleTargetApplication_awsRegion,+    sipRuleTargetApplication_priority,+    sipRuleTargetApplication_sipMediaApplicationId,++    -- ** SourceConfiguration+    sourceConfiguration_selectedVideoStreams,++    -- ** StreamingConfiguration+    streamingConfiguration_disabled,+    streamingConfiguration_streamingNotificationTargets,+    streamingConfiguration_dataRetentionInHours,++    -- ** StreamingNotificationTarget+    streamingNotificationTarget_notificationTarget,++    -- ** Tag+    tag_key,+    tag_value,++    -- ** TelephonySettings+    telephonySettings_inboundCalling,+    telephonySettings_outboundCalling,+    telephonySettings_sms,++    -- ** Termination+    termination_callingRegions,+    termination_cidrAllowedList,+    termination_cpsLimit,+    termination_defaultPhoneNumber,+    termination_disabled,++    -- ** TerminationHealth+    terminationHealth_source,+    terminationHealth_timestamp,++    -- ** TranscriptionConfiguration+    transcriptionConfiguration_engineTranscribeMedicalSettings,+    transcriptionConfiguration_engineTranscribeSettings,++    -- ** UpdatePhoneNumberRequestItem+    updatePhoneNumberRequestItem_callingName,+    updatePhoneNumberRequestItem_productType,+    updatePhoneNumberRequestItem_phoneNumberId,++    -- ** UpdateUserRequestItem+    updateUserRequestItem_alexaForBusinessMetadata,+    updateUserRequestItem_licenseType,+    updateUserRequestItem_userType,+    updateUserRequestItem_userId,++    -- ** User+    user_accountId,+    user_alexaForBusinessMetadata,+    user_displayName,+    user_invitedOn,+    user_licenseType,+    user_personalPIN,+    user_primaryEmail,+    user_primaryProvisionedNumber,+    user_registeredOn,+    user_userInvitationStatus,+    user_userRegistrationStatus,+    user_userType,+    user_userId,++    -- ** UserError+    userError_errorCode,+    userError_errorMessage,+    userError_userId,++    -- ** UserSettings+    userSettings_telephony,++    -- ** VideoArtifactsConfiguration+    videoArtifactsConfiguration_muxType,+    videoArtifactsConfiguration_state,++    -- ** VoiceConnector+    voiceConnector_awsRegion,+    voiceConnector_createdTimestamp,+    voiceConnector_name,+    voiceConnector_outboundHostName,+    voiceConnector_requireEncryption,+    voiceConnector_updatedTimestamp,+    voiceConnector_voiceConnectorArn,+    voiceConnector_voiceConnectorId,++    -- ** VoiceConnectorGroup+    voiceConnectorGroup_createdTimestamp,+    voiceConnectorGroup_name,+    voiceConnectorGroup_updatedTimestamp,+    voiceConnectorGroup_voiceConnectorGroupArn,+    voiceConnectorGroup_voiceConnectorGroupId,+    voiceConnectorGroup_voiceConnectorItems,++    -- ** VoiceConnectorItem+    voiceConnectorItem_voiceConnectorId,+    voiceConnectorItem_priority,++    -- ** VoiceConnectorSettings+    voiceConnectorSettings_cdrBucket,+  )+where++import Amazonka.Chime.AssociatePhoneNumberWithUser+import Amazonka.Chime.AssociatePhoneNumbersWithVoiceConnector+import Amazonka.Chime.AssociatePhoneNumbersWithVoiceConnectorGroup+import Amazonka.Chime.AssociateSigninDelegateGroupsWithAccount+import Amazonka.Chime.BatchCreateAttendee+import Amazonka.Chime.BatchCreateChannelMembership+import Amazonka.Chime.BatchCreateRoomMembership+import Amazonka.Chime.BatchDeletePhoneNumber+import Amazonka.Chime.BatchSuspendUser+import Amazonka.Chime.BatchUnsuspendUser+import Amazonka.Chime.BatchUpdatePhoneNumber+import Amazonka.Chime.BatchUpdateUser+import Amazonka.Chime.CreateAccount+import Amazonka.Chime.CreateAppInstance+import Amazonka.Chime.CreateAppInstanceAdmin+import Amazonka.Chime.CreateAppInstanceUser+import Amazonka.Chime.CreateAttendee+import Amazonka.Chime.CreateBot+import Amazonka.Chime.CreateChannel+import Amazonka.Chime.CreateChannelBan+import Amazonka.Chime.CreateChannelMembership+import Amazonka.Chime.CreateChannelModerator+import Amazonka.Chime.CreateMediaCapturePipeline+import Amazonka.Chime.CreateMeeting+import Amazonka.Chime.CreateMeetingDialOut+import Amazonka.Chime.CreateMeetingWithAttendees+import Amazonka.Chime.CreatePhoneNumberOrder+import Amazonka.Chime.CreateProxySession+import Amazonka.Chime.CreateRoom+import Amazonka.Chime.CreateRoomMembership+import Amazonka.Chime.CreateSipMediaApplication+import Amazonka.Chime.CreateSipMediaApplicationCall+import Amazonka.Chime.CreateSipRule+import Amazonka.Chime.CreateUser+import Amazonka.Chime.CreateVoiceConnector+import Amazonka.Chime.CreateVoiceConnectorGroup+import Amazonka.Chime.DeleteAccount+import Amazonka.Chime.DeleteAppInstance+import Amazonka.Chime.DeleteAppInstanceAdmin+import Amazonka.Chime.DeleteAppInstanceStreamingConfigurations+import Amazonka.Chime.DeleteAppInstanceUser+import Amazonka.Chime.DeleteAttendee+import Amazonka.Chime.DeleteChannel+import Amazonka.Chime.DeleteChannelBan+import Amazonka.Chime.DeleteChannelMembership+import Amazonka.Chime.DeleteChannelMessage+import Amazonka.Chime.DeleteChannelModerator+import Amazonka.Chime.DeleteEventsConfiguration+import Amazonka.Chime.DeleteMediaCapturePipeline+import Amazonka.Chime.DeleteMeeting+import Amazonka.Chime.DeletePhoneNumber+import Amazonka.Chime.DeleteProxySession+import Amazonka.Chime.DeleteRoom+import Amazonka.Chime.DeleteRoomMembership+import Amazonka.Chime.DeleteSipMediaApplication+import Amazonka.Chime.DeleteSipRule+import Amazonka.Chime.DeleteVoiceConnector+import Amazonka.Chime.DeleteVoiceConnectorEmergencyCallingConfiguration+import Amazonka.Chime.DeleteVoiceConnectorGroup+import Amazonka.Chime.DeleteVoiceConnectorOrigination+import Amazonka.Chime.DeleteVoiceConnectorProxy+import Amazonka.Chime.DeleteVoiceConnectorStreamingConfiguration+import Amazonka.Chime.DeleteVoiceConnectorTermination+import Amazonka.Chime.DeleteVoiceConnectorTerminationCredentials+import Amazonka.Chime.DescribeAppInstance+import Amazonka.Chime.DescribeAppInstanceAdmin+import Amazonka.Chime.DescribeAppInstanceUser+import Amazonka.Chime.DescribeChannel+import Amazonka.Chime.DescribeChannelBan+import Amazonka.Chime.DescribeChannelMembership+import Amazonka.Chime.DescribeChannelMembershipForAppInstanceUser+import Amazonka.Chime.DescribeChannelModeratedByAppInstanceUser+import Amazonka.Chime.DescribeChannelModerator+import Amazonka.Chime.DisassociatePhoneNumberFromUser+import Amazonka.Chime.DisassociatePhoneNumbersFromVoiceConnector+import Amazonka.Chime.DisassociatePhoneNumbersFromVoiceConnectorGroup+import Amazonka.Chime.DisassociateSigninDelegateGroupsFromAccount+import Amazonka.Chime.GetAccount+import Amazonka.Chime.GetAccountSettings+import Amazonka.Chime.GetAppInstanceRetentionSettings+import Amazonka.Chime.GetAppInstanceStreamingConfigurations+import Amazonka.Chime.GetAttendee+import Amazonka.Chime.GetBot+import Amazonka.Chime.GetChannelMessage+import Amazonka.Chime.GetEventsConfiguration+import Amazonka.Chime.GetGlobalSettings+import Amazonka.Chime.GetMediaCapturePipeline+import Amazonka.Chime.GetMeeting+import Amazonka.Chime.GetMessagingSessionEndpoint+import Amazonka.Chime.GetPhoneNumber+import Amazonka.Chime.GetPhoneNumberOrder+import Amazonka.Chime.GetPhoneNumberSettings+import Amazonka.Chime.GetProxySession+import Amazonka.Chime.GetRetentionSettings+import Amazonka.Chime.GetRoom+import Amazonka.Chime.GetSipMediaApplication+import Amazonka.Chime.GetSipMediaApplicationLoggingConfiguration+import Amazonka.Chime.GetSipRule+import Amazonka.Chime.GetUser+import Amazonka.Chime.GetUserSettings+import Amazonka.Chime.GetVoiceConnector+import Amazonka.Chime.GetVoiceConnectorEmergencyCallingConfiguration+import Amazonka.Chime.GetVoiceConnectorGroup+import Amazonka.Chime.GetVoiceConnectorLoggingConfiguration+import Amazonka.Chime.GetVoiceConnectorOrigination+import Amazonka.Chime.GetVoiceConnectorProxy+import Amazonka.Chime.GetVoiceConnectorStreamingConfiguration+import Amazonka.Chime.GetVoiceConnectorTermination+import Amazonka.Chime.GetVoiceConnectorTerminationHealth+import Amazonka.Chime.InviteUsers+import Amazonka.Chime.ListAccounts+import Amazonka.Chime.ListAppInstanceAdmins+import Amazonka.Chime.ListAppInstanceUsers+import Amazonka.Chime.ListAppInstances+import Amazonka.Chime.ListAttendeeTags+import Amazonka.Chime.ListAttendees+import Amazonka.Chime.ListBots+import Amazonka.Chime.ListChannelBans+import Amazonka.Chime.ListChannelMemberships+import Amazonka.Chime.ListChannelMembershipsForAppInstanceUser+import Amazonka.Chime.ListChannelMessages+import Amazonka.Chime.ListChannelModerators+import Amazonka.Chime.ListChannels+import Amazonka.Chime.ListChannelsModeratedByAppInstanceUser+import Amazonka.Chime.ListMediaCapturePipelines+import Amazonka.Chime.ListMeetingTags+import Amazonka.Chime.ListMeetings+import Amazonka.Chime.ListPhoneNumberOrders+import Amazonka.Chime.ListPhoneNumbers+import Amazonka.Chime.ListProxySessions+import Amazonka.Chime.ListRoomMemberships+import Amazonka.Chime.ListRooms+import Amazonka.Chime.ListSipMediaApplications+import Amazonka.Chime.ListSipRules+import Amazonka.Chime.ListSupportedPhoneNumberCountries+import Amazonka.Chime.ListTagsForResource+import Amazonka.Chime.ListUsers+import Amazonka.Chime.ListVoiceConnectorGroups+import Amazonka.Chime.ListVoiceConnectorTerminationCredentials+import Amazonka.Chime.ListVoiceConnectors+import Amazonka.Chime.LogoutUser+import Amazonka.Chime.PutAppInstanceRetentionSettings+import Amazonka.Chime.PutAppInstanceStreamingConfigurations+import Amazonka.Chime.PutEventsConfiguration+import Amazonka.Chime.PutRetentionSettings+import Amazonka.Chime.PutSipMediaApplicationLoggingConfiguration+import Amazonka.Chime.PutVoiceConnectorEmergencyCallingConfiguration+import Amazonka.Chime.PutVoiceConnectorLoggingConfiguration+import Amazonka.Chime.PutVoiceConnectorOrigination+import Amazonka.Chime.PutVoiceConnectorProxy+import Amazonka.Chime.PutVoiceConnectorStreamingConfiguration+import Amazonka.Chime.PutVoiceConnectorTermination+import Amazonka.Chime.PutVoiceConnectorTerminationCredentials+import Amazonka.Chime.RedactChannelMessage+import Amazonka.Chime.RedactConversationMessage+import Amazonka.Chime.RedactRoomMessage+import Amazonka.Chime.RegenerateSecurityToken+import Amazonka.Chime.ResetPersonalPIN+import Amazonka.Chime.RestorePhoneNumber+import Amazonka.Chime.SearchAvailablePhoneNumbers+import Amazonka.Chime.SendChannelMessage+import Amazonka.Chime.StartMeetingTranscription+import Amazonka.Chime.StopMeetingTranscription+import Amazonka.Chime.TagAttendee+import Amazonka.Chime.TagMeeting+import Amazonka.Chime.TagResource+import Amazonka.Chime.Types.Account+import Amazonka.Chime.Types.AccountSettings+import Amazonka.Chime.Types.Address+import Amazonka.Chime.Types.AlexaForBusinessMetadata+import Amazonka.Chime.Types.AppInstance+import Amazonka.Chime.Types.AppInstanceAdmin+import Amazonka.Chime.Types.AppInstanceAdminSummary+import Amazonka.Chime.Types.AppInstanceRetentionSettings+import Amazonka.Chime.Types.AppInstanceStreamingConfiguration+import Amazonka.Chime.Types.AppInstanceSummary+import Amazonka.Chime.Types.AppInstanceUser+import Amazonka.Chime.Types.AppInstanceUserMembershipSummary+import Amazonka.Chime.Types.AppInstanceUserSummary+import Amazonka.Chime.Types.ArtifactsConfiguration+import Amazonka.Chime.Types.Attendee+import Amazonka.Chime.Types.AudioArtifactsConfiguration+import Amazonka.Chime.Types.BatchChannelMemberships+import Amazonka.Chime.Types.BatchCreateChannelMembershipError+import Amazonka.Chime.Types.Bot+import Amazonka.Chime.Types.BusinessCallingSettings+import Amazonka.Chime.Types.CandidateAddress+import Amazonka.Chime.Types.Channel+import Amazonka.Chime.Types.ChannelBan+import Amazonka.Chime.Types.ChannelBanSummary+import Amazonka.Chime.Types.ChannelMembership+import Amazonka.Chime.Types.ChannelMembershipForAppInstanceUserSummary+import Amazonka.Chime.Types.ChannelMembershipSummary+import Amazonka.Chime.Types.ChannelMessage+import Amazonka.Chime.Types.ChannelMessageSummary+import Amazonka.Chime.Types.ChannelModeratedByAppInstanceUserSummary+import Amazonka.Chime.Types.ChannelModerator+import Amazonka.Chime.Types.ChannelModeratorSummary+import Amazonka.Chime.Types.ChannelRetentionSettings+import Amazonka.Chime.Types.ChannelSummary+import Amazonka.Chime.Types.ChimeSdkMeetingConfiguration+import Amazonka.Chime.Types.ContentArtifactsConfiguration+import Amazonka.Chime.Types.ConversationRetentionSettings+import Amazonka.Chime.Types.CreateAttendeeError+import Amazonka.Chime.Types.CreateAttendeeRequestItem+import Amazonka.Chime.Types.Credential+import Amazonka.Chime.Types.DNISEmergencyCallingConfiguration+import Amazonka.Chime.Types.EmergencyCallingConfiguration+import Amazonka.Chime.Types.EngineTranscribeMedicalSettings+import Amazonka.Chime.Types.EngineTranscribeSettings+import Amazonka.Chime.Types.EventsConfiguration+import Amazonka.Chime.Types.GeoMatchParams+import Amazonka.Chime.Types.Identity+import Amazonka.Chime.Types.Invite+import Amazonka.Chime.Types.LoggingConfiguration+import Amazonka.Chime.Types.MediaCapturePipeline+import Amazonka.Chime.Types.MediaPlacement+import Amazonka.Chime.Types.Meeting+import Amazonka.Chime.Types.MeetingNotificationConfiguration+import Amazonka.Chime.Types.Member+import Amazonka.Chime.Types.MemberError+import Amazonka.Chime.Types.MembershipItem+import Amazonka.Chime.Types.MessagingSessionEndpoint+import Amazonka.Chime.Types.OrderedPhoneNumber+import Amazonka.Chime.Types.Origination+import Amazonka.Chime.Types.OriginationRoute+import Amazonka.Chime.Types.Participant+import Amazonka.Chime.Types.PhoneNumber+import Amazonka.Chime.Types.PhoneNumberAssociation+import Amazonka.Chime.Types.PhoneNumberCapabilities+import Amazonka.Chime.Types.PhoneNumberCountry+import Amazonka.Chime.Types.PhoneNumberError+import Amazonka.Chime.Types.PhoneNumberOrder+import Amazonka.Chime.Types.Proxy+import Amazonka.Chime.Types.ProxySession+import Amazonka.Chime.Types.RetentionSettings+import Amazonka.Chime.Types.Room+import Amazonka.Chime.Types.RoomMembership+import Amazonka.Chime.Types.RoomRetentionSettings+import Amazonka.Chime.Types.SelectedVideoStreams+import Amazonka.Chime.Types.SigninDelegateGroup+import Amazonka.Chime.Types.SipMediaApplication+import Amazonka.Chime.Types.SipMediaApplicationCall+import Amazonka.Chime.Types.SipMediaApplicationEndpoint+import Amazonka.Chime.Types.SipMediaApplicationLoggingConfiguration+import Amazonka.Chime.Types.SipRule+import Amazonka.Chime.Types.SipRuleTargetApplication+import Amazonka.Chime.Types.SourceConfiguration+import Amazonka.Chime.Types.StreamingConfiguration+import Amazonka.Chime.Types.StreamingNotificationTarget+import Amazonka.Chime.Types.Tag+import Amazonka.Chime.Types.TelephonySettings+import Amazonka.Chime.Types.Termination+import Amazonka.Chime.Types.TerminationHealth+import Amazonka.Chime.Types.TranscriptionConfiguration+import Amazonka.Chime.Types.UpdatePhoneNumberRequestItem+import Amazonka.Chime.Types.UpdateUserRequestItem+import Amazonka.Chime.Types.User+import Amazonka.Chime.Types.UserError+import Amazonka.Chime.Types.UserSettings+import Amazonka.Chime.Types.VideoArtifactsConfiguration+import Amazonka.Chime.Types.VoiceConnector+import Amazonka.Chime.Types.VoiceConnectorGroup+import Amazonka.Chime.Types.VoiceConnectorItem+import Amazonka.Chime.Types.VoiceConnectorSettings+import Amazonka.Chime.UntagAttendee+import Amazonka.Chime.UntagMeeting+import Amazonka.Chime.UntagResource+import Amazonka.Chime.UpdateAccount+import Amazonka.Chime.UpdateAccountSettings+import Amazonka.Chime.UpdateAppInstance+import Amazonka.Chime.UpdateAppInstanceUser+import Amazonka.Chime.UpdateBot+import Amazonka.Chime.UpdateChannel+import Amazonka.Chime.UpdateChannelMessage+import Amazonka.Chime.UpdateChannelReadMarker+import Amazonka.Chime.UpdateGlobalSettings+import Amazonka.Chime.UpdatePhoneNumber+import Amazonka.Chime.UpdatePhoneNumberSettings+import Amazonka.Chime.UpdateProxySession+import Amazonka.Chime.UpdateRoom+import Amazonka.Chime.UpdateRoomMembership+import Amazonka.Chime.UpdateSipMediaApplication+import Amazonka.Chime.UpdateSipMediaApplicationCall+import Amazonka.Chime.UpdateSipRule+import Amazonka.Chime.UpdateUser+import Amazonka.Chime.UpdateUserSettings+import Amazonka.Chime.UpdateVoiceConnector+import Amazonka.Chime.UpdateVoiceConnectorGroup+import Amazonka.Chime.ValidateE911Address
+ gen/Amazonka/Chime/ListAccounts.hs view
@@ -0,0 +1,232 @@+{-# 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.Chime.ListAccounts+-- 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 Amazon Chime accounts under the administrator\'s AWS account.+-- You can filter accounts by account name prefix. To find out which Amazon+-- Chime account a user belongs to, you can filter by the user\'s email+-- address, which returns one account result.+--+-- This operation returns paginated results.+module Amazonka.Chime.ListAccounts+  ( -- * Creating a Request+    ListAccounts (..),+    newListAccounts,++    -- * Request Lenses+    listAccounts_maxResults,+    listAccounts_name,+    listAccounts_nextToken,+    listAccounts_userEmail,++    -- * Destructuring the Response+    ListAccountsResponse (..),+    newListAccountsResponse,++    -- * Response Lenses+    listAccountsResponse_accounts,+    listAccountsResponse_nextToken,+    listAccountsResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newListAccounts' smart constructor.+data ListAccounts = ListAccounts'+  { -- | The maximum number of results to return in a single call. Defaults to+    -- 100.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | Amazon Chime account name prefix with which to filter results.+    name :: Prelude.Maybe Prelude.Text,+    -- | The token to use to retrieve the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | User email address with which to filter results.+    userEmail :: Prelude.Maybe (Data.Sensitive Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAccounts' 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', 'listAccounts_maxResults' - The maximum number of results to return in a single call. Defaults to+-- 100.+--+-- 'name', 'listAccounts_name' - Amazon Chime account name prefix with which to filter results.+--+-- 'nextToken', 'listAccounts_nextToken' - The token to use to retrieve the next page of results.+--+-- 'userEmail', 'listAccounts_userEmail' - User email address with which to filter results.+newListAccounts ::+  ListAccounts+newListAccounts =+  ListAccounts'+    { maxResults = Prelude.Nothing,+      name = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      userEmail = Prelude.Nothing+    }++-- | The maximum number of results to return in a single call. Defaults to+-- 100.+listAccounts_maxResults :: Lens.Lens' ListAccounts (Prelude.Maybe Prelude.Natural)+listAccounts_maxResults = Lens.lens (\ListAccounts' {maxResults} -> maxResults) (\s@ListAccounts' {} a -> s {maxResults = a} :: ListAccounts)++-- | Amazon Chime account name prefix with which to filter results.+listAccounts_name :: Lens.Lens' ListAccounts (Prelude.Maybe Prelude.Text)+listAccounts_name = Lens.lens (\ListAccounts' {name} -> name) (\s@ListAccounts' {} a -> s {name = a} :: ListAccounts)++-- | The token to use to retrieve the next page of results.+listAccounts_nextToken :: Lens.Lens' ListAccounts (Prelude.Maybe Prelude.Text)+listAccounts_nextToken = Lens.lens (\ListAccounts' {nextToken} -> nextToken) (\s@ListAccounts' {} a -> s {nextToken = a} :: ListAccounts)++-- | User email address with which to filter results.+listAccounts_userEmail :: Lens.Lens' ListAccounts (Prelude.Maybe Prelude.Text)+listAccounts_userEmail = Lens.lens (\ListAccounts' {userEmail} -> userEmail) (\s@ListAccounts' {} a -> s {userEmail = a} :: ListAccounts) Prelude.. Lens.mapping Data._Sensitive++instance Core.AWSPager ListAccounts where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listAccountsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listAccountsResponse_accounts+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listAccounts_nextToken+          Lens..~ rs+          Lens.^? listAccountsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListAccounts where+  type AWSResponse ListAccounts = ListAccountsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListAccountsResponse'+            Prelude.<$> (x Data..?> "Accounts" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListAccounts where+  hashWithSalt _salt ListAccounts' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` userEmail++instance Prelude.NFData ListAccounts where+  rnf ListAccounts' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf userEmail++instance Data.ToHeaders ListAccounts where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ListAccounts where+  toPath = Prelude.const "/accounts"++instance Data.ToQuery ListAccounts where+  toQuery ListAccounts' {..} =+    Prelude.mconcat+      [ "max-results" Data.=: maxResults,+        "name" Data.=: name,+        "next-token" Data.=: nextToken,+        "user-email" Data.=: userEmail+      ]++-- | /See:/ 'newListAccountsResponse' smart constructor.+data ListAccountsResponse = ListAccountsResponse'+  { -- | List of Amazon Chime accounts and account details.+    accounts :: Prelude.Maybe [Account],+    -- | 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.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAccountsResponse' 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:+--+-- 'accounts', 'listAccountsResponse_accounts' - List of Amazon Chime accounts and account details.+--+-- 'nextToken', 'listAccountsResponse_nextToken' - The token to use to retrieve the next page of results.+--+-- 'httpStatus', 'listAccountsResponse_httpStatus' - The response's http status code.+newListAccountsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListAccountsResponse+newListAccountsResponse pHttpStatus_ =+  ListAccountsResponse'+    { accounts = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | List of Amazon Chime accounts and account details.+listAccountsResponse_accounts :: Lens.Lens' ListAccountsResponse (Prelude.Maybe [Account])+listAccountsResponse_accounts = Lens.lens (\ListAccountsResponse' {accounts} -> accounts) (\s@ListAccountsResponse' {} a -> s {accounts = a} :: ListAccountsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token to use to retrieve the next page of results.+listAccountsResponse_nextToken :: Lens.Lens' ListAccountsResponse (Prelude.Maybe Prelude.Text)+listAccountsResponse_nextToken = Lens.lens (\ListAccountsResponse' {nextToken} -> nextToken) (\s@ListAccountsResponse' {} a -> s {nextToken = a} :: ListAccountsResponse)++-- | The response's http status code.+listAccountsResponse_httpStatus :: Lens.Lens' ListAccountsResponse Prelude.Int+listAccountsResponse_httpStatus = Lens.lens (\ListAccountsResponse' {httpStatus} -> httpStatus) (\s@ListAccountsResponse' {} a -> s {httpStatus = a} :: ListAccountsResponse)++instance Prelude.NFData ListAccountsResponse where+  rnf ListAccountsResponse' {..} =+    Prelude.rnf accounts+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/ListAppInstanceAdmins.hs view
@@ -0,0 +1,220 @@+{-# 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.Chime.ListAppInstanceAdmins+-- 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 administrators in the @AppInstance@.+module Amazonka.Chime.ListAppInstanceAdmins+  ( -- * Creating a Request+    ListAppInstanceAdmins (..),+    newListAppInstanceAdmins,++    -- * Request Lenses+    listAppInstanceAdmins_maxResults,+    listAppInstanceAdmins_nextToken,+    listAppInstanceAdmins_appInstanceArn,++    -- * Destructuring the Response+    ListAppInstanceAdminsResponse (..),+    newListAppInstanceAdminsResponse,++    -- * Response Lenses+    listAppInstanceAdminsResponse_appInstanceAdmins,+    listAppInstanceAdminsResponse_appInstanceArn,+    listAppInstanceAdminsResponse_nextToken,+    listAppInstanceAdminsResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newListAppInstanceAdmins' smart constructor.+data ListAppInstanceAdmins = ListAppInstanceAdmins'+  { -- | The maximum number of administrators that you want to return.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token returned from previous API requests until the number of+    -- administrators is reached.+    nextToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The ARN of the @AppInstance@.+    appInstanceArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAppInstanceAdmins' 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', 'listAppInstanceAdmins_maxResults' - The maximum number of administrators that you want to return.+--+-- 'nextToken', 'listAppInstanceAdmins_nextToken' - The token returned from previous API requests until the number of+-- administrators is reached.+--+-- 'appInstanceArn', 'listAppInstanceAdmins_appInstanceArn' - The ARN of the @AppInstance@.+newListAppInstanceAdmins ::+  -- | 'appInstanceArn'+  Prelude.Text ->+  ListAppInstanceAdmins+newListAppInstanceAdmins pAppInstanceArn_ =+  ListAppInstanceAdmins'+    { maxResults =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      appInstanceArn = pAppInstanceArn_+    }++-- | The maximum number of administrators that you want to return.+listAppInstanceAdmins_maxResults :: Lens.Lens' ListAppInstanceAdmins (Prelude.Maybe Prelude.Natural)+listAppInstanceAdmins_maxResults = Lens.lens (\ListAppInstanceAdmins' {maxResults} -> maxResults) (\s@ListAppInstanceAdmins' {} a -> s {maxResults = a} :: ListAppInstanceAdmins)++-- | The token returned from previous API requests until the number of+-- administrators is reached.+listAppInstanceAdmins_nextToken :: Lens.Lens' ListAppInstanceAdmins (Prelude.Maybe Prelude.Text)+listAppInstanceAdmins_nextToken = Lens.lens (\ListAppInstanceAdmins' {nextToken} -> nextToken) (\s@ListAppInstanceAdmins' {} a -> s {nextToken = a} :: ListAppInstanceAdmins) Prelude.. Lens.mapping Data._Sensitive++-- | The ARN of the @AppInstance@.+listAppInstanceAdmins_appInstanceArn :: Lens.Lens' ListAppInstanceAdmins Prelude.Text+listAppInstanceAdmins_appInstanceArn = Lens.lens (\ListAppInstanceAdmins' {appInstanceArn} -> appInstanceArn) (\s@ListAppInstanceAdmins' {} a -> s {appInstanceArn = a} :: ListAppInstanceAdmins)++instance Core.AWSRequest ListAppInstanceAdmins where+  type+    AWSResponse ListAppInstanceAdmins =+      ListAppInstanceAdminsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListAppInstanceAdminsResponse'+            Prelude.<$> ( x+                            Data..?> "AppInstanceAdmins"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "AppInstanceArn")+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListAppInstanceAdmins where+  hashWithSalt _salt ListAppInstanceAdmins' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` appInstanceArn++instance Prelude.NFData ListAppInstanceAdmins where+  rnf ListAppInstanceAdmins' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf appInstanceArn++instance Data.ToHeaders ListAppInstanceAdmins where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ListAppInstanceAdmins where+  toPath ListAppInstanceAdmins' {..} =+    Prelude.mconcat+      [ "/app-instances/",+        Data.toBS appInstanceArn,+        "/admins"+      ]++instance Data.ToQuery ListAppInstanceAdmins where+  toQuery ListAppInstanceAdmins' {..} =+    Prelude.mconcat+      [ "max-results" Data.=: maxResults,+        "next-token" Data.=: nextToken+      ]++-- | /See:/ 'newListAppInstanceAdminsResponse' smart constructor.+data ListAppInstanceAdminsResponse = ListAppInstanceAdminsResponse'+  { -- | The information for each administrator.+    appInstanceAdmins :: Prelude.Maybe [AppInstanceAdminSummary],+    -- | The ARN of the @AppInstance@.+    appInstanceArn :: Prelude.Maybe Prelude.Text,+    -- | The token returned from previous API requests until the number of+    -- administrators is reached.+    nextToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAppInstanceAdminsResponse' 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:+--+-- 'appInstanceAdmins', 'listAppInstanceAdminsResponse_appInstanceAdmins' - The information for each administrator.+--+-- 'appInstanceArn', 'listAppInstanceAdminsResponse_appInstanceArn' - The ARN of the @AppInstance@.+--+-- 'nextToken', 'listAppInstanceAdminsResponse_nextToken' - The token returned from previous API requests until the number of+-- administrators is reached.+--+-- 'httpStatus', 'listAppInstanceAdminsResponse_httpStatus' - The response's http status code.+newListAppInstanceAdminsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListAppInstanceAdminsResponse+newListAppInstanceAdminsResponse pHttpStatus_ =+  ListAppInstanceAdminsResponse'+    { appInstanceAdmins =+        Prelude.Nothing,+      appInstanceArn = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The information for each administrator.+listAppInstanceAdminsResponse_appInstanceAdmins :: Lens.Lens' ListAppInstanceAdminsResponse (Prelude.Maybe [AppInstanceAdminSummary])+listAppInstanceAdminsResponse_appInstanceAdmins = Lens.lens (\ListAppInstanceAdminsResponse' {appInstanceAdmins} -> appInstanceAdmins) (\s@ListAppInstanceAdminsResponse' {} a -> s {appInstanceAdmins = a} :: ListAppInstanceAdminsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The ARN of the @AppInstance@.+listAppInstanceAdminsResponse_appInstanceArn :: Lens.Lens' ListAppInstanceAdminsResponse (Prelude.Maybe Prelude.Text)+listAppInstanceAdminsResponse_appInstanceArn = Lens.lens (\ListAppInstanceAdminsResponse' {appInstanceArn} -> appInstanceArn) (\s@ListAppInstanceAdminsResponse' {} a -> s {appInstanceArn = a} :: ListAppInstanceAdminsResponse)++-- | The token returned from previous API requests until the number of+-- administrators is reached.+listAppInstanceAdminsResponse_nextToken :: Lens.Lens' ListAppInstanceAdminsResponse (Prelude.Maybe Prelude.Text)+listAppInstanceAdminsResponse_nextToken = Lens.lens (\ListAppInstanceAdminsResponse' {nextToken} -> nextToken) (\s@ListAppInstanceAdminsResponse' {} a -> s {nextToken = a} :: ListAppInstanceAdminsResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The response's http status code.+listAppInstanceAdminsResponse_httpStatus :: Lens.Lens' ListAppInstanceAdminsResponse Prelude.Int+listAppInstanceAdminsResponse_httpStatus = Lens.lens (\ListAppInstanceAdminsResponse' {httpStatus} -> httpStatus) (\s@ListAppInstanceAdminsResponse' {} a -> s {httpStatus = a} :: ListAppInstanceAdminsResponse)++instance Prelude.NFData ListAppInstanceAdminsResponse where+  rnf ListAppInstanceAdminsResponse' {..} =+    Prelude.rnf appInstanceAdmins+      `Prelude.seq` Prelude.rnf appInstanceArn+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/ListAppInstanceUsers.hs view
@@ -0,0 +1,215 @@+{-# 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.Chime.ListAppInstanceUsers+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- List all @AppInstanceUsers@ created under a single @AppInstance@.+module Amazonka.Chime.ListAppInstanceUsers+  ( -- * Creating a Request+    ListAppInstanceUsers (..),+    newListAppInstanceUsers,++    -- * Request Lenses+    listAppInstanceUsers_maxResults,+    listAppInstanceUsers_nextToken,+    listAppInstanceUsers_appInstanceArn,++    -- * Destructuring the Response+    ListAppInstanceUsersResponse (..),+    newListAppInstanceUsersResponse,++    -- * Response Lenses+    listAppInstanceUsersResponse_appInstanceArn,+    listAppInstanceUsersResponse_appInstanceUsers,+    listAppInstanceUsersResponse_nextToken,+    listAppInstanceUsersResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newListAppInstanceUsers' smart constructor.+data ListAppInstanceUsers = ListAppInstanceUsers'+  { -- | The maximum number of requests that you want returned.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token passed by previous API calls until all requested users are+    -- returned.+    nextToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The ARN of the @AppInstance@.+    appInstanceArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAppInstanceUsers' 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', 'listAppInstanceUsers_maxResults' - The maximum number of requests that you want returned.+--+-- 'nextToken', 'listAppInstanceUsers_nextToken' - The token passed by previous API calls until all requested users are+-- returned.+--+-- 'appInstanceArn', 'listAppInstanceUsers_appInstanceArn' - The ARN of the @AppInstance@.+newListAppInstanceUsers ::+  -- | 'appInstanceArn'+  Prelude.Text ->+  ListAppInstanceUsers+newListAppInstanceUsers pAppInstanceArn_ =+  ListAppInstanceUsers'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      appInstanceArn = pAppInstanceArn_+    }++-- | The maximum number of requests that you want returned.+listAppInstanceUsers_maxResults :: Lens.Lens' ListAppInstanceUsers (Prelude.Maybe Prelude.Natural)+listAppInstanceUsers_maxResults = Lens.lens (\ListAppInstanceUsers' {maxResults} -> maxResults) (\s@ListAppInstanceUsers' {} a -> s {maxResults = a} :: ListAppInstanceUsers)++-- | The token passed by previous API calls until all requested users are+-- returned.+listAppInstanceUsers_nextToken :: Lens.Lens' ListAppInstanceUsers (Prelude.Maybe Prelude.Text)+listAppInstanceUsers_nextToken = Lens.lens (\ListAppInstanceUsers' {nextToken} -> nextToken) (\s@ListAppInstanceUsers' {} a -> s {nextToken = a} :: ListAppInstanceUsers) Prelude.. Lens.mapping Data._Sensitive++-- | The ARN of the @AppInstance@.+listAppInstanceUsers_appInstanceArn :: Lens.Lens' ListAppInstanceUsers Prelude.Text+listAppInstanceUsers_appInstanceArn = Lens.lens (\ListAppInstanceUsers' {appInstanceArn} -> appInstanceArn) (\s@ListAppInstanceUsers' {} a -> s {appInstanceArn = a} :: ListAppInstanceUsers)++instance Core.AWSRequest ListAppInstanceUsers where+  type+    AWSResponse ListAppInstanceUsers =+      ListAppInstanceUsersResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListAppInstanceUsersResponse'+            Prelude.<$> (x Data..?> "AppInstanceArn")+            Prelude.<*> ( x+                            Data..?> "AppInstanceUsers"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListAppInstanceUsers where+  hashWithSalt _salt ListAppInstanceUsers' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` appInstanceArn++instance Prelude.NFData ListAppInstanceUsers where+  rnf ListAppInstanceUsers' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf appInstanceArn++instance Data.ToHeaders ListAppInstanceUsers where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ListAppInstanceUsers where+  toPath = Prelude.const "/app-instance-users"++instance Data.ToQuery ListAppInstanceUsers where+  toQuery ListAppInstanceUsers' {..} =+    Prelude.mconcat+      [ "max-results" Data.=: maxResults,+        "next-token" Data.=: nextToken,+        "app-instance-arn" Data.=: appInstanceArn+      ]++-- | /See:/ 'newListAppInstanceUsersResponse' smart constructor.+data ListAppInstanceUsersResponse = ListAppInstanceUsersResponse'+  { -- | The ARN of the @AppInstance@.+    appInstanceArn :: Prelude.Maybe Prelude.Text,+    -- | The information for each requested @AppInstanceUser@.+    appInstanceUsers :: Prelude.Maybe [AppInstanceUserSummary],+    -- | The token passed by previous API calls until all requested users are+    -- returned.+    nextToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAppInstanceUsersResponse' 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:+--+-- 'appInstanceArn', 'listAppInstanceUsersResponse_appInstanceArn' - The ARN of the @AppInstance@.+--+-- 'appInstanceUsers', 'listAppInstanceUsersResponse_appInstanceUsers' - The information for each requested @AppInstanceUser@.+--+-- 'nextToken', 'listAppInstanceUsersResponse_nextToken' - The token passed by previous API calls until all requested users are+-- returned.+--+-- 'httpStatus', 'listAppInstanceUsersResponse_httpStatus' - The response's http status code.+newListAppInstanceUsersResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListAppInstanceUsersResponse+newListAppInstanceUsersResponse pHttpStatus_ =+  ListAppInstanceUsersResponse'+    { appInstanceArn =+        Prelude.Nothing,+      appInstanceUsers = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The ARN of the @AppInstance@.+listAppInstanceUsersResponse_appInstanceArn :: Lens.Lens' ListAppInstanceUsersResponse (Prelude.Maybe Prelude.Text)+listAppInstanceUsersResponse_appInstanceArn = Lens.lens (\ListAppInstanceUsersResponse' {appInstanceArn} -> appInstanceArn) (\s@ListAppInstanceUsersResponse' {} a -> s {appInstanceArn = a} :: ListAppInstanceUsersResponse)++-- | The information for each requested @AppInstanceUser@.+listAppInstanceUsersResponse_appInstanceUsers :: Lens.Lens' ListAppInstanceUsersResponse (Prelude.Maybe [AppInstanceUserSummary])+listAppInstanceUsersResponse_appInstanceUsers = Lens.lens (\ListAppInstanceUsersResponse' {appInstanceUsers} -> appInstanceUsers) (\s@ListAppInstanceUsersResponse' {} a -> s {appInstanceUsers = a} :: ListAppInstanceUsersResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token passed by previous API calls until all requested users are+-- returned.+listAppInstanceUsersResponse_nextToken :: Lens.Lens' ListAppInstanceUsersResponse (Prelude.Maybe Prelude.Text)+listAppInstanceUsersResponse_nextToken = Lens.lens (\ListAppInstanceUsersResponse' {nextToken} -> nextToken) (\s@ListAppInstanceUsersResponse' {} a -> s {nextToken = a} :: ListAppInstanceUsersResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The response's http status code.+listAppInstanceUsersResponse_httpStatus :: Lens.Lens' ListAppInstanceUsersResponse Prelude.Int+listAppInstanceUsersResponse_httpStatus = Lens.lens (\ListAppInstanceUsersResponse' {httpStatus} -> httpStatus) (\s@ListAppInstanceUsersResponse' {} a -> s {httpStatus = a} :: ListAppInstanceUsersResponse)++instance Prelude.NFData ListAppInstanceUsersResponse where+  rnf ListAppInstanceUsersResponse' {..} =+    Prelude.rnf appInstanceArn+      `Prelude.seq` Prelude.rnf appInstanceUsers+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/ListAppInstances.hs view
@@ -0,0 +1,186 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Chime.ListAppInstances+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists all Amazon Chime @AppInstance@s created under a single AWS+-- account.+module Amazonka.Chime.ListAppInstances+  ( -- * Creating a Request+    ListAppInstances (..),+    newListAppInstances,++    -- * Request Lenses+    listAppInstances_maxResults,+    listAppInstances_nextToken,++    -- * Destructuring the Response+    ListAppInstancesResponse (..),+    newListAppInstancesResponse,++    -- * Response Lenses+    listAppInstancesResponse_appInstances,+    listAppInstancesResponse_nextToken,+    listAppInstancesResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newListAppInstances' smart constructor.+data ListAppInstances = ListAppInstances'+  { -- | The maximum number of @AppInstance@s that you want to return.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token passed by previous API requests until you reach the maximum+    -- number of @AppInstance@s.+    nextToken :: Prelude.Maybe (Data.Sensitive Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAppInstances' 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', 'listAppInstances_maxResults' - The maximum number of @AppInstance@s that you want to return.+--+-- 'nextToken', 'listAppInstances_nextToken' - The token passed by previous API requests until you reach the maximum+-- number of @AppInstance@s.+newListAppInstances ::+  ListAppInstances+newListAppInstances =+  ListAppInstances'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The maximum number of @AppInstance@s that you want to return.+listAppInstances_maxResults :: Lens.Lens' ListAppInstances (Prelude.Maybe Prelude.Natural)+listAppInstances_maxResults = Lens.lens (\ListAppInstances' {maxResults} -> maxResults) (\s@ListAppInstances' {} a -> s {maxResults = a} :: ListAppInstances)++-- | The token passed by previous API requests until you reach the maximum+-- number of @AppInstance@s.+listAppInstances_nextToken :: Lens.Lens' ListAppInstances (Prelude.Maybe Prelude.Text)+listAppInstances_nextToken = Lens.lens (\ListAppInstances' {nextToken} -> nextToken) (\s@ListAppInstances' {} a -> s {nextToken = a} :: ListAppInstances) Prelude.. Lens.mapping Data._Sensitive++instance Core.AWSRequest ListAppInstances where+  type+    AWSResponse ListAppInstances =+      ListAppInstancesResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListAppInstancesResponse'+            Prelude.<$> (x Data..?> "AppInstances" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListAppInstances where+  hashWithSalt _salt ListAppInstances' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListAppInstances where+  rnf ListAppInstances' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListAppInstances where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ListAppInstances where+  toPath = Prelude.const "/app-instances"++instance Data.ToQuery ListAppInstances where+  toQuery ListAppInstances' {..} =+    Prelude.mconcat+      [ "max-results" Data.=: maxResults,+        "next-token" Data.=: nextToken+      ]++-- | /See:/ 'newListAppInstancesResponse' smart constructor.+data ListAppInstancesResponse = ListAppInstancesResponse'+  { -- | The information for each @AppInstance@.+    appInstances :: Prelude.Maybe [AppInstanceSummary],+    -- | The token passed by previous API requests until the maximum number of+    -- @AppInstance@s is reached.+    nextToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAppInstancesResponse' 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:+--+-- 'appInstances', 'listAppInstancesResponse_appInstances' - The information for each @AppInstance@.+--+-- 'nextToken', 'listAppInstancesResponse_nextToken' - The token passed by previous API requests until the maximum number of+-- @AppInstance@s is reached.+--+-- 'httpStatus', 'listAppInstancesResponse_httpStatus' - The response's http status code.+newListAppInstancesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListAppInstancesResponse+newListAppInstancesResponse pHttpStatus_ =+  ListAppInstancesResponse'+    { appInstances =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The information for each @AppInstance@.+listAppInstancesResponse_appInstances :: Lens.Lens' ListAppInstancesResponse (Prelude.Maybe [AppInstanceSummary])+listAppInstancesResponse_appInstances = Lens.lens (\ListAppInstancesResponse' {appInstances} -> appInstances) (\s@ListAppInstancesResponse' {} a -> s {appInstances = a} :: ListAppInstancesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token passed by previous API requests until the maximum number of+-- @AppInstance@s is reached.+listAppInstancesResponse_nextToken :: Lens.Lens' ListAppInstancesResponse (Prelude.Maybe Prelude.Text)+listAppInstancesResponse_nextToken = Lens.lens (\ListAppInstancesResponse' {nextToken} -> nextToken) (\s@ListAppInstancesResponse' {} a -> s {nextToken = a} :: ListAppInstancesResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The response's http status code.+listAppInstancesResponse_httpStatus :: Lens.Lens' ListAppInstancesResponse Prelude.Int+listAppInstancesResponse_httpStatus = Lens.lens (\ListAppInstancesResponse' {httpStatus} -> httpStatus) (\s@ListAppInstancesResponse' {} a -> s {httpStatus = a} :: ListAppInstancesResponse)++instance Prelude.NFData ListAppInstancesResponse where+  rnf ListAppInstancesResponse' {..} =+    Prelude.rnf appInstances+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/ListAttendeeTags.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.Chime.ListAttendeeTags+-- 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 tags applied to an Amazon Chime SDK attendee resource.+module Amazonka.Chime.ListAttendeeTags+  ( -- * Creating a Request+    ListAttendeeTags (..),+    newListAttendeeTags,++    -- * Request Lenses+    listAttendeeTags_meetingId,+    listAttendeeTags_attendeeId,++    -- * Destructuring the Response+    ListAttendeeTagsResponse (..),+    newListAttendeeTagsResponse,++    -- * Response Lenses+    listAttendeeTagsResponse_tags,+    listAttendeeTagsResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newListAttendeeTags' smart constructor.+data ListAttendeeTags = ListAttendeeTags'+  { -- | 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 'ListAttendeeTags' 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', 'listAttendeeTags_meetingId' - The Amazon Chime SDK meeting ID.+--+-- 'attendeeId', 'listAttendeeTags_attendeeId' - The Amazon Chime SDK attendee ID.+newListAttendeeTags ::+  -- | 'meetingId'+  Prelude.Text ->+  -- | 'attendeeId'+  Prelude.Text ->+  ListAttendeeTags+newListAttendeeTags pMeetingId_ pAttendeeId_ =+  ListAttendeeTags'+    { meetingId = pMeetingId_,+      attendeeId = pAttendeeId_+    }++-- | The Amazon Chime SDK meeting ID.+listAttendeeTags_meetingId :: Lens.Lens' ListAttendeeTags Prelude.Text+listAttendeeTags_meetingId = Lens.lens (\ListAttendeeTags' {meetingId} -> meetingId) (\s@ListAttendeeTags' {} a -> s {meetingId = a} :: ListAttendeeTags)++-- | The Amazon Chime SDK attendee ID.+listAttendeeTags_attendeeId :: Lens.Lens' ListAttendeeTags Prelude.Text+listAttendeeTags_attendeeId = Lens.lens (\ListAttendeeTags' {attendeeId} -> attendeeId) (\s@ListAttendeeTags' {} a -> s {attendeeId = a} :: ListAttendeeTags)++instance Core.AWSRequest ListAttendeeTags where+  type+    AWSResponse ListAttendeeTags =+      ListAttendeeTagsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListAttendeeTagsResponse'+            Prelude.<$> (x Data..?> "Tags")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListAttendeeTags where+  hashWithSalt _salt ListAttendeeTags' {..} =+    _salt+      `Prelude.hashWithSalt` meetingId+      `Prelude.hashWithSalt` attendeeId++instance Prelude.NFData ListAttendeeTags where+  rnf ListAttendeeTags' {..} =+    Prelude.rnf meetingId+      `Prelude.seq` Prelude.rnf attendeeId++instance Data.ToHeaders ListAttendeeTags where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ListAttendeeTags where+  toPath ListAttendeeTags' {..} =+    Prelude.mconcat+      [ "/meetings/",+        Data.toBS meetingId,+        "/attendees/",+        Data.toBS attendeeId,+        "/tags"+      ]++instance Data.ToQuery ListAttendeeTags where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListAttendeeTagsResponse' smart constructor.+data ListAttendeeTagsResponse = ListAttendeeTagsResponse'+  { -- | A list of tag key-value pairs.+    tags :: Prelude.Maybe (Prelude.NonEmpty Tag),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAttendeeTagsResponse' 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', 'listAttendeeTagsResponse_tags' - A list of tag key-value pairs.+--+-- 'httpStatus', 'listAttendeeTagsResponse_httpStatus' - The response's http status code.+newListAttendeeTagsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListAttendeeTagsResponse+newListAttendeeTagsResponse pHttpStatus_ =+  ListAttendeeTagsResponse'+    { tags = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | A list of tag key-value pairs.+listAttendeeTagsResponse_tags :: Lens.Lens' ListAttendeeTagsResponse (Prelude.Maybe (Prelude.NonEmpty Tag))+listAttendeeTagsResponse_tags = Lens.lens (\ListAttendeeTagsResponse' {tags} -> tags) (\s@ListAttendeeTagsResponse' {} a -> s {tags = a} :: ListAttendeeTagsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listAttendeeTagsResponse_httpStatus :: Lens.Lens' ListAttendeeTagsResponse Prelude.Int+listAttendeeTagsResponse_httpStatus = Lens.lens (\ListAttendeeTagsResponse' {httpStatus} -> httpStatus) (\s@ListAttendeeTagsResponse' {} a -> s {httpStatus = a} :: ListAttendeeTagsResponse)++instance Prelude.NFData ListAttendeeTagsResponse where+  rnf ListAttendeeTagsResponse' {..} =+    Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/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.Chime.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.Chime.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.Chime.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/Chime/ListBots.hs view
@@ -0,0 +1,196 @@+{-# 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.Chime.ListBots+-- 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 bots associated with the administrator\'s Amazon Chime+-- Enterprise account ID.+module Amazonka.Chime.ListBots+  ( -- * Creating a Request+    ListBots (..),+    newListBots,++    -- * Request Lenses+    listBots_maxResults,+    listBots_nextToken,+    listBots_accountId,++    -- * Destructuring the Response+    ListBotsResponse (..),+    newListBotsResponse,++    -- * Response Lenses+    listBotsResponse_bots,+    listBotsResponse_nextToken,+    listBotsResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newListBots' smart constructor.+data ListBots = ListBots'+  { -- | The maximum number of results to return in a single call. The default is+    -- 10.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token to use to retrieve the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Chime account ID.+    accountId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListBots' 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', 'listBots_maxResults' - The maximum number of results to return in a single call. The default is+-- 10.+--+-- 'nextToken', 'listBots_nextToken' - The token to use to retrieve the next page of results.+--+-- 'accountId', 'listBots_accountId' - The Amazon Chime account ID.+newListBots ::+  -- | 'accountId'+  Prelude.Text ->+  ListBots+newListBots pAccountId_ =+  ListBots'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      accountId = pAccountId_+    }++-- | The maximum number of results to return in a single call. The default is+-- 10.+listBots_maxResults :: Lens.Lens' ListBots (Prelude.Maybe Prelude.Natural)+listBots_maxResults = Lens.lens (\ListBots' {maxResults} -> maxResults) (\s@ListBots' {} a -> s {maxResults = a} :: ListBots)++-- | The token to use to retrieve the next page of results.+listBots_nextToken :: Lens.Lens' ListBots (Prelude.Maybe Prelude.Text)+listBots_nextToken = Lens.lens (\ListBots' {nextToken} -> nextToken) (\s@ListBots' {} a -> s {nextToken = a} :: ListBots)++-- | The Amazon Chime account ID.+listBots_accountId :: Lens.Lens' ListBots Prelude.Text+listBots_accountId = Lens.lens (\ListBots' {accountId} -> accountId) (\s@ListBots' {} a -> s {accountId = a} :: ListBots)++instance Core.AWSRequest ListBots where+  type AWSResponse ListBots = ListBotsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListBotsResponse'+            Prelude.<$> (x Data..?> "Bots" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListBots where+  hashWithSalt _salt ListBots' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` accountId++instance Prelude.NFData ListBots where+  rnf ListBots' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf accountId++instance Data.ToHeaders ListBots where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ListBots where+  toPath ListBots' {..} =+    Prelude.mconcat+      ["/accounts/", Data.toBS accountId, "/bots"]++instance Data.ToQuery ListBots where+  toQuery ListBots' {..} =+    Prelude.mconcat+      [ "max-results" Data.=: maxResults,+        "next-token" Data.=: nextToken+      ]++-- | /See:/ 'newListBotsResponse' smart constructor.+data ListBotsResponse = ListBotsResponse'+  { -- | List of bots and bot details.+    bots :: Prelude.Maybe [Bot],+    -- | 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 'ListBotsResponse' 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:+--+-- 'bots', 'listBotsResponse_bots' - List of bots and bot details.+--+-- 'nextToken', 'listBotsResponse_nextToken' - The token to use to retrieve the next page of results.+--+-- 'httpStatus', 'listBotsResponse_httpStatus' - The response's http status code.+newListBotsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListBotsResponse+newListBotsResponse pHttpStatus_ =+  ListBotsResponse'+    { bots = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | List of bots and bot details.+listBotsResponse_bots :: Lens.Lens' ListBotsResponse (Prelude.Maybe [Bot])+listBotsResponse_bots = Lens.lens (\ListBotsResponse' {bots} -> bots) (\s@ListBotsResponse' {} a -> s {bots = a} :: ListBotsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token to use to retrieve the next page of results.+listBotsResponse_nextToken :: Lens.Lens' ListBotsResponse (Prelude.Maybe Prelude.Text)+listBotsResponse_nextToken = Lens.lens (\ListBotsResponse' {nextToken} -> nextToken) (\s@ListBotsResponse' {} a -> s {nextToken = a} :: ListBotsResponse)++-- | The response's http status code.+listBotsResponse_httpStatus :: Lens.Lens' ListBotsResponse Prelude.Int+listBotsResponse_httpStatus = Lens.lens (\ListBotsResponse' {httpStatus} -> httpStatus) (\s@ListBotsResponse' {} a -> s {httpStatus = a} :: ListBotsResponse)++instance Prelude.NFData ListBotsResponse where+  rnf ListBotsResponse' {..} =+    Prelude.rnf bots+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/ListChannelBans.hs view
@@ -0,0 +1,231 @@+{-# 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.Chime.ListChannelBans+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists all the users banned from a particular channel.+--+-- The @x-amz-chime-bearer@ request header is mandatory. Use the+-- @AppInstanceUserArn@ of the user that makes the API call as the value in+-- the header.+module Amazonka.Chime.ListChannelBans+  ( -- * Creating a Request+    ListChannelBans (..),+    newListChannelBans,++    -- * Request Lenses+    listChannelBans_chimeBearer,+    listChannelBans_maxResults,+    listChannelBans_nextToken,+    listChannelBans_channelArn,++    -- * Destructuring the Response+    ListChannelBansResponse (..),+    newListChannelBansResponse,++    -- * Response Lenses+    listChannelBansResponse_channelArn,+    listChannelBansResponse_channelBans,+    listChannelBansResponse_nextToken,+    listChannelBansResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newListChannelBans' smart constructor.+data ListChannelBans = ListChannelBans'+  { -- | The @AppInstanceUserArn@ of the user that makes the API call.+    chimeBearer :: Prelude.Maybe Prelude.Text,+    -- | The maximum number of bans that you want returned.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token passed by previous API calls until all requested bans are+    -- returned.+    nextToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The ARN of the channel.+    channelArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListChannelBans' 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:+--+-- 'chimeBearer', 'listChannelBans_chimeBearer' - The @AppInstanceUserArn@ of the user that makes the API call.+--+-- 'maxResults', 'listChannelBans_maxResults' - The maximum number of bans that you want returned.+--+-- 'nextToken', 'listChannelBans_nextToken' - The token passed by previous API calls until all requested bans are+-- returned.+--+-- 'channelArn', 'listChannelBans_channelArn' - The ARN of the channel.+newListChannelBans ::+  -- | 'channelArn'+  Prelude.Text ->+  ListChannelBans+newListChannelBans pChannelArn_ =+  ListChannelBans'+    { chimeBearer = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      channelArn = pChannelArn_+    }++-- | The @AppInstanceUserArn@ of the user that makes the API call.+listChannelBans_chimeBearer :: Lens.Lens' ListChannelBans (Prelude.Maybe Prelude.Text)+listChannelBans_chimeBearer = Lens.lens (\ListChannelBans' {chimeBearer} -> chimeBearer) (\s@ListChannelBans' {} a -> s {chimeBearer = a} :: ListChannelBans)++-- | The maximum number of bans that you want returned.+listChannelBans_maxResults :: Lens.Lens' ListChannelBans (Prelude.Maybe Prelude.Natural)+listChannelBans_maxResults = Lens.lens (\ListChannelBans' {maxResults} -> maxResults) (\s@ListChannelBans' {} a -> s {maxResults = a} :: ListChannelBans)++-- | The token passed by previous API calls until all requested bans are+-- returned.+listChannelBans_nextToken :: Lens.Lens' ListChannelBans (Prelude.Maybe Prelude.Text)+listChannelBans_nextToken = Lens.lens (\ListChannelBans' {nextToken} -> nextToken) (\s@ListChannelBans' {} a -> s {nextToken = a} :: ListChannelBans) Prelude.. Lens.mapping Data._Sensitive++-- | The ARN of the channel.+listChannelBans_channelArn :: Lens.Lens' ListChannelBans Prelude.Text+listChannelBans_channelArn = Lens.lens (\ListChannelBans' {channelArn} -> channelArn) (\s@ListChannelBans' {} a -> s {channelArn = a} :: ListChannelBans)++instance Core.AWSRequest ListChannelBans where+  type+    AWSResponse ListChannelBans =+      ListChannelBansResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListChannelBansResponse'+            Prelude.<$> (x Data..?> "ChannelArn")+            Prelude.<*> (x Data..?> "ChannelBans" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListChannelBans where+  hashWithSalt _salt ListChannelBans' {..} =+    _salt+      `Prelude.hashWithSalt` chimeBearer+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` channelArn++instance Prelude.NFData ListChannelBans where+  rnf ListChannelBans' {..} =+    Prelude.rnf chimeBearer+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf channelArn++instance Data.ToHeaders ListChannelBans where+  toHeaders ListChannelBans' {..} =+    Prelude.mconcat+      ["x-amz-chime-bearer" Data.=# chimeBearer]++instance Data.ToPath ListChannelBans where+  toPath ListChannelBans' {..} =+    Prelude.mconcat+      ["/channels/", Data.toBS channelArn, "/bans"]++instance Data.ToQuery ListChannelBans where+  toQuery ListChannelBans' {..} =+    Prelude.mconcat+      [ "max-results" Data.=: maxResults,+        "next-token" Data.=: nextToken+      ]++-- | /See:/ 'newListChannelBansResponse' smart constructor.+data ListChannelBansResponse = ListChannelBansResponse'+  { -- | The ARN of the channel.+    channelArn :: Prelude.Maybe Prelude.Text,+    -- | The information for each requested ban.+    channelBans :: Prelude.Maybe [ChannelBanSummary],+    -- | The token passed by previous API calls until all requested bans are+    -- returned.+    nextToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListChannelBansResponse' 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:+--+-- 'channelArn', 'listChannelBansResponse_channelArn' - The ARN of the channel.+--+-- 'channelBans', 'listChannelBansResponse_channelBans' - The information for each requested ban.+--+-- 'nextToken', 'listChannelBansResponse_nextToken' - The token passed by previous API calls until all requested bans are+-- returned.+--+-- 'httpStatus', 'listChannelBansResponse_httpStatus' - The response's http status code.+newListChannelBansResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListChannelBansResponse+newListChannelBansResponse pHttpStatus_ =+  ListChannelBansResponse'+    { channelArn =+        Prelude.Nothing,+      channelBans = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The ARN of the channel.+listChannelBansResponse_channelArn :: Lens.Lens' ListChannelBansResponse (Prelude.Maybe Prelude.Text)+listChannelBansResponse_channelArn = Lens.lens (\ListChannelBansResponse' {channelArn} -> channelArn) (\s@ListChannelBansResponse' {} a -> s {channelArn = a} :: ListChannelBansResponse)++-- | The information for each requested ban.+listChannelBansResponse_channelBans :: Lens.Lens' ListChannelBansResponse (Prelude.Maybe [ChannelBanSummary])+listChannelBansResponse_channelBans = Lens.lens (\ListChannelBansResponse' {channelBans} -> channelBans) (\s@ListChannelBansResponse' {} a -> s {channelBans = a} :: ListChannelBansResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token passed by previous API calls until all requested bans are+-- returned.+listChannelBansResponse_nextToken :: Lens.Lens' ListChannelBansResponse (Prelude.Maybe Prelude.Text)+listChannelBansResponse_nextToken = Lens.lens (\ListChannelBansResponse' {nextToken} -> nextToken) (\s@ListChannelBansResponse' {} a -> s {nextToken = a} :: ListChannelBansResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The response's http status code.+listChannelBansResponse_httpStatus :: Lens.Lens' ListChannelBansResponse Prelude.Int+listChannelBansResponse_httpStatus = Lens.lens (\ListChannelBansResponse' {httpStatus} -> httpStatus) (\s@ListChannelBansResponse' {} a -> s {httpStatus = a} :: ListChannelBansResponse)++instance Prelude.NFData ListChannelBansResponse where+  rnf ListChannelBansResponse' {..} =+    Prelude.rnf channelArn+      `Prelude.seq` Prelude.rnf channelBans+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/ListChannelMemberships.hs view
@@ -0,0 +1,260 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Chime.ListChannelMemberships+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists all channel memberships in a channel.+--+-- The @x-amz-chime-bearer@ request header is mandatory. Use the+-- @AppInstanceUserArn@ of the user that makes the API call as the value in+-- the header.+module Amazonka.Chime.ListChannelMemberships+  ( -- * Creating a Request+    ListChannelMemberships (..),+    newListChannelMemberships,++    -- * Request Lenses+    listChannelMemberships_chimeBearer,+    listChannelMemberships_maxResults,+    listChannelMemberships_nextToken,+    listChannelMemberships_type,+    listChannelMemberships_channelArn,++    -- * Destructuring the Response+    ListChannelMembershipsResponse (..),+    newListChannelMembershipsResponse,++    -- * Response Lenses+    listChannelMembershipsResponse_channelArn,+    listChannelMembershipsResponse_channelMemberships,+    listChannelMembershipsResponse_nextToken,+    listChannelMembershipsResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newListChannelMemberships' smart constructor.+data ListChannelMemberships = ListChannelMemberships'+  { -- | The @AppInstanceUserArn@ of the user that makes the API call.+    chimeBearer :: Prelude.Maybe Prelude.Text,+    -- | The maximum number of channel memberships that you want returned.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token passed by previous API calls until all requested channel+    -- memberships are returned.+    nextToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The membership type of a user, @DEFAULT@ or @HIDDEN@. Default members+    -- are always returned as part of @ListChannelMemberships@. Hidden members+    -- are only returned if the type filter in @ListChannelMemberships@ equals+    -- @HIDDEN@. Otherwise hidden members are not returned.+    type' :: Prelude.Maybe ChannelMembershipType,+    -- | The maximum number of channel memberships that you want returned.+    channelArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListChannelMemberships' 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:+--+-- 'chimeBearer', 'listChannelMemberships_chimeBearer' - The @AppInstanceUserArn@ of the user that makes the API call.+--+-- 'maxResults', 'listChannelMemberships_maxResults' - The maximum number of channel memberships that you want returned.+--+-- 'nextToken', 'listChannelMemberships_nextToken' - The token passed by previous API calls until all requested channel+-- memberships are returned.+--+-- 'type'', 'listChannelMemberships_type' - The membership type of a user, @DEFAULT@ or @HIDDEN@. Default members+-- are always returned as part of @ListChannelMemberships@. Hidden members+-- are only returned if the type filter in @ListChannelMemberships@ equals+-- @HIDDEN@. Otherwise hidden members are not returned.+--+-- 'channelArn', 'listChannelMemberships_channelArn' - The maximum number of channel memberships that you want returned.+newListChannelMemberships ::+  -- | 'channelArn'+  Prelude.Text ->+  ListChannelMemberships+newListChannelMemberships pChannelArn_ =+  ListChannelMemberships'+    { chimeBearer =+        Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      type' = Prelude.Nothing,+      channelArn = pChannelArn_+    }++-- | The @AppInstanceUserArn@ of the user that makes the API call.+listChannelMemberships_chimeBearer :: Lens.Lens' ListChannelMemberships (Prelude.Maybe Prelude.Text)+listChannelMemberships_chimeBearer = Lens.lens (\ListChannelMemberships' {chimeBearer} -> chimeBearer) (\s@ListChannelMemberships' {} a -> s {chimeBearer = a} :: ListChannelMemberships)++-- | The maximum number of channel memberships that you want returned.+listChannelMemberships_maxResults :: Lens.Lens' ListChannelMemberships (Prelude.Maybe Prelude.Natural)+listChannelMemberships_maxResults = Lens.lens (\ListChannelMemberships' {maxResults} -> maxResults) (\s@ListChannelMemberships' {} a -> s {maxResults = a} :: ListChannelMemberships)++-- | The token passed by previous API calls until all requested channel+-- memberships are returned.+listChannelMemberships_nextToken :: Lens.Lens' ListChannelMemberships (Prelude.Maybe Prelude.Text)+listChannelMemberships_nextToken = Lens.lens (\ListChannelMemberships' {nextToken} -> nextToken) (\s@ListChannelMemberships' {} a -> s {nextToken = a} :: ListChannelMemberships) Prelude.. Lens.mapping Data._Sensitive++-- | The membership type of a user, @DEFAULT@ or @HIDDEN@. Default members+-- are always returned as part of @ListChannelMemberships@. Hidden members+-- are only returned if the type filter in @ListChannelMemberships@ equals+-- @HIDDEN@. Otherwise hidden members are not returned.+listChannelMemberships_type :: Lens.Lens' ListChannelMemberships (Prelude.Maybe ChannelMembershipType)+listChannelMemberships_type = Lens.lens (\ListChannelMemberships' {type'} -> type') (\s@ListChannelMemberships' {} a -> s {type' = a} :: ListChannelMemberships)++-- | The maximum number of channel memberships that you want returned.+listChannelMemberships_channelArn :: Lens.Lens' ListChannelMemberships Prelude.Text+listChannelMemberships_channelArn = Lens.lens (\ListChannelMemberships' {channelArn} -> channelArn) (\s@ListChannelMemberships' {} a -> s {channelArn = a} :: ListChannelMemberships)++instance Core.AWSRequest ListChannelMemberships where+  type+    AWSResponse ListChannelMemberships =+      ListChannelMembershipsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListChannelMembershipsResponse'+            Prelude.<$> (x Data..?> "ChannelArn")+            Prelude.<*> ( x+                            Data..?> "ChannelMemberships"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListChannelMemberships where+  hashWithSalt _salt ListChannelMemberships' {..} =+    _salt+      `Prelude.hashWithSalt` chimeBearer+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` type'+      `Prelude.hashWithSalt` channelArn++instance Prelude.NFData ListChannelMemberships where+  rnf ListChannelMemberships' {..} =+    Prelude.rnf chimeBearer+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf type'+      `Prelude.seq` Prelude.rnf channelArn++instance Data.ToHeaders ListChannelMemberships where+  toHeaders ListChannelMemberships' {..} =+    Prelude.mconcat+      ["x-amz-chime-bearer" Data.=# chimeBearer]++instance Data.ToPath ListChannelMemberships where+  toPath ListChannelMemberships' {..} =+    Prelude.mconcat+      ["/channels/", Data.toBS channelArn, "/memberships"]++instance Data.ToQuery ListChannelMemberships where+  toQuery ListChannelMemberships' {..} =+    Prelude.mconcat+      [ "max-results" Data.=: maxResults,+        "next-token" Data.=: nextToken,+        "type" Data.=: type'+      ]++-- | /See:/ 'newListChannelMembershipsResponse' smart constructor.+data ListChannelMembershipsResponse = ListChannelMembershipsResponse'+  { -- | The ARN of the channel.+    channelArn :: Prelude.Maybe Prelude.Text,+    -- | The information for the requested channel memberships.+    channelMemberships :: Prelude.Maybe [ChannelMembershipSummary],+    -- | The token passed by previous API calls until all requested channel+    -- memberships are returned.+    nextToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListChannelMembershipsResponse' 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:+--+-- 'channelArn', 'listChannelMembershipsResponse_channelArn' - The ARN of the channel.+--+-- 'channelMemberships', 'listChannelMembershipsResponse_channelMemberships' - The information for the requested channel memberships.+--+-- 'nextToken', 'listChannelMembershipsResponse_nextToken' - The token passed by previous API calls until all requested channel+-- memberships are returned.+--+-- 'httpStatus', 'listChannelMembershipsResponse_httpStatus' - The response's http status code.+newListChannelMembershipsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListChannelMembershipsResponse+newListChannelMembershipsResponse pHttpStatus_ =+  ListChannelMembershipsResponse'+    { channelArn =+        Prelude.Nothing,+      channelMemberships = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The ARN of the channel.+listChannelMembershipsResponse_channelArn :: Lens.Lens' ListChannelMembershipsResponse (Prelude.Maybe Prelude.Text)+listChannelMembershipsResponse_channelArn = Lens.lens (\ListChannelMembershipsResponse' {channelArn} -> channelArn) (\s@ListChannelMembershipsResponse' {} a -> s {channelArn = a} :: ListChannelMembershipsResponse)++-- | The information for the requested channel memberships.+listChannelMembershipsResponse_channelMemberships :: Lens.Lens' ListChannelMembershipsResponse (Prelude.Maybe [ChannelMembershipSummary])+listChannelMembershipsResponse_channelMemberships = Lens.lens (\ListChannelMembershipsResponse' {channelMemberships} -> channelMemberships) (\s@ListChannelMembershipsResponse' {} a -> s {channelMemberships = a} :: ListChannelMembershipsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token passed by previous API calls until all requested channel+-- memberships are returned.+listChannelMembershipsResponse_nextToken :: Lens.Lens' ListChannelMembershipsResponse (Prelude.Maybe Prelude.Text)+listChannelMembershipsResponse_nextToken = Lens.lens (\ListChannelMembershipsResponse' {nextToken} -> nextToken) (\s@ListChannelMembershipsResponse' {} a -> s {nextToken = a} :: ListChannelMembershipsResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The response's http status code.+listChannelMembershipsResponse_httpStatus :: Lens.Lens' ListChannelMembershipsResponse Prelude.Int+listChannelMembershipsResponse_httpStatus = Lens.lens (\ListChannelMembershipsResponse' {httpStatus} -> httpStatus) (\s@ListChannelMembershipsResponse' {} a -> s {httpStatus = a} :: ListChannelMembershipsResponse)++instance+  Prelude.NFData+    ListChannelMembershipsResponse+  where+  rnf ListChannelMembershipsResponse' {..} =+    Prelude.rnf channelArn+      `Prelude.seq` Prelude.rnf channelMemberships+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/ListChannelMembershipsForAppInstanceUser.hs view
@@ -0,0 +1,254 @@+{-# 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.Chime.ListChannelMembershipsForAppInstanceUser+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists all channels that a particular @AppInstanceUser@ is a part of.+-- Only an @AppInstanceAdmin@ can call the API with a user ARN that is not+-- their own.+--+-- The @x-amz-chime-bearer@ request header is mandatory. Use the+-- @AppInstanceUserArn@ of the user that makes the API call as the value in+-- the header.+module Amazonka.Chime.ListChannelMembershipsForAppInstanceUser+  ( -- * Creating a Request+    ListChannelMembershipsForAppInstanceUser (..),+    newListChannelMembershipsForAppInstanceUser,++    -- * Request Lenses+    listChannelMembershipsForAppInstanceUser_appInstanceUserArn,+    listChannelMembershipsForAppInstanceUser_chimeBearer,+    listChannelMembershipsForAppInstanceUser_maxResults,+    listChannelMembershipsForAppInstanceUser_nextToken,++    -- * Destructuring the Response+    ListChannelMembershipsForAppInstanceUserResponse (..),+    newListChannelMembershipsForAppInstanceUserResponse,++    -- * Response Lenses+    listChannelMembershipsForAppInstanceUserResponse_channelMemberships,+    listChannelMembershipsForAppInstanceUserResponse_nextToken,+    listChannelMembershipsForAppInstanceUserResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newListChannelMembershipsForAppInstanceUser' smart constructor.+data ListChannelMembershipsForAppInstanceUser = ListChannelMembershipsForAppInstanceUser'+  { -- | The ARN of the @AppInstanceUser@s+    appInstanceUserArn :: Prelude.Maybe Prelude.Text,+    -- | The @AppInstanceUserArn@ of the user that makes the API call.+    chimeBearer :: Prelude.Maybe Prelude.Text,+    -- | The maximum number of users that you want returned.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token returned from previous API requests until the number of+    -- channel memberships is reached.+    nextToken :: Prelude.Maybe (Data.Sensitive Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListChannelMembershipsForAppInstanceUser' 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:+--+-- 'appInstanceUserArn', 'listChannelMembershipsForAppInstanceUser_appInstanceUserArn' - The ARN of the @AppInstanceUser@s+--+-- 'chimeBearer', 'listChannelMembershipsForAppInstanceUser_chimeBearer' - The @AppInstanceUserArn@ of the user that makes the API call.+--+-- 'maxResults', 'listChannelMembershipsForAppInstanceUser_maxResults' - The maximum number of users that you want returned.+--+-- 'nextToken', 'listChannelMembershipsForAppInstanceUser_nextToken' - The token returned from previous API requests until the number of+-- channel memberships is reached.+newListChannelMembershipsForAppInstanceUser ::+  ListChannelMembershipsForAppInstanceUser+newListChannelMembershipsForAppInstanceUser =+  ListChannelMembershipsForAppInstanceUser'+    { appInstanceUserArn =+        Prelude.Nothing,+      chimeBearer = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The ARN of the @AppInstanceUser@s+listChannelMembershipsForAppInstanceUser_appInstanceUserArn :: Lens.Lens' ListChannelMembershipsForAppInstanceUser (Prelude.Maybe Prelude.Text)+listChannelMembershipsForAppInstanceUser_appInstanceUserArn = Lens.lens (\ListChannelMembershipsForAppInstanceUser' {appInstanceUserArn} -> appInstanceUserArn) (\s@ListChannelMembershipsForAppInstanceUser' {} a -> s {appInstanceUserArn = a} :: ListChannelMembershipsForAppInstanceUser)++-- | The @AppInstanceUserArn@ of the user that makes the API call.+listChannelMembershipsForAppInstanceUser_chimeBearer :: Lens.Lens' ListChannelMembershipsForAppInstanceUser (Prelude.Maybe Prelude.Text)+listChannelMembershipsForAppInstanceUser_chimeBearer = Lens.lens (\ListChannelMembershipsForAppInstanceUser' {chimeBearer} -> chimeBearer) (\s@ListChannelMembershipsForAppInstanceUser' {} a -> s {chimeBearer = a} :: ListChannelMembershipsForAppInstanceUser)++-- | The maximum number of users that you want returned.+listChannelMembershipsForAppInstanceUser_maxResults :: Lens.Lens' ListChannelMembershipsForAppInstanceUser (Prelude.Maybe Prelude.Natural)+listChannelMembershipsForAppInstanceUser_maxResults = Lens.lens (\ListChannelMembershipsForAppInstanceUser' {maxResults} -> maxResults) (\s@ListChannelMembershipsForAppInstanceUser' {} a -> s {maxResults = a} :: ListChannelMembershipsForAppInstanceUser)++-- | The token returned from previous API requests until the number of+-- channel memberships is reached.+listChannelMembershipsForAppInstanceUser_nextToken :: Lens.Lens' ListChannelMembershipsForAppInstanceUser (Prelude.Maybe Prelude.Text)+listChannelMembershipsForAppInstanceUser_nextToken = Lens.lens (\ListChannelMembershipsForAppInstanceUser' {nextToken} -> nextToken) (\s@ListChannelMembershipsForAppInstanceUser' {} a -> s {nextToken = a} :: ListChannelMembershipsForAppInstanceUser) Prelude.. Lens.mapping Data._Sensitive++instance+  Core.AWSRequest+    ListChannelMembershipsForAppInstanceUser+  where+  type+    AWSResponse+      ListChannelMembershipsForAppInstanceUser =+      ListChannelMembershipsForAppInstanceUserResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListChannelMembershipsForAppInstanceUserResponse'+            Prelude.<$> ( x+                            Data..?> "ChannelMemberships"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    ListChannelMembershipsForAppInstanceUser+  where+  hashWithSalt+    _salt+    ListChannelMembershipsForAppInstanceUser' {..} =+      _salt+        `Prelude.hashWithSalt` appInstanceUserArn+        `Prelude.hashWithSalt` chimeBearer+        `Prelude.hashWithSalt` maxResults+        `Prelude.hashWithSalt` nextToken++instance+  Prelude.NFData+    ListChannelMembershipsForAppInstanceUser+  where+  rnf ListChannelMembershipsForAppInstanceUser' {..} =+    Prelude.rnf appInstanceUserArn+      `Prelude.seq` Prelude.rnf chimeBearer+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance+  Data.ToHeaders+    ListChannelMembershipsForAppInstanceUser+  where+  toHeaders+    ListChannelMembershipsForAppInstanceUser' {..} =+      Prelude.mconcat+        ["x-amz-chime-bearer" Data.=# chimeBearer]++instance+  Data.ToPath+    ListChannelMembershipsForAppInstanceUser+  where+  toPath = Prelude.const "/channels"++instance+  Data.ToQuery+    ListChannelMembershipsForAppInstanceUser+  where+  toQuery ListChannelMembershipsForAppInstanceUser' {..} =+    Prelude.mconcat+      [ "app-instance-user-arn" Data.=: appInstanceUserArn,+        "max-results" Data.=: maxResults,+        "next-token" Data.=: nextToken,+        "scope=app-instance-user-memberships"+      ]++-- | /See:/ 'newListChannelMembershipsForAppInstanceUserResponse' smart constructor.+data ListChannelMembershipsForAppInstanceUserResponse = ListChannelMembershipsForAppInstanceUserResponse'+  { -- | The token passed by previous API calls until all requested users are+    -- returned.+    channelMemberships :: Prelude.Maybe [ChannelMembershipForAppInstanceUserSummary],+    -- | The token passed by previous API calls until all requested users are+    -- returned.+    nextToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListChannelMembershipsForAppInstanceUserResponse' 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:+--+-- 'channelMemberships', 'listChannelMembershipsForAppInstanceUserResponse_channelMemberships' - The token passed by previous API calls until all requested users are+-- returned.+--+-- 'nextToken', 'listChannelMembershipsForAppInstanceUserResponse_nextToken' - The token passed by previous API calls until all requested users are+-- returned.+--+-- 'httpStatus', 'listChannelMembershipsForAppInstanceUserResponse_httpStatus' - The response's http status code.+newListChannelMembershipsForAppInstanceUserResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListChannelMembershipsForAppInstanceUserResponse+newListChannelMembershipsForAppInstanceUserResponse+  pHttpStatus_ =+    ListChannelMembershipsForAppInstanceUserResponse'+      { channelMemberships =+          Prelude.Nothing,+        nextToken =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The token passed by previous API calls until all requested users are+-- returned.+listChannelMembershipsForAppInstanceUserResponse_channelMemberships :: Lens.Lens' ListChannelMembershipsForAppInstanceUserResponse (Prelude.Maybe [ChannelMembershipForAppInstanceUserSummary])+listChannelMembershipsForAppInstanceUserResponse_channelMemberships = Lens.lens (\ListChannelMembershipsForAppInstanceUserResponse' {channelMemberships} -> channelMemberships) (\s@ListChannelMembershipsForAppInstanceUserResponse' {} a -> s {channelMemberships = a} :: ListChannelMembershipsForAppInstanceUserResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token passed by previous API calls until all requested users are+-- returned.+listChannelMembershipsForAppInstanceUserResponse_nextToken :: Lens.Lens' ListChannelMembershipsForAppInstanceUserResponse (Prelude.Maybe Prelude.Text)+listChannelMembershipsForAppInstanceUserResponse_nextToken = Lens.lens (\ListChannelMembershipsForAppInstanceUserResponse' {nextToken} -> nextToken) (\s@ListChannelMembershipsForAppInstanceUserResponse' {} a -> s {nextToken = a} :: ListChannelMembershipsForAppInstanceUserResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The response's http status code.+listChannelMembershipsForAppInstanceUserResponse_httpStatus :: Lens.Lens' ListChannelMembershipsForAppInstanceUserResponse Prelude.Int+listChannelMembershipsForAppInstanceUserResponse_httpStatus = Lens.lens (\ListChannelMembershipsForAppInstanceUserResponse' {httpStatus} -> httpStatus) (\s@ListChannelMembershipsForAppInstanceUserResponse' {} a -> s {httpStatus = a} :: ListChannelMembershipsForAppInstanceUserResponse)++instance+  Prelude.NFData+    ListChannelMembershipsForAppInstanceUserResponse+  where+  rnf+    ListChannelMembershipsForAppInstanceUserResponse' {..} =+      Prelude.rnf channelMemberships+        `Prelude.seq` Prelude.rnf nextToken+        `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/ListChannelMessages.hs view
@@ -0,0 +1,282 @@+{-# 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.Chime.ListChannelMessages+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- List all the messages in a channel. Returns a paginated list of+-- @ChannelMessages@. By default, sorted by creation timestamp in+-- descending order.+--+-- Redacted messages appear in the results as empty, since they are only+-- redacted, not deleted. Deleted messages do not appear in the results.+-- This action always returns the latest version of an edited message.+--+-- Also, the x-amz-chime-bearer request header is mandatory. Use the+-- @AppInstanceUserArn@ of the user that makes the API call as the value in+-- the header.+module Amazonka.Chime.ListChannelMessages+  ( -- * Creating a Request+    ListChannelMessages (..),+    newListChannelMessages,++    -- * Request Lenses+    listChannelMessages_chimeBearer,+    listChannelMessages_maxResults,+    listChannelMessages_nextToken,+    listChannelMessages_notAfter,+    listChannelMessages_notBefore,+    listChannelMessages_sortOrder,+    listChannelMessages_channelArn,++    -- * Destructuring the Response+    ListChannelMessagesResponse (..),+    newListChannelMessagesResponse,++    -- * Response Lenses+    listChannelMessagesResponse_channelArn,+    listChannelMessagesResponse_channelMessages,+    listChannelMessagesResponse_nextToken,+    listChannelMessagesResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newListChannelMessages' smart constructor.+data ListChannelMessages = ListChannelMessages'+  { -- | The @AppInstanceUserArn@ of the user that makes the API call.+    chimeBearer :: Prelude.Maybe Prelude.Text,+    -- | The maximum number of messages that you want returned.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token passed by previous API calls until all requested messages are+    -- returned.+    nextToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The final or ending time stamp for your requested messages.+    notAfter :: Prelude.Maybe Data.POSIX,+    -- | The initial or starting time stamp for your requested messages.+    notBefore :: Prelude.Maybe Data.POSIX,+    -- | The order in which you want messages sorted. Default is Descending,+    -- based on time created.+    sortOrder :: Prelude.Maybe SortOrder,+    -- | The ARN of the channel.+    channelArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListChannelMessages' 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:+--+-- 'chimeBearer', 'listChannelMessages_chimeBearer' - The @AppInstanceUserArn@ of the user that makes the API call.+--+-- 'maxResults', 'listChannelMessages_maxResults' - The maximum number of messages that you want returned.+--+-- 'nextToken', 'listChannelMessages_nextToken' - The token passed by previous API calls until all requested messages are+-- returned.+--+-- 'notAfter', 'listChannelMessages_notAfter' - The final or ending time stamp for your requested messages.+--+-- 'notBefore', 'listChannelMessages_notBefore' - The initial or starting time stamp for your requested messages.+--+-- 'sortOrder', 'listChannelMessages_sortOrder' - The order in which you want messages sorted. Default is Descending,+-- based on time created.+--+-- 'channelArn', 'listChannelMessages_channelArn' - The ARN of the channel.+newListChannelMessages ::+  -- | 'channelArn'+  Prelude.Text ->+  ListChannelMessages+newListChannelMessages pChannelArn_ =+  ListChannelMessages'+    { chimeBearer = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      notAfter = Prelude.Nothing,+      notBefore = Prelude.Nothing,+      sortOrder = Prelude.Nothing,+      channelArn = pChannelArn_+    }++-- | The @AppInstanceUserArn@ of the user that makes the API call.+listChannelMessages_chimeBearer :: Lens.Lens' ListChannelMessages (Prelude.Maybe Prelude.Text)+listChannelMessages_chimeBearer = Lens.lens (\ListChannelMessages' {chimeBearer} -> chimeBearer) (\s@ListChannelMessages' {} a -> s {chimeBearer = a} :: ListChannelMessages)++-- | The maximum number of messages that you want returned.+listChannelMessages_maxResults :: Lens.Lens' ListChannelMessages (Prelude.Maybe Prelude.Natural)+listChannelMessages_maxResults = Lens.lens (\ListChannelMessages' {maxResults} -> maxResults) (\s@ListChannelMessages' {} a -> s {maxResults = a} :: ListChannelMessages)++-- | The token passed by previous API calls until all requested messages are+-- returned.+listChannelMessages_nextToken :: Lens.Lens' ListChannelMessages (Prelude.Maybe Prelude.Text)+listChannelMessages_nextToken = Lens.lens (\ListChannelMessages' {nextToken} -> nextToken) (\s@ListChannelMessages' {} a -> s {nextToken = a} :: ListChannelMessages) Prelude.. Lens.mapping Data._Sensitive++-- | The final or ending time stamp for your requested messages.+listChannelMessages_notAfter :: Lens.Lens' ListChannelMessages (Prelude.Maybe Prelude.UTCTime)+listChannelMessages_notAfter = Lens.lens (\ListChannelMessages' {notAfter} -> notAfter) (\s@ListChannelMessages' {} a -> s {notAfter = a} :: ListChannelMessages) Prelude.. Lens.mapping Data._Time++-- | The initial or starting time stamp for your requested messages.+listChannelMessages_notBefore :: Lens.Lens' ListChannelMessages (Prelude.Maybe Prelude.UTCTime)+listChannelMessages_notBefore = Lens.lens (\ListChannelMessages' {notBefore} -> notBefore) (\s@ListChannelMessages' {} a -> s {notBefore = a} :: ListChannelMessages) Prelude.. Lens.mapping Data._Time++-- | The order in which you want messages sorted. Default is Descending,+-- based on time created.+listChannelMessages_sortOrder :: Lens.Lens' ListChannelMessages (Prelude.Maybe SortOrder)+listChannelMessages_sortOrder = Lens.lens (\ListChannelMessages' {sortOrder} -> sortOrder) (\s@ListChannelMessages' {} a -> s {sortOrder = a} :: ListChannelMessages)++-- | The ARN of the channel.+listChannelMessages_channelArn :: Lens.Lens' ListChannelMessages Prelude.Text+listChannelMessages_channelArn = Lens.lens (\ListChannelMessages' {channelArn} -> channelArn) (\s@ListChannelMessages' {} a -> s {channelArn = a} :: ListChannelMessages)++instance Core.AWSRequest ListChannelMessages where+  type+    AWSResponse ListChannelMessages =+      ListChannelMessagesResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListChannelMessagesResponse'+            Prelude.<$> (x Data..?> "ChannelArn")+            Prelude.<*> ( x+                            Data..?> "ChannelMessages"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListChannelMessages where+  hashWithSalt _salt ListChannelMessages' {..} =+    _salt+      `Prelude.hashWithSalt` chimeBearer+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` notAfter+      `Prelude.hashWithSalt` notBefore+      `Prelude.hashWithSalt` sortOrder+      `Prelude.hashWithSalt` channelArn++instance Prelude.NFData ListChannelMessages where+  rnf ListChannelMessages' {..} =+    Prelude.rnf chimeBearer+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf notAfter+      `Prelude.seq` Prelude.rnf notBefore+      `Prelude.seq` Prelude.rnf sortOrder+      `Prelude.seq` Prelude.rnf channelArn++instance Data.ToHeaders ListChannelMessages where+  toHeaders ListChannelMessages' {..} =+    Prelude.mconcat+      ["x-amz-chime-bearer" Data.=# chimeBearer]++instance Data.ToPath ListChannelMessages where+  toPath ListChannelMessages' {..} =+    Prelude.mconcat+      ["/channels/", Data.toBS channelArn, "/messages"]++instance Data.ToQuery ListChannelMessages where+  toQuery ListChannelMessages' {..} =+    Prelude.mconcat+      [ "max-results" Data.=: maxResults,+        "next-token" Data.=: nextToken,+        "not-after" Data.=: notAfter,+        "not-before" Data.=: notBefore,+        "sort-order" Data.=: sortOrder+      ]++-- | /See:/ 'newListChannelMessagesResponse' smart constructor.+data ListChannelMessagesResponse = ListChannelMessagesResponse'+  { -- | The ARN of the channel containing the requested messages.+    channelArn :: Prelude.Maybe Prelude.Text,+    -- | The information about, and content of, each requested message.+    channelMessages :: Prelude.Maybe [ChannelMessageSummary],+    -- | The token passed by previous API calls until all requested messages are+    -- returned.+    nextToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListChannelMessagesResponse' 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:+--+-- 'channelArn', 'listChannelMessagesResponse_channelArn' - The ARN of the channel containing the requested messages.+--+-- 'channelMessages', 'listChannelMessagesResponse_channelMessages' - The information about, and content of, each requested message.+--+-- 'nextToken', 'listChannelMessagesResponse_nextToken' - The token passed by previous API calls until all requested messages are+-- returned.+--+-- 'httpStatus', 'listChannelMessagesResponse_httpStatus' - The response's http status code.+newListChannelMessagesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListChannelMessagesResponse+newListChannelMessagesResponse pHttpStatus_ =+  ListChannelMessagesResponse'+    { channelArn =+        Prelude.Nothing,+      channelMessages = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The ARN of the channel containing the requested messages.+listChannelMessagesResponse_channelArn :: Lens.Lens' ListChannelMessagesResponse (Prelude.Maybe Prelude.Text)+listChannelMessagesResponse_channelArn = Lens.lens (\ListChannelMessagesResponse' {channelArn} -> channelArn) (\s@ListChannelMessagesResponse' {} a -> s {channelArn = a} :: ListChannelMessagesResponse)++-- | The information about, and content of, each requested message.+listChannelMessagesResponse_channelMessages :: Lens.Lens' ListChannelMessagesResponse (Prelude.Maybe [ChannelMessageSummary])+listChannelMessagesResponse_channelMessages = Lens.lens (\ListChannelMessagesResponse' {channelMessages} -> channelMessages) (\s@ListChannelMessagesResponse' {} a -> s {channelMessages = a} :: ListChannelMessagesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token passed by previous API calls until all requested messages are+-- returned.+listChannelMessagesResponse_nextToken :: Lens.Lens' ListChannelMessagesResponse (Prelude.Maybe Prelude.Text)+listChannelMessagesResponse_nextToken = Lens.lens (\ListChannelMessagesResponse' {nextToken} -> nextToken) (\s@ListChannelMessagesResponse' {} a -> s {nextToken = a} :: ListChannelMessagesResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The response's http status code.+listChannelMessagesResponse_httpStatus :: Lens.Lens' ListChannelMessagesResponse Prelude.Int+listChannelMessagesResponse_httpStatus = Lens.lens (\ListChannelMessagesResponse' {httpStatus} -> httpStatus) (\s@ListChannelMessagesResponse' {} a -> s {httpStatus = a} :: ListChannelMessagesResponse)++instance Prelude.NFData ListChannelMessagesResponse where+  rnf ListChannelMessagesResponse' {..} =+    Prelude.rnf channelArn+      `Prelude.seq` Prelude.rnf channelMessages+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/ListChannelModerators.hs view
@@ -0,0 +1,235 @@+{-# 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.Chime.ListChannelModerators+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists all the moderators for a channel.+--+-- The @x-amz-chime-bearer@ request header is mandatory. Use the+-- @AppInstanceUserArn@ of the user that makes the API call as the value in+-- the header.+module Amazonka.Chime.ListChannelModerators+  ( -- * Creating a Request+    ListChannelModerators (..),+    newListChannelModerators,++    -- * Request Lenses+    listChannelModerators_chimeBearer,+    listChannelModerators_maxResults,+    listChannelModerators_nextToken,+    listChannelModerators_channelArn,++    -- * Destructuring the Response+    ListChannelModeratorsResponse (..),+    newListChannelModeratorsResponse,++    -- * Response Lenses+    listChannelModeratorsResponse_channelArn,+    listChannelModeratorsResponse_channelModerators,+    listChannelModeratorsResponse_nextToken,+    listChannelModeratorsResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newListChannelModerators' smart constructor.+data ListChannelModerators = ListChannelModerators'+  { -- | The @AppInstanceUserArn@ of the user that makes the API call.+    chimeBearer :: Prelude.Maybe Prelude.Text,+    -- | The maximum number of moderators that you want returned.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token passed by previous API calls until all requested moderators+    -- are returned.+    nextToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The ARN of the channel.+    channelArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListChannelModerators' 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:+--+-- 'chimeBearer', 'listChannelModerators_chimeBearer' - The @AppInstanceUserArn@ of the user that makes the API call.+--+-- 'maxResults', 'listChannelModerators_maxResults' - The maximum number of moderators that you want returned.+--+-- 'nextToken', 'listChannelModerators_nextToken' - The token passed by previous API calls until all requested moderators+-- are returned.+--+-- 'channelArn', 'listChannelModerators_channelArn' - The ARN of the channel.+newListChannelModerators ::+  -- | 'channelArn'+  Prelude.Text ->+  ListChannelModerators+newListChannelModerators pChannelArn_ =+  ListChannelModerators'+    { chimeBearer =+        Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      channelArn = pChannelArn_+    }++-- | The @AppInstanceUserArn@ of the user that makes the API call.+listChannelModerators_chimeBearer :: Lens.Lens' ListChannelModerators (Prelude.Maybe Prelude.Text)+listChannelModerators_chimeBearer = Lens.lens (\ListChannelModerators' {chimeBearer} -> chimeBearer) (\s@ListChannelModerators' {} a -> s {chimeBearer = a} :: ListChannelModerators)++-- | The maximum number of moderators that you want returned.+listChannelModerators_maxResults :: Lens.Lens' ListChannelModerators (Prelude.Maybe Prelude.Natural)+listChannelModerators_maxResults = Lens.lens (\ListChannelModerators' {maxResults} -> maxResults) (\s@ListChannelModerators' {} a -> s {maxResults = a} :: ListChannelModerators)++-- | The token passed by previous API calls until all requested moderators+-- are returned.+listChannelModerators_nextToken :: Lens.Lens' ListChannelModerators (Prelude.Maybe Prelude.Text)+listChannelModerators_nextToken = Lens.lens (\ListChannelModerators' {nextToken} -> nextToken) (\s@ListChannelModerators' {} a -> s {nextToken = a} :: ListChannelModerators) Prelude.. Lens.mapping Data._Sensitive++-- | The ARN of the channel.+listChannelModerators_channelArn :: Lens.Lens' ListChannelModerators Prelude.Text+listChannelModerators_channelArn = Lens.lens (\ListChannelModerators' {channelArn} -> channelArn) (\s@ListChannelModerators' {} a -> s {channelArn = a} :: ListChannelModerators)++instance Core.AWSRequest ListChannelModerators where+  type+    AWSResponse ListChannelModerators =+      ListChannelModeratorsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListChannelModeratorsResponse'+            Prelude.<$> (x Data..?> "ChannelArn")+            Prelude.<*> ( x+                            Data..?> "ChannelModerators"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListChannelModerators where+  hashWithSalt _salt ListChannelModerators' {..} =+    _salt+      `Prelude.hashWithSalt` chimeBearer+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` channelArn++instance Prelude.NFData ListChannelModerators where+  rnf ListChannelModerators' {..} =+    Prelude.rnf chimeBearer+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf channelArn++instance Data.ToHeaders ListChannelModerators where+  toHeaders ListChannelModerators' {..} =+    Prelude.mconcat+      ["x-amz-chime-bearer" Data.=# chimeBearer]++instance Data.ToPath ListChannelModerators where+  toPath ListChannelModerators' {..} =+    Prelude.mconcat+      ["/channels/", Data.toBS channelArn, "/moderators"]++instance Data.ToQuery ListChannelModerators where+  toQuery ListChannelModerators' {..} =+    Prelude.mconcat+      [ "max-results" Data.=: maxResults,+        "next-token" Data.=: nextToken+      ]++-- | /See:/ 'newListChannelModeratorsResponse' smart constructor.+data ListChannelModeratorsResponse = ListChannelModeratorsResponse'+  { -- | The ARN of the channel.+    channelArn :: Prelude.Maybe Prelude.Text,+    -- | The information about and names of each moderator.+    channelModerators :: Prelude.Maybe [ChannelModeratorSummary],+    -- | The token passed by previous API calls until all requested moderators+    -- are returned.+    nextToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListChannelModeratorsResponse' 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:+--+-- 'channelArn', 'listChannelModeratorsResponse_channelArn' - The ARN of the channel.+--+-- 'channelModerators', 'listChannelModeratorsResponse_channelModerators' - The information about and names of each moderator.+--+-- 'nextToken', 'listChannelModeratorsResponse_nextToken' - The token passed by previous API calls until all requested moderators+-- are returned.+--+-- 'httpStatus', 'listChannelModeratorsResponse_httpStatus' - The response's http status code.+newListChannelModeratorsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListChannelModeratorsResponse+newListChannelModeratorsResponse pHttpStatus_ =+  ListChannelModeratorsResponse'+    { channelArn =+        Prelude.Nothing,+      channelModerators = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The ARN of the channel.+listChannelModeratorsResponse_channelArn :: Lens.Lens' ListChannelModeratorsResponse (Prelude.Maybe Prelude.Text)+listChannelModeratorsResponse_channelArn = Lens.lens (\ListChannelModeratorsResponse' {channelArn} -> channelArn) (\s@ListChannelModeratorsResponse' {} a -> s {channelArn = a} :: ListChannelModeratorsResponse)++-- | The information about and names of each moderator.+listChannelModeratorsResponse_channelModerators :: Lens.Lens' ListChannelModeratorsResponse (Prelude.Maybe [ChannelModeratorSummary])+listChannelModeratorsResponse_channelModerators = Lens.lens (\ListChannelModeratorsResponse' {channelModerators} -> channelModerators) (\s@ListChannelModeratorsResponse' {} a -> s {channelModerators = a} :: ListChannelModeratorsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token passed by previous API calls until all requested moderators+-- are returned.+listChannelModeratorsResponse_nextToken :: Lens.Lens' ListChannelModeratorsResponse (Prelude.Maybe Prelude.Text)+listChannelModeratorsResponse_nextToken = Lens.lens (\ListChannelModeratorsResponse' {nextToken} -> nextToken) (\s@ListChannelModeratorsResponse' {} a -> s {nextToken = a} :: ListChannelModeratorsResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The response's http status code.+listChannelModeratorsResponse_httpStatus :: Lens.Lens' ListChannelModeratorsResponse Prelude.Int+listChannelModeratorsResponse_httpStatus = Lens.lens (\ListChannelModeratorsResponse' {httpStatus} -> httpStatus) (\s@ListChannelModeratorsResponse' {} a -> s {httpStatus = a} :: ListChannelModeratorsResponse)++instance Prelude.NFData ListChannelModeratorsResponse where+  rnf ListChannelModeratorsResponse' {..} =+    Prelude.rnf channelArn+      `Prelude.seq` Prelude.rnf channelModerators+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/ListChannels.hs view
@@ -0,0 +1,243 @@+{-# 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.Chime.ListChannels+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists all Channels created under a single Chime App as a paginated list.+-- You can specify filters to narrow results.+--+-- __Functionality & restrictions__+--+-- -   Use privacy = @PUBLIC@ to retrieve all public channels in the+--     account.+--+-- -   Only an @AppInstanceAdmin@ can set privacy = @PRIVATE@ to list the+--     private channels in an account.+--+-- The @x-amz-chime-bearer@ request header is mandatory. Use the+-- @AppInstanceUserArn@ of the user that makes the API call as the value in+-- the header.+module Amazonka.Chime.ListChannels+  ( -- * Creating a Request+    ListChannels (..),+    newListChannels,++    -- * Request Lenses+    listChannels_chimeBearer,+    listChannels_maxResults,+    listChannels_nextToken,+    listChannels_privacy,+    listChannels_appInstanceArn,++    -- * Destructuring the Response+    ListChannelsResponse (..),+    newListChannelsResponse,++    -- * Response Lenses+    listChannelsResponse_channels,+    listChannelsResponse_nextToken,+    listChannelsResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newListChannels' smart constructor.+data ListChannels = ListChannels'+  { -- | The @AppInstanceUserArn@ of the user that makes the API call.+    chimeBearer :: Prelude.Maybe Prelude.Text,+    -- | The maximum number of channels that you want to return.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token passed by previous API calls until all requested channels are+    -- returned.+    nextToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The privacy setting. @PUBLIC@ retrieves all the public channels.+    -- @PRIVATE@ retrieves private channels. Only an @AppInstanceAdmin@ can+    -- retrieve private channels.+    privacy :: Prelude.Maybe ChannelPrivacy,+    -- | The ARN of the @AppInstance@.+    appInstanceArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListChannels' 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:+--+-- 'chimeBearer', 'listChannels_chimeBearer' - The @AppInstanceUserArn@ of the user that makes the API call.+--+-- 'maxResults', 'listChannels_maxResults' - The maximum number of channels that you want to return.+--+-- 'nextToken', 'listChannels_nextToken' - The token passed by previous API calls until all requested channels are+-- returned.+--+-- 'privacy', 'listChannels_privacy' - The privacy setting. @PUBLIC@ retrieves all the public channels.+-- @PRIVATE@ retrieves private channels. Only an @AppInstanceAdmin@ can+-- retrieve private channels.+--+-- 'appInstanceArn', 'listChannels_appInstanceArn' - The ARN of the @AppInstance@.+newListChannels ::+  -- | 'appInstanceArn'+  Prelude.Text ->+  ListChannels+newListChannels pAppInstanceArn_ =+  ListChannels'+    { chimeBearer = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      privacy = Prelude.Nothing,+      appInstanceArn = pAppInstanceArn_+    }++-- | The @AppInstanceUserArn@ of the user that makes the API call.+listChannels_chimeBearer :: Lens.Lens' ListChannels (Prelude.Maybe Prelude.Text)+listChannels_chimeBearer = Lens.lens (\ListChannels' {chimeBearer} -> chimeBearer) (\s@ListChannels' {} a -> s {chimeBearer = a} :: ListChannels)++-- | The maximum number of channels that you want to return.+listChannels_maxResults :: Lens.Lens' ListChannels (Prelude.Maybe Prelude.Natural)+listChannels_maxResults = Lens.lens (\ListChannels' {maxResults} -> maxResults) (\s@ListChannels' {} a -> s {maxResults = a} :: ListChannels)++-- | The token passed by previous API calls until all requested channels are+-- returned.+listChannels_nextToken :: Lens.Lens' ListChannels (Prelude.Maybe Prelude.Text)+listChannels_nextToken = Lens.lens (\ListChannels' {nextToken} -> nextToken) (\s@ListChannels' {} a -> s {nextToken = a} :: ListChannels) Prelude.. Lens.mapping Data._Sensitive++-- | The privacy setting. @PUBLIC@ retrieves all the public channels.+-- @PRIVATE@ retrieves private channels. Only an @AppInstanceAdmin@ can+-- retrieve private channels.+listChannels_privacy :: Lens.Lens' ListChannels (Prelude.Maybe ChannelPrivacy)+listChannels_privacy = Lens.lens (\ListChannels' {privacy} -> privacy) (\s@ListChannels' {} a -> s {privacy = a} :: ListChannels)++-- | The ARN of the @AppInstance@.+listChannels_appInstanceArn :: Lens.Lens' ListChannels Prelude.Text+listChannels_appInstanceArn = Lens.lens (\ListChannels' {appInstanceArn} -> appInstanceArn) (\s@ListChannels' {} a -> s {appInstanceArn = a} :: ListChannels)++instance Core.AWSRequest ListChannels where+  type AWSResponse ListChannels = ListChannelsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListChannelsResponse'+            Prelude.<$> (x Data..?> "Channels" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListChannels where+  hashWithSalt _salt ListChannels' {..} =+    _salt+      `Prelude.hashWithSalt` chimeBearer+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` privacy+      `Prelude.hashWithSalt` appInstanceArn++instance Prelude.NFData ListChannels where+  rnf ListChannels' {..} =+    Prelude.rnf chimeBearer+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf privacy+      `Prelude.seq` Prelude.rnf appInstanceArn++instance Data.ToHeaders ListChannels where+  toHeaders ListChannels' {..} =+    Prelude.mconcat+      ["x-amz-chime-bearer" Data.=# chimeBearer]++instance Data.ToPath ListChannels where+  toPath = Prelude.const "/channels"++instance Data.ToQuery ListChannels where+  toQuery ListChannels' {..} =+    Prelude.mconcat+      [ "max-results" Data.=: maxResults,+        "next-token" Data.=: nextToken,+        "privacy" Data.=: privacy,+        "app-instance-arn" Data.=: appInstanceArn+      ]++-- | /See:/ 'newListChannelsResponse' smart constructor.+data ListChannelsResponse = ListChannelsResponse'+  { -- | The information about each channel.+    channels :: Prelude.Maybe [ChannelSummary],+    -- | The token returned from previous API requests until the number of+    -- channels is reached.+    nextToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListChannelsResponse' 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:+--+-- 'channels', 'listChannelsResponse_channels' - The information about each channel.+--+-- 'nextToken', 'listChannelsResponse_nextToken' - The token returned from previous API requests until the number of+-- channels is reached.+--+-- 'httpStatus', 'listChannelsResponse_httpStatus' - The response's http status code.+newListChannelsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListChannelsResponse+newListChannelsResponse pHttpStatus_ =+  ListChannelsResponse'+    { channels = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The information about each channel.+listChannelsResponse_channels :: Lens.Lens' ListChannelsResponse (Prelude.Maybe [ChannelSummary])+listChannelsResponse_channels = Lens.lens (\ListChannelsResponse' {channels} -> channels) (\s@ListChannelsResponse' {} a -> s {channels = a} :: ListChannelsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token returned from previous API requests until the number of+-- channels is reached.+listChannelsResponse_nextToken :: Lens.Lens' ListChannelsResponse (Prelude.Maybe Prelude.Text)+listChannelsResponse_nextToken = Lens.lens (\ListChannelsResponse' {nextToken} -> nextToken) (\s@ListChannelsResponse' {} a -> s {nextToken = a} :: ListChannelsResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The response's http status code.+listChannelsResponse_httpStatus :: Lens.Lens' ListChannelsResponse Prelude.Int+listChannelsResponse_httpStatus = Lens.lens (\ListChannelsResponse' {httpStatus} -> httpStatus) (\s@ListChannelsResponse' {} a -> s {httpStatus = a} :: ListChannelsResponse)++instance Prelude.NFData ListChannelsResponse where+  rnf ListChannelsResponse' {..} =+    Prelude.rnf channels+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/ListChannelsModeratedByAppInstanceUser.hs view
@@ -0,0 +1,244 @@+{-# 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.Chime.ListChannelsModeratedByAppInstanceUser+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- A list of the channels moderated by an @AppInstanceUser@.+--+-- The @x-amz-chime-bearer@ request header is mandatory. Use the+-- @AppInstanceUserArn@ of the user that makes the API call as the value in+-- the header.+module Amazonka.Chime.ListChannelsModeratedByAppInstanceUser+  ( -- * Creating a Request+    ListChannelsModeratedByAppInstanceUser (..),+    newListChannelsModeratedByAppInstanceUser,++    -- * Request Lenses+    listChannelsModeratedByAppInstanceUser_appInstanceUserArn,+    listChannelsModeratedByAppInstanceUser_chimeBearer,+    listChannelsModeratedByAppInstanceUser_maxResults,+    listChannelsModeratedByAppInstanceUser_nextToken,++    -- * Destructuring the Response+    ListChannelsModeratedByAppInstanceUserResponse (..),+    newListChannelsModeratedByAppInstanceUserResponse,++    -- * Response Lenses+    listChannelsModeratedByAppInstanceUserResponse_channels,+    listChannelsModeratedByAppInstanceUserResponse_nextToken,+    listChannelsModeratedByAppInstanceUserResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newListChannelsModeratedByAppInstanceUser' smart constructor.+data ListChannelsModeratedByAppInstanceUser = ListChannelsModeratedByAppInstanceUser'+  { -- | The ARN of the user in the moderated channel.+    appInstanceUserArn :: Prelude.Maybe Prelude.Text,+    -- | The @AppInstanceUserArn@ of the user that makes the API call.+    chimeBearer :: Prelude.Maybe Prelude.Text,+    -- | The maximum number of channels in the request.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token returned from previous API requests until the number of+    -- channels moderated by the user is reached.+    nextToken :: Prelude.Maybe (Data.Sensitive Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListChannelsModeratedByAppInstanceUser' 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:+--+-- 'appInstanceUserArn', 'listChannelsModeratedByAppInstanceUser_appInstanceUserArn' - The ARN of the user in the moderated channel.+--+-- 'chimeBearer', 'listChannelsModeratedByAppInstanceUser_chimeBearer' - The @AppInstanceUserArn@ of the user that makes the API call.+--+-- 'maxResults', 'listChannelsModeratedByAppInstanceUser_maxResults' - The maximum number of channels in the request.+--+-- 'nextToken', 'listChannelsModeratedByAppInstanceUser_nextToken' - The token returned from previous API requests until the number of+-- channels moderated by the user is reached.+newListChannelsModeratedByAppInstanceUser ::+  ListChannelsModeratedByAppInstanceUser+newListChannelsModeratedByAppInstanceUser =+  ListChannelsModeratedByAppInstanceUser'+    { appInstanceUserArn =+        Prelude.Nothing,+      chimeBearer = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The ARN of the user in the moderated channel.+listChannelsModeratedByAppInstanceUser_appInstanceUserArn :: Lens.Lens' ListChannelsModeratedByAppInstanceUser (Prelude.Maybe Prelude.Text)+listChannelsModeratedByAppInstanceUser_appInstanceUserArn = Lens.lens (\ListChannelsModeratedByAppInstanceUser' {appInstanceUserArn} -> appInstanceUserArn) (\s@ListChannelsModeratedByAppInstanceUser' {} a -> s {appInstanceUserArn = a} :: ListChannelsModeratedByAppInstanceUser)++-- | The @AppInstanceUserArn@ of the user that makes the API call.+listChannelsModeratedByAppInstanceUser_chimeBearer :: Lens.Lens' ListChannelsModeratedByAppInstanceUser (Prelude.Maybe Prelude.Text)+listChannelsModeratedByAppInstanceUser_chimeBearer = Lens.lens (\ListChannelsModeratedByAppInstanceUser' {chimeBearer} -> chimeBearer) (\s@ListChannelsModeratedByAppInstanceUser' {} a -> s {chimeBearer = a} :: ListChannelsModeratedByAppInstanceUser)++-- | The maximum number of channels in the request.+listChannelsModeratedByAppInstanceUser_maxResults :: Lens.Lens' ListChannelsModeratedByAppInstanceUser (Prelude.Maybe Prelude.Natural)+listChannelsModeratedByAppInstanceUser_maxResults = Lens.lens (\ListChannelsModeratedByAppInstanceUser' {maxResults} -> maxResults) (\s@ListChannelsModeratedByAppInstanceUser' {} a -> s {maxResults = a} :: ListChannelsModeratedByAppInstanceUser)++-- | The token returned from previous API requests until the number of+-- channels moderated by the user is reached.+listChannelsModeratedByAppInstanceUser_nextToken :: Lens.Lens' ListChannelsModeratedByAppInstanceUser (Prelude.Maybe Prelude.Text)+listChannelsModeratedByAppInstanceUser_nextToken = Lens.lens (\ListChannelsModeratedByAppInstanceUser' {nextToken} -> nextToken) (\s@ListChannelsModeratedByAppInstanceUser' {} a -> s {nextToken = a} :: ListChannelsModeratedByAppInstanceUser) Prelude.. Lens.mapping Data._Sensitive++instance+  Core.AWSRequest+    ListChannelsModeratedByAppInstanceUser+  where+  type+    AWSResponse+      ListChannelsModeratedByAppInstanceUser =+      ListChannelsModeratedByAppInstanceUserResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListChannelsModeratedByAppInstanceUserResponse'+            Prelude.<$> (x Data..?> "Channels" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    ListChannelsModeratedByAppInstanceUser+  where+  hashWithSalt+    _salt+    ListChannelsModeratedByAppInstanceUser' {..} =+      _salt+        `Prelude.hashWithSalt` appInstanceUserArn+        `Prelude.hashWithSalt` chimeBearer+        `Prelude.hashWithSalt` maxResults+        `Prelude.hashWithSalt` nextToken++instance+  Prelude.NFData+    ListChannelsModeratedByAppInstanceUser+  where+  rnf ListChannelsModeratedByAppInstanceUser' {..} =+    Prelude.rnf appInstanceUserArn+      `Prelude.seq` Prelude.rnf chimeBearer+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance+  Data.ToHeaders+    ListChannelsModeratedByAppInstanceUser+  where+  toHeaders ListChannelsModeratedByAppInstanceUser' {..} =+    Prelude.mconcat+      ["x-amz-chime-bearer" Data.=# chimeBearer]++instance+  Data.ToPath+    ListChannelsModeratedByAppInstanceUser+  where+  toPath = Prelude.const "/channels"++instance+  Data.ToQuery+    ListChannelsModeratedByAppInstanceUser+  where+  toQuery ListChannelsModeratedByAppInstanceUser' {..} =+    Prelude.mconcat+      [ "app-instance-user-arn" Data.=: appInstanceUserArn,+        "max-results" Data.=: maxResults,+        "next-token" Data.=: nextToken,+        "scope=app-instance-user-moderated-channels"+      ]++-- | /See:/ 'newListChannelsModeratedByAppInstanceUserResponse' smart constructor.+data ListChannelsModeratedByAppInstanceUserResponse = ListChannelsModeratedByAppInstanceUserResponse'+  { -- | The moderated channels in the request.+    channels :: Prelude.Maybe [ChannelModeratedByAppInstanceUserSummary],+    -- | The token returned from previous API requests until the number of+    -- channels moderated by the user is reached.+    nextToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListChannelsModeratedByAppInstanceUserResponse' 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:+--+-- 'channels', 'listChannelsModeratedByAppInstanceUserResponse_channels' - The moderated channels in the request.+--+-- 'nextToken', 'listChannelsModeratedByAppInstanceUserResponse_nextToken' - The token returned from previous API requests until the number of+-- channels moderated by the user is reached.+--+-- 'httpStatus', 'listChannelsModeratedByAppInstanceUserResponse_httpStatus' - The response's http status code.+newListChannelsModeratedByAppInstanceUserResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListChannelsModeratedByAppInstanceUserResponse+newListChannelsModeratedByAppInstanceUserResponse+  pHttpStatus_ =+    ListChannelsModeratedByAppInstanceUserResponse'+      { channels =+          Prelude.Nothing,+        nextToken = Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The moderated channels in the request.+listChannelsModeratedByAppInstanceUserResponse_channels :: Lens.Lens' ListChannelsModeratedByAppInstanceUserResponse (Prelude.Maybe [ChannelModeratedByAppInstanceUserSummary])+listChannelsModeratedByAppInstanceUserResponse_channels = Lens.lens (\ListChannelsModeratedByAppInstanceUserResponse' {channels} -> channels) (\s@ListChannelsModeratedByAppInstanceUserResponse' {} a -> s {channels = a} :: ListChannelsModeratedByAppInstanceUserResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token returned from previous API requests until the number of+-- channels moderated by the user is reached.+listChannelsModeratedByAppInstanceUserResponse_nextToken :: Lens.Lens' ListChannelsModeratedByAppInstanceUserResponse (Prelude.Maybe Prelude.Text)+listChannelsModeratedByAppInstanceUserResponse_nextToken = Lens.lens (\ListChannelsModeratedByAppInstanceUserResponse' {nextToken} -> nextToken) (\s@ListChannelsModeratedByAppInstanceUserResponse' {} a -> s {nextToken = a} :: ListChannelsModeratedByAppInstanceUserResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The response's http status code.+listChannelsModeratedByAppInstanceUserResponse_httpStatus :: Lens.Lens' ListChannelsModeratedByAppInstanceUserResponse Prelude.Int+listChannelsModeratedByAppInstanceUserResponse_httpStatus = Lens.lens (\ListChannelsModeratedByAppInstanceUserResponse' {httpStatus} -> httpStatus) (\s@ListChannelsModeratedByAppInstanceUserResponse' {} a -> s {httpStatus = a} :: ListChannelsModeratedByAppInstanceUserResponse)++instance+  Prelude.NFData+    ListChannelsModeratedByAppInstanceUserResponse+  where+  rnf+    ListChannelsModeratedByAppInstanceUserResponse' {..} =+      Prelude.rnf channels+        `Prelude.seq` Prelude.rnf nextToken+        `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/ListMediaCapturePipelines.hs view
@@ -0,0 +1,189 @@+{-# 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.Chime.ListMediaCapturePipelines+-- 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 media capture pipelines.+module Amazonka.Chime.ListMediaCapturePipelines+  ( -- * Creating a Request+    ListMediaCapturePipelines (..),+    newListMediaCapturePipelines,++    -- * Request Lenses+    listMediaCapturePipelines_maxResults,+    listMediaCapturePipelines_nextToken,++    -- * Destructuring the Response+    ListMediaCapturePipelinesResponse (..),+    newListMediaCapturePipelinesResponse,++    -- * Response Lenses+    listMediaCapturePipelinesResponse_mediaCapturePipelines,+    listMediaCapturePipelinesResponse_nextToken,+    listMediaCapturePipelinesResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newListMediaCapturePipelines' smart constructor.+data ListMediaCapturePipelines = ListMediaCapturePipelines'+  { -- | The maximum number of results to return in a single call. Valid Range: 1+    -- - 99.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token used to retrieve the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListMediaCapturePipelines' 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', 'listMediaCapturePipelines_maxResults' - The maximum number of results to return in a single call. Valid Range: 1+-- - 99.+--+-- 'nextToken', 'listMediaCapturePipelines_nextToken' - The token used to retrieve the next page of results.+newListMediaCapturePipelines ::+  ListMediaCapturePipelines+newListMediaCapturePipelines =+  ListMediaCapturePipelines'+    { maxResults =+        Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The maximum number of results to return in a single call. Valid Range: 1+-- - 99.+listMediaCapturePipelines_maxResults :: Lens.Lens' ListMediaCapturePipelines (Prelude.Maybe Prelude.Natural)+listMediaCapturePipelines_maxResults = Lens.lens (\ListMediaCapturePipelines' {maxResults} -> maxResults) (\s@ListMediaCapturePipelines' {} a -> s {maxResults = a} :: ListMediaCapturePipelines)++-- | The token used to retrieve the next page of results.+listMediaCapturePipelines_nextToken :: Lens.Lens' ListMediaCapturePipelines (Prelude.Maybe Prelude.Text)+listMediaCapturePipelines_nextToken = Lens.lens (\ListMediaCapturePipelines' {nextToken} -> nextToken) (\s@ListMediaCapturePipelines' {} a -> s {nextToken = a} :: ListMediaCapturePipelines)++instance Core.AWSRequest ListMediaCapturePipelines where+  type+    AWSResponse ListMediaCapturePipelines =+      ListMediaCapturePipelinesResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListMediaCapturePipelinesResponse'+            Prelude.<$> ( x+                            Data..?> "MediaCapturePipelines"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListMediaCapturePipelines where+  hashWithSalt _salt ListMediaCapturePipelines' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListMediaCapturePipelines where+  rnf ListMediaCapturePipelines' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListMediaCapturePipelines where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ListMediaCapturePipelines where+  toPath = Prelude.const "/media-capture-pipelines"++instance Data.ToQuery ListMediaCapturePipelines where+  toQuery ListMediaCapturePipelines' {..} =+    Prelude.mconcat+      [ "max-results" Data.=: maxResults,+        "next-token" Data.=: nextToken+      ]++-- | /See:/ 'newListMediaCapturePipelinesResponse' smart constructor.+data ListMediaCapturePipelinesResponse = ListMediaCapturePipelinesResponse'+  { -- | The media capture pipeline objects in the list.+    mediaCapturePipelines :: Prelude.Maybe [MediaCapturePipeline],+    -- | The token used 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 'ListMediaCapturePipelinesResponse' 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:+--+-- 'mediaCapturePipelines', 'listMediaCapturePipelinesResponse_mediaCapturePipelines' - The media capture pipeline objects in the list.+--+-- 'nextToken', 'listMediaCapturePipelinesResponse_nextToken' - The token used to retrieve the next page of results.+--+-- 'httpStatus', 'listMediaCapturePipelinesResponse_httpStatus' - The response's http status code.+newListMediaCapturePipelinesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListMediaCapturePipelinesResponse+newListMediaCapturePipelinesResponse pHttpStatus_ =+  ListMediaCapturePipelinesResponse'+    { mediaCapturePipelines =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The media capture pipeline objects in the list.+listMediaCapturePipelinesResponse_mediaCapturePipelines :: Lens.Lens' ListMediaCapturePipelinesResponse (Prelude.Maybe [MediaCapturePipeline])+listMediaCapturePipelinesResponse_mediaCapturePipelines = Lens.lens (\ListMediaCapturePipelinesResponse' {mediaCapturePipelines} -> mediaCapturePipelines) (\s@ListMediaCapturePipelinesResponse' {} a -> s {mediaCapturePipelines = a} :: ListMediaCapturePipelinesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token used to retrieve the next page of results.+listMediaCapturePipelinesResponse_nextToken :: Lens.Lens' ListMediaCapturePipelinesResponse (Prelude.Maybe Prelude.Text)+listMediaCapturePipelinesResponse_nextToken = Lens.lens (\ListMediaCapturePipelinesResponse' {nextToken} -> nextToken) (\s@ListMediaCapturePipelinesResponse' {} a -> s {nextToken = a} :: ListMediaCapturePipelinesResponse)++-- | The response's http status code.+listMediaCapturePipelinesResponse_httpStatus :: Lens.Lens' ListMediaCapturePipelinesResponse Prelude.Int+listMediaCapturePipelinesResponse_httpStatus = Lens.lens (\ListMediaCapturePipelinesResponse' {httpStatus} -> httpStatus) (\s@ListMediaCapturePipelinesResponse' {} a -> s {httpStatus = a} :: ListMediaCapturePipelinesResponse)++instance+  Prelude.NFData+    ListMediaCapturePipelinesResponse+  where+  rnf ListMediaCapturePipelinesResponse' {..} =+    Prelude.rnf mediaCapturePipelines+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/ListMeetingTags.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.Chime.ListMeetingTags+-- 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 tags applied to an Amazon Chime SDK meeting resource.+module Amazonka.Chime.ListMeetingTags+  ( -- * Creating a Request+    ListMeetingTags (..),+    newListMeetingTags,++    -- * Request Lenses+    listMeetingTags_meetingId,++    -- * Destructuring the Response+    ListMeetingTagsResponse (..),+    newListMeetingTagsResponse,++    -- * Response Lenses+    listMeetingTagsResponse_tags,+    listMeetingTagsResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newListMeetingTags' smart constructor.+data ListMeetingTags = ListMeetingTags'+  { -- | The Amazon Chime SDK meeting ID.+    meetingId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListMeetingTags' 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', 'listMeetingTags_meetingId' - The Amazon Chime SDK meeting ID.+newListMeetingTags ::+  -- | 'meetingId'+  Prelude.Text ->+  ListMeetingTags+newListMeetingTags pMeetingId_ =+  ListMeetingTags' {meetingId = pMeetingId_}++-- | The Amazon Chime SDK meeting ID.+listMeetingTags_meetingId :: Lens.Lens' ListMeetingTags Prelude.Text+listMeetingTags_meetingId = Lens.lens (\ListMeetingTags' {meetingId} -> meetingId) (\s@ListMeetingTags' {} a -> s {meetingId = a} :: ListMeetingTags)++instance Core.AWSRequest ListMeetingTags where+  type+    AWSResponse ListMeetingTags =+      ListMeetingTagsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListMeetingTagsResponse'+            Prelude.<$> (x Data..?> "Tags")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListMeetingTags where+  hashWithSalt _salt ListMeetingTags' {..} =+    _salt `Prelude.hashWithSalt` meetingId++instance Prelude.NFData ListMeetingTags where+  rnf ListMeetingTags' {..} = Prelude.rnf meetingId++instance Data.ToHeaders ListMeetingTags where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ListMeetingTags where+  toPath ListMeetingTags' {..} =+    Prelude.mconcat+      ["/meetings/", Data.toBS meetingId, "/tags"]++instance Data.ToQuery ListMeetingTags where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListMeetingTagsResponse' smart constructor.+data ListMeetingTagsResponse = ListMeetingTagsResponse'+  { -- | A list of tag key-value pairs.+    tags :: Prelude.Maybe (Prelude.NonEmpty Tag),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListMeetingTagsResponse' 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', 'listMeetingTagsResponse_tags' - A list of tag key-value pairs.+--+-- 'httpStatus', 'listMeetingTagsResponse_httpStatus' - The response's http status code.+newListMeetingTagsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListMeetingTagsResponse+newListMeetingTagsResponse pHttpStatus_ =+  ListMeetingTagsResponse'+    { tags = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | A list of tag key-value pairs.+listMeetingTagsResponse_tags :: Lens.Lens' ListMeetingTagsResponse (Prelude.Maybe (Prelude.NonEmpty Tag))+listMeetingTagsResponse_tags = Lens.lens (\ListMeetingTagsResponse' {tags} -> tags) (\s@ListMeetingTagsResponse' {} a -> s {tags = a} :: ListMeetingTagsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listMeetingTagsResponse_httpStatus :: Lens.Lens' ListMeetingTagsResponse Prelude.Int+listMeetingTagsResponse_httpStatus = Lens.lens (\ListMeetingTagsResponse' {httpStatus} -> httpStatus) (\s@ListMeetingTagsResponse' {} a -> s {httpStatus = a} :: ListMeetingTagsResponse)++instance Prelude.NFData ListMeetingTagsResponse where+  rnf ListMeetingTagsResponse' {..} =+    Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/ListMeetings.hs view
@@ -0,0 +1,179 @@+{-# 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.Chime.ListMeetings+-- 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 up to 100 active Amazon Chime SDK meetings. 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.Chime.ListMeetings+  ( -- * Creating a Request+    ListMeetings (..),+    newListMeetings,++    -- * Request Lenses+    listMeetings_maxResults,+    listMeetings_nextToken,++    -- * Destructuring the Response+    ListMeetingsResponse (..),+    newListMeetingsResponse,++    -- * Response Lenses+    listMeetingsResponse_meetings,+    listMeetingsResponse_nextToken,+    listMeetingsResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newListMeetings' smart constructor.+data ListMeetings = ListMeetings'+  { -- | 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+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListMeetings' 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', 'listMeetings_maxResults' - The maximum number of results to return in a single call.+--+-- 'nextToken', 'listMeetings_nextToken' - The token to use to retrieve the next page of results.+newListMeetings ::+  ListMeetings+newListMeetings =+  ListMeetings'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The maximum number of results to return in a single call.+listMeetings_maxResults :: Lens.Lens' ListMeetings (Prelude.Maybe Prelude.Natural)+listMeetings_maxResults = Lens.lens (\ListMeetings' {maxResults} -> maxResults) (\s@ListMeetings' {} a -> s {maxResults = a} :: ListMeetings)++-- | The token to use to retrieve the next page of results.+listMeetings_nextToken :: Lens.Lens' ListMeetings (Prelude.Maybe Prelude.Text)+listMeetings_nextToken = Lens.lens (\ListMeetings' {nextToken} -> nextToken) (\s@ListMeetings' {} a -> s {nextToken = a} :: ListMeetings)++instance Core.AWSRequest ListMeetings where+  type AWSResponse ListMeetings = ListMeetingsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListMeetingsResponse'+            Prelude.<$> (x Data..?> "Meetings" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListMeetings where+  hashWithSalt _salt ListMeetings' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListMeetings where+  rnf ListMeetings' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListMeetings where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ListMeetings where+  toPath = Prelude.const "/meetings"++instance Data.ToQuery ListMeetings where+  toQuery ListMeetings' {..} =+    Prelude.mconcat+      [ "max-results" Data.=: maxResults,+        "next-token" Data.=: nextToken+      ]++-- | /See:/ 'newListMeetingsResponse' smart constructor.+data ListMeetingsResponse = ListMeetingsResponse'+  { -- | The Amazon Chime SDK meeting information.+    meetings :: Prelude.Maybe [Meeting],+    -- | 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 'ListMeetingsResponse' 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:+--+-- 'meetings', 'listMeetingsResponse_meetings' - The Amazon Chime SDK meeting information.+--+-- 'nextToken', 'listMeetingsResponse_nextToken' - The token to use to retrieve the next page of results.+--+-- 'httpStatus', 'listMeetingsResponse_httpStatus' - The response's http status code.+newListMeetingsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListMeetingsResponse+newListMeetingsResponse pHttpStatus_ =+  ListMeetingsResponse'+    { meetings = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Chime SDK meeting information.+listMeetingsResponse_meetings :: Lens.Lens' ListMeetingsResponse (Prelude.Maybe [Meeting])+listMeetingsResponse_meetings = Lens.lens (\ListMeetingsResponse' {meetings} -> meetings) (\s@ListMeetingsResponse' {} a -> s {meetings = a} :: ListMeetingsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token to use to retrieve the next page of results.+listMeetingsResponse_nextToken :: Lens.Lens' ListMeetingsResponse (Prelude.Maybe Prelude.Text)+listMeetingsResponse_nextToken = Lens.lens (\ListMeetingsResponse' {nextToken} -> nextToken) (\s@ListMeetingsResponse' {} a -> s {nextToken = a} :: ListMeetingsResponse)++-- | The response's http status code.+listMeetingsResponse_httpStatus :: Lens.Lens' ListMeetingsResponse Prelude.Int+listMeetingsResponse_httpStatus = Lens.lens (\ListMeetingsResponse' {httpStatus} -> httpStatus) (\s@ListMeetingsResponse' {} a -> s {httpStatus = a} :: ListMeetingsResponse)++instance Prelude.NFData ListMeetingsResponse where+  rnf ListMeetingsResponse' {..} =+    Prelude.rnf meetings+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/ListPhoneNumberOrders.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.Chime.ListPhoneNumberOrders+-- 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 phone number orders for the administrator\'s Amazon Chime+-- account.+module Amazonka.Chime.ListPhoneNumberOrders+  ( -- * Creating a Request+    ListPhoneNumberOrders (..),+    newListPhoneNumberOrders,++    -- * Request Lenses+    listPhoneNumberOrders_maxResults,+    listPhoneNumberOrders_nextToken,++    -- * Destructuring the Response+    ListPhoneNumberOrdersResponse (..),+    newListPhoneNumberOrdersResponse,++    -- * Response Lenses+    listPhoneNumberOrdersResponse_nextToken,+    listPhoneNumberOrdersResponse_phoneNumberOrders,+    listPhoneNumberOrdersResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newListPhoneNumberOrders' smart constructor.+data ListPhoneNumberOrders = ListPhoneNumberOrders'+  { -- | 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+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListPhoneNumberOrders' 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', 'listPhoneNumberOrders_maxResults' - The maximum number of results to return in a single call.+--+-- 'nextToken', 'listPhoneNumberOrders_nextToken' - The token to use to retrieve the next page of results.+newListPhoneNumberOrders ::+  ListPhoneNumberOrders+newListPhoneNumberOrders =+  ListPhoneNumberOrders'+    { maxResults =+        Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The maximum number of results to return in a single call.+listPhoneNumberOrders_maxResults :: Lens.Lens' ListPhoneNumberOrders (Prelude.Maybe Prelude.Natural)+listPhoneNumberOrders_maxResults = Lens.lens (\ListPhoneNumberOrders' {maxResults} -> maxResults) (\s@ListPhoneNumberOrders' {} a -> s {maxResults = a} :: ListPhoneNumberOrders)++-- | The token to use to retrieve the next page of results.+listPhoneNumberOrders_nextToken :: Lens.Lens' ListPhoneNumberOrders (Prelude.Maybe Prelude.Text)+listPhoneNumberOrders_nextToken = Lens.lens (\ListPhoneNumberOrders' {nextToken} -> nextToken) (\s@ListPhoneNumberOrders' {} a -> s {nextToken = a} :: ListPhoneNumberOrders)++instance Core.AWSRequest ListPhoneNumberOrders where+  type+    AWSResponse ListPhoneNumberOrders =+      ListPhoneNumberOrdersResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListPhoneNumberOrdersResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> ( x+                            Data..?> "PhoneNumberOrders"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListPhoneNumberOrders where+  hashWithSalt _salt ListPhoneNumberOrders' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListPhoneNumberOrders where+  rnf ListPhoneNumberOrders' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListPhoneNumberOrders where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ListPhoneNumberOrders where+  toPath = Prelude.const "/phone-number-orders"++instance Data.ToQuery ListPhoneNumberOrders where+  toQuery ListPhoneNumberOrders' {..} =+    Prelude.mconcat+      [ "max-results" Data.=: maxResults,+        "next-token" Data.=: nextToken+      ]++-- | /See:/ 'newListPhoneNumberOrdersResponse' smart constructor.+data ListPhoneNumberOrdersResponse = ListPhoneNumberOrdersResponse'+  { -- | The token to use to retrieve the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The phone number order details.+    phoneNumberOrders :: Prelude.Maybe [PhoneNumberOrder],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListPhoneNumberOrdersResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listPhoneNumberOrdersResponse_nextToken' - The token to use to retrieve the next page of results.+--+-- 'phoneNumberOrders', 'listPhoneNumberOrdersResponse_phoneNumberOrders' - The phone number order details.+--+-- 'httpStatus', 'listPhoneNumberOrdersResponse_httpStatus' - The response's http status code.+newListPhoneNumberOrdersResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListPhoneNumberOrdersResponse+newListPhoneNumberOrdersResponse pHttpStatus_ =+  ListPhoneNumberOrdersResponse'+    { nextToken =+        Prelude.Nothing,+      phoneNumberOrders = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The token to use to retrieve the next page of results.+listPhoneNumberOrdersResponse_nextToken :: Lens.Lens' ListPhoneNumberOrdersResponse (Prelude.Maybe Prelude.Text)+listPhoneNumberOrdersResponse_nextToken = Lens.lens (\ListPhoneNumberOrdersResponse' {nextToken} -> nextToken) (\s@ListPhoneNumberOrdersResponse' {} a -> s {nextToken = a} :: ListPhoneNumberOrdersResponse)++-- | The phone number order details.+listPhoneNumberOrdersResponse_phoneNumberOrders :: Lens.Lens' ListPhoneNumberOrdersResponse (Prelude.Maybe [PhoneNumberOrder])+listPhoneNumberOrdersResponse_phoneNumberOrders = Lens.lens (\ListPhoneNumberOrdersResponse' {phoneNumberOrders} -> phoneNumberOrders) (\s@ListPhoneNumberOrdersResponse' {} a -> s {phoneNumberOrders = a} :: ListPhoneNumberOrdersResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listPhoneNumberOrdersResponse_httpStatus :: Lens.Lens' ListPhoneNumberOrdersResponse Prelude.Int+listPhoneNumberOrdersResponse_httpStatus = Lens.lens (\ListPhoneNumberOrdersResponse' {httpStatus} -> httpStatus) (\s@ListPhoneNumberOrdersResponse' {} a -> s {httpStatus = a} :: ListPhoneNumberOrdersResponse)++instance Prelude.NFData ListPhoneNumberOrdersResponse where+  rnf ListPhoneNumberOrdersResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf phoneNumberOrders+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/ListPhoneNumbers.hs view
@@ -0,0 +1,233 @@+{-# 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.Chime.ListPhoneNumbers+-- 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 phone numbers for the specified Amazon Chime account, Amazon+-- Chime user, Amazon Chime Voice Connector, or Amazon Chime Voice+-- Connector group.+module Amazonka.Chime.ListPhoneNumbers+  ( -- * Creating a Request+    ListPhoneNumbers (..),+    newListPhoneNumbers,++    -- * Request Lenses+    listPhoneNumbers_filterName,+    listPhoneNumbers_filterValue,+    listPhoneNumbers_maxResults,+    listPhoneNumbers_nextToken,+    listPhoneNumbers_productType,+    listPhoneNumbers_status,++    -- * Destructuring the Response+    ListPhoneNumbersResponse (..),+    newListPhoneNumbersResponse,++    -- * Response Lenses+    listPhoneNumbersResponse_nextToken,+    listPhoneNumbersResponse_phoneNumbers,+    listPhoneNumbersResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newListPhoneNumbers' smart constructor.+data ListPhoneNumbers = ListPhoneNumbers'+  { -- | The filter to use to limit the number of results.+    filterName :: Prelude.Maybe PhoneNumberAssociationName,+    -- | The value to use for the filter.+    filterValue :: Prelude.Maybe Prelude.Text,+    -- | 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 phone number product type.+    productType :: Prelude.Maybe PhoneNumberProductType,+    -- | The phone number status.+    status :: Prelude.Maybe PhoneNumberStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListPhoneNumbers' 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:+--+-- 'filterName', 'listPhoneNumbers_filterName' - The filter to use to limit the number of results.+--+-- 'filterValue', 'listPhoneNumbers_filterValue' - The value to use for the filter.+--+-- 'maxResults', 'listPhoneNumbers_maxResults' - The maximum number of results to return in a single call.+--+-- 'nextToken', 'listPhoneNumbers_nextToken' - The token to use to retrieve the next page of results.+--+-- 'productType', 'listPhoneNumbers_productType' - The phone number product type.+--+-- 'status', 'listPhoneNumbers_status' - The phone number status.+newListPhoneNumbers ::+  ListPhoneNumbers+newListPhoneNumbers =+  ListPhoneNumbers'+    { filterName = Prelude.Nothing,+      filterValue = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      productType = Prelude.Nothing,+      status = Prelude.Nothing+    }++-- | The filter to use to limit the number of results.+listPhoneNumbers_filterName :: Lens.Lens' ListPhoneNumbers (Prelude.Maybe PhoneNumberAssociationName)+listPhoneNumbers_filterName = Lens.lens (\ListPhoneNumbers' {filterName} -> filterName) (\s@ListPhoneNumbers' {} a -> s {filterName = a} :: ListPhoneNumbers)++-- | The value to use for the filter.+listPhoneNumbers_filterValue :: Lens.Lens' ListPhoneNumbers (Prelude.Maybe Prelude.Text)+listPhoneNumbers_filterValue = Lens.lens (\ListPhoneNumbers' {filterValue} -> filterValue) (\s@ListPhoneNumbers' {} a -> s {filterValue = a} :: ListPhoneNumbers)++-- | The maximum number of results to return in a single call.+listPhoneNumbers_maxResults :: Lens.Lens' ListPhoneNumbers (Prelude.Maybe Prelude.Natural)+listPhoneNumbers_maxResults = Lens.lens (\ListPhoneNumbers' {maxResults} -> maxResults) (\s@ListPhoneNumbers' {} a -> s {maxResults = a} :: ListPhoneNumbers)++-- | The token to use to retrieve the next page of results.+listPhoneNumbers_nextToken :: Lens.Lens' ListPhoneNumbers (Prelude.Maybe Prelude.Text)+listPhoneNumbers_nextToken = Lens.lens (\ListPhoneNumbers' {nextToken} -> nextToken) (\s@ListPhoneNumbers' {} a -> s {nextToken = a} :: ListPhoneNumbers)++-- | The phone number product type.+listPhoneNumbers_productType :: Lens.Lens' ListPhoneNumbers (Prelude.Maybe PhoneNumberProductType)+listPhoneNumbers_productType = Lens.lens (\ListPhoneNumbers' {productType} -> productType) (\s@ListPhoneNumbers' {} a -> s {productType = a} :: ListPhoneNumbers)++-- | The phone number status.+listPhoneNumbers_status :: Lens.Lens' ListPhoneNumbers (Prelude.Maybe PhoneNumberStatus)+listPhoneNumbers_status = Lens.lens (\ListPhoneNumbers' {status} -> status) (\s@ListPhoneNumbers' {} a -> s {status = a} :: ListPhoneNumbers)++instance Core.AWSRequest ListPhoneNumbers where+  type+    AWSResponse ListPhoneNumbers =+      ListPhoneNumbersResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListPhoneNumbersResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "PhoneNumbers" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListPhoneNumbers where+  hashWithSalt _salt ListPhoneNumbers' {..} =+    _salt+      `Prelude.hashWithSalt` filterName+      `Prelude.hashWithSalt` filterValue+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` productType+      `Prelude.hashWithSalt` status++instance Prelude.NFData ListPhoneNumbers where+  rnf ListPhoneNumbers' {..} =+    Prelude.rnf filterName+      `Prelude.seq` Prelude.rnf filterValue+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf productType+      `Prelude.seq` Prelude.rnf status++instance Data.ToHeaders ListPhoneNumbers where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ListPhoneNumbers where+  toPath = Prelude.const "/phone-numbers"++instance Data.ToQuery ListPhoneNumbers where+  toQuery ListPhoneNumbers' {..} =+    Prelude.mconcat+      [ "filter-name" Data.=: filterName,+        "filter-value" Data.=: filterValue,+        "max-results" Data.=: maxResults,+        "next-token" Data.=: nextToken,+        "product-type" Data.=: productType,+        "status" Data.=: status+      ]++-- | /See:/ 'newListPhoneNumbersResponse' smart constructor.+data ListPhoneNumbersResponse = ListPhoneNumbersResponse'+  { -- | The token to use to retrieve the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The phone number details.+    phoneNumbers :: Prelude.Maybe [PhoneNumber],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListPhoneNumbersResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listPhoneNumbersResponse_nextToken' - The token to use to retrieve the next page of results.+--+-- 'phoneNumbers', 'listPhoneNumbersResponse_phoneNumbers' - The phone number details.+--+-- 'httpStatus', 'listPhoneNumbersResponse_httpStatus' - The response's http status code.+newListPhoneNumbersResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListPhoneNumbersResponse+newListPhoneNumbersResponse pHttpStatus_ =+  ListPhoneNumbersResponse'+    { nextToken =+        Prelude.Nothing,+      phoneNumbers = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The token to use to retrieve the next page of results.+listPhoneNumbersResponse_nextToken :: Lens.Lens' ListPhoneNumbersResponse (Prelude.Maybe Prelude.Text)+listPhoneNumbersResponse_nextToken = Lens.lens (\ListPhoneNumbersResponse' {nextToken} -> nextToken) (\s@ListPhoneNumbersResponse' {} a -> s {nextToken = a} :: ListPhoneNumbersResponse)++-- | The phone number details.+listPhoneNumbersResponse_phoneNumbers :: Lens.Lens' ListPhoneNumbersResponse (Prelude.Maybe [PhoneNumber])+listPhoneNumbersResponse_phoneNumbers = Lens.lens (\ListPhoneNumbersResponse' {phoneNumbers} -> phoneNumbers) (\s@ListPhoneNumbersResponse' {} a -> s {phoneNumbers = a} :: ListPhoneNumbersResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listPhoneNumbersResponse_httpStatus :: Lens.Lens' ListPhoneNumbersResponse Prelude.Int+listPhoneNumbersResponse_httpStatus = Lens.lens (\ListPhoneNumbersResponse' {httpStatus} -> httpStatus) (\s@ListPhoneNumbersResponse' {} a -> s {httpStatus = a} :: ListPhoneNumbersResponse)++instance Prelude.NFData ListPhoneNumbersResponse where+  rnf ListPhoneNumbersResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf phoneNumbers+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/ListProxySessions.hs view
@@ -0,0 +1,211 @@+{-# 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.Chime.ListProxySessions+-- 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 proxy sessions for the specified Amazon Chime Voice Connector.+module Amazonka.Chime.ListProxySessions+  ( -- * Creating a Request+    ListProxySessions (..),+    newListProxySessions,++    -- * Request Lenses+    listProxySessions_maxResults,+    listProxySessions_nextToken,+    listProxySessions_status,+    listProxySessions_voiceConnectorId,++    -- * Destructuring the Response+    ListProxySessionsResponse (..),+    newListProxySessionsResponse,++    -- * Response Lenses+    listProxySessionsResponse_nextToken,+    listProxySessionsResponse_proxySessions,+    listProxySessionsResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newListProxySessions' smart constructor.+data ListProxySessions = ListProxySessions'+  { -- | 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 proxy session status.+    status :: Prelude.Maybe ProxySessionStatus,+    -- | The Amazon Chime voice connector ID.+    voiceConnectorId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListProxySessions' 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', 'listProxySessions_maxResults' - The maximum number of results to return in a single call.+--+-- 'nextToken', 'listProxySessions_nextToken' - The token to use to retrieve the next page of results.+--+-- 'status', 'listProxySessions_status' - The proxy session status.+--+-- 'voiceConnectorId', 'listProxySessions_voiceConnectorId' - The Amazon Chime voice connector ID.+newListProxySessions ::+  -- | 'voiceConnectorId'+  Prelude.Text ->+  ListProxySessions+newListProxySessions pVoiceConnectorId_ =+  ListProxySessions'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      status = Prelude.Nothing,+      voiceConnectorId = pVoiceConnectorId_+    }++-- | The maximum number of results to return in a single call.+listProxySessions_maxResults :: Lens.Lens' ListProxySessions (Prelude.Maybe Prelude.Natural)+listProxySessions_maxResults = Lens.lens (\ListProxySessions' {maxResults} -> maxResults) (\s@ListProxySessions' {} a -> s {maxResults = a} :: ListProxySessions)++-- | The token to use to retrieve the next page of results.+listProxySessions_nextToken :: Lens.Lens' ListProxySessions (Prelude.Maybe Prelude.Text)+listProxySessions_nextToken = Lens.lens (\ListProxySessions' {nextToken} -> nextToken) (\s@ListProxySessions' {} a -> s {nextToken = a} :: ListProxySessions)++-- | The proxy session status.+listProxySessions_status :: Lens.Lens' ListProxySessions (Prelude.Maybe ProxySessionStatus)+listProxySessions_status = Lens.lens (\ListProxySessions' {status} -> status) (\s@ListProxySessions' {} a -> s {status = a} :: ListProxySessions)++-- | The Amazon Chime voice connector ID.+listProxySessions_voiceConnectorId :: Lens.Lens' ListProxySessions Prelude.Text+listProxySessions_voiceConnectorId = Lens.lens (\ListProxySessions' {voiceConnectorId} -> voiceConnectorId) (\s@ListProxySessions' {} a -> s {voiceConnectorId = a} :: ListProxySessions)++instance Core.AWSRequest ListProxySessions where+  type+    AWSResponse ListProxySessions =+      ListProxySessionsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListProxySessionsResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "ProxySessions" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListProxySessions where+  hashWithSalt _salt ListProxySessions' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` voiceConnectorId++instance Prelude.NFData ListProxySessions where+  rnf ListProxySessions' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf voiceConnectorId++instance Data.ToHeaders ListProxySessions where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ListProxySessions where+  toPath ListProxySessions' {..} =+    Prelude.mconcat+      [ "/voice-connectors/",+        Data.toBS voiceConnectorId,+        "/proxy-sessions"+      ]++instance Data.ToQuery ListProxySessions where+  toQuery ListProxySessions' {..} =+    Prelude.mconcat+      [ "max-results" Data.=: maxResults,+        "next-token" Data.=: nextToken,+        "status" Data.=: status+      ]++-- | /See:/ 'newListProxySessionsResponse' smart constructor.+data ListProxySessionsResponse = ListProxySessionsResponse'+  { -- | The token to use to retrieve the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The proxy session details.+    proxySessions :: Prelude.Maybe [ProxySession],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListProxySessionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listProxySessionsResponse_nextToken' - The token to use to retrieve the next page of results.+--+-- 'proxySessions', 'listProxySessionsResponse_proxySessions' - The proxy session details.+--+-- 'httpStatus', 'listProxySessionsResponse_httpStatus' - The response's http status code.+newListProxySessionsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListProxySessionsResponse+newListProxySessionsResponse pHttpStatus_ =+  ListProxySessionsResponse'+    { nextToken =+        Prelude.Nothing,+      proxySessions = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The token to use to retrieve the next page of results.+listProxySessionsResponse_nextToken :: Lens.Lens' ListProxySessionsResponse (Prelude.Maybe Prelude.Text)+listProxySessionsResponse_nextToken = Lens.lens (\ListProxySessionsResponse' {nextToken} -> nextToken) (\s@ListProxySessionsResponse' {} a -> s {nextToken = a} :: ListProxySessionsResponse)++-- | The proxy session details.+listProxySessionsResponse_proxySessions :: Lens.Lens' ListProxySessionsResponse (Prelude.Maybe [ProxySession])+listProxySessionsResponse_proxySessions = Lens.lens (\ListProxySessionsResponse' {proxySessions} -> proxySessions) (\s@ListProxySessionsResponse' {} a -> s {proxySessions = a} :: ListProxySessionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listProxySessionsResponse_httpStatus :: Lens.Lens' ListProxySessionsResponse Prelude.Int+listProxySessionsResponse_httpStatus = Lens.lens (\ListProxySessionsResponse' {httpStatus} -> httpStatus) (\s@ListProxySessionsResponse' {} a -> s {httpStatus = a} :: ListProxySessionsResponse)++instance Prelude.NFData ListProxySessionsResponse where+  rnf ListProxySessionsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf proxySessions+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/ListRoomMemberships.hs view
@@ -0,0 +1,219 @@+{-# 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.Chime.ListRoomMemberships+-- 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 membership details for the specified room in an Amazon Chime+-- Enterprise account, such as the members\' IDs, email addresses, and+-- names.+module Amazonka.Chime.ListRoomMemberships+  ( -- * Creating a Request+    ListRoomMemberships (..),+    newListRoomMemberships,++    -- * Request Lenses+    listRoomMemberships_maxResults,+    listRoomMemberships_nextToken,+    listRoomMemberships_accountId,+    listRoomMemberships_roomId,++    -- * Destructuring the Response+    ListRoomMembershipsResponse (..),+    newListRoomMembershipsResponse,++    -- * Response Lenses+    listRoomMembershipsResponse_nextToken,+    listRoomMembershipsResponse_roomMemberships,+    listRoomMembershipsResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newListRoomMemberships' smart constructor.+data ListRoomMemberships = ListRoomMemberships'+  { -- | 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 account ID.+    accountId :: Prelude.Text,+    -- | The room ID.+    roomId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListRoomMemberships' 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', 'listRoomMemberships_maxResults' - The maximum number of results to return in a single call.+--+-- 'nextToken', 'listRoomMemberships_nextToken' - The token to use to retrieve the next page of results.+--+-- 'accountId', 'listRoomMemberships_accountId' - The Amazon Chime account ID.+--+-- 'roomId', 'listRoomMemberships_roomId' - The room ID.+newListRoomMemberships ::+  -- | 'accountId'+  Prelude.Text ->+  -- | 'roomId'+  Prelude.Text ->+  ListRoomMemberships+newListRoomMemberships pAccountId_ pRoomId_ =+  ListRoomMemberships'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      accountId = pAccountId_,+      roomId = pRoomId_+    }++-- | The maximum number of results to return in a single call.+listRoomMemberships_maxResults :: Lens.Lens' ListRoomMemberships (Prelude.Maybe Prelude.Natural)+listRoomMemberships_maxResults = Lens.lens (\ListRoomMemberships' {maxResults} -> maxResults) (\s@ListRoomMemberships' {} a -> s {maxResults = a} :: ListRoomMemberships)++-- | The token to use to retrieve the next page of results.+listRoomMemberships_nextToken :: Lens.Lens' ListRoomMemberships (Prelude.Maybe Prelude.Text)+listRoomMemberships_nextToken = Lens.lens (\ListRoomMemberships' {nextToken} -> nextToken) (\s@ListRoomMemberships' {} a -> s {nextToken = a} :: ListRoomMemberships)++-- | The Amazon Chime account ID.+listRoomMemberships_accountId :: Lens.Lens' ListRoomMemberships Prelude.Text+listRoomMemberships_accountId = Lens.lens (\ListRoomMemberships' {accountId} -> accountId) (\s@ListRoomMemberships' {} a -> s {accountId = a} :: ListRoomMemberships)++-- | The room ID.+listRoomMemberships_roomId :: Lens.Lens' ListRoomMemberships Prelude.Text+listRoomMemberships_roomId = Lens.lens (\ListRoomMemberships' {roomId} -> roomId) (\s@ListRoomMemberships' {} a -> s {roomId = a} :: ListRoomMemberships)++instance Core.AWSRequest ListRoomMemberships where+  type+    AWSResponse ListRoomMemberships =+      ListRoomMembershipsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListRoomMembershipsResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> ( x+                            Data..?> "RoomMemberships"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListRoomMemberships where+  hashWithSalt _salt ListRoomMemberships' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` roomId++instance Prelude.NFData ListRoomMemberships where+  rnf ListRoomMemberships' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf roomId++instance Data.ToHeaders ListRoomMemberships where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ListRoomMemberships where+  toPath ListRoomMemberships' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS accountId,+        "/rooms/",+        Data.toBS roomId,+        "/memberships"+      ]++instance Data.ToQuery ListRoomMemberships where+  toQuery ListRoomMemberships' {..} =+    Prelude.mconcat+      [ "max-results" Data.=: maxResults,+        "next-token" Data.=: nextToken+      ]++-- | /See:/ 'newListRoomMembershipsResponse' smart constructor.+data ListRoomMembershipsResponse = ListRoomMembershipsResponse'+  { -- | The token to use to retrieve the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The room membership details.+    roomMemberships :: Prelude.Maybe [RoomMembership],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListRoomMembershipsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listRoomMembershipsResponse_nextToken' - The token to use to retrieve the next page of results.+--+-- 'roomMemberships', 'listRoomMembershipsResponse_roomMemberships' - The room membership details.+--+-- 'httpStatus', 'listRoomMembershipsResponse_httpStatus' - The response's http status code.+newListRoomMembershipsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListRoomMembershipsResponse+newListRoomMembershipsResponse pHttpStatus_ =+  ListRoomMembershipsResponse'+    { nextToken =+        Prelude.Nothing,+      roomMemberships = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The token to use to retrieve the next page of results.+listRoomMembershipsResponse_nextToken :: Lens.Lens' ListRoomMembershipsResponse (Prelude.Maybe Prelude.Text)+listRoomMembershipsResponse_nextToken = Lens.lens (\ListRoomMembershipsResponse' {nextToken} -> nextToken) (\s@ListRoomMembershipsResponse' {} a -> s {nextToken = a} :: ListRoomMembershipsResponse)++-- | The room membership details.+listRoomMembershipsResponse_roomMemberships :: Lens.Lens' ListRoomMembershipsResponse (Prelude.Maybe [RoomMembership])+listRoomMembershipsResponse_roomMemberships = Lens.lens (\ListRoomMembershipsResponse' {roomMemberships} -> roomMemberships) (\s@ListRoomMembershipsResponse' {} a -> s {roomMemberships = a} :: ListRoomMembershipsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listRoomMembershipsResponse_httpStatus :: Lens.Lens' ListRoomMembershipsResponse Prelude.Int+listRoomMembershipsResponse_httpStatus = Lens.lens (\ListRoomMembershipsResponse' {httpStatus} -> httpStatus) (\s@ListRoomMembershipsResponse' {} a -> s {httpStatus = a} :: ListRoomMembershipsResponse)++instance Prelude.NFData ListRoomMembershipsResponse where+  rnf ListRoomMembershipsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf roomMemberships+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/ListRooms.hs view
@@ -0,0 +1,207 @@+{-# 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.Chime.ListRooms+-- 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 room details for the specified Amazon Chime Enterprise+-- account. Optionally, filter the results by a member ID (user ID or bot+-- ID) to see a list of rooms that the member belongs to.+module Amazonka.Chime.ListRooms+  ( -- * Creating a Request+    ListRooms (..),+    newListRooms,++    -- * Request Lenses+    listRooms_maxResults,+    listRooms_memberId,+    listRooms_nextToken,+    listRooms_accountId,++    -- * Destructuring the Response+    ListRoomsResponse (..),+    newListRoomsResponse,++    -- * Response Lenses+    listRoomsResponse_nextToken,+    listRoomsResponse_rooms,+    listRoomsResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newListRooms' smart constructor.+data ListRooms = ListRooms'+  { -- | The maximum number of results to return in a single call.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The member ID (user ID or bot ID).+    memberId :: Prelude.Maybe Prelude.Text,+    -- | The token to use to retrieve the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Chime account ID.+    accountId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListRooms' 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', 'listRooms_maxResults' - The maximum number of results to return in a single call.+--+-- 'memberId', 'listRooms_memberId' - The member ID (user ID or bot ID).+--+-- 'nextToken', 'listRooms_nextToken' - The token to use to retrieve the next page of results.+--+-- 'accountId', 'listRooms_accountId' - The Amazon Chime account ID.+newListRooms ::+  -- | 'accountId'+  Prelude.Text ->+  ListRooms+newListRooms pAccountId_ =+  ListRooms'+    { maxResults = Prelude.Nothing,+      memberId = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      accountId = pAccountId_+    }++-- | The maximum number of results to return in a single call.+listRooms_maxResults :: Lens.Lens' ListRooms (Prelude.Maybe Prelude.Natural)+listRooms_maxResults = Lens.lens (\ListRooms' {maxResults} -> maxResults) (\s@ListRooms' {} a -> s {maxResults = a} :: ListRooms)++-- | The member ID (user ID or bot ID).+listRooms_memberId :: Lens.Lens' ListRooms (Prelude.Maybe Prelude.Text)+listRooms_memberId = Lens.lens (\ListRooms' {memberId} -> memberId) (\s@ListRooms' {} a -> s {memberId = a} :: ListRooms)++-- | The token to use to retrieve the next page of results.+listRooms_nextToken :: Lens.Lens' ListRooms (Prelude.Maybe Prelude.Text)+listRooms_nextToken = Lens.lens (\ListRooms' {nextToken} -> nextToken) (\s@ListRooms' {} a -> s {nextToken = a} :: ListRooms)++-- | The Amazon Chime account ID.+listRooms_accountId :: Lens.Lens' ListRooms Prelude.Text+listRooms_accountId = Lens.lens (\ListRooms' {accountId} -> accountId) (\s@ListRooms' {} a -> s {accountId = a} :: ListRooms)++instance Core.AWSRequest ListRooms where+  type AWSResponse ListRooms = ListRoomsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListRoomsResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "Rooms" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListRooms where+  hashWithSalt _salt ListRooms' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` memberId+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` accountId++instance Prelude.NFData ListRooms where+  rnf ListRooms' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf memberId+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf accountId++instance Data.ToHeaders ListRooms where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ListRooms where+  toPath ListRooms' {..} =+    Prelude.mconcat+      ["/accounts/", Data.toBS accountId, "/rooms"]++instance Data.ToQuery ListRooms where+  toQuery ListRooms' {..} =+    Prelude.mconcat+      [ "max-results" Data.=: maxResults,+        "member-id" Data.=: memberId,+        "next-token" Data.=: nextToken+      ]++-- | /See:/ 'newListRoomsResponse' smart constructor.+data ListRoomsResponse = ListRoomsResponse'+  { -- | The token to use to retrieve the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The room details.+    rooms :: Prelude.Maybe [Room],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListRoomsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listRoomsResponse_nextToken' - The token to use to retrieve the next page of results.+--+-- 'rooms', 'listRoomsResponse_rooms' - The room details.+--+-- 'httpStatus', 'listRoomsResponse_httpStatus' - The response's http status code.+newListRoomsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListRoomsResponse+newListRoomsResponse pHttpStatus_ =+  ListRoomsResponse'+    { nextToken = Prelude.Nothing,+      rooms = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The token to use to retrieve the next page of results.+listRoomsResponse_nextToken :: Lens.Lens' ListRoomsResponse (Prelude.Maybe Prelude.Text)+listRoomsResponse_nextToken = Lens.lens (\ListRoomsResponse' {nextToken} -> nextToken) (\s@ListRoomsResponse' {} a -> s {nextToken = a} :: ListRoomsResponse)++-- | The room details.+listRoomsResponse_rooms :: Lens.Lens' ListRoomsResponse (Prelude.Maybe [Room])+listRoomsResponse_rooms = Lens.lens (\ListRoomsResponse' {rooms} -> rooms) (\s@ListRoomsResponse' {} a -> s {rooms = a} :: ListRoomsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listRoomsResponse_httpStatus :: Lens.Lens' ListRoomsResponse Prelude.Int+listRoomsResponse_httpStatus = Lens.lens (\ListRoomsResponse' {httpStatus} -> httpStatus) (\s@ListRoomsResponse' {} a -> s {httpStatus = a} :: ListRoomsResponse)++instance Prelude.NFData ListRoomsResponse where+  rnf ListRoomsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf rooms+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/ListSipMediaApplications.hs view
@@ -0,0 +1,189 @@+{-# 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.Chime.ListSipMediaApplications+-- 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 SIP media applications under the administrator\'s AWS account.+module Amazonka.Chime.ListSipMediaApplications+  ( -- * Creating a Request+    ListSipMediaApplications (..),+    newListSipMediaApplications,++    -- * Request Lenses+    listSipMediaApplications_maxResults,+    listSipMediaApplications_nextToken,++    -- * Destructuring the Response+    ListSipMediaApplicationsResponse (..),+    newListSipMediaApplicationsResponse,++    -- * Response Lenses+    listSipMediaApplicationsResponse_nextToken,+    listSipMediaApplicationsResponse_sipMediaApplications,+    listSipMediaApplicationsResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newListSipMediaApplications' smart constructor.+data ListSipMediaApplications = ListSipMediaApplications'+  { -- | The maximum number of results to return in a single call. Defaults to+    -- 100.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token to use to retrieve the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListSipMediaApplications' 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', 'listSipMediaApplications_maxResults' - The maximum number of results to return in a single call. Defaults to+-- 100.+--+-- 'nextToken', 'listSipMediaApplications_nextToken' - The token to use to retrieve the next page of results.+newListSipMediaApplications ::+  ListSipMediaApplications+newListSipMediaApplications =+  ListSipMediaApplications'+    { maxResults =+        Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The maximum number of results to return in a single call. Defaults to+-- 100.+listSipMediaApplications_maxResults :: Lens.Lens' ListSipMediaApplications (Prelude.Maybe Prelude.Natural)+listSipMediaApplications_maxResults = Lens.lens (\ListSipMediaApplications' {maxResults} -> maxResults) (\s@ListSipMediaApplications' {} a -> s {maxResults = a} :: ListSipMediaApplications)++-- | The token to use to retrieve the next page of results.+listSipMediaApplications_nextToken :: Lens.Lens' ListSipMediaApplications (Prelude.Maybe Prelude.Text)+listSipMediaApplications_nextToken = Lens.lens (\ListSipMediaApplications' {nextToken} -> nextToken) (\s@ListSipMediaApplications' {} a -> s {nextToken = a} :: ListSipMediaApplications)++instance Core.AWSRequest ListSipMediaApplications where+  type+    AWSResponse ListSipMediaApplications =+      ListSipMediaApplicationsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListSipMediaApplicationsResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> ( x+                            Data..?> "SipMediaApplications"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListSipMediaApplications where+  hashWithSalt _salt ListSipMediaApplications' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListSipMediaApplications where+  rnf ListSipMediaApplications' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListSipMediaApplications where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ListSipMediaApplications where+  toPath = Prelude.const "/sip-media-applications"++instance Data.ToQuery ListSipMediaApplications where+  toQuery ListSipMediaApplications' {..} =+    Prelude.mconcat+      [ "max-results" Data.=: maxResults,+        "next-token" Data.=: nextToken+      ]++-- | /See:/ 'newListSipMediaApplicationsResponse' smart constructor.+data ListSipMediaApplicationsResponse = ListSipMediaApplicationsResponse'+  { -- | The token to use to retrieve the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | List of SIP media applications and application details.+    sipMediaApplications :: Prelude.Maybe [SipMediaApplication],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListSipMediaApplicationsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listSipMediaApplicationsResponse_nextToken' - The token to use to retrieve the next page of results.+--+-- 'sipMediaApplications', 'listSipMediaApplicationsResponse_sipMediaApplications' - List of SIP media applications and application details.+--+-- 'httpStatus', 'listSipMediaApplicationsResponse_httpStatus' - The response's http status code.+newListSipMediaApplicationsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListSipMediaApplicationsResponse+newListSipMediaApplicationsResponse pHttpStatus_ =+  ListSipMediaApplicationsResponse'+    { nextToken =+        Prelude.Nothing,+      sipMediaApplications = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The token to use to retrieve the next page of results.+listSipMediaApplicationsResponse_nextToken :: Lens.Lens' ListSipMediaApplicationsResponse (Prelude.Maybe Prelude.Text)+listSipMediaApplicationsResponse_nextToken = Lens.lens (\ListSipMediaApplicationsResponse' {nextToken} -> nextToken) (\s@ListSipMediaApplicationsResponse' {} a -> s {nextToken = a} :: ListSipMediaApplicationsResponse)++-- | List of SIP media applications and application details.+listSipMediaApplicationsResponse_sipMediaApplications :: Lens.Lens' ListSipMediaApplicationsResponse (Prelude.Maybe [SipMediaApplication])+listSipMediaApplicationsResponse_sipMediaApplications = Lens.lens (\ListSipMediaApplicationsResponse' {sipMediaApplications} -> sipMediaApplications) (\s@ListSipMediaApplicationsResponse' {} a -> s {sipMediaApplications = a} :: ListSipMediaApplicationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listSipMediaApplicationsResponse_httpStatus :: Lens.Lens' ListSipMediaApplicationsResponse Prelude.Int+listSipMediaApplicationsResponse_httpStatus = Lens.lens (\ListSipMediaApplicationsResponse' {httpStatus} -> httpStatus) (\s@ListSipMediaApplicationsResponse' {} a -> s {httpStatus = a} :: ListSipMediaApplicationsResponse)++instance+  Prelude.NFData+    ListSipMediaApplicationsResponse+  where+  rnf ListSipMediaApplicationsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf sipMediaApplications+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/ListSipRules.hs view
@@ -0,0 +1,193 @@+{-# 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.Chime.ListSipRules+-- 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 SIP rules under the administrator\'s AWS account.+module Amazonka.Chime.ListSipRules+  ( -- * Creating a Request+    ListSipRules (..),+    newListSipRules,++    -- * Request Lenses+    listSipRules_maxResults,+    listSipRules_nextToken,+    listSipRules_sipMediaApplicationId,++    -- * Destructuring the Response+    ListSipRulesResponse (..),+    newListSipRulesResponse,++    -- * Response Lenses+    listSipRulesResponse_nextToken,+    listSipRulesResponse_sipRules,+    listSipRulesResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newListSipRules' smart constructor.+data ListSipRules = ListSipRules'+  { -- | The maximum number of results to return in a single call. Defaults to+    -- 100.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token to use to retrieve the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The SIP media application ID.+    sipMediaApplicationId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListSipRules' 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', 'listSipRules_maxResults' - The maximum number of results to return in a single call. Defaults to+-- 100.+--+-- 'nextToken', 'listSipRules_nextToken' - The token to use to retrieve the next page of results.+--+-- 'sipMediaApplicationId', 'listSipRules_sipMediaApplicationId' - The SIP media application ID.+newListSipRules ::+  ListSipRules+newListSipRules =+  ListSipRules'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      sipMediaApplicationId = Prelude.Nothing+    }++-- | The maximum number of results to return in a single call. Defaults to+-- 100.+listSipRules_maxResults :: Lens.Lens' ListSipRules (Prelude.Maybe Prelude.Natural)+listSipRules_maxResults = Lens.lens (\ListSipRules' {maxResults} -> maxResults) (\s@ListSipRules' {} a -> s {maxResults = a} :: ListSipRules)++-- | The token to use to retrieve the next page of results.+listSipRules_nextToken :: Lens.Lens' ListSipRules (Prelude.Maybe Prelude.Text)+listSipRules_nextToken = Lens.lens (\ListSipRules' {nextToken} -> nextToken) (\s@ListSipRules' {} a -> s {nextToken = a} :: ListSipRules)++-- | The SIP media application ID.+listSipRules_sipMediaApplicationId :: Lens.Lens' ListSipRules (Prelude.Maybe Prelude.Text)+listSipRules_sipMediaApplicationId = Lens.lens (\ListSipRules' {sipMediaApplicationId} -> sipMediaApplicationId) (\s@ListSipRules' {} a -> s {sipMediaApplicationId = a} :: ListSipRules)++instance Core.AWSRequest ListSipRules where+  type AWSResponse ListSipRules = ListSipRulesResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListSipRulesResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "SipRules" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListSipRules where+  hashWithSalt _salt ListSipRules' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` sipMediaApplicationId++instance Prelude.NFData ListSipRules where+  rnf ListSipRules' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf sipMediaApplicationId++instance Data.ToHeaders ListSipRules where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ListSipRules where+  toPath = Prelude.const "/sip-rules"++instance Data.ToQuery ListSipRules where+  toQuery ListSipRules' {..} =+    Prelude.mconcat+      [ "max-results" Data.=: maxResults,+        "next-token" Data.=: nextToken,+        "sip-media-application"+          Data.=: sipMediaApplicationId+      ]++-- | /See:/ 'newListSipRulesResponse' smart constructor.+data ListSipRulesResponse = ListSipRulesResponse'+  { -- | The token to use to retrieve the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | List of SIP rules and rule details.+    sipRules :: Prelude.Maybe [SipRule],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListSipRulesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listSipRulesResponse_nextToken' - The token to use to retrieve the next page of results.+--+-- 'sipRules', 'listSipRulesResponse_sipRules' - List of SIP rules and rule details.+--+-- 'httpStatus', 'listSipRulesResponse_httpStatus' - The response's http status code.+newListSipRulesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListSipRulesResponse+newListSipRulesResponse pHttpStatus_ =+  ListSipRulesResponse'+    { nextToken = Prelude.Nothing,+      sipRules = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The token to use to retrieve the next page of results.+listSipRulesResponse_nextToken :: Lens.Lens' ListSipRulesResponse (Prelude.Maybe Prelude.Text)+listSipRulesResponse_nextToken = Lens.lens (\ListSipRulesResponse' {nextToken} -> nextToken) (\s@ListSipRulesResponse' {} a -> s {nextToken = a} :: ListSipRulesResponse)++-- | List of SIP rules and rule details.+listSipRulesResponse_sipRules :: Lens.Lens' ListSipRulesResponse (Prelude.Maybe [SipRule])+listSipRulesResponse_sipRules = Lens.lens (\ListSipRulesResponse' {sipRules} -> sipRules) (\s@ListSipRulesResponse' {} a -> s {sipRules = a} :: ListSipRulesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listSipRulesResponse_httpStatus :: Lens.Lens' ListSipRulesResponse Prelude.Int+listSipRulesResponse_httpStatus = Lens.lens (\ListSipRulesResponse' {httpStatus} -> httpStatus) (\s@ListSipRulesResponse' {} a -> s {httpStatus = a} :: ListSipRulesResponse)++instance Prelude.NFData ListSipRulesResponse where+  rnf ListSipRulesResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf sipRules+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/ListSupportedPhoneNumberCountries.hs view
@@ -0,0 +1,182 @@+{-# 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.Chime.ListSupportedPhoneNumberCountries+-- 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 supported phone number countries.+module Amazonka.Chime.ListSupportedPhoneNumberCountries+  ( -- * Creating a Request+    ListSupportedPhoneNumberCountries (..),+    newListSupportedPhoneNumberCountries,++    -- * Request Lenses+    listSupportedPhoneNumberCountries_productType,++    -- * Destructuring the Response+    ListSupportedPhoneNumberCountriesResponse (..),+    newListSupportedPhoneNumberCountriesResponse,++    -- * Response Lenses+    listSupportedPhoneNumberCountriesResponse_phoneNumberCountries,+    listSupportedPhoneNumberCountriesResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newListSupportedPhoneNumberCountries' smart constructor.+data ListSupportedPhoneNumberCountries = ListSupportedPhoneNumberCountries'+  { -- | The phone number product type.+    productType :: PhoneNumberProductType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListSupportedPhoneNumberCountries' 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:+--+-- 'productType', 'listSupportedPhoneNumberCountries_productType' - The phone number product type.+newListSupportedPhoneNumberCountries ::+  -- | 'productType'+  PhoneNumberProductType ->+  ListSupportedPhoneNumberCountries+newListSupportedPhoneNumberCountries pProductType_ =+  ListSupportedPhoneNumberCountries'+    { productType =+        pProductType_+    }++-- | The phone number product type.+listSupportedPhoneNumberCountries_productType :: Lens.Lens' ListSupportedPhoneNumberCountries PhoneNumberProductType+listSupportedPhoneNumberCountries_productType = Lens.lens (\ListSupportedPhoneNumberCountries' {productType} -> productType) (\s@ListSupportedPhoneNumberCountries' {} a -> s {productType = a} :: ListSupportedPhoneNumberCountries)++instance+  Core.AWSRequest+    ListSupportedPhoneNumberCountries+  where+  type+    AWSResponse ListSupportedPhoneNumberCountries =+      ListSupportedPhoneNumberCountriesResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListSupportedPhoneNumberCountriesResponse'+            Prelude.<$> ( x+                            Data..?> "PhoneNumberCountries"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    ListSupportedPhoneNumberCountries+  where+  hashWithSalt+    _salt+    ListSupportedPhoneNumberCountries' {..} =+      _salt `Prelude.hashWithSalt` productType++instance+  Prelude.NFData+    ListSupportedPhoneNumberCountries+  where+  rnf ListSupportedPhoneNumberCountries' {..} =+    Prelude.rnf productType++instance+  Data.ToHeaders+    ListSupportedPhoneNumberCountries+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToPath+    ListSupportedPhoneNumberCountries+  where+  toPath = Prelude.const "/phone-number-countries"++instance+  Data.ToQuery+    ListSupportedPhoneNumberCountries+  where+  toQuery ListSupportedPhoneNumberCountries' {..} =+    Prelude.mconcat+      ["product-type" Data.=: productType]++-- | /See:/ 'newListSupportedPhoneNumberCountriesResponse' smart constructor.+data ListSupportedPhoneNumberCountriesResponse = ListSupportedPhoneNumberCountriesResponse'+  { -- | The supported phone number countries.+    phoneNumberCountries :: Prelude.Maybe [PhoneNumberCountry],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListSupportedPhoneNumberCountriesResponse' 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:+--+-- 'phoneNumberCountries', 'listSupportedPhoneNumberCountriesResponse_phoneNumberCountries' - The supported phone number countries.+--+-- 'httpStatus', 'listSupportedPhoneNumberCountriesResponse_httpStatus' - The response's http status code.+newListSupportedPhoneNumberCountriesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListSupportedPhoneNumberCountriesResponse+newListSupportedPhoneNumberCountriesResponse+  pHttpStatus_ =+    ListSupportedPhoneNumberCountriesResponse'+      { phoneNumberCountries =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The supported phone number countries.+listSupportedPhoneNumberCountriesResponse_phoneNumberCountries :: Lens.Lens' ListSupportedPhoneNumberCountriesResponse (Prelude.Maybe [PhoneNumberCountry])+listSupportedPhoneNumberCountriesResponse_phoneNumberCountries = Lens.lens (\ListSupportedPhoneNumberCountriesResponse' {phoneNumberCountries} -> phoneNumberCountries) (\s@ListSupportedPhoneNumberCountriesResponse' {} a -> s {phoneNumberCountries = a} :: ListSupportedPhoneNumberCountriesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listSupportedPhoneNumberCountriesResponse_httpStatus :: Lens.Lens' ListSupportedPhoneNumberCountriesResponse Prelude.Int+listSupportedPhoneNumberCountriesResponse_httpStatus = Lens.lens (\ListSupportedPhoneNumberCountriesResponse' {httpStatus} -> httpStatus) (\s@ListSupportedPhoneNumberCountriesResponse' {} a -> s {httpStatus = a} :: ListSupportedPhoneNumberCountriesResponse)++instance+  Prelude.NFData+    ListSupportedPhoneNumberCountriesResponse+  where+  rnf ListSupportedPhoneNumberCountriesResponse' {..} =+    Prelude.rnf phoneNumberCountries+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/ListTagsForResource.hs view
@@ -0,0 +1,154 @@+{-# 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.Chime.ListTagsForResource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the tags applied to an Amazon Chime SDK meeting resource.+module Amazonka.Chime.ListTagsForResource+  ( -- * Creating a Request+    ListTagsForResource (..),+    newListTagsForResource,++    -- * Request Lenses+    listTagsForResource_resourceARN,++    -- * Destructuring the Response+    ListTagsForResourceResponse (..),+    newListTagsForResourceResponse,++    -- * Response Lenses+    listTagsForResourceResponse_tags,+    listTagsForResourceResponse_httpStatus,+  )+where++import Amazonka.Chime.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 resource ARN.+    resourceARN :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, 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 resource ARN.+newListTagsForResource ::+  -- | 'resourceARN'+  Prelude.Text ->+  ListTagsForResource+newListTagsForResource pResourceARN_ =+  ListTagsForResource'+    { resourceARN =+        Data._Sensitive Lens.# pResourceARN_+    }++-- | The resource ARN.+listTagsForResource_resourceARN :: Lens.Lens' ListTagsForResource Prelude.Text+listTagsForResource_resourceARN = Lens.lens (\ListTagsForResource' {resourceARN} -> resourceARN) (\s@ListTagsForResource' {} a -> s {resourceARN = a} :: ListTagsForResource) Prelude.. Data._Sensitive++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")+            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'+  { -- | A list of tag-key value pairs.+    tags :: Prelude.Maybe (Prelude.NonEmpty Tag),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tags', 'listTagsForResourceResponse_tags' - A list of tag-key value pairs.+--+-- 'httpStatus', 'listTagsForResourceResponse_httpStatus' - The response's http status code.+newListTagsForResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListTagsForResourceResponse+newListTagsForResourceResponse pHttpStatus_ =+  ListTagsForResourceResponse'+    { tags =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | A list of tag-key value pairs.+listTagsForResourceResponse_tags :: Lens.Lens' ListTagsForResourceResponse (Prelude.Maybe (Prelude.NonEmpty 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/Chime/ListUsers.hs view
@@ -0,0 +1,247 @@+{-# 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.Chime.ListUsers+-- 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 users that belong to the specified Amazon Chime account. You+-- can specify an email address to list only the user that the email+-- address belongs to.+--+-- This operation returns paginated results.+module Amazonka.Chime.ListUsers+  ( -- * Creating a Request+    ListUsers (..),+    newListUsers,++    -- * Request Lenses+    listUsers_maxResults,+    listUsers_nextToken,+    listUsers_userEmail,+    listUsers_userType,+    listUsers_accountId,++    -- * Destructuring the Response+    ListUsersResponse (..),+    newListUsersResponse,++    -- * Response Lenses+    listUsersResponse_nextToken,+    listUsersResponse_users,+    listUsersResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newListUsers' smart constructor.+data ListUsers = ListUsers'+  { -- | The maximum number of results to return in a single call. Defaults to+    -- 100.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token to use to retrieve the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | Optional. The user email address used to filter results. Maximum 1.+    userEmail :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The user type.+    userType :: Prelude.Maybe UserType,+    -- | The Amazon Chime account ID.+    accountId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListUsers' 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', 'listUsers_maxResults' - The maximum number of results to return in a single call. Defaults to+-- 100.+--+-- 'nextToken', 'listUsers_nextToken' - The token to use to retrieve the next page of results.+--+-- 'userEmail', 'listUsers_userEmail' - Optional. The user email address used to filter results. Maximum 1.+--+-- 'userType', 'listUsers_userType' - The user type.+--+-- 'accountId', 'listUsers_accountId' - The Amazon Chime account ID.+newListUsers ::+  -- | 'accountId'+  Prelude.Text ->+  ListUsers+newListUsers pAccountId_ =+  ListUsers'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      userEmail = Prelude.Nothing,+      userType = Prelude.Nothing,+      accountId = pAccountId_+    }++-- | The maximum number of results to return in a single call. Defaults to+-- 100.+listUsers_maxResults :: Lens.Lens' ListUsers (Prelude.Maybe Prelude.Natural)+listUsers_maxResults = Lens.lens (\ListUsers' {maxResults} -> maxResults) (\s@ListUsers' {} a -> s {maxResults = a} :: ListUsers)++-- | The token to use to retrieve the next page of results.+listUsers_nextToken :: Lens.Lens' ListUsers (Prelude.Maybe Prelude.Text)+listUsers_nextToken = Lens.lens (\ListUsers' {nextToken} -> nextToken) (\s@ListUsers' {} a -> s {nextToken = a} :: ListUsers)++-- | Optional. The user email address used to filter results. Maximum 1.+listUsers_userEmail :: Lens.Lens' ListUsers (Prelude.Maybe Prelude.Text)+listUsers_userEmail = Lens.lens (\ListUsers' {userEmail} -> userEmail) (\s@ListUsers' {} a -> s {userEmail = a} :: ListUsers) Prelude.. Lens.mapping Data._Sensitive++-- | The user type.+listUsers_userType :: Lens.Lens' ListUsers (Prelude.Maybe UserType)+listUsers_userType = Lens.lens (\ListUsers' {userType} -> userType) (\s@ListUsers' {} a -> s {userType = a} :: ListUsers)++-- | The Amazon Chime account ID.+listUsers_accountId :: Lens.Lens' ListUsers Prelude.Text+listUsers_accountId = Lens.lens (\ListUsers' {accountId} -> accountId) (\s@ListUsers' {} a -> s {accountId = a} :: ListUsers)++instance Core.AWSPager ListUsers where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listUsersResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listUsersResponse_users+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listUsers_nextToken+          Lens..~ rs+          Lens.^? listUsersResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListUsers where+  type AWSResponse ListUsers = ListUsersResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListUsersResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "Users" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListUsers where+  hashWithSalt _salt ListUsers' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` userEmail+      `Prelude.hashWithSalt` userType+      `Prelude.hashWithSalt` accountId++instance Prelude.NFData ListUsers where+  rnf ListUsers' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf userEmail+      `Prelude.seq` Prelude.rnf userType+      `Prelude.seq` Prelude.rnf accountId++instance Data.ToHeaders ListUsers where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ListUsers where+  toPath ListUsers' {..} =+    Prelude.mconcat+      ["/accounts/", Data.toBS accountId, "/users"]++instance Data.ToQuery ListUsers where+  toQuery ListUsers' {..} =+    Prelude.mconcat+      [ "max-results" Data.=: maxResults,+        "next-token" Data.=: nextToken,+        "user-email" Data.=: userEmail,+        "user-type" Data.=: userType+      ]++-- | /See:/ 'newListUsersResponse' smart constructor.+data ListUsersResponse = ListUsersResponse'+  { -- | The token to use to retrieve the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | List of users and user details.+    users :: Prelude.Maybe [User],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListUsersResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listUsersResponse_nextToken' - The token to use to retrieve the next page of results.+--+-- 'users', 'listUsersResponse_users' - List of users and user details.+--+-- 'httpStatus', 'listUsersResponse_httpStatus' - The response's http status code.+newListUsersResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListUsersResponse+newListUsersResponse pHttpStatus_ =+  ListUsersResponse'+    { nextToken = Prelude.Nothing,+      users = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The token to use to retrieve the next page of results.+listUsersResponse_nextToken :: Lens.Lens' ListUsersResponse (Prelude.Maybe Prelude.Text)+listUsersResponse_nextToken = Lens.lens (\ListUsersResponse' {nextToken} -> nextToken) (\s@ListUsersResponse' {} a -> s {nextToken = a} :: ListUsersResponse)++-- | List of users and user details.+listUsersResponse_users :: Lens.Lens' ListUsersResponse (Prelude.Maybe [User])+listUsersResponse_users = Lens.lens (\ListUsersResponse' {users} -> users) (\s@ListUsersResponse' {} a -> s {users = a} :: ListUsersResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listUsersResponse_httpStatus :: Lens.Lens' ListUsersResponse Prelude.Int+listUsersResponse_httpStatus = Lens.lens (\ListUsersResponse' {httpStatus} -> httpStatus) (\s@ListUsersResponse' {} a -> s {httpStatus = a} :: ListUsersResponse)++instance Prelude.NFData ListUsersResponse where+  rnf ListUsersResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf users+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/ListVoiceConnectorGroups.hs view
@@ -0,0 +1,187 @@+{-# 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.Chime.ListVoiceConnectorGroups+-- 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 Amazon Chime Voice Connector groups for the administrator\'s+-- AWS account.+module Amazonka.Chime.ListVoiceConnectorGroups+  ( -- * Creating a Request+    ListVoiceConnectorGroups (..),+    newListVoiceConnectorGroups,++    -- * Request Lenses+    listVoiceConnectorGroups_maxResults,+    listVoiceConnectorGroups_nextToken,++    -- * Destructuring the Response+    ListVoiceConnectorGroupsResponse (..),+    newListVoiceConnectorGroupsResponse,++    -- * Response Lenses+    listVoiceConnectorGroupsResponse_nextToken,+    listVoiceConnectorGroupsResponse_voiceConnectorGroups,+    listVoiceConnectorGroupsResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newListVoiceConnectorGroups' smart constructor.+data ListVoiceConnectorGroups = ListVoiceConnectorGroups'+  { -- | 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+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListVoiceConnectorGroups' 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', 'listVoiceConnectorGroups_maxResults' - The maximum number of results to return in a single call.+--+-- 'nextToken', 'listVoiceConnectorGroups_nextToken' - The token to use to retrieve the next page of results.+newListVoiceConnectorGroups ::+  ListVoiceConnectorGroups+newListVoiceConnectorGroups =+  ListVoiceConnectorGroups'+    { maxResults =+        Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The maximum number of results to return in a single call.+listVoiceConnectorGroups_maxResults :: Lens.Lens' ListVoiceConnectorGroups (Prelude.Maybe Prelude.Natural)+listVoiceConnectorGroups_maxResults = Lens.lens (\ListVoiceConnectorGroups' {maxResults} -> maxResults) (\s@ListVoiceConnectorGroups' {} a -> s {maxResults = a} :: ListVoiceConnectorGroups)++-- | The token to use to retrieve the next page of results.+listVoiceConnectorGroups_nextToken :: Lens.Lens' ListVoiceConnectorGroups (Prelude.Maybe Prelude.Text)+listVoiceConnectorGroups_nextToken = Lens.lens (\ListVoiceConnectorGroups' {nextToken} -> nextToken) (\s@ListVoiceConnectorGroups' {} a -> s {nextToken = a} :: ListVoiceConnectorGroups)++instance Core.AWSRequest ListVoiceConnectorGroups where+  type+    AWSResponse ListVoiceConnectorGroups =+      ListVoiceConnectorGroupsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListVoiceConnectorGroupsResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> ( x+                            Data..?> "VoiceConnectorGroups"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListVoiceConnectorGroups where+  hashWithSalt _salt ListVoiceConnectorGroups' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListVoiceConnectorGroups where+  rnf ListVoiceConnectorGroups' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListVoiceConnectorGroups where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ListVoiceConnectorGroups where+  toPath = Prelude.const "/voice-connector-groups"++instance Data.ToQuery ListVoiceConnectorGroups where+  toQuery ListVoiceConnectorGroups' {..} =+    Prelude.mconcat+      [ "max-results" Data.=: maxResults,+        "next-token" Data.=: nextToken+      ]++-- | /See:/ 'newListVoiceConnectorGroupsResponse' smart constructor.+data ListVoiceConnectorGroupsResponse = ListVoiceConnectorGroupsResponse'+  { -- | The token to use to retrieve the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The details of the Amazon Chime Voice Connector groups.+    voiceConnectorGroups :: Prelude.Maybe [VoiceConnectorGroup],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListVoiceConnectorGroupsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listVoiceConnectorGroupsResponse_nextToken' - The token to use to retrieve the next page of results.+--+-- 'voiceConnectorGroups', 'listVoiceConnectorGroupsResponse_voiceConnectorGroups' - The details of the Amazon Chime Voice Connector groups.+--+-- 'httpStatus', 'listVoiceConnectorGroupsResponse_httpStatus' - The response's http status code.+newListVoiceConnectorGroupsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListVoiceConnectorGroupsResponse+newListVoiceConnectorGroupsResponse pHttpStatus_ =+  ListVoiceConnectorGroupsResponse'+    { nextToken =+        Prelude.Nothing,+      voiceConnectorGroups = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The token to use to retrieve the next page of results.+listVoiceConnectorGroupsResponse_nextToken :: Lens.Lens' ListVoiceConnectorGroupsResponse (Prelude.Maybe Prelude.Text)+listVoiceConnectorGroupsResponse_nextToken = Lens.lens (\ListVoiceConnectorGroupsResponse' {nextToken} -> nextToken) (\s@ListVoiceConnectorGroupsResponse' {} a -> s {nextToken = a} :: ListVoiceConnectorGroupsResponse)++-- | The details of the Amazon Chime Voice Connector groups.+listVoiceConnectorGroupsResponse_voiceConnectorGroups :: Lens.Lens' ListVoiceConnectorGroupsResponse (Prelude.Maybe [VoiceConnectorGroup])+listVoiceConnectorGroupsResponse_voiceConnectorGroups = Lens.lens (\ListVoiceConnectorGroupsResponse' {voiceConnectorGroups} -> voiceConnectorGroups) (\s@ListVoiceConnectorGroupsResponse' {} a -> s {voiceConnectorGroups = a} :: ListVoiceConnectorGroupsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listVoiceConnectorGroupsResponse_httpStatus :: Lens.Lens' ListVoiceConnectorGroupsResponse Prelude.Int+listVoiceConnectorGroupsResponse_httpStatus = Lens.lens (\ListVoiceConnectorGroupsResponse' {httpStatus} -> httpStatus) (\s@ListVoiceConnectorGroupsResponse' {} a -> s {httpStatus = a} :: ListVoiceConnectorGroupsResponse)++instance+  Prelude.NFData+    ListVoiceConnectorGroupsResponse+  where+  rnf ListVoiceConnectorGroupsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf voiceConnectorGroups+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/ListVoiceConnectorTerminationCredentials.hs view
@@ -0,0 +1,186 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Chime.ListVoiceConnectorTerminationCredentials+-- 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 SIP credentials for the specified Amazon Chime Voice+-- Connector.+module Amazonka.Chime.ListVoiceConnectorTerminationCredentials+  ( -- * Creating a Request+    ListVoiceConnectorTerminationCredentials (..),+    newListVoiceConnectorTerminationCredentials,++    -- * Request Lenses+    listVoiceConnectorTerminationCredentials_voiceConnectorId,++    -- * Destructuring the Response+    ListVoiceConnectorTerminationCredentialsResponse (..),+    newListVoiceConnectorTerminationCredentialsResponse,++    -- * Response Lenses+    listVoiceConnectorTerminationCredentialsResponse_usernames,+    listVoiceConnectorTerminationCredentialsResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newListVoiceConnectorTerminationCredentials' smart constructor.+data ListVoiceConnectorTerminationCredentials = ListVoiceConnectorTerminationCredentials'+  { -- | The Amazon Chime Voice Connector ID.+    voiceConnectorId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListVoiceConnectorTerminationCredentials' 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:+--+-- 'voiceConnectorId', 'listVoiceConnectorTerminationCredentials_voiceConnectorId' - The Amazon Chime Voice Connector ID.+newListVoiceConnectorTerminationCredentials ::+  -- | 'voiceConnectorId'+  Prelude.Text ->+  ListVoiceConnectorTerminationCredentials+newListVoiceConnectorTerminationCredentials+  pVoiceConnectorId_ =+    ListVoiceConnectorTerminationCredentials'+      { voiceConnectorId =+          pVoiceConnectorId_+      }++-- | The Amazon Chime Voice Connector ID.+listVoiceConnectorTerminationCredentials_voiceConnectorId :: Lens.Lens' ListVoiceConnectorTerminationCredentials Prelude.Text+listVoiceConnectorTerminationCredentials_voiceConnectorId = Lens.lens (\ListVoiceConnectorTerminationCredentials' {voiceConnectorId} -> voiceConnectorId) (\s@ListVoiceConnectorTerminationCredentials' {} a -> s {voiceConnectorId = a} :: ListVoiceConnectorTerminationCredentials)++instance+  Core.AWSRequest+    ListVoiceConnectorTerminationCredentials+  where+  type+    AWSResponse+      ListVoiceConnectorTerminationCredentials =+      ListVoiceConnectorTerminationCredentialsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListVoiceConnectorTerminationCredentialsResponse'+            Prelude.<$> (x Data..?> "Usernames" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    ListVoiceConnectorTerminationCredentials+  where+  hashWithSalt+    _salt+    ListVoiceConnectorTerminationCredentials' {..} =+      _salt `Prelude.hashWithSalt` voiceConnectorId++instance+  Prelude.NFData+    ListVoiceConnectorTerminationCredentials+  where+  rnf ListVoiceConnectorTerminationCredentials' {..} =+    Prelude.rnf voiceConnectorId++instance+  Data.ToHeaders+    ListVoiceConnectorTerminationCredentials+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToPath+    ListVoiceConnectorTerminationCredentials+  where+  toPath ListVoiceConnectorTerminationCredentials' {..} =+    Prelude.mconcat+      [ "/voice-connectors/",+        Data.toBS voiceConnectorId,+        "/termination/credentials"+      ]++instance+  Data.ToQuery+    ListVoiceConnectorTerminationCredentials+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListVoiceConnectorTerminationCredentialsResponse' smart constructor.+data ListVoiceConnectorTerminationCredentialsResponse = ListVoiceConnectorTerminationCredentialsResponse'+  { -- | A list of user names.+    usernames :: Prelude.Maybe [Data.Sensitive Prelude.Text],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListVoiceConnectorTerminationCredentialsResponse' 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:+--+-- 'usernames', 'listVoiceConnectorTerminationCredentialsResponse_usernames' - A list of user names.+--+-- 'httpStatus', 'listVoiceConnectorTerminationCredentialsResponse_httpStatus' - The response's http status code.+newListVoiceConnectorTerminationCredentialsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListVoiceConnectorTerminationCredentialsResponse+newListVoiceConnectorTerminationCredentialsResponse+  pHttpStatus_ =+    ListVoiceConnectorTerminationCredentialsResponse'+      { usernames =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | A list of user names.+listVoiceConnectorTerminationCredentialsResponse_usernames :: Lens.Lens' ListVoiceConnectorTerminationCredentialsResponse (Prelude.Maybe [Prelude.Text])+listVoiceConnectorTerminationCredentialsResponse_usernames = Lens.lens (\ListVoiceConnectorTerminationCredentialsResponse' {usernames} -> usernames) (\s@ListVoiceConnectorTerminationCredentialsResponse' {} a -> s {usernames = a} :: ListVoiceConnectorTerminationCredentialsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listVoiceConnectorTerminationCredentialsResponse_httpStatus :: Lens.Lens' ListVoiceConnectorTerminationCredentialsResponse Prelude.Int+listVoiceConnectorTerminationCredentialsResponse_httpStatus = Lens.lens (\ListVoiceConnectorTerminationCredentialsResponse' {httpStatus} -> httpStatus) (\s@ListVoiceConnectorTerminationCredentialsResponse' {} a -> s {httpStatus = a} :: ListVoiceConnectorTerminationCredentialsResponse)++instance+  Prelude.NFData+    ListVoiceConnectorTerminationCredentialsResponse+  where+  rnf+    ListVoiceConnectorTerminationCredentialsResponse' {..} =+      Prelude.rnf usernames+        `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/ListVoiceConnectors.hs view
@@ -0,0 +1,183 @@+{-# 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.Chime.ListVoiceConnectors+-- 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 Amazon Chime Voice Connectors for the administrator\'s AWS+-- account.+module Amazonka.Chime.ListVoiceConnectors+  ( -- * Creating a Request+    ListVoiceConnectors (..),+    newListVoiceConnectors,++    -- * Request Lenses+    listVoiceConnectors_maxResults,+    listVoiceConnectors_nextToken,++    -- * Destructuring the Response+    ListVoiceConnectorsResponse (..),+    newListVoiceConnectorsResponse,++    -- * Response Lenses+    listVoiceConnectorsResponse_nextToken,+    listVoiceConnectorsResponse_voiceConnectors,+    listVoiceConnectorsResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newListVoiceConnectors' smart constructor.+data ListVoiceConnectors = ListVoiceConnectors'+  { -- | 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+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListVoiceConnectors' 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', 'listVoiceConnectors_maxResults' - The maximum number of results to return in a single call.+--+-- 'nextToken', 'listVoiceConnectors_nextToken' - The token to use to retrieve the next page of results.+newListVoiceConnectors ::+  ListVoiceConnectors+newListVoiceConnectors =+  ListVoiceConnectors'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The maximum number of results to return in a single call.+listVoiceConnectors_maxResults :: Lens.Lens' ListVoiceConnectors (Prelude.Maybe Prelude.Natural)+listVoiceConnectors_maxResults = Lens.lens (\ListVoiceConnectors' {maxResults} -> maxResults) (\s@ListVoiceConnectors' {} a -> s {maxResults = a} :: ListVoiceConnectors)++-- | The token to use to retrieve the next page of results.+listVoiceConnectors_nextToken :: Lens.Lens' ListVoiceConnectors (Prelude.Maybe Prelude.Text)+listVoiceConnectors_nextToken = Lens.lens (\ListVoiceConnectors' {nextToken} -> nextToken) (\s@ListVoiceConnectors' {} a -> s {nextToken = a} :: ListVoiceConnectors)++instance Core.AWSRequest ListVoiceConnectors where+  type+    AWSResponse ListVoiceConnectors =+      ListVoiceConnectorsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListVoiceConnectorsResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> ( x+                            Data..?> "VoiceConnectors"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListVoiceConnectors where+  hashWithSalt _salt ListVoiceConnectors' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListVoiceConnectors where+  rnf ListVoiceConnectors' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListVoiceConnectors where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ListVoiceConnectors where+  toPath = Prelude.const "/voice-connectors"++instance Data.ToQuery ListVoiceConnectors where+  toQuery ListVoiceConnectors' {..} =+    Prelude.mconcat+      [ "max-results" Data.=: maxResults,+        "next-token" Data.=: nextToken+      ]++-- | /See:/ 'newListVoiceConnectorsResponse' smart constructor.+data ListVoiceConnectorsResponse = ListVoiceConnectorsResponse'+  { -- | The token to use to retrieve the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The details of the Amazon Chime Voice Connectors.+    voiceConnectors :: Prelude.Maybe [VoiceConnector],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListVoiceConnectorsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listVoiceConnectorsResponse_nextToken' - The token to use to retrieve the next page of results.+--+-- 'voiceConnectors', 'listVoiceConnectorsResponse_voiceConnectors' - The details of the Amazon Chime Voice Connectors.+--+-- 'httpStatus', 'listVoiceConnectorsResponse_httpStatus' - The response's http status code.+newListVoiceConnectorsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListVoiceConnectorsResponse+newListVoiceConnectorsResponse pHttpStatus_ =+  ListVoiceConnectorsResponse'+    { nextToken =+        Prelude.Nothing,+      voiceConnectors = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The token to use to retrieve the next page of results.+listVoiceConnectorsResponse_nextToken :: Lens.Lens' ListVoiceConnectorsResponse (Prelude.Maybe Prelude.Text)+listVoiceConnectorsResponse_nextToken = Lens.lens (\ListVoiceConnectorsResponse' {nextToken} -> nextToken) (\s@ListVoiceConnectorsResponse' {} a -> s {nextToken = a} :: ListVoiceConnectorsResponse)++-- | The details of the Amazon Chime Voice Connectors.+listVoiceConnectorsResponse_voiceConnectors :: Lens.Lens' ListVoiceConnectorsResponse (Prelude.Maybe [VoiceConnector])+listVoiceConnectorsResponse_voiceConnectors = Lens.lens (\ListVoiceConnectorsResponse' {voiceConnectors} -> voiceConnectors) (\s@ListVoiceConnectorsResponse' {} a -> s {voiceConnectors = a} :: ListVoiceConnectorsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listVoiceConnectorsResponse_httpStatus :: Lens.Lens' ListVoiceConnectorsResponse Prelude.Int+listVoiceConnectorsResponse_httpStatus = Lens.lens (\ListVoiceConnectorsResponse' {httpStatus} -> httpStatus) (\s@ListVoiceConnectorsResponse' {} a -> s {httpStatus = a} :: ListVoiceConnectorsResponse)++instance Prelude.NFData ListVoiceConnectorsResponse where+  rnf ListVoiceConnectorsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf voiceConnectors+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/LogoutUser.hs view
@@ -0,0 +1,161 @@+{-# 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.Chime.LogoutUser+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Logs out the specified user from all of the devices they are currently+-- logged into.+module Amazonka.Chime.LogoutUser+  ( -- * Creating a Request+    LogoutUser (..),+    newLogoutUser,++    -- * Request Lenses+    logoutUser_accountId,+    logoutUser_userId,++    -- * Destructuring the Response+    LogoutUserResponse (..),+    newLogoutUserResponse,++    -- * Response Lenses+    logoutUserResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newLogoutUser' smart constructor.+data LogoutUser = LogoutUser'+  { -- | The Amazon Chime account ID.+    accountId :: Prelude.Text,+    -- | The user ID.+    userId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LogoutUser' 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:+--+-- 'accountId', 'logoutUser_accountId' - The Amazon Chime account ID.+--+-- 'userId', 'logoutUser_userId' - The user ID.+newLogoutUser ::+  -- | 'accountId'+  Prelude.Text ->+  -- | 'userId'+  Prelude.Text ->+  LogoutUser+newLogoutUser pAccountId_ pUserId_ =+  LogoutUser'+    { accountId = pAccountId_,+      userId = pUserId_+    }++-- | The Amazon Chime account ID.+logoutUser_accountId :: Lens.Lens' LogoutUser Prelude.Text+logoutUser_accountId = Lens.lens (\LogoutUser' {accountId} -> accountId) (\s@LogoutUser' {} a -> s {accountId = a} :: LogoutUser)++-- | The user ID.+logoutUser_userId :: Lens.Lens' LogoutUser Prelude.Text+logoutUser_userId = Lens.lens (\LogoutUser' {userId} -> userId) (\s@LogoutUser' {} a -> s {userId = a} :: LogoutUser)++instance Core.AWSRequest LogoutUser where+  type AWSResponse LogoutUser = LogoutUserResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          LogoutUserResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable LogoutUser where+  hashWithSalt _salt LogoutUser' {..} =+    _salt+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` userId++instance Prelude.NFData LogoutUser where+  rnf LogoutUser' {..} =+    Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf userId++instance Data.ToHeaders LogoutUser where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON LogoutUser where+  toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath LogoutUser where+  toPath LogoutUser' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS accountId,+        "/users/",+        Data.toBS userId+      ]++instance Data.ToQuery LogoutUser where+  toQuery =+    Prelude.const+      (Prelude.mconcat ["operation=logout"])++-- | /See:/ 'newLogoutUserResponse' smart constructor.+data LogoutUserResponse = LogoutUserResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LogoutUserResponse' 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', 'logoutUserResponse_httpStatus' - The response's http status code.+newLogoutUserResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  LogoutUserResponse+newLogoutUserResponse pHttpStatus_ =+  LogoutUserResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+logoutUserResponse_httpStatus :: Lens.Lens' LogoutUserResponse Prelude.Int+logoutUserResponse_httpStatus = Lens.lens (\LogoutUserResponse' {httpStatus} -> httpStatus) (\s@LogoutUserResponse' {} a -> s {httpStatus = a} :: LogoutUserResponse)++instance Prelude.NFData LogoutUserResponse where+  rnf LogoutUserResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/Chime/PutAppInstanceRetentionSettings.hs view
@@ -0,0 +1,218 @@+{-# 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.Chime.PutAppInstanceRetentionSettings+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Sets the amount of time in days that a given @AppInstance@ retains data.+module Amazonka.Chime.PutAppInstanceRetentionSettings+  ( -- * Creating a Request+    PutAppInstanceRetentionSettings (..),+    newPutAppInstanceRetentionSettings,++    -- * Request Lenses+    putAppInstanceRetentionSettings_appInstanceArn,+    putAppInstanceRetentionSettings_appInstanceRetentionSettings,++    -- * Destructuring the Response+    PutAppInstanceRetentionSettingsResponse (..),+    newPutAppInstanceRetentionSettingsResponse,++    -- * Response Lenses+    putAppInstanceRetentionSettingsResponse_appInstanceRetentionSettings,+    putAppInstanceRetentionSettingsResponse_initiateDeletionTimestamp,+    putAppInstanceRetentionSettingsResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newPutAppInstanceRetentionSettings' smart constructor.+data PutAppInstanceRetentionSettings = PutAppInstanceRetentionSettings'+  { -- | The ARN of the @AppInstance@.+    appInstanceArn :: Prelude.Text,+    -- | The time in days to retain data. Data type: number.+    appInstanceRetentionSettings :: AppInstanceRetentionSettings+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutAppInstanceRetentionSettings' 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:+--+-- 'appInstanceArn', 'putAppInstanceRetentionSettings_appInstanceArn' - The ARN of the @AppInstance@.+--+-- 'appInstanceRetentionSettings', 'putAppInstanceRetentionSettings_appInstanceRetentionSettings' - The time in days to retain data. Data type: number.+newPutAppInstanceRetentionSettings ::+  -- | 'appInstanceArn'+  Prelude.Text ->+  -- | 'appInstanceRetentionSettings'+  AppInstanceRetentionSettings ->+  PutAppInstanceRetentionSettings+newPutAppInstanceRetentionSettings+  pAppInstanceArn_+  pAppInstanceRetentionSettings_ =+    PutAppInstanceRetentionSettings'+      { appInstanceArn =+          pAppInstanceArn_,+        appInstanceRetentionSettings =+          pAppInstanceRetentionSettings_+      }++-- | The ARN of the @AppInstance@.+putAppInstanceRetentionSettings_appInstanceArn :: Lens.Lens' PutAppInstanceRetentionSettings Prelude.Text+putAppInstanceRetentionSettings_appInstanceArn = Lens.lens (\PutAppInstanceRetentionSettings' {appInstanceArn} -> appInstanceArn) (\s@PutAppInstanceRetentionSettings' {} a -> s {appInstanceArn = a} :: PutAppInstanceRetentionSettings)++-- | The time in days to retain data. Data type: number.+putAppInstanceRetentionSettings_appInstanceRetentionSettings :: Lens.Lens' PutAppInstanceRetentionSettings AppInstanceRetentionSettings+putAppInstanceRetentionSettings_appInstanceRetentionSettings = Lens.lens (\PutAppInstanceRetentionSettings' {appInstanceRetentionSettings} -> appInstanceRetentionSettings) (\s@PutAppInstanceRetentionSettings' {} a -> s {appInstanceRetentionSettings = a} :: PutAppInstanceRetentionSettings)++instance+  Core.AWSRequest+    PutAppInstanceRetentionSettings+  where+  type+    AWSResponse PutAppInstanceRetentionSettings =+      PutAppInstanceRetentionSettingsResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          PutAppInstanceRetentionSettingsResponse'+            Prelude.<$> (x Data..?> "AppInstanceRetentionSettings")+            Prelude.<*> (x Data..?> "InitiateDeletionTimestamp")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    PutAppInstanceRetentionSettings+  where+  hashWithSalt+    _salt+    PutAppInstanceRetentionSettings' {..} =+      _salt+        `Prelude.hashWithSalt` appInstanceArn+        `Prelude.hashWithSalt` appInstanceRetentionSettings++instance+  Prelude.NFData+    PutAppInstanceRetentionSettings+  where+  rnf PutAppInstanceRetentionSettings' {..} =+    Prelude.rnf appInstanceArn+      `Prelude.seq` Prelude.rnf appInstanceRetentionSettings++instance+  Data.ToHeaders+    PutAppInstanceRetentionSettings+  where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON PutAppInstanceRetentionSettings where+  toJSON PutAppInstanceRetentionSettings' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "AppInstanceRetentionSettings"+                  Data..= appInstanceRetentionSettings+              )+          ]+      )++instance Data.ToPath PutAppInstanceRetentionSettings where+  toPath PutAppInstanceRetentionSettings' {..} =+    Prelude.mconcat+      [ "/app-instances/",+        Data.toBS appInstanceArn,+        "/retention-settings"+      ]++instance Data.ToQuery PutAppInstanceRetentionSettings where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newPutAppInstanceRetentionSettingsResponse' smart constructor.+data PutAppInstanceRetentionSettingsResponse = PutAppInstanceRetentionSettingsResponse'+  { -- | The time in days to retain data. Data type: number.+    appInstanceRetentionSettings :: Prelude.Maybe AppInstanceRetentionSettings,+    -- | The time at which the API deletes data.+    initiateDeletionTimestamp :: Prelude.Maybe Data.POSIX,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutAppInstanceRetentionSettingsResponse' 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:+--+-- 'appInstanceRetentionSettings', 'putAppInstanceRetentionSettingsResponse_appInstanceRetentionSettings' - The time in days to retain data. Data type: number.+--+-- 'initiateDeletionTimestamp', 'putAppInstanceRetentionSettingsResponse_initiateDeletionTimestamp' - The time at which the API deletes data.+--+-- 'httpStatus', 'putAppInstanceRetentionSettingsResponse_httpStatus' - The response's http status code.+newPutAppInstanceRetentionSettingsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  PutAppInstanceRetentionSettingsResponse+newPutAppInstanceRetentionSettingsResponse+  pHttpStatus_ =+    PutAppInstanceRetentionSettingsResponse'+      { appInstanceRetentionSettings =+          Prelude.Nothing,+        initiateDeletionTimestamp =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The time in days to retain data. Data type: number.+putAppInstanceRetentionSettingsResponse_appInstanceRetentionSettings :: Lens.Lens' PutAppInstanceRetentionSettingsResponse (Prelude.Maybe AppInstanceRetentionSettings)+putAppInstanceRetentionSettingsResponse_appInstanceRetentionSettings = Lens.lens (\PutAppInstanceRetentionSettingsResponse' {appInstanceRetentionSettings} -> appInstanceRetentionSettings) (\s@PutAppInstanceRetentionSettingsResponse' {} a -> s {appInstanceRetentionSettings = a} :: PutAppInstanceRetentionSettingsResponse)++-- | The time at which the API deletes data.+putAppInstanceRetentionSettingsResponse_initiateDeletionTimestamp :: Lens.Lens' PutAppInstanceRetentionSettingsResponse (Prelude.Maybe Prelude.UTCTime)+putAppInstanceRetentionSettingsResponse_initiateDeletionTimestamp = Lens.lens (\PutAppInstanceRetentionSettingsResponse' {initiateDeletionTimestamp} -> initiateDeletionTimestamp) (\s@PutAppInstanceRetentionSettingsResponse' {} a -> s {initiateDeletionTimestamp = a} :: PutAppInstanceRetentionSettingsResponse) Prelude.. Lens.mapping Data._Time++-- | The response's http status code.+putAppInstanceRetentionSettingsResponse_httpStatus :: Lens.Lens' PutAppInstanceRetentionSettingsResponse Prelude.Int+putAppInstanceRetentionSettingsResponse_httpStatus = Lens.lens (\PutAppInstanceRetentionSettingsResponse' {httpStatus} -> httpStatus) (\s@PutAppInstanceRetentionSettingsResponse' {} a -> s {httpStatus = a} :: PutAppInstanceRetentionSettingsResponse)++instance+  Prelude.NFData+    PutAppInstanceRetentionSettingsResponse+  where+  rnf PutAppInstanceRetentionSettingsResponse' {..} =+    Prelude.rnf appInstanceRetentionSettings+      `Prelude.seq` Prelude.rnf initiateDeletionTimestamp+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/PutAppInstanceStreamingConfigurations.hs view
@@ -0,0 +1,217 @@+{-# 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.Chime.PutAppInstanceStreamingConfigurations+-- 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 data streaming configurations of an @AppInstance@.+module Amazonka.Chime.PutAppInstanceStreamingConfigurations+  ( -- * Creating a Request+    PutAppInstanceStreamingConfigurations (..),+    newPutAppInstanceStreamingConfigurations,++    -- * Request Lenses+    putAppInstanceStreamingConfigurations_appInstanceArn,+    putAppInstanceStreamingConfigurations_appInstanceStreamingConfigurations,++    -- * Destructuring the Response+    PutAppInstanceStreamingConfigurationsResponse (..),+    newPutAppInstanceStreamingConfigurationsResponse,++    -- * Response Lenses+    putAppInstanceStreamingConfigurationsResponse_appInstanceStreamingConfigurations,+    putAppInstanceStreamingConfigurationsResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newPutAppInstanceStreamingConfigurations' smart constructor.+data PutAppInstanceStreamingConfigurations = PutAppInstanceStreamingConfigurations'+  { -- | The ARN of the @AppInstance@.+    appInstanceArn :: Prelude.Text,+    -- | The streaming configurations set for an @AppInstance@.+    appInstanceStreamingConfigurations :: Prelude.NonEmpty AppInstanceStreamingConfiguration+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutAppInstanceStreamingConfigurations' 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:+--+-- 'appInstanceArn', 'putAppInstanceStreamingConfigurations_appInstanceArn' - The ARN of the @AppInstance@.+--+-- 'appInstanceStreamingConfigurations', 'putAppInstanceStreamingConfigurations_appInstanceStreamingConfigurations' - The streaming configurations set for an @AppInstance@.+newPutAppInstanceStreamingConfigurations ::+  -- | 'appInstanceArn'+  Prelude.Text ->+  -- | 'appInstanceStreamingConfigurations'+  Prelude.NonEmpty AppInstanceStreamingConfiguration ->+  PutAppInstanceStreamingConfigurations+newPutAppInstanceStreamingConfigurations+  pAppInstanceArn_+  pAppInstanceStreamingConfigurations_ =+    PutAppInstanceStreamingConfigurations'+      { appInstanceArn =+          pAppInstanceArn_,+        appInstanceStreamingConfigurations =+          Lens.coerced+            Lens.# pAppInstanceStreamingConfigurations_+      }++-- | The ARN of the @AppInstance@.+putAppInstanceStreamingConfigurations_appInstanceArn :: Lens.Lens' PutAppInstanceStreamingConfigurations Prelude.Text+putAppInstanceStreamingConfigurations_appInstanceArn = Lens.lens (\PutAppInstanceStreamingConfigurations' {appInstanceArn} -> appInstanceArn) (\s@PutAppInstanceStreamingConfigurations' {} a -> s {appInstanceArn = a} :: PutAppInstanceStreamingConfigurations)++-- | The streaming configurations set for an @AppInstance@.+putAppInstanceStreamingConfigurations_appInstanceStreamingConfigurations :: Lens.Lens' PutAppInstanceStreamingConfigurations (Prelude.NonEmpty AppInstanceStreamingConfiguration)+putAppInstanceStreamingConfigurations_appInstanceStreamingConfigurations = Lens.lens (\PutAppInstanceStreamingConfigurations' {appInstanceStreamingConfigurations} -> appInstanceStreamingConfigurations) (\s@PutAppInstanceStreamingConfigurations' {} a -> s {appInstanceStreamingConfigurations = a} :: PutAppInstanceStreamingConfigurations) Prelude.. Lens.coerced++instance+  Core.AWSRequest+    PutAppInstanceStreamingConfigurations+  where+  type+    AWSResponse+      PutAppInstanceStreamingConfigurations =+      PutAppInstanceStreamingConfigurationsResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          PutAppInstanceStreamingConfigurationsResponse'+            Prelude.<$> (x Data..?> "AppInstanceStreamingConfigurations")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    PutAppInstanceStreamingConfigurations+  where+  hashWithSalt+    _salt+    PutAppInstanceStreamingConfigurations' {..} =+      _salt+        `Prelude.hashWithSalt` appInstanceArn+        `Prelude.hashWithSalt` appInstanceStreamingConfigurations++instance+  Prelude.NFData+    PutAppInstanceStreamingConfigurations+  where+  rnf PutAppInstanceStreamingConfigurations' {..} =+    Prelude.rnf appInstanceArn+      `Prelude.seq` Prelude.rnf appInstanceStreamingConfigurations++instance+  Data.ToHeaders+    PutAppInstanceStreamingConfigurations+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToJSON+    PutAppInstanceStreamingConfigurations+  where+  toJSON PutAppInstanceStreamingConfigurations' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "AppInstanceStreamingConfigurations"+                  Data..= appInstanceStreamingConfigurations+              )+          ]+      )++instance+  Data.ToPath+    PutAppInstanceStreamingConfigurations+  where+  toPath PutAppInstanceStreamingConfigurations' {..} =+    Prelude.mconcat+      [ "/app-instances/",+        Data.toBS appInstanceArn,+        "/streaming-configurations"+      ]++instance+  Data.ToQuery+    PutAppInstanceStreamingConfigurations+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newPutAppInstanceStreamingConfigurationsResponse' smart constructor.+data PutAppInstanceStreamingConfigurationsResponse = PutAppInstanceStreamingConfigurationsResponse'+  { -- | The streaming configurations of an @AppInstance@.+    appInstanceStreamingConfigurations :: Prelude.Maybe (Prelude.NonEmpty AppInstanceStreamingConfiguration),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutAppInstanceStreamingConfigurationsResponse' 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:+--+-- 'appInstanceStreamingConfigurations', 'putAppInstanceStreamingConfigurationsResponse_appInstanceStreamingConfigurations' - The streaming configurations of an @AppInstance@.+--+-- 'httpStatus', 'putAppInstanceStreamingConfigurationsResponse_httpStatus' - The response's http status code.+newPutAppInstanceStreamingConfigurationsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  PutAppInstanceStreamingConfigurationsResponse+newPutAppInstanceStreamingConfigurationsResponse+  pHttpStatus_ =+    PutAppInstanceStreamingConfigurationsResponse'+      { appInstanceStreamingConfigurations =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The streaming configurations of an @AppInstance@.+putAppInstanceStreamingConfigurationsResponse_appInstanceStreamingConfigurations :: Lens.Lens' PutAppInstanceStreamingConfigurationsResponse (Prelude.Maybe (Prelude.NonEmpty AppInstanceStreamingConfiguration))+putAppInstanceStreamingConfigurationsResponse_appInstanceStreamingConfigurations = Lens.lens (\PutAppInstanceStreamingConfigurationsResponse' {appInstanceStreamingConfigurations} -> appInstanceStreamingConfigurations) (\s@PutAppInstanceStreamingConfigurationsResponse' {} a -> s {appInstanceStreamingConfigurations = a} :: PutAppInstanceStreamingConfigurationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+putAppInstanceStreamingConfigurationsResponse_httpStatus :: Lens.Lens' PutAppInstanceStreamingConfigurationsResponse Prelude.Int+putAppInstanceStreamingConfigurationsResponse_httpStatus = Lens.lens (\PutAppInstanceStreamingConfigurationsResponse' {httpStatus} -> httpStatus) (\s@PutAppInstanceStreamingConfigurationsResponse' {} a -> s {httpStatus = a} :: PutAppInstanceStreamingConfigurationsResponse)++instance+  Prelude.NFData+    PutAppInstanceStreamingConfigurationsResponse+  where+  rnf+    PutAppInstanceStreamingConfigurationsResponse' {..} =+      Prelude.rnf appInstanceStreamingConfigurations+        `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/PutEventsConfiguration.hs view
@@ -0,0 +1,214 @@+{-# 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.Chime.PutEventsConfiguration+-- 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 an events configuration that allows a bot to receive outgoing+-- events sent by Amazon Chime. Choose either an HTTPS endpoint or a Lambda+-- function ARN. For more information, see Bot.+module Amazonka.Chime.PutEventsConfiguration+  ( -- * Creating a Request+    PutEventsConfiguration (..),+    newPutEventsConfiguration,++    -- * Request Lenses+    putEventsConfiguration_lambdaFunctionArn,+    putEventsConfiguration_outboundEventsHTTPSEndpoint,+    putEventsConfiguration_accountId,+    putEventsConfiguration_botId,++    -- * Destructuring the Response+    PutEventsConfigurationResponse (..),+    newPutEventsConfigurationResponse,++    -- * Response Lenses+    putEventsConfigurationResponse_eventsConfiguration,+    putEventsConfigurationResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newPutEventsConfiguration' smart constructor.+data PutEventsConfiguration = PutEventsConfiguration'+  { -- | Lambda function ARN that allows the bot to receive outgoing events.+    lambdaFunctionArn :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | HTTPS endpoint that allows the bot to receive outgoing events.+    outboundEventsHTTPSEndpoint :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The Amazon Chime account ID.+    accountId :: Prelude.Text,+    -- | The bot ID.+    botId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutEventsConfiguration' 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', 'putEventsConfiguration_lambdaFunctionArn' - Lambda function ARN that allows the bot to receive outgoing events.+--+-- 'outboundEventsHTTPSEndpoint', 'putEventsConfiguration_outboundEventsHTTPSEndpoint' - HTTPS endpoint that allows the bot to receive outgoing events.+--+-- 'accountId', 'putEventsConfiguration_accountId' - The Amazon Chime account ID.+--+-- 'botId', 'putEventsConfiguration_botId' - The bot ID.+newPutEventsConfiguration ::+  -- | 'accountId'+  Prelude.Text ->+  -- | 'botId'+  Prelude.Text ->+  PutEventsConfiguration+newPutEventsConfiguration pAccountId_ pBotId_ =+  PutEventsConfiguration'+    { lambdaFunctionArn =+        Prelude.Nothing,+      outboundEventsHTTPSEndpoint = Prelude.Nothing,+      accountId = pAccountId_,+      botId = pBotId_+    }++-- | Lambda function ARN that allows the bot to receive outgoing events.+putEventsConfiguration_lambdaFunctionArn :: Lens.Lens' PutEventsConfiguration (Prelude.Maybe Prelude.Text)+putEventsConfiguration_lambdaFunctionArn = Lens.lens (\PutEventsConfiguration' {lambdaFunctionArn} -> lambdaFunctionArn) (\s@PutEventsConfiguration' {} a -> s {lambdaFunctionArn = a} :: PutEventsConfiguration) Prelude.. Lens.mapping Data._Sensitive++-- | HTTPS endpoint that allows the bot to receive outgoing events.+putEventsConfiguration_outboundEventsHTTPSEndpoint :: Lens.Lens' PutEventsConfiguration (Prelude.Maybe Prelude.Text)+putEventsConfiguration_outboundEventsHTTPSEndpoint = Lens.lens (\PutEventsConfiguration' {outboundEventsHTTPSEndpoint} -> outboundEventsHTTPSEndpoint) (\s@PutEventsConfiguration' {} a -> s {outboundEventsHTTPSEndpoint = a} :: PutEventsConfiguration) Prelude.. Lens.mapping Data._Sensitive++-- | The Amazon Chime account ID.+putEventsConfiguration_accountId :: Lens.Lens' PutEventsConfiguration Prelude.Text+putEventsConfiguration_accountId = Lens.lens (\PutEventsConfiguration' {accountId} -> accountId) (\s@PutEventsConfiguration' {} a -> s {accountId = a} :: PutEventsConfiguration)++-- | The bot ID.+putEventsConfiguration_botId :: Lens.Lens' PutEventsConfiguration Prelude.Text+putEventsConfiguration_botId = Lens.lens (\PutEventsConfiguration' {botId} -> botId) (\s@PutEventsConfiguration' {} a -> s {botId = a} :: PutEventsConfiguration)++instance Core.AWSRequest PutEventsConfiguration where+  type+    AWSResponse PutEventsConfiguration =+      PutEventsConfigurationResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          PutEventsConfigurationResponse'+            Prelude.<$> (x Data..?> "EventsConfiguration")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable PutEventsConfiguration where+  hashWithSalt _salt PutEventsConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` lambdaFunctionArn+      `Prelude.hashWithSalt` outboundEventsHTTPSEndpoint+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` botId++instance Prelude.NFData PutEventsConfiguration where+  rnf PutEventsConfiguration' {..} =+    Prelude.rnf lambdaFunctionArn+      `Prelude.seq` Prelude.rnf outboundEventsHTTPSEndpoint+      `Prelude.seq` Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf botId++instance Data.ToHeaders PutEventsConfiguration where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON PutEventsConfiguration where+  toJSON PutEventsConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("LambdaFunctionArn" Data..=)+              Prelude.<$> lambdaFunctionArn,+            ("OutboundEventsHTTPSEndpoint" Data..=)+              Prelude.<$> outboundEventsHTTPSEndpoint+          ]+      )++instance Data.ToPath PutEventsConfiguration where+  toPath PutEventsConfiguration' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS accountId,+        "/bots/",+        Data.toBS botId,+        "/events-configuration"+      ]++instance Data.ToQuery PutEventsConfiguration where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newPutEventsConfigurationResponse' smart constructor.+data PutEventsConfigurationResponse = PutEventsConfigurationResponse'+  { eventsConfiguration :: Prelude.Maybe EventsConfiguration,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutEventsConfigurationResponse' 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:+--+-- 'eventsConfiguration', 'putEventsConfigurationResponse_eventsConfiguration' - Undocumented member.+--+-- 'httpStatus', 'putEventsConfigurationResponse_httpStatus' - The response's http status code.+newPutEventsConfigurationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  PutEventsConfigurationResponse+newPutEventsConfigurationResponse pHttpStatus_ =+  PutEventsConfigurationResponse'+    { eventsConfiguration =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+putEventsConfigurationResponse_eventsConfiguration :: Lens.Lens' PutEventsConfigurationResponse (Prelude.Maybe EventsConfiguration)+putEventsConfigurationResponse_eventsConfiguration = Lens.lens (\PutEventsConfigurationResponse' {eventsConfiguration} -> eventsConfiguration) (\s@PutEventsConfigurationResponse' {} a -> s {eventsConfiguration = a} :: PutEventsConfigurationResponse)++-- | The response's http status code.+putEventsConfigurationResponse_httpStatus :: Lens.Lens' PutEventsConfigurationResponse Prelude.Int+putEventsConfigurationResponse_httpStatus = Lens.lens (\PutEventsConfigurationResponse' {httpStatus} -> httpStatus) (\s@PutEventsConfigurationResponse' {} a -> s {httpStatus = a} :: PutEventsConfigurationResponse)++instance+  Prelude.NFData+    PutEventsConfigurationResponse+  where+  rnf PutEventsConfigurationResponse' {..} =+    Prelude.rnf eventsConfiguration+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/PutRetentionSettings.hs view
@@ -0,0 +1,208 @@+{-# 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.Chime.PutRetentionSettings+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Puts retention settings for the specified Amazon Chime Enterprise+-- account. We recommend using AWS CloudTrail to monitor usage of this API+-- for your account. For more information, see+-- <https://docs.aws.amazon.com/chime/latest/ag/cloudtrail.html Logging Amazon Chime API Calls with AWS CloudTrail>+-- in the /Amazon Chime Administration Guide/.+--+-- To turn off existing retention settings, remove the number of days from+-- the corresponding __RetentionDays__ field in the __RetentionSettings__+-- object. For more information about retention settings, see+-- <https://docs.aws.amazon.com/chime/latest/ag/chat-retention.html Managing Chat Retention Policies>+-- in the /Amazon Chime Administration Guide/.+module Amazonka.Chime.PutRetentionSettings+  ( -- * Creating a Request+    PutRetentionSettings (..),+    newPutRetentionSettings,++    -- * Request Lenses+    putRetentionSettings_accountId,+    putRetentionSettings_retentionSettings,++    -- * Destructuring the Response+    PutRetentionSettingsResponse (..),+    newPutRetentionSettingsResponse,++    -- * Response Lenses+    putRetentionSettingsResponse_initiateDeletionTimestamp,+    putRetentionSettingsResponse_retentionSettings,+    putRetentionSettingsResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newPutRetentionSettings' smart constructor.+data PutRetentionSettings = PutRetentionSettings'+  { -- | The Amazon Chime account ID.+    accountId :: Prelude.Text,+    -- | The retention settings.+    retentionSettings :: RetentionSettings+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutRetentionSettings' 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:+--+-- 'accountId', 'putRetentionSettings_accountId' - The Amazon Chime account ID.+--+-- 'retentionSettings', 'putRetentionSettings_retentionSettings' - The retention settings.+newPutRetentionSettings ::+  -- | 'accountId'+  Prelude.Text ->+  -- | 'retentionSettings'+  RetentionSettings ->+  PutRetentionSettings+newPutRetentionSettings+  pAccountId_+  pRetentionSettings_ =+    PutRetentionSettings'+      { accountId = pAccountId_,+        retentionSettings = pRetentionSettings_+      }++-- | The Amazon Chime account ID.+putRetentionSettings_accountId :: Lens.Lens' PutRetentionSettings Prelude.Text+putRetentionSettings_accountId = Lens.lens (\PutRetentionSettings' {accountId} -> accountId) (\s@PutRetentionSettings' {} a -> s {accountId = a} :: PutRetentionSettings)++-- | The retention settings.+putRetentionSettings_retentionSettings :: Lens.Lens' PutRetentionSettings RetentionSettings+putRetentionSettings_retentionSettings = Lens.lens (\PutRetentionSettings' {retentionSettings} -> retentionSettings) (\s@PutRetentionSettings' {} a -> s {retentionSettings = a} :: PutRetentionSettings)++instance Core.AWSRequest PutRetentionSettings where+  type+    AWSResponse PutRetentionSettings =+      PutRetentionSettingsResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          PutRetentionSettingsResponse'+            Prelude.<$> (x Data..?> "InitiateDeletionTimestamp")+            Prelude.<*> (x Data..?> "RetentionSettings")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable PutRetentionSettings where+  hashWithSalt _salt PutRetentionSettings' {..} =+    _salt+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` retentionSettings++instance Prelude.NFData PutRetentionSettings where+  rnf PutRetentionSettings' {..} =+    Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf retentionSettings++instance Data.ToHeaders PutRetentionSettings where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON PutRetentionSettings where+  toJSON PutRetentionSettings' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("RetentionSettings" Data..= retentionSettings)+          ]+      )++instance Data.ToPath PutRetentionSettings where+  toPath PutRetentionSettings' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS accountId,+        "/retention-settings"+      ]++instance Data.ToQuery PutRetentionSettings where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newPutRetentionSettingsResponse' smart constructor.+data PutRetentionSettingsResponse = PutRetentionSettingsResponse'+  { -- | The timestamp representing the time at which the specified items are+    -- permanently deleted, in ISO 8601 format.+    initiateDeletionTimestamp :: Prelude.Maybe Data.ISO8601,+    -- | The retention settings.+    retentionSettings :: Prelude.Maybe RetentionSettings,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutRetentionSettingsResponse' 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:+--+-- 'initiateDeletionTimestamp', 'putRetentionSettingsResponse_initiateDeletionTimestamp' - The timestamp representing the time at which the specified items are+-- permanently deleted, in ISO 8601 format.+--+-- 'retentionSettings', 'putRetentionSettingsResponse_retentionSettings' - The retention settings.+--+-- 'httpStatus', 'putRetentionSettingsResponse_httpStatus' - The response's http status code.+newPutRetentionSettingsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  PutRetentionSettingsResponse+newPutRetentionSettingsResponse pHttpStatus_ =+  PutRetentionSettingsResponse'+    { initiateDeletionTimestamp =+        Prelude.Nothing,+      retentionSettings = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The timestamp representing the time at which the specified items are+-- permanently deleted, in ISO 8601 format.+putRetentionSettingsResponse_initiateDeletionTimestamp :: Lens.Lens' PutRetentionSettingsResponse (Prelude.Maybe Prelude.UTCTime)+putRetentionSettingsResponse_initiateDeletionTimestamp = Lens.lens (\PutRetentionSettingsResponse' {initiateDeletionTimestamp} -> initiateDeletionTimestamp) (\s@PutRetentionSettingsResponse' {} a -> s {initiateDeletionTimestamp = a} :: PutRetentionSettingsResponse) Prelude.. Lens.mapping Data._Time++-- | The retention settings.+putRetentionSettingsResponse_retentionSettings :: Lens.Lens' PutRetentionSettingsResponse (Prelude.Maybe RetentionSettings)+putRetentionSettingsResponse_retentionSettings = Lens.lens (\PutRetentionSettingsResponse' {retentionSettings} -> retentionSettings) (\s@PutRetentionSettingsResponse' {} a -> s {retentionSettings = a} :: PutRetentionSettingsResponse)++-- | The response's http status code.+putRetentionSettingsResponse_httpStatus :: Lens.Lens' PutRetentionSettingsResponse Prelude.Int+putRetentionSettingsResponse_httpStatus = Lens.lens (\PutRetentionSettingsResponse' {httpStatus} -> httpStatus) (\s@PutRetentionSettingsResponse' {} a -> s {httpStatus = a} :: PutRetentionSettingsResponse)++instance Prelude.NFData PutRetentionSettingsResponse where+  rnf PutRetentionSettingsResponse' {..} =+    Prelude.rnf initiateDeletionTimestamp+      `Prelude.seq` Prelude.rnf retentionSettings+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/PutSipMediaApplicationLoggingConfiguration.hs view
@@ -0,0 +1,216 @@+{-# 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.Chime.PutSipMediaApplicationLoggingConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the logging configuration for the specified SIP media+-- application.+module Amazonka.Chime.PutSipMediaApplicationLoggingConfiguration+  ( -- * Creating a Request+    PutSipMediaApplicationLoggingConfiguration (..),+    newPutSipMediaApplicationLoggingConfiguration,++    -- * Request Lenses+    putSipMediaApplicationLoggingConfiguration_sipMediaApplicationLoggingConfiguration,+    putSipMediaApplicationLoggingConfiguration_sipMediaApplicationId,++    -- * Destructuring the Response+    PutSipMediaApplicationLoggingConfigurationResponse (..),+    newPutSipMediaApplicationLoggingConfigurationResponse,++    -- * Response Lenses+    putSipMediaApplicationLoggingConfigurationResponse_sipMediaApplicationLoggingConfiguration,+    putSipMediaApplicationLoggingConfigurationResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newPutSipMediaApplicationLoggingConfiguration' smart constructor.+data PutSipMediaApplicationLoggingConfiguration = PutSipMediaApplicationLoggingConfiguration'+  { -- | The actual logging configuration.+    sipMediaApplicationLoggingConfiguration :: Prelude.Maybe SipMediaApplicationLoggingConfiguration,+    -- | The SIP media application ID.+    sipMediaApplicationId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutSipMediaApplicationLoggingConfiguration' 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:+--+-- 'sipMediaApplicationLoggingConfiguration', 'putSipMediaApplicationLoggingConfiguration_sipMediaApplicationLoggingConfiguration' - The actual logging configuration.+--+-- 'sipMediaApplicationId', 'putSipMediaApplicationLoggingConfiguration_sipMediaApplicationId' - The SIP media application ID.+newPutSipMediaApplicationLoggingConfiguration ::+  -- | 'sipMediaApplicationId'+  Prelude.Text ->+  PutSipMediaApplicationLoggingConfiguration+newPutSipMediaApplicationLoggingConfiguration+  pSipMediaApplicationId_ =+    PutSipMediaApplicationLoggingConfiguration'+      { sipMediaApplicationLoggingConfiguration =+          Prelude.Nothing,+        sipMediaApplicationId =+          pSipMediaApplicationId_+      }++-- | The actual logging configuration.+putSipMediaApplicationLoggingConfiguration_sipMediaApplicationLoggingConfiguration :: Lens.Lens' PutSipMediaApplicationLoggingConfiguration (Prelude.Maybe SipMediaApplicationLoggingConfiguration)+putSipMediaApplicationLoggingConfiguration_sipMediaApplicationLoggingConfiguration = Lens.lens (\PutSipMediaApplicationLoggingConfiguration' {sipMediaApplicationLoggingConfiguration} -> sipMediaApplicationLoggingConfiguration) (\s@PutSipMediaApplicationLoggingConfiguration' {} a -> s {sipMediaApplicationLoggingConfiguration = a} :: PutSipMediaApplicationLoggingConfiguration)++-- | The SIP media application ID.+putSipMediaApplicationLoggingConfiguration_sipMediaApplicationId :: Lens.Lens' PutSipMediaApplicationLoggingConfiguration Prelude.Text+putSipMediaApplicationLoggingConfiguration_sipMediaApplicationId = Lens.lens (\PutSipMediaApplicationLoggingConfiguration' {sipMediaApplicationId} -> sipMediaApplicationId) (\s@PutSipMediaApplicationLoggingConfiguration' {} a -> s {sipMediaApplicationId = a} :: PutSipMediaApplicationLoggingConfiguration)++instance+  Core.AWSRequest+    PutSipMediaApplicationLoggingConfiguration+  where+  type+    AWSResponse+      PutSipMediaApplicationLoggingConfiguration =+      PutSipMediaApplicationLoggingConfigurationResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          PutSipMediaApplicationLoggingConfigurationResponse'+            Prelude.<$> ( x+                            Data..?> "SipMediaApplicationLoggingConfiguration"+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    PutSipMediaApplicationLoggingConfiguration+  where+  hashWithSalt+    _salt+    PutSipMediaApplicationLoggingConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` sipMediaApplicationLoggingConfiguration+        `Prelude.hashWithSalt` sipMediaApplicationId++instance+  Prelude.NFData+    PutSipMediaApplicationLoggingConfiguration+  where+  rnf PutSipMediaApplicationLoggingConfiguration' {..} =+    Prelude.rnf sipMediaApplicationLoggingConfiguration+      `Prelude.seq` Prelude.rnf sipMediaApplicationId++instance+  Data.ToHeaders+    PutSipMediaApplicationLoggingConfiguration+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToJSON+    PutSipMediaApplicationLoggingConfiguration+  where+  toJSON+    PutSipMediaApplicationLoggingConfiguration' {..} =+      Data.object+        ( Prelude.catMaybes+            [ ("SipMediaApplicationLoggingConfiguration" Data..=)+                Prelude.<$> sipMediaApplicationLoggingConfiguration+            ]+        )++instance+  Data.ToPath+    PutSipMediaApplicationLoggingConfiguration+  where+  toPath+    PutSipMediaApplicationLoggingConfiguration' {..} =+      Prelude.mconcat+        [ "/sip-media-applications/",+          Data.toBS sipMediaApplicationId,+          "/logging-configuration"+        ]++instance+  Data.ToQuery+    PutSipMediaApplicationLoggingConfiguration+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newPutSipMediaApplicationLoggingConfigurationResponse' smart constructor.+data PutSipMediaApplicationLoggingConfigurationResponse = PutSipMediaApplicationLoggingConfigurationResponse'+  { sipMediaApplicationLoggingConfiguration :: Prelude.Maybe SipMediaApplicationLoggingConfiguration,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutSipMediaApplicationLoggingConfigurationResponse' 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:+--+-- 'sipMediaApplicationLoggingConfiguration', 'putSipMediaApplicationLoggingConfigurationResponse_sipMediaApplicationLoggingConfiguration' - Undocumented member.+--+-- 'httpStatus', 'putSipMediaApplicationLoggingConfigurationResponse_httpStatus' - The response's http status code.+newPutSipMediaApplicationLoggingConfigurationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  PutSipMediaApplicationLoggingConfigurationResponse+newPutSipMediaApplicationLoggingConfigurationResponse+  pHttpStatus_ =+    PutSipMediaApplicationLoggingConfigurationResponse'+      { sipMediaApplicationLoggingConfiguration =+          Prelude.Nothing,+        httpStatus =+          pHttpStatus_+      }++-- | Undocumented member.+putSipMediaApplicationLoggingConfigurationResponse_sipMediaApplicationLoggingConfiguration :: Lens.Lens' PutSipMediaApplicationLoggingConfigurationResponse (Prelude.Maybe SipMediaApplicationLoggingConfiguration)+putSipMediaApplicationLoggingConfigurationResponse_sipMediaApplicationLoggingConfiguration = Lens.lens (\PutSipMediaApplicationLoggingConfigurationResponse' {sipMediaApplicationLoggingConfiguration} -> sipMediaApplicationLoggingConfiguration) (\s@PutSipMediaApplicationLoggingConfigurationResponse' {} a -> s {sipMediaApplicationLoggingConfiguration = a} :: PutSipMediaApplicationLoggingConfigurationResponse)++-- | The response's http status code.+putSipMediaApplicationLoggingConfigurationResponse_httpStatus :: Lens.Lens' PutSipMediaApplicationLoggingConfigurationResponse Prelude.Int+putSipMediaApplicationLoggingConfigurationResponse_httpStatus = Lens.lens (\PutSipMediaApplicationLoggingConfigurationResponse' {httpStatus} -> httpStatus) (\s@PutSipMediaApplicationLoggingConfigurationResponse' {} a -> s {httpStatus = a} :: PutSipMediaApplicationLoggingConfigurationResponse)++instance+  Prelude.NFData+    PutSipMediaApplicationLoggingConfigurationResponse+  where+  rnf+    PutSipMediaApplicationLoggingConfigurationResponse' {..} =+      Prelude.rnf sipMediaApplicationLoggingConfiguration+        `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/PutVoiceConnectorEmergencyCallingConfiguration.hs view
@@ -0,0 +1,223 @@+{-# 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.Chime.PutVoiceConnectorEmergencyCallingConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Puts emergency calling configuration details to the specified Amazon+-- Chime Voice Connector, such as emergency phone numbers and calling+-- countries. Origination and termination settings must be enabled for the+-- Amazon Chime Voice Connector before emergency calling can be configured.+module Amazonka.Chime.PutVoiceConnectorEmergencyCallingConfiguration+  ( -- * Creating a Request+    PutVoiceConnectorEmergencyCallingConfiguration (..),+    newPutVoiceConnectorEmergencyCallingConfiguration,++    -- * Request Lenses+    putVoiceConnectorEmergencyCallingConfiguration_voiceConnectorId,+    putVoiceConnectorEmergencyCallingConfiguration_emergencyCallingConfiguration,++    -- * Destructuring the Response+    PutVoiceConnectorEmergencyCallingConfigurationResponse (..),+    newPutVoiceConnectorEmergencyCallingConfigurationResponse,++    -- * Response Lenses+    putVoiceConnectorEmergencyCallingConfigurationResponse_emergencyCallingConfiguration,+    putVoiceConnectorEmergencyCallingConfigurationResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newPutVoiceConnectorEmergencyCallingConfiguration' smart constructor.+data PutVoiceConnectorEmergencyCallingConfiguration = PutVoiceConnectorEmergencyCallingConfiguration'+  { -- | The Amazon Chime Voice Connector ID.+    voiceConnectorId :: Prelude.Text,+    -- | The emergency calling configuration details.+    emergencyCallingConfiguration :: EmergencyCallingConfiguration+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutVoiceConnectorEmergencyCallingConfiguration' 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:+--+-- 'voiceConnectorId', 'putVoiceConnectorEmergencyCallingConfiguration_voiceConnectorId' - The Amazon Chime Voice Connector ID.+--+-- 'emergencyCallingConfiguration', 'putVoiceConnectorEmergencyCallingConfiguration_emergencyCallingConfiguration' - The emergency calling configuration details.+newPutVoiceConnectorEmergencyCallingConfiguration ::+  -- | 'voiceConnectorId'+  Prelude.Text ->+  -- | 'emergencyCallingConfiguration'+  EmergencyCallingConfiguration ->+  PutVoiceConnectorEmergencyCallingConfiguration+newPutVoiceConnectorEmergencyCallingConfiguration+  pVoiceConnectorId_+  pEmergencyCallingConfiguration_ =+    PutVoiceConnectorEmergencyCallingConfiguration'+      { voiceConnectorId =+          pVoiceConnectorId_,+        emergencyCallingConfiguration =+          pEmergencyCallingConfiguration_+      }++-- | The Amazon Chime Voice Connector ID.+putVoiceConnectorEmergencyCallingConfiguration_voiceConnectorId :: Lens.Lens' PutVoiceConnectorEmergencyCallingConfiguration Prelude.Text+putVoiceConnectorEmergencyCallingConfiguration_voiceConnectorId = Lens.lens (\PutVoiceConnectorEmergencyCallingConfiguration' {voiceConnectorId} -> voiceConnectorId) (\s@PutVoiceConnectorEmergencyCallingConfiguration' {} a -> s {voiceConnectorId = a} :: PutVoiceConnectorEmergencyCallingConfiguration)++-- | The emergency calling configuration details.+putVoiceConnectorEmergencyCallingConfiguration_emergencyCallingConfiguration :: Lens.Lens' PutVoiceConnectorEmergencyCallingConfiguration EmergencyCallingConfiguration+putVoiceConnectorEmergencyCallingConfiguration_emergencyCallingConfiguration = Lens.lens (\PutVoiceConnectorEmergencyCallingConfiguration' {emergencyCallingConfiguration} -> emergencyCallingConfiguration) (\s@PutVoiceConnectorEmergencyCallingConfiguration' {} a -> s {emergencyCallingConfiguration = a} :: PutVoiceConnectorEmergencyCallingConfiguration)++instance+  Core.AWSRequest+    PutVoiceConnectorEmergencyCallingConfiguration+  where+  type+    AWSResponse+      PutVoiceConnectorEmergencyCallingConfiguration =+      PutVoiceConnectorEmergencyCallingConfigurationResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          PutVoiceConnectorEmergencyCallingConfigurationResponse'+            Prelude.<$> (x Data..?> "EmergencyCallingConfiguration")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    PutVoiceConnectorEmergencyCallingConfiguration+  where+  hashWithSalt+    _salt+    PutVoiceConnectorEmergencyCallingConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` voiceConnectorId+        `Prelude.hashWithSalt` emergencyCallingConfiguration++instance+  Prelude.NFData+    PutVoiceConnectorEmergencyCallingConfiguration+  where+  rnf+    PutVoiceConnectorEmergencyCallingConfiguration' {..} =+      Prelude.rnf voiceConnectorId+        `Prelude.seq` Prelude.rnf emergencyCallingConfiguration++instance+  Data.ToHeaders+    PutVoiceConnectorEmergencyCallingConfiguration+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToJSON+    PutVoiceConnectorEmergencyCallingConfiguration+  where+  toJSON+    PutVoiceConnectorEmergencyCallingConfiguration' {..} =+      Data.object+        ( Prelude.catMaybes+            [ Prelude.Just+                ( "EmergencyCallingConfiguration"+                    Data..= emergencyCallingConfiguration+                )+            ]+        )++instance+  Data.ToPath+    PutVoiceConnectorEmergencyCallingConfiguration+  where+  toPath+    PutVoiceConnectorEmergencyCallingConfiguration' {..} =+      Prelude.mconcat+        [ "/voice-connectors/",+          Data.toBS voiceConnectorId,+          "/emergency-calling-configuration"+        ]++instance+  Data.ToQuery+    PutVoiceConnectorEmergencyCallingConfiguration+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newPutVoiceConnectorEmergencyCallingConfigurationResponse' smart constructor.+data PutVoiceConnectorEmergencyCallingConfigurationResponse = PutVoiceConnectorEmergencyCallingConfigurationResponse'+  { -- | The emergency calling configuration details.+    emergencyCallingConfiguration :: Prelude.Maybe EmergencyCallingConfiguration,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutVoiceConnectorEmergencyCallingConfigurationResponse' 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:+--+-- 'emergencyCallingConfiguration', 'putVoiceConnectorEmergencyCallingConfigurationResponse_emergencyCallingConfiguration' - The emergency calling configuration details.+--+-- 'httpStatus', 'putVoiceConnectorEmergencyCallingConfigurationResponse_httpStatus' - The response's http status code.+newPutVoiceConnectorEmergencyCallingConfigurationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  PutVoiceConnectorEmergencyCallingConfigurationResponse+newPutVoiceConnectorEmergencyCallingConfigurationResponse+  pHttpStatus_ =+    PutVoiceConnectorEmergencyCallingConfigurationResponse'+      { emergencyCallingConfiguration =+          Prelude.Nothing,+        httpStatus =+          pHttpStatus_+      }++-- | The emergency calling configuration details.+putVoiceConnectorEmergencyCallingConfigurationResponse_emergencyCallingConfiguration :: Lens.Lens' PutVoiceConnectorEmergencyCallingConfigurationResponse (Prelude.Maybe EmergencyCallingConfiguration)+putVoiceConnectorEmergencyCallingConfigurationResponse_emergencyCallingConfiguration = Lens.lens (\PutVoiceConnectorEmergencyCallingConfigurationResponse' {emergencyCallingConfiguration} -> emergencyCallingConfiguration) (\s@PutVoiceConnectorEmergencyCallingConfigurationResponse' {} a -> s {emergencyCallingConfiguration = a} :: PutVoiceConnectorEmergencyCallingConfigurationResponse)++-- | The response's http status code.+putVoiceConnectorEmergencyCallingConfigurationResponse_httpStatus :: Lens.Lens' PutVoiceConnectorEmergencyCallingConfigurationResponse Prelude.Int+putVoiceConnectorEmergencyCallingConfigurationResponse_httpStatus = Lens.lens (\PutVoiceConnectorEmergencyCallingConfigurationResponse' {httpStatus} -> httpStatus) (\s@PutVoiceConnectorEmergencyCallingConfigurationResponse' {} a -> s {httpStatus = a} :: PutVoiceConnectorEmergencyCallingConfigurationResponse)++instance+  Prelude.NFData+    PutVoiceConnectorEmergencyCallingConfigurationResponse+  where+  rnf+    PutVoiceConnectorEmergencyCallingConfigurationResponse' {..} =+      Prelude.rnf emergencyCallingConfiguration+        `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/PutVoiceConnectorLoggingConfiguration.hs view
@@ -0,0 +1,218 @@+{-# 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.Chime.PutVoiceConnectorLoggingConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds a logging configuration for the specified Amazon Chime Voice+-- Connector. The logging configuration specifies whether SIP message logs+-- are enabled for sending to Amazon CloudWatch Logs.+module Amazonka.Chime.PutVoiceConnectorLoggingConfiguration+  ( -- * Creating a Request+    PutVoiceConnectorLoggingConfiguration (..),+    newPutVoiceConnectorLoggingConfiguration,++    -- * Request Lenses+    putVoiceConnectorLoggingConfiguration_voiceConnectorId,+    putVoiceConnectorLoggingConfiguration_loggingConfiguration,++    -- * Destructuring the Response+    PutVoiceConnectorLoggingConfigurationResponse (..),+    newPutVoiceConnectorLoggingConfigurationResponse,++    -- * Response Lenses+    putVoiceConnectorLoggingConfigurationResponse_loggingConfiguration,+    putVoiceConnectorLoggingConfigurationResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newPutVoiceConnectorLoggingConfiguration' smart constructor.+data PutVoiceConnectorLoggingConfiguration = PutVoiceConnectorLoggingConfiguration'+  { -- | The Amazon Chime Voice Connector ID.+    voiceConnectorId :: Prelude.Text,+    -- | The logging configuration details to add.+    loggingConfiguration :: LoggingConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutVoiceConnectorLoggingConfiguration' 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:+--+-- 'voiceConnectorId', 'putVoiceConnectorLoggingConfiguration_voiceConnectorId' - The Amazon Chime Voice Connector ID.+--+-- 'loggingConfiguration', 'putVoiceConnectorLoggingConfiguration_loggingConfiguration' - The logging configuration details to add.+newPutVoiceConnectorLoggingConfiguration ::+  -- | 'voiceConnectorId'+  Prelude.Text ->+  -- | 'loggingConfiguration'+  LoggingConfiguration ->+  PutVoiceConnectorLoggingConfiguration+newPutVoiceConnectorLoggingConfiguration+  pVoiceConnectorId_+  pLoggingConfiguration_ =+    PutVoiceConnectorLoggingConfiguration'+      { voiceConnectorId =+          pVoiceConnectorId_,+        loggingConfiguration =+          pLoggingConfiguration_+      }++-- | The Amazon Chime Voice Connector ID.+putVoiceConnectorLoggingConfiguration_voiceConnectorId :: Lens.Lens' PutVoiceConnectorLoggingConfiguration Prelude.Text+putVoiceConnectorLoggingConfiguration_voiceConnectorId = Lens.lens (\PutVoiceConnectorLoggingConfiguration' {voiceConnectorId} -> voiceConnectorId) (\s@PutVoiceConnectorLoggingConfiguration' {} a -> s {voiceConnectorId = a} :: PutVoiceConnectorLoggingConfiguration)++-- | The logging configuration details to add.+putVoiceConnectorLoggingConfiguration_loggingConfiguration :: Lens.Lens' PutVoiceConnectorLoggingConfiguration LoggingConfiguration+putVoiceConnectorLoggingConfiguration_loggingConfiguration = Lens.lens (\PutVoiceConnectorLoggingConfiguration' {loggingConfiguration} -> loggingConfiguration) (\s@PutVoiceConnectorLoggingConfiguration' {} a -> s {loggingConfiguration = a} :: PutVoiceConnectorLoggingConfiguration)++instance+  Core.AWSRequest+    PutVoiceConnectorLoggingConfiguration+  where+  type+    AWSResponse+      PutVoiceConnectorLoggingConfiguration =+      PutVoiceConnectorLoggingConfigurationResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          PutVoiceConnectorLoggingConfigurationResponse'+            Prelude.<$> (x Data..?> "LoggingConfiguration")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    PutVoiceConnectorLoggingConfiguration+  where+  hashWithSalt+    _salt+    PutVoiceConnectorLoggingConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` voiceConnectorId+        `Prelude.hashWithSalt` loggingConfiguration++instance+  Prelude.NFData+    PutVoiceConnectorLoggingConfiguration+  where+  rnf PutVoiceConnectorLoggingConfiguration' {..} =+    Prelude.rnf voiceConnectorId+      `Prelude.seq` Prelude.rnf loggingConfiguration++instance+  Data.ToHeaders+    PutVoiceConnectorLoggingConfiguration+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToJSON+    PutVoiceConnectorLoggingConfiguration+  where+  toJSON PutVoiceConnectorLoggingConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "LoggingConfiguration"+                  Data..= loggingConfiguration+              )+          ]+      )++instance+  Data.ToPath+    PutVoiceConnectorLoggingConfiguration+  where+  toPath PutVoiceConnectorLoggingConfiguration' {..} =+    Prelude.mconcat+      [ "/voice-connectors/",+        Data.toBS voiceConnectorId,+        "/logging-configuration"+      ]++instance+  Data.ToQuery+    PutVoiceConnectorLoggingConfiguration+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newPutVoiceConnectorLoggingConfigurationResponse' smart constructor.+data PutVoiceConnectorLoggingConfigurationResponse = PutVoiceConnectorLoggingConfigurationResponse'+  { -- | The updated logging configuration details.+    loggingConfiguration :: Prelude.Maybe LoggingConfiguration,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutVoiceConnectorLoggingConfigurationResponse' 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:+--+-- 'loggingConfiguration', 'putVoiceConnectorLoggingConfigurationResponse_loggingConfiguration' - The updated logging configuration details.+--+-- 'httpStatus', 'putVoiceConnectorLoggingConfigurationResponse_httpStatus' - The response's http status code.+newPutVoiceConnectorLoggingConfigurationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  PutVoiceConnectorLoggingConfigurationResponse+newPutVoiceConnectorLoggingConfigurationResponse+  pHttpStatus_ =+    PutVoiceConnectorLoggingConfigurationResponse'+      { loggingConfiguration =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The updated logging configuration details.+putVoiceConnectorLoggingConfigurationResponse_loggingConfiguration :: Lens.Lens' PutVoiceConnectorLoggingConfigurationResponse (Prelude.Maybe LoggingConfiguration)+putVoiceConnectorLoggingConfigurationResponse_loggingConfiguration = Lens.lens (\PutVoiceConnectorLoggingConfigurationResponse' {loggingConfiguration} -> loggingConfiguration) (\s@PutVoiceConnectorLoggingConfigurationResponse' {} a -> s {loggingConfiguration = a} :: PutVoiceConnectorLoggingConfigurationResponse)++-- | The response's http status code.+putVoiceConnectorLoggingConfigurationResponse_httpStatus :: Lens.Lens' PutVoiceConnectorLoggingConfigurationResponse Prelude.Int+putVoiceConnectorLoggingConfigurationResponse_httpStatus = Lens.lens (\PutVoiceConnectorLoggingConfigurationResponse' {httpStatus} -> httpStatus) (\s@PutVoiceConnectorLoggingConfigurationResponse' {} a -> s {httpStatus = a} :: PutVoiceConnectorLoggingConfigurationResponse)++instance+  Prelude.NFData+    PutVoiceConnectorLoggingConfigurationResponse+  where+  rnf+    PutVoiceConnectorLoggingConfigurationResponse' {..} =+      Prelude.rnf loggingConfiguration+        `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/PutVoiceConnectorOrigination.hs view
@@ -0,0 +1,192 @@+{-# 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.Chime.PutVoiceConnectorOrigination+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds origination settings for the specified Amazon Chime Voice+-- Connector.+--+-- If emergency calling is configured for the Amazon Chime Voice Connector,+-- it must be deleted prior to turning off origination settings.+module Amazonka.Chime.PutVoiceConnectorOrigination+  ( -- * Creating a Request+    PutVoiceConnectorOrigination (..),+    newPutVoiceConnectorOrigination,++    -- * Request Lenses+    putVoiceConnectorOrigination_voiceConnectorId,+    putVoiceConnectorOrigination_origination,++    -- * Destructuring the Response+    PutVoiceConnectorOriginationResponse (..),+    newPutVoiceConnectorOriginationResponse,++    -- * Response Lenses+    putVoiceConnectorOriginationResponse_origination,+    putVoiceConnectorOriginationResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newPutVoiceConnectorOrigination' smart constructor.+data PutVoiceConnectorOrigination = PutVoiceConnectorOrigination'+  { -- | The Amazon Chime Voice Connector ID.+    voiceConnectorId :: Prelude.Text,+    -- | The origination setting details to add.+    origination :: Origination+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutVoiceConnectorOrigination' 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:+--+-- 'voiceConnectorId', 'putVoiceConnectorOrigination_voiceConnectorId' - The Amazon Chime Voice Connector ID.+--+-- 'origination', 'putVoiceConnectorOrigination_origination' - The origination setting details to add.+newPutVoiceConnectorOrigination ::+  -- | 'voiceConnectorId'+  Prelude.Text ->+  -- | 'origination'+  Origination ->+  PutVoiceConnectorOrigination+newPutVoiceConnectorOrigination+  pVoiceConnectorId_+  pOrigination_ =+    PutVoiceConnectorOrigination'+      { voiceConnectorId =+          pVoiceConnectorId_,+        origination = pOrigination_+      }++-- | The Amazon Chime Voice Connector ID.+putVoiceConnectorOrigination_voiceConnectorId :: Lens.Lens' PutVoiceConnectorOrigination Prelude.Text+putVoiceConnectorOrigination_voiceConnectorId = Lens.lens (\PutVoiceConnectorOrigination' {voiceConnectorId} -> voiceConnectorId) (\s@PutVoiceConnectorOrigination' {} a -> s {voiceConnectorId = a} :: PutVoiceConnectorOrigination)++-- | The origination setting details to add.+putVoiceConnectorOrigination_origination :: Lens.Lens' PutVoiceConnectorOrigination Origination+putVoiceConnectorOrigination_origination = Lens.lens (\PutVoiceConnectorOrigination' {origination} -> origination) (\s@PutVoiceConnectorOrigination' {} a -> s {origination = a} :: PutVoiceConnectorOrigination)++instance Core.AWSRequest PutVoiceConnectorOrigination where+  type+    AWSResponse PutVoiceConnectorOrigination =+      PutVoiceConnectorOriginationResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          PutVoiceConnectorOriginationResponse'+            Prelude.<$> (x Data..?> "Origination")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    PutVoiceConnectorOrigination+  where+  hashWithSalt _salt PutVoiceConnectorOrigination' {..} =+    _salt+      `Prelude.hashWithSalt` voiceConnectorId+      `Prelude.hashWithSalt` origination++instance Prelude.NFData PutVoiceConnectorOrigination where+  rnf PutVoiceConnectorOrigination' {..} =+    Prelude.rnf voiceConnectorId+      `Prelude.seq` Prelude.rnf origination++instance Data.ToHeaders PutVoiceConnectorOrigination where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON PutVoiceConnectorOrigination where+  toJSON PutVoiceConnectorOrigination' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("Origination" Data..= origination)]+      )++instance Data.ToPath PutVoiceConnectorOrigination where+  toPath PutVoiceConnectorOrigination' {..} =+    Prelude.mconcat+      [ "/voice-connectors/",+        Data.toBS voiceConnectorId,+        "/origination"+      ]++instance Data.ToQuery PutVoiceConnectorOrigination where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newPutVoiceConnectorOriginationResponse' smart constructor.+data PutVoiceConnectorOriginationResponse = PutVoiceConnectorOriginationResponse'+  { -- | The updated origination setting details.+    origination :: Prelude.Maybe Origination,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutVoiceConnectorOriginationResponse' 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:+--+-- 'origination', 'putVoiceConnectorOriginationResponse_origination' - The updated origination setting details.+--+-- 'httpStatus', 'putVoiceConnectorOriginationResponse_httpStatus' - The response's http status code.+newPutVoiceConnectorOriginationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  PutVoiceConnectorOriginationResponse+newPutVoiceConnectorOriginationResponse pHttpStatus_ =+  PutVoiceConnectorOriginationResponse'+    { origination =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The updated origination setting details.+putVoiceConnectorOriginationResponse_origination :: Lens.Lens' PutVoiceConnectorOriginationResponse (Prelude.Maybe Origination)+putVoiceConnectorOriginationResponse_origination = Lens.lens (\PutVoiceConnectorOriginationResponse' {origination} -> origination) (\s@PutVoiceConnectorOriginationResponse' {} a -> s {origination = a} :: PutVoiceConnectorOriginationResponse)++-- | The response's http status code.+putVoiceConnectorOriginationResponse_httpStatus :: Lens.Lens' PutVoiceConnectorOriginationResponse Prelude.Int+putVoiceConnectorOriginationResponse_httpStatus = Lens.lens (\PutVoiceConnectorOriginationResponse' {httpStatus} -> httpStatus) (\s@PutVoiceConnectorOriginationResponse' {} a -> s {httpStatus = a} :: PutVoiceConnectorOriginationResponse)++instance+  Prelude.NFData+    PutVoiceConnectorOriginationResponse+  where+  rnf PutVoiceConnectorOriginationResponse' {..} =+    Prelude.rnf origination+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/PutVoiceConnectorProxy.hs view
@@ -0,0 +1,240 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Chime.PutVoiceConnectorProxy+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Puts the specified proxy configuration to the specified Amazon Chime+-- Voice Connector.+module Amazonka.Chime.PutVoiceConnectorProxy+  ( -- * Creating a Request+    PutVoiceConnectorProxy (..),+    newPutVoiceConnectorProxy,++    -- * Request Lenses+    putVoiceConnectorProxy_disabled,+    putVoiceConnectorProxy_fallBackPhoneNumber,+    putVoiceConnectorProxy_defaultSessionExpiryMinutes,+    putVoiceConnectorProxy_phoneNumberPoolCountries,+    putVoiceConnectorProxy_voiceConnectorId,++    -- * Destructuring the Response+    PutVoiceConnectorProxyResponse (..),+    newPutVoiceConnectorProxyResponse,++    -- * Response Lenses+    putVoiceConnectorProxyResponse_proxy,+    putVoiceConnectorProxyResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newPutVoiceConnectorProxy' smart constructor.+data PutVoiceConnectorProxy = PutVoiceConnectorProxy'+  { -- | When true, stops proxy sessions from being created on the specified+    -- Amazon Chime Voice Connector.+    disabled :: Prelude.Maybe Prelude.Bool,+    -- | The phone number to route calls to after a proxy session expires.+    fallBackPhoneNumber :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The default number of minutes allowed for proxy sessions.+    defaultSessionExpiryMinutes :: Prelude.Int,+    -- | The countries for proxy phone numbers to be selected from.+    phoneNumberPoolCountries :: Prelude.NonEmpty Prelude.Text,+    -- | The Amazon Chime voice connector ID.+    voiceConnectorId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutVoiceConnectorProxy' 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:+--+-- 'disabled', 'putVoiceConnectorProxy_disabled' - When true, stops proxy sessions from being created on the specified+-- Amazon Chime Voice Connector.+--+-- 'fallBackPhoneNumber', 'putVoiceConnectorProxy_fallBackPhoneNumber' - The phone number to route calls to after a proxy session expires.+--+-- 'defaultSessionExpiryMinutes', 'putVoiceConnectorProxy_defaultSessionExpiryMinutes' - The default number of minutes allowed for proxy sessions.+--+-- 'phoneNumberPoolCountries', 'putVoiceConnectorProxy_phoneNumberPoolCountries' - The countries for proxy phone numbers to be selected from.+--+-- 'voiceConnectorId', 'putVoiceConnectorProxy_voiceConnectorId' - The Amazon Chime voice connector ID.+newPutVoiceConnectorProxy ::+  -- | 'defaultSessionExpiryMinutes'+  Prelude.Int ->+  -- | 'phoneNumberPoolCountries'+  Prelude.NonEmpty Prelude.Text ->+  -- | 'voiceConnectorId'+  Prelude.Text ->+  PutVoiceConnectorProxy+newPutVoiceConnectorProxy+  pDefaultSessionExpiryMinutes_+  pPhoneNumberPoolCountries_+  pVoiceConnectorId_ =+    PutVoiceConnectorProxy'+      { disabled = Prelude.Nothing,+        fallBackPhoneNumber = Prelude.Nothing,+        defaultSessionExpiryMinutes =+          pDefaultSessionExpiryMinutes_,+        phoneNumberPoolCountries =+          Lens.coerced Lens.# pPhoneNumberPoolCountries_,+        voiceConnectorId = pVoiceConnectorId_+      }++-- | When true, stops proxy sessions from being created on the specified+-- Amazon Chime Voice Connector.+putVoiceConnectorProxy_disabled :: Lens.Lens' PutVoiceConnectorProxy (Prelude.Maybe Prelude.Bool)+putVoiceConnectorProxy_disabled = Lens.lens (\PutVoiceConnectorProxy' {disabled} -> disabled) (\s@PutVoiceConnectorProxy' {} a -> s {disabled = a} :: PutVoiceConnectorProxy)++-- | The phone number to route calls to after a proxy session expires.+putVoiceConnectorProxy_fallBackPhoneNumber :: Lens.Lens' PutVoiceConnectorProxy (Prelude.Maybe Prelude.Text)+putVoiceConnectorProxy_fallBackPhoneNumber = Lens.lens (\PutVoiceConnectorProxy' {fallBackPhoneNumber} -> fallBackPhoneNumber) (\s@PutVoiceConnectorProxy' {} a -> s {fallBackPhoneNumber = a} :: PutVoiceConnectorProxy) Prelude.. Lens.mapping Data._Sensitive++-- | The default number of minutes allowed for proxy sessions.+putVoiceConnectorProxy_defaultSessionExpiryMinutes :: Lens.Lens' PutVoiceConnectorProxy Prelude.Int+putVoiceConnectorProxy_defaultSessionExpiryMinutes = Lens.lens (\PutVoiceConnectorProxy' {defaultSessionExpiryMinutes} -> defaultSessionExpiryMinutes) (\s@PutVoiceConnectorProxy' {} a -> s {defaultSessionExpiryMinutes = a} :: PutVoiceConnectorProxy)++-- | The countries for proxy phone numbers to be selected from.+putVoiceConnectorProxy_phoneNumberPoolCountries :: Lens.Lens' PutVoiceConnectorProxy (Prelude.NonEmpty Prelude.Text)+putVoiceConnectorProxy_phoneNumberPoolCountries = Lens.lens (\PutVoiceConnectorProxy' {phoneNumberPoolCountries} -> phoneNumberPoolCountries) (\s@PutVoiceConnectorProxy' {} a -> s {phoneNumberPoolCountries = a} :: PutVoiceConnectorProxy) Prelude.. Lens.coerced++-- | The Amazon Chime voice connector ID.+putVoiceConnectorProxy_voiceConnectorId :: Lens.Lens' PutVoiceConnectorProxy Prelude.Text+putVoiceConnectorProxy_voiceConnectorId = Lens.lens (\PutVoiceConnectorProxy' {voiceConnectorId} -> voiceConnectorId) (\s@PutVoiceConnectorProxy' {} a -> s {voiceConnectorId = a} :: PutVoiceConnectorProxy)++instance Core.AWSRequest PutVoiceConnectorProxy where+  type+    AWSResponse PutVoiceConnectorProxy =+      PutVoiceConnectorProxyResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          PutVoiceConnectorProxyResponse'+            Prelude.<$> (x Data..?> "Proxy")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable PutVoiceConnectorProxy where+  hashWithSalt _salt PutVoiceConnectorProxy' {..} =+    _salt+      `Prelude.hashWithSalt` disabled+      `Prelude.hashWithSalt` fallBackPhoneNumber+      `Prelude.hashWithSalt` defaultSessionExpiryMinutes+      `Prelude.hashWithSalt` phoneNumberPoolCountries+      `Prelude.hashWithSalt` voiceConnectorId++instance Prelude.NFData PutVoiceConnectorProxy where+  rnf PutVoiceConnectorProxy' {..} =+    Prelude.rnf disabled+      `Prelude.seq` Prelude.rnf fallBackPhoneNumber+      `Prelude.seq` Prelude.rnf defaultSessionExpiryMinutes+      `Prelude.seq` Prelude.rnf phoneNumberPoolCountries+      `Prelude.seq` Prelude.rnf voiceConnectorId++instance Data.ToHeaders PutVoiceConnectorProxy where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON PutVoiceConnectorProxy where+  toJSON PutVoiceConnectorProxy' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Disabled" Data..=) Prelude.<$> disabled,+            ("FallBackPhoneNumber" Data..=)+              Prelude.<$> fallBackPhoneNumber,+            Prelude.Just+              ( "DefaultSessionExpiryMinutes"+                  Data..= defaultSessionExpiryMinutes+              ),+            Prelude.Just+              ( "PhoneNumberPoolCountries"+                  Data..= phoneNumberPoolCountries+              )+          ]+      )++instance Data.ToPath PutVoiceConnectorProxy where+  toPath PutVoiceConnectorProxy' {..} =+    Prelude.mconcat+      [ "/voice-connectors/",+        Data.toBS voiceConnectorId,+        "/programmable-numbers/proxy"+      ]++instance Data.ToQuery PutVoiceConnectorProxy where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newPutVoiceConnectorProxyResponse' smart constructor.+data PutVoiceConnectorProxyResponse = PutVoiceConnectorProxyResponse'+  { -- | The proxy configuration details.+    proxy :: Prelude.Maybe Proxy,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutVoiceConnectorProxyResponse' 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:+--+-- 'proxy', 'putVoiceConnectorProxyResponse_proxy' - The proxy configuration details.+--+-- 'httpStatus', 'putVoiceConnectorProxyResponse_httpStatus' - The response's http status code.+newPutVoiceConnectorProxyResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  PutVoiceConnectorProxyResponse+newPutVoiceConnectorProxyResponse pHttpStatus_ =+  PutVoiceConnectorProxyResponse'+    { proxy =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The proxy configuration details.+putVoiceConnectorProxyResponse_proxy :: Lens.Lens' PutVoiceConnectorProxyResponse (Prelude.Maybe Proxy)+putVoiceConnectorProxyResponse_proxy = Lens.lens (\PutVoiceConnectorProxyResponse' {proxy} -> proxy) (\s@PutVoiceConnectorProxyResponse' {} a -> s {proxy = a} :: PutVoiceConnectorProxyResponse)++-- | The response's http status code.+putVoiceConnectorProxyResponse_httpStatus :: Lens.Lens' PutVoiceConnectorProxyResponse Prelude.Int+putVoiceConnectorProxyResponse_httpStatus = Lens.lens (\PutVoiceConnectorProxyResponse' {httpStatus} -> httpStatus) (\s@PutVoiceConnectorProxyResponse' {} a -> s {httpStatus = a} :: PutVoiceConnectorProxyResponse)++instance+  Prelude.NFData+    PutVoiceConnectorProxyResponse+  where+  rnf PutVoiceConnectorProxyResponse' {..} =+    Prelude.rnf proxy+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/PutVoiceConnectorStreamingConfiguration.hs view
@@ -0,0 +1,219 @@+{-# 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.Chime.PutVoiceConnectorStreamingConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds a streaming configuration for the specified Amazon Chime Voice+-- Connector. The streaming configuration specifies whether media streaming+-- is enabled for sending to Kinesis. It also sets the retention period, in+-- hours, for the Amazon Kinesis data.+module Amazonka.Chime.PutVoiceConnectorStreamingConfiguration+  ( -- * Creating a Request+    PutVoiceConnectorStreamingConfiguration (..),+    newPutVoiceConnectorStreamingConfiguration,++    -- * Request Lenses+    putVoiceConnectorStreamingConfiguration_voiceConnectorId,+    putVoiceConnectorStreamingConfiguration_streamingConfiguration,++    -- * Destructuring the Response+    PutVoiceConnectorStreamingConfigurationResponse (..),+    newPutVoiceConnectorStreamingConfigurationResponse,++    -- * Response Lenses+    putVoiceConnectorStreamingConfigurationResponse_streamingConfiguration,+    putVoiceConnectorStreamingConfigurationResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newPutVoiceConnectorStreamingConfiguration' smart constructor.+data PutVoiceConnectorStreamingConfiguration = PutVoiceConnectorStreamingConfiguration'+  { -- | The Amazon Chime Voice Connector ID.+    voiceConnectorId :: Prelude.Text,+    -- | The streaming configuration details to add.+    streamingConfiguration :: StreamingConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutVoiceConnectorStreamingConfiguration' 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:+--+-- 'voiceConnectorId', 'putVoiceConnectorStreamingConfiguration_voiceConnectorId' - The Amazon Chime Voice Connector ID.+--+-- 'streamingConfiguration', 'putVoiceConnectorStreamingConfiguration_streamingConfiguration' - The streaming configuration details to add.+newPutVoiceConnectorStreamingConfiguration ::+  -- | 'voiceConnectorId'+  Prelude.Text ->+  -- | 'streamingConfiguration'+  StreamingConfiguration ->+  PutVoiceConnectorStreamingConfiguration+newPutVoiceConnectorStreamingConfiguration+  pVoiceConnectorId_+  pStreamingConfiguration_ =+    PutVoiceConnectorStreamingConfiguration'+      { voiceConnectorId =+          pVoiceConnectorId_,+        streamingConfiguration =+          pStreamingConfiguration_+      }++-- | The Amazon Chime Voice Connector ID.+putVoiceConnectorStreamingConfiguration_voiceConnectorId :: Lens.Lens' PutVoiceConnectorStreamingConfiguration Prelude.Text+putVoiceConnectorStreamingConfiguration_voiceConnectorId = Lens.lens (\PutVoiceConnectorStreamingConfiguration' {voiceConnectorId} -> voiceConnectorId) (\s@PutVoiceConnectorStreamingConfiguration' {} a -> s {voiceConnectorId = a} :: PutVoiceConnectorStreamingConfiguration)++-- | The streaming configuration details to add.+putVoiceConnectorStreamingConfiguration_streamingConfiguration :: Lens.Lens' PutVoiceConnectorStreamingConfiguration StreamingConfiguration+putVoiceConnectorStreamingConfiguration_streamingConfiguration = Lens.lens (\PutVoiceConnectorStreamingConfiguration' {streamingConfiguration} -> streamingConfiguration) (\s@PutVoiceConnectorStreamingConfiguration' {} a -> s {streamingConfiguration = a} :: PutVoiceConnectorStreamingConfiguration)++instance+  Core.AWSRequest+    PutVoiceConnectorStreamingConfiguration+  where+  type+    AWSResponse+      PutVoiceConnectorStreamingConfiguration =+      PutVoiceConnectorStreamingConfigurationResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          PutVoiceConnectorStreamingConfigurationResponse'+            Prelude.<$> (x Data..?> "StreamingConfiguration")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    PutVoiceConnectorStreamingConfiguration+  where+  hashWithSalt+    _salt+    PutVoiceConnectorStreamingConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` voiceConnectorId+        `Prelude.hashWithSalt` streamingConfiguration++instance+  Prelude.NFData+    PutVoiceConnectorStreamingConfiguration+  where+  rnf PutVoiceConnectorStreamingConfiguration' {..} =+    Prelude.rnf voiceConnectorId+      `Prelude.seq` Prelude.rnf streamingConfiguration++instance+  Data.ToHeaders+    PutVoiceConnectorStreamingConfiguration+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToJSON+    PutVoiceConnectorStreamingConfiguration+  where+  toJSON PutVoiceConnectorStreamingConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "StreamingConfiguration"+                  Data..= streamingConfiguration+              )+          ]+      )++instance+  Data.ToPath+    PutVoiceConnectorStreamingConfiguration+  where+  toPath PutVoiceConnectorStreamingConfiguration' {..} =+    Prelude.mconcat+      [ "/voice-connectors/",+        Data.toBS voiceConnectorId,+        "/streaming-configuration"+      ]++instance+  Data.ToQuery+    PutVoiceConnectorStreamingConfiguration+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newPutVoiceConnectorStreamingConfigurationResponse' smart constructor.+data PutVoiceConnectorStreamingConfigurationResponse = PutVoiceConnectorStreamingConfigurationResponse'+  { -- | The updated streaming configuration details.+    streamingConfiguration :: Prelude.Maybe StreamingConfiguration,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutVoiceConnectorStreamingConfigurationResponse' 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:+--+-- 'streamingConfiguration', 'putVoiceConnectorStreamingConfigurationResponse_streamingConfiguration' - The updated streaming configuration details.+--+-- 'httpStatus', 'putVoiceConnectorStreamingConfigurationResponse_httpStatus' - The response's http status code.+newPutVoiceConnectorStreamingConfigurationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  PutVoiceConnectorStreamingConfigurationResponse+newPutVoiceConnectorStreamingConfigurationResponse+  pHttpStatus_ =+    PutVoiceConnectorStreamingConfigurationResponse'+      { streamingConfiguration =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The updated streaming configuration details.+putVoiceConnectorStreamingConfigurationResponse_streamingConfiguration :: Lens.Lens' PutVoiceConnectorStreamingConfigurationResponse (Prelude.Maybe StreamingConfiguration)+putVoiceConnectorStreamingConfigurationResponse_streamingConfiguration = Lens.lens (\PutVoiceConnectorStreamingConfigurationResponse' {streamingConfiguration} -> streamingConfiguration) (\s@PutVoiceConnectorStreamingConfigurationResponse' {} a -> s {streamingConfiguration = a} :: PutVoiceConnectorStreamingConfigurationResponse)++-- | The response's http status code.+putVoiceConnectorStreamingConfigurationResponse_httpStatus :: Lens.Lens' PutVoiceConnectorStreamingConfigurationResponse Prelude.Int+putVoiceConnectorStreamingConfigurationResponse_httpStatus = Lens.lens (\PutVoiceConnectorStreamingConfigurationResponse' {httpStatus} -> httpStatus) (\s@PutVoiceConnectorStreamingConfigurationResponse' {} a -> s {httpStatus = a} :: PutVoiceConnectorStreamingConfigurationResponse)++instance+  Prelude.NFData+    PutVoiceConnectorStreamingConfigurationResponse+  where+  rnf+    PutVoiceConnectorStreamingConfigurationResponse' {..} =+      Prelude.rnf streamingConfiguration+        `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/PutVoiceConnectorTermination.hs view
@@ -0,0 +1,192 @@+{-# 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.Chime.PutVoiceConnectorTermination+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds termination settings for the specified Amazon Chime Voice+-- Connector.+--+-- If emergency calling is configured for the Amazon Chime Voice Connector,+-- it must be deleted prior to turning off termination settings.+module Amazonka.Chime.PutVoiceConnectorTermination+  ( -- * Creating a Request+    PutVoiceConnectorTermination (..),+    newPutVoiceConnectorTermination,++    -- * Request Lenses+    putVoiceConnectorTermination_voiceConnectorId,+    putVoiceConnectorTermination_termination,++    -- * Destructuring the Response+    PutVoiceConnectorTerminationResponse (..),+    newPutVoiceConnectorTerminationResponse,++    -- * Response Lenses+    putVoiceConnectorTerminationResponse_termination,+    putVoiceConnectorTerminationResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newPutVoiceConnectorTermination' smart constructor.+data PutVoiceConnectorTermination = PutVoiceConnectorTermination'+  { -- | The Amazon Chime Voice Connector ID.+    voiceConnectorId :: Prelude.Text,+    -- | The termination setting details to add.+    termination :: Termination+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutVoiceConnectorTermination' 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:+--+-- 'voiceConnectorId', 'putVoiceConnectorTermination_voiceConnectorId' - The Amazon Chime Voice Connector ID.+--+-- 'termination', 'putVoiceConnectorTermination_termination' - The termination setting details to add.+newPutVoiceConnectorTermination ::+  -- | 'voiceConnectorId'+  Prelude.Text ->+  -- | 'termination'+  Termination ->+  PutVoiceConnectorTermination+newPutVoiceConnectorTermination+  pVoiceConnectorId_+  pTermination_ =+    PutVoiceConnectorTermination'+      { voiceConnectorId =+          pVoiceConnectorId_,+        termination = pTermination_+      }++-- | The Amazon Chime Voice Connector ID.+putVoiceConnectorTermination_voiceConnectorId :: Lens.Lens' PutVoiceConnectorTermination Prelude.Text+putVoiceConnectorTermination_voiceConnectorId = Lens.lens (\PutVoiceConnectorTermination' {voiceConnectorId} -> voiceConnectorId) (\s@PutVoiceConnectorTermination' {} a -> s {voiceConnectorId = a} :: PutVoiceConnectorTermination)++-- | The termination setting details to add.+putVoiceConnectorTermination_termination :: Lens.Lens' PutVoiceConnectorTermination Termination+putVoiceConnectorTermination_termination = Lens.lens (\PutVoiceConnectorTermination' {termination} -> termination) (\s@PutVoiceConnectorTermination' {} a -> s {termination = a} :: PutVoiceConnectorTermination)++instance Core.AWSRequest PutVoiceConnectorTermination where+  type+    AWSResponse PutVoiceConnectorTermination =+      PutVoiceConnectorTerminationResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          PutVoiceConnectorTerminationResponse'+            Prelude.<$> (x Data..?> "Termination")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    PutVoiceConnectorTermination+  where+  hashWithSalt _salt PutVoiceConnectorTermination' {..} =+    _salt+      `Prelude.hashWithSalt` voiceConnectorId+      `Prelude.hashWithSalt` termination++instance Prelude.NFData PutVoiceConnectorTermination where+  rnf PutVoiceConnectorTermination' {..} =+    Prelude.rnf voiceConnectorId+      `Prelude.seq` Prelude.rnf termination++instance Data.ToHeaders PutVoiceConnectorTermination where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON PutVoiceConnectorTermination where+  toJSON PutVoiceConnectorTermination' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("Termination" Data..= termination)]+      )++instance Data.ToPath PutVoiceConnectorTermination where+  toPath PutVoiceConnectorTermination' {..} =+    Prelude.mconcat+      [ "/voice-connectors/",+        Data.toBS voiceConnectorId,+        "/termination"+      ]++instance Data.ToQuery PutVoiceConnectorTermination where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newPutVoiceConnectorTerminationResponse' smart constructor.+data PutVoiceConnectorTerminationResponse = PutVoiceConnectorTerminationResponse'+  { -- | The updated termination setting details.+    termination :: Prelude.Maybe Termination,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutVoiceConnectorTerminationResponse' 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:+--+-- 'termination', 'putVoiceConnectorTerminationResponse_termination' - The updated termination setting details.+--+-- 'httpStatus', 'putVoiceConnectorTerminationResponse_httpStatus' - The response's http status code.+newPutVoiceConnectorTerminationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  PutVoiceConnectorTerminationResponse+newPutVoiceConnectorTerminationResponse pHttpStatus_ =+  PutVoiceConnectorTerminationResponse'+    { termination =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The updated termination setting details.+putVoiceConnectorTerminationResponse_termination :: Lens.Lens' PutVoiceConnectorTerminationResponse (Prelude.Maybe Termination)+putVoiceConnectorTerminationResponse_termination = Lens.lens (\PutVoiceConnectorTerminationResponse' {termination} -> termination) (\s@PutVoiceConnectorTerminationResponse' {} a -> s {termination = a} :: PutVoiceConnectorTerminationResponse)++-- | The response's http status code.+putVoiceConnectorTerminationResponse_httpStatus :: Lens.Lens' PutVoiceConnectorTerminationResponse Prelude.Int+putVoiceConnectorTerminationResponse_httpStatus = Lens.lens (\PutVoiceConnectorTerminationResponse' {httpStatus} -> httpStatus) (\s@PutVoiceConnectorTerminationResponse' {} a -> s {httpStatus = a} :: PutVoiceConnectorTerminationResponse)++instance+  Prelude.NFData+    PutVoiceConnectorTerminationResponse+  where+  rnf PutVoiceConnectorTerminationResponse' {..} =+    Prelude.rnf termination+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/PutVoiceConnectorTerminationCredentials.hs view
@@ -0,0 +1,175 @@+{-# 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.Chime.PutVoiceConnectorTerminationCredentials+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds termination SIP credentials for the specified Amazon Chime Voice+-- Connector.+module Amazonka.Chime.PutVoiceConnectorTerminationCredentials+  ( -- * Creating a Request+    PutVoiceConnectorTerminationCredentials (..),+    newPutVoiceConnectorTerminationCredentials,++    -- * Request Lenses+    putVoiceConnectorTerminationCredentials_credentials,+    putVoiceConnectorTerminationCredentials_voiceConnectorId,++    -- * Destructuring the Response+    PutVoiceConnectorTerminationCredentialsResponse (..),+    newPutVoiceConnectorTerminationCredentialsResponse,+  )+where++import Amazonka.Chime.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:/ 'newPutVoiceConnectorTerminationCredentials' smart constructor.+data PutVoiceConnectorTerminationCredentials = PutVoiceConnectorTerminationCredentials'+  { -- | The termination SIP credentials.+    credentials :: Prelude.Maybe [Credential],+    -- | The Amazon Chime Voice Connector ID.+    voiceConnectorId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutVoiceConnectorTerminationCredentials' 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:+--+-- 'credentials', 'putVoiceConnectorTerminationCredentials_credentials' - The termination SIP credentials.+--+-- 'voiceConnectorId', 'putVoiceConnectorTerminationCredentials_voiceConnectorId' - The Amazon Chime Voice Connector ID.+newPutVoiceConnectorTerminationCredentials ::+  -- | 'voiceConnectorId'+  Prelude.Text ->+  PutVoiceConnectorTerminationCredentials+newPutVoiceConnectorTerminationCredentials+  pVoiceConnectorId_ =+    PutVoiceConnectorTerminationCredentials'+      { credentials =+          Prelude.Nothing,+        voiceConnectorId =+          pVoiceConnectorId_+      }++-- | The termination SIP credentials.+putVoiceConnectorTerminationCredentials_credentials :: Lens.Lens' PutVoiceConnectorTerminationCredentials (Prelude.Maybe [Credential])+putVoiceConnectorTerminationCredentials_credentials = Lens.lens (\PutVoiceConnectorTerminationCredentials' {credentials} -> credentials) (\s@PutVoiceConnectorTerminationCredentials' {} a -> s {credentials = a} :: PutVoiceConnectorTerminationCredentials) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Chime Voice Connector ID.+putVoiceConnectorTerminationCredentials_voiceConnectorId :: Lens.Lens' PutVoiceConnectorTerminationCredentials Prelude.Text+putVoiceConnectorTerminationCredentials_voiceConnectorId = Lens.lens (\PutVoiceConnectorTerminationCredentials' {voiceConnectorId} -> voiceConnectorId) (\s@PutVoiceConnectorTerminationCredentials' {} a -> s {voiceConnectorId = a} :: PutVoiceConnectorTerminationCredentials)++instance+  Core.AWSRequest+    PutVoiceConnectorTerminationCredentials+  where+  type+    AWSResponse+      PutVoiceConnectorTerminationCredentials =+      PutVoiceConnectorTerminationCredentialsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveNull+      PutVoiceConnectorTerminationCredentialsResponse'++instance+  Prelude.Hashable+    PutVoiceConnectorTerminationCredentials+  where+  hashWithSalt+    _salt+    PutVoiceConnectorTerminationCredentials' {..} =+      _salt+        `Prelude.hashWithSalt` credentials+        `Prelude.hashWithSalt` voiceConnectorId++instance+  Prelude.NFData+    PutVoiceConnectorTerminationCredentials+  where+  rnf PutVoiceConnectorTerminationCredentials' {..} =+    Prelude.rnf credentials+      `Prelude.seq` Prelude.rnf voiceConnectorId++instance+  Data.ToHeaders+    PutVoiceConnectorTerminationCredentials+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToJSON+    PutVoiceConnectorTerminationCredentials+  where+  toJSON PutVoiceConnectorTerminationCredentials' {..} =+    Data.object+      ( Prelude.catMaybes+          [("Credentials" Data..=) Prelude.<$> credentials]+      )++instance+  Data.ToPath+    PutVoiceConnectorTerminationCredentials+  where+  toPath PutVoiceConnectorTerminationCredentials' {..} =+    Prelude.mconcat+      [ "/voice-connectors/",+        Data.toBS voiceConnectorId,+        "/termination/credentials"+      ]++instance+  Data.ToQuery+    PutVoiceConnectorTerminationCredentials+  where+  toQuery =+    Prelude.const (Prelude.mconcat ["operation=put"])++-- | /See:/ 'newPutVoiceConnectorTerminationCredentialsResponse' smart constructor.+data PutVoiceConnectorTerminationCredentialsResponse = PutVoiceConnectorTerminationCredentialsResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutVoiceConnectorTerminationCredentialsResponse' 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.+newPutVoiceConnectorTerminationCredentialsResponse ::+  PutVoiceConnectorTerminationCredentialsResponse+newPutVoiceConnectorTerminationCredentialsResponse =+  PutVoiceConnectorTerminationCredentialsResponse'++instance+  Prelude.NFData+    PutVoiceConnectorTerminationCredentialsResponse+  where+  rnf _ = ()
+ gen/Amazonka/Chime/RedactChannelMessage.hs view
@@ -0,0 +1,211 @@+{-# 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.Chime.RedactChannelMessage+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Redacts message content, but not metadata. The message exists in the+-- back end, but the action returns null content, and the state shows as+-- redacted.+--+-- The @x-amz-chime-bearer@ request header is mandatory. Use the+-- @AppInstanceUserArn@ of the user that makes the API call as the value in+-- the header.+module Amazonka.Chime.RedactChannelMessage+  ( -- * Creating a Request+    RedactChannelMessage (..),+    newRedactChannelMessage,++    -- * Request Lenses+    redactChannelMessage_chimeBearer,+    redactChannelMessage_channelArn,+    redactChannelMessage_messageId,++    -- * Destructuring the Response+    RedactChannelMessageResponse (..),+    newRedactChannelMessageResponse,++    -- * Response Lenses+    redactChannelMessageResponse_channelArn,+    redactChannelMessageResponse_messageId,+    redactChannelMessageResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newRedactChannelMessage' smart constructor.+data RedactChannelMessage = RedactChannelMessage'+  { -- | The @AppInstanceUserArn@ of the user that makes the API call.+    chimeBearer :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the channel containing the messages that you want to redact.+    channelArn :: Prelude.Text,+    -- | The ID of the message being redacted.+    messageId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RedactChannelMessage' 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:+--+-- 'chimeBearer', 'redactChannelMessage_chimeBearer' - The @AppInstanceUserArn@ of the user that makes the API call.+--+-- 'channelArn', 'redactChannelMessage_channelArn' - The ARN of the channel containing the messages that you want to redact.+--+-- 'messageId', 'redactChannelMessage_messageId' - The ID of the message being redacted.+newRedactChannelMessage ::+  -- | 'channelArn'+  Prelude.Text ->+  -- | 'messageId'+  Prelude.Text ->+  RedactChannelMessage+newRedactChannelMessage pChannelArn_ pMessageId_ =+  RedactChannelMessage'+    { chimeBearer =+        Prelude.Nothing,+      channelArn = pChannelArn_,+      messageId = pMessageId_+    }++-- | The @AppInstanceUserArn@ of the user that makes the API call.+redactChannelMessage_chimeBearer :: Lens.Lens' RedactChannelMessage (Prelude.Maybe Prelude.Text)+redactChannelMessage_chimeBearer = Lens.lens (\RedactChannelMessage' {chimeBearer} -> chimeBearer) (\s@RedactChannelMessage' {} a -> s {chimeBearer = a} :: RedactChannelMessage)++-- | The ARN of the channel containing the messages that you want to redact.+redactChannelMessage_channelArn :: Lens.Lens' RedactChannelMessage Prelude.Text+redactChannelMessage_channelArn = Lens.lens (\RedactChannelMessage' {channelArn} -> channelArn) (\s@RedactChannelMessage' {} a -> s {channelArn = a} :: RedactChannelMessage)++-- | The ID of the message being redacted.+redactChannelMessage_messageId :: Lens.Lens' RedactChannelMessage Prelude.Text+redactChannelMessage_messageId = Lens.lens (\RedactChannelMessage' {messageId} -> messageId) (\s@RedactChannelMessage' {} a -> s {messageId = a} :: RedactChannelMessage)++instance Core.AWSRequest RedactChannelMessage where+  type+    AWSResponse RedactChannelMessage =+      RedactChannelMessageResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          RedactChannelMessageResponse'+            Prelude.<$> (x Data..?> "ChannelArn")+            Prelude.<*> (x Data..?> "MessageId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable RedactChannelMessage where+  hashWithSalt _salt RedactChannelMessage' {..} =+    _salt+      `Prelude.hashWithSalt` chimeBearer+      `Prelude.hashWithSalt` channelArn+      `Prelude.hashWithSalt` messageId++instance Prelude.NFData RedactChannelMessage where+  rnf RedactChannelMessage' {..} =+    Prelude.rnf chimeBearer+      `Prelude.seq` Prelude.rnf channelArn+      `Prelude.seq` Prelude.rnf messageId++instance Data.ToHeaders RedactChannelMessage where+  toHeaders RedactChannelMessage' {..} =+    Prelude.mconcat+      ["x-amz-chime-bearer" Data.=# chimeBearer]++instance Data.ToJSON RedactChannelMessage where+  toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath RedactChannelMessage where+  toPath RedactChannelMessage' {..} =+    Prelude.mconcat+      [ "/channels/",+        Data.toBS channelArn,+        "/messages/",+        Data.toBS messageId+      ]++instance Data.ToQuery RedactChannelMessage where+  toQuery =+    Prelude.const+      (Prelude.mconcat ["operation=redact"])++-- | /See:/ 'newRedactChannelMessageResponse' smart constructor.+data RedactChannelMessageResponse = RedactChannelMessageResponse'+  { -- | The ARN of the channel containing the messages that you want to redact.+    channelArn :: Prelude.Maybe Prelude.Text,+    -- | The ID of the message being redacted.+    messageId :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RedactChannelMessageResponse' 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:+--+-- 'channelArn', 'redactChannelMessageResponse_channelArn' - The ARN of the channel containing the messages that you want to redact.+--+-- 'messageId', 'redactChannelMessageResponse_messageId' - The ID of the message being redacted.+--+-- 'httpStatus', 'redactChannelMessageResponse_httpStatus' - The response's http status code.+newRedactChannelMessageResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  RedactChannelMessageResponse+newRedactChannelMessageResponse pHttpStatus_ =+  RedactChannelMessageResponse'+    { channelArn =+        Prelude.Nothing,+      messageId = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The ARN of the channel containing the messages that you want to redact.+redactChannelMessageResponse_channelArn :: Lens.Lens' RedactChannelMessageResponse (Prelude.Maybe Prelude.Text)+redactChannelMessageResponse_channelArn = Lens.lens (\RedactChannelMessageResponse' {channelArn} -> channelArn) (\s@RedactChannelMessageResponse' {} a -> s {channelArn = a} :: RedactChannelMessageResponse)++-- | The ID of the message being redacted.+redactChannelMessageResponse_messageId :: Lens.Lens' RedactChannelMessageResponse (Prelude.Maybe Prelude.Text)+redactChannelMessageResponse_messageId = Lens.lens (\RedactChannelMessageResponse' {messageId} -> messageId) (\s@RedactChannelMessageResponse' {} a -> s {messageId = a} :: RedactChannelMessageResponse)++-- | The response's http status code.+redactChannelMessageResponse_httpStatus :: Lens.Lens' RedactChannelMessageResponse Prelude.Int+redactChannelMessageResponse_httpStatus = Lens.lens (\RedactChannelMessageResponse' {httpStatus} -> httpStatus) (\s@RedactChannelMessageResponse' {} a -> s {httpStatus = a} :: RedactChannelMessageResponse)++instance Prelude.NFData RedactChannelMessageResponse where+  rnf RedactChannelMessageResponse' {..} =+    Prelude.rnf channelArn+      `Prelude.seq` Prelude.rnf messageId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/RedactConversationMessage.hs view
@@ -0,0 +1,189 @@+{-# 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.Chime.RedactConversationMessage+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Redacts the specified message from the specified Amazon Chime+-- conversation.+module Amazonka.Chime.RedactConversationMessage+  ( -- * Creating a Request+    RedactConversationMessage (..),+    newRedactConversationMessage,++    -- * Request Lenses+    redactConversationMessage_accountId,+    redactConversationMessage_conversationId,+    redactConversationMessage_messageId,++    -- * Destructuring the Response+    RedactConversationMessageResponse (..),+    newRedactConversationMessageResponse,++    -- * Response Lenses+    redactConversationMessageResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newRedactConversationMessage' smart constructor.+data RedactConversationMessage = RedactConversationMessage'+  { -- | The Amazon Chime account ID.+    accountId :: Prelude.Text,+    -- | The conversation ID.+    conversationId :: Prelude.Text,+    -- | The message ID.+    messageId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RedactConversationMessage' 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:+--+-- 'accountId', 'redactConversationMessage_accountId' - The Amazon Chime account ID.+--+-- 'conversationId', 'redactConversationMessage_conversationId' - The conversation ID.+--+-- 'messageId', 'redactConversationMessage_messageId' - The message ID.+newRedactConversationMessage ::+  -- | 'accountId'+  Prelude.Text ->+  -- | 'conversationId'+  Prelude.Text ->+  -- | 'messageId'+  Prelude.Text ->+  RedactConversationMessage+newRedactConversationMessage+  pAccountId_+  pConversationId_+  pMessageId_ =+    RedactConversationMessage'+      { accountId = pAccountId_,+        conversationId = pConversationId_,+        messageId = pMessageId_+      }++-- | The Amazon Chime account ID.+redactConversationMessage_accountId :: Lens.Lens' RedactConversationMessage Prelude.Text+redactConversationMessage_accountId = Lens.lens (\RedactConversationMessage' {accountId} -> accountId) (\s@RedactConversationMessage' {} a -> s {accountId = a} :: RedactConversationMessage)++-- | The conversation ID.+redactConversationMessage_conversationId :: Lens.Lens' RedactConversationMessage Prelude.Text+redactConversationMessage_conversationId = Lens.lens (\RedactConversationMessage' {conversationId} -> conversationId) (\s@RedactConversationMessage' {} a -> s {conversationId = a} :: RedactConversationMessage)++-- | The message ID.+redactConversationMessage_messageId :: Lens.Lens' RedactConversationMessage Prelude.Text+redactConversationMessage_messageId = Lens.lens (\RedactConversationMessage' {messageId} -> messageId) (\s@RedactConversationMessage' {} a -> s {messageId = a} :: RedactConversationMessage)++instance Core.AWSRequest RedactConversationMessage where+  type+    AWSResponse RedactConversationMessage =+      RedactConversationMessageResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          RedactConversationMessageResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable RedactConversationMessage where+  hashWithSalt _salt RedactConversationMessage' {..} =+    _salt+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` conversationId+      `Prelude.hashWithSalt` messageId++instance Prelude.NFData RedactConversationMessage where+  rnf RedactConversationMessage' {..} =+    Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf conversationId+      `Prelude.seq` Prelude.rnf messageId++instance Data.ToHeaders RedactConversationMessage where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON RedactConversationMessage where+  toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath RedactConversationMessage where+  toPath RedactConversationMessage' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS accountId,+        "/conversations/",+        Data.toBS conversationId,+        "/messages/",+        Data.toBS messageId+      ]++instance Data.ToQuery RedactConversationMessage where+  toQuery =+    Prelude.const+      (Prelude.mconcat ["operation=redact"])++-- | /See:/ 'newRedactConversationMessageResponse' smart constructor.+data RedactConversationMessageResponse = RedactConversationMessageResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RedactConversationMessageResponse' 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', 'redactConversationMessageResponse_httpStatus' - The response's http status code.+newRedactConversationMessageResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  RedactConversationMessageResponse+newRedactConversationMessageResponse pHttpStatus_ =+  RedactConversationMessageResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+redactConversationMessageResponse_httpStatus :: Lens.Lens' RedactConversationMessageResponse Prelude.Int+redactConversationMessageResponse_httpStatus = Lens.lens (\RedactConversationMessageResponse' {httpStatus} -> httpStatus) (\s@RedactConversationMessageResponse' {} a -> s {httpStatus = a} :: RedactConversationMessageResponse)++instance+  Prelude.NFData+    RedactConversationMessageResponse+  where+  rnf RedactConversationMessageResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/Chime/RedactRoomMessage.hs view
@@ -0,0 +1,182 @@+{-# 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.Chime.RedactRoomMessage+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Redacts the specified message from the specified Amazon Chime channel.+module Amazonka.Chime.RedactRoomMessage+  ( -- * Creating a Request+    RedactRoomMessage (..),+    newRedactRoomMessage,++    -- * Request Lenses+    redactRoomMessage_accountId,+    redactRoomMessage_roomId,+    redactRoomMessage_messageId,++    -- * Destructuring the Response+    RedactRoomMessageResponse (..),+    newRedactRoomMessageResponse,++    -- * Response Lenses+    redactRoomMessageResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newRedactRoomMessage' smart constructor.+data RedactRoomMessage = RedactRoomMessage'+  { -- | The Amazon Chime account ID.+    accountId :: Prelude.Text,+    -- | The room ID.+    roomId :: Prelude.Text,+    -- | The message ID.+    messageId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RedactRoomMessage' 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:+--+-- 'accountId', 'redactRoomMessage_accountId' - The Amazon Chime account ID.+--+-- 'roomId', 'redactRoomMessage_roomId' - The room ID.+--+-- 'messageId', 'redactRoomMessage_messageId' - The message ID.+newRedactRoomMessage ::+  -- | 'accountId'+  Prelude.Text ->+  -- | 'roomId'+  Prelude.Text ->+  -- | 'messageId'+  Prelude.Text ->+  RedactRoomMessage+newRedactRoomMessage pAccountId_ pRoomId_ pMessageId_ =+  RedactRoomMessage'+    { accountId = pAccountId_,+      roomId = pRoomId_,+      messageId = pMessageId_+    }++-- | The Amazon Chime account ID.+redactRoomMessage_accountId :: Lens.Lens' RedactRoomMessage Prelude.Text+redactRoomMessage_accountId = Lens.lens (\RedactRoomMessage' {accountId} -> accountId) (\s@RedactRoomMessage' {} a -> s {accountId = a} :: RedactRoomMessage)++-- | The room ID.+redactRoomMessage_roomId :: Lens.Lens' RedactRoomMessage Prelude.Text+redactRoomMessage_roomId = Lens.lens (\RedactRoomMessage' {roomId} -> roomId) (\s@RedactRoomMessage' {} a -> s {roomId = a} :: RedactRoomMessage)++-- | The message ID.+redactRoomMessage_messageId :: Lens.Lens' RedactRoomMessage Prelude.Text+redactRoomMessage_messageId = Lens.lens (\RedactRoomMessage' {messageId} -> messageId) (\s@RedactRoomMessage' {} a -> s {messageId = a} :: RedactRoomMessage)++instance Core.AWSRequest RedactRoomMessage where+  type+    AWSResponse RedactRoomMessage =+      RedactRoomMessageResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          RedactRoomMessageResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable RedactRoomMessage where+  hashWithSalt _salt RedactRoomMessage' {..} =+    _salt+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` roomId+      `Prelude.hashWithSalt` messageId++instance Prelude.NFData RedactRoomMessage where+  rnf RedactRoomMessage' {..} =+    Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf roomId+      `Prelude.seq` Prelude.rnf messageId++instance Data.ToHeaders RedactRoomMessage where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON RedactRoomMessage where+  toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath RedactRoomMessage where+  toPath RedactRoomMessage' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS accountId,+        "/rooms/",+        Data.toBS roomId,+        "/messages/",+        Data.toBS messageId+      ]++instance Data.ToQuery RedactRoomMessage where+  toQuery =+    Prelude.const+      (Prelude.mconcat ["operation=redact"])++-- | /See:/ 'newRedactRoomMessageResponse' smart constructor.+data RedactRoomMessageResponse = RedactRoomMessageResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RedactRoomMessageResponse' 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', 'redactRoomMessageResponse_httpStatus' - The response's http status code.+newRedactRoomMessageResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  RedactRoomMessageResponse+newRedactRoomMessageResponse pHttpStatus_ =+  RedactRoomMessageResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+redactRoomMessageResponse_httpStatus :: Lens.Lens' RedactRoomMessageResponse Prelude.Int+redactRoomMessageResponse_httpStatus = Lens.lens (\RedactRoomMessageResponse' {httpStatus} -> httpStatus) (\s@RedactRoomMessageResponse' {} a -> s {httpStatus = a} :: RedactRoomMessageResponse)++instance Prelude.NFData RedactRoomMessageResponse where+  rnf RedactRoomMessageResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/Chime/RegenerateSecurityToken.hs view
@@ -0,0 +1,182 @@+{-# 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.Chime.RegenerateSecurityToken+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Regenerates the security token for a bot.+module Amazonka.Chime.RegenerateSecurityToken+  ( -- * Creating a Request+    RegenerateSecurityToken (..),+    newRegenerateSecurityToken,++    -- * Request Lenses+    regenerateSecurityToken_accountId,+    regenerateSecurityToken_botId,++    -- * Destructuring the Response+    RegenerateSecurityTokenResponse (..),+    newRegenerateSecurityTokenResponse,++    -- * Response Lenses+    regenerateSecurityTokenResponse_bot,+    regenerateSecurityTokenResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newRegenerateSecurityToken' smart constructor.+data RegenerateSecurityToken = RegenerateSecurityToken'+  { -- | The Amazon Chime account ID.+    accountId :: Prelude.Text,+    -- | The bot ID.+    botId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RegenerateSecurityToken' 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:+--+-- 'accountId', 'regenerateSecurityToken_accountId' - The Amazon Chime account ID.+--+-- 'botId', 'regenerateSecurityToken_botId' - The bot ID.+newRegenerateSecurityToken ::+  -- | 'accountId'+  Prelude.Text ->+  -- | 'botId'+  Prelude.Text ->+  RegenerateSecurityToken+newRegenerateSecurityToken pAccountId_ pBotId_ =+  RegenerateSecurityToken'+    { accountId = pAccountId_,+      botId = pBotId_+    }++-- | The Amazon Chime account ID.+regenerateSecurityToken_accountId :: Lens.Lens' RegenerateSecurityToken Prelude.Text+regenerateSecurityToken_accountId = Lens.lens (\RegenerateSecurityToken' {accountId} -> accountId) (\s@RegenerateSecurityToken' {} a -> s {accountId = a} :: RegenerateSecurityToken)++-- | The bot ID.+regenerateSecurityToken_botId :: Lens.Lens' RegenerateSecurityToken Prelude.Text+regenerateSecurityToken_botId = Lens.lens (\RegenerateSecurityToken' {botId} -> botId) (\s@RegenerateSecurityToken' {} a -> s {botId = a} :: RegenerateSecurityToken)++instance Core.AWSRequest RegenerateSecurityToken where+  type+    AWSResponse RegenerateSecurityToken =+      RegenerateSecurityTokenResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          RegenerateSecurityTokenResponse'+            Prelude.<$> (x Data..?> "Bot")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable RegenerateSecurityToken where+  hashWithSalt _salt RegenerateSecurityToken' {..} =+    _salt+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` botId++instance Prelude.NFData RegenerateSecurityToken where+  rnf RegenerateSecurityToken' {..} =+    Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf botId++instance Data.ToHeaders RegenerateSecurityToken where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON RegenerateSecurityToken where+  toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath RegenerateSecurityToken where+  toPath RegenerateSecurityToken' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS accountId,+        "/bots/",+        Data.toBS botId+      ]++instance Data.ToQuery RegenerateSecurityToken where+  toQuery =+    Prelude.const+      ( Prelude.mconcat+          ["operation=regenerate-security-token"]+      )++-- | /See:/ 'newRegenerateSecurityTokenResponse' smart constructor.+data RegenerateSecurityTokenResponse = RegenerateSecurityTokenResponse'+  { bot :: Prelude.Maybe Bot,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RegenerateSecurityTokenResponse' 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:+--+-- 'bot', 'regenerateSecurityTokenResponse_bot' - Undocumented member.+--+-- 'httpStatus', 'regenerateSecurityTokenResponse_httpStatus' - The response's http status code.+newRegenerateSecurityTokenResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  RegenerateSecurityTokenResponse+newRegenerateSecurityTokenResponse pHttpStatus_ =+  RegenerateSecurityTokenResponse'+    { bot =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+regenerateSecurityTokenResponse_bot :: Lens.Lens' RegenerateSecurityTokenResponse (Prelude.Maybe Bot)+regenerateSecurityTokenResponse_bot = Lens.lens (\RegenerateSecurityTokenResponse' {bot} -> bot) (\s@RegenerateSecurityTokenResponse' {} a -> s {bot = a} :: RegenerateSecurityTokenResponse)++-- | The response's http status code.+regenerateSecurityTokenResponse_httpStatus :: Lens.Lens' RegenerateSecurityTokenResponse Prelude.Int+regenerateSecurityTokenResponse_httpStatus = Lens.lens (\RegenerateSecurityTokenResponse' {httpStatus} -> httpStatus) (\s@RegenerateSecurityTokenResponse' {} a -> s {httpStatus = a} :: RegenerateSecurityTokenResponse)++instance+  Prelude.NFData+    RegenerateSecurityTokenResponse+  where+  rnf RegenerateSecurityTokenResponse' {..} =+    Prelude.rnf bot+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/ResetPersonalPIN.hs view
@@ -0,0 +1,179 @@+{-# 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.Chime.ResetPersonalPIN+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Resets the personal meeting PIN for the specified user on an Amazon+-- Chime account. Returns the User object with the updated personal meeting+-- PIN.+module Amazonka.Chime.ResetPersonalPIN+  ( -- * Creating a Request+    ResetPersonalPIN (..),+    newResetPersonalPIN,++    -- * Request Lenses+    resetPersonalPIN_accountId,+    resetPersonalPIN_userId,++    -- * Destructuring the Response+    ResetPersonalPINResponse (..),+    newResetPersonalPINResponse,++    -- * Response Lenses+    resetPersonalPINResponse_user,+    resetPersonalPINResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newResetPersonalPIN' smart constructor.+data ResetPersonalPIN = ResetPersonalPIN'+  { -- | The Amazon Chime account ID.+    accountId :: Prelude.Text,+    -- | The user ID.+    userId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ResetPersonalPIN' 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:+--+-- 'accountId', 'resetPersonalPIN_accountId' - The Amazon Chime account ID.+--+-- 'userId', 'resetPersonalPIN_userId' - The user ID.+newResetPersonalPIN ::+  -- | 'accountId'+  Prelude.Text ->+  -- | 'userId'+  Prelude.Text ->+  ResetPersonalPIN+newResetPersonalPIN pAccountId_ pUserId_ =+  ResetPersonalPIN'+    { accountId = pAccountId_,+      userId = pUserId_+    }++-- | The Amazon Chime account ID.+resetPersonalPIN_accountId :: Lens.Lens' ResetPersonalPIN Prelude.Text+resetPersonalPIN_accountId = Lens.lens (\ResetPersonalPIN' {accountId} -> accountId) (\s@ResetPersonalPIN' {} a -> s {accountId = a} :: ResetPersonalPIN)++-- | The user ID.+resetPersonalPIN_userId :: Lens.Lens' ResetPersonalPIN Prelude.Text+resetPersonalPIN_userId = Lens.lens (\ResetPersonalPIN' {userId} -> userId) (\s@ResetPersonalPIN' {} a -> s {userId = a} :: ResetPersonalPIN)++instance Core.AWSRequest ResetPersonalPIN where+  type+    AWSResponse ResetPersonalPIN =+      ResetPersonalPINResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ResetPersonalPINResponse'+            Prelude.<$> (x Data..?> "User")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ResetPersonalPIN where+  hashWithSalt _salt ResetPersonalPIN' {..} =+    _salt+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` userId++instance Prelude.NFData ResetPersonalPIN where+  rnf ResetPersonalPIN' {..} =+    Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf userId++instance Data.ToHeaders ResetPersonalPIN where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON ResetPersonalPIN where+  toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath ResetPersonalPIN where+  toPath ResetPersonalPIN' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS accountId,+        "/users/",+        Data.toBS userId+      ]++instance Data.ToQuery ResetPersonalPIN where+  toQuery =+    Prelude.const+      (Prelude.mconcat ["operation=reset-personal-pin"])++-- | /See:/ 'newResetPersonalPINResponse' smart constructor.+data ResetPersonalPINResponse = ResetPersonalPINResponse'+  { -- | The user details and new personal meeting PIN.+    user :: Prelude.Maybe User,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ResetPersonalPINResponse' 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:+--+-- 'user', 'resetPersonalPINResponse_user' - The user details and new personal meeting PIN.+--+-- 'httpStatus', 'resetPersonalPINResponse_httpStatus' - The response's http status code.+newResetPersonalPINResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ResetPersonalPINResponse+newResetPersonalPINResponse pHttpStatus_ =+  ResetPersonalPINResponse'+    { user = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The user details and new personal meeting PIN.+resetPersonalPINResponse_user :: Lens.Lens' ResetPersonalPINResponse (Prelude.Maybe User)+resetPersonalPINResponse_user = Lens.lens (\ResetPersonalPINResponse' {user} -> user) (\s@ResetPersonalPINResponse' {} a -> s {user = a} :: ResetPersonalPINResponse)++-- | The response's http status code.+resetPersonalPINResponse_httpStatus :: Lens.Lens' ResetPersonalPINResponse Prelude.Int+resetPersonalPINResponse_httpStatus = Lens.lens (\ResetPersonalPINResponse' {httpStatus} -> httpStatus) (\s@ResetPersonalPINResponse' {} a -> s {httpStatus = a} :: ResetPersonalPINResponse)++instance Prelude.NFData ResetPersonalPINResponse where+  rnf ResetPersonalPINResponse' {..} =+    Prelude.rnf user+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/RestorePhoneNumber.hs view
@@ -0,0 +1,161 @@+{-# 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.Chime.RestorePhoneNumber+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Moves a phone number from the __Deletion queue__ back into the phone+-- number __Inventory__.+module Amazonka.Chime.RestorePhoneNumber+  ( -- * Creating a Request+    RestorePhoneNumber (..),+    newRestorePhoneNumber,++    -- * Request Lenses+    restorePhoneNumber_phoneNumberId,++    -- * Destructuring the Response+    RestorePhoneNumberResponse (..),+    newRestorePhoneNumberResponse,++    -- * Response Lenses+    restorePhoneNumberResponse_phoneNumber,+    restorePhoneNumberResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newRestorePhoneNumber' smart constructor.+data RestorePhoneNumber = RestorePhoneNumber'+  { -- | The phone number.+    phoneNumberId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RestorePhoneNumber' 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:+--+-- 'phoneNumberId', 'restorePhoneNumber_phoneNumberId' - The phone number.+newRestorePhoneNumber ::+  -- | 'phoneNumberId'+  Prelude.Text ->+  RestorePhoneNumber+newRestorePhoneNumber pPhoneNumberId_ =+  RestorePhoneNumber'+    { phoneNumberId =+        pPhoneNumberId_+    }++-- | The phone number.+restorePhoneNumber_phoneNumberId :: Lens.Lens' RestorePhoneNumber Prelude.Text+restorePhoneNumber_phoneNumberId = Lens.lens (\RestorePhoneNumber' {phoneNumberId} -> phoneNumberId) (\s@RestorePhoneNumber' {} a -> s {phoneNumberId = a} :: RestorePhoneNumber)++instance Core.AWSRequest RestorePhoneNumber where+  type+    AWSResponse RestorePhoneNumber =+      RestorePhoneNumberResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          RestorePhoneNumberResponse'+            Prelude.<$> (x Data..?> "PhoneNumber")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable RestorePhoneNumber where+  hashWithSalt _salt RestorePhoneNumber' {..} =+    _salt `Prelude.hashWithSalt` phoneNumberId++instance Prelude.NFData RestorePhoneNumber where+  rnf RestorePhoneNumber' {..} =+    Prelude.rnf phoneNumberId++instance Data.ToHeaders RestorePhoneNumber where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON RestorePhoneNumber where+  toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath RestorePhoneNumber where+  toPath RestorePhoneNumber' {..} =+    Prelude.mconcat+      ["/phone-numbers/", Data.toBS phoneNumberId]++instance Data.ToQuery RestorePhoneNumber where+  toQuery =+    Prelude.const+      (Prelude.mconcat ["operation=restore"])++-- | /See:/ 'newRestorePhoneNumberResponse' smart constructor.+data RestorePhoneNumberResponse = RestorePhoneNumberResponse'+  { -- | The phone number details.+    phoneNumber :: Prelude.Maybe PhoneNumber,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RestorePhoneNumberResponse' 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:+--+-- 'phoneNumber', 'restorePhoneNumberResponse_phoneNumber' - The phone number details.+--+-- 'httpStatus', 'restorePhoneNumberResponse_httpStatus' - The response's http status code.+newRestorePhoneNumberResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  RestorePhoneNumberResponse+newRestorePhoneNumberResponse pHttpStatus_ =+  RestorePhoneNumberResponse'+    { phoneNumber =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The phone number details.+restorePhoneNumberResponse_phoneNumber :: Lens.Lens' RestorePhoneNumberResponse (Prelude.Maybe PhoneNumber)+restorePhoneNumberResponse_phoneNumber = Lens.lens (\RestorePhoneNumberResponse' {phoneNumber} -> phoneNumber) (\s@RestorePhoneNumberResponse' {} a -> s {phoneNumber = a} :: RestorePhoneNumberResponse)++-- | The response's http status code.+restorePhoneNumberResponse_httpStatus :: Lens.Lens' RestorePhoneNumberResponse Prelude.Int+restorePhoneNumberResponse_httpStatus = Lens.lens (\RestorePhoneNumberResponse' {httpStatus} -> httpStatus) (\s@RestorePhoneNumberResponse' {} a -> s {httpStatus = a} :: RestorePhoneNumberResponse)++instance Prelude.NFData RestorePhoneNumberResponse where+  rnf RestorePhoneNumberResponse' {..} =+    Prelude.rnf phoneNumber+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/SearchAvailablePhoneNumbers.hs view
@@ -0,0 +1,281 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Chime.SearchAvailablePhoneNumbers+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Searches for phone numbers that can be ordered. For US numbers, provide+-- at least one of the following search filters: @AreaCode@, @City@,+-- @State@, or @TollFreePrefix@. If you provide @City@, you must also+-- provide @State@. Numbers outside the US only support the+-- @PhoneNumberType@ filter, which you must use.+module Amazonka.Chime.SearchAvailablePhoneNumbers+  ( -- * Creating a Request+    SearchAvailablePhoneNumbers (..),+    newSearchAvailablePhoneNumbers,++    -- * Request Lenses+    searchAvailablePhoneNumbers_areaCode,+    searchAvailablePhoneNumbers_city,+    searchAvailablePhoneNumbers_country,+    searchAvailablePhoneNumbers_maxResults,+    searchAvailablePhoneNumbers_nextToken,+    searchAvailablePhoneNumbers_phoneNumberType,+    searchAvailablePhoneNumbers_state,+    searchAvailablePhoneNumbers_tollFreePrefix,++    -- * Destructuring the Response+    SearchAvailablePhoneNumbersResponse (..),+    newSearchAvailablePhoneNumbersResponse,++    -- * Response Lenses+    searchAvailablePhoneNumbersResponse_e164PhoneNumbers,+    searchAvailablePhoneNumbersResponse_nextToken,+    searchAvailablePhoneNumbersResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newSearchAvailablePhoneNumbers' smart constructor.+data SearchAvailablePhoneNumbers = SearchAvailablePhoneNumbers'+  { -- | The area code used to filter results. Only applies to the US.+    areaCode :: Prelude.Maybe Prelude.Text,+    -- | The city used to filter results. Only applies to the US.+    city :: Prelude.Maybe Prelude.Text,+    -- | The country used to filter results. Defaults to the US Format: ISO+    -- 3166-1 alpha-2.+    country :: Prelude.Maybe Prelude.Text,+    -- | The maximum number of results to return in a single call.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token used to retrieve the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The phone number type used to filter results. Required for non-US+    -- numbers.+    phoneNumberType :: Prelude.Maybe PhoneNumberType,+    -- | The state used to filter results. Required only if you provide @City@.+    -- Only applies to the US.+    state :: Prelude.Maybe Prelude.Text,+    -- | The toll-free prefix that you use to filter results. Only applies to the+    -- US.+    tollFreePrefix :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SearchAvailablePhoneNumbers' 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:+--+-- 'areaCode', 'searchAvailablePhoneNumbers_areaCode' - The area code used to filter results. Only applies to the US.+--+-- 'city', 'searchAvailablePhoneNumbers_city' - The city used to filter results. Only applies to the US.+--+-- 'country', 'searchAvailablePhoneNumbers_country' - The country used to filter results. Defaults to the US Format: ISO+-- 3166-1 alpha-2.+--+-- 'maxResults', 'searchAvailablePhoneNumbers_maxResults' - The maximum number of results to return in a single call.+--+-- 'nextToken', 'searchAvailablePhoneNumbers_nextToken' - The token used to retrieve the next page of results.+--+-- 'phoneNumberType', 'searchAvailablePhoneNumbers_phoneNumberType' - The phone number type used to filter results. Required for non-US+-- numbers.+--+-- 'state', 'searchAvailablePhoneNumbers_state' - The state used to filter results. Required only if you provide @City@.+-- Only applies to the US.+--+-- 'tollFreePrefix', 'searchAvailablePhoneNumbers_tollFreePrefix' - The toll-free prefix that you use to filter results. Only applies to the+-- US.+newSearchAvailablePhoneNumbers ::+  SearchAvailablePhoneNumbers+newSearchAvailablePhoneNumbers =+  SearchAvailablePhoneNumbers'+    { areaCode =+        Prelude.Nothing,+      city = Prelude.Nothing,+      country = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      phoneNumberType = Prelude.Nothing,+      state = Prelude.Nothing,+      tollFreePrefix = Prelude.Nothing+    }++-- | The area code used to filter results. Only applies to the US.+searchAvailablePhoneNumbers_areaCode :: Lens.Lens' SearchAvailablePhoneNumbers (Prelude.Maybe Prelude.Text)+searchAvailablePhoneNumbers_areaCode = Lens.lens (\SearchAvailablePhoneNumbers' {areaCode} -> areaCode) (\s@SearchAvailablePhoneNumbers' {} a -> s {areaCode = a} :: SearchAvailablePhoneNumbers)++-- | The city used to filter results. Only applies to the US.+searchAvailablePhoneNumbers_city :: Lens.Lens' SearchAvailablePhoneNumbers (Prelude.Maybe Prelude.Text)+searchAvailablePhoneNumbers_city = Lens.lens (\SearchAvailablePhoneNumbers' {city} -> city) (\s@SearchAvailablePhoneNumbers' {} a -> s {city = a} :: SearchAvailablePhoneNumbers)++-- | The country used to filter results. Defaults to the US Format: ISO+-- 3166-1 alpha-2.+searchAvailablePhoneNumbers_country :: Lens.Lens' SearchAvailablePhoneNumbers (Prelude.Maybe Prelude.Text)+searchAvailablePhoneNumbers_country = Lens.lens (\SearchAvailablePhoneNumbers' {country} -> country) (\s@SearchAvailablePhoneNumbers' {} a -> s {country = a} :: SearchAvailablePhoneNumbers)++-- | The maximum number of results to return in a single call.+searchAvailablePhoneNumbers_maxResults :: Lens.Lens' SearchAvailablePhoneNumbers (Prelude.Maybe Prelude.Natural)+searchAvailablePhoneNumbers_maxResults = Lens.lens (\SearchAvailablePhoneNumbers' {maxResults} -> maxResults) (\s@SearchAvailablePhoneNumbers' {} a -> s {maxResults = a} :: SearchAvailablePhoneNumbers)++-- | The token used to retrieve the next page of results.+searchAvailablePhoneNumbers_nextToken :: Lens.Lens' SearchAvailablePhoneNumbers (Prelude.Maybe Prelude.Text)+searchAvailablePhoneNumbers_nextToken = Lens.lens (\SearchAvailablePhoneNumbers' {nextToken} -> nextToken) (\s@SearchAvailablePhoneNumbers' {} a -> s {nextToken = a} :: SearchAvailablePhoneNumbers)++-- | The phone number type used to filter results. Required for non-US+-- numbers.+searchAvailablePhoneNumbers_phoneNumberType :: Lens.Lens' SearchAvailablePhoneNumbers (Prelude.Maybe PhoneNumberType)+searchAvailablePhoneNumbers_phoneNumberType = Lens.lens (\SearchAvailablePhoneNumbers' {phoneNumberType} -> phoneNumberType) (\s@SearchAvailablePhoneNumbers' {} a -> s {phoneNumberType = a} :: SearchAvailablePhoneNumbers)++-- | The state used to filter results. Required only if you provide @City@.+-- Only applies to the US.+searchAvailablePhoneNumbers_state :: Lens.Lens' SearchAvailablePhoneNumbers (Prelude.Maybe Prelude.Text)+searchAvailablePhoneNumbers_state = Lens.lens (\SearchAvailablePhoneNumbers' {state} -> state) (\s@SearchAvailablePhoneNumbers' {} a -> s {state = a} :: SearchAvailablePhoneNumbers)++-- | The toll-free prefix that you use to filter results. Only applies to the+-- US.+searchAvailablePhoneNumbers_tollFreePrefix :: Lens.Lens' SearchAvailablePhoneNumbers (Prelude.Maybe Prelude.Text)+searchAvailablePhoneNumbers_tollFreePrefix = Lens.lens (\SearchAvailablePhoneNumbers' {tollFreePrefix} -> tollFreePrefix) (\s@SearchAvailablePhoneNumbers' {} a -> s {tollFreePrefix = a} :: SearchAvailablePhoneNumbers)++instance Core.AWSRequest SearchAvailablePhoneNumbers where+  type+    AWSResponse SearchAvailablePhoneNumbers =+      SearchAvailablePhoneNumbersResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          SearchAvailablePhoneNumbersResponse'+            Prelude.<$> ( x+                            Data..?> "E164PhoneNumbers"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable SearchAvailablePhoneNumbers where+  hashWithSalt _salt SearchAvailablePhoneNumbers' {..} =+    _salt+      `Prelude.hashWithSalt` areaCode+      `Prelude.hashWithSalt` city+      `Prelude.hashWithSalt` country+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` phoneNumberType+      `Prelude.hashWithSalt` state+      `Prelude.hashWithSalt` tollFreePrefix++instance Prelude.NFData SearchAvailablePhoneNumbers where+  rnf SearchAvailablePhoneNumbers' {..} =+    Prelude.rnf areaCode+      `Prelude.seq` Prelude.rnf city+      `Prelude.seq` Prelude.rnf country+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf phoneNumberType+      `Prelude.seq` Prelude.rnf state+      `Prelude.seq` Prelude.rnf tollFreePrefix++instance Data.ToHeaders SearchAvailablePhoneNumbers where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath SearchAvailablePhoneNumbers where+  toPath = Prelude.const "/search"++instance Data.ToQuery SearchAvailablePhoneNumbers where+  toQuery SearchAvailablePhoneNumbers' {..} =+    Prelude.mconcat+      [ "area-code" Data.=: areaCode,+        "city" Data.=: city,+        "country" Data.=: country,+        "max-results" Data.=: maxResults,+        "next-token" Data.=: nextToken,+        "phone-number-type" Data.=: phoneNumberType,+        "state" Data.=: state,+        "toll-free-prefix" Data.=: tollFreePrefix,+        "type=phone-numbers"+      ]++-- | /See:/ 'newSearchAvailablePhoneNumbersResponse' smart constructor.+data SearchAvailablePhoneNumbersResponse = SearchAvailablePhoneNumbersResponse'+  { -- | List of phone numbers, in E.164 format.+    e164PhoneNumbers :: Prelude.Maybe [Data.Sensitive Prelude.Text],+    -- | The token used to retrieve the next page of search 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 'SearchAvailablePhoneNumbersResponse' 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:+--+-- 'e164PhoneNumbers', 'searchAvailablePhoneNumbersResponse_e164PhoneNumbers' - List of phone numbers, in E.164 format.+--+-- 'nextToken', 'searchAvailablePhoneNumbersResponse_nextToken' - The token used to retrieve the next page of search results.+--+-- 'httpStatus', 'searchAvailablePhoneNumbersResponse_httpStatus' - The response's http status code.+newSearchAvailablePhoneNumbersResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  SearchAvailablePhoneNumbersResponse+newSearchAvailablePhoneNumbersResponse pHttpStatus_ =+  SearchAvailablePhoneNumbersResponse'+    { e164PhoneNumbers =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | List of phone numbers, in E.164 format.+searchAvailablePhoneNumbersResponse_e164PhoneNumbers :: Lens.Lens' SearchAvailablePhoneNumbersResponse (Prelude.Maybe [Prelude.Text])+searchAvailablePhoneNumbersResponse_e164PhoneNumbers = Lens.lens (\SearchAvailablePhoneNumbersResponse' {e164PhoneNumbers} -> e164PhoneNumbers) (\s@SearchAvailablePhoneNumbersResponse' {} a -> s {e164PhoneNumbers = a} :: SearchAvailablePhoneNumbersResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token used to retrieve the next page of search results.+searchAvailablePhoneNumbersResponse_nextToken :: Lens.Lens' SearchAvailablePhoneNumbersResponse (Prelude.Maybe Prelude.Text)+searchAvailablePhoneNumbersResponse_nextToken = Lens.lens (\SearchAvailablePhoneNumbersResponse' {nextToken} -> nextToken) (\s@SearchAvailablePhoneNumbersResponse' {} a -> s {nextToken = a} :: SearchAvailablePhoneNumbersResponse)++-- | The response's http status code.+searchAvailablePhoneNumbersResponse_httpStatus :: Lens.Lens' SearchAvailablePhoneNumbersResponse Prelude.Int+searchAvailablePhoneNumbersResponse_httpStatus = Lens.lens (\SearchAvailablePhoneNumbersResponse' {httpStatus} -> httpStatus) (\s@SearchAvailablePhoneNumbersResponse' {} a -> s {httpStatus = a} :: SearchAvailablePhoneNumbersResponse)++instance+  Prelude.NFData+    SearchAvailablePhoneNumbersResponse+  where+  rnf SearchAvailablePhoneNumbersResponse' {..} =+    Prelude.rnf e164PhoneNumbers+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/SendChannelMessage.hs view
@@ -0,0 +1,279 @@+{-# 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.Chime.SendChannelMessage+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Sends a message to a particular channel that the member is a part of.+--+-- The @x-amz-chime-bearer@ request header is mandatory. Use the+-- @AppInstanceUserArn@ of the user that makes the API call as the value in+-- the header.+--+-- Also, @STANDARD@ messages can contain 4KB of data and the 1KB of+-- metadata. @CONTROL@ messages can contain 30 bytes of data and no+-- metadata.+module Amazonka.Chime.SendChannelMessage+  ( -- * Creating a Request+    SendChannelMessage (..),+    newSendChannelMessage,++    -- * Request Lenses+    sendChannelMessage_chimeBearer,+    sendChannelMessage_metadata,+    sendChannelMessage_channelArn,+    sendChannelMessage_content,+    sendChannelMessage_type,+    sendChannelMessage_persistence,+    sendChannelMessage_clientRequestToken,++    -- * Destructuring the Response+    SendChannelMessageResponse (..),+    newSendChannelMessageResponse,++    -- * Response Lenses+    sendChannelMessageResponse_channelArn,+    sendChannelMessageResponse_messageId,+    sendChannelMessageResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newSendChannelMessage' smart constructor.+data SendChannelMessage = SendChannelMessage'+  { -- | The @AppInstanceUserArn@ of the user that makes the API call.+    chimeBearer :: Prelude.Maybe Prelude.Text,+    -- | The optional metadata for each message.+    metadata :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The ARN of the channel.+    channelArn :: Prelude.Text,+    -- | The content of the message.+    content :: Data.Sensitive Prelude.Text,+    -- | The type of message, @STANDARD@ or @CONTROL@.+    type' :: ChannelMessageType,+    -- | Boolean that controls whether the message is persisted on the back end.+    -- Required.+    persistence :: ChannelMessagePersistenceType,+    -- | The @Idempotency@ token for each client request.+    clientRequestToken :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SendChannelMessage' 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:+--+-- 'chimeBearer', 'sendChannelMessage_chimeBearer' - The @AppInstanceUserArn@ of the user that makes the API call.+--+-- 'metadata', 'sendChannelMessage_metadata' - The optional metadata for each message.+--+-- 'channelArn', 'sendChannelMessage_channelArn' - The ARN of the channel.+--+-- 'content', 'sendChannelMessage_content' - The content of the message.+--+-- 'type'', 'sendChannelMessage_type' - The type of message, @STANDARD@ or @CONTROL@.+--+-- 'persistence', 'sendChannelMessage_persistence' - Boolean that controls whether the message is persisted on the back end.+-- Required.+--+-- 'clientRequestToken', 'sendChannelMessage_clientRequestToken' - The @Idempotency@ token for each client request.+newSendChannelMessage ::+  -- | 'channelArn'+  Prelude.Text ->+  -- | 'content'+  Prelude.Text ->+  -- | 'type''+  ChannelMessageType ->+  -- | 'persistence'+  ChannelMessagePersistenceType ->+  -- | 'clientRequestToken'+  Prelude.Text ->+  SendChannelMessage+newSendChannelMessage+  pChannelArn_+  pContent_+  pType_+  pPersistence_+  pClientRequestToken_ =+    SendChannelMessage'+      { chimeBearer = Prelude.Nothing,+        metadata = Prelude.Nothing,+        channelArn = pChannelArn_,+        content = Data._Sensitive Lens.# pContent_,+        type' = pType_,+        persistence = pPersistence_,+        clientRequestToken =+          Data._Sensitive Lens.# pClientRequestToken_+      }++-- | The @AppInstanceUserArn@ of the user that makes the API call.+sendChannelMessage_chimeBearer :: Lens.Lens' SendChannelMessage (Prelude.Maybe Prelude.Text)+sendChannelMessage_chimeBearer = Lens.lens (\SendChannelMessage' {chimeBearer} -> chimeBearer) (\s@SendChannelMessage' {} a -> s {chimeBearer = a} :: SendChannelMessage)++-- | The optional metadata for each message.+sendChannelMessage_metadata :: Lens.Lens' SendChannelMessage (Prelude.Maybe Prelude.Text)+sendChannelMessage_metadata = Lens.lens (\SendChannelMessage' {metadata} -> metadata) (\s@SendChannelMessage' {} a -> s {metadata = a} :: SendChannelMessage) Prelude.. Lens.mapping Data._Sensitive++-- | The ARN of the channel.+sendChannelMessage_channelArn :: Lens.Lens' SendChannelMessage Prelude.Text+sendChannelMessage_channelArn = Lens.lens (\SendChannelMessage' {channelArn} -> channelArn) (\s@SendChannelMessage' {} a -> s {channelArn = a} :: SendChannelMessage)++-- | The content of the message.+sendChannelMessage_content :: Lens.Lens' SendChannelMessage Prelude.Text+sendChannelMessage_content = Lens.lens (\SendChannelMessage' {content} -> content) (\s@SendChannelMessage' {} a -> s {content = a} :: SendChannelMessage) Prelude.. Data._Sensitive++-- | The type of message, @STANDARD@ or @CONTROL@.+sendChannelMessage_type :: Lens.Lens' SendChannelMessage ChannelMessageType+sendChannelMessage_type = Lens.lens (\SendChannelMessage' {type'} -> type') (\s@SendChannelMessage' {} a -> s {type' = a} :: SendChannelMessage)++-- | Boolean that controls whether the message is persisted on the back end.+-- Required.+sendChannelMessage_persistence :: Lens.Lens' SendChannelMessage ChannelMessagePersistenceType+sendChannelMessage_persistence = Lens.lens (\SendChannelMessage' {persistence} -> persistence) (\s@SendChannelMessage' {} a -> s {persistence = a} :: SendChannelMessage)++-- | The @Idempotency@ token for each client request.+sendChannelMessage_clientRequestToken :: Lens.Lens' SendChannelMessage Prelude.Text+sendChannelMessage_clientRequestToken = Lens.lens (\SendChannelMessage' {clientRequestToken} -> clientRequestToken) (\s@SendChannelMessage' {} a -> s {clientRequestToken = a} :: SendChannelMessage) Prelude.. Data._Sensitive++instance Core.AWSRequest SendChannelMessage where+  type+    AWSResponse SendChannelMessage =+      SendChannelMessageResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          SendChannelMessageResponse'+            Prelude.<$> (x Data..?> "ChannelArn")+            Prelude.<*> (x Data..?> "MessageId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable SendChannelMessage where+  hashWithSalt _salt SendChannelMessage' {..} =+    _salt+      `Prelude.hashWithSalt` chimeBearer+      `Prelude.hashWithSalt` metadata+      `Prelude.hashWithSalt` channelArn+      `Prelude.hashWithSalt` content+      `Prelude.hashWithSalt` type'+      `Prelude.hashWithSalt` persistence+      `Prelude.hashWithSalt` clientRequestToken++instance Prelude.NFData SendChannelMessage where+  rnf SendChannelMessage' {..} =+    Prelude.rnf chimeBearer+      `Prelude.seq` Prelude.rnf metadata+      `Prelude.seq` Prelude.rnf channelArn+      `Prelude.seq` Prelude.rnf content+      `Prelude.seq` Prelude.rnf type'+      `Prelude.seq` Prelude.rnf persistence+      `Prelude.seq` Prelude.rnf clientRequestToken++instance Data.ToHeaders SendChannelMessage where+  toHeaders SendChannelMessage' {..} =+    Prelude.mconcat+      ["x-amz-chime-bearer" Data.=# chimeBearer]++instance Data.ToJSON SendChannelMessage where+  toJSON SendChannelMessage' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Metadata" Data..=) Prelude.<$> metadata,+            Prelude.Just ("Content" Data..= content),+            Prelude.Just ("Type" Data..= type'),+            Prelude.Just ("Persistence" Data..= persistence),+            Prelude.Just+              ("ClientRequestToken" Data..= clientRequestToken)+          ]+      )++instance Data.ToPath SendChannelMessage where+  toPath SendChannelMessage' {..} =+    Prelude.mconcat+      ["/channels/", Data.toBS channelArn, "/messages"]++instance Data.ToQuery SendChannelMessage where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newSendChannelMessageResponse' smart constructor.+data SendChannelMessageResponse = SendChannelMessageResponse'+  { -- | The ARN of the channel.+    channelArn :: Prelude.Maybe Prelude.Text,+    -- | The ID string assigned to each message.+    messageId :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SendChannelMessageResponse' 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:+--+-- 'channelArn', 'sendChannelMessageResponse_channelArn' - The ARN of the channel.+--+-- 'messageId', 'sendChannelMessageResponse_messageId' - The ID string assigned to each message.+--+-- 'httpStatus', 'sendChannelMessageResponse_httpStatus' - The response's http status code.+newSendChannelMessageResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  SendChannelMessageResponse+newSendChannelMessageResponse pHttpStatus_ =+  SendChannelMessageResponse'+    { channelArn =+        Prelude.Nothing,+      messageId = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The ARN of the channel.+sendChannelMessageResponse_channelArn :: Lens.Lens' SendChannelMessageResponse (Prelude.Maybe Prelude.Text)+sendChannelMessageResponse_channelArn = Lens.lens (\SendChannelMessageResponse' {channelArn} -> channelArn) (\s@SendChannelMessageResponse' {} a -> s {channelArn = a} :: SendChannelMessageResponse)++-- | The ID string assigned to each message.+sendChannelMessageResponse_messageId :: Lens.Lens' SendChannelMessageResponse (Prelude.Maybe Prelude.Text)+sendChannelMessageResponse_messageId = Lens.lens (\SendChannelMessageResponse' {messageId} -> messageId) (\s@SendChannelMessageResponse' {} a -> s {messageId = a} :: SendChannelMessageResponse)++-- | The response's http status code.+sendChannelMessageResponse_httpStatus :: Lens.Lens' SendChannelMessageResponse Prelude.Int+sendChannelMessageResponse_httpStatus = Lens.lens (\SendChannelMessageResponse' {httpStatus} -> httpStatus) (\s@SendChannelMessageResponse' {} a -> s {httpStatus = a} :: SendChannelMessageResponse)++instance Prelude.NFData SendChannelMessageResponse where+  rnf SendChannelMessageResponse' {..} =+    Prelude.rnf channelArn+      `Prelude.seq` Prelude.rnf messageId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/StartMeetingTranscription.hs view
@@ -0,0 +1,178 @@+{-# 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.Chime.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.Chime.StartMeetingTranscription+  ( -- * Creating a Request+    StartMeetingTranscription (..),+    newStartMeetingTranscription,++    -- * Request Lenses+    startMeetingTranscription_meetingId,+    startMeetingTranscription_transcriptionConfiguration,++    -- * Destructuring the Response+    StartMeetingTranscriptionResponse (..),+    newStartMeetingTranscriptionResponse,++    -- * Response Lenses+    startMeetingTranscriptionResponse_httpStatus,+  )+where++import Amazonka.Chime.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.receiveEmpty+      ( \s h x ->+          StartMeetingTranscriptionResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++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'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  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.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'startMeetingTranscriptionResponse_httpStatus' - The response's http status code.+newStartMeetingTranscriptionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  StartMeetingTranscriptionResponse+newStartMeetingTranscriptionResponse pHttpStatus_ =+  StartMeetingTranscriptionResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+startMeetingTranscriptionResponse_httpStatus :: Lens.Lens' StartMeetingTranscriptionResponse Prelude.Int+startMeetingTranscriptionResponse_httpStatus = Lens.lens (\StartMeetingTranscriptionResponse' {httpStatus} -> httpStatus) (\s@StartMeetingTranscriptionResponse' {} a -> s {httpStatus = a} :: StartMeetingTranscriptionResponse)++instance+  Prelude.NFData+    StartMeetingTranscriptionResponse+  where+  rnf StartMeetingTranscriptionResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/Chime/StopMeetingTranscription.hs view
@@ -0,0 +1,147 @@+{-# 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.Chime.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.Chime.StopMeetingTranscription+  ( -- * Creating a Request+    StopMeetingTranscription (..),+    newStopMeetingTranscription,++    -- * Request Lenses+    stopMeetingTranscription_meetingId,++    -- * Destructuring the Response+    StopMeetingTranscriptionResponse (..),+    newStopMeetingTranscriptionResponse,++    -- * Response Lenses+    stopMeetingTranscriptionResponse_httpStatus,+  )+where++import Amazonka.Chime.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.receiveEmpty+      ( \s h x ->+          StopMeetingTranscriptionResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++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'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  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.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'stopMeetingTranscriptionResponse_httpStatus' - The response's http status code.+newStopMeetingTranscriptionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  StopMeetingTranscriptionResponse+newStopMeetingTranscriptionResponse pHttpStatus_ =+  StopMeetingTranscriptionResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+stopMeetingTranscriptionResponse_httpStatus :: Lens.Lens' StopMeetingTranscriptionResponse Prelude.Int+stopMeetingTranscriptionResponse_httpStatus = Lens.lens (\StopMeetingTranscriptionResponse' {httpStatus} -> httpStatus) (\s@StopMeetingTranscriptionResponse' {} a -> s {httpStatus = a} :: StopMeetingTranscriptionResponse)++instance+  Prelude.NFData+    StopMeetingTranscriptionResponse+  where+  rnf StopMeetingTranscriptionResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/Chime/TagAttendee.hs view
@@ -0,0 +1,157 @@+{-# 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.Chime.TagAttendee+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Applies the specified tags to the specified Amazon Chime SDK attendee.+module Amazonka.Chime.TagAttendee+  ( -- * Creating a Request+    TagAttendee (..),+    newTagAttendee,++    -- * Request Lenses+    tagAttendee_meetingId,+    tagAttendee_attendeeId,+    tagAttendee_tags,++    -- * Destructuring the Response+    TagAttendeeResponse (..),+    newTagAttendeeResponse,+  )+where++import Amazonka.Chime.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:/ 'newTagAttendee' smart constructor.+data TagAttendee = TagAttendee'+  { -- | The Amazon Chime SDK meeting ID.+    meetingId :: Prelude.Text,+    -- | The Amazon Chime SDK attendee ID.+    attendeeId :: Prelude.Text,+    -- | The tag key-value pairs.+    tags :: Prelude.NonEmpty Tag+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagAttendee' 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', 'tagAttendee_meetingId' - The Amazon Chime SDK meeting ID.+--+-- 'attendeeId', 'tagAttendee_attendeeId' - The Amazon Chime SDK attendee ID.+--+-- 'tags', 'tagAttendee_tags' - The tag key-value pairs.+newTagAttendee ::+  -- | 'meetingId'+  Prelude.Text ->+  -- | 'attendeeId'+  Prelude.Text ->+  -- | 'tags'+  Prelude.NonEmpty Tag ->+  TagAttendee+newTagAttendee pMeetingId_ pAttendeeId_ pTags_ =+  TagAttendee'+    { meetingId = pMeetingId_,+      attendeeId = pAttendeeId_,+      tags = Lens.coerced Lens.# pTags_+    }++-- | The Amazon Chime SDK meeting ID.+tagAttendee_meetingId :: Lens.Lens' TagAttendee Prelude.Text+tagAttendee_meetingId = Lens.lens (\TagAttendee' {meetingId} -> meetingId) (\s@TagAttendee' {} a -> s {meetingId = a} :: TagAttendee)++-- | The Amazon Chime SDK attendee ID.+tagAttendee_attendeeId :: Lens.Lens' TagAttendee Prelude.Text+tagAttendee_attendeeId = Lens.lens (\TagAttendee' {attendeeId} -> attendeeId) (\s@TagAttendee' {} a -> s {attendeeId = a} :: TagAttendee)++-- | The tag key-value pairs.+tagAttendee_tags :: Lens.Lens' TagAttendee (Prelude.NonEmpty Tag)+tagAttendee_tags = Lens.lens (\TagAttendee' {tags} -> tags) (\s@TagAttendee' {} a -> s {tags = a} :: TagAttendee) Prelude.. Lens.coerced++instance Core.AWSRequest TagAttendee where+  type AWSResponse TagAttendee = TagAttendeeResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response = Response.receiveNull TagAttendeeResponse'++instance Prelude.Hashable TagAttendee where+  hashWithSalt _salt TagAttendee' {..} =+    _salt+      `Prelude.hashWithSalt` meetingId+      `Prelude.hashWithSalt` attendeeId+      `Prelude.hashWithSalt` tags++instance Prelude.NFData TagAttendee where+  rnf TagAttendee' {..} =+    Prelude.rnf meetingId+      `Prelude.seq` Prelude.rnf attendeeId+      `Prelude.seq` Prelude.rnf tags++instance Data.ToHeaders TagAttendee where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON TagAttendee where+  toJSON TagAttendee' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("Tags" Data..= tags)]+      )++instance Data.ToPath TagAttendee where+  toPath TagAttendee' {..} =+    Prelude.mconcat+      [ "/meetings/",+        Data.toBS meetingId,+        "/attendees/",+        Data.toBS attendeeId,+        "/tags"+      ]++instance Data.ToQuery TagAttendee where+  toQuery =+    Prelude.const (Prelude.mconcat ["operation=add"])++-- | /See:/ 'newTagAttendeeResponse' smart constructor.+data TagAttendeeResponse = TagAttendeeResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagAttendeeResponse' 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.+newTagAttendeeResponse ::+  TagAttendeeResponse+newTagAttendeeResponse = TagAttendeeResponse'++instance Prelude.NFData TagAttendeeResponse where+  rnf _ = ()
+ gen/Amazonka/Chime/TagMeeting.hs view
@@ -0,0 +1,138 @@+{-# 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.Chime.TagMeeting+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Applies the specified tags to the specified Amazon Chime SDK meeting.+module Amazonka.Chime.TagMeeting+  ( -- * Creating a Request+    TagMeeting (..),+    newTagMeeting,++    -- * Request Lenses+    tagMeeting_meetingId,+    tagMeeting_tags,++    -- * Destructuring the Response+    TagMeetingResponse (..),+    newTagMeetingResponse,+  )+where++import Amazonka.Chime.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:/ 'newTagMeeting' smart constructor.+data TagMeeting = TagMeeting'+  { -- | The Amazon Chime SDK meeting ID.+    meetingId :: Prelude.Text,+    -- | The tag key-value pairs.+    tags :: Prelude.NonEmpty Tag+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagMeeting' 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', 'tagMeeting_meetingId' - The Amazon Chime SDK meeting ID.+--+-- 'tags', 'tagMeeting_tags' - The tag key-value pairs.+newTagMeeting ::+  -- | 'meetingId'+  Prelude.Text ->+  -- | 'tags'+  Prelude.NonEmpty Tag ->+  TagMeeting+newTagMeeting pMeetingId_ pTags_ =+  TagMeeting'+    { meetingId = pMeetingId_,+      tags = Lens.coerced Lens.# pTags_+    }++-- | The Amazon Chime SDK meeting ID.+tagMeeting_meetingId :: Lens.Lens' TagMeeting Prelude.Text+tagMeeting_meetingId = Lens.lens (\TagMeeting' {meetingId} -> meetingId) (\s@TagMeeting' {} a -> s {meetingId = a} :: TagMeeting)++-- | The tag key-value pairs.+tagMeeting_tags :: Lens.Lens' TagMeeting (Prelude.NonEmpty Tag)+tagMeeting_tags = Lens.lens (\TagMeeting' {tags} -> tags) (\s@TagMeeting' {} a -> s {tags = a} :: TagMeeting) Prelude.. Lens.coerced++instance Core.AWSRequest TagMeeting where+  type AWSResponse TagMeeting = TagMeetingResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response = Response.receiveNull TagMeetingResponse'++instance Prelude.Hashable TagMeeting where+  hashWithSalt _salt TagMeeting' {..} =+    _salt+      `Prelude.hashWithSalt` meetingId+      `Prelude.hashWithSalt` tags++instance Prelude.NFData TagMeeting where+  rnf TagMeeting' {..} =+    Prelude.rnf meetingId+      `Prelude.seq` Prelude.rnf tags++instance Data.ToHeaders TagMeeting where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON TagMeeting where+  toJSON TagMeeting' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("Tags" Data..= tags)]+      )++instance Data.ToPath TagMeeting where+  toPath TagMeeting' {..} =+    Prelude.mconcat+      ["/meetings/", Data.toBS meetingId, "/tags"]++instance Data.ToQuery TagMeeting where+  toQuery =+    Prelude.const (Prelude.mconcat ["operation=add"])++-- | /See:/ 'newTagMeetingResponse' smart constructor.+data TagMeetingResponse = TagMeetingResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagMeetingResponse' 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.+newTagMeetingResponse ::+  TagMeetingResponse+newTagMeetingResponse = TagMeetingResponse'++instance Prelude.NFData TagMeetingResponse where+  rnf _ = ()
+ gen/Amazonka/Chime/TagResource.hs view
@@ -0,0 +1,141 @@+{-# 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.Chime.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)+--+-- Applies the specified tags to the specified Amazon Chime SDK meeting+-- resource.+module Amazonka.Chime.TagResource+  ( -- * Creating a Request+    TagResource (..),+    newTagResource,++    -- * Request Lenses+    tagResource_resourceARN,+    tagResource_tags,++    -- * Destructuring the Response+    TagResourceResponse (..),+    newTagResourceResponse,+  )+where++import Amazonka.Chime.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 resource ARN.+    resourceARN :: Data.Sensitive Prelude.Text,+    -- | The tag key-value pairs.+    tags :: Prelude.NonEmpty Tag+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceARN', 'tagResource_resourceARN' - The resource ARN.+--+-- 'tags', 'tagResource_tags' - The tag key-value pairs.+newTagResource ::+  -- | 'resourceARN'+  Prelude.Text ->+  -- | 'tags'+  Prelude.NonEmpty Tag ->+  TagResource+newTagResource pResourceARN_ pTags_ =+  TagResource'+    { resourceARN =+        Data._Sensitive Lens.# pResourceARN_,+      tags = Lens.coerced Lens.# pTags_+    }++-- | The resource ARN.+tagResource_resourceARN :: Lens.Lens' TagResource Prelude.Text+tagResource_resourceARN = Lens.lens (\TagResource' {resourceARN} -> resourceARN) (\s@TagResource' {} a -> s {resourceARN = a} :: TagResource) Prelude.. Data._Sensitive++-- | The tag key-value pairs.+tagResource_tags :: Lens.Lens' TagResource (Prelude.NonEmpty 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.receiveNull TagResourceResponse'++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'+  {+  }+  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.+newTagResourceResponse ::+  TagResourceResponse+newTagResourceResponse = TagResourceResponse'++instance Prelude.NFData TagResourceResponse where+  rnf _ = ()
+ gen/Amazonka/Chime/Types.hs view
@@ -0,0 +1,1273 @@+{-# 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.Chime.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.Chime.Types+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    _AccessDeniedException,+    _BadRequestException,+    _ConflictException,+    _ForbiddenException,+    _NotFoundException,+    _ResourceLimitExceededException,+    _ServiceFailureException,+    _ServiceUnavailableException,+    _ThrottledClientException,+    _UnauthorizedClientException,+    _UnprocessableEntityException,++    -- * AccountStatus+    AccountStatus (..),++    -- * AccountType+    AccountType (..),++    -- * AppInstanceDataType+    AppInstanceDataType (..),++    -- * ArtifactsState+    ArtifactsState (..),++    -- * AudioMuxType+    AudioMuxType (..),++    -- * BotType+    BotType (..),++    -- * CallingNameStatus+    CallingNameStatus (..),++    -- * Capability+    Capability (..),++    -- * ChannelMembershipType+    ChannelMembershipType (..),++    -- * ChannelMessagePersistenceType+    ChannelMessagePersistenceType (..),++    -- * ChannelMessageType+    ChannelMessageType (..),++    -- * ChannelMode+    ChannelMode (..),++    -- * ChannelPrivacy+    ChannelPrivacy (..),++    -- * ContentMuxType+    ContentMuxType (..),++    -- * EmailStatus+    EmailStatus (..),++    -- * ErrorCode+    ErrorCode (..),++    -- * GeoMatchLevel+    GeoMatchLevel (..),++    -- * InviteStatus+    InviteStatus (..),++    -- * License+    License (..),++    -- * MediaPipelineSinkType+    MediaPipelineSinkType (..),++    -- * MediaPipelineSourceType+    MediaPipelineSourceType (..),++    -- * MediaPipelineStatus+    MediaPipelineStatus (..),++    -- * MemberType+    MemberType (..),++    -- * NotificationTarget+    NotificationTarget (..),++    -- * NumberSelectionBehavior+    NumberSelectionBehavior (..),++    -- * OrderedPhoneNumberStatus+    OrderedPhoneNumberStatus (..),++    -- * OriginationRouteProtocol+    OriginationRouteProtocol (..),++    -- * PhoneNumberAssociationName+    PhoneNumberAssociationName (..),++    -- * PhoneNumberOrderStatus+    PhoneNumberOrderStatus (..),++    -- * PhoneNumberProductType+    PhoneNumberProductType (..),++    -- * PhoneNumberStatus+    PhoneNumberStatus (..),++    -- * PhoneNumberType+    PhoneNumberType (..),++    -- * ProxySessionStatus+    ProxySessionStatus (..),++    -- * RegistrationStatus+    RegistrationStatus (..),++    -- * RoomMembershipRole+    RoomMembershipRole (..),++    -- * SipRuleTriggerType+    SipRuleTriggerType (..),++    -- * SortOrder+    SortOrder (..),++    -- * TranscribeContentIdentificationType+    TranscribeContentIdentificationType (..),++    -- * TranscribeContentRedactionType+    TranscribeContentRedactionType (..),++    -- * TranscribeLanguageCode+    TranscribeLanguageCode (..),++    -- * TranscribeMedicalContentIdentificationType+    TranscribeMedicalContentIdentificationType (..),++    -- * TranscribeMedicalLanguageCode+    TranscribeMedicalLanguageCode (..),++    -- * TranscribeMedicalRegion+    TranscribeMedicalRegion (..),++    -- * TranscribeMedicalSpecialty+    TranscribeMedicalSpecialty (..),++    -- * TranscribeMedicalType+    TranscribeMedicalType (..),++    -- * TranscribePartialResultsStability+    TranscribePartialResultsStability (..),++    -- * TranscribeRegion+    TranscribeRegion (..),++    -- * TranscribeVocabularyFilterMethod+    TranscribeVocabularyFilterMethod (..),++    -- * UserType+    UserType (..),++    -- * VideoMuxType+    VideoMuxType (..),++    -- * VoiceConnectorAwsRegion+    VoiceConnectorAwsRegion (..),++    -- * Account+    Account (..),+    newAccount,+    account_accountStatus,+    account_accountType,+    account_createdTimestamp,+    account_defaultLicense,+    account_signinDelegateGroups,+    account_supportedLicenses,+    account_awsAccountId,+    account_accountId,+    account_name,++    -- * AccountSettings+    AccountSettings (..),+    newAccountSettings,+    accountSettings_disableRemoteControl,+    accountSettings_enableDialOut,++    -- * Address+    Address (..),+    newAddress,+    address_city,+    address_country,+    address_postDirectional,+    address_postalCode,+    address_postalCodePlus4,+    address_preDirectional,+    address_state,+    address_streetName,+    address_streetNumber,+    address_streetSuffix,++    -- * AlexaForBusinessMetadata+    AlexaForBusinessMetadata (..),+    newAlexaForBusinessMetadata,+    alexaForBusinessMetadata_alexaForBusinessRoomArn,+    alexaForBusinessMetadata_isAlexaForBusinessEnabled,++    -- * AppInstance+    AppInstance (..),+    newAppInstance,+    appInstance_appInstanceArn,+    appInstance_createdTimestamp,+    appInstance_lastUpdatedTimestamp,+    appInstance_metadata,+    appInstance_name,++    -- * AppInstanceAdmin+    AppInstanceAdmin (..),+    newAppInstanceAdmin,+    appInstanceAdmin_admin,+    appInstanceAdmin_appInstanceArn,+    appInstanceAdmin_createdTimestamp,++    -- * AppInstanceAdminSummary+    AppInstanceAdminSummary (..),+    newAppInstanceAdminSummary,+    appInstanceAdminSummary_admin,++    -- * AppInstanceRetentionSettings+    AppInstanceRetentionSettings (..),+    newAppInstanceRetentionSettings,+    appInstanceRetentionSettings_channelRetentionSettings,++    -- * AppInstanceStreamingConfiguration+    AppInstanceStreamingConfiguration (..),+    newAppInstanceStreamingConfiguration,+    appInstanceStreamingConfiguration_appInstanceDataType,+    appInstanceStreamingConfiguration_resourceArn,++    -- * AppInstanceSummary+    AppInstanceSummary (..),+    newAppInstanceSummary,+    appInstanceSummary_appInstanceArn,+    appInstanceSummary_metadata,+    appInstanceSummary_name,++    -- * AppInstanceUser+    AppInstanceUser (..),+    newAppInstanceUser,+    appInstanceUser_appInstanceUserArn,+    appInstanceUser_createdTimestamp,+    appInstanceUser_lastUpdatedTimestamp,+    appInstanceUser_metadata,+    appInstanceUser_name,++    -- * AppInstanceUserMembershipSummary+    AppInstanceUserMembershipSummary (..),+    newAppInstanceUserMembershipSummary,+    appInstanceUserMembershipSummary_readMarkerTimestamp,+    appInstanceUserMembershipSummary_type,++    -- * AppInstanceUserSummary+    AppInstanceUserSummary (..),+    newAppInstanceUserSummary,+    appInstanceUserSummary_appInstanceUserArn,+    appInstanceUserSummary_metadata,+    appInstanceUserSummary_name,++    -- * ArtifactsConfiguration+    ArtifactsConfiguration (..),+    newArtifactsConfiguration,+    artifactsConfiguration_audio,+    artifactsConfiguration_video,+    artifactsConfiguration_content,++    -- * Attendee+    Attendee (..),+    newAttendee,+    attendee_attendeeId,+    attendee_externalUserId,+    attendee_joinToken,++    -- * AudioArtifactsConfiguration+    AudioArtifactsConfiguration (..),+    newAudioArtifactsConfiguration,+    audioArtifactsConfiguration_muxType,++    -- * BatchChannelMemberships+    BatchChannelMemberships (..),+    newBatchChannelMemberships,+    batchChannelMemberships_channelArn,+    batchChannelMemberships_invitedBy,+    batchChannelMemberships_members,+    batchChannelMemberships_type,++    -- * BatchCreateChannelMembershipError+    BatchCreateChannelMembershipError (..),+    newBatchCreateChannelMembershipError,+    batchCreateChannelMembershipError_errorCode,+    batchCreateChannelMembershipError_errorMessage,+    batchCreateChannelMembershipError_memberArn,++    -- * Bot+    Bot (..),+    newBot,+    bot_botEmail,+    bot_botId,+    bot_botType,+    bot_createdTimestamp,+    bot_disabled,+    bot_displayName,+    bot_securityToken,+    bot_updatedTimestamp,+    bot_userId,++    -- * BusinessCallingSettings+    BusinessCallingSettings (..),+    newBusinessCallingSettings,+    businessCallingSettings_cdrBucket,++    -- * CandidateAddress+    CandidateAddress (..),+    newCandidateAddress,+    candidateAddress_city,+    candidateAddress_country,+    candidateAddress_postalCode,+    candidateAddress_postalCodePlus4,+    candidateAddress_state,+    candidateAddress_streetInfo,+    candidateAddress_streetNumber,++    -- * Channel+    Channel (..),+    newChannel,+    channel_channelArn,+    channel_createdBy,+    channel_createdTimestamp,+    channel_lastMessageTimestamp,+    channel_lastUpdatedTimestamp,+    channel_metadata,+    channel_mode,+    channel_name,+    channel_privacy,++    -- * ChannelBan+    ChannelBan (..),+    newChannelBan,+    channelBan_channelArn,+    channelBan_createdBy,+    channelBan_createdTimestamp,+    channelBan_member,++    -- * ChannelBanSummary+    ChannelBanSummary (..),+    newChannelBanSummary,+    channelBanSummary_member,++    -- * ChannelMembership+    ChannelMembership (..),+    newChannelMembership,+    channelMembership_channelArn,+    channelMembership_createdTimestamp,+    channelMembership_invitedBy,+    channelMembership_lastUpdatedTimestamp,+    channelMembership_member,+    channelMembership_type,++    -- * ChannelMembershipForAppInstanceUserSummary+    ChannelMembershipForAppInstanceUserSummary (..),+    newChannelMembershipForAppInstanceUserSummary,+    channelMembershipForAppInstanceUserSummary_appInstanceUserMembershipSummary,+    channelMembershipForAppInstanceUserSummary_channelSummary,++    -- * ChannelMembershipSummary+    ChannelMembershipSummary (..),+    newChannelMembershipSummary,+    channelMembershipSummary_member,++    -- * ChannelMessage+    ChannelMessage (..),+    newChannelMessage,+    channelMessage_channelArn,+    channelMessage_content,+    channelMessage_createdTimestamp,+    channelMessage_lastEditedTimestamp,+    channelMessage_lastUpdatedTimestamp,+    channelMessage_messageId,+    channelMessage_metadata,+    channelMessage_persistence,+    channelMessage_redacted,+    channelMessage_sender,+    channelMessage_type,++    -- * ChannelMessageSummary+    ChannelMessageSummary (..),+    newChannelMessageSummary,+    channelMessageSummary_content,+    channelMessageSummary_createdTimestamp,+    channelMessageSummary_lastEditedTimestamp,+    channelMessageSummary_lastUpdatedTimestamp,+    channelMessageSummary_messageId,+    channelMessageSummary_metadata,+    channelMessageSummary_redacted,+    channelMessageSummary_sender,+    channelMessageSummary_type,++    -- * ChannelModeratedByAppInstanceUserSummary+    ChannelModeratedByAppInstanceUserSummary (..),+    newChannelModeratedByAppInstanceUserSummary,+    channelModeratedByAppInstanceUserSummary_channelSummary,++    -- * ChannelModerator+    ChannelModerator (..),+    newChannelModerator,+    channelModerator_channelArn,+    channelModerator_createdBy,+    channelModerator_createdTimestamp,+    channelModerator_moderator,++    -- * ChannelModeratorSummary+    ChannelModeratorSummary (..),+    newChannelModeratorSummary,+    channelModeratorSummary_moderator,++    -- * ChannelRetentionSettings+    ChannelRetentionSettings (..),+    newChannelRetentionSettings,+    channelRetentionSettings_retentionDays,++    -- * ChannelSummary+    ChannelSummary (..),+    newChannelSummary,+    channelSummary_channelArn,+    channelSummary_lastMessageTimestamp,+    channelSummary_metadata,+    channelSummary_mode,+    channelSummary_name,+    channelSummary_privacy,++    -- * ChimeSdkMeetingConfiguration+    ChimeSdkMeetingConfiguration (..),+    newChimeSdkMeetingConfiguration,+    chimeSdkMeetingConfiguration_artifactsConfiguration,+    chimeSdkMeetingConfiguration_sourceConfiguration,++    -- * ContentArtifactsConfiguration+    ContentArtifactsConfiguration (..),+    newContentArtifactsConfiguration,+    contentArtifactsConfiguration_muxType,+    contentArtifactsConfiguration_state,++    -- * ConversationRetentionSettings+    ConversationRetentionSettings (..),+    newConversationRetentionSettings,+    conversationRetentionSettings_retentionDays,++    -- * CreateAttendeeError+    CreateAttendeeError (..),+    newCreateAttendeeError,+    createAttendeeError_errorCode,+    createAttendeeError_errorMessage,+    createAttendeeError_externalUserId,++    -- * CreateAttendeeRequestItem+    CreateAttendeeRequestItem (..),+    newCreateAttendeeRequestItem,+    createAttendeeRequestItem_tags,+    createAttendeeRequestItem_externalUserId,++    -- * Credential+    Credential (..),+    newCredential,+    credential_password,+    credential_username,++    -- * DNISEmergencyCallingConfiguration+    DNISEmergencyCallingConfiguration (..),+    newDNISEmergencyCallingConfiguration,+    dNISEmergencyCallingConfiguration_testPhoneNumber,+    dNISEmergencyCallingConfiguration_emergencyPhoneNumber,+    dNISEmergencyCallingConfiguration_callingCountry,++    -- * EmergencyCallingConfiguration+    EmergencyCallingConfiguration (..),+    newEmergencyCallingConfiguration,+    emergencyCallingConfiguration_dnis,++    -- * 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_languageModelName,+    engineTranscribeSettings_partialResultsStability,+    engineTranscribeSettings_piiEntityTypes,+    engineTranscribeSettings_region,+    engineTranscribeSettings_vocabularyFilterMethod,+    engineTranscribeSettings_vocabularyFilterName,+    engineTranscribeSettings_vocabularyName,+    engineTranscribeSettings_languageCode,++    -- * EventsConfiguration+    EventsConfiguration (..),+    newEventsConfiguration,+    eventsConfiguration_botId,+    eventsConfiguration_lambdaFunctionArn,+    eventsConfiguration_outboundEventsHTTPSEndpoint,++    -- * GeoMatchParams+    GeoMatchParams (..),+    newGeoMatchParams,+    geoMatchParams_country,+    geoMatchParams_areaCode,++    -- * Identity+    Identity (..),+    newIdentity,+    identity_arn,+    identity_name,++    -- * Invite+    Invite (..),+    newInvite,+    invite_emailAddress,+    invite_emailStatus,+    invite_inviteId,+    invite_status,++    -- * LoggingConfiguration+    LoggingConfiguration (..),+    newLoggingConfiguration,+    loggingConfiguration_enableMediaMetricLogs,+    loggingConfiguration_enableSIPLogs,++    -- * MediaCapturePipeline+    MediaCapturePipeline (..),+    newMediaCapturePipeline,+    mediaCapturePipeline_chimeSdkMeetingConfiguration,+    mediaCapturePipeline_createdTimestamp,+    mediaCapturePipeline_mediaPipelineId,+    mediaCapturePipeline_sinkArn,+    mediaCapturePipeline_sinkType,+    mediaCapturePipeline_sourceArn,+    mediaCapturePipeline_sourceType,+    mediaCapturePipeline_status,+    mediaCapturePipeline_updatedTimestamp,++    -- * 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_meetingId,++    -- * MeetingNotificationConfiguration+    MeetingNotificationConfiguration (..),+    newMeetingNotificationConfiguration,+    meetingNotificationConfiguration_snsTopicArn,+    meetingNotificationConfiguration_sqsQueueArn,++    -- * Member+    Member (..),+    newMember,+    member_accountId,+    member_email,+    member_fullName,+    member_memberId,+    member_memberType,++    -- * MemberError+    MemberError (..),+    newMemberError,+    memberError_errorCode,+    memberError_errorMessage,+    memberError_memberId,++    -- * MembershipItem+    MembershipItem (..),+    newMembershipItem,+    membershipItem_memberId,+    membershipItem_role,++    -- * MessagingSessionEndpoint+    MessagingSessionEndpoint (..),+    newMessagingSessionEndpoint,+    messagingSessionEndpoint_url,++    -- * OrderedPhoneNumber+    OrderedPhoneNumber (..),+    newOrderedPhoneNumber,+    orderedPhoneNumber_e164PhoneNumber,+    orderedPhoneNumber_status,++    -- * Origination+    Origination (..),+    newOrigination,+    origination_disabled,+    origination_routes,++    -- * OriginationRoute+    OriginationRoute (..),+    newOriginationRoute,+    originationRoute_host,+    originationRoute_port,+    originationRoute_priority,+    originationRoute_protocol,+    originationRoute_weight,++    -- * Participant+    Participant (..),+    newParticipant,+    participant_phoneNumber,+    participant_proxyPhoneNumber,++    -- * PhoneNumber+    PhoneNumber (..),+    newPhoneNumber,+    phoneNumber_associations,+    phoneNumber_callingName,+    phoneNumber_callingNameStatus,+    phoneNumber_capabilities,+    phoneNumber_country,+    phoneNumber_createdTimestamp,+    phoneNumber_deletionTimestamp,+    phoneNumber_e164PhoneNumber,+    phoneNumber_phoneNumberId,+    phoneNumber_productType,+    phoneNumber_status,+    phoneNumber_type,+    phoneNumber_updatedTimestamp,++    -- * PhoneNumberAssociation+    PhoneNumberAssociation (..),+    newPhoneNumberAssociation,+    phoneNumberAssociation_associatedTimestamp,+    phoneNumberAssociation_name,+    phoneNumberAssociation_value,++    -- * PhoneNumberCapabilities+    PhoneNumberCapabilities (..),+    newPhoneNumberCapabilities,+    phoneNumberCapabilities_inboundCall,+    phoneNumberCapabilities_inboundMMS,+    phoneNumberCapabilities_inboundSMS,+    phoneNumberCapabilities_outboundCall,+    phoneNumberCapabilities_outboundMMS,+    phoneNumberCapabilities_outboundSMS,++    -- * PhoneNumberCountry+    PhoneNumberCountry (..),+    newPhoneNumberCountry,+    phoneNumberCountry_countryCode,+    phoneNumberCountry_supportedPhoneNumberTypes,++    -- * PhoneNumberError+    PhoneNumberError (..),+    newPhoneNumberError,+    phoneNumberError_errorCode,+    phoneNumberError_errorMessage,+    phoneNumberError_phoneNumberId,++    -- * PhoneNumberOrder+    PhoneNumberOrder (..),+    newPhoneNumberOrder,+    phoneNumberOrder_createdTimestamp,+    phoneNumberOrder_orderedPhoneNumbers,+    phoneNumberOrder_phoneNumberOrderId,+    phoneNumberOrder_productType,+    phoneNumberOrder_status,+    phoneNumberOrder_updatedTimestamp,++    -- * Proxy+    Proxy (..),+    newProxy,+    proxy_defaultSessionExpiryMinutes,+    proxy_disabled,+    proxy_fallBackPhoneNumber,+    proxy_phoneNumberCountries,++    -- * ProxySession+    ProxySession (..),+    newProxySession,+    proxySession_capabilities,+    proxySession_createdTimestamp,+    proxySession_endedTimestamp,+    proxySession_expiryMinutes,+    proxySession_geoMatchLevel,+    proxySession_geoMatchParams,+    proxySession_name,+    proxySession_numberSelectionBehavior,+    proxySession_participants,+    proxySession_proxySessionId,+    proxySession_status,+    proxySession_updatedTimestamp,+    proxySession_voiceConnectorId,++    -- * RetentionSettings+    RetentionSettings (..),+    newRetentionSettings,+    retentionSettings_conversationRetentionSettings,+    retentionSettings_roomRetentionSettings,++    -- * Room+    Room (..),+    newRoom,+    room_accountId,+    room_createdBy,+    room_createdTimestamp,+    room_name,+    room_roomId,+    room_updatedTimestamp,++    -- * RoomMembership+    RoomMembership (..),+    newRoomMembership,+    roomMembership_invitedBy,+    roomMembership_member,+    roomMembership_role,+    roomMembership_roomId,+    roomMembership_updatedTimestamp,++    -- * RoomRetentionSettings+    RoomRetentionSettings (..),+    newRoomRetentionSettings,+    roomRetentionSettings_retentionDays,++    -- * SelectedVideoStreams+    SelectedVideoStreams (..),+    newSelectedVideoStreams,+    selectedVideoStreams_attendeeIds,+    selectedVideoStreams_externalUserIds,++    -- * SigninDelegateGroup+    SigninDelegateGroup (..),+    newSigninDelegateGroup,+    signinDelegateGroup_groupName,++    -- * SipMediaApplication+    SipMediaApplication (..),+    newSipMediaApplication,+    sipMediaApplication_awsRegion,+    sipMediaApplication_createdTimestamp,+    sipMediaApplication_endpoints,+    sipMediaApplication_name,+    sipMediaApplication_sipMediaApplicationId,+    sipMediaApplication_updatedTimestamp,++    -- * SipMediaApplicationCall+    SipMediaApplicationCall (..),+    newSipMediaApplicationCall,+    sipMediaApplicationCall_transactionId,++    -- * SipMediaApplicationEndpoint+    SipMediaApplicationEndpoint (..),+    newSipMediaApplicationEndpoint,+    sipMediaApplicationEndpoint_lambdaArn,++    -- * SipMediaApplicationLoggingConfiguration+    SipMediaApplicationLoggingConfiguration (..),+    newSipMediaApplicationLoggingConfiguration,+    sipMediaApplicationLoggingConfiguration_enableSipMediaApplicationMessageLogs,++    -- * SipRule+    SipRule (..),+    newSipRule,+    sipRule_createdTimestamp,+    sipRule_disabled,+    sipRule_name,+    sipRule_sipRuleId,+    sipRule_targetApplications,+    sipRule_triggerType,+    sipRule_triggerValue,+    sipRule_updatedTimestamp,++    -- * SipRuleTargetApplication+    SipRuleTargetApplication (..),+    newSipRuleTargetApplication,+    sipRuleTargetApplication_awsRegion,+    sipRuleTargetApplication_priority,+    sipRuleTargetApplication_sipMediaApplicationId,++    -- * SourceConfiguration+    SourceConfiguration (..),+    newSourceConfiguration,+    sourceConfiguration_selectedVideoStreams,++    -- * StreamingConfiguration+    StreamingConfiguration (..),+    newStreamingConfiguration,+    streamingConfiguration_disabled,+    streamingConfiguration_streamingNotificationTargets,+    streamingConfiguration_dataRetentionInHours,++    -- * StreamingNotificationTarget+    StreamingNotificationTarget (..),+    newStreamingNotificationTarget,+    streamingNotificationTarget_notificationTarget,++    -- * Tag+    Tag (..),+    newTag,+    tag_key,+    tag_value,++    -- * TelephonySettings+    TelephonySettings (..),+    newTelephonySettings,+    telephonySettings_inboundCalling,+    telephonySettings_outboundCalling,+    telephonySettings_sms,++    -- * Termination+    Termination (..),+    newTermination,+    termination_callingRegions,+    termination_cidrAllowedList,+    termination_cpsLimit,+    termination_defaultPhoneNumber,+    termination_disabled,++    -- * TerminationHealth+    TerminationHealth (..),+    newTerminationHealth,+    terminationHealth_source,+    terminationHealth_timestamp,++    -- * TranscriptionConfiguration+    TranscriptionConfiguration (..),+    newTranscriptionConfiguration,+    transcriptionConfiguration_engineTranscribeMedicalSettings,+    transcriptionConfiguration_engineTranscribeSettings,++    -- * UpdatePhoneNumberRequestItem+    UpdatePhoneNumberRequestItem (..),+    newUpdatePhoneNumberRequestItem,+    updatePhoneNumberRequestItem_callingName,+    updatePhoneNumberRequestItem_productType,+    updatePhoneNumberRequestItem_phoneNumberId,++    -- * UpdateUserRequestItem+    UpdateUserRequestItem (..),+    newUpdateUserRequestItem,+    updateUserRequestItem_alexaForBusinessMetadata,+    updateUserRequestItem_licenseType,+    updateUserRequestItem_userType,+    updateUserRequestItem_userId,++    -- * User+    User (..),+    newUser,+    user_accountId,+    user_alexaForBusinessMetadata,+    user_displayName,+    user_invitedOn,+    user_licenseType,+    user_personalPIN,+    user_primaryEmail,+    user_primaryProvisionedNumber,+    user_registeredOn,+    user_userInvitationStatus,+    user_userRegistrationStatus,+    user_userType,+    user_userId,++    -- * UserError+    UserError (..),+    newUserError,+    userError_errorCode,+    userError_errorMessage,+    userError_userId,++    -- * UserSettings+    UserSettings (..),+    newUserSettings,+    userSettings_telephony,++    -- * VideoArtifactsConfiguration+    VideoArtifactsConfiguration (..),+    newVideoArtifactsConfiguration,+    videoArtifactsConfiguration_muxType,+    videoArtifactsConfiguration_state,++    -- * VoiceConnector+    VoiceConnector (..),+    newVoiceConnector,+    voiceConnector_awsRegion,+    voiceConnector_createdTimestamp,+    voiceConnector_name,+    voiceConnector_outboundHostName,+    voiceConnector_requireEncryption,+    voiceConnector_updatedTimestamp,+    voiceConnector_voiceConnectorArn,+    voiceConnector_voiceConnectorId,++    -- * VoiceConnectorGroup+    VoiceConnectorGroup (..),+    newVoiceConnectorGroup,+    voiceConnectorGroup_createdTimestamp,+    voiceConnectorGroup_name,+    voiceConnectorGroup_updatedTimestamp,+    voiceConnectorGroup_voiceConnectorGroupArn,+    voiceConnectorGroup_voiceConnectorGroupId,+    voiceConnectorGroup_voiceConnectorItems,++    -- * VoiceConnectorItem+    VoiceConnectorItem (..),+    newVoiceConnectorItem,+    voiceConnectorItem_voiceConnectorId,+    voiceConnectorItem_priority,++    -- * VoiceConnectorSettings+    VoiceConnectorSettings (..),+    newVoiceConnectorSettings,+    voiceConnectorSettings_cdrBucket,+  )+where++import Amazonka.Chime.Types.Account+import Amazonka.Chime.Types.AccountSettings+import Amazonka.Chime.Types.AccountStatus+import Amazonka.Chime.Types.AccountType+import Amazonka.Chime.Types.Address+import Amazonka.Chime.Types.AlexaForBusinessMetadata+import Amazonka.Chime.Types.AppInstance+import Amazonka.Chime.Types.AppInstanceAdmin+import Amazonka.Chime.Types.AppInstanceAdminSummary+import Amazonka.Chime.Types.AppInstanceDataType+import Amazonka.Chime.Types.AppInstanceRetentionSettings+import Amazonka.Chime.Types.AppInstanceStreamingConfiguration+import Amazonka.Chime.Types.AppInstanceSummary+import Amazonka.Chime.Types.AppInstanceUser+import Amazonka.Chime.Types.AppInstanceUserMembershipSummary+import Amazonka.Chime.Types.AppInstanceUserSummary+import Amazonka.Chime.Types.ArtifactsConfiguration+import Amazonka.Chime.Types.ArtifactsState+import Amazonka.Chime.Types.Attendee+import Amazonka.Chime.Types.AudioArtifactsConfiguration+import Amazonka.Chime.Types.AudioMuxType+import Amazonka.Chime.Types.BatchChannelMemberships+import Amazonka.Chime.Types.BatchCreateChannelMembershipError+import Amazonka.Chime.Types.Bot+import Amazonka.Chime.Types.BotType+import Amazonka.Chime.Types.BusinessCallingSettings+import Amazonka.Chime.Types.CallingNameStatus+import Amazonka.Chime.Types.CandidateAddress+import Amazonka.Chime.Types.Capability+import Amazonka.Chime.Types.Channel+import Amazonka.Chime.Types.ChannelBan+import Amazonka.Chime.Types.ChannelBanSummary+import Amazonka.Chime.Types.ChannelMembership+import Amazonka.Chime.Types.ChannelMembershipForAppInstanceUserSummary+import Amazonka.Chime.Types.ChannelMembershipSummary+import Amazonka.Chime.Types.ChannelMembershipType+import Amazonka.Chime.Types.ChannelMessage+import Amazonka.Chime.Types.ChannelMessagePersistenceType+import Amazonka.Chime.Types.ChannelMessageSummary+import Amazonka.Chime.Types.ChannelMessageType+import Amazonka.Chime.Types.ChannelMode+import Amazonka.Chime.Types.ChannelModeratedByAppInstanceUserSummary+import Amazonka.Chime.Types.ChannelModerator+import Amazonka.Chime.Types.ChannelModeratorSummary+import Amazonka.Chime.Types.ChannelPrivacy+import Amazonka.Chime.Types.ChannelRetentionSettings+import Amazonka.Chime.Types.ChannelSummary+import Amazonka.Chime.Types.ChimeSdkMeetingConfiguration+import Amazonka.Chime.Types.ContentArtifactsConfiguration+import Amazonka.Chime.Types.ContentMuxType+import Amazonka.Chime.Types.ConversationRetentionSettings+import Amazonka.Chime.Types.CreateAttendeeError+import Amazonka.Chime.Types.CreateAttendeeRequestItem+import Amazonka.Chime.Types.Credential+import Amazonka.Chime.Types.DNISEmergencyCallingConfiguration+import Amazonka.Chime.Types.EmailStatus+import Amazonka.Chime.Types.EmergencyCallingConfiguration+import Amazonka.Chime.Types.EngineTranscribeMedicalSettings+import Amazonka.Chime.Types.EngineTranscribeSettings+import Amazonka.Chime.Types.ErrorCode+import Amazonka.Chime.Types.EventsConfiguration+import Amazonka.Chime.Types.GeoMatchLevel+import Amazonka.Chime.Types.GeoMatchParams+import Amazonka.Chime.Types.Identity+import Amazonka.Chime.Types.Invite+import Amazonka.Chime.Types.InviteStatus+import Amazonka.Chime.Types.License+import Amazonka.Chime.Types.LoggingConfiguration+import Amazonka.Chime.Types.MediaCapturePipeline+import Amazonka.Chime.Types.MediaPipelineSinkType+import Amazonka.Chime.Types.MediaPipelineSourceType+import Amazonka.Chime.Types.MediaPipelineStatus+import Amazonka.Chime.Types.MediaPlacement+import Amazonka.Chime.Types.Meeting+import Amazonka.Chime.Types.MeetingNotificationConfiguration+import Amazonka.Chime.Types.Member+import Amazonka.Chime.Types.MemberError+import Amazonka.Chime.Types.MemberType+import Amazonka.Chime.Types.MembershipItem+import Amazonka.Chime.Types.MessagingSessionEndpoint+import Amazonka.Chime.Types.NotificationTarget+import Amazonka.Chime.Types.NumberSelectionBehavior+import Amazonka.Chime.Types.OrderedPhoneNumber+import Amazonka.Chime.Types.OrderedPhoneNumberStatus+import Amazonka.Chime.Types.Origination+import Amazonka.Chime.Types.OriginationRoute+import Amazonka.Chime.Types.OriginationRouteProtocol+import Amazonka.Chime.Types.Participant+import Amazonka.Chime.Types.PhoneNumber+import Amazonka.Chime.Types.PhoneNumberAssociation+import Amazonka.Chime.Types.PhoneNumberAssociationName+import Amazonka.Chime.Types.PhoneNumberCapabilities+import Amazonka.Chime.Types.PhoneNumberCountry+import Amazonka.Chime.Types.PhoneNumberError+import Amazonka.Chime.Types.PhoneNumberOrder+import Amazonka.Chime.Types.PhoneNumberOrderStatus+import Amazonka.Chime.Types.PhoneNumberProductType+import Amazonka.Chime.Types.PhoneNumberStatus+import Amazonka.Chime.Types.PhoneNumberType+import Amazonka.Chime.Types.Proxy+import Amazonka.Chime.Types.ProxySession+import Amazonka.Chime.Types.ProxySessionStatus+import Amazonka.Chime.Types.RegistrationStatus+import Amazonka.Chime.Types.RetentionSettings+import Amazonka.Chime.Types.Room+import Amazonka.Chime.Types.RoomMembership+import Amazonka.Chime.Types.RoomMembershipRole+import Amazonka.Chime.Types.RoomRetentionSettings+import Amazonka.Chime.Types.SelectedVideoStreams+import Amazonka.Chime.Types.SigninDelegateGroup+import Amazonka.Chime.Types.SipMediaApplication+import Amazonka.Chime.Types.SipMediaApplicationCall+import Amazonka.Chime.Types.SipMediaApplicationEndpoint+import Amazonka.Chime.Types.SipMediaApplicationLoggingConfiguration+import Amazonka.Chime.Types.SipRule+import Amazonka.Chime.Types.SipRuleTargetApplication+import Amazonka.Chime.Types.SipRuleTriggerType+import Amazonka.Chime.Types.SortOrder+import Amazonka.Chime.Types.SourceConfiguration+import Amazonka.Chime.Types.StreamingConfiguration+import Amazonka.Chime.Types.StreamingNotificationTarget+import Amazonka.Chime.Types.Tag+import Amazonka.Chime.Types.TelephonySettings+import Amazonka.Chime.Types.Termination+import Amazonka.Chime.Types.TerminationHealth+import Amazonka.Chime.Types.TranscribeContentIdentificationType+import Amazonka.Chime.Types.TranscribeContentRedactionType+import Amazonka.Chime.Types.TranscribeLanguageCode+import Amazonka.Chime.Types.TranscribeMedicalContentIdentificationType+import Amazonka.Chime.Types.TranscribeMedicalLanguageCode+import Amazonka.Chime.Types.TranscribeMedicalRegion+import Amazonka.Chime.Types.TranscribeMedicalSpecialty+import Amazonka.Chime.Types.TranscribeMedicalType+import Amazonka.Chime.Types.TranscribePartialResultsStability+import Amazonka.Chime.Types.TranscribeRegion+import Amazonka.Chime.Types.TranscribeVocabularyFilterMethod+import Amazonka.Chime.Types.TranscriptionConfiguration+import Amazonka.Chime.Types.UpdatePhoneNumberRequestItem+import Amazonka.Chime.Types.UpdateUserRequestItem+import Amazonka.Chime.Types.User+import Amazonka.Chime.Types.UserError+import Amazonka.Chime.Types.UserSettings+import Amazonka.Chime.Types.UserType+import Amazonka.Chime.Types.VideoArtifactsConfiguration+import Amazonka.Chime.Types.VideoMuxType+import Amazonka.Chime.Types.VoiceConnector+import Amazonka.Chime.Types.VoiceConnectorAwsRegion+import Amazonka.Chime.Types.VoiceConnectorGroup+import Amazonka.Chime.Types.VoiceConnectorItem+import Amazonka.Chime.Types.VoiceConnectorSettings+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 @2018-05-01@ of the Amazon Chime SDK configuration.+defaultService :: Core.Service+defaultService =+  Core.Service+    { Core.abbrev = "Chime",+      Core.signer = Sign.v4,+      Core.endpointPrefix = "chime",+      Core.signingName = "chime",+      Core.version = "2018-05-01",+      Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+      Core.endpoint = Core.defaultEndpoint defaultService,+      Core.timeout = Prelude.Just 70,+      Core.check = Core.statusSuccess,+      Core.error = Core.parseJSONError "Chime",+      Core.retry = retry+    }+  where+    retry =+      Core.Exponential+        { Core.base = 5.0e-2,+          Core.growth = 2,+          Core.attempts = 5,+          Core.check = check+        }+    check e+      | Lens.has (Core.hasStatus 502) e =+          Prelude.Just "bad_gateway"+      | Lens.has (Core.hasStatus 504) e =+          Prelude.Just "gateway_timeout"+      | Lens.has (Core.hasStatus 500) e =+          Prelude.Just "general_server_error"+      | Lens.has (Core.hasStatus 509) e =+          Prelude.Just "limit_exceeded"+      | Lens.has+          ( Core.hasCode "RequestThrottledException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "request_throttled_exception"+      | Lens.has (Core.hasStatus 503) e =+          Prelude.Just "service_unavailable"+      | Lens.has+          ( Core.hasCode "ThrottledException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throttled_exception"+      | Lens.has+          ( Core.hasCode "Throttling"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throttling"+      | Lens.has+          ( Core.hasCode "ThrottlingException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throttling_exception"+      | Lens.has+          ( Core.hasCode+              "ProvisionedThroughputExceededException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throughput_exceeded"+      | Lens.has (Core.hasStatus 429) e =+          Prelude.Just "too_many_requests"+      | Prelude.otherwise = Prelude.Nothing++-- | You don\'t have permissions to perform the requested operation.+_AccessDeniedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_AccessDeniedException =+  Core._MatchServiceError+    defaultService+    "AccessDeniedException"+    Prelude.. Core.hasStatus 403++-- | 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++-- | The request could not be processed because of conflict in the current+-- state of the resource.+_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++-- | 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 request exceeds the resource limit.+_ResourceLimitExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceLimitExceededException =+  Core._MatchServiceError+    defaultService+    "ResourceLimitExceededException"+    Prelude.. Core.hasStatus 400++-- | 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 client exceeded its request rate limit.+_ThrottledClientException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ThrottledClientException =+  Core._MatchServiceError+    defaultService+    "ThrottledClientException"+    Prelude.. Core.hasStatus 429++-- | The client is not currently authorized to make the request.+_UnauthorizedClientException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_UnauthorizedClientException =+  Core._MatchServiceError+    defaultService+    "UnauthorizedClientException"+    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/Chime/Types/Account.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.Chime.Types.Account+-- 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.Chime.Types.Account where++import Amazonka.Chime.Types.AccountStatus+import Amazonka.Chime.Types.AccountType+import Amazonka.Chime.Types.License+import Amazonka.Chime.Types.SigninDelegateGroup+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 account details. An AWS account can have multiple+-- Amazon Chime accounts.+--+-- /See:/ 'newAccount' smart constructor.+data Account = Account'+  { -- | The status of the account.+    accountStatus :: Prelude.Maybe AccountStatus,+    -- | The Amazon Chime account type. For more information about different+    -- account types, see+    -- <https://docs.aws.amazon.com/chime/latest/ag/manage-chime-account.html Managing Your Amazon Chime Accounts>+    -- in the /Amazon Chime Administration Guide/.+    accountType :: Prelude.Maybe AccountType,+    -- | The Amazon Chime account creation timestamp, in ISO 8601 format.+    createdTimestamp :: Prelude.Maybe Data.ISO8601,+    -- | The default license for the Amazon Chime account.+    defaultLicense :: Prelude.Maybe License,+    -- | The sign-in delegate groups associated with the account.+    signinDelegateGroups :: Prelude.Maybe [SigninDelegateGroup],+    -- | Supported licenses for the Amazon Chime account.+    supportedLicenses :: Prelude.Maybe [License],+    -- | The AWS account ID.+    awsAccountId :: Prelude.Text,+    -- | The Amazon Chime account ID.+    accountId :: Prelude.Text,+    -- | The Amazon Chime account name.+    name :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Account' 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:+--+-- 'accountStatus', 'account_accountStatus' - The status of the account.+--+-- 'accountType', 'account_accountType' - The Amazon Chime account type. For more information about different+-- account types, see+-- <https://docs.aws.amazon.com/chime/latest/ag/manage-chime-account.html Managing Your Amazon Chime Accounts>+-- in the /Amazon Chime Administration Guide/.+--+-- 'createdTimestamp', 'account_createdTimestamp' - The Amazon Chime account creation timestamp, in ISO 8601 format.+--+-- 'defaultLicense', 'account_defaultLicense' - The default license for the Amazon Chime account.+--+-- 'signinDelegateGroups', 'account_signinDelegateGroups' - The sign-in delegate groups associated with the account.+--+-- 'supportedLicenses', 'account_supportedLicenses' - Supported licenses for the Amazon Chime account.+--+-- 'awsAccountId', 'account_awsAccountId' - The AWS account ID.+--+-- 'accountId', 'account_accountId' - The Amazon Chime account ID.+--+-- 'name', 'account_name' - The Amazon Chime account name.+newAccount ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'accountId'+  Prelude.Text ->+  -- | 'name'+  Prelude.Text ->+  Account+newAccount pAwsAccountId_ pAccountId_ pName_ =+  Account'+    { accountStatus = Prelude.Nothing,+      accountType = Prelude.Nothing,+      createdTimestamp = Prelude.Nothing,+      defaultLicense = Prelude.Nothing,+      signinDelegateGroups = Prelude.Nothing,+      supportedLicenses = Prelude.Nothing,+      awsAccountId = pAwsAccountId_,+      accountId = pAccountId_,+      name = pName_+    }++-- | The status of the account.+account_accountStatus :: Lens.Lens' Account (Prelude.Maybe AccountStatus)+account_accountStatus = Lens.lens (\Account' {accountStatus} -> accountStatus) (\s@Account' {} a -> s {accountStatus = a} :: Account)++-- | The Amazon Chime account type. For more information about different+-- account types, see+-- <https://docs.aws.amazon.com/chime/latest/ag/manage-chime-account.html Managing Your Amazon Chime Accounts>+-- in the /Amazon Chime Administration Guide/.+account_accountType :: Lens.Lens' Account (Prelude.Maybe AccountType)+account_accountType = Lens.lens (\Account' {accountType} -> accountType) (\s@Account' {} a -> s {accountType = a} :: Account)++-- | The Amazon Chime account creation timestamp, in ISO 8601 format.+account_createdTimestamp :: Lens.Lens' Account (Prelude.Maybe Prelude.UTCTime)+account_createdTimestamp = Lens.lens (\Account' {createdTimestamp} -> createdTimestamp) (\s@Account' {} a -> s {createdTimestamp = a} :: Account) Prelude.. Lens.mapping Data._Time++-- | The default license for the Amazon Chime account.+account_defaultLicense :: Lens.Lens' Account (Prelude.Maybe License)+account_defaultLicense = Lens.lens (\Account' {defaultLicense} -> defaultLicense) (\s@Account' {} a -> s {defaultLicense = a} :: Account)++-- | The sign-in delegate groups associated with the account.+account_signinDelegateGroups :: Lens.Lens' Account (Prelude.Maybe [SigninDelegateGroup])+account_signinDelegateGroups = Lens.lens (\Account' {signinDelegateGroups} -> signinDelegateGroups) (\s@Account' {} a -> s {signinDelegateGroups = a} :: Account) Prelude.. Lens.mapping Lens.coerced++-- | Supported licenses for the Amazon Chime account.+account_supportedLicenses :: Lens.Lens' Account (Prelude.Maybe [License])+account_supportedLicenses = Lens.lens (\Account' {supportedLicenses} -> supportedLicenses) (\s@Account' {} a -> s {supportedLicenses = a} :: Account) Prelude.. Lens.mapping Lens.coerced++-- | The AWS account ID.+account_awsAccountId :: Lens.Lens' Account Prelude.Text+account_awsAccountId = Lens.lens (\Account' {awsAccountId} -> awsAccountId) (\s@Account' {} a -> s {awsAccountId = a} :: Account)++-- | The Amazon Chime account ID.+account_accountId :: Lens.Lens' Account Prelude.Text+account_accountId = Lens.lens (\Account' {accountId} -> accountId) (\s@Account' {} a -> s {accountId = a} :: Account)++-- | The Amazon Chime account name.+account_name :: Lens.Lens' Account Prelude.Text+account_name = Lens.lens (\Account' {name} -> name) (\s@Account' {} a -> s {name = a} :: Account)++instance Data.FromJSON Account where+  parseJSON =+    Data.withObject+      "Account"+      ( \x ->+          Account'+            Prelude.<$> (x Data..:? "AccountStatus")+            Prelude.<*> (x Data..:? "AccountType")+            Prelude.<*> (x Data..:? "CreatedTimestamp")+            Prelude.<*> (x Data..:? "DefaultLicense")+            Prelude.<*> ( x+                            Data..:? "SigninDelegateGroups"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> ( x+                            Data..:? "SupportedLicenses"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..: "AwsAccountId")+            Prelude.<*> (x Data..: "AccountId")+            Prelude.<*> (x Data..: "Name")+      )++instance Prelude.Hashable Account where+  hashWithSalt _salt Account' {..} =+    _salt+      `Prelude.hashWithSalt` accountStatus+      `Prelude.hashWithSalt` accountType+      `Prelude.hashWithSalt` createdTimestamp+      `Prelude.hashWithSalt` defaultLicense+      `Prelude.hashWithSalt` signinDelegateGroups+      `Prelude.hashWithSalt` supportedLicenses+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` name++instance Prelude.NFData Account where+  rnf Account' {..} =+    Prelude.rnf accountStatus+      `Prelude.seq` Prelude.rnf accountType+      `Prelude.seq` Prelude.rnf createdTimestamp+      `Prelude.seq` Prelude.rnf defaultLicense+      `Prelude.seq` Prelude.rnf signinDelegateGroups+      `Prelude.seq` Prelude.rnf supportedLicenses+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/Chime/Types/AccountSettings.hs view
@@ -0,0 +1,109 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Chime.Types.AccountSettings+-- 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.Chime.Types.AccountSettings 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++-- | Settings related to the Amazon Chime account. This includes settings+-- that start or stop remote control of shared screens, or start or stop+-- the dial-out option in the Amazon Chime web application. For more+-- information about these settings, see+-- <https://docs.aws.amazon.com/chime/latest/ag/policies.html Use the Policies Page>+-- in the /Amazon Chime Administration Guide/.+--+-- /See:/ 'newAccountSettings' smart constructor.+data AccountSettings = AccountSettings'+  { -- | Setting that stops or starts remote control of shared screens during+    -- meetings.+    disableRemoteControl :: Prelude.Maybe Prelude.Bool,+    -- | Setting that allows meeting participants to choose the __Call me at a+    -- phone number__ option. For more information, see+    -- <https://docs.aws.amazon.com/chime/latest/ug/chime-join-meeting.html Join a Meeting without the Amazon Chime App>.+    enableDialOut :: Prelude.Maybe Prelude.Bool+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AccountSettings' 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:+--+-- 'disableRemoteControl', 'accountSettings_disableRemoteControl' - Setting that stops or starts remote control of shared screens during+-- meetings.+--+-- 'enableDialOut', 'accountSettings_enableDialOut' - Setting that allows meeting participants to choose the __Call me at a+-- phone number__ option. For more information, see+-- <https://docs.aws.amazon.com/chime/latest/ug/chime-join-meeting.html Join a Meeting without the Amazon Chime App>.+newAccountSettings ::+  AccountSettings+newAccountSettings =+  AccountSettings'+    { disableRemoteControl =+        Prelude.Nothing,+      enableDialOut = Prelude.Nothing+    }++-- | Setting that stops or starts remote control of shared screens during+-- meetings.+accountSettings_disableRemoteControl :: Lens.Lens' AccountSettings (Prelude.Maybe Prelude.Bool)+accountSettings_disableRemoteControl = Lens.lens (\AccountSettings' {disableRemoteControl} -> disableRemoteControl) (\s@AccountSettings' {} a -> s {disableRemoteControl = a} :: AccountSettings)++-- | Setting that allows meeting participants to choose the __Call me at a+-- phone number__ option. For more information, see+-- <https://docs.aws.amazon.com/chime/latest/ug/chime-join-meeting.html Join a Meeting without the Amazon Chime App>.+accountSettings_enableDialOut :: Lens.Lens' AccountSettings (Prelude.Maybe Prelude.Bool)+accountSettings_enableDialOut = Lens.lens (\AccountSettings' {enableDialOut} -> enableDialOut) (\s@AccountSettings' {} a -> s {enableDialOut = a} :: AccountSettings)++instance Data.FromJSON AccountSettings where+  parseJSON =+    Data.withObject+      "AccountSettings"+      ( \x ->+          AccountSettings'+            Prelude.<$> (x Data..:? "DisableRemoteControl")+            Prelude.<*> (x Data..:? "EnableDialOut")+      )++instance Prelude.Hashable AccountSettings where+  hashWithSalt _salt AccountSettings' {..} =+    _salt+      `Prelude.hashWithSalt` disableRemoteControl+      `Prelude.hashWithSalt` enableDialOut++instance Prelude.NFData AccountSettings where+  rnf AccountSettings' {..} =+    Prelude.rnf disableRemoteControl+      `Prelude.seq` Prelude.rnf enableDialOut++instance Data.ToJSON AccountSettings where+  toJSON AccountSettings' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DisableRemoteControl" Data..=)+              Prelude.<$> disableRemoteControl,+            ("EnableDialOut" Data..=) Prelude.<$> enableDialOut+          ]+      )
+ gen/Amazonka/Chime/Types/AccountStatus.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.Chime.Types.AccountStatus+-- 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.Chime.Types.AccountStatus+  ( AccountStatus+      ( ..,+        AccountStatus_Active,+        AccountStatus_Suspended+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AccountStatus = AccountStatus'+  { fromAccountStatus ::+      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 AccountStatus_Active :: AccountStatus+pattern AccountStatus_Active = AccountStatus' "Active"++pattern AccountStatus_Suspended :: AccountStatus+pattern AccountStatus_Suspended = AccountStatus' "Suspended"++{-# COMPLETE+  AccountStatus_Active,+  AccountStatus_Suspended,+  AccountStatus'+  #-}
+ gen/Amazonka/Chime/Types/AccountType.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.Chime.Types.AccountType+-- 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.Chime.Types.AccountType+  ( AccountType+      ( ..,+        AccountType_EnterpriseDirectory,+        AccountType_EnterpriseLWA,+        AccountType_EnterpriseOIDC,+        AccountType_Team+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AccountType = AccountType'+  { fromAccountType ::+      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 AccountType_EnterpriseDirectory :: AccountType+pattern AccountType_EnterpriseDirectory = AccountType' "EnterpriseDirectory"++pattern AccountType_EnterpriseLWA :: AccountType+pattern AccountType_EnterpriseLWA = AccountType' "EnterpriseLWA"++pattern AccountType_EnterpriseOIDC :: AccountType+pattern AccountType_EnterpriseOIDC = AccountType' "EnterpriseOIDC"++pattern AccountType_Team :: AccountType+pattern AccountType_Team = AccountType' "Team"++{-# COMPLETE+  AccountType_EnterpriseDirectory,+  AccountType_EnterpriseLWA,+  AccountType_EnterpriseOIDC,+  AccountType_Team,+  AccountType'+  #-}
+ gen/Amazonka/Chime/Types/Address.hs view
@@ -0,0 +1,183 @@+{-# 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.Chime.Types.Address+-- 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.Chime.Types.Address 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 validated address.+--+-- /See:/ 'newAddress' smart constructor.+data Address = Address'+  { -- | The city of an address.+    city :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The country of an address.+    country :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | An address suffix location, such as the @S. Unit A@ in+    -- @Central Park S. Unit A@.+    postDirectional :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The postal code of an address.+    postalCode :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The Zip + 4 or postal code + 4 of an address.+    postalCodePlus4 :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | An address prefix location, such as the @N@ in @N. Third St.@.+    preDirectional :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The state of an address.+    state :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The address street, such as @8th Avenue@.+    streetName :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The numeric portion of an address.+    streetNumber :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The address suffix, such as the @N@ in @8th Avenue N@.+    streetSuffix :: Prelude.Maybe (Data.Sensitive Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Address' 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:+--+-- 'city', 'address_city' - The city of an address.+--+-- 'country', 'address_country' - The country of an address.+--+-- 'postDirectional', 'address_postDirectional' - An address suffix location, such as the @S. Unit A@ in+-- @Central Park S. Unit A@.+--+-- 'postalCode', 'address_postalCode' - The postal code of an address.+--+-- 'postalCodePlus4', 'address_postalCodePlus4' - The Zip + 4 or postal code + 4 of an address.+--+-- 'preDirectional', 'address_preDirectional' - An address prefix location, such as the @N@ in @N. Third St.@.+--+-- 'state', 'address_state' - The state of an address.+--+-- 'streetName', 'address_streetName' - The address street, such as @8th Avenue@.+--+-- 'streetNumber', 'address_streetNumber' - The numeric portion of an address.+--+-- 'streetSuffix', 'address_streetSuffix' - The address suffix, such as the @N@ in @8th Avenue N@.+newAddress ::+  Address+newAddress =+  Address'+    { city = Prelude.Nothing,+      country = Prelude.Nothing,+      postDirectional = Prelude.Nothing,+      postalCode = Prelude.Nothing,+      postalCodePlus4 = Prelude.Nothing,+      preDirectional = Prelude.Nothing,+      state = Prelude.Nothing,+      streetName = Prelude.Nothing,+      streetNumber = Prelude.Nothing,+      streetSuffix = Prelude.Nothing+    }++-- | The city of an address.+address_city :: Lens.Lens' Address (Prelude.Maybe Prelude.Text)+address_city = Lens.lens (\Address' {city} -> city) (\s@Address' {} a -> s {city = a} :: Address) Prelude.. Lens.mapping Data._Sensitive++-- | The country of an address.+address_country :: Lens.Lens' Address (Prelude.Maybe Prelude.Text)+address_country = Lens.lens (\Address' {country} -> country) (\s@Address' {} a -> s {country = a} :: Address) Prelude.. Lens.mapping Data._Sensitive++-- | An address suffix location, such as the @S. Unit A@ in+-- @Central Park S. Unit A@.+address_postDirectional :: Lens.Lens' Address (Prelude.Maybe Prelude.Text)+address_postDirectional = Lens.lens (\Address' {postDirectional} -> postDirectional) (\s@Address' {} a -> s {postDirectional = a} :: Address) Prelude.. Lens.mapping Data._Sensitive++-- | The postal code of an address.+address_postalCode :: Lens.Lens' Address (Prelude.Maybe Prelude.Text)+address_postalCode = Lens.lens (\Address' {postalCode} -> postalCode) (\s@Address' {} a -> s {postalCode = a} :: Address) Prelude.. Lens.mapping Data._Sensitive++-- | The Zip + 4 or postal code + 4 of an address.+address_postalCodePlus4 :: Lens.Lens' Address (Prelude.Maybe Prelude.Text)+address_postalCodePlus4 = Lens.lens (\Address' {postalCodePlus4} -> postalCodePlus4) (\s@Address' {} a -> s {postalCodePlus4 = a} :: Address) Prelude.. Lens.mapping Data._Sensitive++-- | An address prefix location, such as the @N@ in @N. Third St.@.+address_preDirectional :: Lens.Lens' Address (Prelude.Maybe Prelude.Text)+address_preDirectional = Lens.lens (\Address' {preDirectional} -> preDirectional) (\s@Address' {} a -> s {preDirectional = a} :: Address) Prelude.. Lens.mapping Data._Sensitive++-- | The state of an address.+address_state :: Lens.Lens' Address (Prelude.Maybe Prelude.Text)+address_state = Lens.lens (\Address' {state} -> state) (\s@Address' {} a -> s {state = a} :: Address) Prelude.. Lens.mapping Data._Sensitive++-- | The address street, such as @8th Avenue@.+address_streetName :: Lens.Lens' Address (Prelude.Maybe Prelude.Text)+address_streetName = Lens.lens (\Address' {streetName} -> streetName) (\s@Address' {} a -> s {streetName = a} :: Address) Prelude.. Lens.mapping Data._Sensitive++-- | The numeric portion of an address.+address_streetNumber :: Lens.Lens' Address (Prelude.Maybe Prelude.Text)+address_streetNumber = Lens.lens (\Address' {streetNumber} -> streetNumber) (\s@Address' {} a -> s {streetNumber = a} :: Address) Prelude.. Lens.mapping Data._Sensitive++-- | The address suffix, such as the @N@ in @8th Avenue N@.+address_streetSuffix :: Lens.Lens' Address (Prelude.Maybe Prelude.Text)+address_streetSuffix = Lens.lens (\Address' {streetSuffix} -> streetSuffix) (\s@Address' {} a -> s {streetSuffix = a} :: Address) Prelude.. Lens.mapping Data._Sensitive++instance Data.FromJSON Address where+  parseJSON =+    Data.withObject+      "Address"+      ( \x ->+          Address'+            Prelude.<$> (x Data..:? "city")+            Prelude.<*> (x Data..:? "country")+            Prelude.<*> (x Data..:? "postDirectional")+            Prelude.<*> (x Data..:? "postalCode")+            Prelude.<*> (x Data..:? "postalCodePlus4")+            Prelude.<*> (x Data..:? "preDirectional")+            Prelude.<*> (x Data..:? "state")+            Prelude.<*> (x Data..:? "streetName")+            Prelude.<*> (x Data..:? "streetNumber")+            Prelude.<*> (x Data..:? "streetSuffix")+      )++instance Prelude.Hashable Address where+  hashWithSalt _salt Address' {..} =+    _salt+      `Prelude.hashWithSalt` city+      `Prelude.hashWithSalt` country+      `Prelude.hashWithSalt` postDirectional+      `Prelude.hashWithSalt` postalCode+      `Prelude.hashWithSalt` postalCodePlus4+      `Prelude.hashWithSalt` preDirectional+      `Prelude.hashWithSalt` state+      `Prelude.hashWithSalt` streetName+      `Prelude.hashWithSalt` streetNumber+      `Prelude.hashWithSalt` streetSuffix++instance Prelude.NFData Address where+  rnf Address' {..} =+    Prelude.rnf city+      `Prelude.seq` Prelude.rnf country+      `Prelude.seq` Prelude.rnf postDirectional+      `Prelude.seq` Prelude.rnf postalCode+      `Prelude.seq` Prelude.rnf postalCodePlus4+      `Prelude.seq` Prelude.rnf preDirectional+      `Prelude.seq` Prelude.rnf state+      `Prelude.seq` Prelude.rnf streetName+      `Prelude.seq` Prelude.rnf streetNumber+      `Prelude.seq` Prelude.rnf streetSuffix
+ gen/Amazonka/Chime/Types/AlexaForBusinessMetadata.hs view
@@ -0,0 +1,97 @@+{-# 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.Chime.Types.AlexaForBusinessMetadata+-- 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.Chime.Types.AlexaForBusinessMetadata 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 Alexa for Business metadata associated with an Amazon Chime user,+-- used to integrate Alexa for Business with a device.+--+-- /See:/ 'newAlexaForBusinessMetadata' smart constructor.+data AlexaForBusinessMetadata = AlexaForBusinessMetadata'+  { -- | The ARN of the room resource.+    alexaForBusinessRoomArn :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | Starts or stops Alexa for Business.+    isAlexaForBusinessEnabled :: Prelude.Maybe Prelude.Bool+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AlexaForBusinessMetadata' 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:+--+-- 'alexaForBusinessRoomArn', 'alexaForBusinessMetadata_alexaForBusinessRoomArn' - The ARN of the room resource.+--+-- 'isAlexaForBusinessEnabled', 'alexaForBusinessMetadata_isAlexaForBusinessEnabled' - Starts or stops Alexa for Business.+newAlexaForBusinessMetadata ::+  AlexaForBusinessMetadata+newAlexaForBusinessMetadata =+  AlexaForBusinessMetadata'+    { alexaForBusinessRoomArn =+        Prelude.Nothing,+      isAlexaForBusinessEnabled = Prelude.Nothing+    }++-- | The ARN of the room resource.+alexaForBusinessMetadata_alexaForBusinessRoomArn :: Lens.Lens' AlexaForBusinessMetadata (Prelude.Maybe Prelude.Text)+alexaForBusinessMetadata_alexaForBusinessRoomArn = Lens.lens (\AlexaForBusinessMetadata' {alexaForBusinessRoomArn} -> alexaForBusinessRoomArn) (\s@AlexaForBusinessMetadata' {} a -> s {alexaForBusinessRoomArn = a} :: AlexaForBusinessMetadata) Prelude.. Lens.mapping Data._Sensitive++-- | Starts or stops Alexa for Business.+alexaForBusinessMetadata_isAlexaForBusinessEnabled :: Lens.Lens' AlexaForBusinessMetadata (Prelude.Maybe Prelude.Bool)+alexaForBusinessMetadata_isAlexaForBusinessEnabled = Lens.lens (\AlexaForBusinessMetadata' {isAlexaForBusinessEnabled} -> isAlexaForBusinessEnabled) (\s@AlexaForBusinessMetadata' {} a -> s {isAlexaForBusinessEnabled = a} :: AlexaForBusinessMetadata)++instance Data.FromJSON AlexaForBusinessMetadata where+  parseJSON =+    Data.withObject+      "AlexaForBusinessMetadata"+      ( \x ->+          AlexaForBusinessMetadata'+            Prelude.<$> (x Data..:? "AlexaForBusinessRoomArn")+            Prelude.<*> (x Data..:? "IsAlexaForBusinessEnabled")+      )++instance Prelude.Hashable AlexaForBusinessMetadata where+  hashWithSalt _salt AlexaForBusinessMetadata' {..} =+    _salt+      `Prelude.hashWithSalt` alexaForBusinessRoomArn+      `Prelude.hashWithSalt` isAlexaForBusinessEnabled++instance Prelude.NFData AlexaForBusinessMetadata where+  rnf AlexaForBusinessMetadata' {..} =+    Prelude.rnf alexaForBusinessRoomArn+      `Prelude.seq` Prelude.rnf isAlexaForBusinessEnabled++instance Data.ToJSON AlexaForBusinessMetadata where+  toJSON AlexaForBusinessMetadata' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AlexaForBusinessRoomArn" Data..=)+              Prelude.<$> alexaForBusinessRoomArn,+            ("IsAlexaForBusinessEnabled" Data..=)+              Prelude.<$> isAlexaForBusinessEnabled+          ]+      )
+ gen/Amazonka/Chime/Types/AppInstance.hs view
@@ -0,0 +1,121 @@+{-# 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.Chime.Types.AppInstance+-- 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.Chime.Types.AppInstance where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The details of an @AppInstance@, an instance of an Amazon Chime SDK+-- messaging application.+--+-- /See:/ 'newAppInstance' smart constructor.+data AppInstance = AppInstance'+  { -- | The ARN of the messaging instance.+    appInstanceArn :: Prelude.Maybe Prelude.Text,+    -- | The time at which an @AppInstance@ was created. In epoch milliseconds.+    createdTimestamp :: Prelude.Maybe Data.POSIX,+    -- | The time an @AppInstance@ was last updated. In epoch milliseconds.+    lastUpdatedTimestamp :: Prelude.Maybe Data.POSIX,+    -- | The metadata of an @AppInstance@.+    metadata :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The name of an @AppInstance@.+    name :: Prelude.Maybe (Data.Sensitive Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AppInstance' 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:+--+-- 'appInstanceArn', 'appInstance_appInstanceArn' - The ARN of the messaging instance.+--+-- 'createdTimestamp', 'appInstance_createdTimestamp' - The time at which an @AppInstance@ was created. In epoch milliseconds.+--+-- 'lastUpdatedTimestamp', 'appInstance_lastUpdatedTimestamp' - The time an @AppInstance@ was last updated. In epoch milliseconds.+--+-- 'metadata', 'appInstance_metadata' - The metadata of an @AppInstance@.+--+-- 'name', 'appInstance_name' - The name of an @AppInstance@.+newAppInstance ::+  AppInstance+newAppInstance =+  AppInstance'+    { appInstanceArn = Prelude.Nothing,+      createdTimestamp = Prelude.Nothing,+      lastUpdatedTimestamp = Prelude.Nothing,+      metadata = Prelude.Nothing,+      name = Prelude.Nothing+    }++-- | The ARN of the messaging instance.+appInstance_appInstanceArn :: Lens.Lens' AppInstance (Prelude.Maybe Prelude.Text)+appInstance_appInstanceArn = Lens.lens (\AppInstance' {appInstanceArn} -> appInstanceArn) (\s@AppInstance' {} a -> s {appInstanceArn = a} :: AppInstance)++-- | The time at which an @AppInstance@ was created. In epoch milliseconds.+appInstance_createdTimestamp :: Lens.Lens' AppInstance (Prelude.Maybe Prelude.UTCTime)+appInstance_createdTimestamp = Lens.lens (\AppInstance' {createdTimestamp} -> createdTimestamp) (\s@AppInstance' {} a -> s {createdTimestamp = a} :: AppInstance) Prelude.. Lens.mapping Data._Time++-- | The time an @AppInstance@ was last updated. In epoch milliseconds.+appInstance_lastUpdatedTimestamp :: Lens.Lens' AppInstance (Prelude.Maybe Prelude.UTCTime)+appInstance_lastUpdatedTimestamp = Lens.lens (\AppInstance' {lastUpdatedTimestamp} -> lastUpdatedTimestamp) (\s@AppInstance' {} a -> s {lastUpdatedTimestamp = a} :: AppInstance) Prelude.. Lens.mapping Data._Time++-- | The metadata of an @AppInstance@.+appInstance_metadata :: Lens.Lens' AppInstance (Prelude.Maybe Prelude.Text)+appInstance_metadata = Lens.lens (\AppInstance' {metadata} -> metadata) (\s@AppInstance' {} a -> s {metadata = a} :: AppInstance) Prelude.. Lens.mapping Data._Sensitive++-- | The name of an @AppInstance@.+appInstance_name :: Lens.Lens' AppInstance (Prelude.Maybe Prelude.Text)+appInstance_name = Lens.lens (\AppInstance' {name} -> name) (\s@AppInstance' {} a -> s {name = a} :: AppInstance) Prelude.. Lens.mapping Data._Sensitive++instance Data.FromJSON AppInstance where+  parseJSON =+    Data.withObject+      "AppInstance"+      ( \x ->+          AppInstance'+            Prelude.<$> (x Data..:? "AppInstanceArn")+            Prelude.<*> (x Data..:? "CreatedTimestamp")+            Prelude.<*> (x Data..:? "LastUpdatedTimestamp")+            Prelude.<*> (x Data..:? "Metadata")+            Prelude.<*> (x Data..:? "Name")+      )++instance Prelude.Hashable AppInstance where+  hashWithSalt _salt AppInstance' {..} =+    _salt+      `Prelude.hashWithSalt` appInstanceArn+      `Prelude.hashWithSalt` createdTimestamp+      `Prelude.hashWithSalt` lastUpdatedTimestamp+      `Prelude.hashWithSalt` metadata+      `Prelude.hashWithSalt` name++instance Prelude.NFData AppInstance where+  rnf AppInstance' {..} =+    Prelude.rnf appInstanceArn+      `Prelude.seq` Prelude.rnf createdTimestamp+      `Prelude.seq` Prelude.rnf lastUpdatedTimestamp+      `Prelude.seq` Prelude.rnf metadata+      `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/Chime/Types/AppInstanceAdmin.hs view
@@ -0,0 +1,97 @@+{-# 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.Chime.Types.AppInstanceAdmin+-- 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.Chime.Types.AppInstanceAdmin where++import Amazonka.Chime.Types.Identity+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The details of an @AppInstanceAdmin@.+--+-- /See:/ 'newAppInstanceAdmin' smart constructor.+data AppInstanceAdmin = AppInstanceAdmin'+  { -- | The @AppInstanceAdmin@ data.+    admin :: Prelude.Maybe Identity,+    -- | The ARN of the @AppInstance@ for which the user is an administrator.+    appInstanceArn :: Prelude.Maybe Prelude.Text,+    -- | The time at which an administrator was created.+    createdTimestamp :: Prelude.Maybe Data.POSIX+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AppInstanceAdmin' 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:+--+-- 'admin', 'appInstanceAdmin_admin' - The @AppInstanceAdmin@ data.+--+-- 'appInstanceArn', 'appInstanceAdmin_appInstanceArn' - The ARN of the @AppInstance@ for which the user is an administrator.+--+-- 'createdTimestamp', 'appInstanceAdmin_createdTimestamp' - The time at which an administrator was created.+newAppInstanceAdmin ::+  AppInstanceAdmin+newAppInstanceAdmin =+  AppInstanceAdmin'+    { admin = Prelude.Nothing,+      appInstanceArn = Prelude.Nothing,+      createdTimestamp = Prelude.Nothing+    }++-- | The @AppInstanceAdmin@ data.+appInstanceAdmin_admin :: Lens.Lens' AppInstanceAdmin (Prelude.Maybe Identity)+appInstanceAdmin_admin = Lens.lens (\AppInstanceAdmin' {admin} -> admin) (\s@AppInstanceAdmin' {} a -> s {admin = a} :: AppInstanceAdmin)++-- | The ARN of the @AppInstance@ for which the user is an administrator.+appInstanceAdmin_appInstanceArn :: Lens.Lens' AppInstanceAdmin (Prelude.Maybe Prelude.Text)+appInstanceAdmin_appInstanceArn = Lens.lens (\AppInstanceAdmin' {appInstanceArn} -> appInstanceArn) (\s@AppInstanceAdmin' {} a -> s {appInstanceArn = a} :: AppInstanceAdmin)++-- | The time at which an administrator was created.+appInstanceAdmin_createdTimestamp :: Lens.Lens' AppInstanceAdmin (Prelude.Maybe Prelude.UTCTime)+appInstanceAdmin_createdTimestamp = Lens.lens (\AppInstanceAdmin' {createdTimestamp} -> createdTimestamp) (\s@AppInstanceAdmin' {} a -> s {createdTimestamp = a} :: AppInstanceAdmin) Prelude.. Lens.mapping Data._Time++instance Data.FromJSON AppInstanceAdmin where+  parseJSON =+    Data.withObject+      "AppInstanceAdmin"+      ( \x ->+          AppInstanceAdmin'+            Prelude.<$> (x Data..:? "Admin")+            Prelude.<*> (x Data..:? "AppInstanceArn")+            Prelude.<*> (x Data..:? "CreatedTimestamp")+      )++instance Prelude.Hashable AppInstanceAdmin where+  hashWithSalt _salt AppInstanceAdmin' {..} =+    _salt+      `Prelude.hashWithSalt` admin+      `Prelude.hashWithSalt` appInstanceArn+      `Prelude.hashWithSalt` createdTimestamp++instance Prelude.NFData AppInstanceAdmin where+  rnf AppInstanceAdmin' {..} =+    Prelude.rnf admin+      `Prelude.seq` Prelude.rnf appInstanceArn+      `Prelude.seq` Prelude.rnf createdTimestamp
+ gen/Amazonka/Chime/Types/AppInstanceAdminSummary.hs view
@@ -0,0 +1,69 @@+{-# 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.Chime.Types.AppInstanceAdminSummary+-- 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.Chime.Types.AppInstanceAdminSummary where++import Amazonka.Chime.Types.Identity+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++-- | Summary of the details of an @AppInstanceAdmin@.+--+-- /See:/ 'newAppInstanceAdminSummary' smart constructor.+data AppInstanceAdminSummary = AppInstanceAdminSummary'+  { -- | The details of the @AppInstanceAdmin@.+    admin :: Prelude.Maybe Identity+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AppInstanceAdminSummary' 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:+--+-- 'admin', 'appInstanceAdminSummary_admin' - The details of the @AppInstanceAdmin@.+newAppInstanceAdminSummary ::+  AppInstanceAdminSummary+newAppInstanceAdminSummary =+  AppInstanceAdminSummary' {admin = Prelude.Nothing}++-- | The details of the @AppInstanceAdmin@.+appInstanceAdminSummary_admin :: Lens.Lens' AppInstanceAdminSummary (Prelude.Maybe Identity)+appInstanceAdminSummary_admin = Lens.lens (\AppInstanceAdminSummary' {admin} -> admin) (\s@AppInstanceAdminSummary' {} a -> s {admin = a} :: AppInstanceAdminSummary)++instance Data.FromJSON AppInstanceAdminSummary where+  parseJSON =+    Data.withObject+      "AppInstanceAdminSummary"+      ( \x ->+          AppInstanceAdminSummary'+            Prelude.<$> (x Data..:? "Admin")+      )++instance Prelude.Hashable AppInstanceAdminSummary where+  hashWithSalt _salt AppInstanceAdminSummary' {..} =+    _salt `Prelude.hashWithSalt` admin++instance Prelude.NFData AppInstanceAdminSummary where+  rnf AppInstanceAdminSummary' {..} = Prelude.rnf admin
+ gen/Amazonka/Chime/Types/AppInstanceDataType.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.Chime.Types.AppInstanceDataType+-- 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.Chime.Types.AppInstanceDataType+  ( AppInstanceDataType+      ( ..,+        AppInstanceDataType_Channel,+        AppInstanceDataType_ChannelMessage+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AppInstanceDataType = AppInstanceDataType'+  { fromAppInstanceDataType ::+      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 AppInstanceDataType_Channel :: AppInstanceDataType+pattern AppInstanceDataType_Channel = AppInstanceDataType' "Channel"++pattern AppInstanceDataType_ChannelMessage :: AppInstanceDataType+pattern AppInstanceDataType_ChannelMessage = AppInstanceDataType' "ChannelMessage"++{-# COMPLETE+  AppInstanceDataType_Channel,+  AppInstanceDataType_ChannelMessage,+  AppInstanceDataType'+  #-}
+ gen/Amazonka/Chime/Types/AppInstanceRetentionSettings.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.Chime.Types.AppInstanceRetentionSettings+-- 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.Chime.Types.AppInstanceRetentionSettings where++import Amazonka.Chime.Types.ChannelRetentionSettings+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The details of the data-retention settings for an @AppInstance@.+--+-- /See:/ 'newAppInstanceRetentionSettings' smart constructor.+data AppInstanceRetentionSettings = AppInstanceRetentionSettings'+  { -- | The length of time in days to retain the messages in a channel.+    channelRetentionSettings :: Prelude.Maybe ChannelRetentionSettings+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AppInstanceRetentionSettings' 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:+--+-- 'channelRetentionSettings', 'appInstanceRetentionSettings_channelRetentionSettings' - The length of time in days to retain the messages in a channel.+newAppInstanceRetentionSettings ::+  AppInstanceRetentionSettings+newAppInstanceRetentionSettings =+  AppInstanceRetentionSettings'+    { channelRetentionSettings =+        Prelude.Nothing+    }++-- | The length of time in days to retain the messages in a channel.+appInstanceRetentionSettings_channelRetentionSettings :: Lens.Lens' AppInstanceRetentionSettings (Prelude.Maybe ChannelRetentionSettings)+appInstanceRetentionSettings_channelRetentionSettings = Lens.lens (\AppInstanceRetentionSettings' {channelRetentionSettings} -> channelRetentionSettings) (\s@AppInstanceRetentionSettings' {} a -> s {channelRetentionSettings = a} :: AppInstanceRetentionSettings)++instance Data.FromJSON AppInstanceRetentionSettings where+  parseJSON =+    Data.withObject+      "AppInstanceRetentionSettings"+      ( \x ->+          AppInstanceRetentionSettings'+            Prelude.<$> (x Data..:? "ChannelRetentionSettings")+      )++instance+  Prelude.Hashable+    AppInstanceRetentionSettings+  where+  hashWithSalt _salt AppInstanceRetentionSettings' {..} =+    _salt+      `Prelude.hashWithSalt` channelRetentionSettings++instance Prelude.NFData AppInstanceRetentionSettings where+  rnf AppInstanceRetentionSettings' {..} =+    Prelude.rnf channelRetentionSettings++instance Data.ToJSON AppInstanceRetentionSettings where+  toJSON AppInstanceRetentionSettings' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ChannelRetentionSettings" Data..=)+              Prelude.<$> channelRetentionSettings+          ]+      )
+ gen/Amazonka/Chime/Types/AppInstanceStreamingConfiguration.hs view
@@ -0,0 +1,117 @@+{-# 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.Chime.Types.AppInstanceStreamingConfiguration+-- 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.Chime.Types.AppInstanceStreamingConfiguration where++import Amazonka.Chime.Types.AppInstanceDataType+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The details of the streaming configuration of an @AppInstance@.+--+-- /See:/ 'newAppInstanceStreamingConfiguration' smart constructor.+data AppInstanceStreamingConfiguration = AppInstanceStreamingConfiguration'+  { -- | The type of data to be streamed.+    appInstanceDataType :: AppInstanceDataType,+    -- | The resource ARN.+    resourceArn :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AppInstanceStreamingConfiguration' 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:+--+-- 'appInstanceDataType', 'appInstanceStreamingConfiguration_appInstanceDataType' - The type of data to be streamed.+--+-- 'resourceArn', 'appInstanceStreamingConfiguration_resourceArn' - The resource ARN.+newAppInstanceStreamingConfiguration ::+  -- | 'appInstanceDataType'+  AppInstanceDataType ->+  -- | 'resourceArn'+  Prelude.Text ->+  AppInstanceStreamingConfiguration+newAppInstanceStreamingConfiguration+  pAppInstanceDataType_+  pResourceArn_ =+    AppInstanceStreamingConfiguration'+      { appInstanceDataType =+          pAppInstanceDataType_,+        resourceArn =+          Data._Sensitive Lens.# pResourceArn_+      }++-- | The type of data to be streamed.+appInstanceStreamingConfiguration_appInstanceDataType :: Lens.Lens' AppInstanceStreamingConfiguration AppInstanceDataType+appInstanceStreamingConfiguration_appInstanceDataType = Lens.lens (\AppInstanceStreamingConfiguration' {appInstanceDataType} -> appInstanceDataType) (\s@AppInstanceStreamingConfiguration' {} a -> s {appInstanceDataType = a} :: AppInstanceStreamingConfiguration)++-- | The resource ARN.+appInstanceStreamingConfiguration_resourceArn :: Lens.Lens' AppInstanceStreamingConfiguration Prelude.Text+appInstanceStreamingConfiguration_resourceArn = Lens.lens (\AppInstanceStreamingConfiguration' {resourceArn} -> resourceArn) (\s@AppInstanceStreamingConfiguration' {} a -> s {resourceArn = a} :: AppInstanceStreamingConfiguration) Prelude.. Data._Sensitive++instance+  Data.FromJSON+    AppInstanceStreamingConfiguration+  where+  parseJSON =+    Data.withObject+      "AppInstanceStreamingConfiguration"+      ( \x ->+          AppInstanceStreamingConfiguration'+            Prelude.<$> (x Data..: "AppInstanceDataType")+            Prelude.<*> (x Data..: "ResourceArn")+      )++instance+  Prelude.Hashable+    AppInstanceStreamingConfiguration+  where+  hashWithSalt+    _salt+    AppInstanceStreamingConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` appInstanceDataType+        `Prelude.hashWithSalt` resourceArn++instance+  Prelude.NFData+    AppInstanceStreamingConfiguration+  where+  rnf AppInstanceStreamingConfiguration' {..} =+    Prelude.rnf appInstanceDataType+      `Prelude.seq` Prelude.rnf resourceArn++instance+  Data.ToJSON+    AppInstanceStreamingConfiguration+  where+  toJSON AppInstanceStreamingConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("AppInstanceDataType" Data..= appInstanceDataType),+            Prelude.Just ("ResourceArn" Data..= resourceArn)+          ]+      )
+ gen/Amazonka/Chime/Types/AppInstanceSummary.hs view
@@ -0,0 +1,97 @@+{-# 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.Chime.Types.AppInstanceSummary+-- 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.Chime.Types.AppInstanceSummary 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++-- | Summary of the data for an @AppInstance@.+--+-- /See:/ 'newAppInstanceSummary' smart constructor.+data AppInstanceSummary = AppInstanceSummary'+  { -- | The @AppInstance@ ARN.+    appInstanceArn :: Prelude.Maybe Prelude.Text,+    -- | The metadata of the @AppInstance@.+    metadata :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The name of the @AppInstance@.+    name :: Prelude.Maybe (Data.Sensitive Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AppInstanceSummary' 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:+--+-- 'appInstanceArn', 'appInstanceSummary_appInstanceArn' - The @AppInstance@ ARN.+--+-- 'metadata', 'appInstanceSummary_metadata' - The metadata of the @AppInstance@.+--+-- 'name', 'appInstanceSummary_name' - The name of the @AppInstance@.+newAppInstanceSummary ::+  AppInstanceSummary+newAppInstanceSummary =+  AppInstanceSummary'+    { appInstanceArn =+        Prelude.Nothing,+      metadata = Prelude.Nothing,+      name = Prelude.Nothing+    }++-- | The @AppInstance@ ARN.+appInstanceSummary_appInstanceArn :: Lens.Lens' AppInstanceSummary (Prelude.Maybe Prelude.Text)+appInstanceSummary_appInstanceArn = Lens.lens (\AppInstanceSummary' {appInstanceArn} -> appInstanceArn) (\s@AppInstanceSummary' {} a -> s {appInstanceArn = a} :: AppInstanceSummary)++-- | The metadata of the @AppInstance@.+appInstanceSummary_metadata :: Lens.Lens' AppInstanceSummary (Prelude.Maybe Prelude.Text)+appInstanceSummary_metadata = Lens.lens (\AppInstanceSummary' {metadata} -> metadata) (\s@AppInstanceSummary' {} a -> s {metadata = a} :: AppInstanceSummary) Prelude.. Lens.mapping Data._Sensitive++-- | The name of the @AppInstance@.+appInstanceSummary_name :: Lens.Lens' AppInstanceSummary (Prelude.Maybe Prelude.Text)+appInstanceSummary_name = Lens.lens (\AppInstanceSummary' {name} -> name) (\s@AppInstanceSummary' {} a -> s {name = a} :: AppInstanceSummary) Prelude.. Lens.mapping Data._Sensitive++instance Data.FromJSON AppInstanceSummary where+  parseJSON =+    Data.withObject+      "AppInstanceSummary"+      ( \x ->+          AppInstanceSummary'+            Prelude.<$> (x Data..:? "AppInstanceArn")+            Prelude.<*> (x Data..:? "Metadata")+            Prelude.<*> (x Data..:? "Name")+      )++instance Prelude.Hashable AppInstanceSummary where+  hashWithSalt _salt AppInstanceSummary' {..} =+    _salt+      `Prelude.hashWithSalt` appInstanceArn+      `Prelude.hashWithSalt` metadata+      `Prelude.hashWithSalt` name++instance Prelude.NFData AppInstanceSummary where+  rnf AppInstanceSummary' {..} =+    Prelude.rnf appInstanceArn+      `Prelude.seq` Prelude.rnf metadata+      `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/Chime/Types/AppInstanceUser.hs view
@@ -0,0 +1,121 @@+{-# 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.Chime.Types.AppInstanceUser+-- 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.Chime.Types.AppInstanceUser where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The details of an @AppInstanceUser@.+--+-- /See:/ 'newAppInstanceUser' smart constructor.+data AppInstanceUser = AppInstanceUser'+  { -- | The ARN of the @AppInstanceUser@.+    appInstanceUserArn :: Prelude.Maybe Prelude.Text,+    -- | The time at which the @AppInstanceUser@ was created.+    createdTimestamp :: Prelude.Maybe Data.POSIX,+    -- | The time at which the @AppInstanceUser@ was last updated.+    lastUpdatedTimestamp :: Prelude.Maybe Data.POSIX,+    -- | The metadata of the @AppInstanceUser@.+    metadata :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The name of the @AppInstanceUser@.+    name :: Prelude.Maybe (Data.Sensitive Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AppInstanceUser' 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:+--+-- 'appInstanceUserArn', 'appInstanceUser_appInstanceUserArn' - The ARN of the @AppInstanceUser@.+--+-- 'createdTimestamp', 'appInstanceUser_createdTimestamp' - The time at which the @AppInstanceUser@ was created.+--+-- 'lastUpdatedTimestamp', 'appInstanceUser_lastUpdatedTimestamp' - The time at which the @AppInstanceUser@ was last updated.+--+-- 'metadata', 'appInstanceUser_metadata' - The metadata of the @AppInstanceUser@.+--+-- 'name', 'appInstanceUser_name' - The name of the @AppInstanceUser@.+newAppInstanceUser ::+  AppInstanceUser+newAppInstanceUser =+  AppInstanceUser'+    { appInstanceUserArn =+        Prelude.Nothing,+      createdTimestamp = Prelude.Nothing,+      lastUpdatedTimestamp = Prelude.Nothing,+      metadata = Prelude.Nothing,+      name = Prelude.Nothing+    }++-- | The ARN of the @AppInstanceUser@.+appInstanceUser_appInstanceUserArn :: Lens.Lens' AppInstanceUser (Prelude.Maybe Prelude.Text)+appInstanceUser_appInstanceUserArn = Lens.lens (\AppInstanceUser' {appInstanceUserArn} -> appInstanceUserArn) (\s@AppInstanceUser' {} a -> s {appInstanceUserArn = a} :: AppInstanceUser)++-- | The time at which the @AppInstanceUser@ was created.+appInstanceUser_createdTimestamp :: Lens.Lens' AppInstanceUser (Prelude.Maybe Prelude.UTCTime)+appInstanceUser_createdTimestamp = Lens.lens (\AppInstanceUser' {createdTimestamp} -> createdTimestamp) (\s@AppInstanceUser' {} a -> s {createdTimestamp = a} :: AppInstanceUser) Prelude.. Lens.mapping Data._Time++-- | The time at which the @AppInstanceUser@ was last updated.+appInstanceUser_lastUpdatedTimestamp :: Lens.Lens' AppInstanceUser (Prelude.Maybe Prelude.UTCTime)+appInstanceUser_lastUpdatedTimestamp = Lens.lens (\AppInstanceUser' {lastUpdatedTimestamp} -> lastUpdatedTimestamp) (\s@AppInstanceUser' {} a -> s {lastUpdatedTimestamp = a} :: AppInstanceUser) Prelude.. Lens.mapping Data._Time++-- | The metadata of the @AppInstanceUser@.+appInstanceUser_metadata :: Lens.Lens' AppInstanceUser (Prelude.Maybe Prelude.Text)+appInstanceUser_metadata = Lens.lens (\AppInstanceUser' {metadata} -> metadata) (\s@AppInstanceUser' {} a -> s {metadata = a} :: AppInstanceUser) Prelude.. Lens.mapping Data._Sensitive++-- | The name of the @AppInstanceUser@.+appInstanceUser_name :: Lens.Lens' AppInstanceUser (Prelude.Maybe Prelude.Text)+appInstanceUser_name = Lens.lens (\AppInstanceUser' {name} -> name) (\s@AppInstanceUser' {} a -> s {name = a} :: AppInstanceUser) Prelude.. Lens.mapping Data._Sensitive++instance Data.FromJSON AppInstanceUser where+  parseJSON =+    Data.withObject+      "AppInstanceUser"+      ( \x ->+          AppInstanceUser'+            Prelude.<$> (x Data..:? "AppInstanceUserArn")+            Prelude.<*> (x Data..:? "CreatedTimestamp")+            Prelude.<*> (x Data..:? "LastUpdatedTimestamp")+            Prelude.<*> (x Data..:? "Metadata")+            Prelude.<*> (x Data..:? "Name")+      )++instance Prelude.Hashable AppInstanceUser where+  hashWithSalt _salt AppInstanceUser' {..} =+    _salt+      `Prelude.hashWithSalt` appInstanceUserArn+      `Prelude.hashWithSalt` createdTimestamp+      `Prelude.hashWithSalt` lastUpdatedTimestamp+      `Prelude.hashWithSalt` metadata+      `Prelude.hashWithSalt` name++instance Prelude.NFData AppInstanceUser where+  rnf AppInstanceUser' {..} =+    Prelude.rnf appInstanceUserArn+      `Prelude.seq` Prelude.rnf createdTimestamp+      `Prelude.seq` Prelude.rnf lastUpdatedTimestamp+      `Prelude.seq` Prelude.rnf metadata+      `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/Chime/Types/AppInstanceUserMembershipSummary.hs view
@@ -0,0 +1,97 @@+{-# 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.Chime.Types.AppInstanceUserMembershipSummary+-- 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.Chime.Types.AppInstanceUserMembershipSummary where++import Amazonka.Chime.Types.ChannelMembershipType+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++-- | Summary of the membership details of an @AppInstanceUser@.+--+-- /See:/ 'newAppInstanceUserMembershipSummary' smart constructor.+data AppInstanceUserMembershipSummary = AppInstanceUserMembershipSummary'+  { -- | The time at which a message was last read.+    readMarkerTimestamp :: Prelude.Maybe Data.POSIX,+    -- | The type of @ChannelMembership@.+    type' :: Prelude.Maybe ChannelMembershipType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AppInstanceUserMembershipSummary' 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:+--+-- 'readMarkerTimestamp', 'appInstanceUserMembershipSummary_readMarkerTimestamp' - The time at which a message was last read.+--+-- 'type'', 'appInstanceUserMembershipSummary_type' - The type of @ChannelMembership@.+newAppInstanceUserMembershipSummary ::+  AppInstanceUserMembershipSummary+newAppInstanceUserMembershipSummary =+  AppInstanceUserMembershipSummary'+    { readMarkerTimestamp =+        Prelude.Nothing,+      type' = Prelude.Nothing+    }++-- | The time at which a message was last read.+appInstanceUserMembershipSummary_readMarkerTimestamp :: Lens.Lens' AppInstanceUserMembershipSummary (Prelude.Maybe Prelude.UTCTime)+appInstanceUserMembershipSummary_readMarkerTimestamp = Lens.lens (\AppInstanceUserMembershipSummary' {readMarkerTimestamp} -> readMarkerTimestamp) (\s@AppInstanceUserMembershipSummary' {} a -> s {readMarkerTimestamp = a} :: AppInstanceUserMembershipSummary) Prelude.. Lens.mapping Data._Time++-- | The type of @ChannelMembership@.+appInstanceUserMembershipSummary_type :: Lens.Lens' AppInstanceUserMembershipSummary (Prelude.Maybe ChannelMembershipType)+appInstanceUserMembershipSummary_type = Lens.lens (\AppInstanceUserMembershipSummary' {type'} -> type') (\s@AppInstanceUserMembershipSummary' {} a -> s {type' = a} :: AppInstanceUserMembershipSummary)++instance+  Data.FromJSON+    AppInstanceUserMembershipSummary+  where+  parseJSON =+    Data.withObject+      "AppInstanceUserMembershipSummary"+      ( \x ->+          AppInstanceUserMembershipSummary'+            Prelude.<$> (x Data..:? "ReadMarkerTimestamp")+            Prelude.<*> (x Data..:? "Type")+      )++instance+  Prelude.Hashable+    AppInstanceUserMembershipSummary+  where+  hashWithSalt+    _salt+    AppInstanceUserMembershipSummary' {..} =+      _salt+        `Prelude.hashWithSalt` readMarkerTimestamp+        `Prelude.hashWithSalt` type'++instance+  Prelude.NFData+    AppInstanceUserMembershipSummary+  where+  rnf AppInstanceUserMembershipSummary' {..} =+    Prelude.rnf readMarkerTimestamp+      `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/Chime/Types/AppInstanceUserSummary.hs view
@@ -0,0 +1,97 @@+{-# 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.Chime.Types.AppInstanceUserSummary+-- 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.Chime.Types.AppInstanceUserSummary 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++-- | Summary of the details of an @AppInstanceUser@.+--+-- /See:/ 'newAppInstanceUserSummary' smart constructor.+data AppInstanceUserSummary = AppInstanceUserSummary'+  { -- | The ARN of the @AppInstanceUser@.+    appInstanceUserArn :: Prelude.Maybe Prelude.Text,+    -- | The metadata of the @AppInstanceUser@.+    metadata :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The name of an @AppInstanceUser@.+    name :: Prelude.Maybe (Data.Sensitive Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AppInstanceUserSummary' 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:+--+-- 'appInstanceUserArn', 'appInstanceUserSummary_appInstanceUserArn' - The ARN of the @AppInstanceUser@.+--+-- 'metadata', 'appInstanceUserSummary_metadata' - The metadata of the @AppInstanceUser@.+--+-- 'name', 'appInstanceUserSummary_name' - The name of an @AppInstanceUser@.+newAppInstanceUserSummary ::+  AppInstanceUserSummary+newAppInstanceUserSummary =+  AppInstanceUserSummary'+    { appInstanceUserArn =+        Prelude.Nothing,+      metadata = Prelude.Nothing,+      name = Prelude.Nothing+    }++-- | The ARN of the @AppInstanceUser@.+appInstanceUserSummary_appInstanceUserArn :: Lens.Lens' AppInstanceUserSummary (Prelude.Maybe Prelude.Text)+appInstanceUserSummary_appInstanceUserArn = Lens.lens (\AppInstanceUserSummary' {appInstanceUserArn} -> appInstanceUserArn) (\s@AppInstanceUserSummary' {} a -> s {appInstanceUserArn = a} :: AppInstanceUserSummary)++-- | The metadata of the @AppInstanceUser@.+appInstanceUserSummary_metadata :: Lens.Lens' AppInstanceUserSummary (Prelude.Maybe Prelude.Text)+appInstanceUserSummary_metadata = Lens.lens (\AppInstanceUserSummary' {metadata} -> metadata) (\s@AppInstanceUserSummary' {} a -> s {metadata = a} :: AppInstanceUserSummary) Prelude.. Lens.mapping Data._Sensitive++-- | The name of an @AppInstanceUser@.+appInstanceUserSummary_name :: Lens.Lens' AppInstanceUserSummary (Prelude.Maybe Prelude.Text)+appInstanceUserSummary_name = Lens.lens (\AppInstanceUserSummary' {name} -> name) (\s@AppInstanceUserSummary' {} a -> s {name = a} :: AppInstanceUserSummary) Prelude.. Lens.mapping Data._Sensitive++instance Data.FromJSON AppInstanceUserSummary where+  parseJSON =+    Data.withObject+      "AppInstanceUserSummary"+      ( \x ->+          AppInstanceUserSummary'+            Prelude.<$> (x Data..:? "AppInstanceUserArn")+            Prelude.<*> (x Data..:? "Metadata")+            Prelude.<*> (x Data..:? "Name")+      )++instance Prelude.Hashable AppInstanceUserSummary where+  hashWithSalt _salt AppInstanceUserSummary' {..} =+    _salt+      `Prelude.hashWithSalt` appInstanceUserArn+      `Prelude.hashWithSalt` metadata+      `Prelude.hashWithSalt` name++instance Prelude.NFData AppInstanceUserSummary where+  rnf AppInstanceUserSummary' {..} =+    Prelude.rnf appInstanceUserArn+      `Prelude.seq` Prelude.rnf metadata+      `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/Chime/Types/ArtifactsConfiguration.hs view
@@ -0,0 +1,115 @@+{-# 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.Chime.Types.ArtifactsConfiguration+-- 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.Chime.Types.ArtifactsConfiguration where++import Amazonka.Chime.Types.AudioArtifactsConfiguration+import Amazonka.Chime.Types.ContentArtifactsConfiguration+import Amazonka.Chime.Types.VideoArtifactsConfiguration+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 artifacts.+--+-- /See:/ 'newArtifactsConfiguration' smart constructor.+data ArtifactsConfiguration = ArtifactsConfiguration'+  { -- | The configuration for the audio artifacts.+    audio :: AudioArtifactsConfiguration,+    -- | The configuration for the video artifacts.+    video :: VideoArtifactsConfiguration,+    -- | The configuration for the content artifacts.+    content :: ContentArtifactsConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ArtifactsConfiguration' 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', 'artifactsConfiguration_audio' - The configuration for the audio artifacts.+--+-- 'video', 'artifactsConfiguration_video' - The configuration for the video artifacts.+--+-- 'content', 'artifactsConfiguration_content' - The configuration for the content artifacts.+newArtifactsConfiguration ::+  -- | 'audio'+  AudioArtifactsConfiguration ->+  -- | 'video'+  VideoArtifactsConfiguration ->+  -- | 'content'+  ContentArtifactsConfiguration ->+  ArtifactsConfiguration+newArtifactsConfiguration pAudio_ pVideo_ pContent_ =+  ArtifactsConfiguration'+    { audio = pAudio_,+      video = pVideo_,+      content = pContent_+    }++-- | The configuration for the audio artifacts.+artifactsConfiguration_audio :: Lens.Lens' ArtifactsConfiguration AudioArtifactsConfiguration+artifactsConfiguration_audio = Lens.lens (\ArtifactsConfiguration' {audio} -> audio) (\s@ArtifactsConfiguration' {} a -> s {audio = a} :: ArtifactsConfiguration)++-- | The configuration for the video artifacts.+artifactsConfiguration_video :: Lens.Lens' ArtifactsConfiguration VideoArtifactsConfiguration+artifactsConfiguration_video = Lens.lens (\ArtifactsConfiguration' {video} -> video) (\s@ArtifactsConfiguration' {} a -> s {video = a} :: ArtifactsConfiguration)++-- | The configuration for the content artifacts.+artifactsConfiguration_content :: Lens.Lens' ArtifactsConfiguration ContentArtifactsConfiguration+artifactsConfiguration_content = Lens.lens (\ArtifactsConfiguration' {content} -> content) (\s@ArtifactsConfiguration' {} a -> s {content = a} :: ArtifactsConfiguration)++instance Data.FromJSON ArtifactsConfiguration where+  parseJSON =+    Data.withObject+      "ArtifactsConfiguration"+      ( \x ->+          ArtifactsConfiguration'+            Prelude.<$> (x Data..: "Audio")+            Prelude.<*> (x Data..: "Video")+            Prelude.<*> (x Data..: "Content")+      )++instance Prelude.Hashable ArtifactsConfiguration where+  hashWithSalt _salt ArtifactsConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` audio+      `Prelude.hashWithSalt` video+      `Prelude.hashWithSalt` content++instance Prelude.NFData ArtifactsConfiguration where+  rnf ArtifactsConfiguration' {..} =+    Prelude.rnf audio+      `Prelude.seq` Prelude.rnf video+      `Prelude.seq` Prelude.rnf content++instance Data.ToJSON ArtifactsConfiguration where+  toJSON ArtifactsConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Audio" Data..= audio),+            Prelude.Just ("Video" Data..= video),+            Prelude.Just ("Content" Data..= content)+          ]+      )
+ gen/Amazonka/Chime/Types/ArtifactsState.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.Chime.Types.ArtifactsState+-- 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.Chime.Types.ArtifactsState+  ( ArtifactsState+      ( ..,+        ArtifactsState_Disabled,+        ArtifactsState_Enabled+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ArtifactsState = ArtifactsState'+  { fromArtifactsState ::+      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 ArtifactsState_Disabled :: ArtifactsState+pattern ArtifactsState_Disabled = ArtifactsState' "Disabled"++pattern ArtifactsState_Enabled :: ArtifactsState+pattern ArtifactsState_Enabled = ArtifactsState' "Enabled"++{-# COMPLETE+  ArtifactsState_Disabled,+  ArtifactsState_Enabled,+  ArtifactsState'+  #-}
+ gen/Amazonka/Chime/Types/Attendee.hs view
@@ -0,0 +1,107 @@+{-# 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.Chime.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.Chime.Types.Attendee 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++-- | 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 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.+--+-- '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,+      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 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..:? "ExternalUserId")+            Prelude.<*> (x Data..:? "JoinToken")+      )++instance Prelude.Hashable Attendee where+  hashWithSalt _salt Attendee' {..} =+    _salt+      `Prelude.hashWithSalt` attendeeId+      `Prelude.hashWithSalt` externalUserId+      `Prelude.hashWithSalt` joinToken++instance Prelude.NFData Attendee where+  rnf Attendee' {..} =+    Prelude.rnf attendeeId+      `Prelude.seq` Prelude.rnf externalUserId+      `Prelude.seq` Prelude.rnf joinToken
+ gen/Amazonka/Chime/Types/AudioArtifactsConfiguration.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.Chime.Types.AudioArtifactsConfiguration+-- 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.Chime.Types.AudioArtifactsConfiguration where++import Amazonka.Chime.Types.AudioMuxType+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 audio artifact configuration object.+--+-- /See:/ 'newAudioArtifactsConfiguration' smart constructor.+data AudioArtifactsConfiguration = AudioArtifactsConfiguration'+  { -- | The MUX type of the audio artifact configuration object.+    muxType :: AudioMuxType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AudioArtifactsConfiguration' 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:+--+-- 'muxType', 'audioArtifactsConfiguration_muxType' - The MUX type of the audio artifact configuration object.+newAudioArtifactsConfiguration ::+  -- | 'muxType'+  AudioMuxType ->+  AudioArtifactsConfiguration+newAudioArtifactsConfiguration pMuxType_ =+  AudioArtifactsConfiguration' {muxType = pMuxType_}++-- | The MUX type of the audio artifact configuration object.+audioArtifactsConfiguration_muxType :: Lens.Lens' AudioArtifactsConfiguration AudioMuxType+audioArtifactsConfiguration_muxType = Lens.lens (\AudioArtifactsConfiguration' {muxType} -> muxType) (\s@AudioArtifactsConfiguration' {} a -> s {muxType = a} :: AudioArtifactsConfiguration)++instance Data.FromJSON AudioArtifactsConfiguration where+  parseJSON =+    Data.withObject+      "AudioArtifactsConfiguration"+      ( \x ->+          AudioArtifactsConfiguration'+            Prelude.<$> (x Data..: "MuxType")+      )++instance Prelude.Hashable AudioArtifactsConfiguration where+  hashWithSalt _salt AudioArtifactsConfiguration' {..} =+    _salt `Prelude.hashWithSalt` muxType++instance Prelude.NFData AudioArtifactsConfiguration where+  rnf AudioArtifactsConfiguration' {..} =+    Prelude.rnf muxType++instance Data.ToJSON AudioArtifactsConfiguration where+  toJSON AudioArtifactsConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("MuxType" Data..= muxType)]+      )
+ gen/Amazonka/Chime/Types/AudioMuxType.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.Chime.Types.AudioMuxType+-- 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.Chime.Types.AudioMuxType+  ( AudioMuxType+      ( ..,+        AudioMuxType_AudioOnly,+        AudioMuxType_AudioWithActiveSpeakerVideo+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AudioMuxType = AudioMuxType'+  { fromAudioMuxType ::+      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 AudioMuxType_AudioOnly :: AudioMuxType+pattern AudioMuxType_AudioOnly = AudioMuxType' "AudioOnly"++pattern AudioMuxType_AudioWithActiveSpeakerVideo :: AudioMuxType+pattern AudioMuxType_AudioWithActiveSpeakerVideo = AudioMuxType' "AudioWithActiveSpeakerVideo"++{-# COMPLETE+  AudioMuxType_AudioOnly,+  AudioMuxType_AudioWithActiveSpeakerVideo,+  AudioMuxType'+  #-}
+ gen/Amazonka/Chime/Types/BatchChannelMemberships.hs view
@@ -0,0 +1,112 @@+{-# 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.Chime.Types.BatchChannelMemberships+-- 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.Chime.Types.BatchChannelMemberships where++import Amazonka.Chime.Types.ChannelMembershipType+import Amazonka.Chime.Types.Identity+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 membership information, including member ARNs, the channel ARN, and+-- membership types.+--+-- /See:/ 'newBatchChannelMemberships' smart constructor.+data BatchChannelMemberships = BatchChannelMemberships'+  { -- | The ARN of the channel to which you\'re adding users.+    channelArn :: Prelude.Maybe Prelude.Text,+    -- | The identifier of the member who invited another member.+    invitedBy :: Prelude.Maybe Identity,+    -- | The users successfully added to the request.+    members :: Prelude.Maybe [Identity],+    -- | The membership types set for the channel users.+    type' :: Prelude.Maybe ChannelMembershipType+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchChannelMemberships' 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:+--+-- 'channelArn', 'batchChannelMemberships_channelArn' - The ARN of the channel to which you\'re adding users.+--+-- 'invitedBy', 'batchChannelMemberships_invitedBy' - The identifier of the member who invited another member.+--+-- 'members', 'batchChannelMemberships_members' - The users successfully added to the request.+--+-- 'type'', 'batchChannelMemberships_type' - The membership types set for the channel users.+newBatchChannelMemberships ::+  BatchChannelMemberships+newBatchChannelMemberships =+  BatchChannelMemberships'+    { channelArn =+        Prelude.Nothing,+      invitedBy = Prelude.Nothing,+      members = Prelude.Nothing,+      type' = Prelude.Nothing+    }++-- | The ARN of the channel to which you\'re adding users.+batchChannelMemberships_channelArn :: Lens.Lens' BatchChannelMemberships (Prelude.Maybe Prelude.Text)+batchChannelMemberships_channelArn = Lens.lens (\BatchChannelMemberships' {channelArn} -> channelArn) (\s@BatchChannelMemberships' {} a -> s {channelArn = a} :: BatchChannelMemberships)++-- | The identifier of the member who invited another member.+batchChannelMemberships_invitedBy :: Lens.Lens' BatchChannelMemberships (Prelude.Maybe Identity)+batchChannelMemberships_invitedBy = Lens.lens (\BatchChannelMemberships' {invitedBy} -> invitedBy) (\s@BatchChannelMemberships' {} a -> s {invitedBy = a} :: BatchChannelMemberships)++-- | The users successfully added to the request.+batchChannelMemberships_members :: Lens.Lens' BatchChannelMemberships (Prelude.Maybe [Identity])+batchChannelMemberships_members = Lens.lens (\BatchChannelMemberships' {members} -> members) (\s@BatchChannelMemberships' {} a -> s {members = a} :: BatchChannelMemberships) Prelude.. Lens.mapping Lens.coerced++-- | The membership types set for the channel users.+batchChannelMemberships_type :: Lens.Lens' BatchChannelMemberships (Prelude.Maybe ChannelMembershipType)+batchChannelMemberships_type = Lens.lens (\BatchChannelMemberships' {type'} -> type') (\s@BatchChannelMemberships' {} a -> s {type' = a} :: BatchChannelMemberships)++instance Data.FromJSON BatchChannelMemberships where+  parseJSON =+    Data.withObject+      "BatchChannelMemberships"+      ( \x ->+          BatchChannelMemberships'+            Prelude.<$> (x Data..:? "ChannelArn")+            Prelude.<*> (x Data..:? "InvitedBy")+            Prelude.<*> (x Data..:? "Members" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Type")+      )++instance Prelude.Hashable BatchChannelMemberships where+  hashWithSalt _salt BatchChannelMemberships' {..} =+    _salt+      `Prelude.hashWithSalt` channelArn+      `Prelude.hashWithSalt` invitedBy+      `Prelude.hashWithSalt` members+      `Prelude.hashWithSalt` type'++instance Prelude.NFData BatchChannelMemberships where+  rnf BatchChannelMemberships' {..} =+    Prelude.rnf channelArn+      `Prelude.seq` Prelude.rnf invitedBy+      `Prelude.seq` Prelude.rnf members+      `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/Chime/Types/BatchCreateChannelMembershipError.hs view
@@ -0,0 +1,109 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Chime.Types.BatchCreateChannelMembershipError+-- 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.Chime.Types.BatchCreateChannelMembershipError where++import Amazonka.Chime.Types.ErrorCode+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 list of failed member ARNs, error codes, and error messages.+--+-- /See:/ 'newBatchCreateChannelMembershipError' smart constructor.+data BatchCreateChannelMembershipError = BatchCreateChannelMembershipError'+  { -- | The error code.+    errorCode :: Prelude.Maybe ErrorCode,+    -- | The error message.+    errorMessage :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the member that the service couldn\'t add.+    memberArn :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchCreateChannelMembershipError' 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', 'batchCreateChannelMembershipError_errorCode' - The error code.+--+-- 'errorMessage', 'batchCreateChannelMembershipError_errorMessage' - The error message.+--+-- 'memberArn', 'batchCreateChannelMembershipError_memberArn' - The ARN of the member that the service couldn\'t add.+newBatchCreateChannelMembershipError ::+  BatchCreateChannelMembershipError+newBatchCreateChannelMembershipError =+  BatchCreateChannelMembershipError'+    { errorCode =+        Prelude.Nothing,+      errorMessage = Prelude.Nothing,+      memberArn = Prelude.Nothing+    }++-- | The error code.+batchCreateChannelMembershipError_errorCode :: Lens.Lens' BatchCreateChannelMembershipError (Prelude.Maybe ErrorCode)+batchCreateChannelMembershipError_errorCode = Lens.lens (\BatchCreateChannelMembershipError' {errorCode} -> errorCode) (\s@BatchCreateChannelMembershipError' {} a -> s {errorCode = a} :: BatchCreateChannelMembershipError)++-- | The error message.+batchCreateChannelMembershipError_errorMessage :: Lens.Lens' BatchCreateChannelMembershipError (Prelude.Maybe Prelude.Text)+batchCreateChannelMembershipError_errorMessage = Lens.lens (\BatchCreateChannelMembershipError' {errorMessage} -> errorMessage) (\s@BatchCreateChannelMembershipError' {} a -> s {errorMessage = a} :: BatchCreateChannelMembershipError)++-- | The ARN of the member that the service couldn\'t add.+batchCreateChannelMembershipError_memberArn :: Lens.Lens' BatchCreateChannelMembershipError (Prelude.Maybe Prelude.Text)+batchCreateChannelMembershipError_memberArn = Lens.lens (\BatchCreateChannelMembershipError' {memberArn} -> memberArn) (\s@BatchCreateChannelMembershipError' {} a -> s {memberArn = a} :: BatchCreateChannelMembershipError)++instance+  Data.FromJSON+    BatchCreateChannelMembershipError+  where+  parseJSON =+    Data.withObject+      "BatchCreateChannelMembershipError"+      ( \x ->+          BatchCreateChannelMembershipError'+            Prelude.<$> (x Data..:? "ErrorCode")+            Prelude.<*> (x Data..:? "ErrorMessage")+            Prelude.<*> (x Data..:? "MemberArn")+      )++instance+  Prelude.Hashable+    BatchCreateChannelMembershipError+  where+  hashWithSalt+    _salt+    BatchCreateChannelMembershipError' {..} =+      _salt+        `Prelude.hashWithSalt` errorCode+        `Prelude.hashWithSalt` errorMessage+        `Prelude.hashWithSalt` memberArn++instance+  Prelude.NFData+    BatchCreateChannelMembershipError+  where+  rnf BatchCreateChannelMembershipError' {..} =+    Prelude.rnf errorCode+      `Prelude.seq` Prelude.rnf errorMessage+      `Prelude.seq` Prelude.rnf memberArn
+ gen/Amazonka/Chime/Types/Bot.hs view
@@ -0,0 +1,173 @@+{-# 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.Chime.Types.Bot+-- 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.Chime.Types.Bot where++import Amazonka.Chime.Types.BotType+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 resource that allows Enterprise account administrators to configure an+-- interface to receive events from Amazon Chime.+--+-- /See:/ 'newBot' smart constructor.+data Bot = Bot'+  { -- | The bot email address.+    botEmail :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The bot ID.+    botId :: Prelude.Maybe Prelude.Text,+    -- | The bot type.+    botType :: Prelude.Maybe BotType,+    -- | The bot creation timestamp, in ISO 8601 format.+    createdTimestamp :: Prelude.Maybe Data.ISO8601,+    -- | When true, the bot is stopped from running in your account.+    disabled :: Prelude.Maybe Prelude.Bool,+    -- | The bot display name.+    displayName :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The security token used to authenticate Amazon Chime with the outgoing+    -- event endpoint.+    securityToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The updated bot timestamp, in ISO 8601 format.+    updatedTimestamp :: Prelude.Maybe Data.ISO8601,+    -- | The unique ID for the bot user.+    userId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Bot' 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:+--+-- 'botEmail', 'bot_botEmail' - The bot email address.+--+-- 'botId', 'bot_botId' - The bot ID.+--+-- 'botType', 'bot_botType' - The bot type.+--+-- 'createdTimestamp', 'bot_createdTimestamp' - The bot creation timestamp, in ISO 8601 format.+--+-- 'disabled', 'bot_disabled' - When true, the bot is stopped from running in your account.+--+-- 'displayName', 'bot_displayName' - The bot display name.+--+-- 'securityToken', 'bot_securityToken' - The security token used to authenticate Amazon Chime with the outgoing+-- event endpoint.+--+-- 'updatedTimestamp', 'bot_updatedTimestamp' - The updated bot timestamp, in ISO 8601 format.+--+-- 'userId', 'bot_userId' - The unique ID for the bot user.+newBot ::+  Bot+newBot =+  Bot'+    { botEmail = Prelude.Nothing,+      botId = Prelude.Nothing,+      botType = Prelude.Nothing,+      createdTimestamp = Prelude.Nothing,+      disabled = Prelude.Nothing,+      displayName = Prelude.Nothing,+      securityToken = Prelude.Nothing,+      updatedTimestamp = Prelude.Nothing,+      userId = Prelude.Nothing+    }++-- | The bot email address.+bot_botEmail :: Lens.Lens' Bot (Prelude.Maybe Prelude.Text)+bot_botEmail = Lens.lens (\Bot' {botEmail} -> botEmail) (\s@Bot' {} a -> s {botEmail = a} :: Bot) Prelude.. Lens.mapping Data._Sensitive++-- | The bot ID.+bot_botId :: Lens.Lens' Bot (Prelude.Maybe Prelude.Text)+bot_botId = Lens.lens (\Bot' {botId} -> botId) (\s@Bot' {} a -> s {botId = a} :: Bot)++-- | The bot type.+bot_botType :: Lens.Lens' Bot (Prelude.Maybe BotType)+bot_botType = Lens.lens (\Bot' {botType} -> botType) (\s@Bot' {} a -> s {botType = a} :: Bot)++-- | The bot creation timestamp, in ISO 8601 format.+bot_createdTimestamp :: Lens.Lens' Bot (Prelude.Maybe Prelude.UTCTime)+bot_createdTimestamp = Lens.lens (\Bot' {createdTimestamp} -> createdTimestamp) (\s@Bot' {} a -> s {createdTimestamp = a} :: Bot) Prelude.. Lens.mapping Data._Time++-- | When true, the bot is stopped from running in your account.+bot_disabled :: Lens.Lens' Bot (Prelude.Maybe Prelude.Bool)+bot_disabled = Lens.lens (\Bot' {disabled} -> disabled) (\s@Bot' {} a -> s {disabled = a} :: Bot)++-- | The bot display name.+bot_displayName :: Lens.Lens' Bot (Prelude.Maybe Prelude.Text)+bot_displayName = Lens.lens (\Bot' {displayName} -> displayName) (\s@Bot' {} a -> s {displayName = a} :: Bot) Prelude.. Lens.mapping Data._Sensitive++-- | The security token used to authenticate Amazon Chime with the outgoing+-- event endpoint.+bot_securityToken :: Lens.Lens' Bot (Prelude.Maybe Prelude.Text)+bot_securityToken = Lens.lens (\Bot' {securityToken} -> securityToken) (\s@Bot' {} a -> s {securityToken = a} :: Bot) Prelude.. Lens.mapping Data._Sensitive++-- | The updated bot timestamp, in ISO 8601 format.+bot_updatedTimestamp :: Lens.Lens' Bot (Prelude.Maybe Prelude.UTCTime)+bot_updatedTimestamp = Lens.lens (\Bot' {updatedTimestamp} -> updatedTimestamp) (\s@Bot' {} a -> s {updatedTimestamp = a} :: Bot) Prelude.. Lens.mapping Data._Time++-- | The unique ID for the bot user.+bot_userId :: Lens.Lens' Bot (Prelude.Maybe Prelude.Text)+bot_userId = Lens.lens (\Bot' {userId} -> userId) (\s@Bot' {} a -> s {userId = a} :: Bot)++instance Data.FromJSON Bot where+  parseJSON =+    Data.withObject+      "Bot"+      ( \x ->+          Bot'+            Prelude.<$> (x Data..:? "BotEmail")+            Prelude.<*> (x Data..:? "BotId")+            Prelude.<*> (x Data..:? "BotType")+            Prelude.<*> (x Data..:? "CreatedTimestamp")+            Prelude.<*> (x Data..:? "Disabled")+            Prelude.<*> (x Data..:? "DisplayName")+            Prelude.<*> (x Data..:? "SecurityToken")+            Prelude.<*> (x Data..:? "UpdatedTimestamp")+            Prelude.<*> (x Data..:? "UserId")+      )++instance Prelude.Hashable Bot where+  hashWithSalt _salt Bot' {..} =+    _salt+      `Prelude.hashWithSalt` botEmail+      `Prelude.hashWithSalt` botId+      `Prelude.hashWithSalt` botType+      `Prelude.hashWithSalt` createdTimestamp+      `Prelude.hashWithSalt` disabled+      `Prelude.hashWithSalt` displayName+      `Prelude.hashWithSalt` securityToken+      `Prelude.hashWithSalt` updatedTimestamp+      `Prelude.hashWithSalt` userId++instance Prelude.NFData Bot where+  rnf Bot' {..} =+    Prelude.rnf botEmail+      `Prelude.seq` Prelude.rnf botId+      `Prelude.seq` Prelude.rnf botType+      `Prelude.seq` Prelude.rnf createdTimestamp+      `Prelude.seq` Prelude.rnf disabled+      `Prelude.seq` Prelude.rnf displayName+      `Prelude.seq` Prelude.rnf securityToken+      `Prelude.seq` Prelude.rnf updatedTimestamp+      `Prelude.seq` Prelude.rnf userId
+ gen/Amazonka/Chime/Types/BotType.hs view
@@ -0,0 +1,63 @@+{-# 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.Chime.Types.BotType+-- 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.Chime.Types.BotType+  ( BotType+      ( ..,+        BotType_ChatBot+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype BotType = BotType' {fromBotType :: 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 BotType_ChatBot :: BotType+pattern BotType_ChatBot = BotType' "ChatBot"++{-# COMPLETE+  BotType_ChatBot,+  BotType'+  #-}
+ gen/Amazonka/Chime/Types/BusinessCallingSettings.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Chime.Types.BusinessCallingSettings+-- 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.Chime.Types.BusinessCallingSettings 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 Amazon Chime Business Calling settings for the administrator\'s AWS+-- account. Includes any Amazon S3 buckets designated for storing call+-- detail records.+--+-- /See:/ 'newBusinessCallingSettings' smart constructor.+data BusinessCallingSettings = BusinessCallingSettings'+  { -- | The Amazon S3 bucket designated for call detail record storage.+    cdrBucket :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BusinessCallingSettings' 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:+--+-- 'cdrBucket', 'businessCallingSettings_cdrBucket' - The Amazon S3 bucket designated for call detail record storage.+newBusinessCallingSettings ::+  BusinessCallingSettings+newBusinessCallingSettings =+  BusinessCallingSettings'+    { cdrBucket =+        Prelude.Nothing+    }++-- | The Amazon S3 bucket designated for call detail record storage.+businessCallingSettings_cdrBucket :: Lens.Lens' BusinessCallingSettings (Prelude.Maybe Prelude.Text)+businessCallingSettings_cdrBucket = Lens.lens (\BusinessCallingSettings' {cdrBucket} -> cdrBucket) (\s@BusinessCallingSettings' {} a -> s {cdrBucket = a} :: BusinessCallingSettings)++instance Data.FromJSON BusinessCallingSettings where+  parseJSON =+    Data.withObject+      "BusinessCallingSettings"+      ( \x ->+          BusinessCallingSettings'+            Prelude.<$> (x Data..:? "CdrBucket")+      )++instance Prelude.Hashable BusinessCallingSettings where+  hashWithSalt _salt BusinessCallingSettings' {..} =+    _salt `Prelude.hashWithSalt` cdrBucket++instance Prelude.NFData BusinessCallingSettings where+  rnf BusinessCallingSettings' {..} =+    Prelude.rnf cdrBucket++instance Data.ToJSON BusinessCallingSettings where+  toJSON BusinessCallingSettings' {..} =+    Data.object+      ( Prelude.catMaybes+          [("CdrBucket" Data..=) Prelude.<$> cdrBucket]+      )
+ gen/Amazonka/Chime/Types/CallingNameStatus.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.Chime.Types.CallingNameStatus+-- 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.Chime.Types.CallingNameStatus+  ( CallingNameStatus+      ( ..,+        CallingNameStatus_Unassigned,+        CallingNameStatus_UpdateFailed,+        CallingNameStatus_UpdateInProgress,+        CallingNameStatus_UpdateSucceeded+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype CallingNameStatus = CallingNameStatus'+  { fromCallingNameStatus ::+      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 CallingNameStatus_Unassigned :: CallingNameStatus+pattern CallingNameStatus_Unassigned = CallingNameStatus' "Unassigned"++pattern CallingNameStatus_UpdateFailed :: CallingNameStatus+pattern CallingNameStatus_UpdateFailed = CallingNameStatus' "UpdateFailed"++pattern CallingNameStatus_UpdateInProgress :: CallingNameStatus+pattern CallingNameStatus_UpdateInProgress = CallingNameStatus' "UpdateInProgress"++pattern CallingNameStatus_UpdateSucceeded :: CallingNameStatus+pattern CallingNameStatus_UpdateSucceeded = CallingNameStatus' "UpdateSucceeded"++{-# COMPLETE+  CallingNameStatus_Unassigned,+  CallingNameStatus_UpdateFailed,+  CallingNameStatus_UpdateInProgress,+  CallingNameStatus_UpdateSucceeded,+  CallingNameStatus'+  #-}
+ gen/Amazonka/Chime/Types/CandidateAddress.hs view
@@ -0,0 +1,144 @@+{-# 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.Chime.Types.CandidateAddress+-- 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.Chime.Types.CandidateAddress 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 suggested address.+--+-- /See:/ 'newCandidateAddress' smart constructor.+data CandidateAddress = CandidateAddress'+  { -- | The city of a candidate address.+    city :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The country of a candidate address.+    country :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The postal code of a candidate address.+    postalCode :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The Zip + 4 or postal code + 4 of a candidate address.+    postalCodePlus4 :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The state of a candidate address.+    state :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The street information of a candidate address+    streetInfo :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The numeric portion of a candidate address.+    streetNumber :: Prelude.Maybe (Data.Sensitive Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CandidateAddress' 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:+--+-- 'city', 'candidateAddress_city' - The city of a candidate address.+--+-- 'country', 'candidateAddress_country' - The country of a candidate address.+--+-- 'postalCode', 'candidateAddress_postalCode' - The postal code of a candidate address.+--+-- 'postalCodePlus4', 'candidateAddress_postalCodePlus4' - The Zip + 4 or postal code + 4 of a candidate address.+--+-- 'state', 'candidateAddress_state' - The state of a candidate address.+--+-- 'streetInfo', 'candidateAddress_streetInfo' - The street information of a candidate address+--+-- 'streetNumber', 'candidateAddress_streetNumber' - The numeric portion of a candidate address.+newCandidateAddress ::+  CandidateAddress+newCandidateAddress =+  CandidateAddress'+    { city = Prelude.Nothing,+      country = Prelude.Nothing,+      postalCode = Prelude.Nothing,+      postalCodePlus4 = Prelude.Nothing,+      state = Prelude.Nothing,+      streetInfo = Prelude.Nothing,+      streetNumber = Prelude.Nothing+    }++-- | The city of a candidate address.+candidateAddress_city :: Lens.Lens' CandidateAddress (Prelude.Maybe Prelude.Text)+candidateAddress_city = Lens.lens (\CandidateAddress' {city} -> city) (\s@CandidateAddress' {} a -> s {city = a} :: CandidateAddress) Prelude.. Lens.mapping Data._Sensitive++-- | The country of a candidate address.+candidateAddress_country :: Lens.Lens' CandidateAddress (Prelude.Maybe Prelude.Text)+candidateAddress_country = Lens.lens (\CandidateAddress' {country} -> country) (\s@CandidateAddress' {} a -> s {country = a} :: CandidateAddress) Prelude.. Lens.mapping Data._Sensitive++-- | The postal code of a candidate address.+candidateAddress_postalCode :: Lens.Lens' CandidateAddress (Prelude.Maybe Prelude.Text)+candidateAddress_postalCode = Lens.lens (\CandidateAddress' {postalCode} -> postalCode) (\s@CandidateAddress' {} a -> s {postalCode = a} :: CandidateAddress) Prelude.. Lens.mapping Data._Sensitive++-- | The Zip + 4 or postal code + 4 of a candidate address.+candidateAddress_postalCodePlus4 :: Lens.Lens' CandidateAddress (Prelude.Maybe Prelude.Text)+candidateAddress_postalCodePlus4 = Lens.lens (\CandidateAddress' {postalCodePlus4} -> postalCodePlus4) (\s@CandidateAddress' {} a -> s {postalCodePlus4 = a} :: CandidateAddress) Prelude.. Lens.mapping Data._Sensitive++-- | The state of a candidate address.+candidateAddress_state :: Lens.Lens' CandidateAddress (Prelude.Maybe Prelude.Text)+candidateAddress_state = Lens.lens (\CandidateAddress' {state} -> state) (\s@CandidateAddress' {} a -> s {state = a} :: CandidateAddress) Prelude.. Lens.mapping Data._Sensitive++-- | The street information of a candidate address+candidateAddress_streetInfo :: Lens.Lens' CandidateAddress (Prelude.Maybe Prelude.Text)+candidateAddress_streetInfo = Lens.lens (\CandidateAddress' {streetInfo} -> streetInfo) (\s@CandidateAddress' {} a -> s {streetInfo = a} :: CandidateAddress) Prelude.. Lens.mapping Data._Sensitive++-- | The numeric portion of a candidate address.+candidateAddress_streetNumber :: Lens.Lens' CandidateAddress (Prelude.Maybe Prelude.Text)+candidateAddress_streetNumber = Lens.lens (\CandidateAddress' {streetNumber} -> streetNumber) (\s@CandidateAddress' {} a -> s {streetNumber = a} :: CandidateAddress) Prelude.. Lens.mapping Data._Sensitive++instance Data.FromJSON CandidateAddress where+  parseJSON =+    Data.withObject+      "CandidateAddress"+      ( \x ->+          CandidateAddress'+            Prelude.<$> (x Data..:? "city")+            Prelude.<*> (x Data..:? "country")+            Prelude.<*> (x Data..:? "postalCode")+            Prelude.<*> (x Data..:? "postalCodePlus4")+            Prelude.<*> (x Data..:? "state")+            Prelude.<*> (x Data..:? "streetInfo")+            Prelude.<*> (x Data..:? "streetNumber")+      )++instance Prelude.Hashable CandidateAddress where+  hashWithSalt _salt CandidateAddress' {..} =+    _salt+      `Prelude.hashWithSalt` city+      `Prelude.hashWithSalt` country+      `Prelude.hashWithSalt` postalCode+      `Prelude.hashWithSalt` postalCodePlus4+      `Prelude.hashWithSalt` state+      `Prelude.hashWithSalt` streetInfo+      `Prelude.hashWithSalt` streetNumber++instance Prelude.NFData CandidateAddress where+  rnf CandidateAddress' {..} =+    Prelude.rnf city+      `Prelude.seq` Prelude.rnf country+      `Prelude.seq` Prelude.rnf postalCode+      `Prelude.seq` Prelude.rnf postalCodePlus4+      `Prelude.seq` Prelude.rnf state+      `Prelude.seq` Prelude.rnf streetInfo+      `Prelude.seq` Prelude.rnf streetNumber
+ gen/Amazonka/Chime/Types/Capability.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.Chime.Types.Capability+-- 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.Chime.Types.Capability+  ( Capability+      ( ..,+        Capability_SMS,+        Capability_Voice+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype Capability = Capability'+  { fromCapability ::+      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 Capability_SMS :: Capability+pattern Capability_SMS = Capability' "SMS"++pattern Capability_Voice :: Capability+pattern Capability_Voice = Capability' "Voice"++{-# COMPLETE+  Capability_SMS,+  Capability_Voice,+  Capability'+  #-}
+ gen/Amazonka/Chime/Types/Channel.hs view
@@ -0,0 +1,171 @@+{-# 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.Chime.Types.Channel+-- 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.Chime.Types.Channel where++import Amazonka.Chime.Types.ChannelMode+import Amazonka.Chime.Types.ChannelPrivacy+import Amazonka.Chime.Types.Identity+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The details of a channel.+--+-- /See:/ 'newChannel' smart constructor.+data Channel = Channel'+  { -- | The ARN of the channel.+    channelArn :: Prelude.Maybe Prelude.Text,+    -- | The @AppInstanceUser@ who created the channel.+    createdBy :: Prelude.Maybe Identity,+    -- | The time at which the @AppInstanceUser@ created the channel.+    createdTimestamp :: Prelude.Maybe Data.POSIX,+    -- | The time at which a member sent the last message in the channel.+    lastMessageTimestamp :: Prelude.Maybe Data.POSIX,+    -- | The time at which a channel was last updated.+    lastUpdatedTimestamp :: Prelude.Maybe Data.POSIX,+    -- | The channel\'s metadata.+    metadata :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The mode of the channel.+    mode :: Prelude.Maybe ChannelMode,+    -- | The name of the channel.+    name :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The channel\'s privacy setting.+    privacy :: Prelude.Maybe ChannelPrivacy+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Channel' 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:+--+-- 'channelArn', 'channel_channelArn' - The ARN of the channel.+--+-- 'createdBy', 'channel_createdBy' - The @AppInstanceUser@ who created the channel.+--+-- 'createdTimestamp', 'channel_createdTimestamp' - The time at which the @AppInstanceUser@ created the channel.+--+-- 'lastMessageTimestamp', 'channel_lastMessageTimestamp' - The time at which a member sent the last message in the channel.+--+-- 'lastUpdatedTimestamp', 'channel_lastUpdatedTimestamp' - The time at which a channel was last updated.+--+-- 'metadata', 'channel_metadata' - The channel\'s metadata.+--+-- 'mode', 'channel_mode' - The mode of the channel.+--+-- 'name', 'channel_name' - The name of the channel.+--+-- 'privacy', 'channel_privacy' - The channel\'s privacy setting.+newChannel ::+  Channel+newChannel =+  Channel'+    { channelArn = Prelude.Nothing,+      createdBy = Prelude.Nothing,+      createdTimestamp = Prelude.Nothing,+      lastMessageTimestamp = Prelude.Nothing,+      lastUpdatedTimestamp = Prelude.Nothing,+      metadata = Prelude.Nothing,+      mode = Prelude.Nothing,+      name = Prelude.Nothing,+      privacy = Prelude.Nothing+    }++-- | The ARN of the channel.+channel_channelArn :: Lens.Lens' Channel (Prelude.Maybe Prelude.Text)+channel_channelArn = Lens.lens (\Channel' {channelArn} -> channelArn) (\s@Channel' {} a -> s {channelArn = a} :: Channel)++-- | The @AppInstanceUser@ who created the channel.+channel_createdBy :: Lens.Lens' Channel (Prelude.Maybe Identity)+channel_createdBy = Lens.lens (\Channel' {createdBy} -> createdBy) (\s@Channel' {} a -> s {createdBy = a} :: Channel)++-- | The time at which the @AppInstanceUser@ created the channel.+channel_createdTimestamp :: Lens.Lens' Channel (Prelude.Maybe Prelude.UTCTime)+channel_createdTimestamp = Lens.lens (\Channel' {createdTimestamp} -> createdTimestamp) (\s@Channel' {} a -> s {createdTimestamp = a} :: Channel) Prelude.. Lens.mapping Data._Time++-- | The time at which a member sent the last message in the channel.+channel_lastMessageTimestamp :: Lens.Lens' Channel (Prelude.Maybe Prelude.UTCTime)+channel_lastMessageTimestamp = Lens.lens (\Channel' {lastMessageTimestamp} -> lastMessageTimestamp) (\s@Channel' {} a -> s {lastMessageTimestamp = a} :: Channel) Prelude.. Lens.mapping Data._Time++-- | The time at which a channel was last updated.+channel_lastUpdatedTimestamp :: Lens.Lens' Channel (Prelude.Maybe Prelude.UTCTime)+channel_lastUpdatedTimestamp = Lens.lens (\Channel' {lastUpdatedTimestamp} -> lastUpdatedTimestamp) (\s@Channel' {} a -> s {lastUpdatedTimestamp = a} :: Channel) Prelude.. Lens.mapping Data._Time++-- | The channel\'s metadata.+channel_metadata :: Lens.Lens' Channel (Prelude.Maybe Prelude.Text)+channel_metadata = Lens.lens (\Channel' {metadata} -> metadata) (\s@Channel' {} a -> s {metadata = a} :: Channel) Prelude.. Lens.mapping Data._Sensitive++-- | The mode of the channel.+channel_mode :: Lens.Lens' Channel (Prelude.Maybe ChannelMode)+channel_mode = Lens.lens (\Channel' {mode} -> mode) (\s@Channel' {} a -> s {mode = a} :: Channel)++-- | The name of the channel.+channel_name :: Lens.Lens' Channel (Prelude.Maybe Prelude.Text)+channel_name = Lens.lens (\Channel' {name} -> name) (\s@Channel' {} a -> s {name = a} :: Channel) Prelude.. Lens.mapping Data._Sensitive++-- | The channel\'s privacy setting.+channel_privacy :: Lens.Lens' Channel (Prelude.Maybe ChannelPrivacy)+channel_privacy = Lens.lens (\Channel' {privacy} -> privacy) (\s@Channel' {} a -> s {privacy = a} :: Channel)++instance Data.FromJSON Channel where+  parseJSON =+    Data.withObject+      "Channel"+      ( \x ->+          Channel'+            Prelude.<$> (x Data..:? "ChannelArn")+            Prelude.<*> (x Data..:? "CreatedBy")+            Prelude.<*> (x Data..:? "CreatedTimestamp")+            Prelude.<*> (x Data..:? "LastMessageTimestamp")+            Prelude.<*> (x Data..:? "LastUpdatedTimestamp")+            Prelude.<*> (x Data..:? "Metadata")+            Prelude.<*> (x Data..:? "Mode")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "Privacy")+      )++instance Prelude.Hashable Channel where+  hashWithSalt _salt Channel' {..} =+    _salt+      `Prelude.hashWithSalt` channelArn+      `Prelude.hashWithSalt` createdBy+      `Prelude.hashWithSalt` createdTimestamp+      `Prelude.hashWithSalt` lastMessageTimestamp+      `Prelude.hashWithSalt` lastUpdatedTimestamp+      `Prelude.hashWithSalt` metadata+      `Prelude.hashWithSalt` mode+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` privacy++instance Prelude.NFData Channel where+  rnf Channel' {..} =+    Prelude.rnf channelArn+      `Prelude.seq` Prelude.rnf createdBy+      `Prelude.seq` Prelude.rnf createdTimestamp+      `Prelude.seq` Prelude.rnf lastMessageTimestamp+      `Prelude.seq` Prelude.rnf lastUpdatedTimestamp+      `Prelude.seq` Prelude.rnf metadata+      `Prelude.seq` Prelude.rnf mode+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf privacy
+ gen/Amazonka/Chime/Types/ChannelBan.hs view
@@ -0,0 +1,109 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Chime.Types.ChannelBan+-- 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.Chime.Types.ChannelBan where++import Amazonka.Chime.Types.Identity+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The details of a channel ban.+--+-- /See:/ 'newChannelBan' smart constructor.+data ChannelBan = ChannelBan'+  { -- | The ARN of the channel from which a member is being banned.+    channelArn :: Prelude.Maybe Prelude.Text,+    -- | The @AppInstanceUser@ who created the ban.+    createdBy :: Prelude.Maybe Identity,+    -- | The time at which the ban was created.+    createdTimestamp :: Prelude.Maybe Data.POSIX,+    -- | The member being banned from the channel.+    member :: Prelude.Maybe Identity+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ChannelBan' 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:+--+-- 'channelArn', 'channelBan_channelArn' - The ARN of the channel from which a member is being banned.+--+-- 'createdBy', 'channelBan_createdBy' - The @AppInstanceUser@ who created the ban.+--+-- 'createdTimestamp', 'channelBan_createdTimestamp' - The time at which the ban was created.+--+-- 'member', 'channelBan_member' - The member being banned from the channel.+newChannelBan ::+  ChannelBan+newChannelBan =+  ChannelBan'+    { channelArn = Prelude.Nothing,+      createdBy = Prelude.Nothing,+      createdTimestamp = Prelude.Nothing,+      member = Prelude.Nothing+    }++-- | The ARN of the channel from which a member is being banned.+channelBan_channelArn :: Lens.Lens' ChannelBan (Prelude.Maybe Prelude.Text)+channelBan_channelArn = Lens.lens (\ChannelBan' {channelArn} -> channelArn) (\s@ChannelBan' {} a -> s {channelArn = a} :: ChannelBan)++-- | The @AppInstanceUser@ who created the ban.+channelBan_createdBy :: Lens.Lens' ChannelBan (Prelude.Maybe Identity)+channelBan_createdBy = Lens.lens (\ChannelBan' {createdBy} -> createdBy) (\s@ChannelBan' {} a -> s {createdBy = a} :: ChannelBan)++-- | The time at which the ban was created.+channelBan_createdTimestamp :: Lens.Lens' ChannelBan (Prelude.Maybe Prelude.UTCTime)+channelBan_createdTimestamp = Lens.lens (\ChannelBan' {createdTimestamp} -> createdTimestamp) (\s@ChannelBan' {} a -> s {createdTimestamp = a} :: ChannelBan) Prelude.. Lens.mapping Data._Time++-- | The member being banned from the channel.+channelBan_member :: Lens.Lens' ChannelBan (Prelude.Maybe Identity)+channelBan_member = Lens.lens (\ChannelBan' {member} -> member) (\s@ChannelBan' {} a -> s {member = a} :: ChannelBan)++instance Data.FromJSON ChannelBan where+  parseJSON =+    Data.withObject+      "ChannelBan"+      ( \x ->+          ChannelBan'+            Prelude.<$> (x Data..:? "ChannelArn")+            Prelude.<*> (x Data..:? "CreatedBy")+            Prelude.<*> (x Data..:? "CreatedTimestamp")+            Prelude.<*> (x Data..:? "Member")+      )++instance Prelude.Hashable ChannelBan where+  hashWithSalt _salt ChannelBan' {..} =+    _salt+      `Prelude.hashWithSalt` channelArn+      `Prelude.hashWithSalt` createdBy+      `Prelude.hashWithSalt` createdTimestamp+      `Prelude.hashWithSalt` member++instance Prelude.NFData ChannelBan where+  rnf ChannelBan' {..} =+    Prelude.rnf channelArn+      `Prelude.seq` Prelude.rnf createdBy+      `Prelude.seq` Prelude.rnf createdTimestamp+      `Prelude.seq` Prelude.rnf member
+ gen/Amazonka/Chime/Types/ChannelBanSummary.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.Chime.Types.ChannelBanSummary+-- 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.Chime.Types.ChannelBanSummary where++import Amazonka.Chime.Types.Identity+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++-- | Summary of the details of a @ChannelBan@.+--+-- /See:/ 'newChannelBanSummary' smart constructor.+data ChannelBanSummary = ChannelBanSummary'+  { -- | The member being banned from a channel.+    member :: Prelude.Maybe Identity+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ChannelBanSummary' 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:+--+-- 'member', 'channelBanSummary_member' - The member being banned from a channel.+newChannelBanSummary ::+  ChannelBanSummary+newChannelBanSummary =+  ChannelBanSummary' {member = Prelude.Nothing}++-- | The member being banned from a channel.+channelBanSummary_member :: Lens.Lens' ChannelBanSummary (Prelude.Maybe Identity)+channelBanSummary_member = Lens.lens (\ChannelBanSummary' {member} -> member) (\s@ChannelBanSummary' {} a -> s {member = a} :: ChannelBanSummary)++instance Data.FromJSON ChannelBanSummary where+  parseJSON =+    Data.withObject+      "ChannelBanSummary"+      ( \x ->+          ChannelBanSummary' Prelude.<$> (x Data..:? "Member")+      )++instance Prelude.Hashable ChannelBanSummary where+  hashWithSalt _salt ChannelBanSummary' {..} =+    _salt `Prelude.hashWithSalt` member++instance Prelude.NFData ChannelBanSummary where+  rnf ChannelBanSummary' {..} = Prelude.rnf member
+ gen/Amazonka/Chime/Types/ChannelMembership.hs view
@@ -0,0 +1,134 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Chime.Types.ChannelMembership+-- 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.Chime.Types.ChannelMembership where++import Amazonka.Chime.Types.ChannelMembershipType+import Amazonka.Chime.Types.Identity+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The details of a channel member.+--+-- /See:/ 'newChannelMembership' smart constructor.+data ChannelMembership = ChannelMembership'+  { -- | The ARN of the member\'s channel.+    channelArn :: Prelude.Maybe Prelude.Text,+    -- | The time at which the channel membership was created.+    createdTimestamp :: Prelude.Maybe Data.POSIX,+    -- | The identifier of the member who invited another member.+    invitedBy :: Prelude.Maybe Identity,+    -- | The time at which a channel membership was last updated.+    lastUpdatedTimestamp :: Prelude.Maybe Data.POSIX,+    -- | The data of the channel member.+    member :: Prelude.Maybe Identity,+    -- | The membership type set for the channel member.+    type' :: Prelude.Maybe ChannelMembershipType+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ChannelMembership' 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:+--+-- 'channelArn', 'channelMembership_channelArn' - The ARN of the member\'s channel.+--+-- 'createdTimestamp', 'channelMembership_createdTimestamp' - The time at which the channel membership was created.+--+-- 'invitedBy', 'channelMembership_invitedBy' - The identifier of the member who invited another member.+--+-- 'lastUpdatedTimestamp', 'channelMembership_lastUpdatedTimestamp' - The time at which a channel membership was last updated.+--+-- 'member', 'channelMembership_member' - The data of the channel member.+--+-- 'type'', 'channelMembership_type' - The membership type set for the channel member.+newChannelMembership ::+  ChannelMembership+newChannelMembership =+  ChannelMembership'+    { channelArn = Prelude.Nothing,+      createdTimestamp = Prelude.Nothing,+      invitedBy = Prelude.Nothing,+      lastUpdatedTimestamp = Prelude.Nothing,+      member = Prelude.Nothing,+      type' = Prelude.Nothing+    }++-- | The ARN of the member\'s channel.+channelMembership_channelArn :: Lens.Lens' ChannelMembership (Prelude.Maybe Prelude.Text)+channelMembership_channelArn = Lens.lens (\ChannelMembership' {channelArn} -> channelArn) (\s@ChannelMembership' {} a -> s {channelArn = a} :: ChannelMembership)++-- | The time at which the channel membership was created.+channelMembership_createdTimestamp :: Lens.Lens' ChannelMembership (Prelude.Maybe Prelude.UTCTime)+channelMembership_createdTimestamp = Lens.lens (\ChannelMembership' {createdTimestamp} -> createdTimestamp) (\s@ChannelMembership' {} a -> s {createdTimestamp = a} :: ChannelMembership) Prelude.. Lens.mapping Data._Time++-- | The identifier of the member who invited another member.+channelMembership_invitedBy :: Lens.Lens' ChannelMembership (Prelude.Maybe Identity)+channelMembership_invitedBy = Lens.lens (\ChannelMembership' {invitedBy} -> invitedBy) (\s@ChannelMembership' {} a -> s {invitedBy = a} :: ChannelMembership)++-- | The time at which a channel membership was last updated.+channelMembership_lastUpdatedTimestamp :: Lens.Lens' ChannelMembership (Prelude.Maybe Prelude.UTCTime)+channelMembership_lastUpdatedTimestamp = Lens.lens (\ChannelMembership' {lastUpdatedTimestamp} -> lastUpdatedTimestamp) (\s@ChannelMembership' {} a -> s {lastUpdatedTimestamp = a} :: ChannelMembership) Prelude.. Lens.mapping Data._Time++-- | The data of the channel member.+channelMembership_member :: Lens.Lens' ChannelMembership (Prelude.Maybe Identity)+channelMembership_member = Lens.lens (\ChannelMembership' {member} -> member) (\s@ChannelMembership' {} a -> s {member = a} :: ChannelMembership)++-- | The membership type set for the channel member.+channelMembership_type :: Lens.Lens' ChannelMembership (Prelude.Maybe ChannelMembershipType)+channelMembership_type = Lens.lens (\ChannelMembership' {type'} -> type') (\s@ChannelMembership' {} a -> s {type' = a} :: ChannelMembership)++instance Data.FromJSON ChannelMembership where+  parseJSON =+    Data.withObject+      "ChannelMembership"+      ( \x ->+          ChannelMembership'+            Prelude.<$> (x Data..:? "ChannelArn")+            Prelude.<*> (x Data..:? "CreatedTimestamp")+            Prelude.<*> (x Data..:? "InvitedBy")+            Prelude.<*> (x Data..:? "LastUpdatedTimestamp")+            Prelude.<*> (x Data..:? "Member")+            Prelude.<*> (x Data..:? "Type")+      )++instance Prelude.Hashable ChannelMembership where+  hashWithSalt _salt ChannelMembership' {..} =+    _salt+      `Prelude.hashWithSalt` channelArn+      `Prelude.hashWithSalt` createdTimestamp+      `Prelude.hashWithSalt` invitedBy+      `Prelude.hashWithSalt` lastUpdatedTimestamp+      `Prelude.hashWithSalt` member+      `Prelude.hashWithSalt` type'++instance Prelude.NFData ChannelMembership where+  rnf ChannelMembership' {..} =+    Prelude.rnf channelArn+      `Prelude.seq` Prelude.rnf createdTimestamp+      `Prelude.seq` Prelude.rnf invitedBy+      `Prelude.seq` Prelude.rnf lastUpdatedTimestamp+      `Prelude.seq` Prelude.rnf member+      `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/Chime/Types/ChannelMembershipForAppInstanceUserSummary.hs view
@@ -0,0 +1,97 @@+{-# 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.Chime.Types.ChannelMembershipForAppInstanceUserSummary+-- 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.Chime.Types.ChannelMembershipForAppInstanceUserSummary where++import Amazonka.Chime.Types.AppInstanceUserMembershipSummary+import Amazonka.Chime.Types.ChannelSummary+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++-- | Summary of the channel membership details of an @AppInstanceUser@.+--+-- /See:/ 'newChannelMembershipForAppInstanceUserSummary' smart constructor.+data ChannelMembershipForAppInstanceUserSummary = ChannelMembershipForAppInstanceUserSummary'+  { appInstanceUserMembershipSummary :: Prelude.Maybe AppInstanceUserMembershipSummary,+    channelSummary :: Prelude.Maybe ChannelSummary+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ChannelMembershipForAppInstanceUserSummary' 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:+--+-- 'appInstanceUserMembershipSummary', 'channelMembershipForAppInstanceUserSummary_appInstanceUserMembershipSummary' - Undocumented member.+--+-- 'channelSummary', 'channelMembershipForAppInstanceUserSummary_channelSummary' - Undocumented member.+newChannelMembershipForAppInstanceUserSummary ::+  ChannelMembershipForAppInstanceUserSummary+newChannelMembershipForAppInstanceUserSummary =+  ChannelMembershipForAppInstanceUserSummary'+    { appInstanceUserMembershipSummary =+        Prelude.Nothing,+      channelSummary =+        Prelude.Nothing+    }++-- | Undocumented member.+channelMembershipForAppInstanceUserSummary_appInstanceUserMembershipSummary :: Lens.Lens' ChannelMembershipForAppInstanceUserSummary (Prelude.Maybe AppInstanceUserMembershipSummary)+channelMembershipForAppInstanceUserSummary_appInstanceUserMembershipSummary = Lens.lens (\ChannelMembershipForAppInstanceUserSummary' {appInstanceUserMembershipSummary} -> appInstanceUserMembershipSummary) (\s@ChannelMembershipForAppInstanceUserSummary' {} a -> s {appInstanceUserMembershipSummary = a} :: ChannelMembershipForAppInstanceUserSummary)++-- | Undocumented member.+channelMembershipForAppInstanceUserSummary_channelSummary :: Lens.Lens' ChannelMembershipForAppInstanceUserSummary (Prelude.Maybe ChannelSummary)+channelMembershipForAppInstanceUserSummary_channelSummary = Lens.lens (\ChannelMembershipForAppInstanceUserSummary' {channelSummary} -> channelSummary) (\s@ChannelMembershipForAppInstanceUserSummary' {} a -> s {channelSummary = a} :: ChannelMembershipForAppInstanceUserSummary)++instance+  Data.FromJSON+    ChannelMembershipForAppInstanceUserSummary+  where+  parseJSON =+    Data.withObject+      "ChannelMembershipForAppInstanceUserSummary"+      ( \x ->+          ChannelMembershipForAppInstanceUserSummary'+            Prelude.<$> (x Data..:? "AppInstanceUserMembershipSummary")+            Prelude.<*> (x Data..:? "ChannelSummary")+      )++instance+  Prelude.Hashable+    ChannelMembershipForAppInstanceUserSummary+  where+  hashWithSalt+    _salt+    ChannelMembershipForAppInstanceUserSummary' {..} =+      _salt+        `Prelude.hashWithSalt` appInstanceUserMembershipSummary+        `Prelude.hashWithSalt` channelSummary++instance+  Prelude.NFData+    ChannelMembershipForAppInstanceUserSummary+  where+  rnf ChannelMembershipForAppInstanceUserSummary' {..} =+    Prelude.rnf appInstanceUserMembershipSummary+      `Prelude.seq` Prelude.rnf channelSummary
+ gen/Amazonka/Chime/Types/ChannelMembershipSummary.hs view
@@ -0,0 +1,70 @@+{-# 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.Chime.Types.ChannelMembershipSummary+-- 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.Chime.Types.ChannelMembershipSummary where++import Amazonka.Chime.Types.Identity+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++-- | Summary of the details of a @ChannelMembership@.+--+-- /See:/ 'newChannelMembershipSummary' smart constructor.+data ChannelMembershipSummary = ChannelMembershipSummary'+  { -- | A member\'s summary data.+    member :: Prelude.Maybe Identity+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ChannelMembershipSummary' 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:+--+-- 'member', 'channelMembershipSummary_member' - A member\'s summary data.+newChannelMembershipSummary ::+  ChannelMembershipSummary+newChannelMembershipSummary =+  ChannelMembershipSummary' {member = Prelude.Nothing}++-- | A member\'s summary data.+channelMembershipSummary_member :: Lens.Lens' ChannelMembershipSummary (Prelude.Maybe Identity)+channelMembershipSummary_member = Lens.lens (\ChannelMembershipSummary' {member} -> member) (\s@ChannelMembershipSummary' {} a -> s {member = a} :: ChannelMembershipSummary)++instance Data.FromJSON ChannelMembershipSummary where+  parseJSON =+    Data.withObject+      "ChannelMembershipSummary"+      ( \x ->+          ChannelMembershipSummary'+            Prelude.<$> (x Data..:? "Member")+      )++instance Prelude.Hashable ChannelMembershipSummary where+  hashWithSalt _salt ChannelMembershipSummary' {..} =+    _salt `Prelude.hashWithSalt` member++instance Prelude.NFData ChannelMembershipSummary where+  rnf ChannelMembershipSummary' {..} =+    Prelude.rnf member
+ gen/Amazonka/Chime/Types/ChannelMembershipType.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.Chime.Types.ChannelMembershipType+-- 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.Chime.Types.ChannelMembershipType+  ( ChannelMembershipType+      ( ..,+        ChannelMembershipType_DEFAULT,+        ChannelMembershipType_HIDDEN+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ChannelMembershipType = ChannelMembershipType'+  { fromChannelMembershipType ::+      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 ChannelMembershipType_DEFAULT :: ChannelMembershipType+pattern ChannelMembershipType_DEFAULT = ChannelMembershipType' "DEFAULT"++pattern ChannelMembershipType_HIDDEN :: ChannelMembershipType+pattern ChannelMembershipType_HIDDEN = ChannelMembershipType' "HIDDEN"++{-# COMPLETE+  ChannelMembershipType_DEFAULT,+  ChannelMembershipType_HIDDEN,+  ChannelMembershipType'+  #-}
+ gen/Amazonka/Chime/Types/ChannelMessage.hs view
@@ -0,0 +1,195 @@+{-# 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.Chime.Types.ChannelMessage+-- 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.Chime.Types.ChannelMessage where++import Amazonka.Chime.Types.ChannelMessagePersistenceType+import Amazonka.Chime.Types.ChannelMessageType+import Amazonka.Chime.Types.Identity+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The details of a message in a channel.+--+-- /See:/ 'newChannelMessage' smart constructor.+data ChannelMessage = ChannelMessage'+  { -- | The ARN of the channel.+    channelArn :: Prelude.Maybe Prelude.Text,+    -- | The message content.+    content :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The time at which the message was created.+    createdTimestamp :: Prelude.Maybe Data.POSIX,+    -- | The time at which a message was edited.+    lastEditedTimestamp :: Prelude.Maybe Data.POSIX,+    -- | The time at which a message was updated.+    lastUpdatedTimestamp :: Prelude.Maybe Data.POSIX,+    -- | The ID of a message.+    messageId :: Prelude.Maybe Prelude.Text,+    -- | The message metadata.+    metadata :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The persistence setting for a channel message.+    persistence :: Prelude.Maybe ChannelMessagePersistenceType,+    -- | Hides the content of a message.+    redacted :: Prelude.Maybe Prelude.Bool,+    -- | The message sender.+    sender :: Prelude.Maybe Identity,+    -- | The message type.+    type' :: Prelude.Maybe ChannelMessageType+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ChannelMessage' 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:+--+-- 'channelArn', 'channelMessage_channelArn' - The ARN of the channel.+--+-- 'content', 'channelMessage_content' - The message content.+--+-- 'createdTimestamp', 'channelMessage_createdTimestamp' - The time at which the message was created.+--+-- 'lastEditedTimestamp', 'channelMessage_lastEditedTimestamp' - The time at which a message was edited.+--+-- 'lastUpdatedTimestamp', 'channelMessage_lastUpdatedTimestamp' - The time at which a message was updated.+--+-- 'messageId', 'channelMessage_messageId' - The ID of a message.+--+-- 'metadata', 'channelMessage_metadata' - The message metadata.+--+-- 'persistence', 'channelMessage_persistence' - The persistence setting for a channel message.+--+-- 'redacted', 'channelMessage_redacted' - Hides the content of a message.+--+-- 'sender', 'channelMessage_sender' - The message sender.+--+-- 'type'', 'channelMessage_type' - The message type.+newChannelMessage ::+  ChannelMessage+newChannelMessage =+  ChannelMessage'+    { channelArn = Prelude.Nothing,+      content = Prelude.Nothing,+      createdTimestamp = Prelude.Nothing,+      lastEditedTimestamp = Prelude.Nothing,+      lastUpdatedTimestamp = Prelude.Nothing,+      messageId = Prelude.Nothing,+      metadata = Prelude.Nothing,+      persistence = Prelude.Nothing,+      redacted = Prelude.Nothing,+      sender = Prelude.Nothing,+      type' = Prelude.Nothing+    }++-- | The ARN of the channel.+channelMessage_channelArn :: Lens.Lens' ChannelMessage (Prelude.Maybe Prelude.Text)+channelMessage_channelArn = Lens.lens (\ChannelMessage' {channelArn} -> channelArn) (\s@ChannelMessage' {} a -> s {channelArn = a} :: ChannelMessage)++-- | The message content.+channelMessage_content :: Lens.Lens' ChannelMessage (Prelude.Maybe Prelude.Text)+channelMessage_content = Lens.lens (\ChannelMessage' {content} -> content) (\s@ChannelMessage' {} a -> s {content = a} :: ChannelMessage) Prelude.. Lens.mapping Data._Sensitive++-- | The time at which the message was created.+channelMessage_createdTimestamp :: Lens.Lens' ChannelMessage (Prelude.Maybe Prelude.UTCTime)+channelMessage_createdTimestamp = Lens.lens (\ChannelMessage' {createdTimestamp} -> createdTimestamp) (\s@ChannelMessage' {} a -> s {createdTimestamp = a} :: ChannelMessage) Prelude.. Lens.mapping Data._Time++-- | The time at which a message was edited.+channelMessage_lastEditedTimestamp :: Lens.Lens' ChannelMessage (Prelude.Maybe Prelude.UTCTime)+channelMessage_lastEditedTimestamp = Lens.lens (\ChannelMessage' {lastEditedTimestamp} -> lastEditedTimestamp) (\s@ChannelMessage' {} a -> s {lastEditedTimestamp = a} :: ChannelMessage) Prelude.. Lens.mapping Data._Time++-- | The time at which a message was updated.+channelMessage_lastUpdatedTimestamp :: Lens.Lens' ChannelMessage (Prelude.Maybe Prelude.UTCTime)+channelMessage_lastUpdatedTimestamp = Lens.lens (\ChannelMessage' {lastUpdatedTimestamp} -> lastUpdatedTimestamp) (\s@ChannelMessage' {} a -> s {lastUpdatedTimestamp = a} :: ChannelMessage) Prelude.. Lens.mapping Data._Time++-- | The ID of a message.+channelMessage_messageId :: Lens.Lens' ChannelMessage (Prelude.Maybe Prelude.Text)+channelMessage_messageId = Lens.lens (\ChannelMessage' {messageId} -> messageId) (\s@ChannelMessage' {} a -> s {messageId = a} :: ChannelMessage)++-- | The message metadata.+channelMessage_metadata :: Lens.Lens' ChannelMessage (Prelude.Maybe Prelude.Text)+channelMessage_metadata = Lens.lens (\ChannelMessage' {metadata} -> metadata) (\s@ChannelMessage' {} a -> s {metadata = a} :: ChannelMessage) Prelude.. Lens.mapping Data._Sensitive++-- | The persistence setting for a channel message.+channelMessage_persistence :: Lens.Lens' ChannelMessage (Prelude.Maybe ChannelMessagePersistenceType)+channelMessage_persistence = Lens.lens (\ChannelMessage' {persistence} -> persistence) (\s@ChannelMessage' {} a -> s {persistence = a} :: ChannelMessage)++-- | Hides the content of a message.+channelMessage_redacted :: Lens.Lens' ChannelMessage (Prelude.Maybe Prelude.Bool)+channelMessage_redacted = Lens.lens (\ChannelMessage' {redacted} -> redacted) (\s@ChannelMessage' {} a -> s {redacted = a} :: ChannelMessage)++-- | The message sender.+channelMessage_sender :: Lens.Lens' ChannelMessage (Prelude.Maybe Identity)+channelMessage_sender = Lens.lens (\ChannelMessage' {sender} -> sender) (\s@ChannelMessage' {} a -> s {sender = a} :: ChannelMessage)++-- | The message type.+channelMessage_type :: Lens.Lens' ChannelMessage (Prelude.Maybe ChannelMessageType)+channelMessage_type = Lens.lens (\ChannelMessage' {type'} -> type') (\s@ChannelMessage' {} a -> s {type' = a} :: ChannelMessage)++instance Data.FromJSON ChannelMessage where+  parseJSON =+    Data.withObject+      "ChannelMessage"+      ( \x ->+          ChannelMessage'+            Prelude.<$> (x Data..:? "ChannelArn")+            Prelude.<*> (x Data..:? "Content")+            Prelude.<*> (x Data..:? "CreatedTimestamp")+            Prelude.<*> (x Data..:? "LastEditedTimestamp")+            Prelude.<*> (x Data..:? "LastUpdatedTimestamp")+            Prelude.<*> (x Data..:? "MessageId")+            Prelude.<*> (x Data..:? "Metadata")+            Prelude.<*> (x Data..:? "Persistence")+            Prelude.<*> (x Data..:? "Redacted")+            Prelude.<*> (x Data..:? "Sender")+            Prelude.<*> (x Data..:? "Type")+      )++instance Prelude.Hashable ChannelMessage where+  hashWithSalt _salt ChannelMessage' {..} =+    _salt+      `Prelude.hashWithSalt` channelArn+      `Prelude.hashWithSalt` content+      `Prelude.hashWithSalt` createdTimestamp+      `Prelude.hashWithSalt` lastEditedTimestamp+      `Prelude.hashWithSalt` lastUpdatedTimestamp+      `Prelude.hashWithSalt` messageId+      `Prelude.hashWithSalt` metadata+      `Prelude.hashWithSalt` persistence+      `Prelude.hashWithSalt` redacted+      `Prelude.hashWithSalt` sender+      `Prelude.hashWithSalt` type'++instance Prelude.NFData ChannelMessage where+  rnf ChannelMessage' {..} =+    Prelude.rnf channelArn+      `Prelude.seq` Prelude.rnf content+      `Prelude.seq` Prelude.rnf createdTimestamp+      `Prelude.seq` Prelude.rnf lastEditedTimestamp+      `Prelude.seq` Prelude.rnf lastUpdatedTimestamp+      `Prelude.seq` Prelude.rnf messageId+      `Prelude.seq` Prelude.rnf metadata+      `Prelude.seq` Prelude.rnf persistence+      `Prelude.seq` Prelude.rnf redacted+      `Prelude.seq` Prelude.rnf sender+      `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/Chime/Types/ChannelMessagePersistenceType.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.Chime.Types.ChannelMessagePersistenceType+-- 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.Chime.Types.ChannelMessagePersistenceType+  ( ChannelMessagePersistenceType+      ( ..,+        ChannelMessagePersistenceType_NON_PERSISTENT,+        ChannelMessagePersistenceType_PERSISTENT+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ChannelMessagePersistenceType = ChannelMessagePersistenceType'+  { fromChannelMessagePersistenceType ::+      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 ChannelMessagePersistenceType_NON_PERSISTENT :: ChannelMessagePersistenceType+pattern ChannelMessagePersistenceType_NON_PERSISTENT = ChannelMessagePersistenceType' "NON_PERSISTENT"++pattern ChannelMessagePersistenceType_PERSISTENT :: ChannelMessagePersistenceType+pattern ChannelMessagePersistenceType_PERSISTENT = ChannelMessagePersistenceType' "PERSISTENT"++{-# COMPLETE+  ChannelMessagePersistenceType_NON_PERSISTENT,+  ChannelMessagePersistenceType_PERSISTENT,+  ChannelMessagePersistenceType'+  #-}
+ gen/Amazonka/Chime/Types/ChannelMessageSummary.hs view
@@ -0,0 +1,170 @@+{-# 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.Chime.Types.ChannelMessageSummary+-- 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.Chime.Types.ChannelMessageSummary where++import Amazonka.Chime.Types.ChannelMessageType+import Amazonka.Chime.Types.Identity+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++-- | Summary of the messages in a @Channel@.+--+-- /See:/ 'newChannelMessageSummary' smart constructor.+data ChannelMessageSummary = ChannelMessageSummary'+  { -- | The content of the message.+    content :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The time at which the message summary was created.+    createdTimestamp :: Prelude.Maybe Data.POSIX,+    -- | The time at which a message was last edited.+    lastEditedTimestamp :: Prelude.Maybe Data.POSIX,+    -- | The time at which a message was last updated.+    lastUpdatedTimestamp :: Prelude.Maybe Data.POSIX,+    -- | The ID of the message.+    messageId :: Prelude.Maybe Prelude.Text,+    -- | The metadata of the message.+    metadata :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | Indicates whether a message was redacted.+    redacted :: Prelude.Maybe Prelude.Bool,+    -- | The message sender.+    sender :: Prelude.Maybe Identity,+    -- | The type of message.+    type' :: Prelude.Maybe ChannelMessageType+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ChannelMessageSummary' 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:+--+-- 'content', 'channelMessageSummary_content' - The content of the message.+--+-- 'createdTimestamp', 'channelMessageSummary_createdTimestamp' - The time at which the message summary was created.+--+-- 'lastEditedTimestamp', 'channelMessageSummary_lastEditedTimestamp' - The time at which a message was last edited.+--+-- 'lastUpdatedTimestamp', 'channelMessageSummary_lastUpdatedTimestamp' - The time at which a message was last updated.+--+-- 'messageId', 'channelMessageSummary_messageId' - The ID of the message.+--+-- 'metadata', 'channelMessageSummary_metadata' - The metadata of the message.+--+-- 'redacted', 'channelMessageSummary_redacted' - Indicates whether a message was redacted.+--+-- 'sender', 'channelMessageSummary_sender' - The message sender.+--+-- 'type'', 'channelMessageSummary_type' - The type of message.+newChannelMessageSummary ::+  ChannelMessageSummary+newChannelMessageSummary =+  ChannelMessageSummary'+    { content = Prelude.Nothing,+      createdTimestamp = Prelude.Nothing,+      lastEditedTimestamp = Prelude.Nothing,+      lastUpdatedTimestamp = Prelude.Nothing,+      messageId = Prelude.Nothing,+      metadata = Prelude.Nothing,+      redacted = Prelude.Nothing,+      sender = Prelude.Nothing,+      type' = Prelude.Nothing+    }++-- | The content of the message.+channelMessageSummary_content :: Lens.Lens' ChannelMessageSummary (Prelude.Maybe Prelude.Text)+channelMessageSummary_content = Lens.lens (\ChannelMessageSummary' {content} -> content) (\s@ChannelMessageSummary' {} a -> s {content = a} :: ChannelMessageSummary) Prelude.. Lens.mapping Data._Sensitive++-- | The time at which the message summary was created.+channelMessageSummary_createdTimestamp :: Lens.Lens' ChannelMessageSummary (Prelude.Maybe Prelude.UTCTime)+channelMessageSummary_createdTimestamp = Lens.lens (\ChannelMessageSummary' {createdTimestamp} -> createdTimestamp) (\s@ChannelMessageSummary' {} a -> s {createdTimestamp = a} :: ChannelMessageSummary) Prelude.. Lens.mapping Data._Time++-- | The time at which a message was last edited.+channelMessageSummary_lastEditedTimestamp :: Lens.Lens' ChannelMessageSummary (Prelude.Maybe Prelude.UTCTime)+channelMessageSummary_lastEditedTimestamp = Lens.lens (\ChannelMessageSummary' {lastEditedTimestamp} -> lastEditedTimestamp) (\s@ChannelMessageSummary' {} a -> s {lastEditedTimestamp = a} :: ChannelMessageSummary) Prelude.. Lens.mapping Data._Time++-- | The time at which a message was last updated.+channelMessageSummary_lastUpdatedTimestamp :: Lens.Lens' ChannelMessageSummary (Prelude.Maybe Prelude.UTCTime)+channelMessageSummary_lastUpdatedTimestamp = Lens.lens (\ChannelMessageSummary' {lastUpdatedTimestamp} -> lastUpdatedTimestamp) (\s@ChannelMessageSummary' {} a -> s {lastUpdatedTimestamp = a} :: ChannelMessageSummary) Prelude.. Lens.mapping Data._Time++-- | The ID of the message.+channelMessageSummary_messageId :: Lens.Lens' ChannelMessageSummary (Prelude.Maybe Prelude.Text)+channelMessageSummary_messageId = Lens.lens (\ChannelMessageSummary' {messageId} -> messageId) (\s@ChannelMessageSummary' {} a -> s {messageId = a} :: ChannelMessageSummary)++-- | The metadata of the message.+channelMessageSummary_metadata :: Lens.Lens' ChannelMessageSummary (Prelude.Maybe Prelude.Text)+channelMessageSummary_metadata = Lens.lens (\ChannelMessageSummary' {metadata} -> metadata) (\s@ChannelMessageSummary' {} a -> s {metadata = a} :: ChannelMessageSummary) Prelude.. Lens.mapping Data._Sensitive++-- | Indicates whether a message was redacted.+channelMessageSummary_redacted :: Lens.Lens' ChannelMessageSummary (Prelude.Maybe Prelude.Bool)+channelMessageSummary_redacted = Lens.lens (\ChannelMessageSummary' {redacted} -> redacted) (\s@ChannelMessageSummary' {} a -> s {redacted = a} :: ChannelMessageSummary)++-- | The message sender.+channelMessageSummary_sender :: Lens.Lens' ChannelMessageSummary (Prelude.Maybe Identity)+channelMessageSummary_sender = Lens.lens (\ChannelMessageSummary' {sender} -> sender) (\s@ChannelMessageSummary' {} a -> s {sender = a} :: ChannelMessageSummary)++-- | The type of message.+channelMessageSummary_type :: Lens.Lens' ChannelMessageSummary (Prelude.Maybe ChannelMessageType)+channelMessageSummary_type = Lens.lens (\ChannelMessageSummary' {type'} -> type') (\s@ChannelMessageSummary' {} a -> s {type' = a} :: ChannelMessageSummary)++instance Data.FromJSON ChannelMessageSummary where+  parseJSON =+    Data.withObject+      "ChannelMessageSummary"+      ( \x ->+          ChannelMessageSummary'+            Prelude.<$> (x Data..:? "Content")+            Prelude.<*> (x Data..:? "CreatedTimestamp")+            Prelude.<*> (x Data..:? "LastEditedTimestamp")+            Prelude.<*> (x Data..:? "LastUpdatedTimestamp")+            Prelude.<*> (x Data..:? "MessageId")+            Prelude.<*> (x Data..:? "Metadata")+            Prelude.<*> (x Data..:? "Redacted")+            Prelude.<*> (x Data..:? "Sender")+            Prelude.<*> (x Data..:? "Type")+      )++instance Prelude.Hashable ChannelMessageSummary where+  hashWithSalt _salt ChannelMessageSummary' {..} =+    _salt+      `Prelude.hashWithSalt` content+      `Prelude.hashWithSalt` createdTimestamp+      `Prelude.hashWithSalt` lastEditedTimestamp+      `Prelude.hashWithSalt` lastUpdatedTimestamp+      `Prelude.hashWithSalt` messageId+      `Prelude.hashWithSalt` metadata+      `Prelude.hashWithSalt` redacted+      `Prelude.hashWithSalt` sender+      `Prelude.hashWithSalt` type'++instance Prelude.NFData ChannelMessageSummary where+  rnf ChannelMessageSummary' {..} =+    Prelude.rnf content+      `Prelude.seq` Prelude.rnf createdTimestamp+      `Prelude.seq` Prelude.rnf lastEditedTimestamp+      `Prelude.seq` Prelude.rnf lastUpdatedTimestamp+      `Prelude.seq` Prelude.rnf messageId+      `Prelude.seq` Prelude.rnf metadata+      `Prelude.seq` Prelude.rnf redacted+      `Prelude.seq` Prelude.rnf sender+      `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/Chime/Types/ChannelMessageType.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.Chime.Types.ChannelMessageType+-- 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.Chime.Types.ChannelMessageType+  ( ChannelMessageType+      ( ..,+        ChannelMessageType_CONTROL,+        ChannelMessageType_STANDARD+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ChannelMessageType = ChannelMessageType'+  { fromChannelMessageType ::+      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 ChannelMessageType_CONTROL :: ChannelMessageType+pattern ChannelMessageType_CONTROL = ChannelMessageType' "CONTROL"++pattern ChannelMessageType_STANDARD :: ChannelMessageType+pattern ChannelMessageType_STANDARD = ChannelMessageType' "STANDARD"++{-# COMPLETE+  ChannelMessageType_CONTROL,+  ChannelMessageType_STANDARD,+  ChannelMessageType'+  #-}
+ gen/Amazonka/Chime/Types/ChannelMode.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.Chime.Types.ChannelMode+-- 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.Chime.Types.ChannelMode+  ( ChannelMode+      ( ..,+        ChannelMode_RESTRICTED,+        ChannelMode_UNRESTRICTED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ChannelMode = ChannelMode'+  { fromChannelMode ::+      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 ChannelMode_RESTRICTED :: ChannelMode+pattern ChannelMode_RESTRICTED = ChannelMode' "RESTRICTED"++pattern ChannelMode_UNRESTRICTED :: ChannelMode+pattern ChannelMode_UNRESTRICTED = ChannelMode' "UNRESTRICTED"++{-# COMPLETE+  ChannelMode_RESTRICTED,+  ChannelMode_UNRESTRICTED,+  ChannelMode'+  #-}
+ gen/Amazonka/Chime/Types/ChannelModeratedByAppInstanceUserSummary.hs view
@@ -0,0 +1,84 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Chime.Types.ChannelModeratedByAppInstanceUserSummary+-- 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.Chime.Types.ChannelModeratedByAppInstanceUserSummary where++import Amazonka.Chime.Types.ChannelSummary+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++-- | Summary of the details of a moderated channel.+--+-- /See:/ 'newChannelModeratedByAppInstanceUserSummary' smart constructor.+data ChannelModeratedByAppInstanceUserSummary = ChannelModeratedByAppInstanceUserSummary'+  { -- | Summary of the details of a @Channel@.+    channelSummary :: Prelude.Maybe ChannelSummary+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ChannelModeratedByAppInstanceUserSummary' 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:+--+-- 'channelSummary', 'channelModeratedByAppInstanceUserSummary_channelSummary' - Summary of the details of a @Channel@.+newChannelModeratedByAppInstanceUserSummary ::+  ChannelModeratedByAppInstanceUserSummary+newChannelModeratedByAppInstanceUserSummary =+  ChannelModeratedByAppInstanceUserSummary'+    { channelSummary =+        Prelude.Nothing+    }++-- | Summary of the details of a @Channel@.+channelModeratedByAppInstanceUserSummary_channelSummary :: Lens.Lens' ChannelModeratedByAppInstanceUserSummary (Prelude.Maybe ChannelSummary)+channelModeratedByAppInstanceUserSummary_channelSummary = Lens.lens (\ChannelModeratedByAppInstanceUserSummary' {channelSummary} -> channelSummary) (\s@ChannelModeratedByAppInstanceUserSummary' {} a -> s {channelSummary = a} :: ChannelModeratedByAppInstanceUserSummary)++instance+  Data.FromJSON+    ChannelModeratedByAppInstanceUserSummary+  where+  parseJSON =+    Data.withObject+      "ChannelModeratedByAppInstanceUserSummary"+      ( \x ->+          ChannelModeratedByAppInstanceUserSummary'+            Prelude.<$> (x Data..:? "ChannelSummary")+      )++instance+  Prelude.Hashable+    ChannelModeratedByAppInstanceUserSummary+  where+  hashWithSalt+    _salt+    ChannelModeratedByAppInstanceUserSummary' {..} =+      _salt `Prelude.hashWithSalt` channelSummary++instance+  Prelude.NFData+    ChannelModeratedByAppInstanceUserSummary+  where+  rnf ChannelModeratedByAppInstanceUserSummary' {..} =+    Prelude.rnf channelSummary
+ gen/Amazonka/Chime/Types/ChannelModerator.hs view
@@ -0,0 +1,109 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Chime.Types.ChannelModerator+-- 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.Chime.Types.ChannelModerator where++import Amazonka.Chime.Types.Identity+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The details of a channel moderator.+--+-- /See:/ 'newChannelModerator' smart constructor.+data ChannelModerator = ChannelModerator'+  { -- | The ARN of the moderator\'s channel.+    channelArn :: Prelude.Maybe Prelude.Text,+    -- | The @AppInstanceUser@ who created the moderator.+    createdBy :: Prelude.Maybe Identity,+    -- | The time at which the moderator was created.+    createdTimestamp :: Prelude.Maybe Data.POSIX,+    -- | The moderator\'s data.+    moderator :: Prelude.Maybe Identity+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ChannelModerator' 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:+--+-- 'channelArn', 'channelModerator_channelArn' - The ARN of the moderator\'s channel.+--+-- 'createdBy', 'channelModerator_createdBy' - The @AppInstanceUser@ who created the moderator.+--+-- 'createdTimestamp', 'channelModerator_createdTimestamp' - The time at which the moderator was created.+--+-- 'moderator', 'channelModerator_moderator' - The moderator\'s data.+newChannelModerator ::+  ChannelModerator+newChannelModerator =+  ChannelModerator'+    { channelArn = Prelude.Nothing,+      createdBy = Prelude.Nothing,+      createdTimestamp = Prelude.Nothing,+      moderator = Prelude.Nothing+    }++-- | The ARN of the moderator\'s channel.+channelModerator_channelArn :: Lens.Lens' ChannelModerator (Prelude.Maybe Prelude.Text)+channelModerator_channelArn = Lens.lens (\ChannelModerator' {channelArn} -> channelArn) (\s@ChannelModerator' {} a -> s {channelArn = a} :: ChannelModerator)++-- | The @AppInstanceUser@ who created the moderator.+channelModerator_createdBy :: Lens.Lens' ChannelModerator (Prelude.Maybe Identity)+channelModerator_createdBy = Lens.lens (\ChannelModerator' {createdBy} -> createdBy) (\s@ChannelModerator' {} a -> s {createdBy = a} :: ChannelModerator)++-- | The time at which the moderator was created.+channelModerator_createdTimestamp :: Lens.Lens' ChannelModerator (Prelude.Maybe Prelude.UTCTime)+channelModerator_createdTimestamp = Lens.lens (\ChannelModerator' {createdTimestamp} -> createdTimestamp) (\s@ChannelModerator' {} a -> s {createdTimestamp = a} :: ChannelModerator) Prelude.. Lens.mapping Data._Time++-- | The moderator\'s data.+channelModerator_moderator :: Lens.Lens' ChannelModerator (Prelude.Maybe Identity)+channelModerator_moderator = Lens.lens (\ChannelModerator' {moderator} -> moderator) (\s@ChannelModerator' {} a -> s {moderator = a} :: ChannelModerator)++instance Data.FromJSON ChannelModerator where+  parseJSON =+    Data.withObject+      "ChannelModerator"+      ( \x ->+          ChannelModerator'+            Prelude.<$> (x Data..:? "ChannelArn")+            Prelude.<*> (x Data..:? "CreatedBy")+            Prelude.<*> (x Data..:? "CreatedTimestamp")+            Prelude.<*> (x Data..:? "Moderator")+      )++instance Prelude.Hashable ChannelModerator where+  hashWithSalt _salt ChannelModerator' {..} =+    _salt+      `Prelude.hashWithSalt` channelArn+      `Prelude.hashWithSalt` createdBy+      `Prelude.hashWithSalt` createdTimestamp+      `Prelude.hashWithSalt` moderator++instance Prelude.NFData ChannelModerator where+  rnf ChannelModerator' {..} =+    Prelude.rnf channelArn+      `Prelude.seq` Prelude.rnf createdBy+      `Prelude.seq` Prelude.rnf createdTimestamp+      `Prelude.seq` Prelude.rnf moderator
+ gen/Amazonka/Chime/Types/ChannelModeratorSummary.hs view
@@ -0,0 +1,73 @@+{-# 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.Chime.Types.ChannelModeratorSummary+-- 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.Chime.Types.ChannelModeratorSummary where++import Amazonka.Chime.Types.Identity+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++-- | Summary of the details of a @ChannelModerator@.+--+-- /See:/ 'newChannelModeratorSummary' smart constructor.+data ChannelModeratorSummary = ChannelModeratorSummary'+  { -- | The data for a moderator.+    moderator :: Prelude.Maybe Identity+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ChannelModeratorSummary' 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:+--+-- 'moderator', 'channelModeratorSummary_moderator' - The data for a moderator.+newChannelModeratorSummary ::+  ChannelModeratorSummary+newChannelModeratorSummary =+  ChannelModeratorSummary'+    { moderator =+        Prelude.Nothing+    }++-- | The data for a moderator.+channelModeratorSummary_moderator :: Lens.Lens' ChannelModeratorSummary (Prelude.Maybe Identity)+channelModeratorSummary_moderator = Lens.lens (\ChannelModeratorSummary' {moderator} -> moderator) (\s@ChannelModeratorSummary' {} a -> s {moderator = a} :: ChannelModeratorSummary)++instance Data.FromJSON ChannelModeratorSummary where+  parseJSON =+    Data.withObject+      "ChannelModeratorSummary"+      ( \x ->+          ChannelModeratorSummary'+            Prelude.<$> (x Data..:? "Moderator")+      )++instance Prelude.Hashable ChannelModeratorSummary where+  hashWithSalt _salt ChannelModeratorSummary' {..} =+    _salt `Prelude.hashWithSalt` moderator++instance Prelude.NFData ChannelModeratorSummary where+  rnf ChannelModeratorSummary' {..} =+    Prelude.rnf moderator
+ gen/Amazonka/Chime/Types/ChannelPrivacy.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.Chime.Types.ChannelPrivacy+-- 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.Chime.Types.ChannelPrivacy+  ( ChannelPrivacy+      ( ..,+        ChannelPrivacy_PRIVATE,+        ChannelPrivacy_PUBLIC+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ChannelPrivacy = ChannelPrivacy'+  { fromChannelPrivacy ::+      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 ChannelPrivacy_PRIVATE :: ChannelPrivacy+pattern ChannelPrivacy_PRIVATE = ChannelPrivacy' "PRIVATE"++pattern ChannelPrivacy_PUBLIC :: ChannelPrivacy+pattern ChannelPrivacy_PUBLIC = ChannelPrivacy' "PUBLIC"++{-# COMPLETE+  ChannelPrivacy_PRIVATE,+  ChannelPrivacy_PUBLIC,+  ChannelPrivacy'+  #-}
+ gen/Amazonka/Chime/Types/ChannelRetentionSettings.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Chime.Types.ChannelRetentionSettings+-- 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.Chime.Types.ChannelRetentionSettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The details of the retention settings for a channel.+--+-- /See:/ 'newChannelRetentionSettings' smart constructor.+data ChannelRetentionSettings = ChannelRetentionSettings'+  { -- | The time in days to retain the messages in a channel.+    retentionDays :: Prelude.Maybe Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ChannelRetentionSettings' 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:+--+-- 'retentionDays', 'channelRetentionSettings_retentionDays' - The time in days to retain the messages in a channel.+newChannelRetentionSettings ::+  ChannelRetentionSettings+newChannelRetentionSettings =+  ChannelRetentionSettings'+    { retentionDays =+        Prelude.Nothing+    }++-- | The time in days to retain the messages in a channel.+channelRetentionSettings_retentionDays :: Lens.Lens' ChannelRetentionSettings (Prelude.Maybe Prelude.Natural)+channelRetentionSettings_retentionDays = Lens.lens (\ChannelRetentionSettings' {retentionDays} -> retentionDays) (\s@ChannelRetentionSettings' {} a -> s {retentionDays = a} :: ChannelRetentionSettings)++instance Data.FromJSON ChannelRetentionSettings where+  parseJSON =+    Data.withObject+      "ChannelRetentionSettings"+      ( \x ->+          ChannelRetentionSettings'+            Prelude.<$> (x Data..:? "RetentionDays")+      )++instance Prelude.Hashable ChannelRetentionSettings where+  hashWithSalt _salt ChannelRetentionSettings' {..} =+    _salt `Prelude.hashWithSalt` retentionDays++instance Prelude.NFData ChannelRetentionSettings where+  rnf ChannelRetentionSettings' {..} =+    Prelude.rnf retentionDays++instance Data.ToJSON ChannelRetentionSettings where+  toJSON ChannelRetentionSettings' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("RetentionDays" Data..=)+              Prelude.<$> retentionDays+          ]+      )
+ gen/Amazonka/Chime/Types/ChannelSummary.hs view
@@ -0,0 +1,134 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Chime.Types.ChannelSummary+-- 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.Chime.Types.ChannelSummary where++import Amazonka.Chime.Types.ChannelMode+import Amazonka.Chime.Types.ChannelPrivacy+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++-- | Summary of the details of a @Channel@.+--+-- /See:/ 'newChannelSummary' smart constructor.+data ChannelSummary = ChannelSummary'+  { -- | The ARN of the channel.+    channelArn :: Prelude.Maybe Prelude.Text,+    -- | The time at which the last message in a channel was sent.+    lastMessageTimestamp :: Prelude.Maybe Data.POSIX,+    -- | The metadata of the channel.+    metadata :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The mode of the channel.+    mode :: Prelude.Maybe ChannelMode,+    -- | The name of the channel.+    name :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The privacy setting of the channel.+    privacy :: Prelude.Maybe ChannelPrivacy+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ChannelSummary' 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:+--+-- 'channelArn', 'channelSummary_channelArn' - The ARN of the channel.+--+-- 'lastMessageTimestamp', 'channelSummary_lastMessageTimestamp' - The time at which the last message in a channel was sent.+--+-- 'metadata', 'channelSummary_metadata' - The metadata of the channel.+--+-- 'mode', 'channelSummary_mode' - The mode of the channel.+--+-- 'name', 'channelSummary_name' - The name of the channel.+--+-- 'privacy', 'channelSummary_privacy' - The privacy setting of the channel.+newChannelSummary ::+  ChannelSummary+newChannelSummary =+  ChannelSummary'+    { channelArn = Prelude.Nothing,+      lastMessageTimestamp = Prelude.Nothing,+      metadata = Prelude.Nothing,+      mode = Prelude.Nothing,+      name = Prelude.Nothing,+      privacy = Prelude.Nothing+    }++-- | The ARN of the channel.+channelSummary_channelArn :: Lens.Lens' ChannelSummary (Prelude.Maybe Prelude.Text)+channelSummary_channelArn = Lens.lens (\ChannelSummary' {channelArn} -> channelArn) (\s@ChannelSummary' {} a -> s {channelArn = a} :: ChannelSummary)++-- | The time at which the last message in a channel was sent.+channelSummary_lastMessageTimestamp :: Lens.Lens' ChannelSummary (Prelude.Maybe Prelude.UTCTime)+channelSummary_lastMessageTimestamp = Lens.lens (\ChannelSummary' {lastMessageTimestamp} -> lastMessageTimestamp) (\s@ChannelSummary' {} a -> s {lastMessageTimestamp = a} :: ChannelSummary) Prelude.. Lens.mapping Data._Time++-- | The metadata of the channel.+channelSummary_metadata :: Lens.Lens' ChannelSummary (Prelude.Maybe Prelude.Text)+channelSummary_metadata = Lens.lens (\ChannelSummary' {metadata} -> metadata) (\s@ChannelSummary' {} a -> s {metadata = a} :: ChannelSummary) Prelude.. Lens.mapping Data._Sensitive++-- | The mode of the channel.+channelSummary_mode :: Lens.Lens' ChannelSummary (Prelude.Maybe ChannelMode)+channelSummary_mode = Lens.lens (\ChannelSummary' {mode} -> mode) (\s@ChannelSummary' {} a -> s {mode = a} :: ChannelSummary)++-- | The name of the channel.+channelSummary_name :: Lens.Lens' ChannelSummary (Prelude.Maybe Prelude.Text)+channelSummary_name = Lens.lens (\ChannelSummary' {name} -> name) (\s@ChannelSummary' {} a -> s {name = a} :: ChannelSummary) Prelude.. Lens.mapping Data._Sensitive++-- | The privacy setting of the channel.+channelSummary_privacy :: Lens.Lens' ChannelSummary (Prelude.Maybe ChannelPrivacy)+channelSummary_privacy = Lens.lens (\ChannelSummary' {privacy} -> privacy) (\s@ChannelSummary' {} a -> s {privacy = a} :: ChannelSummary)++instance Data.FromJSON ChannelSummary where+  parseJSON =+    Data.withObject+      "ChannelSummary"+      ( \x ->+          ChannelSummary'+            Prelude.<$> (x Data..:? "ChannelArn")+            Prelude.<*> (x Data..:? "LastMessageTimestamp")+            Prelude.<*> (x Data..:? "Metadata")+            Prelude.<*> (x Data..:? "Mode")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "Privacy")+      )++instance Prelude.Hashable ChannelSummary where+  hashWithSalt _salt ChannelSummary' {..} =+    _salt+      `Prelude.hashWithSalt` channelArn+      `Prelude.hashWithSalt` lastMessageTimestamp+      `Prelude.hashWithSalt` metadata+      `Prelude.hashWithSalt` mode+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` privacy++instance Prelude.NFData ChannelSummary where+  rnf ChannelSummary' {..} =+    Prelude.rnf channelArn+      `Prelude.seq` Prelude.rnf lastMessageTimestamp+      `Prelude.seq` Prelude.rnf metadata+      `Prelude.seq` Prelude.rnf mode+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf privacy
+ gen/Amazonka/Chime/Types/ChimeSdkMeetingConfiguration.hs view
@@ -0,0 +1,102 @@+{-# 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.Chime.Types.ChimeSdkMeetingConfiguration+-- 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.Chime.Types.ChimeSdkMeetingConfiguration where++import Amazonka.Chime.Types.ArtifactsConfiguration+import Amazonka.Chime.Types.SourceConfiguration+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 object of the Amazon Chime SDK meeting for a specified+-- media capture pipeline. @SourceType@ must be @ChimeSdkMeeting@.+--+-- /See:/ 'newChimeSdkMeetingConfiguration' smart constructor.+data ChimeSdkMeetingConfiguration = ChimeSdkMeetingConfiguration'+  { -- | The configuration for the artifacts in an Amazon Chime SDK meeting.+    artifactsConfiguration :: Prelude.Maybe ArtifactsConfiguration,+    -- | The source configuration for a specified media capture pipline.+    sourceConfiguration :: Prelude.Maybe SourceConfiguration+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ChimeSdkMeetingConfiguration' 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:+--+-- 'artifactsConfiguration', 'chimeSdkMeetingConfiguration_artifactsConfiguration' - The configuration for the artifacts in an Amazon Chime SDK meeting.+--+-- 'sourceConfiguration', 'chimeSdkMeetingConfiguration_sourceConfiguration' - The source configuration for a specified media capture pipline.+newChimeSdkMeetingConfiguration ::+  ChimeSdkMeetingConfiguration+newChimeSdkMeetingConfiguration =+  ChimeSdkMeetingConfiguration'+    { artifactsConfiguration =+        Prelude.Nothing,+      sourceConfiguration = Prelude.Nothing+    }++-- | The configuration for the artifacts in an Amazon Chime SDK meeting.+chimeSdkMeetingConfiguration_artifactsConfiguration :: Lens.Lens' ChimeSdkMeetingConfiguration (Prelude.Maybe ArtifactsConfiguration)+chimeSdkMeetingConfiguration_artifactsConfiguration = Lens.lens (\ChimeSdkMeetingConfiguration' {artifactsConfiguration} -> artifactsConfiguration) (\s@ChimeSdkMeetingConfiguration' {} a -> s {artifactsConfiguration = a} :: ChimeSdkMeetingConfiguration)++-- | The source configuration for a specified media capture pipline.+chimeSdkMeetingConfiguration_sourceConfiguration :: Lens.Lens' ChimeSdkMeetingConfiguration (Prelude.Maybe SourceConfiguration)+chimeSdkMeetingConfiguration_sourceConfiguration = Lens.lens (\ChimeSdkMeetingConfiguration' {sourceConfiguration} -> sourceConfiguration) (\s@ChimeSdkMeetingConfiguration' {} a -> s {sourceConfiguration = a} :: ChimeSdkMeetingConfiguration)++instance Data.FromJSON ChimeSdkMeetingConfiguration where+  parseJSON =+    Data.withObject+      "ChimeSdkMeetingConfiguration"+      ( \x ->+          ChimeSdkMeetingConfiguration'+            Prelude.<$> (x Data..:? "ArtifactsConfiguration")+            Prelude.<*> (x Data..:? "SourceConfiguration")+      )++instance+  Prelude.Hashable+    ChimeSdkMeetingConfiguration+  where+  hashWithSalt _salt ChimeSdkMeetingConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` artifactsConfiguration+      `Prelude.hashWithSalt` sourceConfiguration++instance Prelude.NFData ChimeSdkMeetingConfiguration where+  rnf ChimeSdkMeetingConfiguration' {..} =+    Prelude.rnf artifactsConfiguration+      `Prelude.seq` Prelude.rnf sourceConfiguration++instance Data.ToJSON ChimeSdkMeetingConfiguration where+  toJSON ChimeSdkMeetingConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ArtifactsConfiguration" Data..=)+              Prelude.<$> artifactsConfiguration,+            ("SourceConfiguration" Data..=)+              Prelude.<$> sourceConfiguration+          ]+      )
+ gen/Amazonka/Chime/Types/ContentArtifactsConfiguration.hs view
@@ -0,0 +1,100 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Chime.Types.ContentArtifactsConfiguration+-- 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.Chime.Types.ContentArtifactsConfiguration where++import Amazonka.Chime.Types.ArtifactsState+import Amazonka.Chime.Types.ContentMuxType+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 content artifact object.+--+-- /See:/ 'newContentArtifactsConfiguration' smart constructor.+data ContentArtifactsConfiguration = ContentArtifactsConfiguration'+  { -- | The MUX type of the artifact configuration.+    muxType :: Prelude.Maybe ContentMuxType,+    -- | Indicates whether the content artifact is enabled or disabled.+    state :: ArtifactsState+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ContentArtifactsConfiguration' 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:+--+-- 'muxType', 'contentArtifactsConfiguration_muxType' - The MUX type of the artifact configuration.+--+-- 'state', 'contentArtifactsConfiguration_state' - Indicates whether the content artifact is enabled or disabled.+newContentArtifactsConfiguration ::+  -- | 'state'+  ArtifactsState ->+  ContentArtifactsConfiguration+newContentArtifactsConfiguration pState_ =+  ContentArtifactsConfiguration'+    { muxType =+        Prelude.Nothing,+      state = pState_+    }++-- | The MUX type of the artifact configuration.+contentArtifactsConfiguration_muxType :: Lens.Lens' ContentArtifactsConfiguration (Prelude.Maybe ContentMuxType)+contentArtifactsConfiguration_muxType = Lens.lens (\ContentArtifactsConfiguration' {muxType} -> muxType) (\s@ContentArtifactsConfiguration' {} a -> s {muxType = a} :: ContentArtifactsConfiguration)++-- | Indicates whether the content artifact is enabled or disabled.+contentArtifactsConfiguration_state :: Lens.Lens' ContentArtifactsConfiguration ArtifactsState+contentArtifactsConfiguration_state = Lens.lens (\ContentArtifactsConfiguration' {state} -> state) (\s@ContentArtifactsConfiguration' {} a -> s {state = a} :: ContentArtifactsConfiguration)++instance Data.FromJSON ContentArtifactsConfiguration where+  parseJSON =+    Data.withObject+      "ContentArtifactsConfiguration"+      ( \x ->+          ContentArtifactsConfiguration'+            Prelude.<$> (x Data..:? "MuxType")+            Prelude.<*> (x Data..: "State")+      )++instance+  Prelude.Hashable+    ContentArtifactsConfiguration+  where+  hashWithSalt _salt ContentArtifactsConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` muxType+      `Prelude.hashWithSalt` state++instance Prelude.NFData ContentArtifactsConfiguration where+  rnf ContentArtifactsConfiguration' {..} =+    Prelude.rnf muxType `Prelude.seq` Prelude.rnf state++instance Data.ToJSON ContentArtifactsConfiguration where+  toJSON ContentArtifactsConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MuxType" Data..=) Prelude.<$> muxType,+            Prelude.Just ("State" Data..= state)+          ]+      )
+ gen/Amazonka/Chime/Types/ContentMuxType.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.Chime.Types.ContentMuxType+-- 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.Chime.Types.ContentMuxType+  ( ContentMuxType+      ( ..,+        ContentMuxType_ContentOnly+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ContentMuxType = ContentMuxType'+  { fromContentMuxType ::+      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 ContentMuxType_ContentOnly :: ContentMuxType+pattern ContentMuxType_ContentOnly = ContentMuxType' "ContentOnly"++{-# COMPLETE+  ContentMuxType_ContentOnly,+  ContentMuxType'+  #-}
+ gen/Amazonka/Chime/Types/ConversationRetentionSettings.hs view
@@ -0,0 +1,85 @@+{-# 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.Chime.Types.ConversationRetentionSettings+-- 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.Chime.Types.ConversationRetentionSettings 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 retention settings that determine how long to retain conversation+-- messages for an Amazon Chime Enterprise account.+--+-- /See:/ 'newConversationRetentionSettings' smart constructor.+data ConversationRetentionSettings = ConversationRetentionSettings'+  { -- | The number of days for which to retain conversation messages.+    retentionDays :: Prelude.Maybe Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConversationRetentionSettings' 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:+--+-- 'retentionDays', 'conversationRetentionSettings_retentionDays' - The number of days for which to retain conversation messages.+newConversationRetentionSettings ::+  ConversationRetentionSettings+newConversationRetentionSettings =+  ConversationRetentionSettings'+    { retentionDays =+        Prelude.Nothing+    }++-- | The number of days for which to retain conversation messages.+conversationRetentionSettings_retentionDays :: Lens.Lens' ConversationRetentionSettings (Prelude.Maybe Prelude.Natural)+conversationRetentionSettings_retentionDays = Lens.lens (\ConversationRetentionSettings' {retentionDays} -> retentionDays) (\s@ConversationRetentionSettings' {} a -> s {retentionDays = a} :: ConversationRetentionSettings)++instance Data.FromJSON ConversationRetentionSettings where+  parseJSON =+    Data.withObject+      "ConversationRetentionSettings"+      ( \x ->+          ConversationRetentionSettings'+            Prelude.<$> (x Data..:? "RetentionDays")+      )++instance+  Prelude.Hashable+    ConversationRetentionSettings+  where+  hashWithSalt _salt ConversationRetentionSettings' {..} =+    _salt `Prelude.hashWithSalt` retentionDays++instance Prelude.NFData ConversationRetentionSettings where+  rnf ConversationRetentionSettings' {..} =+    Prelude.rnf retentionDays++instance Data.ToJSON ConversationRetentionSettings where+  toJSON ConversationRetentionSettings' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("RetentionDays" Data..=)+              Prelude.<$> retentionDays+          ]+      )
+ gen/Amazonka/Chime/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.Chime.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.Chime.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/Chime/Types/CreateAttendeeRequestItem.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.Chime.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.Chime.Types.CreateAttendeeRequestItem where++import Amazonka.Chime.Types.Tag+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'+  { -- | The tag key-value pairs.+    tags :: Prelude.Maybe (Prelude.NonEmpty Tag),+    -- | 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:+--+-- 'tags', 'createAttendeeRequestItem_tags' - The tag key-value pairs.+--+-- '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'+    { tags = Prelude.Nothing,+      externalUserId =+        Data._Sensitive Lens.# pExternalUserId_+    }++-- | The tag key-value pairs.+createAttendeeRequestItem_tags :: Lens.Lens' CreateAttendeeRequestItem (Prelude.Maybe (Prelude.NonEmpty Tag))+createAttendeeRequestItem_tags = Lens.lens (\CreateAttendeeRequestItem' {tags} -> tags) (\s@CreateAttendeeRequestItem' {} a -> s {tags = a} :: CreateAttendeeRequestItem) Prelude.. Lens.mapping Lens.coerced++-- | 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` tags+      `Prelude.hashWithSalt` externalUserId++instance Prelude.NFData CreateAttendeeRequestItem where+  rnf CreateAttendeeRequestItem' {..} =+    Prelude.rnf tags+      `Prelude.seq` Prelude.rnf externalUserId++instance Data.ToJSON CreateAttendeeRequestItem where+  toJSON CreateAttendeeRequestItem' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just+              ("ExternalUserId" Data..= externalUserId)+          ]+      )
+ gen/Amazonka/Chime/Types/Credential.hs view
@@ -0,0 +1,90 @@+{-# 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.Chime.Types.Credential+-- 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.Chime.Types.Credential 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 SIP credentials used to authenticate requests to your Amazon Chime+-- Voice Connector.+--+-- /See:/ 'newCredential' smart constructor.+data Credential = Credential'+  { -- | The RFC2617 compliant password associated with the SIP credentials, in+    -- US-ASCII format.+    password :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The RFC2617 compliant user name associated with the SIP credentials, in+    -- US-ASCII format.+    username :: Prelude.Maybe (Data.Sensitive Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Credential' 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:+--+-- 'password', 'credential_password' - The RFC2617 compliant password associated with the SIP credentials, in+-- US-ASCII format.+--+-- 'username', 'credential_username' - The RFC2617 compliant user name associated with the SIP credentials, in+-- US-ASCII format.+newCredential ::+  Credential+newCredential =+  Credential'+    { password = Prelude.Nothing,+      username = Prelude.Nothing+    }++-- | The RFC2617 compliant password associated with the SIP credentials, in+-- US-ASCII format.+credential_password :: Lens.Lens' Credential (Prelude.Maybe Prelude.Text)+credential_password = Lens.lens (\Credential' {password} -> password) (\s@Credential' {} a -> s {password = a} :: Credential) Prelude.. Lens.mapping Data._Sensitive++-- | The RFC2617 compliant user name associated with the SIP credentials, in+-- US-ASCII format.+credential_username :: Lens.Lens' Credential (Prelude.Maybe Prelude.Text)+credential_username = Lens.lens (\Credential' {username} -> username) (\s@Credential' {} a -> s {username = a} :: Credential) Prelude.. Lens.mapping Data._Sensitive++instance Prelude.Hashable Credential where+  hashWithSalt _salt Credential' {..} =+    _salt+      `Prelude.hashWithSalt` password+      `Prelude.hashWithSalt` username++instance Prelude.NFData Credential where+  rnf Credential' {..} =+    Prelude.rnf password+      `Prelude.seq` Prelude.rnf username++instance Data.ToJSON Credential where+  toJSON Credential' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Password" Data..=) Prelude.<$> password,+            ("Username" Data..=) Prelude.<$> username+          ]+      )
+ gen/Amazonka/Chime/Types/DNISEmergencyCallingConfiguration.hs view
@@ -0,0 +1,139 @@+{-# 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.Chime.Types.DNISEmergencyCallingConfiguration+-- 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.Chime.Types.DNISEmergencyCallingConfiguration 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 Dialed Number Identification Service (DNIS) emergency calling+-- configuration details associated with an Amazon Chime Voice Connector\'s+-- emergency calling configuration.+--+-- /See:/ 'newDNISEmergencyCallingConfiguration' smart constructor.+data DNISEmergencyCallingConfiguration = DNISEmergencyCallingConfiguration'+  { -- | The DNIS phone number to route test emergency calls to, in E.164 format.+    testPhoneNumber :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The DNIS phone number to route emergency calls to, in E.164 format.+    emergencyPhoneNumber :: Data.Sensitive Prelude.Text,+    -- | The country from which emergency calls are allowed, in ISO 3166-1+    -- alpha-2 format.+    callingCountry :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DNISEmergencyCallingConfiguration' 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:+--+-- 'testPhoneNumber', 'dNISEmergencyCallingConfiguration_testPhoneNumber' - The DNIS phone number to route test emergency calls to, in E.164 format.+--+-- 'emergencyPhoneNumber', 'dNISEmergencyCallingConfiguration_emergencyPhoneNumber' - The DNIS phone number to route emergency calls to, in E.164 format.+--+-- 'callingCountry', 'dNISEmergencyCallingConfiguration_callingCountry' - The country from which emergency calls are allowed, in ISO 3166-1+-- alpha-2 format.+newDNISEmergencyCallingConfiguration ::+  -- | 'emergencyPhoneNumber'+  Prelude.Text ->+  -- | 'callingCountry'+  Prelude.Text ->+  DNISEmergencyCallingConfiguration+newDNISEmergencyCallingConfiguration+  pEmergencyPhoneNumber_+  pCallingCountry_ =+    DNISEmergencyCallingConfiguration'+      { testPhoneNumber =+          Prelude.Nothing,+        emergencyPhoneNumber =+          Data._Sensitive+            Lens.# pEmergencyPhoneNumber_,+        callingCountry = pCallingCountry_+      }++-- | The DNIS phone number to route test emergency calls to, in E.164 format.+dNISEmergencyCallingConfiguration_testPhoneNumber :: Lens.Lens' DNISEmergencyCallingConfiguration (Prelude.Maybe Prelude.Text)+dNISEmergencyCallingConfiguration_testPhoneNumber = Lens.lens (\DNISEmergencyCallingConfiguration' {testPhoneNumber} -> testPhoneNumber) (\s@DNISEmergencyCallingConfiguration' {} a -> s {testPhoneNumber = a} :: DNISEmergencyCallingConfiguration) Prelude.. Lens.mapping Data._Sensitive++-- | The DNIS phone number to route emergency calls to, in E.164 format.+dNISEmergencyCallingConfiguration_emergencyPhoneNumber :: Lens.Lens' DNISEmergencyCallingConfiguration Prelude.Text+dNISEmergencyCallingConfiguration_emergencyPhoneNumber = Lens.lens (\DNISEmergencyCallingConfiguration' {emergencyPhoneNumber} -> emergencyPhoneNumber) (\s@DNISEmergencyCallingConfiguration' {} a -> s {emergencyPhoneNumber = a} :: DNISEmergencyCallingConfiguration) Prelude.. Data._Sensitive++-- | The country from which emergency calls are allowed, in ISO 3166-1+-- alpha-2 format.+dNISEmergencyCallingConfiguration_callingCountry :: Lens.Lens' DNISEmergencyCallingConfiguration Prelude.Text+dNISEmergencyCallingConfiguration_callingCountry = Lens.lens (\DNISEmergencyCallingConfiguration' {callingCountry} -> callingCountry) (\s@DNISEmergencyCallingConfiguration' {} a -> s {callingCountry = a} :: DNISEmergencyCallingConfiguration)++instance+  Data.FromJSON+    DNISEmergencyCallingConfiguration+  where+  parseJSON =+    Data.withObject+      "DNISEmergencyCallingConfiguration"+      ( \x ->+          DNISEmergencyCallingConfiguration'+            Prelude.<$> (x Data..:? "TestPhoneNumber")+            Prelude.<*> (x Data..: "EmergencyPhoneNumber")+            Prelude.<*> (x Data..: "CallingCountry")+      )++instance+  Prelude.Hashable+    DNISEmergencyCallingConfiguration+  where+  hashWithSalt+    _salt+    DNISEmergencyCallingConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` testPhoneNumber+        `Prelude.hashWithSalt` emergencyPhoneNumber+        `Prelude.hashWithSalt` callingCountry++instance+  Prelude.NFData+    DNISEmergencyCallingConfiguration+  where+  rnf DNISEmergencyCallingConfiguration' {..} =+    Prelude.rnf testPhoneNumber+      `Prelude.seq` Prelude.rnf emergencyPhoneNumber+      `Prelude.seq` Prelude.rnf callingCountry++instance+  Data.ToJSON+    DNISEmergencyCallingConfiguration+  where+  toJSON DNISEmergencyCallingConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("TestPhoneNumber" Data..=)+              Prelude.<$> testPhoneNumber,+            Prelude.Just+              ( "EmergencyPhoneNumber"+                  Data..= emergencyPhoneNumber+              ),+            Prelude.Just+              ("CallingCountry" Data..= callingCountry)+          ]+      )
+ gen/Amazonka/Chime/Types/EmailStatus.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.Chime.Types.EmailStatus+-- 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.Chime.Types.EmailStatus+  ( EmailStatus+      ( ..,+        EmailStatus_Failed,+        EmailStatus_NotSent,+        EmailStatus_Sent+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype EmailStatus = EmailStatus'+  { fromEmailStatus ::+      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 EmailStatus_Failed :: EmailStatus+pattern EmailStatus_Failed = EmailStatus' "Failed"++pattern EmailStatus_NotSent :: EmailStatus+pattern EmailStatus_NotSent = EmailStatus' "NotSent"++pattern EmailStatus_Sent :: EmailStatus+pattern EmailStatus_Sent = EmailStatus' "Sent"++{-# COMPLETE+  EmailStatus_Failed,+  EmailStatus_NotSent,+  EmailStatus_Sent,+  EmailStatus'+  #-}
+ gen/Amazonka/Chime/Types/EmergencyCallingConfiguration.hs view
@@ -0,0 +1,87 @@+{-# 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.Chime.Types.EmergencyCallingConfiguration+-- 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.Chime.Types.EmergencyCallingConfiguration where++import Amazonka.Chime.Types.DNISEmergencyCallingConfiguration+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 emergency calling configuration details associated with an Amazon+-- Chime Voice Connector.+--+-- /See:/ 'newEmergencyCallingConfiguration' smart constructor.+data EmergencyCallingConfiguration = EmergencyCallingConfiguration'+  { -- | The Dialed Number Identification Service (DNIS) emergency calling+    -- configuration details.+    dnis :: Prelude.Maybe [DNISEmergencyCallingConfiguration]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EmergencyCallingConfiguration' 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:+--+-- 'dnis', 'emergencyCallingConfiguration_dnis' - The Dialed Number Identification Service (DNIS) emergency calling+-- configuration details.+newEmergencyCallingConfiguration ::+  EmergencyCallingConfiguration+newEmergencyCallingConfiguration =+  EmergencyCallingConfiguration'+    { dnis =+        Prelude.Nothing+    }++-- | The Dialed Number Identification Service (DNIS) emergency calling+-- configuration details.+emergencyCallingConfiguration_dnis :: Lens.Lens' EmergencyCallingConfiguration (Prelude.Maybe [DNISEmergencyCallingConfiguration])+emergencyCallingConfiguration_dnis = Lens.lens (\EmergencyCallingConfiguration' {dnis} -> dnis) (\s@EmergencyCallingConfiguration' {} a -> s {dnis = a} :: EmergencyCallingConfiguration) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON EmergencyCallingConfiguration where+  parseJSON =+    Data.withObject+      "EmergencyCallingConfiguration"+      ( \x ->+          EmergencyCallingConfiguration'+            Prelude.<$> (x Data..:? "DNIS" Data..!= Prelude.mempty)+      )++instance+  Prelude.Hashable+    EmergencyCallingConfiguration+  where+  hashWithSalt _salt EmergencyCallingConfiguration' {..} =+    _salt `Prelude.hashWithSalt` dnis++instance Prelude.NFData EmergencyCallingConfiguration where+  rnf EmergencyCallingConfiguration' {..} =+    Prelude.rnf dnis++instance Data.ToJSON EmergencyCallingConfiguration where+  toJSON EmergencyCallingConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [("DNIS" Data..=) Prelude.<$> dnis]+      )
+ gen/Amazonka/Chime/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.Chime.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.Chime.Types.EngineTranscribeMedicalSettings where++import Amazonka.Chime.Types.TranscribeMedicalContentIdentificationType+import Amazonka.Chime.Types.TranscribeMedicalLanguageCode+import Amazonka.Chime.Types.TranscribeMedicalRegion+import Amazonka.Chime.Types.TranscribeMedicalSpecialty+import Amazonka.Chime.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/Chime/Types/EngineTranscribeSettings.hs view
@@ -0,0 +1,261 @@+{-# 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.Chime.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.Chime.Types.EngineTranscribeSettings where++import Amazonka.Chime.Types.TranscribeContentIdentificationType+import Amazonka.Chime.Types.TranscribeContentRedactionType+import Amazonka.Chime.Types.TranscribeLanguageCode+import Amazonka.Chime.Types.TranscribePartialResultsStability+import Amazonka.Chime.Types.TranscribeRegion+import Amazonka.Chime.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.+    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,+    -- | The name of the language model used during transcription.+    languageModelName :: 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,+    -- | 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,+    -- | The language code specified for the Amazon Transcribe engine.+    languageCode :: TranscribeLanguageCode+  }+  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.+--+-- '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.+--+-- 'languageModelName', 'engineTranscribeSettings_languageModelName' - The name of the language model used during transcription.+--+-- '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@.+--+-- '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.+--+-- 'languageCode', 'engineTranscribeSettings_languageCode' - The language code specified for the Amazon Transcribe engine.+newEngineTranscribeSettings ::+  -- | 'languageCode'+  TranscribeLanguageCode ->+  EngineTranscribeSettings+newEngineTranscribeSettings pLanguageCode_ =+  EngineTranscribeSettings'+    { contentIdentificationType =+        Prelude.Nothing,+      contentRedactionType = Prelude.Nothing,+      enablePartialResultsStabilization =+        Prelude.Nothing,+      languageModelName = Prelude.Nothing,+      partialResultsStability = Prelude.Nothing,+      piiEntityTypes = Prelude.Nothing,+      region = Prelude.Nothing,+      vocabularyFilterMethod = Prelude.Nothing,+      vocabularyFilterName = Prelude.Nothing,+      vocabularyName = Prelude.Nothing,+      languageCode = pLanguageCode_+    }++-- | 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.+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)++-- | 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)++-- | 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)++-- | 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)++-- | The language code specified for the Amazon Transcribe engine.+engineTranscribeSettings_languageCode :: Lens.Lens' EngineTranscribeSettings TranscribeLanguageCode+engineTranscribeSettings_languageCode = Lens.lens (\EngineTranscribeSettings' {languageCode} -> languageCode) (\s@EngineTranscribeSettings' {} a -> s {languageCode = a} :: EngineTranscribeSettings)++instance Prelude.Hashable EngineTranscribeSettings where+  hashWithSalt _salt EngineTranscribeSettings' {..} =+    _salt+      `Prelude.hashWithSalt` contentIdentificationType+      `Prelude.hashWithSalt` contentRedactionType+      `Prelude.hashWithSalt` enablePartialResultsStabilization+      `Prelude.hashWithSalt` languageModelName+      `Prelude.hashWithSalt` partialResultsStability+      `Prelude.hashWithSalt` piiEntityTypes+      `Prelude.hashWithSalt` region+      `Prelude.hashWithSalt` vocabularyFilterMethod+      `Prelude.hashWithSalt` vocabularyFilterName+      `Prelude.hashWithSalt` vocabularyName+      `Prelude.hashWithSalt` languageCode++instance Prelude.NFData EngineTranscribeSettings where+  rnf EngineTranscribeSettings' {..} =+    Prelude.rnf contentIdentificationType+      `Prelude.seq` Prelude.rnf contentRedactionType+      `Prelude.seq` Prelude.rnf enablePartialResultsStabilization+      `Prelude.seq` Prelude.rnf languageModelName+      `Prelude.seq` Prelude.rnf partialResultsStability+      `Prelude.seq` Prelude.rnf piiEntityTypes+      `Prelude.seq` Prelude.rnf region+      `Prelude.seq` Prelude.rnf vocabularyFilterMethod+      `Prelude.seq` Prelude.rnf vocabularyFilterName+      `Prelude.seq` Prelude.rnf vocabularyName+      `Prelude.seq` Prelude.rnf languageCode++instance Data.ToJSON EngineTranscribeSettings where+  toJSON EngineTranscribeSettings' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ContentIdentificationType" Data..=)+              Prelude.<$> contentIdentificationType,+            ("ContentRedactionType" Data..=)+              Prelude.<$> contentRedactionType,+            ("EnablePartialResultsStabilization" Data..=)+              Prelude.<$> enablePartialResultsStabilization,+            ("LanguageModelName" Data..=)+              Prelude.<$> languageModelName,+            ("PartialResultsStability" Data..=)+              Prelude.<$> partialResultsStability,+            ("PiiEntityTypes" Data..=)+              Prelude.<$> piiEntityTypes,+            ("Region" Data..=) Prelude.<$> region,+            ("VocabularyFilterMethod" Data..=)+              Prelude.<$> vocabularyFilterMethod,+            ("VocabularyFilterName" Data..=)+              Prelude.<$> vocabularyFilterName,+            ("VocabularyName" Data..=)+              Prelude.<$> vocabularyName,+            Prelude.Just ("LanguageCode" Data..= languageCode)+          ]+      )
+ gen/Amazonka/Chime/Types/ErrorCode.hs view
@@ -0,0 +1,136 @@+{-# 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.Chime.Types.ErrorCode+-- 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.Chime.Types.ErrorCode+  ( ErrorCode+      ( ..,+        ErrorCode_AccessDenied,+        ErrorCode_BadRequest,+        ErrorCode_Conflict,+        ErrorCode_Forbidden,+        ErrorCode_NotFound,+        ErrorCode_PhoneNumberAssociationsExist,+        ErrorCode_PreconditionFailed,+        ErrorCode_ResourceLimitExceeded,+        ErrorCode_ServiceFailure,+        ErrorCode_ServiceUnavailable,+        ErrorCode_Throttled,+        ErrorCode_Throttling,+        ErrorCode_Unauthorized,+        ErrorCode_Unprocessable,+        ErrorCode_VoiceConnectorGroupAssociationsExist+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ErrorCode = ErrorCode'+  { fromErrorCode ::+      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 ErrorCode_AccessDenied :: ErrorCode+pattern ErrorCode_AccessDenied = ErrorCode' "AccessDenied"++pattern ErrorCode_BadRequest :: ErrorCode+pattern ErrorCode_BadRequest = ErrorCode' "BadRequest"++pattern ErrorCode_Conflict :: ErrorCode+pattern ErrorCode_Conflict = ErrorCode' "Conflict"++pattern ErrorCode_Forbidden :: ErrorCode+pattern ErrorCode_Forbidden = ErrorCode' "Forbidden"++pattern ErrorCode_NotFound :: ErrorCode+pattern ErrorCode_NotFound = ErrorCode' "NotFound"++pattern ErrorCode_PhoneNumberAssociationsExist :: ErrorCode+pattern ErrorCode_PhoneNumberAssociationsExist = ErrorCode' "PhoneNumberAssociationsExist"++pattern ErrorCode_PreconditionFailed :: ErrorCode+pattern ErrorCode_PreconditionFailed = ErrorCode' "PreconditionFailed"++pattern ErrorCode_ResourceLimitExceeded :: ErrorCode+pattern ErrorCode_ResourceLimitExceeded = ErrorCode' "ResourceLimitExceeded"++pattern ErrorCode_ServiceFailure :: ErrorCode+pattern ErrorCode_ServiceFailure = ErrorCode' "ServiceFailure"++pattern ErrorCode_ServiceUnavailable :: ErrorCode+pattern ErrorCode_ServiceUnavailable = ErrorCode' "ServiceUnavailable"++pattern ErrorCode_Throttled :: ErrorCode+pattern ErrorCode_Throttled = ErrorCode' "Throttled"++pattern ErrorCode_Throttling :: ErrorCode+pattern ErrorCode_Throttling = ErrorCode' "Throttling"++pattern ErrorCode_Unauthorized :: ErrorCode+pattern ErrorCode_Unauthorized = ErrorCode' "Unauthorized"++pattern ErrorCode_Unprocessable :: ErrorCode+pattern ErrorCode_Unprocessable = ErrorCode' "Unprocessable"++pattern ErrorCode_VoiceConnectorGroupAssociationsExist :: ErrorCode+pattern ErrorCode_VoiceConnectorGroupAssociationsExist = ErrorCode' "VoiceConnectorGroupAssociationsExist"++{-# COMPLETE+  ErrorCode_AccessDenied,+  ErrorCode_BadRequest,+  ErrorCode_Conflict,+  ErrorCode_Forbidden,+  ErrorCode_NotFound,+  ErrorCode_PhoneNumberAssociationsExist,+  ErrorCode_PreconditionFailed,+  ErrorCode_ResourceLimitExceeded,+  ErrorCode_ServiceFailure,+  ErrorCode_ServiceUnavailable,+  ErrorCode_Throttled,+  ErrorCode_Throttling,+  ErrorCode_Unauthorized,+  ErrorCode_Unprocessable,+  ErrorCode_VoiceConnectorGroupAssociationsExist,+  ErrorCode'+  #-}
+ gen/Amazonka/Chime/Types/EventsConfiguration.hs view
@@ -0,0 +1,97 @@+{-# 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.Chime.Types.EventsConfiguration+-- 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.Chime.Types.EventsConfiguration 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 that allows a bot to receive outgoing events. Can be+-- either an HTTPS endpoint or a Lambda function ARN.+--+-- /See:/ 'newEventsConfiguration' smart constructor.+data EventsConfiguration = EventsConfiguration'+  { -- | The bot ID.+    botId :: Prelude.Maybe Prelude.Text,+    -- | Lambda function ARN that allows a bot to receive outgoing events.+    lambdaFunctionArn :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | HTTPS endpoint that allows a bot to receive outgoing events.+    outboundEventsHTTPSEndpoint :: Prelude.Maybe (Data.Sensitive Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EventsConfiguration' 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:+--+-- 'botId', 'eventsConfiguration_botId' - The bot ID.+--+-- 'lambdaFunctionArn', 'eventsConfiguration_lambdaFunctionArn' - Lambda function ARN that allows a bot to receive outgoing events.+--+-- 'outboundEventsHTTPSEndpoint', 'eventsConfiguration_outboundEventsHTTPSEndpoint' - HTTPS endpoint that allows a bot to receive outgoing events.+newEventsConfiguration ::+  EventsConfiguration+newEventsConfiguration =+  EventsConfiguration'+    { botId = Prelude.Nothing,+      lambdaFunctionArn = Prelude.Nothing,+      outboundEventsHTTPSEndpoint = Prelude.Nothing+    }++-- | The bot ID.+eventsConfiguration_botId :: Lens.Lens' EventsConfiguration (Prelude.Maybe Prelude.Text)+eventsConfiguration_botId = Lens.lens (\EventsConfiguration' {botId} -> botId) (\s@EventsConfiguration' {} a -> s {botId = a} :: EventsConfiguration)++-- | Lambda function ARN that allows a bot to receive outgoing events.+eventsConfiguration_lambdaFunctionArn :: Lens.Lens' EventsConfiguration (Prelude.Maybe Prelude.Text)+eventsConfiguration_lambdaFunctionArn = Lens.lens (\EventsConfiguration' {lambdaFunctionArn} -> lambdaFunctionArn) (\s@EventsConfiguration' {} a -> s {lambdaFunctionArn = a} :: EventsConfiguration) Prelude.. Lens.mapping Data._Sensitive++-- | HTTPS endpoint that allows a bot to receive outgoing events.+eventsConfiguration_outboundEventsHTTPSEndpoint :: Lens.Lens' EventsConfiguration (Prelude.Maybe Prelude.Text)+eventsConfiguration_outboundEventsHTTPSEndpoint = Lens.lens (\EventsConfiguration' {outboundEventsHTTPSEndpoint} -> outboundEventsHTTPSEndpoint) (\s@EventsConfiguration' {} a -> s {outboundEventsHTTPSEndpoint = a} :: EventsConfiguration) Prelude.. Lens.mapping Data._Sensitive++instance Data.FromJSON EventsConfiguration where+  parseJSON =+    Data.withObject+      "EventsConfiguration"+      ( \x ->+          EventsConfiguration'+            Prelude.<$> (x Data..:? "BotId")+            Prelude.<*> (x Data..:? "LambdaFunctionArn")+            Prelude.<*> (x Data..:? "OutboundEventsHTTPSEndpoint")+      )++instance Prelude.Hashable EventsConfiguration where+  hashWithSalt _salt EventsConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` botId+      `Prelude.hashWithSalt` lambdaFunctionArn+      `Prelude.hashWithSalt` outboundEventsHTTPSEndpoint++instance Prelude.NFData EventsConfiguration where+  rnf EventsConfiguration' {..} =+    Prelude.rnf botId+      `Prelude.seq` Prelude.rnf lambdaFunctionArn+      `Prelude.seq` Prelude.rnf outboundEventsHTTPSEndpoint
+ gen/Amazonka/Chime/Types/GeoMatchLevel.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.Chime.Types.GeoMatchLevel+-- 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.Chime.Types.GeoMatchLevel+  ( GeoMatchLevel+      ( ..,+        GeoMatchLevel_AreaCode,+        GeoMatchLevel_Country+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype GeoMatchLevel = GeoMatchLevel'+  { fromGeoMatchLevel ::+      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 GeoMatchLevel_AreaCode :: GeoMatchLevel+pattern GeoMatchLevel_AreaCode = GeoMatchLevel' "AreaCode"++pattern GeoMatchLevel_Country :: GeoMatchLevel+pattern GeoMatchLevel_Country = GeoMatchLevel' "Country"++{-# COMPLETE+  GeoMatchLevel_AreaCode,+  GeoMatchLevel_Country,+  GeoMatchLevel'+  #-}
+ gen/Amazonka/Chime/Types/GeoMatchParams.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.Chime.Types.GeoMatchParams+-- 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.Chime.Types.GeoMatchParams 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 country and area code for a proxy phone number in a proxy phone+-- session.+--+-- /See:/ 'newGeoMatchParams' smart constructor.+data GeoMatchParams = GeoMatchParams'+  { -- | The country.+    country :: Prelude.Text,+    -- | The area code.+    areaCode :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GeoMatchParams' 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:+--+-- 'country', 'geoMatchParams_country' - The country.+--+-- 'areaCode', 'geoMatchParams_areaCode' - The area code.+newGeoMatchParams ::+  -- | 'country'+  Prelude.Text ->+  -- | 'areaCode'+  Prelude.Text ->+  GeoMatchParams+newGeoMatchParams pCountry_ pAreaCode_ =+  GeoMatchParams'+    { country = pCountry_,+      areaCode = pAreaCode_+    }++-- | The country.+geoMatchParams_country :: Lens.Lens' GeoMatchParams Prelude.Text+geoMatchParams_country = Lens.lens (\GeoMatchParams' {country} -> country) (\s@GeoMatchParams' {} a -> s {country = a} :: GeoMatchParams)++-- | The area code.+geoMatchParams_areaCode :: Lens.Lens' GeoMatchParams Prelude.Text+geoMatchParams_areaCode = Lens.lens (\GeoMatchParams' {areaCode} -> areaCode) (\s@GeoMatchParams' {} a -> s {areaCode = a} :: GeoMatchParams)++instance Data.FromJSON GeoMatchParams where+  parseJSON =+    Data.withObject+      "GeoMatchParams"+      ( \x ->+          GeoMatchParams'+            Prelude.<$> (x Data..: "Country")+            Prelude.<*> (x Data..: "AreaCode")+      )++instance Prelude.Hashable GeoMatchParams where+  hashWithSalt _salt GeoMatchParams' {..} =+    _salt+      `Prelude.hashWithSalt` country+      `Prelude.hashWithSalt` areaCode++instance Prelude.NFData GeoMatchParams where+  rnf GeoMatchParams' {..} =+    Prelude.rnf country+      `Prelude.seq` Prelude.rnf areaCode++instance Data.ToJSON GeoMatchParams where+  toJSON GeoMatchParams' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Country" Data..= country),+            Prelude.Just ("AreaCode" Data..= areaCode)+          ]+      )
+ gen/Amazonka/Chime/Types/Identity.hs view
@@ -0,0 +1,83 @@+{-# 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.Chime.Types.Identity+-- 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.Chime.Types.Identity where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The details of a user.+--+-- /See:/ 'newIdentity' smart constructor.+data Identity = Identity'+  { -- | The ARN in an Identity.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The name in an Identity.+    name :: Prelude.Maybe (Data.Sensitive Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Identity' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'identity_arn' - The ARN in an Identity.+--+-- 'name', 'identity_name' - The name in an Identity.+newIdentity ::+  Identity+newIdentity =+  Identity'+    { arn = Prelude.Nothing,+      name = Prelude.Nothing+    }++-- | The ARN in an Identity.+identity_arn :: Lens.Lens' Identity (Prelude.Maybe Prelude.Text)+identity_arn = Lens.lens (\Identity' {arn} -> arn) (\s@Identity' {} a -> s {arn = a} :: Identity)++-- | The name in an Identity.+identity_name :: Lens.Lens' Identity (Prelude.Maybe Prelude.Text)+identity_name = Lens.lens (\Identity' {name} -> name) (\s@Identity' {} a -> s {name = a} :: Identity) Prelude.. Lens.mapping Data._Sensitive++instance Data.FromJSON Identity where+  parseJSON =+    Data.withObject+      "Identity"+      ( \x ->+          Identity'+            Prelude.<$> (x Data..:? "Arn")+            Prelude.<*> (x Data..:? "Name")+      )++instance Prelude.Hashable Identity where+  hashWithSalt _salt Identity' {..} =+    _salt+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` name++instance Prelude.NFData Identity where+  rnf Identity' {..} =+    Prelude.rnf arn `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/Chime/Types/Invite.hs view
@@ -0,0 +1,111 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Chime.Types.Invite+-- 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.Chime.Types.Invite where++import Amazonka.Chime.Types.EmailStatus+import Amazonka.Chime.Types.InviteStatus+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++-- | Invitation object returned after emailing users to invite them to join+-- the Amazon Chime @Team@ account.+--+-- /See:/ 'newInvite' smart constructor.+data Invite = Invite'+  { -- | The email address to which the invite is sent.+    emailAddress :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The status of the invite email.+    emailStatus :: Prelude.Maybe EmailStatus,+    -- | The invite ID.+    inviteId :: Prelude.Maybe Prelude.Text,+    -- | The status of the invite.+    status :: Prelude.Maybe InviteStatus+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Invite' 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:+--+-- 'emailAddress', 'invite_emailAddress' - The email address to which the invite is sent.+--+-- 'emailStatus', 'invite_emailStatus' - The status of the invite email.+--+-- 'inviteId', 'invite_inviteId' - The invite ID.+--+-- 'status', 'invite_status' - The status of the invite.+newInvite ::+  Invite+newInvite =+  Invite'+    { emailAddress = Prelude.Nothing,+      emailStatus = Prelude.Nothing,+      inviteId = Prelude.Nothing,+      status = Prelude.Nothing+    }++-- | The email address to which the invite is sent.+invite_emailAddress :: Lens.Lens' Invite (Prelude.Maybe Prelude.Text)+invite_emailAddress = Lens.lens (\Invite' {emailAddress} -> emailAddress) (\s@Invite' {} a -> s {emailAddress = a} :: Invite) Prelude.. Lens.mapping Data._Sensitive++-- | The status of the invite email.+invite_emailStatus :: Lens.Lens' Invite (Prelude.Maybe EmailStatus)+invite_emailStatus = Lens.lens (\Invite' {emailStatus} -> emailStatus) (\s@Invite' {} a -> s {emailStatus = a} :: Invite)++-- | The invite ID.+invite_inviteId :: Lens.Lens' Invite (Prelude.Maybe Prelude.Text)+invite_inviteId = Lens.lens (\Invite' {inviteId} -> inviteId) (\s@Invite' {} a -> s {inviteId = a} :: Invite)++-- | The status of the invite.+invite_status :: Lens.Lens' Invite (Prelude.Maybe InviteStatus)+invite_status = Lens.lens (\Invite' {status} -> status) (\s@Invite' {} a -> s {status = a} :: Invite)++instance Data.FromJSON Invite where+  parseJSON =+    Data.withObject+      "Invite"+      ( \x ->+          Invite'+            Prelude.<$> (x Data..:? "EmailAddress")+            Prelude.<*> (x Data..:? "EmailStatus")+            Prelude.<*> (x Data..:? "InviteId")+            Prelude.<*> (x Data..:? "Status")+      )++instance Prelude.Hashable Invite where+  hashWithSalt _salt Invite' {..} =+    _salt+      `Prelude.hashWithSalt` emailAddress+      `Prelude.hashWithSalt` emailStatus+      `Prelude.hashWithSalt` inviteId+      `Prelude.hashWithSalt` status++instance Prelude.NFData Invite where+  rnf Invite' {..} =+    Prelude.rnf emailAddress+      `Prelude.seq` Prelude.rnf emailStatus+      `Prelude.seq` Prelude.rnf inviteId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/Chime/Types/InviteStatus.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.Chime.Types.InviteStatus+-- 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.Chime.Types.InviteStatus+  ( InviteStatus+      ( ..,+        InviteStatus_Accepted,+        InviteStatus_Failed,+        InviteStatus_Pending+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype InviteStatus = InviteStatus'+  { fromInviteStatus ::+      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 InviteStatus_Accepted :: InviteStatus+pattern InviteStatus_Accepted = InviteStatus' "Accepted"++pattern InviteStatus_Failed :: InviteStatus+pattern InviteStatus_Failed = InviteStatus' "Failed"++pattern InviteStatus_Pending :: InviteStatus+pattern InviteStatus_Pending = InviteStatus' "Pending"++{-# COMPLETE+  InviteStatus_Accepted,+  InviteStatus_Failed,+  InviteStatus_Pending,+  InviteStatus'+  #-}
+ gen/Amazonka/Chime/Types/License.hs view
@@ -0,0 +1,78 @@+{-# 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.Chime.Types.License+-- 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.Chime.Types.License+  ( License+      ( ..,+        License_Basic,+        License_Plus,+        License_Pro,+        License_ProTrial+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype License = License' {fromLicense :: 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 License_Basic :: License+pattern License_Basic = License' "Basic"++pattern License_Plus :: License+pattern License_Plus = License' "Plus"++pattern License_Pro :: License+pattern License_Pro = License' "Pro"++pattern License_ProTrial :: License+pattern License_ProTrial = License' "ProTrial"++{-# COMPLETE+  License_Basic,+  License_Plus,+  License_Pro,+  License_ProTrial,+  License'+  #-}
+ gen/Amazonka/Chime/Types/LoggingConfiguration.hs view
@@ -0,0 +1,103 @@+{-# 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.Chime.Types.LoggingConfiguration+-- 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.Chime.Types.LoggingConfiguration 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 logging configuration associated with an Amazon Chime Voice+-- Connector. Specifies whether SIP message logs are enabled for sending to+-- Amazon CloudWatch Logs.+--+-- /See:/ 'newLoggingConfiguration' smart constructor.+data LoggingConfiguration = LoggingConfiguration'+  { -- | Boolean that enables the logging of Voice Connector metrics to+    -- Cloudwatch.+    enableMediaMetricLogs :: Prelude.Maybe Prelude.Bool,+    -- | When true, enables SIP message logs for sending to Amazon CloudWatch+    -- Logs.+    enableSIPLogs :: Prelude.Maybe Prelude.Bool+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LoggingConfiguration' 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:+--+-- 'enableMediaMetricLogs', 'loggingConfiguration_enableMediaMetricLogs' - Boolean that enables the logging of Voice Connector metrics to+-- Cloudwatch.+--+-- 'enableSIPLogs', 'loggingConfiguration_enableSIPLogs' - When true, enables SIP message logs for sending to Amazon CloudWatch+-- Logs.+newLoggingConfiguration ::+  LoggingConfiguration+newLoggingConfiguration =+  LoggingConfiguration'+    { enableMediaMetricLogs =+        Prelude.Nothing,+      enableSIPLogs = Prelude.Nothing+    }++-- | Boolean that enables the logging of Voice Connector metrics to+-- Cloudwatch.+loggingConfiguration_enableMediaMetricLogs :: Lens.Lens' LoggingConfiguration (Prelude.Maybe Prelude.Bool)+loggingConfiguration_enableMediaMetricLogs = Lens.lens (\LoggingConfiguration' {enableMediaMetricLogs} -> enableMediaMetricLogs) (\s@LoggingConfiguration' {} a -> s {enableMediaMetricLogs = a} :: LoggingConfiguration)++-- | When true, enables SIP message logs for sending to Amazon CloudWatch+-- Logs.+loggingConfiguration_enableSIPLogs :: Lens.Lens' LoggingConfiguration (Prelude.Maybe Prelude.Bool)+loggingConfiguration_enableSIPLogs = Lens.lens (\LoggingConfiguration' {enableSIPLogs} -> enableSIPLogs) (\s@LoggingConfiguration' {} a -> s {enableSIPLogs = a} :: LoggingConfiguration)++instance Data.FromJSON LoggingConfiguration where+  parseJSON =+    Data.withObject+      "LoggingConfiguration"+      ( \x ->+          LoggingConfiguration'+            Prelude.<$> (x Data..:? "EnableMediaMetricLogs")+            Prelude.<*> (x Data..:? "EnableSIPLogs")+      )++instance Prelude.Hashable LoggingConfiguration where+  hashWithSalt _salt LoggingConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` enableMediaMetricLogs+      `Prelude.hashWithSalt` enableSIPLogs++instance Prelude.NFData LoggingConfiguration where+  rnf LoggingConfiguration' {..} =+    Prelude.rnf enableMediaMetricLogs+      `Prelude.seq` Prelude.rnf enableSIPLogs++instance Data.ToJSON LoggingConfiguration where+  toJSON LoggingConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("EnableMediaMetricLogs" Data..=)+              Prelude.<$> enableMediaMetricLogs,+            ("EnableSIPLogs" Data..=) Prelude.<$> enableSIPLogs+          ]+      )
+ gen/Amazonka/Chime/Types/MediaCapturePipeline.hs view
@@ -0,0 +1,183 @@+{-# 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.Chime.Types.MediaCapturePipeline+-- 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.Chime.Types.MediaCapturePipeline where++import Amazonka.Chime.Types.ChimeSdkMeetingConfiguration+import Amazonka.Chime.Types.MediaPipelineSinkType+import Amazonka.Chime.Types.MediaPipelineSourceType+import Amazonka.Chime.Types.MediaPipelineStatus+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 media capture pipeline object consisting of an ID, source type, source+-- ARN, a sink type, a sink ARN, and a configuration object.+--+-- /See:/ 'newMediaCapturePipeline' smart constructor.+data MediaCapturePipeline = MediaCapturePipeline'+  { -- | The configuration for a specified media capture pipeline. @SourceType@+    -- must be @ChimeSdkMeeting@.+    chimeSdkMeetingConfiguration :: Prelude.Maybe ChimeSdkMeetingConfiguration,+    -- | The time at which the capture pipeline was created, in ISO 8601 format.+    createdTimestamp :: Prelude.Maybe Data.ISO8601,+    -- | The ID of a media capture pipeline.+    mediaPipelineId :: Prelude.Maybe Prelude.Text,+    -- | ARN of the destination to which the media artifacts are saved.+    sinkArn :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | Destination type to which the media artifacts are saved. You must use an+    -- S3 Bucket.+    sinkType :: Prelude.Maybe MediaPipelineSinkType,+    -- | ARN of the source from which the media artifacts will be saved.+    sourceArn :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | Source type from which media artifacts are saved. You must use+    -- @ChimeMeeting@.+    sourceType :: Prelude.Maybe MediaPipelineSourceType,+    -- | The status of the media capture pipeline.+    status :: Prelude.Maybe MediaPipelineStatus,+    -- | The time at which the capture pipeline was updated, in ISO 8601 format.+    updatedTimestamp :: Prelude.Maybe Data.ISO8601+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MediaCapturePipeline' 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:+--+-- 'chimeSdkMeetingConfiguration', 'mediaCapturePipeline_chimeSdkMeetingConfiguration' - The configuration for a specified media capture pipeline. @SourceType@+-- must be @ChimeSdkMeeting@.+--+-- 'createdTimestamp', 'mediaCapturePipeline_createdTimestamp' - The time at which the capture pipeline was created, in ISO 8601 format.+--+-- 'mediaPipelineId', 'mediaCapturePipeline_mediaPipelineId' - The ID of a media capture pipeline.+--+-- 'sinkArn', 'mediaCapturePipeline_sinkArn' - ARN of the destination to which the media artifacts are saved.+--+-- 'sinkType', 'mediaCapturePipeline_sinkType' - Destination type to which the media artifacts are saved. You must use an+-- S3 Bucket.+--+-- 'sourceArn', 'mediaCapturePipeline_sourceArn' - ARN of the source from which the media artifacts will be saved.+--+-- 'sourceType', 'mediaCapturePipeline_sourceType' - Source type from which media artifacts are saved. You must use+-- @ChimeMeeting@.+--+-- 'status', 'mediaCapturePipeline_status' - The status of the media capture pipeline.+--+-- 'updatedTimestamp', 'mediaCapturePipeline_updatedTimestamp' - The time at which the capture pipeline was updated, in ISO 8601 format.+newMediaCapturePipeline ::+  MediaCapturePipeline+newMediaCapturePipeline =+  MediaCapturePipeline'+    { chimeSdkMeetingConfiguration =+        Prelude.Nothing,+      createdTimestamp = Prelude.Nothing,+      mediaPipelineId = Prelude.Nothing,+      sinkArn = Prelude.Nothing,+      sinkType = Prelude.Nothing,+      sourceArn = Prelude.Nothing,+      sourceType = Prelude.Nothing,+      status = Prelude.Nothing,+      updatedTimestamp = Prelude.Nothing+    }++-- | The configuration for a specified media capture pipeline. @SourceType@+-- must be @ChimeSdkMeeting@.+mediaCapturePipeline_chimeSdkMeetingConfiguration :: Lens.Lens' MediaCapturePipeline (Prelude.Maybe ChimeSdkMeetingConfiguration)+mediaCapturePipeline_chimeSdkMeetingConfiguration = Lens.lens (\MediaCapturePipeline' {chimeSdkMeetingConfiguration} -> chimeSdkMeetingConfiguration) (\s@MediaCapturePipeline' {} a -> s {chimeSdkMeetingConfiguration = a} :: MediaCapturePipeline)++-- | The time at which the capture pipeline was created, in ISO 8601 format.+mediaCapturePipeline_createdTimestamp :: Lens.Lens' MediaCapturePipeline (Prelude.Maybe Prelude.UTCTime)+mediaCapturePipeline_createdTimestamp = Lens.lens (\MediaCapturePipeline' {createdTimestamp} -> createdTimestamp) (\s@MediaCapturePipeline' {} a -> s {createdTimestamp = a} :: MediaCapturePipeline) Prelude.. Lens.mapping Data._Time++-- | The ID of a media capture pipeline.+mediaCapturePipeline_mediaPipelineId :: Lens.Lens' MediaCapturePipeline (Prelude.Maybe Prelude.Text)+mediaCapturePipeline_mediaPipelineId = Lens.lens (\MediaCapturePipeline' {mediaPipelineId} -> mediaPipelineId) (\s@MediaCapturePipeline' {} a -> s {mediaPipelineId = a} :: MediaCapturePipeline)++-- | ARN of the destination to which the media artifacts are saved.+mediaCapturePipeline_sinkArn :: Lens.Lens' MediaCapturePipeline (Prelude.Maybe Prelude.Text)+mediaCapturePipeline_sinkArn = Lens.lens (\MediaCapturePipeline' {sinkArn} -> sinkArn) (\s@MediaCapturePipeline' {} a -> s {sinkArn = a} :: MediaCapturePipeline) Prelude.. Lens.mapping Data._Sensitive++-- | Destination type to which the media artifacts are saved. You must use an+-- S3 Bucket.+mediaCapturePipeline_sinkType :: Lens.Lens' MediaCapturePipeline (Prelude.Maybe MediaPipelineSinkType)+mediaCapturePipeline_sinkType = Lens.lens (\MediaCapturePipeline' {sinkType} -> sinkType) (\s@MediaCapturePipeline' {} a -> s {sinkType = a} :: MediaCapturePipeline)++-- | ARN of the source from which the media artifacts will be saved.+mediaCapturePipeline_sourceArn :: Lens.Lens' MediaCapturePipeline (Prelude.Maybe Prelude.Text)+mediaCapturePipeline_sourceArn = Lens.lens (\MediaCapturePipeline' {sourceArn} -> sourceArn) (\s@MediaCapturePipeline' {} a -> s {sourceArn = a} :: MediaCapturePipeline) Prelude.. Lens.mapping Data._Sensitive++-- | Source type from which media artifacts are saved. You must use+-- @ChimeMeeting@.+mediaCapturePipeline_sourceType :: Lens.Lens' MediaCapturePipeline (Prelude.Maybe MediaPipelineSourceType)+mediaCapturePipeline_sourceType = Lens.lens (\MediaCapturePipeline' {sourceType} -> sourceType) (\s@MediaCapturePipeline' {} a -> s {sourceType = a} :: MediaCapturePipeline)++-- | The status of the media capture pipeline.+mediaCapturePipeline_status :: Lens.Lens' MediaCapturePipeline (Prelude.Maybe MediaPipelineStatus)+mediaCapturePipeline_status = Lens.lens (\MediaCapturePipeline' {status} -> status) (\s@MediaCapturePipeline' {} a -> s {status = a} :: MediaCapturePipeline)++-- | The time at which the capture pipeline was updated, in ISO 8601 format.+mediaCapturePipeline_updatedTimestamp :: Lens.Lens' MediaCapturePipeline (Prelude.Maybe Prelude.UTCTime)+mediaCapturePipeline_updatedTimestamp = Lens.lens (\MediaCapturePipeline' {updatedTimestamp} -> updatedTimestamp) (\s@MediaCapturePipeline' {} a -> s {updatedTimestamp = a} :: MediaCapturePipeline) Prelude.. Lens.mapping Data._Time++instance Data.FromJSON MediaCapturePipeline where+  parseJSON =+    Data.withObject+      "MediaCapturePipeline"+      ( \x ->+          MediaCapturePipeline'+            Prelude.<$> (x Data..:? "ChimeSdkMeetingConfiguration")+            Prelude.<*> (x Data..:? "CreatedTimestamp")+            Prelude.<*> (x Data..:? "MediaPipelineId")+            Prelude.<*> (x Data..:? "SinkArn")+            Prelude.<*> (x Data..:? "SinkType")+            Prelude.<*> (x Data..:? "SourceArn")+            Prelude.<*> (x Data..:? "SourceType")+            Prelude.<*> (x Data..:? "Status")+            Prelude.<*> (x Data..:? "UpdatedTimestamp")+      )++instance Prelude.Hashable MediaCapturePipeline where+  hashWithSalt _salt MediaCapturePipeline' {..} =+    _salt+      `Prelude.hashWithSalt` chimeSdkMeetingConfiguration+      `Prelude.hashWithSalt` createdTimestamp+      `Prelude.hashWithSalt` mediaPipelineId+      `Prelude.hashWithSalt` sinkArn+      `Prelude.hashWithSalt` sinkType+      `Prelude.hashWithSalt` sourceArn+      `Prelude.hashWithSalt` sourceType+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` updatedTimestamp++instance Prelude.NFData MediaCapturePipeline where+  rnf MediaCapturePipeline' {..} =+    Prelude.rnf chimeSdkMeetingConfiguration+      `Prelude.seq` Prelude.rnf createdTimestamp+      `Prelude.seq` Prelude.rnf mediaPipelineId+      `Prelude.seq` Prelude.rnf sinkArn+      `Prelude.seq` Prelude.rnf sinkType+      `Prelude.seq` Prelude.rnf sourceArn+      `Prelude.seq` Prelude.rnf sourceType+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf updatedTimestamp
+ gen/Amazonka/Chime/Types/MediaPipelineSinkType.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.Chime.Types.MediaPipelineSinkType+-- 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.Chime.Types.MediaPipelineSinkType+  ( MediaPipelineSinkType+      ( ..,+        MediaPipelineSinkType_S3Bucket+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype MediaPipelineSinkType = MediaPipelineSinkType'+  { fromMediaPipelineSinkType ::+      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 MediaPipelineSinkType_S3Bucket :: MediaPipelineSinkType+pattern MediaPipelineSinkType_S3Bucket = MediaPipelineSinkType' "S3Bucket"++{-# COMPLETE+  MediaPipelineSinkType_S3Bucket,+  MediaPipelineSinkType'+  #-}
+ gen/Amazonka/Chime/Types/MediaPipelineSourceType.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.Chime.Types.MediaPipelineSourceType+-- 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.Chime.Types.MediaPipelineSourceType+  ( MediaPipelineSourceType+      ( ..,+        MediaPipelineSourceType_ChimeSdkMeeting+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype MediaPipelineSourceType = MediaPipelineSourceType'+  { fromMediaPipelineSourceType ::+      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 MediaPipelineSourceType_ChimeSdkMeeting :: MediaPipelineSourceType+pattern MediaPipelineSourceType_ChimeSdkMeeting = MediaPipelineSourceType' "ChimeSdkMeeting"++{-# COMPLETE+  MediaPipelineSourceType_ChimeSdkMeeting,+  MediaPipelineSourceType'+  #-}
+ gen/Amazonka/Chime/Types/MediaPipelineStatus.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Chime.Types.MediaPipelineStatus+-- 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.Chime.Types.MediaPipelineStatus+  ( MediaPipelineStatus+      ( ..,+        MediaPipelineStatus_Failed,+        MediaPipelineStatus_InProgress,+        MediaPipelineStatus_Initializing,+        MediaPipelineStatus_Stopped,+        MediaPipelineStatus_Stopping+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype MediaPipelineStatus = MediaPipelineStatus'+  { fromMediaPipelineStatus ::+      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 MediaPipelineStatus_Failed :: MediaPipelineStatus+pattern MediaPipelineStatus_Failed = MediaPipelineStatus' "Failed"++pattern MediaPipelineStatus_InProgress :: MediaPipelineStatus+pattern MediaPipelineStatus_InProgress = MediaPipelineStatus' "InProgress"++pattern MediaPipelineStatus_Initializing :: MediaPipelineStatus+pattern MediaPipelineStatus_Initializing = MediaPipelineStatus' "Initializing"++pattern MediaPipelineStatus_Stopped :: MediaPipelineStatus+pattern MediaPipelineStatus_Stopped = MediaPipelineStatus' "Stopped"++pattern MediaPipelineStatus_Stopping :: MediaPipelineStatus+pattern MediaPipelineStatus_Stopping = MediaPipelineStatus' "Stopping"++{-# COMPLETE+  MediaPipelineStatus_Failed,+  MediaPipelineStatus_InProgress,+  MediaPipelineStatus_Initializing,+  MediaPipelineStatus_Stopped,+  MediaPipelineStatus_Stopping,+  MediaPipelineStatus'+  #-}
+ gen/Amazonka/Chime/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.Chime.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.Chime.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 to which you send client meeting events.+    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 to which you send client meeting events.+--+-- '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 to which you send client meeting events.+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/Chime/Types/Meeting.hs view
@@ -0,0 +1,121 @@+{-# 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.Chime.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.Chime.Types.Meeting where++import Amazonka.Chime.Types.MediaPlacement+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@.+    mediaRegion :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Chime SDK meeting ID.+    meetingId :: Prelude.Maybe 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@.+--+-- 'meetingId', 'meeting_meetingId' - The Amazon Chime SDK meeting ID.+newMeeting ::+  Meeting+newMeeting =+  Meeting'+    { externalMeetingId = Prelude.Nothing,+      mediaPlacement = Prelude.Nothing,+      mediaRegion = Prelude.Nothing,+      meetingId = 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@.+meeting_mediaRegion :: Lens.Lens' Meeting (Prelude.Maybe Prelude.Text)+meeting_mediaRegion = Lens.lens (\Meeting' {mediaRegion} -> mediaRegion) (\s@Meeting' {} a -> s {mediaRegion = a} :: Meeting)++-- | 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)++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..:? "MeetingId")+      )++instance Prelude.Hashable Meeting where+  hashWithSalt _salt Meeting' {..} =+    _salt+      `Prelude.hashWithSalt` externalMeetingId+      `Prelude.hashWithSalt` mediaPlacement+      `Prelude.hashWithSalt` mediaRegion+      `Prelude.hashWithSalt` meetingId++instance Prelude.NFData Meeting where+  rnf Meeting' {..} =+    Prelude.rnf externalMeetingId+      `Prelude.seq` Prelude.rnf mediaPlacement+      `Prelude.seq` Prelude.rnf mediaRegion+      `Prelude.seq` Prelude.rnf meetingId
+ gen/Amazonka/Chime/Types/MeetingNotificationConfiguration.hs view
@@ -0,0 +1,95 @@+{-# 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.Chime.Types.MeetingNotificationConfiguration+-- 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.Chime.Types.MeetingNotificationConfiguration 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 resource target configurations for receiving Amazon Chime SDK+-- meeting and attendee event notifications. The Amazon Chime SDK supports+-- resource targets located in the US East (N. Virginia) AWS Region+-- (@us-east-1@).+--+-- /See:/ 'newMeetingNotificationConfiguration' smart constructor.+data MeetingNotificationConfiguration = MeetingNotificationConfiguration'+  { -- | The SNS topic ARN.+    snsTopicArn :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The SQS queue ARN.+    sqsQueueArn :: Prelude.Maybe (Data.Sensitive Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MeetingNotificationConfiguration' 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:+--+-- 'snsTopicArn', 'meetingNotificationConfiguration_snsTopicArn' - The SNS topic ARN.+--+-- 'sqsQueueArn', 'meetingNotificationConfiguration_sqsQueueArn' - The SQS queue ARN.+newMeetingNotificationConfiguration ::+  MeetingNotificationConfiguration+newMeetingNotificationConfiguration =+  MeetingNotificationConfiguration'+    { snsTopicArn =+        Prelude.Nothing,+      sqsQueueArn = Prelude.Nothing+    }++-- | The SNS topic ARN.+meetingNotificationConfiguration_snsTopicArn :: Lens.Lens' MeetingNotificationConfiguration (Prelude.Maybe Prelude.Text)+meetingNotificationConfiguration_snsTopicArn = Lens.lens (\MeetingNotificationConfiguration' {snsTopicArn} -> snsTopicArn) (\s@MeetingNotificationConfiguration' {} a -> s {snsTopicArn = a} :: MeetingNotificationConfiguration) Prelude.. Lens.mapping Data._Sensitive++-- | The SQS queue ARN.+meetingNotificationConfiguration_sqsQueueArn :: Lens.Lens' MeetingNotificationConfiguration (Prelude.Maybe Prelude.Text)+meetingNotificationConfiguration_sqsQueueArn = Lens.lens (\MeetingNotificationConfiguration' {sqsQueueArn} -> sqsQueueArn) (\s@MeetingNotificationConfiguration' {} a -> s {sqsQueueArn = a} :: MeetingNotificationConfiguration) Prelude.. Lens.mapping Data._Sensitive++instance+  Prelude.Hashable+    MeetingNotificationConfiguration+  where+  hashWithSalt+    _salt+    MeetingNotificationConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` snsTopicArn+        `Prelude.hashWithSalt` sqsQueueArn++instance+  Prelude.NFData+    MeetingNotificationConfiguration+  where+  rnf MeetingNotificationConfiguration' {..} =+    Prelude.rnf snsTopicArn+      `Prelude.seq` Prelude.rnf sqsQueueArn++instance Data.ToJSON MeetingNotificationConfiguration where+  toJSON MeetingNotificationConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("SnsTopicArn" Data..=) Prelude.<$> snsTopicArn,+            ("SqsQueueArn" Data..=) Prelude.<$> sqsQueueArn+          ]+      )
+ gen/Amazonka/Chime/Types/Member.hs view
@@ -0,0 +1,122 @@+{-# 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.Chime.Types.Member+-- 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.Chime.Types.Member where++import Amazonka.Chime.Types.MemberType+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 member details, such as email address, name, member ID, and member+-- type.+--+-- /See:/ 'newMember' smart constructor.+data Member = Member'+  { -- | The Amazon Chime account ID.+    accountId :: Prelude.Maybe Prelude.Text,+    -- | The member email address.+    email :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The member name.+    fullName :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The member ID (user ID or bot ID).+    memberId :: Prelude.Maybe Prelude.Text,+    -- | The member type.+    memberType :: Prelude.Maybe MemberType+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Member' 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:+--+-- 'accountId', 'member_accountId' - The Amazon Chime account ID.+--+-- 'email', 'member_email' - The member email address.+--+-- 'fullName', 'member_fullName' - The member name.+--+-- 'memberId', 'member_memberId' - The member ID (user ID or bot ID).+--+-- 'memberType', 'member_memberType' - The member type.+newMember ::+  Member+newMember =+  Member'+    { accountId = Prelude.Nothing,+      email = Prelude.Nothing,+      fullName = Prelude.Nothing,+      memberId = Prelude.Nothing,+      memberType = Prelude.Nothing+    }++-- | The Amazon Chime account ID.+member_accountId :: Lens.Lens' Member (Prelude.Maybe Prelude.Text)+member_accountId = Lens.lens (\Member' {accountId} -> accountId) (\s@Member' {} a -> s {accountId = a} :: Member)++-- | The member email address.+member_email :: Lens.Lens' Member (Prelude.Maybe Prelude.Text)+member_email = Lens.lens (\Member' {email} -> email) (\s@Member' {} a -> s {email = a} :: Member) Prelude.. Lens.mapping Data._Sensitive++-- | The member name.+member_fullName :: Lens.Lens' Member (Prelude.Maybe Prelude.Text)+member_fullName = Lens.lens (\Member' {fullName} -> fullName) (\s@Member' {} a -> s {fullName = a} :: Member) Prelude.. Lens.mapping Data._Sensitive++-- | The member ID (user ID or bot ID).+member_memberId :: Lens.Lens' Member (Prelude.Maybe Prelude.Text)+member_memberId = Lens.lens (\Member' {memberId} -> memberId) (\s@Member' {} a -> s {memberId = a} :: Member)++-- | The member type.+member_memberType :: Lens.Lens' Member (Prelude.Maybe MemberType)+member_memberType = Lens.lens (\Member' {memberType} -> memberType) (\s@Member' {} a -> s {memberType = a} :: Member)++instance Data.FromJSON Member where+  parseJSON =+    Data.withObject+      "Member"+      ( \x ->+          Member'+            Prelude.<$> (x Data..:? "AccountId")+            Prelude.<*> (x Data..:? "Email")+            Prelude.<*> (x Data..:? "FullName")+            Prelude.<*> (x Data..:? "MemberId")+            Prelude.<*> (x Data..:? "MemberType")+      )++instance Prelude.Hashable Member where+  hashWithSalt _salt Member' {..} =+    _salt+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` email+      `Prelude.hashWithSalt` fullName+      `Prelude.hashWithSalt` memberId+      `Prelude.hashWithSalt` memberType++instance Prelude.NFData Member where+  rnf Member' {..} =+    Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf email+      `Prelude.seq` Prelude.rnf fullName+      `Prelude.seq` Prelude.rnf memberId+      `Prelude.seq` Prelude.rnf memberType
+ gen/Amazonka/Chime/Types/MemberError.hs view
@@ -0,0 +1,97 @@+{-# 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.Chime.Types.MemberError+-- 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.Chime.Types.MemberError where++import Amazonka.Chime.Types.ErrorCode+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 a member action results in an error.+--+-- /See:/ 'newMemberError' smart constructor.+data MemberError = MemberError'+  { -- | The error code.+    errorCode :: Prelude.Maybe ErrorCode,+    -- | The error message.+    errorMessage :: Prelude.Maybe Prelude.Text,+    -- | The member ID.+    memberId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MemberError' 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', 'memberError_errorCode' - The error code.+--+-- 'errorMessage', 'memberError_errorMessage' - The error message.+--+-- 'memberId', 'memberError_memberId' - The member ID.+newMemberError ::+  MemberError+newMemberError =+  MemberError'+    { errorCode = Prelude.Nothing,+      errorMessage = Prelude.Nothing,+      memberId = Prelude.Nothing+    }++-- | The error code.+memberError_errorCode :: Lens.Lens' MemberError (Prelude.Maybe ErrorCode)+memberError_errorCode = Lens.lens (\MemberError' {errorCode} -> errorCode) (\s@MemberError' {} a -> s {errorCode = a} :: MemberError)++-- | The error message.+memberError_errorMessage :: Lens.Lens' MemberError (Prelude.Maybe Prelude.Text)+memberError_errorMessage = Lens.lens (\MemberError' {errorMessage} -> errorMessage) (\s@MemberError' {} a -> s {errorMessage = a} :: MemberError)++-- | The member ID.+memberError_memberId :: Lens.Lens' MemberError (Prelude.Maybe Prelude.Text)+memberError_memberId = Lens.lens (\MemberError' {memberId} -> memberId) (\s@MemberError' {} a -> s {memberId = a} :: MemberError)++instance Data.FromJSON MemberError where+  parseJSON =+    Data.withObject+      "MemberError"+      ( \x ->+          MemberError'+            Prelude.<$> (x Data..:? "ErrorCode")+            Prelude.<*> (x Data..:? "ErrorMessage")+            Prelude.<*> (x Data..:? "MemberId")+      )++instance Prelude.Hashable MemberError where+  hashWithSalt _salt MemberError' {..} =+    _salt+      `Prelude.hashWithSalt` errorCode+      `Prelude.hashWithSalt` errorMessage+      `Prelude.hashWithSalt` memberId++instance Prelude.NFData MemberError where+  rnf MemberError' {..} =+    Prelude.rnf errorCode+      `Prelude.seq` Prelude.rnf errorMessage+      `Prelude.seq` Prelude.rnf memberId
+ gen/Amazonka/Chime/Types/MemberType.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.Chime.Types.MemberType+-- 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.Chime.Types.MemberType+  ( MemberType+      ( ..,+        MemberType_Bot,+        MemberType_User,+        MemberType_Webhook+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype MemberType = MemberType'+  { fromMemberType ::+      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 MemberType_Bot :: MemberType+pattern MemberType_Bot = MemberType' "Bot"++pattern MemberType_User :: MemberType+pattern MemberType_User = MemberType' "User"++pattern MemberType_Webhook :: MemberType+pattern MemberType_Webhook = MemberType' "Webhook"++{-# COMPLETE+  MemberType_Bot,+  MemberType_User,+  MemberType_Webhook,+  MemberType'+  #-}
+ gen/Amazonka/Chime/Types/MembershipItem.hs view
@@ -0,0 +1,84 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Chime.Types.MembershipItem+-- 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.Chime.Types.MembershipItem where++import Amazonka.Chime.Types.RoomMembershipRole+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++-- | Membership details, such as member ID and member role.+--+-- /See:/ 'newMembershipItem' smart constructor.+data MembershipItem = MembershipItem'+  { -- | The member ID.+    memberId :: Prelude.Maybe Prelude.Text,+    -- | The member role.+    role' :: Prelude.Maybe RoomMembershipRole+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MembershipItem' 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:+--+-- 'memberId', 'membershipItem_memberId' - The member ID.+--+-- 'role'', 'membershipItem_role' - The member role.+newMembershipItem ::+  MembershipItem+newMembershipItem =+  MembershipItem'+    { memberId = Prelude.Nothing,+      role' = Prelude.Nothing+    }++-- | The member ID.+membershipItem_memberId :: Lens.Lens' MembershipItem (Prelude.Maybe Prelude.Text)+membershipItem_memberId = Lens.lens (\MembershipItem' {memberId} -> memberId) (\s@MembershipItem' {} a -> s {memberId = a} :: MembershipItem)++-- | The member role.+membershipItem_role :: Lens.Lens' MembershipItem (Prelude.Maybe RoomMembershipRole)+membershipItem_role = Lens.lens (\MembershipItem' {role'} -> role') (\s@MembershipItem' {} a -> s {role' = a} :: MembershipItem)++instance Prelude.Hashable MembershipItem where+  hashWithSalt _salt MembershipItem' {..} =+    _salt+      `Prelude.hashWithSalt` memberId+      `Prelude.hashWithSalt` role'++instance Prelude.NFData MembershipItem where+  rnf MembershipItem' {..} =+    Prelude.rnf memberId+      `Prelude.seq` Prelude.rnf role'++instance Data.ToJSON MembershipItem where+  toJSON MembershipItem' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MemberId" Data..=) Prelude.<$> memberId,+            ("Role" Data..=) Prelude.<$> role'+          ]+      )
+ gen/Amazonka/Chime/Types/MessagingSessionEndpoint.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.Chime.Types.MessagingSessionEndpoint+-- 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.Chime.Types.MessagingSessionEndpoint 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 websocket endpoint used to connect to Amazon Chime SDK messaging.+--+-- /See:/ 'newMessagingSessionEndpoint' smart constructor.+data MessagingSessionEndpoint = MessagingSessionEndpoint'+  { -- | The endpoint to which you establish a websocket connection.+    url :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MessagingSessionEndpoint' 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:+--+-- 'url', 'messagingSessionEndpoint_url' - The endpoint to which you establish a websocket connection.+newMessagingSessionEndpoint ::+  MessagingSessionEndpoint+newMessagingSessionEndpoint =+  MessagingSessionEndpoint' {url = Prelude.Nothing}++-- | The endpoint to which you establish a websocket connection.+messagingSessionEndpoint_url :: Lens.Lens' MessagingSessionEndpoint (Prelude.Maybe Prelude.Text)+messagingSessionEndpoint_url = Lens.lens (\MessagingSessionEndpoint' {url} -> url) (\s@MessagingSessionEndpoint' {} a -> s {url = a} :: MessagingSessionEndpoint)++instance Data.FromJSON MessagingSessionEndpoint where+  parseJSON =+    Data.withObject+      "MessagingSessionEndpoint"+      ( \x ->+          MessagingSessionEndpoint'+            Prelude.<$> (x Data..:? "Url")+      )++instance Prelude.Hashable MessagingSessionEndpoint where+  hashWithSalt _salt MessagingSessionEndpoint' {..} =+    _salt `Prelude.hashWithSalt` url++instance Prelude.NFData MessagingSessionEndpoint where+  rnf MessagingSessionEndpoint' {..} = Prelude.rnf url
+ gen/Amazonka/Chime/Types/NotificationTarget.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.Chime.Types.NotificationTarget+-- 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.Chime.Types.NotificationTarget+  ( NotificationTarget+      ( ..,+        NotificationTarget_EventBridge,+        NotificationTarget_SNS,+        NotificationTarget_SQS+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype NotificationTarget = NotificationTarget'+  { fromNotificationTarget ::+      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 NotificationTarget_EventBridge :: NotificationTarget+pattern NotificationTarget_EventBridge = NotificationTarget' "EventBridge"++pattern NotificationTarget_SNS :: NotificationTarget+pattern NotificationTarget_SNS = NotificationTarget' "SNS"++pattern NotificationTarget_SQS :: NotificationTarget+pattern NotificationTarget_SQS = NotificationTarget' "SQS"++{-# COMPLETE+  NotificationTarget_EventBridge,+  NotificationTarget_SNS,+  NotificationTarget_SQS,+  NotificationTarget'+  #-}
+ gen/Amazonka/Chime/Types/NumberSelectionBehavior.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.Chime.Types.NumberSelectionBehavior+-- 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.Chime.Types.NumberSelectionBehavior+  ( NumberSelectionBehavior+      ( ..,+        NumberSelectionBehavior_AvoidSticky,+        NumberSelectionBehavior_PreferSticky+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype NumberSelectionBehavior = NumberSelectionBehavior'+  { fromNumberSelectionBehavior ::+      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 NumberSelectionBehavior_AvoidSticky :: NumberSelectionBehavior+pattern NumberSelectionBehavior_AvoidSticky = NumberSelectionBehavior' "AvoidSticky"++pattern NumberSelectionBehavior_PreferSticky :: NumberSelectionBehavior+pattern NumberSelectionBehavior_PreferSticky = NumberSelectionBehavior' "PreferSticky"++{-# COMPLETE+  NumberSelectionBehavior_AvoidSticky,+  NumberSelectionBehavior_PreferSticky,+  NumberSelectionBehavior'+  #-}
+ gen/Amazonka/Chime/Types/OrderedPhoneNumber.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.Chime.Types.OrderedPhoneNumber+-- 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.Chime.Types.OrderedPhoneNumber where++import Amazonka.Chime.Types.OrderedPhoneNumberStatus+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 phone number for which an order has been placed.+--+-- /See:/ 'newOrderedPhoneNumber' smart constructor.+data OrderedPhoneNumber = OrderedPhoneNumber'+  { -- | The phone number, in E.164 format.+    e164PhoneNumber :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The phone number status.+    status :: Prelude.Maybe OrderedPhoneNumberStatus+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'OrderedPhoneNumber' 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:+--+-- 'e164PhoneNumber', 'orderedPhoneNumber_e164PhoneNumber' - The phone number, in E.164 format.+--+-- 'status', 'orderedPhoneNumber_status' - The phone number status.+newOrderedPhoneNumber ::+  OrderedPhoneNumber+newOrderedPhoneNumber =+  OrderedPhoneNumber'+    { e164PhoneNumber =+        Prelude.Nothing,+      status = Prelude.Nothing+    }++-- | The phone number, in E.164 format.+orderedPhoneNumber_e164PhoneNumber :: Lens.Lens' OrderedPhoneNumber (Prelude.Maybe Prelude.Text)+orderedPhoneNumber_e164PhoneNumber = Lens.lens (\OrderedPhoneNumber' {e164PhoneNumber} -> e164PhoneNumber) (\s@OrderedPhoneNumber' {} a -> s {e164PhoneNumber = a} :: OrderedPhoneNumber) Prelude.. Lens.mapping Data._Sensitive++-- | The phone number status.+orderedPhoneNumber_status :: Lens.Lens' OrderedPhoneNumber (Prelude.Maybe OrderedPhoneNumberStatus)+orderedPhoneNumber_status = Lens.lens (\OrderedPhoneNumber' {status} -> status) (\s@OrderedPhoneNumber' {} a -> s {status = a} :: OrderedPhoneNumber)++instance Data.FromJSON OrderedPhoneNumber where+  parseJSON =+    Data.withObject+      "OrderedPhoneNumber"+      ( \x ->+          OrderedPhoneNumber'+            Prelude.<$> (x Data..:? "E164PhoneNumber")+            Prelude.<*> (x Data..:? "Status")+      )++instance Prelude.Hashable OrderedPhoneNumber where+  hashWithSalt _salt OrderedPhoneNumber' {..} =+    _salt+      `Prelude.hashWithSalt` e164PhoneNumber+      `Prelude.hashWithSalt` status++instance Prelude.NFData OrderedPhoneNumber where+  rnf OrderedPhoneNumber' {..} =+    Prelude.rnf e164PhoneNumber+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/Chime/Types/OrderedPhoneNumberStatus.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.Chime.Types.OrderedPhoneNumberStatus+-- 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.Chime.Types.OrderedPhoneNumberStatus+  ( OrderedPhoneNumberStatus+      ( ..,+        OrderedPhoneNumberStatus_Acquired,+        OrderedPhoneNumberStatus_Failed,+        OrderedPhoneNumberStatus_Processing+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype OrderedPhoneNumberStatus = OrderedPhoneNumberStatus'+  { fromOrderedPhoneNumberStatus ::+      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 OrderedPhoneNumberStatus_Acquired :: OrderedPhoneNumberStatus+pattern OrderedPhoneNumberStatus_Acquired = OrderedPhoneNumberStatus' "Acquired"++pattern OrderedPhoneNumberStatus_Failed :: OrderedPhoneNumberStatus+pattern OrderedPhoneNumberStatus_Failed = OrderedPhoneNumberStatus' "Failed"++pattern OrderedPhoneNumberStatus_Processing :: OrderedPhoneNumberStatus+pattern OrderedPhoneNumberStatus_Processing = OrderedPhoneNumberStatus' "Processing"++{-# COMPLETE+  OrderedPhoneNumberStatus_Acquired,+  OrderedPhoneNumberStatus_Failed,+  OrderedPhoneNumberStatus_Processing,+  OrderedPhoneNumberStatus'+  #-}
+ gen/Amazonka/Chime/Types/Origination.hs view
@@ -0,0 +1,110 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Chime.Types.Origination+-- 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.Chime.Types.Origination where++import Amazonka.Chime.Types.OriginationRoute+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++-- | Origination settings enable your SIP hosts to receive inbound calls+-- using your Amazon Chime Voice Connector.+--+-- The parameters listed below are not required, but you must use at least+-- one.+--+-- /See:/ 'newOrigination' smart constructor.+data Origination = Origination'+  { -- | When origination settings are disabled, inbound calls are not enabled+    -- for your Amazon Chime Voice Connector. This parameter is not required,+    -- but you must specify this parameter or @Routes@.+    disabled :: Prelude.Maybe Prelude.Bool,+    -- | The call distribution properties defined for your SIP hosts. Valid+    -- range: Minimum value of 1. Maximum value of 20. This parameter is not+    -- required, but you must specify this parameter or @Disabled@.+    routes :: Prelude.Maybe [OriginationRoute]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Origination' 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:+--+-- 'disabled', 'origination_disabled' - When origination settings are disabled, inbound calls are not enabled+-- for your Amazon Chime Voice Connector. This parameter is not required,+-- but you must specify this parameter or @Routes@.+--+-- 'routes', 'origination_routes' - The call distribution properties defined for your SIP hosts. Valid+-- range: Minimum value of 1. Maximum value of 20. This parameter is not+-- required, but you must specify this parameter or @Disabled@.+newOrigination ::+  Origination+newOrigination =+  Origination'+    { disabled = Prelude.Nothing,+      routes = Prelude.Nothing+    }++-- | When origination settings are disabled, inbound calls are not enabled+-- for your Amazon Chime Voice Connector. This parameter is not required,+-- but you must specify this parameter or @Routes@.+origination_disabled :: Lens.Lens' Origination (Prelude.Maybe Prelude.Bool)+origination_disabled = Lens.lens (\Origination' {disabled} -> disabled) (\s@Origination' {} a -> s {disabled = a} :: Origination)++-- | The call distribution properties defined for your SIP hosts. Valid+-- range: Minimum value of 1. Maximum value of 20. This parameter is not+-- required, but you must specify this parameter or @Disabled@.+origination_routes :: Lens.Lens' Origination (Prelude.Maybe [OriginationRoute])+origination_routes = Lens.lens (\Origination' {routes} -> routes) (\s@Origination' {} a -> s {routes = a} :: Origination) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON Origination where+  parseJSON =+    Data.withObject+      "Origination"+      ( \x ->+          Origination'+            Prelude.<$> (x Data..:? "Disabled")+            Prelude.<*> (x Data..:? "Routes" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable Origination where+  hashWithSalt _salt Origination' {..} =+    _salt+      `Prelude.hashWithSalt` disabled+      `Prelude.hashWithSalt` routes++instance Prelude.NFData Origination where+  rnf Origination' {..} =+    Prelude.rnf disabled+      `Prelude.seq` Prelude.rnf routes++instance Data.ToJSON Origination where+  toJSON Origination' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Disabled" Data..=) Prelude.<$> disabled,+            ("Routes" Data..=) Prelude.<$> routes+          ]+      )
+ gen/Amazonka/Chime/Types/OriginationRoute.hs view
@@ -0,0 +1,147 @@+{-# 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.Chime.Types.OriginationRoute+-- 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.Chime.Types.OriginationRoute where++import Amazonka.Chime.Types.OriginationRouteProtocol+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++-- | Origination routes define call distribution properties for your SIP+-- hosts to receive inbound calls using your Amazon Chime Voice Connector.+-- Limit: Ten origination routes for each Amazon Chime Voice Connector.+--+-- The parameters listed below are not required, but you must use at least+-- one.+--+-- /See:/ 'newOriginationRoute' smart constructor.+data OriginationRoute = OriginationRoute'+  { -- | The FQDN or IP address to contact for origination traffic.+    host :: Prelude.Maybe Prelude.Text,+    -- | The designated origination route port. Defaults to 5060.+    port :: Prelude.Maybe Prelude.Natural,+    -- | The priority associated with the host, with 1 being the highest+    -- priority. Higher priority hosts are attempted first.+    priority :: Prelude.Maybe Prelude.Natural,+    -- | The protocol to use for the origination route. Encryption-enabled Amazon+    -- Chime Voice Connectors use TCP protocol by default.+    protocol :: Prelude.Maybe OriginationRouteProtocol,+    -- | The weight associated with the host. If hosts are equal in priority,+    -- calls are redistributed among them based on their relative weight.+    weight :: Prelude.Maybe Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'OriginationRoute' 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:+--+-- 'host', 'originationRoute_host' - The FQDN or IP address to contact for origination traffic.+--+-- 'port', 'originationRoute_port' - The designated origination route port. Defaults to 5060.+--+-- 'priority', 'originationRoute_priority' - The priority associated with the host, with 1 being the highest+-- priority. Higher priority hosts are attempted first.+--+-- 'protocol', 'originationRoute_protocol' - The protocol to use for the origination route. Encryption-enabled Amazon+-- Chime Voice Connectors use TCP protocol by default.+--+-- 'weight', 'originationRoute_weight' - The weight associated with the host. If hosts are equal in priority,+-- calls are redistributed among them based on their relative weight.+newOriginationRoute ::+  OriginationRoute+newOriginationRoute =+  OriginationRoute'+    { host = Prelude.Nothing,+      port = Prelude.Nothing,+      priority = Prelude.Nothing,+      protocol = Prelude.Nothing,+      weight = Prelude.Nothing+    }++-- | The FQDN or IP address to contact for origination traffic.+originationRoute_host :: Lens.Lens' OriginationRoute (Prelude.Maybe Prelude.Text)+originationRoute_host = Lens.lens (\OriginationRoute' {host} -> host) (\s@OriginationRoute' {} a -> s {host = a} :: OriginationRoute)++-- | The designated origination route port. Defaults to 5060.+originationRoute_port :: Lens.Lens' OriginationRoute (Prelude.Maybe Prelude.Natural)+originationRoute_port = Lens.lens (\OriginationRoute' {port} -> port) (\s@OriginationRoute' {} a -> s {port = a} :: OriginationRoute)++-- | The priority associated with the host, with 1 being the highest+-- priority. Higher priority hosts are attempted first.+originationRoute_priority :: Lens.Lens' OriginationRoute (Prelude.Maybe Prelude.Natural)+originationRoute_priority = Lens.lens (\OriginationRoute' {priority} -> priority) (\s@OriginationRoute' {} a -> s {priority = a} :: OriginationRoute)++-- | The protocol to use for the origination route. Encryption-enabled Amazon+-- Chime Voice Connectors use TCP protocol by default.+originationRoute_protocol :: Lens.Lens' OriginationRoute (Prelude.Maybe OriginationRouteProtocol)+originationRoute_protocol = Lens.lens (\OriginationRoute' {protocol} -> protocol) (\s@OriginationRoute' {} a -> s {protocol = a} :: OriginationRoute)++-- | The weight associated with the host. If hosts are equal in priority,+-- calls are redistributed among them based on their relative weight.+originationRoute_weight :: Lens.Lens' OriginationRoute (Prelude.Maybe Prelude.Natural)+originationRoute_weight = Lens.lens (\OriginationRoute' {weight} -> weight) (\s@OriginationRoute' {} a -> s {weight = a} :: OriginationRoute)++instance Data.FromJSON OriginationRoute where+  parseJSON =+    Data.withObject+      "OriginationRoute"+      ( \x ->+          OriginationRoute'+            Prelude.<$> (x Data..:? "Host")+            Prelude.<*> (x Data..:? "Port")+            Prelude.<*> (x Data..:? "Priority")+            Prelude.<*> (x Data..:? "Protocol")+            Prelude.<*> (x Data..:? "Weight")+      )++instance Prelude.Hashable OriginationRoute where+  hashWithSalt _salt OriginationRoute' {..} =+    _salt+      `Prelude.hashWithSalt` host+      `Prelude.hashWithSalt` port+      `Prelude.hashWithSalt` priority+      `Prelude.hashWithSalt` protocol+      `Prelude.hashWithSalt` weight++instance Prelude.NFData OriginationRoute where+  rnf OriginationRoute' {..} =+    Prelude.rnf host+      `Prelude.seq` Prelude.rnf port+      `Prelude.seq` Prelude.rnf priority+      `Prelude.seq` Prelude.rnf protocol+      `Prelude.seq` Prelude.rnf weight++instance Data.ToJSON OriginationRoute where+  toJSON OriginationRoute' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Host" Data..=) Prelude.<$> host,+            ("Port" Data..=) Prelude.<$> port,+            ("Priority" Data..=) Prelude.<$> priority,+            ("Protocol" Data..=) Prelude.<$> protocol,+            ("Weight" Data..=) Prelude.<$> weight+          ]+      )
+ gen/Amazonka/Chime/Types/OriginationRouteProtocol.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.Chime.Types.OriginationRouteProtocol+-- 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.Chime.Types.OriginationRouteProtocol+  ( OriginationRouteProtocol+      ( ..,+        OriginationRouteProtocol_TCP,+        OriginationRouteProtocol_UDP+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype OriginationRouteProtocol = OriginationRouteProtocol'+  { fromOriginationRouteProtocol ::+      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 OriginationRouteProtocol_TCP :: OriginationRouteProtocol+pattern OriginationRouteProtocol_TCP = OriginationRouteProtocol' "TCP"++pattern OriginationRouteProtocol_UDP :: OriginationRouteProtocol+pattern OriginationRouteProtocol_UDP = OriginationRouteProtocol' "UDP"++{-# COMPLETE+  OriginationRouteProtocol_TCP,+  OriginationRouteProtocol_UDP,+  OriginationRouteProtocol'+  #-}
+ gen/Amazonka/Chime/Types/Participant.hs view
@@ -0,0 +1,85 @@+{-# 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.Chime.Types.Participant+-- 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.Chime.Types.Participant 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 phone number and proxy phone number for a participant in an Amazon+-- Chime Voice Connector proxy session.+--+-- /See:/ 'newParticipant' smart constructor.+data Participant = Participant'+  { -- | The participant\'s phone number.+    phoneNumber :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The participant\'s proxy phone number.+    proxyPhoneNumber :: Prelude.Maybe (Data.Sensitive Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Participant' 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:+--+-- 'phoneNumber', 'participant_phoneNumber' - The participant\'s phone number.+--+-- 'proxyPhoneNumber', 'participant_proxyPhoneNumber' - The participant\'s proxy phone number.+newParticipant ::+  Participant+newParticipant =+  Participant'+    { phoneNumber = Prelude.Nothing,+      proxyPhoneNumber = Prelude.Nothing+    }++-- | The participant\'s phone number.+participant_phoneNumber :: Lens.Lens' Participant (Prelude.Maybe Prelude.Text)+participant_phoneNumber = Lens.lens (\Participant' {phoneNumber} -> phoneNumber) (\s@Participant' {} a -> s {phoneNumber = a} :: Participant) Prelude.. Lens.mapping Data._Sensitive++-- | The participant\'s proxy phone number.+participant_proxyPhoneNumber :: Lens.Lens' Participant (Prelude.Maybe Prelude.Text)+participant_proxyPhoneNumber = Lens.lens (\Participant' {proxyPhoneNumber} -> proxyPhoneNumber) (\s@Participant' {} a -> s {proxyPhoneNumber = a} :: Participant) Prelude.. Lens.mapping Data._Sensitive++instance Data.FromJSON Participant where+  parseJSON =+    Data.withObject+      "Participant"+      ( \x ->+          Participant'+            Prelude.<$> (x Data..:? "PhoneNumber")+            Prelude.<*> (x Data..:? "ProxyPhoneNumber")+      )++instance Prelude.Hashable Participant where+  hashWithSalt _salt Participant' {..} =+    _salt+      `Prelude.hashWithSalt` phoneNumber+      `Prelude.hashWithSalt` proxyPhoneNumber++instance Prelude.NFData Participant where+  rnf Participant' {..} =+    Prelude.rnf phoneNumber+      `Prelude.seq` Prelude.rnf proxyPhoneNumber
+ gen/Amazonka/Chime/Types/PhoneNumber.hs view
@@ -0,0 +1,223 @@+{-# 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.Chime.Types.PhoneNumber+-- 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.Chime.Types.PhoneNumber where++import Amazonka.Chime.Types.CallingNameStatus+import Amazonka.Chime.Types.PhoneNumberAssociation+import Amazonka.Chime.Types.PhoneNumberCapabilities+import Amazonka.Chime.Types.PhoneNumberProductType+import Amazonka.Chime.Types.PhoneNumberStatus+import Amazonka.Chime.Types.PhoneNumberType+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 phone number used for Amazon Chime Business Calling or an Amazon Chime+-- Voice Connector.+--+-- /See:/ 'newPhoneNumber' smart constructor.+data PhoneNumber = PhoneNumber'+  { -- | The phone number associations.+    associations :: Prelude.Maybe [PhoneNumberAssociation],+    -- | The outbound calling name associated with the phone number.+    callingName :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The outbound calling name status.+    callingNameStatus :: Prelude.Maybe CallingNameStatus,+    -- | The phone number capabilities.+    capabilities :: Prelude.Maybe PhoneNumberCapabilities,+    -- | The phone number country. Format: ISO 3166-1 alpha-2.+    country :: Prelude.Maybe Prelude.Text,+    -- | The phone number creation timestamp, in ISO 8601 format.+    createdTimestamp :: Prelude.Maybe Data.ISO8601,+    -- | The deleted phone number timestamp, in ISO 8601 format.+    deletionTimestamp :: Prelude.Maybe Data.ISO8601,+    -- | The phone number, in E.164 format.+    e164PhoneNumber :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The phone number ID.+    phoneNumberId :: Prelude.Maybe Prelude.Text,+    -- | The phone number product type.+    productType :: Prelude.Maybe PhoneNumberProductType,+    -- | The phone number status.+    status :: Prelude.Maybe PhoneNumberStatus,+    -- | The phone number type.+    type' :: Prelude.Maybe PhoneNumberType,+    -- | The updated phone number timestamp, in ISO 8601 format.+    updatedTimestamp :: Prelude.Maybe Data.ISO8601+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PhoneNumber' 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:+--+-- 'associations', 'phoneNumber_associations' - The phone number associations.+--+-- 'callingName', 'phoneNumber_callingName' - The outbound calling name associated with the phone number.+--+-- 'callingNameStatus', 'phoneNumber_callingNameStatus' - The outbound calling name status.+--+-- 'capabilities', 'phoneNumber_capabilities' - The phone number capabilities.+--+-- 'country', 'phoneNumber_country' - The phone number country. Format: ISO 3166-1 alpha-2.+--+-- 'createdTimestamp', 'phoneNumber_createdTimestamp' - The phone number creation timestamp, in ISO 8601 format.+--+-- 'deletionTimestamp', 'phoneNumber_deletionTimestamp' - The deleted phone number timestamp, in ISO 8601 format.+--+-- 'e164PhoneNumber', 'phoneNumber_e164PhoneNumber' - The phone number, in E.164 format.+--+-- 'phoneNumberId', 'phoneNumber_phoneNumberId' - The phone number ID.+--+-- 'productType', 'phoneNumber_productType' - The phone number product type.+--+-- 'status', 'phoneNumber_status' - The phone number status.+--+-- 'type'', 'phoneNumber_type' - The phone number type.+--+-- 'updatedTimestamp', 'phoneNumber_updatedTimestamp' - The updated phone number timestamp, in ISO 8601 format.+newPhoneNumber ::+  PhoneNumber+newPhoneNumber =+  PhoneNumber'+    { associations = Prelude.Nothing,+      callingName = Prelude.Nothing,+      callingNameStatus = Prelude.Nothing,+      capabilities = Prelude.Nothing,+      country = Prelude.Nothing,+      createdTimestamp = Prelude.Nothing,+      deletionTimestamp = Prelude.Nothing,+      e164PhoneNumber = Prelude.Nothing,+      phoneNumberId = Prelude.Nothing,+      productType = Prelude.Nothing,+      status = Prelude.Nothing,+      type' = Prelude.Nothing,+      updatedTimestamp = Prelude.Nothing+    }++-- | The phone number associations.+phoneNumber_associations :: Lens.Lens' PhoneNumber (Prelude.Maybe [PhoneNumberAssociation])+phoneNumber_associations = Lens.lens (\PhoneNumber' {associations} -> associations) (\s@PhoneNumber' {} a -> s {associations = a} :: PhoneNumber) Prelude.. Lens.mapping Lens.coerced++-- | The outbound calling name associated with the phone number.+phoneNumber_callingName :: Lens.Lens' PhoneNumber (Prelude.Maybe Prelude.Text)+phoneNumber_callingName = Lens.lens (\PhoneNumber' {callingName} -> callingName) (\s@PhoneNumber' {} a -> s {callingName = a} :: PhoneNumber) Prelude.. Lens.mapping Data._Sensitive++-- | The outbound calling name status.+phoneNumber_callingNameStatus :: Lens.Lens' PhoneNumber (Prelude.Maybe CallingNameStatus)+phoneNumber_callingNameStatus = Lens.lens (\PhoneNumber' {callingNameStatus} -> callingNameStatus) (\s@PhoneNumber' {} a -> s {callingNameStatus = a} :: PhoneNumber)++-- | The phone number capabilities.+phoneNumber_capabilities :: Lens.Lens' PhoneNumber (Prelude.Maybe PhoneNumberCapabilities)+phoneNumber_capabilities = Lens.lens (\PhoneNumber' {capabilities} -> capabilities) (\s@PhoneNumber' {} a -> s {capabilities = a} :: PhoneNumber)++-- | The phone number country. Format: ISO 3166-1 alpha-2.+phoneNumber_country :: Lens.Lens' PhoneNumber (Prelude.Maybe Prelude.Text)+phoneNumber_country = Lens.lens (\PhoneNumber' {country} -> country) (\s@PhoneNumber' {} a -> s {country = a} :: PhoneNumber)++-- | The phone number creation timestamp, in ISO 8601 format.+phoneNumber_createdTimestamp :: Lens.Lens' PhoneNumber (Prelude.Maybe Prelude.UTCTime)+phoneNumber_createdTimestamp = Lens.lens (\PhoneNumber' {createdTimestamp} -> createdTimestamp) (\s@PhoneNumber' {} a -> s {createdTimestamp = a} :: PhoneNumber) Prelude.. Lens.mapping Data._Time++-- | The deleted phone number timestamp, in ISO 8601 format.+phoneNumber_deletionTimestamp :: Lens.Lens' PhoneNumber (Prelude.Maybe Prelude.UTCTime)+phoneNumber_deletionTimestamp = Lens.lens (\PhoneNumber' {deletionTimestamp} -> deletionTimestamp) (\s@PhoneNumber' {} a -> s {deletionTimestamp = a} :: PhoneNumber) Prelude.. Lens.mapping Data._Time++-- | The phone number, in E.164 format.+phoneNumber_e164PhoneNumber :: Lens.Lens' PhoneNumber (Prelude.Maybe Prelude.Text)+phoneNumber_e164PhoneNumber = Lens.lens (\PhoneNumber' {e164PhoneNumber} -> e164PhoneNumber) (\s@PhoneNumber' {} a -> s {e164PhoneNumber = a} :: PhoneNumber) Prelude.. Lens.mapping Data._Sensitive++-- | The phone number ID.+phoneNumber_phoneNumberId :: Lens.Lens' PhoneNumber (Prelude.Maybe Prelude.Text)+phoneNumber_phoneNumberId = Lens.lens (\PhoneNumber' {phoneNumberId} -> phoneNumberId) (\s@PhoneNumber' {} a -> s {phoneNumberId = a} :: PhoneNumber)++-- | The phone number product type.+phoneNumber_productType :: Lens.Lens' PhoneNumber (Prelude.Maybe PhoneNumberProductType)+phoneNumber_productType = Lens.lens (\PhoneNumber' {productType} -> productType) (\s@PhoneNumber' {} a -> s {productType = a} :: PhoneNumber)++-- | The phone number status.+phoneNumber_status :: Lens.Lens' PhoneNumber (Prelude.Maybe PhoneNumberStatus)+phoneNumber_status = Lens.lens (\PhoneNumber' {status} -> status) (\s@PhoneNumber' {} a -> s {status = a} :: PhoneNumber)++-- | The phone number type.+phoneNumber_type :: Lens.Lens' PhoneNumber (Prelude.Maybe PhoneNumberType)+phoneNumber_type = Lens.lens (\PhoneNumber' {type'} -> type') (\s@PhoneNumber' {} a -> s {type' = a} :: PhoneNumber)++-- | The updated phone number timestamp, in ISO 8601 format.+phoneNumber_updatedTimestamp :: Lens.Lens' PhoneNumber (Prelude.Maybe Prelude.UTCTime)+phoneNumber_updatedTimestamp = Lens.lens (\PhoneNumber' {updatedTimestamp} -> updatedTimestamp) (\s@PhoneNumber' {} a -> s {updatedTimestamp = a} :: PhoneNumber) Prelude.. Lens.mapping Data._Time++instance Data.FromJSON PhoneNumber where+  parseJSON =+    Data.withObject+      "PhoneNumber"+      ( \x ->+          PhoneNumber'+            Prelude.<$> (x Data..:? "Associations" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "CallingName")+            Prelude.<*> (x Data..:? "CallingNameStatus")+            Prelude.<*> (x Data..:? "Capabilities")+            Prelude.<*> (x Data..:? "Country")+            Prelude.<*> (x Data..:? "CreatedTimestamp")+            Prelude.<*> (x Data..:? "DeletionTimestamp")+            Prelude.<*> (x Data..:? "E164PhoneNumber")+            Prelude.<*> (x Data..:? "PhoneNumberId")+            Prelude.<*> (x Data..:? "ProductType")+            Prelude.<*> (x Data..:? "Status")+            Prelude.<*> (x Data..:? "Type")+            Prelude.<*> (x Data..:? "UpdatedTimestamp")+      )++instance Prelude.Hashable PhoneNumber where+  hashWithSalt _salt PhoneNumber' {..} =+    _salt+      `Prelude.hashWithSalt` associations+      `Prelude.hashWithSalt` callingName+      `Prelude.hashWithSalt` callingNameStatus+      `Prelude.hashWithSalt` capabilities+      `Prelude.hashWithSalt` country+      `Prelude.hashWithSalt` createdTimestamp+      `Prelude.hashWithSalt` deletionTimestamp+      `Prelude.hashWithSalt` e164PhoneNumber+      `Prelude.hashWithSalt` phoneNumberId+      `Prelude.hashWithSalt` productType+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` type'+      `Prelude.hashWithSalt` updatedTimestamp++instance Prelude.NFData PhoneNumber where+  rnf PhoneNumber' {..} =+    Prelude.rnf associations+      `Prelude.seq` Prelude.rnf callingName+      `Prelude.seq` Prelude.rnf callingNameStatus+      `Prelude.seq` Prelude.rnf capabilities+      `Prelude.seq` Prelude.rnf country+      `Prelude.seq` Prelude.rnf createdTimestamp+      `Prelude.seq` Prelude.rnf deletionTimestamp+      `Prelude.seq` Prelude.rnf e164PhoneNumber+      `Prelude.seq` Prelude.rnf phoneNumberId+      `Prelude.seq` Prelude.rnf productType+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf type'+      `Prelude.seq` Prelude.rnf updatedTimestamp
+ gen/Amazonka/Chime/Types/PhoneNumberAssociation.hs view
@@ -0,0 +1,103 @@+{-# 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.Chime.Types.PhoneNumberAssociation+-- 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.Chime.Types.PhoneNumberAssociation where++import Amazonka.Chime.Types.PhoneNumberAssociationName+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 phone number associations, such as Amazon Chime account ID, Amazon+-- Chime user ID, Amazon Chime Voice Connector ID, or Amazon Chime Voice+-- Connector group ID.+--+-- /See:/ 'newPhoneNumberAssociation' smart constructor.+data PhoneNumberAssociation = PhoneNumberAssociation'+  { -- | The timestamp of the phone number association, in ISO 8601 format.+    associatedTimestamp :: Prelude.Maybe Data.ISO8601,+    -- | Defines the association with an Amazon Chime account ID, user ID, Amazon+    -- Chime Voice Connector ID, or Amazon Chime Voice Connector group ID.+    name :: Prelude.Maybe PhoneNumberAssociationName,+    -- | Contains the ID for the entity specified in Name.+    value :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PhoneNumberAssociation' 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:+--+-- 'associatedTimestamp', 'phoneNumberAssociation_associatedTimestamp' - The timestamp of the phone number association, in ISO 8601 format.+--+-- 'name', 'phoneNumberAssociation_name' - Defines the association with an Amazon Chime account ID, user ID, Amazon+-- Chime Voice Connector ID, or Amazon Chime Voice Connector group ID.+--+-- 'value', 'phoneNumberAssociation_value' - Contains the ID for the entity specified in Name.+newPhoneNumberAssociation ::+  PhoneNumberAssociation+newPhoneNumberAssociation =+  PhoneNumberAssociation'+    { associatedTimestamp =+        Prelude.Nothing,+      name = Prelude.Nothing,+      value = Prelude.Nothing+    }++-- | The timestamp of the phone number association, in ISO 8601 format.+phoneNumberAssociation_associatedTimestamp :: Lens.Lens' PhoneNumberAssociation (Prelude.Maybe Prelude.UTCTime)+phoneNumberAssociation_associatedTimestamp = Lens.lens (\PhoneNumberAssociation' {associatedTimestamp} -> associatedTimestamp) (\s@PhoneNumberAssociation' {} a -> s {associatedTimestamp = a} :: PhoneNumberAssociation) Prelude.. Lens.mapping Data._Time++-- | Defines the association with an Amazon Chime account ID, user ID, Amazon+-- Chime Voice Connector ID, or Amazon Chime Voice Connector group ID.+phoneNumberAssociation_name :: Lens.Lens' PhoneNumberAssociation (Prelude.Maybe PhoneNumberAssociationName)+phoneNumberAssociation_name = Lens.lens (\PhoneNumberAssociation' {name} -> name) (\s@PhoneNumberAssociation' {} a -> s {name = a} :: PhoneNumberAssociation)++-- | Contains the ID for the entity specified in Name.+phoneNumberAssociation_value :: Lens.Lens' PhoneNumberAssociation (Prelude.Maybe Prelude.Text)+phoneNumberAssociation_value = Lens.lens (\PhoneNumberAssociation' {value} -> value) (\s@PhoneNumberAssociation' {} a -> s {value = a} :: PhoneNumberAssociation)++instance Data.FromJSON PhoneNumberAssociation where+  parseJSON =+    Data.withObject+      "PhoneNumberAssociation"+      ( \x ->+          PhoneNumberAssociation'+            Prelude.<$> (x Data..:? "AssociatedTimestamp")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "Value")+      )++instance Prelude.Hashable PhoneNumberAssociation where+  hashWithSalt _salt PhoneNumberAssociation' {..} =+    _salt+      `Prelude.hashWithSalt` associatedTimestamp+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` value++instance Prelude.NFData PhoneNumberAssociation where+  rnf PhoneNumberAssociation' {..} =+    Prelude.rnf associatedTimestamp+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf value
+ gen/Amazonka/Chime/Types/PhoneNumberAssociationName.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Chime.Types.PhoneNumberAssociationName+-- 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.Chime.Types.PhoneNumberAssociationName+  ( PhoneNumberAssociationName+      ( ..,+        PhoneNumberAssociationName_AccountId,+        PhoneNumberAssociationName_SipRuleId,+        PhoneNumberAssociationName_UserId,+        PhoneNumberAssociationName_VoiceConnectorGroupId,+        PhoneNumberAssociationName_VoiceConnectorId+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PhoneNumberAssociationName = PhoneNumberAssociationName'+  { fromPhoneNumberAssociationName ::+      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 PhoneNumberAssociationName_AccountId :: PhoneNumberAssociationName+pattern PhoneNumberAssociationName_AccountId = PhoneNumberAssociationName' "AccountId"++pattern PhoneNumberAssociationName_SipRuleId :: PhoneNumberAssociationName+pattern PhoneNumberAssociationName_SipRuleId = PhoneNumberAssociationName' "SipRuleId"++pattern PhoneNumberAssociationName_UserId :: PhoneNumberAssociationName+pattern PhoneNumberAssociationName_UserId = PhoneNumberAssociationName' "UserId"++pattern PhoneNumberAssociationName_VoiceConnectorGroupId :: PhoneNumberAssociationName+pattern PhoneNumberAssociationName_VoiceConnectorGroupId = PhoneNumberAssociationName' "VoiceConnectorGroupId"++pattern PhoneNumberAssociationName_VoiceConnectorId :: PhoneNumberAssociationName+pattern PhoneNumberAssociationName_VoiceConnectorId = PhoneNumberAssociationName' "VoiceConnectorId"++{-# COMPLETE+  PhoneNumberAssociationName_AccountId,+  PhoneNumberAssociationName_SipRuleId,+  PhoneNumberAssociationName_UserId,+  PhoneNumberAssociationName_VoiceConnectorGroupId,+  PhoneNumberAssociationName_VoiceConnectorId,+  PhoneNumberAssociationName'+  #-}
+ gen/Amazonka/Chime/Types/PhoneNumberCapabilities.hs view
@@ -0,0 +1,135 @@+{-# 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.Chime.Types.PhoneNumberCapabilities+-- 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.Chime.Types.PhoneNumberCapabilities 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 phone number capabilities for Amazon Chime Business Calling phone+-- numbers, such as enabled inbound and outbound calling and text+-- messaging.+--+-- /See:/ 'newPhoneNumberCapabilities' smart constructor.+data PhoneNumberCapabilities = PhoneNumberCapabilities'+  { -- | Allows or denies inbound calling for the specified phone number.+    inboundCall :: Prelude.Maybe Prelude.Bool,+    -- | Allows or denies inbound MMS messaging for the specified phone number.+    inboundMMS :: Prelude.Maybe Prelude.Bool,+    -- | Allows or denies inbound SMS messaging for the specified phone number.+    inboundSMS :: Prelude.Maybe Prelude.Bool,+    -- | Allows or denies outbound calling for the specified phone number.+    outboundCall :: Prelude.Maybe Prelude.Bool,+    -- | Allows or denies outbound MMS messaging for the specified phone number.+    outboundMMS :: Prelude.Maybe Prelude.Bool,+    -- | Allows or denies outbound SMS messaging for the specified phone number.+    outboundSMS :: Prelude.Maybe Prelude.Bool+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PhoneNumberCapabilities' 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:+--+-- 'inboundCall', 'phoneNumberCapabilities_inboundCall' - Allows or denies inbound calling for the specified phone number.+--+-- 'inboundMMS', 'phoneNumberCapabilities_inboundMMS' - Allows or denies inbound MMS messaging for the specified phone number.+--+-- 'inboundSMS', 'phoneNumberCapabilities_inboundSMS' - Allows or denies inbound SMS messaging for the specified phone number.+--+-- 'outboundCall', 'phoneNumberCapabilities_outboundCall' - Allows or denies outbound calling for the specified phone number.+--+-- 'outboundMMS', 'phoneNumberCapabilities_outboundMMS' - Allows or denies outbound MMS messaging for the specified phone number.+--+-- 'outboundSMS', 'phoneNumberCapabilities_outboundSMS' - Allows or denies outbound SMS messaging for the specified phone number.+newPhoneNumberCapabilities ::+  PhoneNumberCapabilities+newPhoneNumberCapabilities =+  PhoneNumberCapabilities'+    { inboundCall =+        Prelude.Nothing,+      inboundMMS = Prelude.Nothing,+      inboundSMS = Prelude.Nothing,+      outboundCall = Prelude.Nothing,+      outboundMMS = Prelude.Nothing,+      outboundSMS = Prelude.Nothing+    }++-- | Allows or denies inbound calling for the specified phone number.+phoneNumberCapabilities_inboundCall :: Lens.Lens' PhoneNumberCapabilities (Prelude.Maybe Prelude.Bool)+phoneNumberCapabilities_inboundCall = Lens.lens (\PhoneNumberCapabilities' {inboundCall} -> inboundCall) (\s@PhoneNumberCapabilities' {} a -> s {inboundCall = a} :: PhoneNumberCapabilities)++-- | Allows or denies inbound MMS messaging for the specified phone number.+phoneNumberCapabilities_inboundMMS :: Lens.Lens' PhoneNumberCapabilities (Prelude.Maybe Prelude.Bool)+phoneNumberCapabilities_inboundMMS = Lens.lens (\PhoneNumberCapabilities' {inboundMMS} -> inboundMMS) (\s@PhoneNumberCapabilities' {} a -> s {inboundMMS = a} :: PhoneNumberCapabilities)++-- | Allows or denies inbound SMS messaging for the specified phone number.+phoneNumberCapabilities_inboundSMS :: Lens.Lens' PhoneNumberCapabilities (Prelude.Maybe Prelude.Bool)+phoneNumberCapabilities_inboundSMS = Lens.lens (\PhoneNumberCapabilities' {inboundSMS} -> inboundSMS) (\s@PhoneNumberCapabilities' {} a -> s {inboundSMS = a} :: PhoneNumberCapabilities)++-- | Allows or denies outbound calling for the specified phone number.+phoneNumberCapabilities_outboundCall :: Lens.Lens' PhoneNumberCapabilities (Prelude.Maybe Prelude.Bool)+phoneNumberCapabilities_outboundCall = Lens.lens (\PhoneNumberCapabilities' {outboundCall} -> outboundCall) (\s@PhoneNumberCapabilities' {} a -> s {outboundCall = a} :: PhoneNumberCapabilities)++-- | Allows or denies outbound MMS messaging for the specified phone number.+phoneNumberCapabilities_outboundMMS :: Lens.Lens' PhoneNumberCapabilities (Prelude.Maybe Prelude.Bool)+phoneNumberCapabilities_outboundMMS = Lens.lens (\PhoneNumberCapabilities' {outboundMMS} -> outboundMMS) (\s@PhoneNumberCapabilities' {} a -> s {outboundMMS = a} :: PhoneNumberCapabilities)++-- | Allows or denies outbound SMS messaging for the specified phone number.+phoneNumberCapabilities_outboundSMS :: Lens.Lens' PhoneNumberCapabilities (Prelude.Maybe Prelude.Bool)+phoneNumberCapabilities_outboundSMS = Lens.lens (\PhoneNumberCapabilities' {outboundSMS} -> outboundSMS) (\s@PhoneNumberCapabilities' {} a -> s {outboundSMS = a} :: PhoneNumberCapabilities)++instance Data.FromJSON PhoneNumberCapabilities where+  parseJSON =+    Data.withObject+      "PhoneNumberCapabilities"+      ( \x ->+          PhoneNumberCapabilities'+            Prelude.<$> (x Data..:? "InboundCall")+            Prelude.<*> (x Data..:? "InboundMMS")+            Prelude.<*> (x Data..:? "InboundSMS")+            Prelude.<*> (x Data..:? "OutboundCall")+            Prelude.<*> (x Data..:? "OutboundMMS")+            Prelude.<*> (x Data..:? "OutboundSMS")+      )++instance Prelude.Hashable PhoneNumberCapabilities where+  hashWithSalt _salt PhoneNumberCapabilities' {..} =+    _salt+      `Prelude.hashWithSalt` inboundCall+      `Prelude.hashWithSalt` inboundMMS+      `Prelude.hashWithSalt` inboundSMS+      `Prelude.hashWithSalt` outboundCall+      `Prelude.hashWithSalt` outboundMMS+      `Prelude.hashWithSalt` outboundSMS++instance Prelude.NFData PhoneNumberCapabilities where+  rnf PhoneNumberCapabilities' {..} =+    Prelude.rnf inboundCall+      `Prelude.seq` Prelude.rnf inboundMMS+      `Prelude.seq` Prelude.rnf inboundSMS+      `Prelude.seq` Prelude.rnf outboundCall+      `Prelude.seq` Prelude.rnf outboundMMS+      `Prelude.seq` Prelude.rnf outboundSMS
+ gen/Amazonka/Chime/Types/PhoneNumberCountry.hs view
@@ -0,0 +1,88 @@+{-# 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.Chime.Types.PhoneNumberCountry+-- 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.Chime.Types.PhoneNumberCountry where++import Amazonka.Chime.Types.PhoneNumberType+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 phone number country.+--+-- /See:/ 'newPhoneNumberCountry' smart constructor.+data PhoneNumberCountry = PhoneNumberCountry'+  { -- | The phone number country code. Format: ISO 3166-1 alpha-2.+    countryCode :: Prelude.Maybe Prelude.Text,+    -- | The supported phone number types.+    supportedPhoneNumberTypes :: Prelude.Maybe [PhoneNumberType]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PhoneNumberCountry' 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:+--+-- 'countryCode', 'phoneNumberCountry_countryCode' - The phone number country code. Format: ISO 3166-1 alpha-2.+--+-- 'supportedPhoneNumberTypes', 'phoneNumberCountry_supportedPhoneNumberTypes' - The supported phone number types.+newPhoneNumberCountry ::+  PhoneNumberCountry+newPhoneNumberCountry =+  PhoneNumberCountry'+    { countryCode = Prelude.Nothing,+      supportedPhoneNumberTypes = Prelude.Nothing+    }++-- | The phone number country code. Format: ISO 3166-1 alpha-2.+phoneNumberCountry_countryCode :: Lens.Lens' PhoneNumberCountry (Prelude.Maybe Prelude.Text)+phoneNumberCountry_countryCode = Lens.lens (\PhoneNumberCountry' {countryCode} -> countryCode) (\s@PhoneNumberCountry' {} a -> s {countryCode = a} :: PhoneNumberCountry)++-- | The supported phone number types.+phoneNumberCountry_supportedPhoneNumberTypes :: Lens.Lens' PhoneNumberCountry (Prelude.Maybe [PhoneNumberType])+phoneNumberCountry_supportedPhoneNumberTypes = Lens.lens (\PhoneNumberCountry' {supportedPhoneNumberTypes} -> supportedPhoneNumberTypes) (\s@PhoneNumberCountry' {} a -> s {supportedPhoneNumberTypes = a} :: PhoneNumberCountry) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON PhoneNumberCountry where+  parseJSON =+    Data.withObject+      "PhoneNumberCountry"+      ( \x ->+          PhoneNumberCountry'+            Prelude.<$> (x Data..:? "CountryCode")+            Prelude.<*> ( x+                            Data..:? "SupportedPhoneNumberTypes"+                            Data..!= Prelude.mempty+                        )+      )++instance Prelude.Hashable PhoneNumberCountry where+  hashWithSalt _salt PhoneNumberCountry' {..} =+    _salt+      `Prelude.hashWithSalt` countryCode+      `Prelude.hashWithSalt` supportedPhoneNumberTypes++instance Prelude.NFData PhoneNumberCountry where+  rnf PhoneNumberCountry' {..} =+    Prelude.rnf countryCode+      `Prelude.seq` Prelude.rnf supportedPhoneNumberTypes
+ gen/Amazonka/Chime/Types/PhoneNumberError.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Chime.Types.PhoneNumberError+-- 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.Chime.Types.PhoneNumberError where++import Amazonka.Chime.Types.ErrorCode+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++-- | If the phone number action fails for one or more of the phone numbers in+-- the request, a list of the phone numbers is returned, along with error+-- codes and error messages.+--+-- /See:/ 'newPhoneNumberError' smart constructor.+data PhoneNumberError = PhoneNumberError'+  { -- | The error code.+    errorCode :: Prelude.Maybe ErrorCode,+    -- | The error message.+    errorMessage :: Prelude.Maybe Prelude.Text,+    -- | The phone number ID for which the action failed.+    phoneNumberId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PhoneNumberError' 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', 'phoneNumberError_errorCode' - The error code.+--+-- 'errorMessage', 'phoneNumberError_errorMessage' - The error message.+--+-- 'phoneNumberId', 'phoneNumberError_phoneNumberId' - The phone number ID for which the action failed.+newPhoneNumberError ::+  PhoneNumberError+newPhoneNumberError =+  PhoneNumberError'+    { errorCode = Prelude.Nothing,+      errorMessage = Prelude.Nothing,+      phoneNumberId = Prelude.Nothing+    }++-- | The error code.+phoneNumberError_errorCode :: Lens.Lens' PhoneNumberError (Prelude.Maybe ErrorCode)+phoneNumberError_errorCode = Lens.lens (\PhoneNumberError' {errorCode} -> errorCode) (\s@PhoneNumberError' {} a -> s {errorCode = a} :: PhoneNumberError)++-- | The error message.+phoneNumberError_errorMessage :: Lens.Lens' PhoneNumberError (Prelude.Maybe Prelude.Text)+phoneNumberError_errorMessage = Lens.lens (\PhoneNumberError' {errorMessage} -> errorMessage) (\s@PhoneNumberError' {} a -> s {errorMessage = a} :: PhoneNumberError)++-- | The phone number ID for which the action failed.+phoneNumberError_phoneNumberId :: Lens.Lens' PhoneNumberError (Prelude.Maybe Prelude.Text)+phoneNumberError_phoneNumberId = Lens.lens (\PhoneNumberError' {phoneNumberId} -> phoneNumberId) (\s@PhoneNumberError' {} a -> s {phoneNumberId = a} :: PhoneNumberError)++instance Data.FromJSON PhoneNumberError where+  parseJSON =+    Data.withObject+      "PhoneNumberError"+      ( \x ->+          PhoneNumberError'+            Prelude.<$> (x Data..:? "ErrorCode")+            Prelude.<*> (x Data..:? "ErrorMessage")+            Prelude.<*> (x Data..:? "PhoneNumberId")+      )++instance Prelude.Hashable PhoneNumberError where+  hashWithSalt _salt PhoneNumberError' {..} =+    _salt+      `Prelude.hashWithSalt` errorCode+      `Prelude.hashWithSalt` errorMessage+      `Prelude.hashWithSalt` phoneNumberId++instance Prelude.NFData PhoneNumberError where+  rnf PhoneNumberError' {..} =+    Prelude.rnf errorCode+      `Prelude.seq` Prelude.rnf errorMessage+      `Prelude.seq` Prelude.rnf phoneNumberId
+ gen/Amazonka/Chime/Types/PhoneNumberOrder.hs view
@@ -0,0 +1,142 @@+{-# 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.Chime.Types.PhoneNumberOrder+-- 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.Chime.Types.PhoneNumberOrder where++import Amazonka.Chime.Types.OrderedPhoneNumber+import Amazonka.Chime.Types.PhoneNumberOrderStatus+import Amazonka.Chime.Types.PhoneNumberProductType+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The details of a phone number order created for Amazon Chime.+--+-- /See:/ 'newPhoneNumberOrder' smart constructor.+data PhoneNumberOrder = PhoneNumberOrder'+  { -- | The phone number order creation time stamp, in ISO 8601 format.+    createdTimestamp :: Prelude.Maybe Data.ISO8601,+    -- | The ordered phone number details, such as the phone number in E.164+    -- format and the phone number status.+    orderedPhoneNumbers :: Prelude.Maybe [OrderedPhoneNumber],+    -- | The phone number order ID.+    phoneNumberOrderId :: Prelude.Maybe Prelude.Text,+    -- | The phone number order product type.+    productType :: Prelude.Maybe PhoneNumberProductType,+    -- | The status of the phone number order.+    status :: Prelude.Maybe PhoneNumberOrderStatus,+    -- | The updated phone number order time stamp, in ISO 8601 format.+    updatedTimestamp :: Prelude.Maybe Data.ISO8601+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PhoneNumberOrder' 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:+--+-- 'createdTimestamp', 'phoneNumberOrder_createdTimestamp' - The phone number order creation time stamp, in ISO 8601 format.+--+-- 'orderedPhoneNumbers', 'phoneNumberOrder_orderedPhoneNumbers' - The ordered phone number details, such as the phone number in E.164+-- format and the phone number status.+--+-- 'phoneNumberOrderId', 'phoneNumberOrder_phoneNumberOrderId' - The phone number order ID.+--+-- 'productType', 'phoneNumberOrder_productType' - The phone number order product type.+--+-- 'status', 'phoneNumberOrder_status' - The status of the phone number order.+--+-- 'updatedTimestamp', 'phoneNumberOrder_updatedTimestamp' - The updated phone number order time stamp, in ISO 8601 format.+newPhoneNumberOrder ::+  PhoneNumberOrder+newPhoneNumberOrder =+  PhoneNumberOrder'+    { createdTimestamp =+        Prelude.Nothing,+      orderedPhoneNumbers = Prelude.Nothing,+      phoneNumberOrderId = Prelude.Nothing,+      productType = Prelude.Nothing,+      status = Prelude.Nothing,+      updatedTimestamp = Prelude.Nothing+    }++-- | The phone number order creation time stamp, in ISO 8601 format.+phoneNumberOrder_createdTimestamp :: Lens.Lens' PhoneNumberOrder (Prelude.Maybe Prelude.UTCTime)+phoneNumberOrder_createdTimestamp = Lens.lens (\PhoneNumberOrder' {createdTimestamp} -> createdTimestamp) (\s@PhoneNumberOrder' {} a -> s {createdTimestamp = a} :: PhoneNumberOrder) Prelude.. Lens.mapping Data._Time++-- | The ordered phone number details, such as the phone number in E.164+-- format and the phone number status.+phoneNumberOrder_orderedPhoneNumbers :: Lens.Lens' PhoneNumberOrder (Prelude.Maybe [OrderedPhoneNumber])+phoneNumberOrder_orderedPhoneNumbers = Lens.lens (\PhoneNumberOrder' {orderedPhoneNumbers} -> orderedPhoneNumbers) (\s@PhoneNumberOrder' {} a -> s {orderedPhoneNumbers = a} :: PhoneNumberOrder) Prelude.. Lens.mapping Lens.coerced++-- | The phone number order ID.+phoneNumberOrder_phoneNumberOrderId :: Lens.Lens' PhoneNumberOrder (Prelude.Maybe Prelude.Text)+phoneNumberOrder_phoneNumberOrderId = Lens.lens (\PhoneNumberOrder' {phoneNumberOrderId} -> phoneNumberOrderId) (\s@PhoneNumberOrder' {} a -> s {phoneNumberOrderId = a} :: PhoneNumberOrder)++-- | The phone number order product type.+phoneNumberOrder_productType :: Lens.Lens' PhoneNumberOrder (Prelude.Maybe PhoneNumberProductType)+phoneNumberOrder_productType = Lens.lens (\PhoneNumberOrder' {productType} -> productType) (\s@PhoneNumberOrder' {} a -> s {productType = a} :: PhoneNumberOrder)++-- | The status of the phone number order.+phoneNumberOrder_status :: Lens.Lens' PhoneNumberOrder (Prelude.Maybe PhoneNumberOrderStatus)+phoneNumberOrder_status = Lens.lens (\PhoneNumberOrder' {status} -> status) (\s@PhoneNumberOrder' {} a -> s {status = a} :: PhoneNumberOrder)++-- | The updated phone number order time stamp, in ISO 8601 format.+phoneNumberOrder_updatedTimestamp :: Lens.Lens' PhoneNumberOrder (Prelude.Maybe Prelude.UTCTime)+phoneNumberOrder_updatedTimestamp = Lens.lens (\PhoneNumberOrder' {updatedTimestamp} -> updatedTimestamp) (\s@PhoneNumberOrder' {} a -> s {updatedTimestamp = a} :: PhoneNumberOrder) Prelude.. Lens.mapping Data._Time++instance Data.FromJSON PhoneNumberOrder where+  parseJSON =+    Data.withObject+      "PhoneNumberOrder"+      ( \x ->+          PhoneNumberOrder'+            Prelude.<$> (x Data..:? "CreatedTimestamp")+            Prelude.<*> ( x+                            Data..:? "OrderedPhoneNumbers"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "PhoneNumberOrderId")+            Prelude.<*> (x Data..:? "ProductType")+            Prelude.<*> (x Data..:? "Status")+            Prelude.<*> (x Data..:? "UpdatedTimestamp")+      )++instance Prelude.Hashable PhoneNumberOrder where+  hashWithSalt _salt PhoneNumberOrder' {..} =+    _salt+      `Prelude.hashWithSalt` createdTimestamp+      `Prelude.hashWithSalt` orderedPhoneNumbers+      `Prelude.hashWithSalt` phoneNumberOrderId+      `Prelude.hashWithSalt` productType+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` updatedTimestamp++instance Prelude.NFData PhoneNumberOrder where+  rnf PhoneNumberOrder' {..} =+    Prelude.rnf createdTimestamp+      `Prelude.seq` Prelude.rnf orderedPhoneNumbers+      `Prelude.seq` Prelude.rnf phoneNumberOrderId+      `Prelude.seq` Prelude.rnf productType+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf updatedTimestamp
+ gen/Amazonka/Chime/Types/PhoneNumberOrderStatus.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.Chime.Types.PhoneNumberOrderStatus+-- 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.Chime.Types.PhoneNumberOrderStatus+  ( PhoneNumberOrderStatus+      ( ..,+        PhoneNumberOrderStatus_Failed,+        PhoneNumberOrderStatus_Partial,+        PhoneNumberOrderStatus_Processing,+        PhoneNumberOrderStatus_Successful+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PhoneNumberOrderStatus = PhoneNumberOrderStatus'+  { fromPhoneNumberOrderStatus ::+      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 PhoneNumberOrderStatus_Failed :: PhoneNumberOrderStatus+pattern PhoneNumberOrderStatus_Failed = PhoneNumberOrderStatus' "Failed"++pattern PhoneNumberOrderStatus_Partial :: PhoneNumberOrderStatus+pattern PhoneNumberOrderStatus_Partial = PhoneNumberOrderStatus' "Partial"++pattern PhoneNumberOrderStatus_Processing :: PhoneNumberOrderStatus+pattern PhoneNumberOrderStatus_Processing = PhoneNumberOrderStatus' "Processing"++pattern PhoneNumberOrderStatus_Successful :: PhoneNumberOrderStatus+pattern PhoneNumberOrderStatus_Successful = PhoneNumberOrderStatus' "Successful"++{-# COMPLETE+  PhoneNumberOrderStatus_Failed,+  PhoneNumberOrderStatus_Partial,+  PhoneNumberOrderStatus_Processing,+  PhoneNumberOrderStatus_Successful,+  PhoneNumberOrderStatus'+  #-}
+ gen/Amazonka/Chime/Types/PhoneNumberProductType.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.Chime.Types.PhoneNumberProductType+-- 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.Chime.Types.PhoneNumberProductType+  ( PhoneNumberProductType+      ( ..,+        PhoneNumberProductType_BusinessCalling,+        PhoneNumberProductType_SipMediaApplicationDialIn,+        PhoneNumberProductType_VoiceConnector+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PhoneNumberProductType = PhoneNumberProductType'+  { fromPhoneNumberProductType ::+      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 PhoneNumberProductType_BusinessCalling :: PhoneNumberProductType+pattern PhoneNumberProductType_BusinessCalling = PhoneNumberProductType' "BusinessCalling"++pattern PhoneNumberProductType_SipMediaApplicationDialIn :: PhoneNumberProductType+pattern PhoneNumberProductType_SipMediaApplicationDialIn = PhoneNumberProductType' "SipMediaApplicationDialIn"++pattern PhoneNumberProductType_VoiceConnector :: PhoneNumberProductType+pattern PhoneNumberProductType_VoiceConnector = PhoneNumberProductType' "VoiceConnector"++{-# COMPLETE+  PhoneNumberProductType_BusinessCalling,+  PhoneNumberProductType_SipMediaApplicationDialIn,+  PhoneNumberProductType_VoiceConnector,+  PhoneNumberProductType'+  #-}
+ gen/Amazonka/Chime/Types/PhoneNumberStatus.hs view
@@ -0,0 +1,101 @@+{-# 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.Chime.Types.PhoneNumberStatus+-- 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.Chime.Types.PhoneNumberStatus+  ( PhoneNumberStatus+      ( ..,+        PhoneNumberStatus_AcquireFailed,+        PhoneNumberStatus_AcquireInProgress,+        PhoneNumberStatus_Assigned,+        PhoneNumberStatus_DeleteFailed,+        PhoneNumberStatus_DeleteInProgress,+        PhoneNumberStatus_ReleaseFailed,+        PhoneNumberStatus_ReleaseInProgress,+        PhoneNumberStatus_Unassigned+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PhoneNumberStatus = PhoneNumberStatus'+  { fromPhoneNumberStatus ::+      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 PhoneNumberStatus_AcquireFailed :: PhoneNumberStatus+pattern PhoneNumberStatus_AcquireFailed = PhoneNumberStatus' "AcquireFailed"++pattern PhoneNumberStatus_AcquireInProgress :: PhoneNumberStatus+pattern PhoneNumberStatus_AcquireInProgress = PhoneNumberStatus' "AcquireInProgress"++pattern PhoneNumberStatus_Assigned :: PhoneNumberStatus+pattern PhoneNumberStatus_Assigned = PhoneNumberStatus' "Assigned"++pattern PhoneNumberStatus_DeleteFailed :: PhoneNumberStatus+pattern PhoneNumberStatus_DeleteFailed = PhoneNumberStatus' "DeleteFailed"++pattern PhoneNumberStatus_DeleteInProgress :: PhoneNumberStatus+pattern PhoneNumberStatus_DeleteInProgress = PhoneNumberStatus' "DeleteInProgress"++pattern PhoneNumberStatus_ReleaseFailed :: PhoneNumberStatus+pattern PhoneNumberStatus_ReleaseFailed = PhoneNumberStatus' "ReleaseFailed"++pattern PhoneNumberStatus_ReleaseInProgress :: PhoneNumberStatus+pattern PhoneNumberStatus_ReleaseInProgress = PhoneNumberStatus' "ReleaseInProgress"++pattern PhoneNumberStatus_Unassigned :: PhoneNumberStatus+pattern PhoneNumberStatus_Unassigned = PhoneNumberStatus' "Unassigned"++{-# COMPLETE+  PhoneNumberStatus_AcquireFailed,+  PhoneNumberStatus_AcquireInProgress,+  PhoneNumberStatus_Assigned,+  PhoneNumberStatus_DeleteFailed,+  PhoneNumberStatus_DeleteInProgress,+  PhoneNumberStatus_ReleaseFailed,+  PhoneNumberStatus_ReleaseInProgress,+  PhoneNumberStatus_Unassigned,+  PhoneNumberStatus'+  #-}
+ gen/Amazonka/Chime/Types/PhoneNumberType.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.Chime.Types.PhoneNumberType+-- 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.Chime.Types.PhoneNumberType+  ( PhoneNumberType+      ( ..,+        PhoneNumberType_Local,+        PhoneNumberType_TollFree+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PhoneNumberType = PhoneNumberType'+  { fromPhoneNumberType ::+      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 PhoneNumberType_Local :: PhoneNumberType+pattern PhoneNumberType_Local = PhoneNumberType' "Local"++pattern PhoneNumberType_TollFree :: PhoneNumberType+pattern PhoneNumberType_TollFree = PhoneNumberType' "TollFree"++{-# COMPLETE+  PhoneNumberType_Local,+  PhoneNumberType_TollFree,+  PhoneNumberType'+  #-}
+ gen/Amazonka/Chime/Types/Proxy.hs view
@@ -0,0 +1,115 @@+{-# 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.Chime.Types.Proxy+-- 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.Chime.Types.Proxy 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 proxy configuration for an Amazon Chime Voice Connector.+--+-- /See:/ 'newProxy' smart constructor.+data Proxy = Proxy'+  { -- | The default number of minutes allowed for proxy sessions.+    defaultSessionExpiryMinutes :: Prelude.Maybe Prelude.Int,+    -- | When true, stops proxy sessions from being created on the specified+    -- Amazon Chime Voice Connector.+    disabled :: Prelude.Maybe Prelude.Bool,+    -- | The phone number to route calls to after a proxy session expires.+    fallBackPhoneNumber :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The countries for proxy phone numbers to be selected from.+    phoneNumberCountries :: Prelude.Maybe [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Proxy' 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:+--+-- 'defaultSessionExpiryMinutes', 'proxy_defaultSessionExpiryMinutes' - The default number of minutes allowed for proxy sessions.+--+-- 'disabled', 'proxy_disabled' - When true, stops proxy sessions from being created on the specified+-- Amazon Chime Voice Connector.+--+-- 'fallBackPhoneNumber', 'proxy_fallBackPhoneNumber' - The phone number to route calls to after a proxy session expires.+--+-- 'phoneNumberCountries', 'proxy_phoneNumberCountries' - The countries for proxy phone numbers to be selected from.+newProxy ::+  Proxy+newProxy =+  Proxy'+    { defaultSessionExpiryMinutes =+        Prelude.Nothing,+      disabled = Prelude.Nothing,+      fallBackPhoneNumber = Prelude.Nothing,+      phoneNumberCountries = Prelude.Nothing+    }++-- | The default number of minutes allowed for proxy sessions.+proxy_defaultSessionExpiryMinutes :: Lens.Lens' Proxy (Prelude.Maybe Prelude.Int)+proxy_defaultSessionExpiryMinutes = Lens.lens (\Proxy' {defaultSessionExpiryMinutes} -> defaultSessionExpiryMinutes) (\s@Proxy' {} a -> s {defaultSessionExpiryMinutes = a} :: Proxy)++-- | When true, stops proxy sessions from being created on the specified+-- Amazon Chime Voice Connector.+proxy_disabled :: Lens.Lens' Proxy (Prelude.Maybe Prelude.Bool)+proxy_disabled = Lens.lens (\Proxy' {disabled} -> disabled) (\s@Proxy' {} a -> s {disabled = a} :: Proxy)++-- | The phone number to route calls to after a proxy session expires.+proxy_fallBackPhoneNumber :: Lens.Lens' Proxy (Prelude.Maybe Prelude.Text)+proxy_fallBackPhoneNumber = Lens.lens (\Proxy' {fallBackPhoneNumber} -> fallBackPhoneNumber) (\s@Proxy' {} a -> s {fallBackPhoneNumber = a} :: Proxy) Prelude.. Lens.mapping Data._Sensitive++-- | The countries for proxy phone numbers to be selected from.+proxy_phoneNumberCountries :: Lens.Lens' Proxy (Prelude.Maybe [Prelude.Text])+proxy_phoneNumberCountries = Lens.lens (\Proxy' {phoneNumberCountries} -> phoneNumberCountries) (\s@Proxy' {} a -> s {phoneNumberCountries = a} :: Proxy) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON Proxy where+  parseJSON =+    Data.withObject+      "Proxy"+      ( \x ->+          Proxy'+            Prelude.<$> (x Data..:? "DefaultSessionExpiryMinutes")+            Prelude.<*> (x Data..:? "Disabled")+            Prelude.<*> (x Data..:? "FallBackPhoneNumber")+            Prelude.<*> ( x+                            Data..:? "PhoneNumberCountries"+                            Data..!= Prelude.mempty+                        )+      )++instance Prelude.Hashable Proxy where+  hashWithSalt _salt Proxy' {..} =+    _salt+      `Prelude.hashWithSalt` defaultSessionExpiryMinutes+      `Prelude.hashWithSalt` disabled+      `Prelude.hashWithSalt` fallBackPhoneNumber+      `Prelude.hashWithSalt` phoneNumberCountries++instance Prelude.NFData Proxy where+  rnf Proxy' {..} =+    Prelude.rnf defaultSessionExpiryMinutes+      `Prelude.seq` Prelude.rnf disabled+      `Prelude.seq` Prelude.rnf fallBackPhoneNumber+      `Prelude.seq` Prelude.rnf phoneNumberCountries
+ gen/Amazonka/Chime/Types/ProxySession.hs view
@@ -0,0 +1,228 @@+{-# 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.Chime.Types.ProxySession+-- 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.Chime.Types.ProxySession where++import Amazonka.Chime.Types.Capability+import Amazonka.Chime.Types.GeoMatchLevel+import Amazonka.Chime.Types.GeoMatchParams+import Amazonka.Chime.Types.NumberSelectionBehavior+import Amazonka.Chime.Types.Participant+import Amazonka.Chime.Types.ProxySessionStatus+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 proxy session for an Amazon Chime Voice Connector.+--+-- /See:/ 'newProxySession' smart constructor.+data ProxySession = ProxySession'+  { -- | The proxy session capabilities.+    capabilities :: Prelude.Maybe [Capability],+    -- | The created time stamp, in ISO 8601 format.+    createdTimestamp :: Prelude.Maybe Data.ISO8601,+    -- | The ended time stamp, in ISO 8601 format.+    endedTimestamp :: Prelude.Maybe Data.ISO8601,+    -- | The number of minutes allowed for the proxy session.+    expiryMinutes :: Prelude.Maybe Prelude.Natural,+    -- | The preference for matching the country or area code of the proxy phone+    -- number with that of the first participant.+    geoMatchLevel :: Prelude.Maybe GeoMatchLevel,+    -- | The country and area code for the proxy phone number.+    geoMatchParams :: Prelude.Maybe GeoMatchParams,+    -- | The name of the proxy session.+    name :: Prelude.Maybe Prelude.Text,+    -- | The preference for proxy phone number reuse, or stickiness, between the+    -- same participants across sessions.+    numberSelectionBehavior :: Prelude.Maybe NumberSelectionBehavior,+    -- | The proxy session participants.+    participants :: Prelude.Maybe [Participant],+    -- | The proxy session ID.+    proxySessionId :: Prelude.Maybe Prelude.Text,+    -- | The status of the proxy session.+    status :: Prelude.Maybe ProxySessionStatus,+    -- | The updated time stamp, in ISO 8601 format.+    updatedTimestamp :: Prelude.Maybe Data.ISO8601,+    -- | The Amazon Chime voice connector ID.+    voiceConnectorId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ProxySession' 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', 'proxySession_capabilities' - The proxy session capabilities.+--+-- 'createdTimestamp', 'proxySession_createdTimestamp' - The created time stamp, in ISO 8601 format.+--+-- 'endedTimestamp', 'proxySession_endedTimestamp' - The ended time stamp, in ISO 8601 format.+--+-- 'expiryMinutes', 'proxySession_expiryMinutes' - The number of minutes allowed for the proxy session.+--+-- 'geoMatchLevel', 'proxySession_geoMatchLevel' - The preference for matching the country or area code of the proxy phone+-- number with that of the first participant.+--+-- 'geoMatchParams', 'proxySession_geoMatchParams' - The country and area code for the proxy phone number.+--+-- 'name', 'proxySession_name' - The name of the proxy session.+--+-- 'numberSelectionBehavior', 'proxySession_numberSelectionBehavior' - The preference for proxy phone number reuse, or stickiness, between the+-- same participants across sessions.+--+-- 'participants', 'proxySession_participants' - The proxy session participants.+--+-- 'proxySessionId', 'proxySession_proxySessionId' - The proxy session ID.+--+-- 'status', 'proxySession_status' - The status of the proxy session.+--+-- 'updatedTimestamp', 'proxySession_updatedTimestamp' - The updated time stamp, in ISO 8601 format.+--+-- 'voiceConnectorId', 'proxySession_voiceConnectorId' - The Amazon Chime voice connector ID.+newProxySession ::+  ProxySession+newProxySession =+  ProxySession'+    { capabilities = Prelude.Nothing,+      createdTimestamp = Prelude.Nothing,+      endedTimestamp = Prelude.Nothing,+      expiryMinutes = Prelude.Nothing,+      geoMatchLevel = Prelude.Nothing,+      geoMatchParams = Prelude.Nothing,+      name = Prelude.Nothing,+      numberSelectionBehavior = Prelude.Nothing,+      participants = Prelude.Nothing,+      proxySessionId = Prelude.Nothing,+      status = Prelude.Nothing,+      updatedTimestamp = Prelude.Nothing,+      voiceConnectorId = Prelude.Nothing+    }++-- | The proxy session capabilities.+proxySession_capabilities :: Lens.Lens' ProxySession (Prelude.Maybe [Capability])+proxySession_capabilities = Lens.lens (\ProxySession' {capabilities} -> capabilities) (\s@ProxySession' {} a -> s {capabilities = a} :: ProxySession) Prelude.. Lens.mapping Lens.coerced++-- | The created time stamp, in ISO 8601 format.+proxySession_createdTimestamp :: Lens.Lens' ProxySession (Prelude.Maybe Prelude.UTCTime)+proxySession_createdTimestamp = Lens.lens (\ProxySession' {createdTimestamp} -> createdTimestamp) (\s@ProxySession' {} a -> s {createdTimestamp = a} :: ProxySession) Prelude.. Lens.mapping Data._Time++-- | The ended time stamp, in ISO 8601 format.+proxySession_endedTimestamp :: Lens.Lens' ProxySession (Prelude.Maybe Prelude.UTCTime)+proxySession_endedTimestamp = Lens.lens (\ProxySession' {endedTimestamp} -> endedTimestamp) (\s@ProxySession' {} a -> s {endedTimestamp = a} :: ProxySession) Prelude.. Lens.mapping Data._Time++-- | The number of minutes allowed for the proxy session.+proxySession_expiryMinutes :: Lens.Lens' ProxySession (Prelude.Maybe Prelude.Natural)+proxySession_expiryMinutes = Lens.lens (\ProxySession' {expiryMinutes} -> expiryMinutes) (\s@ProxySession' {} a -> s {expiryMinutes = a} :: ProxySession)++-- | The preference for matching the country or area code of the proxy phone+-- number with that of the first participant.+proxySession_geoMatchLevel :: Lens.Lens' ProxySession (Prelude.Maybe GeoMatchLevel)+proxySession_geoMatchLevel = Lens.lens (\ProxySession' {geoMatchLevel} -> geoMatchLevel) (\s@ProxySession' {} a -> s {geoMatchLevel = a} :: ProxySession)++-- | The country and area code for the proxy phone number.+proxySession_geoMatchParams :: Lens.Lens' ProxySession (Prelude.Maybe GeoMatchParams)+proxySession_geoMatchParams = Lens.lens (\ProxySession' {geoMatchParams} -> geoMatchParams) (\s@ProxySession' {} a -> s {geoMatchParams = a} :: ProxySession)++-- | The name of the proxy session.+proxySession_name :: Lens.Lens' ProxySession (Prelude.Maybe Prelude.Text)+proxySession_name = Lens.lens (\ProxySession' {name} -> name) (\s@ProxySession' {} a -> s {name = a} :: ProxySession)++-- | The preference for proxy phone number reuse, or stickiness, between the+-- same participants across sessions.+proxySession_numberSelectionBehavior :: Lens.Lens' ProxySession (Prelude.Maybe NumberSelectionBehavior)+proxySession_numberSelectionBehavior = Lens.lens (\ProxySession' {numberSelectionBehavior} -> numberSelectionBehavior) (\s@ProxySession' {} a -> s {numberSelectionBehavior = a} :: ProxySession)++-- | The proxy session participants.+proxySession_participants :: Lens.Lens' ProxySession (Prelude.Maybe [Participant])+proxySession_participants = Lens.lens (\ProxySession' {participants} -> participants) (\s@ProxySession' {} a -> s {participants = a} :: ProxySession) Prelude.. Lens.mapping Lens.coerced++-- | The proxy session ID.+proxySession_proxySessionId :: Lens.Lens' ProxySession (Prelude.Maybe Prelude.Text)+proxySession_proxySessionId = Lens.lens (\ProxySession' {proxySessionId} -> proxySessionId) (\s@ProxySession' {} a -> s {proxySessionId = a} :: ProxySession)++-- | The status of the proxy session.+proxySession_status :: Lens.Lens' ProxySession (Prelude.Maybe ProxySessionStatus)+proxySession_status = Lens.lens (\ProxySession' {status} -> status) (\s@ProxySession' {} a -> s {status = a} :: ProxySession)++-- | The updated time stamp, in ISO 8601 format.+proxySession_updatedTimestamp :: Lens.Lens' ProxySession (Prelude.Maybe Prelude.UTCTime)+proxySession_updatedTimestamp = Lens.lens (\ProxySession' {updatedTimestamp} -> updatedTimestamp) (\s@ProxySession' {} a -> s {updatedTimestamp = a} :: ProxySession) Prelude.. Lens.mapping Data._Time++-- | The Amazon Chime voice connector ID.+proxySession_voiceConnectorId :: Lens.Lens' ProxySession (Prelude.Maybe Prelude.Text)+proxySession_voiceConnectorId = Lens.lens (\ProxySession' {voiceConnectorId} -> voiceConnectorId) (\s@ProxySession' {} a -> s {voiceConnectorId = a} :: ProxySession)++instance Data.FromJSON ProxySession where+  parseJSON =+    Data.withObject+      "ProxySession"+      ( \x ->+          ProxySession'+            Prelude.<$> (x Data..:? "Capabilities" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "CreatedTimestamp")+            Prelude.<*> (x Data..:? "EndedTimestamp")+            Prelude.<*> (x Data..:? "ExpiryMinutes")+            Prelude.<*> (x Data..:? "GeoMatchLevel")+            Prelude.<*> (x Data..:? "GeoMatchParams")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "NumberSelectionBehavior")+            Prelude.<*> (x Data..:? "Participants" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "ProxySessionId")+            Prelude.<*> (x Data..:? "Status")+            Prelude.<*> (x Data..:? "UpdatedTimestamp")+            Prelude.<*> (x Data..:? "VoiceConnectorId")+      )++instance Prelude.Hashable ProxySession where+  hashWithSalt _salt ProxySession' {..} =+    _salt+      `Prelude.hashWithSalt` capabilities+      `Prelude.hashWithSalt` createdTimestamp+      `Prelude.hashWithSalt` endedTimestamp+      `Prelude.hashWithSalt` expiryMinutes+      `Prelude.hashWithSalt` geoMatchLevel+      `Prelude.hashWithSalt` geoMatchParams+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` numberSelectionBehavior+      `Prelude.hashWithSalt` participants+      `Prelude.hashWithSalt` proxySessionId+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` updatedTimestamp+      `Prelude.hashWithSalt` voiceConnectorId++instance Prelude.NFData ProxySession where+  rnf ProxySession' {..} =+    Prelude.rnf capabilities+      `Prelude.seq` Prelude.rnf createdTimestamp+      `Prelude.seq` Prelude.rnf endedTimestamp+      `Prelude.seq` Prelude.rnf expiryMinutes+      `Prelude.seq` Prelude.rnf geoMatchLevel+      `Prelude.seq` Prelude.rnf geoMatchParams+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf numberSelectionBehavior+      `Prelude.seq` Prelude.rnf participants+      `Prelude.seq` Prelude.rnf proxySessionId+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf updatedTimestamp+      `Prelude.seq` Prelude.rnf voiceConnectorId
+ gen/Amazonka/Chime/Types/ProxySessionStatus.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.Chime.Types.ProxySessionStatus+-- 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.Chime.Types.ProxySessionStatus+  ( ProxySessionStatus+      ( ..,+        ProxySessionStatus_Closed,+        ProxySessionStatus_InProgress,+        ProxySessionStatus_Open+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ProxySessionStatus = ProxySessionStatus'+  { fromProxySessionStatus ::+      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 ProxySessionStatus_Closed :: ProxySessionStatus+pattern ProxySessionStatus_Closed = ProxySessionStatus' "Closed"++pattern ProxySessionStatus_InProgress :: ProxySessionStatus+pattern ProxySessionStatus_InProgress = ProxySessionStatus' "InProgress"++pattern ProxySessionStatus_Open :: ProxySessionStatus+pattern ProxySessionStatus_Open = ProxySessionStatus' "Open"++{-# COMPLETE+  ProxySessionStatus_Closed,+  ProxySessionStatus_InProgress,+  ProxySessionStatus_Open,+  ProxySessionStatus'+  #-}
+ gen/Amazonka/Chime/Types/RegistrationStatus.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.Chime.Types.RegistrationStatus+-- 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.Chime.Types.RegistrationStatus+  ( RegistrationStatus+      ( ..,+        RegistrationStatus_Registered,+        RegistrationStatus_Suspended,+        RegistrationStatus_Unregistered+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype RegistrationStatus = RegistrationStatus'+  { fromRegistrationStatus ::+      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 RegistrationStatus_Registered :: RegistrationStatus+pattern RegistrationStatus_Registered = RegistrationStatus' "Registered"++pattern RegistrationStatus_Suspended :: RegistrationStatus+pattern RegistrationStatus_Suspended = RegistrationStatus' "Suspended"++pattern RegistrationStatus_Unregistered :: RegistrationStatus+pattern RegistrationStatus_Unregistered = RegistrationStatus' "Unregistered"++{-# COMPLETE+  RegistrationStatus_Registered,+  RegistrationStatus_Suspended,+  RegistrationStatus_Unregistered,+  RegistrationStatus'+  #-}
+ gen/Amazonka/Chime/Types/RetentionSettings.hs view
@@ -0,0 +1,100 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Chime.Types.RetentionSettings+-- 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.Chime.Types.RetentionSettings where++import Amazonka.Chime.Types.ConversationRetentionSettings+import Amazonka.Chime.Types.RoomRetentionSettings+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 retention settings for an Amazon Chime Enterprise account that+-- determine how long to retain items such as chat-room messages and+-- chat-conversation messages.+--+-- /See:/ 'newRetentionSettings' smart constructor.+data RetentionSettings = RetentionSettings'+  { -- | The chat conversation retention settings.+    conversationRetentionSettings :: Prelude.Maybe ConversationRetentionSettings,+    -- | The chat room retention settings.+    roomRetentionSettings :: Prelude.Maybe RoomRetentionSettings+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RetentionSettings' 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:+--+-- 'conversationRetentionSettings', 'retentionSettings_conversationRetentionSettings' - The chat conversation retention settings.+--+-- 'roomRetentionSettings', 'retentionSettings_roomRetentionSettings' - The chat room retention settings.+newRetentionSettings ::+  RetentionSettings+newRetentionSettings =+  RetentionSettings'+    { conversationRetentionSettings =+        Prelude.Nothing,+      roomRetentionSettings = Prelude.Nothing+    }++-- | The chat conversation retention settings.+retentionSettings_conversationRetentionSettings :: Lens.Lens' RetentionSettings (Prelude.Maybe ConversationRetentionSettings)+retentionSettings_conversationRetentionSettings = Lens.lens (\RetentionSettings' {conversationRetentionSettings} -> conversationRetentionSettings) (\s@RetentionSettings' {} a -> s {conversationRetentionSettings = a} :: RetentionSettings)++-- | The chat room retention settings.+retentionSettings_roomRetentionSettings :: Lens.Lens' RetentionSettings (Prelude.Maybe RoomRetentionSettings)+retentionSettings_roomRetentionSettings = Lens.lens (\RetentionSettings' {roomRetentionSettings} -> roomRetentionSettings) (\s@RetentionSettings' {} a -> s {roomRetentionSettings = a} :: RetentionSettings)++instance Data.FromJSON RetentionSettings where+  parseJSON =+    Data.withObject+      "RetentionSettings"+      ( \x ->+          RetentionSettings'+            Prelude.<$> (x Data..:? "ConversationRetentionSettings")+            Prelude.<*> (x Data..:? "RoomRetentionSettings")+      )++instance Prelude.Hashable RetentionSettings where+  hashWithSalt _salt RetentionSettings' {..} =+    _salt+      `Prelude.hashWithSalt` conversationRetentionSettings+      `Prelude.hashWithSalt` roomRetentionSettings++instance Prelude.NFData RetentionSettings where+  rnf RetentionSettings' {..} =+    Prelude.rnf conversationRetentionSettings+      `Prelude.seq` Prelude.rnf roomRetentionSettings++instance Data.ToJSON RetentionSettings where+  toJSON RetentionSettings' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ConversationRetentionSettings" Data..=)+              Prelude.<$> conversationRetentionSettings,+            ("RoomRetentionSettings" Data..=)+              Prelude.<$> roomRetentionSettings+          ]+      )
+ gen/Amazonka/Chime/Types/Room.hs view
@@ -0,0 +1,132 @@+{-# 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.Chime.Types.Room+-- 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.Chime.Types.Room 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 Amazon Chime chat room details.+--+-- /See:/ 'newRoom' smart constructor.+data Room = Room'+  { -- | The Amazon Chime account ID.+    accountId :: Prelude.Maybe Prelude.Text,+    -- | The identifier of the room creator.+    createdBy :: Prelude.Maybe Prelude.Text,+    -- | The room creation timestamp, in ISO 8601 format.+    createdTimestamp :: Prelude.Maybe Data.ISO8601,+    -- | The room name.+    name :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The room ID.+    roomId :: Prelude.Maybe Prelude.Text,+    -- | The room update timestamp, in ISO 8601 format.+    updatedTimestamp :: Prelude.Maybe Data.ISO8601+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Room' 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:+--+-- 'accountId', 'room_accountId' - The Amazon Chime account ID.+--+-- 'createdBy', 'room_createdBy' - The identifier of the room creator.+--+-- 'createdTimestamp', 'room_createdTimestamp' - The room creation timestamp, in ISO 8601 format.+--+-- 'name', 'room_name' - The room name.+--+-- 'roomId', 'room_roomId' - The room ID.+--+-- 'updatedTimestamp', 'room_updatedTimestamp' - The room update timestamp, in ISO 8601 format.+newRoom ::+  Room+newRoom =+  Room'+    { accountId = Prelude.Nothing,+      createdBy = Prelude.Nothing,+      createdTimestamp = Prelude.Nothing,+      name = Prelude.Nothing,+      roomId = Prelude.Nothing,+      updatedTimestamp = Prelude.Nothing+    }++-- | The Amazon Chime account ID.+room_accountId :: Lens.Lens' Room (Prelude.Maybe Prelude.Text)+room_accountId = Lens.lens (\Room' {accountId} -> accountId) (\s@Room' {} a -> s {accountId = a} :: Room)++-- | The identifier of the room creator.+room_createdBy :: Lens.Lens' Room (Prelude.Maybe Prelude.Text)+room_createdBy = Lens.lens (\Room' {createdBy} -> createdBy) (\s@Room' {} a -> s {createdBy = a} :: Room)++-- | The room creation timestamp, in ISO 8601 format.+room_createdTimestamp :: Lens.Lens' Room (Prelude.Maybe Prelude.UTCTime)+room_createdTimestamp = Lens.lens (\Room' {createdTimestamp} -> createdTimestamp) (\s@Room' {} a -> s {createdTimestamp = a} :: Room) Prelude.. Lens.mapping Data._Time++-- | The room name.+room_name :: Lens.Lens' Room (Prelude.Maybe Prelude.Text)+room_name = Lens.lens (\Room' {name} -> name) (\s@Room' {} a -> s {name = a} :: Room) Prelude.. Lens.mapping Data._Sensitive++-- | The room ID.+room_roomId :: Lens.Lens' Room (Prelude.Maybe Prelude.Text)+room_roomId = Lens.lens (\Room' {roomId} -> roomId) (\s@Room' {} a -> s {roomId = a} :: Room)++-- | The room update timestamp, in ISO 8601 format.+room_updatedTimestamp :: Lens.Lens' Room (Prelude.Maybe Prelude.UTCTime)+room_updatedTimestamp = Lens.lens (\Room' {updatedTimestamp} -> updatedTimestamp) (\s@Room' {} a -> s {updatedTimestamp = a} :: Room) Prelude.. Lens.mapping Data._Time++instance Data.FromJSON Room where+  parseJSON =+    Data.withObject+      "Room"+      ( \x ->+          Room'+            Prelude.<$> (x Data..:? "AccountId")+            Prelude.<*> (x Data..:? "CreatedBy")+            Prelude.<*> (x Data..:? "CreatedTimestamp")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "RoomId")+            Prelude.<*> (x Data..:? "UpdatedTimestamp")+      )++instance Prelude.Hashable Room where+  hashWithSalt _salt Room' {..} =+    _salt+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` createdBy+      `Prelude.hashWithSalt` createdTimestamp+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` roomId+      `Prelude.hashWithSalt` updatedTimestamp++instance Prelude.NFData Room where+  rnf Room' {..} =+    Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf createdBy+      `Prelude.seq` Prelude.rnf createdTimestamp+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf roomId+      `Prelude.seq` Prelude.rnf updatedTimestamp
+ gen/Amazonka/Chime/Types/RoomMembership.hs view
@@ -0,0 +1,121 @@+{-# 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.Chime.Types.RoomMembership+-- 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.Chime.Types.RoomMembership where++import Amazonka.Chime.Types.Member+import Amazonka.Chime.Types.RoomMembershipRole+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 room membership details.+--+-- /See:/ 'newRoomMembership' smart constructor.+data RoomMembership = RoomMembership'+  { -- | The identifier of the user that invited the room member.+    invitedBy :: Prelude.Maybe Prelude.Text,+    member :: Prelude.Maybe Member,+    -- | The membership role.+    role' :: Prelude.Maybe RoomMembershipRole,+    -- | The room ID.+    roomId :: Prelude.Maybe Prelude.Text,+    -- | The room membership update timestamp, in ISO 8601 format.+    updatedTimestamp :: Prelude.Maybe Data.ISO8601+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RoomMembership' 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:+--+-- 'invitedBy', 'roomMembership_invitedBy' - The identifier of the user that invited the room member.+--+-- 'member', 'roomMembership_member' - Undocumented member.+--+-- 'role'', 'roomMembership_role' - The membership role.+--+-- 'roomId', 'roomMembership_roomId' - The room ID.+--+-- 'updatedTimestamp', 'roomMembership_updatedTimestamp' - The room membership update timestamp, in ISO 8601 format.+newRoomMembership ::+  RoomMembership+newRoomMembership =+  RoomMembership'+    { invitedBy = Prelude.Nothing,+      member = Prelude.Nothing,+      role' = Prelude.Nothing,+      roomId = Prelude.Nothing,+      updatedTimestamp = Prelude.Nothing+    }++-- | The identifier of the user that invited the room member.+roomMembership_invitedBy :: Lens.Lens' RoomMembership (Prelude.Maybe Prelude.Text)+roomMembership_invitedBy = Lens.lens (\RoomMembership' {invitedBy} -> invitedBy) (\s@RoomMembership' {} a -> s {invitedBy = a} :: RoomMembership)++-- | Undocumented member.+roomMembership_member :: Lens.Lens' RoomMembership (Prelude.Maybe Member)+roomMembership_member = Lens.lens (\RoomMembership' {member} -> member) (\s@RoomMembership' {} a -> s {member = a} :: RoomMembership)++-- | The membership role.+roomMembership_role :: Lens.Lens' RoomMembership (Prelude.Maybe RoomMembershipRole)+roomMembership_role = Lens.lens (\RoomMembership' {role'} -> role') (\s@RoomMembership' {} a -> s {role' = a} :: RoomMembership)++-- | The room ID.+roomMembership_roomId :: Lens.Lens' RoomMembership (Prelude.Maybe Prelude.Text)+roomMembership_roomId = Lens.lens (\RoomMembership' {roomId} -> roomId) (\s@RoomMembership' {} a -> s {roomId = a} :: RoomMembership)++-- | The room membership update timestamp, in ISO 8601 format.+roomMembership_updatedTimestamp :: Lens.Lens' RoomMembership (Prelude.Maybe Prelude.UTCTime)+roomMembership_updatedTimestamp = Lens.lens (\RoomMembership' {updatedTimestamp} -> updatedTimestamp) (\s@RoomMembership' {} a -> s {updatedTimestamp = a} :: RoomMembership) Prelude.. Lens.mapping Data._Time++instance Data.FromJSON RoomMembership where+  parseJSON =+    Data.withObject+      "RoomMembership"+      ( \x ->+          RoomMembership'+            Prelude.<$> (x Data..:? "InvitedBy")+            Prelude.<*> (x Data..:? "Member")+            Prelude.<*> (x Data..:? "Role")+            Prelude.<*> (x Data..:? "RoomId")+            Prelude.<*> (x Data..:? "UpdatedTimestamp")+      )++instance Prelude.Hashable RoomMembership where+  hashWithSalt _salt RoomMembership' {..} =+    _salt+      `Prelude.hashWithSalt` invitedBy+      `Prelude.hashWithSalt` member+      `Prelude.hashWithSalt` role'+      `Prelude.hashWithSalt` roomId+      `Prelude.hashWithSalt` updatedTimestamp++instance Prelude.NFData RoomMembership where+  rnf RoomMembership' {..} =+    Prelude.rnf invitedBy+      `Prelude.seq` Prelude.rnf member+      `Prelude.seq` Prelude.rnf role'+      `Prelude.seq` Prelude.rnf roomId+      `Prelude.seq` Prelude.rnf updatedTimestamp
+ gen/Amazonka/Chime/Types/RoomMembershipRole.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.Chime.Types.RoomMembershipRole+-- 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.Chime.Types.RoomMembershipRole+  ( RoomMembershipRole+      ( ..,+        RoomMembershipRole_Administrator,+        RoomMembershipRole_Member+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype RoomMembershipRole = RoomMembershipRole'+  { fromRoomMembershipRole ::+      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 RoomMembershipRole_Administrator :: RoomMembershipRole+pattern RoomMembershipRole_Administrator = RoomMembershipRole' "Administrator"++pattern RoomMembershipRole_Member :: RoomMembershipRole+pattern RoomMembershipRole_Member = RoomMembershipRole' "Member"++{-# COMPLETE+  RoomMembershipRole_Administrator,+  RoomMembershipRole_Member,+  RoomMembershipRole'+  #-}
+ gen/Amazonka/Chime/Types/RoomRetentionSettings.hs view
@@ -0,0 +1,82 @@+{-# 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.Chime.Types.RoomRetentionSettings+-- 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.Chime.Types.RoomRetentionSettings 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 retention settings that determine how long to retain chat-room+-- messages for an Amazon Chime Enterprise account.+--+-- /See:/ 'newRoomRetentionSettings' smart constructor.+data RoomRetentionSettings = RoomRetentionSettings'+  { -- | The number of days for which to retain chat-room messages.+    retentionDays :: Prelude.Maybe Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RoomRetentionSettings' 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:+--+-- 'retentionDays', 'roomRetentionSettings_retentionDays' - The number of days for which to retain chat-room messages.+newRoomRetentionSettings ::+  RoomRetentionSettings+newRoomRetentionSettings =+  RoomRetentionSettings'+    { retentionDays =+        Prelude.Nothing+    }++-- | The number of days for which to retain chat-room messages.+roomRetentionSettings_retentionDays :: Lens.Lens' RoomRetentionSettings (Prelude.Maybe Prelude.Natural)+roomRetentionSettings_retentionDays = Lens.lens (\RoomRetentionSettings' {retentionDays} -> retentionDays) (\s@RoomRetentionSettings' {} a -> s {retentionDays = a} :: RoomRetentionSettings)++instance Data.FromJSON RoomRetentionSettings where+  parseJSON =+    Data.withObject+      "RoomRetentionSettings"+      ( \x ->+          RoomRetentionSettings'+            Prelude.<$> (x Data..:? "RetentionDays")+      )++instance Prelude.Hashable RoomRetentionSettings where+  hashWithSalt _salt RoomRetentionSettings' {..} =+    _salt `Prelude.hashWithSalt` retentionDays++instance Prelude.NFData RoomRetentionSettings where+  rnf RoomRetentionSettings' {..} =+    Prelude.rnf retentionDays++instance Data.ToJSON RoomRetentionSettings where+  toJSON RoomRetentionSettings' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("RetentionDays" Data..=)+              Prelude.<$> retentionDays+          ]+      )
+ gen/Amazonka/Chime/Types/SelectedVideoStreams.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Chime.Types.SelectedVideoStreams+-- 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.Chime.Types.SelectedVideoStreams 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 video streams to capture for a specified media capture pipeline. The+-- total number of video streams can\'t exceed 25.+--+-- /See:/ 'newSelectedVideoStreams' smart constructor.+data SelectedVideoStreams = SelectedVideoStreams'+  { -- | The attendee IDs of the streams selected for a media capture pipeline.+    attendeeIds :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+    -- | The external user IDs of the streams selected for a media capture+    -- pipeline.+    externalUserIds :: Prelude.Maybe (Prelude.NonEmpty (Data.Sensitive Prelude.Text))+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SelectedVideoStreams' 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:+--+-- 'attendeeIds', 'selectedVideoStreams_attendeeIds' - The attendee IDs of the streams selected for a media capture pipeline.+--+-- 'externalUserIds', 'selectedVideoStreams_externalUserIds' - The external user IDs of the streams selected for a media capture+-- pipeline.+newSelectedVideoStreams ::+  SelectedVideoStreams+newSelectedVideoStreams =+  SelectedVideoStreams'+    { attendeeIds =+        Prelude.Nothing,+      externalUserIds = Prelude.Nothing+    }++-- | The attendee IDs of the streams selected for a media capture pipeline.+selectedVideoStreams_attendeeIds :: Lens.Lens' SelectedVideoStreams (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+selectedVideoStreams_attendeeIds = Lens.lens (\SelectedVideoStreams' {attendeeIds} -> attendeeIds) (\s@SelectedVideoStreams' {} a -> s {attendeeIds = a} :: SelectedVideoStreams) Prelude.. Lens.mapping Lens.coerced++-- | The external user IDs of the streams selected for a media capture+-- pipeline.+selectedVideoStreams_externalUserIds :: Lens.Lens' SelectedVideoStreams (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+selectedVideoStreams_externalUserIds = Lens.lens (\SelectedVideoStreams' {externalUserIds} -> externalUserIds) (\s@SelectedVideoStreams' {} a -> s {externalUserIds = a} :: SelectedVideoStreams) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON SelectedVideoStreams where+  parseJSON =+    Data.withObject+      "SelectedVideoStreams"+      ( \x ->+          SelectedVideoStreams'+            Prelude.<$> (x Data..:? "AttendeeIds")+            Prelude.<*> (x Data..:? "ExternalUserIds")+      )++instance Prelude.Hashable SelectedVideoStreams where+  hashWithSalt _salt SelectedVideoStreams' {..} =+    _salt+      `Prelude.hashWithSalt` attendeeIds+      `Prelude.hashWithSalt` externalUserIds++instance Prelude.NFData SelectedVideoStreams where+  rnf SelectedVideoStreams' {..} =+    Prelude.rnf attendeeIds+      `Prelude.seq` Prelude.rnf externalUserIds++instance Data.ToJSON SelectedVideoStreams where+  toJSON SelectedVideoStreams' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AttendeeIds" Data..=) Prelude.<$> attendeeIds,+            ("ExternalUserIds" Data..=)+              Prelude.<$> externalUserIds+          ]+      )
+ gen/Amazonka/Chime/Types/SigninDelegateGroup.hs view
@@ -0,0 +1,76 @@+{-# 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.Chime.Types.SigninDelegateGroup+-- 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.Chime.Types.SigninDelegateGroup 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++-- | An Active Directory (AD) group whose members are granted permission to+-- act as delegates.+--+-- /See:/ 'newSigninDelegateGroup' smart constructor.+data SigninDelegateGroup = SigninDelegateGroup'+  { -- | The group name.+    groupName :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SigninDelegateGroup' 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:+--+-- 'groupName', 'signinDelegateGroup_groupName' - The group name.+newSigninDelegateGroup ::+  SigninDelegateGroup+newSigninDelegateGroup =+  SigninDelegateGroup' {groupName = Prelude.Nothing}++-- | The group name.+signinDelegateGroup_groupName :: Lens.Lens' SigninDelegateGroup (Prelude.Maybe Prelude.Text)+signinDelegateGroup_groupName = Lens.lens (\SigninDelegateGroup' {groupName} -> groupName) (\s@SigninDelegateGroup' {} a -> s {groupName = a} :: SigninDelegateGroup)++instance Data.FromJSON SigninDelegateGroup where+  parseJSON =+    Data.withObject+      "SigninDelegateGroup"+      ( \x ->+          SigninDelegateGroup'+            Prelude.<$> (x Data..:? "GroupName")+      )++instance Prelude.Hashable SigninDelegateGroup where+  hashWithSalt _salt SigninDelegateGroup' {..} =+    _salt `Prelude.hashWithSalt` groupName++instance Prelude.NFData SigninDelegateGroup where+  rnf SigninDelegateGroup' {..} = Prelude.rnf groupName++instance Data.ToJSON SigninDelegateGroup where+  toJSON SigninDelegateGroup' {..} =+    Data.object+      ( Prelude.catMaybes+          [("GroupName" Data..=) Prelude.<$> groupName]+      )
+ gen/Amazonka/Chime/Types/SipMediaApplication.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.Chime.Types.SipMediaApplication+-- 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.Chime.Types.SipMediaApplication where++import Amazonka.Chime.Types.SipMediaApplicationEndpoint+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The details of the SIP media application, including name and endpoints.+-- An AWS account can have multiple SIP media applications.+--+-- /See:/ 'newSipMediaApplication' smart constructor.+data SipMediaApplication = SipMediaApplication'+  { -- | The AWS Region in which the SIP media application is created.+    awsRegion :: Prelude.Maybe Prelude.Text,+    -- | The SIP media application creation timestamp, in ISO 8601 format.+    createdTimestamp :: Prelude.Maybe Data.ISO8601,+    -- | List of endpoints for SIP media application. Currently, only one+    -- endpoint per SIP media application is permitted.+    endpoints :: Prelude.Maybe (Prelude.NonEmpty SipMediaApplicationEndpoint),+    -- | The name of the SIP media application.+    name :: Prelude.Maybe Prelude.Text,+    -- | The SIP media application ID.+    sipMediaApplicationId :: Prelude.Maybe Prelude.Text,+    -- | The SIP media application updated timestamp, in ISO 8601 format.+    updatedTimestamp :: Prelude.Maybe Data.ISO8601+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SipMediaApplication' 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:+--+-- 'awsRegion', 'sipMediaApplication_awsRegion' - The AWS Region in which the SIP media application is created.+--+-- 'createdTimestamp', 'sipMediaApplication_createdTimestamp' - The SIP media application creation timestamp, in ISO 8601 format.+--+-- 'endpoints', 'sipMediaApplication_endpoints' - List of endpoints for SIP media application. Currently, only one+-- endpoint per SIP media application is permitted.+--+-- 'name', 'sipMediaApplication_name' - The name of the SIP media application.+--+-- 'sipMediaApplicationId', 'sipMediaApplication_sipMediaApplicationId' - The SIP media application ID.+--+-- 'updatedTimestamp', 'sipMediaApplication_updatedTimestamp' - The SIP media application updated timestamp, in ISO 8601 format.+newSipMediaApplication ::+  SipMediaApplication+newSipMediaApplication =+  SipMediaApplication'+    { awsRegion = Prelude.Nothing,+      createdTimestamp = Prelude.Nothing,+      endpoints = Prelude.Nothing,+      name = Prelude.Nothing,+      sipMediaApplicationId = Prelude.Nothing,+      updatedTimestamp = Prelude.Nothing+    }++-- | The AWS Region in which the SIP media application is created.+sipMediaApplication_awsRegion :: Lens.Lens' SipMediaApplication (Prelude.Maybe Prelude.Text)+sipMediaApplication_awsRegion = Lens.lens (\SipMediaApplication' {awsRegion} -> awsRegion) (\s@SipMediaApplication' {} a -> s {awsRegion = a} :: SipMediaApplication)++-- | The SIP media application creation timestamp, in ISO 8601 format.+sipMediaApplication_createdTimestamp :: Lens.Lens' SipMediaApplication (Prelude.Maybe Prelude.UTCTime)+sipMediaApplication_createdTimestamp = Lens.lens (\SipMediaApplication' {createdTimestamp} -> createdTimestamp) (\s@SipMediaApplication' {} a -> s {createdTimestamp = a} :: SipMediaApplication) Prelude.. Lens.mapping Data._Time++-- | List of endpoints for SIP media application. Currently, only one+-- endpoint per SIP media application is permitted.+sipMediaApplication_endpoints :: Lens.Lens' SipMediaApplication (Prelude.Maybe (Prelude.NonEmpty SipMediaApplicationEndpoint))+sipMediaApplication_endpoints = Lens.lens (\SipMediaApplication' {endpoints} -> endpoints) (\s@SipMediaApplication' {} a -> s {endpoints = a} :: SipMediaApplication) Prelude.. Lens.mapping Lens.coerced++-- | The name of the SIP media application.+sipMediaApplication_name :: Lens.Lens' SipMediaApplication (Prelude.Maybe Prelude.Text)+sipMediaApplication_name = Lens.lens (\SipMediaApplication' {name} -> name) (\s@SipMediaApplication' {} a -> s {name = a} :: SipMediaApplication)++-- | The SIP media application ID.+sipMediaApplication_sipMediaApplicationId :: Lens.Lens' SipMediaApplication (Prelude.Maybe Prelude.Text)+sipMediaApplication_sipMediaApplicationId = Lens.lens (\SipMediaApplication' {sipMediaApplicationId} -> sipMediaApplicationId) (\s@SipMediaApplication' {} a -> s {sipMediaApplicationId = a} :: SipMediaApplication)++-- | The SIP media application updated timestamp, in ISO 8601 format.+sipMediaApplication_updatedTimestamp :: Lens.Lens' SipMediaApplication (Prelude.Maybe Prelude.UTCTime)+sipMediaApplication_updatedTimestamp = Lens.lens (\SipMediaApplication' {updatedTimestamp} -> updatedTimestamp) (\s@SipMediaApplication' {} a -> s {updatedTimestamp = a} :: SipMediaApplication) Prelude.. Lens.mapping Data._Time++instance Data.FromJSON SipMediaApplication where+  parseJSON =+    Data.withObject+      "SipMediaApplication"+      ( \x ->+          SipMediaApplication'+            Prelude.<$> (x Data..:? "AwsRegion")+            Prelude.<*> (x Data..:? "CreatedTimestamp")+            Prelude.<*> (x Data..:? "Endpoints")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "SipMediaApplicationId")+            Prelude.<*> (x Data..:? "UpdatedTimestamp")+      )++instance Prelude.Hashable SipMediaApplication where+  hashWithSalt _salt SipMediaApplication' {..} =+    _salt+      `Prelude.hashWithSalt` awsRegion+      `Prelude.hashWithSalt` createdTimestamp+      `Prelude.hashWithSalt` endpoints+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` sipMediaApplicationId+      `Prelude.hashWithSalt` updatedTimestamp++instance Prelude.NFData SipMediaApplication where+  rnf SipMediaApplication' {..} =+    Prelude.rnf awsRegion+      `Prelude.seq` Prelude.rnf createdTimestamp+      `Prelude.seq` Prelude.rnf endpoints+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf sipMediaApplicationId+      `Prelude.seq` Prelude.rnf updatedTimestamp
+ gen/Amazonka/Chime/Types/SipMediaApplicationCall.hs view
@@ -0,0 +1,72 @@+{-# 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.Chime.Types.SipMediaApplicationCall+-- 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.Chime.Types.SipMediaApplicationCall 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 @Call@ instance for a SIP media application.+--+-- /See:/ 'newSipMediaApplicationCall' smart constructor.+data SipMediaApplicationCall = SipMediaApplicationCall'+  { -- | The transaction ID of a call.+    transactionId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SipMediaApplicationCall' 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:+--+-- 'transactionId', 'sipMediaApplicationCall_transactionId' - The transaction ID of a call.+newSipMediaApplicationCall ::+  SipMediaApplicationCall+newSipMediaApplicationCall =+  SipMediaApplicationCall'+    { transactionId =+        Prelude.Nothing+    }++-- | The transaction ID of a call.+sipMediaApplicationCall_transactionId :: Lens.Lens' SipMediaApplicationCall (Prelude.Maybe Prelude.Text)+sipMediaApplicationCall_transactionId = Lens.lens (\SipMediaApplicationCall' {transactionId} -> transactionId) (\s@SipMediaApplicationCall' {} a -> s {transactionId = a} :: SipMediaApplicationCall)++instance Data.FromJSON SipMediaApplicationCall where+  parseJSON =+    Data.withObject+      "SipMediaApplicationCall"+      ( \x ->+          SipMediaApplicationCall'+            Prelude.<$> (x Data..:? "TransactionId")+      )++instance Prelude.Hashable SipMediaApplicationCall where+  hashWithSalt _salt SipMediaApplicationCall' {..} =+    _salt `Prelude.hashWithSalt` transactionId++instance Prelude.NFData SipMediaApplicationCall where+  rnf SipMediaApplicationCall' {..} =+    Prelude.rnf transactionId
+ gen/Amazonka/Chime/Types/SipMediaApplicationEndpoint.hs view
@@ -0,0 +1,82 @@+{-# 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.Chime.Types.SipMediaApplicationEndpoint+-- 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.Chime.Types.SipMediaApplicationEndpoint 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 endpoint assigned to the SIP media application.+--+-- /See:/ 'newSipMediaApplicationEndpoint' smart constructor.+data SipMediaApplicationEndpoint = SipMediaApplicationEndpoint'+  { -- | Valid Amazon Resource Name (ARN) of the Lambda function. The function+    -- must be created in the same AWS Region as the SIP media application.+    lambdaArn :: Prelude.Maybe (Data.Sensitive Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SipMediaApplicationEndpoint' 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:+--+-- 'lambdaArn', 'sipMediaApplicationEndpoint_lambdaArn' - Valid Amazon Resource Name (ARN) of the Lambda function. The function+-- must be created in the same AWS Region as the SIP media application.+newSipMediaApplicationEndpoint ::+  SipMediaApplicationEndpoint+newSipMediaApplicationEndpoint =+  SipMediaApplicationEndpoint'+    { lambdaArn =+        Prelude.Nothing+    }++-- | Valid Amazon Resource Name (ARN) of the Lambda function. The function+-- must be created in the same AWS Region as the SIP media application.+sipMediaApplicationEndpoint_lambdaArn :: Lens.Lens' SipMediaApplicationEndpoint (Prelude.Maybe Prelude.Text)+sipMediaApplicationEndpoint_lambdaArn = Lens.lens (\SipMediaApplicationEndpoint' {lambdaArn} -> lambdaArn) (\s@SipMediaApplicationEndpoint' {} a -> s {lambdaArn = a} :: SipMediaApplicationEndpoint) Prelude.. Lens.mapping Data._Sensitive++instance Data.FromJSON SipMediaApplicationEndpoint where+  parseJSON =+    Data.withObject+      "SipMediaApplicationEndpoint"+      ( \x ->+          SipMediaApplicationEndpoint'+            Prelude.<$> (x Data..:? "LambdaArn")+      )++instance Prelude.Hashable SipMediaApplicationEndpoint where+  hashWithSalt _salt SipMediaApplicationEndpoint' {..} =+    _salt `Prelude.hashWithSalt` lambdaArn++instance Prelude.NFData SipMediaApplicationEndpoint where+  rnf SipMediaApplicationEndpoint' {..} =+    Prelude.rnf lambdaArn++instance Data.ToJSON SipMediaApplicationEndpoint where+  toJSON SipMediaApplicationEndpoint' {..} =+    Data.object+      ( Prelude.catMaybes+          [("LambdaArn" Data..=) Prelude.<$> lambdaArn]+      )
+ gen/Amazonka/Chime/Types/SipMediaApplicationLoggingConfiguration.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Chime.Types.SipMediaApplicationLoggingConfiguration+-- 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.Chime.Types.SipMediaApplicationLoggingConfiguration 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++-- | Logging configuration of the SIP media application.+--+-- /See:/ 'newSipMediaApplicationLoggingConfiguration' smart constructor.+data SipMediaApplicationLoggingConfiguration = SipMediaApplicationLoggingConfiguration'+  { -- | Enables application message logs for the SIP media application.+    enableSipMediaApplicationMessageLogs :: Prelude.Maybe Prelude.Bool+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SipMediaApplicationLoggingConfiguration' 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:+--+-- 'enableSipMediaApplicationMessageLogs', 'sipMediaApplicationLoggingConfiguration_enableSipMediaApplicationMessageLogs' - Enables application message logs for the SIP media application.+newSipMediaApplicationLoggingConfiguration ::+  SipMediaApplicationLoggingConfiguration+newSipMediaApplicationLoggingConfiguration =+  SipMediaApplicationLoggingConfiguration'+    { enableSipMediaApplicationMessageLogs =+        Prelude.Nothing+    }++-- | Enables application message logs for the SIP media application.+sipMediaApplicationLoggingConfiguration_enableSipMediaApplicationMessageLogs :: Lens.Lens' SipMediaApplicationLoggingConfiguration (Prelude.Maybe Prelude.Bool)+sipMediaApplicationLoggingConfiguration_enableSipMediaApplicationMessageLogs = Lens.lens (\SipMediaApplicationLoggingConfiguration' {enableSipMediaApplicationMessageLogs} -> enableSipMediaApplicationMessageLogs) (\s@SipMediaApplicationLoggingConfiguration' {} a -> s {enableSipMediaApplicationMessageLogs = a} :: SipMediaApplicationLoggingConfiguration)++instance+  Data.FromJSON+    SipMediaApplicationLoggingConfiguration+  where+  parseJSON =+    Data.withObject+      "SipMediaApplicationLoggingConfiguration"+      ( \x ->+          SipMediaApplicationLoggingConfiguration'+            Prelude.<$> (x Data..:? "EnableSipMediaApplicationMessageLogs")+      )++instance+  Prelude.Hashable+    SipMediaApplicationLoggingConfiguration+  where+  hashWithSalt+    _salt+    SipMediaApplicationLoggingConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` enableSipMediaApplicationMessageLogs++instance+  Prelude.NFData+    SipMediaApplicationLoggingConfiguration+  where+  rnf SipMediaApplicationLoggingConfiguration' {..} =+    Prelude.rnf enableSipMediaApplicationMessageLogs++instance+  Data.ToJSON+    SipMediaApplicationLoggingConfiguration+  where+  toJSON SipMediaApplicationLoggingConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("EnableSipMediaApplicationMessageLogs" Data..=)+              Prelude.<$> enableSipMediaApplicationMessageLogs+          ]+      )
+ gen/Amazonka/Chime/Types/SipRule.hs view
@@ -0,0 +1,183 @@+{-# 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.Chime.Types.SipRule+-- 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.Chime.Types.SipRule where++import Amazonka.Chime.Types.SipRuleTargetApplication+import Amazonka.Chime.Types.SipRuleTriggerType+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 SIP rule details, including name, triggers, and target applications.+-- An AWS account can have multiple SIP rules.+--+-- /See:/ 'newSipRule' smart constructor.+data SipRule = SipRule'+  { -- | The time at which the SIP rule was created, in ISO 8601 format.+    createdTimestamp :: Prelude.Maybe Data.ISO8601,+    -- | Indicates whether the SIP rule is enabled or disabled. You must disable+    -- a rule before you can delete it.+    disabled :: Prelude.Maybe Prelude.Bool,+    -- | The name of the SIP rule.+    name :: Prelude.Maybe Prelude.Text,+    -- | The SIP rule ID.+    sipRuleId :: Prelude.Maybe Prelude.Text,+    -- | Target SIP media application and other details, such as priority and AWS+    -- Region, to be specified in the SIP rule. Only one SIP rule per AWS+    -- Region can be provided.+    targetApplications :: Prelude.Maybe (Prelude.NonEmpty SipRuleTargetApplication),+    -- | The type of trigger assigned to the SIP rule in @TriggerValue@,+    -- currently @RequestUriHostname@ or @ToPhoneNumber@.+    triggerType :: Prelude.Maybe SipRuleTriggerType,+    -- | If @TriggerType@ is @RequestUriHostname@, then the value can be the+    -- outbound host name of the Amazon Chime Voice Connector. If @TriggerType@+    -- is @ToPhoneNumber@, then the value can be a customer-owned phone number+    -- in E164 format. @SipRule@ is triggered when a SIP rule requests host+    -- name or @ToPhoneNumber@ matches in the incoming SIP request.+    triggerValue :: Prelude.Maybe Prelude.Text,+    -- | The time at which the SIP rule was last updated, in ISO 8601 format.+    updatedTimestamp :: Prelude.Maybe Data.ISO8601+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SipRule' 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:+--+-- 'createdTimestamp', 'sipRule_createdTimestamp' - The time at which the SIP rule was created, in ISO 8601 format.+--+-- 'disabled', 'sipRule_disabled' - Indicates whether the SIP rule is enabled or disabled. You must disable+-- a rule before you can delete it.+--+-- 'name', 'sipRule_name' - The name of the SIP rule.+--+-- 'sipRuleId', 'sipRule_sipRuleId' - The SIP rule ID.+--+-- 'targetApplications', 'sipRule_targetApplications' - Target SIP media application and other details, such as priority and AWS+-- Region, to be specified in the SIP rule. Only one SIP rule per AWS+-- Region can be provided.+--+-- 'triggerType', 'sipRule_triggerType' - The type of trigger assigned to the SIP rule in @TriggerValue@,+-- currently @RequestUriHostname@ or @ToPhoneNumber@.+--+-- 'triggerValue', 'sipRule_triggerValue' - If @TriggerType@ is @RequestUriHostname@, then the value can be the+-- outbound host name of the Amazon Chime Voice Connector. If @TriggerType@+-- is @ToPhoneNumber@, then the value can be a customer-owned phone number+-- in E164 format. @SipRule@ is triggered when a SIP rule requests host+-- name or @ToPhoneNumber@ matches in the incoming SIP request.+--+-- 'updatedTimestamp', 'sipRule_updatedTimestamp' - The time at which the SIP rule was last updated, in ISO 8601 format.+newSipRule ::+  SipRule+newSipRule =+  SipRule'+    { createdTimestamp = Prelude.Nothing,+      disabled = Prelude.Nothing,+      name = Prelude.Nothing,+      sipRuleId = Prelude.Nothing,+      targetApplications = Prelude.Nothing,+      triggerType = Prelude.Nothing,+      triggerValue = Prelude.Nothing,+      updatedTimestamp = Prelude.Nothing+    }++-- | The time at which the SIP rule was created, in ISO 8601 format.+sipRule_createdTimestamp :: Lens.Lens' SipRule (Prelude.Maybe Prelude.UTCTime)+sipRule_createdTimestamp = Lens.lens (\SipRule' {createdTimestamp} -> createdTimestamp) (\s@SipRule' {} a -> s {createdTimestamp = a} :: SipRule) Prelude.. Lens.mapping Data._Time++-- | Indicates whether the SIP rule is enabled or disabled. You must disable+-- a rule before you can delete it.+sipRule_disabled :: Lens.Lens' SipRule (Prelude.Maybe Prelude.Bool)+sipRule_disabled = Lens.lens (\SipRule' {disabled} -> disabled) (\s@SipRule' {} a -> s {disabled = a} :: SipRule)++-- | The name of the SIP rule.+sipRule_name :: Lens.Lens' SipRule (Prelude.Maybe Prelude.Text)+sipRule_name = Lens.lens (\SipRule' {name} -> name) (\s@SipRule' {} a -> s {name = a} :: SipRule)++-- | The SIP rule ID.+sipRule_sipRuleId :: Lens.Lens' SipRule (Prelude.Maybe Prelude.Text)+sipRule_sipRuleId = Lens.lens (\SipRule' {sipRuleId} -> sipRuleId) (\s@SipRule' {} a -> s {sipRuleId = a} :: SipRule)++-- | Target SIP media application and other details, such as priority and AWS+-- Region, to be specified in the SIP rule. Only one SIP rule per AWS+-- Region can be provided.+sipRule_targetApplications :: Lens.Lens' SipRule (Prelude.Maybe (Prelude.NonEmpty SipRuleTargetApplication))+sipRule_targetApplications = Lens.lens (\SipRule' {targetApplications} -> targetApplications) (\s@SipRule' {} a -> s {targetApplications = a} :: SipRule) Prelude.. Lens.mapping Lens.coerced++-- | The type of trigger assigned to the SIP rule in @TriggerValue@,+-- currently @RequestUriHostname@ or @ToPhoneNumber@.+sipRule_triggerType :: Lens.Lens' SipRule (Prelude.Maybe SipRuleTriggerType)+sipRule_triggerType = Lens.lens (\SipRule' {triggerType} -> triggerType) (\s@SipRule' {} a -> s {triggerType = a} :: SipRule)++-- | If @TriggerType@ is @RequestUriHostname@, then the value can be the+-- outbound host name of the Amazon Chime Voice Connector. If @TriggerType@+-- is @ToPhoneNumber@, then the value can be a customer-owned phone number+-- in E164 format. @SipRule@ is triggered when a SIP rule requests host+-- name or @ToPhoneNumber@ matches in the incoming SIP request.+sipRule_triggerValue :: Lens.Lens' SipRule (Prelude.Maybe Prelude.Text)+sipRule_triggerValue = Lens.lens (\SipRule' {triggerValue} -> triggerValue) (\s@SipRule' {} a -> s {triggerValue = a} :: SipRule)++-- | The time at which the SIP rule was last updated, in ISO 8601 format.+sipRule_updatedTimestamp :: Lens.Lens' SipRule (Prelude.Maybe Prelude.UTCTime)+sipRule_updatedTimestamp = Lens.lens (\SipRule' {updatedTimestamp} -> updatedTimestamp) (\s@SipRule' {} a -> s {updatedTimestamp = a} :: SipRule) Prelude.. Lens.mapping Data._Time++instance Data.FromJSON SipRule where+  parseJSON =+    Data.withObject+      "SipRule"+      ( \x ->+          SipRule'+            Prelude.<$> (x Data..:? "CreatedTimestamp")+            Prelude.<*> (x Data..:? "Disabled")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "SipRuleId")+            Prelude.<*> (x Data..:? "TargetApplications")+            Prelude.<*> (x Data..:? "TriggerType")+            Prelude.<*> (x Data..:? "TriggerValue")+            Prelude.<*> (x Data..:? "UpdatedTimestamp")+      )++instance Prelude.Hashable SipRule where+  hashWithSalt _salt SipRule' {..} =+    _salt+      `Prelude.hashWithSalt` createdTimestamp+      `Prelude.hashWithSalt` disabled+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` sipRuleId+      `Prelude.hashWithSalt` targetApplications+      `Prelude.hashWithSalt` triggerType+      `Prelude.hashWithSalt` triggerValue+      `Prelude.hashWithSalt` updatedTimestamp++instance Prelude.NFData SipRule where+  rnf SipRule' {..} =+    Prelude.rnf createdTimestamp+      `Prelude.seq` Prelude.rnf disabled+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf sipRuleId+      `Prelude.seq` Prelude.rnf targetApplications+      `Prelude.seq` Prelude.rnf triggerType+      `Prelude.seq` Prelude.rnf triggerValue+      `Prelude.seq` Prelude.rnf updatedTimestamp
+ gen/Amazonka/Chime/Types/SipRuleTargetApplication.hs view
@@ -0,0 +1,110 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Chime.Types.SipRuleTargetApplication+-- 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.Chime.Types.SipRuleTargetApplication 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++-- | Target SIP media application and other details, such as priority and AWS+-- Region, to be specified in the SIP rule. Only one SIP rule per AWS+-- Region can be provided.+--+-- /See:/ 'newSipRuleTargetApplication' smart constructor.+data SipRuleTargetApplication = SipRuleTargetApplication'+  { -- | The AWS Region of the target application.+    awsRegion :: Prelude.Maybe Prelude.Text,+    -- | Priority of the SIP media application in the target list.+    priority :: Prelude.Maybe Prelude.Natural,+    -- | The SIP media application ID.+    sipMediaApplicationId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SipRuleTargetApplication' 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:+--+-- 'awsRegion', 'sipRuleTargetApplication_awsRegion' - The AWS Region of the target application.+--+-- 'priority', 'sipRuleTargetApplication_priority' - Priority of the SIP media application in the target list.+--+-- 'sipMediaApplicationId', 'sipRuleTargetApplication_sipMediaApplicationId' - The SIP media application ID.+newSipRuleTargetApplication ::+  SipRuleTargetApplication+newSipRuleTargetApplication =+  SipRuleTargetApplication'+    { awsRegion =+        Prelude.Nothing,+      priority = Prelude.Nothing,+      sipMediaApplicationId = Prelude.Nothing+    }++-- | The AWS Region of the target application.+sipRuleTargetApplication_awsRegion :: Lens.Lens' SipRuleTargetApplication (Prelude.Maybe Prelude.Text)+sipRuleTargetApplication_awsRegion = Lens.lens (\SipRuleTargetApplication' {awsRegion} -> awsRegion) (\s@SipRuleTargetApplication' {} a -> s {awsRegion = a} :: SipRuleTargetApplication)++-- | Priority of the SIP media application in the target list.+sipRuleTargetApplication_priority :: Lens.Lens' SipRuleTargetApplication (Prelude.Maybe Prelude.Natural)+sipRuleTargetApplication_priority = Lens.lens (\SipRuleTargetApplication' {priority} -> priority) (\s@SipRuleTargetApplication' {} a -> s {priority = a} :: SipRuleTargetApplication)++-- | The SIP media application ID.+sipRuleTargetApplication_sipMediaApplicationId :: Lens.Lens' SipRuleTargetApplication (Prelude.Maybe Prelude.Text)+sipRuleTargetApplication_sipMediaApplicationId = Lens.lens (\SipRuleTargetApplication' {sipMediaApplicationId} -> sipMediaApplicationId) (\s@SipRuleTargetApplication' {} a -> s {sipMediaApplicationId = a} :: SipRuleTargetApplication)++instance Data.FromJSON SipRuleTargetApplication where+  parseJSON =+    Data.withObject+      "SipRuleTargetApplication"+      ( \x ->+          SipRuleTargetApplication'+            Prelude.<$> (x Data..:? "AwsRegion")+            Prelude.<*> (x Data..:? "Priority")+            Prelude.<*> (x Data..:? "SipMediaApplicationId")+      )++instance Prelude.Hashable SipRuleTargetApplication where+  hashWithSalt _salt SipRuleTargetApplication' {..} =+    _salt+      `Prelude.hashWithSalt` awsRegion+      `Prelude.hashWithSalt` priority+      `Prelude.hashWithSalt` sipMediaApplicationId++instance Prelude.NFData SipRuleTargetApplication where+  rnf SipRuleTargetApplication' {..} =+    Prelude.rnf awsRegion+      `Prelude.seq` Prelude.rnf priority+      `Prelude.seq` Prelude.rnf sipMediaApplicationId++instance Data.ToJSON SipRuleTargetApplication where+  toJSON SipRuleTargetApplication' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AwsRegion" Data..=) Prelude.<$> awsRegion,+            ("Priority" Data..=) Prelude.<$> priority,+            ("SipMediaApplicationId" Data..=)+              Prelude.<$> sipMediaApplicationId+          ]+      )
+ gen/Amazonka/Chime/Types/SipRuleTriggerType.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.Chime.Types.SipRuleTriggerType+-- 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.Chime.Types.SipRuleTriggerType+  ( SipRuleTriggerType+      ( ..,+        SipRuleTriggerType_RequestUriHostname,+        SipRuleTriggerType_ToPhoneNumber+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SipRuleTriggerType = SipRuleTriggerType'+  { fromSipRuleTriggerType ::+      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 SipRuleTriggerType_RequestUriHostname :: SipRuleTriggerType+pattern SipRuleTriggerType_RequestUriHostname = SipRuleTriggerType' "RequestUriHostname"++pattern SipRuleTriggerType_ToPhoneNumber :: SipRuleTriggerType+pattern SipRuleTriggerType_ToPhoneNumber = SipRuleTriggerType' "ToPhoneNumber"++{-# COMPLETE+  SipRuleTriggerType_RequestUriHostname,+  SipRuleTriggerType_ToPhoneNumber,+  SipRuleTriggerType'+  #-}
+ gen/Amazonka/Chime/Types/SortOrder.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.Chime.Types.SortOrder+-- 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.Chime.Types.SortOrder+  ( SortOrder+      ( ..,+        SortOrder_ASCENDING,+        SortOrder_DESCENDING+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SortOrder = SortOrder'+  { fromSortOrder ::+      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 SortOrder_ASCENDING :: SortOrder+pattern SortOrder_ASCENDING = SortOrder' "ASCENDING"++pattern SortOrder_DESCENDING :: SortOrder+pattern SortOrder_DESCENDING = SortOrder' "DESCENDING"++{-# COMPLETE+  SortOrder_ASCENDING,+  SortOrder_DESCENDING,+  SortOrder'+  #-}
+ gen/Amazonka/Chime/Types/SourceConfiguration.hs view
@@ -0,0 +1,85 @@+{-# 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.Chime.Types.SourceConfiguration+-- 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.Chime.Types.SourceConfiguration where++import Amazonka.Chime.Types.SelectedVideoStreams+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++-- | Source configuration for a specified media capture pipeline.+--+-- /See:/ 'newSourceConfiguration' smart constructor.+data SourceConfiguration = SourceConfiguration'+  { -- | The selected video streams to capture for a specified media capture+    -- pipeline. The number of video streams can\'t exceed 25.+    selectedVideoStreams :: Prelude.Maybe SelectedVideoStreams+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SourceConfiguration' 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:+--+-- 'selectedVideoStreams', 'sourceConfiguration_selectedVideoStreams' - The selected video streams to capture for a specified media capture+-- pipeline. The number of video streams can\'t exceed 25.+newSourceConfiguration ::+  SourceConfiguration+newSourceConfiguration =+  SourceConfiguration'+    { selectedVideoStreams =+        Prelude.Nothing+    }++-- | The selected video streams to capture for a specified media capture+-- pipeline. The number of video streams can\'t exceed 25.+sourceConfiguration_selectedVideoStreams :: Lens.Lens' SourceConfiguration (Prelude.Maybe SelectedVideoStreams)+sourceConfiguration_selectedVideoStreams = Lens.lens (\SourceConfiguration' {selectedVideoStreams} -> selectedVideoStreams) (\s@SourceConfiguration' {} a -> s {selectedVideoStreams = a} :: SourceConfiguration)++instance Data.FromJSON SourceConfiguration where+  parseJSON =+    Data.withObject+      "SourceConfiguration"+      ( \x ->+          SourceConfiguration'+            Prelude.<$> (x Data..:? "SelectedVideoStreams")+      )++instance Prelude.Hashable SourceConfiguration where+  hashWithSalt _salt SourceConfiguration' {..} =+    _salt `Prelude.hashWithSalt` selectedVideoStreams++instance Prelude.NFData SourceConfiguration where+  rnf SourceConfiguration' {..} =+    Prelude.rnf selectedVideoStreams++instance Data.ToJSON SourceConfiguration where+  toJSON SourceConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("SelectedVideoStreams" Data..=)+              Prelude.<$> selectedVideoStreams+          ]+      )
+ gen/Amazonka/Chime/Types/StreamingConfiguration.hs view
@@ -0,0 +1,116 @@+{-# 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.Chime.Types.StreamingConfiguration+-- 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.Chime.Types.StreamingConfiguration where++import Amazonka.Chime.Types.StreamingNotificationTarget+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 streaming configuration associated with an Amazon Chime Voice+-- Connector. Specifies whether media streaming is enabled for sending to+-- Amazon Kinesis, and shows the retention period for the Amazon Kinesis+-- data, in hours.+--+-- /See:/ 'newStreamingConfiguration' smart constructor.+data StreamingConfiguration = StreamingConfiguration'+  { -- | When true, media streaming to Amazon Kinesis is turned off.+    disabled :: Prelude.Maybe Prelude.Bool,+    -- | The streaming notification targets.+    streamingNotificationTargets :: Prelude.Maybe (Prelude.NonEmpty StreamingNotificationTarget),+    -- | The retention period, in hours, for the Amazon Kinesis data.+    dataRetentionInHours :: Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StreamingConfiguration' 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:+--+-- 'disabled', 'streamingConfiguration_disabled' - When true, media streaming to Amazon Kinesis is turned off.+--+-- 'streamingNotificationTargets', 'streamingConfiguration_streamingNotificationTargets' - The streaming notification targets.+--+-- 'dataRetentionInHours', 'streamingConfiguration_dataRetentionInHours' - The retention period, in hours, for the Amazon Kinesis data.+newStreamingConfiguration ::+  -- | 'dataRetentionInHours'+  Prelude.Natural ->+  StreamingConfiguration+newStreamingConfiguration pDataRetentionInHours_ =+  StreamingConfiguration'+    { disabled = Prelude.Nothing,+      streamingNotificationTargets = Prelude.Nothing,+      dataRetentionInHours = pDataRetentionInHours_+    }++-- | When true, media streaming to Amazon Kinesis is turned off.+streamingConfiguration_disabled :: Lens.Lens' StreamingConfiguration (Prelude.Maybe Prelude.Bool)+streamingConfiguration_disabled = Lens.lens (\StreamingConfiguration' {disabled} -> disabled) (\s@StreamingConfiguration' {} a -> s {disabled = a} :: StreamingConfiguration)++-- | The streaming notification targets.+streamingConfiguration_streamingNotificationTargets :: Lens.Lens' StreamingConfiguration (Prelude.Maybe (Prelude.NonEmpty StreamingNotificationTarget))+streamingConfiguration_streamingNotificationTargets = Lens.lens (\StreamingConfiguration' {streamingNotificationTargets} -> streamingNotificationTargets) (\s@StreamingConfiguration' {} a -> s {streamingNotificationTargets = a} :: StreamingConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | The retention period, in hours, for the Amazon Kinesis data.+streamingConfiguration_dataRetentionInHours :: Lens.Lens' StreamingConfiguration Prelude.Natural+streamingConfiguration_dataRetentionInHours = Lens.lens (\StreamingConfiguration' {dataRetentionInHours} -> dataRetentionInHours) (\s@StreamingConfiguration' {} a -> s {dataRetentionInHours = a} :: StreamingConfiguration)++instance Data.FromJSON StreamingConfiguration where+  parseJSON =+    Data.withObject+      "StreamingConfiguration"+      ( \x ->+          StreamingConfiguration'+            Prelude.<$> (x Data..:? "Disabled")+            Prelude.<*> (x Data..:? "StreamingNotificationTargets")+            Prelude.<*> (x Data..: "DataRetentionInHours")+      )++instance Prelude.Hashable StreamingConfiguration where+  hashWithSalt _salt StreamingConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` disabled+      `Prelude.hashWithSalt` streamingNotificationTargets+      `Prelude.hashWithSalt` dataRetentionInHours++instance Prelude.NFData StreamingConfiguration where+  rnf StreamingConfiguration' {..} =+    Prelude.rnf disabled+      `Prelude.seq` Prelude.rnf streamingNotificationTargets+      `Prelude.seq` Prelude.rnf dataRetentionInHours++instance Data.ToJSON StreamingConfiguration where+  toJSON StreamingConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Disabled" Data..=) Prelude.<$> disabled,+            ("StreamingNotificationTargets" Data..=)+              Prelude.<$> streamingNotificationTargets,+            Prelude.Just+              ( "DataRetentionInHours"+                  Data..= dataRetentionInHours+              )+          ]+      )
+ gen/Amazonka/Chime/Types/StreamingNotificationTarget.hs view
@@ -0,0 +1,84 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Chime.Types.StreamingNotificationTarget+-- 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.Chime.Types.StreamingNotificationTarget where++import Amazonka.Chime.Types.NotificationTarget+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 targeted recipient for a streaming configuration notification.+--+-- /See:/ 'newStreamingNotificationTarget' smart constructor.+data StreamingNotificationTarget = StreamingNotificationTarget'+  { -- | The streaming notification target.+    notificationTarget :: NotificationTarget+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StreamingNotificationTarget' 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:+--+-- 'notificationTarget', 'streamingNotificationTarget_notificationTarget' - The streaming notification target.+newStreamingNotificationTarget ::+  -- | 'notificationTarget'+  NotificationTarget ->+  StreamingNotificationTarget+newStreamingNotificationTarget pNotificationTarget_ =+  StreamingNotificationTarget'+    { notificationTarget =+        pNotificationTarget_+    }++-- | The streaming notification target.+streamingNotificationTarget_notificationTarget :: Lens.Lens' StreamingNotificationTarget NotificationTarget+streamingNotificationTarget_notificationTarget = Lens.lens (\StreamingNotificationTarget' {notificationTarget} -> notificationTarget) (\s@StreamingNotificationTarget' {} a -> s {notificationTarget = a} :: StreamingNotificationTarget)++instance Data.FromJSON StreamingNotificationTarget where+  parseJSON =+    Data.withObject+      "StreamingNotificationTarget"+      ( \x ->+          StreamingNotificationTarget'+            Prelude.<$> (x Data..: "NotificationTarget")+      )++instance Prelude.Hashable StreamingNotificationTarget where+  hashWithSalt _salt StreamingNotificationTarget' {..} =+    _salt `Prelude.hashWithSalt` notificationTarget++instance Prelude.NFData StreamingNotificationTarget where+  rnf StreamingNotificationTarget' {..} =+    Prelude.rnf notificationTarget++instance Data.ToJSON StreamingNotificationTarget where+  toJSON StreamingNotificationTarget' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("NotificationTarget" Data..= notificationTarget)+          ]+      )
+ gen/Amazonka/Chime/Types/Tag.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Chime.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.Chime.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++-- | Describes a tag applied to a resource.+--+-- /See:/ 'newTag' smart constructor.+data Tag = Tag'+  { -- | The key of the tag.+    key :: Data.Sensitive Prelude.Text,+    -- | The value of the tag.+    value :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Tag' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'key', 'tag_key' - The key of the tag.+--+-- 'value', 'tag_value' - The value of the tag.+newTag ::+  -- | 'key'+  Prelude.Text ->+  -- | 'value'+  Prelude.Text ->+  Tag+newTag pKey_ pValue_ =+  Tag'+    { key = Data._Sensitive Lens.# pKey_,+      value = Data._Sensitive Lens.# pValue_+    }++-- | The key of the tag.+tag_key :: Lens.Lens' Tag Prelude.Text+tag_key = Lens.lens (\Tag' {key} -> key) (\s@Tag' {} a -> s {key = a} :: Tag) Prelude.. Data._Sensitive++-- | The value of the tag.+tag_value :: Lens.Lens' Tag Prelude.Text+tag_value = Lens.lens (\Tag' {value} -> value) (\s@Tag' {} a -> s {value = a} :: Tag) Prelude.. Data._Sensitive++instance Data.FromJSON Tag where+  parseJSON =+    Data.withObject+      "Tag"+      ( \x ->+          Tag'+            Prelude.<$> (x Data..: "Key")+            Prelude.<*> (x Data..: "Value")+      )++instance Prelude.Hashable Tag where+  hashWithSalt _salt Tag' {..} =+    _salt+      `Prelude.hashWithSalt` key+      `Prelude.hashWithSalt` value++instance Prelude.NFData Tag where+  rnf Tag' {..} =+    Prelude.rnf key `Prelude.seq` Prelude.rnf value++instance Data.ToJSON Tag where+  toJSON Tag' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Key" Data..= key),+            Prelude.Just ("Value" Data..= value)+          ]+      )
+ gen/Amazonka/Chime/Types/TelephonySettings.hs view
@@ -0,0 +1,119 @@+{-# 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.Chime.Types.TelephonySettings+-- 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.Chime.Types.TelephonySettings 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++-- | Settings that allow management of telephony permissions for an Amazon+-- Chime user, such as inbound and outbound calling and text messaging.+--+-- /See:/ 'newTelephonySettings' smart constructor.+data TelephonySettings = TelephonySettings'+  { -- | Allows or denies inbound calling.+    inboundCalling :: Prelude.Bool,+    -- | Allows or denies outbound calling.+    outboundCalling :: Prelude.Bool,+    -- | Allows or denies SMS messaging.+    sms :: Prelude.Bool+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TelephonySettings' 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:+--+-- 'inboundCalling', 'telephonySettings_inboundCalling' - Allows or denies inbound calling.+--+-- 'outboundCalling', 'telephonySettings_outboundCalling' - Allows or denies outbound calling.+--+-- 'sms', 'telephonySettings_sms' - Allows or denies SMS messaging.+newTelephonySettings ::+  -- | 'inboundCalling'+  Prelude.Bool ->+  -- | 'outboundCalling'+  Prelude.Bool ->+  -- | 'sms'+  Prelude.Bool ->+  TelephonySettings+newTelephonySettings+  pInboundCalling_+  pOutboundCalling_+  pSMS_ =+    TelephonySettings'+      { inboundCalling =+          pInboundCalling_,+        outboundCalling = pOutboundCalling_,+        sms = pSMS_+      }++-- | Allows or denies inbound calling.+telephonySettings_inboundCalling :: Lens.Lens' TelephonySettings Prelude.Bool+telephonySettings_inboundCalling = Lens.lens (\TelephonySettings' {inboundCalling} -> inboundCalling) (\s@TelephonySettings' {} a -> s {inboundCalling = a} :: TelephonySettings)++-- | Allows or denies outbound calling.+telephonySettings_outboundCalling :: Lens.Lens' TelephonySettings Prelude.Bool+telephonySettings_outboundCalling = Lens.lens (\TelephonySettings' {outboundCalling} -> outboundCalling) (\s@TelephonySettings' {} a -> s {outboundCalling = a} :: TelephonySettings)++-- | Allows or denies SMS messaging.+telephonySettings_sms :: Lens.Lens' TelephonySettings Prelude.Bool+telephonySettings_sms = Lens.lens (\TelephonySettings' {sms} -> sms) (\s@TelephonySettings' {} a -> s {sms = a} :: TelephonySettings)++instance Data.FromJSON TelephonySettings where+  parseJSON =+    Data.withObject+      "TelephonySettings"+      ( \x ->+          TelephonySettings'+            Prelude.<$> (x Data..: "InboundCalling")+            Prelude.<*> (x Data..: "OutboundCalling")+            Prelude.<*> (x Data..: "SMS")+      )++instance Prelude.Hashable TelephonySettings where+  hashWithSalt _salt TelephonySettings' {..} =+    _salt+      `Prelude.hashWithSalt` inboundCalling+      `Prelude.hashWithSalt` outboundCalling+      `Prelude.hashWithSalt` sms++instance Prelude.NFData TelephonySettings where+  rnf TelephonySettings' {..} =+    Prelude.rnf inboundCalling+      `Prelude.seq` Prelude.rnf outboundCalling+      `Prelude.seq` Prelude.rnf sms++instance Data.ToJSON TelephonySettings where+  toJSON TelephonySettings' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("InboundCalling" Data..= inboundCalling),+            Prelude.Just+              ("OutboundCalling" Data..= outboundCalling),+            Prelude.Just ("SMS" Data..= sms)+          ]+      )
+ gen/Amazonka/Chime/Types/Termination.hs view
@@ -0,0 +1,145 @@+{-# 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.Chime.Types.Termination+-- 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.Chime.Types.Termination 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++-- | Termination settings enable your SIP hosts to make outbound calls using+-- your Amazon Chime Voice Connector.+--+-- /See:/ 'newTermination' smart constructor.+data Termination = Termination'+  { -- | The countries to which calls are allowed, in ISO 3166-1 alpha-2 format.+    -- Required.+    callingRegions :: Prelude.Maybe [Prelude.Text],+    -- | The IP addresses allowed to make calls, in CIDR format. Required.+    cidrAllowedList :: Prelude.Maybe [Prelude.Text],+    -- | The limit on calls per second. Max value based on account service quota.+    -- Default value of 1.+    cpsLimit :: Prelude.Maybe Prelude.Natural,+    -- | The default caller ID phone number.+    defaultPhoneNumber :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | When termination settings are disabled, outbound calls can not be made.+    disabled :: Prelude.Maybe Prelude.Bool+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Termination' 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:+--+-- 'callingRegions', 'termination_callingRegions' - The countries to which calls are allowed, in ISO 3166-1 alpha-2 format.+-- Required.+--+-- 'cidrAllowedList', 'termination_cidrAllowedList' - The IP addresses allowed to make calls, in CIDR format. Required.+--+-- 'cpsLimit', 'termination_cpsLimit' - The limit on calls per second. Max value based on account service quota.+-- Default value of 1.+--+-- 'defaultPhoneNumber', 'termination_defaultPhoneNumber' - The default caller ID phone number.+--+-- 'disabled', 'termination_disabled' - When termination settings are disabled, outbound calls can not be made.+newTermination ::+  Termination+newTermination =+  Termination'+    { callingRegions = Prelude.Nothing,+      cidrAllowedList = Prelude.Nothing,+      cpsLimit = Prelude.Nothing,+      defaultPhoneNumber = Prelude.Nothing,+      disabled = Prelude.Nothing+    }++-- | The countries to which calls are allowed, in ISO 3166-1 alpha-2 format.+-- Required.+termination_callingRegions :: Lens.Lens' Termination (Prelude.Maybe [Prelude.Text])+termination_callingRegions = Lens.lens (\Termination' {callingRegions} -> callingRegions) (\s@Termination' {} a -> s {callingRegions = a} :: Termination) Prelude.. Lens.mapping Lens.coerced++-- | The IP addresses allowed to make calls, in CIDR format. Required.+termination_cidrAllowedList :: Lens.Lens' Termination (Prelude.Maybe [Prelude.Text])+termination_cidrAllowedList = Lens.lens (\Termination' {cidrAllowedList} -> cidrAllowedList) (\s@Termination' {} a -> s {cidrAllowedList = a} :: Termination) Prelude.. Lens.mapping Lens.coerced++-- | The limit on calls per second. Max value based on account service quota.+-- Default value of 1.+termination_cpsLimit :: Lens.Lens' Termination (Prelude.Maybe Prelude.Natural)+termination_cpsLimit = Lens.lens (\Termination' {cpsLimit} -> cpsLimit) (\s@Termination' {} a -> s {cpsLimit = a} :: Termination)++-- | The default caller ID phone number.+termination_defaultPhoneNumber :: Lens.Lens' Termination (Prelude.Maybe Prelude.Text)+termination_defaultPhoneNumber = Lens.lens (\Termination' {defaultPhoneNumber} -> defaultPhoneNumber) (\s@Termination' {} a -> s {defaultPhoneNumber = a} :: Termination) Prelude.. Lens.mapping Data._Sensitive++-- | When termination settings are disabled, outbound calls can not be made.+termination_disabled :: Lens.Lens' Termination (Prelude.Maybe Prelude.Bool)+termination_disabled = Lens.lens (\Termination' {disabled} -> disabled) (\s@Termination' {} a -> s {disabled = a} :: Termination)++instance Data.FromJSON Termination where+  parseJSON =+    Data.withObject+      "Termination"+      ( \x ->+          Termination'+            Prelude.<$> (x Data..:? "CallingRegions" Data..!= Prelude.mempty)+            Prelude.<*> ( x+                            Data..:? "CidrAllowedList"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "CpsLimit")+            Prelude.<*> (x Data..:? "DefaultPhoneNumber")+            Prelude.<*> (x Data..:? "Disabled")+      )++instance Prelude.Hashable Termination where+  hashWithSalt _salt Termination' {..} =+    _salt+      `Prelude.hashWithSalt` callingRegions+      `Prelude.hashWithSalt` cidrAllowedList+      `Prelude.hashWithSalt` cpsLimit+      `Prelude.hashWithSalt` defaultPhoneNumber+      `Prelude.hashWithSalt` disabled++instance Prelude.NFData Termination where+  rnf Termination' {..} =+    Prelude.rnf callingRegions+      `Prelude.seq` Prelude.rnf cidrAllowedList+      `Prelude.seq` Prelude.rnf cpsLimit+      `Prelude.seq` Prelude.rnf defaultPhoneNumber+      `Prelude.seq` Prelude.rnf disabled++instance Data.ToJSON Termination where+  toJSON Termination' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CallingRegions" Data..=)+              Prelude.<$> callingRegions,+            ("CidrAllowedList" Data..=)+              Prelude.<$> cidrAllowedList,+            ("CpsLimit" Data..=) Prelude.<$> cpsLimit,+            ("DefaultPhoneNumber" Data..=)+              Prelude.<$> defaultPhoneNumber,+            ("Disabled" Data..=) Prelude.<$> disabled+          ]+      )
+ gen/Amazonka/Chime/Types/TerminationHealth.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.Chime.Types.TerminationHealth+-- 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.Chime.Types.TerminationHealth 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 termination health details, including the source IP address and+-- timestamp of the last successful SIP @OPTIONS@ message from your SIP+-- infrastructure.+--+-- /See:/ 'newTerminationHealth' smart constructor.+data TerminationHealth = TerminationHealth'+  { -- | The source IP address.+    source :: Prelude.Maybe Prelude.Text,+    -- | The timestamp, in ISO 8601 format.+    timestamp :: Prelude.Maybe Data.ISO8601+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TerminationHealth' 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:+--+-- 'source', 'terminationHealth_source' - The source IP address.+--+-- 'timestamp', 'terminationHealth_timestamp' - The timestamp, in ISO 8601 format.+newTerminationHealth ::+  TerminationHealth+newTerminationHealth =+  TerminationHealth'+    { source = Prelude.Nothing,+      timestamp = Prelude.Nothing+    }++-- | The source IP address.+terminationHealth_source :: Lens.Lens' TerminationHealth (Prelude.Maybe Prelude.Text)+terminationHealth_source = Lens.lens (\TerminationHealth' {source} -> source) (\s@TerminationHealth' {} a -> s {source = a} :: TerminationHealth)++-- | The timestamp, in ISO 8601 format.+terminationHealth_timestamp :: Lens.Lens' TerminationHealth (Prelude.Maybe Prelude.UTCTime)+terminationHealth_timestamp = Lens.lens (\TerminationHealth' {timestamp} -> timestamp) (\s@TerminationHealth' {} a -> s {timestamp = a} :: TerminationHealth) Prelude.. Lens.mapping Data._Time++instance Data.FromJSON TerminationHealth where+  parseJSON =+    Data.withObject+      "TerminationHealth"+      ( \x ->+          TerminationHealth'+            Prelude.<$> (x Data..:? "Source")+            Prelude.<*> (x Data..:? "Timestamp")+      )++instance Prelude.Hashable TerminationHealth where+  hashWithSalt _salt TerminationHealth' {..} =+    _salt+      `Prelude.hashWithSalt` source+      `Prelude.hashWithSalt` timestamp++instance Prelude.NFData TerminationHealth where+  rnf TerminationHealth' {..} =+    Prelude.rnf source+      `Prelude.seq` Prelude.rnf timestamp
+ gen/Amazonka/Chime/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.Chime.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.Chime.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/Chime/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.Chime.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.Chime.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/Chime/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.Chime.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.Chime.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/Chime/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.Chime.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.Chime.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/Chime/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.Chime.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.Chime.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/Chime/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.Chime.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.Chime.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/Chime/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.Chime.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.Chime.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/Chime/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.Chime.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.Chime.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/Chime/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.Chime.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.Chime.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/Chime/Types/TranscribeRegion.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.Chime.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.Chime.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_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_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_west_2,+  TranscribeRegion'+  #-}
+ gen/Amazonka/Chime/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.Chime.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.Chime.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/Chime/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.Chime.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.Chime.Types.TranscriptionConfiguration where++import Amazonka.Chime.Types.EngineTranscribeMedicalSettings+import Amazonka.Chime.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/Chime/Types/UpdatePhoneNumberRequestItem.hs view
@@ -0,0 +1,104 @@+{-# 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.Chime.Types.UpdatePhoneNumberRequestItem+-- 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.Chime.Types.UpdatePhoneNumberRequestItem where++import Amazonka.Chime.Types.PhoneNumberProductType+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 phone number ID, product type, or calling name fields to update,+-- used with the BatchUpdatePhoneNumber and UpdatePhoneNumber actions.+--+-- /See:/ 'newUpdatePhoneNumberRequestItem' smart constructor.+data UpdatePhoneNumberRequestItem = UpdatePhoneNumberRequestItem'+  { -- | The outbound calling name to update.+    callingName :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The product type to update.+    productType :: Prelude.Maybe PhoneNumberProductType,+    -- | The phone number ID to update.+    phoneNumberId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdatePhoneNumberRequestItem' 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:+--+-- 'callingName', 'updatePhoneNumberRequestItem_callingName' - The outbound calling name to update.+--+-- 'productType', 'updatePhoneNumberRequestItem_productType' - The product type to update.+--+-- 'phoneNumberId', 'updatePhoneNumberRequestItem_phoneNumberId' - The phone number ID to update.+newUpdatePhoneNumberRequestItem ::+  -- | 'phoneNumberId'+  Prelude.Text ->+  UpdatePhoneNumberRequestItem+newUpdatePhoneNumberRequestItem pPhoneNumberId_ =+  UpdatePhoneNumberRequestItem'+    { callingName =+        Prelude.Nothing,+      productType = Prelude.Nothing,+      phoneNumberId = pPhoneNumberId_+    }++-- | The outbound calling name to update.+updatePhoneNumberRequestItem_callingName :: Lens.Lens' UpdatePhoneNumberRequestItem (Prelude.Maybe Prelude.Text)+updatePhoneNumberRequestItem_callingName = Lens.lens (\UpdatePhoneNumberRequestItem' {callingName} -> callingName) (\s@UpdatePhoneNumberRequestItem' {} a -> s {callingName = a} :: UpdatePhoneNumberRequestItem) Prelude.. Lens.mapping Data._Sensitive++-- | The product type to update.+updatePhoneNumberRequestItem_productType :: Lens.Lens' UpdatePhoneNumberRequestItem (Prelude.Maybe PhoneNumberProductType)+updatePhoneNumberRequestItem_productType = Lens.lens (\UpdatePhoneNumberRequestItem' {productType} -> productType) (\s@UpdatePhoneNumberRequestItem' {} a -> s {productType = a} :: UpdatePhoneNumberRequestItem)++-- | The phone number ID to update.+updatePhoneNumberRequestItem_phoneNumberId :: Lens.Lens' UpdatePhoneNumberRequestItem Prelude.Text+updatePhoneNumberRequestItem_phoneNumberId = Lens.lens (\UpdatePhoneNumberRequestItem' {phoneNumberId} -> phoneNumberId) (\s@UpdatePhoneNumberRequestItem' {} a -> s {phoneNumberId = a} :: UpdatePhoneNumberRequestItem)++instance+  Prelude.Hashable+    UpdatePhoneNumberRequestItem+  where+  hashWithSalt _salt UpdatePhoneNumberRequestItem' {..} =+    _salt+      `Prelude.hashWithSalt` callingName+      `Prelude.hashWithSalt` productType+      `Prelude.hashWithSalt` phoneNumberId++instance Prelude.NFData UpdatePhoneNumberRequestItem where+  rnf UpdatePhoneNumberRequestItem' {..} =+    Prelude.rnf callingName+      `Prelude.seq` Prelude.rnf productType+      `Prelude.seq` Prelude.rnf phoneNumberId++instance Data.ToJSON UpdatePhoneNumberRequestItem where+  toJSON UpdatePhoneNumberRequestItem' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CallingName" Data..=) Prelude.<$> callingName,+            ("ProductType" Data..=) Prelude.<$> productType,+            Prelude.Just+              ("PhoneNumberId" Data..= phoneNumberId)+          ]+      )
+ gen/Amazonka/Chime/Types/UpdateUserRequestItem.hs view
@@ -0,0 +1,115 @@+{-# 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.Chime.Types.UpdateUserRequestItem+-- 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.Chime.Types.UpdateUserRequestItem where++import Amazonka.Chime.Types.AlexaForBusinessMetadata+import Amazonka.Chime.Types.License+import Amazonka.Chime.Types.UserType+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 user ID and user fields to update, used with the BatchUpdateUser+-- action.+--+-- /See:/ 'newUpdateUserRequestItem' smart constructor.+data UpdateUserRequestItem = UpdateUserRequestItem'+  { -- | The Alexa for Business metadata.+    alexaForBusinessMetadata :: Prelude.Maybe AlexaForBusinessMetadata,+    -- | The user license type.+    licenseType :: Prelude.Maybe License,+    -- | The user type.+    userType :: Prelude.Maybe UserType,+    -- | The user ID.+    userId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateUserRequestItem' 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:+--+-- 'alexaForBusinessMetadata', 'updateUserRequestItem_alexaForBusinessMetadata' - The Alexa for Business metadata.+--+-- 'licenseType', 'updateUserRequestItem_licenseType' - The user license type.+--+-- 'userType', 'updateUserRequestItem_userType' - The user type.+--+-- 'userId', 'updateUserRequestItem_userId' - The user ID.+newUpdateUserRequestItem ::+  -- | 'userId'+  Prelude.Text ->+  UpdateUserRequestItem+newUpdateUserRequestItem pUserId_ =+  UpdateUserRequestItem'+    { alexaForBusinessMetadata =+        Prelude.Nothing,+      licenseType = Prelude.Nothing,+      userType = Prelude.Nothing,+      userId = pUserId_+    }++-- | The Alexa for Business metadata.+updateUserRequestItem_alexaForBusinessMetadata :: Lens.Lens' UpdateUserRequestItem (Prelude.Maybe AlexaForBusinessMetadata)+updateUserRequestItem_alexaForBusinessMetadata = Lens.lens (\UpdateUserRequestItem' {alexaForBusinessMetadata} -> alexaForBusinessMetadata) (\s@UpdateUserRequestItem' {} a -> s {alexaForBusinessMetadata = a} :: UpdateUserRequestItem)++-- | The user license type.+updateUserRequestItem_licenseType :: Lens.Lens' UpdateUserRequestItem (Prelude.Maybe License)+updateUserRequestItem_licenseType = Lens.lens (\UpdateUserRequestItem' {licenseType} -> licenseType) (\s@UpdateUserRequestItem' {} a -> s {licenseType = a} :: UpdateUserRequestItem)++-- | The user type.+updateUserRequestItem_userType :: Lens.Lens' UpdateUserRequestItem (Prelude.Maybe UserType)+updateUserRequestItem_userType = Lens.lens (\UpdateUserRequestItem' {userType} -> userType) (\s@UpdateUserRequestItem' {} a -> s {userType = a} :: UpdateUserRequestItem)++-- | The user ID.+updateUserRequestItem_userId :: Lens.Lens' UpdateUserRequestItem Prelude.Text+updateUserRequestItem_userId = Lens.lens (\UpdateUserRequestItem' {userId} -> userId) (\s@UpdateUserRequestItem' {} a -> s {userId = a} :: UpdateUserRequestItem)++instance Prelude.Hashable UpdateUserRequestItem where+  hashWithSalt _salt UpdateUserRequestItem' {..} =+    _salt+      `Prelude.hashWithSalt` alexaForBusinessMetadata+      `Prelude.hashWithSalt` licenseType+      `Prelude.hashWithSalt` userType+      `Prelude.hashWithSalt` userId++instance Prelude.NFData UpdateUserRequestItem where+  rnf UpdateUserRequestItem' {..} =+    Prelude.rnf alexaForBusinessMetadata+      `Prelude.seq` Prelude.rnf licenseType+      `Prelude.seq` Prelude.rnf userType+      `Prelude.seq` Prelude.rnf userId++instance Data.ToJSON UpdateUserRequestItem where+  toJSON UpdateUserRequestItem' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AlexaForBusinessMetadata" Data..=)+              Prelude.<$> alexaForBusinessMetadata,+            ("LicenseType" Data..=) Prelude.<$> licenseType,+            ("UserType" Data..=) Prelude.<$> userType,+            Prelude.Just ("UserId" Data..= userId)+          ]+      )
+ gen/Amazonka/Chime/Types/User.hs view
@@ -0,0 +1,226 @@+{-# 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.Chime.Types.User+-- 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.Chime.Types.User where++import Amazonka.Chime.Types.AlexaForBusinessMetadata+import Amazonka.Chime.Types.InviteStatus+import Amazonka.Chime.Types.License+import Amazonka.Chime.Types.RegistrationStatus+import Amazonka.Chime.Types.UserType+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 user on the Amazon Chime account.+--+-- /See:/ 'newUser' smart constructor.+data User = User'+  { -- | The Amazon Chime account ID.+    accountId :: Prelude.Maybe Prelude.Text,+    -- | The Alexa for Business metadata.+    alexaForBusinessMetadata :: Prelude.Maybe AlexaForBusinessMetadata,+    -- | The display name of the user.+    displayName :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | Date and time when the user is invited to the Amazon Chime account, in+    -- ISO 8601 format.+    invitedOn :: Prelude.Maybe Data.ISO8601,+    -- | The license type for the user.+    licenseType :: Prelude.Maybe License,+    -- | The user\'s personal meeting PIN.+    personalPIN :: Prelude.Maybe Prelude.Text,+    -- | The primary email address of the user.+    primaryEmail :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The primary phone number associated with the user.+    primaryProvisionedNumber :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | Date and time when the user is registered, in ISO 8601 format.+    registeredOn :: Prelude.Maybe Data.ISO8601,+    -- | The user invite status.+    userInvitationStatus :: Prelude.Maybe InviteStatus,+    -- | The user registration status.+    userRegistrationStatus :: Prelude.Maybe RegistrationStatus,+    -- | The user type.+    userType :: Prelude.Maybe UserType,+    -- | The user ID.+    userId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'User' 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:+--+-- 'accountId', 'user_accountId' - The Amazon Chime account ID.+--+-- 'alexaForBusinessMetadata', 'user_alexaForBusinessMetadata' - The Alexa for Business metadata.+--+-- 'displayName', 'user_displayName' - The display name of the user.+--+-- 'invitedOn', 'user_invitedOn' - Date and time when the user is invited to the Amazon Chime account, in+-- ISO 8601 format.+--+-- 'licenseType', 'user_licenseType' - The license type for the user.+--+-- 'personalPIN', 'user_personalPIN' - The user\'s personal meeting PIN.+--+-- 'primaryEmail', 'user_primaryEmail' - The primary email address of the user.+--+-- 'primaryProvisionedNumber', 'user_primaryProvisionedNumber' - The primary phone number associated with the user.+--+-- 'registeredOn', 'user_registeredOn' - Date and time when the user is registered, in ISO 8601 format.+--+-- 'userInvitationStatus', 'user_userInvitationStatus' - The user invite status.+--+-- 'userRegistrationStatus', 'user_userRegistrationStatus' - The user registration status.+--+-- 'userType', 'user_userType' - The user type.+--+-- 'userId', 'user_userId' - The user ID.+newUser ::+  -- | 'userId'+  Prelude.Text ->+  User+newUser pUserId_ =+  User'+    { accountId = Prelude.Nothing,+      alexaForBusinessMetadata = Prelude.Nothing,+      displayName = Prelude.Nothing,+      invitedOn = Prelude.Nothing,+      licenseType = Prelude.Nothing,+      personalPIN = Prelude.Nothing,+      primaryEmail = Prelude.Nothing,+      primaryProvisionedNumber = Prelude.Nothing,+      registeredOn = Prelude.Nothing,+      userInvitationStatus = Prelude.Nothing,+      userRegistrationStatus = Prelude.Nothing,+      userType = Prelude.Nothing,+      userId = pUserId_+    }++-- | The Amazon Chime account ID.+user_accountId :: Lens.Lens' User (Prelude.Maybe Prelude.Text)+user_accountId = Lens.lens (\User' {accountId} -> accountId) (\s@User' {} a -> s {accountId = a} :: User)++-- | The Alexa for Business metadata.+user_alexaForBusinessMetadata :: Lens.Lens' User (Prelude.Maybe AlexaForBusinessMetadata)+user_alexaForBusinessMetadata = Lens.lens (\User' {alexaForBusinessMetadata} -> alexaForBusinessMetadata) (\s@User' {} a -> s {alexaForBusinessMetadata = a} :: User)++-- | The display name of the user.+user_displayName :: Lens.Lens' User (Prelude.Maybe Prelude.Text)+user_displayName = Lens.lens (\User' {displayName} -> displayName) (\s@User' {} a -> s {displayName = a} :: User) Prelude.. Lens.mapping Data._Sensitive++-- | Date and time when the user is invited to the Amazon Chime account, in+-- ISO 8601 format.+user_invitedOn :: Lens.Lens' User (Prelude.Maybe Prelude.UTCTime)+user_invitedOn = Lens.lens (\User' {invitedOn} -> invitedOn) (\s@User' {} a -> s {invitedOn = a} :: User) Prelude.. Lens.mapping Data._Time++-- | The license type for the user.+user_licenseType :: Lens.Lens' User (Prelude.Maybe License)+user_licenseType = Lens.lens (\User' {licenseType} -> licenseType) (\s@User' {} a -> s {licenseType = a} :: User)++-- | The user\'s personal meeting PIN.+user_personalPIN :: Lens.Lens' User (Prelude.Maybe Prelude.Text)+user_personalPIN = Lens.lens (\User' {personalPIN} -> personalPIN) (\s@User' {} a -> s {personalPIN = a} :: User)++-- | The primary email address of the user.+user_primaryEmail :: Lens.Lens' User (Prelude.Maybe Prelude.Text)+user_primaryEmail = Lens.lens (\User' {primaryEmail} -> primaryEmail) (\s@User' {} a -> s {primaryEmail = a} :: User) Prelude.. Lens.mapping Data._Sensitive++-- | The primary phone number associated with the user.+user_primaryProvisionedNumber :: Lens.Lens' User (Prelude.Maybe Prelude.Text)+user_primaryProvisionedNumber = Lens.lens (\User' {primaryProvisionedNumber} -> primaryProvisionedNumber) (\s@User' {} a -> s {primaryProvisionedNumber = a} :: User) Prelude.. Lens.mapping Data._Sensitive++-- | Date and time when the user is registered, in ISO 8601 format.+user_registeredOn :: Lens.Lens' User (Prelude.Maybe Prelude.UTCTime)+user_registeredOn = Lens.lens (\User' {registeredOn} -> registeredOn) (\s@User' {} a -> s {registeredOn = a} :: User) Prelude.. Lens.mapping Data._Time++-- | The user invite status.+user_userInvitationStatus :: Lens.Lens' User (Prelude.Maybe InviteStatus)+user_userInvitationStatus = Lens.lens (\User' {userInvitationStatus} -> userInvitationStatus) (\s@User' {} a -> s {userInvitationStatus = a} :: User)++-- | The user registration status.+user_userRegistrationStatus :: Lens.Lens' User (Prelude.Maybe RegistrationStatus)+user_userRegistrationStatus = Lens.lens (\User' {userRegistrationStatus} -> userRegistrationStatus) (\s@User' {} a -> s {userRegistrationStatus = a} :: User)++-- | The user type.+user_userType :: Lens.Lens' User (Prelude.Maybe UserType)+user_userType = Lens.lens (\User' {userType} -> userType) (\s@User' {} a -> s {userType = a} :: User)++-- | The user ID.+user_userId :: Lens.Lens' User Prelude.Text+user_userId = Lens.lens (\User' {userId} -> userId) (\s@User' {} a -> s {userId = a} :: User)++instance Data.FromJSON User where+  parseJSON =+    Data.withObject+      "User"+      ( \x ->+          User'+            Prelude.<$> (x Data..:? "AccountId")+            Prelude.<*> (x Data..:? "AlexaForBusinessMetadata")+            Prelude.<*> (x Data..:? "DisplayName")+            Prelude.<*> (x Data..:? "InvitedOn")+            Prelude.<*> (x Data..:? "LicenseType")+            Prelude.<*> (x Data..:? "PersonalPIN")+            Prelude.<*> (x Data..:? "PrimaryEmail")+            Prelude.<*> (x Data..:? "PrimaryProvisionedNumber")+            Prelude.<*> (x Data..:? "RegisteredOn")+            Prelude.<*> (x Data..:? "UserInvitationStatus")+            Prelude.<*> (x Data..:? "UserRegistrationStatus")+            Prelude.<*> (x Data..:? "UserType")+            Prelude.<*> (x Data..: "UserId")+      )++instance Prelude.Hashable User where+  hashWithSalt _salt User' {..} =+    _salt+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` alexaForBusinessMetadata+      `Prelude.hashWithSalt` displayName+      `Prelude.hashWithSalt` invitedOn+      `Prelude.hashWithSalt` licenseType+      `Prelude.hashWithSalt` personalPIN+      `Prelude.hashWithSalt` primaryEmail+      `Prelude.hashWithSalt` primaryProvisionedNumber+      `Prelude.hashWithSalt` registeredOn+      `Prelude.hashWithSalt` userInvitationStatus+      `Prelude.hashWithSalt` userRegistrationStatus+      `Prelude.hashWithSalt` userType+      `Prelude.hashWithSalt` userId++instance Prelude.NFData User where+  rnf User' {..} =+    Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf alexaForBusinessMetadata+      `Prelude.seq` Prelude.rnf displayName+      `Prelude.seq` Prelude.rnf invitedOn+      `Prelude.seq` Prelude.rnf licenseType+      `Prelude.seq` Prelude.rnf personalPIN+      `Prelude.seq` Prelude.rnf primaryEmail+      `Prelude.seq` Prelude.rnf primaryProvisionedNumber+      `Prelude.seq` Prelude.rnf registeredOn+      `Prelude.seq` Prelude.rnf userInvitationStatus+      `Prelude.seq` Prelude.rnf userRegistrationStatus+      `Prelude.seq` Prelude.rnf userType+      `Prelude.seq` Prelude.rnf userId
+ gen/Amazonka/Chime/Types/UserError.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Chime.Types.UserError+-- 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.Chime.Types.UserError where++import Amazonka.Chime.Types.ErrorCode+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+-- BatchSuspendUser, BatchUnsuspendUser, or BatchUpdateUser actions. This+-- includes user IDs, error codes, and error messages.+--+-- /See:/ 'newUserError' smart constructor.+data UserError = UserError'+  { -- | The error code.+    errorCode :: Prelude.Maybe ErrorCode,+    -- | The error message.+    errorMessage :: Prelude.Maybe Prelude.Text,+    -- | The user ID for which the action failed.+    userId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UserError' 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', 'userError_errorCode' - The error code.+--+-- 'errorMessage', 'userError_errorMessage' - The error message.+--+-- 'userId', 'userError_userId' - The user ID for which the action failed.+newUserError ::+  UserError+newUserError =+  UserError'+    { errorCode = Prelude.Nothing,+      errorMessage = Prelude.Nothing,+      userId = Prelude.Nothing+    }++-- | The error code.+userError_errorCode :: Lens.Lens' UserError (Prelude.Maybe ErrorCode)+userError_errorCode = Lens.lens (\UserError' {errorCode} -> errorCode) (\s@UserError' {} a -> s {errorCode = a} :: UserError)++-- | The error message.+userError_errorMessage :: Lens.Lens' UserError (Prelude.Maybe Prelude.Text)+userError_errorMessage = Lens.lens (\UserError' {errorMessage} -> errorMessage) (\s@UserError' {} a -> s {errorMessage = a} :: UserError)++-- | The user ID for which the action failed.+userError_userId :: Lens.Lens' UserError (Prelude.Maybe Prelude.Text)+userError_userId = Lens.lens (\UserError' {userId} -> userId) (\s@UserError' {} a -> s {userId = a} :: UserError)++instance Data.FromJSON UserError where+  parseJSON =+    Data.withObject+      "UserError"+      ( \x ->+          UserError'+            Prelude.<$> (x Data..:? "ErrorCode")+            Prelude.<*> (x Data..:? "ErrorMessage")+            Prelude.<*> (x Data..:? "UserId")+      )++instance Prelude.Hashable UserError where+  hashWithSalt _salt UserError' {..} =+    _salt+      `Prelude.hashWithSalt` errorCode+      `Prelude.hashWithSalt` errorMessage+      `Prelude.hashWithSalt` userId++instance Prelude.NFData UserError where+  rnf UserError' {..} =+    Prelude.rnf errorCode+      `Prelude.seq` Prelude.rnf errorMessage+      `Prelude.seq` Prelude.rnf userId
+ gen/Amazonka/Chime/Types/UserSettings.hs view
@@ -0,0 +1,78 @@+{-# 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.Chime.Types.UserSettings+-- 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.Chime.Types.UserSettings where++import Amazonka.Chime.Types.TelephonySettings+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 associated with an Amazon Chime user, including inbound and+-- outbound calling and text messaging.+--+-- /See:/ 'newUserSettings' smart constructor.+data UserSettings = UserSettings'+  { -- | The telephony settings associated with the user.+    telephony :: TelephonySettings+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UserSettings' 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:+--+-- 'telephony', 'userSettings_telephony' - The telephony settings associated with the user.+newUserSettings ::+  -- | 'telephony'+  TelephonySettings ->+  UserSettings+newUserSettings pTelephony_ =+  UserSettings' {telephony = pTelephony_}++-- | The telephony settings associated with the user.+userSettings_telephony :: Lens.Lens' UserSettings TelephonySettings+userSettings_telephony = Lens.lens (\UserSettings' {telephony} -> telephony) (\s@UserSettings' {} a -> s {telephony = a} :: UserSettings)++instance Data.FromJSON UserSettings where+  parseJSON =+    Data.withObject+      "UserSettings"+      ( \x ->+          UserSettings' Prelude.<$> (x Data..: "Telephony")+      )++instance Prelude.Hashable UserSettings where+  hashWithSalt _salt UserSettings' {..} =+    _salt `Prelude.hashWithSalt` telephony++instance Prelude.NFData UserSettings where+  rnf UserSettings' {..} = Prelude.rnf telephony++instance Data.ToJSON UserSettings where+  toJSON UserSettings' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("Telephony" Data..= telephony)]+      )
+ gen/Amazonka/Chime/Types/UserType.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.Chime.Types.UserType+-- 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.Chime.Types.UserType+  ( UserType+      ( ..,+        UserType_PrivateUser,+        UserType_SharedDevice+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype UserType = UserType'+  { fromUserType ::+      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 UserType_PrivateUser :: UserType+pattern UserType_PrivateUser = UserType' "PrivateUser"++pattern UserType_SharedDevice :: UserType+pattern UserType_SharedDevice = UserType' "SharedDevice"++{-# COMPLETE+  UserType_PrivateUser,+  UserType_SharedDevice,+  UserType'+  #-}
+ gen/Amazonka/Chime/Types/VideoArtifactsConfiguration.hs view
@@ -0,0 +1,97 @@+{-# 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.Chime.Types.VideoArtifactsConfiguration+-- 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.Chime.Types.VideoArtifactsConfiguration where++import Amazonka.Chime.Types.ArtifactsState+import Amazonka.Chime.Types.VideoMuxType+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 video artifact configuration object.+--+-- /See:/ 'newVideoArtifactsConfiguration' smart constructor.+data VideoArtifactsConfiguration = VideoArtifactsConfiguration'+  { -- | The MUX type of the video artifact configuration object.+    muxType :: Prelude.Maybe VideoMuxType,+    -- | Indicates whether the video artifact is enabled or disabled.+    state :: ArtifactsState+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VideoArtifactsConfiguration' 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:+--+-- 'muxType', 'videoArtifactsConfiguration_muxType' - The MUX type of the video artifact configuration object.+--+-- 'state', 'videoArtifactsConfiguration_state' - Indicates whether the video artifact is enabled or disabled.+newVideoArtifactsConfiguration ::+  -- | 'state'+  ArtifactsState ->+  VideoArtifactsConfiguration+newVideoArtifactsConfiguration pState_ =+  VideoArtifactsConfiguration'+    { muxType =+        Prelude.Nothing,+      state = pState_+    }++-- | The MUX type of the video artifact configuration object.+videoArtifactsConfiguration_muxType :: Lens.Lens' VideoArtifactsConfiguration (Prelude.Maybe VideoMuxType)+videoArtifactsConfiguration_muxType = Lens.lens (\VideoArtifactsConfiguration' {muxType} -> muxType) (\s@VideoArtifactsConfiguration' {} a -> s {muxType = a} :: VideoArtifactsConfiguration)++-- | Indicates whether the video artifact is enabled or disabled.+videoArtifactsConfiguration_state :: Lens.Lens' VideoArtifactsConfiguration ArtifactsState+videoArtifactsConfiguration_state = Lens.lens (\VideoArtifactsConfiguration' {state} -> state) (\s@VideoArtifactsConfiguration' {} a -> s {state = a} :: VideoArtifactsConfiguration)++instance Data.FromJSON VideoArtifactsConfiguration where+  parseJSON =+    Data.withObject+      "VideoArtifactsConfiguration"+      ( \x ->+          VideoArtifactsConfiguration'+            Prelude.<$> (x Data..:? "MuxType")+            Prelude.<*> (x Data..: "State")+      )++instance Prelude.Hashable VideoArtifactsConfiguration where+  hashWithSalt _salt VideoArtifactsConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` muxType+      `Prelude.hashWithSalt` state++instance Prelude.NFData VideoArtifactsConfiguration where+  rnf VideoArtifactsConfiguration' {..} =+    Prelude.rnf muxType `Prelude.seq` Prelude.rnf state++instance Data.ToJSON VideoArtifactsConfiguration where+  toJSON VideoArtifactsConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MuxType" Data..=) Prelude.<$> muxType,+            Prelude.Just ("State" Data..= state)+          ]+      )
+ gen/Amazonka/Chime/Types/VideoMuxType.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.Chime.Types.VideoMuxType+-- 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.Chime.Types.VideoMuxType+  ( VideoMuxType+      ( ..,+        VideoMuxType_VideoOnly+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype VideoMuxType = VideoMuxType'+  { fromVideoMuxType ::+      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 VideoMuxType_VideoOnly :: VideoMuxType+pattern VideoMuxType_VideoOnly = VideoMuxType' "VideoOnly"++{-# COMPLETE+  VideoMuxType_VideoOnly,+  VideoMuxType'+  #-}
+ gen/Amazonka/Chime/Types/VoiceConnector.hs view
@@ -0,0 +1,164 @@+{-# 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.Chime.Types.VoiceConnector+-- 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.Chime.Types.VoiceConnector where++import Amazonka.Chime.Types.VoiceConnectorAwsRegion+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 Voice Connector configuration, including outbound host+-- name and encryption settings.+--+-- /See:/ 'newVoiceConnector' smart constructor.+data VoiceConnector = VoiceConnector'+  { -- | The AWS Region in which the Amazon Chime Voice Connector is created.+    -- Default: @us-east-1@.+    awsRegion :: Prelude.Maybe VoiceConnectorAwsRegion,+    -- | The Amazon Chime Voice Connector creation timestamp, in ISO 8601 format.+    createdTimestamp :: Prelude.Maybe Data.ISO8601,+    -- | The name of the Amazon Chime Voice Connector.+    name :: Prelude.Maybe Prelude.Text,+    -- | The outbound host name for the Amazon Chime Voice Connector.+    outboundHostName :: Prelude.Maybe Prelude.Text,+    -- | Designates whether encryption is required for the Amazon Chime Voice+    -- Connector.+    requireEncryption :: Prelude.Maybe Prelude.Bool,+    -- | The updated Amazon Chime Voice Connector timestamp, in ISO 8601 format.+    updatedTimestamp :: Prelude.Maybe Data.ISO8601,+    -- | The ARN of the specified Amazon Chime Voice Connector.+    voiceConnectorArn :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Chime Voice Connector ID.+    voiceConnectorId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VoiceConnector' 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:+--+-- 'awsRegion', 'voiceConnector_awsRegion' - The AWS Region in which the Amazon Chime Voice Connector is created.+-- Default: @us-east-1@.+--+-- 'createdTimestamp', 'voiceConnector_createdTimestamp' - The Amazon Chime Voice Connector creation timestamp, in ISO 8601 format.+--+-- 'name', 'voiceConnector_name' - The name of the Amazon Chime Voice Connector.+--+-- 'outboundHostName', 'voiceConnector_outboundHostName' - The outbound host name for the Amazon Chime Voice Connector.+--+-- 'requireEncryption', 'voiceConnector_requireEncryption' - Designates whether encryption is required for the Amazon Chime Voice+-- Connector.+--+-- 'updatedTimestamp', 'voiceConnector_updatedTimestamp' - The updated Amazon Chime Voice Connector timestamp, in ISO 8601 format.+--+-- 'voiceConnectorArn', 'voiceConnector_voiceConnectorArn' - The ARN of the specified Amazon Chime Voice Connector.+--+-- 'voiceConnectorId', 'voiceConnector_voiceConnectorId' - The Amazon Chime Voice Connector ID.+newVoiceConnector ::+  VoiceConnector+newVoiceConnector =+  VoiceConnector'+    { awsRegion = Prelude.Nothing,+      createdTimestamp = Prelude.Nothing,+      name = Prelude.Nothing,+      outboundHostName = Prelude.Nothing,+      requireEncryption = Prelude.Nothing,+      updatedTimestamp = Prelude.Nothing,+      voiceConnectorArn = Prelude.Nothing,+      voiceConnectorId = Prelude.Nothing+    }++-- | The AWS Region in which the Amazon Chime Voice Connector is created.+-- Default: @us-east-1@.+voiceConnector_awsRegion :: Lens.Lens' VoiceConnector (Prelude.Maybe VoiceConnectorAwsRegion)+voiceConnector_awsRegion = Lens.lens (\VoiceConnector' {awsRegion} -> awsRegion) (\s@VoiceConnector' {} a -> s {awsRegion = a} :: VoiceConnector)++-- | The Amazon Chime Voice Connector creation timestamp, in ISO 8601 format.+voiceConnector_createdTimestamp :: Lens.Lens' VoiceConnector (Prelude.Maybe Prelude.UTCTime)+voiceConnector_createdTimestamp = Lens.lens (\VoiceConnector' {createdTimestamp} -> createdTimestamp) (\s@VoiceConnector' {} a -> s {createdTimestamp = a} :: VoiceConnector) Prelude.. Lens.mapping Data._Time++-- | The name of the Amazon Chime Voice Connector.+voiceConnector_name :: Lens.Lens' VoiceConnector (Prelude.Maybe Prelude.Text)+voiceConnector_name = Lens.lens (\VoiceConnector' {name} -> name) (\s@VoiceConnector' {} a -> s {name = a} :: VoiceConnector)++-- | The outbound host name for the Amazon Chime Voice Connector.+voiceConnector_outboundHostName :: Lens.Lens' VoiceConnector (Prelude.Maybe Prelude.Text)+voiceConnector_outboundHostName = Lens.lens (\VoiceConnector' {outboundHostName} -> outboundHostName) (\s@VoiceConnector' {} a -> s {outboundHostName = a} :: VoiceConnector)++-- | Designates whether encryption is required for the Amazon Chime Voice+-- Connector.+voiceConnector_requireEncryption :: Lens.Lens' VoiceConnector (Prelude.Maybe Prelude.Bool)+voiceConnector_requireEncryption = Lens.lens (\VoiceConnector' {requireEncryption} -> requireEncryption) (\s@VoiceConnector' {} a -> s {requireEncryption = a} :: VoiceConnector)++-- | The updated Amazon Chime Voice Connector timestamp, in ISO 8601 format.+voiceConnector_updatedTimestamp :: Lens.Lens' VoiceConnector (Prelude.Maybe Prelude.UTCTime)+voiceConnector_updatedTimestamp = Lens.lens (\VoiceConnector' {updatedTimestamp} -> updatedTimestamp) (\s@VoiceConnector' {} a -> s {updatedTimestamp = a} :: VoiceConnector) Prelude.. Lens.mapping Data._Time++-- | The ARN of the specified Amazon Chime Voice Connector.+voiceConnector_voiceConnectorArn :: Lens.Lens' VoiceConnector (Prelude.Maybe Prelude.Text)+voiceConnector_voiceConnectorArn = Lens.lens (\VoiceConnector' {voiceConnectorArn} -> voiceConnectorArn) (\s@VoiceConnector' {} a -> s {voiceConnectorArn = a} :: VoiceConnector)++-- | The Amazon Chime Voice Connector ID.+voiceConnector_voiceConnectorId :: Lens.Lens' VoiceConnector (Prelude.Maybe Prelude.Text)+voiceConnector_voiceConnectorId = Lens.lens (\VoiceConnector' {voiceConnectorId} -> voiceConnectorId) (\s@VoiceConnector' {} a -> s {voiceConnectorId = a} :: VoiceConnector)++instance Data.FromJSON VoiceConnector where+  parseJSON =+    Data.withObject+      "VoiceConnector"+      ( \x ->+          VoiceConnector'+            Prelude.<$> (x Data..:? "AwsRegion")+            Prelude.<*> (x Data..:? "CreatedTimestamp")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "OutboundHostName")+            Prelude.<*> (x Data..:? "RequireEncryption")+            Prelude.<*> (x Data..:? "UpdatedTimestamp")+            Prelude.<*> (x Data..:? "VoiceConnectorArn")+            Prelude.<*> (x Data..:? "VoiceConnectorId")+      )++instance Prelude.Hashable VoiceConnector where+  hashWithSalt _salt VoiceConnector' {..} =+    _salt+      `Prelude.hashWithSalt` awsRegion+      `Prelude.hashWithSalt` createdTimestamp+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` outboundHostName+      `Prelude.hashWithSalt` requireEncryption+      `Prelude.hashWithSalt` updatedTimestamp+      `Prelude.hashWithSalt` voiceConnectorArn+      `Prelude.hashWithSalt` voiceConnectorId++instance Prelude.NFData VoiceConnector where+  rnf VoiceConnector' {..} =+    Prelude.rnf awsRegion+      `Prelude.seq` Prelude.rnf createdTimestamp+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf outboundHostName+      `Prelude.seq` Prelude.rnf requireEncryption+      `Prelude.seq` Prelude.rnf updatedTimestamp+      `Prelude.seq` Prelude.rnf voiceConnectorArn+      `Prelude.seq` Prelude.rnf voiceConnectorId
+ gen/Amazonka/Chime/Types/VoiceConnectorAwsRegion.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.Chime.Types.VoiceConnectorAwsRegion+-- 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.Chime.Types.VoiceConnectorAwsRegion+  ( VoiceConnectorAwsRegion+      ( ..,+        VoiceConnectorAwsRegion_Us_east_1,+        VoiceConnectorAwsRegion_Us_west_2+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype VoiceConnectorAwsRegion = VoiceConnectorAwsRegion'+  { fromVoiceConnectorAwsRegion ::+      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 VoiceConnectorAwsRegion_Us_east_1 :: VoiceConnectorAwsRegion+pattern VoiceConnectorAwsRegion_Us_east_1 = VoiceConnectorAwsRegion' "us-east-1"++pattern VoiceConnectorAwsRegion_Us_west_2 :: VoiceConnectorAwsRegion+pattern VoiceConnectorAwsRegion_Us_west_2 = VoiceConnectorAwsRegion' "us-west-2"++{-# COMPLETE+  VoiceConnectorAwsRegion_Us_east_1,+  VoiceConnectorAwsRegion_Us_west_2,+  VoiceConnectorAwsRegion'+  #-}
+ gen/Amazonka/Chime/Types/VoiceConnectorGroup.hs view
@@ -0,0 +1,146 @@+{-# 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.Chime.Types.VoiceConnectorGroup+-- 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.Chime.Types.VoiceConnectorGroup where++import Amazonka.Chime.Types.VoiceConnectorItem+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 Voice Connector group configuration, including+-- associated Amazon Chime Voice Connectors. You can include Amazon Chime+-- Voice Connectors from different AWS Regions in your group. This creates+-- a fault tolerant mechanism for fallback in case of availability events.+--+-- /See:/ 'newVoiceConnectorGroup' smart constructor.+data VoiceConnectorGroup = VoiceConnectorGroup'+  { -- | The Amazon Chime Voice Connector group creation time stamp, in ISO 8601+    -- format.+    createdTimestamp :: Prelude.Maybe Data.ISO8601,+    -- | The name of the Amazon Chime Voice Connector group.+    name :: Prelude.Maybe Prelude.Text,+    -- | The updated Amazon Chime Voice Connector group time stamp, in ISO 8601+    -- format.+    updatedTimestamp :: Prelude.Maybe Data.ISO8601,+    -- | The ARN of the specified Amazon Chime Voice Connector group.+    voiceConnectorGroupArn :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Chime Voice Connector group ID.+    voiceConnectorGroupId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Chime Voice Connectors to which to route inbound calls.+    voiceConnectorItems :: Prelude.Maybe [VoiceConnectorItem]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VoiceConnectorGroup' 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:+--+-- 'createdTimestamp', 'voiceConnectorGroup_createdTimestamp' - The Amazon Chime Voice Connector group creation time stamp, in ISO 8601+-- format.+--+-- 'name', 'voiceConnectorGroup_name' - The name of the Amazon Chime Voice Connector group.+--+-- 'updatedTimestamp', 'voiceConnectorGroup_updatedTimestamp' - The updated Amazon Chime Voice Connector group time stamp, in ISO 8601+-- format.+--+-- 'voiceConnectorGroupArn', 'voiceConnectorGroup_voiceConnectorGroupArn' - The ARN of the specified Amazon Chime Voice Connector group.+--+-- 'voiceConnectorGroupId', 'voiceConnectorGroup_voiceConnectorGroupId' - The Amazon Chime Voice Connector group ID.+--+-- 'voiceConnectorItems', 'voiceConnectorGroup_voiceConnectorItems' - The Amazon Chime Voice Connectors to which to route inbound calls.+newVoiceConnectorGroup ::+  VoiceConnectorGroup+newVoiceConnectorGroup =+  VoiceConnectorGroup'+    { createdTimestamp =+        Prelude.Nothing,+      name = Prelude.Nothing,+      updatedTimestamp = Prelude.Nothing,+      voiceConnectorGroupArn = Prelude.Nothing,+      voiceConnectorGroupId = Prelude.Nothing,+      voiceConnectorItems = Prelude.Nothing+    }++-- | The Amazon Chime Voice Connector group creation time stamp, in ISO 8601+-- format.+voiceConnectorGroup_createdTimestamp :: Lens.Lens' VoiceConnectorGroup (Prelude.Maybe Prelude.UTCTime)+voiceConnectorGroup_createdTimestamp = Lens.lens (\VoiceConnectorGroup' {createdTimestamp} -> createdTimestamp) (\s@VoiceConnectorGroup' {} a -> s {createdTimestamp = a} :: VoiceConnectorGroup) Prelude.. Lens.mapping Data._Time++-- | The name of the Amazon Chime Voice Connector group.+voiceConnectorGroup_name :: Lens.Lens' VoiceConnectorGroup (Prelude.Maybe Prelude.Text)+voiceConnectorGroup_name = Lens.lens (\VoiceConnectorGroup' {name} -> name) (\s@VoiceConnectorGroup' {} a -> s {name = a} :: VoiceConnectorGroup)++-- | The updated Amazon Chime Voice Connector group time stamp, in ISO 8601+-- format.+voiceConnectorGroup_updatedTimestamp :: Lens.Lens' VoiceConnectorGroup (Prelude.Maybe Prelude.UTCTime)+voiceConnectorGroup_updatedTimestamp = Lens.lens (\VoiceConnectorGroup' {updatedTimestamp} -> updatedTimestamp) (\s@VoiceConnectorGroup' {} a -> s {updatedTimestamp = a} :: VoiceConnectorGroup) Prelude.. Lens.mapping Data._Time++-- | The ARN of the specified Amazon Chime Voice Connector group.+voiceConnectorGroup_voiceConnectorGroupArn :: Lens.Lens' VoiceConnectorGroup (Prelude.Maybe Prelude.Text)+voiceConnectorGroup_voiceConnectorGroupArn = Lens.lens (\VoiceConnectorGroup' {voiceConnectorGroupArn} -> voiceConnectorGroupArn) (\s@VoiceConnectorGroup' {} a -> s {voiceConnectorGroupArn = a} :: VoiceConnectorGroup)++-- | The Amazon Chime Voice Connector group ID.+voiceConnectorGroup_voiceConnectorGroupId :: Lens.Lens' VoiceConnectorGroup (Prelude.Maybe Prelude.Text)+voiceConnectorGroup_voiceConnectorGroupId = Lens.lens (\VoiceConnectorGroup' {voiceConnectorGroupId} -> voiceConnectorGroupId) (\s@VoiceConnectorGroup' {} a -> s {voiceConnectorGroupId = a} :: VoiceConnectorGroup)++-- | The Amazon Chime Voice Connectors to which to route inbound calls.+voiceConnectorGroup_voiceConnectorItems :: Lens.Lens' VoiceConnectorGroup (Prelude.Maybe [VoiceConnectorItem])+voiceConnectorGroup_voiceConnectorItems = Lens.lens (\VoiceConnectorGroup' {voiceConnectorItems} -> voiceConnectorItems) (\s@VoiceConnectorGroup' {} a -> s {voiceConnectorItems = a} :: VoiceConnectorGroup) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON VoiceConnectorGroup where+  parseJSON =+    Data.withObject+      "VoiceConnectorGroup"+      ( \x ->+          VoiceConnectorGroup'+            Prelude.<$> (x Data..:? "CreatedTimestamp")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "UpdatedTimestamp")+            Prelude.<*> (x Data..:? "VoiceConnectorGroupArn")+            Prelude.<*> (x Data..:? "VoiceConnectorGroupId")+            Prelude.<*> ( x+                            Data..:? "VoiceConnectorItems"+                            Data..!= Prelude.mempty+                        )+      )++instance Prelude.Hashable VoiceConnectorGroup where+  hashWithSalt _salt VoiceConnectorGroup' {..} =+    _salt+      `Prelude.hashWithSalt` createdTimestamp+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` updatedTimestamp+      `Prelude.hashWithSalt` voiceConnectorGroupArn+      `Prelude.hashWithSalt` voiceConnectorGroupId+      `Prelude.hashWithSalt` voiceConnectorItems++instance Prelude.NFData VoiceConnectorGroup where+  rnf VoiceConnectorGroup' {..} =+    Prelude.rnf createdTimestamp+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf updatedTimestamp+      `Prelude.seq` Prelude.rnf voiceConnectorGroupArn+      `Prelude.seq` Prelude.rnf voiceConnectorGroupId+      `Prelude.seq` Prelude.rnf voiceConnectorItems
+ gen/Amazonka/Chime/Types/VoiceConnectorItem.hs view
@@ -0,0 +1,108 @@+{-# 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.Chime.Types.VoiceConnectorItem+-- 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.Chime.Types.VoiceConnectorItem 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++-- | For Amazon Chime Voice Connector groups, the Amazon Chime Voice+-- Connectors to which to route inbound calls. Includes priority+-- configuration settings. Limit: 3 @VoiceConnectorItems@ per Amazon Chime+-- Voice Connector group.+--+-- /See:/ 'newVoiceConnectorItem' smart constructor.+data VoiceConnectorItem = VoiceConnectorItem'+  { -- | The Amazon Chime Voice Connector ID.+    voiceConnectorId :: Prelude.Text,+    -- | The priority associated with the Amazon Chime Voice Connector, with 1+    -- being the highest priority. Higher priority Amazon Chime Voice+    -- Connectors are attempted first.+    priority :: Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VoiceConnectorItem' 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:+--+-- 'voiceConnectorId', 'voiceConnectorItem_voiceConnectorId' - The Amazon Chime Voice Connector ID.+--+-- 'priority', 'voiceConnectorItem_priority' - The priority associated with the Amazon Chime Voice Connector, with 1+-- being the highest priority. Higher priority Amazon Chime Voice+-- Connectors are attempted first.+newVoiceConnectorItem ::+  -- | 'voiceConnectorId'+  Prelude.Text ->+  -- | 'priority'+  Prelude.Natural ->+  VoiceConnectorItem+newVoiceConnectorItem pVoiceConnectorId_ pPriority_ =+  VoiceConnectorItem'+    { voiceConnectorId =+        pVoiceConnectorId_,+      priority = pPriority_+    }++-- | The Amazon Chime Voice Connector ID.+voiceConnectorItem_voiceConnectorId :: Lens.Lens' VoiceConnectorItem Prelude.Text+voiceConnectorItem_voiceConnectorId = Lens.lens (\VoiceConnectorItem' {voiceConnectorId} -> voiceConnectorId) (\s@VoiceConnectorItem' {} a -> s {voiceConnectorId = a} :: VoiceConnectorItem)++-- | The priority associated with the Amazon Chime Voice Connector, with 1+-- being the highest priority. Higher priority Amazon Chime Voice+-- Connectors are attempted first.+voiceConnectorItem_priority :: Lens.Lens' VoiceConnectorItem Prelude.Natural+voiceConnectorItem_priority = Lens.lens (\VoiceConnectorItem' {priority} -> priority) (\s@VoiceConnectorItem' {} a -> s {priority = a} :: VoiceConnectorItem)++instance Data.FromJSON VoiceConnectorItem where+  parseJSON =+    Data.withObject+      "VoiceConnectorItem"+      ( \x ->+          VoiceConnectorItem'+            Prelude.<$> (x Data..: "VoiceConnectorId")+            Prelude.<*> (x Data..: "Priority")+      )++instance Prelude.Hashable VoiceConnectorItem where+  hashWithSalt _salt VoiceConnectorItem' {..} =+    _salt+      `Prelude.hashWithSalt` voiceConnectorId+      `Prelude.hashWithSalt` priority++instance Prelude.NFData VoiceConnectorItem where+  rnf VoiceConnectorItem' {..} =+    Prelude.rnf voiceConnectorId+      `Prelude.seq` Prelude.rnf priority++instance Data.ToJSON VoiceConnectorItem where+  toJSON VoiceConnectorItem' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("VoiceConnectorId" Data..= voiceConnectorId),+            Prelude.Just ("Priority" Data..= priority)+          ]+      )
+ gen/Amazonka/Chime/Types/VoiceConnectorSettings.hs view
@@ -0,0 +1,80 @@+{-# 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.Chime.Types.VoiceConnectorSettings+-- 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.Chime.Types.VoiceConnectorSettings 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 Amazon Chime Voice Connector settings. Includes any Amazon S3+-- buckets designated for storing call detail records.+--+-- /See:/ 'newVoiceConnectorSettings' smart constructor.+data VoiceConnectorSettings = VoiceConnectorSettings'+  { -- | The Amazon S3 bucket designated for call detail record storage.+    cdrBucket :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VoiceConnectorSettings' 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:+--+-- 'cdrBucket', 'voiceConnectorSettings_cdrBucket' - The Amazon S3 bucket designated for call detail record storage.+newVoiceConnectorSettings ::+  VoiceConnectorSettings+newVoiceConnectorSettings =+  VoiceConnectorSettings'+    { cdrBucket =+        Prelude.Nothing+    }++-- | The Amazon S3 bucket designated for call detail record storage.+voiceConnectorSettings_cdrBucket :: Lens.Lens' VoiceConnectorSettings (Prelude.Maybe Prelude.Text)+voiceConnectorSettings_cdrBucket = Lens.lens (\VoiceConnectorSettings' {cdrBucket} -> cdrBucket) (\s@VoiceConnectorSettings' {} a -> s {cdrBucket = a} :: VoiceConnectorSettings)++instance Data.FromJSON VoiceConnectorSettings where+  parseJSON =+    Data.withObject+      "VoiceConnectorSettings"+      ( \x ->+          VoiceConnectorSettings'+            Prelude.<$> (x Data..:? "CdrBucket")+      )++instance Prelude.Hashable VoiceConnectorSettings where+  hashWithSalt _salt VoiceConnectorSettings' {..} =+    _salt `Prelude.hashWithSalt` cdrBucket++instance Prelude.NFData VoiceConnectorSettings where+  rnf VoiceConnectorSettings' {..} =+    Prelude.rnf cdrBucket++instance Data.ToJSON VoiceConnectorSettings where+  toJSON VoiceConnectorSettings' {..} =+    Data.object+      ( Prelude.catMaybes+          [("CdrBucket" Data..=) Prelude.<$> cdrBucket]+      )
+ gen/Amazonka/Chime/UntagAttendee.hs view
@@ -0,0 +1,161 @@+{-# 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.Chime.UntagAttendee+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Untags the specified tags from the specified Amazon Chime SDK attendee.+module Amazonka.Chime.UntagAttendee+  ( -- * Creating a Request+    UntagAttendee (..),+    newUntagAttendee,++    -- * Request Lenses+    untagAttendee_meetingId,+    untagAttendee_tagKeys,+    untagAttendee_attendeeId,++    -- * Destructuring the Response+    UntagAttendeeResponse (..),+    newUntagAttendeeResponse,+  )+where++import Amazonka.Chime.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:/ 'newUntagAttendee' smart constructor.+data UntagAttendee = UntagAttendee'+  { -- | The Amazon Chime SDK meeting ID.+    meetingId :: Prelude.Text,+    -- | The tag keys.+    tagKeys :: Prelude.NonEmpty (Data.Sensitive Prelude.Text),+    -- | The Amazon Chime SDK attendee ID.+    attendeeId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagAttendee' 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', 'untagAttendee_meetingId' - The Amazon Chime SDK meeting ID.+--+-- 'tagKeys', 'untagAttendee_tagKeys' - The tag keys.+--+-- 'attendeeId', 'untagAttendee_attendeeId' - The Amazon Chime SDK attendee ID.+newUntagAttendee ::+  -- | 'meetingId'+  Prelude.Text ->+  -- | 'tagKeys'+  Prelude.NonEmpty Prelude.Text ->+  -- | 'attendeeId'+  Prelude.Text ->+  UntagAttendee+newUntagAttendee pMeetingId_ pTagKeys_ pAttendeeId_ =+  UntagAttendee'+    { meetingId = pMeetingId_,+      tagKeys = Lens.coerced Lens.# pTagKeys_,+      attendeeId = pAttendeeId_+    }++-- | The Amazon Chime SDK meeting ID.+untagAttendee_meetingId :: Lens.Lens' UntagAttendee Prelude.Text+untagAttendee_meetingId = Lens.lens (\UntagAttendee' {meetingId} -> meetingId) (\s@UntagAttendee' {} a -> s {meetingId = a} :: UntagAttendee)++-- | The tag keys.+untagAttendee_tagKeys :: Lens.Lens' UntagAttendee (Prelude.NonEmpty Prelude.Text)+untagAttendee_tagKeys = Lens.lens (\UntagAttendee' {tagKeys} -> tagKeys) (\s@UntagAttendee' {} a -> s {tagKeys = a} :: UntagAttendee) Prelude.. Lens.coerced++-- | The Amazon Chime SDK attendee ID.+untagAttendee_attendeeId :: Lens.Lens' UntagAttendee Prelude.Text+untagAttendee_attendeeId = Lens.lens (\UntagAttendee' {attendeeId} -> attendeeId) (\s@UntagAttendee' {} a -> s {attendeeId = a} :: UntagAttendee)++instance Core.AWSRequest UntagAttendee where+  type+    AWSResponse UntagAttendee =+      UntagAttendeeResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveNull UntagAttendeeResponse'++instance Prelude.Hashable UntagAttendee where+  hashWithSalt _salt UntagAttendee' {..} =+    _salt+      `Prelude.hashWithSalt` meetingId+      `Prelude.hashWithSalt` tagKeys+      `Prelude.hashWithSalt` attendeeId++instance Prelude.NFData UntagAttendee where+  rnf UntagAttendee' {..} =+    Prelude.rnf meetingId+      `Prelude.seq` Prelude.rnf tagKeys+      `Prelude.seq` Prelude.rnf attendeeId++instance Data.ToHeaders UntagAttendee where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON UntagAttendee where+  toJSON UntagAttendee' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("TagKeys" Data..= tagKeys)]+      )++instance Data.ToPath UntagAttendee where+  toPath UntagAttendee' {..} =+    Prelude.mconcat+      [ "/meetings/",+        Data.toBS meetingId,+        "/attendees/",+        Data.toBS attendeeId,+        "/tags"+      ]++instance Data.ToQuery UntagAttendee where+  toQuery =+    Prelude.const+      (Prelude.mconcat ["operation=delete"])++-- | /See:/ 'newUntagAttendeeResponse' smart constructor.+data UntagAttendeeResponse = UntagAttendeeResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagAttendeeResponse' 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.+newUntagAttendeeResponse ::+  UntagAttendeeResponse+newUntagAttendeeResponse = UntagAttendeeResponse'++instance Prelude.NFData UntagAttendeeResponse where+  rnf _ = ()
+ gen/Amazonka/Chime/UntagMeeting.hs view
@@ -0,0 +1,139 @@+{-# 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.Chime.UntagMeeting+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Untags the specified tags from the specified Amazon Chime SDK meeting.+module Amazonka.Chime.UntagMeeting+  ( -- * Creating a Request+    UntagMeeting (..),+    newUntagMeeting,++    -- * Request Lenses+    untagMeeting_meetingId,+    untagMeeting_tagKeys,++    -- * Destructuring the Response+    UntagMeetingResponse (..),+    newUntagMeetingResponse,+  )+where++import Amazonka.Chime.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:/ 'newUntagMeeting' smart constructor.+data UntagMeeting = UntagMeeting'+  { -- | The Amazon Chime SDK meeting ID.+    meetingId :: Prelude.Text,+    -- | The tag keys.+    tagKeys :: Prelude.NonEmpty (Data.Sensitive Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagMeeting' 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', 'untagMeeting_meetingId' - The Amazon Chime SDK meeting ID.+--+-- 'tagKeys', 'untagMeeting_tagKeys' - The tag keys.+newUntagMeeting ::+  -- | 'meetingId'+  Prelude.Text ->+  -- | 'tagKeys'+  Prelude.NonEmpty Prelude.Text ->+  UntagMeeting+newUntagMeeting pMeetingId_ pTagKeys_ =+  UntagMeeting'+    { meetingId = pMeetingId_,+      tagKeys = Lens.coerced Lens.# pTagKeys_+    }++-- | The Amazon Chime SDK meeting ID.+untagMeeting_meetingId :: Lens.Lens' UntagMeeting Prelude.Text+untagMeeting_meetingId = Lens.lens (\UntagMeeting' {meetingId} -> meetingId) (\s@UntagMeeting' {} a -> s {meetingId = a} :: UntagMeeting)++-- | The tag keys.+untagMeeting_tagKeys :: Lens.Lens' UntagMeeting (Prelude.NonEmpty Prelude.Text)+untagMeeting_tagKeys = Lens.lens (\UntagMeeting' {tagKeys} -> tagKeys) (\s@UntagMeeting' {} a -> s {tagKeys = a} :: UntagMeeting) Prelude.. Lens.coerced++instance Core.AWSRequest UntagMeeting where+  type AWSResponse UntagMeeting = UntagMeetingResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response = Response.receiveNull UntagMeetingResponse'++instance Prelude.Hashable UntagMeeting where+  hashWithSalt _salt UntagMeeting' {..} =+    _salt+      `Prelude.hashWithSalt` meetingId+      `Prelude.hashWithSalt` tagKeys++instance Prelude.NFData UntagMeeting where+  rnf UntagMeeting' {..} =+    Prelude.rnf meetingId+      `Prelude.seq` Prelude.rnf tagKeys++instance Data.ToHeaders UntagMeeting where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON UntagMeeting where+  toJSON UntagMeeting' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("TagKeys" Data..= tagKeys)]+      )++instance Data.ToPath UntagMeeting where+  toPath UntagMeeting' {..} =+    Prelude.mconcat+      ["/meetings/", Data.toBS meetingId, "/tags"]++instance Data.ToQuery UntagMeeting where+  toQuery =+    Prelude.const+      (Prelude.mconcat ["operation=delete"])++-- | /See:/ 'newUntagMeetingResponse' smart constructor.+data UntagMeetingResponse = UntagMeetingResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagMeetingResponse' 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.+newUntagMeetingResponse ::+  UntagMeetingResponse+newUntagMeetingResponse = UntagMeetingResponse'++instance Prelude.NFData UntagMeetingResponse where+  rnf _ = ()
+ gen/Amazonka/Chime/UntagResource.hs view
@@ -0,0 +1,144 @@+{-# 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.Chime.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)+--+-- Untags the specified tags from the specified Amazon Chime SDK meeting+-- resource.+module Amazonka.Chime.UntagResource+  ( -- * Creating a Request+    UntagResource (..),+    newUntagResource,++    -- * Request Lenses+    untagResource_resourceARN,+    untagResource_tagKeys,++    -- * Destructuring the Response+    UntagResourceResponse (..),+    newUntagResourceResponse,+  )+where++import Amazonka.Chime.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 resource ARN.+    resourceARN :: Data.Sensitive Prelude.Text,+    -- | The tag keys.+    tagKeys :: Prelude.NonEmpty (Data.Sensitive Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceARN', 'untagResource_resourceARN' - The resource ARN.+--+-- 'tagKeys', 'untagResource_tagKeys' - The tag keys.+newUntagResource ::+  -- | 'resourceARN'+  Prelude.Text ->+  -- | 'tagKeys'+  Prelude.NonEmpty Prelude.Text ->+  UntagResource+newUntagResource pResourceARN_ pTagKeys_ =+  UntagResource'+    { resourceARN =+        Data._Sensitive Lens.# pResourceARN_,+      tagKeys = Lens.coerced Lens.# pTagKeys_+    }++-- | The resource ARN.+untagResource_resourceARN :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceARN = Lens.lens (\UntagResource' {resourceARN} -> resourceARN) (\s@UntagResource' {} a -> s {resourceARN = a} :: UntagResource) Prelude.. Data._Sensitive++-- | The tag keys.+untagResource_tagKeys :: Lens.Lens' UntagResource (Prelude.NonEmpty 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.receiveNull UntagResourceResponse'++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'+  {+  }+  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.+newUntagResourceResponse ::+  UntagResourceResponse+newUntagResourceResponse = UntagResourceResponse'++instance Prelude.NFData UntagResourceResponse where+  rnf _ = ()
+ gen/Amazonka/Chime/UpdateAccount.hs view
@@ -0,0 +1,192 @@+{-# 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.Chime.UpdateAccount+-- 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 account details for the specified Amazon Chime account.+-- Currently, only account name and default license updates are supported+-- for this action.+module Amazonka.Chime.UpdateAccount+  ( -- * Creating a Request+    UpdateAccount (..),+    newUpdateAccount,++    -- * Request Lenses+    updateAccount_defaultLicense,+    updateAccount_name,+    updateAccount_accountId,++    -- * Destructuring the Response+    UpdateAccountResponse (..),+    newUpdateAccountResponse,++    -- * Response Lenses+    updateAccountResponse_account,+    updateAccountResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newUpdateAccount' smart constructor.+data UpdateAccount = UpdateAccount'+  { -- | The default license applied when you add users to an Amazon Chime+    -- account.+    defaultLicense :: Prelude.Maybe License,+    -- | The new name for the specified Amazon Chime account.+    name :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Chime account ID.+    accountId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAccount' 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:+--+-- 'defaultLicense', 'updateAccount_defaultLicense' - The default license applied when you add users to an Amazon Chime+-- account.+--+-- 'name', 'updateAccount_name' - The new name for the specified Amazon Chime account.+--+-- 'accountId', 'updateAccount_accountId' - The Amazon Chime account ID.+newUpdateAccount ::+  -- | 'accountId'+  Prelude.Text ->+  UpdateAccount+newUpdateAccount pAccountId_ =+  UpdateAccount'+    { defaultLicense = Prelude.Nothing,+      name = Prelude.Nothing,+      accountId = pAccountId_+    }++-- | The default license applied when you add users to an Amazon Chime+-- account.+updateAccount_defaultLicense :: Lens.Lens' UpdateAccount (Prelude.Maybe License)+updateAccount_defaultLicense = Lens.lens (\UpdateAccount' {defaultLicense} -> defaultLicense) (\s@UpdateAccount' {} a -> s {defaultLicense = a} :: UpdateAccount)++-- | The new name for the specified Amazon Chime account.+updateAccount_name :: Lens.Lens' UpdateAccount (Prelude.Maybe Prelude.Text)+updateAccount_name = Lens.lens (\UpdateAccount' {name} -> name) (\s@UpdateAccount' {} a -> s {name = a} :: UpdateAccount)++-- | The Amazon Chime account ID.+updateAccount_accountId :: Lens.Lens' UpdateAccount Prelude.Text+updateAccount_accountId = Lens.lens (\UpdateAccount' {accountId} -> accountId) (\s@UpdateAccount' {} a -> s {accountId = a} :: UpdateAccount)++instance Core.AWSRequest UpdateAccount where+  type+    AWSResponse UpdateAccount =+      UpdateAccountResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateAccountResponse'+            Prelude.<$> (x Data..?> "Account")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateAccount where+  hashWithSalt _salt UpdateAccount' {..} =+    _salt+      `Prelude.hashWithSalt` defaultLicense+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` accountId++instance Prelude.NFData UpdateAccount where+  rnf UpdateAccount' {..} =+    Prelude.rnf defaultLicense+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf accountId++instance Data.ToHeaders UpdateAccount where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON UpdateAccount where+  toJSON UpdateAccount' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DefaultLicense" Data..=)+              Prelude.<$> defaultLicense,+            ("Name" Data..=) Prelude.<$> name+          ]+      )++instance Data.ToPath UpdateAccount where+  toPath UpdateAccount' {..} =+    Prelude.mconcat ["/accounts/", Data.toBS accountId]++instance Data.ToQuery UpdateAccount where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateAccountResponse' smart constructor.+data UpdateAccountResponse = UpdateAccountResponse'+  { -- | The updated Amazon Chime account details.+    account :: Prelude.Maybe Account,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAccountResponse' 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:+--+-- 'account', 'updateAccountResponse_account' - The updated Amazon Chime account details.+--+-- 'httpStatus', 'updateAccountResponse_httpStatus' - The response's http status code.+newUpdateAccountResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateAccountResponse+newUpdateAccountResponse pHttpStatus_ =+  UpdateAccountResponse'+    { account = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The updated Amazon Chime account details.+updateAccountResponse_account :: Lens.Lens' UpdateAccountResponse (Prelude.Maybe Account)+updateAccountResponse_account = Lens.lens (\UpdateAccountResponse' {account} -> account) (\s@UpdateAccountResponse' {} a -> s {account = a} :: UpdateAccountResponse)++-- | The response's http status code.+updateAccountResponse_httpStatus :: Lens.Lens' UpdateAccountResponse Prelude.Int+updateAccountResponse_httpStatus = Lens.lens (\UpdateAccountResponse' {httpStatus} -> httpStatus) (\s@UpdateAccountResponse' {} a -> s {httpStatus = a} :: UpdateAccountResponse)++instance Prelude.NFData UpdateAccountResponse where+  rnf UpdateAccountResponse' {..} =+    Prelude.rnf account+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/UpdateAccountSettings.hs view
@@ -0,0 +1,172 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Chime.UpdateAccountSettings+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the settings for the specified Amazon Chime account. You can+-- update settings for remote control of shared screens, or for the+-- dial-out option. For more information about these settings, see+-- <https://docs.aws.amazon.com/chime/latest/ag/policies.html Use the Policies Page>+-- in the /Amazon Chime Administration Guide/.+module Amazonka.Chime.UpdateAccountSettings+  ( -- * Creating a Request+    UpdateAccountSettings (..),+    newUpdateAccountSettings,++    -- * Request Lenses+    updateAccountSettings_accountId,+    updateAccountSettings_accountSettings,++    -- * Destructuring the Response+    UpdateAccountSettingsResponse (..),+    newUpdateAccountSettingsResponse,++    -- * Response Lenses+    updateAccountSettingsResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newUpdateAccountSettings' smart constructor.+data UpdateAccountSettings = UpdateAccountSettings'+  { -- | The Amazon Chime account ID.+    accountId :: Prelude.Text,+    -- | The Amazon Chime account settings to update.+    accountSettings :: AccountSettings+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAccountSettings' 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:+--+-- 'accountId', 'updateAccountSettings_accountId' - The Amazon Chime account ID.+--+-- 'accountSettings', 'updateAccountSettings_accountSettings' - The Amazon Chime account settings to update.+newUpdateAccountSettings ::+  -- | 'accountId'+  Prelude.Text ->+  -- | 'accountSettings'+  AccountSettings ->+  UpdateAccountSettings+newUpdateAccountSettings+  pAccountId_+  pAccountSettings_ =+    UpdateAccountSettings'+      { accountId = pAccountId_,+        accountSettings = pAccountSettings_+      }++-- | The Amazon Chime account ID.+updateAccountSettings_accountId :: Lens.Lens' UpdateAccountSettings Prelude.Text+updateAccountSettings_accountId = Lens.lens (\UpdateAccountSettings' {accountId} -> accountId) (\s@UpdateAccountSettings' {} a -> s {accountId = a} :: UpdateAccountSettings)++-- | The Amazon Chime account settings to update.+updateAccountSettings_accountSettings :: Lens.Lens' UpdateAccountSettings AccountSettings+updateAccountSettings_accountSettings = Lens.lens (\UpdateAccountSettings' {accountSettings} -> accountSettings) (\s@UpdateAccountSettings' {} a -> s {accountSettings = a} :: UpdateAccountSettings)++instance Core.AWSRequest UpdateAccountSettings where+  type+    AWSResponse UpdateAccountSettings =+      UpdateAccountSettingsResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          UpdateAccountSettingsResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateAccountSettings where+  hashWithSalt _salt UpdateAccountSettings' {..} =+    _salt+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` accountSettings++instance Prelude.NFData UpdateAccountSettings where+  rnf UpdateAccountSettings' {..} =+    Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf accountSettings++instance Data.ToHeaders UpdateAccountSettings where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON UpdateAccountSettings where+  toJSON UpdateAccountSettings' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("AccountSettings" Data..= accountSettings)+          ]+      )++instance Data.ToPath UpdateAccountSettings where+  toPath UpdateAccountSettings' {..} =+    Prelude.mconcat+      ["/accounts/", Data.toBS accountId, "/settings"]++instance Data.ToQuery UpdateAccountSettings where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateAccountSettingsResponse' smart constructor.+data UpdateAccountSettingsResponse = UpdateAccountSettingsResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAccountSettingsResponse' 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', 'updateAccountSettingsResponse_httpStatus' - The response's http status code.+newUpdateAccountSettingsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateAccountSettingsResponse+newUpdateAccountSettingsResponse pHttpStatus_ =+  UpdateAccountSettingsResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+updateAccountSettingsResponse_httpStatus :: Lens.Lens' UpdateAccountSettingsResponse Prelude.Int+updateAccountSettingsResponse_httpStatus = Lens.lens (\UpdateAccountSettingsResponse' {httpStatus} -> httpStatus) (\s@UpdateAccountSettingsResponse' {} a -> s {httpStatus = a} :: UpdateAccountSettingsResponse)++instance Prelude.NFData UpdateAccountSettingsResponse where+  rnf UpdateAccountSettingsResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/Chime/UpdateAppInstance.hs view
@@ -0,0 +1,190 @@+{-# 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.Chime.UpdateAppInstance+-- 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 @AppInstance@ metadata.+module Amazonka.Chime.UpdateAppInstance+  ( -- * Creating a Request+    UpdateAppInstance (..),+    newUpdateAppInstance,++    -- * Request Lenses+    updateAppInstance_metadata,+    updateAppInstance_appInstanceArn,+    updateAppInstance_name,++    -- * Destructuring the Response+    UpdateAppInstanceResponse (..),+    newUpdateAppInstanceResponse,++    -- * Response Lenses+    updateAppInstanceResponse_appInstanceArn,+    updateAppInstanceResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newUpdateAppInstance' smart constructor.+data UpdateAppInstance = UpdateAppInstance'+  { -- | The metadata that you want to change.+    metadata :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The ARN of the @AppInstance@.+    appInstanceArn :: Prelude.Text,+    -- | The name that you want to change.+    name :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAppInstance' 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:+--+-- 'metadata', 'updateAppInstance_metadata' - The metadata that you want to change.+--+-- 'appInstanceArn', 'updateAppInstance_appInstanceArn' - The ARN of the @AppInstance@.+--+-- 'name', 'updateAppInstance_name' - The name that you want to change.+newUpdateAppInstance ::+  -- | 'appInstanceArn'+  Prelude.Text ->+  -- | 'name'+  Prelude.Text ->+  UpdateAppInstance+newUpdateAppInstance pAppInstanceArn_ pName_ =+  UpdateAppInstance'+    { metadata = Prelude.Nothing,+      appInstanceArn = pAppInstanceArn_,+      name = Data._Sensitive Lens.# pName_+    }++-- | The metadata that you want to change.+updateAppInstance_metadata :: Lens.Lens' UpdateAppInstance (Prelude.Maybe Prelude.Text)+updateAppInstance_metadata = Lens.lens (\UpdateAppInstance' {metadata} -> metadata) (\s@UpdateAppInstance' {} a -> s {metadata = a} :: UpdateAppInstance) Prelude.. Lens.mapping Data._Sensitive++-- | The ARN of the @AppInstance@.+updateAppInstance_appInstanceArn :: Lens.Lens' UpdateAppInstance Prelude.Text+updateAppInstance_appInstanceArn = Lens.lens (\UpdateAppInstance' {appInstanceArn} -> appInstanceArn) (\s@UpdateAppInstance' {} a -> s {appInstanceArn = a} :: UpdateAppInstance)++-- | The name that you want to change.+updateAppInstance_name :: Lens.Lens' UpdateAppInstance Prelude.Text+updateAppInstance_name = Lens.lens (\UpdateAppInstance' {name} -> name) (\s@UpdateAppInstance' {} a -> s {name = a} :: UpdateAppInstance) Prelude.. Data._Sensitive++instance Core.AWSRequest UpdateAppInstance where+  type+    AWSResponse UpdateAppInstance =+      UpdateAppInstanceResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateAppInstanceResponse'+            Prelude.<$> (x Data..?> "AppInstanceArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateAppInstance where+  hashWithSalt _salt UpdateAppInstance' {..} =+    _salt+      `Prelude.hashWithSalt` metadata+      `Prelude.hashWithSalt` appInstanceArn+      `Prelude.hashWithSalt` name++instance Prelude.NFData UpdateAppInstance where+  rnf UpdateAppInstance' {..} =+    Prelude.rnf metadata+      `Prelude.seq` Prelude.rnf appInstanceArn+      `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders UpdateAppInstance where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON UpdateAppInstance where+  toJSON UpdateAppInstance' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Metadata" Data..=) Prelude.<$> metadata,+            Prelude.Just ("Name" Data..= name)+          ]+      )++instance Data.ToPath UpdateAppInstance where+  toPath UpdateAppInstance' {..} =+    Prelude.mconcat+      ["/app-instances/", Data.toBS appInstanceArn]++instance Data.ToQuery UpdateAppInstance where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateAppInstanceResponse' smart constructor.+data UpdateAppInstanceResponse = UpdateAppInstanceResponse'+  { -- | The ARN of the @AppInstance@.+    appInstanceArn :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAppInstanceResponse' 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:+--+-- 'appInstanceArn', 'updateAppInstanceResponse_appInstanceArn' - The ARN of the @AppInstance@.+--+-- 'httpStatus', 'updateAppInstanceResponse_httpStatus' - The response's http status code.+newUpdateAppInstanceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateAppInstanceResponse+newUpdateAppInstanceResponse pHttpStatus_ =+  UpdateAppInstanceResponse'+    { appInstanceArn =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The ARN of the @AppInstance@.+updateAppInstanceResponse_appInstanceArn :: Lens.Lens' UpdateAppInstanceResponse (Prelude.Maybe Prelude.Text)+updateAppInstanceResponse_appInstanceArn = Lens.lens (\UpdateAppInstanceResponse' {appInstanceArn} -> appInstanceArn) (\s@UpdateAppInstanceResponse' {} a -> s {appInstanceArn = a} :: UpdateAppInstanceResponse)++-- | The response's http status code.+updateAppInstanceResponse_httpStatus :: Lens.Lens' UpdateAppInstanceResponse Prelude.Int+updateAppInstanceResponse_httpStatus = Lens.lens (\UpdateAppInstanceResponse' {httpStatus} -> httpStatus) (\s@UpdateAppInstanceResponse' {} a -> s {httpStatus = a} :: UpdateAppInstanceResponse)++instance Prelude.NFData UpdateAppInstanceResponse where+  rnf UpdateAppInstanceResponse' {..} =+    Prelude.rnf appInstanceArn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/UpdateAppInstanceUser.hs view
@@ -0,0 +1,193 @@+{-# 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.Chime.UpdateAppInstanceUser+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the details of an @AppInstanceUser@. You can update names and+-- metadata.+module Amazonka.Chime.UpdateAppInstanceUser+  ( -- * Creating a Request+    UpdateAppInstanceUser (..),+    newUpdateAppInstanceUser,++    -- * Request Lenses+    updateAppInstanceUser_metadata,+    updateAppInstanceUser_appInstanceUserArn,+    updateAppInstanceUser_name,++    -- * Destructuring the Response+    UpdateAppInstanceUserResponse (..),+    newUpdateAppInstanceUserResponse,++    -- * Response Lenses+    updateAppInstanceUserResponse_appInstanceUserArn,+    updateAppInstanceUserResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newUpdateAppInstanceUser' smart constructor.+data UpdateAppInstanceUser = UpdateAppInstanceUser'+  { -- | The metadata of the @AppInstanceUser@.+    metadata :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The ARN of the @AppInstanceUser@.+    appInstanceUserArn :: Prelude.Text,+    -- | The name of the @AppInstanceUser@.+    name :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAppInstanceUser' 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:+--+-- 'metadata', 'updateAppInstanceUser_metadata' - The metadata of the @AppInstanceUser@.+--+-- 'appInstanceUserArn', 'updateAppInstanceUser_appInstanceUserArn' - The ARN of the @AppInstanceUser@.+--+-- 'name', 'updateAppInstanceUser_name' - The name of the @AppInstanceUser@.+newUpdateAppInstanceUser ::+  -- | 'appInstanceUserArn'+  Prelude.Text ->+  -- | 'name'+  Prelude.Text ->+  UpdateAppInstanceUser+newUpdateAppInstanceUser pAppInstanceUserArn_ pName_ =+  UpdateAppInstanceUser'+    { metadata = Prelude.Nothing,+      appInstanceUserArn = pAppInstanceUserArn_,+      name = Data._Sensitive Lens.# pName_+    }++-- | The metadata of the @AppInstanceUser@.+updateAppInstanceUser_metadata :: Lens.Lens' UpdateAppInstanceUser (Prelude.Maybe Prelude.Text)+updateAppInstanceUser_metadata = Lens.lens (\UpdateAppInstanceUser' {metadata} -> metadata) (\s@UpdateAppInstanceUser' {} a -> s {metadata = a} :: UpdateAppInstanceUser) Prelude.. Lens.mapping Data._Sensitive++-- | The ARN of the @AppInstanceUser@.+updateAppInstanceUser_appInstanceUserArn :: Lens.Lens' UpdateAppInstanceUser Prelude.Text+updateAppInstanceUser_appInstanceUserArn = Lens.lens (\UpdateAppInstanceUser' {appInstanceUserArn} -> appInstanceUserArn) (\s@UpdateAppInstanceUser' {} a -> s {appInstanceUserArn = a} :: UpdateAppInstanceUser)++-- | The name of the @AppInstanceUser@.+updateAppInstanceUser_name :: Lens.Lens' UpdateAppInstanceUser Prelude.Text+updateAppInstanceUser_name = Lens.lens (\UpdateAppInstanceUser' {name} -> name) (\s@UpdateAppInstanceUser' {} a -> s {name = a} :: UpdateAppInstanceUser) Prelude.. Data._Sensitive++instance Core.AWSRequest UpdateAppInstanceUser where+  type+    AWSResponse UpdateAppInstanceUser =+      UpdateAppInstanceUserResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateAppInstanceUserResponse'+            Prelude.<$> (x Data..?> "AppInstanceUserArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateAppInstanceUser where+  hashWithSalt _salt UpdateAppInstanceUser' {..} =+    _salt+      `Prelude.hashWithSalt` metadata+      `Prelude.hashWithSalt` appInstanceUserArn+      `Prelude.hashWithSalt` name++instance Prelude.NFData UpdateAppInstanceUser where+  rnf UpdateAppInstanceUser' {..} =+    Prelude.rnf metadata+      `Prelude.seq` Prelude.rnf appInstanceUserArn+      `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders UpdateAppInstanceUser where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON UpdateAppInstanceUser where+  toJSON UpdateAppInstanceUser' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Metadata" Data..=) Prelude.<$> metadata,+            Prelude.Just ("Name" Data..= name)+          ]+      )++instance Data.ToPath UpdateAppInstanceUser where+  toPath UpdateAppInstanceUser' {..} =+    Prelude.mconcat+      [ "/app-instance-users/",+        Data.toBS appInstanceUserArn+      ]++instance Data.ToQuery UpdateAppInstanceUser where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateAppInstanceUserResponse' smart constructor.+data UpdateAppInstanceUserResponse = UpdateAppInstanceUserResponse'+  { -- | The ARN of the @AppInstanceUser@.+    appInstanceUserArn :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAppInstanceUserResponse' 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:+--+-- 'appInstanceUserArn', 'updateAppInstanceUserResponse_appInstanceUserArn' - The ARN of the @AppInstanceUser@.+--+-- 'httpStatus', 'updateAppInstanceUserResponse_httpStatus' - The response's http status code.+newUpdateAppInstanceUserResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateAppInstanceUserResponse+newUpdateAppInstanceUserResponse pHttpStatus_ =+  UpdateAppInstanceUserResponse'+    { appInstanceUserArn =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The ARN of the @AppInstanceUser@.+updateAppInstanceUserResponse_appInstanceUserArn :: Lens.Lens' UpdateAppInstanceUserResponse (Prelude.Maybe Prelude.Text)+updateAppInstanceUserResponse_appInstanceUserArn = Lens.lens (\UpdateAppInstanceUserResponse' {appInstanceUserArn} -> appInstanceUserArn) (\s@UpdateAppInstanceUserResponse' {} a -> s {appInstanceUserArn = a} :: UpdateAppInstanceUserResponse)++-- | The response's http status code.+updateAppInstanceUserResponse_httpStatus :: Lens.Lens' UpdateAppInstanceUserResponse Prelude.Int+updateAppInstanceUserResponse_httpStatus = Lens.lens (\UpdateAppInstanceUserResponse' {httpStatus} -> httpStatus) (\s@UpdateAppInstanceUserResponse' {} a -> s {httpStatus = a} :: UpdateAppInstanceUserResponse)++instance Prelude.NFData UpdateAppInstanceUserResponse where+  rnf UpdateAppInstanceUserResponse' {..} =+    Prelude.rnf appInstanceUserArn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/UpdateBot.hs view
@@ -0,0 +1,190 @@+{-# 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.Chime.UpdateBot+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the status of the specified bot, such as starting or stopping+-- the bot from running in your Amazon Chime Enterprise account.+module Amazonka.Chime.UpdateBot+  ( -- * Creating a Request+    UpdateBot (..),+    newUpdateBot,++    -- * Request Lenses+    updateBot_disabled,+    updateBot_accountId,+    updateBot_botId,++    -- * Destructuring the Response+    UpdateBotResponse (..),+    newUpdateBotResponse,++    -- * Response Lenses+    updateBotResponse_bot,+    updateBotResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newUpdateBot' smart constructor.+data UpdateBot = UpdateBot'+  { -- | When true, stops the specified bot from running in your account.+    disabled :: Prelude.Maybe Prelude.Bool,+    -- | The Amazon Chime account ID.+    accountId :: Prelude.Text,+    -- | The bot ID.+    botId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateBot' 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:+--+-- 'disabled', 'updateBot_disabled' - When true, stops the specified bot from running in your account.+--+-- 'accountId', 'updateBot_accountId' - The Amazon Chime account ID.+--+-- 'botId', 'updateBot_botId' - The bot ID.+newUpdateBot ::+  -- | 'accountId'+  Prelude.Text ->+  -- | 'botId'+  Prelude.Text ->+  UpdateBot+newUpdateBot pAccountId_ pBotId_ =+  UpdateBot'+    { disabled = Prelude.Nothing,+      accountId = pAccountId_,+      botId = pBotId_+    }++-- | When true, stops the specified bot from running in your account.+updateBot_disabled :: Lens.Lens' UpdateBot (Prelude.Maybe Prelude.Bool)+updateBot_disabled = Lens.lens (\UpdateBot' {disabled} -> disabled) (\s@UpdateBot' {} a -> s {disabled = a} :: UpdateBot)++-- | The Amazon Chime account ID.+updateBot_accountId :: Lens.Lens' UpdateBot Prelude.Text+updateBot_accountId = Lens.lens (\UpdateBot' {accountId} -> accountId) (\s@UpdateBot' {} a -> s {accountId = a} :: UpdateBot)++-- | The bot ID.+updateBot_botId :: Lens.Lens' UpdateBot Prelude.Text+updateBot_botId = Lens.lens (\UpdateBot' {botId} -> botId) (\s@UpdateBot' {} a -> s {botId = a} :: UpdateBot)++instance Core.AWSRequest UpdateBot where+  type AWSResponse UpdateBot = UpdateBotResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateBotResponse'+            Prelude.<$> (x Data..?> "Bot")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateBot where+  hashWithSalt _salt UpdateBot' {..} =+    _salt+      `Prelude.hashWithSalt` disabled+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` botId++instance Prelude.NFData UpdateBot where+  rnf UpdateBot' {..} =+    Prelude.rnf disabled+      `Prelude.seq` Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf botId++instance Data.ToHeaders UpdateBot where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON UpdateBot where+  toJSON UpdateBot' {..} =+    Data.object+      ( Prelude.catMaybes+          [("Disabled" Data..=) Prelude.<$> disabled]+      )++instance Data.ToPath UpdateBot where+  toPath UpdateBot' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS accountId,+        "/bots/",+        Data.toBS botId+      ]++instance Data.ToQuery UpdateBot where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateBotResponse' smart constructor.+data UpdateBotResponse = UpdateBotResponse'+  { -- | The updated bot details.+    bot :: Prelude.Maybe Bot,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateBotResponse' 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:+--+-- 'bot', 'updateBotResponse_bot' - The updated bot details.+--+-- 'httpStatus', 'updateBotResponse_httpStatus' - The response's http status code.+newUpdateBotResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateBotResponse+newUpdateBotResponse pHttpStatus_ =+  UpdateBotResponse'+    { bot = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The updated bot details.+updateBotResponse_bot :: Lens.Lens' UpdateBotResponse (Prelude.Maybe Bot)+updateBotResponse_bot = Lens.lens (\UpdateBotResponse' {bot} -> bot) (\s@UpdateBotResponse' {} a -> s {bot = a} :: UpdateBotResponse)++-- | The response's http status code.+updateBotResponse_httpStatus :: Lens.Lens' UpdateBotResponse Prelude.Int+updateBotResponse_httpStatus = Lens.lens (\UpdateBotResponse' {httpStatus} -> httpStatus) (\s@UpdateBotResponse' {} a -> s {httpStatus = a} :: UpdateBotResponse)++instance Prelude.NFData UpdateBotResponse where+  rnf UpdateBotResponse' {..} =+    Prelude.rnf bot+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/UpdateChannel.hs view
@@ -0,0 +1,225 @@+{-# 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.Chime.UpdateChannel+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Update a channel\'s attributes.+--+-- __Restriction__: You can\'t change a channel\'s privacy.+--+-- The @x-amz-chime-bearer@ request header is mandatory. Use the+-- @AppInstanceUserArn@ of the user that makes the API call as the value in+-- the header.+module Amazonka.Chime.UpdateChannel+  ( -- * Creating a Request+    UpdateChannel (..),+    newUpdateChannel,++    -- * Request Lenses+    updateChannel_chimeBearer,+    updateChannel_metadata,+    updateChannel_channelArn,+    updateChannel_name,+    updateChannel_mode,++    -- * Destructuring the Response+    UpdateChannelResponse (..),+    newUpdateChannelResponse,++    -- * Response Lenses+    updateChannelResponse_channelArn,+    updateChannelResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newUpdateChannel' smart constructor.+data UpdateChannel = UpdateChannel'+  { -- | The @AppInstanceUserArn@ of the user that makes the API call.+    chimeBearer :: Prelude.Maybe Prelude.Text,+    -- | The metadata for the update request.+    metadata :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The ARN of the channel.+    channelArn :: Prelude.Text,+    -- | The name of the channel.+    name :: Data.Sensitive Prelude.Text,+    -- | The mode of the update request.+    mode :: ChannelMode+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateChannel' 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:+--+-- 'chimeBearer', 'updateChannel_chimeBearer' - The @AppInstanceUserArn@ of the user that makes the API call.+--+-- 'metadata', 'updateChannel_metadata' - The metadata for the update request.+--+-- 'channelArn', 'updateChannel_channelArn' - The ARN of the channel.+--+-- 'name', 'updateChannel_name' - The name of the channel.+--+-- 'mode', 'updateChannel_mode' - The mode of the update request.+newUpdateChannel ::+  -- | 'channelArn'+  Prelude.Text ->+  -- | 'name'+  Prelude.Text ->+  -- | 'mode'+  ChannelMode ->+  UpdateChannel+newUpdateChannel pChannelArn_ pName_ pMode_ =+  UpdateChannel'+    { chimeBearer = Prelude.Nothing,+      metadata = Prelude.Nothing,+      channelArn = pChannelArn_,+      name = Data._Sensitive Lens.# pName_,+      mode = pMode_+    }++-- | The @AppInstanceUserArn@ of the user that makes the API call.+updateChannel_chimeBearer :: Lens.Lens' UpdateChannel (Prelude.Maybe Prelude.Text)+updateChannel_chimeBearer = Lens.lens (\UpdateChannel' {chimeBearer} -> chimeBearer) (\s@UpdateChannel' {} a -> s {chimeBearer = a} :: UpdateChannel)++-- | The metadata for the update request.+updateChannel_metadata :: Lens.Lens' UpdateChannel (Prelude.Maybe Prelude.Text)+updateChannel_metadata = Lens.lens (\UpdateChannel' {metadata} -> metadata) (\s@UpdateChannel' {} a -> s {metadata = a} :: UpdateChannel) Prelude.. Lens.mapping Data._Sensitive++-- | The ARN of the channel.+updateChannel_channelArn :: Lens.Lens' UpdateChannel Prelude.Text+updateChannel_channelArn = Lens.lens (\UpdateChannel' {channelArn} -> channelArn) (\s@UpdateChannel' {} a -> s {channelArn = a} :: UpdateChannel)++-- | The name of the channel.+updateChannel_name :: Lens.Lens' UpdateChannel Prelude.Text+updateChannel_name = Lens.lens (\UpdateChannel' {name} -> name) (\s@UpdateChannel' {} a -> s {name = a} :: UpdateChannel) Prelude.. Data._Sensitive++-- | The mode of the update request.+updateChannel_mode :: Lens.Lens' UpdateChannel ChannelMode+updateChannel_mode = Lens.lens (\UpdateChannel' {mode} -> mode) (\s@UpdateChannel' {} a -> s {mode = a} :: UpdateChannel)++instance Core.AWSRequest UpdateChannel where+  type+    AWSResponse UpdateChannel =+      UpdateChannelResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateChannelResponse'+            Prelude.<$> (x Data..?> "ChannelArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateChannel where+  hashWithSalt _salt UpdateChannel' {..} =+    _salt+      `Prelude.hashWithSalt` chimeBearer+      `Prelude.hashWithSalt` metadata+      `Prelude.hashWithSalt` channelArn+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` mode++instance Prelude.NFData UpdateChannel where+  rnf UpdateChannel' {..} =+    Prelude.rnf chimeBearer+      `Prelude.seq` Prelude.rnf metadata+      `Prelude.seq` Prelude.rnf channelArn+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf mode++instance Data.ToHeaders UpdateChannel where+  toHeaders UpdateChannel' {..} =+    Prelude.mconcat+      ["x-amz-chime-bearer" Data.=# chimeBearer]++instance Data.ToJSON UpdateChannel where+  toJSON UpdateChannel' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Metadata" Data..=) Prelude.<$> metadata,+            Prelude.Just ("Name" Data..= name),+            Prelude.Just ("Mode" Data..= mode)+          ]+      )++instance Data.ToPath UpdateChannel where+  toPath UpdateChannel' {..} =+    Prelude.mconcat+      ["/channels/", Data.toBS channelArn]++instance Data.ToQuery UpdateChannel where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateChannelResponse' smart constructor.+data UpdateChannelResponse = UpdateChannelResponse'+  { -- | The ARN of the channel.+    channelArn :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateChannelResponse' 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:+--+-- 'channelArn', 'updateChannelResponse_channelArn' - The ARN of the channel.+--+-- 'httpStatus', 'updateChannelResponse_httpStatus' - The response's http status code.+newUpdateChannelResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateChannelResponse+newUpdateChannelResponse pHttpStatus_ =+  UpdateChannelResponse'+    { channelArn =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The ARN of the channel.+updateChannelResponse_channelArn :: Lens.Lens' UpdateChannelResponse (Prelude.Maybe Prelude.Text)+updateChannelResponse_channelArn = Lens.lens (\UpdateChannelResponse' {channelArn} -> channelArn) (\s@UpdateChannelResponse' {} a -> s {channelArn = a} :: UpdateChannelResponse)++-- | The response's http status code.+updateChannelResponse_httpStatus :: Lens.Lens' UpdateChannelResponse Prelude.Int+updateChannelResponse_httpStatus = Lens.lens (\UpdateChannelResponse' {httpStatus} -> httpStatus) (\s@UpdateChannelResponse' {} a -> s {httpStatus = a} :: UpdateChannelResponse)++instance Prelude.NFData UpdateChannelResponse where+  rnf UpdateChannelResponse' {..} =+    Prelude.rnf channelArn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/UpdateChannelMessage.hs view
@@ -0,0 +1,237 @@+{-# 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.Chime.UpdateChannelMessage+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the content of a message.+--+-- The @x-amz-chime-bearer@ request header is mandatory. Use the+-- @AppInstanceUserArn@ of the user that makes the API call as the value in+-- the header.+module Amazonka.Chime.UpdateChannelMessage+  ( -- * Creating a Request+    UpdateChannelMessage (..),+    newUpdateChannelMessage,++    -- * Request Lenses+    updateChannelMessage_chimeBearer,+    updateChannelMessage_content,+    updateChannelMessage_metadata,+    updateChannelMessage_channelArn,+    updateChannelMessage_messageId,++    -- * Destructuring the Response+    UpdateChannelMessageResponse (..),+    newUpdateChannelMessageResponse,++    -- * Response Lenses+    updateChannelMessageResponse_channelArn,+    updateChannelMessageResponse_messageId,+    updateChannelMessageResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newUpdateChannelMessage' smart constructor.+data UpdateChannelMessage = UpdateChannelMessage'+  { -- | The @AppInstanceUserArn@ of the user that makes the API call.+    chimeBearer :: Prelude.Maybe Prelude.Text,+    -- | The content of the message being updated.+    content :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The metadata of the message being updated.+    metadata :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The ARN of the channel.+    channelArn :: Prelude.Text,+    -- | The ID string of the message being updated.+    messageId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateChannelMessage' 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:+--+-- 'chimeBearer', 'updateChannelMessage_chimeBearer' - The @AppInstanceUserArn@ of the user that makes the API call.+--+-- 'content', 'updateChannelMessage_content' - The content of the message being updated.+--+-- 'metadata', 'updateChannelMessage_metadata' - The metadata of the message being updated.+--+-- 'channelArn', 'updateChannelMessage_channelArn' - The ARN of the channel.+--+-- 'messageId', 'updateChannelMessage_messageId' - The ID string of the message being updated.+newUpdateChannelMessage ::+  -- | 'channelArn'+  Prelude.Text ->+  -- | 'messageId'+  Prelude.Text ->+  UpdateChannelMessage+newUpdateChannelMessage pChannelArn_ pMessageId_ =+  UpdateChannelMessage'+    { chimeBearer =+        Prelude.Nothing,+      content = Prelude.Nothing,+      metadata = Prelude.Nothing,+      channelArn = pChannelArn_,+      messageId = pMessageId_+    }++-- | The @AppInstanceUserArn@ of the user that makes the API call.+updateChannelMessage_chimeBearer :: Lens.Lens' UpdateChannelMessage (Prelude.Maybe Prelude.Text)+updateChannelMessage_chimeBearer = Lens.lens (\UpdateChannelMessage' {chimeBearer} -> chimeBearer) (\s@UpdateChannelMessage' {} a -> s {chimeBearer = a} :: UpdateChannelMessage)++-- | The content of the message being updated.+updateChannelMessage_content :: Lens.Lens' UpdateChannelMessage (Prelude.Maybe Prelude.Text)+updateChannelMessage_content = Lens.lens (\UpdateChannelMessage' {content} -> content) (\s@UpdateChannelMessage' {} a -> s {content = a} :: UpdateChannelMessage) Prelude.. Lens.mapping Data._Sensitive++-- | The metadata of the message being updated.+updateChannelMessage_metadata :: Lens.Lens' UpdateChannelMessage (Prelude.Maybe Prelude.Text)+updateChannelMessage_metadata = Lens.lens (\UpdateChannelMessage' {metadata} -> metadata) (\s@UpdateChannelMessage' {} a -> s {metadata = a} :: UpdateChannelMessage) Prelude.. Lens.mapping Data._Sensitive++-- | The ARN of the channel.+updateChannelMessage_channelArn :: Lens.Lens' UpdateChannelMessage Prelude.Text+updateChannelMessage_channelArn = Lens.lens (\UpdateChannelMessage' {channelArn} -> channelArn) (\s@UpdateChannelMessage' {} a -> s {channelArn = a} :: UpdateChannelMessage)++-- | The ID string of the message being updated.+updateChannelMessage_messageId :: Lens.Lens' UpdateChannelMessage Prelude.Text+updateChannelMessage_messageId = Lens.lens (\UpdateChannelMessage' {messageId} -> messageId) (\s@UpdateChannelMessage' {} a -> s {messageId = a} :: UpdateChannelMessage)++instance Core.AWSRequest UpdateChannelMessage where+  type+    AWSResponse UpdateChannelMessage =+      UpdateChannelMessageResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateChannelMessageResponse'+            Prelude.<$> (x Data..?> "ChannelArn")+            Prelude.<*> (x Data..?> "MessageId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateChannelMessage where+  hashWithSalt _salt UpdateChannelMessage' {..} =+    _salt+      `Prelude.hashWithSalt` chimeBearer+      `Prelude.hashWithSalt` content+      `Prelude.hashWithSalt` metadata+      `Prelude.hashWithSalt` channelArn+      `Prelude.hashWithSalt` messageId++instance Prelude.NFData UpdateChannelMessage where+  rnf UpdateChannelMessage' {..} =+    Prelude.rnf chimeBearer+      `Prelude.seq` Prelude.rnf content+      `Prelude.seq` Prelude.rnf metadata+      `Prelude.seq` Prelude.rnf channelArn+      `Prelude.seq` Prelude.rnf messageId++instance Data.ToHeaders UpdateChannelMessage where+  toHeaders UpdateChannelMessage' {..} =+    Prelude.mconcat+      ["x-amz-chime-bearer" Data.=# chimeBearer]++instance Data.ToJSON UpdateChannelMessage where+  toJSON UpdateChannelMessage' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Content" Data..=) Prelude.<$> content,+            ("Metadata" Data..=) Prelude.<$> metadata+          ]+      )++instance Data.ToPath UpdateChannelMessage where+  toPath UpdateChannelMessage' {..} =+    Prelude.mconcat+      [ "/channels/",+        Data.toBS channelArn,+        "/messages/",+        Data.toBS messageId+      ]++instance Data.ToQuery UpdateChannelMessage where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateChannelMessageResponse' smart constructor.+data UpdateChannelMessageResponse = UpdateChannelMessageResponse'+  { -- | The ARN of the channel.+    channelArn :: Prelude.Maybe Prelude.Text,+    -- | The ID string of the message being updated.+    messageId :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateChannelMessageResponse' 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:+--+-- 'channelArn', 'updateChannelMessageResponse_channelArn' - The ARN of the channel.+--+-- 'messageId', 'updateChannelMessageResponse_messageId' - The ID string of the message being updated.+--+-- 'httpStatus', 'updateChannelMessageResponse_httpStatus' - The response's http status code.+newUpdateChannelMessageResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateChannelMessageResponse+newUpdateChannelMessageResponse pHttpStatus_ =+  UpdateChannelMessageResponse'+    { channelArn =+        Prelude.Nothing,+      messageId = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The ARN of the channel.+updateChannelMessageResponse_channelArn :: Lens.Lens' UpdateChannelMessageResponse (Prelude.Maybe Prelude.Text)+updateChannelMessageResponse_channelArn = Lens.lens (\UpdateChannelMessageResponse' {channelArn} -> channelArn) (\s@UpdateChannelMessageResponse' {} a -> s {channelArn = a} :: UpdateChannelMessageResponse)++-- | The ID string of the message being updated.+updateChannelMessageResponse_messageId :: Lens.Lens' UpdateChannelMessageResponse (Prelude.Maybe Prelude.Text)+updateChannelMessageResponse_messageId = Lens.lens (\UpdateChannelMessageResponse' {messageId} -> messageId) (\s@UpdateChannelMessageResponse' {} a -> s {messageId = a} :: UpdateChannelMessageResponse)++-- | The response's http status code.+updateChannelMessageResponse_httpStatus :: Lens.Lens' UpdateChannelMessageResponse Prelude.Int+updateChannelMessageResponse_httpStatus = Lens.lens (\UpdateChannelMessageResponse' {httpStatus} -> httpStatus) (\s@UpdateChannelMessageResponse' {} a -> s {httpStatus = a} :: UpdateChannelMessageResponse)++instance Prelude.NFData UpdateChannelMessageResponse where+  rnf UpdateChannelMessageResponse' {..} =+    Prelude.rnf channelArn+      `Prelude.seq` Prelude.rnf messageId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/UpdateChannelReadMarker.hs view
@@ -0,0 +1,180 @@+{-# 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.Chime.UpdateChannelReadMarker+-- 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 details of the time when a user last read messages in a channel.+--+-- The @x-amz-chime-bearer@ request header is mandatory. Use the+-- @AppInstanceUserArn@ of the user that makes the API call as the value in+-- the header.+module Amazonka.Chime.UpdateChannelReadMarker+  ( -- * Creating a Request+    UpdateChannelReadMarker (..),+    newUpdateChannelReadMarker,++    -- * Request Lenses+    updateChannelReadMarker_chimeBearer,+    updateChannelReadMarker_channelArn,++    -- * Destructuring the Response+    UpdateChannelReadMarkerResponse (..),+    newUpdateChannelReadMarkerResponse,++    -- * Response Lenses+    updateChannelReadMarkerResponse_channelArn,+    updateChannelReadMarkerResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newUpdateChannelReadMarker' smart constructor.+data UpdateChannelReadMarker = UpdateChannelReadMarker'+  { -- | The @AppInstanceUserArn@ of the user that makes the API call.+    chimeBearer :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the channel.+    channelArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateChannelReadMarker' 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:+--+-- 'chimeBearer', 'updateChannelReadMarker_chimeBearer' - The @AppInstanceUserArn@ of the user that makes the API call.+--+-- 'channelArn', 'updateChannelReadMarker_channelArn' - The ARN of the channel.+newUpdateChannelReadMarker ::+  -- | 'channelArn'+  Prelude.Text ->+  UpdateChannelReadMarker+newUpdateChannelReadMarker pChannelArn_ =+  UpdateChannelReadMarker'+    { chimeBearer =+        Prelude.Nothing,+      channelArn = pChannelArn_+    }++-- | The @AppInstanceUserArn@ of the user that makes the API call.+updateChannelReadMarker_chimeBearer :: Lens.Lens' UpdateChannelReadMarker (Prelude.Maybe Prelude.Text)+updateChannelReadMarker_chimeBearer = Lens.lens (\UpdateChannelReadMarker' {chimeBearer} -> chimeBearer) (\s@UpdateChannelReadMarker' {} a -> s {chimeBearer = a} :: UpdateChannelReadMarker)++-- | The ARN of the channel.+updateChannelReadMarker_channelArn :: Lens.Lens' UpdateChannelReadMarker Prelude.Text+updateChannelReadMarker_channelArn = Lens.lens (\UpdateChannelReadMarker' {channelArn} -> channelArn) (\s@UpdateChannelReadMarker' {} a -> s {channelArn = a} :: UpdateChannelReadMarker)++instance Core.AWSRequest UpdateChannelReadMarker where+  type+    AWSResponse UpdateChannelReadMarker =+      UpdateChannelReadMarkerResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateChannelReadMarkerResponse'+            Prelude.<$> (x Data..?> "ChannelArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateChannelReadMarker where+  hashWithSalt _salt UpdateChannelReadMarker' {..} =+    _salt+      `Prelude.hashWithSalt` chimeBearer+      `Prelude.hashWithSalt` channelArn++instance Prelude.NFData UpdateChannelReadMarker where+  rnf UpdateChannelReadMarker' {..} =+    Prelude.rnf chimeBearer+      `Prelude.seq` Prelude.rnf channelArn++instance Data.ToHeaders UpdateChannelReadMarker where+  toHeaders UpdateChannelReadMarker' {..} =+    Prelude.mconcat+      ["x-amz-chime-bearer" Data.=# chimeBearer]++instance Data.ToJSON UpdateChannelReadMarker where+  toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath UpdateChannelReadMarker where+  toPath UpdateChannelReadMarker' {..} =+    Prelude.mconcat+      ["/channels/", Data.toBS channelArn, "/readMarker"]++instance Data.ToQuery UpdateChannelReadMarker where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateChannelReadMarkerResponse' smart constructor.+data UpdateChannelReadMarkerResponse = UpdateChannelReadMarkerResponse'+  { -- | The ARN of the channel.+    channelArn :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateChannelReadMarkerResponse' 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:+--+-- 'channelArn', 'updateChannelReadMarkerResponse_channelArn' - The ARN of the channel.+--+-- 'httpStatus', 'updateChannelReadMarkerResponse_httpStatus' - The response's http status code.+newUpdateChannelReadMarkerResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateChannelReadMarkerResponse+newUpdateChannelReadMarkerResponse pHttpStatus_ =+  UpdateChannelReadMarkerResponse'+    { channelArn =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The ARN of the channel.+updateChannelReadMarkerResponse_channelArn :: Lens.Lens' UpdateChannelReadMarkerResponse (Prelude.Maybe Prelude.Text)+updateChannelReadMarkerResponse_channelArn = Lens.lens (\UpdateChannelReadMarkerResponse' {channelArn} -> channelArn) (\s@UpdateChannelReadMarkerResponse' {} a -> s {channelArn = a} :: UpdateChannelReadMarkerResponse)++-- | The response's http status code.+updateChannelReadMarkerResponse_httpStatus :: Lens.Lens' UpdateChannelReadMarkerResponse Prelude.Int+updateChannelReadMarkerResponse_httpStatus = Lens.lens (\UpdateChannelReadMarkerResponse' {httpStatus} -> httpStatus) (\s@UpdateChannelReadMarkerResponse' {} a -> s {httpStatus = a} :: UpdateChannelReadMarkerResponse)++instance+  Prelude.NFData+    UpdateChannelReadMarkerResponse+  where+  rnf UpdateChannelReadMarkerResponse' {..} =+    Prelude.rnf channelArn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/UpdateGlobalSettings.hs view
@@ -0,0 +1,141 @@+{-# 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.Chime.UpdateGlobalSettings+-- 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 global settings for the administrator\'s AWS account, such as+-- Amazon Chime Business Calling and Amazon Chime Voice Connector settings.+module Amazonka.Chime.UpdateGlobalSettings+  ( -- * Creating a Request+    UpdateGlobalSettings (..),+    newUpdateGlobalSettings,++    -- * Request Lenses+    updateGlobalSettings_businessCalling,+    updateGlobalSettings_voiceConnector,++    -- * Destructuring the Response+    UpdateGlobalSettingsResponse (..),+    newUpdateGlobalSettingsResponse,+  )+where++import Amazonka.Chime.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:/ 'newUpdateGlobalSettings' smart constructor.+data UpdateGlobalSettings = UpdateGlobalSettings'+  { -- | The Amazon Chime Business Calling settings.+    businessCalling :: Prelude.Maybe BusinessCallingSettings,+    -- | The Amazon Chime Voice Connector settings.+    voiceConnector :: Prelude.Maybe VoiceConnectorSettings+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateGlobalSettings' 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:+--+-- 'businessCalling', 'updateGlobalSettings_businessCalling' - The Amazon Chime Business Calling settings.+--+-- 'voiceConnector', 'updateGlobalSettings_voiceConnector' - The Amazon Chime Voice Connector settings.+newUpdateGlobalSettings ::+  UpdateGlobalSettings+newUpdateGlobalSettings =+  UpdateGlobalSettings'+    { businessCalling =+        Prelude.Nothing,+      voiceConnector = Prelude.Nothing+    }++-- | The Amazon Chime Business Calling settings.+updateGlobalSettings_businessCalling :: Lens.Lens' UpdateGlobalSettings (Prelude.Maybe BusinessCallingSettings)+updateGlobalSettings_businessCalling = Lens.lens (\UpdateGlobalSettings' {businessCalling} -> businessCalling) (\s@UpdateGlobalSettings' {} a -> s {businessCalling = a} :: UpdateGlobalSettings)++-- | The Amazon Chime Voice Connector settings.+updateGlobalSettings_voiceConnector :: Lens.Lens' UpdateGlobalSettings (Prelude.Maybe VoiceConnectorSettings)+updateGlobalSettings_voiceConnector = Lens.lens (\UpdateGlobalSettings' {voiceConnector} -> voiceConnector) (\s@UpdateGlobalSettings' {} a -> s {voiceConnector = a} :: UpdateGlobalSettings)++instance Core.AWSRequest UpdateGlobalSettings where+  type+    AWSResponse UpdateGlobalSettings =+      UpdateGlobalSettingsResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveNull UpdateGlobalSettingsResponse'++instance Prelude.Hashable UpdateGlobalSettings where+  hashWithSalt _salt UpdateGlobalSettings' {..} =+    _salt+      `Prelude.hashWithSalt` businessCalling+      `Prelude.hashWithSalt` voiceConnector++instance Prelude.NFData UpdateGlobalSettings where+  rnf UpdateGlobalSettings' {..} =+    Prelude.rnf businessCalling+      `Prelude.seq` Prelude.rnf voiceConnector++instance Data.ToHeaders UpdateGlobalSettings where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON UpdateGlobalSettings where+  toJSON UpdateGlobalSettings' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("BusinessCalling" Data..=)+              Prelude.<$> businessCalling,+            ("VoiceConnector" Data..=)+              Prelude.<$> voiceConnector+          ]+      )++instance Data.ToPath UpdateGlobalSettings where+  toPath = Prelude.const "/settings"++instance Data.ToQuery UpdateGlobalSettings where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateGlobalSettingsResponse' smart constructor.+data UpdateGlobalSettingsResponse = UpdateGlobalSettingsResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateGlobalSettingsResponse' 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.+newUpdateGlobalSettingsResponse ::+  UpdateGlobalSettingsResponse+newUpdateGlobalSettingsResponse =+  UpdateGlobalSettingsResponse'++instance Prelude.NFData UpdateGlobalSettingsResponse where+  rnf _ = ()
+ gen/Amazonka/Chime/UpdatePhoneNumber.hs view
@@ -0,0 +1,199 @@+{-# 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.Chime.UpdatePhoneNumber+-- 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 phone number details, such as product type or calling name, for+-- the specified phone number ID. You can update one phone number detail at+-- a time. For example, you can update either the product type or the+-- calling name in one action.+--+-- For toll-free numbers, you cannot use the Amazon Chime Business Calling+-- product type. For numbers outside the U.S., you must use the Amazon+-- Chime SIP Media Application Dial-In product type.+--+-- Updates to outbound calling names can take 72 hours to complete. Pending+-- updates to outbound calling names must be complete before you can+-- request another update.+module Amazonka.Chime.UpdatePhoneNumber+  ( -- * Creating a Request+    UpdatePhoneNumber (..),+    newUpdatePhoneNumber,++    -- * Request Lenses+    updatePhoneNumber_callingName,+    updatePhoneNumber_productType,+    updatePhoneNumber_phoneNumberId,++    -- * Destructuring the Response+    UpdatePhoneNumberResponse (..),+    newUpdatePhoneNumberResponse,++    -- * Response Lenses+    updatePhoneNumberResponse_phoneNumber,+    updatePhoneNumberResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newUpdatePhoneNumber' smart constructor.+data UpdatePhoneNumber = UpdatePhoneNumber'+  { -- | The outbound calling name associated with the phone number.+    callingName :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The product type.+    productType :: Prelude.Maybe PhoneNumberProductType,+    -- | The phone number ID.+    phoneNumberId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdatePhoneNumber' 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:+--+-- 'callingName', 'updatePhoneNumber_callingName' - The outbound calling name associated with the phone number.+--+-- 'productType', 'updatePhoneNumber_productType' - The product type.+--+-- 'phoneNumberId', 'updatePhoneNumber_phoneNumberId' - The phone number ID.+newUpdatePhoneNumber ::+  -- | 'phoneNumberId'+  Prelude.Text ->+  UpdatePhoneNumber+newUpdatePhoneNumber pPhoneNumberId_ =+  UpdatePhoneNumber'+    { callingName = Prelude.Nothing,+      productType = Prelude.Nothing,+      phoneNumberId = pPhoneNumberId_+    }++-- | The outbound calling name associated with the phone number.+updatePhoneNumber_callingName :: Lens.Lens' UpdatePhoneNumber (Prelude.Maybe Prelude.Text)+updatePhoneNumber_callingName = Lens.lens (\UpdatePhoneNumber' {callingName} -> callingName) (\s@UpdatePhoneNumber' {} a -> s {callingName = a} :: UpdatePhoneNumber) Prelude.. Lens.mapping Data._Sensitive++-- | The product type.+updatePhoneNumber_productType :: Lens.Lens' UpdatePhoneNumber (Prelude.Maybe PhoneNumberProductType)+updatePhoneNumber_productType = Lens.lens (\UpdatePhoneNumber' {productType} -> productType) (\s@UpdatePhoneNumber' {} a -> s {productType = a} :: UpdatePhoneNumber)++-- | The phone number ID.+updatePhoneNumber_phoneNumberId :: Lens.Lens' UpdatePhoneNumber Prelude.Text+updatePhoneNumber_phoneNumberId = Lens.lens (\UpdatePhoneNumber' {phoneNumberId} -> phoneNumberId) (\s@UpdatePhoneNumber' {} a -> s {phoneNumberId = a} :: UpdatePhoneNumber)++instance Core.AWSRequest UpdatePhoneNumber where+  type+    AWSResponse UpdatePhoneNumber =+      UpdatePhoneNumberResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdatePhoneNumberResponse'+            Prelude.<$> (x Data..?> "PhoneNumber")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdatePhoneNumber where+  hashWithSalt _salt UpdatePhoneNumber' {..} =+    _salt+      `Prelude.hashWithSalt` callingName+      `Prelude.hashWithSalt` productType+      `Prelude.hashWithSalt` phoneNumberId++instance Prelude.NFData UpdatePhoneNumber where+  rnf UpdatePhoneNumber' {..} =+    Prelude.rnf callingName+      `Prelude.seq` Prelude.rnf productType+      `Prelude.seq` Prelude.rnf phoneNumberId++instance Data.ToHeaders UpdatePhoneNumber where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON UpdatePhoneNumber where+  toJSON UpdatePhoneNumber' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CallingName" Data..=) Prelude.<$> callingName,+            ("ProductType" Data..=) Prelude.<$> productType+          ]+      )++instance Data.ToPath UpdatePhoneNumber where+  toPath UpdatePhoneNumber' {..} =+    Prelude.mconcat+      ["/phone-numbers/", Data.toBS phoneNumberId]++instance Data.ToQuery UpdatePhoneNumber where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdatePhoneNumberResponse' smart constructor.+data UpdatePhoneNumberResponse = UpdatePhoneNumberResponse'+  { -- | The updated phone number details.+    phoneNumber :: Prelude.Maybe PhoneNumber,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdatePhoneNumberResponse' 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:+--+-- 'phoneNumber', 'updatePhoneNumberResponse_phoneNumber' - The updated phone number details.+--+-- 'httpStatus', 'updatePhoneNumberResponse_httpStatus' - The response's http status code.+newUpdatePhoneNumberResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdatePhoneNumberResponse+newUpdatePhoneNumberResponse pHttpStatus_ =+  UpdatePhoneNumberResponse'+    { phoneNumber =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The updated phone number details.+updatePhoneNumberResponse_phoneNumber :: Lens.Lens' UpdatePhoneNumberResponse (Prelude.Maybe PhoneNumber)+updatePhoneNumberResponse_phoneNumber = Lens.lens (\UpdatePhoneNumberResponse' {phoneNumber} -> phoneNumber) (\s@UpdatePhoneNumberResponse' {} a -> s {phoneNumber = a} :: UpdatePhoneNumberResponse)++-- | The response's http status code.+updatePhoneNumberResponse_httpStatus :: Lens.Lens' UpdatePhoneNumberResponse Prelude.Int+updatePhoneNumberResponse_httpStatus = Lens.lens (\UpdatePhoneNumberResponse' {httpStatus} -> httpStatus) (\s@UpdatePhoneNumberResponse' {} a -> s {httpStatus = a} :: UpdatePhoneNumberResponse)++instance Prelude.NFData UpdatePhoneNumberResponse where+  rnf UpdatePhoneNumberResponse' {..} =+    Prelude.rnf phoneNumber+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/UpdatePhoneNumberSettings.hs view
@@ -0,0 +1,132 @@+{-# 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.Chime.UpdatePhoneNumberSettings+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the phone number settings for the administrator\'s AWS account,+-- such as the default outbound calling name. You can update the default+-- outbound calling name once every seven days. Outbound calling names can+-- take up to 72 hours to update.+module Amazonka.Chime.UpdatePhoneNumberSettings+  ( -- * Creating a Request+    UpdatePhoneNumberSettings (..),+    newUpdatePhoneNumberSettings,++    -- * Request Lenses+    updatePhoneNumberSettings_callingName,++    -- * Destructuring the Response+    UpdatePhoneNumberSettingsResponse (..),+    newUpdatePhoneNumberSettingsResponse,+  )+where++import Amazonka.Chime.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:/ 'newUpdatePhoneNumberSettings' smart constructor.+data UpdatePhoneNumberSettings = UpdatePhoneNumberSettings'+  { -- | The default outbound calling name for the account.+    callingName :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdatePhoneNumberSettings' 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:+--+-- 'callingName', 'updatePhoneNumberSettings_callingName' - The default outbound calling name for the account.+newUpdatePhoneNumberSettings ::+  -- | 'callingName'+  Prelude.Text ->+  UpdatePhoneNumberSettings+newUpdatePhoneNumberSettings pCallingName_ =+  UpdatePhoneNumberSettings'+    { callingName =+        Data._Sensitive Lens.# pCallingName_+    }++-- | The default outbound calling name for the account.+updatePhoneNumberSettings_callingName :: Lens.Lens' UpdatePhoneNumberSettings Prelude.Text+updatePhoneNumberSettings_callingName = Lens.lens (\UpdatePhoneNumberSettings' {callingName} -> callingName) (\s@UpdatePhoneNumberSettings' {} a -> s {callingName = a} :: UpdatePhoneNumberSettings) Prelude.. Data._Sensitive++instance Core.AWSRequest UpdatePhoneNumberSettings where+  type+    AWSResponse UpdatePhoneNumberSettings =+      UpdatePhoneNumberSettingsResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveNull+      UpdatePhoneNumberSettingsResponse'++instance Prelude.Hashable UpdatePhoneNumberSettings where+  hashWithSalt _salt UpdatePhoneNumberSettings' {..} =+    _salt `Prelude.hashWithSalt` callingName++instance Prelude.NFData UpdatePhoneNumberSettings where+  rnf UpdatePhoneNumberSettings' {..} =+    Prelude.rnf callingName++instance Data.ToHeaders UpdatePhoneNumberSettings where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON UpdatePhoneNumberSettings where+  toJSON UpdatePhoneNumberSettings' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("CallingName" Data..= callingName)]+      )++instance Data.ToPath UpdatePhoneNumberSettings where+  toPath = Prelude.const "/settings/phone-number"++instance Data.ToQuery UpdatePhoneNumberSettings where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdatePhoneNumberSettingsResponse' smart constructor.+data UpdatePhoneNumberSettingsResponse = UpdatePhoneNumberSettingsResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdatePhoneNumberSettingsResponse' 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.+newUpdatePhoneNumberSettingsResponse ::+  UpdatePhoneNumberSettingsResponse+newUpdatePhoneNumberSettingsResponse =+  UpdatePhoneNumberSettingsResponse'++instance+  Prelude.NFData+    UpdatePhoneNumberSettingsResponse+  where+  rnf _ = ()
+ gen/Amazonka/Chime/UpdateProxySession.hs view
@@ -0,0 +1,210 @@+{-# 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.Chime.UpdateProxySession+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the specified proxy session details, such as voice or SMS+-- capabilities.+module Amazonka.Chime.UpdateProxySession+  ( -- * Creating a Request+    UpdateProxySession (..),+    newUpdateProxySession,++    -- * Request Lenses+    updateProxySession_expiryMinutes,+    updateProxySession_capabilities,+    updateProxySession_voiceConnectorId,+    updateProxySession_proxySessionId,++    -- * Destructuring the Response+    UpdateProxySessionResponse (..),+    newUpdateProxySessionResponse,++    -- * Response Lenses+    updateProxySessionResponse_proxySession,+    updateProxySessionResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newUpdateProxySession' smart constructor.+data UpdateProxySession = UpdateProxySession'+  { -- | The number of minutes allowed for the proxy session.+    expiryMinutes :: Prelude.Maybe Prelude.Natural,+    -- | The proxy session capabilities.+    capabilities :: [Capability],+    -- | The Amazon Chime voice connector ID.+    voiceConnectorId :: Prelude.Text,+    -- | The proxy session ID.+    proxySessionId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateProxySession' 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:+--+-- 'expiryMinutes', 'updateProxySession_expiryMinutes' - The number of minutes allowed for the proxy session.+--+-- 'capabilities', 'updateProxySession_capabilities' - The proxy session capabilities.+--+-- 'voiceConnectorId', 'updateProxySession_voiceConnectorId' - The Amazon Chime voice connector ID.+--+-- 'proxySessionId', 'updateProxySession_proxySessionId' - The proxy session ID.+newUpdateProxySession ::+  -- | 'voiceConnectorId'+  Prelude.Text ->+  -- | 'proxySessionId'+  Prelude.Text ->+  UpdateProxySession+newUpdateProxySession+  pVoiceConnectorId_+  pProxySessionId_ =+    UpdateProxySession'+      { expiryMinutes =+          Prelude.Nothing,+        capabilities = Prelude.mempty,+        voiceConnectorId = pVoiceConnectorId_,+        proxySessionId = pProxySessionId_+      }++-- | The number of minutes allowed for the proxy session.+updateProxySession_expiryMinutes :: Lens.Lens' UpdateProxySession (Prelude.Maybe Prelude.Natural)+updateProxySession_expiryMinutes = Lens.lens (\UpdateProxySession' {expiryMinutes} -> expiryMinutes) (\s@UpdateProxySession' {} a -> s {expiryMinutes = a} :: UpdateProxySession)++-- | The proxy session capabilities.+updateProxySession_capabilities :: Lens.Lens' UpdateProxySession [Capability]+updateProxySession_capabilities = Lens.lens (\UpdateProxySession' {capabilities} -> capabilities) (\s@UpdateProxySession' {} a -> s {capabilities = a} :: UpdateProxySession) Prelude.. Lens.coerced++-- | The Amazon Chime voice connector ID.+updateProxySession_voiceConnectorId :: Lens.Lens' UpdateProxySession Prelude.Text+updateProxySession_voiceConnectorId = Lens.lens (\UpdateProxySession' {voiceConnectorId} -> voiceConnectorId) (\s@UpdateProxySession' {} a -> s {voiceConnectorId = a} :: UpdateProxySession)++-- | The proxy session ID.+updateProxySession_proxySessionId :: Lens.Lens' UpdateProxySession Prelude.Text+updateProxySession_proxySessionId = Lens.lens (\UpdateProxySession' {proxySessionId} -> proxySessionId) (\s@UpdateProxySession' {} a -> s {proxySessionId = a} :: UpdateProxySession)++instance Core.AWSRequest UpdateProxySession where+  type+    AWSResponse UpdateProxySession =+      UpdateProxySessionResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateProxySessionResponse'+            Prelude.<$> (x Data..?> "ProxySession")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateProxySession where+  hashWithSalt _salt UpdateProxySession' {..} =+    _salt+      `Prelude.hashWithSalt` expiryMinutes+      `Prelude.hashWithSalt` capabilities+      `Prelude.hashWithSalt` voiceConnectorId+      `Prelude.hashWithSalt` proxySessionId++instance Prelude.NFData UpdateProxySession where+  rnf UpdateProxySession' {..} =+    Prelude.rnf expiryMinutes+      `Prelude.seq` Prelude.rnf capabilities+      `Prelude.seq` Prelude.rnf voiceConnectorId+      `Prelude.seq` Prelude.rnf proxySessionId++instance Data.ToHeaders UpdateProxySession where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON UpdateProxySession where+  toJSON UpdateProxySession' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ExpiryMinutes" Data..=) Prelude.<$> expiryMinutes,+            Prelude.Just ("Capabilities" Data..= capabilities)+          ]+      )++instance Data.ToPath UpdateProxySession where+  toPath UpdateProxySession' {..} =+    Prelude.mconcat+      [ "/voice-connectors/",+        Data.toBS voiceConnectorId,+        "/proxy-sessions/",+        Data.toBS proxySessionId+      ]++instance Data.ToQuery UpdateProxySession where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateProxySessionResponse' smart constructor.+data UpdateProxySessionResponse = UpdateProxySessionResponse'+  { -- | The proxy session details.+    proxySession :: Prelude.Maybe ProxySession,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateProxySessionResponse' 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:+--+-- 'proxySession', 'updateProxySessionResponse_proxySession' - The proxy session details.+--+-- 'httpStatus', 'updateProxySessionResponse_httpStatus' - The response's http status code.+newUpdateProxySessionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateProxySessionResponse+newUpdateProxySessionResponse pHttpStatus_ =+  UpdateProxySessionResponse'+    { proxySession =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The proxy session details.+updateProxySessionResponse_proxySession :: Lens.Lens' UpdateProxySessionResponse (Prelude.Maybe ProxySession)+updateProxySessionResponse_proxySession = Lens.lens (\UpdateProxySessionResponse' {proxySession} -> proxySession) (\s@UpdateProxySessionResponse' {} a -> s {proxySession = a} :: UpdateProxySessionResponse)++-- | The response's http status code.+updateProxySessionResponse_httpStatus :: Lens.Lens' UpdateProxySessionResponse Prelude.Int+updateProxySessionResponse_httpStatus = Lens.lens (\UpdateProxySessionResponse' {httpStatus} -> httpStatus) (\s@UpdateProxySessionResponse' {} a -> s {httpStatus = a} :: UpdateProxySessionResponse)++instance Prelude.NFData UpdateProxySessionResponse where+  rnf UpdateProxySessionResponse' {..} =+    Prelude.rnf proxySession+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/UpdateRoom.hs view
@@ -0,0 +1,190 @@+{-# 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.Chime.UpdateRoom+-- 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 room details, such as the room name, for a room in an Amazon+-- Chime Enterprise account.+module Amazonka.Chime.UpdateRoom+  ( -- * Creating a Request+    UpdateRoom (..),+    newUpdateRoom,++    -- * Request Lenses+    updateRoom_name,+    updateRoom_accountId,+    updateRoom_roomId,++    -- * Destructuring the Response+    UpdateRoomResponse (..),+    newUpdateRoomResponse,++    -- * Response Lenses+    updateRoomResponse_room,+    updateRoomResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newUpdateRoom' smart constructor.+data UpdateRoom = UpdateRoom'+  { -- | The room name.+    name :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The Amazon Chime account ID.+    accountId :: Prelude.Text,+    -- | The room ID.+    roomId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateRoom' 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:+--+-- 'name', 'updateRoom_name' - The room name.+--+-- 'accountId', 'updateRoom_accountId' - The Amazon Chime account ID.+--+-- 'roomId', 'updateRoom_roomId' - The room ID.+newUpdateRoom ::+  -- | 'accountId'+  Prelude.Text ->+  -- | 'roomId'+  Prelude.Text ->+  UpdateRoom+newUpdateRoom pAccountId_ pRoomId_ =+  UpdateRoom'+    { name = Prelude.Nothing,+      accountId = pAccountId_,+      roomId = pRoomId_+    }++-- | The room name.+updateRoom_name :: Lens.Lens' UpdateRoom (Prelude.Maybe Prelude.Text)+updateRoom_name = Lens.lens (\UpdateRoom' {name} -> name) (\s@UpdateRoom' {} a -> s {name = a} :: UpdateRoom) Prelude.. Lens.mapping Data._Sensitive++-- | The Amazon Chime account ID.+updateRoom_accountId :: Lens.Lens' UpdateRoom Prelude.Text+updateRoom_accountId = Lens.lens (\UpdateRoom' {accountId} -> accountId) (\s@UpdateRoom' {} a -> s {accountId = a} :: UpdateRoom)++-- | The room ID.+updateRoom_roomId :: Lens.Lens' UpdateRoom Prelude.Text+updateRoom_roomId = Lens.lens (\UpdateRoom' {roomId} -> roomId) (\s@UpdateRoom' {} a -> s {roomId = a} :: UpdateRoom)++instance Core.AWSRequest UpdateRoom where+  type AWSResponse UpdateRoom = UpdateRoomResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateRoomResponse'+            Prelude.<$> (x Data..?> "Room")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateRoom where+  hashWithSalt _salt UpdateRoom' {..} =+    _salt+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` roomId++instance Prelude.NFData UpdateRoom where+  rnf UpdateRoom' {..} =+    Prelude.rnf name+      `Prelude.seq` Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf roomId++instance Data.ToHeaders UpdateRoom where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON UpdateRoom where+  toJSON UpdateRoom' {..} =+    Data.object+      ( Prelude.catMaybes+          [("Name" Data..=) Prelude.<$> name]+      )++instance Data.ToPath UpdateRoom where+  toPath UpdateRoom' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS accountId,+        "/rooms/",+        Data.toBS roomId+      ]++instance Data.ToQuery UpdateRoom where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateRoomResponse' smart constructor.+data UpdateRoomResponse = UpdateRoomResponse'+  { -- | The room details.+    room :: Prelude.Maybe Room,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateRoomResponse' 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:+--+-- 'room', 'updateRoomResponse_room' - The room details.+--+-- 'httpStatus', 'updateRoomResponse_httpStatus' - The response's http status code.+newUpdateRoomResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateRoomResponse+newUpdateRoomResponse pHttpStatus_ =+  UpdateRoomResponse'+    { room = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The room details.+updateRoomResponse_room :: Lens.Lens' UpdateRoomResponse (Prelude.Maybe Room)+updateRoomResponse_room = Lens.lens (\UpdateRoomResponse' {room} -> room) (\s@UpdateRoomResponse' {} a -> s {room = a} :: UpdateRoomResponse)++-- | The response's http status code.+updateRoomResponse_httpStatus :: Lens.Lens' UpdateRoomResponse Prelude.Int+updateRoomResponse_httpStatus = Lens.lens (\UpdateRoomResponse' {httpStatus} -> httpStatus) (\s@UpdateRoomResponse' {} a -> s {httpStatus = a} :: UpdateRoomResponse)++instance Prelude.NFData UpdateRoomResponse where+  rnf UpdateRoomResponse' {..} =+    Prelude.rnf room+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/UpdateRoomMembership.hs view
@@ -0,0 +1,214 @@+{-# 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.Chime.UpdateRoomMembership+-- 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 room membership details, such as the member role, for a room in+-- an Amazon Chime Enterprise account. The member role designates whether+-- the member is a chat room administrator or a general chat room member.+-- The member role can be updated only for user IDs.+module Amazonka.Chime.UpdateRoomMembership+  ( -- * Creating a Request+    UpdateRoomMembership (..),+    newUpdateRoomMembership,++    -- * Request Lenses+    updateRoomMembership_role,+    updateRoomMembership_accountId,+    updateRoomMembership_roomId,+    updateRoomMembership_memberId,++    -- * Destructuring the Response+    UpdateRoomMembershipResponse (..),+    newUpdateRoomMembershipResponse,++    -- * Response Lenses+    updateRoomMembershipResponse_roomMembership,+    updateRoomMembershipResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newUpdateRoomMembership' smart constructor.+data UpdateRoomMembership = UpdateRoomMembership'+  { -- | The role of the member.+    role' :: Prelude.Maybe RoomMembershipRole,+    -- | The Amazon Chime account ID.+    accountId :: Prelude.Text,+    -- | The room ID.+    roomId :: Prelude.Text,+    -- | The member ID.+    memberId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateRoomMembership' 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:+--+-- 'role'', 'updateRoomMembership_role' - The role of the member.+--+-- 'accountId', 'updateRoomMembership_accountId' - The Amazon Chime account ID.+--+-- 'roomId', 'updateRoomMembership_roomId' - The room ID.+--+-- 'memberId', 'updateRoomMembership_memberId' - The member ID.+newUpdateRoomMembership ::+  -- | 'accountId'+  Prelude.Text ->+  -- | 'roomId'+  Prelude.Text ->+  -- | 'memberId'+  Prelude.Text ->+  UpdateRoomMembership+newUpdateRoomMembership+  pAccountId_+  pRoomId_+  pMemberId_ =+    UpdateRoomMembership'+      { role' = Prelude.Nothing,+        accountId = pAccountId_,+        roomId = pRoomId_,+        memberId = pMemberId_+      }++-- | The role of the member.+updateRoomMembership_role :: Lens.Lens' UpdateRoomMembership (Prelude.Maybe RoomMembershipRole)+updateRoomMembership_role = Lens.lens (\UpdateRoomMembership' {role'} -> role') (\s@UpdateRoomMembership' {} a -> s {role' = a} :: UpdateRoomMembership)++-- | The Amazon Chime account ID.+updateRoomMembership_accountId :: Lens.Lens' UpdateRoomMembership Prelude.Text+updateRoomMembership_accountId = Lens.lens (\UpdateRoomMembership' {accountId} -> accountId) (\s@UpdateRoomMembership' {} a -> s {accountId = a} :: UpdateRoomMembership)++-- | The room ID.+updateRoomMembership_roomId :: Lens.Lens' UpdateRoomMembership Prelude.Text+updateRoomMembership_roomId = Lens.lens (\UpdateRoomMembership' {roomId} -> roomId) (\s@UpdateRoomMembership' {} a -> s {roomId = a} :: UpdateRoomMembership)++-- | The member ID.+updateRoomMembership_memberId :: Lens.Lens' UpdateRoomMembership Prelude.Text+updateRoomMembership_memberId = Lens.lens (\UpdateRoomMembership' {memberId} -> memberId) (\s@UpdateRoomMembership' {} a -> s {memberId = a} :: UpdateRoomMembership)++instance Core.AWSRequest UpdateRoomMembership where+  type+    AWSResponse UpdateRoomMembership =+      UpdateRoomMembershipResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateRoomMembershipResponse'+            Prelude.<$> (x Data..?> "RoomMembership")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateRoomMembership where+  hashWithSalt _salt UpdateRoomMembership' {..} =+    _salt+      `Prelude.hashWithSalt` role'+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` roomId+      `Prelude.hashWithSalt` memberId++instance Prelude.NFData UpdateRoomMembership where+  rnf UpdateRoomMembership' {..} =+    Prelude.rnf role'+      `Prelude.seq` Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf roomId+      `Prelude.seq` Prelude.rnf memberId++instance Data.ToHeaders UpdateRoomMembership where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON UpdateRoomMembership where+  toJSON UpdateRoomMembership' {..} =+    Data.object+      ( Prelude.catMaybes+          [("Role" Data..=) Prelude.<$> role']+      )++instance Data.ToPath UpdateRoomMembership where+  toPath UpdateRoomMembership' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS accountId,+        "/rooms/",+        Data.toBS roomId,+        "/memberships/",+        Data.toBS memberId+      ]++instance Data.ToQuery UpdateRoomMembership where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateRoomMembershipResponse' smart constructor.+data UpdateRoomMembershipResponse = UpdateRoomMembershipResponse'+  { -- | The room membership details.+    roomMembership :: Prelude.Maybe RoomMembership,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateRoomMembershipResponse' 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:+--+-- 'roomMembership', 'updateRoomMembershipResponse_roomMembership' - The room membership details.+--+-- 'httpStatus', 'updateRoomMembershipResponse_httpStatus' - The response's http status code.+newUpdateRoomMembershipResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateRoomMembershipResponse+newUpdateRoomMembershipResponse pHttpStatus_ =+  UpdateRoomMembershipResponse'+    { roomMembership =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The room membership details.+updateRoomMembershipResponse_roomMembership :: Lens.Lens' UpdateRoomMembershipResponse (Prelude.Maybe RoomMembership)+updateRoomMembershipResponse_roomMembership = Lens.lens (\UpdateRoomMembershipResponse' {roomMembership} -> roomMembership) (\s@UpdateRoomMembershipResponse' {} a -> s {roomMembership = a} :: UpdateRoomMembershipResponse)++-- | The response's http status code.+updateRoomMembershipResponse_httpStatus :: Lens.Lens' UpdateRoomMembershipResponse Prelude.Int+updateRoomMembershipResponse_httpStatus = Lens.lens (\UpdateRoomMembershipResponse' {httpStatus} -> httpStatus) (\s@UpdateRoomMembershipResponse' {} a -> s {httpStatus = a} :: UpdateRoomMembershipResponse)++instance Prelude.NFData UpdateRoomMembershipResponse where+  rnf UpdateRoomMembershipResponse' {..} =+    Prelude.rnf roomMembership+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/UpdateSipMediaApplication.hs view
@@ -0,0 +1,194 @@+{-# 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.Chime.UpdateSipMediaApplication+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the details of the specified SIP media application.+module Amazonka.Chime.UpdateSipMediaApplication+  ( -- * Creating a Request+    UpdateSipMediaApplication (..),+    newUpdateSipMediaApplication,++    -- * Request Lenses+    updateSipMediaApplication_endpoints,+    updateSipMediaApplication_name,+    updateSipMediaApplication_sipMediaApplicationId,++    -- * Destructuring the Response+    UpdateSipMediaApplicationResponse (..),+    newUpdateSipMediaApplicationResponse,++    -- * Response Lenses+    updateSipMediaApplicationResponse_sipMediaApplication,+    updateSipMediaApplicationResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newUpdateSipMediaApplication' smart constructor.+data UpdateSipMediaApplication = UpdateSipMediaApplication'+  { -- | The new set of endpoints for the specified SIP media application.+    endpoints :: Prelude.Maybe (Prelude.NonEmpty SipMediaApplicationEndpoint),+    -- | The new name for the specified SIP media application.+    name :: Prelude.Maybe Prelude.Text,+    -- | The SIP media application ID.+    sipMediaApplicationId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateSipMediaApplication' 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:+--+-- 'endpoints', 'updateSipMediaApplication_endpoints' - The new set of endpoints for the specified SIP media application.+--+-- 'name', 'updateSipMediaApplication_name' - The new name for the specified SIP media application.+--+-- 'sipMediaApplicationId', 'updateSipMediaApplication_sipMediaApplicationId' - The SIP media application ID.+newUpdateSipMediaApplication ::+  -- | 'sipMediaApplicationId'+  Prelude.Text ->+  UpdateSipMediaApplication+newUpdateSipMediaApplication pSipMediaApplicationId_ =+  UpdateSipMediaApplication'+    { endpoints =+        Prelude.Nothing,+      name = Prelude.Nothing,+      sipMediaApplicationId = pSipMediaApplicationId_+    }++-- | The new set of endpoints for the specified SIP media application.+updateSipMediaApplication_endpoints :: Lens.Lens' UpdateSipMediaApplication (Prelude.Maybe (Prelude.NonEmpty SipMediaApplicationEndpoint))+updateSipMediaApplication_endpoints = Lens.lens (\UpdateSipMediaApplication' {endpoints} -> endpoints) (\s@UpdateSipMediaApplication' {} a -> s {endpoints = a} :: UpdateSipMediaApplication) Prelude.. Lens.mapping Lens.coerced++-- | The new name for the specified SIP media application.+updateSipMediaApplication_name :: Lens.Lens' UpdateSipMediaApplication (Prelude.Maybe Prelude.Text)+updateSipMediaApplication_name = Lens.lens (\UpdateSipMediaApplication' {name} -> name) (\s@UpdateSipMediaApplication' {} a -> s {name = a} :: UpdateSipMediaApplication)++-- | The SIP media application ID.+updateSipMediaApplication_sipMediaApplicationId :: Lens.Lens' UpdateSipMediaApplication Prelude.Text+updateSipMediaApplication_sipMediaApplicationId = Lens.lens (\UpdateSipMediaApplication' {sipMediaApplicationId} -> sipMediaApplicationId) (\s@UpdateSipMediaApplication' {} a -> s {sipMediaApplicationId = a} :: UpdateSipMediaApplication)++instance Core.AWSRequest UpdateSipMediaApplication where+  type+    AWSResponse UpdateSipMediaApplication =+      UpdateSipMediaApplicationResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateSipMediaApplicationResponse'+            Prelude.<$> (x Data..?> "SipMediaApplication")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateSipMediaApplication where+  hashWithSalt _salt UpdateSipMediaApplication' {..} =+    _salt+      `Prelude.hashWithSalt` endpoints+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` sipMediaApplicationId++instance Prelude.NFData UpdateSipMediaApplication where+  rnf UpdateSipMediaApplication' {..} =+    Prelude.rnf endpoints+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf sipMediaApplicationId++instance Data.ToHeaders UpdateSipMediaApplication where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON UpdateSipMediaApplication where+  toJSON UpdateSipMediaApplication' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Endpoints" Data..=) Prelude.<$> endpoints,+            ("Name" Data..=) Prelude.<$> name+          ]+      )++instance Data.ToPath UpdateSipMediaApplication where+  toPath UpdateSipMediaApplication' {..} =+    Prelude.mconcat+      [ "/sip-media-applications/",+        Data.toBS sipMediaApplicationId+      ]++instance Data.ToQuery UpdateSipMediaApplication where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateSipMediaApplicationResponse' smart constructor.+data UpdateSipMediaApplicationResponse = UpdateSipMediaApplicationResponse'+  { -- | The updated SIP media application details.+    sipMediaApplication :: Prelude.Maybe SipMediaApplication,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateSipMediaApplicationResponse' 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:+--+-- 'sipMediaApplication', 'updateSipMediaApplicationResponse_sipMediaApplication' - The updated SIP media application details.+--+-- 'httpStatus', 'updateSipMediaApplicationResponse_httpStatus' - The response's http status code.+newUpdateSipMediaApplicationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateSipMediaApplicationResponse+newUpdateSipMediaApplicationResponse pHttpStatus_ =+  UpdateSipMediaApplicationResponse'+    { sipMediaApplication =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The updated SIP media application details.+updateSipMediaApplicationResponse_sipMediaApplication :: Lens.Lens' UpdateSipMediaApplicationResponse (Prelude.Maybe SipMediaApplication)+updateSipMediaApplicationResponse_sipMediaApplication = Lens.lens (\UpdateSipMediaApplicationResponse' {sipMediaApplication} -> sipMediaApplication) (\s@UpdateSipMediaApplicationResponse' {} a -> s {sipMediaApplication = a} :: UpdateSipMediaApplicationResponse)++-- | The response's http status code.+updateSipMediaApplicationResponse_httpStatus :: Lens.Lens' UpdateSipMediaApplicationResponse Prelude.Int+updateSipMediaApplicationResponse_httpStatus = Lens.lens (\UpdateSipMediaApplicationResponse' {httpStatus} -> httpStatus) (\s@UpdateSipMediaApplicationResponse' {} a -> s {httpStatus = a} :: UpdateSipMediaApplicationResponse)++instance+  Prelude.NFData+    UpdateSipMediaApplicationResponse+  where+  rnf UpdateSipMediaApplicationResponse' {..} =+    Prelude.rnf sipMediaApplication+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/UpdateSipMediaApplicationCall.hs view
@@ -0,0 +1,208 @@+{-# 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.Chime.UpdateSipMediaApplicationCall+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Invokes the AWS Lambda function associated with the SIP media+-- application and transaction ID in an update request. The Lambda function+-- can then return a new set of actions.+module Amazonka.Chime.UpdateSipMediaApplicationCall+  ( -- * Creating a Request+    UpdateSipMediaApplicationCall (..),+    newUpdateSipMediaApplicationCall,++    -- * Request Lenses+    updateSipMediaApplicationCall_sipMediaApplicationId,+    updateSipMediaApplicationCall_transactionId,+    updateSipMediaApplicationCall_arguments,++    -- * Destructuring the Response+    UpdateSipMediaApplicationCallResponse (..),+    newUpdateSipMediaApplicationCallResponse,++    -- * Response Lenses+    updateSipMediaApplicationCallResponse_sipMediaApplicationCall,+    updateSipMediaApplicationCallResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newUpdateSipMediaApplicationCall' smart constructor.+data UpdateSipMediaApplicationCall = UpdateSipMediaApplicationCall'+  { -- | The ID of the SIP media application handling the call.+    sipMediaApplicationId :: Prelude.Text,+    -- | The ID of the call transaction.+    transactionId :: Prelude.Text,+    -- | Arguments made available to the Lambda function as part of the+    -- @CALL_UPDATE_REQUESTED@ event. Can contain 0-20 key-value pairs.+    arguments :: Prelude.HashMap Prelude.Text (Data.Sensitive Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateSipMediaApplicationCall' 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:+--+-- 'sipMediaApplicationId', 'updateSipMediaApplicationCall_sipMediaApplicationId' - The ID of the SIP media application handling the call.+--+-- 'transactionId', 'updateSipMediaApplicationCall_transactionId' - The ID of the call transaction.+--+-- 'arguments', 'updateSipMediaApplicationCall_arguments' - Arguments made available to the Lambda function as part of the+-- @CALL_UPDATE_REQUESTED@ event. Can contain 0-20 key-value pairs.+newUpdateSipMediaApplicationCall ::+  -- | 'sipMediaApplicationId'+  Prelude.Text ->+  -- | 'transactionId'+  Prelude.Text ->+  UpdateSipMediaApplicationCall+newUpdateSipMediaApplicationCall+  pSipMediaApplicationId_+  pTransactionId_ =+    UpdateSipMediaApplicationCall'+      { sipMediaApplicationId =+          pSipMediaApplicationId_,+        transactionId = pTransactionId_,+        arguments = Prelude.mempty+      }++-- | The ID of the SIP media application handling the call.+updateSipMediaApplicationCall_sipMediaApplicationId :: Lens.Lens' UpdateSipMediaApplicationCall Prelude.Text+updateSipMediaApplicationCall_sipMediaApplicationId = Lens.lens (\UpdateSipMediaApplicationCall' {sipMediaApplicationId} -> sipMediaApplicationId) (\s@UpdateSipMediaApplicationCall' {} a -> s {sipMediaApplicationId = a} :: UpdateSipMediaApplicationCall)++-- | The ID of the call transaction.+updateSipMediaApplicationCall_transactionId :: Lens.Lens' UpdateSipMediaApplicationCall Prelude.Text+updateSipMediaApplicationCall_transactionId = Lens.lens (\UpdateSipMediaApplicationCall' {transactionId} -> transactionId) (\s@UpdateSipMediaApplicationCall' {} a -> s {transactionId = a} :: UpdateSipMediaApplicationCall)++-- | Arguments made available to the Lambda function as part of the+-- @CALL_UPDATE_REQUESTED@ event. Can contain 0-20 key-value pairs.+updateSipMediaApplicationCall_arguments :: Lens.Lens' UpdateSipMediaApplicationCall (Prelude.HashMap Prelude.Text Prelude.Text)+updateSipMediaApplicationCall_arguments = Lens.lens (\UpdateSipMediaApplicationCall' {arguments} -> arguments) (\s@UpdateSipMediaApplicationCall' {} a -> s {arguments = a} :: UpdateSipMediaApplicationCall) Prelude.. Lens.coerced++instance+  Core.AWSRequest+    UpdateSipMediaApplicationCall+  where+  type+    AWSResponse UpdateSipMediaApplicationCall =+      UpdateSipMediaApplicationCallResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateSipMediaApplicationCallResponse'+            Prelude.<$> (x Data..?> "SipMediaApplicationCall")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    UpdateSipMediaApplicationCall+  where+  hashWithSalt _salt UpdateSipMediaApplicationCall' {..} =+    _salt+      `Prelude.hashWithSalt` sipMediaApplicationId+      `Prelude.hashWithSalt` transactionId+      `Prelude.hashWithSalt` arguments++instance Prelude.NFData UpdateSipMediaApplicationCall where+  rnf UpdateSipMediaApplicationCall' {..} =+    Prelude.rnf sipMediaApplicationId+      `Prelude.seq` Prelude.rnf transactionId+      `Prelude.seq` Prelude.rnf arguments++instance Data.ToHeaders UpdateSipMediaApplicationCall where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON UpdateSipMediaApplicationCall where+  toJSON UpdateSipMediaApplicationCall' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("Arguments" Data..= arguments)]+      )++instance Data.ToPath UpdateSipMediaApplicationCall where+  toPath UpdateSipMediaApplicationCall' {..} =+    Prelude.mconcat+      [ "/sip-media-applications/",+        Data.toBS sipMediaApplicationId,+        "/calls/",+        Data.toBS transactionId+      ]++instance Data.ToQuery UpdateSipMediaApplicationCall where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateSipMediaApplicationCallResponse' smart constructor.+data UpdateSipMediaApplicationCallResponse = UpdateSipMediaApplicationCallResponse'+  { sipMediaApplicationCall :: Prelude.Maybe SipMediaApplicationCall,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateSipMediaApplicationCallResponse' 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:+--+-- 'sipMediaApplicationCall', 'updateSipMediaApplicationCallResponse_sipMediaApplicationCall' - Undocumented member.+--+-- 'httpStatus', 'updateSipMediaApplicationCallResponse_httpStatus' - The response's http status code.+newUpdateSipMediaApplicationCallResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateSipMediaApplicationCallResponse+newUpdateSipMediaApplicationCallResponse pHttpStatus_ =+  UpdateSipMediaApplicationCallResponse'+    { sipMediaApplicationCall =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+updateSipMediaApplicationCallResponse_sipMediaApplicationCall :: Lens.Lens' UpdateSipMediaApplicationCallResponse (Prelude.Maybe SipMediaApplicationCall)+updateSipMediaApplicationCallResponse_sipMediaApplicationCall = Lens.lens (\UpdateSipMediaApplicationCallResponse' {sipMediaApplicationCall} -> sipMediaApplicationCall) (\s@UpdateSipMediaApplicationCallResponse' {} a -> s {sipMediaApplicationCall = a} :: UpdateSipMediaApplicationCallResponse)++-- | The response's http status code.+updateSipMediaApplicationCallResponse_httpStatus :: Lens.Lens' UpdateSipMediaApplicationCallResponse Prelude.Int+updateSipMediaApplicationCallResponse_httpStatus = Lens.lens (\UpdateSipMediaApplicationCallResponse' {httpStatus} -> httpStatus) (\s@UpdateSipMediaApplicationCallResponse' {} a -> s {httpStatus = a} :: UpdateSipMediaApplicationCallResponse)++instance+  Prelude.NFData+    UpdateSipMediaApplicationCallResponse+  where+  rnf UpdateSipMediaApplicationCallResponse' {..} =+    Prelude.rnf sipMediaApplicationCall+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/UpdateSipRule.hs view
@@ -0,0 +1,203 @@+{-# 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.Chime.UpdateSipRule+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the details of the specified SIP rule.+module Amazonka.Chime.UpdateSipRule+  ( -- * Creating a Request+    UpdateSipRule (..),+    newUpdateSipRule,++    -- * Request Lenses+    updateSipRule_disabled,+    updateSipRule_targetApplications,+    updateSipRule_sipRuleId,+    updateSipRule_name,++    -- * Destructuring the Response+    UpdateSipRuleResponse (..),+    newUpdateSipRuleResponse,++    -- * Response Lenses+    updateSipRuleResponse_sipRule,+    updateSipRuleResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newUpdateSipRule' smart constructor.+data UpdateSipRule = UpdateSipRule'+  { -- | The new value specified to indicate whether the rule is disabled.+    disabled :: Prelude.Maybe Prelude.Bool,+    -- | The new value of the list of target applications.+    targetApplications :: Prelude.Maybe (Prelude.NonEmpty SipRuleTargetApplication),+    -- | The SIP rule ID.+    sipRuleId :: Prelude.Text,+    -- | The new name for the specified SIP rule.+    name :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateSipRule' 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:+--+-- 'disabled', 'updateSipRule_disabled' - The new value specified to indicate whether the rule is disabled.+--+-- 'targetApplications', 'updateSipRule_targetApplications' - The new value of the list of target applications.+--+-- 'sipRuleId', 'updateSipRule_sipRuleId' - The SIP rule ID.+--+-- 'name', 'updateSipRule_name' - The new name for the specified SIP rule.+newUpdateSipRule ::+  -- | 'sipRuleId'+  Prelude.Text ->+  -- | 'name'+  Prelude.Text ->+  UpdateSipRule+newUpdateSipRule pSipRuleId_ pName_ =+  UpdateSipRule'+    { disabled = Prelude.Nothing,+      targetApplications = Prelude.Nothing,+      sipRuleId = pSipRuleId_,+      name = pName_+    }++-- | The new value specified to indicate whether the rule is disabled.+updateSipRule_disabled :: Lens.Lens' UpdateSipRule (Prelude.Maybe Prelude.Bool)+updateSipRule_disabled = Lens.lens (\UpdateSipRule' {disabled} -> disabled) (\s@UpdateSipRule' {} a -> s {disabled = a} :: UpdateSipRule)++-- | The new value of the list of target applications.+updateSipRule_targetApplications :: Lens.Lens' UpdateSipRule (Prelude.Maybe (Prelude.NonEmpty SipRuleTargetApplication))+updateSipRule_targetApplications = Lens.lens (\UpdateSipRule' {targetApplications} -> targetApplications) (\s@UpdateSipRule' {} a -> s {targetApplications = a} :: UpdateSipRule) Prelude.. Lens.mapping Lens.coerced++-- | The SIP rule ID.+updateSipRule_sipRuleId :: Lens.Lens' UpdateSipRule Prelude.Text+updateSipRule_sipRuleId = Lens.lens (\UpdateSipRule' {sipRuleId} -> sipRuleId) (\s@UpdateSipRule' {} a -> s {sipRuleId = a} :: UpdateSipRule)++-- | The new name for the specified SIP rule.+updateSipRule_name :: Lens.Lens' UpdateSipRule Prelude.Text+updateSipRule_name = Lens.lens (\UpdateSipRule' {name} -> name) (\s@UpdateSipRule' {} a -> s {name = a} :: UpdateSipRule)++instance Core.AWSRequest UpdateSipRule where+  type+    AWSResponse UpdateSipRule =+      UpdateSipRuleResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateSipRuleResponse'+            Prelude.<$> (x Data..?> "SipRule")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateSipRule where+  hashWithSalt _salt UpdateSipRule' {..} =+    _salt+      `Prelude.hashWithSalt` disabled+      `Prelude.hashWithSalt` targetApplications+      `Prelude.hashWithSalt` sipRuleId+      `Prelude.hashWithSalt` name++instance Prelude.NFData UpdateSipRule where+  rnf UpdateSipRule' {..} =+    Prelude.rnf disabled+      `Prelude.seq` Prelude.rnf targetApplications+      `Prelude.seq` Prelude.rnf sipRuleId+      `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders UpdateSipRule where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON UpdateSipRule where+  toJSON UpdateSipRule' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Disabled" Data..=) Prelude.<$> disabled,+            ("TargetApplications" Data..=)+              Prelude.<$> targetApplications,+            Prelude.Just ("Name" Data..= name)+          ]+      )++instance Data.ToPath UpdateSipRule where+  toPath UpdateSipRule' {..} =+    Prelude.mconcat+      ["/sip-rules/", Data.toBS sipRuleId]++instance Data.ToQuery UpdateSipRule where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateSipRuleResponse' smart constructor.+data UpdateSipRuleResponse = UpdateSipRuleResponse'+  { -- | Updated SIP rule details.+    sipRule :: Prelude.Maybe SipRule,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateSipRuleResponse' 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:+--+-- 'sipRule', 'updateSipRuleResponse_sipRule' - Updated SIP rule details.+--+-- 'httpStatus', 'updateSipRuleResponse_httpStatus' - The response's http status code.+newUpdateSipRuleResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateSipRuleResponse+newUpdateSipRuleResponse pHttpStatus_ =+  UpdateSipRuleResponse'+    { sipRule = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Updated SIP rule details.+updateSipRuleResponse_sipRule :: Lens.Lens' UpdateSipRuleResponse (Prelude.Maybe SipRule)+updateSipRuleResponse_sipRule = Lens.lens (\UpdateSipRuleResponse' {sipRule} -> sipRule) (\s@UpdateSipRuleResponse' {} a -> s {sipRule = a} :: UpdateSipRuleResponse)++-- | The response's http status code.+updateSipRuleResponse_httpStatus :: Lens.Lens' UpdateSipRuleResponse Prelude.Int+updateSipRuleResponse_httpStatus = Lens.lens (\UpdateSipRuleResponse' {httpStatus} -> httpStatus) (\s@UpdateSipRuleResponse' {} a -> s {httpStatus = a} :: UpdateSipRuleResponse)++instance Prelude.NFData UpdateSipRuleResponse where+  rnf UpdateSipRuleResponse' {..} =+    Prelude.rnf sipRule+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/UpdateUser.hs view
@@ -0,0 +1,222 @@+{-# 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.Chime.UpdateUser+-- 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 user details for a specified user ID. Currently, only+-- @LicenseType@ updates are supported for this action.+module Amazonka.Chime.UpdateUser+  ( -- * Creating a Request+    UpdateUser (..),+    newUpdateUser,++    -- * Request Lenses+    updateUser_alexaForBusinessMetadata,+    updateUser_licenseType,+    updateUser_userType,+    updateUser_accountId,+    updateUser_userId,++    -- * Destructuring the Response+    UpdateUserResponse (..),+    newUpdateUserResponse,++    -- * Response Lenses+    updateUserResponse_user,+    updateUserResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newUpdateUser' smart constructor.+data UpdateUser = UpdateUser'+  { -- | The Alexa for Business metadata.+    alexaForBusinessMetadata :: Prelude.Maybe AlexaForBusinessMetadata,+    -- | The user license type to update. This must be a supported license type+    -- for the Amazon Chime account that the user belongs to.+    licenseType :: Prelude.Maybe License,+    -- | The user type.+    userType :: Prelude.Maybe UserType,+    -- | The Amazon Chime account ID.+    accountId :: Prelude.Text,+    -- | The user ID.+    userId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateUser' 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:+--+-- 'alexaForBusinessMetadata', 'updateUser_alexaForBusinessMetadata' - The Alexa for Business metadata.+--+-- 'licenseType', 'updateUser_licenseType' - The user license type to update. This must be a supported license type+-- for the Amazon Chime account that the user belongs to.+--+-- 'userType', 'updateUser_userType' - The user type.+--+-- 'accountId', 'updateUser_accountId' - The Amazon Chime account ID.+--+-- 'userId', 'updateUser_userId' - The user ID.+newUpdateUser ::+  -- | 'accountId'+  Prelude.Text ->+  -- | 'userId'+  Prelude.Text ->+  UpdateUser+newUpdateUser pAccountId_ pUserId_ =+  UpdateUser'+    { alexaForBusinessMetadata =+        Prelude.Nothing,+      licenseType = Prelude.Nothing,+      userType = Prelude.Nothing,+      accountId = pAccountId_,+      userId = pUserId_+    }++-- | The Alexa for Business metadata.+updateUser_alexaForBusinessMetadata :: Lens.Lens' UpdateUser (Prelude.Maybe AlexaForBusinessMetadata)+updateUser_alexaForBusinessMetadata = Lens.lens (\UpdateUser' {alexaForBusinessMetadata} -> alexaForBusinessMetadata) (\s@UpdateUser' {} a -> s {alexaForBusinessMetadata = a} :: UpdateUser)++-- | The user license type to update. This must be a supported license type+-- for the Amazon Chime account that the user belongs to.+updateUser_licenseType :: Lens.Lens' UpdateUser (Prelude.Maybe License)+updateUser_licenseType = Lens.lens (\UpdateUser' {licenseType} -> licenseType) (\s@UpdateUser' {} a -> s {licenseType = a} :: UpdateUser)++-- | The user type.+updateUser_userType :: Lens.Lens' UpdateUser (Prelude.Maybe UserType)+updateUser_userType = Lens.lens (\UpdateUser' {userType} -> userType) (\s@UpdateUser' {} a -> s {userType = a} :: UpdateUser)++-- | The Amazon Chime account ID.+updateUser_accountId :: Lens.Lens' UpdateUser Prelude.Text+updateUser_accountId = Lens.lens (\UpdateUser' {accountId} -> accountId) (\s@UpdateUser' {} a -> s {accountId = a} :: UpdateUser)++-- | The user ID.+updateUser_userId :: Lens.Lens' UpdateUser Prelude.Text+updateUser_userId = Lens.lens (\UpdateUser' {userId} -> userId) (\s@UpdateUser' {} a -> s {userId = a} :: UpdateUser)++instance Core.AWSRequest UpdateUser where+  type AWSResponse UpdateUser = UpdateUserResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateUserResponse'+            Prelude.<$> (x Data..?> "User")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateUser where+  hashWithSalt _salt UpdateUser' {..} =+    _salt+      `Prelude.hashWithSalt` alexaForBusinessMetadata+      `Prelude.hashWithSalt` licenseType+      `Prelude.hashWithSalt` userType+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` userId++instance Prelude.NFData UpdateUser where+  rnf UpdateUser' {..} =+    Prelude.rnf alexaForBusinessMetadata+      `Prelude.seq` Prelude.rnf licenseType+      `Prelude.seq` Prelude.rnf userType+      `Prelude.seq` Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf userId++instance Data.ToHeaders UpdateUser where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON UpdateUser where+  toJSON UpdateUser' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AlexaForBusinessMetadata" Data..=)+              Prelude.<$> alexaForBusinessMetadata,+            ("LicenseType" Data..=) Prelude.<$> licenseType,+            ("UserType" Data..=) Prelude.<$> userType+          ]+      )++instance Data.ToPath UpdateUser where+  toPath UpdateUser' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS accountId,+        "/users/",+        Data.toBS userId+      ]++instance Data.ToQuery UpdateUser where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateUserResponse' smart constructor.+data UpdateUserResponse = UpdateUserResponse'+  { -- | The updated user details.+    user :: Prelude.Maybe User,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateUserResponse' 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:+--+-- 'user', 'updateUserResponse_user' - The updated user details.+--+-- 'httpStatus', 'updateUserResponse_httpStatus' - The response's http status code.+newUpdateUserResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateUserResponse+newUpdateUserResponse pHttpStatus_ =+  UpdateUserResponse'+    { user = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The updated user details.+updateUserResponse_user :: Lens.Lens' UpdateUserResponse (Prelude.Maybe User)+updateUserResponse_user = Lens.lens (\UpdateUserResponse' {user} -> user) (\s@UpdateUserResponse' {} a -> s {user = a} :: UpdateUserResponse)++-- | The response's http status code.+updateUserResponse_httpStatus :: Lens.Lens' UpdateUserResponse Prelude.Int+updateUserResponse_httpStatus = Lens.lens (\UpdateUserResponse' {httpStatus} -> httpStatus) (\s@UpdateUserResponse' {} a -> s {httpStatus = a} :: UpdateUserResponse)++instance Prelude.NFData UpdateUserResponse where+  rnf UpdateUserResponse' {..} =+    Prelude.rnf user+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/UpdateUserSettings.hs view
@@ -0,0 +1,164 @@+{-# 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.Chime.UpdateUserSettings+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the settings for the specified user, such as phone number+-- settings.+module Amazonka.Chime.UpdateUserSettings+  ( -- * Creating a Request+    UpdateUserSettings (..),+    newUpdateUserSettings,++    -- * Request Lenses+    updateUserSettings_accountId,+    updateUserSettings_userId,+    updateUserSettings_userSettings,++    -- * Destructuring the Response+    UpdateUserSettingsResponse (..),+    newUpdateUserSettingsResponse,+  )+where++import Amazonka.Chime.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:/ 'newUpdateUserSettings' smart constructor.+data UpdateUserSettings = UpdateUserSettings'+  { -- | The Amazon Chime account ID.+    accountId :: Prelude.Text,+    -- | The user ID.+    userId :: Prelude.Text,+    -- | The user settings to update.+    userSettings :: UserSettings+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateUserSettings' 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:+--+-- 'accountId', 'updateUserSettings_accountId' - The Amazon Chime account ID.+--+-- 'userId', 'updateUserSettings_userId' - The user ID.+--+-- 'userSettings', 'updateUserSettings_userSettings' - The user settings to update.+newUpdateUserSettings ::+  -- | 'accountId'+  Prelude.Text ->+  -- | 'userId'+  Prelude.Text ->+  -- | 'userSettings'+  UserSettings ->+  UpdateUserSettings+newUpdateUserSettings+  pAccountId_+  pUserId_+  pUserSettings_ =+    UpdateUserSettings'+      { accountId = pAccountId_,+        userId = pUserId_,+        userSettings = pUserSettings_+      }++-- | The Amazon Chime account ID.+updateUserSettings_accountId :: Lens.Lens' UpdateUserSettings Prelude.Text+updateUserSettings_accountId = Lens.lens (\UpdateUserSettings' {accountId} -> accountId) (\s@UpdateUserSettings' {} a -> s {accountId = a} :: UpdateUserSettings)++-- | The user ID.+updateUserSettings_userId :: Lens.Lens' UpdateUserSettings Prelude.Text+updateUserSettings_userId = Lens.lens (\UpdateUserSettings' {userId} -> userId) (\s@UpdateUserSettings' {} a -> s {userId = a} :: UpdateUserSettings)++-- | The user settings to update.+updateUserSettings_userSettings :: Lens.Lens' UpdateUserSettings UserSettings+updateUserSettings_userSettings = Lens.lens (\UpdateUserSettings' {userSettings} -> userSettings) (\s@UpdateUserSettings' {} a -> s {userSettings = a} :: UpdateUserSettings)++instance Core.AWSRequest UpdateUserSettings where+  type+    AWSResponse UpdateUserSettings =+      UpdateUserSettingsResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveNull UpdateUserSettingsResponse'++instance Prelude.Hashable UpdateUserSettings where+  hashWithSalt _salt UpdateUserSettings' {..} =+    _salt+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` userId+      `Prelude.hashWithSalt` userSettings++instance Prelude.NFData UpdateUserSettings where+  rnf UpdateUserSettings' {..} =+    Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf userId+      `Prelude.seq` Prelude.rnf userSettings++instance Data.ToHeaders UpdateUserSettings where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON UpdateUserSettings where+  toJSON UpdateUserSettings' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("UserSettings" Data..= userSettings)]+      )++instance Data.ToPath UpdateUserSettings where+  toPath UpdateUserSettings' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS accountId,+        "/users/",+        Data.toBS userId,+        "/settings"+      ]++instance Data.ToQuery UpdateUserSettings where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateUserSettingsResponse' smart constructor.+data UpdateUserSettingsResponse = UpdateUserSettingsResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateUserSettingsResponse' 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.+newUpdateUserSettingsResponse ::+  UpdateUserSettingsResponse+newUpdateUserSettingsResponse =+  UpdateUserSettingsResponse'++instance Prelude.NFData UpdateUserSettingsResponse where+  rnf _ = ()
+ gen/Amazonka/Chime/UpdateVoiceConnector.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.Chime.UpdateVoiceConnector+-- 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 details for the specified Amazon Chime Voice Connector.+module Amazonka.Chime.UpdateVoiceConnector+  ( -- * Creating a Request+    UpdateVoiceConnector (..),+    newUpdateVoiceConnector,++    -- * Request Lenses+    updateVoiceConnector_voiceConnectorId,+    updateVoiceConnector_name,+    updateVoiceConnector_requireEncryption,++    -- * Destructuring the Response+    UpdateVoiceConnectorResponse (..),+    newUpdateVoiceConnectorResponse,++    -- * Response Lenses+    updateVoiceConnectorResponse_voiceConnector,+    updateVoiceConnectorResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newUpdateVoiceConnector' smart constructor.+data UpdateVoiceConnector = UpdateVoiceConnector'+  { -- | The Amazon Chime Voice Connector ID.+    voiceConnectorId :: Prelude.Text,+    -- | The name of the Amazon Chime Voice Connector.+    name :: Prelude.Text,+    -- | When enabled, requires encryption for the Amazon Chime Voice Connector.+    requireEncryption :: Prelude.Bool+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateVoiceConnector' 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:+--+-- 'voiceConnectorId', 'updateVoiceConnector_voiceConnectorId' - The Amazon Chime Voice Connector ID.+--+-- 'name', 'updateVoiceConnector_name' - The name of the Amazon Chime Voice Connector.+--+-- 'requireEncryption', 'updateVoiceConnector_requireEncryption' - When enabled, requires encryption for the Amazon Chime Voice Connector.+newUpdateVoiceConnector ::+  -- | 'voiceConnectorId'+  Prelude.Text ->+  -- | 'name'+  Prelude.Text ->+  -- | 'requireEncryption'+  Prelude.Bool ->+  UpdateVoiceConnector+newUpdateVoiceConnector+  pVoiceConnectorId_+  pName_+  pRequireEncryption_ =+    UpdateVoiceConnector'+      { voiceConnectorId =+          pVoiceConnectorId_,+        name = pName_,+        requireEncryption = pRequireEncryption_+      }++-- | The Amazon Chime Voice Connector ID.+updateVoiceConnector_voiceConnectorId :: Lens.Lens' UpdateVoiceConnector Prelude.Text+updateVoiceConnector_voiceConnectorId = Lens.lens (\UpdateVoiceConnector' {voiceConnectorId} -> voiceConnectorId) (\s@UpdateVoiceConnector' {} a -> s {voiceConnectorId = a} :: UpdateVoiceConnector)++-- | The name of the Amazon Chime Voice Connector.+updateVoiceConnector_name :: Lens.Lens' UpdateVoiceConnector Prelude.Text+updateVoiceConnector_name = Lens.lens (\UpdateVoiceConnector' {name} -> name) (\s@UpdateVoiceConnector' {} a -> s {name = a} :: UpdateVoiceConnector)++-- | When enabled, requires encryption for the Amazon Chime Voice Connector.+updateVoiceConnector_requireEncryption :: Lens.Lens' UpdateVoiceConnector Prelude.Bool+updateVoiceConnector_requireEncryption = Lens.lens (\UpdateVoiceConnector' {requireEncryption} -> requireEncryption) (\s@UpdateVoiceConnector' {} a -> s {requireEncryption = a} :: UpdateVoiceConnector)++instance Core.AWSRequest UpdateVoiceConnector where+  type+    AWSResponse UpdateVoiceConnector =+      UpdateVoiceConnectorResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateVoiceConnectorResponse'+            Prelude.<$> (x Data..?> "VoiceConnector")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateVoiceConnector where+  hashWithSalt _salt UpdateVoiceConnector' {..} =+    _salt+      `Prelude.hashWithSalt` voiceConnectorId+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` requireEncryption++instance Prelude.NFData UpdateVoiceConnector where+  rnf UpdateVoiceConnector' {..} =+    Prelude.rnf voiceConnectorId+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf requireEncryption++instance Data.ToHeaders UpdateVoiceConnector where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON UpdateVoiceConnector where+  toJSON UpdateVoiceConnector' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Name" Data..= name),+            Prelude.Just+              ("RequireEncryption" Data..= requireEncryption)+          ]+      )++instance Data.ToPath UpdateVoiceConnector where+  toPath UpdateVoiceConnector' {..} =+    Prelude.mconcat+      ["/voice-connectors/", Data.toBS voiceConnectorId]++instance Data.ToQuery UpdateVoiceConnector where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateVoiceConnectorResponse' smart constructor.+data UpdateVoiceConnectorResponse = UpdateVoiceConnectorResponse'+  { -- | The updated Amazon Chime Voice Connector details.+    voiceConnector :: Prelude.Maybe VoiceConnector,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateVoiceConnectorResponse' 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:+--+-- 'voiceConnector', 'updateVoiceConnectorResponse_voiceConnector' - The updated Amazon Chime Voice Connector details.+--+-- 'httpStatus', 'updateVoiceConnectorResponse_httpStatus' - The response's http status code.+newUpdateVoiceConnectorResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateVoiceConnectorResponse+newUpdateVoiceConnectorResponse pHttpStatus_ =+  UpdateVoiceConnectorResponse'+    { voiceConnector =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The updated Amazon Chime Voice Connector details.+updateVoiceConnectorResponse_voiceConnector :: Lens.Lens' UpdateVoiceConnectorResponse (Prelude.Maybe VoiceConnector)+updateVoiceConnectorResponse_voiceConnector = Lens.lens (\UpdateVoiceConnectorResponse' {voiceConnector} -> voiceConnector) (\s@UpdateVoiceConnectorResponse' {} a -> s {voiceConnector = a} :: UpdateVoiceConnectorResponse)++-- | The response's http status code.+updateVoiceConnectorResponse_httpStatus :: Lens.Lens' UpdateVoiceConnectorResponse Prelude.Int+updateVoiceConnectorResponse_httpStatus = Lens.lens (\UpdateVoiceConnectorResponse' {httpStatus} -> httpStatus) (\s@UpdateVoiceConnectorResponse' {} a -> s {httpStatus = a} :: UpdateVoiceConnectorResponse)++instance Prelude.NFData UpdateVoiceConnectorResponse where+  rnf UpdateVoiceConnectorResponse' {..} =+    Prelude.rnf voiceConnector+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/UpdateVoiceConnectorGroup.hs view
@@ -0,0 +1,200 @@+{-# 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.Chime.UpdateVoiceConnectorGroup+-- 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 details of the specified Amazon Chime Voice Connector group,+-- such as the name and Amazon Chime Voice Connector priority ranking.+module Amazonka.Chime.UpdateVoiceConnectorGroup+  ( -- * Creating a Request+    UpdateVoiceConnectorGroup (..),+    newUpdateVoiceConnectorGroup,++    -- * Request Lenses+    updateVoiceConnectorGroup_voiceConnectorGroupId,+    updateVoiceConnectorGroup_name,+    updateVoiceConnectorGroup_voiceConnectorItems,++    -- * Destructuring the Response+    UpdateVoiceConnectorGroupResponse (..),+    newUpdateVoiceConnectorGroupResponse,++    -- * Response Lenses+    updateVoiceConnectorGroupResponse_voiceConnectorGroup,+    updateVoiceConnectorGroupResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newUpdateVoiceConnectorGroup' smart constructor.+data UpdateVoiceConnectorGroup = UpdateVoiceConnectorGroup'+  { -- | The Amazon Chime Voice Connector group ID.+    voiceConnectorGroupId :: Prelude.Text,+    -- | The name of the Amazon Chime Voice Connector group.+    name :: Prelude.Text,+    -- | The @VoiceConnectorItems@ to associate with the group.+    voiceConnectorItems :: [VoiceConnectorItem]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateVoiceConnectorGroup' 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:+--+-- 'voiceConnectorGroupId', 'updateVoiceConnectorGroup_voiceConnectorGroupId' - The Amazon Chime Voice Connector group ID.+--+-- 'name', 'updateVoiceConnectorGroup_name' - The name of the Amazon Chime Voice Connector group.+--+-- 'voiceConnectorItems', 'updateVoiceConnectorGroup_voiceConnectorItems' - The @VoiceConnectorItems@ to associate with the group.+newUpdateVoiceConnectorGroup ::+  -- | 'voiceConnectorGroupId'+  Prelude.Text ->+  -- | 'name'+  Prelude.Text ->+  UpdateVoiceConnectorGroup+newUpdateVoiceConnectorGroup+  pVoiceConnectorGroupId_+  pName_ =+    UpdateVoiceConnectorGroup'+      { voiceConnectorGroupId =+          pVoiceConnectorGroupId_,+        name = pName_,+        voiceConnectorItems = Prelude.mempty+      }++-- | The Amazon Chime Voice Connector group ID.+updateVoiceConnectorGroup_voiceConnectorGroupId :: Lens.Lens' UpdateVoiceConnectorGroup Prelude.Text+updateVoiceConnectorGroup_voiceConnectorGroupId = Lens.lens (\UpdateVoiceConnectorGroup' {voiceConnectorGroupId} -> voiceConnectorGroupId) (\s@UpdateVoiceConnectorGroup' {} a -> s {voiceConnectorGroupId = a} :: UpdateVoiceConnectorGroup)++-- | The name of the Amazon Chime Voice Connector group.+updateVoiceConnectorGroup_name :: Lens.Lens' UpdateVoiceConnectorGroup Prelude.Text+updateVoiceConnectorGroup_name = Lens.lens (\UpdateVoiceConnectorGroup' {name} -> name) (\s@UpdateVoiceConnectorGroup' {} a -> s {name = a} :: UpdateVoiceConnectorGroup)++-- | The @VoiceConnectorItems@ to associate with the group.+updateVoiceConnectorGroup_voiceConnectorItems :: Lens.Lens' UpdateVoiceConnectorGroup [VoiceConnectorItem]+updateVoiceConnectorGroup_voiceConnectorItems = Lens.lens (\UpdateVoiceConnectorGroup' {voiceConnectorItems} -> voiceConnectorItems) (\s@UpdateVoiceConnectorGroup' {} a -> s {voiceConnectorItems = a} :: UpdateVoiceConnectorGroup) Prelude.. Lens.coerced++instance Core.AWSRequest UpdateVoiceConnectorGroup where+  type+    AWSResponse UpdateVoiceConnectorGroup =+      UpdateVoiceConnectorGroupResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateVoiceConnectorGroupResponse'+            Prelude.<$> (x Data..?> "VoiceConnectorGroup")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateVoiceConnectorGroup where+  hashWithSalt _salt UpdateVoiceConnectorGroup' {..} =+    _salt+      `Prelude.hashWithSalt` voiceConnectorGroupId+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` voiceConnectorItems++instance Prelude.NFData UpdateVoiceConnectorGroup where+  rnf UpdateVoiceConnectorGroup' {..} =+    Prelude.rnf voiceConnectorGroupId+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf voiceConnectorItems++instance Data.ToHeaders UpdateVoiceConnectorGroup where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON UpdateVoiceConnectorGroup where+  toJSON UpdateVoiceConnectorGroup' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Name" Data..= name),+            Prelude.Just+              ("VoiceConnectorItems" Data..= voiceConnectorItems)+          ]+      )++instance Data.ToPath UpdateVoiceConnectorGroup where+  toPath UpdateVoiceConnectorGroup' {..} =+    Prelude.mconcat+      [ "/voice-connector-groups/",+        Data.toBS voiceConnectorGroupId+      ]++instance Data.ToQuery UpdateVoiceConnectorGroup where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateVoiceConnectorGroupResponse' smart constructor.+data UpdateVoiceConnectorGroupResponse = UpdateVoiceConnectorGroupResponse'+  { -- | The updated Amazon Chime Voice Connector group details.+    voiceConnectorGroup :: Prelude.Maybe VoiceConnectorGroup,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateVoiceConnectorGroupResponse' 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:+--+-- 'voiceConnectorGroup', 'updateVoiceConnectorGroupResponse_voiceConnectorGroup' - The updated Amazon Chime Voice Connector group details.+--+-- 'httpStatus', 'updateVoiceConnectorGroupResponse_httpStatus' - The response's http status code.+newUpdateVoiceConnectorGroupResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateVoiceConnectorGroupResponse+newUpdateVoiceConnectorGroupResponse pHttpStatus_ =+  UpdateVoiceConnectorGroupResponse'+    { voiceConnectorGroup =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The updated Amazon Chime Voice Connector group details.+updateVoiceConnectorGroupResponse_voiceConnectorGroup :: Lens.Lens' UpdateVoiceConnectorGroupResponse (Prelude.Maybe VoiceConnectorGroup)+updateVoiceConnectorGroupResponse_voiceConnectorGroup = Lens.lens (\UpdateVoiceConnectorGroupResponse' {voiceConnectorGroup} -> voiceConnectorGroup) (\s@UpdateVoiceConnectorGroupResponse' {} a -> s {voiceConnectorGroup = a} :: UpdateVoiceConnectorGroupResponse)++-- | The response's http status code.+updateVoiceConnectorGroupResponse_httpStatus :: Lens.Lens' UpdateVoiceConnectorGroupResponse Prelude.Int+updateVoiceConnectorGroupResponse_httpStatus = Lens.lens (\UpdateVoiceConnectorGroupResponse' {httpStatus} -> httpStatus) (\s@UpdateVoiceConnectorGroupResponse' {} a -> s {httpStatus = a} :: UpdateVoiceConnectorGroupResponse)++instance+  Prelude.NFData+    UpdateVoiceConnectorGroupResponse+  where+  rnf UpdateVoiceConnectorGroupResponse' {..} =+    Prelude.rnf voiceConnectorGroup+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/ValidateE911Address.hs view
@@ -0,0 +1,310 @@+{-# 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.Chime.ValidateE911Address+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Validates an address to be used for 911 calls made with Amazon Chime+-- Voice Connectors. You can use validated addresses in a Presence+-- Information Data Format Location Object file that you include in SIP+-- requests. That helps ensure that addresses are routed to the appropriate+-- Public Safety Answering Point.+module Amazonka.Chime.ValidateE911Address+  ( -- * Creating a Request+    ValidateE911Address (..),+    newValidateE911Address,++    -- * Request Lenses+    validateE911Address_awsAccountId,+    validateE911Address_streetNumber,+    validateE911Address_streetInfo,+    validateE911Address_city,+    validateE911Address_state,+    validateE911Address_country,+    validateE911Address_postalCode,++    -- * Destructuring the Response+    ValidateE911AddressResponse (..),+    newValidateE911AddressResponse,++    -- * Response Lenses+    validateE911AddressResponse_address,+    validateE911AddressResponse_addressExternalId,+    validateE911AddressResponse_candidateAddressList,+    validateE911AddressResponse_validationResult,+    validateE911AddressResponse_httpStatus,+  )+where++import Amazonka.Chime.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:/ 'newValidateE911Address' smart constructor.+data ValidateE911Address = ValidateE911Address'+  { -- | The AWS account ID.+    awsAccountId :: Prelude.Text,+    -- | The address street number, such as @200@ or @2121@.+    streetNumber :: Data.Sensitive Prelude.Text,+    -- | The address street information, such as @8th Avenue@.+    streetInfo :: Data.Sensitive Prelude.Text,+    -- | The address city, such as @Portland@.+    city :: Data.Sensitive Prelude.Text,+    -- | The address state, such as @ME@.+    state :: Data.Sensitive Prelude.Text,+    -- | The address country, such as @US@.+    country :: Data.Sensitive Prelude.Text,+    -- | The address postal code, such as @04352@.+    postalCode :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ValidateE911Address' 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:+--+-- 'awsAccountId', 'validateE911Address_awsAccountId' - The AWS account ID.+--+-- 'streetNumber', 'validateE911Address_streetNumber' - The address street number, such as @200@ or @2121@.+--+-- 'streetInfo', 'validateE911Address_streetInfo' - The address street information, such as @8th Avenue@.+--+-- 'city', 'validateE911Address_city' - The address city, such as @Portland@.+--+-- 'state', 'validateE911Address_state' - The address state, such as @ME@.+--+-- 'country', 'validateE911Address_country' - The address country, such as @US@.+--+-- 'postalCode', 'validateE911Address_postalCode' - The address postal code, such as @04352@.+newValidateE911Address ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'streetNumber'+  Prelude.Text ->+  -- | 'streetInfo'+  Prelude.Text ->+  -- | 'city'+  Prelude.Text ->+  -- | 'state'+  Prelude.Text ->+  -- | 'country'+  Prelude.Text ->+  -- | 'postalCode'+  Prelude.Text ->+  ValidateE911Address+newValidateE911Address+  pAwsAccountId_+  pStreetNumber_+  pStreetInfo_+  pCity_+  pState_+  pCountry_+  pPostalCode_ =+    ValidateE911Address'+      { awsAccountId = pAwsAccountId_,+        streetNumber = Data._Sensitive Lens.# pStreetNumber_,+        streetInfo = Data._Sensitive Lens.# pStreetInfo_,+        city = Data._Sensitive Lens.# pCity_,+        state = Data._Sensitive Lens.# pState_,+        country = Data._Sensitive Lens.# pCountry_,+        postalCode = Data._Sensitive Lens.# pPostalCode_+      }++-- | The AWS account ID.+validateE911Address_awsAccountId :: Lens.Lens' ValidateE911Address Prelude.Text+validateE911Address_awsAccountId = Lens.lens (\ValidateE911Address' {awsAccountId} -> awsAccountId) (\s@ValidateE911Address' {} a -> s {awsAccountId = a} :: ValidateE911Address)++-- | The address street number, such as @200@ or @2121@.+validateE911Address_streetNumber :: Lens.Lens' ValidateE911Address Prelude.Text+validateE911Address_streetNumber = Lens.lens (\ValidateE911Address' {streetNumber} -> streetNumber) (\s@ValidateE911Address' {} a -> s {streetNumber = a} :: ValidateE911Address) Prelude.. Data._Sensitive++-- | The address street information, such as @8th Avenue@.+validateE911Address_streetInfo :: Lens.Lens' ValidateE911Address Prelude.Text+validateE911Address_streetInfo = Lens.lens (\ValidateE911Address' {streetInfo} -> streetInfo) (\s@ValidateE911Address' {} a -> s {streetInfo = a} :: ValidateE911Address) Prelude.. Data._Sensitive++-- | The address city, such as @Portland@.+validateE911Address_city :: Lens.Lens' ValidateE911Address Prelude.Text+validateE911Address_city = Lens.lens (\ValidateE911Address' {city} -> city) (\s@ValidateE911Address' {} a -> s {city = a} :: ValidateE911Address) Prelude.. Data._Sensitive++-- | The address state, such as @ME@.+validateE911Address_state :: Lens.Lens' ValidateE911Address Prelude.Text+validateE911Address_state = Lens.lens (\ValidateE911Address' {state} -> state) (\s@ValidateE911Address' {} a -> s {state = a} :: ValidateE911Address) Prelude.. Data._Sensitive++-- | The address country, such as @US@.+validateE911Address_country :: Lens.Lens' ValidateE911Address Prelude.Text+validateE911Address_country = Lens.lens (\ValidateE911Address' {country} -> country) (\s@ValidateE911Address' {} a -> s {country = a} :: ValidateE911Address) Prelude.. Data._Sensitive++-- | The address postal code, such as @04352@.+validateE911Address_postalCode :: Lens.Lens' ValidateE911Address Prelude.Text+validateE911Address_postalCode = Lens.lens (\ValidateE911Address' {postalCode} -> postalCode) (\s@ValidateE911Address' {} a -> s {postalCode = a} :: ValidateE911Address) Prelude.. Data._Sensitive++instance Core.AWSRequest ValidateE911Address where+  type+    AWSResponse ValidateE911Address =+      ValidateE911AddressResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ValidateE911AddressResponse'+            Prelude.<$> (x Data..?> "Address")+            Prelude.<*> (x Data..?> "AddressExternalId")+            Prelude.<*> ( x+                            Data..?> "CandidateAddressList"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "ValidationResult")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ValidateE911Address where+  hashWithSalt _salt ValidateE911Address' {..} =+    _salt+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` streetNumber+      `Prelude.hashWithSalt` streetInfo+      `Prelude.hashWithSalt` city+      `Prelude.hashWithSalt` state+      `Prelude.hashWithSalt` country+      `Prelude.hashWithSalt` postalCode++instance Prelude.NFData ValidateE911Address where+  rnf ValidateE911Address' {..} =+    Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf streetNumber+      `Prelude.seq` Prelude.rnf streetInfo+      `Prelude.seq` Prelude.rnf city+      `Prelude.seq` Prelude.rnf state+      `Prelude.seq` Prelude.rnf country+      `Prelude.seq` Prelude.rnf postalCode++instance Data.ToHeaders ValidateE911Address where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON ValidateE911Address where+  toJSON ValidateE911Address' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("AwsAccountId" Data..= awsAccountId),+            Prelude.Just ("StreetNumber" Data..= streetNumber),+            Prelude.Just ("StreetInfo" Data..= streetInfo),+            Prelude.Just ("City" Data..= city),+            Prelude.Just ("State" Data..= state),+            Prelude.Just ("Country" Data..= country),+            Prelude.Just ("PostalCode" Data..= postalCode)+          ]+      )++instance Data.ToPath ValidateE911Address where+  toPath = Prelude.const "/emergency-calling/address"++instance Data.ToQuery ValidateE911Address where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newValidateE911AddressResponse' smart constructor.+data ValidateE911AddressResponse = ValidateE911AddressResponse'+  { -- | The validated address.+    address :: Prelude.Maybe Address,+    -- | The ID that represents the address.+    addressExternalId :: Prelude.Maybe Prelude.Text,+    -- | The list of address suggestions.+    candidateAddressList :: Prelude.Maybe [CandidateAddress],+    -- | Number indicating the result of address validation. @0@ means the+    -- address was perfect as is and successfully validated. @1@ means the+    -- address was corrected. @2@ means the address sent was not close enough+    -- and was not validated.+    validationResult :: Prelude.Maybe Prelude.Natural,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ValidateE911AddressResponse' 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:+--+-- 'address', 'validateE911AddressResponse_address' - The validated address.+--+-- 'addressExternalId', 'validateE911AddressResponse_addressExternalId' - The ID that represents the address.+--+-- 'candidateAddressList', 'validateE911AddressResponse_candidateAddressList' - The list of address suggestions.+--+-- 'validationResult', 'validateE911AddressResponse_validationResult' - Number indicating the result of address validation. @0@ means the+-- address was perfect as is and successfully validated. @1@ means the+-- address was corrected. @2@ means the address sent was not close enough+-- and was not validated.+--+-- 'httpStatus', 'validateE911AddressResponse_httpStatus' - The response's http status code.+newValidateE911AddressResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ValidateE911AddressResponse+newValidateE911AddressResponse pHttpStatus_ =+  ValidateE911AddressResponse'+    { address =+        Prelude.Nothing,+      addressExternalId = Prelude.Nothing,+      candidateAddressList = Prelude.Nothing,+      validationResult = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The validated address.+validateE911AddressResponse_address :: Lens.Lens' ValidateE911AddressResponse (Prelude.Maybe Address)+validateE911AddressResponse_address = Lens.lens (\ValidateE911AddressResponse' {address} -> address) (\s@ValidateE911AddressResponse' {} a -> s {address = a} :: ValidateE911AddressResponse)++-- | The ID that represents the address.+validateE911AddressResponse_addressExternalId :: Lens.Lens' ValidateE911AddressResponse (Prelude.Maybe Prelude.Text)+validateE911AddressResponse_addressExternalId = Lens.lens (\ValidateE911AddressResponse' {addressExternalId} -> addressExternalId) (\s@ValidateE911AddressResponse' {} a -> s {addressExternalId = a} :: ValidateE911AddressResponse)++-- | The list of address suggestions.+validateE911AddressResponse_candidateAddressList :: Lens.Lens' ValidateE911AddressResponse (Prelude.Maybe [CandidateAddress])+validateE911AddressResponse_candidateAddressList = Lens.lens (\ValidateE911AddressResponse' {candidateAddressList} -> candidateAddressList) (\s@ValidateE911AddressResponse' {} a -> s {candidateAddressList = a} :: ValidateE911AddressResponse) Prelude.. Lens.mapping Lens.coerced++-- | Number indicating the result of address validation. @0@ means the+-- address was perfect as is and successfully validated. @1@ means the+-- address was corrected. @2@ means the address sent was not close enough+-- and was not validated.+validateE911AddressResponse_validationResult :: Lens.Lens' ValidateE911AddressResponse (Prelude.Maybe Prelude.Natural)+validateE911AddressResponse_validationResult = Lens.lens (\ValidateE911AddressResponse' {validationResult} -> validationResult) (\s@ValidateE911AddressResponse' {} a -> s {validationResult = a} :: ValidateE911AddressResponse)++-- | The response's http status code.+validateE911AddressResponse_httpStatus :: Lens.Lens' ValidateE911AddressResponse Prelude.Int+validateE911AddressResponse_httpStatus = Lens.lens (\ValidateE911AddressResponse' {httpStatus} -> httpStatus) (\s@ValidateE911AddressResponse' {} a -> s {httpStatus = a} :: ValidateE911AddressResponse)++instance Prelude.NFData ValidateE911AddressResponse where+  rnf ValidateE911AddressResponse' {..} =+    Prelude.rnf address+      `Prelude.seq` Prelude.rnf addressExternalId+      `Prelude.seq` Prelude.rnf candidateAddressList+      `Prelude.seq` Prelude.rnf validationResult+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Chime/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.Chime.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.Chime.Waiters where++import Amazonka.Chime.Lens+import Amazonka.Chime.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.Chime+import Test.Amazonka.Chime.Internal+import Test.Tasty++main :: IO ()+main =+  defaultMain $+    testGroup+      "Chime"+      [ testGroup "tests" tests,+        testGroup "fixtures" fixtures+      ]
+ test/Test/Amazonka/Chime.hs view
@@ -0,0 +1,20 @@+-- |+-- Module      : Test.Amazonka.Chime+-- 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.Chime+  ( tests,+    fixtures,+  )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/Chime/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module      : Test.Amazonka.Chime.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.Chime.Internal where
+ test/Test/Amazonka/Gen/Chime.hs view
@@ -0,0 +1,3858 @@+{-# 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.Chime+-- 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.Chime where++import Amazonka.Chime+import qualified Data.Proxy as Proxy+import Test.Amazonka.Chime.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"+--         [ requestAssociatePhoneNumberWithUser $+--             newAssociatePhoneNumberWithUser+--+--         , requestAssociatePhoneNumbersWithVoiceConnector $+--             newAssociatePhoneNumbersWithVoiceConnector+--+--         , requestAssociatePhoneNumbersWithVoiceConnectorGroup $+--             newAssociatePhoneNumbersWithVoiceConnectorGroup+--+--         , requestAssociateSigninDelegateGroupsWithAccount $+--             newAssociateSigninDelegateGroupsWithAccount+--+--         , requestBatchCreateAttendee $+--             newBatchCreateAttendee+--+--         , requestBatchCreateChannelMembership $+--             newBatchCreateChannelMembership+--+--         , requestBatchCreateRoomMembership $+--             newBatchCreateRoomMembership+--+--         , requestBatchDeletePhoneNumber $+--             newBatchDeletePhoneNumber+--+--         , requestBatchSuspendUser $+--             newBatchSuspendUser+--+--         , requestBatchUnsuspendUser $+--             newBatchUnsuspendUser+--+--         , requestBatchUpdatePhoneNumber $+--             newBatchUpdatePhoneNumber+--+--         , requestBatchUpdateUser $+--             newBatchUpdateUser+--+--         , requestCreateAccount $+--             newCreateAccount+--+--         , requestCreateAppInstance $+--             newCreateAppInstance+--+--         , requestCreateAppInstanceAdmin $+--             newCreateAppInstanceAdmin+--+--         , requestCreateAppInstanceUser $+--             newCreateAppInstanceUser+--+--         , requestCreateAttendee $+--             newCreateAttendee+--+--         , requestCreateBot $+--             newCreateBot+--+--         , requestCreateChannel $+--             newCreateChannel+--+--         , requestCreateChannelBan $+--             newCreateChannelBan+--+--         , requestCreateChannelMembership $+--             newCreateChannelMembership+--+--         , requestCreateChannelModerator $+--             newCreateChannelModerator+--+--         , requestCreateMediaCapturePipeline $+--             newCreateMediaCapturePipeline+--+--         , requestCreateMeeting $+--             newCreateMeeting+--+--         , requestCreateMeetingDialOut $+--             newCreateMeetingDialOut+--+--         , requestCreateMeetingWithAttendees $+--             newCreateMeetingWithAttendees+--+--         , requestCreatePhoneNumberOrder $+--             newCreatePhoneNumberOrder+--+--         , requestCreateProxySession $+--             newCreateProxySession+--+--         , requestCreateRoom $+--             newCreateRoom+--+--         , requestCreateRoomMembership $+--             newCreateRoomMembership+--+--         , requestCreateSipMediaApplication $+--             newCreateSipMediaApplication+--+--         , requestCreateSipMediaApplicationCall $+--             newCreateSipMediaApplicationCall+--+--         , requestCreateSipRule $+--             newCreateSipRule+--+--         , requestCreateUser $+--             newCreateUser+--+--         , requestCreateVoiceConnector $+--             newCreateVoiceConnector+--+--         , requestCreateVoiceConnectorGroup $+--             newCreateVoiceConnectorGroup+--+--         , requestDeleteAccount $+--             newDeleteAccount+--+--         , requestDeleteAppInstance $+--             newDeleteAppInstance+--+--         , requestDeleteAppInstanceAdmin $+--             newDeleteAppInstanceAdmin+--+--         , requestDeleteAppInstanceStreamingConfigurations $+--             newDeleteAppInstanceStreamingConfigurations+--+--         , requestDeleteAppInstanceUser $+--             newDeleteAppInstanceUser+--+--         , requestDeleteAttendee $+--             newDeleteAttendee+--+--         , requestDeleteChannel $+--             newDeleteChannel+--+--         , requestDeleteChannelBan $+--             newDeleteChannelBan+--+--         , requestDeleteChannelMembership $+--             newDeleteChannelMembership+--+--         , requestDeleteChannelMessage $+--             newDeleteChannelMessage+--+--         , requestDeleteChannelModerator $+--             newDeleteChannelModerator+--+--         , requestDeleteEventsConfiguration $+--             newDeleteEventsConfiguration+--+--         , requestDeleteMediaCapturePipeline $+--             newDeleteMediaCapturePipeline+--+--         , requestDeleteMeeting $+--             newDeleteMeeting+--+--         , requestDeletePhoneNumber $+--             newDeletePhoneNumber+--+--         , requestDeleteProxySession $+--             newDeleteProxySession+--+--         , requestDeleteRoom $+--             newDeleteRoom+--+--         , requestDeleteRoomMembership $+--             newDeleteRoomMembership+--+--         , requestDeleteSipMediaApplication $+--             newDeleteSipMediaApplication+--+--         , requestDeleteSipRule $+--             newDeleteSipRule+--+--         , requestDeleteVoiceConnector $+--             newDeleteVoiceConnector+--+--         , requestDeleteVoiceConnectorEmergencyCallingConfiguration $+--             newDeleteVoiceConnectorEmergencyCallingConfiguration+--+--         , requestDeleteVoiceConnectorGroup $+--             newDeleteVoiceConnectorGroup+--+--         , requestDeleteVoiceConnectorOrigination $+--             newDeleteVoiceConnectorOrigination+--+--         , requestDeleteVoiceConnectorProxy $+--             newDeleteVoiceConnectorProxy+--+--         , requestDeleteVoiceConnectorStreamingConfiguration $+--             newDeleteVoiceConnectorStreamingConfiguration+--+--         , requestDeleteVoiceConnectorTermination $+--             newDeleteVoiceConnectorTermination+--+--         , requestDeleteVoiceConnectorTerminationCredentials $+--             newDeleteVoiceConnectorTerminationCredentials+--+--         , requestDescribeAppInstance $+--             newDescribeAppInstance+--+--         , requestDescribeAppInstanceAdmin $+--             newDescribeAppInstanceAdmin+--+--         , requestDescribeAppInstanceUser $+--             newDescribeAppInstanceUser+--+--         , requestDescribeChannel $+--             newDescribeChannel+--+--         , requestDescribeChannelBan $+--             newDescribeChannelBan+--+--         , requestDescribeChannelMembership $+--             newDescribeChannelMembership+--+--         , requestDescribeChannelMembershipForAppInstanceUser $+--             newDescribeChannelMembershipForAppInstanceUser+--+--         , requestDescribeChannelModeratedByAppInstanceUser $+--             newDescribeChannelModeratedByAppInstanceUser+--+--         , requestDescribeChannelModerator $+--             newDescribeChannelModerator+--+--         , requestDisassociatePhoneNumberFromUser $+--             newDisassociatePhoneNumberFromUser+--+--         , requestDisassociatePhoneNumbersFromVoiceConnector $+--             newDisassociatePhoneNumbersFromVoiceConnector+--+--         , requestDisassociatePhoneNumbersFromVoiceConnectorGroup $+--             newDisassociatePhoneNumbersFromVoiceConnectorGroup+--+--         , requestDisassociateSigninDelegateGroupsFromAccount $+--             newDisassociateSigninDelegateGroupsFromAccount+--+--         , requestGetAccount $+--             newGetAccount+--+--         , requestGetAccountSettings $+--             newGetAccountSettings+--+--         , requestGetAppInstanceRetentionSettings $+--             newGetAppInstanceRetentionSettings+--+--         , requestGetAppInstanceStreamingConfigurations $+--             newGetAppInstanceStreamingConfigurations+--+--         , requestGetAttendee $+--             newGetAttendee+--+--         , requestGetBot $+--             newGetBot+--+--         , requestGetChannelMessage $+--             newGetChannelMessage+--+--         , requestGetEventsConfiguration $+--             newGetEventsConfiguration+--+--         , requestGetGlobalSettings $+--             newGetGlobalSettings+--+--         , requestGetMediaCapturePipeline $+--             newGetMediaCapturePipeline+--+--         , requestGetMeeting $+--             newGetMeeting+--+--         , requestGetMessagingSessionEndpoint $+--             newGetMessagingSessionEndpoint+--+--         , requestGetPhoneNumber $+--             newGetPhoneNumber+--+--         , requestGetPhoneNumberOrder $+--             newGetPhoneNumberOrder+--+--         , requestGetPhoneNumberSettings $+--             newGetPhoneNumberSettings+--+--         , requestGetProxySession $+--             newGetProxySession+--+--         , requestGetRetentionSettings $+--             newGetRetentionSettings+--+--         , requestGetRoom $+--             newGetRoom+--+--         , requestGetSipMediaApplication $+--             newGetSipMediaApplication+--+--         , requestGetSipMediaApplicationLoggingConfiguration $+--             newGetSipMediaApplicationLoggingConfiguration+--+--         , requestGetSipRule $+--             newGetSipRule+--+--         , requestGetUser $+--             newGetUser+--+--         , requestGetUserSettings $+--             newGetUserSettings+--+--         , requestGetVoiceConnector $+--             newGetVoiceConnector+--+--         , requestGetVoiceConnectorEmergencyCallingConfiguration $+--             newGetVoiceConnectorEmergencyCallingConfiguration+--+--         , requestGetVoiceConnectorGroup $+--             newGetVoiceConnectorGroup+--+--         , requestGetVoiceConnectorLoggingConfiguration $+--             newGetVoiceConnectorLoggingConfiguration+--+--         , requestGetVoiceConnectorOrigination $+--             newGetVoiceConnectorOrigination+--+--         , requestGetVoiceConnectorProxy $+--             newGetVoiceConnectorProxy+--+--         , requestGetVoiceConnectorStreamingConfiguration $+--             newGetVoiceConnectorStreamingConfiguration+--+--         , requestGetVoiceConnectorTermination $+--             newGetVoiceConnectorTermination+--+--         , requestGetVoiceConnectorTerminationHealth $+--             newGetVoiceConnectorTerminationHealth+--+--         , requestInviteUsers $+--             newInviteUsers+--+--         , requestListAccounts $+--             newListAccounts+--+--         , requestListAppInstanceAdmins $+--             newListAppInstanceAdmins+--+--         , requestListAppInstanceUsers $+--             newListAppInstanceUsers+--+--         , requestListAppInstances $+--             newListAppInstances+--+--         , requestListAttendeeTags $+--             newListAttendeeTags+--+--         , requestListAttendees $+--             newListAttendees+--+--         , requestListBots $+--             newListBots+--+--         , requestListChannelBans $+--             newListChannelBans+--+--         , requestListChannelMemberships $+--             newListChannelMemberships+--+--         , requestListChannelMembershipsForAppInstanceUser $+--             newListChannelMembershipsForAppInstanceUser+--+--         , requestListChannelMessages $+--             newListChannelMessages+--+--         , requestListChannelModerators $+--             newListChannelModerators+--+--         , requestListChannels $+--             newListChannels+--+--         , requestListChannelsModeratedByAppInstanceUser $+--             newListChannelsModeratedByAppInstanceUser+--+--         , requestListMediaCapturePipelines $+--             newListMediaCapturePipelines+--+--         , requestListMeetingTags $+--             newListMeetingTags+--+--         , requestListMeetings $+--             newListMeetings+--+--         , requestListPhoneNumberOrders $+--             newListPhoneNumberOrders+--+--         , requestListPhoneNumbers $+--             newListPhoneNumbers+--+--         , requestListProxySessions $+--             newListProxySessions+--+--         , requestListRoomMemberships $+--             newListRoomMemberships+--+--         , requestListRooms $+--             newListRooms+--+--         , requestListSipMediaApplications $+--             newListSipMediaApplications+--+--         , requestListSipRules $+--             newListSipRules+--+--         , requestListSupportedPhoneNumberCountries $+--             newListSupportedPhoneNumberCountries+--+--         , requestListTagsForResource $+--             newListTagsForResource+--+--         , requestListUsers $+--             newListUsers+--+--         , requestListVoiceConnectorGroups $+--             newListVoiceConnectorGroups+--+--         , requestListVoiceConnectorTerminationCredentials $+--             newListVoiceConnectorTerminationCredentials+--+--         , requestListVoiceConnectors $+--             newListVoiceConnectors+--+--         , requestLogoutUser $+--             newLogoutUser+--+--         , requestPutAppInstanceRetentionSettings $+--             newPutAppInstanceRetentionSettings+--+--         , requestPutAppInstanceStreamingConfigurations $+--             newPutAppInstanceStreamingConfigurations+--+--         , requestPutEventsConfiguration $+--             newPutEventsConfiguration+--+--         , requestPutRetentionSettings $+--             newPutRetentionSettings+--+--         , requestPutSipMediaApplicationLoggingConfiguration $+--             newPutSipMediaApplicationLoggingConfiguration+--+--         , requestPutVoiceConnectorEmergencyCallingConfiguration $+--             newPutVoiceConnectorEmergencyCallingConfiguration+--+--         , requestPutVoiceConnectorLoggingConfiguration $+--             newPutVoiceConnectorLoggingConfiguration+--+--         , requestPutVoiceConnectorOrigination $+--             newPutVoiceConnectorOrigination+--+--         , requestPutVoiceConnectorProxy $+--             newPutVoiceConnectorProxy+--+--         , requestPutVoiceConnectorStreamingConfiguration $+--             newPutVoiceConnectorStreamingConfiguration+--+--         , requestPutVoiceConnectorTermination $+--             newPutVoiceConnectorTermination+--+--         , requestPutVoiceConnectorTerminationCredentials $+--             newPutVoiceConnectorTerminationCredentials+--+--         , requestRedactChannelMessage $+--             newRedactChannelMessage+--+--         , requestRedactConversationMessage $+--             newRedactConversationMessage+--+--         , requestRedactRoomMessage $+--             newRedactRoomMessage+--+--         , requestRegenerateSecurityToken $+--             newRegenerateSecurityToken+--+--         , requestResetPersonalPIN $+--             newResetPersonalPIN+--+--         , requestRestorePhoneNumber $+--             newRestorePhoneNumber+--+--         , requestSearchAvailablePhoneNumbers $+--             newSearchAvailablePhoneNumbers+--+--         , requestSendChannelMessage $+--             newSendChannelMessage+--+--         , requestStartMeetingTranscription $+--             newStartMeetingTranscription+--+--         , requestStopMeetingTranscription $+--             newStopMeetingTranscription+--+--         , requestTagAttendee $+--             newTagAttendee+--+--         , requestTagMeeting $+--             newTagMeeting+--+--         , requestTagResource $+--             newTagResource+--+--         , requestUntagAttendee $+--             newUntagAttendee+--+--         , requestUntagMeeting $+--             newUntagMeeting+--+--         , requestUntagResource $+--             newUntagResource+--+--         , requestUpdateAccount $+--             newUpdateAccount+--+--         , requestUpdateAccountSettings $+--             newUpdateAccountSettings+--+--         , requestUpdateAppInstance $+--             newUpdateAppInstance+--+--         , requestUpdateAppInstanceUser $+--             newUpdateAppInstanceUser+--+--         , requestUpdateBot $+--             newUpdateBot+--+--         , requestUpdateChannel $+--             newUpdateChannel+--+--         , requestUpdateChannelMessage $+--             newUpdateChannelMessage+--+--         , requestUpdateChannelReadMarker $+--             newUpdateChannelReadMarker+--+--         , requestUpdateGlobalSettings $+--             newUpdateGlobalSettings+--+--         , requestUpdatePhoneNumber $+--             newUpdatePhoneNumber+--+--         , requestUpdatePhoneNumberSettings $+--             newUpdatePhoneNumberSettings+--+--         , requestUpdateProxySession $+--             newUpdateProxySession+--+--         , requestUpdateRoom $+--             newUpdateRoom+--+--         , requestUpdateRoomMembership $+--             newUpdateRoomMembership+--+--         , requestUpdateSipMediaApplication $+--             newUpdateSipMediaApplication+--+--         , requestUpdateSipMediaApplicationCall $+--             newUpdateSipMediaApplicationCall+--+--         , requestUpdateSipRule $+--             newUpdateSipRule+--+--         , requestUpdateUser $+--             newUpdateUser+--+--         , requestUpdateUserSettings $+--             newUpdateUserSettings+--+--         , requestUpdateVoiceConnector $+--             newUpdateVoiceConnector+--+--         , requestUpdateVoiceConnectorGroup $+--             newUpdateVoiceConnectorGroup+--+--         , requestValidateE911Address $+--             newValidateE911Address+--+--           ]++--     , testGroup "response"+--         [ responseAssociatePhoneNumberWithUser $+--             newAssociatePhoneNumberWithUserResponse+--+--         , responseAssociatePhoneNumbersWithVoiceConnector $+--             newAssociatePhoneNumbersWithVoiceConnectorResponse+--+--         , responseAssociatePhoneNumbersWithVoiceConnectorGroup $+--             newAssociatePhoneNumbersWithVoiceConnectorGroupResponse+--+--         , responseAssociateSigninDelegateGroupsWithAccount $+--             newAssociateSigninDelegateGroupsWithAccountResponse+--+--         , responseBatchCreateAttendee $+--             newBatchCreateAttendeeResponse+--+--         , responseBatchCreateChannelMembership $+--             newBatchCreateChannelMembershipResponse+--+--         , responseBatchCreateRoomMembership $+--             newBatchCreateRoomMembershipResponse+--+--         , responseBatchDeletePhoneNumber $+--             newBatchDeletePhoneNumberResponse+--+--         , responseBatchSuspendUser $+--             newBatchSuspendUserResponse+--+--         , responseBatchUnsuspendUser $+--             newBatchUnsuspendUserResponse+--+--         , responseBatchUpdatePhoneNumber $+--             newBatchUpdatePhoneNumberResponse+--+--         , responseBatchUpdateUser $+--             newBatchUpdateUserResponse+--+--         , responseCreateAccount $+--             newCreateAccountResponse+--+--         , responseCreateAppInstance $+--             newCreateAppInstanceResponse+--+--         , responseCreateAppInstanceAdmin $+--             newCreateAppInstanceAdminResponse+--+--         , responseCreateAppInstanceUser $+--             newCreateAppInstanceUserResponse+--+--         , responseCreateAttendee $+--             newCreateAttendeeResponse+--+--         , responseCreateBot $+--             newCreateBotResponse+--+--         , responseCreateChannel $+--             newCreateChannelResponse+--+--         , responseCreateChannelBan $+--             newCreateChannelBanResponse+--+--         , responseCreateChannelMembership $+--             newCreateChannelMembershipResponse+--+--         , responseCreateChannelModerator $+--             newCreateChannelModeratorResponse+--+--         , responseCreateMediaCapturePipeline $+--             newCreateMediaCapturePipelineResponse+--+--         , responseCreateMeeting $+--             newCreateMeetingResponse+--+--         , responseCreateMeetingDialOut $+--             newCreateMeetingDialOutResponse+--+--         , responseCreateMeetingWithAttendees $+--             newCreateMeetingWithAttendeesResponse+--+--         , responseCreatePhoneNumberOrder $+--             newCreatePhoneNumberOrderResponse+--+--         , responseCreateProxySession $+--             newCreateProxySessionResponse+--+--         , responseCreateRoom $+--             newCreateRoomResponse+--+--         , responseCreateRoomMembership $+--             newCreateRoomMembershipResponse+--+--         , responseCreateSipMediaApplication $+--             newCreateSipMediaApplicationResponse+--+--         , responseCreateSipMediaApplicationCall $+--             newCreateSipMediaApplicationCallResponse+--+--         , responseCreateSipRule $+--             newCreateSipRuleResponse+--+--         , responseCreateUser $+--             newCreateUserResponse+--+--         , responseCreateVoiceConnector $+--             newCreateVoiceConnectorResponse+--+--         , responseCreateVoiceConnectorGroup $+--             newCreateVoiceConnectorGroupResponse+--+--         , responseDeleteAccount $+--             newDeleteAccountResponse+--+--         , responseDeleteAppInstance $+--             newDeleteAppInstanceResponse+--+--         , responseDeleteAppInstanceAdmin $+--             newDeleteAppInstanceAdminResponse+--+--         , responseDeleteAppInstanceStreamingConfigurations $+--             newDeleteAppInstanceStreamingConfigurationsResponse+--+--         , responseDeleteAppInstanceUser $+--             newDeleteAppInstanceUserResponse+--+--         , responseDeleteAttendee $+--             newDeleteAttendeeResponse+--+--         , responseDeleteChannel $+--             newDeleteChannelResponse+--+--         , responseDeleteChannelBan $+--             newDeleteChannelBanResponse+--+--         , responseDeleteChannelMembership $+--             newDeleteChannelMembershipResponse+--+--         , responseDeleteChannelMessage $+--             newDeleteChannelMessageResponse+--+--         , responseDeleteChannelModerator $+--             newDeleteChannelModeratorResponse+--+--         , responseDeleteEventsConfiguration $+--             newDeleteEventsConfigurationResponse+--+--         , responseDeleteMediaCapturePipeline $+--             newDeleteMediaCapturePipelineResponse+--+--         , responseDeleteMeeting $+--             newDeleteMeetingResponse+--+--         , responseDeletePhoneNumber $+--             newDeletePhoneNumberResponse+--+--         , responseDeleteProxySession $+--             newDeleteProxySessionResponse+--+--         , responseDeleteRoom $+--             newDeleteRoomResponse+--+--         , responseDeleteRoomMembership $+--             newDeleteRoomMembershipResponse+--+--         , responseDeleteSipMediaApplication $+--             newDeleteSipMediaApplicationResponse+--+--         , responseDeleteSipRule $+--             newDeleteSipRuleResponse+--+--         , responseDeleteVoiceConnector $+--             newDeleteVoiceConnectorResponse+--+--         , responseDeleteVoiceConnectorEmergencyCallingConfiguration $+--             newDeleteVoiceConnectorEmergencyCallingConfigurationResponse+--+--         , responseDeleteVoiceConnectorGroup $+--             newDeleteVoiceConnectorGroupResponse+--+--         , responseDeleteVoiceConnectorOrigination $+--             newDeleteVoiceConnectorOriginationResponse+--+--         , responseDeleteVoiceConnectorProxy $+--             newDeleteVoiceConnectorProxyResponse+--+--         , responseDeleteVoiceConnectorStreamingConfiguration $+--             newDeleteVoiceConnectorStreamingConfigurationResponse+--+--         , responseDeleteVoiceConnectorTermination $+--             newDeleteVoiceConnectorTerminationResponse+--+--         , responseDeleteVoiceConnectorTerminationCredentials $+--             newDeleteVoiceConnectorTerminationCredentialsResponse+--+--         , responseDescribeAppInstance $+--             newDescribeAppInstanceResponse+--+--         , responseDescribeAppInstanceAdmin $+--             newDescribeAppInstanceAdminResponse+--+--         , responseDescribeAppInstanceUser $+--             newDescribeAppInstanceUserResponse+--+--         , responseDescribeChannel $+--             newDescribeChannelResponse+--+--         , responseDescribeChannelBan $+--             newDescribeChannelBanResponse+--+--         , responseDescribeChannelMembership $+--             newDescribeChannelMembershipResponse+--+--         , responseDescribeChannelMembershipForAppInstanceUser $+--             newDescribeChannelMembershipForAppInstanceUserResponse+--+--         , responseDescribeChannelModeratedByAppInstanceUser $+--             newDescribeChannelModeratedByAppInstanceUserResponse+--+--         , responseDescribeChannelModerator $+--             newDescribeChannelModeratorResponse+--+--         , responseDisassociatePhoneNumberFromUser $+--             newDisassociatePhoneNumberFromUserResponse+--+--         , responseDisassociatePhoneNumbersFromVoiceConnector $+--             newDisassociatePhoneNumbersFromVoiceConnectorResponse+--+--         , responseDisassociatePhoneNumbersFromVoiceConnectorGroup $+--             newDisassociatePhoneNumbersFromVoiceConnectorGroupResponse+--+--         , responseDisassociateSigninDelegateGroupsFromAccount $+--             newDisassociateSigninDelegateGroupsFromAccountResponse+--+--         , responseGetAccount $+--             newGetAccountResponse+--+--         , responseGetAccountSettings $+--             newGetAccountSettingsResponse+--+--         , responseGetAppInstanceRetentionSettings $+--             newGetAppInstanceRetentionSettingsResponse+--+--         , responseGetAppInstanceStreamingConfigurations $+--             newGetAppInstanceStreamingConfigurationsResponse+--+--         , responseGetAttendee $+--             newGetAttendeeResponse+--+--         , responseGetBot $+--             newGetBotResponse+--+--         , responseGetChannelMessage $+--             newGetChannelMessageResponse+--+--         , responseGetEventsConfiguration $+--             newGetEventsConfigurationResponse+--+--         , responseGetGlobalSettings $+--             newGetGlobalSettingsResponse+--+--         , responseGetMediaCapturePipeline $+--             newGetMediaCapturePipelineResponse+--+--         , responseGetMeeting $+--             newGetMeetingResponse+--+--         , responseGetMessagingSessionEndpoint $+--             newGetMessagingSessionEndpointResponse+--+--         , responseGetPhoneNumber $+--             newGetPhoneNumberResponse+--+--         , responseGetPhoneNumberOrder $+--             newGetPhoneNumberOrderResponse+--+--         , responseGetPhoneNumberSettings $+--             newGetPhoneNumberSettingsResponse+--+--         , responseGetProxySession $+--             newGetProxySessionResponse+--+--         , responseGetRetentionSettings $+--             newGetRetentionSettingsResponse+--+--         , responseGetRoom $+--             newGetRoomResponse+--+--         , responseGetSipMediaApplication $+--             newGetSipMediaApplicationResponse+--+--         , responseGetSipMediaApplicationLoggingConfiguration $+--             newGetSipMediaApplicationLoggingConfigurationResponse+--+--         , responseGetSipRule $+--             newGetSipRuleResponse+--+--         , responseGetUser $+--             newGetUserResponse+--+--         , responseGetUserSettings $+--             newGetUserSettingsResponse+--+--         , responseGetVoiceConnector $+--             newGetVoiceConnectorResponse+--+--         , responseGetVoiceConnectorEmergencyCallingConfiguration $+--             newGetVoiceConnectorEmergencyCallingConfigurationResponse+--+--         , responseGetVoiceConnectorGroup $+--             newGetVoiceConnectorGroupResponse+--+--         , responseGetVoiceConnectorLoggingConfiguration $+--             newGetVoiceConnectorLoggingConfigurationResponse+--+--         , responseGetVoiceConnectorOrigination $+--             newGetVoiceConnectorOriginationResponse+--+--         , responseGetVoiceConnectorProxy $+--             newGetVoiceConnectorProxyResponse+--+--         , responseGetVoiceConnectorStreamingConfiguration $+--             newGetVoiceConnectorStreamingConfigurationResponse+--+--         , responseGetVoiceConnectorTermination $+--             newGetVoiceConnectorTerminationResponse+--+--         , responseGetVoiceConnectorTerminationHealth $+--             newGetVoiceConnectorTerminationHealthResponse+--+--         , responseInviteUsers $+--             newInviteUsersResponse+--+--         , responseListAccounts $+--             newListAccountsResponse+--+--         , responseListAppInstanceAdmins $+--             newListAppInstanceAdminsResponse+--+--         , responseListAppInstanceUsers $+--             newListAppInstanceUsersResponse+--+--         , responseListAppInstances $+--             newListAppInstancesResponse+--+--         , responseListAttendeeTags $+--             newListAttendeeTagsResponse+--+--         , responseListAttendees $+--             newListAttendeesResponse+--+--         , responseListBots $+--             newListBotsResponse+--+--         , responseListChannelBans $+--             newListChannelBansResponse+--+--         , responseListChannelMemberships $+--             newListChannelMembershipsResponse+--+--         , responseListChannelMembershipsForAppInstanceUser $+--             newListChannelMembershipsForAppInstanceUserResponse+--+--         , responseListChannelMessages $+--             newListChannelMessagesResponse+--+--         , responseListChannelModerators $+--             newListChannelModeratorsResponse+--+--         , responseListChannels $+--             newListChannelsResponse+--+--         , responseListChannelsModeratedByAppInstanceUser $+--             newListChannelsModeratedByAppInstanceUserResponse+--+--         , responseListMediaCapturePipelines $+--             newListMediaCapturePipelinesResponse+--+--         , responseListMeetingTags $+--             newListMeetingTagsResponse+--+--         , responseListMeetings $+--             newListMeetingsResponse+--+--         , responseListPhoneNumberOrders $+--             newListPhoneNumberOrdersResponse+--+--         , responseListPhoneNumbers $+--             newListPhoneNumbersResponse+--+--         , responseListProxySessions $+--             newListProxySessionsResponse+--+--         , responseListRoomMemberships $+--             newListRoomMembershipsResponse+--+--         , responseListRooms $+--             newListRoomsResponse+--+--         , responseListSipMediaApplications $+--             newListSipMediaApplicationsResponse+--+--         , responseListSipRules $+--             newListSipRulesResponse+--+--         , responseListSupportedPhoneNumberCountries $+--             newListSupportedPhoneNumberCountriesResponse+--+--         , responseListTagsForResource $+--             newListTagsForResourceResponse+--+--         , responseListUsers $+--             newListUsersResponse+--+--         , responseListVoiceConnectorGroups $+--             newListVoiceConnectorGroupsResponse+--+--         , responseListVoiceConnectorTerminationCredentials $+--             newListVoiceConnectorTerminationCredentialsResponse+--+--         , responseListVoiceConnectors $+--             newListVoiceConnectorsResponse+--+--         , responseLogoutUser $+--             newLogoutUserResponse+--+--         , responsePutAppInstanceRetentionSettings $+--             newPutAppInstanceRetentionSettingsResponse+--+--         , responsePutAppInstanceStreamingConfigurations $+--             newPutAppInstanceStreamingConfigurationsResponse+--+--         , responsePutEventsConfiguration $+--             newPutEventsConfigurationResponse+--+--         , responsePutRetentionSettings $+--             newPutRetentionSettingsResponse+--+--         , responsePutSipMediaApplicationLoggingConfiguration $+--             newPutSipMediaApplicationLoggingConfigurationResponse+--+--         , responsePutVoiceConnectorEmergencyCallingConfiguration $+--             newPutVoiceConnectorEmergencyCallingConfigurationResponse+--+--         , responsePutVoiceConnectorLoggingConfiguration $+--             newPutVoiceConnectorLoggingConfigurationResponse+--+--         , responsePutVoiceConnectorOrigination $+--             newPutVoiceConnectorOriginationResponse+--+--         , responsePutVoiceConnectorProxy $+--             newPutVoiceConnectorProxyResponse+--+--         , responsePutVoiceConnectorStreamingConfiguration $+--             newPutVoiceConnectorStreamingConfigurationResponse+--+--         , responsePutVoiceConnectorTermination $+--             newPutVoiceConnectorTerminationResponse+--+--         , responsePutVoiceConnectorTerminationCredentials $+--             newPutVoiceConnectorTerminationCredentialsResponse+--+--         , responseRedactChannelMessage $+--             newRedactChannelMessageResponse+--+--         , responseRedactConversationMessage $+--             newRedactConversationMessageResponse+--+--         , responseRedactRoomMessage $+--             newRedactRoomMessageResponse+--+--         , responseRegenerateSecurityToken $+--             newRegenerateSecurityTokenResponse+--+--         , responseResetPersonalPIN $+--             newResetPersonalPINResponse+--+--         , responseRestorePhoneNumber $+--             newRestorePhoneNumberResponse+--+--         , responseSearchAvailablePhoneNumbers $+--             newSearchAvailablePhoneNumbersResponse+--+--         , responseSendChannelMessage $+--             newSendChannelMessageResponse+--+--         , responseStartMeetingTranscription $+--             newStartMeetingTranscriptionResponse+--+--         , responseStopMeetingTranscription $+--             newStopMeetingTranscriptionResponse+--+--         , responseTagAttendee $+--             newTagAttendeeResponse+--+--         , responseTagMeeting $+--             newTagMeetingResponse+--+--         , responseTagResource $+--             newTagResourceResponse+--+--         , responseUntagAttendee $+--             newUntagAttendeeResponse+--+--         , responseUntagMeeting $+--             newUntagMeetingResponse+--+--         , responseUntagResource $+--             newUntagResourceResponse+--+--         , responseUpdateAccount $+--             newUpdateAccountResponse+--+--         , responseUpdateAccountSettings $+--             newUpdateAccountSettingsResponse+--+--         , responseUpdateAppInstance $+--             newUpdateAppInstanceResponse+--+--         , responseUpdateAppInstanceUser $+--             newUpdateAppInstanceUserResponse+--+--         , responseUpdateBot $+--             newUpdateBotResponse+--+--         , responseUpdateChannel $+--             newUpdateChannelResponse+--+--         , responseUpdateChannelMessage $+--             newUpdateChannelMessageResponse+--+--         , responseUpdateChannelReadMarker $+--             newUpdateChannelReadMarkerResponse+--+--         , responseUpdateGlobalSettings $+--             newUpdateGlobalSettingsResponse+--+--         , responseUpdatePhoneNumber $+--             newUpdatePhoneNumberResponse+--+--         , responseUpdatePhoneNumberSettings $+--             newUpdatePhoneNumberSettingsResponse+--+--         , responseUpdateProxySession $+--             newUpdateProxySessionResponse+--+--         , responseUpdateRoom $+--             newUpdateRoomResponse+--+--         , responseUpdateRoomMembership $+--             newUpdateRoomMembershipResponse+--+--         , responseUpdateSipMediaApplication $+--             newUpdateSipMediaApplicationResponse+--+--         , responseUpdateSipMediaApplicationCall $+--             newUpdateSipMediaApplicationCallResponse+--+--         , responseUpdateSipRule $+--             newUpdateSipRuleResponse+--+--         , responseUpdateUser $+--             newUpdateUserResponse+--+--         , responseUpdateUserSettings $+--             newUpdateUserSettingsResponse+--+--         , responseUpdateVoiceConnector $+--             newUpdateVoiceConnectorResponse+--+--         , responseUpdateVoiceConnectorGroup $+--             newUpdateVoiceConnectorGroupResponse+--+--         , responseValidateE911Address $+--             newValidateE911AddressResponse+--+--           ]+--     ]++-- Requests++requestAssociatePhoneNumberWithUser :: AssociatePhoneNumberWithUser -> TestTree+requestAssociatePhoneNumberWithUser =+  req+    "AssociatePhoneNumberWithUser"+    "fixture/AssociatePhoneNumberWithUser.yaml"++requestAssociatePhoneNumbersWithVoiceConnector :: AssociatePhoneNumbersWithVoiceConnector -> TestTree+requestAssociatePhoneNumbersWithVoiceConnector =+  req+    "AssociatePhoneNumbersWithVoiceConnector"+    "fixture/AssociatePhoneNumbersWithVoiceConnector.yaml"++requestAssociatePhoneNumbersWithVoiceConnectorGroup :: AssociatePhoneNumbersWithVoiceConnectorGroup -> TestTree+requestAssociatePhoneNumbersWithVoiceConnectorGroup =+  req+    "AssociatePhoneNumbersWithVoiceConnectorGroup"+    "fixture/AssociatePhoneNumbersWithVoiceConnectorGroup.yaml"++requestAssociateSigninDelegateGroupsWithAccount :: AssociateSigninDelegateGroupsWithAccount -> TestTree+requestAssociateSigninDelegateGroupsWithAccount =+  req+    "AssociateSigninDelegateGroupsWithAccount"+    "fixture/AssociateSigninDelegateGroupsWithAccount.yaml"++requestBatchCreateAttendee :: BatchCreateAttendee -> TestTree+requestBatchCreateAttendee =+  req+    "BatchCreateAttendee"+    "fixture/BatchCreateAttendee.yaml"++requestBatchCreateChannelMembership :: BatchCreateChannelMembership -> TestTree+requestBatchCreateChannelMembership =+  req+    "BatchCreateChannelMembership"+    "fixture/BatchCreateChannelMembership.yaml"++requestBatchCreateRoomMembership :: BatchCreateRoomMembership -> TestTree+requestBatchCreateRoomMembership =+  req+    "BatchCreateRoomMembership"+    "fixture/BatchCreateRoomMembership.yaml"++requestBatchDeletePhoneNumber :: BatchDeletePhoneNumber -> TestTree+requestBatchDeletePhoneNumber =+  req+    "BatchDeletePhoneNumber"+    "fixture/BatchDeletePhoneNumber.yaml"++requestBatchSuspendUser :: BatchSuspendUser -> TestTree+requestBatchSuspendUser =+  req+    "BatchSuspendUser"+    "fixture/BatchSuspendUser.yaml"++requestBatchUnsuspendUser :: BatchUnsuspendUser -> TestTree+requestBatchUnsuspendUser =+  req+    "BatchUnsuspendUser"+    "fixture/BatchUnsuspendUser.yaml"++requestBatchUpdatePhoneNumber :: BatchUpdatePhoneNumber -> TestTree+requestBatchUpdatePhoneNumber =+  req+    "BatchUpdatePhoneNumber"+    "fixture/BatchUpdatePhoneNumber.yaml"++requestBatchUpdateUser :: BatchUpdateUser -> TestTree+requestBatchUpdateUser =+  req+    "BatchUpdateUser"+    "fixture/BatchUpdateUser.yaml"++requestCreateAccount :: CreateAccount -> TestTree+requestCreateAccount =+  req+    "CreateAccount"+    "fixture/CreateAccount.yaml"++requestCreateAppInstance :: CreateAppInstance -> TestTree+requestCreateAppInstance =+  req+    "CreateAppInstance"+    "fixture/CreateAppInstance.yaml"++requestCreateAppInstanceAdmin :: CreateAppInstanceAdmin -> TestTree+requestCreateAppInstanceAdmin =+  req+    "CreateAppInstanceAdmin"+    "fixture/CreateAppInstanceAdmin.yaml"++requestCreateAppInstanceUser :: CreateAppInstanceUser -> TestTree+requestCreateAppInstanceUser =+  req+    "CreateAppInstanceUser"+    "fixture/CreateAppInstanceUser.yaml"++requestCreateAttendee :: CreateAttendee -> TestTree+requestCreateAttendee =+  req+    "CreateAttendee"+    "fixture/CreateAttendee.yaml"++requestCreateBot :: CreateBot -> TestTree+requestCreateBot =+  req+    "CreateBot"+    "fixture/CreateBot.yaml"++requestCreateChannel :: CreateChannel -> TestTree+requestCreateChannel =+  req+    "CreateChannel"+    "fixture/CreateChannel.yaml"++requestCreateChannelBan :: CreateChannelBan -> TestTree+requestCreateChannelBan =+  req+    "CreateChannelBan"+    "fixture/CreateChannelBan.yaml"++requestCreateChannelMembership :: CreateChannelMembership -> TestTree+requestCreateChannelMembership =+  req+    "CreateChannelMembership"+    "fixture/CreateChannelMembership.yaml"++requestCreateChannelModerator :: CreateChannelModerator -> TestTree+requestCreateChannelModerator =+  req+    "CreateChannelModerator"+    "fixture/CreateChannelModerator.yaml"++requestCreateMediaCapturePipeline :: CreateMediaCapturePipeline -> TestTree+requestCreateMediaCapturePipeline =+  req+    "CreateMediaCapturePipeline"+    "fixture/CreateMediaCapturePipeline.yaml"++requestCreateMeeting :: CreateMeeting -> TestTree+requestCreateMeeting =+  req+    "CreateMeeting"+    "fixture/CreateMeeting.yaml"++requestCreateMeetingDialOut :: CreateMeetingDialOut -> TestTree+requestCreateMeetingDialOut =+  req+    "CreateMeetingDialOut"+    "fixture/CreateMeetingDialOut.yaml"++requestCreateMeetingWithAttendees :: CreateMeetingWithAttendees -> TestTree+requestCreateMeetingWithAttendees =+  req+    "CreateMeetingWithAttendees"+    "fixture/CreateMeetingWithAttendees.yaml"++requestCreatePhoneNumberOrder :: CreatePhoneNumberOrder -> TestTree+requestCreatePhoneNumberOrder =+  req+    "CreatePhoneNumberOrder"+    "fixture/CreatePhoneNumberOrder.yaml"++requestCreateProxySession :: CreateProxySession -> TestTree+requestCreateProxySession =+  req+    "CreateProxySession"+    "fixture/CreateProxySession.yaml"++requestCreateRoom :: CreateRoom -> TestTree+requestCreateRoom =+  req+    "CreateRoom"+    "fixture/CreateRoom.yaml"++requestCreateRoomMembership :: CreateRoomMembership -> TestTree+requestCreateRoomMembership =+  req+    "CreateRoomMembership"+    "fixture/CreateRoomMembership.yaml"++requestCreateSipMediaApplication :: CreateSipMediaApplication -> TestTree+requestCreateSipMediaApplication =+  req+    "CreateSipMediaApplication"+    "fixture/CreateSipMediaApplication.yaml"++requestCreateSipMediaApplicationCall :: CreateSipMediaApplicationCall -> TestTree+requestCreateSipMediaApplicationCall =+  req+    "CreateSipMediaApplicationCall"+    "fixture/CreateSipMediaApplicationCall.yaml"++requestCreateSipRule :: CreateSipRule -> TestTree+requestCreateSipRule =+  req+    "CreateSipRule"+    "fixture/CreateSipRule.yaml"++requestCreateUser :: CreateUser -> TestTree+requestCreateUser =+  req+    "CreateUser"+    "fixture/CreateUser.yaml"++requestCreateVoiceConnector :: CreateVoiceConnector -> TestTree+requestCreateVoiceConnector =+  req+    "CreateVoiceConnector"+    "fixture/CreateVoiceConnector.yaml"++requestCreateVoiceConnectorGroup :: CreateVoiceConnectorGroup -> TestTree+requestCreateVoiceConnectorGroup =+  req+    "CreateVoiceConnectorGroup"+    "fixture/CreateVoiceConnectorGroup.yaml"++requestDeleteAccount :: DeleteAccount -> TestTree+requestDeleteAccount =+  req+    "DeleteAccount"+    "fixture/DeleteAccount.yaml"++requestDeleteAppInstance :: DeleteAppInstance -> TestTree+requestDeleteAppInstance =+  req+    "DeleteAppInstance"+    "fixture/DeleteAppInstance.yaml"++requestDeleteAppInstanceAdmin :: DeleteAppInstanceAdmin -> TestTree+requestDeleteAppInstanceAdmin =+  req+    "DeleteAppInstanceAdmin"+    "fixture/DeleteAppInstanceAdmin.yaml"++requestDeleteAppInstanceStreamingConfigurations :: DeleteAppInstanceStreamingConfigurations -> TestTree+requestDeleteAppInstanceStreamingConfigurations =+  req+    "DeleteAppInstanceStreamingConfigurations"+    "fixture/DeleteAppInstanceStreamingConfigurations.yaml"++requestDeleteAppInstanceUser :: DeleteAppInstanceUser -> TestTree+requestDeleteAppInstanceUser =+  req+    "DeleteAppInstanceUser"+    "fixture/DeleteAppInstanceUser.yaml"++requestDeleteAttendee :: DeleteAttendee -> TestTree+requestDeleteAttendee =+  req+    "DeleteAttendee"+    "fixture/DeleteAttendee.yaml"++requestDeleteChannel :: DeleteChannel -> TestTree+requestDeleteChannel =+  req+    "DeleteChannel"+    "fixture/DeleteChannel.yaml"++requestDeleteChannelBan :: DeleteChannelBan -> TestTree+requestDeleteChannelBan =+  req+    "DeleteChannelBan"+    "fixture/DeleteChannelBan.yaml"++requestDeleteChannelMembership :: DeleteChannelMembership -> TestTree+requestDeleteChannelMembership =+  req+    "DeleteChannelMembership"+    "fixture/DeleteChannelMembership.yaml"++requestDeleteChannelMessage :: DeleteChannelMessage -> TestTree+requestDeleteChannelMessage =+  req+    "DeleteChannelMessage"+    "fixture/DeleteChannelMessage.yaml"++requestDeleteChannelModerator :: DeleteChannelModerator -> TestTree+requestDeleteChannelModerator =+  req+    "DeleteChannelModerator"+    "fixture/DeleteChannelModerator.yaml"++requestDeleteEventsConfiguration :: DeleteEventsConfiguration -> TestTree+requestDeleteEventsConfiguration =+  req+    "DeleteEventsConfiguration"+    "fixture/DeleteEventsConfiguration.yaml"++requestDeleteMediaCapturePipeline :: DeleteMediaCapturePipeline -> TestTree+requestDeleteMediaCapturePipeline =+  req+    "DeleteMediaCapturePipeline"+    "fixture/DeleteMediaCapturePipeline.yaml"++requestDeleteMeeting :: DeleteMeeting -> TestTree+requestDeleteMeeting =+  req+    "DeleteMeeting"+    "fixture/DeleteMeeting.yaml"++requestDeletePhoneNumber :: DeletePhoneNumber -> TestTree+requestDeletePhoneNumber =+  req+    "DeletePhoneNumber"+    "fixture/DeletePhoneNumber.yaml"++requestDeleteProxySession :: DeleteProxySession -> TestTree+requestDeleteProxySession =+  req+    "DeleteProxySession"+    "fixture/DeleteProxySession.yaml"++requestDeleteRoom :: DeleteRoom -> TestTree+requestDeleteRoom =+  req+    "DeleteRoom"+    "fixture/DeleteRoom.yaml"++requestDeleteRoomMembership :: DeleteRoomMembership -> TestTree+requestDeleteRoomMembership =+  req+    "DeleteRoomMembership"+    "fixture/DeleteRoomMembership.yaml"++requestDeleteSipMediaApplication :: DeleteSipMediaApplication -> TestTree+requestDeleteSipMediaApplication =+  req+    "DeleteSipMediaApplication"+    "fixture/DeleteSipMediaApplication.yaml"++requestDeleteSipRule :: DeleteSipRule -> TestTree+requestDeleteSipRule =+  req+    "DeleteSipRule"+    "fixture/DeleteSipRule.yaml"++requestDeleteVoiceConnector :: DeleteVoiceConnector -> TestTree+requestDeleteVoiceConnector =+  req+    "DeleteVoiceConnector"+    "fixture/DeleteVoiceConnector.yaml"++requestDeleteVoiceConnectorEmergencyCallingConfiguration :: DeleteVoiceConnectorEmergencyCallingConfiguration -> TestTree+requestDeleteVoiceConnectorEmergencyCallingConfiguration =+  req+    "DeleteVoiceConnectorEmergencyCallingConfiguration"+    "fixture/DeleteVoiceConnectorEmergencyCallingConfiguration.yaml"++requestDeleteVoiceConnectorGroup :: DeleteVoiceConnectorGroup -> TestTree+requestDeleteVoiceConnectorGroup =+  req+    "DeleteVoiceConnectorGroup"+    "fixture/DeleteVoiceConnectorGroup.yaml"++requestDeleteVoiceConnectorOrigination :: DeleteVoiceConnectorOrigination -> TestTree+requestDeleteVoiceConnectorOrigination =+  req+    "DeleteVoiceConnectorOrigination"+    "fixture/DeleteVoiceConnectorOrigination.yaml"++requestDeleteVoiceConnectorProxy :: DeleteVoiceConnectorProxy -> TestTree+requestDeleteVoiceConnectorProxy =+  req+    "DeleteVoiceConnectorProxy"+    "fixture/DeleteVoiceConnectorProxy.yaml"++requestDeleteVoiceConnectorStreamingConfiguration :: DeleteVoiceConnectorStreamingConfiguration -> TestTree+requestDeleteVoiceConnectorStreamingConfiguration =+  req+    "DeleteVoiceConnectorStreamingConfiguration"+    "fixture/DeleteVoiceConnectorStreamingConfiguration.yaml"++requestDeleteVoiceConnectorTermination :: DeleteVoiceConnectorTermination -> TestTree+requestDeleteVoiceConnectorTermination =+  req+    "DeleteVoiceConnectorTermination"+    "fixture/DeleteVoiceConnectorTermination.yaml"++requestDeleteVoiceConnectorTerminationCredentials :: DeleteVoiceConnectorTerminationCredentials -> TestTree+requestDeleteVoiceConnectorTerminationCredentials =+  req+    "DeleteVoiceConnectorTerminationCredentials"+    "fixture/DeleteVoiceConnectorTerminationCredentials.yaml"++requestDescribeAppInstance :: DescribeAppInstance -> TestTree+requestDescribeAppInstance =+  req+    "DescribeAppInstance"+    "fixture/DescribeAppInstance.yaml"++requestDescribeAppInstanceAdmin :: DescribeAppInstanceAdmin -> TestTree+requestDescribeAppInstanceAdmin =+  req+    "DescribeAppInstanceAdmin"+    "fixture/DescribeAppInstanceAdmin.yaml"++requestDescribeAppInstanceUser :: DescribeAppInstanceUser -> TestTree+requestDescribeAppInstanceUser =+  req+    "DescribeAppInstanceUser"+    "fixture/DescribeAppInstanceUser.yaml"++requestDescribeChannel :: DescribeChannel -> TestTree+requestDescribeChannel =+  req+    "DescribeChannel"+    "fixture/DescribeChannel.yaml"++requestDescribeChannelBan :: DescribeChannelBan -> TestTree+requestDescribeChannelBan =+  req+    "DescribeChannelBan"+    "fixture/DescribeChannelBan.yaml"++requestDescribeChannelMembership :: DescribeChannelMembership -> TestTree+requestDescribeChannelMembership =+  req+    "DescribeChannelMembership"+    "fixture/DescribeChannelMembership.yaml"++requestDescribeChannelMembershipForAppInstanceUser :: DescribeChannelMembershipForAppInstanceUser -> TestTree+requestDescribeChannelMembershipForAppInstanceUser =+  req+    "DescribeChannelMembershipForAppInstanceUser"+    "fixture/DescribeChannelMembershipForAppInstanceUser.yaml"++requestDescribeChannelModeratedByAppInstanceUser :: DescribeChannelModeratedByAppInstanceUser -> TestTree+requestDescribeChannelModeratedByAppInstanceUser =+  req+    "DescribeChannelModeratedByAppInstanceUser"+    "fixture/DescribeChannelModeratedByAppInstanceUser.yaml"++requestDescribeChannelModerator :: DescribeChannelModerator -> TestTree+requestDescribeChannelModerator =+  req+    "DescribeChannelModerator"+    "fixture/DescribeChannelModerator.yaml"++requestDisassociatePhoneNumberFromUser :: DisassociatePhoneNumberFromUser -> TestTree+requestDisassociatePhoneNumberFromUser =+  req+    "DisassociatePhoneNumberFromUser"+    "fixture/DisassociatePhoneNumberFromUser.yaml"++requestDisassociatePhoneNumbersFromVoiceConnector :: DisassociatePhoneNumbersFromVoiceConnector -> TestTree+requestDisassociatePhoneNumbersFromVoiceConnector =+  req+    "DisassociatePhoneNumbersFromVoiceConnector"+    "fixture/DisassociatePhoneNumbersFromVoiceConnector.yaml"++requestDisassociatePhoneNumbersFromVoiceConnectorGroup :: DisassociatePhoneNumbersFromVoiceConnectorGroup -> TestTree+requestDisassociatePhoneNumbersFromVoiceConnectorGroup =+  req+    "DisassociatePhoneNumbersFromVoiceConnectorGroup"+    "fixture/DisassociatePhoneNumbersFromVoiceConnectorGroup.yaml"++requestDisassociateSigninDelegateGroupsFromAccount :: DisassociateSigninDelegateGroupsFromAccount -> TestTree+requestDisassociateSigninDelegateGroupsFromAccount =+  req+    "DisassociateSigninDelegateGroupsFromAccount"+    "fixture/DisassociateSigninDelegateGroupsFromAccount.yaml"++requestGetAccount :: GetAccount -> TestTree+requestGetAccount =+  req+    "GetAccount"+    "fixture/GetAccount.yaml"++requestGetAccountSettings :: GetAccountSettings -> TestTree+requestGetAccountSettings =+  req+    "GetAccountSettings"+    "fixture/GetAccountSettings.yaml"++requestGetAppInstanceRetentionSettings :: GetAppInstanceRetentionSettings -> TestTree+requestGetAppInstanceRetentionSettings =+  req+    "GetAppInstanceRetentionSettings"+    "fixture/GetAppInstanceRetentionSettings.yaml"++requestGetAppInstanceStreamingConfigurations :: GetAppInstanceStreamingConfigurations -> TestTree+requestGetAppInstanceStreamingConfigurations =+  req+    "GetAppInstanceStreamingConfigurations"+    "fixture/GetAppInstanceStreamingConfigurations.yaml"++requestGetAttendee :: GetAttendee -> TestTree+requestGetAttendee =+  req+    "GetAttendee"+    "fixture/GetAttendee.yaml"++requestGetBot :: GetBot -> TestTree+requestGetBot =+  req+    "GetBot"+    "fixture/GetBot.yaml"++requestGetChannelMessage :: GetChannelMessage -> TestTree+requestGetChannelMessage =+  req+    "GetChannelMessage"+    "fixture/GetChannelMessage.yaml"++requestGetEventsConfiguration :: GetEventsConfiguration -> TestTree+requestGetEventsConfiguration =+  req+    "GetEventsConfiguration"+    "fixture/GetEventsConfiguration.yaml"++requestGetGlobalSettings :: GetGlobalSettings -> TestTree+requestGetGlobalSettings =+  req+    "GetGlobalSettings"+    "fixture/GetGlobalSettings.yaml"++requestGetMediaCapturePipeline :: GetMediaCapturePipeline -> TestTree+requestGetMediaCapturePipeline =+  req+    "GetMediaCapturePipeline"+    "fixture/GetMediaCapturePipeline.yaml"++requestGetMeeting :: GetMeeting -> TestTree+requestGetMeeting =+  req+    "GetMeeting"+    "fixture/GetMeeting.yaml"++requestGetMessagingSessionEndpoint :: GetMessagingSessionEndpoint -> TestTree+requestGetMessagingSessionEndpoint =+  req+    "GetMessagingSessionEndpoint"+    "fixture/GetMessagingSessionEndpoint.yaml"++requestGetPhoneNumber :: GetPhoneNumber -> TestTree+requestGetPhoneNumber =+  req+    "GetPhoneNumber"+    "fixture/GetPhoneNumber.yaml"++requestGetPhoneNumberOrder :: GetPhoneNumberOrder -> TestTree+requestGetPhoneNumberOrder =+  req+    "GetPhoneNumberOrder"+    "fixture/GetPhoneNumberOrder.yaml"++requestGetPhoneNumberSettings :: GetPhoneNumberSettings -> TestTree+requestGetPhoneNumberSettings =+  req+    "GetPhoneNumberSettings"+    "fixture/GetPhoneNumberSettings.yaml"++requestGetProxySession :: GetProxySession -> TestTree+requestGetProxySession =+  req+    "GetProxySession"+    "fixture/GetProxySession.yaml"++requestGetRetentionSettings :: GetRetentionSettings -> TestTree+requestGetRetentionSettings =+  req+    "GetRetentionSettings"+    "fixture/GetRetentionSettings.yaml"++requestGetRoom :: GetRoom -> TestTree+requestGetRoom =+  req+    "GetRoom"+    "fixture/GetRoom.yaml"++requestGetSipMediaApplication :: GetSipMediaApplication -> TestTree+requestGetSipMediaApplication =+  req+    "GetSipMediaApplication"+    "fixture/GetSipMediaApplication.yaml"++requestGetSipMediaApplicationLoggingConfiguration :: GetSipMediaApplicationLoggingConfiguration -> TestTree+requestGetSipMediaApplicationLoggingConfiguration =+  req+    "GetSipMediaApplicationLoggingConfiguration"+    "fixture/GetSipMediaApplicationLoggingConfiguration.yaml"++requestGetSipRule :: GetSipRule -> TestTree+requestGetSipRule =+  req+    "GetSipRule"+    "fixture/GetSipRule.yaml"++requestGetUser :: GetUser -> TestTree+requestGetUser =+  req+    "GetUser"+    "fixture/GetUser.yaml"++requestGetUserSettings :: GetUserSettings -> TestTree+requestGetUserSettings =+  req+    "GetUserSettings"+    "fixture/GetUserSettings.yaml"++requestGetVoiceConnector :: GetVoiceConnector -> TestTree+requestGetVoiceConnector =+  req+    "GetVoiceConnector"+    "fixture/GetVoiceConnector.yaml"++requestGetVoiceConnectorEmergencyCallingConfiguration :: GetVoiceConnectorEmergencyCallingConfiguration -> TestTree+requestGetVoiceConnectorEmergencyCallingConfiguration =+  req+    "GetVoiceConnectorEmergencyCallingConfiguration"+    "fixture/GetVoiceConnectorEmergencyCallingConfiguration.yaml"++requestGetVoiceConnectorGroup :: GetVoiceConnectorGroup -> TestTree+requestGetVoiceConnectorGroup =+  req+    "GetVoiceConnectorGroup"+    "fixture/GetVoiceConnectorGroup.yaml"++requestGetVoiceConnectorLoggingConfiguration :: GetVoiceConnectorLoggingConfiguration -> TestTree+requestGetVoiceConnectorLoggingConfiguration =+  req+    "GetVoiceConnectorLoggingConfiguration"+    "fixture/GetVoiceConnectorLoggingConfiguration.yaml"++requestGetVoiceConnectorOrigination :: GetVoiceConnectorOrigination -> TestTree+requestGetVoiceConnectorOrigination =+  req+    "GetVoiceConnectorOrigination"+    "fixture/GetVoiceConnectorOrigination.yaml"++requestGetVoiceConnectorProxy :: GetVoiceConnectorProxy -> TestTree+requestGetVoiceConnectorProxy =+  req+    "GetVoiceConnectorProxy"+    "fixture/GetVoiceConnectorProxy.yaml"++requestGetVoiceConnectorStreamingConfiguration :: GetVoiceConnectorStreamingConfiguration -> TestTree+requestGetVoiceConnectorStreamingConfiguration =+  req+    "GetVoiceConnectorStreamingConfiguration"+    "fixture/GetVoiceConnectorStreamingConfiguration.yaml"++requestGetVoiceConnectorTermination :: GetVoiceConnectorTermination -> TestTree+requestGetVoiceConnectorTermination =+  req+    "GetVoiceConnectorTermination"+    "fixture/GetVoiceConnectorTermination.yaml"++requestGetVoiceConnectorTerminationHealth :: GetVoiceConnectorTerminationHealth -> TestTree+requestGetVoiceConnectorTerminationHealth =+  req+    "GetVoiceConnectorTerminationHealth"+    "fixture/GetVoiceConnectorTerminationHealth.yaml"++requestInviteUsers :: InviteUsers -> TestTree+requestInviteUsers =+  req+    "InviteUsers"+    "fixture/InviteUsers.yaml"++requestListAccounts :: ListAccounts -> TestTree+requestListAccounts =+  req+    "ListAccounts"+    "fixture/ListAccounts.yaml"++requestListAppInstanceAdmins :: ListAppInstanceAdmins -> TestTree+requestListAppInstanceAdmins =+  req+    "ListAppInstanceAdmins"+    "fixture/ListAppInstanceAdmins.yaml"++requestListAppInstanceUsers :: ListAppInstanceUsers -> TestTree+requestListAppInstanceUsers =+  req+    "ListAppInstanceUsers"+    "fixture/ListAppInstanceUsers.yaml"++requestListAppInstances :: ListAppInstances -> TestTree+requestListAppInstances =+  req+    "ListAppInstances"+    "fixture/ListAppInstances.yaml"++requestListAttendeeTags :: ListAttendeeTags -> TestTree+requestListAttendeeTags =+  req+    "ListAttendeeTags"+    "fixture/ListAttendeeTags.yaml"++requestListAttendees :: ListAttendees -> TestTree+requestListAttendees =+  req+    "ListAttendees"+    "fixture/ListAttendees.yaml"++requestListBots :: ListBots -> TestTree+requestListBots =+  req+    "ListBots"+    "fixture/ListBots.yaml"++requestListChannelBans :: ListChannelBans -> TestTree+requestListChannelBans =+  req+    "ListChannelBans"+    "fixture/ListChannelBans.yaml"++requestListChannelMemberships :: ListChannelMemberships -> TestTree+requestListChannelMemberships =+  req+    "ListChannelMemberships"+    "fixture/ListChannelMemberships.yaml"++requestListChannelMembershipsForAppInstanceUser :: ListChannelMembershipsForAppInstanceUser -> TestTree+requestListChannelMembershipsForAppInstanceUser =+  req+    "ListChannelMembershipsForAppInstanceUser"+    "fixture/ListChannelMembershipsForAppInstanceUser.yaml"++requestListChannelMessages :: ListChannelMessages -> TestTree+requestListChannelMessages =+  req+    "ListChannelMessages"+    "fixture/ListChannelMessages.yaml"++requestListChannelModerators :: ListChannelModerators -> TestTree+requestListChannelModerators =+  req+    "ListChannelModerators"+    "fixture/ListChannelModerators.yaml"++requestListChannels :: ListChannels -> TestTree+requestListChannels =+  req+    "ListChannels"+    "fixture/ListChannels.yaml"++requestListChannelsModeratedByAppInstanceUser :: ListChannelsModeratedByAppInstanceUser -> TestTree+requestListChannelsModeratedByAppInstanceUser =+  req+    "ListChannelsModeratedByAppInstanceUser"+    "fixture/ListChannelsModeratedByAppInstanceUser.yaml"++requestListMediaCapturePipelines :: ListMediaCapturePipelines -> TestTree+requestListMediaCapturePipelines =+  req+    "ListMediaCapturePipelines"+    "fixture/ListMediaCapturePipelines.yaml"++requestListMeetingTags :: ListMeetingTags -> TestTree+requestListMeetingTags =+  req+    "ListMeetingTags"+    "fixture/ListMeetingTags.yaml"++requestListMeetings :: ListMeetings -> TestTree+requestListMeetings =+  req+    "ListMeetings"+    "fixture/ListMeetings.yaml"++requestListPhoneNumberOrders :: ListPhoneNumberOrders -> TestTree+requestListPhoneNumberOrders =+  req+    "ListPhoneNumberOrders"+    "fixture/ListPhoneNumberOrders.yaml"++requestListPhoneNumbers :: ListPhoneNumbers -> TestTree+requestListPhoneNumbers =+  req+    "ListPhoneNumbers"+    "fixture/ListPhoneNumbers.yaml"++requestListProxySessions :: ListProxySessions -> TestTree+requestListProxySessions =+  req+    "ListProxySessions"+    "fixture/ListProxySessions.yaml"++requestListRoomMemberships :: ListRoomMemberships -> TestTree+requestListRoomMemberships =+  req+    "ListRoomMemberships"+    "fixture/ListRoomMemberships.yaml"++requestListRooms :: ListRooms -> TestTree+requestListRooms =+  req+    "ListRooms"+    "fixture/ListRooms.yaml"++requestListSipMediaApplications :: ListSipMediaApplications -> TestTree+requestListSipMediaApplications =+  req+    "ListSipMediaApplications"+    "fixture/ListSipMediaApplications.yaml"++requestListSipRules :: ListSipRules -> TestTree+requestListSipRules =+  req+    "ListSipRules"+    "fixture/ListSipRules.yaml"++requestListSupportedPhoneNumberCountries :: ListSupportedPhoneNumberCountries -> TestTree+requestListSupportedPhoneNumberCountries =+  req+    "ListSupportedPhoneNumberCountries"+    "fixture/ListSupportedPhoneNumberCountries.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+  req+    "ListTagsForResource"+    "fixture/ListTagsForResource.yaml"++requestListUsers :: ListUsers -> TestTree+requestListUsers =+  req+    "ListUsers"+    "fixture/ListUsers.yaml"++requestListVoiceConnectorGroups :: ListVoiceConnectorGroups -> TestTree+requestListVoiceConnectorGroups =+  req+    "ListVoiceConnectorGroups"+    "fixture/ListVoiceConnectorGroups.yaml"++requestListVoiceConnectorTerminationCredentials :: ListVoiceConnectorTerminationCredentials -> TestTree+requestListVoiceConnectorTerminationCredentials =+  req+    "ListVoiceConnectorTerminationCredentials"+    "fixture/ListVoiceConnectorTerminationCredentials.yaml"++requestListVoiceConnectors :: ListVoiceConnectors -> TestTree+requestListVoiceConnectors =+  req+    "ListVoiceConnectors"+    "fixture/ListVoiceConnectors.yaml"++requestLogoutUser :: LogoutUser -> TestTree+requestLogoutUser =+  req+    "LogoutUser"+    "fixture/LogoutUser.yaml"++requestPutAppInstanceRetentionSettings :: PutAppInstanceRetentionSettings -> TestTree+requestPutAppInstanceRetentionSettings =+  req+    "PutAppInstanceRetentionSettings"+    "fixture/PutAppInstanceRetentionSettings.yaml"++requestPutAppInstanceStreamingConfigurations :: PutAppInstanceStreamingConfigurations -> TestTree+requestPutAppInstanceStreamingConfigurations =+  req+    "PutAppInstanceStreamingConfigurations"+    "fixture/PutAppInstanceStreamingConfigurations.yaml"++requestPutEventsConfiguration :: PutEventsConfiguration -> TestTree+requestPutEventsConfiguration =+  req+    "PutEventsConfiguration"+    "fixture/PutEventsConfiguration.yaml"++requestPutRetentionSettings :: PutRetentionSettings -> TestTree+requestPutRetentionSettings =+  req+    "PutRetentionSettings"+    "fixture/PutRetentionSettings.yaml"++requestPutSipMediaApplicationLoggingConfiguration :: PutSipMediaApplicationLoggingConfiguration -> TestTree+requestPutSipMediaApplicationLoggingConfiguration =+  req+    "PutSipMediaApplicationLoggingConfiguration"+    "fixture/PutSipMediaApplicationLoggingConfiguration.yaml"++requestPutVoiceConnectorEmergencyCallingConfiguration :: PutVoiceConnectorEmergencyCallingConfiguration -> TestTree+requestPutVoiceConnectorEmergencyCallingConfiguration =+  req+    "PutVoiceConnectorEmergencyCallingConfiguration"+    "fixture/PutVoiceConnectorEmergencyCallingConfiguration.yaml"++requestPutVoiceConnectorLoggingConfiguration :: PutVoiceConnectorLoggingConfiguration -> TestTree+requestPutVoiceConnectorLoggingConfiguration =+  req+    "PutVoiceConnectorLoggingConfiguration"+    "fixture/PutVoiceConnectorLoggingConfiguration.yaml"++requestPutVoiceConnectorOrigination :: PutVoiceConnectorOrigination -> TestTree+requestPutVoiceConnectorOrigination =+  req+    "PutVoiceConnectorOrigination"+    "fixture/PutVoiceConnectorOrigination.yaml"++requestPutVoiceConnectorProxy :: PutVoiceConnectorProxy -> TestTree+requestPutVoiceConnectorProxy =+  req+    "PutVoiceConnectorProxy"+    "fixture/PutVoiceConnectorProxy.yaml"++requestPutVoiceConnectorStreamingConfiguration :: PutVoiceConnectorStreamingConfiguration -> TestTree+requestPutVoiceConnectorStreamingConfiguration =+  req+    "PutVoiceConnectorStreamingConfiguration"+    "fixture/PutVoiceConnectorStreamingConfiguration.yaml"++requestPutVoiceConnectorTermination :: PutVoiceConnectorTermination -> TestTree+requestPutVoiceConnectorTermination =+  req+    "PutVoiceConnectorTermination"+    "fixture/PutVoiceConnectorTermination.yaml"++requestPutVoiceConnectorTerminationCredentials :: PutVoiceConnectorTerminationCredentials -> TestTree+requestPutVoiceConnectorTerminationCredentials =+  req+    "PutVoiceConnectorTerminationCredentials"+    "fixture/PutVoiceConnectorTerminationCredentials.yaml"++requestRedactChannelMessage :: RedactChannelMessage -> TestTree+requestRedactChannelMessage =+  req+    "RedactChannelMessage"+    "fixture/RedactChannelMessage.yaml"++requestRedactConversationMessage :: RedactConversationMessage -> TestTree+requestRedactConversationMessage =+  req+    "RedactConversationMessage"+    "fixture/RedactConversationMessage.yaml"++requestRedactRoomMessage :: RedactRoomMessage -> TestTree+requestRedactRoomMessage =+  req+    "RedactRoomMessage"+    "fixture/RedactRoomMessage.yaml"++requestRegenerateSecurityToken :: RegenerateSecurityToken -> TestTree+requestRegenerateSecurityToken =+  req+    "RegenerateSecurityToken"+    "fixture/RegenerateSecurityToken.yaml"++requestResetPersonalPIN :: ResetPersonalPIN -> TestTree+requestResetPersonalPIN =+  req+    "ResetPersonalPIN"+    "fixture/ResetPersonalPIN.yaml"++requestRestorePhoneNumber :: RestorePhoneNumber -> TestTree+requestRestorePhoneNumber =+  req+    "RestorePhoneNumber"+    "fixture/RestorePhoneNumber.yaml"++requestSearchAvailablePhoneNumbers :: SearchAvailablePhoneNumbers -> TestTree+requestSearchAvailablePhoneNumbers =+  req+    "SearchAvailablePhoneNumbers"+    "fixture/SearchAvailablePhoneNumbers.yaml"++requestSendChannelMessage :: SendChannelMessage -> TestTree+requestSendChannelMessage =+  req+    "SendChannelMessage"+    "fixture/SendChannelMessage.yaml"++requestStartMeetingTranscription :: StartMeetingTranscription -> TestTree+requestStartMeetingTranscription =+  req+    "StartMeetingTranscription"+    "fixture/StartMeetingTranscription.yaml"++requestStopMeetingTranscription :: StopMeetingTranscription -> TestTree+requestStopMeetingTranscription =+  req+    "StopMeetingTranscription"+    "fixture/StopMeetingTranscription.yaml"++requestTagAttendee :: TagAttendee -> TestTree+requestTagAttendee =+  req+    "TagAttendee"+    "fixture/TagAttendee.yaml"++requestTagMeeting :: TagMeeting -> TestTree+requestTagMeeting =+  req+    "TagMeeting"+    "fixture/TagMeeting.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+  req+    "TagResource"+    "fixture/TagResource.yaml"++requestUntagAttendee :: UntagAttendee -> TestTree+requestUntagAttendee =+  req+    "UntagAttendee"+    "fixture/UntagAttendee.yaml"++requestUntagMeeting :: UntagMeeting -> TestTree+requestUntagMeeting =+  req+    "UntagMeeting"+    "fixture/UntagMeeting.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+  req+    "UntagResource"+    "fixture/UntagResource.yaml"++requestUpdateAccount :: UpdateAccount -> TestTree+requestUpdateAccount =+  req+    "UpdateAccount"+    "fixture/UpdateAccount.yaml"++requestUpdateAccountSettings :: UpdateAccountSettings -> TestTree+requestUpdateAccountSettings =+  req+    "UpdateAccountSettings"+    "fixture/UpdateAccountSettings.yaml"++requestUpdateAppInstance :: UpdateAppInstance -> TestTree+requestUpdateAppInstance =+  req+    "UpdateAppInstance"+    "fixture/UpdateAppInstance.yaml"++requestUpdateAppInstanceUser :: UpdateAppInstanceUser -> TestTree+requestUpdateAppInstanceUser =+  req+    "UpdateAppInstanceUser"+    "fixture/UpdateAppInstanceUser.yaml"++requestUpdateBot :: UpdateBot -> TestTree+requestUpdateBot =+  req+    "UpdateBot"+    "fixture/UpdateBot.yaml"++requestUpdateChannel :: UpdateChannel -> TestTree+requestUpdateChannel =+  req+    "UpdateChannel"+    "fixture/UpdateChannel.yaml"++requestUpdateChannelMessage :: UpdateChannelMessage -> TestTree+requestUpdateChannelMessage =+  req+    "UpdateChannelMessage"+    "fixture/UpdateChannelMessage.yaml"++requestUpdateChannelReadMarker :: UpdateChannelReadMarker -> TestTree+requestUpdateChannelReadMarker =+  req+    "UpdateChannelReadMarker"+    "fixture/UpdateChannelReadMarker.yaml"++requestUpdateGlobalSettings :: UpdateGlobalSettings -> TestTree+requestUpdateGlobalSettings =+  req+    "UpdateGlobalSettings"+    "fixture/UpdateGlobalSettings.yaml"++requestUpdatePhoneNumber :: UpdatePhoneNumber -> TestTree+requestUpdatePhoneNumber =+  req+    "UpdatePhoneNumber"+    "fixture/UpdatePhoneNumber.yaml"++requestUpdatePhoneNumberSettings :: UpdatePhoneNumberSettings -> TestTree+requestUpdatePhoneNumberSettings =+  req+    "UpdatePhoneNumberSettings"+    "fixture/UpdatePhoneNumberSettings.yaml"++requestUpdateProxySession :: UpdateProxySession -> TestTree+requestUpdateProxySession =+  req+    "UpdateProxySession"+    "fixture/UpdateProxySession.yaml"++requestUpdateRoom :: UpdateRoom -> TestTree+requestUpdateRoom =+  req+    "UpdateRoom"+    "fixture/UpdateRoom.yaml"++requestUpdateRoomMembership :: UpdateRoomMembership -> TestTree+requestUpdateRoomMembership =+  req+    "UpdateRoomMembership"+    "fixture/UpdateRoomMembership.yaml"++requestUpdateSipMediaApplication :: UpdateSipMediaApplication -> TestTree+requestUpdateSipMediaApplication =+  req+    "UpdateSipMediaApplication"+    "fixture/UpdateSipMediaApplication.yaml"++requestUpdateSipMediaApplicationCall :: UpdateSipMediaApplicationCall -> TestTree+requestUpdateSipMediaApplicationCall =+  req+    "UpdateSipMediaApplicationCall"+    "fixture/UpdateSipMediaApplicationCall.yaml"++requestUpdateSipRule :: UpdateSipRule -> TestTree+requestUpdateSipRule =+  req+    "UpdateSipRule"+    "fixture/UpdateSipRule.yaml"++requestUpdateUser :: UpdateUser -> TestTree+requestUpdateUser =+  req+    "UpdateUser"+    "fixture/UpdateUser.yaml"++requestUpdateUserSettings :: UpdateUserSettings -> TestTree+requestUpdateUserSettings =+  req+    "UpdateUserSettings"+    "fixture/UpdateUserSettings.yaml"++requestUpdateVoiceConnector :: UpdateVoiceConnector -> TestTree+requestUpdateVoiceConnector =+  req+    "UpdateVoiceConnector"+    "fixture/UpdateVoiceConnector.yaml"++requestUpdateVoiceConnectorGroup :: UpdateVoiceConnectorGroup -> TestTree+requestUpdateVoiceConnectorGroup =+  req+    "UpdateVoiceConnectorGroup"+    "fixture/UpdateVoiceConnectorGroup.yaml"++requestValidateE911Address :: ValidateE911Address -> TestTree+requestValidateE911Address =+  req+    "ValidateE911Address"+    "fixture/ValidateE911Address.yaml"++-- Responses++responseAssociatePhoneNumberWithUser :: AssociatePhoneNumberWithUserResponse -> TestTree+responseAssociatePhoneNumberWithUser =+  res+    "AssociatePhoneNumberWithUserResponse"+    "fixture/AssociatePhoneNumberWithUserResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy AssociatePhoneNumberWithUser)++responseAssociatePhoneNumbersWithVoiceConnector :: AssociatePhoneNumbersWithVoiceConnectorResponse -> TestTree+responseAssociatePhoneNumbersWithVoiceConnector =+  res+    "AssociatePhoneNumbersWithVoiceConnectorResponse"+    "fixture/AssociatePhoneNumbersWithVoiceConnectorResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy AssociatePhoneNumbersWithVoiceConnector)++responseAssociatePhoneNumbersWithVoiceConnectorGroup :: AssociatePhoneNumbersWithVoiceConnectorGroupResponse -> TestTree+responseAssociatePhoneNumbersWithVoiceConnectorGroup =+  res+    "AssociatePhoneNumbersWithVoiceConnectorGroupResponse"+    "fixture/AssociatePhoneNumbersWithVoiceConnectorGroupResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy AssociatePhoneNumbersWithVoiceConnectorGroup)++responseAssociateSigninDelegateGroupsWithAccount :: AssociateSigninDelegateGroupsWithAccountResponse -> TestTree+responseAssociateSigninDelegateGroupsWithAccount =+  res+    "AssociateSigninDelegateGroupsWithAccountResponse"+    "fixture/AssociateSigninDelegateGroupsWithAccountResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy AssociateSigninDelegateGroupsWithAccount)++responseBatchCreateAttendee :: BatchCreateAttendeeResponse -> TestTree+responseBatchCreateAttendee =+  res+    "BatchCreateAttendeeResponse"+    "fixture/BatchCreateAttendeeResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy BatchCreateAttendee)++responseBatchCreateChannelMembership :: BatchCreateChannelMembershipResponse -> TestTree+responseBatchCreateChannelMembership =+  res+    "BatchCreateChannelMembershipResponse"+    "fixture/BatchCreateChannelMembershipResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy BatchCreateChannelMembership)++responseBatchCreateRoomMembership :: BatchCreateRoomMembershipResponse -> TestTree+responseBatchCreateRoomMembership =+  res+    "BatchCreateRoomMembershipResponse"+    "fixture/BatchCreateRoomMembershipResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy BatchCreateRoomMembership)++responseBatchDeletePhoneNumber :: BatchDeletePhoneNumberResponse -> TestTree+responseBatchDeletePhoneNumber =+  res+    "BatchDeletePhoneNumberResponse"+    "fixture/BatchDeletePhoneNumberResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy BatchDeletePhoneNumber)++responseBatchSuspendUser :: BatchSuspendUserResponse -> TestTree+responseBatchSuspendUser =+  res+    "BatchSuspendUserResponse"+    "fixture/BatchSuspendUserResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy BatchSuspendUser)++responseBatchUnsuspendUser :: BatchUnsuspendUserResponse -> TestTree+responseBatchUnsuspendUser =+  res+    "BatchUnsuspendUserResponse"+    "fixture/BatchUnsuspendUserResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy BatchUnsuspendUser)++responseBatchUpdatePhoneNumber :: BatchUpdatePhoneNumberResponse -> TestTree+responseBatchUpdatePhoneNumber =+  res+    "BatchUpdatePhoneNumberResponse"+    "fixture/BatchUpdatePhoneNumberResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy BatchUpdatePhoneNumber)++responseBatchUpdateUser :: BatchUpdateUserResponse -> TestTree+responseBatchUpdateUser =+  res+    "BatchUpdateUserResponse"+    "fixture/BatchUpdateUserResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy BatchUpdateUser)++responseCreateAccount :: CreateAccountResponse -> TestTree+responseCreateAccount =+  res+    "CreateAccountResponse"+    "fixture/CreateAccountResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateAccount)++responseCreateAppInstance :: CreateAppInstanceResponse -> TestTree+responseCreateAppInstance =+  res+    "CreateAppInstanceResponse"+    "fixture/CreateAppInstanceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateAppInstance)++responseCreateAppInstanceAdmin :: CreateAppInstanceAdminResponse -> TestTree+responseCreateAppInstanceAdmin =+  res+    "CreateAppInstanceAdminResponse"+    "fixture/CreateAppInstanceAdminResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateAppInstanceAdmin)++responseCreateAppInstanceUser :: CreateAppInstanceUserResponse -> TestTree+responseCreateAppInstanceUser =+  res+    "CreateAppInstanceUserResponse"+    "fixture/CreateAppInstanceUserResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateAppInstanceUser)++responseCreateAttendee :: CreateAttendeeResponse -> TestTree+responseCreateAttendee =+  res+    "CreateAttendeeResponse"+    "fixture/CreateAttendeeResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateAttendee)++responseCreateBot :: CreateBotResponse -> TestTree+responseCreateBot =+  res+    "CreateBotResponse"+    "fixture/CreateBotResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateBot)++responseCreateChannel :: CreateChannelResponse -> TestTree+responseCreateChannel =+  res+    "CreateChannelResponse"+    "fixture/CreateChannelResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateChannel)++responseCreateChannelBan :: CreateChannelBanResponse -> TestTree+responseCreateChannelBan =+  res+    "CreateChannelBanResponse"+    "fixture/CreateChannelBanResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateChannelBan)++responseCreateChannelMembership :: CreateChannelMembershipResponse -> TestTree+responseCreateChannelMembership =+  res+    "CreateChannelMembershipResponse"+    "fixture/CreateChannelMembershipResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateChannelMembership)++responseCreateChannelModerator :: CreateChannelModeratorResponse -> TestTree+responseCreateChannelModerator =+  res+    "CreateChannelModeratorResponse"+    "fixture/CreateChannelModeratorResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateChannelModerator)++responseCreateMediaCapturePipeline :: CreateMediaCapturePipelineResponse -> TestTree+responseCreateMediaCapturePipeline =+  res+    "CreateMediaCapturePipelineResponse"+    "fixture/CreateMediaCapturePipelineResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateMediaCapturePipeline)++responseCreateMeeting :: CreateMeetingResponse -> TestTree+responseCreateMeeting =+  res+    "CreateMeetingResponse"+    "fixture/CreateMeetingResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateMeeting)++responseCreateMeetingDialOut :: CreateMeetingDialOutResponse -> TestTree+responseCreateMeetingDialOut =+  res+    "CreateMeetingDialOutResponse"+    "fixture/CreateMeetingDialOutResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateMeetingDialOut)++responseCreateMeetingWithAttendees :: CreateMeetingWithAttendeesResponse -> TestTree+responseCreateMeetingWithAttendees =+  res+    "CreateMeetingWithAttendeesResponse"+    "fixture/CreateMeetingWithAttendeesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateMeetingWithAttendees)++responseCreatePhoneNumberOrder :: CreatePhoneNumberOrderResponse -> TestTree+responseCreatePhoneNumberOrder =+  res+    "CreatePhoneNumberOrderResponse"+    "fixture/CreatePhoneNumberOrderResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreatePhoneNumberOrder)++responseCreateProxySession :: CreateProxySessionResponse -> TestTree+responseCreateProxySession =+  res+    "CreateProxySessionResponse"+    "fixture/CreateProxySessionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateProxySession)++responseCreateRoom :: CreateRoomResponse -> TestTree+responseCreateRoom =+  res+    "CreateRoomResponse"+    "fixture/CreateRoomResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateRoom)++responseCreateRoomMembership :: CreateRoomMembershipResponse -> TestTree+responseCreateRoomMembership =+  res+    "CreateRoomMembershipResponse"+    "fixture/CreateRoomMembershipResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateRoomMembership)++responseCreateSipMediaApplication :: CreateSipMediaApplicationResponse -> TestTree+responseCreateSipMediaApplication =+  res+    "CreateSipMediaApplicationResponse"+    "fixture/CreateSipMediaApplicationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateSipMediaApplication)++responseCreateSipMediaApplicationCall :: CreateSipMediaApplicationCallResponse -> TestTree+responseCreateSipMediaApplicationCall =+  res+    "CreateSipMediaApplicationCallResponse"+    "fixture/CreateSipMediaApplicationCallResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateSipMediaApplicationCall)++responseCreateSipRule :: CreateSipRuleResponse -> TestTree+responseCreateSipRule =+  res+    "CreateSipRuleResponse"+    "fixture/CreateSipRuleResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateSipRule)++responseCreateUser :: CreateUserResponse -> TestTree+responseCreateUser =+  res+    "CreateUserResponse"+    "fixture/CreateUserResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateUser)++responseCreateVoiceConnector :: CreateVoiceConnectorResponse -> TestTree+responseCreateVoiceConnector =+  res+    "CreateVoiceConnectorResponse"+    "fixture/CreateVoiceConnectorResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateVoiceConnector)++responseCreateVoiceConnectorGroup :: CreateVoiceConnectorGroupResponse -> TestTree+responseCreateVoiceConnectorGroup =+  res+    "CreateVoiceConnectorGroupResponse"+    "fixture/CreateVoiceConnectorGroupResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateVoiceConnectorGroup)++responseDeleteAccount :: DeleteAccountResponse -> TestTree+responseDeleteAccount =+  res+    "DeleteAccountResponse"+    "fixture/DeleteAccountResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteAccount)++responseDeleteAppInstance :: DeleteAppInstanceResponse -> TestTree+responseDeleteAppInstance =+  res+    "DeleteAppInstanceResponse"+    "fixture/DeleteAppInstanceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteAppInstance)++responseDeleteAppInstanceAdmin :: DeleteAppInstanceAdminResponse -> TestTree+responseDeleteAppInstanceAdmin =+  res+    "DeleteAppInstanceAdminResponse"+    "fixture/DeleteAppInstanceAdminResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteAppInstanceAdmin)++responseDeleteAppInstanceStreamingConfigurations :: DeleteAppInstanceStreamingConfigurationsResponse -> TestTree+responseDeleteAppInstanceStreamingConfigurations =+  res+    "DeleteAppInstanceStreamingConfigurationsResponse"+    "fixture/DeleteAppInstanceStreamingConfigurationsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteAppInstanceStreamingConfigurations)++responseDeleteAppInstanceUser :: DeleteAppInstanceUserResponse -> TestTree+responseDeleteAppInstanceUser =+  res+    "DeleteAppInstanceUserResponse"+    "fixture/DeleteAppInstanceUserResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteAppInstanceUser)++responseDeleteAttendee :: DeleteAttendeeResponse -> TestTree+responseDeleteAttendee =+  res+    "DeleteAttendeeResponse"+    "fixture/DeleteAttendeeResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteAttendee)++responseDeleteChannel :: DeleteChannelResponse -> TestTree+responseDeleteChannel =+  res+    "DeleteChannelResponse"+    "fixture/DeleteChannelResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteChannel)++responseDeleteChannelBan :: DeleteChannelBanResponse -> TestTree+responseDeleteChannelBan =+  res+    "DeleteChannelBanResponse"+    "fixture/DeleteChannelBanResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteChannelBan)++responseDeleteChannelMembership :: DeleteChannelMembershipResponse -> TestTree+responseDeleteChannelMembership =+  res+    "DeleteChannelMembershipResponse"+    "fixture/DeleteChannelMembershipResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteChannelMembership)++responseDeleteChannelMessage :: DeleteChannelMessageResponse -> TestTree+responseDeleteChannelMessage =+  res+    "DeleteChannelMessageResponse"+    "fixture/DeleteChannelMessageResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteChannelMessage)++responseDeleteChannelModerator :: DeleteChannelModeratorResponse -> TestTree+responseDeleteChannelModerator =+  res+    "DeleteChannelModeratorResponse"+    "fixture/DeleteChannelModeratorResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteChannelModerator)++responseDeleteEventsConfiguration :: DeleteEventsConfigurationResponse -> TestTree+responseDeleteEventsConfiguration =+  res+    "DeleteEventsConfigurationResponse"+    "fixture/DeleteEventsConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteEventsConfiguration)++responseDeleteMediaCapturePipeline :: DeleteMediaCapturePipelineResponse -> TestTree+responseDeleteMediaCapturePipeline =+  res+    "DeleteMediaCapturePipelineResponse"+    "fixture/DeleteMediaCapturePipelineResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteMediaCapturePipeline)++responseDeleteMeeting :: DeleteMeetingResponse -> TestTree+responseDeleteMeeting =+  res+    "DeleteMeetingResponse"+    "fixture/DeleteMeetingResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteMeeting)++responseDeletePhoneNumber :: DeletePhoneNumberResponse -> TestTree+responseDeletePhoneNumber =+  res+    "DeletePhoneNumberResponse"+    "fixture/DeletePhoneNumberResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeletePhoneNumber)++responseDeleteProxySession :: DeleteProxySessionResponse -> TestTree+responseDeleteProxySession =+  res+    "DeleteProxySessionResponse"+    "fixture/DeleteProxySessionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteProxySession)++responseDeleteRoom :: DeleteRoomResponse -> TestTree+responseDeleteRoom =+  res+    "DeleteRoomResponse"+    "fixture/DeleteRoomResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteRoom)++responseDeleteRoomMembership :: DeleteRoomMembershipResponse -> TestTree+responseDeleteRoomMembership =+  res+    "DeleteRoomMembershipResponse"+    "fixture/DeleteRoomMembershipResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteRoomMembership)++responseDeleteSipMediaApplication :: DeleteSipMediaApplicationResponse -> TestTree+responseDeleteSipMediaApplication =+  res+    "DeleteSipMediaApplicationResponse"+    "fixture/DeleteSipMediaApplicationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteSipMediaApplication)++responseDeleteSipRule :: DeleteSipRuleResponse -> TestTree+responseDeleteSipRule =+  res+    "DeleteSipRuleResponse"+    "fixture/DeleteSipRuleResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteSipRule)++responseDeleteVoiceConnector :: DeleteVoiceConnectorResponse -> TestTree+responseDeleteVoiceConnector =+  res+    "DeleteVoiceConnectorResponse"+    "fixture/DeleteVoiceConnectorResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteVoiceConnector)++responseDeleteVoiceConnectorEmergencyCallingConfiguration :: DeleteVoiceConnectorEmergencyCallingConfigurationResponse -> TestTree+responseDeleteVoiceConnectorEmergencyCallingConfiguration =+  res+    "DeleteVoiceConnectorEmergencyCallingConfigurationResponse"+    "fixture/DeleteVoiceConnectorEmergencyCallingConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteVoiceConnectorEmergencyCallingConfiguration)++responseDeleteVoiceConnectorGroup :: DeleteVoiceConnectorGroupResponse -> TestTree+responseDeleteVoiceConnectorGroup =+  res+    "DeleteVoiceConnectorGroupResponse"+    "fixture/DeleteVoiceConnectorGroupResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteVoiceConnectorGroup)++responseDeleteVoiceConnectorOrigination :: DeleteVoiceConnectorOriginationResponse -> TestTree+responseDeleteVoiceConnectorOrigination =+  res+    "DeleteVoiceConnectorOriginationResponse"+    "fixture/DeleteVoiceConnectorOriginationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteVoiceConnectorOrigination)++responseDeleteVoiceConnectorProxy :: DeleteVoiceConnectorProxyResponse -> TestTree+responseDeleteVoiceConnectorProxy =+  res+    "DeleteVoiceConnectorProxyResponse"+    "fixture/DeleteVoiceConnectorProxyResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteVoiceConnectorProxy)++responseDeleteVoiceConnectorStreamingConfiguration :: DeleteVoiceConnectorStreamingConfigurationResponse -> TestTree+responseDeleteVoiceConnectorStreamingConfiguration =+  res+    "DeleteVoiceConnectorStreamingConfigurationResponse"+    "fixture/DeleteVoiceConnectorStreamingConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteVoiceConnectorStreamingConfiguration)++responseDeleteVoiceConnectorTermination :: DeleteVoiceConnectorTerminationResponse -> TestTree+responseDeleteVoiceConnectorTermination =+  res+    "DeleteVoiceConnectorTerminationResponse"+    "fixture/DeleteVoiceConnectorTerminationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteVoiceConnectorTermination)++responseDeleteVoiceConnectorTerminationCredentials :: DeleteVoiceConnectorTerminationCredentialsResponse -> TestTree+responseDeleteVoiceConnectorTerminationCredentials =+  res+    "DeleteVoiceConnectorTerminationCredentialsResponse"+    "fixture/DeleteVoiceConnectorTerminationCredentialsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteVoiceConnectorTerminationCredentials)++responseDescribeAppInstance :: DescribeAppInstanceResponse -> TestTree+responseDescribeAppInstance =+  res+    "DescribeAppInstanceResponse"+    "fixture/DescribeAppInstanceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeAppInstance)++responseDescribeAppInstanceAdmin :: DescribeAppInstanceAdminResponse -> TestTree+responseDescribeAppInstanceAdmin =+  res+    "DescribeAppInstanceAdminResponse"+    "fixture/DescribeAppInstanceAdminResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeAppInstanceAdmin)++responseDescribeAppInstanceUser :: DescribeAppInstanceUserResponse -> TestTree+responseDescribeAppInstanceUser =+  res+    "DescribeAppInstanceUserResponse"+    "fixture/DescribeAppInstanceUserResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeAppInstanceUser)++responseDescribeChannel :: DescribeChannelResponse -> TestTree+responseDescribeChannel =+  res+    "DescribeChannelResponse"+    "fixture/DescribeChannelResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeChannel)++responseDescribeChannelBan :: DescribeChannelBanResponse -> TestTree+responseDescribeChannelBan =+  res+    "DescribeChannelBanResponse"+    "fixture/DescribeChannelBanResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeChannelBan)++responseDescribeChannelMembership :: DescribeChannelMembershipResponse -> TestTree+responseDescribeChannelMembership =+  res+    "DescribeChannelMembershipResponse"+    "fixture/DescribeChannelMembershipResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeChannelMembership)++responseDescribeChannelMembershipForAppInstanceUser :: DescribeChannelMembershipForAppInstanceUserResponse -> TestTree+responseDescribeChannelMembershipForAppInstanceUser =+  res+    "DescribeChannelMembershipForAppInstanceUserResponse"+    "fixture/DescribeChannelMembershipForAppInstanceUserResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeChannelMembershipForAppInstanceUser)++responseDescribeChannelModeratedByAppInstanceUser :: DescribeChannelModeratedByAppInstanceUserResponse -> TestTree+responseDescribeChannelModeratedByAppInstanceUser =+  res+    "DescribeChannelModeratedByAppInstanceUserResponse"+    "fixture/DescribeChannelModeratedByAppInstanceUserResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeChannelModeratedByAppInstanceUser)++responseDescribeChannelModerator :: DescribeChannelModeratorResponse -> TestTree+responseDescribeChannelModerator =+  res+    "DescribeChannelModeratorResponse"+    "fixture/DescribeChannelModeratorResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeChannelModerator)++responseDisassociatePhoneNumberFromUser :: DisassociatePhoneNumberFromUserResponse -> TestTree+responseDisassociatePhoneNumberFromUser =+  res+    "DisassociatePhoneNumberFromUserResponse"+    "fixture/DisassociatePhoneNumberFromUserResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DisassociatePhoneNumberFromUser)++responseDisassociatePhoneNumbersFromVoiceConnector :: DisassociatePhoneNumbersFromVoiceConnectorResponse -> TestTree+responseDisassociatePhoneNumbersFromVoiceConnector =+  res+    "DisassociatePhoneNumbersFromVoiceConnectorResponse"+    "fixture/DisassociatePhoneNumbersFromVoiceConnectorResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DisassociatePhoneNumbersFromVoiceConnector)++responseDisassociatePhoneNumbersFromVoiceConnectorGroup :: DisassociatePhoneNumbersFromVoiceConnectorGroupResponse -> TestTree+responseDisassociatePhoneNumbersFromVoiceConnectorGroup =+  res+    "DisassociatePhoneNumbersFromVoiceConnectorGroupResponse"+    "fixture/DisassociatePhoneNumbersFromVoiceConnectorGroupResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DisassociatePhoneNumbersFromVoiceConnectorGroup)++responseDisassociateSigninDelegateGroupsFromAccount :: DisassociateSigninDelegateGroupsFromAccountResponse -> TestTree+responseDisassociateSigninDelegateGroupsFromAccount =+  res+    "DisassociateSigninDelegateGroupsFromAccountResponse"+    "fixture/DisassociateSigninDelegateGroupsFromAccountResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DisassociateSigninDelegateGroupsFromAccount)++responseGetAccount :: GetAccountResponse -> TestTree+responseGetAccount =+  res+    "GetAccountResponse"+    "fixture/GetAccountResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetAccount)++responseGetAccountSettings :: GetAccountSettingsResponse -> TestTree+responseGetAccountSettings =+  res+    "GetAccountSettingsResponse"+    "fixture/GetAccountSettingsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetAccountSettings)++responseGetAppInstanceRetentionSettings :: GetAppInstanceRetentionSettingsResponse -> TestTree+responseGetAppInstanceRetentionSettings =+  res+    "GetAppInstanceRetentionSettingsResponse"+    "fixture/GetAppInstanceRetentionSettingsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetAppInstanceRetentionSettings)++responseGetAppInstanceStreamingConfigurations :: GetAppInstanceStreamingConfigurationsResponse -> TestTree+responseGetAppInstanceStreamingConfigurations =+  res+    "GetAppInstanceStreamingConfigurationsResponse"+    "fixture/GetAppInstanceStreamingConfigurationsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetAppInstanceStreamingConfigurations)++responseGetAttendee :: GetAttendeeResponse -> TestTree+responseGetAttendee =+  res+    "GetAttendeeResponse"+    "fixture/GetAttendeeResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetAttendee)++responseGetBot :: GetBotResponse -> TestTree+responseGetBot =+  res+    "GetBotResponse"+    "fixture/GetBotResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetBot)++responseGetChannelMessage :: GetChannelMessageResponse -> TestTree+responseGetChannelMessage =+  res+    "GetChannelMessageResponse"+    "fixture/GetChannelMessageResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetChannelMessage)++responseGetEventsConfiguration :: GetEventsConfigurationResponse -> TestTree+responseGetEventsConfiguration =+  res+    "GetEventsConfigurationResponse"+    "fixture/GetEventsConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetEventsConfiguration)++responseGetGlobalSettings :: GetGlobalSettingsResponse -> TestTree+responseGetGlobalSettings =+  res+    "GetGlobalSettingsResponse"+    "fixture/GetGlobalSettingsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetGlobalSettings)++responseGetMediaCapturePipeline :: GetMediaCapturePipelineResponse -> TestTree+responseGetMediaCapturePipeline =+  res+    "GetMediaCapturePipelineResponse"+    "fixture/GetMediaCapturePipelineResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetMediaCapturePipeline)++responseGetMeeting :: GetMeetingResponse -> TestTree+responseGetMeeting =+  res+    "GetMeetingResponse"+    "fixture/GetMeetingResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetMeeting)++responseGetMessagingSessionEndpoint :: GetMessagingSessionEndpointResponse -> TestTree+responseGetMessagingSessionEndpoint =+  res+    "GetMessagingSessionEndpointResponse"+    "fixture/GetMessagingSessionEndpointResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetMessagingSessionEndpoint)++responseGetPhoneNumber :: GetPhoneNumberResponse -> TestTree+responseGetPhoneNumber =+  res+    "GetPhoneNumberResponse"+    "fixture/GetPhoneNumberResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetPhoneNumber)++responseGetPhoneNumberOrder :: GetPhoneNumberOrderResponse -> TestTree+responseGetPhoneNumberOrder =+  res+    "GetPhoneNumberOrderResponse"+    "fixture/GetPhoneNumberOrderResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetPhoneNumberOrder)++responseGetPhoneNumberSettings :: GetPhoneNumberSettingsResponse -> TestTree+responseGetPhoneNumberSettings =+  res+    "GetPhoneNumberSettingsResponse"+    "fixture/GetPhoneNumberSettingsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetPhoneNumberSettings)++responseGetProxySession :: GetProxySessionResponse -> TestTree+responseGetProxySession =+  res+    "GetProxySessionResponse"+    "fixture/GetProxySessionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetProxySession)++responseGetRetentionSettings :: GetRetentionSettingsResponse -> TestTree+responseGetRetentionSettings =+  res+    "GetRetentionSettingsResponse"+    "fixture/GetRetentionSettingsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetRetentionSettings)++responseGetRoom :: GetRoomResponse -> TestTree+responseGetRoom =+  res+    "GetRoomResponse"+    "fixture/GetRoomResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetRoom)++responseGetSipMediaApplication :: GetSipMediaApplicationResponse -> TestTree+responseGetSipMediaApplication =+  res+    "GetSipMediaApplicationResponse"+    "fixture/GetSipMediaApplicationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetSipMediaApplication)++responseGetSipMediaApplicationLoggingConfiguration :: GetSipMediaApplicationLoggingConfigurationResponse -> TestTree+responseGetSipMediaApplicationLoggingConfiguration =+  res+    "GetSipMediaApplicationLoggingConfigurationResponse"+    "fixture/GetSipMediaApplicationLoggingConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetSipMediaApplicationLoggingConfiguration)++responseGetSipRule :: GetSipRuleResponse -> TestTree+responseGetSipRule =+  res+    "GetSipRuleResponse"+    "fixture/GetSipRuleResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetSipRule)++responseGetUser :: GetUserResponse -> TestTree+responseGetUser =+  res+    "GetUserResponse"+    "fixture/GetUserResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetUser)++responseGetUserSettings :: GetUserSettingsResponse -> TestTree+responseGetUserSettings =+  res+    "GetUserSettingsResponse"+    "fixture/GetUserSettingsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetUserSettings)++responseGetVoiceConnector :: GetVoiceConnectorResponse -> TestTree+responseGetVoiceConnector =+  res+    "GetVoiceConnectorResponse"+    "fixture/GetVoiceConnectorResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetVoiceConnector)++responseGetVoiceConnectorEmergencyCallingConfiguration :: GetVoiceConnectorEmergencyCallingConfigurationResponse -> TestTree+responseGetVoiceConnectorEmergencyCallingConfiguration =+  res+    "GetVoiceConnectorEmergencyCallingConfigurationResponse"+    "fixture/GetVoiceConnectorEmergencyCallingConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetVoiceConnectorEmergencyCallingConfiguration)++responseGetVoiceConnectorGroup :: GetVoiceConnectorGroupResponse -> TestTree+responseGetVoiceConnectorGroup =+  res+    "GetVoiceConnectorGroupResponse"+    "fixture/GetVoiceConnectorGroupResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetVoiceConnectorGroup)++responseGetVoiceConnectorLoggingConfiguration :: GetVoiceConnectorLoggingConfigurationResponse -> TestTree+responseGetVoiceConnectorLoggingConfiguration =+  res+    "GetVoiceConnectorLoggingConfigurationResponse"+    "fixture/GetVoiceConnectorLoggingConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetVoiceConnectorLoggingConfiguration)++responseGetVoiceConnectorOrigination :: GetVoiceConnectorOriginationResponse -> TestTree+responseGetVoiceConnectorOrigination =+  res+    "GetVoiceConnectorOriginationResponse"+    "fixture/GetVoiceConnectorOriginationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetVoiceConnectorOrigination)++responseGetVoiceConnectorProxy :: GetVoiceConnectorProxyResponse -> TestTree+responseGetVoiceConnectorProxy =+  res+    "GetVoiceConnectorProxyResponse"+    "fixture/GetVoiceConnectorProxyResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetVoiceConnectorProxy)++responseGetVoiceConnectorStreamingConfiguration :: GetVoiceConnectorStreamingConfigurationResponse -> TestTree+responseGetVoiceConnectorStreamingConfiguration =+  res+    "GetVoiceConnectorStreamingConfigurationResponse"+    "fixture/GetVoiceConnectorStreamingConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetVoiceConnectorStreamingConfiguration)++responseGetVoiceConnectorTermination :: GetVoiceConnectorTerminationResponse -> TestTree+responseGetVoiceConnectorTermination =+  res+    "GetVoiceConnectorTerminationResponse"+    "fixture/GetVoiceConnectorTerminationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetVoiceConnectorTermination)++responseGetVoiceConnectorTerminationHealth :: GetVoiceConnectorTerminationHealthResponse -> TestTree+responseGetVoiceConnectorTerminationHealth =+  res+    "GetVoiceConnectorTerminationHealthResponse"+    "fixture/GetVoiceConnectorTerminationHealthResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetVoiceConnectorTerminationHealth)++responseInviteUsers :: InviteUsersResponse -> TestTree+responseInviteUsers =+  res+    "InviteUsersResponse"+    "fixture/InviteUsersResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy InviteUsers)++responseListAccounts :: ListAccountsResponse -> TestTree+responseListAccounts =+  res+    "ListAccountsResponse"+    "fixture/ListAccountsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListAccounts)++responseListAppInstanceAdmins :: ListAppInstanceAdminsResponse -> TestTree+responseListAppInstanceAdmins =+  res+    "ListAppInstanceAdminsResponse"+    "fixture/ListAppInstanceAdminsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListAppInstanceAdmins)++responseListAppInstanceUsers :: ListAppInstanceUsersResponse -> TestTree+responseListAppInstanceUsers =+  res+    "ListAppInstanceUsersResponse"+    "fixture/ListAppInstanceUsersResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListAppInstanceUsers)++responseListAppInstances :: ListAppInstancesResponse -> TestTree+responseListAppInstances =+  res+    "ListAppInstancesResponse"+    "fixture/ListAppInstancesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListAppInstances)++responseListAttendeeTags :: ListAttendeeTagsResponse -> TestTree+responseListAttendeeTags =+  res+    "ListAttendeeTagsResponse"+    "fixture/ListAttendeeTagsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListAttendeeTags)++responseListAttendees :: ListAttendeesResponse -> TestTree+responseListAttendees =+  res+    "ListAttendeesResponse"+    "fixture/ListAttendeesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListAttendees)++responseListBots :: ListBotsResponse -> TestTree+responseListBots =+  res+    "ListBotsResponse"+    "fixture/ListBotsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListBots)++responseListChannelBans :: ListChannelBansResponse -> TestTree+responseListChannelBans =+  res+    "ListChannelBansResponse"+    "fixture/ListChannelBansResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListChannelBans)++responseListChannelMemberships :: ListChannelMembershipsResponse -> TestTree+responseListChannelMemberships =+  res+    "ListChannelMembershipsResponse"+    "fixture/ListChannelMembershipsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListChannelMemberships)++responseListChannelMembershipsForAppInstanceUser :: ListChannelMembershipsForAppInstanceUserResponse -> TestTree+responseListChannelMembershipsForAppInstanceUser =+  res+    "ListChannelMembershipsForAppInstanceUserResponse"+    "fixture/ListChannelMembershipsForAppInstanceUserResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListChannelMembershipsForAppInstanceUser)++responseListChannelMessages :: ListChannelMessagesResponse -> TestTree+responseListChannelMessages =+  res+    "ListChannelMessagesResponse"+    "fixture/ListChannelMessagesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListChannelMessages)++responseListChannelModerators :: ListChannelModeratorsResponse -> TestTree+responseListChannelModerators =+  res+    "ListChannelModeratorsResponse"+    "fixture/ListChannelModeratorsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListChannelModerators)++responseListChannels :: ListChannelsResponse -> TestTree+responseListChannels =+  res+    "ListChannelsResponse"+    "fixture/ListChannelsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListChannels)++responseListChannelsModeratedByAppInstanceUser :: ListChannelsModeratedByAppInstanceUserResponse -> TestTree+responseListChannelsModeratedByAppInstanceUser =+  res+    "ListChannelsModeratedByAppInstanceUserResponse"+    "fixture/ListChannelsModeratedByAppInstanceUserResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListChannelsModeratedByAppInstanceUser)++responseListMediaCapturePipelines :: ListMediaCapturePipelinesResponse -> TestTree+responseListMediaCapturePipelines =+  res+    "ListMediaCapturePipelinesResponse"+    "fixture/ListMediaCapturePipelinesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListMediaCapturePipelines)++responseListMeetingTags :: ListMeetingTagsResponse -> TestTree+responseListMeetingTags =+  res+    "ListMeetingTagsResponse"+    "fixture/ListMeetingTagsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListMeetingTags)++responseListMeetings :: ListMeetingsResponse -> TestTree+responseListMeetings =+  res+    "ListMeetingsResponse"+    "fixture/ListMeetingsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListMeetings)++responseListPhoneNumberOrders :: ListPhoneNumberOrdersResponse -> TestTree+responseListPhoneNumberOrders =+  res+    "ListPhoneNumberOrdersResponse"+    "fixture/ListPhoneNumberOrdersResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListPhoneNumberOrders)++responseListPhoneNumbers :: ListPhoneNumbersResponse -> TestTree+responseListPhoneNumbers =+  res+    "ListPhoneNumbersResponse"+    "fixture/ListPhoneNumbersResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListPhoneNumbers)++responseListProxySessions :: ListProxySessionsResponse -> TestTree+responseListProxySessions =+  res+    "ListProxySessionsResponse"+    "fixture/ListProxySessionsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListProxySessions)++responseListRoomMemberships :: ListRoomMembershipsResponse -> TestTree+responseListRoomMemberships =+  res+    "ListRoomMembershipsResponse"+    "fixture/ListRoomMembershipsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListRoomMemberships)++responseListRooms :: ListRoomsResponse -> TestTree+responseListRooms =+  res+    "ListRoomsResponse"+    "fixture/ListRoomsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListRooms)++responseListSipMediaApplications :: ListSipMediaApplicationsResponse -> TestTree+responseListSipMediaApplications =+  res+    "ListSipMediaApplicationsResponse"+    "fixture/ListSipMediaApplicationsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListSipMediaApplications)++responseListSipRules :: ListSipRulesResponse -> TestTree+responseListSipRules =+  res+    "ListSipRulesResponse"+    "fixture/ListSipRulesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListSipRules)++responseListSupportedPhoneNumberCountries :: ListSupportedPhoneNumberCountriesResponse -> TestTree+responseListSupportedPhoneNumberCountries =+  res+    "ListSupportedPhoneNumberCountriesResponse"+    "fixture/ListSupportedPhoneNumberCountriesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListSupportedPhoneNumberCountries)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+  res+    "ListTagsForResourceResponse"+    "fixture/ListTagsForResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responseListUsers :: ListUsersResponse -> TestTree+responseListUsers =+  res+    "ListUsersResponse"+    "fixture/ListUsersResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListUsers)++responseListVoiceConnectorGroups :: ListVoiceConnectorGroupsResponse -> TestTree+responseListVoiceConnectorGroups =+  res+    "ListVoiceConnectorGroupsResponse"+    "fixture/ListVoiceConnectorGroupsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListVoiceConnectorGroups)++responseListVoiceConnectorTerminationCredentials :: ListVoiceConnectorTerminationCredentialsResponse -> TestTree+responseListVoiceConnectorTerminationCredentials =+  res+    "ListVoiceConnectorTerminationCredentialsResponse"+    "fixture/ListVoiceConnectorTerminationCredentialsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListVoiceConnectorTerminationCredentials)++responseListVoiceConnectors :: ListVoiceConnectorsResponse -> TestTree+responseListVoiceConnectors =+  res+    "ListVoiceConnectorsResponse"+    "fixture/ListVoiceConnectorsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListVoiceConnectors)++responseLogoutUser :: LogoutUserResponse -> TestTree+responseLogoutUser =+  res+    "LogoutUserResponse"+    "fixture/LogoutUserResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy LogoutUser)++responsePutAppInstanceRetentionSettings :: PutAppInstanceRetentionSettingsResponse -> TestTree+responsePutAppInstanceRetentionSettings =+  res+    "PutAppInstanceRetentionSettingsResponse"+    "fixture/PutAppInstanceRetentionSettingsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutAppInstanceRetentionSettings)++responsePutAppInstanceStreamingConfigurations :: PutAppInstanceStreamingConfigurationsResponse -> TestTree+responsePutAppInstanceStreamingConfigurations =+  res+    "PutAppInstanceStreamingConfigurationsResponse"+    "fixture/PutAppInstanceStreamingConfigurationsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutAppInstanceStreamingConfigurations)++responsePutEventsConfiguration :: PutEventsConfigurationResponse -> TestTree+responsePutEventsConfiguration =+  res+    "PutEventsConfigurationResponse"+    "fixture/PutEventsConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutEventsConfiguration)++responsePutRetentionSettings :: PutRetentionSettingsResponse -> TestTree+responsePutRetentionSettings =+  res+    "PutRetentionSettingsResponse"+    "fixture/PutRetentionSettingsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutRetentionSettings)++responsePutSipMediaApplicationLoggingConfiguration :: PutSipMediaApplicationLoggingConfigurationResponse -> TestTree+responsePutSipMediaApplicationLoggingConfiguration =+  res+    "PutSipMediaApplicationLoggingConfigurationResponse"+    "fixture/PutSipMediaApplicationLoggingConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutSipMediaApplicationLoggingConfiguration)++responsePutVoiceConnectorEmergencyCallingConfiguration :: PutVoiceConnectorEmergencyCallingConfigurationResponse -> TestTree+responsePutVoiceConnectorEmergencyCallingConfiguration =+  res+    "PutVoiceConnectorEmergencyCallingConfigurationResponse"+    "fixture/PutVoiceConnectorEmergencyCallingConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutVoiceConnectorEmergencyCallingConfiguration)++responsePutVoiceConnectorLoggingConfiguration :: PutVoiceConnectorLoggingConfigurationResponse -> TestTree+responsePutVoiceConnectorLoggingConfiguration =+  res+    "PutVoiceConnectorLoggingConfigurationResponse"+    "fixture/PutVoiceConnectorLoggingConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutVoiceConnectorLoggingConfiguration)++responsePutVoiceConnectorOrigination :: PutVoiceConnectorOriginationResponse -> TestTree+responsePutVoiceConnectorOrigination =+  res+    "PutVoiceConnectorOriginationResponse"+    "fixture/PutVoiceConnectorOriginationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutVoiceConnectorOrigination)++responsePutVoiceConnectorProxy :: PutVoiceConnectorProxyResponse -> TestTree+responsePutVoiceConnectorProxy =+  res+    "PutVoiceConnectorProxyResponse"+    "fixture/PutVoiceConnectorProxyResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutVoiceConnectorProxy)++responsePutVoiceConnectorStreamingConfiguration :: PutVoiceConnectorStreamingConfigurationResponse -> TestTree+responsePutVoiceConnectorStreamingConfiguration =+  res+    "PutVoiceConnectorStreamingConfigurationResponse"+    "fixture/PutVoiceConnectorStreamingConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutVoiceConnectorStreamingConfiguration)++responsePutVoiceConnectorTermination :: PutVoiceConnectorTerminationResponse -> TestTree+responsePutVoiceConnectorTermination =+  res+    "PutVoiceConnectorTerminationResponse"+    "fixture/PutVoiceConnectorTerminationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutVoiceConnectorTermination)++responsePutVoiceConnectorTerminationCredentials :: PutVoiceConnectorTerminationCredentialsResponse -> TestTree+responsePutVoiceConnectorTerminationCredentials =+  res+    "PutVoiceConnectorTerminationCredentialsResponse"+    "fixture/PutVoiceConnectorTerminationCredentialsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutVoiceConnectorTerminationCredentials)++responseRedactChannelMessage :: RedactChannelMessageResponse -> TestTree+responseRedactChannelMessage =+  res+    "RedactChannelMessageResponse"+    "fixture/RedactChannelMessageResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy RedactChannelMessage)++responseRedactConversationMessage :: RedactConversationMessageResponse -> TestTree+responseRedactConversationMessage =+  res+    "RedactConversationMessageResponse"+    "fixture/RedactConversationMessageResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy RedactConversationMessage)++responseRedactRoomMessage :: RedactRoomMessageResponse -> TestTree+responseRedactRoomMessage =+  res+    "RedactRoomMessageResponse"+    "fixture/RedactRoomMessageResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy RedactRoomMessage)++responseRegenerateSecurityToken :: RegenerateSecurityTokenResponse -> TestTree+responseRegenerateSecurityToken =+  res+    "RegenerateSecurityTokenResponse"+    "fixture/RegenerateSecurityTokenResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy RegenerateSecurityToken)++responseResetPersonalPIN :: ResetPersonalPINResponse -> TestTree+responseResetPersonalPIN =+  res+    "ResetPersonalPINResponse"+    "fixture/ResetPersonalPINResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ResetPersonalPIN)++responseRestorePhoneNumber :: RestorePhoneNumberResponse -> TestTree+responseRestorePhoneNumber =+  res+    "RestorePhoneNumberResponse"+    "fixture/RestorePhoneNumberResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy RestorePhoneNumber)++responseSearchAvailablePhoneNumbers :: SearchAvailablePhoneNumbersResponse -> TestTree+responseSearchAvailablePhoneNumbers =+  res+    "SearchAvailablePhoneNumbersResponse"+    "fixture/SearchAvailablePhoneNumbersResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy SearchAvailablePhoneNumbers)++responseSendChannelMessage :: SendChannelMessageResponse -> TestTree+responseSendChannelMessage =+  res+    "SendChannelMessageResponse"+    "fixture/SendChannelMessageResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy SendChannelMessage)++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)++responseTagAttendee :: TagAttendeeResponse -> TestTree+responseTagAttendee =+  res+    "TagAttendeeResponse"+    "fixture/TagAttendeeResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy TagAttendee)++responseTagMeeting :: TagMeetingResponse -> TestTree+responseTagMeeting =+  res+    "TagMeetingResponse"+    "fixture/TagMeetingResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy TagMeeting)++responseTagResource :: TagResourceResponse -> TestTree+responseTagResource =+  res+    "TagResourceResponse"+    "fixture/TagResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy TagResource)++responseUntagAttendee :: UntagAttendeeResponse -> TestTree+responseUntagAttendee =+  res+    "UntagAttendeeResponse"+    "fixture/UntagAttendeeResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UntagAttendee)++responseUntagMeeting :: UntagMeetingResponse -> TestTree+responseUntagMeeting =+  res+    "UntagMeetingResponse"+    "fixture/UntagMeetingResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UntagMeeting)++responseUntagResource :: UntagResourceResponse -> TestTree+responseUntagResource =+  res+    "UntagResourceResponse"+    "fixture/UntagResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UntagResource)++responseUpdateAccount :: UpdateAccountResponse -> TestTree+responseUpdateAccount =+  res+    "UpdateAccountResponse"+    "fixture/UpdateAccountResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateAccount)++responseUpdateAccountSettings :: UpdateAccountSettingsResponse -> TestTree+responseUpdateAccountSettings =+  res+    "UpdateAccountSettingsResponse"+    "fixture/UpdateAccountSettingsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateAccountSettings)++responseUpdateAppInstance :: UpdateAppInstanceResponse -> TestTree+responseUpdateAppInstance =+  res+    "UpdateAppInstanceResponse"+    "fixture/UpdateAppInstanceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateAppInstance)++responseUpdateAppInstanceUser :: UpdateAppInstanceUserResponse -> TestTree+responseUpdateAppInstanceUser =+  res+    "UpdateAppInstanceUserResponse"+    "fixture/UpdateAppInstanceUserResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateAppInstanceUser)++responseUpdateBot :: UpdateBotResponse -> TestTree+responseUpdateBot =+  res+    "UpdateBotResponse"+    "fixture/UpdateBotResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateBot)++responseUpdateChannel :: UpdateChannelResponse -> TestTree+responseUpdateChannel =+  res+    "UpdateChannelResponse"+    "fixture/UpdateChannelResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateChannel)++responseUpdateChannelMessage :: UpdateChannelMessageResponse -> TestTree+responseUpdateChannelMessage =+  res+    "UpdateChannelMessageResponse"+    "fixture/UpdateChannelMessageResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateChannelMessage)++responseUpdateChannelReadMarker :: UpdateChannelReadMarkerResponse -> TestTree+responseUpdateChannelReadMarker =+  res+    "UpdateChannelReadMarkerResponse"+    "fixture/UpdateChannelReadMarkerResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateChannelReadMarker)++responseUpdateGlobalSettings :: UpdateGlobalSettingsResponse -> TestTree+responseUpdateGlobalSettings =+  res+    "UpdateGlobalSettingsResponse"+    "fixture/UpdateGlobalSettingsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateGlobalSettings)++responseUpdatePhoneNumber :: UpdatePhoneNumberResponse -> TestTree+responseUpdatePhoneNumber =+  res+    "UpdatePhoneNumberResponse"+    "fixture/UpdatePhoneNumberResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdatePhoneNumber)++responseUpdatePhoneNumberSettings :: UpdatePhoneNumberSettingsResponse -> TestTree+responseUpdatePhoneNumberSettings =+  res+    "UpdatePhoneNumberSettingsResponse"+    "fixture/UpdatePhoneNumberSettingsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdatePhoneNumberSettings)++responseUpdateProxySession :: UpdateProxySessionResponse -> TestTree+responseUpdateProxySession =+  res+    "UpdateProxySessionResponse"+    "fixture/UpdateProxySessionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateProxySession)++responseUpdateRoom :: UpdateRoomResponse -> TestTree+responseUpdateRoom =+  res+    "UpdateRoomResponse"+    "fixture/UpdateRoomResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateRoom)++responseUpdateRoomMembership :: UpdateRoomMembershipResponse -> TestTree+responseUpdateRoomMembership =+  res+    "UpdateRoomMembershipResponse"+    "fixture/UpdateRoomMembershipResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateRoomMembership)++responseUpdateSipMediaApplication :: UpdateSipMediaApplicationResponse -> TestTree+responseUpdateSipMediaApplication =+  res+    "UpdateSipMediaApplicationResponse"+    "fixture/UpdateSipMediaApplicationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateSipMediaApplication)++responseUpdateSipMediaApplicationCall :: UpdateSipMediaApplicationCallResponse -> TestTree+responseUpdateSipMediaApplicationCall =+  res+    "UpdateSipMediaApplicationCallResponse"+    "fixture/UpdateSipMediaApplicationCallResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateSipMediaApplicationCall)++responseUpdateSipRule :: UpdateSipRuleResponse -> TestTree+responseUpdateSipRule =+  res+    "UpdateSipRuleResponse"+    "fixture/UpdateSipRuleResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateSipRule)++responseUpdateUser :: UpdateUserResponse -> TestTree+responseUpdateUser =+  res+    "UpdateUserResponse"+    "fixture/UpdateUserResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateUser)++responseUpdateUserSettings :: UpdateUserSettingsResponse -> TestTree+responseUpdateUserSettings =+  res+    "UpdateUserSettingsResponse"+    "fixture/UpdateUserSettingsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateUserSettings)++responseUpdateVoiceConnector :: UpdateVoiceConnectorResponse -> TestTree+responseUpdateVoiceConnector =+  res+    "UpdateVoiceConnectorResponse"+    "fixture/UpdateVoiceConnectorResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateVoiceConnector)++responseUpdateVoiceConnectorGroup :: UpdateVoiceConnectorGroupResponse -> TestTree+responseUpdateVoiceConnectorGroup =+  res+    "UpdateVoiceConnectorGroupResponse"+    "fixture/UpdateVoiceConnectorGroupResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateVoiceConnectorGroup)++responseValidateE911Address :: ValidateE911AddressResponse -> TestTree+responseValidateE911Address =+  res+    "ValidateE911AddressResponse"+    "fixture/ValidateE911AddressResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ValidateE911Address)