amazonka-pinpoint-email (empty) → 2.0
raw patch · 184 files changed
+18781/−0 lines, 184 filesdep +amazonka-coredep +amazonka-pinpoint-emaildep +amazonka-test
Dependencies added: amazonka-core, amazonka-pinpoint-email, amazonka-test, base, bytestring, case-insensitive, tasty, tasty-hunit, text, time, unordered-containers
Files
- LICENSE +367/−0
- README.md +44/−0
- amazonka-pinpoint-email.cabal +171/−0
- fixture/CreateConfigurationSet.yaml +10/−0
- fixture/CreateConfigurationSetEventDestination.yaml +10/−0
- fixture/CreateConfigurationSetEventDestinationResponse.proto +0/−0
- fixture/CreateConfigurationSetResponse.proto +0/−0
- fixture/CreateDedicatedIpPool.yaml +10/−0
- fixture/CreateDedicatedIpPoolResponse.proto +0/−0
- fixture/CreateDeliverabilityTestReport.yaml +10/−0
- fixture/CreateDeliverabilityTestReportResponse.proto +0/−0
- fixture/CreateEmailIdentity.yaml +10/−0
- fixture/CreateEmailIdentityResponse.proto +0/−0
- fixture/DeleteConfigurationSet.yaml +10/−0
- fixture/DeleteConfigurationSetEventDestination.yaml +10/−0
- fixture/DeleteConfigurationSetEventDestinationResponse.proto +0/−0
- fixture/DeleteConfigurationSetResponse.proto +0/−0
- fixture/DeleteDedicatedIpPool.yaml +10/−0
- fixture/DeleteDedicatedIpPoolResponse.proto +0/−0
- fixture/DeleteEmailIdentity.yaml +10/−0
- fixture/DeleteEmailIdentityResponse.proto +0/−0
- fixture/GetAccount.yaml +10/−0
- fixture/GetAccountResponse.proto +0/−0
- fixture/GetBlacklistReports.yaml +10/−0
- fixture/GetBlacklistReportsResponse.proto +0/−0
- fixture/GetConfigurationSet.yaml +10/−0
- fixture/GetConfigurationSetEventDestinations.yaml +10/−0
- fixture/GetConfigurationSetEventDestinationsResponse.proto +0/−0
- fixture/GetConfigurationSetResponse.proto +0/−0
- fixture/GetDedicatedIp.yaml +10/−0
- fixture/GetDedicatedIpResponse.proto +0/−0
- fixture/GetDedicatedIps.yaml +10/−0
- fixture/GetDedicatedIpsResponse.proto +0/−0
- fixture/GetDeliverabilityDashboardOptions.yaml +10/−0
- fixture/GetDeliverabilityDashboardOptionsResponse.proto +0/−0
- fixture/GetDeliverabilityTestReport.yaml +10/−0
- fixture/GetDeliverabilityTestReportResponse.proto +0/−0
- fixture/GetDomainDeliverabilityCampaign.yaml +10/−0
- fixture/GetDomainDeliverabilityCampaignResponse.proto +0/−0
- fixture/GetDomainStatisticsReport.yaml +10/−0
- fixture/GetDomainStatisticsReportResponse.proto +0/−0
- fixture/GetEmailIdentity.yaml +10/−0
- fixture/GetEmailIdentityResponse.proto +0/−0
- fixture/ListConfigurationSets.yaml +10/−0
- fixture/ListConfigurationSetsResponse.proto +0/−0
- fixture/ListDedicatedIpPools.yaml +10/−0
- fixture/ListDedicatedIpPoolsResponse.proto +0/−0
- fixture/ListDeliverabilityTestReports.yaml +10/−0
- fixture/ListDeliverabilityTestReportsResponse.proto +0/−0
- fixture/ListDomainDeliverabilityCampaigns.yaml +10/−0
- fixture/ListDomainDeliverabilityCampaignsResponse.proto +0/−0
- fixture/ListEmailIdentities.yaml +10/−0
- fixture/ListEmailIdentitiesResponse.proto +0/−0
- fixture/ListTagsForResource.yaml +10/−0
- fixture/ListTagsForResourceResponse.proto +0/−0
- fixture/PutAccountDedicatedIpWarmupAttributes.yaml +10/−0
- fixture/PutAccountDedicatedIpWarmupAttributesResponse.proto +0/−0
- fixture/PutAccountSendingAttributes.yaml +10/−0
- fixture/PutAccountSendingAttributesResponse.proto +0/−0
- fixture/PutConfigurationSetDeliveryOptions.yaml +10/−0
- fixture/PutConfigurationSetDeliveryOptionsResponse.proto +0/−0
- fixture/PutConfigurationSetReputationOptions.yaml +10/−0
- fixture/PutConfigurationSetReputationOptionsResponse.proto +0/−0
- fixture/PutConfigurationSetSendingOptions.yaml +10/−0
- fixture/PutConfigurationSetSendingOptionsResponse.proto +0/−0
- fixture/PutConfigurationSetTrackingOptions.yaml +10/−0
- fixture/PutConfigurationSetTrackingOptionsResponse.proto +0/−0
- fixture/PutDedicatedIpInPool.yaml +10/−0
- fixture/PutDedicatedIpInPoolResponse.proto +0/−0
- fixture/PutDedicatedIpWarmupAttributes.yaml +10/−0
- fixture/PutDedicatedIpWarmupAttributesResponse.proto +0/−0
- fixture/PutDeliverabilityDashboardOption.yaml +10/−0
- fixture/PutDeliverabilityDashboardOptionResponse.proto +0/−0
- fixture/PutEmailIdentityDkimAttributes.yaml +10/−0
- fixture/PutEmailIdentityDkimAttributesResponse.proto +0/−0
- fixture/PutEmailIdentityFeedbackAttributes.yaml +10/−0
- fixture/PutEmailIdentityFeedbackAttributesResponse.proto +0/−0
- fixture/PutEmailIdentityMailFromAttributes.yaml +10/−0
- fixture/PutEmailIdentityMailFromAttributesResponse.proto +0/−0
- fixture/SendEmail.yaml +10/−0
- fixture/SendEmailResponse.proto +0/−0
- fixture/TagResource.yaml +10/−0
- fixture/TagResourceResponse.proto +0/−0
- fixture/UntagResource.yaml +10/−0
- fixture/UntagResourceResponse.proto +0/−0
- fixture/UpdateConfigurationSetEventDestination.yaml +10/−0
- fixture/UpdateConfigurationSetEventDestinationResponse.proto +0/−0
- gen/Amazonka/PinpointEmail.hs +598/−0
- gen/Amazonka/PinpointEmail/CreateConfigurationSet.hs +261/−0
- gen/Amazonka/PinpointEmail/CreateConfigurationSetEventDestination.hs +249/−0
- gen/Amazonka/PinpointEmail/CreateDedicatedIpPool.hs +181/−0
- gen/Amazonka/PinpointEmail/CreateDeliverabilityTestReport.hs +300/−0
- gen/Amazonka/PinpointEmail/CreateEmailIdentity.hs +254/−0
- gen/Amazonka/PinpointEmail/DeleteConfigurationSet.hs +167/−0
- gen/Amazonka/PinpointEmail/DeleteConfigurationSetEventDestination.hs +214/−0
- gen/Amazonka/PinpointEmail/DeleteDedicatedIpPool.hs +152/−0
- gen/Amazonka/PinpointEmail/DeleteEmailIdentity.hs +164/−0
- gen/Amazonka/PinpointEmail/GetAccount.hs +281/−0
- gen/Amazonka/PinpointEmail/GetBlacklistReports.hs +183/−0
- gen/Amazonka/PinpointEmail/GetConfigurationSet.hs +258/−0
- gen/Amazonka/PinpointEmail/GetConfigurationSetEventDestinations.hs +210/−0
- gen/Amazonka/PinpointEmail/GetDedicatedIp.hs +170/−0
- gen/Amazonka/PinpointEmail/GetDedicatedIps.hs +254/−0
- gen/Amazonka/PinpointEmail/GetDeliverabilityDashboardOptions.hs +289/−0
- gen/Amazonka/PinpointEmail/GetDeliverabilityTestReport.hs +246/−0
- gen/Amazonka/PinpointEmail/GetDomainDeliverabilityCampaign.hs +212/−0
- gen/Amazonka/PinpointEmail/GetDomainStatisticsReport.hs +246/−0
- gen/Amazonka/PinpointEmail/GetEmailIdentity.hs +288/−0
- gen/Amazonka/PinpointEmail/Lens.hs +547/−0
- gen/Amazonka/PinpointEmail/ListConfigurationSets.hs +251/−0
- gen/Amazonka/PinpointEmail/ListDedicatedIpPools.hs +240/−0
- gen/Amazonka/PinpointEmail/ListDeliverabilityTestReports.hs +271/−0
- gen/Amazonka/PinpointEmail/ListDomainDeliverabilityCampaigns.hs +319/−0
- gen/Amazonka/PinpointEmail/ListEmailIdentities.hs +256/−0
- gen/Amazonka/PinpointEmail/ListTagsForResource.hs +173/−0
- gen/Amazonka/PinpointEmail/PutAccountDedicatedIpWarmupAttributes.hs +202/−0
- gen/Amazonka/PinpointEmail/PutAccountSendingAttributes.hs +176/−0
- gen/Amazonka/PinpointEmail/PutConfigurationSetDeliveryOptions.hs +243/−0
- gen/Amazonka/PinpointEmail/PutConfigurationSetReputationOptions.hs +221/−0
- gen/Amazonka/PinpointEmail/PutConfigurationSetSendingOptions.hs +218/−0
- gen/Amazonka/PinpointEmail/PutConfigurationSetTrackingOptions.hs +215/−0
- gen/Amazonka/PinpointEmail/PutDedicatedIpInPool.hs +194/−0
- gen/Amazonka/PinpointEmail/PutDedicatedIpWarmupAttributes.hs +205/−0
- gen/Amazonka/PinpointEmail/PutDeliverabilityDashboardOption.hs +227/−0
- gen/Amazonka/PinpointEmail/PutEmailIdentityDkimAttributes.hs +215/−0
- gen/Amazonka/PinpointEmail/PutEmailIdentityFeedbackAttributes.hs +265/−0
- gen/Amazonka/PinpointEmail/PutEmailIdentityMailFromAttributes.hs +275/−0
- gen/Amazonka/PinpointEmail/SendEmail.hs +308/−0
- gen/Amazonka/PinpointEmail/TagResource.hs +185/−0
- gen/Amazonka/PinpointEmail/Types.hs +521/−0
- gen/Amazonka/PinpointEmail/Types/BehaviorOnMxFailure.hs +80/−0
- gen/Amazonka/PinpointEmail/Types/BlacklistEntry.hs +104/−0
- gen/Amazonka/PinpointEmail/Types/Body.hs +95/−0
- gen/Amazonka/PinpointEmail/Types/CloudWatchDestination.hs +93/−0
- gen/Amazonka/PinpointEmail/Types/CloudWatchDimensionConfiguration.hs +195/−0
- gen/Amazonka/PinpointEmail/Types/Content.hs +94/−0
- gen/Amazonka/PinpointEmail/Types/DailyVolume.hs +108/−0
- gen/Amazonka/PinpointEmail/Types/DedicatedIp.hs +146/−0
- gen/Amazonka/PinpointEmail/Types/DeliverabilityDashboardAccountStatus.hs +79/−0
- gen/Amazonka/PinpointEmail/Types/DeliverabilityTestReport.hs +159/−0
- gen/Amazonka/PinpointEmail/Types/DeliverabilityTestStatus.hs +77/−0
- gen/Amazonka/PinpointEmail/Types/DeliveryOptions.hs +110/−0
- gen/Amazonka/PinpointEmail/Types/Destination.hs +104/−0
- gen/Amazonka/PinpointEmail/Types/DimensionValueSource.hs +83/−0
- gen/Amazonka/PinpointEmail/Types/DkimAttributes.hs +182/−0
- gen/Amazonka/PinpointEmail/Types/DkimStatus.hs +105/−0
- gen/Amazonka/PinpointEmail/Types/DomainDeliverabilityCampaign.hs +289/−0
- gen/Amazonka/PinpointEmail/Types/DomainDeliverabilityTrackingOption.hs +138/−0
- gen/Amazonka/PinpointEmail/Types/DomainIspPlacement.hs +140/−0
- gen/Amazonka/PinpointEmail/Types/EmailContent.hs +169/−0
- gen/Amazonka/PinpointEmail/Types/EventDestination.hs +205/−0
- gen/Amazonka/PinpointEmail/Types/EventDestinationDefinition.hs +190/−0
- gen/Amazonka/PinpointEmail/Types/EventType.hs +103/−0
- gen/Amazonka/PinpointEmail/Types/IdentityInfo.hs +130/−0
- gen/Amazonka/PinpointEmail/Types/IdentityType.hs +81/−0
- gen/Amazonka/PinpointEmail/Types/InboxPlacementTrackingOption.hs +103/−0
- gen/Amazonka/PinpointEmail/Types/IspPlacement.hs +89/−0
- gen/Amazonka/PinpointEmail/Types/KinesisFirehoseDestination.hs +109/−0
- gen/Amazonka/PinpointEmail/Types/MailFromAttributes.hs +174/−0
- gen/Amazonka/PinpointEmail/Types/MailFromDomainStatus.hs +95/−0
- gen/Amazonka/PinpointEmail/Types/Message.hs +98/−0
- gen/Amazonka/PinpointEmail/Types/MessageTag.hs +120/−0
- gen/Amazonka/PinpointEmail/Types/OverallVolume.hs +112/−0
- gen/Amazonka/PinpointEmail/Types/PinpointDestination.hs +87/−0
- gen/Amazonka/PinpointEmail/Types/PlacementStatistics.hs +136/−0
- gen/Amazonka/PinpointEmail/Types/RawMessage.hs +136/−0
- gen/Amazonka/PinpointEmail/Types/ReputationOptions.hs +112/−0
- gen/Amazonka/PinpointEmail/Types/SendQuota.hs +110/−0
- gen/Amazonka/PinpointEmail/Types/SendingOptions.hs +81/−0
- gen/Amazonka/PinpointEmail/Types/SnsDestination.hs +86/−0
- gen/Amazonka/PinpointEmail/Types/Tag.hs +136/−0
- gen/Amazonka/PinpointEmail/Types/Template.hs +90/−0
- gen/Amazonka/PinpointEmail/Types/TlsPolicy.hs +76/−0
- gen/Amazonka/PinpointEmail/Types/TrackingOptions.hs +93/−0
- gen/Amazonka/PinpointEmail/Types/VolumeStatistics.hs +118/−0
- gen/Amazonka/PinpointEmail/Types/WarmupStatus.hs +72/−0
- gen/Amazonka/PinpointEmail/UntagResource.hs +186/−0
- gen/Amazonka/PinpointEmail/UpdateConfigurationSetEventDestination.hs +244/−0
- gen/Amazonka/PinpointEmail/Waiters.hs +24/−0
- src/.gitkeep +0/−0
- test/Main.hs +23/−0
- test/Test/Amazonka/Gen/PinpointEmail.hs +878/−0
- test/Test/Amazonka/PinpointEmail.hs +20/−0
- test/Test/Amazonka/PinpointEmail/Internal.hs +8/−0
+ LICENSE view
@@ -0,0 +1,367 @@+Mozilla Public License Version 2.0+==================================++1. Definitions+--------------++1.1. "Contributor"+ means each individual or legal entity that creates, contributes to+ the creation of, or owns Covered Software.++1.2. "Contributor Version"+ means the combination of the Contributions of others (if any) used+ by a Contributor and that particular Contributor's Contribution.++1.3. "Contribution"+ means Covered Software of a particular Contributor.++1.4. "Covered Software"+ means Source Code Form to which the initial Contributor has attached+ the notice in Exhibit A, the Executable Form of such Source Code+ Form, and Modifications of such Source Code Form, in each case+ including portions thereof.++1.5. "Incompatible With Secondary Licenses"+ means++ (a) that the initial Contributor has attached the notice described+ in Exhibit B to the Covered Software; or++ (b) that the Covered Software was made available under the terms of+ version 1.1 or earlier of the License, but not also under the+ terms of a Secondary License.++1.6. "Executable Form"+ means any form of the work other than Source Code Form.++1.7. "Larger Work"+ means a work that combines Covered Software with other material, in+ a separate file or files, that is not Covered Software.++1.8. "License"+ means this document.++1.9. "Licensable"+ means having the right to grant, to the maximum extent possible,+ whether at the time of the initial grant or subsequently, any and+ all of the rights conveyed by this License.++1.10. "Modifications"+ means any of the following:++ (a) any file in Source Code Form that results from an addition to,+ deletion from, or modification of the contents of Covered+ Software; or++ (b) any new file in Source Code Form that contains any Covered+ Software.++1.11. "Patent Claims" of a Contributor+ means any patent claim(s), including without limitation, method,+ process, and apparatus claims, in any patent Licensable by such+ Contributor that would be infringed, but for the grant of the+ License, by the making, using, selling, offering for sale, having+ made, import, or transfer of either its Contributions or its+ Contributor Version.++1.12. "Secondary License"+ means either the GNU General Public License, Version 2.0, the GNU+ Lesser General Public License, Version 2.1, the GNU Affero General+ Public License, Version 3.0, or any later versions of those+ licenses.++1.13. "Source Code Form"+ means the form of the work preferred for making modifications.++1.14. "You" (or "Your")+ means an individual or a legal entity exercising rights under this+ License. For legal entities, "You" includes any entity that+ controls, is controlled by, or is under common control with You. For+ purposes of this definition, "control" means (a) the power, direct+ or indirect, to cause the direction or management of such entity,+ whether by contract or otherwise, or (b) ownership of more than+ fifty percent (50%) of the outstanding shares or beneficial+ ownership of such entity.++2. License Grants and Conditions+--------------------------------++2.1. Grants++Each Contributor hereby grants You a world-wide, royalty-free,+non-exclusive license:++(a) under intellectual property rights (other than patent or trademark)+ Licensable by such Contributor to use, reproduce, make available,+ modify, display, perform, distribute, and otherwise exploit its+ Contributions, either on an unmodified basis, with Modifications, or+ as part of a Larger Work; and++(b) under Patent Claims of such Contributor to make, use, sell, offer+ for sale, have made, import, and otherwise transfer either its+ Contributions or its Contributor Version.++2.2. Effective Date++The licenses granted in Section 2.1 with respect to any Contribution+become effective for each Contribution on the date the Contributor first+distributes such Contribution.++2.3. Limitations on Grant Scope++The licenses granted in this Section 2 are the only rights granted under+this License. No additional rights or licenses will be implied from the+distribution or licensing of Covered Software under this License.+Notwithstanding Section 2.1(b) above, no patent license is granted by a+Contributor:++(a) for any code that a Contributor has removed from Covered Software;+ or++(b) for infringements caused by: (i) Your and any other third party's+ modifications of Covered Software, or (ii) the combination of its+ Contributions with other software (except as part of its Contributor+ Version); or++(c) under Patent Claims infringed by Covered Software in the absence of+ its Contributions.++This License does not grant any rights in the trademarks, service marks,+or logos of any Contributor (except as may be necessary to comply with+the notice requirements in Section 3.4).++2.4. Subsequent Licenses++No Contributor makes additional grants as a result of Your choice to+distribute the Covered Software under a subsequent version of this+License (see Section 10.2) or under the terms of a Secondary License (if+permitted under the terms of Section 3.3).++2.5. Representation++Each Contributor represents that the Contributor believes its+Contributions are its original creation(s) or it has sufficient rights+to grant the rights to its Contributions conveyed by this License.++2.6. Fair Use++This License is not intended to limit any rights You have under+applicable copyright doctrines of fair use, fair dealing, or other+equivalents.++2.7. Conditions++Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted+in Section 2.1.++3. Responsibilities+-------------------++3.1. Distribution of Source Form++All distribution of Covered Software in Source Code Form, including any+Modifications that You create or to which You contribute, must be under+the terms of this License. You must inform recipients that the Source+Code Form of the Covered Software is governed by the terms of this+License, and how they can obtain a copy of this License. You may not+attempt to alter or restrict the recipients' rights in the Source Code+Form.++3.2. Distribution of Executable Form++If You distribute Covered Software in Executable Form then:++(a) such Covered Software must also be made available in Source Code+ Form, as described in Section 3.1, and You must inform recipients of+ the Executable Form how they can obtain a copy of such Source Code+ Form by reasonable means in a timely manner, at a charge no more+ than the cost of distribution to the recipient; and++(b) You may distribute such Executable Form under the terms of this+ License, or sublicense it under different terms, provided that the+ license for the Executable Form does not attempt to limit or alter+ the recipients' rights in the Source Code Form under this License.++3.3. Distribution of a Larger Work++You may create and distribute a Larger Work under terms of Your choice,+provided that You also comply with the requirements of this License for+the Covered Software. If the Larger Work is a combination of Covered+Software with a work governed by one or more Secondary Licenses, and the+Covered Software is not Incompatible With Secondary Licenses, this+License permits You to additionally distribute such Covered Software+under the terms of such Secondary License(s), so that the recipient of+the Larger Work may, at their option, further distribute the Covered+Software under the terms of either this License or such Secondary+License(s).++3.4. Notices++You may not remove or alter the substance of any license notices+(including copyright notices, patent notices, disclaimers of warranty,+or limitations of liability) contained within the Source Code Form of+the Covered Software, except that You may alter any license notices to+the extent required to remedy known factual inaccuracies.++3.5. Application of Additional Terms++You may choose to offer, and to charge a fee for, warranty, support,+indemnity or liability obligations to one or more recipients of Covered+Software. However, You may do so only on Your own behalf, and not on+behalf of any Contributor. You must make it absolutely clear that any+such warranty, support, indemnity, or liability obligation is offered by+You alone, and You hereby agree to indemnify every Contributor for any+liability incurred by such Contributor as a result of warranty, support,+indemnity or liability terms You offer. You may include additional+disclaimers of warranty and limitations of liability specific to any+jurisdiction.++4. Inability to Comply Due to Statute or Regulation+---------------------------------------------------++If it is impossible for You to comply with any of the terms of this+License with respect to some or all of the Covered Software due to+statute, judicial order, or regulation then You must: (a) comply with+the terms of this License to the maximum extent possible; and (b)+describe the limitations and the code they affect. Such description must+be placed in a text file included with all distributions of the Covered+Software under this License. Except to the extent prohibited by statute+or regulation, such description must be sufficiently detailed for a+recipient of ordinary skill to be able to understand it.++5. Termination+--------------++5.1. The rights granted under this License will terminate automatically+if You fail to comply with any of its terms. However, if You become+compliant, then the rights granted under this License from a particular+Contributor are reinstated (a) provisionally, unless and until such+Contributor explicitly and finally terminates Your grants, and (b) on an+ongoing basis, if such Contributor fails to notify You of the+non-compliance by some reasonable means prior to 60 days after You have+come back into compliance. Moreover, Your grants from a particular+Contributor are reinstated on an ongoing basis if such Contributor+notifies You of the non-compliance by some reasonable means, this is the+first time You have received notice of non-compliance with this License+from such Contributor, and You become compliant prior to 30 days after+Your receipt of the notice.++5.2. If You initiate litigation against any entity by asserting a patent+infringement claim (excluding declaratory judgment actions,+counter-claims, and cross-claims) alleging that a Contributor Version+directly or indirectly infringes any patent, then the rights granted to+You by any and all Contributors for the Covered Software under Section+2.1 of this License shall terminate.++5.3. In the event of termination under Sections 5.1 or 5.2 above, all+end user license agreements (excluding distributors and resellers) which+have been validly granted by You or Your distributors under this License+prior to termination shall survive termination.++************************************************************************+* *+* 6. Disclaimer of Warranty *+* ------------------------- *+* *+* Covered Software is provided under this License on an "as is" *+* basis, without warranty of any kind, either expressed, implied, or *+* statutory, including, without limitation, warranties that the *+* Covered Software is free of defects, merchantable, fit for a *+* particular purpose or non-infringing. The entire risk as to the *+* quality and performance of the Covered Software is with You. *+* Should any Covered Software prove defective in any respect, You *+* (not any Contributor) assume the cost of any necessary servicing, *+* repair, or correction. This disclaimer of warranty constitutes an *+* essential part of this License. No use of any Covered Software is *+* authorized under this License except under this disclaimer. *+* *+************************************************************************++************************************************************************+* *+* 7. Limitation of Liability *+* -------------------------- *+* *+* Under no circumstances and under no legal theory, whether tort *+* (including negligence), contract, or otherwise, shall any *+* Contributor, or anyone who distributes Covered Software as *+* permitted above, be liable to You for any direct, indirect, *+* special, incidental, or consequential damages of any character *+* including, without limitation, damages for lost profits, loss of *+* goodwill, work stoppage, computer failure or malfunction, or any *+* and all other commercial damages or losses, even if such party *+* shall have been informed of the possibility of such damages. This *+* limitation of liability shall not apply to liability for death or *+* personal injury resulting from such party's negligence to the *+* extent applicable law prohibits such limitation. Some *+* jurisdictions do not allow the exclusion or limitation of *+* incidental or consequential damages, so this exclusion and *+* limitation may not apply to You. *+* *+************************************************************************++8. Litigation+-------------++Any litigation relating to this License may be brought only in the+courts of a jurisdiction where the defendant maintains its principal+place of business and such litigation shall be governed by laws of that+jurisdiction, without reference to its conflict-of-law provisions.+Nothing in this Section shall prevent a party's ability to bring+cross-claims or counter-claims.++9. Miscellaneous+----------------++This License represents the complete agreement concerning the subject+matter hereof. If any provision of this License is held to be+unenforceable, such provision shall be reformed only to the extent+necessary to make it enforceable. Any law or regulation which provides+that the language of a contract shall be construed against the drafter+shall not be used to construe this License against a Contributor.++10. Versions of the License+---------------------------++10.1. New Versions++Mozilla Foundation is the license steward. Except as provided in Section+10.3, no one other than the license steward has the right to modify or+publish new versions of this License. Each version will be given a+distinguishing version number.++10.2. Effect of New Versions++You may distribute the Covered Software under the terms of the version+of the License under which You originally received the Covered Software,+or under the terms of any subsequent version published by the license+steward.++10.3. Modified Versions++If you create software not governed by this License, and you want to+create a new license for such software, you may create and use a+modified version of this License if you rename the license and remove+any references to the name of the license steward (except to note that+such modified license differs from this License).++10.4. Distributing Source Code Form that is Incompatible With Secondary+Licenses++If You choose to distribute Source Code Form that is Incompatible With+Secondary Licenses under the terms of this version of the License, the+notice described in Exhibit B of this License must be attached.++Exhibit A - Source Code Form License Notice+-------------------------------------------++ This Source Code Form is subject to the terms of the Mozilla Public+ License, v. 2.0. If a copy of the MPL was not distributed with this+ file, You can obtain one at http://mozilla.org/MPL/2.0/.++If it is not possible or desirable to put the notice in a particular+file, then You may include the notice in a location (such as a LICENSE+file in a relevant directory) where a recipient would be likely to look+for such a notice.++You may add additional accurate notices of copyright ownership.
+ README.md view
@@ -0,0 +1,44 @@+# Amazon Pinpoint Email Service SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2018-07-26@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-pinpoint-email)+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.PinpointEmail](http://hackage.haskell.org/package/amazonka-pinpoint-email/docs/Amazonka-PinpointEmail.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-pinpoint-email` 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-pinpoint-email.cabal view
@@ -0,0 +1,171 @@+cabal-version: 2.2+name: amazonka-pinpoint-email+version: 2.0+synopsis: Amazon Pinpoint Email Service 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-07-26@ 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.PinpointEmail.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.PinpointEmail" 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-pinpoint-email++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.PinpointEmail+ Amazonka.PinpointEmail.CreateConfigurationSet+ Amazonka.PinpointEmail.CreateConfigurationSetEventDestination+ Amazonka.PinpointEmail.CreateDedicatedIpPool+ Amazonka.PinpointEmail.CreateDeliverabilityTestReport+ Amazonka.PinpointEmail.CreateEmailIdentity+ Amazonka.PinpointEmail.DeleteConfigurationSet+ Amazonka.PinpointEmail.DeleteConfigurationSetEventDestination+ Amazonka.PinpointEmail.DeleteDedicatedIpPool+ Amazonka.PinpointEmail.DeleteEmailIdentity+ Amazonka.PinpointEmail.GetAccount+ Amazonka.PinpointEmail.GetBlacklistReports+ Amazonka.PinpointEmail.GetConfigurationSet+ Amazonka.PinpointEmail.GetConfigurationSetEventDestinations+ Amazonka.PinpointEmail.GetDedicatedIp+ Amazonka.PinpointEmail.GetDedicatedIps+ Amazonka.PinpointEmail.GetDeliverabilityDashboardOptions+ Amazonka.PinpointEmail.GetDeliverabilityTestReport+ Amazonka.PinpointEmail.GetDomainDeliverabilityCampaign+ Amazonka.PinpointEmail.GetDomainStatisticsReport+ Amazonka.PinpointEmail.GetEmailIdentity+ Amazonka.PinpointEmail.Lens+ Amazonka.PinpointEmail.ListConfigurationSets+ Amazonka.PinpointEmail.ListDedicatedIpPools+ Amazonka.PinpointEmail.ListDeliverabilityTestReports+ Amazonka.PinpointEmail.ListDomainDeliverabilityCampaigns+ Amazonka.PinpointEmail.ListEmailIdentities+ Amazonka.PinpointEmail.ListTagsForResource+ Amazonka.PinpointEmail.PutAccountDedicatedIpWarmupAttributes+ Amazonka.PinpointEmail.PutAccountSendingAttributes+ Amazonka.PinpointEmail.PutConfigurationSetDeliveryOptions+ Amazonka.PinpointEmail.PutConfigurationSetReputationOptions+ Amazonka.PinpointEmail.PutConfigurationSetSendingOptions+ Amazonka.PinpointEmail.PutConfigurationSetTrackingOptions+ Amazonka.PinpointEmail.PutDedicatedIpInPool+ Amazonka.PinpointEmail.PutDedicatedIpWarmupAttributes+ Amazonka.PinpointEmail.PutDeliverabilityDashboardOption+ Amazonka.PinpointEmail.PutEmailIdentityDkimAttributes+ Amazonka.PinpointEmail.PutEmailIdentityFeedbackAttributes+ Amazonka.PinpointEmail.PutEmailIdentityMailFromAttributes+ Amazonka.PinpointEmail.SendEmail+ Amazonka.PinpointEmail.TagResource+ Amazonka.PinpointEmail.Types+ Amazonka.PinpointEmail.Types.BehaviorOnMxFailure+ Amazonka.PinpointEmail.Types.BlacklistEntry+ Amazonka.PinpointEmail.Types.Body+ Amazonka.PinpointEmail.Types.CloudWatchDestination+ Amazonka.PinpointEmail.Types.CloudWatchDimensionConfiguration+ Amazonka.PinpointEmail.Types.Content+ Amazonka.PinpointEmail.Types.DailyVolume+ Amazonka.PinpointEmail.Types.DedicatedIp+ Amazonka.PinpointEmail.Types.DeliverabilityDashboardAccountStatus+ Amazonka.PinpointEmail.Types.DeliverabilityTestReport+ Amazonka.PinpointEmail.Types.DeliverabilityTestStatus+ Amazonka.PinpointEmail.Types.DeliveryOptions+ Amazonka.PinpointEmail.Types.Destination+ Amazonka.PinpointEmail.Types.DimensionValueSource+ Amazonka.PinpointEmail.Types.DkimAttributes+ Amazonka.PinpointEmail.Types.DkimStatus+ Amazonka.PinpointEmail.Types.DomainDeliverabilityCampaign+ Amazonka.PinpointEmail.Types.DomainDeliverabilityTrackingOption+ Amazonka.PinpointEmail.Types.DomainIspPlacement+ Amazonka.PinpointEmail.Types.EmailContent+ Amazonka.PinpointEmail.Types.EventDestination+ Amazonka.PinpointEmail.Types.EventDestinationDefinition+ Amazonka.PinpointEmail.Types.EventType+ Amazonka.PinpointEmail.Types.IdentityInfo+ Amazonka.PinpointEmail.Types.IdentityType+ Amazonka.PinpointEmail.Types.InboxPlacementTrackingOption+ Amazonka.PinpointEmail.Types.IspPlacement+ Amazonka.PinpointEmail.Types.KinesisFirehoseDestination+ Amazonka.PinpointEmail.Types.MailFromAttributes+ Amazonka.PinpointEmail.Types.MailFromDomainStatus+ Amazonka.PinpointEmail.Types.Message+ Amazonka.PinpointEmail.Types.MessageTag+ Amazonka.PinpointEmail.Types.OverallVolume+ Amazonka.PinpointEmail.Types.PinpointDestination+ Amazonka.PinpointEmail.Types.PlacementStatistics+ Amazonka.PinpointEmail.Types.RawMessage+ Amazonka.PinpointEmail.Types.ReputationOptions+ Amazonka.PinpointEmail.Types.SendingOptions+ Amazonka.PinpointEmail.Types.SendQuota+ Amazonka.PinpointEmail.Types.SnsDestination+ Amazonka.PinpointEmail.Types.Tag+ Amazonka.PinpointEmail.Types.Template+ Amazonka.PinpointEmail.Types.TlsPolicy+ Amazonka.PinpointEmail.Types.TrackingOptions+ Amazonka.PinpointEmail.Types.VolumeStatistics+ Amazonka.PinpointEmail.Types.WarmupStatus+ Amazonka.PinpointEmail.UntagResource+ Amazonka.PinpointEmail.UpdateConfigurationSetEventDestination+ Amazonka.PinpointEmail.Waiters++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , base >=4.12 && <5++test-suite amazonka-pinpoint-email-test+ type: exitcode-stdio-1.0+ default-language: Haskell2010+ hs-source-dirs: test+ main-is: Main.hs+ ghc-options: -Wall -threaded++ -- This section is encoded by the template and any modules added by+ -- hand outside these namespaces will not correctly be added to the+ -- distribution package.+ other-modules:+ Test.Amazonka.Gen.PinpointEmail+ Test.Amazonka.PinpointEmail+ Test.Amazonka.PinpointEmail.Internal++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , amazonka-pinpoint-email+ , amazonka-test >=2.0 && <2.1+ , base+ , bytestring+ , case-insensitive+ , tasty+ , tasty-hunit+ , text+ , time+ , unordered-containers
+ fixture/CreateConfigurationSet.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/email/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: email.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/CreateConfigurationSetEventDestination.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/email/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: email.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/CreateConfigurationSetEventDestinationResponse.proto view
+ fixture/CreateConfigurationSetResponse.proto view
+ fixture/CreateDedicatedIpPool.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/email/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: email.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/CreateDedicatedIpPoolResponse.proto view
+ fixture/CreateDeliverabilityTestReport.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/email/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: email.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/CreateDeliverabilityTestReportResponse.proto view
+ fixture/CreateEmailIdentity.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/email/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: email.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/CreateEmailIdentityResponse.proto view
+ fixture/DeleteConfigurationSet.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/email/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: email.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/DeleteConfigurationSetEventDestination.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/email/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: email.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/DeleteConfigurationSetEventDestinationResponse.proto view
+ fixture/DeleteConfigurationSetResponse.proto view
+ fixture/DeleteDedicatedIpPool.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/email/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: email.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/DeleteDedicatedIpPoolResponse.proto view
+ fixture/DeleteEmailIdentity.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/email/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: email.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/DeleteEmailIdentityResponse.proto view
+ fixture/GetAccount.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/email/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: email.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/GetBlacklistReports.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/email/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: email.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/GetBlacklistReportsResponse.proto view
+ fixture/GetConfigurationSet.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/email/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: email.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/GetConfigurationSetEventDestinations.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/email/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: email.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/GetConfigurationSetEventDestinationsResponse.proto view
+ fixture/GetConfigurationSetResponse.proto view
+ fixture/GetDedicatedIp.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/email/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: email.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/GetDedicatedIpResponse.proto view
+ fixture/GetDedicatedIps.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/email/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: email.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/GetDedicatedIpsResponse.proto view
+ fixture/GetDeliverabilityDashboardOptions.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/email/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: email.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/GetDeliverabilityDashboardOptionsResponse.proto view
+ fixture/GetDeliverabilityTestReport.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/email/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: email.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/GetDeliverabilityTestReportResponse.proto view
+ fixture/GetDomainDeliverabilityCampaign.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/email/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: email.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/GetDomainDeliverabilityCampaignResponse.proto view
+ fixture/GetDomainStatisticsReport.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/email/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: email.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/GetDomainStatisticsReportResponse.proto view
+ fixture/GetEmailIdentity.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/email/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: email.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/GetEmailIdentityResponse.proto view
+ fixture/ListConfigurationSets.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/email/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: email.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/ListConfigurationSetsResponse.proto view
+ fixture/ListDedicatedIpPools.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/email/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: email.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/ListDedicatedIpPoolsResponse.proto view
+ fixture/ListDeliverabilityTestReports.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/email/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: email.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/ListDeliverabilityTestReportsResponse.proto view
+ fixture/ListDomainDeliverabilityCampaigns.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/email/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: email.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/ListDomainDeliverabilityCampaignsResponse.proto view
+ fixture/ListEmailIdentities.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/email/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: email.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/ListEmailIdentitiesResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/email/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: email.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/PutAccountDedicatedIpWarmupAttributes.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/email/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: email.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/PutAccountDedicatedIpWarmupAttributesResponse.proto view
+ fixture/PutAccountSendingAttributes.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/email/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: email.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/PutAccountSendingAttributesResponse.proto view
+ fixture/PutConfigurationSetDeliveryOptions.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/email/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: email.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/PutConfigurationSetDeliveryOptionsResponse.proto view
+ fixture/PutConfigurationSetReputationOptions.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/email/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: email.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/PutConfigurationSetReputationOptionsResponse.proto view
+ fixture/PutConfigurationSetSendingOptions.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/email/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: email.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/PutConfigurationSetSendingOptionsResponse.proto view
+ fixture/PutConfigurationSetTrackingOptions.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/email/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: email.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/PutConfigurationSetTrackingOptionsResponse.proto view
+ fixture/PutDedicatedIpInPool.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/email/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: email.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/PutDedicatedIpInPoolResponse.proto view
+ fixture/PutDedicatedIpWarmupAttributes.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/email/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: email.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/PutDedicatedIpWarmupAttributesResponse.proto view
+ fixture/PutDeliverabilityDashboardOption.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/email/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: email.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/PutDeliverabilityDashboardOptionResponse.proto view
+ fixture/PutEmailIdentityDkimAttributes.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/email/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: email.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/PutEmailIdentityDkimAttributesResponse.proto view
+ fixture/PutEmailIdentityFeedbackAttributes.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/email/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: email.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/PutEmailIdentityFeedbackAttributesResponse.proto view
+ fixture/PutEmailIdentityMailFromAttributes.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/email/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: email.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/PutEmailIdentityMailFromAttributesResponse.proto view
+ fixture/SendEmail.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/email/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: email.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/SendEmailResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/email/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: email.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/TagResourceResponse.proto view
+ fixture/UntagResource.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/email/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: email.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/UpdateConfigurationSetEventDestination.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/email/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: email.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/UpdateConfigurationSetEventDestinationResponse.proto view
+ gen/Amazonka/PinpointEmail.hs view
@@ -0,0 +1,598 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Amazonka.PinpointEmail+-- 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-07-26@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- Amazon Pinpoint Email Service+--+-- Welcome to the /Amazon Pinpoint Email API Reference/. This guide+-- provides information about the Amazon Pinpoint Email API (version 1.0),+-- including supported operations, data types, parameters, and schemas.+--+-- <https://aws.amazon.com/pinpoint Amazon Pinpoint> is an AWS service that+-- you can use to engage with your customers across multiple messaging+-- channels. You can use Amazon Pinpoint to send email, SMS text messages,+-- voice messages, and push notifications. The Amazon Pinpoint Email API+-- provides programmatic access to options that are unique to the email+-- channel and supplement the options provided by the Amazon Pinpoint API.+--+-- If you\'re new to Amazon Pinpoint, you might find it helpful to also+-- review the+-- <https://docs.aws.amazon.com/pinpoint/latest/developerguide/welcome.html Amazon Pinpoint Developer Guide>.+-- The /Amazon Pinpoint Developer Guide/ provides tutorials, code samples,+-- and procedures that demonstrate how to use Amazon Pinpoint features+-- programmatically and how to integrate Amazon Pinpoint functionality into+-- mobile apps and other types of applications. The guide also provides+-- information about key topics such as Amazon Pinpoint integration with+-- other AWS services and the limits that apply to using the service.+--+-- The Amazon Pinpoint Email API is available in several AWS Regions and it+-- provides an endpoint for each of these Regions. For a list of all the+-- Regions and endpoints where the API is currently available, see+-- <https://docs.aws.amazon.com/general/latest/gr/rande.html#pinpoint_region AWS Service Endpoints>+-- in the /Amazon Web Services General Reference/. To learn more about AWS+-- Regions, see+-- <https://docs.aws.amazon.com/general/latest/gr/rande-manage.html Managing AWS Regions>+-- in the /Amazon Web Services General Reference/.+--+-- In each Region, AWS maintains multiple Availability Zones. These+-- Availability Zones are physically isolated from each other, but are+-- united by private, low-latency, high-throughput, and highly redundant+-- network connections. These Availability Zones enable us to provide very+-- high levels of availability and redundancy, while also minimizing+-- latency. To learn more about the number of Availability Zones that are+-- available in each Region, see+-- <http://aws.amazon.com/about-aws/global-infrastructure/ AWS Global Infrastructure>.+module Amazonka.PinpointEmail+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ -- $errors++ -- ** AccountSuspendedException+ _AccountSuspendedException,++ -- ** AlreadyExistsException+ _AlreadyExistsException,++ -- ** BadRequestException+ _BadRequestException,++ -- ** ConcurrentModificationException+ _ConcurrentModificationException,++ -- ** LimitExceededException+ _LimitExceededException,++ -- ** MailFromDomainNotVerifiedException+ _MailFromDomainNotVerifiedException,++ -- ** MessageRejected+ _MessageRejected,++ -- ** NotFoundException+ _NotFoundException,++ -- ** SendingPausedException+ _SendingPausedException,++ -- ** TooManyRequestsException+ _TooManyRequestsException,++ -- * Waiters+ -- $waiters++ -- * Operations+ -- $operations++ -- ** CreateConfigurationSet+ CreateConfigurationSet (CreateConfigurationSet'),+ newCreateConfigurationSet,+ CreateConfigurationSetResponse (CreateConfigurationSetResponse'),+ newCreateConfigurationSetResponse,++ -- ** CreateConfigurationSetEventDestination+ CreateConfigurationSetEventDestination (CreateConfigurationSetEventDestination'),+ newCreateConfigurationSetEventDestination,+ CreateConfigurationSetEventDestinationResponse (CreateConfigurationSetEventDestinationResponse'),+ newCreateConfigurationSetEventDestinationResponse,++ -- ** CreateDedicatedIpPool+ CreateDedicatedIpPool (CreateDedicatedIpPool'),+ newCreateDedicatedIpPool,+ CreateDedicatedIpPoolResponse (CreateDedicatedIpPoolResponse'),+ newCreateDedicatedIpPoolResponse,++ -- ** CreateDeliverabilityTestReport+ CreateDeliverabilityTestReport (CreateDeliverabilityTestReport'),+ newCreateDeliverabilityTestReport,+ CreateDeliverabilityTestReportResponse (CreateDeliverabilityTestReportResponse'),+ newCreateDeliverabilityTestReportResponse,++ -- ** CreateEmailIdentity+ CreateEmailIdentity (CreateEmailIdentity'),+ newCreateEmailIdentity,+ CreateEmailIdentityResponse (CreateEmailIdentityResponse'),+ newCreateEmailIdentityResponse,++ -- ** DeleteConfigurationSet+ DeleteConfigurationSet (DeleteConfigurationSet'),+ newDeleteConfigurationSet,+ DeleteConfigurationSetResponse (DeleteConfigurationSetResponse'),+ newDeleteConfigurationSetResponse,++ -- ** DeleteConfigurationSetEventDestination+ DeleteConfigurationSetEventDestination (DeleteConfigurationSetEventDestination'),+ newDeleteConfigurationSetEventDestination,+ DeleteConfigurationSetEventDestinationResponse (DeleteConfigurationSetEventDestinationResponse'),+ newDeleteConfigurationSetEventDestinationResponse,++ -- ** DeleteDedicatedIpPool+ DeleteDedicatedIpPool (DeleteDedicatedIpPool'),+ newDeleteDedicatedIpPool,+ DeleteDedicatedIpPoolResponse (DeleteDedicatedIpPoolResponse'),+ newDeleteDedicatedIpPoolResponse,++ -- ** DeleteEmailIdentity+ DeleteEmailIdentity (DeleteEmailIdentity'),+ newDeleteEmailIdentity,+ DeleteEmailIdentityResponse (DeleteEmailIdentityResponse'),+ newDeleteEmailIdentityResponse,++ -- ** GetAccount+ GetAccount (GetAccount'),+ newGetAccount,+ GetAccountResponse (GetAccountResponse'),+ newGetAccountResponse,++ -- ** GetBlacklistReports+ GetBlacklistReports (GetBlacklistReports'),+ newGetBlacklistReports,+ GetBlacklistReportsResponse (GetBlacklistReportsResponse'),+ newGetBlacklistReportsResponse,++ -- ** GetConfigurationSet+ GetConfigurationSet (GetConfigurationSet'),+ newGetConfigurationSet,+ GetConfigurationSetResponse (GetConfigurationSetResponse'),+ newGetConfigurationSetResponse,++ -- ** GetConfigurationSetEventDestinations+ GetConfigurationSetEventDestinations (GetConfigurationSetEventDestinations'),+ newGetConfigurationSetEventDestinations,+ GetConfigurationSetEventDestinationsResponse (GetConfigurationSetEventDestinationsResponse'),+ newGetConfigurationSetEventDestinationsResponse,++ -- ** GetDedicatedIp+ GetDedicatedIp (GetDedicatedIp'),+ newGetDedicatedIp,+ GetDedicatedIpResponse (GetDedicatedIpResponse'),+ newGetDedicatedIpResponse,++ -- ** GetDedicatedIps (Paginated)+ GetDedicatedIps (GetDedicatedIps'),+ newGetDedicatedIps,+ GetDedicatedIpsResponse (GetDedicatedIpsResponse'),+ newGetDedicatedIpsResponse,++ -- ** GetDeliverabilityDashboardOptions+ GetDeliverabilityDashboardOptions (GetDeliverabilityDashboardOptions'),+ newGetDeliverabilityDashboardOptions,+ GetDeliverabilityDashboardOptionsResponse (GetDeliverabilityDashboardOptionsResponse'),+ newGetDeliverabilityDashboardOptionsResponse,++ -- ** GetDeliverabilityTestReport+ GetDeliverabilityTestReport (GetDeliverabilityTestReport'),+ newGetDeliverabilityTestReport,+ GetDeliverabilityTestReportResponse (GetDeliverabilityTestReportResponse'),+ newGetDeliverabilityTestReportResponse,++ -- ** GetDomainDeliverabilityCampaign+ GetDomainDeliverabilityCampaign (GetDomainDeliverabilityCampaign'),+ newGetDomainDeliverabilityCampaign,+ GetDomainDeliverabilityCampaignResponse (GetDomainDeliverabilityCampaignResponse'),+ newGetDomainDeliverabilityCampaignResponse,++ -- ** GetDomainStatisticsReport+ GetDomainStatisticsReport (GetDomainStatisticsReport'),+ newGetDomainStatisticsReport,+ GetDomainStatisticsReportResponse (GetDomainStatisticsReportResponse'),+ newGetDomainStatisticsReportResponse,++ -- ** GetEmailIdentity+ GetEmailIdentity (GetEmailIdentity'),+ newGetEmailIdentity,+ GetEmailIdentityResponse (GetEmailIdentityResponse'),+ newGetEmailIdentityResponse,++ -- ** ListConfigurationSets (Paginated)+ ListConfigurationSets (ListConfigurationSets'),+ newListConfigurationSets,+ ListConfigurationSetsResponse (ListConfigurationSetsResponse'),+ newListConfigurationSetsResponse,++ -- ** ListDedicatedIpPools (Paginated)+ ListDedicatedIpPools (ListDedicatedIpPools'),+ newListDedicatedIpPools,+ ListDedicatedIpPoolsResponse (ListDedicatedIpPoolsResponse'),+ newListDedicatedIpPoolsResponse,++ -- ** ListDeliverabilityTestReports (Paginated)+ ListDeliverabilityTestReports (ListDeliverabilityTestReports'),+ newListDeliverabilityTestReports,+ ListDeliverabilityTestReportsResponse (ListDeliverabilityTestReportsResponse'),+ newListDeliverabilityTestReportsResponse,++ -- ** ListDomainDeliverabilityCampaigns+ ListDomainDeliverabilityCampaigns (ListDomainDeliverabilityCampaigns'),+ newListDomainDeliverabilityCampaigns,+ ListDomainDeliverabilityCampaignsResponse (ListDomainDeliverabilityCampaignsResponse'),+ newListDomainDeliverabilityCampaignsResponse,++ -- ** ListEmailIdentities (Paginated)+ ListEmailIdentities (ListEmailIdentities'),+ newListEmailIdentities,+ ListEmailIdentitiesResponse (ListEmailIdentitiesResponse'),+ newListEmailIdentitiesResponse,++ -- ** ListTagsForResource+ ListTagsForResource (ListTagsForResource'),+ newListTagsForResource,+ ListTagsForResourceResponse (ListTagsForResourceResponse'),+ newListTagsForResourceResponse,++ -- ** PutAccountDedicatedIpWarmupAttributes+ PutAccountDedicatedIpWarmupAttributes (PutAccountDedicatedIpWarmupAttributes'),+ newPutAccountDedicatedIpWarmupAttributes,+ PutAccountDedicatedIpWarmupAttributesResponse (PutAccountDedicatedIpWarmupAttributesResponse'),+ newPutAccountDedicatedIpWarmupAttributesResponse,++ -- ** PutAccountSendingAttributes+ PutAccountSendingAttributes (PutAccountSendingAttributes'),+ newPutAccountSendingAttributes,+ PutAccountSendingAttributesResponse (PutAccountSendingAttributesResponse'),+ newPutAccountSendingAttributesResponse,++ -- ** PutConfigurationSetDeliveryOptions+ PutConfigurationSetDeliveryOptions (PutConfigurationSetDeliveryOptions'),+ newPutConfigurationSetDeliveryOptions,+ PutConfigurationSetDeliveryOptionsResponse (PutConfigurationSetDeliveryOptionsResponse'),+ newPutConfigurationSetDeliveryOptionsResponse,++ -- ** PutConfigurationSetReputationOptions+ PutConfigurationSetReputationOptions (PutConfigurationSetReputationOptions'),+ newPutConfigurationSetReputationOptions,+ PutConfigurationSetReputationOptionsResponse (PutConfigurationSetReputationOptionsResponse'),+ newPutConfigurationSetReputationOptionsResponse,++ -- ** PutConfigurationSetSendingOptions+ PutConfigurationSetSendingOptions (PutConfigurationSetSendingOptions'),+ newPutConfigurationSetSendingOptions,+ PutConfigurationSetSendingOptionsResponse (PutConfigurationSetSendingOptionsResponse'),+ newPutConfigurationSetSendingOptionsResponse,++ -- ** PutConfigurationSetTrackingOptions+ PutConfigurationSetTrackingOptions (PutConfigurationSetTrackingOptions'),+ newPutConfigurationSetTrackingOptions,+ PutConfigurationSetTrackingOptionsResponse (PutConfigurationSetTrackingOptionsResponse'),+ newPutConfigurationSetTrackingOptionsResponse,++ -- ** PutDedicatedIpInPool+ PutDedicatedIpInPool (PutDedicatedIpInPool'),+ newPutDedicatedIpInPool,+ PutDedicatedIpInPoolResponse (PutDedicatedIpInPoolResponse'),+ newPutDedicatedIpInPoolResponse,++ -- ** PutDedicatedIpWarmupAttributes+ PutDedicatedIpWarmupAttributes (PutDedicatedIpWarmupAttributes'),+ newPutDedicatedIpWarmupAttributes,+ PutDedicatedIpWarmupAttributesResponse (PutDedicatedIpWarmupAttributesResponse'),+ newPutDedicatedIpWarmupAttributesResponse,++ -- ** PutDeliverabilityDashboardOption+ PutDeliverabilityDashboardOption (PutDeliverabilityDashboardOption'),+ newPutDeliverabilityDashboardOption,+ PutDeliverabilityDashboardOptionResponse (PutDeliverabilityDashboardOptionResponse'),+ newPutDeliverabilityDashboardOptionResponse,++ -- ** PutEmailIdentityDkimAttributes+ PutEmailIdentityDkimAttributes (PutEmailIdentityDkimAttributes'),+ newPutEmailIdentityDkimAttributes,+ PutEmailIdentityDkimAttributesResponse (PutEmailIdentityDkimAttributesResponse'),+ newPutEmailIdentityDkimAttributesResponse,++ -- ** PutEmailIdentityFeedbackAttributes+ PutEmailIdentityFeedbackAttributes (PutEmailIdentityFeedbackAttributes'),+ newPutEmailIdentityFeedbackAttributes,+ PutEmailIdentityFeedbackAttributesResponse (PutEmailIdentityFeedbackAttributesResponse'),+ newPutEmailIdentityFeedbackAttributesResponse,++ -- ** PutEmailIdentityMailFromAttributes+ PutEmailIdentityMailFromAttributes (PutEmailIdentityMailFromAttributes'),+ newPutEmailIdentityMailFromAttributes,+ PutEmailIdentityMailFromAttributesResponse (PutEmailIdentityMailFromAttributesResponse'),+ newPutEmailIdentityMailFromAttributesResponse,++ -- ** SendEmail+ SendEmail (SendEmail'),+ newSendEmail,+ SendEmailResponse (SendEmailResponse'),+ newSendEmailResponse,++ -- ** TagResource+ TagResource (TagResource'),+ newTagResource,+ TagResourceResponse (TagResourceResponse'),+ newTagResourceResponse,++ -- ** UntagResource+ UntagResource (UntagResource'),+ newUntagResource,+ UntagResourceResponse (UntagResourceResponse'),+ newUntagResourceResponse,++ -- ** UpdateConfigurationSetEventDestination+ UpdateConfigurationSetEventDestination (UpdateConfigurationSetEventDestination'),+ newUpdateConfigurationSetEventDestination,+ UpdateConfigurationSetEventDestinationResponse (UpdateConfigurationSetEventDestinationResponse'),+ newUpdateConfigurationSetEventDestinationResponse,++ -- * Types++ -- ** BehaviorOnMxFailure+ BehaviorOnMxFailure (..),++ -- ** DeliverabilityDashboardAccountStatus+ DeliverabilityDashboardAccountStatus (..),++ -- ** DeliverabilityTestStatus+ DeliverabilityTestStatus (..),++ -- ** DimensionValueSource+ DimensionValueSource (..),++ -- ** DkimStatus+ DkimStatus (..),++ -- ** EventType+ EventType (..),++ -- ** IdentityType+ IdentityType (..),++ -- ** MailFromDomainStatus+ MailFromDomainStatus (..),++ -- ** TlsPolicy+ TlsPolicy (..),++ -- ** WarmupStatus+ WarmupStatus (..),++ -- ** BlacklistEntry+ BlacklistEntry (BlacklistEntry'),+ newBlacklistEntry,++ -- ** Body+ Body (Body'),+ newBody,++ -- ** CloudWatchDestination+ CloudWatchDestination (CloudWatchDestination'),+ newCloudWatchDestination,++ -- ** CloudWatchDimensionConfiguration+ CloudWatchDimensionConfiguration (CloudWatchDimensionConfiguration'),+ newCloudWatchDimensionConfiguration,++ -- ** Content+ Content (Content'),+ newContent,++ -- ** DailyVolume+ DailyVolume (DailyVolume'),+ newDailyVolume,++ -- ** DedicatedIp+ DedicatedIp (DedicatedIp'),+ newDedicatedIp,++ -- ** DeliverabilityTestReport+ DeliverabilityTestReport (DeliverabilityTestReport'),+ newDeliverabilityTestReport,++ -- ** DeliveryOptions+ DeliveryOptions (DeliveryOptions'),+ newDeliveryOptions,++ -- ** Destination+ Destination (Destination'),+ newDestination,++ -- ** DkimAttributes+ DkimAttributes (DkimAttributes'),+ newDkimAttributes,++ -- ** DomainDeliverabilityCampaign+ DomainDeliverabilityCampaign (DomainDeliverabilityCampaign'),+ newDomainDeliverabilityCampaign,++ -- ** DomainDeliverabilityTrackingOption+ DomainDeliverabilityTrackingOption (DomainDeliverabilityTrackingOption'),+ newDomainDeliverabilityTrackingOption,++ -- ** DomainIspPlacement+ DomainIspPlacement (DomainIspPlacement'),+ newDomainIspPlacement,++ -- ** EmailContent+ EmailContent (EmailContent'),+ newEmailContent,++ -- ** EventDestination+ EventDestination (EventDestination'),+ newEventDestination,++ -- ** EventDestinationDefinition+ EventDestinationDefinition (EventDestinationDefinition'),+ newEventDestinationDefinition,++ -- ** IdentityInfo+ IdentityInfo (IdentityInfo'),+ newIdentityInfo,++ -- ** InboxPlacementTrackingOption+ InboxPlacementTrackingOption (InboxPlacementTrackingOption'),+ newInboxPlacementTrackingOption,++ -- ** IspPlacement+ IspPlacement (IspPlacement'),+ newIspPlacement,++ -- ** KinesisFirehoseDestination+ KinesisFirehoseDestination (KinesisFirehoseDestination'),+ newKinesisFirehoseDestination,++ -- ** MailFromAttributes+ MailFromAttributes (MailFromAttributes'),+ newMailFromAttributes,++ -- ** Message+ Message (Message'),+ newMessage,++ -- ** MessageTag+ MessageTag (MessageTag'),+ newMessageTag,++ -- ** OverallVolume+ OverallVolume (OverallVolume'),+ newOverallVolume,++ -- ** PinpointDestination+ PinpointDestination (PinpointDestination'),+ newPinpointDestination,++ -- ** PlacementStatistics+ PlacementStatistics (PlacementStatistics'),+ newPlacementStatistics,++ -- ** RawMessage+ RawMessage (RawMessage'),+ newRawMessage,++ -- ** ReputationOptions+ ReputationOptions (ReputationOptions'),+ newReputationOptions,++ -- ** SendQuota+ SendQuota (SendQuota'),+ newSendQuota,++ -- ** SendingOptions+ SendingOptions (SendingOptions'),+ newSendingOptions,++ -- ** SnsDestination+ SnsDestination (SnsDestination'),+ newSnsDestination,++ -- ** Tag+ Tag (Tag'),+ newTag,++ -- ** Template+ Template (Template'),+ newTemplate,++ -- ** TrackingOptions+ TrackingOptions (TrackingOptions'),+ newTrackingOptions,++ -- ** VolumeStatistics+ VolumeStatistics (VolumeStatistics'),+ newVolumeStatistics,+ )+where++import Amazonka.PinpointEmail.CreateConfigurationSet+import Amazonka.PinpointEmail.CreateConfigurationSetEventDestination+import Amazonka.PinpointEmail.CreateDedicatedIpPool+import Amazonka.PinpointEmail.CreateDeliverabilityTestReport+import Amazonka.PinpointEmail.CreateEmailIdentity+import Amazonka.PinpointEmail.DeleteConfigurationSet+import Amazonka.PinpointEmail.DeleteConfigurationSetEventDestination+import Amazonka.PinpointEmail.DeleteDedicatedIpPool+import Amazonka.PinpointEmail.DeleteEmailIdentity+import Amazonka.PinpointEmail.GetAccount+import Amazonka.PinpointEmail.GetBlacklistReports+import Amazonka.PinpointEmail.GetConfigurationSet+import Amazonka.PinpointEmail.GetConfigurationSetEventDestinations+import Amazonka.PinpointEmail.GetDedicatedIp+import Amazonka.PinpointEmail.GetDedicatedIps+import Amazonka.PinpointEmail.GetDeliverabilityDashboardOptions+import Amazonka.PinpointEmail.GetDeliverabilityTestReport+import Amazonka.PinpointEmail.GetDomainDeliverabilityCampaign+import Amazonka.PinpointEmail.GetDomainStatisticsReport+import Amazonka.PinpointEmail.GetEmailIdentity+import Amazonka.PinpointEmail.Lens+import Amazonka.PinpointEmail.ListConfigurationSets+import Amazonka.PinpointEmail.ListDedicatedIpPools+import Amazonka.PinpointEmail.ListDeliverabilityTestReports+import Amazonka.PinpointEmail.ListDomainDeliverabilityCampaigns+import Amazonka.PinpointEmail.ListEmailIdentities+import Amazonka.PinpointEmail.ListTagsForResource+import Amazonka.PinpointEmail.PutAccountDedicatedIpWarmupAttributes+import Amazonka.PinpointEmail.PutAccountSendingAttributes+import Amazonka.PinpointEmail.PutConfigurationSetDeliveryOptions+import Amazonka.PinpointEmail.PutConfigurationSetReputationOptions+import Amazonka.PinpointEmail.PutConfigurationSetSendingOptions+import Amazonka.PinpointEmail.PutConfigurationSetTrackingOptions+import Amazonka.PinpointEmail.PutDedicatedIpInPool+import Amazonka.PinpointEmail.PutDedicatedIpWarmupAttributes+import Amazonka.PinpointEmail.PutDeliverabilityDashboardOption+import Amazonka.PinpointEmail.PutEmailIdentityDkimAttributes+import Amazonka.PinpointEmail.PutEmailIdentityFeedbackAttributes+import Amazonka.PinpointEmail.PutEmailIdentityMailFromAttributes+import Amazonka.PinpointEmail.SendEmail+import Amazonka.PinpointEmail.TagResource+import Amazonka.PinpointEmail.Types+import Amazonka.PinpointEmail.UntagResource+import Amazonka.PinpointEmail.UpdateConfigurationSetEventDestination+import Amazonka.PinpointEmail.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 'PinpointEmail'.++-- $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/PinpointEmail/CreateConfigurationSet.hs view
@@ -0,0 +1,261 @@+{-# 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.PinpointEmail.CreateConfigurationSet+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Create a configuration set. /Configuration sets/ are groups of rules+-- that you can apply to the emails you send using Amazon Pinpoint. You+-- apply a configuration set to an email by including a reference to the+-- configuration set in the headers of the email. When you apply a+-- configuration set to an email, all of the rules in that configuration+-- set are applied to the email.+module Amazonka.PinpointEmail.CreateConfigurationSet+ ( -- * Creating a Request+ CreateConfigurationSet (..),+ newCreateConfigurationSet,++ -- * Request Lenses+ createConfigurationSet_deliveryOptions,+ createConfigurationSet_reputationOptions,+ createConfigurationSet_sendingOptions,+ createConfigurationSet_tags,+ createConfigurationSet_trackingOptions,+ createConfigurationSet_configurationSetName,++ -- * Destructuring the Response+ CreateConfigurationSetResponse (..),+ newCreateConfigurationSetResponse,++ -- * Response Lenses+ createConfigurationSetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | A request to create a configuration set.+--+-- /See:/ 'newCreateConfigurationSet' smart constructor.+data CreateConfigurationSet = CreateConfigurationSet'+ { -- | An object that defines the dedicated IP pool that is used to send emails+ -- that you send using the configuration set.+ deliveryOptions :: Prelude.Maybe DeliveryOptions,+ -- | An object that defines whether or not Amazon Pinpoint collects+ -- reputation metrics for the emails that you send that use the+ -- configuration set.+ reputationOptions :: Prelude.Maybe ReputationOptions,+ -- | An object that defines whether or not Amazon Pinpoint can send email+ -- that you send using the configuration set.+ sendingOptions :: Prelude.Maybe SendingOptions,+ -- | An array of objects that define the tags (keys and values) that you want+ -- to associate with the configuration set.+ tags :: Prelude.Maybe [Tag],+ -- | An object that defines the open and click tracking options for emails+ -- that you send using the configuration set.+ trackingOptions :: Prelude.Maybe TrackingOptions,+ -- | The name of the configuration set.+ configurationSetName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateConfigurationSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'deliveryOptions', 'createConfigurationSet_deliveryOptions' - An object that defines the dedicated IP pool that is used to send emails+-- that you send using the configuration set.+--+-- 'reputationOptions', 'createConfigurationSet_reputationOptions' - An object that defines whether or not Amazon Pinpoint collects+-- reputation metrics for the emails that you send that use the+-- configuration set.+--+-- 'sendingOptions', 'createConfigurationSet_sendingOptions' - An object that defines whether or not Amazon Pinpoint can send email+-- that you send using the configuration set.+--+-- 'tags', 'createConfigurationSet_tags' - An array of objects that define the tags (keys and values) that you want+-- to associate with the configuration set.+--+-- 'trackingOptions', 'createConfigurationSet_trackingOptions' - An object that defines the open and click tracking options for emails+-- that you send using the configuration set.+--+-- 'configurationSetName', 'createConfigurationSet_configurationSetName' - The name of the configuration set.+newCreateConfigurationSet ::+ -- | 'configurationSetName'+ Prelude.Text ->+ CreateConfigurationSet+newCreateConfigurationSet pConfigurationSetName_ =+ CreateConfigurationSet'+ { deliveryOptions =+ Prelude.Nothing,+ reputationOptions = Prelude.Nothing,+ sendingOptions = Prelude.Nothing,+ tags = Prelude.Nothing,+ trackingOptions = Prelude.Nothing,+ configurationSetName = pConfigurationSetName_+ }++-- | An object that defines the dedicated IP pool that is used to send emails+-- that you send using the configuration set.+createConfigurationSet_deliveryOptions :: Lens.Lens' CreateConfigurationSet (Prelude.Maybe DeliveryOptions)+createConfigurationSet_deliveryOptions = Lens.lens (\CreateConfigurationSet' {deliveryOptions} -> deliveryOptions) (\s@CreateConfigurationSet' {} a -> s {deliveryOptions = a} :: CreateConfigurationSet)++-- | An object that defines whether or not Amazon Pinpoint collects+-- reputation metrics for the emails that you send that use the+-- configuration set.+createConfigurationSet_reputationOptions :: Lens.Lens' CreateConfigurationSet (Prelude.Maybe ReputationOptions)+createConfigurationSet_reputationOptions = Lens.lens (\CreateConfigurationSet' {reputationOptions} -> reputationOptions) (\s@CreateConfigurationSet' {} a -> s {reputationOptions = a} :: CreateConfigurationSet)++-- | An object that defines whether or not Amazon Pinpoint can send email+-- that you send using the configuration set.+createConfigurationSet_sendingOptions :: Lens.Lens' CreateConfigurationSet (Prelude.Maybe SendingOptions)+createConfigurationSet_sendingOptions = Lens.lens (\CreateConfigurationSet' {sendingOptions} -> sendingOptions) (\s@CreateConfigurationSet' {} a -> s {sendingOptions = a} :: CreateConfigurationSet)++-- | An array of objects that define the tags (keys and values) that you want+-- to associate with the configuration set.+createConfigurationSet_tags :: Lens.Lens' CreateConfigurationSet (Prelude.Maybe [Tag])+createConfigurationSet_tags = Lens.lens (\CreateConfigurationSet' {tags} -> tags) (\s@CreateConfigurationSet' {} a -> s {tags = a} :: CreateConfigurationSet) Prelude.. Lens.mapping Lens.coerced++-- | An object that defines the open and click tracking options for emails+-- that you send using the configuration set.+createConfigurationSet_trackingOptions :: Lens.Lens' CreateConfigurationSet (Prelude.Maybe TrackingOptions)+createConfigurationSet_trackingOptions = Lens.lens (\CreateConfigurationSet' {trackingOptions} -> trackingOptions) (\s@CreateConfigurationSet' {} a -> s {trackingOptions = a} :: CreateConfigurationSet)++-- | The name of the configuration set.+createConfigurationSet_configurationSetName :: Lens.Lens' CreateConfigurationSet Prelude.Text+createConfigurationSet_configurationSetName = Lens.lens (\CreateConfigurationSet' {configurationSetName} -> configurationSetName) (\s@CreateConfigurationSet' {} a -> s {configurationSetName = a} :: CreateConfigurationSet)++instance Core.AWSRequest CreateConfigurationSet where+ type+ AWSResponse CreateConfigurationSet =+ CreateConfigurationSetResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ CreateConfigurationSetResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateConfigurationSet where+ hashWithSalt _salt CreateConfigurationSet' {..} =+ _salt+ `Prelude.hashWithSalt` deliveryOptions+ `Prelude.hashWithSalt` reputationOptions+ `Prelude.hashWithSalt` sendingOptions+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` trackingOptions+ `Prelude.hashWithSalt` configurationSetName++instance Prelude.NFData CreateConfigurationSet where+ rnf CreateConfigurationSet' {..} =+ Prelude.rnf deliveryOptions+ `Prelude.seq` Prelude.rnf reputationOptions+ `Prelude.seq` Prelude.rnf sendingOptions+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf trackingOptions+ `Prelude.seq` Prelude.rnf configurationSetName++instance Data.ToHeaders CreateConfigurationSet where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateConfigurationSet where+ toJSON CreateConfigurationSet' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("DeliveryOptions" Data..=)+ Prelude.<$> deliveryOptions,+ ("ReputationOptions" Data..=)+ Prelude.<$> reputationOptions,+ ("SendingOptions" Data..=)+ Prelude.<$> sendingOptions,+ ("Tags" Data..=) Prelude.<$> tags,+ ("TrackingOptions" Data..=)+ Prelude.<$> trackingOptions,+ Prelude.Just+ ( "ConfigurationSetName"+ Data..= configurationSetName+ )+ ]+ )++instance Data.ToPath CreateConfigurationSet where+ toPath = Prelude.const "/v1/email/configuration-sets"++instance Data.ToQuery CreateConfigurationSet where+ toQuery = Prelude.const Prelude.mempty++-- | An HTTP 200 response if the request succeeds, or an error message if the+-- request fails.+--+-- /See:/ 'newCreateConfigurationSetResponse' smart constructor.+data CreateConfigurationSetResponse = CreateConfigurationSetResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateConfigurationSetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createConfigurationSetResponse_httpStatus' - The response's http status code.+newCreateConfigurationSetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateConfigurationSetResponse+newCreateConfigurationSetResponse pHttpStatus_ =+ CreateConfigurationSetResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+createConfigurationSetResponse_httpStatus :: Lens.Lens' CreateConfigurationSetResponse Prelude.Int+createConfigurationSetResponse_httpStatus = Lens.lens (\CreateConfigurationSetResponse' {httpStatus} -> httpStatus) (\s@CreateConfigurationSetResponse' {} a -> s {httpStatus = a} :: CreateConfigurationSetResponse)++instance+ Prelude.NFData+ CreateConfigurationSetResponse+ where+ rnf CreateConfigurationSetResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/PinpointEmail/CreateConfigurationSetEventDestination.hs view
@@ -0,0 +1,249 @@+{-# 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.PinpointEmail.CreateConfigurationSetEventDestination+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Create an event destination. In Amazon Pinpoint, /events/ include+-- message sends, deliveries, opens, clicks, bounces, and complaints.+-- /Event destinations/ are places that you can send information about+-- these events to. For example, you can send event data to Amazon SNS to+-- receive notifications when you receive bounces or complaints, or you can+-- use Amazon Kinesis Data Firehose to stream data to Amazon S3 for+-- long-term storage.+--+-- A single configuration set can include more than one event destination.+module Amazonka.PinpointEmail.CreateConfigurationSetEventDestination+ ( -- * Creating a Request+ CreateConfigurationSetEventDestination (..),+ newCreateConfigurationSetEventDestination,++ -- * Request Lenses+ createConfigurationSetEventDestination_configurationSetName,+ createConfigurationSetEventDestination_eventDestinationName,+ createConfigurationSetEventDestination_eventDestination,++ -- * Destructuring the Response+ CreateConfigurationSetEventDestinationResponse (..),+ newCreateConfigurationSetEventDestinationResponse,++ -- * Response Lenses+ createConfigurationSetEventDestinationResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | A request to add an event destination to a configuration set.+--+-- /See:/ 'newCreateConfigurationSetEventDestination' smart constructor.+data CreateConfigurationSetEventDestination = CreateConfigurationSetEventDestination'+ { -- | The name of the configuration set that you want to add an event+ -- destination to.+ configurationSetName :: Prelude.Text,+ -- | A name that identifies the event destination within the configuration+ -- set.+ eventDestinationName :: Prelude.Text,+ -- | An object that defines the event destination.+ eventDestination :: EventDestinationDefinition+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateConfigurationSetEventDestination' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'configurationSetName', 'createConfigurationSetEventDestination_configurationSetName' - The name of the configuration set that you want to add an event+-- destination to.+--+-- 'eventDestinationName', 'createConfigurationSetEventDestination_eventDestinationName' - A name that identifies the event destination within the configuration+-- set.+--+-- 'eventDestination', 'createConfigurationSetEventDestination_eventDestination' - An object that defines the event destination.+newCreateConfigurationSetEventDestination ::+ -- | 'configurationSetName'+ Prelude.Text ->+ -- | 'eventDestinationName'+ Prelude.Text ->+ -- | 'eventDestination'+ EventDestinationDefinition ->+ CreateConfigurationSetEventDestination+newCreateConfigurationSetEventDestination+ pConfigurationSetName_+ pEventDestinationName_+ pEventDestination_ =+ CreateConfigurationSetEventDestination'+ { configurationSetName =+ pConfigurationSetName_,+ eventDestinationName =+ pEventDestinationName_,+ eventDestination =+ pEventDestination_+ }++-- | The name of the configuration set that you want to add an event+-- destination to.+createConfigurationSetEventDestination_configurationSetName :: Lens.Lens' CreateConfigurationSetEventDestination Prelude.Text+createConfigurationSetEventDestination_configurationSetName = Lens.lens (\CreateConfigurationSetEventDestination' {configurationSetName} -> configurationSetName) (\s@CreateConfigurationSetEventDestination' {} a -> s {configurationSetName = a} :: CreateConfigurationSetEventDestination)++-- | A name that identifies the event destination within the configuration+-- set.+createConfigurationSetEventDestination_eventDestinationName :: Lens.Lens' CreateConfigurationSetEventDestination Prelude.Text+createConfigurationSetEventDestination_eventDestinationName = Lens.lens (\CreateConfigurationSetEventDestination' {eventDestinationName} -> eventDestinationName) (\s@CreateConfigurationSetEventDestination' {} a -> s {eventDestinationName = a} :: CreateConfigurationSetEventDestination)++-- | An object that defines the event destination.+createConfigurationSetEventDestination_eventDestination :: Lens.Lens' CreateConfigurationSetEventDestination EventDestinationDefinition+createConfigurationSetEventDestination_eventDestination = Lens.lens (\CreateConfigurationSetEventDestination' {eventDestination} -> eventDestination) (\s@CreateConfigurationSetEventDestination' {} a -> s {eventDestination = a} :: CreateConfigurationSetEventDestination)++instance+ Core.AWSRequest+ CreateConfigurationSetEventDestination+ where+ type+ AWSResponse+ CreateConfigurationSetEventDestination =+ CreateConfigurationSetEventDestinationResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ CreateConfigurationSetEventDestinationResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ CreateConfigurationSetEventDestination+ where+ hashWithSalt+ _salt+ CreateConfigurationSetEventDestination' {..} =+ _salt+ `Prelude.hashWithSalt` configurationSetName+ `Prelude.hashWithSalt` eventDestinationName+ `Prelude.hashWithSalt` eventDestination++instance+ Prelude.NFData+ CreateConfigurationSetEventDestination+ where+ rnf CreateConfigurationSetEventDestination' {..} =+ Prelude.rnf configurationSetName+ `Prelude.seq` Prelude.rnf eventDestinationName+ `Prelude.seq` Prelude.rnf eventDestination++instance+ Data.ToHeaders+ CreateConfigurationSetEventDestination+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ CreateConfigurationSetEventDestination+ where+ toJSON CreateConfigurationSetEventDestination' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ( "EventDestinationName"+ Data..= eventDestinationName+ ),+ Prelude.Just+ ("EventDestination" Data..= eventDestination)+ ]+ )++instance+ Data.ToPath+ CreateConfigurationSetEventDestination+ where+ toPath CreateConfigurationSetEventDestination' {..} =+ Prelude.mconcat+ [ "/v1/email/configuration-sets/",+ Data.toBS configurationSetName,+ "/event-destinations"+ ]++instance+ Data.ToQuery+ CreateConfigurationSetEventDestination+ where+ toQuery = Prelude.const Prelude.mempty++-- | An HTTP 200 response if the request succeeds, or an error message if the+-- request fails.+--+-- /See:/ 'newCreateConfigurationSetEventDestinationResponse' smart constructor.+data CreateConfigurationSetEventDestinationResponse = CreateConfigurationSetEventDestinationResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateConfigurationSetEventDestinationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createConfigurationSetEventDestinationResponse_httpStatus' - The response's http status code.+newCreateConfigurationSetEventDestinationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateConfigurationSetEventDestinationResponse+newCreateConfigurationSetEventDestinationResponse+ pHttpStatus_ =+ CreateConfigurationSetEventDestinationResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+createConfigurationSetEventDestinationResponse_httpStatus :: Lens.Lens' CreateConfigurationSetEventDestinationResponse Prelude.Int+createConfigurationSetEventDestinationResponse_httpStatus = Lens.lens (\CreateConfigurationSetEventDestinationResponse' {httpStatus} -> httpStatus) (\s@CreateConfigurationSetEventDestinationResponse' {} a -> s {httpStatus = a} :: CreateConfigurationSetEventDestinationResponse)++instance+ Prelude.NFData+ CreateConfigurationSetEventDestinationResponse+ where+ rnf+ CreateConfigurationSetEventDestinationResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/PinpointEmail/CreateDedicatedIpPool.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.PinpointEmail.CreateDedicatedIpPool+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Create a new pool of dedicated IP addresses. A pool can include one or+-- more dedicated IP addresses that are associated with your Amazon+-- Pinpoint account. You can associate a pool with a configuration set.+-- When you send an email that uses that configuration set, Amazon Pinpoint+-- sends it using only the IP addresses in the associated pool.+module Amazonka.PinpointEmail.CreateDedicatedIpPool+ ( -- * Creating a Request+ CreateDedicatedIpPool (..),+ newCreateDedicatedIpPool,++ -- * Request Lenses+ createDedicatedIpPool_tags,+ createDedicatedIpPool_poolName,++ -- * Destructuring the Response+ CreateDedicatedIpPoolResponse (..),+ newCreateDedicatedIpPoolResponse,++ -- * Response Lenses+ createDedicatedIpPoolResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | A request to create a new dedicated IP pool.+--+-- /See:/ 'newCreateDedicatedIpPool' smart constructor.+data CreateDedicatedIpPool = CreateDedicatedIpPool'+ { -- | An object that defines the tags (keys and values) that you want to+ -- associate with the pool.+ tags :: Prelude.Maybe [Tag],+ -- | The name of the dedicated IP pool.+ poolName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDedicatedIpPool' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createDedicatedIpPool_tags' - An object that defines the tags (keys and values) that you want to+-- associate with the pool.+--+-- 'poolName', 'createDedicatedIpPool_poolName' - The name of the dedicated IP pool.+newCreateDedicatedIpPool ::+ -- | 'poolName'+ Prelude.Text ->+ CreateDedicatedIpPool+newCreateDedicatedIpPool pPoolName_ =+ CreateDedicatedIpPool'+ { tags = Prelude.Nothing,+ poolName = pPoolName_+ }++-- | An object that defines the tags (keys and values) that you want to+-- associate with the pool.+createDedicatedIpPool_tags :: Lens.Lens' CreateDedicatedIpPool (Prelude.Maybe [Tag])+createDedicatedIpPool_tags = Lens.lens (\CreateDedicatedIpPool' {tags} -> tags) (\s@CreateDedicatedIpPool' {} a -> s {tags = a} :: CreateDedicatedIpPool) Prelude.. Lens.mapping Lens.coerced++-- | The name of the dedicated IP pool.+createDedicatedIpPool_poolName :: Lens.Lens' CreateDedicatedIpPool Prelude.Text+createDedicatedIpPool_poolName = Lens.lens (\CreateDedicatedIpPool' {poolName} -> poolName) (\s@CreateDedicatedIpPool' {} a -> s {poolName = a} :: CreateDedicatedIpPool)++instance Core.AWSRequest CreateDedicatedIpPool where+ type+ AWSResponse CreateDedicatedIpPool =+ CreateDedicatedIpPoolResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ CreateDedicatedIpPoolResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateDedicatedIpPool where+ hashWithSalt _salt CreateDedicatedIpPool' {..} =+ _salt+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` poolName++instance Prelude.NFData CreateDedicatedIpPool where+ rnf CreateDedicatedIpPool' {..} =+ Prelude.rnf tags `Prelude.seq` Prelude.rnf poolName++instance Data.ToHeaders CreateDedicatedIpPool where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateDedicatedIpPool where+ toJSON CreateDedicatedIpPool' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("PoolName" Data..= poolName)+ ]+ )++instance Data.ToPath CreateDedicatedIpPool where+ toPath = Prelude.const "/v1/email/dedicated-ip-pools"++instance Data.ToQuery CreateDedicatedIpPool where+ toQuery = Prelude.const Prelude.mempty++-- | An HTTP 200 response if the request succeeds, or an error message if the+-- request fails.+--+-- /See:/ 'newCreateDedicatedIpPoolResponse' smart constructor.+data CreateDedicatedIpPoolResponse = CreateDedicatedIpPoolResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDedicatedIpPoolResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createDedicatedIpPoolResponse_httpStatus' - The response's http status code.+newCreateDedicatedIpPoolResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateDedicatedIpPoolResponse+newCreateDedicatedIpPoolResponse pHttpStatus_ =+ CreateDedicatedIpPoolResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+createDedicatedIpPoolResponse_httpStatus :: Lens.Lens' CreateDedicatedIpPoolResponse Prelude.Int+createDedicatedIpPoolResponse_httpStatus = Lens.lens (\CreateDedicatedIpPoolResponse' {httpStatus} -> httpStatus) (\s@CreateDedicatedIpPoolResponse' {} a -> s {httpStatus = a} :: CreateDedicatedIpPoolResponse)++instance Prelude.NFData CreateDedicatedIpPoolResponse where+ rnf CreateDedicatedIpPoolResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/PinpointEmail/CreateDeliverabilityTestReport.hs view
@@ -0,0 +1,300 @@+{-# 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.PinpointEmail.CreateDeliverabilityTestReport+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Create a new predictive inbox placement test. Predictive inbox placement+-- tests can help you predict how your messages will be handled by various+-- email providers around the world. When you perform a predictive inbox+-- placement test, you provide a sample message that contains the content+-- that you plan to send to your customers. Amazon Pinpoint then sends that+-- message to special email addresses spread across several major email+-- providers. After about 24 hours, the test is complete, and you can use+-- the @GetDeliverabilityTestReport@ operation to view the results of the+-- test.+module Amazonka.PinpointEmail.CreateDeliverabilityTestReport+ ( -- * Creating a Request+ CreateDeliverabilityTestReport (..),+ newCreateDeliverabilityTestReport,++ -- * Request Lenses+ createDeliverabilityTestReport_reportName,+ createDeliverabilityTestReport_tags,+ createDeliverabilityTestReport_fromEmailAddress,+ createDeliverabilityTestReport_content,++ -- * Destructuring the Response+ CreateDeliverabilityTestReportResponse (..),+ newCreateDeliverabilityTestReportResponse,++ -- * Response Lenses+ createDeliverabilityTestReportResponse_httpStatus,+ createDeliverabilityTestReportResponse_reportId,+ createDeliverabilityTestReportResponse_deliverabilityTestStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | A request to perform a predictive inbox placement test. Predictive inbox+-- placement tests can help you predict how your messages will be handled+-- by various email providers around the world. When you perform a+-- predictive inbox placement test, you provide a sample message that+-- contains the content that you plan to send to your customers. Amazon+-- Pinpoint then sends that message to special email addresses spread+-- across several major email providers. After about 24 hours, the test is+-- complete, and you can use the @GetDeliverabilityTestReport@ operation to+-- view the results of the test.+--+-- /See:/ 'newCreateDeliverabilityTestReport' smart constructor.+data CreateDeliverabilityTestReport = CreateDeliverabilityTestReport'+ { -- | A unique name that helps you to identify the predictive inbox placement+ -- test when you retrieve the results.+ reportName :: Prelude.Maybe Prelude.Text,+ -- | An array of objects that define the tags (keys and values) that you want+ -- to associate with the predictive inbox placement test.+ tags :: Prelude.Maybe [Tag],+ -- | The email address that the predictive inbox placement test email was+ -- sent from.+ fromEmailAddress :: Prelude.Text,+ -- | The HTML body of the message that you sent when you performed the+ -- predictive inbox placement test.+ content :: EmailContent+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDeliverabilityTestReport' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'reportName', 'createDeliverabilityTestReport_reportName' - A unique name that helps you to identify the predictive inbox placement+-- test when you retrieve the results.+--+-- 'tags', 'createDeliverabilityTestReport_tags' - An array of objects that define the tags (keys and values) that you want+-- to associate with the predictive inbox placement test.+--+-- 'fromEmailAddress', 'createDeliverabilityTestReport_fromEmailAddress' - The email address that the predictive inbox placement test email was+-- sent from.+--+-- 'content', 'createDeliverabilityTestReport_content' - The HTML body of the message that you sent when you performed the+-- predictive inbox placement test.+newCreateDeliverabilityTestReport ::+ -- | 'fromEmailAddress'+ Prelude.Text ->+ -- | 'content'+ EmailContent ->+ CreateDeliverabilityTestReport+newCreateDeliverabilityTestReport+ pFromEmailAddress_+ pContent_ =+ CreateDeliverabilityTestReport'+ { reportName =+ Prelude.Nothing,+ tags = Prelude.Nothing,+ fromEmailAddress = pFromEmailAddress_,+ content = pContent_+ }++-- | A unique name that helps you to identify the predictive inbox placement+-- test when you retrieve the results.+createDeliverabilityTestReport_reportName :: Lens.Lens' CreateDeliverabilityTestReport (Prelude.Maybe Prelude.Text)+createDeliverabilityTestReport_reportName = Lens.lens (\CreateDeliverabilityTestReport' {reportName} -> reportName) (\s@CreateDeliverabilityTestReport' {} a -> s {reportName = a} :: CreateDeliverabilityTestReport)++-- | An array of objects that define the tags (keys and values) that you want+-- to associate with the predictive inbox placement test.+createDeliverabilityTestReport_tags :: Lens.Lens' CreateDeliverabilityTestReport (Prelude.Maybe [Tag])+createDeliverabilityTestReport_tags = Lens.lens (\CreateDeliverabilityTestReport' {tags} -> tags) (\s@CreateDeliverabilityTestReport' {} a -> s {tags = a} :: CreateDeliverabilityTestReport) Prelude.. Lens.mapping Lens.coerced++-- | The email address that the predictive inbox placement test email was+-- sent from.+createDeliverabilityTestReport_fromEmailAddress :: Lens.Lens' CreateDeliverabilityTestReport Prelude.Text+createDeliverabilityTestReport_fromEmailAddress = Lens.lens (\CreateDeliverabilityTestReport' {fromEmailAddress} -> fromEmailAddress) (\s@CreateDeliverabilityTestReport' {} a -> s {fromEmailAddress = a} :: CreateDeliverabilityTestReport)++-- | The HTML body of the message that you sent when you performed the+-- predictive inbox placement test.+createDeliverabilityTestReport_content :: Lens.Lens' CreateDeliverabilityTestReport EmailContent+createDeliverabilityTestReport_content = Lens.lens (\CreateDeliverabilityTestReport' {content} -> content) (\s@CreateDeliverabilityTestReport' {} a -> s {content = a} :: CreateDeliverabilityTestReport)++instance+ Core.AWSRequest+ CreateDeliverabilityTestReport+ where+ type+ AWSResponse CreateDeliverabilityTestReport =+ CreateDeliverabilityTestReportResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateDeliverabilityTestReportResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "ReportId")+ Prelude.<*> (x Data..:> "DeliverabilityTestStatus")+ )++instance+ Prelude.Hashable+ CreateDeliverabilityTestReport+ where+ hashWithSalt+ _salt+ CreateDeliverabilityTestReport' {..} =+ _salt+ `Prelude.hashWithSalt` reportName+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` fromEmailAddress+ `Prelude.hashWithSalt` content++instance+ Prelude.NFData+ CreateDeliverabilityTestReport+ where+ rnf CreateDeliverabilityTestReport' {..} =+ Prelude.rnf reportName+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf fromEmailAddress+ `Prelude.seq` Prelude.rnf content++instance+ Data.ToHeaders+ CreateDeliverabilityTestReport+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateDeliverabilityTestReport where+ toJSON CreateDeliverabilityTestReport' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ReportName" Data..=) Prelude.<$> reportName,+ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just+ ("FromEmailAddress" Data..= fromEmailAddress),+ Prelude.Just ("Content" Data..= content)+ ]+ )++instance Data.ToPath CreateDeliverabilityTestReport where+ toPath =+ Prelude.const+ "/v1/email/deliverability-dashboard/test"++instance Data.ToQuery CreateDeliverabilityTestReport where+ toQuery = Prelude.const Prelude.mempty++-- | Information about the predictive inbox placement test that you created.+--+-- /See:/ 'newCreateDeliverabilityTestReportResponse' smart constructor.+data CreateDeliverabilityTestReportResponse = CreateDeliverabilityTestReportResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | A unique string that identifies the predictive inbox placement test.+ reportId :: Prelude.Text,+ -- | The status of the predictive inbox placement test. If the status is+ -- @IN_PROGRESS@, then the predictive inbox placement test is currently+ -- running. Predictive inbox placement tests are usually complete within 24+ -- hours of creating the test. If the status is @COMPLETE@, then the test+ -- is finished, and you can use the @GetDeliverabilityTestReport@ to view+ -- the results of the test.+ deliverabilityTestStatus :: DeliverabilityTestStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDeliverabilityTestReportResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createDeliverabilityTestReportResponse_httpStatus' - The response's http status code.+--+-- 'reportId', 'createDeliverabilityTestReportResponse_reportId' - A unique string that identifies the predictive inbox placement test.+--+-- 'deliverabilityTestStatus', 'createDeliverabilityTestReportResponse_deliverabilityTestStatus' - The status of the predictive inbox placement test. If the status is+-- @IN_PROGRESS@, then the predictive inbox placement test is currently+-- running. Predictive inbox placement tests are usually complete within 24+-- hours of creating the test. If the status is @COMPLETE@, then the test+-- is finished, and you can use the @GetDeliverabilityTestReport@ to view+-- the results of the test.+newCreateDeliverabilityTestReportResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'reportId'+ Prelude.Text ->+ -- | 'deliverabilityTestStatus'+ DeliverabilityTestStatus ->+ CreateDeliverabilityTestReportResponse+newCreateDeliverabilityTestReportResponse+ pHttpStatus_+ pReportId_+ pDeliverabilityTestStatus_ =+ CreateDeliverabilityTestReportResponse'+ { httpStatus =+ pHttpStatus_,+ reportId = pReportId_,+ deliverabilityTestStatus =+ pDeliverabilityTestStatus_+ }++-- | The response's http status code.+createDeliverabilityTestReportResponse_httpStatus :: Lens.Lens' CreateDeliverabilityTestReportResponse Prelude.Int+createDeliverabilityTestReportResponse_httpStatus = Lens.lens (\CreateDeliverabilityTestReportResponse' {httpStatus} -> httpStatus) (\s@CreateDeliverabilityTestReportResponse' {} a -> s {httpStatus = a} :: CreateDeliverabilityTestReportResponse)++-- | A unique string that identifies the predictive inbox placement test.+createDeliverabilityTestReportResponse_reportId :: Lens.Lens' CreateDeliverabilityTestReportResponse Prelude.Text+createDeliverabilityTestReportResponse_reportId = Lens.lens (\CreateDeliverabilityTestReportResponse' {reportId} -> reportId) (\s@CreateDeliverabilityTestReportResponse' {} a -> s {reportId = a} :: CreateDeliverabilityTestReportResponse)++-- | The status of the predictive inbox placement test. If the status is+-- @IN_PROGRESS@, then the predictive inbox placement test is currently+-- running. Predictive inbox placement tests are usually complete within 24+-- hours of creating the test. If the status is @COMPLETE@, then the test+-- is finished, and you can use the @GetDeliverabilityTestReport@ to view+-- the results of the test.+createDeliverabilityTestReportResponse_deliverabilityTestStatus :: Lens.Lens' CreateDeliverabilityTestReportResponse DeliverabilityTestStatus+createDeliverabilityTestReportResponse_deliverabilityTestStatus = Lens.lens (\CreateDeliverabilityTestReportResponse' {deliverabilityTestStatus} -> deliverabilityTestStatus) (\s@CreateDeliverabilityTestReportResponse' {} a -> s {deliverabilityTestStatus = a} :: CreateDeliverabilityTestReportResponse)++instance+ Prelude.NFData+ CreateDeliverabilityTestReportResponse+ where+ rnf CreateDeliverabilityTestReportResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf reportId+ `Prelude.seq` Prelude.rnf deliverabilityTestStatus
+ gen/Amazonka/PinpointEmail/CreateEmailIdentity.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.PinpointEmail.CreateEmailIdentity+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Verifies an email identity for use with Amazon Pinpoint. In Amazon+-- Pinpoint, an identity is an email address or domain that you use when+-- you send email. Before you can use an identity to send email with Amazon+-- Pinpoint, you first have to verify it. By verifying an address, you+-- demonstrate that you\'re the owner of the address, and that you\'ve+-- given Amazon Pinpoint permission to send email from the address.+--+-- When you verify an email address, Amazon Pinpoint sends an email to the+-- address. Your email address is verified as soon as you follow the link+-- in the verification email.+--+-- When you verify a domain, this operation provides a set of DKIM tokens,+-- which you can convert into CNAME tokens. You add these CNAME tokens to+-- the DNS configuration for your domain. Your domain is verified when+-- Amazon Pinpoint detects these records in the DNS configuration for your+-- domain. It usually takes around 72 hours to complete the domain+-- verification process.+module Amazonka.PinpointEmail.CreateEmailIdentity+ ( -- * Creating a Request+ CreateEmailIdentity (..),+ newCreateEmailIdentity,++ -- * Request Lenses+ createEmailIdentity_tags,+ createEmailIdentity_emailIdentity,++ -- * Destructuring the Response+ CreateEmailIdentityResponse (..),+ newCreateEmailIdentityResponse,++ -- * Response Lenses+ createEmailIdentityResponse_dkimAttributes,+ createEmailIdentityResponse_identityType,+ createEmailIdentityResponse_verifiedForSendingStatus,+ createEmailIdentityResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | A request to begin the verification process for an email identity (an+-- email address or domain).+--+-- /See:/ 'newCreateEmailIdentity' smart constructor.+data CreateEmailIdentity = CreateEmailIdentity'+ { -- | An array of objects that define the tags (keys and values) that you want+ -- to associate with the email identity.+ tags :: Prelude.Maybe [Tag],+ -- | The email address or domain that you want to verify.+ emailIdentity :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateEmailIdentity' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createEmailIdentity_tags' - An array of objects that define the tags (keys and values) that you want+-- to associate with the email identity.+--+-- 'emailIdentity', 'createEmailIdentity_emailIdentity' - The email address or domain that you want to verify.+newCreateEmailIdentity ::+ -- | 'emailIdentity'+ Prelude.Text ->+ CreateEmailIdentity+newCreateEmailIdentity pEmailIdentity_ =+ CreateEmailIdentity'+ { tags = Prelude.Nothing,+ emailIdentity = pEmailIdentity_+ }++-- | An array of objects that define the tags (keys and values) that you want+-- to associate with the email identity.+createEmailIdentity_tags :: Lens.Lens' CreateEmailIdentity (Prelude.Maybe [Tag])+createEmailIdentity_tags = Lens.lens (\CreateEmailIdentity' {tags} -> tags) (\s@CreateEmailIdentity' {} a -> s {tags = a} :: CreateEmailIdentity) Prelude.. Lens.mapping Lens.coerced++-- | The email address or domain that you want to verify.+createEmailIdentity_emailIdentity :: Lens.Lens' CreateEmailIdentity Prelude.Text+createEmailIdentity_emailIdentity = Lens.lens (\CreateEmailIdentity' {emailIdentity} -> emailIdentity) (\s@CreateEmailIdentity' {} a -> s {emailIdentity = a} :: CreateEmailIdentity)++instance Core.AWSRequest CreateEmailIdentity where+ type+ AWSResponse CreateEmailIdentity =+ CreateEmailIdentityResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateEmailIdentityResponse'+ Prelude.<$> (x Data..?> "DkimAttributes")+ Prelude.<*> (x Data..?> "IdentityType")+ Prelude.<*> (x Data..?> "VerifiedForSendingStatus")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateEmailIdentity where+ hashWithSalt _salt CreateEmailIdentity' {..} =+ _salt+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` emailIdentity++instance Prelude.NFData CreateEmailIdentity where+ rnf CreateEmailIdentity' {..} =+ Prelude.rnf tags+ `Prelude.seq` Prelude.rnf emailIdentity++instance Data.ToHeaders CreateEmailIdentity where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateEmailIdentity where+ toJSON CreateEmailIdentity' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just+ ("EmailIdentity" Data..= emailIdentity)+ ]+ )++instance Data.ToPath CreateEmailIdentity where+ toPath = Prelude.const "/v1/email/identities"++instance Data.ToQuery CreateEmailIdentity where+ toQuery = Prelude.const Prelude.mempty++-- | If the email identity is a domain, this object contains tokens that you+-- can use to create a set of CNAME records. To sucessfully verify your+-- domain, you have to add these records to the DNS configuration for your+-- domain.+--+-- If the email identity is an email address, this object is empty.+--+-- /See:/ 'newCreateEmailIdentityResponse' smart constructor.+data CreateEmailIdentityResponse = CreateEmailIdentityResponse'+ { -- | An object that contains information about the DKIM attributes for the+ -- identity. This object includes the tokens that you use to create the+ -- CNAME records that are required to complete the DKIM verification+ -- process.+ dkimAttributes :: Prelude.Maybe DkimAttributes,+ -- | The email identity type.+ identityType :: Prelude.Maybe IdentityType,+ -- | Specifies whether or not the identity is verified. In Amazon Pinpoint,+ -- you can only send email from verified email addresses or domains. For+ -- more information about verifying identities, see the+ -- <https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-email-manage-verify.html Amazon Pinpoint User Guide>.+ verifiedForSendingStatus :: Prelude.Maybe Prelude.Bool,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateEmailIdentityResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dkimAttributes', 'createEmailIdentityResponse_dkimAttributes' - An object that contains information about the DKIM attributes for the+-- identity. This object includes the tokens that you use to create the+-- CNAME records that are required to complete the DKIM verification+-- process.+--+-- 'identityType', 'createEmailIdentityResponse_identityType' - The email identity type.+--+-- 'verifiedForSendingStatus', 'createEmailIdentityResponse_verifiedForSendingStatus' - Specifies whether or not the identity is verified. In Amazon Pinpoint,+-- you can only send email from verified email addresses or domains. For+-- more information about verifying identities, see the+-- <https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-email-manage-verify.html Amazon Pinpoint User Guide>.+--+-- 'httpStatus', 'createEmailIdentityResponse_httpStatus' - The response's http status code.+newCreateEmailIdentityResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateEmailIdentityResponse+newCreateEmailIdentityResponse pHttpStatus_ =+ CreateEmailIdentityResponse'+ { dkimAttributes =+ Prelude.Nothing,+ identityType = Prelude.Nothing,+ verifiedForSendingStatus = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An object that contains information about the DKIM attributes for the+-- identity. This object includes the tokens that you use to create the+-- CNAME records that are required to complete the DKIM verification+-- process.+createEmailIdentityResponse_dkimAttributes :: Lens.Lens' CreateEmailIdentityResponse (Prelude.Maybe DkimAttributes)+createEmailIdentityResponse_dkimAttributes = Lens.lens (\CreateEmailIdentityResponse' {dkimAttributes} -> dkimAttributes) (\s@CreateEmailIdentityResponse' {} a -> s {dkimAttributes = a} :: CreateEmailIdentityResponse)++-- | The email identity type.+createEmailIdentityResponse_identityType :: Lens.Lens' CreateEmailIdentityResponse (Prelude.Maybe IdentityType)+createEmailIdentityResponse_identityType = Lens.lens (\CreateEmailIdentityResponse' {identityType} -> identityType) (\s@CreateEmailIdentityResponse' {} a -> s {identityType = a} :: CreateEmailIdentityResponse)++-- | Specifies whether or not the identity is verified. In Amazon Pinpoint,+-- you can only send email from verified email addresses or domains. For+-- more information about verifying identities, see the+-- <https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-email-manage-verify.html Amazon Pinpoint User Guide>.+createEmailIdentityResponse_verifiedForSendingStatus :: Lens.Lens' CreateEmailIdentityResponse (Prelude.Maybe Prelude.Bool)+createEmailIdentityResponse_verifiedForSendingStatus = Lens.lens (\CreateEmailIdentityResponse' {verifiedForSendingStatus} -> verifiedForSendingStatus) (\s@CreateEmailIdentityResponse' {} a -> s {verifiedForSendingStatus = a} :: CreateEmailIdentityResponse)++-- | The response's http status code.+createEmailIdentityResponse_httpStatus :: Lens.Lens' CreateEmailIdentityResponse Prelude.Int+createEmailIdentityResponse_httpStatus = Lens.lens (\CreateEmailIdentityResponse' {httpStatus} -> httpStatus) (\s@CreateEmailIdentityResponse' {} a -> s {httpStatus = a} :: CreateEmailIdentityResponse)++instance Prelude.NFData CreateEmailIdentityResponse where+ rnf CreateEmailIdentityResponse' {..} =+ Prelude.rnf dkimAttributes+ `Prelude.seq` Prelude.rnf identityType+ `Prelude.seq` Prelude.rnf verifiedForSendingStatus+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/PinpointEmail/DeleteConfigurationSet.hs view
@@ -0,0 +1,167 @@+{-# 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.PinpointEmail.DeleteConfigurationSet+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Delete an existing configuration set.+--+-- In Amazon Pinpoint, /configuration sets/ are groups of rules that you+-- can apply to the emails you send. You apply a configuration set to an+-- email by including a reference to the configuration set in the headers+-- of the email. When you apply a configuration set to an email, all of the+-- rules in that configuration set are applied to the email.+module Amazonka.PinpointEmail.DeleteConfigurationSet+ ( -- * Creating a Request+ DeleteConfigurationSet (..),+ newDeleteConfigurationSet,++ -- * Request Lenses+ deleteConfigurationSet_configurationSetName,++ -- * Destructuring the Response+ DeleteConfigurationSetResponse (..),+ newDeleteConfigurationSetResponse,++ -- * Response Lenses+ deleteConfigurationSetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | A request to delete a configuration set.+--+-- /See:/ 'newDeleteConfigurationSet' smart constructor.+data DeleteConfigurationSet = DeleteConfigurationSet'+ { -- | The name of the configuration set that you want to delete.+ configurationSetName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteConfigurationSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'configurationSetName', 'deleteConfigurationSet_configurationSetName' - The name of the configuration set that you want to delete.+newDeleteConfigurationSet ::+ -- | 'configurationSetName'+ Prelude.Text ->+ DeleteConfigurationSet+newDeleteConfigurationSet pConfigurationSetName_ =+ DeleteConfigurationSet'+ { configurationSetName =+ pConfigurationSetName_+ }++-- | The name of the configuration set that you want to delete.+deleteConfigurationSet_configurationSetName :: Lens.Lens' DeleteConfigurationSet Prelude.Text+deleteConfigurationSet_configurationSetName = Lens.lens (\DeleteConfigurationSet' {configurationSetName} -> configurationSetName) (\s@DeleteConfigurationSet' {} a -> s {configurationSetName = a} :: DeleteConfigurationSet)++instance Core.AWSRequest DeleteConfigurationSet where+ type+ AWSResponse DeleteConfigurationSet =+ DeleteConfigurationSetResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteConfigurationSetResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteConfigurationSet where+ hashWithSalt _salt DeleteConfigurationSet' {..} =+ _salt `Prelude.hashWithSalt` configurationSetName++instance Prelude.NFData DeleteConfigurationSet where+ rnf DeleteConfigurationSet' {..} =+ Prelude.rnf configurationSetName++instance Data.ToHeaders DeleteConfigurationSet where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeleteConfigurationSet where+ toPath DeleteConfigurationSet' {..} =+ Prelude.mconcat+ [ "/v1/email/configuration-sets/",+ Data.toBS configurationSetName+ ]++instance Data.ToQuery DeleteConfigurationSet where+ toQuery = Prelude.const Prelude.mempty++-- | An HTTP 200 response if the request succeeds, or an error message if the+-- request fails.+--+-- /See:/ 'newDeleteConfigurationSetResponse' smart constructor.+data DeleteConfigurationSetResponse = DeleteConfigurationSetResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteConfigurationSetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteConfigurationSetResponse_httpStatus' - The response's http status code.+newDeleteConfigurationSetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteConfigurationSetResponse+newDeleteConfigurationSetResponse pHttpStatus_ =+ DeleteConfigurationSetResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+deleteConfigurationSetResponse_httpStatus :: Lens.Lens' DeleteConfigurationSetResponse Prelude.Int+deleteConfigurationSetResponse_httpStatus = Lens.lens (\DeleteConfigurationSetResponse' {httpStatus} -> httpStatus) (\s@DeleteConfigurationSetResponse' {} a -> s {httpStatus = a} :: DeleteConfigurationSetResponse)++instance+ Prelude.NFData+ DeleteConfigurationSetResponse+ where+ rnf DeleteConfigurationSetResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/PinpointEmail/DeleteConfigurationSetEventDestination.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.PinpointEmail.DeleteConfigurationSetEventDestination+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Delete an event destination.+--+-- In Amazon Pinpoint, /events/ include message sends, deliveries, opens,+-- clicks, bounces, and complaints. /Event destinations/ are places that+-- you can send information about these events to. For example, you can+-- send event data to Amazon SNS to receive notifications when you receive+-- bounces or complaints, or you can use Amazon Kinesis Data Firehose to+-- stream data to Amazon S3 for long-term storage.+module Amazonka.PinpointEmail.DeleteConfigurationSetEventDestination+ ( -- * Creating a Request+ DeleteConfigurationSetEventDestination (..),+ newDeleteConfigurationSetEventDestination,++ -- * Request Lenses+ deleteConfigurationSetEventDestination_configurationSetName,+ deleteConfigurationSetEventDestination_eventDestinationName,++ -- * Destructuring the Response+ DeleteConfigurationSetEventDestinationResponse (..),+ newDeleteConfigurationSetEventDestinationResponse,++ -- * Response Lenses+ deleteConfigurationSetEventDestinationResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | A request to delete an event destination from a configuration set.+--+-- /See:/ 'newDeleteConfigurationSetEventDestination' smart constructor.+data DeleteConfigurationSetEventDestination = DeleteConfigurationSetEventDestination'+ { -- | The name of the configuration set that contains the event destination+ -- that you want to delete.+ configurationSetName :: Prelude.Text,+ -- | The name of the event destination that you want to delete.+ eventDestinationName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteConfigurationSetEventDestination' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'configurationSetName', 'deleteConfigurationSetEventDestination_configurationSetName' - The name of the configuration set that contains the event destination+-- that you want to delete.+--+-- 'eventDestinationName', 'deleteConfigurationSetEventDestination_eventDestinationName' - The name of the event destination that you want to delete.+newDeleteConfigurationSetEventDestination ::+ -- | 'configurationSetName'+ Prelude.Text ->+ -- | 'eventDestinationName'+ Prelude.Text ->+ DeleteConfigurationSetEventDestination+newDeleteConfigurationSetEventDestination+ pConfigurationSetName_+ pEventDestinationName_ =+ DeleteConfigurationSetEventDestination'+ { configurationSetName =+ pConfigurationSetName_,+ eventDestinationName =+ pEventDestinationName_+ }++-- | The name of the configuration set that contains the event destination+-- that you want to delete.+deleteConfigurationSetEventDestination_configurationSetName :: Lens.Lens' DeleteConfigurationSetEventDestination Prelude.Text+deleteConfigurationSetEventDestination_configurationSetName = Lens.lens (\DeleteConfigurationSetEventDestination' {configurationSetName} -> configurationSetName) (\s@DeleteConfigurationSetEventDestination' {} a -> s {configurationSetName = a} :: DeleteConfigurationSetEventDestination)++-- | The name of the event destination that you want to delete.+deleteConfigurationSetEventDestination_eventDestinationName :: Lens.Lens' DeleteConfigurationSetEventDestination Prelude.Text+deleteConfigurationSetEventDestination_eventDestinationName = Lens.lens (\DeleteConfigurationSetEventDestination' {eventDestinationName} -> eventDestinationName) (\s@DeleteConfigurationSetEventDestination' {} a -> s {eventDestinationName = a} :: DeleteConfigurationSetEventDestination)++instance+ Core.AWSRequest+ DeleteConfigurationSetEventDestination+ where+ type+ AWSResponse+ DeleteConfigurationSetEventDestination =+ DeleteConfigurationSetEventDestinationResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteConfigurationSetEventDestinationResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ DeleteConfigurationSetEventDestination+ where+ hashWithSalt+ _salt+ DeleteConfigurationSetEventDestination' {..} =+ _salt+ `Prelude.hashWithSalt` configurationSetName+ `Prelude.hashWithSalt` eventDestinationName++instance+ Prelude.NFData+ DeleteConfigurationSetEventDestination+ where+ rnf DeleteConfigurationSetEventDestination' {..} =+ Prelude.rnf configurationSetName+ `Prelude.seq` Prelude.rnf eventDestinationName++instance+ Data.ToHeaders+ DeleteConfigurationSetEventDestination+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToPath+ DeleteConfigurationSetEventDestination+ where+ toPath DeleteConfigurationSetEventDestination' {..} =+ Prelude.mconcat+ [ "/v1/email/configuration-sets/",+ Data.toBS configurationSetName,+ "/event-destinations/",+ Data.toBS eventDestinationName+ ]++instance+ Data.ToQuery+ DeleteConfigurationSetEventDestination+ where+ toQuery = Prelude.const Prelude.mempty++-- | An HTTP 200 response if the request succeeds, or an error message if the+-- request fails.+--+-- /See:/ 'newDeleteConfigurationSetEventDestinationResponse' smart constructor.+data DeleteConfigurationSetEventDestinationResponse = DeleteConfigurationSetEventDestinationResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteConfigurationSetEventDestinationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteConfigurationSetEventDestinationResponse_httpStatus' - The response's http status code.+newDeleteConfigurationSetEventDestinationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteConfigurationSetEventDestinationResponse+newDeleteConfigurationSetEventDestinationResponse+ pHttpStatus_ =+ DeleteConfigurationSetEventDestinationResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+deleteConfigurationSetEventDestinationResponse_httpStatus :: Lens.Lens' DeleteConfigurationSetEventDestinationResponse Prelude.Int+deleteConfigurationSetEventDestinationResponse_httpStatus = Lens.lens (\DeleteConfigurationSetEventDestinationResponse' {httpStatus} -> httpStatus) (\s@DeleteConfigurationSetEventDestinationResponse' {} a -> s {httpStatus = a} :: DeleteConfigurationSetEventDestinationResponse)++instance+ Prelude.NFData+ DeleteConfigurationSetEventDestinationResponse+ where+ rnf+ DeleteConfigurationSetEventDestinationResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/PinpointEmail/DeleteDedicatedIpPool.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.PinpointEmail.DeleteDedicatedIpPool+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Delete a dedicated IP pool.+module Amazonka.PinpointEmail.DeleteDedicatedIpPool+ ( -- * Creating a Request+ DeleteDedicatedIpPool (..),+ newDeleteDedicatedIpPool,++ -- * Request Lenses+ deleteDedicatedIpPool_poolName,++ -- * Destructuring the Response+ DeleteDedicatedIpPoolResponse (..),+ newDeleteDedicatedIpPoolResponse,++ -- * Response Lenses+ deleteDedicatedIpPoolResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | A request to delete a dedicated IP pool.+--+-- /See:/ 'newDeleteDedicatedIpPool' smart constructor.+data DeleteDedicatedIpPool = DeleteDedicatedIpPool'+ { -- | The name of the dedicated IP pool that you want to delete.+ poolName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDedicatedIpPool' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'poolName', 'deleteDedicatedIpPool_poolName' - The name of the dedicated IP pool that you want to delete.+newDeleteDedicatedIpPool ::+ -- | 'poolName'+ Prelude.Text ->+ DeleteDedicatedIpPool+newDeleteDedicatedIpPool pPoolName_ =+ DeleteDedicatedIpPool' {poolName = pPoolName_}++-- | The name of the dedicated IP pool that you want to delete.+deleteDedicatedIpPool_poolName :: Lens.Lens' DeleteDedicatedIpPool Prelude.Text+deleteDedicatedIpPool_poolName = Lens.lens (\DeleteDedicatedIpPool' {poolName} -> poolName) (\s@DeleteDedicatedIpPool' {} a -> s {poolName = a} :: DeleteDedicatedIpPool)++instance Core.AWSRequest DeleteDedicatedIpPool where+ type+ AWSResponse DeleteDedicatedIpPool =+ DeleteDedicatedIpPoolResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteDedicatedIpPoolResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteDedicatedIpPool where+ hashWithSalt _salt DeleteDedicatedIpPool' {..} =+ _salt `Prelude.hashWithSalt` poolName++instance Prelude.NFData DeleteDedicatedIpPool where+ rnf DeleteDedicatedIpPool' {..} = Prelude.rnf poolName++instance Data.ToHeaders DeleteDedicatedIpPool where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeleteDedicatedIpPool where+ toPath DeleteDedicatedIpPool' {..} =+ Prelude.mconcat+ ["/v1/email/dedicated-ip-pools/", Data.toBS poolName]++instance Data.ToQuery DeleteDedicatedIpPool where+ toQuery = Prelude.const Prelude.mempty++-- | An HTTP 200 response if the request succeeds, or an error message if the+-- request fails.+--+-- /See:/ 'newDeleteDedicatedIpPoolResponse' smart constructor.+data DeleteDedicatedIpPoolResponse = DeleteDedicatedIpPoolResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDedicatedIpPoolResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteDedicatedIpPoolResponse_httpStatus' - The response's http status code.+newDeleteDedicatedIpPoolResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteDedicatedIpPoolResponse+newDeleteDedicatedIpPoolResponse pHttpStatus_ =+ DeleteDedicatedIpPoolResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+deleteDedicatedIpPoolResponse_httpStatus :: Lens.Lens' DeleteDedicatedIpPoolResponse Prelude.Int+deleteDedicatedIpPoolResponse_httpStatus = Lens.lens (\DeleteDedicatedIpPoolResponse' {httpStatus} -> httpStatus) (\s@DeleteDedicatedIpPoolResponse' {} a -> s {httpStatus = a} :: DeleteDedicatedIpPoolResponse)++instance Prelude.NFData DeleteDedicatedIpPoolResponse where+ rnf DeleteDedicatedIpPoolResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/PinpointEmail/DeleteEmailIdentity.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.PinpointEmail.DeleteEmailIdentity+-- 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 email identity that you previously verified for use with+-- Amazon Pinpoint. An identity can be either an email address or a domain+-- name.+module Amazonka.PinpointEmail.DeleteEmailIdentity+ ( -- * Creating a Request+ DeleteEmailIdentity (..),+ newDeleteEmailIdentity,++ -- * Request Lenses+ deleteEmailIdentity_emailIdentity,++ -- * Destructuring the Response+ DeleteEmailIdentityResponse (..),+ newDeleteEmailIdentityResponse,++ -- * Response Lenses+ deleteEmailIdentityResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | A request to delete an existing email identity. When you delete an+-- identity, you lose the ability to use Amazon Pinpoint to send email from+-- that identity. You can restore your ability to send email by completing+-- the verification process for the identity again.+--+-- /See:/ 'newDeleteEmailIdentity' smart constructor.+data DeleteEmailIdentity = DeleteEmailIdentity'+ { -- | The identity (that is, the email address or domain) that you want to+ -- delete from your Amazon Pinpoint account.+ emailIdentity :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteEmailIdentity' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'emailIdentity', 'deleteEmailIdentity_emailIdentity' - The identity (that is, the email address or domain) that you want to+-- delete from your Amazon Pinpoint account.+newDeleteEmailIdentity ::+ -- | 'emailIdentity'+ Prelude.Text ->+ DeleteEmailIdentity+newDeleteEmailIdentity pEmailIdentity_ =+ DeleteEmailIdentity'+ { emailIdentity =+ pEmailIdentity_+ }++-- | The identity (that is, the email address or domain) that you want to+-- delete from your Amazon Pinpoint account.+deleteEmailIdentity_emailIdentity :: Lens.Lens' DeleteEmailIdentity Prelude.Text+deleteEmailIdentity_emailIdentity = Lens.lens (\DeleteEmailIdentity' {emailIdentity} -> emailIdentity) (\s@DeleteEmailIdentity' {} a -> s {emailIdentity = a} :: DeleteEmailIdentity)++instance Core.AWSRequest DeleteEmailIdentity where+ type+ AWSResponse DeleteEmailIdentity =+ DeleteEmailIdentityResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteEmailIdentityResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteEmailIdentity where+ hashWithSalt _salt DeleteEmailIdentity' {..} =+ _salt `Prelude.hashWithSalt` emailIdentity++instance Prelude.NFData DeleteEmailIdentity where+ rnf DeleteEmailIdentity' {..} =+ Prelude.rnf emailIdentity++instance Data.ToHeaders DeleteEmailIdentity where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeleteEmailIdentity where+ toPath DeleteEmailIdentity' {..} =+ Prelude.mconcat+ ["/v1/email/identities/", Data.toBS emailIdentity]++instance Data.ToQuery DeleteEmailIdentity where+ toQuery = Prelude.const Prelude.mempty++-- | An HTTP 200 response if the request succeeds, or an error message if the+-- request fails.+--+-- /See:/ 'newDeleteEmailIdentityResponse' smart constructor.+data DeleteEmailIdentityResponse = DeleteEmailIdentityResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteEmailIdentityResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteEmailIdentityResponse_httpStatus' - The response's http status code.+newDeleteEmailIdentityResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteEmailIdentityResponse+newDeleteEmailIdentityResponse pHttpStatus_ =+ DeleteEmailIdentityResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+deleteEmailIdentityResponse_httpStatus :: Lens.Lens' DeleteEmailIdentityResponse Prelude.Int+deleteEmailIdentityResponse_httpStatus = Lens.lens (\DeleteEmailIdentityResponse' {httpStatus} -> httpStatus) (\s@DeleteEmailIdentityResponse' {} a -> s {httpStatus = a} :: DeleteEmailIdentityResponse)++instance Prelude.NFData DeleteEmailIdentityResponse where+ rnf DeleteEmailIdentityResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/PinpointEmail/GetAccount.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.PinpointEmail.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)+--+-- Obtain information about the email-sending status and capabilities of+-- your Amazon Pinpoint account in the current AWS Region.+module Amazonka.PinpointEmail.GetAccount+ ( -- * Creating a Request+ GetAccount (..),+ newGetAccount,++ -- * Destructuring the Response+ GetAccountResponse (..),+ newGetAccountResponse,++ -- * Response Lenses+ getAccountResponse_dedicatedIpAutoWarmupEnabled,+ getAccountResponse_enforcementStatus,+ getAccountResponse_productionAccessEnabled,+ getAccountResponse_sendQuota,+ getAccountResponse_sendingEnabled,+ getAccountResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | A request to obtain information about the email-sending capabilities of+-- your Amazon Pinpoint account.+--+-- /See:/ 'newGetAccount' smart constructor.+data GetAccount = GetAccount'+ {+ }+ 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.+newGetAccount ::+ GetAccount+newGetAccount = 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..?> "DedicatedIpAutoWarmupEnabled")+ Prelude.<*> (x Data..?> "EnforcementStatus")+ Prelude.<*> (x Data..?> "ProductionAccessEnabled")+ Prelude.<*> (x Data..?> "SendQuota")+ Prelude.<*> (x Data..?> "SendingEnabled")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetAccount where+ hashWithSalt _salt _ =+ _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData GetAccount where+ rnf _ = ()++instance Data.ToHeaders GetAccount where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetAccount where+ toPath = Prelude.const "/v1/email/account"++instance Data.ToQuery GetAccount where+ toQuery = Prelude.const Prelude.mempty++-- | A list of details about the email-sending capabilities of your Amazon+-- Pinpoint account in the current AWS Region.+--+-- /See:/ 'newGetAccountResponse' smart constructor.+data GetAccountResponse = GetAccountResponse'+ { -- | Indicates whether or not the automatic warm-up feature is enabled for+ -- dedicated IP addresses that are associated with your account.+ dedicatedIpAutoWarmupEnabled :: Prelude.Maybe Prelude.Bool,+ -- | The reputation status of your Amazon Pinpoint account. The status can be+ -- one of the following:+ --+ -- - @HEALTHY@ – There are no reputation-related issues that currently+ -- impact your account.+ --+ -- - @PROBATION@ – We\'ve identified some issues with your Amazon+ -- Pinpoint account. We\'re placing your account under review while you+ -- work on correcting these issues.+ --+ -- - @SHUTDOWN@ – Your account\'s ability to send email is currently+ -- paused because of an issue with the email sent from your account.+ -- When you correct the issue, you can contact us and request that your+ -- account\'s ability to send email is resumed.+ enforcementStatus :: Prelude.Maybe Prelude.Text,+ -- | Indicates whether or not your account has production access in the+ -- current AWS Region.+ --+ -- If the value is @false@, then your account is in the /sandbox/. When+ -- your account is in the sandbox, you can only send email to verified+ -- identities. Additionally, the maximum number of emails you can send in a+ -- 24-hour period (your sending quota) is 200, and the maximum number of+ -- emails you can send per second (your maximum sending rate) is 1.+ --+ -- If the value is @true@, then your account has production access. When+ -- your account has production access, you can send email to any address.+ -- The sending quota and maximum sending rate for your account vary based+ -- on your specific use case.+ productionAccessEnabled :: Prelude.Maybe Prelude.Bool,+ -- | An object that contains information about the per-day and per-second+ -- sending limits for your Amazon Pinpoint account in the current AWS+ -- Region.+ sendQuota :: Prelude.Maybe SendQuota,+ -- | Indicates whether or not email sending is enabled for your Amazon+ -- Pinpoint account in the current AWS Region.+ sendingEnabled :: Prelude.Maybe Prelude.Bool,+ -- | 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:+--+-- 'dedicatedIpAutoWarmupEnabled', 'getAccountResponse_dedicatedIpAutoWarmupEnabled' - Indicates whether or not the automatic warm-up feature is enabled for+-- dedicated IP addresses that are associated with your account.+--+-- 'enforcementStatus', 'getAccountResponse_enforcementStatus' - The reputation status of your Amazon Pinpoint account. The status can be+-- one of the following:+--+-- - @HEALTHY@ – There are no reputation-related issues that currently+-- impact your account.+--+-- - @PROBATION@ – We\'ve identified some issues with your Amazon+-- Pinpoint account. We\'re placing your account under review while you+-- work on correcting these issues.+--+-- - @SHUTDOWN@ – Your account\'s ability to send email is currently+-- paused because of an issue with the email sent from your account.+-- When you correct the issue, you can contact us and request that your+-- account\'s ability to send email is resumed.+--+-- 'productionAccessEnabled', 'getAccountResponse_productionAccessEnabled' - Indicates whether or not your account has production access in the+-- current AWS Region.+--+-- If the value is @false@, then your account is in the /sandbox/. When+-- your account is in the sandbox, you can only send email to verified+-- identities. Additionally, the maximum number of emails you can send in a+-- 24-hour period (your sending quota) is 200, and the maximum number of+-- emails you can send per second (your maximum sending rate) is 1.+--+-- If the value is @true@, then your account has production access. When+-- your account has production access, you can send email to any address.+-- The sending quota and maximum sending rate for your account vary based+-- on your specific use case.+--+-- 'sendQuota', 'getAccountResponse_sendQuota' - An object that contains information about the per-day and per-second+-- sending limits for your Amazon Pinpoint account in the current AWS+-- Region.+--+-- 'sendingEnabled', 'getAccountResponse_sendingEnabled' - Indicates whether or not email sending is enabled for your Amazon+-- Pinpoint account in the current AWS Region.+--+-- 'httpStatus', 'getAccountResponse_httpStatus' - The response's http status code.+newGetAccountResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetAccountResponse+newGetAccountResponse pHttpStatus_ =+ GetAccountResponse'+ { dedicatedIpAutoWarmupEnabled =+ Prelude.Nothing,+ enforcementStatus = Prelude.Nothing,+ productionAccessEnabled = Prelude.Nothing,+ sendQuota = Prelude.Nothing,+ sendingEnabled = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Indicates whether or not the automatic warm-up feature is enabled for+-- dedicated IP addresses that are associated with your account.+getAccountResponse_dedicatedIpAutoWarmupEnabled :: Lens.Lens' GetAccountResponse (Prelude.Maybe Prelude.Bool)+getAccountResponse_dedicatedIpAutoWarmupEnabled = Lens.lens (\GetAccountResponse' {dedicatedIpAutoWarmupEnabled} -> dedicatedIpAutoWarmupEnabled) (\s@GetAccountResponse' {} a -> s {dedicatedIpAutoWarmupEnabled = a} :: GetAccountResponse)++-- | The reputation status of your Amazon Pinpoint account. The status can be+-- one of the following:+--+-- - @HEALTHY@ – There are no reputation-related issues that currently+-- impact your account.+--+-- - @PROBATION@ – We\'ve identified some issues with your Amazon+-- Pinpoint account. We\'re placing your account under review while you+-- work on correcting these issues.+--+-- - @SHUTDOWN@ – Your account\'s ability to send email is currently+-- paused because of an issue with the email sent from your account.+-- When you correct the issue, you can contact us and request that your+-- account\'s ability to send email is resumed.+getAccountResponse_enforcementStatus :: Lens.Lens' GetAccountResponse (Prelude.Maybe Prelude.Text)+getAccountResponse_enforcementStatus = Lens.lens (\GetAccountResponse' {enforcementStatus} -> enforcementStatus) (\s@GetAccountResponse' {} a -> s {enforcementStatus = a} :: GetAccountResponse)++-- | Indicates whether or not your account has production access in the+-- current AWS Region.+--+-- If the value is @false@, then your account is in the /sandbox/. When+-- your account is in the sandbox, you can only send email to verified+-- identities. Additionally, the maximum number of emails you can send in a+-- 24-hour period (your sending quota) is 200, and the maximum number of+-- emails you can send per second (your maximum sending rate) is 1.+--+-- If the value is @true@, then your account has production access. When+-- your account has production access, you can send email to any address.+-- The sending quota and maximum sending rate for your account vary based+-- on your specific use case.+getAccountResponse_productionAccessEnabled :: Lens.Lens' GetAccountResponse (Prelude.Maybe Prelude.Bool)+getAccountResponse_productionAccessEnabled = Lens.lens (\GetAccountResponse' {productionAccessEnabled} -> productionAccessEnabled) (\s@GetAccountResponse' {} a -> s {productionAccessEnabled = a} :: GetAccountResponse)++-- | An object that contains information about the per-day and per-second+-- sending limits for your Amazon Pinpoint account in the current AWS+-- Region.+getAccountResponse_sendQuota :: Lens.Lens' GetAccountResponse (Prelude.Maybe SendQuota)+getAccountResponse_sendQuota = Lens.lens (\GetAccountResponse' {sendQuota} -> sendQuota) (\s@GetAccountResponse' {} a -> s {sendQuota = a} :: GetAccountResponse)++-- | Indicates whether or not email sending is enabled for your Amazon+-- Pinpoint account in the current AWS Region.+getAccountResponse_sendingEnabled :: Lens.Lens' GetAccountResponse (Prelude.Maybe Prelude.Bool)+getAccountResponse_sendingEnabled = Lens.lens (\GetAccountResponse' {sendingEnabled} -> sendingEnabled) (\s@GetAccountResponse' {} a -> s {sendingEnabled = 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 dedicatedIpAutoWarmupEnabled+ `Prelude.seq` Prelude.rnf enforcementStatus+ `Prelude.seq` Prelude.rnf productionAccessEnabled+ `Prelude.seq` Prelude.rnf sendQuota+ `Prelude.seq` Prelude.rnf sendingEnabled+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/PinpointEmail/GetBlacklistReports.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.PinpointEmail.GetBlacklistReports+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieve a list of the blacklists that your dedicated IP addresses+-- appear on.+module Amazonka.PinpointEmail.GetBlacklistReports+ ( -- * Creating a Request+ GetBlacklistReports (..),+ newGetBlacklistReports,++ -- * Request Lenses+ getBlacklistReports_blacklistItemNames,++ -- * Destructuring the Response+ GetBlacklistReportsResponse (..),+ newGetBlacklistReportsResponse,++ -- * Response Lenses+ getBlacklistReportsResponse_httpStatus,+ getBlacklistReportsResponse_blacklistReport,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | A request to retrieve a list of the blacklists that your dedicated IP+-- addresses appear on.+--+-- /See:/ 'newGetBlacklistReports' smart constructor.+data GetBlacklistReports = GetBlacklistReports'+ { -- | A list of IP addresses that you want to retrieve blacklist information+ -- about. You can only specify the dedicated IP addresses that you use to+ -- send email using Amazon Pinpoint or Amazon SES.+ blacklistItemNames :: [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBlacklistReports' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'blacklistItemNames', 'getBlacklistReports_blacklistItemNames' - A list of IP addresses that you want to retrieve blacklist information+-- about. You can only specify the dedicated IP addresses that you use to+-- send email using Amazon Pinpoint or Amazon SES.+newGetBlacklistReports ::+ GetBlacklistReports+newGetBlacklistReports =+ GetBlacklistReports'+ { blacklistItemNames =+ Prelude.mempty+ }++-- | A list of IP addresses that you want to retrieve blacklist information+-- about. You can only specify the dedicated IP addresses that you use to+-- send email using Amazon Pinpoint or Amazon SES.+getBlacklistReports_blacklistItemNames :: Lens.Lens' GetBlacklistReports [Prelude.Text]+getBlacklistReports_blacklistItemNames = Lens.lens (\GetBlacklistReports' {blacklistItemNames} -> blacklistItemNames) (\s@GetBlacklistReports' {} a -> s {blacklistItemNames = a} :: GetBlacklistReports) Prelude.. Lens.coerced++instance Core.AWSRequest GetBlacklistReports where+ type+ AWSResponse GetBlacklistReports =+ GetBlacklistReportsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetBlacklistReportsResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> ( x+ Data..?> "BlacklistReport"+ Core..!@ Prelude.mempty+ )+ )++instance Prelude.Hashable GetBlacklistReports where+ hashWithSalt _salt GetBlacklistReports' {..} =+ _salt `Prelude.hashWithSalt` blacklistItemNames++instance Prelude.NFData GetBlacklistReports where+ rnf GetBlacklistReports' {..} =+ Prelude.rnf blacklistItemNames++instance Data.ToHeaders GetBlacklistReports where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetBlacklistReports where+ toPath =+ Prelude.const+ "/v1/email/deliverability-dashboard/blacklist-report"++instance Data.ToQuery GetBlacklistReports where+ toQuery GetBlacklistReports' {..} =+ Prelude.mconcat+ [ "BlacklistItemNames"+ Data.=: Data.toQueryList "member" blacklistItemNames+ ]++-- | An object that contains information about blacklist events.+--+-- /See:/ 'newGetBlacklistReportsResponse' smart constructor.+data GetBlacklistReportsResponse = GetBlacklistReportsResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | An object that contains information about a blacklist that one of your+ -- dedicated IP addresses appears on.+ blacklistReport :: Prelude.HashMap Prelude.Text [BlacklistEntry]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBlacklistReportsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getBlacklistReportsResponse_httpStatus' - The response's http status code.+--+-- 'blacklistReport', 'getBlacklistReportsResponse_blacklistReport' - An object that contains information about a blacklist that one of your+-- dedicated IP addresses appears on.+newGetBlacklistReportsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetBlacklistReportsResponse+newGetBlacklistReportsResponse pHttpStatus_ =+ GetBlacklistReportsResponse'+ { httpStatus =+ pHttpStatus_,+ blacklistReport = Prelude.mempty+ }++-- | The response's http status code.+getBlacklistReportsResponse_httpStatus :: Lens.Lens' GetBlacklistReportsResponse Prelude.Int+getBlacklistReportsResponse_httpStatus = Lens.lens (\GetBlacklistReportsResponse' {httpStatus} -> httpStatus) (\s@GetBlacklistReportsResponse' {} a -> s {httpStatus = a} :: GetBlacklistReportsResponse)++-- | An object that contains information about a blacklist that one of your+-- dedicated IP addresses appears on.+getBlacklistReportsResponse_blacklistReport :: Lens.Lens' GetBlacklistReportsResponse (Prelude.HashMap Prelude.Text [BlacklistEntry])+getBlacklistReportsResponse_blacklistReport = Lens.lens (\GetBlacklistReportsResponse' {blacklistReport} -> blacklistReport) (\s@GetBlacklistReportsResponse' {} a -> s {blacklistReport = a} :: GetBlacklistReportsResponse) Prelude.. Lens.coerced++instance Prelude.NFData GetBlacklistReportsResponse where+ rnf GetBlacklistReportsResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf blacklistReport
+ gen/Amazonka/PinpointEmail/GetConfigurationSet.hs view
@@ -0,0 +1,258 @@+{-# 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.PinpointEmail.GetConfigurationSet+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Get information about an existing configuration set, including the+-- dedicated IP pool that it\'s associated with, whether or not it\'s+-- enabled for sending email, and more.+--+-- In Amazon Pinpoint, /configuration sets/ are groups of rules that you+-- can apply to the emails you send. You apply a configuration set to an+-- email by including a reference to the configuration set in the headers+-- of the email. When you apply a configuration set to an email, all of the+-- rules in that configuration set are applied to the email.+module Amazonka.PinpointEmail.GetConfigurationSet+ ( -- * Creating a Request+ GetConfigurationSet (..),+ newGetConfigurationSet,++ -- * Request Lenses+ getConfigurationSet_configurationSetName,++ -- * Destructuring the Response+ GetConfigurationSetResponse (..),+ newGetConfigurationSetResponse,++ -- * Response Lenses+ getConfigurationSetResponse_configurationSetName,+ getConfigurationSetResponse_deliveryOptions,+ getConfigurationSetResponse_reputationOptions,+ getConfigurationSetResponse_sendingOptions,+ getConfigurationSetResponse_tags,+ getConfigurationSetResponse_trackingOptions,+ getConfigurationSetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | A request to obtain information about a configuration set.+--+-- /See:/ 'newGetConfigurationSet' smart constructor.+data GetConfigurationSet = GetConfigurationSet'+ { -- | The name of the configuration set that you want to obtain more+ -- information about.+ configurationSetName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetConfigurationSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'configurationSetName', 'getConfigurationSet_configurationSetName' - The name of the configuration set that you want to obtain more+-- information about.+newGetConfigurationSet ::+ -- | 'configurationSetName'+ Prelude.Text ->+ GetConfigurationSet+newGetConfigurationSet pConfigurationSetName_ =+ GetConfigurationSet'+ { configurationSetName =+ pConfigurationSetName_+ }++-- | The name of the configuration set that you want to obtain more+-- information about.+getConfigurationSet_configurationSetName :: Lens.Lens' GetConfigurationSet Prelude.Text+getConfigurationSet_configurationSetName = Lens.lens (\GetConfigurationSet' {configurationSetName} -> configurationSetName) (\s@GetConfigurationSet' {} a -> s {configurationSetName = a} :: GetConfigurationSet)++instance Core.AWSRequest GetConfigurationSet where+ type+ AWSResponse GetConfigurationSet =+ GetConfigurationSetResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetConfigurationSetResponse'+ Prelude.<$> (x Data..?> "ConfigurationSetName")+ Prelude.<*> (x Data..?> "DeliveryOptions")+ Prelude.<*> (x Data..?> "ReputationOptions")+ Prelude.<*> (x Data..?> "SendingOptions")+ Prelude.<*> (x Data..?> "Tags" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "TrackingOptions")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetConfigurationSet where+ hashWithSalt _salt GetConfigurationSet' {..} =+ _salt `Prelude.hashWithSalt` configurationSetName++instance Prelude.NFData GetConfigurationSet where+ rnf GetConfigurationSet' {..} =+ Prelude.rnf configurationSetName++instance Data.ToHeaders GetConfigurationSet where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetConfigurationSet where+ toPath GetConfigurationSet' {..} =+ Prelude.mconcat+ [ "/v1/email/configuration-sets/",+ Data.toBS configurationSetName+ ]++instance Data.ToQuery GetConfigurationSet where+ toQuery = Prelude.const Prelude.mempty++-- | Information about a configuration set.+--+-- /See:/ 'newGetConfigurationSetResponse' smart constructor.+data GetConfigurationSetResponse = GetConfigurationSetResponse'+ { -- | The name of the configuration set.+ configurationSetName :: Prelude.Maybe Prelude.Text,+ -- | An object that defines the dedicated IP pool that is used to send emails+ -- that you send using the configuration set.+ deliveryOptions :: Prelude.Maybe DeliveryOptions,+ -- | An object that defines whether or not Amazon Pinpoint collects+ -- reputation metrics for the emails that you send that use the+ -- configuration set.+ reputationOptions :: Prelude.Maybe ReputationOptions,+ -- | An object that defines whether or not Amazon Pinpoint can send email+ -- that you send using the configuration set.+ sendingOptions :: Prelude.Maybe SendingOptions,+ -- | An array of objects that define the tags (keys and values) that are+ -- associated with the configuration set.+ tags :: Prelude.Maybe [Tag],+ -- | An object that defines the open and click tracking options for emails+ -- that you send using the configuration set.+ trackingOptions :: Prelude.Maybe TrackingOptions,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetConfigurationSetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'configurationSetName', 'getConfigurationSetResponse_configurationSetName' - The name of the configuration set.+--+-- 'deliveryOptions', 'getConfigurationSetResponse_deliveryOptions' - An object that defines the dedicated IP pool that is used to send emails+-- that you send using the configuration set.+--+-- 'reputationOptions', 'getConfigurationSetResponse_reputationOptions' - An object that defines whether or not Amazon Pinpoint collects+-- reputation metrics for the emails that you send that use the+-- configuration set.+--+-- 'sendingOptions', 'getConfigurationSetResponse_sendingOptions' - An object that defines whether or not Amazon Pinpoint can send email+-- that you send using the configuration set.+--+-- 'tags', 'getConfigurationSetResponse_tags' - An array of objects that define the tags (keys and values) that are+-- associated with the configuration set.+--+-- 'trackingOptions', 'getConfigurationSetResponse_trackingOptions' - An object that defines the open and click tracking options for emails+-- that you send using the configuration set.+--+-- 'httpStatus', 'getConfigurationSetResponse_httpStatus' - The response's http status code.+newGetConfigurationSetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetConfigurationSetResponse+newGetConfigurationSetResponse pHttpStatus_ =+ GetConfigurationSetResponse'+ { configurationSetName =+ Prelude.Nothing,+ deliveryOptions = Prelude.Nothing,+ reputationOptions = Prelude.Nothing,+ sendingOptions = Prelude.Nothing,+ tags = Prelude.Nothing,+ trackingOptions = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The name of the configuration set.+getConfigurationSetResponse_configurationSetName :: Lens.Lens' GetConfigurationSetResponse (Prelude.Maybe Prelude.Text)+getConfigurationSetResponse_configurationSetName = Lens.lens (\GetConfigurationSetResponse' {configurationSetName} -> configurationSetName) (\s@GetConfigurationSetResponse' {} a -> s {configurationSetName = a} :: GetConfigurationSetResponse)++-- | An object that defines the dedicated IP pool that is used to send emails+-- that you send using the configuration set.+getConfigurationSetResponse_deliveryOptions :: Lens.Lens' GetConfigurationSetResponse (Prelude.Maybe DeliveryOptions)+getConfigurationSetResponse_deliveryOptions = Lens.lens (\GetConfigurationSetResponse' {deliveryOptions} -> deliveryOptions) (\s@GetConfigurationSetResponse' {} a -> s {deliveryOptions = a} :: GetConfigurationSetResponse)++-- | An object that defines whether or not Amazon Pinpoint collects+-- reputation metrics for the emails that you send that use the+-- configuration set.+getConfigurationSetResponse_reputationOptions :: Lens.Lens' GetConfigurationSetResponse (Prelude.Maybe ReputationOptions)+getConfigurationSetResponse_reputationOptions = Lens.lens (\GetConfigurationSetResponse' {reputationOptions} -> reputationOptions) (\s@GetConfigurationSetResponse' {} a -> s {reputationOptions = a} :: GetConfigurationSetResponse)++-- | An object that defines whether or not Amazon Pinpoint can send email+-- that you send using the configuration set.+getConfigurationSetResponse_sendingOptions :: Lens.Lens' GetConfigurationSetResponse (Prelude.Maybe SendingOptions)+getConfigurationSetResponse_sendingOptions = Lens.lens (\GetConfigurationSetResponse' {sendingOptions} -> sendingOptions) (\s@GetConfigurationSetResponse' {} a -> s {sendingOptions = a} :: GetConfigurationSetResponse)++-- | An array of objects that define the tags (keys and values) that are+-- associated with the configuration set.+getConfigurationSetResponse_tags :: Lens.Lens' GetConfigurationSetResponse (Prelude.Maybe [Tag])+getConfigurationSetResponse_tags = Lens.lens (\GetConfigurationSetResponse' {tags} -> tags) (\s@GetConfigurationSetResponse' {} a -> s {tags = a} :: GetConfigurationSetResponse) Prelude.. Lens.mapping Lens.coerced++-- | An object that defines the open and click tracking options for emails+-- that you send using the configuration set.+getConfigurationSetResponse_trackingOptions :: Lens.Lens' GetConfigurationSetResponse (Prelude.Maybe TrackingOptions)+getConfigurationSetResponse_trackingOptions = Lens.lens (\GetConfigurationSetResponse' {trackingOptions} -> trackingOptions) (\s@GetConfigurationSetResponse' {} a -> s {trackingOptions = a} :: GetConfigurationSetResponse)++-- | The response's http status code.+getConfigurationSetResponse_httpStatus :: Lens.Lens' GetConfigurationSetResponse Prelude.Int+getConfigurationSetResponse_httpStatus = Lens.lens (\GetConfigurationSetResponse' {httpStatus} -> httpStatus) (\s@GetConfigurationSetResponse' {} a -> s {httpStatus = a} :: GetConfigurationSetResponse)++instance Prelude.NFData GetConfigurationSetResponse where+ rnf GetConfigurationSetResponse' {..} =+ Prelude.rnf configurationSetName+ `Prelude.seq` Prelude.rnf deliveryOptions+ `Prelude.seq` Prelude.rnf reputationOptions+ `Prelude.seq` Prelude.rnf sendingOptions+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf trackingOptions+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/PinpointEmail/GetConfigurationSetEventDestinations.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.PinpointEmail.GetConfigurationSetEventDestinations+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieve a list of event destinations that are associated with a+-- configuration set.+--+-- In Amazon Pinpoint, /events/ include message sends, deliveries, opens,+-- clicks, bounces, and complaints. /Event destinations/ are places that+-- you can send information about these events to. For example, you can+-- send event data to Amazon SNS to receive notifications when you receive+-- bounces or complaints, or you can use Amazon Kinesis Data Firehose to+-- stream data to Amazon S3 for long-term storage.+module Amazonka.PinpointEmail.GetConfigurationSetEventDestinations+ ( -- * Creating a Request+ GetConfigurationSetEventDestinations (..),+ newGetConfigurationSetEventDestinations,++ -- * Request Lenses+ getConfigurationSetEventDestinations_configurationSetName,++ -- * Destructuring the Response+ GetConfigurationSetEventDestinationsResponse (..),+ newGetConfigurationSetEventDestinationsResponse,++ -- * Response Lenses+ getConfigurationSetEventDestinationsResponse_eventDestinations,+ getConfigurationSetEventDestinationsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | A request to obtain information about the event destinations for a+-- configuration set.+--+-- /See:/ 'newGetConfigurationSetEventDestinations' smart constructor.+data GetConfigurationSetEventDestinations = GetConfigurationSetEventDestinations'+ { -- | The name of the configuration set that contains the event destination.+ configurationSetName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetConfigurationSetEventDestinations' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'configurationSetName', 'getConfigurationSetEventDestinations_configurationSetName' - The name of the configuration set that contains the event destination.+newGetConfigurationSetEventDestinations ::+ -- | 'configurationSetName'+ Prelude.Text ->+ GetConfigurationSetEventDestinations+newGetConfigurationSetEventDestinations+ pConfigurationSetName_ =+ GetConfigurationSetEventDestinations'+ { configurationSetName =+ pConfigurationSetName_+ }++-- | The name of the configuration set that contains the event destination.+getConfigurationSetEventDestinations_configurationSetName :: Lens.Lens' GetConfigurationSetEventDestinations Prelude.Text+getConfigurationSetEventDestinations_configurationSetName = Lens.lens (\GetConfigurationSetEventDestinations' {configurationSetName} -> configurationSetName) (\s@GetConfigurationSetEventDestinations' {} a -> s {configurationSetName = a} :: GetConfigurationSetEventDestinations)++instance+ Core.AWSRequest+ GetConfigurationSetEventDestinations+ where+ type+ AWSResponse GetConfigurationSetEventDestinations =+ GetConfigurationSetEventDestinationsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetConfigurationSetEventDestinationsResponse'+ Prelude.<$> ( x+ Data..?> "EventDestinations"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ GetConfigurationSetEventDestinations+ where+ hashWithSalt+ _salt+ GetConfigurationSetEventDestinations' {..} =+ _salt `Prelude.hashWithSalt` configurationSetName++instance+ Prelude.NFData+ GetConfigurationSetEventDestinations+ where+ rnf GetConfigurationSetEventDestinations' {..} =+ Prelude.rnf configurationSetName++instance+ Data.ToHeaders+ GetConfigurationSetEventDestinations+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToPath+ GetConfigurationSetEventDestinations+ where+ toPath GetConfigurationSetEventDestinations' {..} =+ Prelude.mconcat+ [ "/v1/email/configuration-sets/",+ Data.toBS configurationSetName,+ "/event-destinations"+ ]++instance+ Data.ToQuery+ GetConfigurationSetEventDestinations+ where+ toQuery = Prelude.const Prelude.mempty++-- | Information about an event destination for a configuration set.+--+-- /See:/ 'newGetConfigurationSetEventDestinationsResponse' smart constructor.+data GetConfigurationSetEventDestinationsResponse = GetConfigurationSetEventDestinationsResponse'+ { -- | An array that includes all of the events destinations that have been+ -- configured for the configuration set.+ eventDestinations :: Prelude.Maybe [EventDestination],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetConfigurationSetEventDestinationsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'eventDestinations', 'getConfigurationSetEventDestinationsResponse_eventDestinations' - An array that includes all of the events destinations that have been+-- configured for the configuration set.+--+-- 'httpStatus', 'getConfigurationSetEventDestinationsResponse_httpStatus' - The response's http status code.+newGetConfigurationSetEventDestinationsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetConfigurationSetEventDestinationsResponse+newGetConfigurationSetEventDestinationsResponse+ pHttpStatus_ =+ GetConfigurationSetEventDestinationsResponse'+ { eventDestinations =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An array that includes all of the events destinations that have been+-- configured for the configuration set.+getConfigurationSetEventDestinationsResponse_eventDestinations :: Lens.Lens' GetConfigurationSetEventDestinationsResponse (Prelude.Maybe [EventDestination])+getConfigurationSetEventDestinationsResponse_eventDestinations = Lens.lens (\GetConfigurationSetEventDestinationsResponse' {eventDestinations} -> eventDestinations) (\s@GetConfigurationSetEventDestinationsResponse' {} a -> s {eventDestinations = a} :: GetConfigurationSetEventDestinationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+getConfigurationSetEventDestinationsResponse_httpStatus :: Lens.Lens' GetConfigurationSetEventDestinationsResponse Prelude.Int+getConfigurationSetEventDestinationsResponse_httpStatus = Lens.lens (\GetConfigurationSetEventDestinationsResponse' {httpStatus} -> httpStatus) (\s@GetConfigurationSetEventDestinationsResponse' {} a -> s {httpStatus = a} :: GetConfigurationSetEventDestinationsResponse)++instance+ Prelude.NFData+ GetConfigurationSetEventDestinationsResponse+ where+ rnf GetConfigurationSetEventDestinationsResponse' {..} =+ Prelude.rnf eventDestinations+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/PinpointEmail/GetDedicatedIp.hs view
@@ -0,0 +1,170 @@+{-# 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.PinpointEmail.GetDedicatedIp+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Get information about a dedicated IP address, including the name of the+-- dedicated IP pool that it\'s associated with, as well information about+-- the automatic warm-up process for the address.+module Amazonka.PinpointEmail.GetDedicatedIp+ ( -- * Creating a Request+ GetDedicatedIp (..),+ newGetDedicatedIp,++ -- * Request Lenses+ getDedicatedIp_ip,++ -- * Destructuring the Response+ GetDedicatedIpResponse (..),+ newGetDedicatedIpResponse,++ -- * Response Lenses+ getDedicatedIpResponse_dedicatedIp,+ getDedicatedIpResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | A request to obtain more information about a dedicated IP address.+--+-- /See:/ 'newGetDedicatedIp' smart constructor.+data GetDedicatedIp = GetDedicatedIp'+ { -- | The IP address that you want to obtain more information about. The value+ -- you specify has to be a dedicated IP address that\'s assocaited with+ -- your Amazon Pinpoint account.+ ip :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDedicatedIp' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'ip', 'getDedicatedIp_ip' - The IP address that you want to obtain more information about. The value+-- you specify has to be a dedicated IP address that\'s assocaited with+-- your Amazon Pinpoint account.+newGetDedicatedIp ::+ -- | 'ip'+ Prelude.Text ->+ GetDedicatedIp+newGetDedicatedIp pIp_ = GetDedicatedIp' {ip = pIp_}++-- | The IP address that you want to obtain more information about. The value+-- you specify has to be a dedicated IP address that\'s assocaited with+-- your Amazon Pinpoint account.+getDedicatedIp_ip :: Lens.Lens' GetDedicatedIp Prelude.Text+getDedicatedIp_ip = Lens.lens (\GetDedicatedIp' {ip} -> ip) (\s@GetDedicatedIp' {} a -> s {ip = a} :: GetDedicatedIp)++instance Core.AWSRequest GetDedicatedIp where+ type+ AWSResponse GetDedicatedIp =+ GetDedicatedIpResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetDedicatedIpResponse'+ Prelude.<$> (x Data..?> "DedicatedIp")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetDedicatedIp where+ hashWithSalt _salt GetDedicatedIp' {..} =+ _salt `Prelude.hashWithSalt` ip++instance Prelude.NFData GetDedicatedIp where+ rnf GetDedicatedIp' {..} = Prelude.rnf ip++instance Data.ToHeaders GetDedicatedIp where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetDedicatedIp where+ toPath GetDedicatedIp' {..} =+ Prelude.mconcat+ ["/v1/email/dedicated-ips/", Data.toBS ip]++instance Data.ToQuery GetDedicatedIp where+ toQuery = Prelude.const Prelude.mempty++-- | Information about a dedicated IP address.+--+-- /See:/ 'newGetDedicatedIpResponse' smart constructor.+data GetDedicatedIpResponse = GetDedicatedIpResponse'+ { -- | An object that contains information about a dedicated IP address.+ dedicatedIp :: Prelude.Maybe DedicatedIp,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDedicatedIpResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dedicatedIp', 'getDedicatedIpResponse_dedicatedIp' - An object that contains information about a dedicated IP address.+--+-- 'httpStatus', 'getDedicatedIpResponse_httpStatus' - The response's http status code.+newGetDedicatedIpResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetDedicatedIpResponse+newGetDedicatedIpResponse pHttpStatus_ =+ GetDedicatedIpResponse'+ { dedicatedIp =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An object that contains information about a dedicated IP address.+getDedicatedIpResponse_dedicatedIp :: Lens.Lens' GetDedicatedIpResponse (Prelude.Maybe DedicatedIp)+getDedicatedIpResponse_dedicatedIp = Lens.lens (\GetDedicatedIpResponse' {dedicatedIp} -> dedicatedIp) (\s@GetDedicatedIpResponse' {} a -> s {dedicatedIp = a} :: GetDedicatedIpResponse)++-- | The response's http status code.+getDedicatedIpResponse_httpStatus :: Lens.Lens' GetDedicatedIpResponse Prelude.Int+getDedicatedIpResponse_httpStatus = Lens.lens (\GetDedicatedIpResponse' {httpStatus} -> httpStatus) (\s@GetDedicatedIpResponse' {} a -> s {httpStatus = a} :: GetDedicatedIpResponse)++instance Prelude.NFData GetDedicatedIpResponse where+ rnf GetDedicatedIpResponse' {..} =+ Prelude.rnf dedicatedIp+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/PinpointEmail/GetDedicatedIps.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.PinpointEmail.GetDedicatedIps+-- 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 the dedicated IP addresses that are associated with your Amazon+-- Pinpoint account.+--+-- This operation returns paginated results.+module Amazonka.PinpointEmail.GetDedicatedIps+ ( -- * Creating a Request+ GetDedicatedIps (..),+ newGetDedicatedIps,++ -- * Request Lenses+ getDedicatedIps_nextToken,+ getDedicatedIps_pageSize,+ getDedicatedIps_poolName,++ -- * Destructuring the Response+ GetDedicatedIpsResponse (..),+ newGetDedicatedIpsResponse,++ -- * Response Lenses+ getDedicatedIpsResponse_dedicatedIps,+ getDedicatedIpsResponse_nextToken,+ getDedicatedIpsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | A request to obtain more information about dedicated IP pools.+--+-- /See:/ 'newGetDedicatedIps' smart constructor.+data GetDedicatedIps = GetDedicatedIps'+ { -- | A token returned from a previous call to @GetDedicatedIps@ to indicate+ -- the position of the dedicated IP pool in the list of IP pools.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The number of results to show in a single call to+ -- @GetDedicatedIpsRequest@. If the number of results is larger than the+ -- number you specified in this parameter, then the response includes a+ -- @NextToken@ element, which you can use to obtain additional results.+ pageSize :: Prelude.Maybe Prelude.Int,+ -- | The name of the IP pool that the dedicated IP address is associated+ -- with.+ poolName :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDedicatedIps' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getDedicatedIps_nextToken' - A token returned from a previous call to @GetDedicatedIps@ to indicate+-- the position of the dedicated IP pool in the list of IP pools.+--+-- 'pageSize', 'getDedicatedIps_pageSize' - The number of results to show in a single call to+-- @GetDedicatedIpsRequest@. If the number of results is larger than the+-- number you specified in this parameter, then the response includes a+-- @NextToken@ element, which you can use to obtain additional results.+--+-- 'poolName', 'getDedicatedIps_poolName' - The name of the IP pool that the dedicated IP address is associated+-- with.+newGetDedicatedIps ::+ GetDedicatedIps+newGetDedicatedIps =+ GetDedicatedIps'+ { nextToken = Prelude.Nothing,+ pageSize = Prelude.Nothing,+ poolName = Prelude.Nothing+ }++-- | A token returned from a previous call to @GetDedicatedIps@ to indicate+-- the position of the dedicated IP pool in the list of IP pools.+getDedicatedIps_nextToken :: Lens.Lens' GetDedicatedIps (Prelude.Maybe Prelude.Text)+getDedicatedIps_nextToken = Lens.lens (\GetDedicatedIps' {nextToken} -> nextToken) (\s@GetDedicatedIps' {} a -> s {nextToken = a} :: GetDedicatedIps)++-- | The number of results to show in a single call to+-- @GetDedicatedIpsRequest@. If the number of results is larger than the+-- number you specified in this parameter, then the response includes a+-- @NextToken@ element, which you can use to obtain additional results.+getDedicatedIps_pageSize :: Lens.Lens' GetDedicatedIps (Prelude.Maybe Prelude.Int)+getDedicatedIps_pageSize = Lens.lens (\GetDedicatedIps' {pageSize} -> pageSize) (\s@GetDedicatedIps' {} a -> s {pageSize = a} :: GetDedicatedIps)++-- | The name of the IP pool that the dedicated IP address is associated+-- with.+getDedicatedIps_poolName :: Lens.Lens' GetDedicatedIps (Prelude.Maybe Prelude.Text)+getDedicatedIps_poolName = Lens.lens (\GetDedicatedIps' {poolName} -> poolName) (\s@GetDedicatedIps' {} a -> s {poolName = a} :: GetDedicatedIps)++instance Core.AWSPager GetDedicatedIps where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? getDedicatedIpsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? getDedicatedIpsResponse_dedicatedIps+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& getDedicatedIps_nextToken+ Lens..~ rs+ Lens.^? getDedicatedIpsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest GetDedicatedIps where+ type+ AWSResponse GetDedicatedIps =+ GetDedicatedIpsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetDedicatedIpsResponse'+ Prelude.<$> (x Data..?> "DedicatedIps" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetDedicatedIps where+ hashWithSalt _salt GetDedicatedIps' {..} =+ _salt+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` pageSize+ `Prelude.hashWithSalt` poolName++instance Prelude.NFData GetDedicatedIps where+ rnf GetDedicatedIps' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf pageSize+ `Prelude.seq` Prelude.rnf poolName++instance Data.ToHeaders GetDedicatedIps where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetDedicatedIps where+ toPath = Prelude.const "/v1/email/dedicated-ips"++instance Data.ToQuery GetDedicatedIps where+ toQuery GetDedicatedIps' {..} =+ Prelude.mconcat+ [ "NextToken" Data.=: nextToken,+ "PageSize" Data.=: pageSize,+ "PoolName" Data.=: poolName+ ]++-- | Information about the dedicated IP addresses that are associated with+-- your Amazon Pinpoint account.+--+-- /See:/ 'newGetDedicatedIpsResponse' smart constructor.+data GetDedicatedIpsResponse = GetDedicatedIpsResponse'+ { -- | A list of dedicated IP addresses that are reserved for use by your+ -- Amazon Pinpoint account.+ dedicatedIps :: Prelude.Maybe [DedicatedIp],+ -- | A token that indicates that there are additional dedicated IP addresses+ -- to list. To view additional addresses, issue another request to+ -- @GetDedicatedIps@, passing this token in the @NextToken@ parameter.+ 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 'GetDedicatedIpsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dedicatedIps', 'getDedicatedIpsResponse_dedicatedIps' - A list of dedicated IP addresses that are reserved for use by your+-- Amazon Pinpoint account.+--+-- 'nextToken', 'getDedicatedIpsResponse_nextToken' - A token that indicates that there are additional dedicated IP addresses+-- to list. To view additional addresses, issue another request to+-- @GetDedicatedIps@, passing this token in the @NextToken@ parameter.+--+-- 'httpStatus', 'getDedicatedIpsResponse_httpStatus' - The response's http status code.+newGetDedicatedIpsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetDedicatedIpsResponse+newGetDedicatedIpsResponse pHttpStatus_ =+ GetDedicatedIpsResponse'+ { dedicatedIps =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A list of dedicated IP addresses that are reserved for use by your+-- Amazon Pinpoint account.+getDedicatedIpsResponse_dedicatedIps :: Lens.Lens' GetDedicatedIpsResponse (Prelude.Maybe [DedicatedIp])+getDedicatedIpsResponse_dedicatedIps = Lens.lens (\GetDedicatedIpsResponse' {dedicatedIps} -> dedicatedIps) (\s@GetDedicatedIpsResponse' {} a -> s {dedicatedIps = a} :: GetDedicatedIpsResponse) Prelude.. Lens.mapping Lens.coerced++-- | A token that indicates that there are additional dedicated IP addresses+-- to list. To view additional addresses, issue another request to+-- @GetDedicatedIps@, passing this token in the @NextToken@ parameter.+getDedicatedIpsResponse_nextToken :: Lens.Lens' GetDedicatedIpsResponse (Prelude.Maybe Prelude.Text)+getDedicatedIpsResponse_nextToken = Lens.lens (\GetDedicatedIpsResponse' {nextToken} -> nextToken) (\s@GetDedicatedIpsResponse' {} a -> s {nextToken = a} :: GetDedicatedIpsResponse)++-- | The response's http status code.+getDedicatedIpsResponse_httpStatus :: Lens.Lens' GetDedicatedIpsResponse Prelude.Int+getDedicatedIpsResponse_httpStatus = Lens.lens (\GetDedicatedIpsResponse' {httpStatus} -> httpStatus) (\s@GetDedicatedIpsResponse' {} a -> s {httpStatus = a} :: GetDedicatedIpsResponse)++instance Prelude.NFData GetDedicatedIpsResponse where+ rnf GetDedicatedIpsResponse' {..} =+ Prelude.rnf dedicatedIps+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/PinpointEmail/GetDeliverabilityDashboardOptions.hs view
@@ -0,0 +1,289 @@+{-# 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.PinpointEmail.GetDeliverabilityDashboardOptions+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieve information about the status of the Deliverability dashboard+-- for your Amazon Pinpoint account. When the Deliverability dashboard is+-- enabled, you gain access to reputation, deliverability, and other+-- metrics for the domains that you use to send email using Amazon+-- Pinpoint. You also gain the ability to perform predictive inbox+-- placement tests.+--+-- When you use the Deliverability dashboard, you pay a monthly+-- subscription charge, in addition to any other fees that you accrue by+-- using Amazon Pinpoint. For more information about the features and cost+-- of a Deliverability dashboard subscription, see+-- <http://aws.amazon.com/pinpoint/pricing/ Amazon Pinpoint Pricing>.+module Amazonka.PinpointEmail.GetDeliverabilityDashboardOptions+ ( -- * Creating a Request+ GetDeliverabilityDashboardOptions (..),+ newGetDeliverabilityDashboardOptions,++ -- * Destructuring the Response+ GetDeliverabilityDashboardOptionsResponse (..),+ newGetDeliverabilityDashboardOptionsResponse,++ -- * Response Lenses+ getDeliverabilityDashboardOptionsResponse_accountStatus,+ getDeliverabilityDashboardOptionsResponse_activeSubscribedDomains,+ getDeliverabilityDashboardOptionsResponse_pendingExpirationSubscribedDomains,+ getDeliverabilityDashboardOptionsResponse_subscriptionExpiryDate,+ getDeliverabilityDashboardOptionsResponse_httpStatus,+ getDeliverabilityDashboardOptionsResponse_dashboardEnabled,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | Retrieve information about the status of the Deliverability dashboard+-- for your Amazon Pinpoint account. When the Deliverability dashboard is+-- enabled, you gain access to reputation, deliverability, and other+-- metrics for the domains that you use to send email using Amazon+-- Pinpoint. You also gain the ability to perform predictive inbox+-- placement tests.+--+-- When you use the Deliverability dashboard, you pay a monthly+-- subscription charge, in addition to any other fees that you accrue by+-- using Amazon Pinpoint. For more information about the features and cost+-- of a Deliverability dashboard subscription, see+-- <http://aws.amazon.com/pinpoint/pricing/ Amazon Pinpoint Pricing>.+--+-- /See:/ 'newGetDeliverabilityDashboardOptions' smart constructor.+data GetDeliverabilityDashboardOptions = GetDeliverabilityDashboardOptions'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDeliverabilityDashboardOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newGetDeliverabilityDashboardOptions ::+ GetDeliverabilityDashboardOptions+newGetDeliverabilityDashboardOptions =+ GetDeliverabilityDashboardOptions'++instance+ Core.AWSRequest+ GetDeliverabilityDashboardOptions+ where+ type+ AWSResponse GetDeliverabilityDashboardOptions =+ GetDeliverabilityDashboardOptionsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetDeliverabilityDashboardOptionsResponse'+ Prelude.<$> (x Data..?> "AccountStatus")+ Prelude.<*> ( x+ Data..?> "ActiveSubscribedDomains"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> ( x+ Data..?> "PendingExpirationSubscribedDomains"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "SubscriptionExpiryDate")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "DashboardEnabled")+ )++instance+ Prelude.Hashable+ GetDeliverabilityDashboardOptions+ where+ hashWithSalt _salt _ =+ _salt `Prelude.hashWithSalt` ()++instance+ Prelude.NFData+ GetDeliverabilityDashboardOptions+ where+ rnf _ = ()++instance+ Data.ToHeaders+ GetDeliverabilityDashboardOptions+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToPath+ GetDeliverabilityDashboardOptions+ where+ toPath =+ Prelude.const "/v1/email/deliverability-dashboard"++instance+ Data.ToQuery+ GetDeliverabilityDashboardOptions+ where+ toQuery = Prelude.const Prelude.mempty++-- | An object that shows the status of the Deliverability dashboard for your+-- Amazon Pinpoint account.+--+-- /See:/ 'newGetDeliverabilityDashboardOptionsResponse' smart constructor.+data GetDeliverabilityDashboardOptionsResponse = GetDeliverabilityDashboardOptionsResponse'+ { -- | The current status of your Deliverability dashboard subscription. If+ -- this value is @PENDING_EXPIRATION@, your subscription is scheduled to+ -- expire at the end of the current calendar month.+ accountStatus :: Prelude.Maybe DeliverabilityDashboardAccountStatus,+ -- | An array of objects, one for each verified domain that you use to send+ -- email and currently has an active Deliverability dashboard subscription+ -- that isn’t scheduled to expire at the end of the current calendar month.+ activeSubscribedDomains :: Prelude.Maybe [DomainDeliverabilityTrackingOption],+ -- | An array of objects, one for each verified domain that you use to send+ -- email and currently has an active Deliverability dashboard subscription+ -- that\'s scheduled to expire at the end of the current calendar month.+ pendingExpirationSubscribedDomains :: Prelude.Maybe [DomainDeliverabilityTrackingOption],+ -- | The date, in Unix time format, when your current subscription to the+ -- Deliverability dashboard is scheduled to expire, if your subscription is+ -- scheduled to expire at the end of the current calendar month. This value+ -- is null if you have an active subscription that isn’t due to expire at+ -- the end of the month.+ subscriptionExpiryDate :: Prelude.Maybe Data.POSIX,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | Specifies whether the Deliverability dashboard is enabled for your+ -- Amazon Pinpoint account. If this value is @true@, the dashboard is+ -- enabled.+ dashboardEnabled :: Prelude.Bool+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDeliverabilityDashboardOptionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getDeliverabilityDashboardOptionsResponse_accountStatus' - The current status of your Deliverability dashboard subscription. If+-- this value is @PENDING_EXPIRATION@, your subscription is scheduled to+-- expire at the end of the current calendar month.+--+-- 'activeSubscribedDomains', 'getDeliverabilityDashboardOptionsResponse_activeSubscribedDomains' - An array of objects, one for each verified domain that you use to send+-- email and currently has an active Deliverability dashboard subscription+-- that isn’t scheduled to expire at the end of the current calendar month.+--+-- 'pendingExpirationSubscribedDomains', 'getDeliverabilityDashboardOptionsResponse_pendingExpirationSubscribedDomains' - An array of objects, one for each verified domain that you use to send+-- email and currently has an active Deliverability dashboard subscription+-- that\'s scheduled to expire at the end of the current calendar month.+--+-- 'subscriptionExpiryDate', 'getDeliverabilityDashboardOptionsResponse_subscriptionExpiryDate' - The date, in Unix time format, when your current subscription to the+-- Deliverability dashboard is scheduled to expire, if your subscription is+-- scheduled to expire at the end of the current calendar month. This value+-- is null if you have an active subscription that isn’t due to expire at+-- the end of the month.+--+-- 'httpStatus', 'getDeliverabilityDashboardOptionsResponse_httpStatus' - The response's http status code.+--+-- 'dashboardEnabled', 'getDeliverabilityDashboardOptionsResponse_dashboardEnabled' - Specifies whether the Deliverability dashboard is enabled for your+-- Amazon Pinpoint account. If this value is @true@, the dashboard is+-- enabled.+newGetDeliverabilityDashboardOptionsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'dashboardEnabled'+ Prelude.Bool ->+ GetDeliverabilityDashboardOptionsResponse+newGetDeliverabilityDashboardOptionsResponse+ pHttpStatus_+ pDashboardEnabled_ =+ GetDeliverabilityDashboardOptionsResponse'+ { accountStatus =+ Prelude.Nothing,+ activeSubscribedDomains =+ Prelude.Nothing,+ pendingExpirationSubscribedDomains =+ Prelude.Nothing,+ subscriptionExpiryDate =+ Prelude.Nothing,+ httpStatus = pHttpStatus_,+ dashboardEnabled =+ pDashboardEnabled_+ }++-- | The current status of your Deliverability dashboard subscription. If+-- this value is @PENDING_EXPIRATION@, your subscription is scheduled to+-- expire at the end of the current calendar month.+getDeliverabilityDashboardOptionsResponse_accountStatus :: Lens.Lens' GetDeliverabilityDashboardOptionsResponse (Prelude.Maybe DeliverabilityDashboardAccountStatus)+getDeliverabilityDashboardOptionsResponse_accountStatus = Lens.lens (\GetDeliverabilityDashboardOptionsResponse' {accountStatus} -> accountStatus) (\s@GetDeliverabilityDashboardOptionsResponse' {} a -> s {accountStatus = a} :: GetDeliverabilityDashboardOptionsResponse)++-- | An array of objects, one for each verified domain that you use to send+-- email and currently has an active Deliverability dashboard subscription+-- that isn’t scheduled to expire at the end of the current calendar month.+getDeliverabilityDashboardOptionsResponse_activeSubscribedDomains :: Lens.Lens' GetDeliverabilityDashboardOptionsResponse (Prelude.Maybe [DomainDeliverabilityTrackingOption])+getDeliverabilityDashboardOptionsResponse_activeSubscribedDomains = Lens.lens (\GetDeliverabilityDashboardOptionsResponse' {activeSubscribedDomains} -> activeSubscribedDomains) (\s@GetDeliverabilityDashboardOptionsResponse' {} a -> s {activeSubscribedDomains = a} :: GetDeliverabilityDashboardOptionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | An array of objects, one for each verified domain that you use to send+-- email and currently has an active Deliverability dashboard subscription+-- that\'s scheduled to expire at the end of the current calendar month.+getDeliverabilityDashboardOptionsResponse_pendingExpirationSubscribedDomains :: Lens.Lens' GetDeliverabilityDashboardOptionsResponse (Prelude.Maybe [DomainDeliverabilityTrackingOption])+getDeliverabilityDashboardOptionsResponse_pendingExpirationSubscribedDomains = Lens.lens (\GetDeliverabilityDashboardOptionsResponse' {pendingExpirationSubscribedDomains} -> pendingExpirationSubscribedDomains) (\s@GetDeliverabilityDashboardOptionsResponse' {} a -> s {pendingExpirationSubscribedDomains = a} :: GetDeliverabilityDashboardOptionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The date, in Unix time format, when your current subscription to the+-- Deliverability dashboard is scheduled to expire, if your subscription is+-- scheduled to expire at the end of the current calendar month. This value+-- is null if you have an active subscription that isn’t due to expire at+-- the end of the month.+getDeliverabilityDashboardOptionsResponse_subscriptionExpiryDate :: Lens.Lens' GetDeliverabilityDashboardOptionsResponse (Prelude.Maybe Prelude.UTCTime)+getDeliverabilityDashboardOptionsResponse_subscriptionExpiryDate = Lens.lens (\GetDeliverabilityDashboardOptionsResponse' {subscriptionExpiryDate} -> subscriptionExpiryDate) (\s@GetDeliverabilityDashboardOptionsResponse' {} a -> s {subscriptionExpiryDate = a} :: GetDeliverabilityDashboardOptionsResponse) Prelude.. Lens.mapping Data._Time++-- | The response's http status code.+getDeliverabilityDashboardOptionsResponse_httpStatus :: Lens.Lens' GetDeliverabilityDashboardOptionsResponse Prelude.Int+getDeliverabilityDashboardOptionsResponse_httpStatus = Lens.lens (\GetDeliverabilityDashboardOptionsResponse' {httpStatus} -> httpStatus) (\s@GetDeliverabilityDashboardOptionsResponse' {} a -> s {httpStatus = a} :: GetDeliverabilityDashboardOptionsResponse)++-- | Specifies whether the Deliverability dashboard is enabled for your+-- Amazon Pinpoint account. If this value is @true@, the dashboard is+-- enabled.+getDeliverabilityDashboardOptionsResponse_dashboardEnabled :: Lens.Lens' GetDeliverabilityDashboardOptionsResponse Prelude.Bool+getDeliverabilityDashboardOptionsResponse_dashboardEnabled = Lens.lens (\GetDeliverabilityDashboardOptionsResponse' {dashboardEnabled} -> dashboardEnabled) (\s@GetDeliverabilityDashboardOptionsResponse' {} a -> s {dashboardEnabled = a} :: GetDeliverabilityDashboardOptionsResponse)++instance+ Prelude.NFData+ GetDeliverabilityDashboardOptionsResponse+ where+ rnf GetDeliverabilityDashboardOptionsResponse' {..} =+ Prelude.rnf accountStatus+ `Prelude.seq` Prelude.rnf activeSubscribedDomains+ `Prelude.seq` Prelude.rnf pendingExpirationSubscribedDomains+ `Prelude.seq` Prelude.rnf subscriptionExpiryDate+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf dashboardEnabled
+ gen/Amazonka/PinpointEmail/GetDeliverabilityTestReport.hs view
@@ -0,0 +1,246 @@+{-# 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.PinpointEmail.GetDeliverabilityTestReport+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieve the results of a predictive inbox placement test.+module Amazonka.PinpointEmail.GetDeliverabilityTestReport+ ( -- * Creating a Request+ GetDeliverabilityTestReport (..),+ newGetDeliverabilityTestReport,++ -- * Request Lenses+ getDeliverabilityTestReport_reportId,++ -- * Destructuring the Response+ GetDeliverabilityTestReportResponse (..),+ newGetDeliverabilityTestReportResponse,++ -- * Response Lenses+ getDeliverabilityTestReportResponse_message,+ getDeliverabilityTestReportResponse_tags,+ getDeliverabilityTestReportResponse_httpStatus,+ getDeliverabilityTestReportResponse_deliverabilityTestReport,+ getDeliverabilityTestReportResponse_overallPlacement,+ getDeliverabilityTestReportResponse_ispPlacements,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | A request to retrieve the results of a predictive inbox placement test.+--+-- /See:/ 'newGetDeliverabilityTestReport' smart constructor.+data GetDeliverabilityTestReport = GetDeliverabilityTestReport'+ { -- | A unique string that identifies the predictive inbox placement test.+ reportId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDeliverabilityTestReport' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'reportId', 'getDeliverabilityTestReport_reportId' - A unique string that identifies the predictive inbox placement test.+newGetDeliverabilityTestReport ::+ -- | 'reportId'+ Prelude.Text ->+ GetDeliverabilityTestReport+newGetDeliverabilityTestReport pReportId_ =+ GetDeliverabilityTestReport' {reportId = pReportId_}++-- | A unique string that identifies the predictive inbox placement test.+getDeliverabilityTestReport_reportId :: Lens.Lens' GetDeliverabilityTestReport Prelude.Text+getDeliverabilityTestReport_reportId = Lens.lens (\GetDeliverabilityTestReport' {reportId} -> reportId) (\s@GetDeliverabilityTestReport' {} a -> s {reportId = a} :: GetDeliverabilityTestReport)++instance Core.AWSRequest GetDeliverabilityTestReport where+ type+ AWSResponse GetDeliverabilityTestReport =+ GetDeliverabilityTestReportResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetDeliverabilityTestReportResponse'+ Prelude.<$> (x Data..?> "Message")+ Prelude.<*> (x Data..?> "Tags" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "DeliverabilityTestReport")+ Prelude.<*> (x Data..:> "OverallPlacement")+ Prelude.<*> (x Data..?> "IspPlacements" Core..!@ Prelude.mempty)+ )++instance Prelude.Hashable GetDeliverabilityTestReport where+ hashWithSalt _salt GetDeliverabilityTestReport' {..} =+ _salt `Prelude.hashWithSalt` reportId++instance Prelude.NFData GetDeliverabilityTestReport where+ rnf GetDeliverabilityTestReport' {..} =+ Prelude.rnf reportId++instance Data.ToHeaders GetDeliverabilityTestReport where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetDeliverabilityTestReport where+ toPath GetDeliverabilityTestReport' {..} =+ Prelude.mconcat+ [ "/v1/email/deliverability-dashboard/test-reports/",+ Data.toBS reportId+ ]++instance Data.ToQuery GetDeliverabilityTestReport where+ toQuery = Prelude.const Prelude.mempty++-- | The results of the predictive inbox placement test.+--+-- /See:/ 'newGetDeliverabilityTestReportResponse' smart constructor.+data GetDeliverabilityTestReportResponse = GetDeliverabilityTestReportResponse'+ { -- | An object that contains the message that you sent when you performed+ -- this predictive inbox placement test.+ message :: Prelude.Maybe Prelude.Text,+ -- | An array of objects that define the tags (keys and values) that are+ -- associated with the predictive inbox placement test.+ tags :: Prelude.Maybe [Tag],+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | An object that contains the results of the predictive inbox placement+ -- test.+ deliverabilityTestReport :: DeliverabilityTestReport,+ -- | An object that specifies how many test messages that were sent during+ -- the predictive inbox placement test were delivered to recipients\'+ -- inboxes, how many were sent to recipients\' spam folders, and how many+ -- weren\'t delivered.+ overallPlacement :: PlacementStatistics,+ -- | An object that describes how the test email was handled by several email+ -- providers, including Gmail, Hotmail, Yahoo, AOL, and others.+ ispPlacements :: [IspPlacement]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDeliverabilityTestReportResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'message', 'getDeliverabilityTestReportResponse_message' - An object that contains the message that you sent when you performed+-- this predictive inbox placement test.+--+-- 'tags', 'getDeliverabilityTestReportResponse_tags' - An array of objects that define the tags (keys and values) that are+-- associated with the predictive inbox placement test.+--+-- 'httpStatus', 'getDeliverabilityTestReportResponse_httpStatus' - The response's http status code.+--+-- 'deliverabilityTestReport', 'getDeliverabilityTestReportResponse_deliverabilityTestReport' - An object that contains the results of the predictive inbox placement+-- test.+--+-- 'overallPlacement', 'getDeliverabilityTestReportResponse_overallPlacement' - An object that specifies how many test messages that were sent during+-- the predictive inbox placement test were delivered to recipients\'+-- inboxes, how many were sent to recipients\' spam folders, and how many+-- weren\'t delivered.+--+-- 'ispPlacements', 'getDeliverabilityTestReportResponse_ispPlacements' - An object that describes how the test email was handled by several email+-- providers, including Gmail, Hotmail, Yahoo, AOL, and others.+newGetDeliverabilityTestReportResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'deliverabilityTestReport'+ DeliverabilityTestReport ->+ -- | 'overallPlacement'+ PlacementStatistics ->+ GetDeliverabilityTestReportResponse+newGetDeliverabilityTestReportResponse+ pHttpStatus_+ pDeliverabilityTestReport_+ pOverallPlacement_ =+ GetDeliverabilityTestReportResponse'+ { message =+ Prelude.Nothing,+ tags = Prelude.Nothing,+ httpStatus = pHttpStatus_,+ deliverabilityTestReport =+ pDeliverabilityTestReport_,+ overallPlacement = pOverallPlacement_,+ ispPlacements = Prelude.mempty+ }++-- | An object that contains the message that you sent when you performed+-- this predictive inbox placement test.+getDeliverabilityTestReportResponse_message :: Lens.Lens' GetDeliverabilityTestReportResponse (Prelude.Maybe Prelude.Text)+getDeliverabilityTestReportResponse_message = Lens.lens (\GetDeliverabilityTestReportResponse' {message} -> message) (\s@GetDeliverabilityTestReportResponse' {} a -> s {message = a} :: GetDeliverabilityTestReportResponse)++-- | An array of objects that define the tags (keys and values) that are+-- associated with the predictive inbox placement test.+getDeliverabilityTestReportResponse_tags :: Lens.Lens' GetDeliverabilityTestReportResponse (Prelude.Maybe [Tag])+getDeliverabilityTestReportResponse_tags = Lens.lens (\GetDeliverabilityTestReportResponse' {tags} -> tags) (\s@GetDeliverabilityTestReportResponse' {} a -> s {tags = a} :: GetDeliverabilityTestReportResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+getDeliverabilityTestReportResponse_httpStatus :: Lens.Lens' GetDeliverabilityTestReportResponse Prelude.Int+getDeliverabilityTestReportResponse_httpStatus = Lens.lens (\GetDeliverabilityTestReportResponse' {httpStatus} -> httpStatus) (\s@GetDeliverabilityTestReportResponse' {} a -> s {httpStatus = a} :: GetDeliverabilityTestReportResponse)++-- | An object that contains the results of the predictive inbox placement+-- test.+getDeliverabilityTestReportResponse_deliverabilityTestReport :: Lens.Lens' GetDeliverabilityTestReportResponse DeliverabilityTestReport+getDeliverabilityTestReportResponse_deliverabilityTestReport = Lens.lens (\GetDeliverabilityTestReportResponse' {deliverabilityTestReport} -> deliverabilityTestReport) (\s@GetDeliverabilityTestReportResponse' {} a -> s {deliverabilityTestReport = a} :: GetDeliverabilityTestReportResponse)++-- | An object that specifies how many test messages that were sent during+-- the predictive inbox placement test were delivered to recipients\'+-- inboxes, how many were sent to recipients\' spam folders, and how many+-- weren\'t delivered.+getDeliverabilityTestReportResponse_overallPlacement :: Lens.Lens' GetDeliverabilityTestReportResponse PlacementStatistics+getDeliverabilityTestReportResponse_overallPlacement = Lens.lens (\GetDeliverabilityTestReportResponse' {overallPlacement} -> overallPlacement) (\s@GetDeliverabilityTestReportResponse' {} a -> s {overallPlacement = a} :: GetDeliverabilityTestReportResponse)++-- | An object that describes how the test email was handled by several email+-- providers, including Gmail, Hotmail, Yahoo, AOL, and others.+getDeliverabilityTestReportResponse_ispPlacements :: Lens.Lens' GetDeliverabilityTestReportResponse [IspPlacement]+getDeliverabilityTestReportResponse_ispPlacements = Lens.lens (\GetDeliverabilityTestReportResponse' {ispPlacements} -> ispPlacements) (\s@GetDeliverabilityTestReportResponse' {} a -> s {ispPlacements = a} :: GetDeliverabilityTestReportResponse) Prelude.. Lens.coerced++instance+ Prelude.NFData+ GetDeliverabilityTestReportResponse+ where+ rnf GetDeliverabilityTestReportResponse' {..} =+ Prelude.rnf message+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf deliverabilityTestReport+ `Prelude.seq` Prelude.rnf overallPlacement+ `Prelude.seq` Prelude.rnf ispPlacements
+ gen/Amazonka/PinpointEmail/GetDomainDeliverabilityCampaign.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.PinpointEmail.GetDomainDeliverabilityCampaign+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieve all the deliverability data for a specific campaign. This data+-- is available for a campaign only if the campaign sent email by using a+-- domain that the Deliverability dashboard is enabled for+-- (@PutDeliverabilityDashboardOption@ operation).+module Amazonka.PinpointEmail.GetDomainDeliverabilityCampaign+ ( -- * Creating a Request+ GetDomainDeliverabilityCampaign (..),+ newGetDomainDeliverabilityCampaign,++ -- * Request Lenses+ getDomainDeliverabilityCampaign_campaignId,++ -- * Destructuring the Response+ GetDomainDeliverabilityCampaignResponse (..),+ newGetDomainDeliverabilityCampaignResponse,++ -- * Response Lenses+ getDomainDeliverabilityCampaignResponse_httpStatus,+ getDomainDeliverabilityCampaignResponse_domainDeliverabilityCampaign,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | Retrieve all the deliverability data for a specific campaign. This data+-- is available for a campaign only if the campaign sent email by using a+-- domain that the Deliverability dashboard is enabled for+-- (@PutDeliverabilityDashboardOption@ operation).+--+-- /See:/ 'newGetDomainDeliverabilityCampaign' smart constructor.+data GetDomainDeliverabilityCampaign = GetDomainDeliverabilityCampaign'+ { -- | The unique identifier for the campaign. Amazon Pinpoint automatically+ -- generates and assigns this identifier to a campaign. This value is not+ -- the same as the campaign identifier that Amazon Pinpoint assigns to+ -- campaigns that you create and manage by using the Amazon Pinpoint API or+ -- the Amazon Pinpoint console.+ campaignId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDomainDeliverabilityCampaign' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'campaignId', 'getDomainDeliverabilityCampaign_campaignId' - The unique identifier for the campaign. Amazon Pinpoint automatically+-- generates and assigns this identifier to a campaign. This value is not+-- the same as the campaign identifier that Amazon Pinpoint assigns to+-- campaigns that you create and manage by using the Amazon Pinpoint API or+-- the Amazon Pinpoint console.+newGetDomainDeliverabilityCampaign ::+ -- | 'campaignId'+ Prelude.Text ->+ GetDomainDeliverabilityCampaign+newGetDomainDeliverabilityCampaign pCampaignId_ =+ GetDomainDeliverabilityCampaign'+ { campaignId =+ pCampaignId_+ }++-- | The unique identifier for the campaign. Amazon Pinpoint automatically+-- generates and assigns this identifier to a campaign. This value is not+-- the same as the campaign identifier that Amazon Pinpoint assigns to+-- campaigns that you create and manage by using the Amazon Pinpoint API or+-- the Amazon Pinpoint console.+getDomainDeliverabilityCampaign_campaignId :: Lens.Lens' GetDomainDeliverabilityCampaign Prelude.Text+getDomainDeliverabilityCampaign_campaignId = Lens.lens (\GetDomainDeliverabilityCampaign' {campaignId} -> campaignId) (\s@GetDomainDeliverabilityCampaign' {} a -> s {campaignId = a} :: GetDomainDeliverabilityCampaign)++instance+ Core.AWSRequest+ GetDomainDeliverabilityCampaign+ where+ type+ AWSResponse GetDomainDeliverabilityCampaign =+ GetDomainDeliverabilityCampaignResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetDomainDeliverabilityCampaignResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "DomainDeliverabilityCampaign")+ )++instance+ Prelude.Hashable+ GetDomainDeliverabilityCampaign+ where+ hashWithSalt+ _salt+ GetDomainDeliverabilityCampaign' {..} =+ _salt `Prelude.hashWithSalt` campaignId++instance+ Prelude.NFData+ GetDomainDeliverabilityCampaign+ where+ rnf GetDomainDeliverabilityCampaign' {..} =+ Prelude.rnf campaignId++instance+ Data.ToHeaders+ GetDomainDeliverabilityCampaign+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetDomainDeliverabilityCampaign where+ toPath GetDomainDeliverabilityCampaign' {..} =+ Prelude.mconcat+ [ "/v1/email/deliverability-dashboard/campaigns/",+ Data.toBS campaignId+ ]++instance Data.ToQuery GetDomainDeliverabilityCampaign where+ toQuery = Prelude.const Prelude.mempty++-- | An object that contains all the deliverability data for a specific+-- campaign. This data is available for a campaign only if the campaign+-- sent email by using a domain that the Deliverability dashboard is+-- enabled for (@PutDeliverabilityDashboardOption@ operation).+--+-- /See:/ 'newGetDomainDeliverabilityCampaignResponse' smart constructor.+data GetDomainDeliverabilityCampaignResponse = GetDomainDeliverabilityCampaignResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | An object that contains the deliverability data for the campaign.+ domainDeliverabilityCampaign :: DomainDeliverabilityCampaign+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDomainDeliverabilityCampaignResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getDomainDeliverabilityCampaignResponse_httpStatus' - The response's http status code.+--+-- 'domainDeliverabilityCampaign', 'getDomainDeliverabilityCampaignResponse_domainDeliverabilityCampaign' - An object that contains the deliverability data for the campaign.+newGetDomainDeliverabilityCampaignResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'domainDeliverabilityCampaign'+ DomainDeliverabilityCampaign ->+ GetDomainDeliverabilityCampaignResponse+newGetDomainDeliverabilityCampaignResponse+ pHttpStatus_+ pDomainDeliverabilityCampaign_ =+ GetDomainDeliverabilityCampaignResponse'+ { httpStatus =+ pHttpStatus_,+ domainDeliverabilityCampaign =+ pDomainDeliverabilityCampaign_+ }++-- | The response's http status code.+getDomainDeliverabilityCampaignResponse_httpStatus :: Lens.Lens' GetDomainDeliverabilityCampaignResponse Prelude.Int+getDomainDeliverabilityCampaignResponse_httpStatus = Lens.lens (\GetDomainDeliverabilityCampaignResponse' {httpStatus} -> httpStatus) (\s@GetDomainDeliverabilityCampaignResponse' {} a -> s {httpStatus = a} :: GetDomainDeliverabilityCampaignResponse)++-- | An object that contains the deliverability data for the campaign.+getDomainDeliverabilityCampaignResponse_domainDeliverabilityCampaign :: Lens.Lens' GetDomainDeliverabilityCampaignResponse DomainDeliverabilityCampaign+getDomainDeliverabilityCampaignResponse_domainDeliverabilityCampaign = Lens.lens (\GetDomainDeliverabilityCampaignResponse' {domainDeliverabilityCampaign} -> domainDeliverabilityCampaign) (\s@GetDomainDeliverabilityCampaignResponse' {} a -> s {domainDeliverabilityCampaign = a} :: GetDomainDeliverabilityCampaignResponse)++instance+ Prelude.NFData+ GetDomainDeliverabilityCampaignResponse+ where+ rnf GetDomainDeliverabilityCampaignResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf domainDeliverabilityCampaign
+ gen/Amazonka/PinpointEmail/GetDomainStatisticsReport.hs view
@@ -0,0 +1,246 @@+{-# 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.PinpointEmail.GetDomainStatisticsReport+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieve inbox placement and engagement rates for the domains that you+-- use to send email.+module Amazonka.PinpointEmail.GetDomainStatisticsReport+ ( -- * Creating a Request+ GetDomainStatisticsReport (..),+ newGetDomainStatisticsReport,++ -- * Request Lenses+ getDomainStatisticsReport_domain,+ getDomainStatisticsReport_startDate,+ getDomainStatisticsReport_endDate,++ -- * Destructuring the Response+ GetDomainStatisticsReportResponse (..),+ newGetDomainStatisticsReportResponse,++ -- * Response Lenses+ getDomainStatisticsReportResponse_httpStatus,+ getDomainStatisticsReportResponse_overallVolume,+ getDomainStatisticsReportResponse_dailyVolumes,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | A request to obtain deliverability metrics for a domain.+--+-- /See:/ 'newGetDomainStatisticsReport' smart constructor.+data GetDomainStatisticsReport = GetDomainStatisticsReport'+ { -- | The domain that you want to obtain deliverability metrics for.+ domain :: Prelude.Text,+ -- | The first day (in Unix time) that you want to obtain domain+ -- deliverability metrics for.+ startDate :: Data.POSIX,+ -- | The last day (in Unix time) that you want to obtain domain+ -- deliverability metrics for. The @EndDate@ that you specify has to be+ -- less than or equal to 30 days after the @StartDate@.+ endDate :: Data.POSIX+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDomainStatisticsReport' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getDomainStatisticsReport_domain' - The domain that you want to obtain deliverability metrics for.+--+-- 'startDate', 'getDomainStatisticsReport_startDate' - The first day (in Unix time) that you want to obtain domain+-- deliverability metrics for.+--+-- 'endDate', 'getDomainStatisticsReport_endDate' - The last day (in Unix time) that you want to obtain domain+-- deliverability metrics for. The @EndDate@ that you specify has to be+-- less than or equal to 30 days after the @StartDate@.+newGetDomainStatisticsReport ::+ -- | 'domain'+ Prelude.Text ->+ -- | 'startDate'+ Prelude.UTCTime ->+ -- | 'endDate'+ Prelude.UTCTime ->+ GetDomainStatisticsReport+newGetDomainStatisticsReport+ pDomain_+ pStartDate_+ pEndDate_ =+ GetDomainStatisticsReport'+ { domain = pDomain_,+ startDate = Data._Time Lens.# pStartDate_,+ endDate = Data._Time Lens.# pEndDate_+ }++-- | The domain that you want to obtain deliverability metrics for.+getDomainStatisticsReport_domain :: Lens.Lens' GetDomainStatisticsReport Prelude.Text+getDomainStatisticsReport_domain = Lens.lens (\GetDomainStatisticsReport' {domain} -> domain) (\s@GetDomainStatisticsReport' {} a -> s {domain = a} :: GetDomainStatisticsReport)++-- | The first day (in Unix time) that you want to obtain domain+-- deliverability metrics for.+getDomainStatisticsReport_startDate :: Lens.Lens' GetDomainStatisticsReport Prelude.UTCTime+getDomainStatisticsReport_startDate = Lens.lens (\GetDomainStatisticsReport' {startDate} -> startDate) (\s@GetDomainStatisticsReport' {} a -> s {startDate = a} :: GetDomainStatisticsReport) Prelude.. Data._Time++-- | The last day (in Unix time) that you want to obtain domain+-- deliverability metrics for. The @EndDate@ that you specify has to be+-- less than or equal to 30 days after the @StartDate@.+getDomainStatisticsReport_endDate :: Lens.Lens' GetDomainStatisticsReport Prelude.UTCTime+getDomainStatisticsReport_endDate = Lens.lens (\GetDomainStatisticsReport' {endDate} -> endDate) (\s@GetDomainStatisticsReport' {} a -> s {endDate = a} :: GetDomainStatisticsReport) Prelude.. Data._Time++instance Core.AWSRequest GetDomainStatisticsReport where+ type+ AWSResponse GetDomainStatisticsReport =+ GetDomainStatisticsReportResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetDomainStatisticsReportResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "OverallVolume")+ Prelude.<*> (x Data..?> "DailyVolumes" Core..!@ Prelude.mempty)+ )++instance Prelude.Hashable GetDomainStatisticsReport where+ hashWithSalt _salt GetDomainStatisticsReport' {..} =+ _salt+ `Prelude.hashWithSalt` domain+ `Prelude.hashWithSalt` startDate+ `Prelude.hashWithSalt` endDate++instance Prelude.NFData GetDomainStatisticsReport where+ rnf GetDomainStatisticsReport' {..} =+ Prelude.rnf domain+ `Prelude.seq` Prelude.rnf startDate+ `Prelude.seq` Prelude.rnf endDate++instance Data.ToHeaders GetDomainStatisticsReport where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetDomainStatisticsReport where+ toPath GetDomainStatisticsReport' {..} =+ Prelude.mconcat+ [ "/v1/email/deliverability-dashboard/statistics-report/",+ Data.toBS domain+ ]++instance Data.ToQuery GetDomainStatisticsReport where+ toQuery GetDomainStatisticsReport' {..} =+ Prelude.mconcat+ [ "StartDate" Data.=: startDate,+ "EndDate" Data.=: endDate+ ]++-- | An object that includes statistics that are related to the domain that+-- you specified.+--+-- /See:/ 'newGetDomainStatisticsReportResponse' smart constructor.+data GetDomainStatisticsReportResponse = GetDomainStatisticsReportResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | An object that contains deliverability metrics for the domain that you+ -- specified. The data in this object is a summary of all of the data that+ -- was collected from the @StartDate@ to the @EndDate@.+ overallVolume :: OverallVolume,+ -- | An object that contains deliverability metrics for the domain that you+ -- specified. This object contains data for each day, starting on the+ -- @StartDate@ and ending on the @EndDate@.+ dailyVolumes :: [DailyVolume]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDomainStatisticsReportResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getDomainStatisticsReportResponse_httpStatus' - The response's http status code.+--+-- 'overallVolume', 'getDomainStatisticsReportResponse_overallVolume' - An object that contains deliverability metrics for the domain that you+-- specified. The data in this object is a summary of all of the data that+-- was collected from the @StartDate@ to the @EndDate@.+--+-- 'dailyVolumes', 'getDomainStatisticsReportResponse_dailyVolumes' - An object that contains deliverability metrics for the domain that you+-- specified. This object contains data for each day, starting on the+-- @StartDate@ and ending on the @EndDate@.+newGetDomainStatisticsReportResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'overallVolume'+ OverallVolume ->+ GetDomainStatisticsReportResponse+newGetDomainStatisticsReportResponse+ pHttpStatus_+ pOverallVolume_ =+ GetDomainStatisticsReportResponse'+ { httpStatus =+ pHttpStatus_,+ overallVolume = pOverallVolume_,+ dailyVolumes = Prelude.mempty+ }++-- | The response's http status code.+getDomainStatisticsReportResponse_httpStatus :: Lens.Lens' GetDomainStatisticsReportResponse Prelude.Int+getDomainStatisticsReportResponse_httpStatus = Lens.lens (\GetDomainStatisticsReportResponse' {httpStatus} -> httpStatus) (\s@GetDomainStatisticsReportResponse' {} a -> s {httpStatus = a} :: GetDomainStatisticsReportResponse)++-- | An object that contains deliverability metrics for the domain that you+-- specified. The data in this object is a summary of all of the data that+-- was collected from the @StartDate@ to the @EndDate@.+getDomainStatisticsReportResponse_overallVolume :: Lens.Lens' GetDomainStatisticsReportResponse OverallVolume+getDomainStatisticsReportResponse_overallVolume = Lens.lens (\GetDomainStatisticsReportResponse' {overallVolume} -> overallVolume) (\s@GetDomainStatisticsReportResponse' {} a -> s {overallVolume = a} :: GetDomainStatisticsReportResponse)++-- | An object that contains deliverability metrics for the domain that you+-- specified. This object contains data for each day, starting on the+-- @StartDate@ and ending on the @EndDate@.+getDomainStatisticsReportResponse_dailyVolumes :: Lens.Lens' GetDomainStatisticsReportResponse [DailyVolume]+getDomainStatisticsReportResponse_dailyVolumes = Lens.lens (\GetDomainStatisticsReportResponse' {dailyVolumes} -> dailyVolumes) (\s@GetDomainStatisticsReportResponse' {} a -> s {dailyVolumes = a} :: GetDomainStatisticsReportResponse) Prelude.. Lens.coerced++instance+ Prelude.NFData+ GetDomainStatisticsReportResponse+ where+ rnf GetDomainStatisticsReportResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf overallVolume+ `Prelude.seq` Prelude.rnf dailyVolumes
+ gen/Amazonka/PinpointEmail/GetEmailIdentity.hs view
@@ -0,0 +1,288 @@+{-# 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.PinpointEmail.GetEmailIdentity+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Provides information about a specific identity associated with your+-- Amazon Pinpoint account, including the identity\'s verification status,+-- its DKIM authentication status, and its custom Mail-From settings.+module Amazonka.PinpointEmail.GetEmailIdentity+ ( -- * Creating a Request+ GetEmailIdentity (..),+ newGetEmailIdentity,++ -- * Request Lenses+ getEmailIdentity_emailIdentity,++ -- * Destructuring the Response+ GetEmailIdentityResponse (..),+ newGetEmailIdentityResponse,++ -- * Response Lenses+ getEmailIdentityResponse_dkimAttributes,+ getEmailIdentityResponse_feedbackForwardingStatus,+ getEmailIdentityResponse_identityType,+ getEmailIdentityResponse_mailFromAttributes,+ getEmailIdentityResponse_tags,+ getEmailIdentityResponse_verifiedForSendingStatus,+ getEmailIdentityResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | A request to return details about an email identity.+--+-- /See:/ 'newGetEmailIdentity' smart constructor.+data GetEmailIdentity = GetEmailIdentity'+ { -- | The email identity that you want to retrieve details for.+ emailIdentity :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetEmailIdentity' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'emailIdentity', 'getEmailIdentity_emailIdentity' - The email identity that you want to retrieve details for.+newGetEmailIdentity ::+ -- | 'emailIdentity'+ Prelude.Text ->+ GetEmailIdentity+newGetEmailIdentity pEmailIdentity_ =+ GetEmailIdentity' {emailIdentity = pEmailIdentity_}++-- | The email identity that you want to retrieve details for.+getEmailIdentity_emailIdentity :: Lens.Lens' GetEmailIdentity Prelude.Text+getEmailIdentity_emailIdentity = Lens.lens (\GetEmailIdentity' {emailIdentity} -> emailIdentity) (\s@GetEmailIdentity' {} a -> s {emailIdentity = a} :: GetEmailIdentity)++instance Core.AWSRequest GetEmailIdentity where+ type+ AWSResponse GetEmailIdentity =+ GetEmailIdentityResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetEmailIdentityResponse'+ Prelude.<$> (x Data..?> "DkimAttributes")+ Prelude.<*> (x Data..?> "FeedbackForwardingStatus")+ Prelude.<*> (x Data..?> "IdentityType")+ Prelude.<*> (x Data..?> "MailFromAttributes")+ Prelude.<*> (x Data..?> "Tags" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "VerifiedForSendingStatus")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetEmailIdentity where+ hashWithSalt _salt GetEmailIdentity' {..} =+ _salt `Prelude.hashWithSalt` emailIdentity++instance Prelude.NFData GetEmailIdentity where+ rnf GetEmailIdentity' {..} = Prelude.rnf emailIdentity++instance Data.ToHeaders GetEmailIdentity where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetEmailIdentity where+ toPath GetEmailIdentity' {..} =+ Prelude.mconcat+ ["/v1/email/identities/", Data.toBS emailIdentity]++instance Data.ToQuery GetEmailIdentity where+ toQuery = Prelude.const Prelude.mempty++-- | Details about an email identity.+--+-- /See:/ 'newGetEmailIdentityResponse' smart constructor.+data GetEmailIdentityResponse = GetEmailIdentityResponse'+ { -- | An object that contains information about the DKIM attributes for the+ -- identity. This object includes the tokens that you use to create the+ -- CNAME records that are required to complete the DKIM verification+ -- process.+ dkimAttributes :: Prelude.Maybe DkimAttributes,+ -- | The feedback forwarding configuration for the identity.+ --+ -- If the value is @true@, Amazon Pinpoint sends you email notifications+ -- when bounce or complaint events occur. Amazon Pinpoint sends this+ -- notification to the address that you specified in the Return-Path header+ -- of the original email.+ --+ -- When you set this value to @false@, Amazon Pinpoint sends notifications+ -- through other mechanisms, such as by notifying an Amazon SNS topic or+ -- another event destination. You\'re required to have a method of tracking+ -- bounces and complaints. If you haven\'t set up another mechanism for+ -- receiving bounce or complaint notifications, Amazon Pinpoint sends an+ -- email notification when these events occur (even if this setting is+ -- disabled).+ feedbackForwardingStatus :: Prelude.Maybe Prelude.Bool,+ -- | The email identity type.+ identityType :: Prelude.Maybe IdentityType,+ -- | An object that contains information about the Mail-From attributes for+ -- the email identity.+ mailFromAttributes :: Prelude.Maybe MailFromAttributes,+ -- | An array of objects that define the tags (keys and values) that are+ -- associated with the email identity.+ tags :: Prelude.Maybe [Tag],+ -- | Specifies whether or not the identity is verified. In Amazon Pinpoint,+ -- you can only send email from verified email addresses or domains. For+ -- more information about verifying identities, see the+ -- <https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-email-manage-verify.html Amazon Pinpoint User Guide>.+ verifiedForSendingStatus :: Prelude.Maybe Prelude.Bool,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetEmailIdentityResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dkimAttributes', 'getEmailIdentityResponse_dkimAttributes' - An object that contains information about the DKIM attributes for the+-- identity. This object includes the tokens that you use to create the+-- CNAME records that are required to complete the DKIM verification+-- process.+--+-- 'feedbackForwardingStatus', 'getEmailIdentityResponse_feedbackForwardingStatus' - The feedback forwarding configuration for the identity.+--+-- If the value is @true@, Amazon Pinpoint sends you email notifications+-- when bounce or complaint events occur. Amazon Pinpoint sends this+-- notification to the address that you specified in the Return-Path header+-- of the original email.+--+-- When you set this value to @false@, Amazon Pinpoint sends notifications+-- through other mechanisms, such as by notifying an Amazon SNS topic or+-- another event destination. You\'re required to have a method of tracking+-- bounces and complaints. If you haven\'t set up another mechanism for+-- receiving bounce or complaint notifications, Amazon Pinpoint sends an+-- email notification when these events occur (even if this setting is+-- disabled).+--+-- 'identityType', 'getEmailIdentityResponse_identityType' - The email identity type.+--+-- 'mailFromAttributes', 'getEmailIdentityResponse_mailFromAttributes' - An object that contains information about the Mail-From attributes for+-- the email identity.+--+-- 'tags', 'getEmailIdentityResponse_tags' - An array of objects that define the tags (keys and values) that are+-- associated with the email identity.+--+-- 'verifiedForSendingStatus', 'getEmailIdentityResponse_verifiedForSendingStatus' - Specifies whether or not the identity is verified. In Amazon Pinpoint,+-- you can only send email from verified email addresses or domains. For+-- more information about verifying identities, see the+-- <https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-email-manage-verify.html Amazon Pinpoint User Guide>.+--+-- 'httpStatus', 'getEmailIdentityResponse_httpStatus' - The response's http status code.+newGetEmailIdentityResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetEmailIdentityResponse+newGetEmailIdentityResponse pHttpStatus_ =+ GetEmailIdentityResponse'+ { dkimAttributes =+ Prelude.Nothing,+ feedbackForwardingStatus = Prelude.Nothing,+ identityType = Prelude.Nothing,+ mailFromAttributes = Prelude.Nothing,+ tags = Prelude.Nothing,+ verifiedForSendingStatus = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An object that contains information about the DKIM attributes for the+-- identity. This object includes the tokens that you use to create the+-- CNAME records that are required to complete the DKIM verification+-- process.+getEmailIdentityResponse_dkimAttributes :: Lens.Lens' GetEmailIdentityResponse (Prelude.Maybe DkimAttributes)+getEmailIdentityResponse_dkimAttributes = Lens.lens (\GetEmailIdentityResponse' {dkimAttributes} -> dkimAttributes) (\s@GetEmailIdentityResponse' {} a -> s {dkimAttributes = a} :: GetEmailIdentityResponse)++-- | The feedback forwarding configuration for the identity.+--+-- If the value is @true@, Amazon Pinpoint sends you email notifications+-- when bounce or complaint events occur. Amazon Pinpoint sends this+-- notification to the address that you specified in the Return-Path header+-- of the original email.+--+-- When you set this value to @false@, Amazon Pinpoint sends notifications+-- through other mechanisms, such as by notifying an Amazon SNS topic or+-- another event destination. You\'re required to have a method of tracking+-- bounces and complaints. If you haven\'t set up another mechanism for+-- receiving bounce or complaint notifications, Amazon Pinpoint sends an+-- email notification when these events occur (even if this setting is+-- disabled).+getEmailIdentityResponse_feedbackForwardingStatus :: Lens.Lens' GetEmailIdentityResponse (Prelude.Maybe Prelude.Bool)+getEmailIdentityResponse_feedbackForwardingStatus = Lens.lens (\GetEmailIdentityResponse' {feedbackForwardingStatus} -> feedbackForwardingStatus) (\s@GetEmailIdentityResponse' {} a -> s {feedbackForwardingStatus = a} :: GetEmailIdentityResponse)++-- | The email identity type.+getEmailIdentityResponse_identityType :: Lens.Lens' GetEmailIdentityResponse (Prelude.Maybe IdentityType)+getEmailIdentityResponse_identityType = Lens.lens (\GetEmailIdentityResponse' {identityType} -> identityType) (\s@GetEmailIdentityResponse' {} a -> s {identityType = a} :: GetEmailIdentityResponse)++-- | An object that contains information about the Mail-From attributes for+-- the email identity.+getEmailIdentityResponse_mailFromAttributes :: Lens.Lens' GetEmailIdentityResponse (Prelude.Maybe MailFromAttributes)+getEmailIdentityResponse_mailFromAttributes = Lens.lens (\GetEmailIdentityResponse' {mailFromAttributes} -> mailFromAttributes) (\s@GetEmailIdentityResponse' {} a -> s {mailFromAttributes = a} :: GetEmailIdentityResponse)++-- | An array of objects that define the tags (keys and values) that are+-- associated with the email identity.+getEmailIdentityResponse_tags :: Lens.Lens' GetEmailIdentityResponse (Prelude.Maybe [Tag])+getEmailIdentityResponse_tags = Lens.lens (\GetEmailIdentityResponse' {tags} -> tags) (\s@GetEmailIdentityResponse' {} a -> s {tags = a} :: GetEmailIdentityResponse) Prelude.. Lens.mapping Lens.coerced++-- | Specifies whether or not the identity is verified. In Amazon Pinpoint,+-- you can only send email from verified email addresses or domains. For+-- more information about verifying identities, see the+-- <https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-email-manage-verify.html Amazon Pinpoint User Guide>.+getEmailIdentityResponse_verifiedForSendingStatus :: Lens.Lens' GetEmailIdentityResponse (Prelude.Maybe Prelude.Bool)+getEmailIdentityResponse_verifiedForSendingStatus = Lens.lens (\GetEmailIdentityResponse' {verifiedForSendingStatus} -> verifiedForSendingStatus) (\s@GetEmailIdentityResponse' {} a -> s {verifiedForSendingStatus = a} :: GetEmailIdentityResponse)++-- | The response's http status code.+getEmailIdentityResponse_httpStatus :: Lens.Lens' GetEmailIdentityResponse Prelude.Int+getEmailIdentityResponse_httpStatus = Lens.lens (\GetEmailIdentityResponse' {httpStatus} -> httpStatus) (\s@GetEmailIdentityResponse' {} a -> s {httpStatus = a} :: GetEmailIdentityResponse)++instance Prelude.NFData GetEmailIdentityResponse where+ rnf GetEmailIdentityResponse' {..} =+ Prelude.rnf dkimAttributes+ `Prelude.seq` Prelude.rnf feedbackForwardingStatus+ `Prelude.seq` Prelude.rnf identityType+ `Prelude.seq` Prelude.rnf mailFromAttributes+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf verifiedForSendingStatus+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/PinpointEmail/Lens.hs view
@@ -0,0 +1,547 @@+{-# 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.PinpointEmail.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.PinpointEmail.Lens+ ( -- * Operations++ -- ** CreateConfigurationSet+ createConfigurationSet_deliveryOptions,+ createConfigurationSet_reputationOptions,+ createConfigurationSet_sendingOptions,+ createConfigurationSet_tags,+ createConfigurationSet_trackingOptions,+ createConfigurationSet_configurationSetName,+ createConfigurationSetResponse_httpStatus,++ -- ** CreateConfigurationSetEventDestination+ createConfigurationSetEventDestination_configurationSetName,+ createConfigurationSetEventDestination_eventDestinationName,+ createConfigurationSetEventDestination_eventDestination,+ createConfigurationSetEventDestinationResponse_httpStatus,++ -- ** CreateDedicatedIpPool+ createDedicatedIpPool_tags,+ createDedicatedIpPool_poolName,+ createDedicatedIpPoolResponse_httpStatus,++ -- ** CreateDeliverabilityTestReport+ createDeliverabilityTestReport_reportName,+ createDeliverabilityTestReport_tags,+ createDeliverabilityTestReport_fromEmailAddress,+ createDeliverabilityTestReport_content,+ createDeliverabilityTestReportResponse_httpStatus,+ createDeliverabilityTestReportResponse_reportId,+ createDeliverabilityTestReportResponse_deliverabilityTestStatus,++ -- ** CreateEmailIdentity+ createEmailIdentity_tags,+ createEmailIdentity_emailIdentity,+ createEmailIdentityResponse_dkimAttributes,+ createEmailIdentityResponse_identityType,+ createEmailIdentityResponse_verifiedForSendingStatus,+ createEmailIdentityResponse_httpStatus,++ -- ** DeleteConfigurationSet+ deleteConfigurationSet_configurationSetName,+ deleteConfigurationSetResponse_httpStatus,++ -- ** DeleteConfigurationSetEventDestination+ deleteConfigurationSetEventDestination_configurationSetName,+ deleteConfigurationSetEventDestination_eventDestinationName,+ deleteConfigurationSetEventDestinationResponse_httpStatus,++ -- ** DeleteDedicatedIpPool+ deleteDedicatedIpPool_poolName,+ deleteDedicatedIpPoolResponse_httpStatus,++ -- ** DeleteEmailIdentity+ deleteEmailIdentity_emailIdentity,+ deleteEmailIdentityResponse_httpStatus,++ -- ** GetAccount+ getAccountResponse_dedicatedIpAutoWarmupEnabled,+ getAccountResponse_enforcementStatus,+ getAccountResponse_productionAccessEnabled,+ getAccountResponse_sendQuota,+ getAccountResponse_sendingEnabled,+ getAccountResponse_httpStatus,++ -- ** GetBlacklistReports+ getBlacklistReports_blacklistItemNames,+ getBlacklistReportsResponse_httpStatus,+ getBlacklistReportsResponse_blacklistReport,++ -- ** GetConfigurationSet+ getConfigurationSet_configurationSetName,+ getConfigurationSetResponse_configurationSetName,+ getConfigurationSetResponse_deliveryOptions,+ getConfigurationSetResponse_reputationOptions,+ getConfigurationSetResponse_sendingOptions,+ getConfigurationSetResponse_tags,+ getConfigurationSetResponse_trackingOptions,+ getConfigurationSetResponse_httpStatus,++ -- ** GetConfigurationSetEventDestinations+ getConfigurationSetEventDestinations_configurationSetName,+ getConfigurationSetEventDestinationsResponse_eventDestinations,+ getConfigurationSetEventDestinationsResponse_httpStatus,++ -- ** GetDedicatedIp+ getDedicatedIp_ip,+ getDedicatedIpResponse_dedicatedIp,+ getDedicatedIpResponse_httpStatus,++ -- ** GetDedicatedIps+ getDedicatedIps_nextToken,+ getDedicatedIps_pageSize,+ getDedicatedIps_poolName,+ getDedicatedIpsResponse_dedicatedIps,+ getDedicatedIpsResponse_nextToken,+ getDedicatedIpsResponse_httpStatus,++ -- ** GetDeliverabilityDashboardOptions+ getDeliverabilityDashboardOptionsResponse_accountStatus,+ getDeliverabilityDashboardOptionsResponse_activeSubscribedDomains,+ getDeliverabilityDashboardOptionsResponse_pendingExpirationSubscribedDomains,+ getDeliverabilityDashboardOptionsResponse_subscriptionExpiryDate,+ getDeliverabilityDashboardOptionsResponse_httpStatus,+ getDeliverabilityDashboardOptionsResponse_dashboardEnabled,++ -- ** GetDeliverabilityTestReport+ getDeliverabilityTestReport_reportId,+ getDeliverabilityTestReportResponse_message,+ getDeliverabilityTestReportResponse_tags,+ getDeliverabilityTestReportResponse_httpStatus,+ getDeliverabilityTestReportResponse_deliverabilityTestReport,+ getDeliverabilityTestReportResponse_overallPlacement,+ getDeliverabilityTestReportResponse_ispPlacements,++ -- ** GetDomainDeliverabilityCampaign+ getDomainDeliverabilityCampaign_campaignId,+ getDomainDeliverabilityCampaignResponse_httpStatus,+ getDomainDeliverabilityCampaignResponse_domainDeliverabilityCampaign,++ -- ** GetDomainStatisticsReport+ getDomainStatisticsReport_domain,+ getDomainStatisticsReport_startDate,+ getDomainStatisticsReport_endDate,+ getDomainStatisticsReportResponse_httpStatus,+ getDomainStatisticsReportResponse_overallVolume,+ getDomainStatisticsReportResponse_dailyVolumes,++ -- ** GetEmailIdentity+ getEmailIdentity_emailIdentity,+ getEmailIdentityResponse_dkimAttributes,+ getEmailIdentityResponse_feedbackForwardingStatus,+ getEmailIdentityResponse_identityType,+ getEmailIdentityResponse_mailFromAttributes,+ getEmailIdentityResponse_tags,+ getEmailIdentityResponse_verifiedForSendingStatus,+ getEmailIdentityResponse_httpStatus,++ -- ** ListConfigurationSets+ listConfigurationSets_nextToken,+ listConfigurationSets_pageSize,+ listConfigurationSetsResponse_configurationSets,+ listConfigurationSetsResponse_nextToken,+ listConfigurationSetsResponse_httpStatus,++ -- ** ListDedicatedIpPools+ listDedicatedIpPools_nextToken,+ listDedicatedIpPools_pageSize,+ listDedicatedIpPoolsResponse_dedicatedIpPools,+ listDedicatedIpPoolsResponse_nextToken,+ listDedicatedIpPoolsResponse_httpStatus,++ -- ** ListDeliverabilityTestReports+ listDeliverabilityTestReports_nextToken,+ listDeliverabilityTestReports_pageSize,+ listDeliverabilityTestReportsResponse_nextToken,+ listDeliverabilityTestReportsResponse_httpStatus,+ listDeliverabilityTestReportsResponse_deliverabilityTestReports,++ -- ** ListDomainDeliverabilityCampaigns+ listDomainDeliverabilityCampaigns_nextToken,+ listDomainDeliverabilityCampaigns_pageSize,+ listDomainDeliverabilityCampaigns_startDate,+ listDomainDeliverabilityCampaigns_endDate,+ listDomainDeliverabilityCampaigns_subscribedDomain,+ listDomainDeliverabilityCampaignsResponse_nextToken,+ listDomainDeliverabilityCampaignsResponse_httpStatus,+ listDomainDeliverabilityCampaignsResponse_domainDeliverabilityCampaigns,++ -- ** ListEmailIdentities+ listEmailIdentities_nextToken,+ listEmailIdentities_pageSize,+ listEmailIdentitiesResponse_emailIdentities,+ listEmailIdentitiesResponse_nextToken,+ listEmailIdentitiesResponse_httpStatus,++ -- ** ListTagsForResource+ listTagsForResource_resourceArn,+ listTagsForResourceResponse_httpStatus,+ listTagsForResourceResponse_tags,++ -- ** PutAccountDedicatedIpWarmupAttributes+ putAccountDedicatedIpWarmupAttributes_autoWarmupEnabled,+ putAccountDedicatedIpWarmupAttributesResponse_httpStatus,++ -- ** PutAccountSendingAttributes+ putAccountSendingAttributes_sendingEnabled,+ putAccountSendingAttributesResponse_httpStatus,++ -- ** PutConfigurationSetDeliveryOptions+ putConfigurationSetDeliveryOptions_sendingPoolName,+ putConfigurationSetDeliveryOptions_tlsPolicy,+ putConfigurationSetDeliveryOptions_configurationSetName,+ putConfigurationSetDeliveryOptionsResponse_httpStatus,++ -- ** PutConfigurationSetReputationOptions+ putConfigurationSetReputationOptions_reputationMetricsEnabled,+ putConfigurationSetReputationOptions_configurationSetName,+ putConfigurationSetReputationOptionsResponse_httpStatus,++ -- ** PutConfigurationSetSendingOptions+ putConfigurationSetSendingOptions_sendingEnabled,+ putConfigurationSetSendingOptions_configurationSetName,+ putConfigurationSetSendingOptionsResponse_httpStatus,++ -- ** PutConfigurationSetTrackingOptions+ putConfigurationSetTrackingOptions_customRedirectDomain,+ putConfigurationSetTrackingOptions_configurationSetName,+ putConfigurationSetTrackingOptionsResponse_httpStatus,++ -- ** PutDedicatedIpInPool+ putDedicatedIpInPool_ip,+ putDedicatedIpInPool_destinationPoolName,+ putDedicatedIpInPoolResponse_httpStatus,++ -- ** PutDedicatedIpWarmupAttributes+ putDedicatedIpWarmupAttributes_ip,+ putDedicatedIpWarmupAttributes_warmupPercentage,+ putDedicatedIpWarmupAttributesResponse_httpStatus,++ -- ** PutDeliverabilityDashboardOption+ putDeliverabilityDashboardOption_subscribedDomains,+ putDeliverabilityDashboardOption_dashboardEnabled,+ putDeliverabilityDashboardOptionResponse_httpStatus,++ -- ** PutEmailIdentityDkimAttributes+ putEmailIdentityDkimAttributes_signingEnabled,+ putEmailIdentityDkimAttributes_emailIdentity,+ putEmailIdentityDkimAttributesResponse_httpStatus,++ -- ** PutEmailIdentityFeedbackAttributes+ putEmailIdentityFeedbackAttributes_emailForwardingEnabled,+ putEmailIdentityFeedbackAttributes_emailIdentity,+ putEmailIdentityFeedbackAttributesResponse_httpStatus,++ -- ** PutEmailIdentityMailFromAttributes+ putEmailIdentityMailFromAttributes_behaviorOnMxFailure,+ putEmailIdentityMailFromAttributes_mailFromDomain,+ putEmailIdentityMailFromAttributes_emailIdentity,+ putEmailIdentityMailFromAttributesResponse_httpStatus,++ -- ** SendEmail+ sendEmail_configurationSetName,+ sendEmail_emailTags,+ sendEmail_feedbackForwardingEmailAddress,+ sendEmail_fromEmailAddress,+ sendEmail_replyToAddresses,+ sendEmail_destination,+ sendEmail_content,+ sendEmailResponse_messageId,+ sendEmailResponse_httpStatus,++ -- ** TagResource+ tagResource_resourceArn,+ tagResource_tags,+ tagResourceResponse_httpStatus,++ -- ** UntagResource+ untagResource_resourceArn,+ untagResource_tagKeys,+ untagResourceResponse_httpStatus,++ -- ** UpdateConfigurationSetEventDestination+ updateConfigurationSetEventDestination_configurationSetName,+ updateConfigurationSetEventDestination_eventDestinationName,+ updateConfigurationSetEventDestination_eventDestination,+ updateConfigurationSetEventDestinationResponse_httpStatus,++ -- * Types++ -- ** BlacklistEntry+ blacklistEntry_description,+ blacklistEntry_listingTime,+ blacklistEntry_rblName,++ -- ** Body+ body_html,+ body_text,++ -- ** CloudWatchDestination+ cloudWatchDestination_dimensionConfigurations,++ -- ** CloudWatchDimensionConfiguration+ cloudWatchDimensionConfiguration_dimensionName,+ cloudWatchDimensionConfiguration_dimensionValueSource,+ cloudWatchDimensionConfiguration_defaultDimensionValue,++ -- ** Content+ content_charset,+ content_data,++ -- ** DailyVolume+ dailyVolume_domainIspPlacements,+ dailyVolume_startDate,+ dailyVolume_volumeStatistics,++ -- ** DedicatedIp+ dedicatedIp_poolName,+ dedicatedIp_ip,+ dedicatedIp_warmupStatus,+ dedicatedIp_warmupPercentage,++ -- ** DeliverabilityTestReport+ deliverabilityTestReport_createDate,+ deliverabilityTestReport_deliverabilityTestStatus,+ deliverabilityTestReport_fromEmailAddress,+ deliverabilityTestReport_reportId,+ deliverabilityTestReport_reportName,+ deliverabilityTestReport_subject,++ -- ** DeliveryOptions+ deliveryOptions_sendingPoolName,+ deliveryOptions_tlsPolicy,++ -- ** Destination+ destination_bccAddresses,+ destination_ccAddresses,+ destination_toAddresses,++ -- ** DkimAttributes+ dkimAttributes_signingEnabled,+ dkimAttributes_status,+ dkimAttributes_tokens,++ -- ** DomainDeliverabilityCampaign+ domainDeliverabilityCampaign_campaignId,+ domainDeliverabilityCampaign_deleteRate,+ domainDeliverabilityCampaign_esps,+ domainDeliverabilityCampaign_firstSeenDateTime,+ domainDeliverabilityCampaign_fromAddress,+ domainDeliverabilityCampaign_imageUrl,+ domainDeliverabilityCampaign_inboxCount,+ domainDeliverabilityCampaign_lastSeenDateTime,+ domainDeliverabilityCampaign_projectedVolume,+ domainDeliverabilityCampaign_readDeleteRate,+ domainDeliverabilityCampaign_readRate,+ domainDeliverabilityCampaign_sendingIps,+ domainDeliverabilityCampaign_spamCount,+ domainDeliverabilityCampaign_subject,++ -- ** DomainDeliverabilityTrackingOption+ domainDeliverabilityTrackingOption_domain,+ domainDeliverabilityTrackingOption_inboxPlacementTrackingOption,+ domainDeliverabilityTrackingOption_subscriptionStartDate,++ -- ** DomainIspPlacement+ domainIspPlacement_inboxPercentage,+ domainIspPlacement_inboxRawCount,+ domainIspPlacement_ispName,+ domainIspPlacement_spamPercentage,+ domainIspPlacement_spamRawCount,++ -- ** EmailContent+ emailContent_raw,+ emailContent_simple,+ emailContent_template,++ -- ** EventDestination+ eventDestination_cloudWatchDestination,+ eventDestination_enabled,+ eventDestination_kinesisFirehoseDestination,+ eventDestination_pinpointDestination,+ eventDestination_snsDestination,+ eventDestination_name,+ eventDestination_matchingEventTypes,++ -- ** EventDestinationDefinition+ eventDestinationDefinition_cloudWatchDestination,+ eventDestinationDefinition_enabled,+ eventDestinationDefinition_kinesisFirehoseDestination,+ eventDestinationDefinition_matchingEventTypes,+ eventDestinationDefinition_pinpointDestination,+ eventDestinationDefinition_snsDestination,++ -- ** IdentityInfo+ identityInfo_identityName,+ identityInfo_identityType,+ identityInfo_sendingEnabled,++ -- ** InboxPlacementTrackingOption+ inboxPlacementTrackingOption_global,+ inboxPlacementTrackingOption_trackedIsps,++ -- ** IspPlacement+ ispPlacement_ispName,+ ispPlacement_placementStatistics,++ -- ** KinesisFirehoseDestination+ kinesisFirehoseDestination_iamRoleArn,+ kinesisFirehoseDestination_deliveryStreamArn,++ -- ** MailFromAttributes+ mailFromAttributes_mailFromDomain,+ mailFromAttributes_mailFromDomainStatus,+ mailFromAttributes_behaviorOnMxFailure,++ -- ** Message+ message_subject,+ message_body,++ -- ** MessageTag+ messageTag_name,+ messageTag_value,++ -- ** OverallVolume+ overallVolume_domainIspPlacements,+ overallVolume_readRatePercent,+ overallVolume_volumeStatistics,++ -- ** PinpointDestination+ pinpointDestination_applicationArn,++ -- ** PlacementStatistics+ placementStatistics_dkimPercentage,+ placementStatistics_inboxPercentage,+ placementStatistics_missingPercentage,+ placementStatistics_spamPercentage,+ placementStatistics_spfPercentage,++ -- ** RawMessage+ rawMessage_data,++ -- ** ReputationOptions+ reputationOptions_lastFreshStart,+ reputationOptions_reputationMetricsEnabled,++ -- ** SendQuota+ sendQuota_max24HourSend,+ sendQuota_maxSendRate,+ sendQuota_sentLast24Hours,++ -- ** SendingOptions+ sendingOptions_sendingEnabled,++ -- ** SnsDestination+ snsDestination_topicArn,++ -- ** Tag+ tag_key,+ tag_value,++ -- ** Template+ template_templateArn,+ template_templateData,++ -- ** TrackingOptions+ trackingOptions_customRedirectDomain,++ -- ** VolumeStatistics+ volumeStatistics_inboxRawCount,+ volumeStatistics_projectedInbox,+ volumeStatistics_projectedSpam,+ volumeStatistics_spamRawCount,+ )+where++import Amazonka.PinpointEmail.CreateConfigurationSet+import Amazonka.PinpointEmail.CreateConfigurationSetEventDestination+import Amazonka.PinpointEmail.CreateDedicatedIpPool+import Amazonka.PinpointEmail.CreateDeliverabilityTestReport+import Amazonka.PinpointEmail.CreateEmailIdentity+import Amazonka.PinpointEmail.DeleteConfigurationSet+import Amazonka.PinpointEmail.DeleteConfigurationSetEventDestination+import Amazonka.PinpointEmail.DeleteDedicatedIpPool+import Amazonka.PinpointEmail.DeleteEmailIdentity+import Amazonka.PinpointEmail.GetAccount+import Amazonka.PinpointEmail.GetBlacklistReports+import Amazonka.PinpointEmail.GetConfigurationSet+import Amazonka.PinpointEmail.GetConfigurationSetEventDestinations+import Amazonka.PinpointEmail.GetDedicatedIp+import Amazonka.PinpointEmail.GetDedicatedIps+import Amazonka.PinpointEmail.GetDeliverabilityDashboardOptions+import Amazonka.PinpointEmail.GetDeliverabilityTestReport+import Amazonka.PinpointEmail.GetDomainDeliverabilityCampaign+import Amazonka.PinpointEmail.GetDomainStatisticsReport+import Amazonka.PinpointEmail.GetEmailIdentity+import Amazonka.PinpointEmail.ListConfigurationSets+import Amazonka.PinpointEmail.ListDedicatedIpPools+import Amazonka.PinpointEmail.ListDeliverabilityTestReports+import Amazonka.PinpointEmail.ListDomainDeliverabilityCampaigns+import Amazonka.PinpointEmail.ListEmailIdentities+import Amazonka.PinpointEmail.ListTagsForResource+import Amazonka.PinpointEmail.PutAccountDedicatedIpWarmupAttributes+import Amazonka.PinpointEmail.PutAccountSendingAttributes+import Amazonka.PinpointEmail.PutConfigurationSetDeliveryOptions+import Amazonka.PinpointEmail.PutConfigurationSetReputationOptions+import Amazonka.PinpointEmail.PutConfigurationSetSendingOptions+import Amazonka.PinpointEmail.PutConfigurationSetTrackingOptions+import Amazonka.PinpointEmail.PutDedicatedIpInPool+import Amazonka.PinpointEmail.PutDedicatedIpWarmupAttributes+import Amazonka.PinpointEmail.PutDeliverabilityDashboardOption+import Amazonka.PinpointEmail.PutEmailIdentityDkimAttributes+import Amazonka.PinpointEmail.PutEmailIdentityFeedbackAttributes+import Amazonka.PinpointEmail.PutEmailIdentityMailFromAttributes+import Amazonka.PinpointEmail.SendEmail+import Amazonka.PinpointEmail.TagResource+import Amazonka.PinpointEmail.Types.BlacklistEntry+import Amazonka.PinpointEmail.Types.Body+import Amazonka.PinpointEmail.Types.CloudWatchDestination+import Amazonka.PinpointEmail.Types.CloudWatchDimensionConfiguration+import Amazonka.PinpointEmail.Types.Content+import Amazonka.PinpointEmail.Types.DailyVolume+import Amazonka.PinpointEmail.Types.DedicatedIp+import Amazonka.PinpointEmail.Types.DeliverabilityTestReport+import Amazonka.PinpointEmail.Types.DeliveryOptions+import Amazonka.PinpointEmail.Types.Destination+import Amazonka.PinpointEmail.Types.DkimAttributes+import Amazonka.PinpointEmail.Types.DomainDeliverabilityCampaign+import Amazonka.PinpointEmail.Types.DomainDeliverabilityTrackingOption+import Amazonka.PinpointEmail.Types.DomainIspPlacement+import Amazonka.PinpointEmail.Types.EmailContent+import Amazonka.PinpointEmail.Types.EventDestination+import Amazonka.PinpointEmail.Types.EventDestinationDefinition+import Amazonka.PinpointEmail.Types.IdentityInfo+import Amazonka.PinpointEmail.Types.InboxPlacementTrackingOption+import Amazonka.PinpointEmail.Types.IspPlacement+import Amazonka.PinpointEmail.Types.KinesisFirehoseDestination+import Amazonka.PinpointEmail.Types.MailFromAttributes+import Amazonka.PinpointEmail.Types.Message+import Amazonka.PinpointEmail.Types.MessageTag+import Amazonka.PinpointEmail.Types.OverallVolume+import Amazonka.PinpointEmail.Types.PinpointDestination+import Amazonka.PinpointEmail.Types.PlacementStatistics+import Amazonka.PinpointEmail.Types.RawMessage+import Amazonka.PinpointEmail.Types.ReputationOptions+import Amazonka.PinpointEmail.Types.SendQuota+import Amazonka.PinpointEmail.Types.SendingOptions+import Amazonka.PinpointEmail.Types.SnsDestination+import Amazonka.PinpointEmail.Types.Tag+import Amazonka.PinpointEmail.Types.Template+import Amazonka.PinpointEmail.Types.TrackingOptions+import Amazonka.PinpointEmail.Types.VolumeStatistics+import Amazonka.PinpointEmail.UntagResource+import Amazonka.PinpointEmail.UpdateConfigurationSetEventDestination
+ gen/Amazonka/PinpointEmail/ListConfigurationSets.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.PinpointEmail.ListConfigurationSets+-- 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 of the configuration sets associated with your Amazon Pinpoint+-- account in the current region.+--+-- In Amazon Pinpoint, /configuration sets/ are groups of rules that you+-- can apply to the emails you send. You apply a configuration set to an+-- email by including a reference to the configuration set in the headers+-- of the email. When you apply a configuration set to an email, all of the+-- rules in that configuration set are applied to the email.+--+-- This operation returns paginated results.+module Amazonka.PinpointEmail.ListConfigurationSets+ ( -- * Creating a Request+ ListConfigurationSets (..),+ newListConfigurationSets,++ -- * Request Lenses+ listConfigurationSets_nextToken,+ listConfigurationSets_pageSize,++ -- * Destructuring the Response+ ListConfigurationSetsResponse (..),+ newListConfigurationSetsResponse,++ -- * Response Lenses+ listConfigurationSetsResponse_configurationSets,+ listConfigurationSetsResponse_nextToken,+ listConfigurationSetsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | A request to obtain a list of configuration sets for your Amazon+-- Pinpoint account in the current AWS Region.+--+-- /See:/ 'newListConfigurationSets' smart constructor.+data ListConfigurationSets = ListConfigurationSets'+ { -- | A token returned from a previous call to @ListConfigurationSets@ to+ -- indicate the position in the list of configuration sets.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The number of results to show in a single call to+ -- @ListConfigurationSets@. If the number of results is larger than the+ -- number you specified in this parameter, then the response includes a+ -- @NextToken@ element, which you can use to obtain additional results.+ pageSize :: Prelude.Maybe Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListConfigurationSets' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listConfigurationSets_nextToken' - A token returned from a previous call to @ListConfigurationSets@ to+-- indicate the position in the list of configuration sets.+--+-- 'pageSize', 'listConfigurationSets_pageSize' - The number of results to show in a single call to+-- @ListConfigurationSets@. If the number of results is larger than the+-- number you specified in this parameter, then the response includes a+-- @NextToken@ element, which you can use to obtain additional results.+newListConfigurationSets ::+ ListConfigurationSets+newListConfigurationSets =+ ListConfigurationSets'+ { nextToken = Prelude.Nothing,+ pageSize = Prelude.Nothing+ }++-- | A token returned from a previous call to @ListConfigurationSets@ to+-- indicate the position in the list of configuration sets.+listConfigurationSets_nextToken :: Lens.Lens' ListConfigurationSets (Prelude.Maybe Prelude.Text)+listConfigurationSets_nextToken = Lens.lens (\ListConfigurationSets' {nextToken} -> nextToken) (\s@ListConfigurationSets' {} a -> s {nextToken = a} :: ListConfigurationSets)++-- | The number of results to show in a single call to+-- @ListConfigurationSets@. If the number of results is larger than the+-- number you specified in this parameter, then the response includes a+-- @NextToken@ element, which you can use to obtain additional results.+listConfigurationSets_pageSize :: Lens.Lens' ListConfigurationSets (Prelude.Maybe Prelude.Int)+listConfigurationSets_pageSize = Lens.lens (\ListConfigurationSets' {pageSize} -> pageSize) (\s@ListConfigurationSets' {} a -> s {pageSize = a} :: ListConfigurationSets)++instance Core.AWSPager ListConfigurationSets where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listConfigurationSetsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listConfigurationSetsResponse_configurationSets+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listConfigurationSets_nextToken+ Lens..~ rs+ Lens.^? listConfigurationSetsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListConfigurationSets where+ type+ AWSResponse ListConfigurationSets =+ ListConfigurationSetsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListConfigurationSetsResponse'+ Prelude.<$> ( x+ Data..?> "ConfigurationSets"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListConfigurationSets where+ hashWithSalt _salt ListConfigurationSets' {..} =+ _salt+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` pageSize++instance Prelude.NFData ListConfigurationSets where+ rnf ListConfigurationSets' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf pageSize++instance Data.ToHeaders ListConfigurationSets where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListConfigurationSets where+ toPath = Prelude.const "/v1/email/configuration-sets"++instance Data.ToQuery ListConfigurationSets where+ toQuery ListConfigurationSets' {..} =+ Prelude.mconcat+ [ "NextToken" Data.=: nextToken,+ "PageSize" Data.=: pageSize+ ]++-- | A list of configuration sets in your Amazon Pinpoint account in the+-- current AWS Region.+--+-- /See:/ 'newListConfigurationSetsResponse' smart constructor.+data ListConfigurationSetsResponse = ListConfigurationSetsResponse'+ { -- | An array that contains all of the configuration sets in your Amazon+ -- Pinpoint account in the current AWS Region.+ configurationSets :: Prelude.Maybe [Prelude.Text],+ -- | A token that indicates that there are additional configuration sets to+ -- list. To view additional configuration sets, issue another request to+ -- @ListConfigurationSets@, and pass this token in the @NextToken@+ -- parameter.+ 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 'ListConfigurationSetsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'configurationSets', 'listConfigurationSetsResponse_configurationSets' - An array that contains all of the configuration sets in your Amazon+-- Pinpoint account in the current AWS Region.+--+-- 'nextToken', 'listConfigurationSetsResponse_nextToken' - A token that indicates that there are additional configuration sets to+-- list. To view additional configuration sets, issue another request to+-- @ListConfigurationSets@, and pass this token in the @NextToken@+-- parameter.+--+-- 'httpStatus', 'listConfigurationSetsResponse_httpStatus' - The response's http status code.+newListConfigurationSetsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListConfigurationSetsResponse+newListConfigurationSetsResponse pHttpStatus_ =+ ListConfigurationSetsResponse'+ { configurationSets =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An array that contains all of the configuration sets in your Amazon+-- Pinpoint account in the current AWS Region.+listConfigurationSetsResponse_configurationSets :: Lens.Lens' ListConfigurationSetsResponse (Prelude.Maybe [Prelude.Text])+listConfigurationSetsResponse_configurationSets = Lens.lens (\ListConfigurationSetsResponse' {configurationSets} -> configurationSets) (\s@ListConfigurationSetsResponse' {} a -> s {configurationSets = a} :: ListConfigurationSetsResponse) Prelude.. Lens.mapping Lens.coerced++-- | A token that indicates that there are additional configuration sets to+-- list. To view additional configuration sets, issue another request to+-- @ListConfigurationSets@, and pass this token in the @NextToken@+-- parameter.+listConfigurationSetsResponse_nextToken :: Lens.Lens' ListConfigurationSetsResponse (Prelude.Maybe Prelude.Text)+listConfigurationSetsResponse_nextToken = Lens.lens (\ListConfigurationSetsResponse' {nextToken} -> nextToken) (\s@ListConfigurationSetsResponse' {} a -> s {nextToken = a} :: ListConfigurationSetsResponse)++-- | The response's http status code.+listConfigurationSetsResponse_httpStatus :: Lens.Lens' ListConfigurationSetsResponse Prelude.Int+listConfigurationSetsResponse_httpStatus = Lens.lens (\ListConfigurationSetsResponse' {httpStatus} -> httpStatus) (\s@ListConfigurationSetsResponse' {} a -> s {httpStatus = a} :: ListConfigurationSetsResponse)++instance Prelude.NFData ListConfigurationSetsResponse where+ rnf ListConfigurationSetsResponse' {..} =+ Prelude.rnf configurationSets+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/PinpointEmail/ListDedicatedIpPools.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.PinpointEmail.ListDedicatedIpPools+-- 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 of the dedicated IP pools that exist in your Amazon Pinpoint+-- account in the current AWS Region.+--+-- This operation returns paginated results.+module Amazonka.PinpointEmail.ListDedicatedIpPools+ ( -- * Creating a Request+ ListDedicatedIpPools (..),+ newListDedicatedIpPools,++ -- * Request Lenses+ listDedicatedIpPools_nextToken,+ listDedicatedIpPools_pageSize,++ -- * Destructuring the Response+ ListDedicatedIpPoolsResponse (..),+ newListDedicatedIpPoolsResponse,++ -- * Response Lenses+ listDedicatedIpPoolsResponse_dedicatedIpPools,+ listDedicatedIpPoolsResponse_nextToken,+ listDedicatedIpPoolsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | A request to obtain a list of dedicated IP pools.+--+-- /See:/ 'newListDedicatedIpPools' smart constructor.+data ListDedicatedIpPools = ListDedicatedIpPools'+ { -- | A token returned from a previous call to @ListDedicatedIpPools@ to+ -- indicate the position in the list of dedicated IP pools.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The number of results to show in a single call to+ -- @ListDedicatedIpPools@. If the number of results is larger than the+ -- number you specified in this parameter, then the response includes a+ -- @NextToken@ element, which you can use to obtain additional results.+ pageSize :: Prelude.Maybe Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDedicatedIpPools' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listDedicatedIpPools_nextToken' - A token returned from a previous call to @ListDedicatedIpPools@ to+-- indicate the position in the list of dedicated IP pools.+--+-- 'pageSize', 'listDedicatedIpPools_pageSize' - The number of results to show in a single call to+-- @ListDedicatedIpPools@. If the number of results is larger than the+-- number you specified in this parameter, then the response includes a+-- @NextToken@ element, which you can use to obtain additional results.+newListDedicatedIpPools ::+ ListDedicatedIpPools+newListDedicatedIpPools =+ ListDedicatedIpPools'+ { nextToken = Prelude.Nothing,+ pageSize = Prelude.Nothing+ }++-- | A token returned from a previous call to @ListDedicatedIpPools@ to+-- indicate the position in the list of dedicated IP pools.+listDedicatedIpPools_nextToken :: Lens.Lens' ListDedicatedIpPools (Prelude.Maybe Prelude.Text)+listDedicatedIpPools_nextToken = Lens.lens (\ListDedicatedIpPools' {nextToken} -> nextToken) (\s@ListDedicatedIpPools' {} a -> s {nextToken = a} :: ListDedicatedIpPools)++-- | The number of results to show in a single call to+-- @ListDedicatedIpPools@. If the number of results is larger than the+-- number you specified in this parameter, then the response includes a+-- @NextToken@ element, which you can use to obtain additional results.+listDedicatedIpPools_pageSize :: Lens.Lens' ListDedicatedIpPools (Prelude.Maybe Prelude.Int)+listDedicatedIpPools_pageSize = Lens.lens (\ListDedicatedIpPools' {pageSize} -> pageSize) (\s@ListDedicatedIpPools' {} a -> s {pageSize = a} :: ListDedicatedIpPools)++instance Core.AWSPager ListDedicatedIpPools where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listDedicatedIpPoolsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listDedicatedIpPoolsResponse_dedicatedIpPools+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listDedicatedIpPools_nextToken+ Lens..~ rs+ Lens.^? listDedicatedIpPoolsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListDedicatedIpPools where+ type+ AWSResponse ListDedicatedIpPools =+ ListDedicatedIpPoolsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListDedicatedIpPoolsResponse'+ Prelude.<$> ( x+ Data..?> "DedicatedIpPools"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListDedicatedIpPools where+ hashWithSalt _salt ListDedicatedIpPools' {..} =+ _salt+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` pageSize++instance Prelude.NFData ListDedicatedIpPools where+ rnf ListDedicatedIpPools' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf pageSize++instance Data.ToHeaders ListDedicatedIpPools where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListDedicatedIpPools where+ toPath = Prelude.const "/v1/email/dedicated-ip-pools"++instance Data.ToQuery ListDedicatedIpPools where+ toQuery ListDedicatedIpPools' {..} =+ Prelude.mconcat+ [ "NextToken" Data.=: nextToken,+ "PageSize" Data.=: pageSize+ ]++-- | A list of dedicated IP pools.+--+-- /See:/ 'newListDedicatedIpPoolsResponse' smart constructor.+data ListDedicatedIpPoolsResponse = ListDedicatedIpPoolsResponse'+ { -- | A list of all of the dedicated IP pools that are associated with your+ -- Amazon Pinpoint account.+ dedicatedIpPools :: Prelude.Maybe [Prelude.Text],+ -- | A token that indicates that there are additional IP pools to list. To+ -- view additional IP pools, issue another request to+ -- @ListDedicatedIpPools@, passing this token in the @NextToken@ parameter.+ 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 'ListDedicatedIpPoolsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dedicatedIpPools', 'listDedicatedIpPoolsResponse_dedicatedIpPools' - A list of all of the dedicated IP pools that are associated with your+-- Amazon Pinpoint account.+--+-- 'nextToken', 'listDedicatedIpPoolsResponse_nextToken' - A token that indicates that there are additional IP pools to list. To+-- view additional IP pools, issue another request to+-- @ListDedicatedIpPools@, passing this token in the @NextToken@ parameter.+--+-- 'httpStatus', 'listDedicatedIpPoolsResponse_httpStatus' - The response's http status code.+newListDedicatedIpPoolsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListDedicatedIpPoolsResponse+newListDedicatedIpPoolsResponse pHttpStatus_ =+ ListDedicatedIpPoolsResponse'+ { dedicatedIpPools =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A list of all of the dedicated IP pools that are associated with your+-- Amazon Pinpoint account.+listDedicatedIpPoolsResponse_dedicatedIpPools :: Lens.Lens' ListDedicatedIpPoolsResponse (Prelude.Maybe [Prelude.Text])+listDedicatedIpPoolsResponse_dedicatedIpPools = Lens.lens (\ListDedicatedIpPoolsResponse' {dedicatedIpPools} -> dedicatedIpPools) (\s@ListDedicatedIpPoolsResponse' {} a -> s {dedicatedIpPools = a} :: ListDedicatedIpPoolsResponse) Prelude.. Lens.mapping Lens.coerced++-- | A token that indicates that there are additional IP pools to list. To+-- view additional IP pools, issue another request to+-- @ListDedicatedIpPools@, passing this token in the @NextToken@ parameter.+listDedicatedIpPoolsResponse_nextToken :: Lens.Lens' ListDedicatedIpPoolsResponse (Prelude.Maybe Prelude.Text)+listDedicatedIpPoolsResponse_nextToken = Lens.lens (\ListDedicatedIpPoolsResponse' {nextToken} -> nextToken) (\s@ListDedicatedIpPoolsResponse' {} a -> s {nextToken = a} :: ListDedicatedIpPoolsResponse)++-- | The response's http status code.+listDedicatedIpPoolsResponse_httpStatus :: Lens.Lens' ListDedicatedIpPoolsResponse Prelude.Int+listDedicatedIpPoolsResponse_httpStatus = Lens.lens (\ListDedicatedIpPoolsResponse' {httpStatus} -> httpStatus) (\s@ListDedicatedIpPoolsResponse' {} a -> s {httpStatus = a} :: ListDedicatedIpPoolsResponse)++instance Prelude.NFData ListDedicatedIpPoolsResponse where+ rnf ListDedicatedIpPoolsResponse' {..} =+ Prelude.rnf dedicatedIpPools+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/PinpointEmail/ListDeliverabilityTestReports.hs view
@@ -0,0 +1,271 @@+{-# 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.PinpointEmail.ListDeliverabilityTestReports+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Show a list of the predictive inbox placement tests that you\'ve+-- performed, regardless of their statuses. For predictive inbox placement+-- tests that are complete, you can use the @GetDeliverabilityTestReport@+-- operation to view the results.+--+-- This operation returns paginated results.+module Amazonka.PinpointEmail.ListDeliverabilityTestReports+ ( -- * Creating a Request+ ListDeliverabilityTestReports (..),+ newListDeliverabilityTestReports,++ -- * Request Lenses+ listDeliverabilityTestReports_nextToken,+ listDeliverabilityTestReports_pageSize,++ -- * Destructuring the Response+ ListDeliverabilityTestReportsResponse (..),+ newListDeliverabilityTestReportsResponse,++ -- * Response Lenses+ listDeliverabilityTestReportsResponse_nextToken,+ listDeliverabilityTestReportsResponse_httpStatus,+ listDeliverabilityTestReportsResponse_deliverabilityTestReports,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | A request to list all of the predictive inbox placement tests that+-- you\'ve performed.+--+-- /See:/ 'newListDeliverabilityTestReports' smart constructor.+data ListDeliverabilityTestReports = ListDeliverabilityTestReports'+ { -- | A token returned from a previous call to @ListDeliverabilityTestReports@+ -- to indicate the position in the list of predictive inbox placement+ -- tests.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The number of results to show in a single call to+ -- @ListDeliverabilityTestReports@. If the number of results is larger than+ -- the number you specified in this parameter, then the response includes a+ -- @NextToken@ element, which you can use to obtain additional results.+ --+ -- The value you specify has to be at least 0, and can be no more than+ -- 1000.+ pageSize :: Prelude.Maybe Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDeliverabilityTestReports' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listDeliverabilityTestReports_nextToken' - A token returned from a previous call to @ListDeliverabilityTestReports@+-- to indicate the position in the list of predictive inbox placement+-- tests.+--+-- 'pageSize', 'listDeliverabilityTestReports_pageSize' - The number of results to show in a single call to+-- @ListDeliverabilityTestReports@. If the number of results is larger than+-- the number you specified in this parameter, then the response includes a+-- @NextToken@ element, which you can use to obtain additional results.+--+-- The value you specify has to be at least 0, and can be no more than+-- 1000.+newListDeliverabilityTestReports ::+ ListDeliverabilityTestReports+newListDeliverabilityTestReports =+ ListDeliverabilityTestReports'+ { nextToken =+ Prelude.Nothing,+ pageSize = Prelude.Nothing+ }++-- | A token returned from a previous call to @ListDeliverabilityTestReports@+-- to indicate the position in the list of predictive inbox placement+-- tests.+listDeliverabilityTestReports_nextToken :: Lens.Lens' ListDeliverabilityTestReports (Prelude.Maybe Prelude.Text)+listDeliverabilityTestReports_nextToken = Lens.lens (\ListDeliverabilityTestReports' {nextToken} -> nextToken) (\s@ListDeliverabilityTestReports' {} a -> s {nextToken = a} :: ListDeliverabilityTestReports)++-- | The number of results to show in a single call to+-- @ListDeliverabilityTestReports@. If the number of results is larger than+-- the number you specified in this parameter, then the response includes a+-- @NextToken@ element, which you can use to obtain additional results.+--+-- The value you specify has to be at least 0, and can be no more than+-- 1000.+listDeliverabilityTestReports_pageSize :: Lens.Lens' ListDeliverabilityTestReports (Prelude.Maybe Prelude.Int)+listDeliverabilityTestReports_pageSize = Lens.lens (\ListDeliverabilityTestReports' {pageSize} -> pageSize) (\s@ListDeliverabilityTestReports' {} a -> s {pageSize = a} :: ListDeliverabilityTestReports)++instance Core.AWSPager ListDeliverabilityTestReports where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listDeliverabilityTestReportsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^. listDeliverabilityTestReportsResponse_deliverabilityTestReports+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listDeliverabilityTestReports_nextToken+ Lens..~ rs+ Lens.^? listDeliverabilityTestReportsResponse_nextToken+ Prelude.. Lens._Just++instance+ Core.AWSRequest+ ListDeliverabilityTestReports+ where+ type+ AWSResponse ListDeliverabilityTestReports =+ ListDeliverabilityTestReportsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListDeliverabilityTestReportsResponse'+ Prelude.<$> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> ( x+ Data..?> "DeliverabilityTestReports"+ Core..!@ Prelude.mempty+ )+ )++instance+ Prelude.Hashable+ ListDeliverabilityTestReports+ where+ hashWithSalt _salt ListDeliverabilityTestReports' {..} =+ _salt+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` pageSize++instance Prelude.NFData ListDeliverabilityTestReports where+ rnf ListDeliverabilityTestReports' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf pageSize++instance Data.ToHeaders ListDeliverabilityTestReports where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListDeliverabilityTestReports where+ toPath =+ Prelude.const+ "/v1/email/deliverability-dashboard/test-reports"++instance Data.ToQuery ListDeliverabilityTestReports where+ toQuery ListDeliverabilityTestReports' {..} =+ Prelude.mconcat+ [ "NextToken" Data.=: nextToken,+ "PageSize" Data.=: pageSize+ ]++-- | A list of the predictive inbox placement test reports that are available+-- for your account, regardless of whether or not those tests are complete.+--+-- /See:/ 'newListDeliverabilityTestReportsResponse' smart constructor.+data ListDeliverabilityTestReportsResponse = ListDeliverabilityTestReportsResponse'+ { -- | A token that indicates that there are additional predictive inbox+ -- placement tests to list. To view additional predictive inbox placement+ -- tests, issue another request to @ListDeliverabilityTestReports@, and+ -- pass this token in the @NextToken@ parameter.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | An object that contains a lists of predictive inbox placement tests that+ -- you\'ve performed.+ deliverabilityTestReports :: [DeliverabilityTestReport]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDeliverabilityTestReportsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listDeliverabilityTestReportsResponse_nextToken' - A token that indicates that there are additional predictive inbox+-- placement tests to list. To view additional predictive inbox placement+-- tests, issue another request to @ListDeliverabilityTestReports@, and+-- pass this token in the @NextToken@ parameter.+--+-- 'httpStatus', 'listDeliverabilityTestReportsResponse_httpStatus' - The response's http status code.+--+-- 'deliverabilityTestReports', 'listDeliverabilityTestReportsResponse_deliverabilityTestReports' - An object that contains a lists of predictive inbox placement tests that+-- you\'ve performed.+newListDeliverabilityTestReportsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListDeliverabilityTestReportsResponse+newListDeliverabilityTestReportsResponse pHttpStatus_ =+ ListDeliverabilityTestReportsResponse'+ { nextToken =+ Prelude.Nothing,+ httpStatus = pHttpStatus_,+ deliverabilityTestReports =+ Prelude.mempty+ }++-- | A token that indicates that there are additional predictive inbox+-- placement tests to list. To view additional predictive inbox placement+-- tests, issue another request to @ListDeliverabilityTestReports@, and+-- pass this token in the @NextToken@ parameter.+listDeliverabilityTestReportsResponse_nextToken :: Lens.Lens' ListDeliverabilityTestReportsResponse (Prelude.Maybe Prelude.Text)+listDeliverabilityTestReportsResponse_nextToken = Lens.lens (\ListDeliverabilityTestReportsResponse' {nextToken} -> nextToken) (\s@ListDeliverabilityTestReportsResponse' {} a -> s {nextToken = a} :: ListDeliverabilityTestReportsResponse)++-- | The response's http status code.+listDeliverabilityTestReportsResponse_httpStatus :: Lens.Lens' ListDeliverabilityTestReportsResponse Prelude.Int+listDeliverabilityTestReportsResponse_httpStatus = Lens.lens (\ListDeliverabilityTestReportsResponse' {httpStatus} -> httpStatus) (\s@ListDeliverabilityTestReportsResponse' {} a -> s {httpStatus = a} :: ListDeliverabilityTestReportsResponse)++-- | An object that contains a lists of predictive inbox placement tests that+-- you\'ve performed.+listDeliverabilityTestReportsResponse_deliverabilityTestReports :: Lens.Lens' ListDeliverabilityTestReportsResponse [DeliverabilityTestReport]+listDeliverabilityTestReportsResponse_deliverabilityTestReports = Lens.lens (\ListDeliverabilityTestReportsResponse' {deliverabilityTestReports} -> deliverabilityTestReports) (\s@ListDeliverabilityTestReportsResponse' {} a -> s {deliverabilityTestReports = a} :: ListDeliverabilityTestReportsResponse) Prelude.. Lens.coerced++instance+ Prelude.NFData+ ListDeliverabilityTestReportsResponse+ where+ rnf ListDeliverabilityTestReportsResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf deliverabilityTestReports
+ gen/Amazonka/PinpointEmail/ListDomainDeliverabilityCampaigns.hs view
@@ -0,0 +1,319 @@+{-# 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.PinpointEmail.ListDomainDeliverabilityCampaigns+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieve deliverability data for all the campaigns that used a specific+-- domain to send email during a specified time range. This data is+-- available for a domain only if you enabled the Deliverability dashboard+-- (@PutDeliverabilityDashboardOption@ operation) for the domain.+module Amazonka.PinpointEmail.ListDomainDeliverabilityCampaigns+ ( -- * Creating a Request+ ListDomainDeliverabilityCampaigns (..),+ newListDomainDeliverabilityCampaigns,++ -- * Request Lenses+ listDomainDeliverabilityCampaigns_nextToken,+ listDomainDeliverabilityCampaigns_pageSize,+ listDomainDeliverabilityCampaigns_startDate,+ listDomainDeliverabilityCampaigns_endDate,+ listDomainDeliverabilityCampaigns_subscribedDomain,++ -- * Destructuring the Response+ ListDomainDeliverabilityCampaignsResponse (..),+ newListDomainDeliverabilityCampaignsResponse,++ -- * Response Lenses+ listDomainDeliverabilityCampaignsResponse_nextToken,+ listDomainDeliverabilityCampaignsResponse_httpStatus,+ listDomainDeliverabilityCampaignsResponse_domainDeliverabilityCampaigns,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | Retrieve deliverability data for all the campaigns that used a specific+-- domain to send email during a specified time range. This data is+-- available for a domain only if you enabled the Deliverability dashboard+-- (@PutDeliverabilityDashboardOption@ operation) for the domain.+--+-- /See:/ 'newListDomainDeliverabilityCampaigns' smart constructor.+data ListDomainDeliverabilityCampaigns = ListDomainDeliverabilityCampaigns'+ { -- | A token that’s returned from a previous call to the+ -- @ListDomainDeliverabilityCampaigns@ operation. This token indicates the+ -- position of a campaign in the list of campaigns.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The maximum number of results to include in response to a single call to+ -- the @ListDomainDeliverabilityCampaigns@ operation. If the number of+ -- results is larger than the number that you specify in this parameter,+ -- the response includes a @NextToken@ element, which you can use to obtain+ -- additional results.+ pageSize :: Prelude.Maybe Prelude.Int,+ -- | The first day, in Unix time format, that you want to obtain+ -- deliverability data for.+ startDate :: Data.POSIX,+ -- | The last day, in Unix time format, that you want to obtain+ -- deliverability data for. This value has to be less than or equal to 30+ -- days after the value of the @StartDate@ parameter.+ endDate :: Data.POSIX,+ -- | The domain to obtain deliverability data for.+ subscribedDomain :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDomainDeliverabilityCampaigns' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listDomainDeliverabilityCampaigns_nextToken' - A token that’s returned from a previous call to the+-- @ListDomainDeliverabilityCampaigns@ operation. This token indicates the+-- position of a campaign in the list of campaigns.+--+-- 'pageSize', 'listDomainDeliverabilityCampaigns_pageSize' - The maximum number of results to include in response to a single call to+-- the @ListDomainDeliverabilityCampaigns@ operation. If the number of+-- results is larger than the number that you specify in this parameter,+-- the response includes a @NextToken@ element, which you can use to obtain+-- additional results.+--+-- 'startDate', 'listDomainDeliverabilityCampaigns_startDate' - The first day, in Unix time format, that you want to obtain+-- deliverability data for.+--+-- 'endDate', 'listDomainDeliverabilityCampaigns_endDate' - The last day, in Unix time format, that you want to obtain+-- deliverability data for. This value has to be less than or equal to 30+-- days after the value of the @StartDate@ parameter.+--+-- 'subscribedDomain', 'listDomainDeliverabilityCampaigns_subscribedDomain' - The domain to obtain deliverability data for.+newListDomainDeliverabilityCampaigns ::+ -- | 'startDate'+ Prelude.UTCTime ->+ -- | 'endDate'+ Prelude.UTCTime ->+ -- | 'subscribedDomain'+ Prelude.Text ->+ ListDomainDeliverabilityCampaigns+newListDomainDeliverabilityCampaigns+ pStartDate_+ pEndDate_+ pSubscribedDomain_ =+ ListDomainDeliverabilityCampaigns'+ { nextToken =+ Prelude.Nothing,+ pageSize = Prelude.Nothing,+ startDate =+ Data._Time Lens.# pStartDate_,+ endDate = Data._Time Lens.# pEndDate_,+ subscribedDomain = pSubscribedDomain_+ }++-- | A token that’s returned from a previous call to the+-- @ListDomainDeliverabilityCampaigns@ operation. This token indicates the+-- position of a campaign in the list of campaigns.+listDomainDeliverabilityCampaigns_nextToken :: Lens.Lens' ListDomainDeliverabilityCampaigns (Prelude.Maybe Prelude.Text)+listDomainDeliverabilityCampaigns_nextToken = Lens.lens (\ListDomainDeliverabilityCampaigns' {nextToken} -> nextToken) (\s@ListDomainDeliverabilityCampaigns' {} a -> s {nextToken = a} :: ListDomainDeliverabilityCampaigns)++-- | The maximum number of results to include in response to a single call to+-- the @ListDomainDeliverabilityCampaigns@ operation. If the number of+-- results is larger than the number that you specify in this parameter,+-- the response includes a @NextToken@ element, which you can use to obtain+-- additional results.+listDomainDeliverabilityCampaigns_pageSize :: Lens.Lens' ListDomainDeliverabilityCampaigns (Prelude.Maybe Prelude.Int)+listDomainDeliverabilityCampaigns_pageSize = Lens.lens (\ListDomainDeliverabilityCampaigns' {pageSize} -> pageSize) (\s@ListDomainDeliverabilityCampaigns' {} a -> s {pageSize = a} :: ListDomainDeliverabilityCampaigns)++-- | The first day, in Unix time format, that you want to obtain+-- deliverability data for.+listDomainDeliverabilityCampaigns_startDate :: Lens.Lens' ListDomainDeliverabilityCampaigns Prelude.UTCTime+listDomainDeliverabilityCampaigns_startDate = Lens.lens (\ListDomainDeliverabilityCampaigns' {startDate} -> startDate) (\s@ListDomainDeliverabilityCampaigns' {} a -> s {startDate = a} :: ListDomainDeliverabilityCampaigns) Prelude.. Data._Time++-- | The last day, in Unix time format, that you want to obtain+-- deliverability data for. This value has to be less than or equal to 30+-- days after the value of the @StartDate@ parameter.+listDomainDeliverabilityCampaigns_endDate :: Lens.Lens' ListDomainDeliverabilityCampaigns Prelude.UTCTime+listDomainDeliverabilityCampaigns_endDate = Lens.lens (\ListDomainDeliverabilityCampaigns' {endDate} -> endDate) (\s@ListDomainDeliverabilityCampaigns' {} a -> s {endDate = a} :: ListDomainDeliverabilityCampaigns) Prelude.. Data._Time++-- | The domain to obtain deliverability data for.+listDomainDeliverabilityCampaigns_subscribedDomain :: Lens.Lens' ListDomainDeliverabilityCampaigns Prelude.Text+listDomainDeliverabilityCampaigns_subscribedDomain = Lens.lens (\ListDomainDeliverabilityCampaigns' {subscribedDomain} -> subscribedDomain) (\s@ListDomainDeliverabilityCampaigns' {} a -> s {subscribedDomain = a} :: ListDomainDeliverabilityCampaigns)++instance+ Core.AWSRequest+ ListDomainDeliverabilityCampaigns+ where+ type+ AWSResponse ListDomainDeliverabilityCampaigns =+ ListDomainDeliverabilityCampaignsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListDomainDeliverabilityCampaignsResponse'+ Prelude.<$> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> ( x+ Data..?> "DomainDeliverabilityCampaigns"+ Core..!@ Prelude.mempty+ )+ )++instance+ Prelude.Hashable+ ListDomainDeliverabilityCampaigns+ where+ hashWithSalt+ _salt+ ListDomainDeliverabilityCampaigns' {..} =+ _salt+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` pageSize+ `Prelude.hashWithSalt` startDate+ `Prelude.hashWithSalt` endDate+ `Prelude.hashWithSalt` subscribedDomain++instance+ Prelude.NFData+ ListDomainDeliverabilityCampaigns+ where+ rnf ListDomainDeliverabilityCampaigns' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf pageSize+ `Prelude.seq` Prelude.rnf startDate+ `Prelude.seq` Prelude.rnf endDate+ `Prelude.seq` Prelude.rnf subscribedDomain++instance+ Data.ToHeaders+ ListDomainDeliverabilityCampaigns+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToPath+ ListDomainDeliverabilityCampaigns+ where+ toPath ListDomainDeliverabilityCampaigns' {..} =+ Prelude.mconcat+ [ "/v1/email/deliverability-dashboard/domains/",+ Data.toBS subscribedDomain,+ "/campaigns"+ ]++instance+ Data.ToQuery+ ListDomainDeliverabilityCampaigns+ where+ toQuery ListDomainDeliverabilityCampaigns' {..} =+ Prelude.mconcat+ [ "NextToken" Data.=: nextToken,+ "PageSize" Data.=: pageSize,+ "StartDate" Data.=: startDate,+ "EndDate" Data.=: endDate+ ]++-- | An array of objects that provide deliverability data for all the+-- campaigns that used a specific domain to send email during a specified+-- time range. This data is available for a domain only if you enabled the+-- Deliverability dashboard (@PutDeliverabilityDashboardOption@ operation)+-- for the domain.+--+-- /See:/ 'newListDomainDeliverabilityCampaignsResponse' smart constructor.+data ListDomainDeliverabilityCampaignsResponse = ListDomainDeliverabilityCampaignsResponse'+ { -- | A token that’s returned from a previous call to the+ -- @ListDomainDeliverabilityCampaigns@ operation. This token indicates the+ -- position of the campaign in the list of campaigns.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | An array of responses, one for each campaign that used the domain to+ -- send email during the specified time range.+ domainDeliverabilityCampaigns :: [DomainDeliverabilityCampaign]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDomainDeliverabilityCampaignsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listDomainDeliverabilityCampaignsResponse_nextToken' - A token that’s returned from a previous call to the+-- @ListDomainDeliverabilityCampaigns@ operation. This token indicates the+-- position of the campaign in the list of campaigns.+--+-- 'httpStatus', 'listDomainDeliverabilityCampaignsResponse_httpStatus' - The response's http status code.+--+-- 'domainDeliverabilityCampaigns', 'listDomainDeliverabilityCampaignsResponse_domainDeliverabilityCampaigns' - An array of responses, one for each campaign that used the domain to+-- send email during the specified time range.+newListDomainDeliverabilityCampaignsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListDomainDeliverabilityCampaignsResponse+newListDomainDeliverabilityCampaignsResponse+ pHttpStatus_ =+ ListDomainDeliverabilityCampaignsResponse'+ { nextToken =+ Prelude.Nothing,+ httpStatus = pHttpStatus_,+ domainDeliverabilityCampaigns =+ Prelude.mempty+ }++-- | A token that’s returned from a previous call to the+-- @ListDomainDeliverabilityCampaigns@ operation. This token indicates the+-- position of the campaign in the list of campaigns.+listDomainDeliverabilityCampaignsResponse_nextToken :: Lens.Lens' ListDomainDeliverabilityCampaignsResponse (Prelude.Maybe Prelude.Text)+listDomainDeliverabilityCampaignsResponse_nextToken = Lens.lens (\ListDomainDeliverabilityCampaignsResponse' {nextToken} -> nextToken) (\s@ListDomainDeliverabilityCampaignsResponse' {} a -> s {nextToken = a} :: ListDomainDeliverabilityCampaignsResponse)++-- | The response's http status code.+listDomainDeliverabilityCampaignsResponse_httpStatus :: Lens.Lens' ListDomainDeliverabilityCampaignsResponse Prelude.Int+listDomainDeliverabilityCampaignsResponse_httpStatus = Lens.lens (\ListDomainDeliverabilityCampaignsResponse' {httpStatus} -> httpStatus) (\s@ListDomainDeliverabilityCampaignsResponse' {} a -> s {httpStatus = a} :: ListDomainDeliverabilityCampaignsResponse)++-- | An array of responses, one for each campaign that used the domain to+-- send email during the specified time range.+listDomainDeliverabilityCampaignsResponse_domainDeliverabilityCampaigns :: Lens.Lens' ListDomainDeliverabilityCampaignsResponse [DomainDeliverabilityCampaign]+listDomainDeliverabilityCampaignsResponse_domainDeliverabilityCampaigns = Lens.lens (\ListDomainDeliverabilityCampaignsResponse' {domainDeliverabilityCampaigns} -> domainDeliverabilityCampaigns) (\s@ListDomainDeliverabilityCampaignsResponse' {} a -> s {domainDeliverabilityCampaigns = a} :: ListDomainDeliverabilityCampaignsResponse) Prelude.. Lens.coerced++instance+ Prelude.NFData+ ListDomainDeliverabilityCampaignsResponse+ where+ rnf ListDomainDeliverabilityCampaignsResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf domainDeliverabilityCampaigns
+ gen/Amazonka/PinpointEmail/ListEmailIdentities.hs view
@@ -0,0 +1,256 @@+{-# 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.PinpointEmail.ListEmailIdentities+-- 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 all of the email identities that are associated with+-- your Amazon Pinpoint account. An identity can be either an email address+-- or a domain. This operation returns identities that are verified as well+-- as those that aren\'t.+--+-- This operation returns paginated results.+module Amazonka.PinpointEmail.ListEmailIdentities+ ( -- * Creating a Request+ ListEmailIdentities (..),+ newListEmailIdentities,++ -- * Request Lenses+ listEmailIdentities_nextToken,+ listEmailIdentities_pageSize,++ -- * Destructuring the Response+ ListEmailIdentitiesResponse (..),+ newListEmailIdentitiesResponse,++ -- * Response Lenses+ listEmailIdentitiesResponse_emailIdentities,+ listEmailIdentitiesResponse_nextToken,+ listEmailIdentitiesResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | A request to list all of the email identities associated with your+-- Amazon Pinpoint account. This list includes identities that you\'ve+-- already verified, identities that are unverified, and identities that+-- were verified in the past, but are no longer verified.+--+-- /See:/ 'newListEmailIdentities' smart constructor.+data ListEmailIdentities = ListEmailIdentities'+ { -- | A token returned from a previous call to @ListEmailIdentities@ to+ -- indicate the position in the list of identities.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The number of results to show in a single call to @ListEmailIdentities@.+ -- If the number of results is larger than the number you specified in this+ -- parameter, then the response includes a @NextToken@ element, which you+ -- can use to obtain additional results.+ --+ -- The value you specify has to be at least 0, and can be no more than+ -- 1000.+ pageSize :: Prelude.Maybe Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListEmailIdentities' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listEmailIdentities_nextToken' - A token returned from a previous call to @ListEmailIdentities@ to+-- indicate the position in the list of identities.+--+-- 'pageSize', 'listEmailIdentities_pageSize' - The number of results to show in a single call to @ListEmailIdentities@.+-- If the number of results is larger than the number you specified in this+-- parameter, then the response includes a @NextToken@ element, which you+-- can use to obtain additional results.+--+-- The value you specify has to be at least 0, and can be no more than+-- 1000.+newListEmailIdentities ::+ ListEmailIdentities+newListEmailIdentities =+ ListEmailIdentities'+ { nextToken = Prelude.Nothing,+ pageSize = Prelude.Nothing+ }++-- | A token returned from a previous call to @ListEmailIdentities@ to+-- indicate the position in the list of identities.+listEmailIdentities_nextToken :: Lens.Lens' ListEmailIdentities (Prelude.Maybe Prelude.Text)+listEmailIdentities_nextToken = Lens.lens (\ListEmailIdentities' {nextToken} -> nextToken) (\s@ListEmailIdentities' {} a -> s {nextToken = a} :: ListEmailIdentities)++-- | The number of results to show in a single call to @ListEmailIdentities@.+-- If the number of results is larger than the number you specified in this+-- parameter, then the response includes a @NextToken@ element, which you+-- can use to obtain additional results.+--+-- The value you specify has to be at least 0, and can be no more than+-- 1000.+listEmailIdentities_pageSize :: Lens.Lens' ListEmailIdentities (Prelude.Maybe Prelude.Int)+listEmailIdentities_pageSize = Lens.lens (\ListEmailIdentities' {pageSize} -> pageSize) (\s@ListEmailIdentities' {} a -> s {pageSize = a} :: ListEmailIdentities)++instance Core.AWSPager ListEmailIdentities where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listEmailIdentitiesResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listEmailIdentitiesResponse_emailIdentities+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listEmailIdentities_nextToken+ Lens..~ rs+ Lens.^? listEmailIdentitiesResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListEmailIdentities where+ type+ AWSResponse ListEmailIdentities =+ ListEmailIdentitiesResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListEmailIdentitiesResponse'+ Prelude.<$> ( x+ Data..?> "EmailIdentities"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListEmailIdentities where+ hashWithSalt _salt ListEmailIdentities' {..} =+ _salt+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` pageSize++instance Prelude.NFData ListEmailIdentities where+ rnf ListEmailIdentities' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf pageSize++instance Data.ToHeaders ListEmailIdentities where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListEmailIdentities where+ toPath = Prelude.const "/v1/email/identities"++instance Data.ToQuery ListEmailIdentities where+ toQuery ListEmailIdentities' {..} =+ Prelude.mconcat+ [ "NextToken" Data.=: nextToken,+ "PageSize" Data.=: pageSize+ ]++-- | A list of all of the identities that you\'ve attempted to verify for use+-- with Amazon Pinpoint, regardless of whether or not those identities were+-- successfully verified.+--+-- /See:/ 'newListEmailIdentitiesResponse' smart constructor.+data ListEmailIdentitiesResponse = ListEmailIdentitiesResponse'+ { -- | An array that includes all of the identities associated with your Amazon+ -- Pinpoint account.+ emailIdentities :: Prelude.Maybe [IdentityInfo],+ -- | A token that indicates that there are additional configuration sets to+ -- list. To view additional configuration sets, issue another request to+ -- @ListEmailIdentities@, and pass this token in the @NextToken@ parameter.+ 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 'ListEmailIdentitiesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'emailIdentities', 'listEmailIdentitiesResponse_emailIdentities' - An array that includes all of the identities associated with your Amazon+-- Pinpoint account.+--+-- 'nextToken', 'listEmailIdentitiesResponse_nextToken' - A token that indicates that there are additional configuration sets to+-- list. To view additional configuration sets, issue another request to+-- @ListEmailIdentities@, and pass this token in the @NextToken@ parameter.+--+-- 'httpStatus', 'listEmailIdentitiesResponse_httpStatus' - The response's http status code.+newListEmailIdentitiesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListEmailIdentitiesResponse+newListEmailIdentitiesResponse pHttpStatus_ =+ ListEmailIdentitiesResponse'+ { emailIdentities =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An array that includes all of the identities associated with your Amazon+-- Pinpoint account.+listEmailIdentitiesResponse_emailIdentities :: Lens.Lens' ListEmailIdentitiesResponse (Prelude.Maybe [IdentityInfo])+listEmailIdentitiesResponse_emailIdentities = Lens.lens (\ListEmailIdentitiesResponse' {emailIdentities} -> emailIdentities) (\s@ListEmailIdentitiesResponse' {} a -> s {emailIdentities = a} :: ListEmailIdentitiesResponse) Prelude.. Lens.mapping Lens.coerced++-- | A token that indicates that there are additional configuration sets to+-- list. To view additional configuration sets, issue another request to+-- @ListEmailIdentities@, and pass this token in the @NextToken@ parameter.+listEmailIdentitiesResponse_nextToken :: Lens.Lens' ListEmailIdentitiesResponse (Prelude.Maybe Prelude.Text)+listEmailIdentitiesResponse_nextToken = Lens.lens (\ListEmailIdentitiesResponse' {nextToken} -> nextToken) (\s@ListEmailIdentitiesResponse' {} a -> s {nextToken = a} :: ListEmailIdentitiesResponse)++-- | The response's http status code.+listEmailIdentitiesResponse_httpStatus :: Lens.Lens' ListEmailIdentitiesResponse Prelude.Int+listEmailIdentitiesResponse_httpStatus = Lens.lens (\ListEmailIdentitiesResponse' {httpStatus} -> httpStatus) (\s@ListEmailIdentitiesResponse' {} a -> s {httpStatus = a} :: ListEmailIdentitiesResponse)++instance Prelude.NFData ListEmailIdentitiesResponse where+ rnf ListEmailIdentitiesResponse' {..} =+ Prelude.rnf emailIdentities+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/PinpointEmail/ListTagsForResource.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.PinpointEmail.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)+--+-- Retrieve a list of the tags (keys and values) that are associated with a+-- specified resource. A /tag/ is a label that you optionally define and+-- associate with a resource in Amazon Pinpoint. Each tag consists of a+-- required /tag key/ and an optional associated /tag value/. A tag key is+-- a general label that acts as a category for more specific tag values. A+-- tag value acts as a descriptor within a tag key.+module Amazonka.PinpointEmail.ListTagsForResource+ ( -- * Creating a Request+ ListTagsForResource (..),+ newListTagsForResource,++ -- * Request Lenses+ listTagsForResource_resourceArn,++ -- * Destructuring the Response+ ListTagsForResourceResponse (..),+ newListTagsForResourceResponse,++ -- * Response Lenses+ listTagsForResourceResponse_httpStatus,+ listTagsForResourceResponse_tags,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types+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 Amazon Resource Name (ARN) of the resource that you want to retrieve+ -- tag information for.+ resourceArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'listTagsForResource_resourceArn' - The Amazon Resource Name (ARN) of the resource that you want to retrieve+-- tag information for.+newListTagsForResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ ListTagsForResource+newListTagsForResource pResourceArn_ =+ ListTagsForResource' {resourceArn = pResourceArn_}++-- | The Amazon Resource Name (ARN) of the resource that you want to retrieve+-- tag information for.+listTagsForResource_resourceArn :: Lens.Lens' ListTagsForResource Prelude.Text+listTagsForResource_resourceArn = Lens.lens (\ListTagsForResource' {resourceArn} -> resourceArn) (\s@ListTagsForResource' {} a -> s {resourceArn = a} :: ListTagsForResource)++instance Core.AWSRequest ListTagsForResource where+ type+ AWSResponse ListTagsForResource =+ ListTagsForResourceResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListTagsForResourceResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..?> "Tags" Core..!@ Prelude.mempty)+ )++instance Prelude.Hashable ListTagsForResource where+ hashWithSalt _salt ListTagsForResource' {..} =+ _salt `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData ListTagsForResource where+ rnf ListTagsForResource' {..} =+ Prelude.rnf resourceArn++instance Data.ToHeaders ListTagsForResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListTagsForResource where+ toPath = Prelude.const "/v1/email/tags"++instance Data.ToQuery ListTagsForResource where+ toQuery ListTagsForResource' {..} =+ Prelude.mconcat ["ResourceArn" Data.=: resourceArn]++-- | /See:/ 'newListTagsForResourceResponse' smart constructor.+data ListTagsForResourceResponse = ListTagsForResourceResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | An array that lists all the tags that are associated with the resource.+ -- Each tag consists of a required tag key (@Key@) and an associated tag+ -- value (@Value@)+ tags :: [Tag]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'listTagsForResourceResponse_httpStatus' - The response's http status code.+--+-- 'tags', 'listTagsForResourceResponse_tags' - An array that lists all the tags that are associated with the resource.+-- Each tag consists of a required tag key (@Key@) and an associated tag+-- value (@Value@)+newListTagsForResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListTagsForResourceResponse+newListTagsForResourceResponse pHttpStatus_ =+ ListTagsForResourceResponse'+ { httpStatus =+ pHttpStatus_,+ tags = Prelude.mempty+ }++-- | 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)++-- | An array that lists all the tags that are associated with the resource.+-- Each tag consists of a required tag key (@Key@) and an associated tag+-- value (@Value@)+listTagsForResourceResponse_tags :: Lens.Lens' ListTagsForResourceResponse [Tag]+listTagsForResourceResponse_tags = Lens.lens (\ListTagsForResourceResponse' {tags} -> tags) (\s@ListTagsForResourceResponse' {} a -> s {tags = a} :: ListTagsForResourceResponse) Prelude.. Lens.coerced++instance Prelude.NFData ListTagsForResourceResponse where+ rnf ListTagsForResourceResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf tags
+ gen/Amazonka/PinpointEmail/PutAccountDedicatedIpWarmupAttributes.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.PinpointEmail.PutAccountDedicatedIpWarmupAttributes+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Enable or disable the automatic warm-up feature for dedicated IP+-- addresses.+module Amazonka.PinpointEmail.PutAccountDedicatedIpWarmupAttributes+ ( -- * Creating a Request+ PutAccountDedicatedIpWarmupAttributes (..),+ newPutAccountDedicatedIpWarmupAttributes,++ -- * Request Lenses+ putAccountDedicatedIpWarmupAttributes_autoWarmupEnabled,++ -- * Destructuring the Response+ PutAccountDedicatedIpWarmupAttributesResponse (..),+ newPutAccountDedicatedIpWarmupAttributesResponse,++ -- * Response Lenses+ putAccountDedicatedIpWarmupAttributesResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | A request to enable or disable the automatic IP address warm-up feature.+--+-- /See:/ 'newPutAccountDedicatedIpWarmupAttributes' smart constructor.+data PutAccountDedicatedIpWarmupAttributes = PutAccountDedicatedIpWarmupAttributes'+ { -- | Enables or disables the automatic warm-up feature for dedicated IP+ -- addresses that are associated with your Amazon Pinpoint account in the+ -- current AWS Region. Set to @true@ to enable the automatic warm-up+ -- feature, or set to @false@ to disable it.+ autoWarmupEnabled :: Prelude.Maybe Prelude.Bool+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutAccountDedicatedIpWarmupAttributes' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'autoWarmupEnabled', 'putAccountDedicatedIpWarmupAttributes_autoWarmupEnabled' - Enables or disables the automatic warm-up feature for dedicated IP+-- addresses that are associated with your Amazon Pinpoint account in the+-- current AWS Region. Set to @true@ to enable the automatic warm-up+-- feature, or set to @false@ to disable it.+newPutAccountDedicatedIpWarmupAttributes ::+ PutAccountDedicatedIpWarmupAttributes+newPutAccountDedicatedIpWarmupAttributes =+ PutAccountDedicatedIpWarmupAttributes'+ { autoWarmupEnabled =+ Prelude.Nothing+ }++-- | Enables or disables the automatic warm-up feature for dedicated IP+-- addresses that are associated with your Amazon Pinpoint account in the+-- current AWS Region. Set to @true@ to enable the automatic warm-up+-- feature, or set to @false@ to disable it.+putAccountDedicatedIpWarmupAttributes_autoWarmupEnabled :: Lens.Lens' PutAccountDedicatedIpWarmupAttributes (Prelude.Maybe Prelude.Bool)+putAccountDedicatedIpWarmupAttributes_autoWarmupEnabled = Lens.lens (\PutAccountDedicatedIpWarmupAttributes' {autoWarmupEnabled} -> autoWarmupEnabled) (\s@PutAccountDedicatedIpWarmupAttributes' {} a -> s {autoWarmupEnabled = a} :: PutAccountDedicatedIpWarmupAttributes)++instance+ Core.AWSRequest+ PutAccountDedicatedIpWarmupAttributes+ where+ type+ AWSResponse+ PutAccountDedicatedIpWarmupAttributes =+ PutAccountDedicatedIpWarmupAttributesResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ PutAccountDedicatedIpWarmupAttributesResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ PutAccountDedicatedIpWarmupAttributes+ where+ hashWithSalt+ _salt+ PutAccountDedicatedIpWarmupAttributes' {..} =+ _salt `Prelude.hashWithSalt` autoWarmupEnabled++instance+ Prelude.NFData+ PutAccountDedicatedIpWarmupAttributes+ where+ rnf PutAccountDedicatedIpWarmupAttributes' {..} =+ Prelude.rnf autoWarmupEnabled++instance+ Data.ToHeaders+ PutAccountDedicatedIpWarmupAttributes+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ PutAccountDedicatedIpWarmupAttributes+ where+ toJSON PutAccountDedicatedIpWarmupAttributes' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("AutoWarmupEnabled" Data..=)+ Prelude.<$> autoWarmupEnabled+ ]+ )++instance+ Data.ToPath+ PutAccountDedicatedIpWarmupAttributes+ where+ toPath =+ Prelude.const+ "/v1/email/account/dedicated-ips/warmup"++instance+ Data.ToQuery+ PutAccountDedicatedIpWarmupAttributes+ where+ toQuery = Prelude.const Prelude.mempty++-- | An HTTP 200 response if the request succeeds, or an error message if the+-- request fails.+--+-- /See:/ 'newPutAccountDedicatedIpWarmupAttributesResponse' smart constructor.+data PutAccountDedicatedIpWarmupAttributesResponse = PutAccountDedicatedIpWarmupAttributesResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutAccountDedicatedIpWarmupAttributesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'putAccountDedicatedIpWarmupAttributesResponse_httpStatus' - The response's http status code.+newPutAccountDedicatedIpWarmupAttributesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ PutAccountDedicatedIpWarmupAttributesResponse+newPutAccountDedicatedIpWarmupAttributesResponse+ pHttpStatus_ =+ PutAccountDedicatedIpWarmupAttributesResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+putAccountDedicatedIpWarmupAttributesResponse_httpStatus :: Lens.Lens' PutAccountDedicatedIpWarmupAttributesResponse Prelude.Int+putAccountDedicatedIpWarmupAttributesResponse_httpStatus = Lens.lens (\PutAccountDedicatedIpWarmupAttributesResponse' {httpStatus} -> httpStatus) (\s@PutAccountDedicatedIpWarmupAttributesResponse' {} a -> s {httpStatus = a} :: PutAccountDedicatedIpWarmupAttributesResponse)++instance+ Prelude.NFData+ PutAccountDedicatedIpWarmupAttributesResponse+ where+ rnf+ PutAccountDedicatedIpWarmupAttributesResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/PinpointEmail/PutAccountSendingAttributes.hs view
@@ -0,0 +1,176 @@+{-# 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.PinpointEmail.PutAccountSendingAttributes+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Enable or disable the ability of your account to send email.+module Amazonka.PinpointEmail.PutAccountSendingAttributes+ ( -- * Creating a Request+ PutAccountSendingAttributes (..),+ newPutAccountSendingAttributes,++ -- * Request Lenses+ putAccountSendingAttributes_sendingEnabled,++ -- * Destructuring the Response+ PutAccountSendingAttributesResponse (..),+ newPutAccountSendingAttributesResponse,++ -- * Response Lenses+ putAccountSendingAttributesResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | A request to change the ability of your account to send email.+--+-- /See:/ 'newPutAccountSendingAttributes' smart constructor.+data PutAccountSendingAttributes = PutAccountSendingAttributes'+ { -- | Enables or disables your account\'s ability to send email. Set to @true@+ -- to enable email sending, or set to @false@ to disable email sending.+ --+ -- If AWS paused your account\'s ability to send email, you can\'t use this+ -- operation to resume your account\'s ability to send email.+ sendingEnabled :: Prelude.Maybe Prelude.Bool+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutAccountSendingAttributes' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sendingEnabled', 'putAccountSendingAttributes_sendingEnabled' - Enables or disables your account\'s ability to send email. Set to @true@+-- to enable email sending, or set to @false@ to disable email sending.+--+-- If AWS paused your account\'s ability to send email, you can\'t use this+-- operation to resume your account\'s ability to send email.+newPutAccountSendingAttributes ::+ PutAccountSendingAttributes+newPutAccountSendingAttributes =+ PutAccountSendingAttributes'+ { sendingEnabled =+ Prelude.Nothing+ }++-- | Enables or disables your account\'s ability to send email. Set to @true@+-- to enable email sending, or set to @false@ to disable email sending.+--+-- If AWS paused your account\'s ability to send email, you can\'t use this+-- operation to resume your account\'s ability to send email.+putAccountSendingAttributes_sendingEnabled :: Lens.Lens' PutAccountSendingAttributes (Prelude.Maybe Prelude.Bool)+putAccountSendingAttributes_sendingEnabled = Lens.lens (\PutAccountSendingAttributes' {sendingEnabled} -> sendingEnabled) (\s@PutAccountSendingAttributes' {} a -> s {sendingEnabled = a} :: PutAccountSendingAttributes)++instance Core.AWSRequest PutAccountSendingAttributes where+ type+ AWSResponse PutAccountSendingAttributes =+ PutAccountSendingAttributesResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ PutAccountSendingAttributesResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable PutAccountSendingAttributes where+ hashWithSalt _salt PutAccountSendingAttributes' {..} =+ _salt `Prelude.hashWithSalt` sendingEnabled++instance Prelude.NFData PutAccountSendingAttributes where+ rnf PutAccountSendingAttributes' {..} =+ Prelude.rnf sendingEnabled++instance Data.ToHeaders PutAccountSendingAttributes where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON PutAccountSendingAttributes where+ toJSON PutAccountSendingAttributes' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("SendingEnabled" Data..=)+ Prelude.<$> sendingEnabled+ ]+ )++instance Data.ToPath PutAccountSendingAttributes where+ toPath = Prelude.const "/v1/email/account/sending"++instance Data.ToQuery PutAccountSendingAttributes where+ toQuery = Prelude.const Prelude.mempty++-- | An HTTP 200 response if the request succeeds, or an error message if the+-- request fails.+--+-- /See:/ 'newPutAccountSendingAttributesResponse' smart constructor.+data PutAccountSendingAttributesResponse = PutAccountSendingAttributesResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutAccountSendingAttributesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'putAccountSendingAttributesResponse_httpStatus' - The response's http status code.+newPutAccountSendingAttributesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ PutAccountSendingAttributesResponse+newPutAccountSendingAttributesResponse pHttpStatus_ =+ PutAccountSendingAttributesResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+putAccountSendingAttributesResponse_httpStatus :: Lens.Lens' PutAccountSendingAttributesResponse Prelude.Int+putAccountSendingAttributesResponse_httpStatus = Lens.lens (\PutAccountSendingAttributesResponse' {httpStatus} -> httpStatus) (\s@PutAccountSendingAttributesResponse' {} a -> s {httpStatus = a} :: PutAccountSendingAttributesResponse)++instance+ Prelude.NFData+ PutAccountSendingAttributesResponse+ where+ rnf PutAccountSendingAttributesResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/PinpointEmail/PutConfigurationSetDeliveryOptions.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.PinpointEmail.PutConfigurationSetDeliveryOptions+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Associate a configuration set with a dedicated IP pool. You can use+-- dedicated IP pools to create groups of dedicated IP addresses for+-- sending specific types of email.+module Amazonka.PinpointEmail.PutConfigurationSetDeliveryOptions+ ( -- * Creating a Request+ PutConfigurationSetDeliveryOptions (..),+ newPutConfigurationSetDeliveryOptions,++ -- * Request Lenses+ putConfigurationSetDeliveryOptions_sendingPoolName,+ putConfigurationSetDeliveryOptions_tlsPolicy,+ putConfigurationSetDeliveryOptions_configurationSetName,++ -- * Destructuring the Response+ PutConfigurationSetDeliveryOptionsResponse (..),+ newPutConfigurationSetDeliveryOptionsResponse,++ -- * Response Lenses+ putConfigurationSetDeliveryOptionsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | A request to associate a configuration set with a dedicated IP pool.+--+-- /See:/ 'newPutConfigurationSetDeliveryOptions' smart constructor.+data PutConfigurationSetDeliveryOptions = PutConfigurationSetDeliveryOptions'+ { -- | The name of the dedicated IP pool that you want to associate with the+ -- configuration set.+ sendingPoolName :: Prelude.Maybe Prelude.Text,+ -- | Specifies whether messages that use the configuration set are required+ -- to use Transport Layer Security (TLS). If the value is @Require@,+ -- messages are only delivered if a TLS connection can be established. If+ -- the value is @Optional@, messages can be delivered in plain text if a+ -- TLS connection can\'t be established.+ tlsPolicy :: Prelude.Maybe TlsPolicy,+ -- | The name of the configuration set that you want to associate with a+ -- dedicated IP pool.+ configurationSetName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutConfigurationSetDeliveryOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sendingPoolName', 'putConfigurationSetDeliveryOptions_sendingPoolName' - The name of the dedicated IP pool that you want to associate with the+-- configuration set.+--+-- 'tlsPolicy', 'putConfigurationSetDeliveryOptions_tlsPolicy' - Specifies whether messages that use the configuration set are required+-- to use Transport Layer Security (TLS). If the value is @Require@,+-- messages are only delivered if a TLS connection can be established. If+-- the value is @Optional@, messages can be delivered in plain text if a+-- TLS connection can\'t be established.+--+-- 'configurationSetName', 'putConfigurationSetDeliveryOptions_configurationSetName' - The name of the configuration set that you want to associate with a+-- dedicated IP pool.+newPutConfigurationSetDeliveryOptions ::+ -- | 'configurationSetName'+ Prelude.Text ->+ PutConfigurationSetDeliveryOptions+newPutConfigurationSetDeliveryOptions+ pConfigurationSetName_ =+ PutConfigurationSetDeliveryOptions'+ { sendingPoolName =+ Prelude.Nothing,+ tlsPolicy = Prelude.Nothing,+ configurationSetName =+ pConfigurationSetName_+ }++-- | The name of the dedicated IP pool that you want to associate with the+-- configuration set.+putConfigurationSetDeliveryOptions_sendingPoolName :: Lens.Lens' PutConfigurationSetDeliveryOptions (Prelude.Maybe Prelude.Text)+putConfigurationSetDeliveryOptions_sendingPoolName = Lens.lens (\PutConfigurationSetDeliveryOptions' {sendingPoolName} -> sendingPoolName) (\s@PutConfigurationSetDeliveryOptions' {} a -> s {sendingPoolName = a} :: PutConfigurationSetDeliveryOptions)++-- | Specifies whether messages that use the configuration set are required+-- to use Transport Layer Security (TLS). If the value is @Require@,+-- messages are only delivered if a TLS connection can be established. If+-- the value is @Optional@, messages can be delivered in plain text if a+-- TLS connection can\'t be established.+putConfigurationSetDeliveryOptions_tlsPolicy :: Lens.Lens' PutConfigurationSetDeliveryOptions (Prelude.Maybe TlsPolicy)+putConfigurationSetDeliveryOptions_tlsPolicy = Lens.lens (\PutConfigurationSetDeliveryOptions' {tlsPolicy} -> tlsPolicy) (\s@PutConfigurationSetDeliveryOptions' {} a -> s {tlsPolicy = a} :: PutConfigurationSetDeliveryOptions)++-- | The name of the configuration set that you want to associate with a+-- dedicated IP pool.+putConfigurationSetDeliveryOptions_configurationSetName :: Lens.Lens' PutConfigurationSetDeliveryOptions Prelude.Text+putConfigurationSetDeliveryOptions_configurationSetName = Lens.lens (\PutConfigurationSetDeliveryOptions' {configurationSetName} -> configurationSetName) (\s@PutConfigurationSetDeliveryOptions' {} a -> s {configurationSetName = a} :: PutConfigurationSetDeliveryOptions)++instance+ Core.AWSRequest+ PutConfigurationSetDeliveryOptions+ where+ type+ AWSResponse PutConfigurationSetDeliveryOptions =+ PutConfigurationSetDeliveryOptionsResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ PutConfigurationSetDeliveryOptionsResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ PutConfigurationSetDeliveryOptions+ where+ hashWithSalt+ _salt+ PutConfigurationSetDeliveryOptions' {..} =+ _salt+ `Prelude.hashWithSalt` sendingPoolName+ `Prelude.hashWithSalt` tlsPolicy+ `Prelude.hashWithSalt` configurationSetName++instance+ Prelude.NFData+ PutConfigurationSetDeliveryOptions+ where+ rnf PutConfigurationSetDeliveryOptions' {..} =+ Prelude.rnf sendingPoolName+ `Prelude.seq` Prelude.rnf tlsPolicy+ `Prelude.seq` Prelude.rnf configurationSetName++instance+ Data.ToHeaders+ PutConfigurationSetDeliveryOptions+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ PutConfigurationSetDeliveryOptions+ where+ toJSON PutConfigurationSetDeliveryOptions' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("SendingPoolName" Data..=)+ Prelude.<$> sendingPoolName,+ ("TlsPolicy" Data..=) Prelude.<$> tlsPolicy+ ]+ )++instance+ Data.ToPath+ PutConfigurationSetDeliveryOptions+ where+ toPath PutConfigurationSetDeliveryOptions' {..} =+ Prelude.mconcat+ [ "/v1/email/configuration-sets/",+ Data.toBS configurationSetName,+ "/delivery-options"+ ]++instance+ Data.ToQuery+ PutConfigurationSetDeliveryOptions+ where+ toQuery = Prelude.const Prelude.mempty++-- | An HTTP 200 response if the request succeeds, or an error message if the+-- request fails.+--+-- /See:/ 'newPutConfigurationSetDeliveryOptionsResponse' smart constructor.+data PutConfigurationSetDeliveryOptionsResponse = PutConfigurationSetDeliveryOptionsResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutConfigurationSetDeliveryOptionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'putConfigurationSetDeliveryOptionsResponse_httpStatus' - The response's http status code.+newPutConfigurationSetDeliveryOptionsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ PutConfigurationSetDeliveryOptionsResponse+newPutConfigurationSetDeliveryOptionsResponse+ pHttpStatus_ =+ PutConfigurationSetDeliveryOptionsResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+putConfigurationSetDeliveryOptionsResponse_httpStatus :: Lens.Lens' PutConfigurationSetDeliveryOptionsResponse Prelude.Int+putConfigurationSetDeliveryOptionsResponse_httpStatus = Lens.lens (\PutConfigurationSetDeliveryOptionsResponse' {httpStatus} -> httpStatus) (\s@PutConfigurationSetDeliveryOptionsResponse' {} a -> s {httpStatus = a} :: PutConfigurationSetDeliveryOptionsResponse)++instance+ Prelude.NFData+ PutConfigurationSetDeliveryOptionsResponse+ where+ rnf PutConfigurationSetDeliveryOptionsResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/PinpointEmail/PutConfigurationSetReputationOptions.hs view
@@ -0,0 +1,221 @@+{-# 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.PinpointEmail.PutConfigurationSetReputationOptions+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Enable or disable collection of reputation metrics for emails that you+-- send using a particular configuration set in a specific AWS Region.+module Amazonka.PinpointEmail.PutConfigurationSetReputationOptions+ ( -- * Creating a Request+ PutConfigurationSetReputationOptions (..),+ newPutConfigurationSetReputationOptions,++ -- * Request Lenses+ putConfigurationSetReputationOptions_reputationMetricsEnabled,+ putConfigurationSetReputationOptions_configurationSetName,++ -- * Destructuring the Response+ PutConfigurationSetReputationOptionsResponse (..),+ newPutConfigurationSetReputationOptionsResponse,++ -- * Response Lenses+ putConfigurationSetReputationOptionsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | A request to enable or disable tracking of reputation metrics for a+-- configuration set.+--+-- /See:/ 'newPutConfigurationSetReputationOptions' smart constructor.+data PutConfigurationSetReputationOptions = PutConfigurationSetReputationOptions'+ { -- | If @true@, tracking of reputation metrics is enabled for the+ -- configuration set. If @false@, tracking of reputation metrics is+ -- disabled for the configuration set.+ reputationMetricsEnabled :: Prelude.Maybe Prelude.Bool,+ -- | The name of the configuration set that you want to enable or disable+ -- reputation metric tracking for.+ configurationSetName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutConfigurationSetReputationOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'reputationMetricsEnabled', 'putConfigurationSetReputationOptions_reputationMetricsEnabled' - If @true@, tracking of reputation metrics is enabled for the+-- configuration set. If @false@, tracking of reputation metrics is+-- disabled for the configuration set.+--+-- 'configurationSetName', 'putConfigurationSetReputationOptions_configurationSetName' - The name of the configuration set that you want to enable or disable+-- reputation metric tracking for.+newPutConfigurationSetReputationOptions ::+ -- | 'configurationSetName'+ Prelude.Text ->+ PutConfigurationSetReputationOptions+newPutConfigurationSetReputationOptions+ pConfigurationSetName_ =+ PutConfigurationSetReputationOptions'+ { reputationMetricsEnabled =+ Prelude.Nothing,+ configurationSetName =+ pConfigurationSetName_+ }++-- | If @true@, tracking of reputation metrics is enabled for the+-- configuration set. If @false@, tracking of reputation metrics is+-- disabled for the configuration set.+putConfigurationSetReputationOptions_reputationMetricsEnabled :: Lens.Lens' PutConfigurationSetReputationOptions (Prelude.Maybe Prelude.Bool)+putConfigurationSetReputationOptions_reputationMetricsEnabled = Lens.lens (\PutConfigurationSetReputationOptions' {reputationMetricsEnabled} -> reputationMetricsEnabled) (\s@PutConfigurationSetReputationOptions' {} a -> s {reputationMetricsEnabled = a} :: PutConfigurationSetReputationOptions)++-- | The name of the configuration set that you want to enable or disable+-- reputation metric tracking for.+putConfigurationSetReputationOptions_configurationSetName :: Lens.Lens' PutConfigurationSetReputationOptions Prelude.Text+putConfigurationSetReputationOptions_configurationSetName = Lens.lens (\PutConfigurationSetReputationOptions' {configurationSetName} -> configurationSetName) (\s@PutConfigurationSetReputationOptions' {} a -> s {configurationSetName = a} :: PutConfigurationSetReputationOptions)++instance+ Core.AWSRequest+ PutConfigurationSetReputationOptions+ where+ type+ AWSResponse PutConfigurationSetReputationOptions =+ PutConfigurationSetReputationOptionsResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ PutConfigurationSetReputationOptionsResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ PutConfigurationSetReputationOptions+ where+ hashWithSalt+ _salt+ PutConfigurationSetReputationOptions' {..} =+ _salt+ `Prelude.hashWithSalt` reputationMetricsEnabled+ `Prelude.hashWithSalt` configurationSetName++instance+ Prelude.NFData+ PutConfigurationSetReputationOptions+ where+ rnf PutConfigurationSetReputationOptions' {..} =+ Prelude.rnf reputationMetricsEnabled+ `Prelude.seq` Prelude.rnf configurationSetName++instance+ Data.ToHeaders+ PutConfigurationSetReputationOptions+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ PutConfigurationSetReputationOptions+ where+ toJSON PutConfigurationSetReputationOptions' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ReputationMetricsEnabled" Data..=)+ Prelude.<$> reputationMetricsEnabled+ ]+ )++instance+ Data.ToPath+ PutConfigurationSetReputationOptions+ where+ toPath PutConfigurationSetReputationOptions' {..} =+ Prelude.mconcat+ [ "/v1/email/configuration-sets/",+ Data.toBS configurationSetName,+ "/reputation-options"+ ]++instance+ Data.ToQuery+ PutConfigurationSetReputationOptions+ where+ toQuery = Prelude.const Prelude.mempty++-- | An HTTP 200 response if the request succeeds, or an error message if the+-- request fails.+--+-- /See:/ 'newPutConfigurationSetReputationOptionsResponse' smart constructor.+data PutConfigurationSetReputationOptionsResponse = PutConfigurationSetReputationOptionsResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutConfigurationSetReputationOptionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'putConfigurationSetReputationOptionsResponse_httpStatus' - The response's http status code.+newPutConfigurationSetReputationOptionsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ PutConfigurationSetReputationOptionsResponse+newPutConfigurationSetReputationOptionsResponse+ pHttpStatus_ =+ PutConfigurationSetReputationOptionsResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+putConfigurationSetReputationOptionsResponse_httpStatus :: Lens.Lens' PutConfigurationSetReputationOptionsResponse Prelude.Int+putConfigurationSetReputationOptionsResponse_httpStatus = Lens.lens (\PutConfigurationSetReputationOptionsResponse' {httpStatus} -> httpStatus) (\s@PutConfigurationSetReputationOptionsResponse' {} a -> s {httpStatus = a} :: PutConfigurationSetReputationOptionsResponse)++instance+ Prelude.NFData+ PutConfigurationSetReputationOptionsResponse+ where+ rnf PutConfigurationSetReputationOptionsResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/PinpointEmail/PutConfigurationSetSendingOptions.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.PinpointEmail.PutConfigurationSetSendingOptions+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Enable or disable email sending for messages that use a particular+-- configuration set in a specific AWS Region.+module Amazonka.PinpointEmail.PutConfigurationSetSendingOptions+ ( -- * Creating a Request+ PutConfigurationSetSendingOptions (..),+ newPutConfigurationSetSendingOptions,++ -- * Request Lenses+ putConfigurationSetSendingOptions_sendingEnabled,+ putConfigurationSetSendingOptions_configurationSetName,++ -- * Destructuring the Response+ PutConfigurationSetSendingOptionsResponse (..),+ newPutConfigurationSetSendingOptionsResponse,++ -- * Response Lenses+ putConfigurationSetSendingOptionsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | A request to enable or disable the ability of Amazon Pinpoint to send+-- emails that use a specific configuration set.+--+-- /See:/ 'newPutConfigurationSetSendingOptions' smart constructor.+data PutConfigurationSetSendingOptions = PutConfigurationSetSendingOptions'+ { -- | If @true@, email sending is enabled for the configuration set. If+ -- @false@, email sending is disabled for the configuration set.+ sendingEnabled :: Prelude.Maybe Prelude.Bool,+ -- | The name of the configuration set that you want to enable or disable+ -- email sending for.+ configurationSetName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutConfigurationSetSendingOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sendingEnabled', 'putConfigurationSetSendingOptions_sendingEnabled' - If @true@, email sending is enabled for the configuration set. If+-- @false@, email sending is disabled for the configuration set.+--+-- 'configurationSetName', 'putConfigurationSetSendingOptions_configurationSetName' - The name of the configuration set that you want to enable or disable+-- email sending for.+newPutConfigurationSetSendingOptions ::+ -- | 'configurationSetName'+ Prelude.Text ->+ PutConfigurationSetSendingOptions+newPutConfigurationSetSendingOptions+ pConfigurationSetName_ =+ PutConfigurationSetSendingOptions'+ { sendingEnabled =+ Prelude.Nothing,+ configurationSetName =+ pConfigurationSetName_+ }++-- | If @true@, email sending is enabled for the configuration set. If+-- @false@, email sending is disabled for the configuration set.+putConfigurationSetSendingOptions_sendingEnabled :: Lens.Lens' PutConfigurationSetSendingOptions (Prelude.Maybe Prelude.Bool)+putConfigurationSetSendingOptions_sendingEnabled = Lens.lens (\PutConfigurationSetSendingOptions' {sendingEnabled} -> sendingEnabled) (\s@PutConfigurationSetSendingOptions' {} a -> s {sendingEnabled = a} :: PutConfigurationSetSendingOptions)++-- | The name of the configuration set that you want to enable or disable+-- email sending for.+putConfigurationSetSendingOptions_configurationSetName :: Lens.Lens' PutConfigurationSetSendingOptions Prelude.Text+putConfigurationSetSendingOptions_configurationSetName = Lens.lens (\PutConfigurationSetSendingOptions' {configurationSetName} -> configurationSetName) (\s@PutConfigurationSetSendingOptions' {} a -> s {configurationSetName = a} :: PutConfigurationSetSendingOptions)++instance+ Core.AWSRequest+ PutConfigurationSetSendingOptions+ where+ type+ AWSResponse PutConfigurationSetSendingOptions =+ PutConfigurationSetSendingOptionsResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ PutConfigurationSetSendingOptionsResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ PutConfigurationSetSendingOptions+ where+ hashWithSalt+ _salt+ PutConfigurationSetSendingOptions' {..} =+ _salt+ `Prelude.hashWithSalt` sendingEnabled+ `Prelude.hashWithSalt` configurationSetName++instance+ Prelude.NFData+ PutConfigurationSetSendingOptions+ where+ rnf PutConfigurationSetSendingOptions' {..} =+ Prelude.rnf sendingEnabled+ `Prelude.seq` Prelude.rnf configurationSetName++instance+ Data.ToHeaders+ PutConfigurationSetSendingOptions+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ PutConfigurationSetSendingOptions+ where+ toJSON PutConfigurationSetSendingOptions' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("SendingEnabled" Data..=)+ Prelude.<$> sendingEnabled+ ]+ )++instance+ Data.ToPath+ PutConfigurationSetSendingOptions+ where+ toPath PutConfigurationSetSendingOptions' {..} =+ Prelude.mconcat+ [ "/v1/email/configuration-sets/",+ Data.toBS configurationSetName,+ "/sending"+ ]++instance+ Data.ToQuery+ PutConfigurationSetSendingOptions+ where+ toQuery = Prelude.const Prelude.mempty++-- | An HTTP 200 response if the request succeeds, or an error message if the+-- request fails.+--+-- /See:/ 'newPutConfigurationSetSendingOptionsResponse' smart constructor.+data PutConfigurationSetSendingOptionsResponse = PutConfigurationSetSendingOptionsResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutConfigurationSetSendingOptionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'putConfigurationSetSendingOptionsResponse_httpStatus' - The response's http status code.+newPutConfigurationSetSendingOptionsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ PutConfigurationSetSendingOptionsResponse+newPutConfigurationSetSendingOptionsResponse+ pHttpStatus_ =+ PutConfigurationSetSendingOptionsResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+putConfigurationSetSendingOptionsResponse_httpStatus :: Lens.Lens' PutConfigurationSetSendingOptionsResponse Prelude.Int+putConfigurationSetSendingOptionsResponse_httpStatus = Lens.lens (\PutConfigurationSetSendingOptionsResponse' {httpStatus} -> httpStatus) (\s@PutConfigurationSetSendingOptionsResponse' {} a -> s {httpStatus = a} :: PutConfigurationSetSendingOptionsResponse)++instance+ Prelude.NFData+ PutConfigurationSetSendingOptionsResponse+ where+ rnf PutConfigurationSetSendingOptionsResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/PinpointEmail/PutConfigurationSetTrackingOptions.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.PinpointEmail.PutConfigurationSetTrackingOptions+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Specify a custom domain to use for open and click tracking elements in+-- email that you send using Amazon Pinpoint.+module Amazonka.PinpointEmail.PutConfigurationSetTrackingOptions+ ( -- * Creating a Request+ PutConfigurationSetTrackingOptions (..),+ newPutConfigurationSetTrackingOptions,++ -- * Request Lenses+ putConfigurationSetTrackingOptions_customRedirectDomain,+ putConfigurationSetTrackingOptions_configurationSetName,++ -- * Destructuring the Response+ PutConfigurationSetTrackingOptionsResponse (..),+ newPutConfigurationSetTrackingOptionsResponse,++ -- * Response Lenses+ putConfigurationSetTrackingOptionsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | A request to add a custom domain for tracking open and click events to a+-- configuration set.+--+-- /See:/ 'newPutConfigurationSetTrackingOptions' smart constructor.+data PutConfigurationSetTrackingOptions = PutConfigurationSetTrackingOptions'+ { -- | The domain that you want to use to track open and click events.+ customRedirectDomain :: Prelude.Maybe Prelude.Text,+ -- | The name of the configuration set that you want to add a custom tracking+ -- domain to.+ configurationSetName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutConfigurationSetTrackingOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'customRedirectDomain', 'putConfigurationSetTrackingOptions_customRedirectDomain' - The domain that you want to use to track open and click events.+--+-- 'configurationSetName', 'putConfigurationSetTrackingOptions_configurationSetName' - The name of the configuration set that you want to add a custom tracking+-- domain to.+newPutConfigurationSetTrackingOptions ::+ -- | 'configurationSetName'+ Prelude.Text ->+ PutConfigurationSetTrackingOptions+newPutConfigurationSetTrackingOptions+ pConfigurationSetName_ =+ PutConfigurationSetTrackingOptions'+ { customRedirectDomain =+ Prelude.Nothing,+ configurationSetName =+ pConfigurationSetName_+ }++-- | The domain that you want to use to track open and click events.+putConfigurationSetTrackingOptions_customRedirectDomain :: Lens.Lens' PutConfigurationSetTrackingOptions (Prelude.Maybe Prelude.Text)+putConfigurationSetTrackingOptions_customRedirectDomain = Lens.lens (\PutConfigurationSetTrackingOptions' {customRedirectDomain} -> customRedirectDomain) (\s@PutConfigurationSetTrackingOptions' {} a -> s {customRedirectDomain = a} :: PutConfigurationSetTrackingOptions)++-- | The name of the configuration set that you want to add a custom tracking+-- domain to.+putConfigurationSetTrackingOptions_configurationSetName :: Lens.Lens' PutConfigurationSetTrackingOptions Prelude.Text+putConfigurationSetTrackingOptions_configurationSetName = Lens.lens (\PutConfigurationSetTrackingOptions' {configurationSetName} -> configurationSetName) (\s@PutConfigurationSetTrackingOptions' {} a -> s {configurationSetName = a} :: PutConfigurationSetTrackingOptions)++instance+ Core.AWSRequest+ PutConfigurationSetTrackingOptions+ where+ type+ AWSResponse PutConfigurationSetTrackingOptions =+ PutConfigurationSetTrackingOptionsResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ PutConfigurationSetTrackingOptionsResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ PutConfigurationSetTrackingOptions+ where+ hashWithSalt+ _salt+ PutConfigurationSetTrackingOptions' {..} =+ _salt+ `Prelude.hashWithSalt` customRedirectDomain+ `Prelude.hashWithSalt` configurationSetName++instance+ Prelude.NFData+ PutConfigurationSetTrackingOptions+ where+ rnf PutConfigurationSetTrackingOptions' {..} =+ Prelude.rnf customRedirectDomain+ `Prelude.seq` Prelude.rnf configurationSetName++instance+ Data.ToHeaders+ PutConfigurationSetTrackingOptions+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ PutConfigurationSetTrackingOptions+ where+ toJSON PutConfigurationSetTrackingOptions' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("CustomRedirectDomain" Data..=)+ Prelude.<$> customRedirectDomain+ ]+ )++instance+ Data.ToPath+ PutConfigurationSetTrackingOptions+ where+ toPath PutConfigurationSetTrackingOptions' {..} =+ Prelude.mconcat+ [ "/v1/email/configuration-sets/",+ Data.toBS configurationSetName,+ "/tracking-options"+ ]++instance+ Data.ToQuery+ PutConfigurationSetTrackingOptions+ where+ toQuery = Prelude.const Prelude.mempty++-- | An HTTP 200 response if the request succeeds, or an error message if the+-- request fails.+--+-- /See:/ 'newPutConfigurationSetTrackingOptionsResponse' smart constructor.+data PutConfigurationSetTrackingOptionsResponse = PutConfigurationSetTrackingOptionsResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutConfigurationSetTrackingOptionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'putConfigurationSetTrackingOptionsResponse_httpStatus' - The response's http status code.+newPutConfigurationSetTrackingOptionsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ PutConfigurationSetTrackingOptionsResponse+newPutConfigurationSetTrackingOptionsResponse+ pHttpStatus_ =+ PutConfigurationSetTrackingOptionsResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+putConfigurationSetTrackingOptionsResponse_httpStatus :: Lens.Lens' PutConfigurationSetTrackingOptionsResponse Prelude.Int+putConfigurationSetTrackingOptionsResponse_httpStatus = Lens.lens (\PutConfigurationSetTrackingOptionsResponse' {httpStatus} -> httpStatus) (\s@PutConfigurationSetTrackingOptionsResponse' {} a -> s {httpStatus = a} :: PutConfigurationSetTrackingOptionsResponse)++instance+ Prelude.NFData+ PutConfigurationSetTrackingOptionsResponse+ where+ rnf PutConfigurationSetTrackingOptionsResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/PinpointEmail/PutDedicatedIpInPool.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.PinpointEmail.PutDedicatedIpInPool+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Move a dedicated IP address to an existing dedicated IP pool.+--+-- The dedicated IP address that you specify must already exist, and must+-- be associated with your Amazon Pinpoint account.+--+-- The dedicated IP pool you specify must already exist. You can create a+-- new pool by using the @CreateDedicatedIpPool@ operation.+module Amazonka.PinpointEmail.PutDedicatedIpInPool+ ( -- * Creating a Request+ PutDedicatedIpInPool (..),+ newPutDedicatedIpInPool,++ -- * Request Lenses+ putDedicatedIpInPool_ip,+ putDedicatedIpInPool_destinationPoolName,++ -- * Destructuring the Response+ PutDedicatedIpInPoolResponse (..),+ newPutDedicatedIpInPoolResponse,++ -- * Response Lenses+ putDedicatedIpInPoolResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | A request to move a dedicated IP address to a dedicated IP pool.+--+-- /See:/ 'newPutDedicatedIpInPool' smart constructor.+data PutDedicatedIpInPool = PutDedicatedIpInPool'+ { -- | The IP address that you want to move to the dedicated IP pool. The value+ -- you specify has to be a dedicated IP address that\'s associated with+ -- your Amazon Pinpoint account.+ ip :: Prelude.Text,+ -- | The name of the IP pool that you want to add the dedicated IP address+ -- to. You have to specify an IP pool that already exists.+ destinationPoolName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutDedicatedIpInPool' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'ip', 'putDedicatedIpInPool_ip' - The IP address that you want to move to the dedicated IP pool. The value+-- you specify has to be a dedicated IP address that\'s associated with+-- your Amazon Pinpoint account.+--+-- 'destinationPoolName', 'putDedicatedIpInPool_destinationPoolName' - The name of the IP pool that you want to add the dedicated IP address+-- to. You have to specify an IP pool that already exists.+newPutDedicatedIpInPool ::+ -- | 'ip'+ Prelude.Text ->+ -- | 'destinationPoolName'+ Prelude.Text ->+ PutDedicatedIpInPool+newPutDedicatedIpInPool pIp_ pDestinationPoolName_ =+ PutDedicatedIpInPool'+ { ip = pIp_,+ destinationPoolName = pDestinationPoolName_+ }++-- | The IP address that you want to move to the dedicated IP pool. The value+-- you specify has to be a dedicated IP address that\'s associated with+-- your Amazon Pinpoint account.+putDedicatedIpInPool_ip :: Lens.Lens' PutDedicatedIpInPool Prelude.Text+putDedicatedIpInPool_ip = Lens.lens (\PutDedicatedIpInPool' {ip} -> ip) (\s@PutDedicatedIpInPool' {} a -> s {ip = a} :: PutDedicatedIpInPool)++-- | The name of the IP pool that you want to add the dedicated IP address+-- to. You have to specify an IP pool that already exists.+putDedicatedIpInPool_destinationPoolName :: Lens.Lens' PutDedicatedIpInPool Prelude.Text+putDedicatedIpInPool_destinationPoolName = Lens.lens (\PutDedicatedIpInPool' {destinationPoolName} -> destinationPoolName) (\s@PutDedicatedIpInPool' {} a -> s {destinationPoolName = a} :: PutDedicatedIpInPool)++instance Core.AWSRequest PutDedicatedIpInPool where+ type+ AWSResponse PutDedicatedIpInPool =+ PutDedicatedIpInPoolResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ PutDedicatedIpInPoolResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable PutDedicatedIpInPool where+ hashWithSalt _salt PutDedicatedIpInPool' {..} =+ _salt+ `Prelude.hashWithSalt` ip+ `Prelude.hashWithSalt` destinationPoolName++instance Prelude.NFData PutDedicatedIpInPool where+ rnf PutDedicatedIpInPool' {..} =+ Prelude.rnf ip+ `Prelude.seq` Prelude.rnf destinationPoolName++instance Data.ToHeaders PutDedicatedIpInPool where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON PutDedicatedIpInPool where+ toJSON PutDedicatedIpInPool' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("DestinationPoolName" Data..= destinationPoolName)+ ]+ )++instance Data.ToPath PutDedicatedIpInPool where+ toPath PutDedicatedIpInPool' {..} =+ Prelude.mconcat+ ["/v1/email/dedicated-ips/", Data.toBS ip, "/pool"]++instance Data.ToQuery PutDedicatedIpInPool where+ toQuery = Prelude.const Prelude.mempty++-- | An HTTP 200 response if the request succeeds, or an error message if the+-- request fails.+--+-- /See:/ 'newPutDedicatedIpInPoolResponse' smart constructor.+data PutDedicatedIpInPoolResponse = PutDedicatedIpInPoolResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutDedicatedIpInPoolResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'putDedicatedIpInPoolResponse_httpStatus' - The response's http status code.+newPutDedicatedIpInPoolResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ PutDedicatedIpInPoolResponse+newPutDedicatedIpInPoolResponse pHttpStatus_ =+ PutDedicatedIpInPoolResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+putDedicatedIpInPoolResponse_httpStatus :: Lens.Lens' PutDedicatedIpInPoolResponse Prelude.Int+putDedicatedIpInPoolResponse_httpStatus = Lens.lens (\PutDedicatedIpInPoolResponse' {httpStatus} -> httpStatus) (\s@PutDedicatedIpInPoolResponse' {} a -> s {httpStatus = a} :: PutDedicatedIpInPoolResponse)++instance Prelude.NFData PutDedicatedIpInPoolResponse where+ rnf PutDedicatedIpInPoolResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/PinpointEmail/PutDedicatedIpWarmupAttributes.hs view
@@ -0,0 +1,205 @@+{-# 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.PinpointEmail.PutDedicatedIpWarmupAttributes+-- 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.PinpointEmail.PutDedicatedIpWarmupAttributes+ ( -- * Creating a Request+ PutDedicatedIpWarmupAttributes (..),+ newPutDedicatedIpWarmupAttributes,++ -- * Request Lenses+ putDedicatedIpWarmupAttributes_ip,+ putDedicatedIpWarmupAttributes_warmupPercentage,++ -- * Destructuring the Response+ PutDedicatedIpWarmupAttributesResponse (..),+ newPutDedicatedIpWarmupAttributesResponse,++ -- * Response Lenses+ putDedicatedIpWarmupAttributesResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | A request to change the warm-up attributes for a dedicated IP address.+-- This operation is useful when you want to resume the warm-up process for+-- an existing IP address.+--+-- /See:/ 'newPutDedicatedIpWarmupAttributes' smart constructor.+data PutDedicatedIpWarmupAttributes = PutDedicatedIpWarmupAttributes'+ { -- | The dedicated IP address that you want to update the warm-up attributes+ -- for.+ ip :: Prelude.Text,+ -- | The warm-up percentage that you want to associate with the dedicated IP+ -- address.+ warmupPercentage :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutDedicatedIpWarmupAttributes' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'ip', 'putDedicatedIpWarmupAttributes_ip' - The dedicated IP address that you want to update the warm-up attributes+-- for.+--+-- 'warmupPercentage', 'putDedicatedIpWarmupAttributes_warmupPercentage' - The warm-up percentage that you want to associate with the dedicated IP+-- address.+newPutDedicatedIpWarmupAttributes ::+ -- | 'ip'+ Prelude.Text ->+ -- | 'warmupPercentage'+ Prelude.Int ->+ PutDedicatedIpWarmupAttributes+newPutDedicatedIpWarmupAttributes+ pIp_+ pWarmupPercentage_ =+ PutDedicatedIpWarmupAttributes'+ { ip = pIp_,+ warmupPercentage = pWarmupPercentage_+ }++-- | The dedicated IP address that you want to update the warm-up attributes+-- for.+putDedicatedIpWarmupAttributes_ip :: Lens.Lens' PutDedicatedIpWarmupAttributes Prelude.Text+putDedicatedIpWarmupAttributes_ip = Lens.lens (\PutDedicatedIpWarmupAttributes' {ip} -> ip) (\s@PutDedicatedIpWarmupAttributes' {} a -> s {ip = a} :: PutDedicatedIpWarmupAttributes)++-- | The warm-up percentage that you want to associate with the dedicated IP+-- address.+putDedicatedIpWarmupAttributes_warmupPercentage :: Lens.Lens' PutDedicatedIpWarmupAttributes Prelude.Int+putDedicatedIpWarmupAttributes_warmupPercentage = Lens.lens (\PutDedicatedIpWarmupAttributes' {warmupPercentage} -> warmupPercentage) (\s@PutDedicatedIpWarmupAttributes' {} a -> s {warmupPercentage = a} :: PutDedicatedIpWarmupAttributes)++instance+ Core.AWSRequest+ PutDedicatedIpWarmupAttributes+ where+ type+ AWSResponse PutDedicatedIpWarmupAttributes =+ PutDedicatedIpWarmupAttributesResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ PutDedicatedIpWarmupAttributesResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ PutDedicatedIpWarmupAttributes+ where+ hashWithSalt+ _salt+ PutDedicatedIpWarmupAttributes' {..} =+ _salt+ `Prelude.hashWithSalt` ip+ `Prelude.hashWithSalt` warmupPercentage++instance+ Prelude.NFData+ PutDedicatedIpWarmupAttributes+ where+ rnf PutDedicatedIpWarmupAttributes' {..} =+ Prelude.rnf ip+ `Prelude.seq` Prelude.rnf warmupPercentage++instance+ Data.ToHeaders+ PutDedicatedIpWarmupAttributes+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON PutDedicatedIpWarmupAttributes where+ toJSON PutDedicatedIpWarmupAttributes' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("WarmupPercentage" Data..= warmupPercentage)+ ]+ )++instance Data.ToPath PutDedicatedIpWarmupAttributes where+ toPath PutDedicatedIpWarmupAttributes' {..} =+ Prelude.mconcat+ ["/v1/email/dedicated-ips/", Data.toBS ip, "/warmup"]++instance Data.ToQuery PutDedicatedIpWarmupAttributes where+ toQuery = Prelude.const Prelude.mempty++-- | An HTTP 200 response if the request succeeds, or an error message if the+-- request fails.+--+-- /See:/ 'newPutDedicatedIpWarmupAttributesResponse' smart constructor.+data PutDedicatedIpWarmupAttributesResponse = PutDedicatedIpWarmupAttributesResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutDedicatedIpWarmupAttributesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'putDedicatedIpWarmupAttributesResponse_httpStatus' - The response's http status code.+newPutDedicatedIpWarmupAttributesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ PutDedicatedIpWarmupAttributesResponse+newPutDedicatedIpWarmupAttributesResponse+ pHttpStatus_ =+ PutDedicatedIpWarmupAttributesResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+putDedicatedIpWarmupAttributesResponse_httpStatus :: Lens.Lens' PutDedicatedIpWarmupAttributesResponse Prelude.Int+putDedicatedIpWarmupAttributesResponse_httpStatus = Lens.lens (\PutDedicatedIpWarmupAttributesResponse' {httpStatus} -> httpStatus) (\s@PutDedicatedIpWarmupAttributesResponse' {} a -> s {httpStatus = a} :: PutDedicatedIpWarmupAttributesResponse)++instance+ Prelude.NFData+ PutDedicatedIpWarmupAttributesResponse+ where+ rnf PutDedicatedIpWarmupAttributesResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/PinpointEmail/PutDeliverabilityDashboardOption.hs view
@@ -0,0 +1,227 @@+{-# 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.PinpointEmail.PutDeliverabilityDashboardOption+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Enable or disable the Deliverability dashboard for your Amazon Pinpoint+-- account. When you enable the Deliverability dashboard, you gain access+-- to reputation, deliverability, and other metrics for the domains that+-- you use to send email using Amazon Pinpoint. You also gain the ability+-- to perform predictive inbox placement tests.+--+-- When you use the Deliverability dashboard, you pay a monthly+-- subscription charge, in addition to any other fees that you accrue by+-- using Amazon Pinpoint. For more information about the features and cost+-- of a Deliverability dashboard subscription, see+-- <http://aws.amazon.com/pinpoint/pricing/ Amazon Pinpoint Pricing>.+module Amazonka.PinpointEmail.PutDeliverabilityDashboardOption+ ( -- * Creating a Request+ PutDeliverabilityDashboardOption (..),+ newPutDeliverabilityDashboardOption,++ -- * Request Lenses+ putDeliverabilityDashboardOption_subscribedDomains,+ putDeliverabilityDashboardOption_dashboardEnabled,++ -- * Destructuring the Response+ PutDeliverabilityDashboardOptionResponse (..),+ newPutDeliverabilityDashboardOptionResponse,++ -- * Response Lenses+ putDeliverabilityDashboardOptionResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | Enable or disable the Deliverability dashboard for your Amazon Pinpoint+-- account. When you enable the Deliverability dashboard, you gain access+-- to reputation, deliverability, and other metrics for the domains that+-- you use to send email using Amazon Pinpoint. You also gain the ability+-- to perform predictive inbox placement tests.+--+-- When you use the Deliverability dashboard, you pay a monthly+-- subscription charge, in addition to any other fees that you accrue by+-- using Amazon Pinpoint. For more information about the features and cost+-- of a Deliverability dashboard subscription, see+-- <http://aws.amazon.com/pinpoint/pricing/ Amazon Pinpoint Pricing>.+--+-- /See:/ 'newPutDeliverabilityDashboardOption' smart constructor.+data PutDeliverabilityDashboardOption = PutDeliverabilityDashboardOption'+ { -- | An array of objects, one for each verified domain that you use to send+ -- email and enabled the Deliverability dashboard for.+ subscribedDomains :: Prelude.Maybe [DomainDeliverabilityTrackingOption],+ -- | Specifies whether to enable the Deliverability dashboard for your Amazon+ -- Pinpoint account. To enable the dashboard, set this value to @true@.+ dashboardEnabled :: Prelude.Bool+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutDeliverabilityDashboardOption' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'subscribedDomains', 'putDeliverabilityDashboardOption_subscribedDomains' - An array of objects, one for each verified domain that you use to send+-- email and enabled the Deliverability dashboard for.+--+-- 'dashboardEnabled', 'putDeliverabilityDashboardOption_dashboardEnabled' - Specifies whether to enable the Deliverability dashboard for your Amazon+-- Pinpoint account. To enable the dashboard, set this value to @true@.+newPutDeliverabilityDashboardOption ::+ -- | 'dashboardEnabled'+ Prelude.Bool ->+ PutDeliverabilityDashboardOption+newPutDeliverabilityDashboardOption+ pDashboardEnabled_ =+ PutDeliverabilityDashboardOption'+ { subscribedDomains =+ Prelude.Nothing,+ dashboardEnabled = pDashboardEnabled_+ }++-- | An array of objects, one for each verified domain that you use to send+-- email and enabled the Deliverability dashboard for.+putDeliverabilityDashboardOption_subscribedDomains :: Lens.Lens' PutDeliverabilityDashboardOption (Prelude.Maybe [DomainDeliverabilityTrackingOption])+putDeliverabilityDashboardOption_subscribedDomains = Lens.lens (\PutDeliverabilityDashboardOption' {subscribedDomains} -> subscribedDomains) (\s@PutDeliverabilityDashboardOption' {} a -> s {subscribedDomains = a} :: PutDeliverabilityDashboardOption) Prelude.. Lens.mapping Lens.coerced++-- | Specifies whether to enable the Deliverability dashboard for your Amazon+-- Pinpoint account. To enable the dashboard, set this value to @true@.+putDeliverabilityDashboardOption_dashboardEnabled :: Lens.Lens' PutDeliverabilityDashboardOption Prelude.Bool+putDeliverabilityDashboardOption_dashboardEnabled = Lens.lens (\PutDeliverabilityDashboardOption' {dashboardEnabled} -> dashboardEnabled) (\s@PutDeliverabilityDashboardOption' {} a -> s {dashboardEnabled = a} :: PutDeliverabilityDashboardOption)++instance+ Core.AWSRequest+ PutDeliverabilityDashboardOption+ where+ type+ AWSResponse PutDeliverabilityDashboardOption =+ PutDeliverabilityDashboardOptionResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ PutDeliverabilityDashboardOptionResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ PutDeliverabilityDashboardOption+ where+ hashWithSalt+ _salt+ PutDeliverabilityDashboardOption' {..} =+ _salt+ `Prelude.hashWithSalt` subscribedDomains+ `Prelude.hashWithSalt` dashboardEnabled++instance+ Prelude.NFData+ PutDeliverabilityDashboardOption+ where+ rnf PutDeliverabilityDashboardOption' {..} =+ Prelude.rnf subscribedDomains+ `Prelude.seq` Prelude.rnf dashboardEnabled++instance+ Data.ToHeaders+ PutDeliverabilityDashboardOption+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON PutDeliverabilityDashboardOption where+ toJSON PutDeliverabilityDashboardOption' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("SubscribedDomains" Data..=)+ Prelude.<$> subscribedDomains,+ Prelude.Just+ ("DashboardEnabled" Data..= dashboardEnabled)+ ]+ )++instance Data.ToPath PutDeliverabilityDashboardOption where+ toPath =+ Prelude.const "/v1/email/deliverability-dashboard"++instance+ Data.ToQuery+ PutDeliverabilityDashboardOption+ where+ toQuery = Prelude.const Prelude.mempty++-- | A response that indicates whether the Deliverability dashboard is+-- enabled for your Amazon Pinpoint account.+--+-- /See:/ 'newPutDeliverabilityDashboardOptionResponse' smart constructor.+data PutDeliverabilityDashboardOptionResponse = PutDeliverabilityDashboardOptionResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutDeliverabilityDashboardOptionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'putDeliverabilityDashboardOptionResponse_httpStatus' - The response's http status code.+newPutDeliverabilityDashboardOptionResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ PutDeliverabilityDashboardOptionResponse+newPutDeliverabilityDashboardOptionResponse+ pHttpStatus_ =+ PutDeliverabilityDashboardOptionResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+putDeliverabilityDashboardOptionResponse_httpStatus :: Lens.Lens' PutDeliverabilityDashboardOptionResponse Prelude.Int+putDeliverabilityDashboardOptionResponse_httpStatus = Lens.lens (\PutDeliverabilityDashboardOptionResponse' {httpStatus} -> httpStatus) (\s@PutDeliverabilityDashboardOptionResponse' {} a -> s {httpStatus = a} :: PutDeliverabilityDashboardOptionResponse)++instance+ Prelude.NFData+ PutDeliverabilityDashboardOptionResponse+ where+ rnf PutDeliverabilityDashboardOptionResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/PinpointEmail/PutEmailIdentityDkimAttributes.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.PinpointEmail.PutEmailIdentityDkimAttributes+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Used to enable or disable DKIM authentication for an email identity.+module Amazonka.PinpointEmail.PutEmailIdentityDkimAttributes+ ( -- * Creating a Request+ PutEmailIdentityDkimAttributes (..),+ newPutEmailIdentityDkimAttributes,++ -- * Request Lenses+ putEmailIdentityDkimAttributes_signingEnabled,+ putEmailIdentityDkimAttributes_emailIdentity,++ -- * Destructuring the Response+ PutEmailIdentityDkimAttributesResponse (..),+ newPutEmailIdentityDkimAttributesResponse,++ -- * Response Lenses+ putEmailIdentityDkimAttributesResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | A request to enable or disable DKIM signing of email that you send from+-- an email identity.+--+-- /See:/ 'newPutEmailIdentityDkimAttributes' smart constructor.+data PutEmailIdentityDkimAttributes = PutEmailIdentityDkimAttributes'+ { -- | Sets the DKIM signing configuration for the identity.+ --+ -- When you set this value @true@, then the messages that Amazon Pinpoint+ -- sends from the identity are DKIM-signed. When you set this value to+ -- @false@, then the messages that Amazon Pinpoint sends from the identity+ -- aren\'t DKIM-signed.+ signingEnabled :: Prelude.Maybe Prelude.Bool,+ -- | The email identity that you want to change the DKIM settings for.+ emailIdentity :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutEmailIdentityDkimAttributes' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'signingEnabled', 'putEmailIdentityDkimAttributes_signingEnabled' - Sets the DKIM signing configuration for the identity.+--+-- When you set this value @true@, then the messages that Amazon Pinpoint+-- sends from the identity are DKIM-signed. When you set this value to+-- @false@, then the messages that Amazon Pinpoint sends from the identity+-- aren\'t DKIM-signed.+--+-- 'emailIdentity', 'putEmailIdentityDkimAttributes_emailIdentity' - The email identity that you want to change the DKIM settings for.+newPutEmailIdentityDkimAttributes ::+ -- | 'emailIdentity'+ Prelude.Text ->+ PutEmailIdentityDkimAttributes+newPutEmailIdentityDkimAttributes pEmailIdentity_ =+ PutEmailIdentityDkimAttributes'+ { signingEnabled =+ Prelude.Nothing,+ emailIdentity = pEmailIdentity_+ }++-- | Sets the DKIM signing configuration for the identity.+--+-- When you set this value @true@, then the messages that Amazon Pinpoint+-- sends from the identity are DKIM-signed. When you set this value to+-- @false@, then the messages that Amazon Pinpoint sends from the identity+-- aren\'t DKIM-signed.+putEmailIdentityDkimAttributes_signingEnabled :: Lens.Lens' PutEmailIdentityDkimAttributes (Prelude.Maybe Prelude.Bool)+putEmailIdentityDkimAttributes_signingEnabled = Lens.lens (\PutEmailIdentityDkimAttributes' {signingEnabled} -> signingEnabled) (\s@PutEmailIdentityDkimAttributes' {} a -> s {signingEnabled = a} :: PutEmailIdentityDkimAttributes)++-- | The email identity that you want to change the DKIM settings for.+putEmailIdentityDkimAttributes_emailIdentity :: Lens.Lens' PutEmailIdentityDkimAttributes Prelude.Text+putEmailIdentityDkimAttributes_emailIdentity = Lens.lens (\PutEmailIdentityDkimAttributes' {emailIdentity} -> emailIdentity) (\s@PutEmailIdentityDkimAttributes' {} a -> s {emailIdentity = a} :: PutEmailIdentityDkimAttributes)++instance+ Core.AWSRequest+ PutEmailIdentityDkimAttributes+ where+ type+ AWSResponse PutEmailIdentityDkimAttributes =+ PutEmailIdentityDkimAttributesResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ PutEmailIdentityDkimAttributesResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ PutEmailIdentityDkimAttributes+ where+ hashWithSalt+ _salt+ PutEmailIdentityDkimAttributes' {..} =+ _salt+ `Prelude.hashWithSalt` signingEnabled+ `Prelude.hashWithSalt` emailIdentity++instance+ Prelude.NFData+ PutEmailIdentityDkimAttributes+ where+ rnf PutEmailIdentityDkimAttributes' {..} =+ Prelude.rnf signingEnabled+ `Prelude.seq` Prelude.rnf emailIdentity++instance+ Data.ToHeaders+ PutEmailIdentityDkimAttributes+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON PutEmailIdentityDkimAttributes where+ toJSON PutEmailIdentityDkimAttributes' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("SigningEnabled" Data..=)+ Prelude.<$> signingEnabled+ ]+ )++instance Data.ToPath PutEmailIdentityDkimAttributes where+ toPath PutEmailIdentityDkimAttributes' {..} =+ Prelude.mconcat+ [ "/v1/email/identities/",+ Data.toBS emailIdentity,+ "/dkim"+ ]++instance Data.ToQuery PutEmailIdentityDkimAttributes where+ toQuery = Prelude.const Prelude.mempty++-- | An HTTP 200 response if the request succeeds, or an error message if the+-- request fails.+--+-- /See:/ 'newPutEmailIdentityDkimAttributesResponse' smart constructor.+data PutEmailIdentityDkimAttributesResponse = PutEmailIdentityDkimAttributesResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutEmailIdentityDkimAttributesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'putEmailIdentityDkimAttributesResponse_httpStatus' - The response's http status code.+newPutEmailIdentityDkimAttributesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ PutEmailIdentityDkimAttributesResponse+newPutEmailIdentityDkimAttributesResponse+ pHttpStatus_ =+ PutEmailIdentityDkimAttributesResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+putEmailIdentityDkimAttributesResponse_httpStatus :: Lens.Lens' PutEmailIdentityDkimAttributesResponse Prelude.Int+putEmailIdentityDkimAttributesResponse_httpStatus = Lens.lens (\PutEmailIdentityDkimAttributesResponse' {httpStatus} -> httpStatus) (\s@PutEmailIdentityDkimAttributesResponse' {} a -> s {httpStatus = a} :: PutEmailIdentityDkimAttributesResponse)++instance+ Prelude.NFData+ PutEmailIdentityDkimAttributesResponse+ where+ rnf PutEmailIdentityDkimAttributesResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/PinpointEmail/PutEmailIdentityFeedbackAttributes.hs view
@@ -0,0 +1,265 @@+{-# 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.PinpointEmail.PutEmailIdentityFeedbackAttributes+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Used to enable or disable feedback forwarding for an identity. This+-- setting determines what happens when an identity is used to send an+-- email that results in a bounce or complaint event.+--+-- When you enable feedback forwarding, Amazon Pinpoint sends you email+-- notifications when bounce or complaint events occur. Amazon Pinpoint+-- sends this notification to the address that you specified in the+-- Return-Path header of the original email.+--+-- When you disable feedback forwarding, Amazon Pinpoint sends+-- notifications through other mechanisms, such as by notifying an Amazon+-- SNS topic. You\'re required to have a method of tracking bounces and+-- complaints. If you haven\'t set up another mechanism for receiving+-- bounce or complaint notifications, Amazon Pinpoint sends an email+-- notification when these events occur (even if this setting is disabled).+module Amazonka.PinpointEmail.PutEmailIdentityFeedbackAttributes+ ( -- * Creating a Request+ PutEmailIdentityFeedbackAttributes (..),+ newPutEmailIdentityFeedbackAttributes,++ -- * Request Lenses+ putEmailIdentityFeedbackAttributes_emailForwardingEnabled,+ putEmailIdentityFeedbackAttributes_emailIdentity,++ -- * Destructuring the Response+ PutEmailIdentityFeedbackAttributesResponse (..),+ newPutEmailIdentityFeedbackAttributesResponse,++ -- * Response Lenses+ putEmailIdentityFeedbackAttributesResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | A request to set the attributes that control how bounce and complaint+-- events are processed.+--+-- /See:/ 'newPutEmailIdentityFeedbackAttributes' smart constructor.+data PutEmailIdentityFeedbackAttributes = PutEmailIdentityFeedbackAttributes'+ { -- | Sets the feedback forwarding configuration for the identity.+ --+ -- If the value is @true@, Amazon Pinpoint sends you email notifications+ -- when bounce or complaint events occur. Amazon Pinpoint sends this+ -- notification to the address that you specified in the Return-Path header+ -- of the original email.+ --+ -- When you set this value to @false@, Amazon Pinpoint sends notifications+ -- through other mechanisms, such as by notifying an Amazon SNS topic or+ -- another event destination. You\'re required to have a method of tracking+ -- bounces and complaints. If you haven\'t set up another mechanism for+ -- receiving bounce or complaint notifications, Amazon Pinpoint sends an+ -- email notification when these events occur (even if this setting is+ -- disabled).+ emailForwardingEnabled :: Prelude.Maybe Prelude.Bool,+ -- | The email identity that you want to configure bounce and complaint+ -- feedback forwarding for.+ emailIdentity :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutEmailIdentityFeedbackAttributes' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'emailForwardingEnabled', 'putEmailIdentityFeedbackAttributes_emailForwardingEnabled' - Sets the feedback forwarding configuration for the identity.+--+-- If the value is @true@, Amazon Pinpoint sends you email notifications+-- when bounce or complaint events occur. Amazon Pinpoint sends this+-- notification to the address that you specified in the Return-Path header+-- of the original email.+--+-- When you set this value to @false@, Amazon Pinpoint sends notifications+-- through other mechanisms, such as by notifying an Amazon SNS topic or+-- another event destination. You\'re required to have a method of tracking+-- bounces and complaints. If you haven\'t set up another mechanism for+-- receiving bounce or complaint notifications, Amazon Pinpoint sends an+-- email notification when these events occur (even if this setting is+-- disabled).+--+-- 'emailIdentity', 'putEmailIdentityFeedbackAttributes_emailIdentity' - The email identity that you want to configure bounce and complaint+-- feedback forwarding for.+newPutEmailIdentityFeedbackAttributes ::+ -- | 'emailIdentity'+ Prelude.Text ->+ PutEmailIdentityFeedbackAttributes+newPutEmailIdentityFeedbackAttributes pEmailIdentity_ =+ PutEmailIdentityFeedbackAttributes'+ { emailForwardingEnabled =+ Prelude.Nothing,+ emailIdentity = pEmailIdentity_+ }++-- | Sets the feedback forwarding configuration for the identity.+--+-- If the value is @true@, Amazon Pinpoint sends you email notifications+-- when bounce or complaint events occur. Amazon Pinpoint sends this+-- notification to the address that you specified in the Return-Path header+-- of the original email.+--+-- When you set this value to @false@, Amazon Pinpoint sends notifications+-- through other mechanisms, such as by notifying an Amazon SNS topic or+-- another event destination. You\'re required to have a method of tracking+-- bounces and complaints. If you haven\'t set up another mechanism for+-- receiving bounce or complaint notifications, Amazon Pinpoint sends an+-- email notification when these events occur (even if this setting is+-- disabled).+putEmailIdentityFeedbackAttributes_emailForwardingEnabled :: Lens.Lens' PutEmailIdentityFeedbackAttributes (Prelude.Maybe Prelude.Bool)+putEmailIdentityFeedbackAttributes_emailForwardingEnabled = Lens.lens (\PutEmailIdentityFeedbackAttributes' {emailForwardingEnabled} -> emailForwardingEnabled) (\s@PutEmailIdentityFeedbackAttributes' {} a -> s {emailForwardingEnabled = a} :: PutEmailIdentityFeedbackAttributes)++-- | The email identity that you want to configure bounce and complaint+-- feedback forwarding for.+putEmailIdentityFeedbackAttributes_emailIdentity :: Lens.Lens' PutEmailIdentityFeedbackAttributes Prelude.Text+putEmailIdentityFeedbackAttributes_emailIdentity = Lens.lens (\PutEmailIdentityFeedbackAttributes' {emailIdentity} -> emailIdentity) (\s@PutEmailIdentityFeedbackAttributes' {} a -> s {emailIdentity = a} :: PutEmailIdentityFeedbackAttributes)++instance+ Core.AWSRequest+ PutEmailIdentityFeedbackAttributes+ where+ type+ AWSResponse PutEmailIdentityFeedbackAttributes =+ PutEmailIdentityFeedbackAttributesResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ PutEmailIdentityFeedbackAttributesResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ PutEmailIdentityFeedbackAttributes+ where+ hashWithSalt+ _salt+ PutEmailIdentityFeedbackAttributes' {..} =+ _salt+ `Prelude.hashWithSalt` emailForwardingEnabled+ `Prelude.hashWithSalt` emailIdentity++instance+ Prelude.NFData+ PutEmailIdentityFeedbackAttributes+ where+ rnf PutEmailIdentityFeedbackAttributes' {..} =+ Prelude.rnf emailForwardingEnabled+ `Prelude.seq` Prelude.rnf emailIdentity++instance+ Data.ToHeaders+ PutEmailIdentityFeedbackAttributes+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ PutEmailIdentityFeedbackAttributes+ where+ toJSON PutEmailIdentityFeedbackAttributes' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("EmailForwardingEnabled" Data..=)+ Prelude.<$> emailForwardingEnabled+ ]+ )++instance+ Data.ToPath+ PutEmailIdentityFeedbackAttributes+ where+ toPath PutEmailIdentityFeedbackAttributes' {..} =+ Prelude.mconcat+ [ "/v1/email/identities/",+ Data.toBS emailIdentity,+ "/feedback"+ ]++instance+ Data.ToQuery+ PutEmailIdentityFeedbackAttributes+ where+ toQuery = Prelude.const Prelude.mempty++-- | An HTTP 200 response if the request succeeds, or an error message if the+-- request fails.+--+-- /See:/ 'newPutEmailIdentityFeedbackAttributesResponse' smart constructor.+data PutEmailIdentityFeedbackAttributesResponse = PutEmailIdentityFeedbackAttributesResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutEmailIdentityFeedbackAttributesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'putEmailIdentityFeedbackAttributesResponse_httpStatus' - The response's http status code.+newPutEmailIdentityFeedbackAttributesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ PutEmailIdentityFeedbackAttributesResponse+newPutEmailIdentityFeedbackAttributesResponse+ pHttpStatus_ =+ PutEmailIdentityFeedbackAttributesResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+putEmailIdentityFeedbackAttributesResponse_httpStatus :: Lens.Lens' PutEmailIdentityFeedbackAttributesResponse Prelude.Int+putEmailIdentityFeedbackAttributesResponse_httpStatus = Lens.lens (\PutEmailIdentityFeedbackAttributesResponse' {httpStatus} -> httpStatus) (\s@PutEmailIdentityFeedbackAttributesResponse' {} a -> s {httpStatus = a} :: PutEmailIdentityFeedbackAttributesResponse)++instance+ Prelude.NFData+ PutEmailIdentityFeedbackAttributesResponse+ where+ rnf PutEmailIdentityFeedbackAttributesResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/PinpointEmail/PutEmailIdentityMailFromAttributes.hs view
@@ -0,0 +1,275 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.PinpointEmail.PutEmailIdentityMailFromAttributes+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Used to enable or disable the custom Mail-From domain configuration for+-- an email identity.+module Amazonka.PinpointEmail.PutEmailIdentityMailFromAttributes+ ( -- * Creating a Request+ PutEmailIdentityMailFromAttributes (..),+ newPutEmailIdentityMailFromAttributes,++ -- * Request Lenses+ putEmailIdentityMailFromAttributes_behaviorOnMxFailure,+ putEmailIdentityMailFromAttributes_mailFromDomain,+ putEmailIdentityMailFromAttributes_emailIdentity,++ -- * Destructuring the Response+ PutEmailIdentityMailFromAttributesResponse (..),+ newPutEmailIdentityMailFromAttributesResponse,++ -- * Response Lenses+ putEmailIdentityMailFromAttributesResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | A request to configure the custom MAIL FROM domain for a verified+-- identity.+--+-- /See:/ 'newPutEmailIdentityMailFromAttributes' smart constructor.+data PutEmailIdentityMailFromAttributes = PutEmailIdentityMailFromAttributes'+ { -- | The action that you want Amazon Pinpoint to take if it can\'t read the+ -- required MX record when you send an email. When you set this value to+ -- @UseDefaultValue@, Amazon Pinpoint uses /amazonses.com/ as the MAIL FROM+ -- domain. When you set this value to @RejectMessage@, Amazon Pinpoint+ -- returns a @MailFromDomainNotVerified@ error, and doesn\'t attempt to+ -- deliver the email.+ --+ -- These behaviors are taken when the custom MAIL FROM domain configuration+ -- is in the @Pending@, @Failed@, and @TemporaryFailure@ states.+ behaviorOnMxFailure :: Prelude.Maybe BehaviorOnMxFailure,+ -- | The custom MAIL FROM domain that you want the verified identity to use.+ -- The MAIL FROM domain must meet the following criteria:+ --+ -- - It has to be a subdomain of the verified identity.+ --+ -- - It can\'t be used to receive email.+ --+ -- - It can\'t be used in a \"From\" address if the MAIL FROM domain is a+ -- destination for feedback forwarding emails.+ mailFromDomain :: Prelude.Maybe Prelude.Text,+ -- | The verified email identity that you want to set up the custom MAIL FROM+ -- domain for.+ emailIdentity :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutEmailIdentityMailFromAttributes' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'behaviorOnMxFailure', 'putEmailIdentityMailFromAttributes_behaviorOnMxFailure' - The action that you want Amazon Pinpoint to take if it can\'t read the+-- required MX record when you send an email. When you set this value to+-- @UseDefaultValue@, Amazon Pinpoint uses /amazonses.com/ as the MAIL FROM+-- domain. When you set this value to @RejectMessage@, Amazon Pinpoint+-- returns a @MailFromDomainNotVerified@ error, and doesn\'t attempt to+-- deliver the email.+--+-- These behaviors are taken when the custom MAIL FROM domain configuration+-- is in the @Pending@, @Failed@, and @TemporaryFailure@ states.+--+-- 'mailFromDomain', 'putEmailIdentityMailFromAttributes_mailFromDomain' - The custom MAIL FROM domain that you want the verified identity to use.+-- The MAIL FROM domain must meet the following criteria:+--+-- - It has to be a subdomain of the verified identity.+--+-- - It can\'t be used to receive email.+--+-- - It can\'t be used in a \"From\" address if the MAIL FROM domain is a+-- destination for feedback forwarding emails.+--+-- 'emailIdentity', 'putEmailIdentityMailFromAttributes_emailIdentity' - The verified email identity that you want to set up the custom MAIL FROM+-- domain for.+newPutEmailIdentityMailFromAttributes ::+ -- | 'emailIdentity'+ Prelude.Text ->+ PutEmailIdentityMailFromAttributes+newPutEmailIdentityMailFromAttributes pEmailIdentity_ =+ PutEmailIdentityMailFromAttributes'+ { behaviorOnMxFailure =+ Prelude.Nothing,+ mailFromDomain = Prelude.Nothing,+ emailIdentity = pEmailIdentity_+ }++-- | The action that you want Amazon Pinpoint to take if it can\'t read the+-- required MX record when you send an email. When you set this value to+-- @UseDefaultValue@, Amazon Pinpoint uses /amazonses.com/ as the MAIL FROM+-- domain. When you set this value to @RejectMessage@, Amazon Pinpoint+-- returns a @MailFromDomainNotVerified@ error, and doesn\'t attempt to+-- deliver the email.+--+-- These behaviors are taken when the custom MAIL FROM domain configuration+-- is in the @Pending@, @Failed@, and @TemporaryFailure@ states.+putEmailIdentityMailFromAttributes_behaviorOnMxFailure :: Lens.Lens' PutEmailIdentityMailFromAttributes (Prelude.Maybe BehaviorOnMxFailure)+putEmailIdentityMailFromAttributes_behaviorOnMxFailure = Lens.lens (\PutEmailIdentityMailFromAttributes' {behaviorOnMxFailure} -> behaviorOnMxFailure) (\s@PutEmailIdentityMailFromAttributes' {} a -> s {behaviorOnMxFailure = a} :: PutEmailIdentityMailFromAttributes)++-- | The custom MAIL FROM domain that you want the verified identity to use.+-- The MAIL FROM domain must meet the following criteria:+--+-- - It has to be a subdomain of the verified identity.+--+-- - It can\'t be used to receive email.+--+-- - It can\'t be used in a \"From\" address if the MAIL FROM domain is a+-- destination for feedback forwarding emails.+putEmailIdentityMailFromAttributes_mailFromDomain :: Lens.Lens' PutEmailIdentityMailFromAttributes (Prelude.Maybe Prelude.Text)+putEmailIdentityMailFromAttributes_mailFromDomain = Lens.lens (\PutEmailIdentityMailFromAttributes' {mailFromDomain} -> mailFromDomain) (\s@PutEmailIdentityMailFromAttributes' {} a -> s {mailFromDomain = a} :: PutEmailIdentityMailFromAttributes)++-- | The verified email identity that you want to set up the custom MAIL FROM+-- domain for.+putEmailIdentityMailFromAttributes_emailIdentity :: Lens.Lens' PutEmailIdentityMailFromAttributes Prelude.Text+putEmailIdentityMailFromAttributes_emailIdentity = Lens.lens (\PutEmailIdentityMailFromAttributes' {emailIdentity} -> emailIdentity) (\s@PutEmailIdentityMailFromAttributes' {} a -> s {emailIdentity = a} :: PutEmailIdentityMailFromAttributes)++instance+ Core.AWSRequest+ PutEmailIdentityMailFromAttributes+ where+ type+ AWSResponse PutEmailIdentityMailFromAttributes =+ PutEmailIdentityMailFromAttributesResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ PutEmailIdentityMailFromAttributesResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ PutEmailIdentityMailFromAttributes+ where+ hashWithSalt+ _salt+ PutEmailIdentityMailFromAttributes' {..} =+ _salt+ `Prelude.hashWithSalt` behaviorOnMxFailure+ `Prelude.hashWithSalt` mailFromDomain+ `Prelude.hashWithSalt` emailIdentity++instance+ Prelude.NFData+ PutEmailIdentityMailFromAttributes+ where+ rnf PutEmailIdentityMailFromAttributes' {..} =+ Prelude.rnf behaviorOnMxFailure+ `Prelude.seq` Prelude.rnf mailFromDomain+ `Prelude.seq` Prelude.rnf emailIdentity++instance+ Data.ToHeaders+ PutEmailIdentityMailFromAttributes+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ PutEmailIdentityMailFromAttributes+ where+ toJSON PutEmailIdentityMailFromAttributes' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("BehaviorOnMxFailure" Data..=)+ Prelude.<$> behaviorOnMxFailure,+ ("MailFromDomain" Data..=)+ Prelude.<$> mailFromDomain+ ]+ )++instance+ Data.ToPath+ PutEmailIdentityMailFromAttributes+ where+ toPath PutEmailIdentityMailFromAttributes' {..} =+ Prelude.mconcat+ [ "/v1/email/identities/",+ Data.toBS emailIdentity,+ "/mail-from"+ ]++instance+ Data.ToQuery+ PutEmailIdentityMailFromAttributes+ where+ toQuery = Prelude.const Prelude.mempty++-- | An HTTP 200 response if the request succeeds, or an error message if the+-- request fails.+--+-- /See:/ 'newPutEmailIdentityMailFromAttributesResponse' smart constructor.+data PutEmailIdentityMailFromAttributesResponse = PutEmailIdentityMailFromAttributesResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutEmailIdentityMailFromAttributesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'putEmailIdentityMailFromAttributesResponse_httpStatus' - The response's http status code.+newPutEmailIdentityMailFromAttributesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ PutEmailIdentityMailFromAttributesResponse+newPutEmailIdentityMailFromAttributesResponse+ pHttpStatus_ =+ PutEmailIdentityMailFromAttributesResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+putEmailIdentityMailFromAttributesResponse_httpStatus :: Lens.Lens' PutEmailIdentityMailFromAttributesResponse Prelude.Int+putEmailIdentityMailFromAttributesResponse_httpStatus = Lens.lens (\PutEmailIdentityMailFromAttributesResponse' {httpStatus} -> httpStatus) (\s@PutEmailIdentityMailFromAttributesResponse' {} a -> s {httpStatus = a} :: PutEmailIdentityMailFromAttributesResponse)++instance+ Prelude.NFData+ PutEmailIdentityMailFromAttributesResponse+ where+ rnf PutEmailIdentityMailFromAttributesResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/PinpointEmail/SendEmail.hs view
@@ -0,0 +1,308 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.PinpointEmail.SendEmail+-- 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 an email message. You can use the Amazon Pinpoint Email API to+-- send two types of messages:+--+-- - __Simple__ – A standard email message. When you create this type of+-- message, you specify the sender, the recipient, and the message+-- body, and Amazon Pinpoint assembles the message for you.+--+-- - __Raw__ – A raw, MIME-formatted email message. When you send this+-- type of email, you have to specify all of the message headers, as+-- well as the message body. You can use this message type to send+-- messages that contain attachments. The message that you specify has+-- to be a valid MIME message.+module Amazonka.PinpointEmail.SendEmail+ ( -- * Creating a Request+ SendEmail (..),+ newSendEmail,++ -- * Request Lenses+ sendEmail_configurationSetName,+ sendEmail_emailTags,+ sendEmail_feedbackForwardingEmailAddress,+ sendEmail_fromEmailAddress,+ sendEmail_replyToAddresses,+ sendEmail_destination,+ sendEmail_content,++ -- * Destructuring the Response+ SendEmailResponse (..),+ newSendEmailResponse,++ -- * Response Lenses+ sendEmailResponse_messageId,+ sendEmailResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | A request to send an email message.+--+-- /See:/ 'newSendEmail' smart constructor.+data SendEmail = SendEmail'+ { -- | The name of the configuration set that you want to use when sending the+ -- email.+ configurationSetName :: Prelude.Maybe Prelude.Text,+ -- | A list of tags, in the form of name\/value pairs, to apply to an email+ -- that you send using the @SendEmail@ operation. Tags correspond to+ -- characteristics of the email that you define, so that you can publish+ -- email sending events.+ emailTags :: Prelude.Maybe [MessageTag],+ -- | The address that Amazon Pinpoint should send bounce and complaint+ -- notifications to.+ feedbackForwardingEmailAddress :: Prelude.Maybe Prelude.Text,+ -- | The email address that you want to use as the \"From\" address for the+ -- email. The address that you specify has to be verified.+ fromEmailAddress :: Prelude.Maybe Prelude.Text,+ -- | The \"Reply-to\" email addresses for the message. When the recipient+ -- replies to the message, each Reply-to address receives the reply.+ replyToAddresses :: Prelude.Maybe [Prelude.Text],+ -- | An object that contains the recipients of the email message.+ destination :: Destination,+ -- | An object that contains the body of the message. You can send either a+ -- Simple message or a Raw message.+ content :: EmailContent+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SendEmail' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'configurationSetName', 'sendEmail_configurationSetName' - The name of the configuration set that you want to use when sending the+-- email.+--+-- 'emailTags', 'sendEmail_emailTags' - A list of tags, in the form of name\/value pairs, to apply to an email+-- that you send using the @SendEmail@ operation. Tags correspond to+-- characteristics of the email that you define, so that you can publish+-- email sending events.+--+-- 'feedbackForwardingEmailAddress', 'sendEmail_feedbackForwardingEmailAddress' - The address that Amazon Pinpoint should send bounce and complaint+-- notifications to.+--+-- 'fromEmailAddress', 'sendEmail_fromEmailAddress' - The email address that you want to use as the \"From\" address for the+-- email. The address that you specify has to be verified.+--+-- 'replyToAddresses', 'sendEmail_replyToAddresses' - The \"Reply-to\" email addresses for the message. When the recipient+-- replies to the message, each Reply-to address receives the reply.+--+-- 'destination', 'sendEmail_destination' - An object that contains the recipients of the email message.+--+-- 'content', 'sendEmail_content' - An object that contains the body of the message. You can send either a+-- Simple message or a Raw message.+newSendEmail ::+ -- | 'destination'+ Destination ->+ -- | 'content'+ EmailContent ->+ SendEmail+newSendEmail pDestination_ pContent_ =+ SendEmail'+ { configurationSetName = Prelude.Nothing,+ emailTags = Prelude.Nothing,+ feedbackForwardingEmailAddress = Prelude.Nothing,+ fromEmailAddress = Prelude.Nothing,+ replyToAddresses = Prelude.Nothing,+ destination = pDestination_,+ content = pContent_+ }++-- | The name of the configuration set that you want to use when sending the+-- email.+sendEmail_configurationSetName :: Lens.Lens' SendEmail (Prelude.Maybe Prelude.Text)+sendEmail_configurationSetName = Lens.lens (\SendEmail' {configurationSetName} -> configurationSetName) (\s@SendEmail' {} a -> s {configurationSetName = a} :: SendEmail)++-- | A list of tags, in the form of name\/value pairs, to apply to an email+-- that you send using the @SendEmail@ operation. Tags correspond to+-- characteristics of the email that you define, so that you can publish+-- email sending events.+sendEmail_emailTags :: Lens.Lens' SendEmail (Prelude.Maybe [MessageTag])+sendEmail_emailTags = Lens.lens (\SendEmail' {emailTags} -> emailTags) (\s@SendEmail' {} a -> s {emailTags = a} :: SendEmail) Prelude.. Lens.mapping Lens.coerced++-- | The address that Amazon Pinpoint should send bounce and complaint+-- notifications to.+sendEmail_feedbackForwardingEmailAddress :: Lens.Lens' SendEmail (Prelude.Maybe Prelude.Text)+sendEmail_feedbackForwardingEmailAddress = Lens.lens (\SendEmail' {feedbackForwardingEmailAddress} -> feedbackForwardingEmailAddress) (\s@SendEmail' {} a -> s {feedbackForwardingEmailAddress = a} :: SendEmail)++-- | The email address that you want to use as the \"From\" address for the+-- email. The address that you specify has to be verified.+sendEmail_fromEmailAddress :: Lens.Lens' SendEmail (Prelude.Maybe Prelude.Text)+sendEmail_fromEmailAddress = Lens.lens (\SendEmail' {fromEmailAddress} -> fromEmailAddress) (\s@SendEmail' {} a -> s {fromEmailAddress = a} :: SendEmail)++-- | The \"Reply-to\" email addresses for the message. When the recipient+-- replies to the message, each Reply-to address receives the reply.+sendEmail_replyToAddresses :: Lens.Lens' SendEmail (Prelude.Maybe [Prelude.Text])+sendEmail_replyToAddresses = Lens.lens (\SendEmail' {replyToAddresses} -> replyToAddresses) (\s@SendEmail' {} a -> s {replyToAddresses = a} :: SendEmail) Prelude.. Lens.mapping Lens.coerced++-- | An object that contains the recipients of the email message.+sendEmail_destination :: Lens.Lens' SendEmail Destination+sendEmail_destination = Lens.lens (\SendEmail' {destination} -> destination) (\s@SendEmail' {} a -> s {destination = a} :: SendEmail)++-- | An object that contains the body of the message. You can send either a+-- Simple message or a Raw message.+sendEmail_content :: Lens.Lens' SendEmail EmailContent+sendEmail_content = Lens.lens (\SendEmail' {content} -> content) (\s@SendEmail' {} a -> s {content = a} :: SendEmail)++instance Core.AWSRequest SendEmail where+ type AWSResponse SendEmail = SendEmailResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ SendEmailResponse'+ Prelude.<$> (x Data..?> "MessageId")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable SendEmail where+ hashWithSalt _salt SendEmail' {..} =+ _salt+ `Prelude.hashWithSalt` configurationSetName+ `Prelude.hashWithSalt` emailTags+ `Prelude.hashWithSalt` feedbackForwardingEmailAddress+ `Prelude.hashWithSalt` fromEmailAddress+ `Prelude.hashWithSalt` replyToAddresses+ `Prelude.hashWithSalt` destination+ `Prelude.hashWithSalt` content++instance Prelude.NFData SendEmail where+ rnf SendEmail' {..} =+ Prelude.rnf configurationSetName+ `Prelude.seq` Prelude.rnf emailTags+ `Prelude.seq` Prelude.rnf feedbackForwardingEmailAddress+ `Prelude.seq` Prelude.rnf fromEmailAddress+ `Prelude.seq` Prelude.rnf replyToAddresses+ `Prelude.seq` Prelude.rnf destination+ `Prelude.seq` Prelude.rnf content++instance Data.ToHeaders SendEmail where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON SendEmail where+ toJSON SendEmail' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ConfigurationSetName" Data..=)+ Prelude.<$> configurationSetName,+ ("EmailTags" Data..=) Prelude.<$> emailTags,+ ("FeedbackForwardingEmailAddress" Data..=)+ Prelude.<$> feedbackForwardingEmailAddress,+ ("FromEmailAddress" Data..=)+ Prelude.<$> fromEmailAddress,+ ("ReplyToAddresses" Data..=)+ Prelude.<$> replyToAddresses,+ Prelude.Just ("Destination" Data..= destination),+ Prelude.Just ("Content" Data..= content)+ ]+ )++instance Data.ToPath SendEmail where+ toPath = Prelude.const "/v1/email/outbound-emails"++instance Data.ToQuery SendEmail where+ toQuery = Prelude.const Prelude.mempty++-- | A unique message ID that you receive when Amazon Pinpoint accepts an+-- email for sending.+--+-- /See:/ 'newSendEmailResponse' smart constructor.+data SendEmailResponse = SendEmailResponse'+ { -- | A unique identifier for the message that is generated when Amazon+ -- Pinpoint accepts the message.+ --+ -- It is possible for Amazon Pinpoint to accept a message without sending+ -- it. This can happen when the message you\'re trying to send has an+ -- attachment doesn\'t pass a virus check, or when you send a templated+ -- email that contains invalid personalization content, for example.+ 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 'SendEmailResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'messageId', 'sendEmailResponse_messageId' - A unique identifier for the message that is generated when Amazon+-- Pinpoint accepts the message.+--+-- It is possible for Amazon Pinpoint to accept a message without sending+-- it. This can happen when the message you\'re trying to send has an+-- attachment doesn\'t pass a virus check, or when you send a templated+-- email that contains invalid personalization content, for example.+--+-- 'httpStatus', 'sendEmailResponse_httpStatus' - The response's http status code.+newSendEmailResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ SendEmailResponse+newSendEmailResponse pHttpStatus_ =+ SendEmailResponse'+ { messageId = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A unique identifier for the message that is generated when Amazon+-- Pinpoint accepts the message.+--+-- It is possible for Amazon Pinpoint to accept a message without sending+-- it. This can happen when the message you\'re trying to send has an+-- attachment doesn\'t pass a virus check, or when you send a templated+-- email that contains invalid personalization content, for example.+sendEmailResponse_messageId :: Lens.Lens' SendEmailResponse (Prelude.Maybe Prelude.Text)+sendEmailResponse_messageId = Lens.lens (\SendEmailResponse' {messageId} -> messageId) (\s@SendEmailResponse' {} a -> s {messageId = a} :: SendEmailResponse)++-- | The response's http status code.+sendEmailResponse_httpStatus :: Lens.Lens' SendEmailResponse Prelude.Int+sendEmailResponse_httpStatus = Lens.lens (\SendEmailResponse' {httpStatus} -> httpStatus) (\s@SendEmailResponse' {} a -> s {httpStatus = a} :: SendEmailResponse)++instance Prelude.NFData SendEmailResponse where+ rnf SendEmailResponse' {..} =+ Prelude.rnf messageId+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/PinpointEmail/TagResource.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.PinpointEmail.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)+--+-- Add one or more tags (keys and values) to a specified resource. A+-- /tag/ is a label that you optionally define and associate with a+-- resource in Amazon Pinpoint. Tags can help you categorize and manage+-- resources in different ways, such as by purpose, owner, environment, or+-- other criteria. A resource can have as many as 50 tags.+--+-- Each tag consists of a required /tag key/ and an associated /tag value/,+-- both of which you define. A tag key is a general label that acts as a+-- category for more specific tag values. A tag value acts as a descriptor+-- within a tag key.+module Amazonka.PinpointEmail.TagResource+ ( -- * Creating a Request+ TagResource (..),+ newTagResource,++ -- * Request Lenses+ tagResource_resourceArn,+ tagResource_tags,++ -- * Destructuring the Response+ TagResourceResponse (..),+ newTagResourceResponse,++ -- * Response Lenses+ tagResourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types+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 Amazon Resource Name (ARN) of the resource that you want to add one+ -- or more tags to.+ resourceArn :: Prelude.Text,+ -- | A list of the tags that you want to add to the resource. A tag consists+ -- of a required tag key (@Key@) and an associated tag value (@Value@). The+ -- maximum length of a tag key is 128 characters. The maximum length of a+ -- tag value is 256 characters.+ tags :: [Tag]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'tagResource_resourceArn' - The Amazon Resource Name (ARN) of the resource that you want to add one+-- or more tags to.+--+-- 'tags', 'tagResource_tags' - A list of the tags that you want to add to the resource. A tag consists+-- of a required tag key (@Key@) and an associated tag value (@Value@). The+-- maximum length of a tag key is 128 characters. The maximum length of a+-- tag value is 256 characters.+newTagResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ TagResource+newTagResource pResourceArn_ =+ TagResource'+ { resourceArn = pResourceArn_,+ tags = Prelude.mempty+ }++-- | The Amazon Resource Name (ARN) of the resource that you want to add one+-- or more tags to.+tagResource_resourceArn :: Lens.Lens' TagResource Prelude.Text+tagResource_resourceArn = Lens.lens (\TagResource' {resourceArn} -> resourceArn) (\s@TagResource' {} a -> s {resourceArn = a} :: TagResource)++-- | A list of the tags that you want to add to the resource. A tag consists+-- of a required tag key (@Key@) and an associated tag value (@Value@). The+-- maximum length of a tag key is 128 characters. The maximum length of a+-- tag value is 256 characters.+tagResource_tags :: Lens.Lens' TagResource [Tag]+tagResource_tags = Lens.lens (\TagResource' {tags} -> tags) (\s@TagResource' {} a -> s {tags = a} :: TagResource) Prelude.. Lens.coerced++instance Core.AWSRequest TagResource where+ type AWSResponse TagResource = TagResourceResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ TagResourceResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable TagResource where+ hashWithSalt _salt TagResource' {..} =+ _salt+ `Prelude.hashWithSalt` resourceArn+ `Prelude.hashWithSalt` tags++instance Prelude.NFData TagResource where+ rnf TagResource' {..} =+ Prelude.rnf resourceArn+ `Prelude.seq` Prelude.rnf tags++instance Data.ToHeaders TagResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON TagResource where+ toJSON TagResource' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("ResourceArn" Data..= resourceArn),+ Prelude.Just ("Tags" Data..= tags)+ ]+ )++instance Data.ToPath TagResource where+ toPath = Prelude.const "/v1/email/tags"++instance Data.ToQuery TagResource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newTagResourceResponse' smart constructor.+data TagResourceResponse = TagResourceResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'tagResourceResponse_httpStatus' - The response's http status code.+newTagResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ TagResourceResponse+newTagResourceResponse pHttpStatus_ =+ TagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+tagResourceResponse_httpStatus :: Lens.Lens' TagResourceResponse Prelude.Int+tagResourceResponse_httpStatus = Lens.lens (\TagResourceResponse' {httpStatus} -> httpStatus) (\s@TagResourceResponse' {} a -> s {httpStatus = a} :: TagResourceResponse)++instance Prelude.NFData TagResourceResponse where+ rnf TagResourceResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/PinpointEmail/Types.hs view
@@ -0,0 +1,521 @@+{-# 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.PinpointEmail.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.PinpointEmail.Types+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ _AccountSuspendedException,+ _AlreadyExistsException,+ _BadRequestException,+ _ConcurrentModificationException,+ _LimitExceededException,+ _MailFromDomainNotVerifiedException,+ _MessageRejected,+ _NotFoundException,+ _SendingPausedException,+ _TooManyRequestsException,++ -- * BehaviorOnMxFailure+ BehaviorOnMxFailure (..),++ -- * DeliverabilityDashboardAccountStatus+ DeliverabilityDashboardAccountStatus (..),++ -- * DeliverabilityTestStatus+ DeliverabilityTestStatus (..),++ -- * DimensionValueSource+ DimensionValueSource (..),++ -- * DkimStatus+ DkimStatus (..),++ -- * EventType+ EventType (..),++ -- * IdentityType+ IdentityType (..),++ -- * MailFromDomainStatus+ MailFromDomainStatus (..),++ -- * TlsPolicy+ TlsPolicy (..),++ -- * WarmupStatus+ WarmupStatus (..),++ -- * BlacklistEntry+ BlacklistEntry (..),+ newBlacklistEntry,+ blacklistEntry_description,+ blacklistEntry_listingTime,+ blacklistEntry_rblName,++ -- * Body+ Body (..),+ newBody,+ body_html,+ body_text,++ -- * CloudWatchDestination+ CloudWatchDestination (..),+ newCloudWatchDestination,+ cloudWatchDestination_dimensionConfigurations,++ -- * CloudWatchDimensionConfiguration+ CloudWatchDimensionConfiguration (..),+ newCloudWatchDimensionConfiguration,+ cloudWatchDimensionConfiguration_dimensionName,+ cloudWatchDimensionConfiguration_dimensionValueSource,+ cloudWatchDimensionConfiguration_defaultDimensionValue,++ -- * Content+ Content (..),+ newContent,+ content_charset,+ content_data,++ -- * DailyVolume+ DailyVolume (..),+ newDailyVolume,+ dailyVolume_domainIspPlacements,+ dailyVolume_startDate,+ dailyVolume_volumeStatistics,++ -- * DedicatedIp+ DedicatedIp (..),+ newDedicatedIp,+ dedicatedIp_poolName,+ dedicatedIp_ip,+ dedicatedIp_warmupStatus,+ dedicatedIp_warmupPercentage,++ -- * DeliverabilityTestReport+ DeliverabilityTestReport (..),+ newDeliverabilityTestReport,+ deliverabilityTestReport_createDate,+ deliverabilityTestReport_deliverabilityTestStatus,+ deliverabilityTestReport_fromEmailAddress,+ deliverabilityTestReport_reportId,+ deliverabilityTestReport_reportName,+ deliverabilityTestReport_subject,++ -- * DeliveryOptions+ DeliveryOptions (..),+ newDeliveryOptions,+ deliveryOptions_sendingPoolName,+ deliveryOptions_tlsPolicy,++ -- * Destination+ Destination (..),+ newDestination,+ destination_bccAddresses,+ destination_ccAddresses,+ destination_toAddresses,++ -- * DkimAttributes+ DkimAttributes (..),+ newDkimAttributes,+ dkimAttributes_signingEnabled,+ dkimAttributes_status,+ dkimAttributes_tokens,++ -- * DomainDeliverabilityCampaign+ DomainDeliverabilityCampaign (..),+ newDomainDeliverabilityCampaign,+ domainDeliverabilityCampaign_campaignId,+ domainDeliverabilityCampaign_deleteRate,+ domainDeliverabilityCampaign_esps,+ domainDeliverabilityCampaign_firstSeenDateTime,+ domainDeliverabilityCampaign_fromAddress,+ domainDeliverabilityCampaign_imageUrl,+ domainDeliverabilityCampaign_inboxCount,+ domainDeliverabilityCampaign_lastSeenDateTime,+ domainDeliverabilityCampaign_projectedVolume,+ domainDeliverabilityCampaign_readDeleteRate,+ domainDeliverabilityCampaign_readRate,+ domainDeliverabilityCampaign_sendingIps,+ domainDeliverabilityCampaign_spamCount,+ domainDeliverabilityCampaign_subject,++ -- * DomainDeliverabilityTrackingOption+ DomainDeliverabilityTrackingOption (..),+ newDomainDeliverabilityTrackingOption,+ domainDeliverabilityTrackingOption_domain,+ domainDeliverabilityTrackingOption_inboxPlacementTrackingOption,+ domainDeliverabilityTrackingOption_subscriptionStartDate,++ -- * DomainIspPlacement+ DomainIspPlacement (..),+ newDomainIspPlacement,+ domainIspPlacement_inboxPercentage,+ domainIspPlacement_inboxRawCount,+ domainIspPlacement_ispName,+ domainIspPlacement_spamPercentage,+ domainIspPlacement_spamRawCount,++ -- * EmailContent+ EmailContent (..),+ newEmailContent,+ emailContent_raw,+ emailContent_simple,+ emailContent_template,++ -- * EventDestination+ EventDestination (..),+ newEventDestination,+ eventDestination_cloudWatchDestination,+ eventDestination_enabled,+ eventDestination_kinesisFirehoseDestination,+ eventDestination_pinpointDestination,+ eventDestination_snsDestination,+ eventDestination_name,+ eventDestination_matchingEventTypes,++ -- * EventDestinationDefinition+ EventDestinationDefinition (..),+ newEventDestinationDefinition,+ eventDestinationDefinition_cloudWatchDestination,+ eventDestinationDefinition_enabled,+ eventDestinationDefinition_kinesisFirehoseDestination,+ eventDestinationDefinition_matchingEventTypes,+ eventDestinationDefinition_pinpointDestination,+ eventDestinationDefinition_snsDestination,++ -- * IdentityInfo+ IdentityInfo (..),+ newIdentityInfo,+ identityInfo_identityName,+ identityInfo_identityType,+ identityInfo_sendingEnabled,++ -- * InboxPlacementTrackingOption+ InboxPlacementTrackingOption (..),+ newInboxPlacementTrackingOption,+ inboxPlacementTrackingOption_global,+ inboxPlacementTrackingOption_trackedIsps,++ -- * IspPlacement+ IspPlacement (..),+ newIspPlacement,+ ispPlacement_ispName,+ ispPlacement_placementStatistics,++ -- * KinesisFirehoseDestination+ KinesisFirehoseDestination (..),+ newKinesisFirehoseDestination,+ kinesisFirehoseDestination_iamRoleArn,+ kinesisFirehoseDestination_deliveryStreamArn,++ -- * MailFromAttributes+ MailFromAttributes (..),+ newMailFromAttributes,+ mailFromAttributes_mailFromDomain,+ mailFromAttributes_mailFromDomainStatus,+ mailFromAttributes_behaviorOnMxFailure,++ -- * Message+ Message (..),+ newMessage,+ message_subject,+ message_body,++ -- * MessageTag+ MessageTag (..),+ newMessageTag,+ messageTag_name,+ messageTag_value,++ -- * OverallVolume+ OverallVolume (..),+ newOverallVolume,+ overallVolume_domainIspPlacements,+ overallVolume_readRatePercent,+ overallVolume_volumeStatistics,++ -- * PinpointDestination+ PinpointDestination (..),+ newPinpointDestination,+ pinpointDestination_applicationArn,++ -- * PlacementStatistics+ PlacementStatistics (..),+ newPlacementStatistics,+ placementStatistics_dkimPercentage,+ placementStatistics_inboxPercentage,+ placementStatistics_missingPercentage,+ placementStatistics_spamPercentage,+ placementStatistics_spfPercentage,++ -- * RawMessage+ RawMessage (..),+ newRawMessage,+ rawMessage_data,++ -- * ReputationOptions+ ReputationOptions (..),+ newReputationOptions,+ reputationOptions_lastFreshStart,+ reputationOptions_reputationMetricsEnabled,++ -- * SendQuota+ SendQuota (..),+ newSendQuota,+ sendQuota_max24HourSend,+ sendQuota_maxSendRate,+ sendQuota_sentLast24Hours,++ -- * SendingOptions+ SendingOptions (..),+ newSendingOptions,+ sendingOptions_sendingEnabled,++ -- * SnsDestination+ SnsDestination (..),+ newSnsDestination,+ snsDestination_topicArn,++ -- * Tag+ Tag (..),+ newTag,+ tag_key,+ tag_value,++ -- * Template+ Template (..),+ newTemplate,+ template_templateArn,+ template_templateData,++ -- * TrackingOptions+ TrackingOptions (..),+ newTrackingOptions,+ trackingOptions_customRedirectDomain,++ -- * VolumeStatistics+ VolumeStatistics (..),+ newVolumeStatistics,+ volumeStatistics_inboxRawCount,+ volumeStatistics_projectedInbox,+ volumeStatistics_projectedSpam,+ volumeStatistics_spamRawCount,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import Amazonka.PinpointEmail.Types.BehaviorOnMxFailure+import Amazonka.PinpointEmail.Types.BlacklistEntry+import Amazonka.PinpointEmail.Types.Body+import Amazonka.PinpointEmail.Types.CloudWatchDestination+import Amazonka.PinpointEmail.Types.CloudWatchDimensionConfiguration+import Amazonka.PinpointEmail.Types.Content+import Amazonka.PinpointEmail.Types.DailyVolume+import Amazonka.PinpointEmail.Types.DedicatedIp+import Amazonka.PinpointEmail.Types.DeliverabilityDashboardAccountStatus+import Amazonka.PinpointEmail.Types.DeliverabilityTestReport+import Amazonka.PinpointEmail.Types.DeliverabilityTestStatus+import Amazonka.PinpointEmail.Types.DeliveryOptions+import Amazonka.PinpointEmail.Types.Destination+import Amazonka.PinpointEmail.Types.DimensionValueSource+import Amazonka.PinpointEmail.Types.DkimAttributes+import Amazonka.PinpointEmail.Types.DkimStatus+import Amazonka.PinpointEmail.Types.DomainDeliverabilityCampaign+import Amazonka.PinpointEmail.Types.DomainDeliverabilityTrackingOption+import Amazonka.PinpointEmail.Types.DomainIspPlacement+import Amazonka.PinpointEmail.Types.EmailContent+import Amazonka.PinpointEmail.Types.EventDestination+import Amazonka.PinpointEmail.Types.EventDestinationDefinition+import Amazonka.PinpointEmail.Types.EventType+import Amazonka.PinpointEmail.Types.IdentityInfo+import Amazonka.PinpointEmail.Types.IdentityType+import Amazonka.PinpointEmail.Types.InboxPlacementTrackingOption+import Amazonka.PinpointEmail.Types.IspPlacement+import Amazonka.PinpointEmail.Types.KinesisFirehoseDestination+import Amazonka.PinpointEmail.Types.MailFromAttributes+import Amazonka.PinpointEmail.Types.MailFromDomainStatus+import Amazonka.PinpointEmail.Types.Message+import Amazonka.PinpointEmail.Types.MessageTag+import Amazonka.PinpointEmail.Types.OverallVolume+import Amazonka.PinpointEmail.Types.PinpointDestination+import Amazonka.PinpointEmail.Types.PlacementStatistics+import Amazonka.PinpointEmail.Types.RawMessage+import Amazonka.PinpointEmail.Types.ReputationOptions+import Amazonka.PinpointEmail.Types.SendQuota+import Amazonka.PinpointEmail.Types.SendingOptions+import Amazonka.PinpointEmail.Types.SnsDestination+import Amazonka.PinpointEmail.Types.Tag+import Amazonka.PinpointEmail.Types.Template+import Amazonka.PinpointEmail.Types.TlsPolicy+import Amazonka.PinpointEmail.Types.TrackingOptions+import Amazonka.PinpointEmail.Types.VolumeStatistics+import Amazonka.PinpointEmail.Types.WarmupStatus+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2018-07-26@ of the Amazon Pinpoint Email Service SDK configuration.+defaultService :: Core.Service+defaultService =+ Core.Service+ { Core.abbrev = "PinpointEmail",+ Core.signer = Sign.v4,+ Core.endpointPrefix = "email",+ Core.signingName = "ses",+ Core.version = "2018-07-26",+ Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+ Core.endpoint = Core.defaultEndpoint defaultService,+ Core.timeout = Prelude.Just 70,+ Core.check = Core.statusSuccess,+ Core.error = Core.parseJSONError "PinpointEmail",+ Core.retry = retry+ }+ where+ retry =+ Core.Exponential+ { Core.base = 5.0e-2,+ Core.growth = 2,+ Core.attempts = 5,+ Core.check = check+ }+ check e+ | Lens.has (Core.hasStatus 502) e =+ Prelude.Just "bad_gateway"+ | Lens.has (Core.hasStatus 504) e =+ Prelude.Just "gateway_timeout"+ | Lens.has (Core.hasStatus 500) e =+ Prelude.Just "general_server_error"+ | Lens.has (Core.hasStatus 509) e =+ Prelude.Just "limit_exceeded"+ | Lens.has+ ( Core.hasCode "RequestThrottledException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "request_throttled_exception"+ | Lens.has (Core.hasStatus 503) e =+ Prelude.Just "service_unavailable"+ | Lens.has+ ( Core.hasCode "ThrottledException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttled_exception"+ | Lens.has+ ( Core.hasCode "Throttling"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttling"+ | Lens.has+ ( Core.hasCode "ThrottlingException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttling_exception"+ | Lens.has+ ( Core.hasCode+ "ProvisionedThroughputExceededException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throughput_exceeded"+ | Lens.has (Core.hasStatus 429) e =+ Prelude.Just "too_many_requests"+ | Prelude.otherwise = Prelude.Nothing++-- | The message can\'t be sent because the account\'s ability to send email+-- has been permanently restricted.+_AccountSuspendedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_AccountSuspendedException =+ Core._MatchServiceError+ defaultService+ "AccountSuspendedException"+ Prelude.. Core.hasStatus 400++-- | The resource specified in your request already exists.+_AlreadyExistsException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_AlreadyExistsException =+ Core._MatchServiceError+ defaultService+ "AlreadyExistsException"+ Prelude.. Core.hasStatus 400++-- | The input you provided is invalid.+_BadRequestException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_BadRequestException =+ Core._MatchServiceError+ defaultService+ "BadRequestException"+ Prelude.. Core.hasStatus 400++-- | The resource is being modified by another operation or thread.+_ConcurrentModificationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ConcurrentModificationException =+ Core._MatchServiceError+ defaultService+ "ConcurrentModificationException"+ Prelude.. Core.hasStatus 500++-- | There are too many instances of the specified resource type.+_LimitExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_LimitExceededException =+ Core._MatchServiceError+ defaultService+ "LimitExceededException"+ Prelude.. Core.hasStatus 400++-- | The message can\'t be sent because the sending domain isn\'t verified.+_MailFromDomainNotVerifiedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_MailFromDomainNotVerifiedException =+ Core._MatchServiceError+ defaultService+ "MailFromDomainNotVerifiedException"+ Prelude.. Core.hasStatus 400++-- | The message can\'t be sent because it contains invalid content.+_MessageRejected :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_MessageRejected =+ Core._MatchServiceError+ defaultService+ "MessageRejected"+ Prelude.. Core.hasStatus 400++-- | The resource you attempted to access doesn\'t exist.+_NotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_NotFoundException =+ Core._MatchServiceError+ defaultService+ "NotFoundException"+ Prelude.. Core.hasStatus 404++-- | The message can\'t be sent because the account\'s ability to send email+-- is currently paused.+_SendingPausedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_SendingPausedException =+ Core._MatchServiceError+ defaultService+ "SendingPausedException"+ Prelude.. Core.hasStatus 400++-- | Too many requests have been made to the operation.+_TooManyRequestsException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_TooManyRequestsException =+ Core._MatchServiceError+ defaultService+ "TooManyRequestsException"+ Prelude.. Core.hasStatus 429
+ gen/Amazonka/PinpointEmail/Types/BehaviorOnMxFailure.hs view
@@ -0,0 +1,80 @@+{-# 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.PinpointEmail.Types.BehaviorOnMxFailure+-- 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.PinpointEmail.Types.BehaviorOnMxFailure+ ( BehaviorOnMxFailure+ ( ..,+ BehaviorOnMxFailure_REJECT_MESSAGE,+ BehaviorOnMxFailure_USE_DEFAULT_VALUE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The action that you want Amazon Pinpoint to take if it can\'t read the+-- required MX record for a custom MAIL FROM domain. When you set this+-- value to @UseDefaultValue@, Amazon Pinpoint uses /amazonses.com/ as the+-- MAIL FROM domain. When you set this value to @RejectMessage@, Amazon+-- Pinpoint returns a @MailFromDomainNotVerified@ error, and doesn\'t+-- attempt to deliver the email.+--+-- These behaviors are taken when the custom MAIL FROM domain configuration+-- is in the @Pending@, @Failed@, and @TemporaryFailure@ states.+newtype BehaviorOnMxFailure = BehaviorOnMxFailure'+ { fromBehaviorOnMxFailure ::+ 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 BehaviorOnMxFailure_REJECT_MESSAGE :: BehaviorOnMxFailure+pattern BehaviorOnMxFailure_REJECT_MESSAGE = BehaviorOnMxFailure' "REJECT_MESSAGE"++pattern BehaviorOnMxFailure_USE_DEFAULT_VALUE :: BehaviorOnMxFailure+pattern BehaviorOnMxFailure_USE_DEFAULT_VALUE = BehaviorOnMxFailure' "USE_DEFAULT_VALUE"++{-# COMPLETE+ BehaviorOnMxFailure_REJECT_MESSAGE,+ BehaviorOnMxFailure_USE_DEFAULT_VALUE,+ BehaviorOnMxFailure'+ #-}
+ gen/Amazonka/PinpointEmail/Types/BlacklistEntry.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.PinpointEmail.Types.BlacklistEntry+-- 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.PinpointEmail.Types.BlacklistEntry 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 object that contains information about a blacklisting event that+-- impacts one of the dedicated IP addresses that is associated with your+-- account.+--+-- /See:/ 'newBlacklistEntry' smart constructor.+data BlacklistEntry = BlacklistEntry'+ { -- | Additional information about the blacklisting event, as provided by the+ -- blacklist maintainer.+ description :: Prelude.Maybe Prelude.Text,+ -- | The time when the blacklisting event occurred, shown in Unix time+ -- format.+ listingTime :: Prelude.Maybe Data.POSIX,+ -- | The name of the blacklist that the IP address appears on.+ rblName :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BlacklistEntry' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'blacklistEntry_description' - Additional information about the blacklisting event, as provided by the+-- blacklist maintainer.+--+-- 'listingTime', 'blacklistEntry_listingTime' - The time when the blacklisting event occurred, shown in Unix time+-- format.+--+-- 'rblName', 'blacklistEntry_rblName' - The name of the blacklist that the IP address appears on.+newBlacklistEntry ::+ BlacklistEntry+newBlacklistEntry =+ BlacklistEntry'+ { description = Prelude.Nothing,+ listingTime = Prelude.Nothing,+ rblName = Prelude.Nothing+ }++-- | Additional information about the blacklisting event, as provided by the+-- blacklist maintainer.+blacklistEntry_description :: Lens.Lens' BlacklistEntry (Prelude.Maybe Prelude.Text)+blacklistEntry_description = Lens.lens (\BlacklistEntry' {description} -> description) (\s@BlacklistEntry' {} a -> s {description = a} :: BlacklistEntry)++-- | The time when the blacklisting event occurred, shown in Unix time+-- format.+blacklistEntry_listingTime :: Lens.Lens' BlacklistEntry (Prelude.Maybe Prelude.UTCTime)+blacklistEntry_listingTime = Lens.lens (\BlacklistEntry' {listingTime} -> listingTime) (\s@BlacklistEntry' {} a -> s {listingTime = a} :: BlacklistEntry) Prelude.. Lens.mapping Data._Time++-- | The name of the blacklist that the IP address appears on.+blacklistEntry_rblName :: Lens.Lens' BlacklistEntry (Prelude.Maybe Prelude.Text)+blacklistEntry_rblName = Lens.lens (\BlacklistEntry' {rblName} -> rblName) (\s@BlacklistEntry' {} a -> s {rblName = a} :: BlacklistEntry)++instance Data.FromJSON BlacklistEntry where+ parseJSON =+ Data.withObject+ "BlacklistEntry"+ ( \x ->+ BlacklistEntry'+ Prelude.<$> (x Data..:? "Description")+ Prelude.<*> (x Data..:? "ListingTime")+ Prelude.<*> (x Data..:? "RblName")+ )++instance Prelude.Hashable BlacklistEntry where+ hashWithSalt _salt BlacklistEntry' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` listingTime+ `Prelude.hashWithSalt` rblName++instance Prelude.NFData BlacklistEntry where+ rnf BlacklistEntry' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf listingTime+ `Prelude.seq` Prelude.rnf rblName
+ gen/Amazonka/PinpointEmail/Types/Body.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.PinpointEmail.Types.Body+-- 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.PinpointEmail.Types.Body where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types.Content+import qualified Amazonka.Prelude as Prelude++-- | Represents the body of the email message.+--+-- /See:/ 'newBody' smart constructor.+data Body = Body'+ { -- | An object that represents the version of the message that is displayed+ -- in email clients that support HTML. HTML messages can include formatted+ -- text, hyperlinks, images, and more.+ html :: Prelude.Maybe Content,+ -- | An object that represents the version of the message that is displayed+ -- in email clients that don\'t support HTML, or clients where the+ -- recipient has disabled HTML rendering.+ text :: Prelude.Maybe Content+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Body' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'html', 'body_html' - An object that represents the version of the message that is displayed+-- in email clients that support HTML. HTML messages can include formatted+-- text, hyperlinks, images, and more.+--+-- 'text', 'body_text' - An object that represents the version of the message that is displayed+-- in email clients that don\'t support HTML, or clients where the+-- recipient has disabled HTML rendering.+newBody ::+ Body+newBody =+ Body'+ { html = Prelude.Nothing,+ text = Prelude.Nothing+ }++-- | An object that represents the version of the message that is displayed+-- in email clients that support HTML. HTML messages can include formatted+-- text, hyperlinks, images, and more.+body_html :: Lens.Lens' Body (Prelude.Maybe Content)+body_html = Lens.lens (\Body' {html} -> html) (\s@Body' {} a -> s {html = a} :: Body)++-- | An object that represents the version of the message that is displayed+-- in email clients that don\'t support HTML, or clients where the+-- recipient has disabled HTML rendering.+body_text :: Lens.Lens' Body (Prelude.Maybe Content)+body_text = Lens.lens (\Body' {text} -> text) (\s@Body' {} a -> s {text = a} :: Body)++instance Prelude.Hashable Body where+ hashWithSalt _salt Body' {..} =+ _salt+ `Prelude.hashWithSalt` html+ `Prelude.hashWithSalt` text++instance Prelude.NFData Body where+ rnf Body' {..} =+ Prelude.rnf html `Prelude.seq` Prelude.rnf text++instance Data.ToJSON Body where+ toJSON Body' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Html" Data..=) Prelude.<$> html,+ ("Text" Data..=) Prelude.<$> text+ ]+ )
+ gen/Amazonka/PinpointEmail/Types/CloudWatchDestination.hs view
@@ -0,0 +1,93 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.PinpointEmail.Types.CloudWatchDestination+-- 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.PinpointEmail.Types.CloudWatchDestination where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types.CloudWatchDimensionConfiguration+import qualified Amazonka.Prelude as Prelude++-- | An object that defines an Amazon CloudWatch destination for email+-- events. You can use Amazon CloudWatch to monitor and gain insights on+-- your email sending metrics.+--+-- /See:/ 'newCloudWatchDestination' smart constructor.+data CloudWatchDestination = CloudWatchDestination'+ { -- | An array of objects that define the dimensions to use when you send+ -- email events to Amazon CloudWatch.+ dimensionConfigurations :: [CloudWatchDimensionConfiguration]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CloudWatchDestination' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dimensionConfigurations', 'cloudWatchDestination_dimensionConfigurations' - An array of objects that define the dimensions to use when you send+-- email events to Amazon CloudWatch.+newCloudWatchDestination ::+ CloudWatchDestination+newCloudWatchDestination =+ CloudWatchDestination'+ { dimensionConfigurations =+ Prelude.mempty+ }++-- | An array of objects that define the dimensions to use when you send+-- email events to Amazon CloudWatch.+cloudWatchDestination_dimensionConfigurations :: Lens.Lens' CloudWatchDestination [CloudWatchDimensionConfiguration]+cloudWatchDestination_dimensionConfigurations = Lens.lens (\CloudWatchDestination' {dimensionConfigurations} -> dimensionConfigurations) (\s@CloudWatchDestination' {} a -> s {dimensionConfigurations = a} :: CloudWatchDestination) Prelude.. Lens.coerced++instance Data.FromJSON CloudWatchDestination where+ parseJSON =+ Data.withObject+ "CloudWatchDestination"+ ( \x ->+ CloudWatchDestination'+ Prelude.<$> ( x+ Data..:? "DimensionConfigurations"+ Data..!= Prelude.mempty+ )+ )++instance Prelude.Hashable CloudWatchDestination where+ hashWithSalt _salt CloudWatchDestination' {..} =+ _salt+ `Prelude.hashWithSalt` dimensionConfigurations++instance Prelude.NFData CloudWatchDestination where+ rnf CloudWatchDestination' {..} =+ Prelude.rnf dimensionConfigurations++instance Data.ToJSON CloudWatchDestination where+ toJSON CloudWatchDestination' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ( "DimensionConfigurations"+ Data..= dimensionConfigurations+ )+ ]+ )
+ gen/Amazonka/PinpointEmail/Types/CloudWatchDimensionConfiguration.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.PinpointEmail.Types.CloudWatchDimensionConfiguration+-- 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.PinpointEmail.Types.CloudWatchDimensionConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types.DimensionValueSource+import qualified Amazonka.Prelude as Prelude++-- | An object that defines the dimension configuration to use when you send+-- Amazon Pinpoint email events to Amazon CloudWatch.+--+-- /See:/ 'newCloudWatchDimensionConfiguration' smart constructor.+data CloudWatchDimensionConfiguration = CloudWatchDimensionConfiguration'+ { -- | The name of an Amazon CloudWatch dimension associated with an email+ -- sending metric. The name has to meet the following criteria:+ --+ -- - It can only contain ASCII letters (a-z, A-Z), numbers (0-9),+ -- underscores (_), or dashes (-).+ --+ -- - It can contain no more than 256 characters.+ dimensionName :: Prelude.Text,+ -- | The location where Amazon Pinpoint finds the value of a dimension to+ -- publish to Amazon CloudWatch. If you want Amazon Pinpoint to use the+ -- message tags that you specify using an X-SES-MESSAGE-TAGS header or a+ -- parameter to the SendEmail\/SendRawEmail API, choose @messageTag@. If+ -- you want Amazon Pinpoint to use your own email headers, choose+ -- @emailHeader@. If you want Amazon Pinpoint to use link tags, choose+ -- @linkTags@.+ dimensionValueSource :: DimensionValueSource,+ -- | The default value of the dimension that is published to Amazon+ -- CloudWatch if you don\'t provide the value of the dimension when you+ -- send an email. This value has to meet the following criteria:+ --+ -- - It can only contain ASCII letters (a-z, A-Z), numbers (0-9),+ -- underscores (_), or dashes (-).+ --+ -- - It can contain no more than 256 characters.+ defaultDimensionValue :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CloudWatchDimensionConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dimensionName', 'cloudWatchDimensionConfiguration_dimensionName' - The name of an Amazon CloudWatch dimension associated with an email+-- sending metric. The name has to meet the following criteria:+--+-- - It can only contain ASCII letters (a-z, A-Z), numbers (0-9),+-- underscores (_), or dashes (-).+--+-- - It can contain no more than 256 characters.+--+-- 'dimensionValueSource', 'cloudWatchDimensionConfiguration_dimensionValueSource' - The location where Amazon Pinpoint finds the value of a dimension to+-- publish to Amazon CloudWatch. If you want Amazon Pinpoint to use the+-- message tags that you specify using an X-SES-MESSAGE-TAGS header or a+-- parameter to the SendEmail\/SendRawEmail API, choose @messageTag@. If+-- you want Amazon Pinpoint to use your own email headers, choose+-- @emailHeader@. If you want Amazon Pinpoint to use link tags, choose+-- @linkTags@.+--+-- 'defaultDimensionValue', 'cloudWatchDimensionConfiguration_defaultDimensionValue' - The default value of the dimension that is published to Amazon+-- CloudWatch if you don\'t provide the value of the dimension when you+-- send an email. This value has to meet the following criteria:+--+-- - It can only contain ASCII letters (a-z, A-Z), numbers (0-9),+-- underscores (_), or dashes (-).+--+-- - It can contain no more than 256 characters.+newCloudWatchDimensionConfiguration ::+ -- | 'dimensionName'+ Prelude.Text ->+ -- | 'dimensionValueSource'+ DimensionValueSource ->+ -- | 'defaultDimensionValue'+ Prelude.Text ->+ CloudWatchDimensionConfiguration+newCloudWatchDimensionConfiguration+ pDimensionName_+ pDimensionValueSource_+ pDefaultDimensionValue_ =+ CloudWatchDimensionConfiguration'+ { dimensionName =+ pDimensionName_,+ dimensionValueSource =+ pDimensionValueSource_,+ defaultDimensionValue =+ pDefaultDimensionValue_+ }++-- | The name of an Amazon CloudWatch dimension associated with an email+-- sending metric. The name has to meet the following criteria:+--+-- - It can only contain ASCII letters (a-z, A-Z), numbers (0-9),+-- underscores (_), or dashes (-).+--+-- - It can contain no more than 256 characters.+cloudWatchDimensionConfiguration_dimensionName :: Lens.Lens' CloudWatchDimensionConfiguration Prelude.Text+cloudWatchDimensionConfiguration_dimensionName = Lens.lens (\CloudWatchDimensionConfiguration' {dimensionName} -> dimensionName) (\s@CloudWatchDimensionConfiguration' {} a -> s {dimensionName = a} :: CloudWatchDimensionConfiguration)++-- | The location where Amazon Pinpoint finds the value of a dimension to+-- publish to Amazon CloudWatch. If you want Amazon Pinpoint to use the+-- message tags that you specify using an X-SES-MESSAGE-TAGS header or a+-- parameter to the SendEmail\/SendRawEmail API, choose @messageTag@. If+-- you want Amazon Pinpoint to use your own email headers, choose+-- @emailHeader@. If you want Amazon Pinpoint to use link tags, choose+-- @linkTags@.+cloudWatchDimensionConfiguration_dimensionValueSource :: Lens.Lens' CloudWatchDimensionConfiguration DimensionValueSource+cloudWatchDimensionConfiguration_dimensionValueSource = Lens.lens (\CloudWatchDimensionConfiguration' {dimensionValueSource} -> dimensionValueSource) (\s@CloudWatchDimensionConfiguration' {} a -> s {dimensionValueSource = a} :: CloudWatchDimensionConfiguration)++-- | The default value of the dimension that is published to Amazon+-- CloudWatch if you don\'t provide the value of the dimension when you+-- send an email. This value has to meet the following criteria:+--+-- - It can only contain ASCII letters (a-z, A-Z), numbers (0-9),+-- underscores (_), or dashes (-).+--+-- - It can contain no more than 256 characters.+cloudWatchDimensionConfiguration_defaultDimensionValue :: Lens.Lens' CloudWatchDimensionConfiguration Prelude.Text+cloudWatchDimensionConfiguration_defaultDimensionValue = Lens.lens (\CloudWatchDimensionConfiguration' {defaultDimensionValue} -> defaultDimensionValue) (\s@CloudWatchDimensionConfiguration' {} a -> s {defaultDimensionValue = a} :: CloudWatchDimensionConfiguration)++instance+ Data.FromJSON+ CloudWatchDimensionConfiguration+ where+ parseJSON =+ Data.withObject+ "CloudWatchDimensionConfiguration"+ ( \x ->+ CloudWatchDimensionConfiguration'+ Prelude.<$> (x Data..: "DimensionName")+ Prelude.<*> (x Data..: "DimensionValueSource")+ Prelude.<*> (x Data..: "DefaultDimensionValue")+ )++instance+ Prelude.Hashable+ CloudWatchDimensionConfiguration+ where+ hashWithSalt+ _salt+ CloudWatchDimensionConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` dimensionName+ `Prelude.hashWithSalt` dimensionValueSource+ `Prelude.hashWithSalt` defaultDimensionValue++instance+ Prelude.NFData+ CloudWatchDimensionConfiguration+ where+ rnf CloudWatchDimensionConfiguration' {..} =+ Prelude.rnf dimensionName+ `Prelude.seq` Prelude.rnf dimensionValueSource+ `Prelude.seq` Prelude.rnf defaultDimensionValue++instance Data.ToJSON CloudWatchDimensionConfiguration where+ toJSON CloudWatchDimensionConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("DimensionName" Data..= dimensionName),+ Prelude.Just+ ( "DimensionValueSource"+ Data..= dimensionValueSource+ ),+ Prelude.Just+ ( "DefaultDimensionValue"+ Data..= defaultDimensionValue+ )+ ]+ )
+ gen/Amazonka/PinpointEmail/Types/Content.hs view
@@ -0,0 +1,94 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.PinpointEmail.Types.Content+-- 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.PinpointEmail.Types.Content 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 object that represents the content of the email, and optionally a+-- character set specification.+--+-- /See:/ 'newContent' smart constructor.+data Content = Content'+ { -- | The character set for the content. Because of the constraints of the+ -- SMTP protocol, Amazon Pinpoint uses 7-bit ASCII by default. If the text+ -- includes characters outside of the ASCII range, you have to specify a+ -- character set. For example, you could specify @UTF-8@, @ISO-8859-1@, or+ -- @Shift_JIS@.+ charset :: Prelude.Maybe Prelude.Text,+ -- | The content of the message itself.+ data' :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Content' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'charset', 'content_charset' - The character set for the content. Because of the constraints of the+-- SMTP protocol, Amazon Pinpoint uses 7-bit ASCII by default. If the text+-- includes characters outside of the ASCII range, you have to specify a+-- character set. For example, you could specify @UTF-8@, @ISO-8859-1@, or+-- @Shift_JIS@.+--+-- 'data'', 'content_data' - The content of the message itself.+newContent ::+ -- | 'data''+ Prelude.Text ->+ Content+newContent pData_ =+ Content' {charset = Prelude.Nothing, data' = pData_}++-- | The character set for the content. Because of the constraints of the+-- SMTP protocol, Amazon Pinpoint uses 7-bit ASCII by default. If the text+-- includes characters outside of the ASCII range, you have to specify a+-- character set. For example, you could specify @UTF-8@, @ISO-8859-1@, or+-- @Shift_JIS@.+content_charset :: Lens.Lens' Content (Prelude.Maybe Prelude.Text)+content_charset = Lens.lens (\Content' {charset} -> charset) (\s@Content' {} a -> s {charset = a} :: Content)++-- | The content of the message itself.+content_data :: Lens.Lens' Content Prelude.Text+content_data = Lens.lens (\Content' {data'} -> data') (\s@Content' {} a -> s {data' = a} :: Content)++instance Prelude.Hashable Content where+ hashWithSalt _salt Content' {..} =+ _salt+ `Prelude.hashWithSalt` charset+ `Prelude.hashWithSalt` data'++instance Prelude.NFData Content where+ rnf Content' {..} =+ Prelude.rnf charset `Prelude.seq` Prelude.rnf data'++instance Data.ToJSON Content where+ toJSON Content' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Charset" Data..=) Prelude.<$> charset,+ Prelude.Just ("Data" Data..= data')+ ]+ )
+ gen/Amazonka/PinpointEmail/Types/DailyVolume.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.PinpointEmail.Types.DailyVolume+-- 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.PinpointEmail.Types.DailyVolume where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types.DomainIspPlacement+import Amazonka.PinpointEmail.Types.VolumeStatistics+import qualified Amazonka.Prelude as Prelude++-- | An object that contains information about the volume of email sent on+-- each day of the analysis period.+--+-- /See:/ 'newDailyVolume' smart constructor.+data DailyVolume = DailyVolume'+ { -- | An object that contains inbox placement metrics for a specified day in+ -- the analysis period, broken out by the recipient\'s email provider.+ domainIspPlacements :: Prelude.Maybe [DomainIspPlacement],+ -- | The date that the DailyVolume metrics apply to, in Unix time.+ startDate :: Prelude.Maybe Data.POSIX,+ -- | An object that contains inbox placement metrics for a specific day in+ -- the analysis period.+ volumeStatistics :: Prelude.Maybe VolumeStatistics+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DailyVolume' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domainIspPlacements', 'dailyVolume_domainIspPlacements' - An object that contains inbox placement metrics for a specified day in+-- the analysis period, broken out by the recipient\'s email provider.+--+-- 'startDate', 'dailyVolume_startDate' - The date that the DailyVolume metrics apply to, in Unix time.+--+-- 'volumeStatistics', 'dailyVolume_volumeStatistics' - An object that contains inbox placement metrics for a specific day in+-- the analysis period.+newDailyVolume ::+ DailyVolume+newDailyVolume =+ DailyVolume'+ { domainIspPlacements = Prelude.Nothing,+ startDate = Prelude.Nothing,+ volumeStatistics = Prelude.Nothing+ }++-- | An object that contains inbox placement metrics for a specified day in+-- the analysis period, broken out by the recipient\'s email provider.+dailyVolume_domainIspPlacements :: Lens.Lens' DailyVolume (Prelude.Maybe [DomainIspPlacement])+dailyVolume_domainIspPlacements = Lens.lens (\DailyVolume' {domainIspPlacements} -> domainIspPlacements) (\s@DailyVolume' {} a -> s {domainIspPlacements = a} :: DailyVolume) Prelude.. Lens.mapping Lens.coerced++-- | The date that the DailyVolume metrics apply to, in Unix time.+dailyVolume_startDate :: Lens.Lens' DailyVolume (Prelude.Maybe Prelude.UTCTime)+dailyVolume_startDate = Lens.lens (\DailyVolume' {startDate} -> startDate) (\s@DailyVolume' {} a -> s {startDate = a} :: DailyVolume) Prelude.. Lens.mapping Data._Time++-- | An object that contains inbox placement metrics for a specific day in+-- the analysis period.+dailyVolume_volumeStatistics :: Lens.Lens' DailyVolume (Prelude.Maybe VolumeStatistics)+dailyVolume_volumeStatistics = Lens.lens (\DailyVolume' {volumeStatistics} -> volumeStatistics) (\s@DailyVolume' {} a -> s {volumeStatistics = a} :: DailyVolume)++instance Data.FromJSON DailyVolume where+ parseJSON =+ Data.withObject+ "DailyVolume"+ ( \x ->+ DailyVolume'+ Prelude.<$> ( x+ Data..:? "DomainIspPlacements"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "StartDate")+ Prelude.<*> (x Data..:? "VolumeStatistics")+ )++instance Prelude.Hashable DailyVolume where+ hashWithSalt _salt DailyVolume' {..} =+ _salt+ `Prelude.hashWithSalt` domainIspPlacements+ `Prelude.hashWithSalt` startDate+ `Prelude.hashWithSalt` volumeStatistics++instance Prelude.NFData DailyVolume where+ rnf DailyVolume' {..} =+ Prelude.rnf domainIspPlacements+ `Prelude.seq` Prelude.rnf startDate+ `Prelude.seq` Prelude.rnf volumeStatistics
+ gen/Amazonka/PinpointEmail/Types/DedicatedIp.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.PinpointEmail.Types.DedicatedIp+-- 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.PinpointEmail.Types.DedicatedIp where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types.WarmupStatus+import qualified Amazonka.Prelude as Prelude++-- | Contains information about a dedicated IP address that is associated+-- with your Amazon Pinpoint account.+--+-- /See:/ 'newDedicatedIp' smart constructor.+data DedicatedIp = DedicatedIp'+ { -- | The name of the dedicated IP pool that the IP address is associated+ -- with.+ poolName :: Prelude.Maybe Prelude.Text,+ -- | An IP address that is reserved for use by your Amazon Pinpoint account.+ ip :: Prelude.Text,+ -- | The warm-up status of a dedicated IP address. The status can have one of+ -- the following values:+ --+ -- - @IN_PROGRESS@ – The IP address isn\'t ready to use because the+ -- dedicated IP warm-up process is ongoing.+ --+ -- - @DONE@ – The dedicated IP warm-up process is complete, and the IP+ -- address is ready to use.+ warmupStatus :: WarmupStatus,+ -- | Indicates how complete the dedicated IP warm-up process is. When this+ -- value equals 1, the address has completed the warm-up process and is+ -- ready for use.+ warmupPercentage :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DedicatedIp' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'poolName', 'dedicatedIp_poolName' - The name of the dedicated IP pool that the IP address is associated+-- with.+--+-- 'ip', 'dedicatedIp_ip' - An IP address that is reserved for use by your Amazon Pinpoint account.+--+-- 'warmupStatus', 'dedicatedIp_warmupStatus' - The warm-up status of a dedicated IP address. The status can have one of+-- the following values:+--+-- - @IN_PROGRESS@ – The IP address isn\'t ready to use because the+-- dedicated IP warm-up process is ongoing.+--+-- - @DONE@ – The dedicated IP warm-up process is complete, and the IP+-- address is ready to use.+--+-- 'warmupPercentage', 'dedicatedIp_warmupPercentage' - Indicates how complete the dedicated IP warm-up process is. When this+-- value equals 1, the address has completed the warm-up process and is+-- ready for use.+newDedicatedIp ::+ -- | 'ip'+ Prelude.Text ->+ -- | 'warmupStatus'+ WarmupStatus ->+ -- | 'warmupPercentage'+ Prelude.Int ->+ DedicatedIp+newDedicatedIp pIp_ pWarmupStatus_ pWarmupPercentage_ =+ DedicatedIp'+ { poolName = Prelude.Nothing,+ ip = pIp_,+ warmupStatus = pWarmupStatus_,+ warmupPercentage = pWarmupPercentage_+ }++-- | The name of the dedicated IP pool that the IP address is associated+-- with.+dedicatedIp_poolName :: Lens.Lens' DedicatedIp (Prelude.Maybe Prelude.Text)+dedicatedIp_poolName = Lens.lens (\DedicatedIp' {poolName} -> poolName) (\s@DedicatedIp' {} a -> s {poolName = a} :: DedicatedIp)++-- | An IP address that is reserved for use by your Amazon Pinpoint account.+dedicatedIp_ip :: Lens.Lens' DedicatedIp Prelude.Text+dedicatedIp_ip = Lens.lens (\DedicatedIp' {ip} -> ip) (\s@DedicatedIp' {} a -> s {ip = a} :: DedicatedIp)++-- | The warm-up status of a dedicated IP address. The status can have one of+-- the following values:+--+-- - @IN_PROGRESS@ – The IP address isn\'t ready to use because the+-- dedicated IP warm-up process is ongoing.+--+-- - @DONE@ – The dedicated IP warm-up process is complete, and the IP+-- address is ready to use.+dedicatedIp_warmupStatus :: Lens.Lens' DedicatedIp WarmupStatus+dedicatedIp_warmupStatus = Lens.lens (\DedicatedIp' {warmupStatus} -> warmupStatus) (\s@DedicatedIp' {} a -> s {warmupStatus = a} :: DedicatedIp)++-- | Indicates how complete the dedicated IP warm-up process is. When this+-- value equals 1, the address has completed the warm-up process and is+-- ready for use.+dedicatedIp_warmupPercentage :: Lens.Lens' DedicatedIp Prelude.Int+dedicatedIp_warmupPercentage = Lens.lens (\DedicatedIp' {warmupPercentage} -> warmupPercentage) (\s@DedicatedIp' {} a -> s {warmupPercentage = a} :: DedicatedIp)++instance Data.FromJSON DedicatedIp where+ parseJSON =+ Data.withObject+ "DedicatedIp"+ ( \x ->+ DedicatedIp'+ Prelude.<$> (x Data..:? "PoolName")+ Prelude.<*> (x Data..: "Ip")+ Prelude.<*> (x Data..: "WarmupStatus")+ Prelude.<*> (x Data..: "WarmupPercentage")+ )++instance Prelude.Hashable DedicatedIp where+ hashWithSalt _salt DedicatedIp' {..} =+ _salt+ `Prelude.hashWithSalt` poolName+ `Prelude.hashWithSalt` ip+ `Prelude.hashWithSalt` warmupStatus+ `Prelude.hashWithSalt` warmupPercentage++instance Prelude.NFData DedicatedIp where+ rnf DedicatedIp' {..} =+ Prelude.rnf poolName+ `Prelude.seq` Prelude.rnf ip+ `Prelude.seq` Prelude.rnf warmupStatus+ `Prelude.seq` Prelude.rnf warmupPercentage
+ gen/Amazonka/PinpointEmail/Types/DeliverabilityDashboardAccountStatus.hs view
@@ -0,0 +1,79 @@+{-# 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.PinpointEmail.Types.DeliverabilityDashboardAccountStatus+-- 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.PinpointEmail.Types.DeliverabilityDashboardAccountStatus+ ( DeliverabilityDashboardAccountStatus+ ( ..,+ DeliverabilityDashboardAccountStatus_ACTIVE,+ DeliverabilityDashboardAccountStatus_DISABLED,+ DeliverabilityDashboardAccountStatus_PENDING_EXPIRATION+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The current status of your Deliverability dashboard subscription. If+-- this value is @PENDING_EXPIRATION@, your subscription is scheduled to+-- expire at the end of the current calendar month.+newtype DeliverabilityDashboardAccountStatus = DeliverabilityDashboardAccountStatus'+ { fromDeliverabilityDashboardAccountStatus ::+ 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 DeliverabilityDashboardAccountStatus_ACTIVE :: DeliverabilityDashboardAccountStatus+pattern DeliverabilityDashboardAccountStatus_ACTIVE = DeliverabilityDashboardAccountStatus' "ACTIVE"++pattern DeliverabilityDashboardAccountStatus_DISABLED :: DeliverabilityDashboardAccountStatus+pattern DeliverabilityDashboardAccountStatus_DISABLED = DeliverabilityDashboardAccountStatus' "DISABLED"++pattern DeliverabilityDashboardAccountStatus_PENDING_EXPIRATION :: DeliverabilityDashboardAccountStatus+pattern DeliverabilityDashboardAccountStatus_PENDING_EXPIRATION = DeliverabilityDashboardAccountStatus' "PENDING_EXPIRATION"++{-# COMPLETE+ DeliverabilityDashboardAccountStatus_ACTIVE,+ DeliverabilityDashboardAccountStatus_DISABLED,+ DeliverabilityDashboardAccountStatus_PENDING_EXPIRATION,+ DeliverabilityDashboardAccountStatus'+ #-}
+ gen/Amazonka/PinpointEmail/Types/DeliverabilityTestReport.hs view
@@ -0,0 +1,159 @@+{-# 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.PinpointEmail.Types.DeliverabilityTestReport+-- 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.PinpointEmail.Types.DeliverabilityTestReport where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types.DeliverabilityTestStatus+import qualified Amazonka.Prelude as Prelude++-- | An object that contains metadata related to a predictive inbox placement+-- test.+--+-- /See:/ 'newDeliverabilityTestReport' smart constructor.+data DeliverabilityTestReport = DeliverabilityTestReport'+ { -- | The date and time when the predictive inbox placement test was created,+ -- in Unix time format.+ createDate :: Prelude.Maybe Data.POSIX,+ -- | The status of the predictive inbox placement test. If the status is+ -- @IN_PROGRESS@, then the predictive inbox placement test is currently+ -- running. Predictive inbox placement tests are usually complete within 24+ -- hours of creating the test. If the status is @COMPLETE@, then the test+ -- is finished, and you can use the @GetDeliverabilityTestReport@ to view+ -- the results of the test.+ deliverabilityTestStatus :: Prelude.Maybe DeliverabilityTestStatus,+ -- | The sender address that you specified for the predictive inbox placement+ -- test.+ fromEmailAddress :: Prelude.Maybe Prelude.Text,+ -- | A unique string that identifies the predictive inbox placement test.+ reportId :: Prelude.Maybe Prelude.Text,+ -- | A name that helps you identify a predictive inbox placement test report.+ reportName :: Prelude.Maybe Prelude.Text,+ -- | The subject line for an email that you submitted in a predictive inbox+ -- placement test.+ subject :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeliverabilityTestReport' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'createDate', 'deliverabilityTestReport_createDate' - The date and time when the predictive inbox placement test was created,+-- in Unix time format.+--+-- 'deliverabilityTestStatus', 'deliverabilityTestReport_deliverabilityTestStatus' - The status of the predictive inbox placement test. If the status is+-- @IN_PROGRESS@, then the predictive inbox placement test is currently+-- running. Predictive inbox placement tests are usually complete within 24+-- hours of creating the test. If the status is @COMPLETE@, then the test+-- is finished, and you can use the @GetDeliverabilityTestReport@ to view+-- the results of the test.+--+-- 'fromEmailAddress', 'deliverabilityTestReport_fromEmailAddress' - The sender address that you specified for the predictive inbox placement+-- test.+--+-- 'reportId', 'deliverabilityTestReport_reportId' - A unique string that identifies the predictive inbox placement test.+--+-- 'reportName', 'deliverabilityTestReport_reportName' - A name that helps you identify a predictive inbox placement test report.+--+-- 'subject', 'deliverabilityTestReport_subject' - The subject line for an email that you submitted in a predictive inbox+-- placement test.+newDeliverabilityTestReport ::+ DeliverabilityTestReport+newDeliverabilityTestReport =+ DeliverabilityTestReport'+ { createDate =+ Prelude.Nothing,+ deliverabilityTestStatus = Prelude.Nothing,+ fromEmailAddress = Prelude.Nothing,+ reportId = Prelude.Nothing,+ reportName = Prelude.Nothing,+ subject = Prelude.Nothing+ }++-- | The date and time when the predictive inbox placement test was created,+-- in Unix time format.+deliverabilityTestReport_createDate :: Lens.Lens' DeliverabilityTestReport (Prelude.Maybe Prelude.UTCTime)+deliverabilityTestReport_createDate = Lens.lens (\DeliverabilityTestReport' {createDate} -> createDate) (\s@DeliverabilityTestReport' {} a -> s {createDate = a} :: DeliverabilityTestReport) Prelude.. Lens.mapping Data._Time++-- | The status of the predictive inbox placement test. If the status is+-- @IN_PROGRESS@, then the predictive inbox placement test is currently+-- running. Predictive inbox placement tests are usually complete within 24+-- hours of creating the test. If the status is @COMPLETE@, then the test+-- is finished, and you can use the @GetDeliverabilityTestReport@ to view+-- the results of the test.+deliverabilityTestReport_deliverabilityTestStatus :: Lens.Lens' DeliverabilityTestReport (Prelude.Maybe DeliverabilityTestStatus)+deliverabilityTestReport_deliverabilityTestStatus = Lens.lens (\DeliverabilityTestReport' {deliverabilityTestStatus} -> deliverabilityTestStatus) (\s@DeliverabilityTestReport' {} a -> s {deliverabilityTestStatus = a} :: DeliverabilityTestReport)++-- | The sender address that you specified for the predictive inbox placement+-- test.+deliverabilityTestReport_fromEmailAddress :: Lens.Lens' DeliverabilityTestReport (Prelude.Maybe Prelude.Text)+deliverabilityTestReport_fromEmailAddress = Lens.lens (\DeliverabilityTestReport' {fromEmailAddress} -> fromEmailAddress) (\s@DeliverabilityTestReport' {} a -> s {fromEmailAddress = a} :: DeliverabilityTestReport)++-- | A unique string that identifies the predictive inbox placement test.+deliverabilityTestReport_reportId :: Lens.Lens' DeliverabilityTestReport (Prelude.Maybe Prelude.Text)+deliverabilityTestReport_reportId = Lens.lens (\DeliverabilityTestReport' {reportId} -> reportId) (\s@DeliverabilityTestReport' {} a -> s {reportId = a} :: DeliverabilityTestReport)++-- | A name that helps you identify a predictive inbox placement test report.+deliverabilityTestReport_reportName :: Lens.Lens' DeliverabilityTestReport (Prelude.Maybe Prelude.Text)+deliverabilityTestReport_reportName = Lens.lens (\DeliverabilityTestReport' {reportName} -> reportName) (\s@DeliverabilityTestReport' {} a -> s {reportName = a} :: DeliverabilityTestReport)++-- | The subject line for an email that you submitted in a predictive inbox+-- placement test.+deliverabilityTestReport_subject :: Lens.Lens' DeliverabilityTestReport (Prelude.Maybe Prelude.Text)+deliverabilityTestReport_subject = Lens.lens (\DeliverabilityTestReport' {subject} -> subject) (\s@DeliverabilityTestReport' {} a -> s {subject = a} :: DeliverabilityTestReport)++instance Data.FromJSON DeliverabilityTestReport where+ parseJSON =+ Data.withObject+ "DeliverabilityTestReport"+ ( \x ->+ DeliverabilityTestReport'+ Prelude.<$> (x Data..:? "CreateDate")+ Prelude.<*> (x Data..:? "DeliverabilityTestStatus")+ Prelude.<*> (x Data..:? "FromEmailAddress")+ Prelude.<*> (x Data..:? "ReportId")+ Prelude.<*> (x Data..:? "ReportName")+ Prelude.<*> (x Data..:? "Subject")+ )++instance Prelude.Hashable DeliverabilityTestReport where+ hashWithSalt _salt DeliverabilityTestReport' {..} =+ _salt+ `Prelude.hashWithSalt` createDate+ `Prelude.hashWithSalt` deliverabilityTestStatus+ `Prelude.hashWithSalt` fromEmailAddress+ `Prelude.hashWithSalt` reportId+ `Prelude.hashWithSalt` reportName+ `Prelude.hashWithSalt` subject++instance Prelude.NFData DeliverabilityTestReport where+ rnf DeliverabilityTestReport' {..} =+ Prelude.rnf createDate+ `Prelude.seq` Prelude.rnf deliverabilityTestStatus+ `Prelude.seq` Prelude.rnf fromEmailAddress+ `Prelude.seq` Prelude.rnf reportId+ `Prelude.seq` Prelude.rnf reportName+ `Prelude.seq` Prelude.rnf subject
+ gen/Amazonka/PinpointEmail/Types/DeliverabilityTestStatus.hs view
@@ -0,0 +1,77 @@+{-# 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.PinpointEmail.Types.DeliverabilityTestStatus+-- 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.PinpointEmail.Types.DeliverabilityTestStatus+ ( DeliverabilityTestStatus+ ( ..,+ DeliverabilityTestStatus_COMPLETED,+ DeliverabilityTestStatus_IN_PROGRESS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The status of a predictive inbox placement test. If the status is+-- @IN_PROGRESS@, then the predictive inbox placement test is currently+-- running. Predictive inbox placement tests are usually complete within 24+-- hours of creating the test. If the status is @COMPLETE@, then the test+-- is finished, and you can use the @GetDeliverabilityTestReport@ operation+-- to view the results of the test.+newtype DeliverabilityTestStatus = DeliverabilityTestStatus'+ { fromDeliverabilityTestStatus ::+ 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 DeliverabilityTestStatus_COMPLETED :: DeliverabilityTestStatus+pattern DeliverabilityTestStatus_COMPLETED = DeliverabilityTestStatus' "COMPLETED"++pattern DeliverabilityTestStatus_IN_PROGRESS :: DeliverabilityTestStatus+pattern DeliverabilityTestStatus_IN_PROGRESS = DeliverabilityTestStatus' "IN_PROGRESS"++{-# COMPLETE+ DeliverabilityTestStatus_COMPLETED,+ DeliverabilityTestStatus_IN_PROGRESS,+ DeliverabilityTestStatus'+ #-}
+ gen/Amazonka/PinpointEmail/Types/DeliveryOptions.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.PinpointEmail.Types.DeliveryOptions+-- 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.PinpointEmail.Types.DeliveryOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types.TlsPolicy+import qualified Amazonka.Prelude as Prelude++-- | Used to associate a configuration set with a dedicated IP pool.+--+-- /See:/ 'newDeliveryOptions' smart constructor.+data DeliveryOptions = DeliveryOptions'+ { -- | The name of the dedicated IP pool that you want to associate with the+ -- configuration set.+ sendingPoolName :: Prelude.Maybe Prelude.Text,+ -- | Specifies whether messages that use the configuration set are required+ -- to use Transport Layer Security (TLS). If the value is @Require@,+ -- messages are only delivered if a TLS connection can be established. If+ -- the value is @Optional@, messages can be delivered in plain text if a+ -- TLS connection can\'t be established.+ tlsPolicy :: Prelude.Maybe TlsPolicy+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeliveryOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sendingPoolName', 'deliveryOptions_sendingPoolName' - The name of the dedicated IP pool that you want to associate with the+-- configuration set.+--+-- 'tlsPolicy', 'deliveryOptions_tlsPolicy' - Specifies whether messages that use the configuration set are required+-- to use Transport Layer Security (TLS). If the value is @Require@,+-- messages are only delivered if a TLS connection can be established. If+-- the value is @Optional@, messages can be delivered in plain text if a+-- TLS connection can\'t be established.+newDeliveryOptions ::+ DeliveryOptions+newDeliveryOptions =+ DeliveryOptions'+ { sendingPoolName = Prelude.Nothing,+ tlsPolicy = Prelude.Nothing+ }++-- | The name of the dedicated IP pool that you want to associate with the+-- configuration set.+deliveryOptions_sendingPoolName :: Lens.Lens' DeliveryOptions (Prelude.Maybe Prelude.Text)+deliveryOptions_sendingPoolName = Lens.lens (\DeliveryOptions' {sendingPoolName} -> sendingPoolName) (\s@DeliveryOptions' {} a -> s {sendingPoolName = a} :: DeliveryOptions)++-- | Specifies whether messages that use the configuration set are required+-- to use Transport Layer Security (TLS). If the value is @Require@,+-- messages are only delivered if a TLS connection can be established. If+-- the value is @Optional@, messages can be delivered in plain text if a+-- TLS connection can\'t be established.+deliveryOptions_tlsPolicy :: Lens.Lens' DeliveryOptions (Prelude.Maybe TlsPolicy)+deliveryOptions_tlsPolicy = Lens.lens (\DeliveryOptions' {tlsPolicy} -> tlsPolicy) (\s@DeliveryOptions' {} a -> s {tlsPolicy = a} :: DeliveryOptions)++instance Data.FromJSON DeliveryOptions where+ parseJSON =+ Data.withObject+ "DeliveryOptions"+ ( \x ->+ DeliveryOptions'+ Prelude.<$> (x Data..:? "SendingPoolName")+ Prelude.<*> (x Data..:? "TlsPolicy")+ )++instance Prelude.Hashable DeliveryOptions where+ hashWithSalt _salt DeliveryOptions' {..} =+ _salt+ `Prelude.hashWithSalt` sendingPoolName+ `Prelude.hashWithSalt` tlsPolicy++instance Prelude.NFData DeliveryOptions where+ rnf DeliveryOptions' {..} =+ Prelude.rnf sendingPoolName+ `Prelude.seq` Prelude.rnf tlsPolicy++instance Data.ToJSON DeliveryOptions where+ toJSON DeliveryOptions' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("SendingPoolName" Data..=)+ Prelude.<$> sendingPoolName,+ ("TlsPolicy" Data..=) Prelude.<$> tlsPolicy+ ]+ )
+ gen/Amazonka/PinpointEmail/Types/Destination.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.PinpointEmail.Types.Destination+-- 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.PinpointEmail.Types.Destination 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 object that describes the recipients for an email.+--+-- /See:/ 'newDestination' smart constructor.+data Destination = Destination'+ { -- | An array that contains the email addresses of the \"BCC\" (blind carbon+ -- copy) recipients for the email.+ bccAddresses :: Prelude.Maybe [Prelude.Text],+ -- | An array that contains the email addresses of the \"CC\" (carbon copy)+ -- recipients for the email.+ ccAddresses :: Prelude.Maybe [Prelude.Text],+ -- | An array that contains the email addresses of the \"To\" recipients for+ -- the email.+ toAddresses :: Prelude.Maybe [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Destination' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bccAddresses', 'destination_bccAddresses' - An array that contains the email addresses of the \"BCC\" (blind carbon+-- copy) recipients for the email.+--+-- 'ccAddresses', 'destination_ccAddresses' - An array that contains the email addresses of the \"CC\" (carbon copy)+-- recipients for the email.+--+-- 'toAddresses', 'destination_toAddresses' - An array that contains the email addresses of the \"To\" recipients for+-- the email.+newDestination ::+ Destination+newDestination =+ Destination'+ { bccAddresses = Prelude.Nothing,+ ccAddresses = Prelude.Nothing,+ toAddresses = Prelude.Nothing+ }++-- | An array that contains the email addresses of the \"BCC\" (blind carbon+-- copy) recipients for the email.+destination_bccAddresses :: Lens.Lens' Destination (Prelude.Maybe [Prelude.Text])+destination_bccAddresses = Lens.lens (\Destination' {bccAddresses} -> bccAddresses) (\s@Destination' {} a -> s {bccAddresses = a} :: Destination) Prelude.. Lens.mapping Lens.coerced++-- | An array that contains the email addresses of the \"CC\" (carbon copy)+-- recipients for the email.+destination_ccAddresses :: Lens.Lens' Destination (Prelude.Maybe [Prelude.Text])+destination_ccAddresses = Lens.lens (\Destination' {ccAddresses} -> ccAddresses) (\s@Destination' {} a -> s {ccAddresses = a} :: Destination) Prelude.. Lens.mapping Lens.coerced++-- | An array that contains the email addresses of the \"To\" recipients for+-- the email.+destination_toAddresses :: Lens.Lens' Destination (Prelude.Maybe [Prelude.Text])+destination_toAddresses = Lens.lens (\Destination' {toAddresses} -> toAddresses) (\s@Destination' {} a -> s {toAddresses = a} :: Destination) Prelude.. Lens.mapping Lens.coerced++instance Prelude.Hashable Destination where+ hashWithSalt _salt Destination' {..} =+ _salt+ `Prelude.hashWithSalt` bccAddresses+ `Prelude.hashWithSalt` ccAddresses+ `Prelude.hashWithSalt` toAddresses++instance Prelude.NFData Destination where+ rnf Destination' {..} =+ Prelude.rnf bccAddresses+ `Prelude.seq` Prelude.rnf ccAddresses+ `Prelude.seq` Prelude.rnf toAddresses++instance Data.ToJSON Destination where+ toJSON Destination' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("BccAddresses" Data..=) Prelude.<$> bccAddresses,+ ("CcAddresses" Data..=) Prelude.<$> ccAddresses,+ ("ToAddresses" Data..=) Prelude.<$> toAddresses+ ]+ )
+ gen/Amazonka/PinpointEmail/Types/DimensionValueSource.hs view
@@ -0,0 +1,83 @@+{-# 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.PinpointEmail.Types.DimensionValueSource+-- 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.PinpointEmail.Types.DimensionValueSource+ ( DimensionValueSource+ ( ..,+ DimensionValueSource_EMAIL_HEADER,+ DimensionValueSource_LINK_TAG,+ DimensionValueSource_MESSAGE_TAG+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The location where Amazon Pinpoint finds the value of a dimension to+-- publish to Amazon CloudWatch. If you want Amazon Pinpoint to use the+-- message tags that you specify using an X-SES-MESSAGE-TAGS header or a+-- parameter to the SendEmail\/SendRawEmail API, choose @messageTag@. If+-- you want Amazon Pinpoint to use your own email headers, choose+-- @emailHeader@. If you want Amazon Pinpoint to use link tags, choose+-- @linkTags@.+newtype DimensionValueSource = DimensionValueSource'+ { fromDimensionValueSource ::+ 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 DimensionValueSource_EMAIL_HEADER :: DimensionValueSource+pattern DimensionValueSource_EMAIL_HEADER = DimensionValueSource' "EMAIL_HEADER"++pattern DimensionValueSource_LINK_TAG :: DimensionValueSource+pattern DimensionValueSource_LINK_TAG = DimensionValueSource' "LINK_TAG"++pattern DimensionValueSource_MESSAGE_TAG :: DimensionValueSource+pattern DimensionValueSource_MESSAGE_TAG = DimensionValueSource' "MESSAGE_TAG"++{-# COMPLETE+ DimensionValueSource_EMAIL_HEADER,+ DimensionValueSource_LINK_TAG,+ DimensionValueSource_MESSAGE_TAG,+ DimensionValueSource'+ #-}
+ gen/Amazonka/PinpointEmail/Types/DkimAttributes.hs view
@@ -0,0 +1,182 @@+{-# 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.PinpointEmail.Types.DkimAttributes+-- 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.PinpointEmail.Types.DkimAttributes where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types.DkimStatus+import qualified Amazonka.Prelude as Prelude++-- | An object that contains information about the DKIM configuration for an+-- email identity.+--+-- /See:/ 'newDkimAttributes' smart constructor.+data DkimAttributes = DkimAttributes'+ { -- | If the value is @true@, then the messages that Amazon Pinpoint sends+ -- from the identity are DKIM-signed. If the value is @false@, then the+ -- messages that Amazon Pinpoint sends from the identity aren\'t+ -- DKIM-signed.+ signingEnabled :: Prelude.Maybe Prelude.Bool,+ -- | Describes whether or not Amazon Pinpoint has successfully located the+ -- DKIM records in the DNS records for the domain. The status can be one of+ -- the following:+ --+ -- - @PENDING@ – Amazon Pinpoint hasn\'t yet located the DKIM records in+ -- the DNS configuration for the domain, but will continue to attempt+ -- to locate them.+ --+ -- - @SUCCESS@ – Amazon Pinpoint located the DKIM records in the DNS+ -- configuration for the domain and determined that they\'re correct.+ -- Amazon Pinpoint can now send DKIM-signed email from the identity.+ --+ -- - @FAILED@ – Amazon Pinpoint was unable to locate the DKIM records in+ -- the DNS settings for the domain, and won\'t continue to search for+ -- them.+ --+ -- - @TEMPORARY_FAILURE@ – A temporary issue occurred, which prevented+ -- Amazon Pinpoint from determining the DKIM status for the domain.+ --+ -- - @NOT_STARTED@ – Amazon Pinpoint hasn\'t yet started searching for+ -- the DKIM records in the DKIM records for the domain.+ status :: Prelude.Maybe DkimStatus,+ -- | A set of unique strings that you use to create a set of CNAME records+ -- that you add to the DNS configuration for your domain. When Amazon+ -- Pinpoint detects these records in the DNS configuration for your domain,+ -- the DKIM authentication process is complete. Amazon Pinpoint usually+ -- detects these records within about 72 hours of adding them to the DNS+ -- configuration for your domain.+ tokens :: Prelude.Maybe [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DkimAttributes' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'signingEnabled', 'dkimAttributes_signingEnabled' - If the value is @true@, then the messages that Amazon Pinpoint sends+-- from the identity are DKIM-signed. If the value is @false@, then the+-- messages that Amazon Pinpoint sends from the identity aren\'t+-- DKIM-signed.+--+-- 'status', 'dkimAttributes_status' - Describes whether or not Amazon Pinpoint has successfully located the+-- DKIM records in the DNS records for the domain. The status can be one of+-- the following:+--+-- - @PENDING@ – Amazon Pinpoint hasn\'t yet located the DKIM records in+-- the DNS configuration for the domain, but will continue to attempt+-- to locate them.+--+-- - @SUCCESS@ – Amazon Pinpoint located the DKIM records in the DNS+-- configuration for the domain and determined that they\'re correct.+-- Amazon Pinpoint can now send DKIM-signed email from the identity.+--+-- - @FAILED@ – Amazon Pinpoint was unable to locate the DKIM records in+-- the DNS settings for the domain, and won\'t continue to search for+-- them.+--+-- - @TEMPORARY_FAILURE@ – A temporary issue occurred, which prevented+-- Amazon Pinpoint from determining the DKIM status for the domain.+--+-- - @NOT_STARTED@ – Amazon Pinpoint hasn\'t yet started searching for+-- the DKIM records in the DKIM records for the domain.+--+-- 'tokens', 'dkimAttributes_tokens' - A set of unique strings that you use to create a set of CNAME records+-- that you add to the DNS configuration for your domain. When Amazon+-- Pinpoint detects these records in the DNS configuration for your domain,+-- the DKIM authentication process is complete. Amazon Pinpoint usually+-- detects these records within about 72 hours of adding them to the DNS+-- configuration for your domain.+newDkimAttributes ::+ DkimAttributes+newDkimAttributes =+ DkimAttributes'+ { signingEnabled = Prelude.Nothing,+ status = Prelude.Nothing,+ tokens = Prelude.Nothing+ }++-- | If the value is @true@, then the messages that Amazon Pinpoint sends+-- from the identity are DKIM-signed. If the value is @false@, then the+-- messages that Amazon Pinpoint sends from the identity aren\'t+-- DKIM-signed.+dkimAttributes_signingEnabled :: Lens.Lens' DkimAttributes (Prelude.Maybe Prelude.Bool)+dkimAttributes_signingEnabled = Lens.lens (\DkimAttributes' {signingEnabled} -> signingEnabled) (\s@DkimAttributes' {} a -> s {signingEnabled = a} :: DkimAttributes)++-- | Describes whether or not Amazon Pinpoint has successfully located the+-- DKIM records in the DNS records for the domain. The status can be one of+-- the following:+--+-- - @PENDING@ – Amazon Pinpoint hasn\'t yet located the DKIM records in+-- the DNS configuration for the domain, but will continue to attempt+-- to locate them.+--+-- - @SUCCESS@ – Amazon Pinpoint located the DKIM records in the DNS+-- configuration for the domain and determined that they\'re correct.+-- Amazon Pinpoint can now send DKIM-signed email from the identity.+--+-- - @FAILED@ – Amazon Pinpoint was unable to locate the DKIM records in+-- the DNS settings for the domain, and won\'t continue to search for+-- them.+--+-- - @TEMPORARY_FAILURE@ – A temporary issue occurred, which prevented+-- Amazon Pinpoint from determining the DKIM status for the domain.+--+-- - @NOT_STARTED@ – Amazon Pinpoint hasn\'t yet started searching for+-- the DKIM records in the DKIM records for the domain.+dkimAttributes_status :: Lens.Lens' DkimAttributes (Prelude.Maybe DkimStatus)+dkimAttributes_status = Lens.lens (\DkimAttributes' {status} -> status) (\s@DkimAttributes' {} a -> s {status = a} :: DkimAttributes)++-- | A set of unique strings that you use to create a set of CNAME records+-- that you add to the DNS configuration for your domain. When Amazon+-- Pinpoint detects these records in the DNS configuration for your domain,+-- the DKIM authentication process is complete. Amazon Pinpoint usually+-- detects these records within about 72 hours of adding them to the DNS+-- configuration for your domain.+dkimAttributes_tokens :: Lens.Lens' DkimAttributes (Prelude.Maybe [Prelude.Text])+dkimAttributes_tokens = Lens.lens (\DkimAttributes' {tokens} -> tokens) (\s@DkimAttributes' {} a -> s {tokens = a} :: DkimAttributes) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON DkimAttributes where+ parseJSON =+ Data.withObject+ "DkimAttributes"+ ( \x ->+ DkimAttributes'+ Prelude.<$> (x Data..:? "SigningEnabled")+ Prelude.<*> (x Data..:? "Status")+ Prelude.<*> (x Data..:? "Tokens" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable DkimAttributes where+ hashWithSalt _salt DkimAttributes' {..} =+ _salt+ `Prelude.hashWithSalt` signingEnabled+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` tokens++instance Prelude.NFData DkimAttributes where+ rnf DkimAttributes' {..} =+ Prelude.rnf signingEnabled+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf tokens
+ gen/Amazonka/PinpointEmail/Types/DkimStatus.hs view
@@ -0,0 +1,105 @@+{-# 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.PinpointEmail.Types.DkimStatus+-- 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.PinpointEmail.Types.DkimStatus+ ( DkimStatus+ ( ..,+ DkimStatus_FAILED,+ DkimStatus_NOT_STARTED,+ DkimStatus_PENDING,+ DkimStatus_SUCCESS,+ DkimStatus_TEMPORARY_FAILURE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The DKIM authentication status of the identity. The status can be one of+-- the following:+--+-- - @PENDING@ – The DKIM verification process was initiated, and Amazon+-- Pinpoint is still waiting for the required CNAME records to appear+-- in the DNS configuration for the domain.+--+-- - @SUCCESS@ – The DKIM authentication process completed successfully.+--+-- - @FAILED@ – The DKIM authentication process failed. This can happen+-- when Amazon Pinpoint fails to find the required CNAME records in the+-- DNS configuration of the domain.+--+-- - @TEMPORARY_FAILURE@ – A temporary issue is preventing Amazon+-- Pinpoint from determining the DKIM authentication status of the+-- domain.+--+-- - @NOT_STARTED@ – The DKIM verification process hasn\'t been initiated+-- for the domain.+newtype DkimStatus = DkimStatus'+ { fromDkimStatus ::+ 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 DkimStatus_FAILED :: DkimStatus+pattern DkimStatus_FAILED = DkimStatus' "FAILED"++pattern DkimStatus_NOT_STARTED :: DkimStatus+pattern DkimStatus_NOT_STARTED = DkimStatus' "NOT_STARTED"++pattern DkimStatus_PENDING :: DkimStatus+pattern DkimStatus_PENDING = DkimStatus' "PENDING"++pattern DkimStatus_SUCCESS :: DkimStatus+pattern DkimStatus_SUCCESS = DkimStatus' "SUCCESS"++pattern DkimStatus_TEMPORARY_FAILURE :: DkimStatus+pattern DkimStatus_TEMPORARY_FAILURE = DkimStatus' "TEMPORARY_FAILURE"++{-# COMPLETE+ DkimStatus_FAILED,+ DkimStatus_NOT_STARTED,+ DkimStatus_PENDING,+ DkimStatus_SUCCESS,+ DkimStatus_TEMPORARY_FAILURE,+ DkimStatus'+ #-}
+ gen/Amazonka/PinpointEmail/Types/DomainDeliverabilityCampaign.hs view
@@ -0,0 +1,289 @@+{-# 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.PinpointEmail.Types.DomainDeliverabilityCampaign+-- 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.PinpointEmail.Types.DomainDeliverabilityCampaign 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 object that contains the deliverability data for a specific campaign.+-- This data is available for a campaign only if the campaign sent email by+-- using a domain that the Deliverability dashboard is enabled for+-- (@PutDeliverabilityDashboardOption@ operation).+--+-- /See:/ 'newDomainDeliverabilityCampaign' smart constructor.+data DomainDeliverabilityCampaign = DomainDeliverabilityCampaign'+ { -- | The unique identifier for the campaign. Amazon Pinpoint automatically+ -- generates and assigns this identifier to a campaign. This value is not+ -- the same as the campaign identifier that Amazon Pinpoint assigns to+ -- campaigns that you create and manage by using the Amazon Pinpoint API or+ -- the Amazon Pinpoint console.+ campaignId :: Prelude.Maybe Prelude.Text,+ -- | The percentage of email messages that were deleted by recipients,+ -- without being opened first. Due to technical limitations, this value+ -- only includes recipients who opened the message by using an email client+ -- that supports images.+ deleteRate :: Prelude.Maybe Prelude.Double,+ -- | The major email providers who handled the email message.+ esps :: Prelude.Maybe [Prelude.Text],+ -- | The first time, in Unix time format, when the email message was+ -- delivered to any recipient\'s inbox. This value can help you determine+ -- how long it took for a campaign to deliver an email message.+ firstSeenDateTime :: Prelude.Maybe Data.POSIX,+ -- | The verified email address that the email message was sent from.+ fromAddress :: Prelude.Maybe Prelude.Text,+ -- | The URL of an image that contains a snapshot of the email message that+ -- was sent.+ imageUrl :: Prelude.Maybe Prelude.Text,+ -- | The number of email messages that were delivered to recipients’ inboxes.+ inboxCount :: Prelude.Maybe Prelude.Integer,+ -- | The last time, in Unix time format, when the email message was delivered+ -- to any recipient\'s inbox. This value can help you determine how long it+ -- took for a campaign to deliver an email message.+ lastSeenDateTime :: Prelude.Maybe Data.POSIX,+ -- | The projected number of recipients that the email message was sent to.+ projectedVolume :: Prelude.Maybe Prelude.Integer,+ -- | The percentage of email messages that were opened and then deleted by+ -- recipients. Due to technical limitations, this value only includes+ -- recipients who opened the message by using an email client that supports+ -- images.+ readDeleteRate :: Prelude.Maybe Prelude.Double,+ -- | The percentage of email messages that were opened by recipients. Due to+ -- technical limitations, this value only includes recipients who opened+ -- the message by using an email client that supports images.+ readRate :: Prelude.Maybe Prelude.Double,+ -- | The IP addresses that were used to send the email message.+ sendingIps :: Prelude.Maybe [Prelude.Text],+ -- | The number of email messages that were delivered to recipients\' spam or+ -- junk mail folders.+ spamCount :: Prelude.Maybe Prelude.Integer,+ -- | The subject line, or title, of the email message.+ subject :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DomainDeliverabilityCampaign' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'campaignId', 'domainDeliverabilityCampaign_campaignId' - The unique identifier for the campaign. Amazon Pinpoint automatically+-- generates and assigns this identifier to a campaign. This value is not+-- the same as the campaign identifier that Amazon Pinpoint assigns to+-- campaigns that you create and manage by using the Amazon Pinpoint API or+-- the Amazon Pinpoint console.+--+-- 'deleteRate', 'domainDeliverabilityCampaign_deleteRate' - The percentage of email messages that were deleted by recipients,+-- without being opened first. Due to technical limitations, this value+-- only includes recipients who opened the message by using an email client+-- that supports images.+--+-- 'esps', 'domainDeliverabilityCampaign_esps' - The major email providers who handled the email message.+--+-- 'firstSeenDateTime', 'domainDeliverabilityCampaign_firstSeenDateTime' - The first time, in Unix time format, when the email message was+-- delivered to any recipient\'s inbox. This value can help you determine+-- how long it took for a campaign to deliver an email message.+--+-- 'fromAddress', 'domainDeliverabilityCampaign_fromAddress' - The verified email address that the email message was sent from.+--+-- 'imageUrl', 'domainDeliverabilityCampaign_imageUrl' - The URL of an image that contains a snapshot of the email message that+-- was sent.+--+-- 'inboxCount', 'domainDeliverabilityCampaign_inboxCount' - The number of email messages that were delivered to recipients’ inboxes.+--+-- 'lastSeenDateTime', 'domainDeliverabilityCampaign_lastSeenDateTime' - The last time, in Unix time format, when the email message was delivered+-- to any recipient\'s inbox. This value can help you determine how long it+-- took for a campaign to deliver an email message.+--+-- 'projectedVolume', 'domainDeliverabilityCampaign_projectedVolume' - The projected number of recipients that the email message was sent to.+--+-- 'readDeleteRate', 'domainDeliverabilityCampaign_readDeleteRate' - The percentage of email messages that were opened and then deleted by+-- recipients. Due to technical limitations, this value only includes+-- recipients who opened the message by using an email client that supports+-- images.+--+-- 'readRate', 'domainDeliverabilityCampaign_readRate' - The percentage of email messages that were opened by recipients. Due to+-- technical limitations, this value only includes recipients who opened+-- the message by using an email client that supports images.+--+-- 'sendingIps', 'domainDeliverabilityCampaign_sendingIps' - The IP addresses that were used to send the email message.+--+-- 'spamCount', 'domainDeliverabilityCampaign_spamCount' - The number of email messages that were delivered to recipients\' spam or+-- junk mail folders.+--+-- 'subject', 'domainDeliverabilityCampaign_subject' - The subject line, or title, of the email message.+newDomainDeliverabilityCampaign ::+ DomainDeliverabilityCampaign+newDomainDeliverabilityCampaign =+ DomainDeliverabilityCampaign'+ { campaignId =+ Prelude.Nothing,+ deleteRate = Prelude.Nothing,+ esps = Prelude.Nothing,+ firstSeenDateTime = Prelude.Nothing,+ fromAddress = Prelude.Nothing,+ imageUrl = Prelude.Nothing,+ inboxCount = Prelude.Nothing,+ lastSeenDateTime = Prelude.Nothing,+ projectedVolume = Prelude.Nothing,+ readDeleteRate = Prelude.Nothing,+ readRate = Prelude.Nothing,+ sendingIps = Prelude.Nothing,+ spamCount = Prelude.Nothing,+ subject = Prelude.Nothing+ }++-- | The unique identifier for the campaign. Amazon Pinpoint automatically+-- generates and assigns this identifier to a campaign. This value is not+-- the same as the campaign identifier that Amazon Pinpoint assigns to+-- campaigns that you create and manage by using the Amazon Pinpoint API or+-- the Amazon Pinpoint console.+domainDeliverabilityCampaign_campaignId :: Lens.Lens' DomainDeliverabilityCampaign (Prelude.Maybe Prelude.Text)+domainDeliverabilityCampaign_campaignId = Lens.lens (\DomainDeliverabilityCampaign' {campaignId} -> campaignId) (\s@DomainDeliverabilityCampaign' {} a -> s {campaignId = a} :: DomainDeliverabilityCampaign)++-- | The percentage of email messages that were deleted by recipients,+-- without being opened first. Due to technical limitations, this value+-- only includes recipients who opened the message by using an email client+-- that supports images.+domainDeliverabilityCampaign_deleteRate :: Lens.Lens' DomainDeliverabilityCampaign (Prelude.Maybe Prelude.Double)+domainDeliverabilityCampaign_deleteRate = Lens.lens (\DomainDeliverabilityCampaign' {deleteRate} -> deleteRate) (\s@DomainDeliverabilityCampaign' {} a -> s {deleteRate = a} :: DomainDeliverabilityCampaign)++-- | The major email providers who handled the email message.+domainDeliverabilityCampaign_esps :: Lens.Lens' DomainDeliverabilityCampaign (Prelude.Maybe [Prelude.Text])+domainDeliverabilityCampaign_esps = Lens.lens (\DomainDeliverabilityCampaign' {esps} -> esps) (\s@DomainDeliverabilityCampaign' {} a -> s {esps = a} :: DomainDeliverabilityCampaign) Prelude.. Lens.mapping Lens.coerced++-- | The first time, in Unix time format, when the email message was+-- delivered to any recipient\'s inbox. This value can help you determine+-- how long it took for a campaign to deliver an email message.+domainDeliverabilityCampaign_firstSeenDateTime :: Lens.Lens' DomainDeliverabilityCampaign (Prelude.Maybe Prelude.UTCTime)+domainDeliverabilityCampaign_firstSeenDateTime = Lens.lens (\DomainDeliverabilityCampaign' {firstSeenDateTime} -> firstSeenDateTime) (\s@DomainDeliverabilityCampaign' {} a -> s {firstSeenDateTime = a} :: DomainDeliverabilityCampaign) Prelude.. Lens.mapping Data._Time++-- | The verified email address that the email message was sent from.+domainDeliverabilityCampaign_fromAddress :: Lens.Lens' DomainDeliverabilityCampaign (Prelude.Maybe Prelude.Text)+domainDeliverabilityCampaign_fromAddress = Lens.lens (\DomainDeliverabilityCampaign' {fromAddress} -> fromAddress) (\s@DomainDeliverabilityCampaign' {} a -> s {fromAddress = a} :: DomainDeliverabilityCampaign)++-- | The URL of an image that contains a snapshot of the email message that+-- was sent.+domainDeliverabilityCampaign_imageUrl :: Lens.Lens' DomainDeliverabilityCampaign (Prelude.Maybe Prelude.Text)+domainDeliverabilityCampaign_imageUrl = Lens.lens (\DomainDeliverabilityCampaign' {imageUrl} -> imageUrl) (\s@DomainDeliverabilityCampaign' {} a -> s {imageUrl = a} :: DomainDeliverabilityCampaign)++-- | The number of email messages that were delivered to recipients’ inboxes.+domainDeliverabilityCampaign_inboxCount :: Lens.Lens' DomainDeliverabilityCampaign (Prelude.Maybe Prelude.Integer)+domainDeliverabilityCampaign_inboxCount = Lens.lens (\DomainDeliverabilityCampaign' {inboxCount} -> inboxCount) (\s@DomainDeliverabilityCampaign' {} a -> s {inboxCount = a} :: DomainDeliverabilityCampaign)++-- | The last time, in Unix time format, when the email message was delivered+-- to any recipient\'s inbox. This value can help you determine how long it+-- took for a campaign to deliver an email message.+domainDeliverabilityCampaign_lastSeenDateTime :: Lens.Lens' DomainDeliverabilityCampaign (Prelude.Maybe Prelude.UTCTime)+domainDeliverabilityCampaign_lastSeenDateTime = Lens.lens (\DomainDeliverabilityCampaign' {lastSeenDateTime} -> lastSeenDateTime) (\s@DomainDeliverabilityCampaign' {} a -> s {lastSeenDateTime = a} :: DomainDeliverabilityCampaign) Prelude.. Lens.mapping Data._Time++-- | The projected number of recipients that the email message was sent to.+domainDeliverabilityCampaign_projectedVolume :: Lens.Lens' DomainDeliverabilityCampaign (Prelude.Maybe Prelude.Integer)+domainDeliverabilityCampaign_projectedVolume = Lens.lens (\DomainDeliverabilityCampaign' {projectedVolume} -> projectedVolume) (\s@DomainDeliverabilityCampaign' {} a -> s {projectedVolume = a} :: DomainDeliverabilityCampaign)++-- | The percentage of email messages that were opened and then deleted by+-- recipients. Due to technical limitations, this value only includes+-- recipients who opened the message by using an email client that supports+-- images.+domainDeliverabilityCampaign_readDeleteRate :: Lens.Lens' DomainDeliverabilityCampaign (Prelude.Maybe Prelude.Double)+domainDeliverabilityCampaign_readDeleteRate = Lens.lens (\DomainDeliverabilityCampaign' {readDeleteRate} -> readDeleteRate) (\s@DomainDeliverabilityCampaign' {} a -> s {readDeleteRate = a} :: DomainDeliverabilityCampaign)++-- | The percentage of email messages that were opened by recipients. Due to+-- technical limitations, this value only includes recipients who opened+-- the message by using an email client that supports images.+domainDeliverabilityCampaign_readRate :: Lens.Lens' DomainDeliverabilityCampaign (Prelude.Maybe Prelude.Double)+domainDeliverabilityCampaign_readRate = Lens.lens (\DomainDeliverabilityCampaign' {readRate} -> readRate) (\s@DomainDeliverabilityCampaign' {} a -> s {readRate = a} :: DomainDeliverabilityCampaign)++-- | The IP addresses that were used to send the email message.+domainDeliverabilityCampaign_sendingIps :: Lens.Lens' DomainDeliverabilityCampaign (Prelude.Maybe [Prelude.Text])+domainDeliverabilityCampaign_sendingIps = Lens.lens (\DomainDeliverabilityCampaign' {sendingIps} -> sendingIps) (\s@DomainDeliverabilityCampaign' {} a -> s {sendingIps = a} :: DomainDeliverabilityCampaign) Prelude.. Lens.mapping Lens.coerced++-- | The number of email messages that were delivered to recipients\' spam or+-- junk mail folders.+domainDeliverabilityCampaign_spamCount :: Lens.Lens' DomainDeliverabilityCampaign (Prelude.Maybe Prelude.Integer)+domainDeliverabilityCampaign_spamCount = Lens.lens (\DomainDeliverabilityCampaign' {spamCount} -> spamCount) (\s@DomainDeliverabilityCampaign' {} a -> s {spamCount = a} :: DomainDeliverabilityCampaign)++-- | The subject line, or title, of the email message.+domainDeliverabilityCampaign_subject :: Lens.Lens' DomainDeliverabilityCampaign (Prelude.Maybe Prelude.Text)+domainDeliverabilityCampaign_subject = Lens.lens (\DomainDeliverabilityCampaign' {subject} -> subject) (\s@DomainDeliverabilityCampaign' {} a -> s {subject = a} :: DomainDeliverabilityCampaign)++instance Data.FromJSON DomainDeliverabilityCampaign where+ parseJSON =+ Data.withObject+ "DomainDeliverabilityCampaign"+ ( \x ->+ DomainDeliverabilityCampaign'+ Prelude.<$> (x Data..:? "CampaignId")+ Prelude.<*> (x Data..:? "DeleteRate")+ Prelude.<*> (x Data..:? "Esps" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "FirstSeenDateTime")+ Prelude.<*> (x Data..:? "FromAddress")+ Prelude.<*> (x Data..:? "ImageUrl")+ Prelude.<*> (x Data..:? "InboxCount")+ Prelude.<*> (x Data..:? "LastSeenDateTime")+ Prelude.<*> (x Data..:? "ProjectedVolume")+ Prelude.<*> (x Data..:? "ReadDeleteRate")+ Prelude.<*> (x Data..:? "ReadRate")+ Prelude.<*> (x Data..:? "SendingIps" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "SpamCount")+ Prelude.<*> (x Data..:? "Subject")+ )++instance+ Prelude.Hashable+ DomainDeliverabilityCampaign+ where+ hashWithSalt _salt DomainDeliverabilityCampaign' {..} =+ _salt+ `Prelude.hashWithSalt` campaignId+ `Prelude.hashWithSalt` deleteRate+ `Prelude.hashWithSalt` esps+ `Prelude.hashWithSalt` firstSeenDateTime+ `Prelude.hashWithSalt` fromAddress+ `Prelude.hashWithSalt` imageUrl+ `Prelude.hashWithSalt` inboxCount+ `Prelude.hashWithSalt` lastSeenDateTime+ `Prelude.hashWithSalt` projectedVolume+ `Prelude.hashWithSalt` readDeleteRate+ `Prelude.hashWithSalt` readRate+ `Prelude.hashWithSalt` sendingIps+ `Prelude.hashWithSalt` spamCount+ `Prelude.hashWithSalt` subject++instance Prelude.NFData DomainDeliverabilityCampaign where+ rnf DomainDeliverabilityCampaign' {..} =+ Prelude.rnf campaignId+ `Prelude.seq` Prelude.rnf deleteRate+ `Prelude.seq` Prelude.rnf esps+ `Prelude.seq` Prelude.rnf firstSeenDateTime+ `Prelude.seq` Prelude.rnf fromAddress+ `Prelude.seq` Prelude.rnf imageUrl+ `Prelude.seq` Prelude.rnf inboxCount+ `Prelude.seq` Prelude.rnf lastSeenDateTime+ `Prelude.seq` Prelude.rnf projectedVolume+ `Prelude.seq` Prelude.rnf readDeleteRate+ `Prelude.seq` Prelude.rnf readRate+ `Prelude.seq` Prelude.rnf sendingIps+ `Prelude.seq` Prelude.rnf spamCount+ `Prelude.seq` Prelude.rnf subject
+ gen/Amazonka/PinpointEmail/Types/DomainDeliverabilityTrackingOption.hs view
@@ -0,0 +1,138 @@+{-# 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.PinpointEmail.Types.DomainDeliverabilityTrackingOption+-- 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.PinpointEmail.Types.DomainDeliverabilityTrackingOption where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types.InboxPlacementTrackingOption+import qualified Amazonka.Prelude as Prelude++-- | An object that contains information about the Deliverability dashboard+-- subscription for a verified domain that you use to send email and+-- currently has an active Deliverability dashboard subscription. If a+-- Deliverability dashboard subscription is active for a domain, you gain+-- access to reputation, inbox placement, and other metrics for the domain.+--+-- /See:/ 'newDomainDeliverabilityTrackingOption' smart constructor.+data DomainDeliverabilityTrackingOption = DomainDeliverabilityTrackingOption'+ { -- | A verified domain that’s associated with your AWS account and currently+ -- has an active Deliverability dashboard subscription.+ domain :: Prelude.Maybe Prelude.Text,+ -- | An object that contains information about the inbox placement data+ -- settings for the domain.+ inboxPlacementTrackingOption :: Prelude.Maybe InboxPlacementTrackingOption,+ -- | The date, in Unix time format, when you enabled the Deliverability+ -- dashboard for the domain.+ subscriptionStartDate :: Prelude.Maybe Data.POSIX+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DomainDeliverabilityTrackingOption' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'domainDeliverabilityTrackingOption_domain' - A verified domain that’s associated with your AWS account and currently+-- has an active Deliverability dashboard subscription.+--+-- 'inboxPlacementTrackingOption', 'domainDeliverabilityTrackingOption_inboxPlacementTrackingOption' - An object that contains information about the inbox placement data+-- settings for the domain.+--+-- 'subscriptionStartDate', 'domainDeliverabilityTrackingOption_subscriptionStartDate' - The date, in Unix time format, when you enabled the Deliverability+-- dashboard for the domain.+newDomainDeliverabilityTrackingOption ::+ DomainDeliverabilityTrackingOption+newDomainDeliverabilityTrackingOption =+ DomainDeliverabilityTrackingOption'+ { domain =+ Prelude.Nothing,+ inboxPlacementTrackingOption =+ Prelude.Nothing,+ subscriptionStartDate = Prelude.Nothing+ }++-- | A verified domain that’s associated with your AWS account and currently+-- has an active Deliverability dashboard subscription.+domainDeliverabilityTrackingOption_domain :: Lens.Lens' DomainDeliverabilityTrackingOption (Prelude.Maybe Prelude.Text)+domainDeliverabilityTrackingOption_domain = Lens.lens (\DomainDeliverabilityTrackingOption' {domain} -> domain) (\s@DomainDeliverabilityTrackingOption' {} a -> s {domain = a} :: DomainDeliverabilityTrackingOption)++-- | An object that contains information about the inbox placement data+-- settings for the domain.+domainDeliverabilityTrackingOption_inboxPlacementTrackingOption :: Lens.Lens' DomainDeliverabilityTrackingOption (Prelude.Maybe InboxPlacementTrackingOption)+domainDeliverabilityTrackingOption_inboxPlacementTrackingOption = Lens.lens (\DomainDeliverabilityTrackingOption' {inboxPlacementTrackingOption} -> inboxPlacementTrackingOption) (\s@DomainDeliverabilityTrackingOption' {} a -> s {inboxPlacementTrackingOption = a} :: DomainDeliverabilityTrackingOption)++-- | The date, in Unix time format, when you enabled the Deliverability+-- dashboard for the domain.+domainDeliverabilityTrackingOption_subscriptionStartDate :: Lens.Lens' DomainDeliverabilityTrackingOption (Prelude.Maybe Prelude.UTCTime)+domainDeliverabilityTrackingOption_subscriptionStartDate = Lens.lens (\DomainDeliverabilityTrackingOption' {subscriptionStartDate} -> subscriptionStartDate) (\s@DomainDeliverabilityTrackingOption' {} a -> s {subscriptionStartDate = a} :: DomainDeliverabilityTrackingOption) Prelude.. Lens.mapping Data._Time++instance+ Data.FromJSON+ DomainDeliverabilityTrackingOption+ where+ parseJSON =+ Data.withObject+ "DomainDeliverabilityTrackingOption"+ ( \x ->+ DomainDeliverabilityTrackingOption'+ Prelude.<$> (x Data..:? "Domain")+ Prelude.<*> (x Data..:? "InboxPlacementTrackingOption")+ Prelude.<*> (x Data..:? "SubscriptionStartDate")+ )++instance+ Prelude.Hashable+ DomainDeliverabilityTrackingOption+ where+ hashWithSalt+ _salt+ DomainDeliverabilityTrackingOption' {..} =+ _salt+ `Prelude.hashWithSalt` domain+ `Prelude.hashWithSalt` inboxPlacementTrackingOption+ `Prelude.hashWithSalt` subscriptionStartDate++instance+ Prelude.NFData+ DomainDeliverabilityTrackingOption+ where+ rnf DomainDeliverabilityTrackingOption' {..} =+ Prelude.rnf domain+ `Prelude.seq` Prelude.rnf inboxPlacementTrackingOption+ `Prelude.seq` Prelude.rnf subscriptionStartDate++instance+ Data.ToJSON+ DomainDeliverabilityTrackingOption+ where+ toJSON DomainDeliverabilityTrackingOption' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Domain" Data..=) Prelude.<$> domain,+ ("InboxPlacementTrackingOption" Data..=)+ Prelude.<$> inboxPlacementTrackingOption,+ ("SubscriptionStartDate" Data..=)+ Prelude.<$> subscriptionStartDate+ ]+ )
+ gen/Amazonka/PinpointEmail/Types/DomainIspPlacement.hs view
@@ -0,0 +1,140 @@+{-# 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.PinpointEmail.Types.DomainIspPlacement+-- 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.PinpointEmail.Types.DomainIspPlacement 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 object that contains inbox placement data for email sent from one of+-- your email domains to a specific email provider.+--+-- /See:/ 'newDomainIspPlacement' smart constructor.+data DomainIspPlacement = DomainIspPlacement'+ { -- | The percentage of messages that were sent from the selected domain to+ -- the specified email provider that arrived in recipients\' inboxes.+ inboxPercentage :: Prelude.Maybe Prelude.Double,+ -- | The total number of messages that were sent from the selected domain to+ -- the specified email provider that arrived in recipients\' inboxes.+ inboxRawCount :: Prelude.Maybe Prelude.Integer,+ -- | The name of the email provider that the inbox placement data applies to.+ ispName :: Prelude.Maybe Prelude.Text,+ -- | The percentage of messages that were sent from the selected domain to+ -- the specified email provider that arrived in recipients\' spam or junk+ -- mail folders.+ spamPercentage :: Prelude.Maybe Prelude.Double,+ -- | The total number of messages that were sent from the selected domain to+ -- the specified email provider that arrived in recipients\' spam or junk+ -- mail folders.+ spamRawCount :: Prelude.Maybe Prelude.Integer+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DomainIspPlacement' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'inboxPercentage', 'domainIspPlacement_inboxPercentage' - The percentage of messages that were sent from the selected domain to+-- the specified email provider that arrived in recipients\' inboxes.+--+-- 'inboxRawCount', 'domainIspPlacement_inboxRawCount' - The total number of messages that were sent from the selected domain to+-- the specified email provider that arrived in recipients\' inboxes.+--+-- 'ispName', 'domainIspPlacement_ispName' - The name of the email provider that the inbox placement data applies to.+--+-- 'spamPercentage', 'domainIspPlacement_spamPercentage' - The percentage of messages that were sent from the selected domain to+-- the specified email provider that arrived in recipients\' spam or junk+-- mail folders.+--+-- 'spamRawCount', 'domainIspPlacement_spamRawCount' - The total number of messages that were sent from the selected domain to+-- the specified email provider that arrived in recipients\' spam or junk+-- mail folders.+newDomainIspPlacement ::+ DomainIspPlacement+newDomainIspPlacement =+ DomainIspPlacement'+ { inboxPercentage =+ Prelude.Nothing,+ inboxRawCount = Prelude.Nothing,+ ispName = Prelude.Nothing,+ spamPercentage = Prelude.Nothing,+ spamRawCount = Prelude.Nothing+ }++-- | The percentage of messages that were sent from the selected domain to+-- the specified email provider that arrived in recipients\' inboxes.+domainIspPlacement_inboxPercentage :: Lens.Lens' DomainIspPlacement (Prelude.Maybe Prelude.Double)+domainIspPlacement_inboxPercentage = Lens.lens (\DomainIspPlacement' {inboxPercentage} -> inboxPercentage) (\s@DomainIspPlacement' {} a -> s {inboxPercentage = a} :: DomainIspPlacement)++-- | The total number of messages that were sent from the selected domain to+-- the specified email provider that arrived in recipients\' inboxes.+domainIspPlacement_inboxRawCount :: Lens.Lens' DomainIspPlacement (Prelude.Maybe Prelude.Integer)+domainIspPlacement_inboxRawCount = Lens.lens (\DomainIspPlacement' {inboxRawCount} -> inboxRawCount) (\s@DomainIspPlacement' {} a -> s {inboxRawCount = a} :: DomainIspPlacement)++-- | The name of the email provider that the inbox placement data applies to.+domainIspPlacement_ispName :: Lens.Lens' DomainIspPlacement (Prelude.Maybe Prelude.Text)+domainIspPlacement_ispName = Lens.lens (\DomainIspPlacement' {ispName} -> ispName) (\s@DomainIspPlacement' {} a -> s {ispName = a} :: DomainIspPlacement)++-- | The percentage of messages that were sent from the selected domain to+-- the specified email provider that arrived in recipients\' spam or junk+-- mail folders.+domainIspPlacement_spamPercentage :: Lens.Lens' DomainIspPlacement (Prelude.Maybe Prelude.Double)+domainIspPlacement_spamPercentage = Lens.lens (\DomainIspPlacement' {spamPercentage} -> spamPercentage) (\s@DomainIspPlacement' {} a -> s {spamPercentage = a} :: DomainIspPlacement)++-- | The total number of messages that were sent from the selected domain to+-- the specified email provider that arrived in recipients\' spam or junk+-- mail folders.+domainIspPlacement_spamRawCount :: Lens.Lens' DomainIspPlacement (Prelude.Maybe Prelude.Integer)+domainIspPlacement_spamRawCount = Lens.lens (\DomainIspPlacement' {spamRawCount} -> spamRawCount) (\s@DomainIspPlacement' {} a -> s {spamRawCount = a} :: DomainIspPlacement)++instance Data.FromJSON DomainIspPlacement where+ parseJSON =+ Data.withObject+ "DomainIspPlacement"+ ( \x ->+ DomainIspPlacement'+ Prelude.<$> (x Data..:? "InboxPercentage")+ Prelude.<*> (x Data..:? "InboxRawCount")+ Prelude.<*> (x Data..:? "IspName")+ Prelude.<*> (x Data..:? "SpamPercentage")+ Prelude.<*> (x Data..:? "SpamRawCount")+ )++instance Prelude.Hashable DomainIspPlacement where+ hashWithSalt _salt DomainIspPlacement' {..} =+ _salt+ `Prelude.hashWithSalt` inboxPercentage+ `Prelude.hashWithSalt` inboxRawCount+ `Prelude.hashWithSalt` ispName+ `Prelude.hashWithSalt` spamPercentage+ `Prelude.hashWithSalt` spamRawCount++instance Prelude.NFData DomainIspPlacement where+ rnf DomainIspPlacement' {..} =+ Prelude.rnf inboxPercentage+ `Prelude.seq` Prelude.rnf inboxRawCount+ `Prelude.seq` Prelude.rnf ispName+ `Prelude.seq` Prelude.rnf spamPercentage+ `Prelude.seq` Prelude.rnf spamRawCount
+ gen/Amazonka/PinpointEmail/Types/EmailContent.hs view
@@ -0,0 +1,169 @@+{-# 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.PinpointEmail.Types.EmailContent+-- 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.PinpointEmail.Types.EmailContent where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types.Message+import Amazonka.PinpointEmail.Types.RawMessage+import Amazonka.PinpointEmail.Types.Template+import qualified Amazonka.Prelude as Prelude++-- | An object that defines the entire content of the email, including the+-- message headers and the body content. You can create a simple email+-- message, in which you specify the subject and the text and HTML versions+-- of the message body. You can also create raw messages, in which you+-- specify a complete MIME-formatted message. Raw messages can include+-- attachments and custom headers.+--+-- /See:/ 'newEmailContent' smart constructor.+data EmailContent = EmailContent'+ { -- | The raw email message. The message has to meet the following criteria:+ --+ -- - The message has to contain a header and a body, separated by one+ -- blank line.+ --+ -- - All of the required header fields must be present in the message.+ --+ -- - Each part of a multipart MIME message must be formatted properly.+ --+ -- - If you include attachments, they must be in a file format that+ -- Amazon Pinpoint supports.+ --+ -- - The entire message must be Base64 encoded.+ --+ -- - If any of the MIME parts in your message contain content that is+ -- outside of the 7-bit ASCII character range, you should encode that+ -- content to ensure that recipients\' email clients render the message+ -- properly.+ --+ -- - The length of any single line of text in the message can\'t exceed+ -- 1,000 characters. This restriction is defined in+ -- <https://tools.ietf.org/html/rfc5321 RFC 5321>.+ raw :: Prelude.Maybe RawMessage,+ -- | The simple email message. The message consists of a subject and a+ -- message body.+ simple :: Prelude.Maybe Message,+ -- | The template to use for the email message.+ template :: Prelude.Maybe Template+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EmailContent' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'raw', 'emailContent_raw' - The raw email message. The message has to meet the following criteria:+--+-- - The message has to contain a header and a body, separated by one+-- blank line.+--+-- - All of the required header fields must be present in the message.+--+-- - Each part of a multipart MIME message must be formatted properly.+--+-- - If you include attachments, they must be in a file format that+-- Amazon Pinpoint supports.+--+-- - The entire message must be Base64 encoded.+--+-- - If any of the MIME parts in your message contain content that is+-- outside of the 7-bit ASCII character range, you should encode that+-- content to ensure that recipients\' email clients render the message+-- properly.+--+-- - The length of any single line of text in the message can\'t exceed+-- 1,000 characters. This restriction is defined in+-- <https://tools.ietf.org/html/rfc5321 RFC 5321>.+--+-- 'simple', 'emailContent_simple' - The simple email message. The message consists of a subject and a+-- message body.+--+-- 'template', 'emailContent_template' - The template to use for the email message.+newEmailContent ::+ EmailContent+newEmailContent =+ EmailContent'+ { raw = Prelude.Nothing,+ simple = Prelude.Nothing,+ template = Prelude.Nothing+ }++-- | The raw email message. The message has to meet the following criteria:+--+-- - The message has to contain a header and a body, separated by one+-- blank line.+--+-- - All of the required header fields must be present in the message.+--+-- - Each part of a multipart MIME message must be formatted properly.+--+-- - If you include attachments, they must be in a file format that+-- Amazon Pinpoint supports.+--+-- - The entire message must be Base64 encoded.+--+-- - If any of the MIME parts in your message contain content that is+-- outside of the 7-bit ASCII character range, you should encode that+-- content to ensure that recipients\' email clients render the message+-- properly.+--+-- - The length of any single line of text in the message can\'t exceed+-- 1,000 characters. This restriction is defined in+-- <https://tools.ietf.org/html/rfc5321 RFC 5321>.+emailContent_raw :: Lens.Lens' EmailContent (Prelude.Maybe RawMessage)+emailContent_raw = Lens.lens (\EmailContent' {raw} -> raw) (\s@EmailContent' {} a -> s {raw = a} :: EmailContent)++-- | The simple email message. The message consists of a subject and a+-- message body.+emailContent_simple :: Lens.Lens' EmailContent (Prelude.Maybe Message)+emailContent_simple = Lens.lens (\EmailContent' {simple} -> simple) (\s@EmailContent' {} a -> s {simple = a} :: EmailContent)++-- | The template to use for the email message.+emailContent_template :: Lens.Lens' EmailContent (Prelude.Maybe Template)+emailContent_template = Lens.lens (\EmailContent' {template} -> template) (\s@EmailContent' {} a -> s {template = a} :: EmailContent)++instance Prelude.Hashable EmailContent where+ hashWithSalt _salt EmailContent' {..} =+ _salt+ `Prelude.hashWithSalt` raw+ `Prelude.hashWithSalt` simple+ `Prelude.hashWithSalt` template++instance Prelude.NFData EmailContent where+ rnf EmailContent' {..} =+ Prelude.rnf raw+ `Prelude.seq` Prelude.rnf simple+ `Prelude.seq` Prelude.rnf template++instance Data.ToJSON EmailContent where+ toJSON EmailContent' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Raw" Data..=) Prelude.<$> raw,+ ("Simple" Data..=) Prelude.<$> simple,+ ("Template" Data..=) Prelude.<$> template+ ]+ )
+ gen/Amazonka/PinpointEmail/Types/EventDestination.hs view
@@ -0,0 +1,205 @@+{-# 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.PinpointEmail.Types.EventDestination+-- 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.PinpointEmail.Types.EventDestination where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types.CloudWatchDestination+import Amazonka.PinpointEmail.Types.EventType+import Amazonka.PinpointEmail.Types.KinesisFirehoseDestination+import Amazonka.PinpointEmail.Types.PinpointDestination+import Amazonka.PinpointEmail.Types.SnsDestination+import qualified Amazonka.Prelude as Prelude++-- | In Amazon Pinpoint, /events/ include message sends, deliveries, opens,+-- clicks, bounces, and complaints. /Event destinations/ are places that+-- you can send information about these events to. For example, you can+-- send event data to Amazon SNS to receive notifications when you receive+-- bounces or complaints, or you can use Amazon Kinesis Data Firehose to+-- stream data to Amazon S3 for long-term storage.+--+-- /See:/ 'newEventDestination' smart constructor.+data EventDestination = EventDestination'+ { -- | An object that defines an Amazon CloudWatch destination for email+ -- events. You can use Amazon CloudWatch to monitor and gain insights on+ -- your email sending metrics.+ cloudWatchDestination :: Prelude.Maybe CloudWatchDestination,+ -- | If @true@, the event destination is enabled. When the event destination+ -- is enabled, the specified event types are sent to the destinations in+ -- this @EventDestinationDefinition@.+ --+ -- If @false@, the event destination is disabled. When the event+ -- destination is disabled, events aren\'t sent to the specified+ -- destinations.+ enabled :: Prelude.Maybe Prelude.Bool,+ -- | An object that defines an Amazon Kinesis Data Firehose destination for+ -- email events. You can use Amazon Kinesis Data Firehose to stream data to+ -- other services, such as Amazon S3 and Amazon Redshift.+ kinesisFirehoseDestination :: Prelude.Maybe KinesisFirehoseDestination,+ -- | An object that defines a Amazon Pinpoint destination for email events.+ -- You can use Amazon Pinpoint events to create attributes in Amazon+ -- Pinpoint projects. You can use these attributes to create segments for+ -- your campaigns.+ pinpointDestination :: Prelude.Maybe PinpointDestination,+ -- | An object that defines an Amazon SNS destination for email events. You+ -- can use Amazon SNS to send notification when certain email events occur.+ snsDestination :: Prelude.Maybe SnsDestination,+ -- | A name that identifies the event destination.+ name :: Prelude.Text,+ -- | The types of events that Amazon Pinpoint sends to the specified event+ -- destinations.+ matchingEventTypes :: [EventType]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EventDestination' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'cloudWatchDestination', 'eventDestination_cloudWatchDestination' - An object that defines an Amazon CloudWatch destination for email+-- events. You can use Amazon CloudWatch to monitor and gain insights on+-- your email sending metrics.+--+-- 'enabled', 'eventDestination_enabled' - If @true@, the event destination is enabled. When the event destination+-- is enabled, the specified event types are sent to the destinations in+-- this @EventDestinationDefinition@.+--+-- If @false@, the event destination is disabled. When the event+-- destination is disabled, events aren\'t sent to the specified+-- destinations.+--+-- 'kinesisFirehoseDestination', 'eventDestination_kinesisFirehoseDestination' - An object that defines an Amazon Kinesis Data Firehose destination for+-- email events. You can use Amazon Kinesis Data Firehose to stream data to+-- other services, such as Amazon S3 and Amazon Redshift.+--+-- 'pinpointDestination', 'eventDestination_pinpointDestination' - An object that defines a Amazon Pinpoint destination for email events.+-- You can use Amazon Pinpoint events to create attributes in Amazon+-- Pinpoint projects. You can use these attributes to create segments for+-- your campaigns.+--+-- 'snsDestination', 'eventDestination_snsDestination' - An object that defines an Amazon SNS destination for email events. You+-- can use Amazon SNS to send notification when certain email events occur.+--+-- 'name', 'eventDestination_name' - A name that identifies the event destination.+--+-- 'matchingEventTypes', 'eventDestination_matchingEventTypes' - The types of events that Amazon Pinpoint sends to the specified event+-- destinations.+newEventDestination ::+ -- | 'name'+ Prelude.Text ->+ EventDestination+newEventDestination pName_ =+ EventDestination'+ { cloudWatchDestination =+ Prelude.Nothing,+ enabled = Prelude.Nothing,+ kinesisFirehoseDestination = Prelude.Nothing,+ pinpointDestination = Prelude.Nothing,+ snsDestination = Prelude.Nothing,+ name = pName_,+ matchingEventTypes = Prelude.mempty+ }++-- | An object that defines an Amazon CloudWatch destination for email+-- events. You can use Amazon CloudWatch to monitor and gain insights on+-- your email sending metrics.+eventDestination_cloudWatchDestination :: Lens.Lens' EventDestination (Prelude.Maybe CloudWatchDestination)+eventDestination_cloudWatchDestination = Lens.lens (\EventDestination' {cloudWatchDestination} -> cloudWatchDestination) (\s@EventDestination' {} a -> s {cloudWatchDestination = a} :: EventDestination)++-- | If @true@, the event destination is enabled. When the event destination+-- is enabled, the specified event types are sent to the destinations in+-- this @EventDestinationDefinition@.+--+-- If @false@, the event destination is disabled. When the event+-- destination is disabled, events aren\'t sent to the specified+-- destinations.+eventDestination_enabled :: Lens.Lens' EventDestination (Prelude.Maybe Prelude.Bool)+eventDestination_enabled = Lens.lens (\EventDestination' {enabled} -> enabled) (\s@EventDestination' {} a -> s {enabled = a} :: EventDestination)++-- | An object that defines an Amazon Kinesis Data Firehose destination for+-- email events. You can use Amazon Kinesis Data Firehose to stream data to+-- other services, such as Amazon S3 and Amazon Redshift.+eventDestination_kinesisFirehoseDestination :: Lens.Lens' EventDestination (Prelude.Maybe KinesisFirehoseDestination)+eventDestination_kinesisFirehoseDestination = Lens.lens (\EventDestination' {kinesisFirehoseDestination} -> kinesisFirehoseDestination) (\s@EventDestination' {} a -> s {kinesisFirehoseDestination = a} :: EventDestination)++-- | An object that defines a Amazon Pinpoint destination for email events.+-- You can use Amazon Pinpoint events to create attributes in Amazon+-- Pinpoint projects. You can use these attributes to create segments for+-- your campaigns.+eventDestination_pinpointDestination :: Lens.Lens' EventDestination (Prelude.Maybe PinpointDestination)+eventDestination_pinpointDestination = Lens.lens (\EventDestination' {pinpointDestination} -> pinpointDestination) (\s@EventDestination' {} a -> s {pinpointDestination = a} :: EventDestination)++-- | An object that defines an Amazon SNS destination for email events. You+-- can use Amazon SNS to send notification when certain email events occur.+eventDestination_snsDestination :: Lens.Lens' EventDestination (Prelude.Maybe SnsDestination)+eventDestination_snsDestination = Lens.lens (\EventDestination' {snsDestination} -> snsDestination) (\s@EventDestination' {} a -> s {snsDestination = a} :: EventDestination)++-- | A name that identifies the event destination.+eventDestination_name :: Lens.Lens' EventDestination Prelude.Text+eventDestination_name = Lens.lens (\EventDestination' {name} -> name) (\s@EventDestination' {} a -> s {name = a} :: EventDestination)++-- | The types of events that Amazon Pinpoint sends to the specified event+-- destinations.+eventDestination_matchingEventTypes :: Lens.Lens' EventDestination [EventType]+eventDestination_matchingEventTypes = Lens.lens (\EventDestination' {matchingEventTypes} -> matchingEventTypes) (\s@EventDestination' {} a -> s {matchingEventTypes = a} :: EventDestination) Prelude.. Lens.coerced++instance Data.FromJSON EventDestination where+ parseJSON =+ Data.withObject+ "EventDestination"+ ( \x ->+ EventDestination'+ Prelude.<$> (x Data..:? "CloudWatchDestination")+ Prelude.<*> (x Data..:? "Enabled")+ Prelude.<*> (x Data..:? "KinesisFirehoseDestination")+ Prelude.<*> (x Data..:? "PinpointDestination")+ Prelude.<*> (x Data..:? "SnsDestination")+ Prelude.<*> (x Data..: "Name")+ Prelude.<*> ( x+ Data..:? "MatchingEventTypes"+ Data..!= Prelude.mempty+ )+ )++instance Prelude.Hashable EventDestination where+ hashWithSalt _salt EventDestination' {..} =+ _salt+ `Prelude.hashWithSalt` cloudWatchDestination+ `Prelude.hashWithSalt` enabled+ `Prelude.hashWithSalt` kinesisFirehoseDestination+ `Prelude.hashWithSalt` pinpointDestination+ `Prelude.hashWithSalt` snsDestination+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` matchingEventTypes++instance Prelude.NFData EventDestination where+ rnf EventDestination' {..} =+ Prelude.rnf cloudWatchDestination+ `Prelude.seq` Prelude.rnf enabled+ `Prelude.seq` Prelude.rnf kinesisFirehoseDestination+ `Prelude.seq` Prelude.rnf pinpointDestination+ `Prelude.seq` Prelude.rnf snsDestination+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf matchingEventTypes
+ gen/Amazonka/PinpointEmail/Types/EventDestinationDefinition.hs view
@@ -0,0 +1,190 @@+{-# 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.PinpointEmail.Types.EventDestinationDefinition+-- 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.PinpointEmail.Types.EventDestinationDefinition where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types.CloudWatchDestination+import Amazonka.PinpointEmail.Types.EventType+import Amazonka.PinpointEmail.Types.KinesisFirehoseDestination+import Amazonka.PinpointEmail.Types.PinpointDestination+import Amazonka.PinpointEmail.Types.SnsDestination+import qualified Amazonka.Prelude as Prelude++-- | An object that defines the event destination. Specifically, it defines+-- which services receive events from emails sent using the configuration+-- set that the event destination is associated with. Also defines the+-- types of events that are sent to the event destination.+--+-- /See:/ 'newEventDestinationDefinition' smart constructor.+data EventDestinationDefinition = EventDestinationDefinition'+ { -- | An object that defines an Amazon CloudWatch destination for email+ -- events. You can use Amazon CloudWatch to monitor and gain insights on+ -- your email sending metrics.+ cloudWatchDestination :: Prelude.Maybe CloudWatchDestination,+ -- | If @true@, the event destination is enabled. When the event destination+ -- is enabled, the specified event types are sent to the destinations in+ -- this @EventDestinationDefinition@.+ --+ -- If @false@, the event destination is disabled. When the event+ -- destination is disabled, events aren\'t sent to the specified+ -- destinations.+ enabled :: Prelude.Maybe Prelude.Bool,+ -- | An object that defines an Amazon Kinesis Data Firehose destination for+ -- email events. You can use Amazon Kinesis Data Firehose to stream data to+ -- other services, such as Amazon S3 and Amazon Redshift.+ kinesisFirehoseDestination :: Prelude.Maybe KinesisFirehoseDestination,+ -- | An array that specifies which events Amazon Pinpoint should send to the+ -- destinations in this @EventDestinationDefinition@.+ matchingEventTypes :: Prelude.Maybe [EventType],+ -- | An object that defines a Amazon Pinpoint destination for email events.+ -- You can use Amazon Pinpoint events to create attributes in Amazon+ -- Pinpoint projects. You can use these attributes to create segments for+ -- your campaigns.+ pinpointDestination :: Prelude.Maybe PinpointDestination,+ -- | An object that defines an Amazon SNS destination for email events. You+ -- can use Amazon SNS to send notification when certain email events occur.+ snsDestination :: Prelude.Maybe SnsDestination+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EventDestinationDefinition' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'cloudWatchDestination', 'eventDestinationDefinition_cloudWatchDestination' - An object that defines an Amazon CloudWatch destination for email+-- events. You can use Amazon CloudWatch to monitor and gain insights on+-- your email sending metrics.+--+-- 'enabled', 'eventDestinationDefinition_enabled' - If @true@, the event destination is enabled. When the event destination+-- is enabled, the specified event types are sent to the destinations in+-- this @EventDestinationDefinition@.+--+-- If @false@, the event destination is disabled. When the event+-- destination is disabled, events aren\'t sent to the specified+-- destinations.+--+-- 'kinesisFirehoseDestination', 'eventDestinationDefinition_kinesisFirehoseDestination' - An object that defines an Amazon Kinesis Data Firehose destination for+-- email events. You can use Amazon Kinesis Data Firehose to stream data to+-- other services, such as Amazon S3 and Amazon Redshift.+--+-- 'matchingEventTypes', 'eventDestinationDefinition_matchingEventTypes' - An array that specifies which events Amazon Pinpoint should send to the+-- destinations in this @EventDestinationDefinition@.+--+-- 'pinpointDestination', 'eventDestinationDefinition_pinpointDestination' - An object that defines a Amazon Pinpoint destination for email events.+-- You can use Amazon Pinpoint events to create attributes in Amazon+-- Pinpoint projects. You can use these attributes to create segments for+-- your campaigns.+--+-- 'snsDestination', 'eventDestinationDefinition_snsDestination' - An object that defines an Amazon SNS destination for email events. You+-- can use Amazon SNS to send notification when certain email events occur.+newEventDestinationDefinition ::+ EventDestinationDefinition+newEventDestinationDefinition =+ EventDestinationDefinition'+ { cloudWatchDestination =+ Prelude.Nothing,+ enabled = Prelude.Nothing,+ kinesisFirehoseDestination = Prelude.Nothing,+ matchingEventTypes = Prelude.Nothing,+ pinpointDestination = Prelude.Nothing,+ snsDestination = Prelude.Nothing+ }++-- | An object that defines an Amazon CloudWatch destination for email+-- events. You can use Amazon CloudWatch to monitor and gain insights on+-- your email sending metrics.+eventDestinationDefinition_cloudWatchDestination :: Lens.Lens' EventDestinationDefinition (Prelude.Maybe CloudWatchDestination)+eventDestinationDefinition_cloudWatchDestination = Lens.lens (\EventDestinationDefinition' {cloudWatchDestination} -> cloudWatchDestination) (\s@EventDestinationDefinition' {} a -> s {cloudWatchDestination = a} :: EventDestinationDefinition)++-- | If @true@, the event destination is enabled. When the event destination+-- is enabled, the specified event types are sent to the destinations in+-- this @EventDestinationDefinition@.+--+-- If @false@, the event destination is disabled. When the event+-- destination is disabled, events aren\'t sent to the specified+-- destinations.+eventDestinationDefinition_enabled :: Lens.Lens' EventDestinationDefinition (Prelude.Maybe Prelude.Bool)+eventDestinationDefinition_enabled = Lens.lens (\EventDestinationDefinition' {enabled} -> enabled) (\s@EventDestinationDefinition' {} a -> s {enabled = a} :: EventDestinationDefinition)++-- | An object that defines an Amazon Kinesis Data Firehose destination for+-- email events. You can use Amazon Kinesis Data Firehose to stream data to+-- other services, such as Amazon S3 and Amazon Redshift.+eventDestinationDefinition_kinesisFirehoseDestination :: Lens.Lens' EventDestinationDefinition (Prelude.Maybe KinesisFirehoseDestination)+eventDestinationDefinition_kinesisFirehoseDestination = Lens.lens (\EventDestinationDefinition' {kinesisFirehoseDestination} -> kinesisFirehoseDestination) (\s@EventDestinationDefinition' {} a -> s {kinesisFirehoseDestination = a} :: EventDestinationDefinition)++-- | An array that specifies which events Amazon Pinpoint should send to the+-- destinations in this @EventDestinationDefinition@.+eventDestinationDefinition_matchingEventTypes :: Lens.Lens' EventDestinationDefinition (Prelude.Maybe [EventType])+eventDestinationDefinition_matchingEventTypes = Lens.lens (\EventDestinationDefinition' {matchingEventTypes} -> matchingEventTypes) (\s@EventDestinationDefinition' {} a -> s {matchingEventTypes = a} :: EventDestinationDefinition) Prelude.. Lens.mapping Lens.coerced++-- | An object that defines a Amazon Pinpoint destination for email events.+-- You can use Amazon Pinpoint events to create attributes in Amazon+-- Pinpoint projects. You can use these attributes to create segments for+-- your campaigns.+eventDestinationDefinition_pinpointDestination :: Lens.Lens' EventDestinationDefinition (Prelude.Maybe PinpointDestination)+eventDestinationDefinition_pinpointDestination = Lens.lens (\EventDestinationDefinition' {pinpointDestination} -> pinpointDestination) (\s@EventDestinationDefinition' {} a -> s {pinpointDestination = a} :: EventDestinationDefinition)++-- | An object that defines an Amazon SNS destination for email events. You+-- can use Amazon SNS to send notification when certain email events occur.+eventDestinationDefinition_snsDestination :: Lens.Lens' EventDestinationDefinition (Prelude.Maybe SnsDestination)+eventDestinationDefinition_snsDestination = Lens.lens (\EventDestinationDefinition' {snsDestination} -> snsDestination) (\s@EventDestinationDefinition' {} a -> s {snsDestination = a} :: EventDestinationDefinition)++instance Prelude.Hashable EventDestinationDefinition where+ hashWithSalt _salt EventDestinationDefinition' {..} =+ _salt+ `Prelude.hashWithSalt` cloudWatchDestination+ `Prelude.hashWithSalt` enabled+ `Prelude.hashWithSalt` kinesisFirehoseDestination+ `Prelude.hashWithSalt` matchingEventTypes+ `Prelude.hashWithSalt` pinpointDestination+ `Prelude.hashWithSalt` snsDestination++instance Prelude.NFData EventDestinationDefinition where+ rnf EventDestinationDefinition' {..} =+ Prelude.rnf cloudWatchDestination+ `Prelude.seq` Prelude.rnf enabled+ `Prelude.seq` Prelude.rnf kinesisFirehoseDestination+ `Prelude.seq` Prelude.rnf matchingEventTypes+ `Prelude.seq` Prelude.rnf pinpointDestination+ `Prelude.seq` Prelude.rnf snsDestination++instance Data.ToJSON EventDestinationDefinition where+ toJSON EventDestinationDefinition' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("CloudWatchDestination" Data..=)+ Prelude.<$> cloudWatchDestination,+ ("Enabled" Data..=) Prelude.<$> enabled,+ ("KinesisFirehoseDestination" Data..=)+ Prelude.<$> kinesisFirehoseDestination,+ ("MatchingEventTypes" Data..=)+ Prelude.<$> matchingEventTypes,+ ("PinpointDestination" Data..=)+ Prelude.<$> pinpointDestination,+ ("SnsDestination" Data..=)+ Prelude.<$> snsDestination+ ]+ )
+ gen/Amazonka/PinpointEmail/Types/EventType.hs view
@@ -0,0 +1,103 @@+{-# 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.PinpointEmail.Types.EventType+-- 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.PinpointEmail.Types.EventType+ ( EventType+ ( ..,+ EventType_BOUNCE,+ EventType_CLICK,+ EventType_COMPLAINT,+ EventType_DELIVERY,+ EventType_OPEN,+ EventType_REJECT,+ EventType_RENDERING_FAILURE,+ EventType_SEND+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | An email sending event type. For example, email sends, opens, and+-- bounces are all email events.+newtype EventType = EventType'+ { fromEventType ::+ 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 EventType_BOUNCE :: EventType+pattern EventType_BOUNCE = EventType' "BOUNCE"++pattern EventType_CLICK :: EventType+pattern EventType_CLICK = EventType' "CLICK"++pattern EventType_COMPLAINT :: EventType+pattern EventType_COMPLAINT = EventType' "COMPLAINT"++pattern EventType_DELIVERY :: EventType+pattern EventType_DELIVERY = EventType' "DELIVERY"++pattern EventType_OPEN :: EventType+pattern EventType_OPEN = EventType' "OPEN"++pattern EventType_REJECT :: EventType+pattern EventType_REJECT = EventType' "REJECT"++pattern EventType_RENDERING_FAILURE :: EventType+pattern EventType_RENDERING_FAILURE = EventType' "RENDERING_FAILURE"++pattern EventType_SEND :: EventType+pattern EventType_SEND = EventType' "SEND"++{-# COMPLETE+ EventType_BOUNCE,+ EventType_CLICK,+ EventType_COMPLAINT,+ EventType_DELIVERY,+ EventType_OPEN,+ EventType_REJECT,+ EventType_RENDERING_FAILURE,+ EventType_SEND,+ EventType'+ #-}
+ gen/Amazonka/PinpointEmail/Types/IdentityInfo.hs view
@@ -0,0 +1,130 @@+{-# 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.PinpointEmail.Types.IdentityInfo+-- 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.PinpointEmail.Types.IdentityInfo where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types.IdentityType+import qualified Amazonka.Prelude as Prelude++-- | Information about an email identity.+--+-- /See:/ 'newIdentityInfo' smart constructor.+data IdentityInfo = IdentityInfo'+ { -- | The address or domain of the identity.+ identityName :: Prelude.Maybe Prelude.Text,+ -- | The email identity type. The identity type can be one of the following:+ --+ -- - @EMAIL_ADDRESS@ – The identity is an email address.+ --+ -- - @DOMAIN@ – The identity is a domain.+ --+ -- - @MANAGED_DOMAIN@ – The identity is a domain that is managed by AWS.+ identityType :: Prelude.Maybe IdentityType,+ -- | Indicates whether or not you can send email from the identity.+ --+ -- In Amazon Pinpoint, an identity is an email address or domain that you+ -- send email from. Before you can send email from an identity, you have to+ -- demostrate that you own the identity, and that you authorize Amazon+ -- Pinpoint to send email from that identity.+ sendingEnabled :: Prelude.Maybe Prelude.Bool+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'IdentityInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'identityName', 'identityInfo_identityName' - The address or domain of the identity.+--+-- 'identityType', 'identityInfo_identityType' - The email identity type. The identity type can be one of the following:+--+-- - @EMAIL_ADDRESS@ – The identity is an email address.+--+-- - @DOMAIN@ – The identity is a domain.+--+-- - @MANAGED_DOMAIN@ – The identity is a domain that is managed by AWS.+--+-- 'sendingEnabled', 'identityInfo_sendingEnabled' - Indicates whether or not you can send email from the identity.+--+-- In Amazon Pinpoint, an identity is an email address or domain that you+-- send email from. Before you can send email from an identity, you have to+-- demostrate that you own the identity, and that you authorize Amazon+-- Pinpoint to send email from that identity.+newIdentityInfo ::+ IdentityInfo+newIdentityInfo =+ IdentityInfo'+ { identityName = Prelude.Nothing,+ identityType = Prelude.Nothing,+ sendingEnabled = Prelude.Nothing+ }++-- | The address or domain of the identity.+identityInfo_identityName :: Lens.Lens' IdentityInfo (Prelude.Maybe Prelude.Text)+identityInfo_identityName = Lens.lens (\IdentityInfo' {identityName} -> identityName) (\s@IdentityInfo' {} a -> s {identityName = a} :: IdentityInfo)++-- | The email identity type. The identity type can be one of the following:+--+-- - @EMAIL_ADDRESS@ – The identity is an email address.+--+-- - @DOMAIN@ – The identity is a domain.+--+-- - @MANAGED_DOMAIN@ – The identity is a domain that is managed by AWS.+identityInfo_identityType :: Lens.Lens' IdentityInfo (Prelude.Maybe IdentityType)+identityInfo_identityType = Lens.lens (\IdentityInfo' {identityType} -> identityType) (\s@IdentityInfo' {} a -> s {identityType = a} :: IdentityInfo)++-- | Indicates whether or not you can send email from the identity.+--+-- In Amazon Pinpoint, an identity is an email address or domain that you+-- send email from. Before you can send email from an identity, you have to+-- demostrate that you own the identity, and that you authorize Amazon+-- Pinpoint to send email from that identity.+identityInfo_sendingEnabled :: Lens.Lens' IdentityInfo (Prelude.Maybe Prelude.Bool)+identityInfo_sendingEnabled = Lens.lens (\IdentityInfo' {sendingEnabled} -> sendingEnabled) (\s@IdentityInfo' {} a -> s {sendingEnabled = a} :: IdentityInfo)++instance Data.FromJSON IdentityInfo where+ parseJSON =+ Data.withObject+ "IdentityInfo"+ ( \x ->+ IdentityInfo'+ Prelude.<$> (x Data..:? "IdentityName")+ Prelude.<*> (x Data..:? "IdentityType")+ Prelude.<*> (x Data..:? "SendingEnabled")+ )++instance Prelude.Hashable IdentityInfo where+ hashWithSalt _salt IdentityInfo' {..} =+ _salt+ `Prelude.hashWithSalt` identityName+ `Prelude.hashWithSalt` identityType+ `Prelude.hashWithSalt` sendingEnabled++instance Prelude.NFData IdentityInfo where+ rnf IdentityInfo' {..} =+ Prelude.rnf identityName+ `Prelude.seq` Prelude.rnf identityType+ `Prelude.seq` Prelude.rnf sendingEnabled
+ gen/Amazonka/PinpointEmail/Types/IdentityType.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.PinpointEmail.Types.IdentityType+-- 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.PinpointEmail.Types.IdentityType+ ( IdentityType+ ( ..,+ IdentityType_DOMAIN,+ IdentityType_EMAIL_ADDRESS,+ IdentityType_MANAGED_DOMAIN+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The email identity type. The identity type can be one of the following:+--+-- - @EMAIL_ADDRESS@ – The identity is an email address.+--+-- - @DOMAIN@ – The identity is a domain.+newtype IdentityType = IdentityType'+ { fromIdentityType ::+ 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 IdentityType_DOMAIN :: IdentityType+pattern IdentityType_DOMAIN = IdentityType' "DOMAIN"++pattern IdentityType_EMAIL_ADDRESS :: IdentityType+pattern IdentityType_EMAIL_ADDRESS = IdentityType' "EMAIL_ADDRESS"++pattern IdentityType_MANAGED_DOMAIN :: IdentityType+pattern IdentityType_MANAGED_DOMAIN = IdentityType' "MANAGED_DOMAIN"++{-# COMPLETE+ IdentityType_DOMAIN,+ IdentityType_EMAIL_ADDRESS,+ IdentityType_MANAGED_DOMAIN,+ IdentityType'+ #-}
+ gen/Amazonka/PinpointEmail/Types/InboxPlacementTrackingOption.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.PinpointEmail.Types.InboxPlacementTrackingOption+-- 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.PinpointEmail.Types.InboxPlacementTrackingOption 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 object that contains information about the inbox placement data+-- settings for a verified domain that’s associated with your AWS account.+-- This data is available only if you enabled the Deliverability dashboard+-- for the domain (@PutDeliverabilityDashboardOption@ operation).+--+-- /See:/ 'newInboxPlacementTrackingOption' smart constructor.+data InboxPlacementTrackingOption = InboxPlacementTrackingOption'+ { -- | Specifies whether inbox placement data is being tracked for the domain.+ global :: Prelude.Maybe Prelude.Bool,+ -- | An array of strings, one for each major email provider that the inbox+ -- placement data applies to.+ trackedIsps :: Prelude.Maybe [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'InboxPlacementTrackingOption' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'global', 'inboxPlacementTrackingOption_global' - Specifies whether inbox placement data is being tracked for the domain.+--+-- 'trackedIsps', 'inboxPlacementTrackingOption_trackedIsps' - An array of strings, one for each major email provider that the inbox+-- placement data applies to.+newInboxPlacementTrackingOption ::+ InboxPlacementTrackingOption+newInboxPlacementTrackingOption =+ InboxPlacementTrackingOption'+ { global =+ Prelude.Nothing,+ trackedIsps = Prelude.Nothing+ }++-- | Specifies whether inbox placement data is being tracked for the domain.+inboxPlacementTrackingOption_global :: Lens.Lens' InboxPlacementTrackingOption (Prelude.Maybe Prelude.Bool)+inboxPlacementTrackingOption_global = Lens.lens (\InboxPlacementTrackingOption' {global} -> global) (\s@InboxPlacementTrackingOption' {} a -> s {global = a} :: InboxPlacementTrackingOption)++-- | An array of strings, one for each major email provider that the inbox+-- placement data applies to.+inboxPlacementTrackingOption_trackedIsps :: Lens.Lens' InboxPlacementTrackingOption (Prelude.Maybe [Prelude.Text])+inboxPlacementTrackingOption_trackedIsps = Lens.lens (\InboxPlacementTrackingOption' {trackedIsps} -> trackedIsps) (\s@InboxPlacementTrackingOption' {} a -> s {trackedIsps = a} :: InboxPlacementTrackingOption) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON InboxPlacementTrackingOption where+ parseJSON =+ Data.withObject+ "InboxPlacementTrackingOption"+ ( \x ->+ InboxPlacementTrackingOption'+ Prelude.<$> (x Data..:? "Global")+ Prelude.<*> (x Data..:? "TrackedIsps" Data..!= Prelude.mempty)+ )++instance+ Prelude.Hashable+ InboxPlacementTrackingOption+ where+ hashWithSalt _salt InboxPlacementTrackingOption' {..} =+ _salt+ `Prelude.hashWithSalt` global+ `Prelude.hashWithSalt` trackedIsps++instance Prelude.NFData InboxPlacementTrackingOption where+ rnf InboxPlacementTrackingOption' {..} =+ Prelude.rnf global+ `Prelude.seq` Prelude.rnf trackedIsps++instance Data.ToJSON InboxPlacementTrackingOption where+ toJSON InboxPlacementTrackingOption' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Global" Data..=) Prelude.<$> global,+ ("TrackedIsps" Data..=) Prelude.<$> trackedIsps+ ]+ )
+ gen/Amazonka/PinpointEmail/Types/IspPlacement.hs view
@@ -0,0 +1,89 @@+{-# 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.PinpointEmail.Types.IspPlacement+-- 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.PinpointEmail.Types.IspPlacement where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types.PlacementStatistics+import qualified Amazonka.Prelude as Prelude++-- | An object that describes how email sent during the predictive inbox+-- placement test was handled by a certain email provider.+--+-- /See:/ 'newIspPlacement' smart constructor.+data IspPlacement = IspPlacement'+ { -- | The name of the email provider that the inbox placement data applies to.+ ispName :: Prelude.Maybe Prelude.Text,+ -- | An object that contains inbox placement metrics for a specific email+ -- provider.+ placementStatistics :: Prelude.Maybe PlacementStatistics+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'IspPlacement' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'ispName', 'ispPlacement_ispName' - The name of the email provider that the inbox placement data applies to.+--+-- 'placementStatistics', 'ispPlacement_placementStatistics' - An object that contains inbox placement metrics for a specific email+-- provider.+newIspPlacement ::+ IspPlacement+newIspPlacement =+ IspPlacement'+ { ispName = Prelude.Nothing,+ placementStatistics = Prelude.Nothing+ }++-- | The name of the email provider that the inbox placement data applies to.+ispPlacement_ispName :: Lens.Lens' IspPlacement (Prelude.Maybe Prelude.Text)+ispPlacement_ispName = Lens.lens (\IspPlacement' {ispName} -> ispName) (\s@IspPlacement' {} a -> s {ispName = a} :: IspPlacement)++-- | An object that contains inbox placement metrics for a specific email+-- provider.+ispPlacement_placementStatistics :: Lens.Lens' IspPlacement (Prelude.Maybe PlacementStatistics)+ispPlacement_placementStatistics = Lens.lens (\IspPlacement' {placementStatistics} -> placementStatistics) (\s@IspPlacement' {} a -> s {placementStatistics = a} :: IspPlacement)++instance Data.FromJSON IspPlacement where+ parseJSON =+ Data.withObject+ "IspPlacement"+ ( \x ->+ IspPlacement'+ Prelude.<$> (x Data..:? "IspName")+ Prelude.<*> (x Data..:? "PlacementStatistics")+ )++instance Prelude.Hashable IspPlacement where+ hashWithSalt _salt IspPlacement' {..} =+ _salt+ `Prelude.hashWithSalt` ispName+ `Prelude.hashWithSalt` placementStatistics++instance Prelude.NFData IspPlacement where+ rnf IspPlacement' {..} =+ Prelude.rnf ispName+ `Prelude.seq` Prelude.rnf placementStatistics
+ gen/Amazonka/PinpointEmail/Types/KinesisFirehoseDestination.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.PinpointEmail.Types.KinesisFirehoseDestination+-- 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.PinpointEmail.Types.KinesisFirehoseDestination 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 object that defines an Amazon Kinesis Data Firehose destination for+-- email events. You can use Amazon Kinesis Data Firehose to stream data to+-- other services, such as Amazon S3 and Amazon Redshift.+--+-- /See:/ 'newKinesisFirehoseDestination' smart constructor.+data KinesisFirehoseDestination = KinesisFirehoseDestination'+ { -- | The Amazon Resource Name (ARN) of the IAM role that Amazon Pinpoint uses+ -- when sending email events to the Amazon Kinesis Data Firehose stream.+ iamRoleArn :: Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the Amazon Kinesis Data Firehose+ -- stream that Amazon Pinpoint sends email events to.+ deliveryStreamArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'KinesisFirehoseDestination' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'iamRoleArn', 'kinesisFirehoseDestination_iamRoleArn' - The Amazon Resource Name (ARN) of the IAM role that Amazon Pinpoint uses+-- when sending email events to the Amazon Kinesis Data Firehose stream.+--+-- 'deliveryStreamArn', 'kinesisFirehoseDestination_deliveryStreamArn' - The Amazon Resource Name (ARN) of the Amazon Kinesis Data Firehose+-- stream that Amazon Pinpoint sends email events to.+newKinesisFirehoseDestination ::+ -- | 'iamRoleArn'+ Prelude.Text ->+ -- | 'deliveryStreamArn'+ Prelude.Text ->+ KinesisFirehoseDestination+newKinesisFirehoseDestination+ pIamRoleArn_+ pDeliveryStreamArn_ =+ KinesisFirehoseDestination'+ { iamRoleArn =+ pIamRoleArn_,+ deliveryStreamArn = pDeliveryStreamArn_+ }++-- | The Amazon Resource Name (ARN) of the IAM role that Amazon Pinpoint uses+-- when sending email events to the Amazon Kinesis Data Firehose stream.+kinesisFirehoseDestination_iamRoleArn :: Lens.Lens' KinesisFirehoseDestination Prelude.Text+kinesisFirehoseDestination_iamRoleArn = Lens.lens (\KinesisFirehoseDestination' {iamRoleArn} -> iamRoleArn) (\s@KinesisFirehoseDestination' {} a -> s {iamRoleArn = a} :: KinesisFirehoseDestination)++-- | The Amazon Resource Name (ARN) of the Amazon Kinesis Data Firehose+-- stream that Amazon Pinpoint sends email events to.+kinesisFirehoseDestination_deliveryStreamArn :: Lens.Lens' KinesisFirehoseDestination Prelude.Text+kinesisFirehoseDestination_deliveryStreamArn = Lens.lens (\KinesisFirehoseDestination' {deliveryStreamArn} -> deliveryStreamArn) (\s@KinesisFirehoseDestination' {} a -> s {deliveryStreamArn = a} :: KinesisFirehoseDestination)++instance Data.FromJSON KinesisFirehoseDestination where+ parseJSON =+ Data.withObject+ "KinesisFirehoseDestination"+ ( \x ->+ KinesisFirehoseDestination'+ Prelude.<$> (x Data..: "IamRoleArn")+ Prelude.<*> (x Data..: "DeliveryStreamArn")+ )++instance Prelude.Hashable KinesisFirehoseDestination where+ hashWithSalt _salt KinesisFirehoseDestination' {..} =+ _salt+ `Prelude.hashWithSalt` iamRoleArn+ `Prelude.hashWithSalt` deliveryStreamArn++instance Prelude.NFData KinesisFirehoseDestination where+ rnf KinesisFirehoseDestination' {..} =+ Prelude.rnf iamRoleArn+ `Prelude.seq` Prelude.rnf deliveryStreamArn++instance Data.ToJSON KinesisFirehoseDestination where+ toJSON KinesisFirehoseDestination' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("IamRoleArn" Data..= iamRoleArn),+ Prelude.Just+ ("DeliveryStreamArn" Data..= deliveryStreamArn)+ ]+ )
+ gen/Amazonka/PinpointEmail/Types/MailFromAttributes.hs view
@@ -0,0 +1,174 @@+{-# 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.PinpointEmail.Types.MailFromAttributes+-- 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.PinpointEmail.Types.MailFromAttributes where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types.BehaviorOnMxFailure+import Amazonka.PinpointEmail.Types.MailFromDomainStatus+import qualified Amazonka.Prelude as Prelude++-- | A list of attributes that are associated with a MAIL FROM domain.+--+-- /See:/ 'newMailFromAttributes' smart constructor.+data MailFromAttributes = MailFromAttributes'+ { -- | The name of a domain that an email identity uses as a custom MAIL FROM+ -- domain.+ mailFromDomain :: Prelude.Text,+ -- | The status of the MAIL FROM domain. This status can have the following+ -- values:+ --+ -- - @PENDING@ – Amazon Pinpoint hasn\'t started searching for the MX+ -- record yet.+ --+ -- - @SUCCESS@ – Amazon Pinpoint detected the required MX record for the+ -- MAIL FROM domain.+ --+ -- - @FAILED@ – Amazon Pinpoint can\'t find the required MX record, or+ -- the record no longer exists.+ --+ -- - @TEMPORARY_FAILURE@ – A temporary issue occurred, which prevented+ -- Amazon Pinpoint from determining the status of the MAIL FROM domain.+ mailFromDomainStatus :: MailFromDomainStatus,+ -- | The action that Amazon Pinpoint to takes if it can\'t read the required+ -- MX record for a custom MAIL FROM domain. When you set this value to+ -- @UseDefaultValue@, Amazon Pinpoint uses /amazonses.com/ as the MAIL FROM+ -- domain. When you set this value to @RejectMessage@, Amazon Pinpoint+ -- returns a @MailFromDomainNotVerified@ error, and doesn\'t attempt to+ -- deliver the email.+ --+ -- These behaviors are taken when the custom MAIL FROM domain configuration+ -- is in the @Pending@, @Failed@, and @TemporaryFailure@ states.+ behaviorOnMxFailure :: BehaviorOnMxFailure+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MailFromAttributes' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'mailFromDomain', 'mailFromAttributes_mailFromDomain' - The name of a domain that an email identity uses as a custom MAIL FROM+-- domain.+--+-- 'mailFromDomainStatus', 'mailFromAttributes_mailFromDomainStatus' - The status of the MAIL FROM domain. This status can have the following+-- values:+--+-- - @PENDING@ – Amazon Pinpoint hasn\'t started searching for the MX+-- record yet.+--+-- - @SUCCESS@ – Amazon Pinpoint detected the required MX record for the+-- MAIL FROM domain.+--+-- - @FAILED@ – Amazon Pinpoint can\'t find the required MX record, or+-- the record no longer exists.+--+-- - @TEMPORARY_FAILURE@ – A temporary issue occurred, which prevented+-- Amazon Pinpoint from determining the status of the MAIL FROM domain.+--+-- 'behaviorOnMxFailure', 'mailFromAttributes_behaviorOnMxFailure' - The action that Amazon Pinpoint to takes if it can\'t read the required+-- MX record for a custom MAIL FROM domain. When you set this value to+-- @UseDefaultValue@, Amazon Pinpoint uses /amazonses.com/ as the MAIL FROM+-- domain. When you set this value to @RejectMessage@, Amazon Pinpoint+-- returns a @MailFromDomainNotVerified@ error, and doesn\'t attempt to+-- deliver the email.+--+-- These behaviors are taken when the custom MAIL FROM domain configuration+-- is in the @Pending@, @Failed@, and @TemporaryFailure@ states.+newMailFromAttributes ::+ -- | 'mailFromDomain'+ Prelude.Text ->+ -- | 'mailFromDomainStatus'+ MailFromDomainStatus ->+ -- | 'behaviorOnMxFailure'+ BehaviorOnMxFailure ->+ MailFromAttributes+newMailFromAttributes+ pMailFromDomain_+ pMailFromDomainStatus_+ pBehaviorOnMxFailure_ =+ MailFromAttributes'+ { mailFromDomain =+ pMailFromDomain_,+ mailFromDomainStatus = pMailFromDomainStatus_,+ behaviorOnMxFailure = pBehaviorOnMxFailure_+ }++-- | The name of a domain that an email identity uses as a custom MAIL FROM+-- domain.+mailFromAttributes_mailFromDomain :: Lens.Lens' MailFromAttributes Prelude.Text+mailFromAttributes_mailFromDomain = Lens.lens (\MailFromAttributes' {mailFromDomain} -> mailFromDomain) (\s@MailFromAttributes' {} a -> s {mailFromDomain = a} :: MailFromAttributes)++-- | The status of the MAIL FROM domain. This status can have the following+-- values:+--+-- - @PENDING@ – Amazon Pinpoint hasn\'t started searching for the MX+-- record yet.+--+-- - @SUCCESS@ – Amazon Pinpoint detected the required MX record for the+-- MAIL FROM domain.+--+-- - @FAILED@ – Amazon Pinpoint can\'t find the required MX record, or+-- the record no longer exists.+--+-- - @TEMPORARY_FAILURE@ – A temporary issue occurred, which prevented+-- Amazon Pinpoint from determining the status of the MAIL FROM domain.+mailFromAttributes_mailFromDomainStatus :: Lens.Lens' MailFromAttributes MailFromDomainStatus+mailFromAttributes_mailFromDomainStatus = Lens.lens (\MailFromAttributes' {mailFromDomainStatus} -> mailFromDomainStatus) (\s@MailFromAttributes' {} a -> s {mailFromDomainStatus = a} :: MailFromAttributes)++-- | The action that Amazon Pinpoint to takes if it can\'t read the required+-- MX record for a custom MAIL FROM domain. When you set this value to+-- @UseDefaultValue@, Amazon Pinpoint uses /amazonses.com/ as the MAIL FROM+-- domain. When you set this value to @RejectMessage@, Amazon Pinpoint+-- returns a @MailFromDomainNotVerified@ error, and doesn\'t attempt to+-- deliver the email.+--+-- These behaviors are taken when the custom MAIL FROM domain configuration+-- is in the @Pending@, @Failed@, and @TemporaryFailure@ states.+mailFromAttributes_behaviorOnMxFailure :: Lens.Lens' MailFromAttributes BehaviorOnMxFailure+mailFromAttributes_behaviorOnMxFailure = Lens.lens (\MailFromAttributes' {behaviorOnMxFailure} -> behaviorOnMxFailure) (\s@MailFromAttributes' {} a -> s {behaviorOnMxFailure = a} :: MailFromAttributes)++instance Data.FromJSON MailFromAttributes where+ parseJSON =+ Data.withObject+ "MailFromAttributes"+ ( \x ->+ MailFromAttributes'+ Prelude.<$> (x Data..: "MailFromDomain")+ Prelude.<*> (x Data..: "MailFromDomainStatus")+ Prelude.<*> (x Data..: "BehaviorOnMxFailure")+ )++instance Prelude.Hashable MailFromAttributes where+ hashWithSalt _salt MailFromAttributes' {..} =+ _salt+ `Prelude.hashWithSalt` mailFromDomain+ `Prelude.hashWithSalt` mailFromDomainStatus+ `Prelude.hashWithSalt` behaviorOnMxFailure++instance Prelude.NFData MailFromAttributes where+ rnf MailFromAttributes' {..} =+ Prelude.rnf mailFromDomain+ `Prelude.seq` Prelude.rnf mailFromDomainStatus+ `Prelude.seq` Prelude.rnf behaviorOnMxFailure
+ gen/Amazonka/PinpointEmail/Types/MailFromDomainStatus.hs view
@@ -0,0 +1,95 @@+{-# 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.PinpointEmail.Types.MailFromDomainStatus+-- 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.PinpointEmail.Types.MailFromDomainStatus+ ( MailFromDomainStatus+ ( ..,+ MailFromDomainStatus_FAILED,+ MailFromDomainStatus_PENDING,+ MailFromDomainStatus_SUCCESS,+ MailFromDomainStatus_TEMPORARY_FAILURE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The status of the MAIL FROM domain. This status can have the following+-- values:+--+-- - @PENDING@ – Amazon Pinpoint hasn\'t started searching for the MX+-- record yet.+--+-- - @SUCCESS@ – Amazon Pinpoint detected the required MX record for the+-- MAIL FROM domain.+--+-- - @FAILED@ – Amazon Pinpoint can\'t find the required MX record, or+-- the record no longer exists.+--+-- - @TEMPORARY_FAILURE@ – A temporary issue occurred, which prevented+-- Amazon Pinpoint from determining the status of the MAIL FROM domain.+newtype MailFromDomainStatus = MailFromDomainStatus'+ { fromMailFromDomainStatus ::+ 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 MailFromDomainStatus_FAILED :: MailFromDomainStatus+pattern MailFromDomainStatus_FAILED = MailFromDomainStatus' "FAILED"++pattern MailFromDomainStatus_PENDING :: MailFromDomainStatus+pattern MailFromDomainStatus_PENDING = MailFromDomainStatus' "PENDING"++pattern MailFromDomainStatus_SUCCESS :: MailFromDomainStatus+pattern MailFromDomainStatus_SUCCESS = MailFromDomainStatus' "SUCCESS"++pattern MailFromDomainStatus_TEMPORARY_FAILURE :: MailFromDomainStatus+pattern MailFromDomainStatus_TEMPORARY_FAILURE = MailFromDomainStatus' "TEMPORARY_FAILURE"++{-# COMPLETE+ MailFromDomainStatus_FAILED,+ MailFromDomainStatus_PENDING,+ MailFromDomainStatus_SUCCESS,+ MailFromDomainStatus_TEMPORARY_FAILURE,+ MailFromDomainStatus'+ #-}
+ gen/Amazonka/PinpointEmail/Types/Message.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.PinpointEmail.Types.Message+-- 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.PinpointEmail.Types.Message where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types.Body+import Amazonka.PinpointEmail.Types.Content+import qualified Amazonka.Prelude as Prelude++-- | Represents the email message that you\'re sending. The @Message@ object+-- consists of a subject line and a message body.+--+-- /See:/ 'newMessage' smart constructor.+data Message = Message'+ { -- | The subject line of the email. The subject line can only contain 7-bit+ -- ASCII characters. However, you can specify non-ASCII characters in the+ -- subject line by using encoded-word syntax, as described in+ -- <https://tools.ietf.org/html/rfc2047 RFC 2047>.+ subject :: Content,+ -- | The body of the message. You can specify an HTML version of the message,+ -- a text-only version of the message, or both.+ body :: Body+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Message' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'subject', 'message_subject' - The subject line of the email. The subject line can only contain 7-bit+-- ASCII characters. However, you can specify non-ASCII characters in the+-- subject line by using encoded-word syntax, as described in+-- <https://tools.ietf.org/html/rfc2047 RFC 2047>.+--+-- 'body', 'message_body' - The body of the message. You can specify an HTML version of the message,+-- a text-only version of the message, or both.+newMessage ::+ -- | 'subject'+ Content ->+ -- | 'body'+ Body ->+ Message+newMessage pSubject_ pBody_ =+ Message' {subject = pSubject_, body = pBody_}++-- | The subject line of the email. The subject line can only contain 7-bit+-- ASCII characters. However, you can specify non-ASCII characters in the+-- subject line by using encoded-word syntax, as described in+-- <https://tools.ietf.org/html/rfc2047 RFC 2047>.+message_subject :: Lens.Lens' Message Content+message_subject = Lens.lens (\Message' {subject} -> subject) (\s@Message' {} a -> s {subject = a} :: Message)++-- | The body of the message. You can specify an HTML version of the message,+-- a text-only version of the message, or both.+message_body :: Lens.Lens' Message Body+message_body = Lens.lens (\Message' {body} -> body) (\s@Message' {} a -> s {body = a} :: Message)++instance Prelude.Hashable Message where+ hashWithSalt _salt Message' {..} =+ _salt+ `Prelude.hashWithSalt` subject+ `Prelude.hashWithSalt` body++instance Prelude.NFData Message where+ rnf Message' {..} =+ Prelude.rnf subject `Prelude.seq` Prelude.rnf body++instance Data.ToJSON Message where+ toJSON Message' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("Subject" Data..= subject),+ Prelude.Just ("Body" Data..= body)+ ]+ )
+ gen/Amazonka/PinpointEmail/Types/MessageTag.hs view
@@ -0,0 +1,120 @@+{-# 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.PinpointEmail.Types.MessageTag+-- 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.PinpointEmail.Types.MessageTag where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Contains the name and value of a tag that you apply to an email. You can+-- use message tags when you publish email sending events.+--+-- /See:/ 'newMessageTag' smart constructor.+data MessageTag = MessageTag'+ { -- | The name of the message tag. The message tag name has to meet the+ -- following criteria:+ --+ -- - It can only contain ASCII letters (a–z, A–Z), numbers (0–9),+ -- underscores (_), or dashes (-).+ --+ -- - It can contain no more than 256 characters.+ name :: Prelude.Text,+ -- | The value of the message tag. The message tag value has to meet the+ -- following criteria:+ --+ -- - It can only contain ASCII letters (a–z, A–Z), numbers (0–9),+ -- underscores (_), or dashes (-).+ --+ -- - It can contain no more than 256 characters.+ value :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MessageTag' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'messageTag_name' - The name of the message tag. The message tag name has to meet the+-- following criteria:+--+-- - It can only contain ASCII letters (a–z, A–Z), numbers (0–9),+-- underscores (_), or dashes (-).+--+-- - It can contain no more than 256 characters.+--+-- 'value', 'messageTag_value' - The value of the message tag. The message tag value has to meet the+-- following criteria:+--+-- - It can only contain ASCII letters (a–z, A–Z), numbers (0–9),+-- underscores (_), or dashes (-).+--+-- - It can contain no more than 256 characters.+newMessageTag ::+ -- | 'name'+ Prelude.Text ->+ -- | 'value'+ Prelude.Text ->+ MessageTag+newMessageTag pName_ pValue_ =+ MessageTag' {name = pName_, value = pValue_}++-- | The name of the message tag. The message tag name has to meet the+-- following criteria:+--+-- - It can only contain ASCII letters (a–z, A–Z), numbers (0–9),+-- underscores (_), or dashes (-).+--+-- - It can contain no more than 256 characters.+messageTag_name :: Lens.Lens' MessageTag Prelude.Text+messageTag_name = Lens.lens (\MessageTag' {name} -> name) (\s@MessageTag' {} a -> s {name = a} :: MessageTag)++-- | The value of the message tag. The message tag value has to meet the+-- following criteria:+--+-- - It can only contain ASCII letters (a–z, A–Z), numbers (0–9),+-- underscores (_), or dashes (-).+--+-- - It can contain no more than 256 characters.+messageTag_value :: Lens.Lens' MessageTag Prelude.Text+messageTag_value = Lens.lens (\MessageTag' {value} -> value) (\s@MessageTag' {} a -> s {value = a} :: MessageTag)++instance Prelude.Hashable MessageTag where+ hashWithSalt _salt MessageTag' {..} =+ _salt+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` value++instance Prelude.NFData MessageTag where+ rnf MessageTag' {..} =+ Prelude.rnf name `Prelude.seq` Prelude.rnf value++instance Data.ToJSON MessageTag where+ toJSON MessageTag' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("Name" Data..= name),+ Prelude.Just ("Value" Data..= value)+ ]+ )
+ gen/Amazonka/PinpointEmail/Types/OverallVolume.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.PinpointEmail.Types.OverallVolume+-- 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.PinpointEmail.Types.OverallVolume where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types.DomainIspPlacement+import Amazonka.PinpointEmail.Types.VolumeStatistics+import qualified Amazonka.Prelude as Prelude++-- | An object that contains information about email that was sent from the+-- selected domain.+--+-- /See:/ 'newOverallVolume' smart constructor.+data OverallVolume = OverallVolume'+ { -- | An object that contains inbox and junk mail placement metrics for+ -- individual email providers.+ domainIspPlacements :: Prelude.Maybe [DomainIspPlacement],+ -- | The percentage of emails that were sent from the domain that were read+ -- by their recipients.+ readRatePercent :: Prelude.Maybe Prelude.Double,+ -- | An object that contains information about the numbers of messages that+ -- arrived in recipients\' inboxes and junk mail folders.+ volumeStatistics :: Prelude.Maybe VolumeStatistics+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'OverallVolume' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domainIspPlacements', 'overallVolume_domainIspPlacements' - An object that contains inbox and junk mail placement metrics for+-- individual email providers.+--+-- 'readRatePercent', 'overallVolume_readRatePercent' - The percentage of emails that were sent from the domain that were read+-- by their recipients.+--+-- 'volumeStatistics', 'overallVolume_volumeStatistics' - An object that contains information about the numbers of messages that+-- arrived in recipients\' inboxes and junk mail folders.+newOverallVolume ::+ OverallVolume+newOverallVolume =+ OverallVolume'+ { domainIspPlacements =+ Prelude.Nothing,+ readRatePercent = Prelude.Nothing,+ volumeStatistics = Prelude.Nothing+ }++-- | An object that contains inbox and junk mail placement metrics for+-- individual email providers.+overallVolume_domainIspPlacements :: Lens.Lens' OverallVolume (Prelude.Maybe [DomainIspPlacement])+overallVolume_domainIspPlacements = Lens.lens (\OverallVolume' {domainIspPlacements} -> domainIspPlacements) (\s@OverallVolume' {} a -> s {domainIspPlacements = a} :: OverallVolume) Prelude.. Lens.mapping Lens.coerced++-- | The percentage of emails that were sent from the domain that were read+-- by their recipients.+overallVolume_readRatePercent :: Lens.Lens' OverallVolume (Prelude.Maybe Prelude.Double)+overallVolume_readRatePercent = Lens.lens (\OverallVolume' {readRatePercent} -> readRatePercent) (\s@OverallVolume' {} a -> s {readRatePercent = a} :: OverallVolume)++-- | An object that contains information about the numbers of messages that+-- arrived in recipients\' inboxes and junk mail folders.+overallVolume_volumeStatistics :: Lens.Lens' OverallVolume (Prelude.Maybe VolumeStatistics)+overallVolume_volumeStatistics = Lens.lens (\OverallVolume' {volumeStatistics} -> volumeStatistics) (\s@OverallVolume' {} a -> s {volumeStatistics = a} :: OverallVolume)++instance Data.FromJSON OverallVolume where+ parseJSON =+ Data.withObject+ "OverallVolume"+ ( \x ->+ OverallVolume'+ Prelude.<$> ( x+ Data..:? "DomainIspPlacements"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "ReadRatePercent")+ Prelude.<*> (x Data..:? "VolumeStatistics")+ )++instance Prelude.Hashable OverallVolume where+ hashWithSalt _salt OverallVolume' {..} =+ _salt+ `Prelude.hashWithSalt` domainIspPlacements+ `Prelude.hashWithSalt` readRatePercent+ `Prelude.hashWithSalt` volumeStatistics++instance Prelude.NFData OverallVolume where+ rnf OverallVolume' {..} =+ Prelude.rnf domainIspPlacements+ `Prelude.seq` Prelude.rnf readRatePercent+ `Prelude.seq` Prelude.rnf volumeStatistics
+ gen/Amazonka/PinpointEmail/Types/PinpointDestination.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.PinpointEmail.Types.PinpointDestination+-- 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.PinpointEmail.Types.PinpointDestination 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 object that defines a Amazon Pinpoint destination for email events.+-- You can use Amazon Pinpoint events to create attributes in Amazon+-- Pinpoint projects. You can use these attributes to create segments for+-- your campaigns.+--+-- /See:/ 'newPinpointDestination' smart constructor.+data PinpointDestination = PinpointDestination'+ { -- | The Amazon Resource Name (ARN) of the Amazon Pinpoint project that you+ -- want to send email events to.+ applicationArn :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PinpointDestination' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'applicationArn', 'pinpointDestination_applicationArn' - The Amazon Resource Name (ARN) of the Amazon Pinpoint project that you+-- want to send email events to.+newPinpointDestination ::+ PinpointDestination+newPinpointDestination =+ PinpointDestination'+ { applicationArn =+ Prelude.Nothing+ }++-- | The Amazon Resource Name (ARN) of the Amazon Pinpoint project that you+-- want to send email events to.+pinpointDestination_applicationArn :: Lens.Lens' PinpointDestination (Prelude.Maybe Prelude.Text)+pinpointDestination_applicationArn = Lens.lens (\PinpointDestination' {applicationArn} -> applicationArn) (\s@PinpointDestination' {} a -> s {applicationArn = a} :: PinpointDestination)++instance Data.FromJSON PinpointDestination where+ parseJSON =+ Data.withObject+ "PinpointDestination"+ ( \x ->+ PinpointDestination'+ Prelude.<$> (x Data..:? "ApplicationArn")+ )++instance Prelude.Hashable PinpointDestination where+ hashWithSalt _salt PinpointDestination' {..} =+ _salt `Prelude.hashWithSalt` applicationArn++instance Prelude.NFData PinpointDestination where+ rnf PinpointDestination' {..} =+ Prelude.rnf applicationArn++instance Data.ToJSON PinpointDestination where+ toJSON PinpointDestination' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ApplicationArn" Data..=)+ Prelude.<$> applicationArn+ ]+ )
+ gen/Amazonka/PinpointEmail/Types/PlacementStatistics.hs view
@@ -0,0 +1,136 @@+{-# 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.PinpointEmail.Types.PlacementStatistics+-- 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.PinpointEmail.Types.PlacementStatistics 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 object that contains inbox placement data for an email provider.+--+-- /See:/ 'newPlacementStatistics' smart constructor.+data PlacementStatistics = PlacementStatistics'+ { -- | The percentage of emails that were authenticated by using DomainKeys+ -- Identified Mail (DKIM) during the predictive inbox placement test.+ dkimPercentage :: Prelude.Maybe Prelude.Double,+ -- | The percentage of emails that arrived in recipients\' inboxes during the+ -- predictive inbox placement test.+ inboxPercentage :: Prelude.Maybe Prelude.Double,+ -- | The percentage of emails that didn\'t arrive in recipients\' inboxes at+ -- all during the predictive inbox placement test.+ missingPercentage :: Prelude.Maybe Prelude.Double,+ -- | The percentage of emails that arrived in recipients\' spam or junk mail+ -- folders during the predictive inbox placement test.+ spamPercentage :: Prelude.Maybe Prelude.Double,+ -- | The percentage of emails that were authenticated by using Sender Policy+ -- Framework (SPF) during the predictive inbox placement test.+ spfPercentage :: Prelude.Maybe Prelude.Double+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PlacementStatistics' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dkimPercentage', 'placementStatistics_dkimPercentage' - The percentage of emails that were authenticated by using DomainKeys+-- Identified Mail (DKIM) during the predictive inbox placement test.+--+-- 'inboxPercentage', 'placementStatistics_inboxPercentage' - The percentage of emails that arrived in recipients\' inboxes during the+-- predictive inbox placement test.+--+-- 'missingPercentage', 'placementStatistics_missingPercentage' - The percentage of emails that didn\'t arrive in recipients\' inboxes at+-- all during the predictive inbox placement test.+--+-- 'spamPercentage', 'placementStatistics_spamPercentage' - The percentage of emails that arrived in recipients\' spam or junk mail+-- folders during the predictive inbox placement test.+--+-- 'spfPercentage', 'placementStatistics_spfPercentage' - The percentage of emails that were authenticated by using Sender Policy+-- Framework (SPF) during the predictive inbox placement test.+newPlacementStatistics ::+ PlacementStatistics+newPlacementStatistics =+ PlacementStatistics'+ { dkimPercentage =+ Prelude.Nothing,+ inboxPercentage = Prelude.Nothing,+ missingPercentage = Prelude.Nothing,+ spamPercentage = Prelude.Nothing,+ spfPercentage = Prelude.Nothing+ }++-- | The percentage of emails that were authenticated by using DomainKeys+-- Identified Mail (DKIM) during the predictive inbox placement test.+placementStatistics_dkimPercentage :: Lens.Lens' PlacementStatistics (Prelude.Maybe Prelude.Double)+placementStatistics_dkimPercentage = Lens.lens (\PlacementStatistics' {dkimPercentage} -> dkimPercentage) (\s@PlacementStatistics' {} a -> s {dkimPercentage = a} :: PlacementStatistics)++-- | The percentage of emails that arrived in recipients\' inboxes during the+-- predictive inbox placement test.+placementStatistics_inboxPercentage :: Lens.Lens' PlacementStatistics (Prelude.Maybe Prelude.Double)+placementStatistics_inboxPercentage = Lens.lens (\PlacementStatistics' {inboxPercentage} -> inboxPercentage) (\s@PlacementStatistics' {} a -> s {inboxPercentage = a} :: PlacementStatistics)++-- | The percentage of emails that didn\'t arrive in recipients\' inboxes at+-- all during the predictive inbox placement test.+placementStatistics_missingPercentage :: Lens.Lens' PlacementStatistics (Prelude.Maybe Prelude.Double)+placementStatistics_missingPercentage = Lens.lens (\PlacementStatistics' {missingPercentage} -> missingPercentage) (\s@PlacementStatistics' {} a -> s {missingPercentage = a} :: PlacementStatistics)++-- | The percentage of emails that arrived in recipients\' spam or junk mail+-- folders during the predictive inbox placement test.+placementStatistics_spamPercentage :: Lens.Lens' PlacementStatistics (Prelude.Maybe Prelude.Double)+placementStatistics_spamPercentage = Lens.lens (\PlacementStatistics' {spamPercentage} -> spamPercentage) (\s@PlacementStatistics' {} a -> s {spamPercentage = a} :: PlacementStatistics)++-- | The percentage of emails that were authenticated by using Sender Policy+-- Framework (SPF) during the predictive inbox placement test.+placementStatistics_spfPercentage :: Lens.Lens' PlacementStatistics (Prelude.Maybe Prelude.Double)+placementStatistics_spfPercentage = Lens.lens (\PlacementStatistics' {spfPercentage} -> spfPercentage) (\s@PlacementStatistics' {} a -> s {spfPercentage = a} :: PlacementStatistics)++instance Data.FromJSON PlacementStatistics where+ parseJSON =+ Data.withObject+ "PlacementStatistics"+ ( \x ->+ PlacementStatistics'+ Prelude.<$> (x Data..:? "DkimPercentage")+ Prelude.<*> (x Data..:? "InboxPercentage")+ Prelude.<*> (x Data..:? "MissingPercentage")+ Prelude.<*> (x Data..:? "SpamPercentage")+ Prelude.<*> (x Data..:? "SpfPercentage")+ )++instance Prelude.Hashable PlacementStatistics where+ hashWithSalt _salt PlacementStatistics' {..} =+ _salt+ `Prelude.hashWithSalt` dkimPercentage+ `Prelude.hashWithSalt` inboxPercentage+ `Prelude.hashWithSalt` missingPercentage+ `Prelude.hashWithSalt` spamPercentage+ `Prelude.hashWithSalt` spfPercentage++instance Prelude.NFData PlacementStatistics where+ rnf PlacementStatistics' {..} =+ Prelude.rnf dkimPercentage+ `Prelude.seq` Prelude.rnf inboxPercentage+ `Prelude.seq` Prelude.rnf missingPercentage+ `Prelude.seq` Prelude.rnf spamPercentage+ `Prelude.seq` Prelude.rnf spfPercentage
+ gen/Amazonka/PinpointEmail/Types/RawMessage.hs view
@@ -0,0 +1,136 @@+{-# 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.PinpointEmail.Types.RawMessage+-- 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.PinpointEmail.Types.RawMessage 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 raw email message.+--+-- /See:/ 'newRawMessage' smart constructor.+data RawMessage = RawMessage'+ { -- | The raw email message. The message has to meet the following criteria:+ --+ -- - The message has to contain a header and a body, separated by one+ -- blank line.+ --+ -- - All of the required header fields must be present in the message.+ --+ -- - Each part of a multipart MIME message must be formatted properly.+ --+ -- - Attachments must be in a file format that Amazon Pinpoint supports.+ --+ -- - The entire message must be Base64 encoded.+ --+ -- - If any of the MIME parts in your message contain content that is+ -- outside of the 7-bit ASCII character range, you should encode that+ -- content to ensure that recipients\' email clients render the message+ -- properly.+ --+ -- - The length of any single line of text in the message can\'t exceed+ -- 1,000 characters. This restriction is defined in+ -- <https://tools.ietf.org/html/rfc5321 RFC 5321>.+ data' :: Data.Base64+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RawMessage' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'data'', 'rawMessage_data' - The raw email message. The message has to meet the following criteria:+--+-- - The message has to contain a header and a body, separated by one+-- blank line.+--+-- - All of the required header fields must be present in the message.+--+-- - Each part of a multipart MIME message must be formatted properly.+--+-- - Attachments must be in a file format that Amazon Pinpoint supports.+--+-- - The entire message must be Base64 encoded.+--+-- - If any of the MIME parts in your message contain content that is+-- outside of the 7-bit ASCII character range, you should encode that+-- content to ensure that recipients\' email clients render the message+-- properly.+--+-- - The length of any single line of text in the message can\'t exceed+-- 1,000 characters. This restriction is defined in+-- <https://tools.ietf.org/html/rfc5321 RFC 5321>.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+newRawMessage ::+ -- | 'data''+ Prelude.ByteString ->+ RawMessage+newRawMessage pData_ =+ RawMessage' {data' = Data._Base64 Lens.# pData_}++-- | The raw email message. The message has to meet the following criteria:+--+-- - The message has to contain a header and a body, separated by one+-- blank line.+--+-- - All of the required header fields must be present in the message.+--+-- - Each part of a multipart MIME message must be formatted properly.+--+-- - Attachments must be in a file format that Amazon Pinpoint supports.+--+-- - The entire message must be Base64 encoded.+--+-- - If any of the MIME parts in your message contain content that is+-- outside of the 7-bit ASCII character range, you should encode that+-- content to ensure that recipients\' email clients render the message+-- properly.+--+-- - The length of any single line of text in the message can\'t exceed+-- 1,000 characters. This restriction is defined in+-- <https://tools.ietf.org/html/rfc5321 RFC 5321>.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+rawMessage_data :: Lens.Lens' RawMessage Prelude.ByteString+rawMessage_data = Lens.lens (\RawMessage' {data'} -> data') (\s@RawMessage' {} a -> s {data' = a} :: RawMessage) Prelude.. Data._Base64++instance Prelude.Hashable RawMessage where+ hashWithSalt _salt RawMessage' {..} =+ _salt `Prelude.hashWithSalt` data'++instance Prelude.NFData RawMessage where+ rnf RawMessage' {..} = Prelude.rnf data'++instance Data.ToJSON RawMessage where+ toJSON RawMessage' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("Data" Data..= data')]+ )
+ gen/Amazonka/PinpointEmail/Types/ReputationOptions.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.PinpointEmail.Types.ReputationOptions+-- 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.PinpointEmail.Types.ReputationOptions 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++-- | Enable or disable collection of reputation metrics for emails that you+-- send using this configuration set in the current AWS Region.+--+-- /See:/ 'newReputationOptions' smart constructor.+data ReputationOptions = ReputationOptions'+ { -- | The date and time (in Unix time) when the reputation metrics were last+ -- given a fresh start. When your account is given a fresh start, your+ -- reputation metrics are calculated starting from the date of the fresh+ -- start.+ lastFreshStart :: Prelude.Maybe Data.POSIX,+ -- | If @true@, tracking of reputation metrics is enabled for the+ -- configuration set. If @false@, tracking of reputation metrics is+ -- disabled for the configuration set.+ reputationMetricsEnabled :: Prelude.Maybe Prelude.Bool+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ReputationOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'lastFreshStart', 'reputationOptions_lastFreshStart' - The date and time (in Unix time) when the reputation metrics were last+-- given a fresh start. When your account is given a fresh start, your+-- reputation metrics are calculated starting from the date of the fresh+-- start.+--+-- 'reputationMetricsEnabled', 'reputationOptions_reputationMetricsEnabled' - If @true@, tracking of reputation metrics is enabled for the+-- configuration set. If @false@, tracking of reputation metrics is+-- disabled for the configuration set.+newReputationOptions ::+ ReputationOptions+newReputationOptions =+ ReputationOptions'+ { lastFreshStart =+ Prelude.Nothing,+ reputationMetricsEnabled = Prelude.Nothing+ }++-- | The date and time (in Unix time) when the reputation metrics were last+-- given a fresh start. When your account is given a fresh start, your+-- reputation metrics are calculated starting from the date of the fresh+-- start.+reputationOptions_lastFreshStart :: Lens.Lens' ReputationOptions (Prelude.Maybe Prelude.UTCTime)+reputationOptions_lastFreshStart = Lens.lens (\ReputationOptions' {lastFreshStart} -> lastFreshStart) (\s@ReputationOptions' {} a -> s {lastFreshStart = a} :: ReputationOptions) Prelude.. Lens.mapping Data._Time++-- | If @true@, tracking of reputation metrics is enabled for the+-- configuration set. If @false@, tracking of reputation metrics is+-- disabled for the configuration set.+reputationOptions_reputationMetricsEnabled :: Lens.Lens' ReputationOptions (Prelude.Maybe Prelude.Bool)+reputationOptions_reputationMetricsEnabled = Lens.lens (\ReputationOptions' {reputationMetricsEnabled} -> reputationMetricsEnabled) (\s@ReputationOptions' {} a -> s {reputationMetricsEnabled = a} :: ReputationOptions)++instance Data.FromJSON ReputationOptions where+ parseJSON =+ Data.withObject+ "ReputationOptions"+ ( \x ->+ ReputationOptions'+ Prelude.<$> (x Data..:? "LastFreshStart")+ Prelude.<*> (x Data..:? "ReputationMetricsEnabled")+ )++instance Prelude.Hashable ReputationOptions where+ hashWithSalt _salt ReputationOptions' {..} =+ _salt+ `Prelude.hashWithSalt` lastFreshStart+ `Prelude.hashWithSalt` reputationMetricsEnabled++instance Prelude.NFData ReputationOptions where+ rnf ReputationOptions' {..} =+ Prelude.rnf lastFreshStart+ `Prelude.seq` Prelude.rnf reputationMetricsEnabled++instance Data.ToJSON ReputationOptions where+ toJSON ReputationOptions' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("LastFreshStart" Data..=)+ Prelude.<$> lastFreshStart,+ ("ReputationMetricsEnabled" Data..=)+ Prelude.<$> reputationMetricsEnabled+ ]+ )
+ gen/Amazonka/PinpointEmail/Types/SendQuota.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.PinpointEmail.Types.SendQuota+-- 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.PinpointEmail.Types.SendQuota 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 object that contains information about the per-day and per-second+-- sending limits for your Amazon Pinpoint account in the current AWS+-- Region.+--+-- /See:/ 'newSendQuota' smart constructor.+data SendQuota = SendQuota'+ { -- | The maximum number of emails that you can send in the current AWS Region+ -- over a 24-hour period. This value is also called your /sending quota/.+ max24HourSend :: Prelude.Maybe Prelude.Double,+ -- | The maximum number of emails that you can send per second in the current+ -- AWS Region. This value is also called your /maximum sending rate/ or+ -- your /maximum TPS (transactions per second) rate/.+ maxSendRate :: Prelude.Maybe Prelude.Double,+ -- | The number of emails sent from your Amazon Pinpoint account in the+ -- current AWS Region over the past 24 hours.+ sentLast24Hours :: Prelude.Maybe Prelude.Double+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SendQuota' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'max24HourSend', 'sendQuota_max24HourSend' - The maximum number of emails that you can send in the current AWS Region+-- over a 24-hour period. This value is also called your /sending quota/.+--+-- 'maxSendRate', 'sendQuota_maxSendRate' - The maximum number of emails that you can send per second in the current+-- AWS Region. This value is also called your /maximum sending rate/ or+-- your /maximum TPS (transactions per second) rate/.+--+-- 'sentLast24Hours', 'sendQuota_sentLast24Hours' - The number of emails sent from your Amazon Pinpoint account in the+-- current AWS Region over the past 24 hours.+newSendQuota ::+ SendQuota+newSendQuota =+ SendQuota'+ { max24HourSend = Prelude.Nothing,+ maxSendRate = Prelude.Nothing,+ sentLast24Hours = Prelude.Nothing+ }++-- | The maximum number of emails that you can send in the current AWS Region+-- over a 24-hour period. This value is also called your /sending quota/.+sendQuota_max24HourSend :: Lens.Lens' SendQuota (Prelude.Maybe Prelude.Double)+sendQuota_max24HourSend = Lens.lens (\SendQuota' {max24HourSend} -> max24HourSend) (\s@SendQuota' {} a -> s {max24HourSend = a} :: SendQuota)++-- | The maximum number of emails that you can send per second in the current+-- AWS Region. This value is also called your /maximum sending rate/ or+-- your /maximum TPS (transactions per second) rate/.+sendQuota_maxSendRate :: Lens.Lens' SendQuota (Prelude.Maybe Prelude.Double)+sendQuota_maxSendRate = Lens.lens (\SendQuota' {maxSendRate} -> maxSendRate) (\s@SendQuota' {} a -> s {maxSendRate = a} :: SendQuota)++-- | The number of emails sent from your Amazon Pinpoint account in the+-- current AWS Region over the past 24 hours.+sendQuota_sentLast24Hours :: Lens.Lens' SendQuota (Prelude.Maybe Prelude.Double)+sendQuota_sentLast24Hours = Lens.lens (\SendQuota' {sentLast24Hours} -> sentLast24Hours) (\s@SendQuota' {} a -> s {sentLast24Hours = a} :: SendQuota)++instance Data.FromJSON SendQuota where+ parseJSON =+ Data.withObject+ "SendQuota"+ ( \x ->+ SendQuota'+ Prelude.<$> (x Data..:? "Max24HourSend")+ Prelude.<*> (x Data..:? "MaxSendRate")+ Prelude.<*> (x Data..:? "SentLast24Hours")+ )++instance Prelude.Hashable SendQuota where+ hashWithSalt _salt SendQuota' {..} =+ _salt+ `Prelude.hashWithSalt` max24HourSend+ `Prelude.hashWithSalt` maxSendRate+ `Prelude.hashWithSalt` sentLast24Hours++instance Prelude.NFData SendQuota where+ rnf SendQuota' {..} =+ Prelude.rnf max24HourSend+ `Prelude.seq` Prelude.rnf maxSendRate+ `Prelude.seq` Prelude.rnf sentLast24Hours
+ gen/Amazonka/PinpointEmail/Types/SendingOptions.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.PinpointEmail.Types.SendingOptions+-- 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.PinpointEmail.Types.SendingOptions 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++-- | Used to enable or disable email sending for messages that use this+-- configuration set in the current AWS Region.+--+-- /See:/ 'newSendingOptions' smart constructor.+data SendingOptions = SendingOptions'+ { -- | If @true@, email sending is enabled for the configuration set. If+ -- @false@, email sending is disabled for the configuration set.+ sendingEnabled :: Prelude.Maybe Prelude.Bool+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SendingOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sendingEnabled', 'sendingOptions_sendingEnabled' - If @true@, email sending is enabled for the configuration set. If+-- @false@, email sending is disabled for the configuration set.+newSendingOptions ::+ SendingOptions+newSendingOptions =+ SendingOptions' {sendingEnabled = Prelude.Nothing}++-- | If @true@, email sending is enabled for the configuration set. If+-- @false@, email sending is disabled for the configuration set.+sendingOptions_sendingEnabled :: Lens.Lens' SendingOptions (Prelude.Maybe Prelude.Bool)+sendingOptions_sendingEnabled = Lens.lens (\SendingOptions' {sendingEnabled} -> sendingEnabled) (\s@SendingOptions' {} a -> s {sendingEnabled = a} :: SendingOptions)++instance Data.FromJSON SendingOptions where+ parseJSON =+ Data.withObject+ "SendingOptions"+ ( \x ->+ SendingOptions'+ Prelude.<$> (x Data..:? "SendingEnabled")+ )++instance Prelude.Hashable SendingOptions where+ hashWithSalt _salt SendingOptions' {..} =+ _salt `Prelude.hashWithSalt` sendingEnabled++instance Prelude.NFData SendingOptions where+ rnf SendingOptions' {..} = Prelude.rnf sendingEnabled++instance Data.ToJSON SendingOptions where+ toJSON SendingOptions' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("SendingEnabled" Data..=)+ Prelude.<$> sendingEnabled+ ]+ )
+ gen/Amazonka/PinpointEmail/Types/SnsDestination.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.PinpointEmail.Types.SnsDestination+-- 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.PinpointEmail.Types.SnsDestination 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 object that defines an Amazon SNS destination for email events. You+-- can use Amazon SNS to send notification when certain email events occur.+--+-- /See:/ 'newSnsDestination' smart constructor.+data SnsDestination = SnsDestination'+ { -- | The Amazon Resource Name (ARN) of the Amazon SNS topic that you want to+ -- publish email events to. For more information about Amazon SNS topics,+ -- see the+ -- <https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html Amazon SNS Developer Guide>.+ topicArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SnsDestination' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'topicArn', 'snsDestination_topicArn' - The Amazon Resource Name (ARN) of the Amazon SNS topic that you want to+-- publish email events to. For more information about Amazon SNS topics,+-- see the+-- <https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html Amazon SNS Developer Guide>.+newSnsDestination ::+ -- | 'topicArn'+ Prelude.Text ->+ SnsDestination+newSnsDestination pTopicArn_ =+ SnsDestination' {topicArn = pTopicArn_}++-- | The Amazon Resource Name (ARN) of the Amazon SNS topic that you want to+-- publish email events to. For more information about Amazon SNS topics,+-- see the+-- <https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html Amazon SNS Developer Guide>.+snsDestination_topicArn :: Lens.Lens' SnsDestination Prelude.Text+snsDestination_topicArn = Lens.lens (\SnsDestination' {topicArn} -> topicArn) (\s@SnsDestination' {} a -> s {topicArn = a} :: SnsDestination)++instance Data.FromJSON SnsDestination where+ parseJSON =+ Data.withObject+ "SnsDestination"+ ( \x ->+ SnsDestination' Prelude.<$> (x Data..: "TopicArn")+ )++instance Prelude.Hashable SnsDestination where+ hashWithSalt _salt SnsDestination' {..} =+ _salt `Prelude.hashWithSalt` topicArn++instance Prelude.NFData SnsDestination where+ rnf SnsDestination' {..} = Prelude.rnf topicArn++instance Data.ToJSON SnsDestination where+ toJSON SnsDestination' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("TopicArn" Data..= topicArn)]+ )
+ gen/Amazonka/PinpointEmail/Types/Tag.hs view
@@ -0,0 +1,136 @@+{-# 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.PinpointEmail.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.PinpointEmail.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++-- | An object that defines the tags that are associated with a resource.+-- A /tag/ is a label that you optionally define and associate with a+-- resource in Amazon Pinpoint. Tags can help you categorize and manage+-- resources in different ways, such as by purpose, owner, environment, or+-- other criteria. A resource can have as many as 50 tags.+--+-- Each tag consists of a required /tag key/ and an associated /tag value/,+-- both of which you define. A tag key is a general label that acts as a+-- category for a more specific tag value. A tag value acts as a descriptor+-- within a tag key. A tag key can contain as many as 128 characters. A tag+-- value can contain as many as 256 characters. The characters can be+-- Unicode letters, digits, white space, or one of the following symbols: _+-- . : \/ = + -. The following additional restrictions apply to tags:+--+-- - Tag keys and values are case sensitive.+--+-- - For each associated resource, each tag key must be unique and it can+-- have only one value.+--+-- - The @aws:@ prefix is reserved for use by AWS; you can’t use it in+-- any tag keys or values that you define. In addition, you can\'t edit+-- or remove tag keys or values that use this prefix. Tags that use+-- this prefix don’t count against the limit of 50 tags per resource.+--+-- - You can associate tags with public or shared resources, but the tags+-- are available only for your AWS account, not any other accounts that+-- share the resource. In addition, the tags are available only for+-- resources that are located in the specified AWS Region for your AWS+-- account.+--+-- /See:/ 'newTag' smart constructor.+data Tag = Tag'+ { -- | One part of a key-value pair that defines a tag. The maximum length of a+ -- tag key is 128 characters. The minimum length is 1 character.+ key :: Prelude.Text,+ -- | The optional part of a key-value pair that defines a tag. The maximum+ -- length of a tag value is 256 characters. The minimum length is 0+ -- characters. If you don’t want a resource to have a specific tag value,+ -- don’t specify a value for this parameter. Amazon Pinpoint will set the+ -- value to an empty string.+ value :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Tag' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'key', 'tag_key' - One part of a key-value pair that defines a tag. The maximum length of a+-- tag key is 128 characters. The minimum length is 1 character.+--+-- 'value', 'tag_value' - The optional part of a key-value pair that defines a tag. The maximum+-- length of a tag value is 256 characters. The minimum length is 0+-- characters. If you don’t want a resource to have a specific tag value,+-- don’t specify a value for this parameter. Amazon Pinpoint will set the+-- value to an empty string.+newTag ::+ -- | 'key'+ Prelude.Text ->+ -- | 'value'+ Prelude.Text ->+ Tag+newTag pKey_ pValue_ =+ Tag' {key = pKey_, value = pValue_}++-- | One part of a key-value pair that defines a tag. The maximum length of a+-- tag key is 128 characters. The minimum length is 1 character.+tag_key :: Lens.Lens' Tag Prelude.Text+tag_key = Lens.lens (\Tag' {key} -> key) (\s@Tag' {} a -> s {key = a} :: Tag)++-- | The optional part of a key-value pair that defines a tag. The maximum+-- length of a tag value is 256 characters. The minimum length is 0+-- characters. If you don’t want a resource to have a specific tag value,+-- don’t specify a value for this parameter. Amazon Pinpoint will set the+-- value to an empty string.+tag_value :: Lens.Lens' Tag Prelude.Text+tag_value = Lens.lens (\Tag' {value} -> value) (\s@Tag' {} a -> s {value = a} :: Tag)++instance Data.FromJSON Tag where+ parseJSON =+ Data.withObject+ "Tag"+ ( \x ->+ Tag'+ Prelude.<$> (x Data..: "Key")+ Prelude.<*> (x Data..: "Value")+ )++instance Prelude.Hashable Tag where+ hashWithSalt _salt Tag' {..} =+ _salt+ `Prelude.hashWithSalt` key+ `Prelude.hashWithSalt` value++instance Prelude.NFData Tag where+ rnf Tag' {..} =+ Prelude.rnf key `Prelude.seq` Prelude.rnf value++instance Data.ToJSON Tag where+ toJSON Tag' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("Key" Data..= key),+ Prelude.Just ("Value" Data..= value)+ ]+ )
+ gen/Amazonka/PinpointEmail/Types/Template.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.PinpointEmail.Types.Template+-- 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.PinpointEmail.Types.Template 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++-- | /See:/ 'newTemplate' smart constructor.+data Template = Template'+ { -- | The Amazon Resource Name (ARN) of the template.+ templateArn :: Prelude.Maybe Prelude.Text,+ -- | An object that defines the values to use for message variables in the+ -- template. This object is a set of key-value pairs. Each key defines a+ -- message variable in the template. The corresponding value defines the+ -- value to use for that variable.+ templateData :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Template' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'templateArn', 'template_templateArn' - The Amazon Resource Name (ARN) of the template.+--+-- 'templateData', 'template_templateData' - An object that defines the values to use for message variables in the+-- template. This object is a set of key-value pairs. Each key defines a+-- message variable in the template. The corresponding value defines the+-- value to use for that variable.+newTemplate ::+ Template+newTemplate =+ Template'+ { templateArn = Prelude.Nothing,+ templateData = Prelude.Nothing+ }++-- | The Amazon Resource Name (ARN) of the template.+template_templateArn :: Lens.Lens' Template (Prelude.Maybe Prelude.Text)+template_templateArn = Lens.lens (\Template' {templateArn} -> templateArn) (\s@Template' {} a -> s {templateArn = a} :: Template)++-- | An object that defines the values to use for message variables in the+-- template. This object is a set of key-value pairs. Each key defines a+-- message variable in the template. The corresponding value defines the+-- value to use for that variable.+template_templateData :: Lens.Lens' Template (Prelude.Maybe Prelude.Text)+template_templateData = Lens.lens (\Template' {templateData} -> templateData) (\s@Template' {} a -> s {templateData = a} :: Template)++instance Prelude.Hashable Template where+ hashWithSalt _salt Template' {..} =+ _salt+ `Prelude.hashWithSalt` templateArn+ `Prelude.hashWithSalt` templateData++instance Prelude.NFData Template where+ rnf Template' {..} =+ Prelude.rnf templateArn+ `Prelude.seq` Prelude.rnf templateData++instance Data.ToJSON Template where+ toJSON Template' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("TemplateArn" Data..=) Prelude.<$> templateArn,+ ("TemplateData" Data..=) Prelude.<$> templateData+ ]+ )
+ gen/Amazonka/PinpointEmail/Types/TlsPolicy.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.PinpointEmail.Types.TlsPolicy+-- 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.PinpointEmail.Types.TlsPolicy+ ( TlsPolicy+ ( ..,+ TlsPolicy_OPTIONAL,+ TlsPolicy_REQUIRE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specifies whether messages that use the configuration set are required+-- to use Transport Layer Security (TLS). If the value is @Require@,+-- messages are only delivered if a TLS connection can be established. If+-- the value is @Optional@, messages can be delivered in plain text if a+-- TLS connection can\'t be established.+newtype TlsPolicy = TlsPolicy'+ { fromTlsPolicy ::+ 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 TlsPolicy_OPTIONAL :: TlsPolicy+pattern TlsPolicy_OPTIONAL = TlsPolicy' "OPTIONAL"++pattern TlsPolicy_REQUIRE :: TlsPolicy+pattern TlsPolicy_REQUIRE = TlsPolicy' "REQUIRE"++{-# COMPLETE+ TlsPolicy_OPTIONAL,+ TlsPolicy_REQUIRE,+ TlsPolicy'+ #-}
+ gen/Amazonka/PinpointEmail/Types/TrackingOptions.hs view
@@ -0,0 +1,93 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.PinpointEmail.Types.TrackingOptions+-- 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.PinpointEmail.Types.TrackingOptions 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 object that defines the tracking options for a configuration set.+-- When you use Amazon Pinpoint to send an email, it contains an invisible+-- image that\'s used to track when recipients open your email. If your+-- email contains links, those links are changed slightly in order to track+-- when recipients click them.+--+-- These images and links include references to a domain operated by AWS.+-- You can optionally configure Amazon Pinpoint to use a domain that you+-- operate for these images and links.+--+-- /See:/ 'newTrackingOptions' smart constructor.+data TrackingOptions = TrackingOptions'+ { -- | The domain that you want to use for tracking open and click events.+ customRedirectDomain :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TrackingOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'customRedirectDomain', 'trackingOptions_customRedirectDomain' - The domain that you want to use for tracking open and click events.+newTrackingOptions ::+ -- | 'customRedirectDomain'+ Prelude.Text ->+ TrackingOptions+newTrackingOptions pCustomRedirectDomain_ =+ TrackingOptions'+ { customRedirectDomain =+ pCustomRedirectDomain_+ }++-- | The domain that you want to use for tracking open and click events.+trackingOptions_customRedirectDomain :: Lens.Lens' TrackingOptions Prelude.Text+trackingOptions_customRedirectDomain = Lens.lens (\TrackingOptions' {customRedirectDomain} -> customRedirectDomain) (\s@TrackingOptions' {} a -> s {customRedirectDomain = a} :: TrackingOptions)++instance Data.FromJSON TrackingOptions where+ parseJSON =+ Data.withObject+ "TrackingOptions"+ ( \x ->+ TrackingOptions'+ Prelude.<$> (x Data..: "CustomRedirectDomain")+ )++instance Prelude.Hashable TrackingOptions where+ hashWithSalt _salt TrackingOptions' {..} =+ _salt `Prelude.hashWithSalt` customRedirectDomain++instance Prelude.NFData TrackingOptions where+ rnf TrackingOptions' {..} =+ Prelude.rnf customRedirectDomain++instance Data.ToJSON TrackingOptions where+ toJSON TrackingOptions' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ( "CustomRedirectDomain"+ Data..= customRedirectDomain+ )+ ]+ )
+ gen/Amazonka/PinpointEmail/Types/VolumeStatistics.hs view
@@ -0,0 +1,118 @@+{-# 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.PinpointEmail.Types.VolumeStatistics+-- 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.PinpointEmail.Types.VolumeStatistics 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 object that contains information about the amount of email that was+-- delivered to recipients.+--+-- /See:/ 'newVolumeStatistics' smart constructor.+data VolumeStatistics = VolumeStatistics'+ { -- | The total number of emails that arrived in recipients\' inboxes.+ inboxRawCount :: Prelude.Maybe Prelude.Integer,+ -- | An estimate of the percentage of emails sent from the current domain+ -- that will arrive in recipients\' inboxes.+ projectedInbox :: Prelude.Maybe Prelude.Integer,+ -- | An estimate of the percentage of emails sent from the current domain+ -- that will arrive in recipients\' spam or junk mail folders.+ projectedSpam :: Prelude.Maybe Prelude.Integer,+ -- | The total number of emails that arrived in recipients\' spam or junk+ -- mail folders.+ spamRawCount :: Prelude.Maybe Prelude.Integer+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VolumeStatistics' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'inboxRawCount', 'volumeStatistics_inboxRawCount' - The total number of emails that arrived in recipients\' inboxes.+--+-- 'projectedInbox', 'volumeStatistics_projectedInbox' - An estimate of the percentage of emails sent from the current domain+-- that will arrive in recipients\' inboxes.+--+-- 'projectedSpam', 'volumeStatistics_projectedSpam' - An estimate of the percentage of emails sent from the current domain+-- that will arrive in recipients\' spam or junk mail folders.+--+-- 'spamRawCount', 'volumeStatistics_spamRawCount' - The total number of emails that arrived in recipients\' spam or junk+-- mail folders.+newVolumeStatistics ::+ VolumeStatistics+newVolumeStatistics =+ VolumeStatistics'+ { inboxRawCount = Prelude.Nothing,+ projectedInbox = Prelude.Nothing,+ projectedSpam = Prelude.Nothing,+ spamRawCount = Prelude.Nothing+ }++-- | The total number of emails that arrived in recipients\' inboxes.+volumeStatistics_inboxRawCount :: Lens.Lens' VolumeStatistics (Prelude.Maybe Prelude.Integer)+volumeStatistics_inboxRawCount = Lens.lens (\VolumeStatistics' {inboxRawCount} -> inboxRawCount) (\s@VolumeStatistics' {} a -> s {inboxRawCount = a} :: VolumeStatistics)++-- | An estimate of the percentage of emails sent from the current domain+-- that will arrive in recipients\' inboxes.+volumeStatistics_projectedInbox :: Lens.Lens' VolumeStatistics (Prelude.Maybe Prelude.Integer)+volumeStatistics_projectedInbox = Lens.lens (\VolumeStatistics' {projectedInbox} -> projectedInbox) (\s@VolumeStatistics' {} a -> s {projectedInbox = a} :: VolumeStatistics)++-- | An estimate of the percentage of emails sent from the current domain+-- that will arrive in recipients\' spam or junk mail folders.+volumeStatistics_projectedSpam :: Lens.Lens' VolumeStatistics (Prelude.Maybe Prelude.Integer)+volumeStatistics_projectedSpam = Lens.lens (\VolumeStatistics' {projectedSpam} -> projectedSpam) (\s@VolumeStatistics' {} a -> s {projectedSpam = a} :: VolumeStatistics)++-- | The total number of emails that arrived in recipients\' spam or junk+-- mail folders.+volumeStatistics_spamRawCount :: Lens.Lens' VolumeStatistics (Prelude.Maybe Prelude.Integer)+volumeStatistics_spamRawCount = Lens.lens (\VolumeStatistics' {spamRawCount} -> spamRawCount) (\s@VolumeStatistics' {} a -> s {spamRawCount = a} :: VolumeStatistics)++instance Data.FromJSON VolumeStatistics where+ parseJSON =+ Data.withObject+ "VolumeStatistics"+ ( \x ->+ VolumeStatistics'+ Prelude.<$> (x Data..:? "InboxRawCount")+ Prelude.<*> (x Data..:? "ProjectedInbox")+ Prelude.<*> (x Data..:? "ProjectedSpam")+ Prelude.<*> (x Data..:? "SpamRawCount")+ )++instance Prelude.Hashable VolumeStatistics where+ hashWithSalt _salt VolumeStatistics' {..} =+ _salt+ `Prelude.hashWithSalt` inboxRawCount+ `Prelude.hashWithSalt` projectedInbox+ `Prelude.hashWithSalt` projectedSpam+ `Prelude.hashWithSalt` spamRawCount++instance Prelude.NFData VolumeStatistics where+ rnf VolumeStatistics' {..} =+ Prelude.rnf inboxRawCount+ `Prelude.seq` Prelude.rnf projectedInbox+ `Prelude.seq` Prelude.rnf projectedSpam+ `Prelude.seq` Prelude.rnf spamRawCount
+ gen/Amazonka/PinpointEmail/Types/WarmupStatus.hs view
@@ -0,0 +1,72 @@+{-# 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.PinpointEmail.Types.WarmupStatus+-- 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.PinpointEmail.Types.WarmupStatus+ ( WarmupStatus+ ( ..,+ WarmupStatus_DONE,+ WarmupStatus_IN_PROGRESS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The warmup status of a dedicated IP.+newtype WarmupStatus = WarmupStatus'+ { fromWarmupStatus ::+ 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 WarmupStatus_DONE :: WarmupStatus+pattern WarmupStatus_DONE = WarmupStatus' "DONE"++pattern WarmupStatus_IN_PROGRESS :: WarmupStatus+pattern WarmupStatus_IN_PROGRESS = WarmupStatus' "IN_PROGRESS"++{-# COMPLETE+ WarmupStatus_DONE,+ WarmupStatus_IN_PROGRESS,+ WarmupStatus'+ #-}
+ gen/Amazonka/PinpointEmail/UntagResource.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.PinpointEmail.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)+--+-- Remove one or more tags (keys and values) from a specified resource.+module Amazonka.PinpointEmail.UntagResource+ ( -- * Creating a Request+ UntagResource (..),+ newUntagResource,++ -- * Request Lenses+ untagResource_resourceArn,+ untagResource_tagKeys,++ -- * Destructuring the Response+ UntagResourceResponse (..),+ newUntagResourceResponse,++ -- * Response Lenses+ untagResourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types+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 Amazon Resource Name (ARN) of the resource that you want to remove+ -- one or more tags from.+ resourceArn :: Prelude.Text,+ -- | The tags (tag keys) that you want to remove from the resource. When you+ -- specify a tag key, the action removes both that key and its associated+ -- tag value.+ --+ -- To remove more than one tag from the resource, append the @TagKeys@+ -- parameter and argument for each additional tag to remove, separated by+ -- an ampersand. For example:+ -- @\/v1\/email\/tags?ResourceArn=ResourceArn&TagKeys=Key1&TagKeys=Key2@+ tagKeys :: [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'untagResource_resourceArn' - The Amazon Resource Name (ARN) of the resource that you want to remove+-- one or more tags from.+--+-- 'tagKeys', 'untagResource_tagKeys' - The tags (tag keys) that you want to remove from the resource. When you+-- specify a tag key, the action removes both that key and its associated+-- tag value.+--+-- To remove more than one tag from the resource, append the @TagKeys@+-- parameter and argument for each additional tag to remove, separated by+-- an ampersand. For example:+-- @\/v1\/email\/tags?ResourceArn=ResourceArn&TagKeys=Key1&TagKeys=Key2@+newUntagResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ UntagResource+newUntagResource pResourceArn_ =+ UntagResource'+ { resourceArn = pResourceArn_,+ tagKeys = Prelude.mempty+ }++-- | The Amazon Resource Name (ARN) of the resource that you want to remove+-- one or more tags from.+untagResource_resourceArn :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceArn = Lens.lens (\UntagResource' {resourceArn} -> resourceArn) (\s@UntagResource' {} a -> s {resourceArn = a} :: UntagResource)++-- | The tags (tag keys) that you want to remove from the resource. When you+-- specify a tag key, the action removes both that key and its associated+-- tag value.+--+-- To remove more than one tag from the resource, append the @TagKeys@+-- parameter and argument for each additional tag to remove, separated by+-- an ampersand. For example:+-- @\/v1\/email\/tags?ResourceArn=ResourceArn&TagKeys=Key1&TagKeys=Key2@+untagResource_tagKeys :: Lens.Lens' UntagResource [Prelude.Text]+untagResource_tagKeys = Lens.lens (\UntagResource' {tagKeys} -> tagKeys) (\s@UntagResource' {} a -> s {tagKeys = a} :: UntagResource) Prelude.. Lens.coerced++instance Core.AWSRequest UntagResource where+ type+ AWSResponse UntagResource =+ UntagResourceResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ UntagResourceResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UntagResource where+ hashWithSalt _salt UntagResource' {..} =+ _salt+ `Prelude.hashWithSalt` resourceArn+ `Prelude.hashWithSalt` tagKeys++instance Prelude.NFData UntagResource where+ rnf UntagResource' {..} =+ Prelude.rnf resourceArn+ `Prelude.seq` Prelude.rnf tagKeys++instance Data.ToHeaders UntagResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath UntagResource where+ toPath = Prelude.const "/v1/email/tags"++instance Data.ToQuery UntagResource where+ toQuery UntagResource' {..} =+ Prelude.mconcat+ [ "ResourceArn" Data.=: resourceArn,+ "TagKeys" Data.=: Data.toQueryList "member" tagKeys+ ]++-- | /See:/ 'newUntagResourceResponse' smart constructor.+data UntagResourceResponse = UntagResourceResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'untagResourceResponse_httpStatus' - The response's http status code.+newUntagResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UntagResourceResponse+newUntagResourceResponse pHttpStatus_ =+ UntagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+untagResourceResponse_httpStatus :: Lens.Lens' UntagResourceResponse Prelude.Int+untagResourceResponse_httpStatus = Lens.lens (\UntagResourceResponse' {httpStatus} -> httpStatus) (\s@UntagResourceResponse' {} a -> s {httpStatus = a} :: UntagResourceResponse)++instance Prelude.NFData UntagResourceResponse where+ rnf UntagResourceResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/PinpointEmail/UpdateConfigurationSetEventDestination.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.PinpointEmail.UpdateConfigurationSetEventDestination+-- 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 the configuration of an event destination for a configuration+-- set.+--+-- In Amazon Pinpoint, /events/ include message sends, deliveries, opens,+-- clicks, bounces, and complaints. /Event destinations/ are places that+-- you can send information about these events to. For example, you can+-- send event data to Amazon SNS to receive notifications when you receive+-- bounces or complaints, or you can use Amazon Kinesis Data Firehose to+-- stream data to Amazon S3 for long-term storage.+module Amazonka.PinpointEmail.UpdateConfigurationSetEventDestination+ ( -- * Creating a Request+ UpdateConfigurationSetEventDestination (..),+ newUpdateConfigurationSetEventDestination,++ -- * Request Lenses+ updateConfigurationSetEventDestination_configurationSetName,+ updateConfigurationSetEventDestination_eventDestinationName,+ updateConfigurationSetEventDestination_eventDestination,++ -- * Destructuring the Response+ UpdateConfigurationSetEventDestinationResponse (..),+ newUpdateConfigurationSetEventDestinationResponse,++ -- * Response Lenses+ updateConfigurationSetEventDestinationResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | A request to change the settings for an event destination for a+-- configuration set.+--+-- /See:/ 'newUpdateConfigurationSetEventDestination' smart constructor.+data UpdateConfigurationSetEventDestination = UpdateConfigurationSetEventDestination'+ { -- | The name of the configuration set that contains the event destination+ -- that you want to modify.+ configurationSetName :: Prelude.Text,+ -- | The name of the event destination that you want to modify.+ eventDestinationName :: Prelude.Text,+ -- | An object that defines the event destination.+ eventDestination :: EventDestinationDefinition+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateConfigurationSetEventDestination' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'configurationSetName', 'updateConfigurationSetEventDestination_configurationSetName' - The name of the configuration set that contains the event destination+-- that you want to modify.+--+-- 'eventDestinationName', 'updateConfigurationSetEventDestination_eventDestinationName' - The name of the event destination that you want to modify.+--+-- 'eventDestination', 'updateConfigurationSetEventDestination_eventDestination' - An object that defines the event destination.+newUpdateConfigurationSetEventDestination ::+ -- | 'configurationSetName'+ Prelude.Text ->+ -- | 'eventDestinationName'+ Prelude.Text ->+ -- | 'eventDestination'+ EventDestinationDefinition ->+ UpdateConfigurationSetEventDestination+newUpdateConfigurationSetEventDestination+ pConfigurationSetName_+ pEventDestinationName_+ pEventDestination_ =+ UpdateConfigurationSetEventDestination'+ { configurationSetName =+ pConfigurationSetName_,+ eventDestinationName =+ pEventDestinationName_,+ eventDestination =+ pEventDestination_+ }++-- | The name of the configuration set that contains the event destination+-- that you want to modify.+updateConfigurationSetEventDestination_configurationSetName :: Lens.Lens' UpdateConfigurationSetEventDestination Prelude.Text+updateConfigurationSetEventDestination_configurationSetName = Lens.lens (\UpdateConfigurationSetEventDestination' {configurationSetName} -> configurationSetName) (\s@UpdateConfigurationSetEventDestination' {} a -> s {configurationSetName = a} :: UpdateConfigurationSetEventDestination)++-- | The name of the event destination that you want to modify.+updateConfigurationSetEventDestination_eventDestinationName :: Lens.Lens' UpdateConfigurationSetEventDestination Prelude.Text+updateConfigurationSetEventDestination_eventDestinationName = Lens.lens (\UpdateConfigurationSetEventDestination' {eventDestinationName} -> eventDestinationName) (\s@UpdateConfigurationSetEventDestination' {} a -> s {eventDestinationName = a} :: UpdateConfigurationSetEventDestination)++-- | An object that defines the event destination.+updateConfigurationSetEventDestination_eventDestination :: Lens.Lens' UpdateConfigurationSetEventDestination EventDestinationDefinition+updateConfigurationSetEventDestination_eventDestination = Lens.lens (\UpdateConfigurationSetEventDestination' {eventDestination} -> eventDestination) (\s@UpdateConfigurationSetEventDestination' {} a -> s {eventDestination = a} :: UpdateConfigurationSetEventDestination)++instance+ Core.AWSRequest+ UpdateConfigurationSetEventDestination+ where+ type+ AWSResponse+ UpdateConfigurationSetEventDestination =+ UpdateConfigurationSetEventDestinationResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ UpdateConfigurationSetEventDestinationResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ UpdateConfigurationSetEventDestination+ where+ hashWithSalt+ _salt+ UpdateConfigurationSetEventDestination' {..} =+ _salt+ `Prelude.hashWithSalt` configurationSetName+ `Prelude.hashWithSalt` eventDestinationName+ `Prelude.hashWithSalt` eventDestination++instance+ Prelude.NFData+ UpdateConfigurationSetEventDestination+ where+ rnf UpdateConfigurationSetEventDestination' {..} =+ Prelude.rnf configurationSetName+ `Prelude.seq` Prelude.rnf eventDestinationName+ `Prelude.seq` Prelude.rnf eventDestination++instance+ Data.ToHeaders+ UpdateConfigurationSetEventDestination+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ UpdateConfigurationSetEventDestination+ where+ toJSON UpdateConfigurationSetEventDestination' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("EventDestination" Data..= eventDestination)+ ]+ )++instance+ Data.ToPath+ UpdateConfigurationSetEventDestination+ where+ toPath UpdateConfigurationSetEventDestination' {..} =+ Prelude.mconcat+ [ "/v1/email/configuration-sets/",+ Data.toBS configurationSetName,+ "/event-destinations/",+ Data.toBS eventDestinationName+ ]++instance+ Data.ToQuery+ UpdateConfigurationSetEventDestination+ where+ toQuery = Prelude.const Prelude.mempty++-- | An HTTP 200 response if the request succeeds, or an error message if the+-- request fails.+--+-- /See:/ 'newUpdateConfigurationSetEventDestinationResponse' smart constructor.+data UpdateConfigurationSetEventDestinationResponse = UpdateConfigurationSetEventDestinationResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateConfigurationSetEventDestinationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateConfigurationSetEventDestinationResponse_httpStatus' - The response's http status code.+newUpdateConfigurationSetEventDestinationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateConfigurationSetEventDestinationResponse+newUpdateConfigurationSetEventDestinationResponse+ pHttpStatus_ =+ UpdateConfigurationSetEventDestinationResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+updateConfigurationSetEventDestinationResponse_httpStatus :: Lens.Lens' UpdateConfigurationSetEventDestinationResponse Prelude.Int+updateConfigurationSetEventDestinationResponse_httpStatus = Lens.lens (\UpdateConfigurationSetEventDestinationResponse' {httpStatus} -> httpStatus) (\s@UpdateConfigurationSetEventDestinationResponse' {} a -> s {httpStatus = a} :: UpdateConfigurationSetEventDestinationResponse)++instance+ Prelude.NFData+ UpdateConfigurationSetEventDestinationResponse+ where+ rnf+ UpdateConfigurationSetEventDestinationResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/PinpointEmail/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.PinpointEmail.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.PinpointEmail.Waiters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.PinpointEmail.Lens+import Amazonka.PinpointEmail.Types+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.PinpointEmail+import Test.Amazonka.PinpointEmail.Internal+import Test.Tasty++main :: IO ()+main =+ defaultMain $+ testGroup+ "PinpointEmail"+ [ testGroup "tests" tests,+ testGroup "fixtures" fixtures+ ]
+ test/Test/Amazonka/Gen/PinpointEmail.hs view
@@ -0,0 +1,878 @@+{-# 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.PinpointEmail+-- 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.PinpointEmail where++import Amazonka.PinpointEmail+import qualified Data.Proxy as Proxy+import Test.Amazonka.Fixture+import Test.Amazonka.PinpointEmail.Internal+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"+-- [ requestCreateConfigurationSet $+-- newCreateConfigurationSet+--+-- , requestCreateConfigurationSetEventDestination $+-- newCreateConfigurationSetEventDestination+--+-- , requestCreateDedicatedIpPool $+-- newCreateDedicatedIpPool+--+-- , requestCreateDeliverabilityTestReport $+-- newCreateDeliverabilityTestReport+--+-- , requestCreateEmailIdentity $+-- newCreateEmailIdentity+--+-- , requestDeleteConfigurationSet $+-- newDeleteConfigurationSet+--+-- , requestDeleteConfigurationSetEventDestination $+-- newDeleteConfigurationSetEventDestination+--+-- , requestDeleteDedicatedIpPool $+-- newDeleteDedicatedIpPool+--+-- , requestDeleteEmailIdentity $+-- newDeleteEmailIdentity+--+-- , requestGetAccount $+-- newGetAccount+--+-- , requestGetBlacklistReports $+-- newGetBlacklistReports+--+-- , requestGetConfigurationSet $+-- newGetConfigurationSet+--+-- , requestGetConfigurationSetEventDestinations $+-- newGetConfigurationSetEventDestinations+--+-- , requestGetDedicatedIp $+-- newGetDedicatedIp+--+-- , requestGetDedicatedIps $+-- newGetDedicatedIps+--+-- , requestGetDeliverabilityDashboardOptions $+-- newGetDeliverabilityDashboardOptions+--+-- , requestGetDeliverabilityTestReport $+-- newGetDeliverabilityTestReport+--+-- , requestGetDomainDeliverabilityCampaign $+-- newGetDomainDeliverabilityCampaign+--+-- , requestGetDomainStatisticsReport $+-- newGetDomainStatisticsReport+--+-- , requestGetEmailIdentity $+-- newGetEmailIdentity+--+-- , requestListConfigurationSets $+-- newListConfigurationSets+--+-- , requestListDedicatedIpPools $+-- newListDedicatedIpPools+--+-- , requestListDeliverabilityTestReports $+-- newListDeliverabilityTestReports+--+-- , requestListDomainDeliverabilityCampaigns $+-- newListDomainDeliverabilityCampaigns+--+-- , requestListEmailIdentities $+-- newListEmailIdentities+--+-- , requestListTagsForResource $+-- newListTagsForResource+--+-- , requestPutAccountDedicatedIpWarmupAttributes $+-- newPutAccountDedicatedIpWarmupAttributes+--+-- , requestPutAccountSendingAttributes $+-- newPutAccountSendingAttributes+--+-- , requestPutConfigurationSetDeliveryOptions $+-- newPutConfigurationSetDeliveryOptions+--+-- , requestPutConfigurationSetReputationOptions $+-- newPutConfigurationSetReputationOptions+--+-- , requestPutConfigurationSetSendingOptions $+-- newPutConfigurationSetSendingOptions+--+-- , requestPutConfigurationSetTrackingOptions $+-- newPutConfigurationSetTrackingOptions+--+-- , requestPutDedicatedIpInPool $+-- newPutDedicatedIpInPool+--+-- , requestPutDedicatedIpWarmupAttributes $+-- newPutDedicatedIpWarmupAttributes+--+-- , requestPutDeliverabilityDashboardOption $+-- newPutDeliverabilityDashboardOption+--+-- , requestPutEmailIdentityDkimAttributes $+-- newPutEmailIdentityDkimAttributes+--+-- , requestPutEmailIdentityFeedbackAttributes $+-- newPutEmailIdentityFeedbackAttributes+--+-- , requestPutEmailIdentityMailFromAttributes $+-- newPutEmailIdentityMailFromAttributes+--+-- , requestSendEmail $+-- newSendEmail+--+-- , requestTagResource $+-- newTagResource+--+-- , requestUntagResource $+-- newUntagResource+--+-- , requestUpdateConfigurationSetEventDestination $+-- newUpdateConfigurationSetEventDestination+--+-- ]++-- , testGroup "response"+-- [ responseCreateConfigurationSet $+-- newCreateConfigurationSetResponse+--+-- , responseCreateConfigurationSetEventDestination $+-- newCreateConfigurationSetEventDestinationResponse+--+-- , responseCreateDedicatedIpPool $+-- newCreateDedicatedIpPoolResponse+--+-- , responseCreateDeliverabilityTestReport $+-- newCreateDeliverabilityTestReportResponse+--+-- , responseCreateEmailIdentity $+-- newCreateEmailIdentityResponse+--+-- , responseDeleteConfigurationSet $+-- newDeleteConfigurationSetResponse+--+-- , responseDeleteConfigurationSetEventDestination $+-- newDeleteConfigurationSetEventDestinationResponse+--+-- , responseDeleteDedicatedIpPool $+-- newDeleteDedicatedIpPoolResponse+--+-- , responseDeleteEmailIdentity $+-- newDeleteEmailIdentityResponse+--+-- , responseGetAccount $+-- newGetAccountResponse+--+-- , responseGetBlacklistReports $+-- newGetBlacklistReportsResponse+--+-- , responseGetConfigurationSet $+-- newGetConfigurationSetResponse+--+-- , responseGetConfigurationSetEventDestinations $+-- newGetConfigurationSetEventDestinationsResponse+--+-- , responseGetDedicatedIp $+-- newGetDedicatedIpResponse+--+-- , responseGetDedicatedIps $+-- newGetDedicatedIpsResponse+--+-- , responseGetDeliverabilityDashboardOptions $+-- newGetDeliverabilityDashboardOptionsResponse+--+-- , responseGetDeliverabilityTestReport $+-- newGetDeliverabilityTestReportResponse+--+-- , responseGetDomainDeliverabilityCampaign $+-- newGetDomainDeliverabilityCampaignResponse+--+-- , responseGetDomainStatisticsReport $+-- newGetDomainStatisticsReportResponse+--+-- , responseGetEmailIdentity $+-- newGetEmailIdentityResponse+--+-- , responseListConfigurationSets $+-- newListConfigurationSetsResponse+--+-- , responseListDedicatedIpPools $+-- newListDedicatedIpPoolsResponse+--+-- , responseListDeliverabilityTestReports $+-- newListDeliverabilityTestReportsResponse+--+-- , responseListDomainDeliverabilityCampaigns $+-- newListDomainDeliverabilityCampaignsResponse+--+-- , responseListEmailIdentities $+-- newListEmailIdentitiesResponse+--+-- , responseListTagsForResource $+-- newListTagsForResourceResponse+--+-- , responsePutAccountDedicatedIpWarmupAttributes $+-- newPutAccountDedicatedIpWarmupAttributesResponse+--+-- , responsePutAccountSendingAttributes $+-- newPutAccountSendingAttributesResponse+--+-- , responsePutConfigurationSetDeliveryOptions $+-- newPutConfigurationSetDeliveryOptionsResponse+--+-- , responsePutConfigurationSetReputationOptions $+-- newPutConfigurationSetReputationOptionsResponse+--+-- , responsePutConfigurationSetSendingOptions $+-- newPutConfigurationSetSendingOptionsResponse+--+-- , responsePutConfigurationSetTrackingOptions $+-- newPutConfigurationSetTrackingOptionsResponse+--+-- , responsePutDedicatedIpInPool $+-- newPutDedicatedIpInPoolResponse+--+-- , responsePutDedicatedIpWarmupAttributes $+-- newPutDedicatedIpWarmupAttributesResponse+--+-- , responsePutDeliverabilityDashboardOption $+-- newPutDeliverabilityDashboardOptionResponse+--+-- , responsePutEmailIdentityDkimAttributes $+-- newPutEmailIdentityDkimAttributesResponse+--+-- , responsePutEmailIdentityFeedbackAttributes $+-- newPutEmailIdentityFeedbackAttributesResponse+--+-- , responsePutEmailIdentityMailFromAttributes $+-- newPutEmailIdentityMailFromAttributesResponse+--+-- , responseSendEmail $+-- newSendEmailResponse+--+-- , responseTagResource $+-- newTagResourceResponse+--+-- , responseUntagResource $+-- newUntagResourceResponse+--+-- , responseUpdateConfigurationSetEventDestination $+-- newUpdateConfigurationSetEventDestinationResponse+--+-- ]+-- ]++-- Requests++requestCreateConfigurationSet :: CreateConfigurationSet -> TestTree+requestCreateConfigurationSet =+ req+ "CreateConfigurationSet"+ "fixture/CreateConfigurationSet.yaml"++requestCreateConfigurationSetEventDestination :: CreateConfigurationSetEventDestination -> TestTree+requestCreateConfigurationSetEventDestination =+ req+ "CreateConfigurationSetEventDestination"+ "fixture/CreateConfigurationSetEventDestination.yaml"++requestCreateDedicatedIpPool :: CreateDedicatedIpPool -> TestTree+requestCreateDedicatedIpPool =+ req+ "CreateDedicatedIpPool"+ "fixture/CreateDedicatedIpPool.yaml"++requestCreateDeliverabilityTestReport :: CreateDeliverabilityTestReport -> TestTree+requestCreateDeliverabilityTestReport =+ req+ "CreateDeliverabilityTestReport"+ "fixture/CreateDeliverabilityTestReport.yaml"++requestCreateEmailIdentity :: CreateEmailIdentity -> TestTree+requestCreateEmailIdentity =+ req+ "CreateEmailIdentity"+ "fixture/CreateEmailIdentity.yaml"++requestDeleteConfigurationSet :: DeleteConfigurationSet -> TestTree+requestDeleteConfigurationSet =+ req+ "DeleteConfigurationSet"+ "fixture/DeleteConfigurationSet.yaml"++requestDeleteConfigurationSetEventDestination :: DeleteConfigurationSetEventDestination -> TestTree+requestDeleteConfigurationSetEventDestination =+ req+ "DeleteConfigurationSetEventDestination"+ "fixture/DeleteConfigurationSetEventDestination.yaml"++requestDeleteDedicatedIpPool :: DeleteDedicatedIpPool -> TestTree+requestDeleteDedicatedIpPool =+ req+ "DeleteDedicatedIpPool"+ "fixture/DeleteDedicatedIpPool.yaml"++requestDeleteEmailIdentity :: DeleteEmailIdentity -> TestTree+requestDeleteEmailIdentity =+ req+ "DeleteEmailIdentity"+ "fixture/DeleteEmailIdentity.yaml"++requestGetAccount :: GetAccount -> TestTree+requestGetAccount =+ req+ "GetAccount"+ "fixture/GetAccount.yaml"++requestGetBlacklistReports :: GetBlacklistReports -> TestTree+requestGetBlacklistReports =+ req+ "GetBlacklistReports"+ "fixture/GetBlacklistReports.yaml"++requestGetConfigurationSet :: GetConfigurationSet -> TestTree+requestGetConfigurationSet =+ req+ "GetConfigurationSet"+ "fixture/GetConfigurationSet.yaml"++requestGetConfigurationSetEventDestinations :: GetConfigurationSetEventDestinations -> TestTree+requestGetConfigurationSetEventDestinations =+ req+ "GetConfigurationSetEventDestinations"+ "fixture/GetConfigurationSetEventDestinations.yaml"++requestGetDedicatedIp :: GetDedicatedIp -> TestTree+requestGetDedicatedIp =+ req+ "GetDedicatedIp"+ "fixture/GetDedicatedIp.yaml"++requestGetDedicatedIps :: GetDedicatedIps -> TestTree+requestGetDedicatedIps =+ req+ "GetDedicatedIps"+ "fixture/GetDedicatedIps.yaml"++requestGetDeliverabilityDashboardOptions :: GetDeliverabilityDashboardOptions -> TestTree+requestGetDeliverabilityDashboardOptions =+ req+ "GetDeliverabilityDashboardOptions"+ "fixture/GetDeliverabilityDashboardOptions.yaml"++requestGetDeliverabilityTestReport :: GetDeliverabilityTestReport -> TestTree+requestGetDeliverabilityTestReport =+ req+ "GetDeliverabilityTestReport"+ "fixture/GetDeliverabilityTestReport.yaml"++requestGetDomainDeliverabilityCampaign :: GetDomainDeliverabilityCampaign -> TestTree+requestGetDomainDeliverabilityCampaign =+ req+ "GetDomainDeliverabilityCampaign"+ "fixture/GetDomainDeliverabilityCampaign.yaml"++requestGetDomainStatisticsReport :: GetDomainStatisticsReport -> TestTree+requestGetDomainStatisticsReport =+ req+ "GetDomainStatisticsReport"+ "fixture/GetDomainStatisticsReport.yaml"++requestGetEmailIdentity :: GetEmailIdentity -> TestTree+requestGetEmailIdentity =+ req+ "GetEmailIdentity"+ "fixture/GetEmailIdentity.yaml"++requestListConfigurationSets :: ListConfigurationSets -> TestTree+requestListConfigurationSets =+ req+ "ListConfigurationSets"+ "fixture/ListConfigurationSets.yaml"++requestListDedicatedIpPools :: ListDedicatedIpPools -> TestTree+requestListDedicatedIpPools =+ req+ "ListDedicatedIpPools"+ "fixture/ListDedicatedIpPools.yaml"++requestListDeliverabilityTestReports :: ListDeliverabilityTestReports -> TestTree+requestListDeliverabilityTestReports =+ req+ "ListDeliverabilityTestReports"+ "fixture/ListDeliverabilityTestReports.yaml"++requestListDomainDeliverabilityCampaigns :: ListDomainDeliverabilityCampaigns -> TestTree+requestListDomainDeliverabilityCampaigns =+ req+ "ListDomainDeliverabilityCampaigns"+ "fixture/ListDomainDeliverabilityCampaigns.yaml"++requestListEmailIdentities :: ListEmailIdentities -> TestTree+requestListEmailIdentities =+ req+ "ListEmailIdentities"+ "fixture/ListEmailIdentities.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+ req+ "ListTagsForResource"+ "fixture/ListTagsForResource.yaml"++requestPutAccountDedicatedIpWarmupAttributes :: PutAccountDedicatedIpWarmupAttributes -> TestTree+requestPutAccountDedicatedIpWarmupAttributes =+ req+ "PutAccountDedicatedIpWarmupAttributes"+ "fixture/PutAccountDedicatedIpWarmupAttributes.yaml"++requestPutAccountSendingAttributes :: PutAccountSendingAttributes -> TestTree+requestPutAccountSendingAttributes =+ req+ "PutAccountSendingAttributes"+ "fixture/PutAccountSendingAttributes.yaml"++requestPutConfigurationSetDeliveryOptions :: PutConfigurationSetDeliveryOptions -> TestTree+requestPutConfigurationSetDeliveryOptions =+ req+ "PutConfigurationSetDeliveryOptions"+ "fixture/PutConfigurationSetDeliveryOptions.yaml"++requestPutConfigurationSetReputationOptions :: PutConfigurationSetReputationOptions -> TestTree+requestPutConfigurationSetReputationOptions =+ req+ "PutConfigurationSetReputationOptions"+ "fixture/PutConfigurationSetReputationOptions.yaml"++requestPutConfigurationSetSendingOptions :: PutConfigurationSetSendingOptions -> TestTree+requestPutConfigurationSetSendingOptions =+ req+ "PutConfigurationSetSendingOptions"+ "fixture/PutConfigurationSetSendingOptions.yaml"++requestPutConfigurationSetTrackingOptions :: PutConfigurationSetTrackingOptions -> TestTree+requestPutConfigurationSetTrackingOptions =+ req+ "PutConfigurationSetTrackingOptions"+ "fixture/PutConfigurationSetTrackingOptions.yaml"++requestPutDedicatedIpInPool :: PutDedicatedIpInPool -> TestTree+requestPutDedicatedIpInPool =+ req+ "PutDedicatedIpInPool"+ "fixture/PutDedicatedIpInPool.yaml"++requestPutDedicatedIpWarmupAttributes :: PutDedicatedIpWarmupAttributes -> TestTree+requestPutDedicatedIpWarmupAttributes =+ req+ "PutDedicatedIpWarmupAttributes"+ "fixture/PutDedicatedIpWarmupAttributes.yaml"++requestPutDeliverabilityDashboardOption :: PutDeliverabilityDashboardOption -> TestTree+requestPutDeliverabilityDashboardOption =+ req+ "PutDeliverabilityDashboardOption"+ "fixture/PutDeliverabilityDashboardOption.yaml"++requestPutEmailIdentityDkimAttributes :: PutEmailIdentityDkimAttributes -> TestTree+requestPutEmailIdentityDkimAttributes =+ req+ "PutEmailIdentityDkimAttributes"+ "fixture/PutEmailIdentityDkimAttributes.yaml"++requestPutEmailIdentityFeedbackAttributes :: PutEmailIdentityFeedbackAttributes -> TestTree+requestPutEmailIdentityFeedbackAttributes =+ req+ "PutEmailIdentityFeedbackAttributes"+ "fixture/PutEmailIdentityFeedbackAttributes.yaml"++requestPutEmailIdentityMailFromAttributes :: PutEmailIdentityMailFromAttributes -> TestTree+requestPutEmailIdentityMailFromAttributes =+ req+ "PutEmailIdentityMailFromAttributes"+ "fixture/PutEmailIdentityMailFromAttributes.yaml"++requestSendEmail :: SendEmail -> TestTree+requestSendEmail =+ req+ "SendEmail"+ "fixture/SendEmail.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+ req+ "TagResource"+ "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+ req+ "UntagResource"+ "fixture/UntagResource.yaml"++requestUpdateConfigurationSetEventDestination :: UpdateConfigurationSetEventDestination -> TestTree+requestUpdateConfigurationSetEventDestination =+ req+ "UpdateConfigurationSetEventDestination"+ "fixture/UpdateConfigurationSetEventDestination.yaml"++-- Responses++responseCreateConfigurationSet :: CreateConfigurationSetResponse -> TestTree+responseCreateConfigurationSet =+ res+ "CreateConfigurationSetResponse"+ "fixture/CreateConfigurationSetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateConfigurationSet)++responseCreateConfigurationSetEventDestination :: CreateConfigurationSetEventDestinationResponse -> TestTree+responseCreateConfigurationSetEventDestination =+ res+ "CreateConfigurationSetEventDestinationResponse"+ "fixture/CreateConfigurationSetEventDestinationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateConfigurationSetEventDestination)++responseCreateDedicatedIpPool :: CreateDedicatedIpPoolResponse -> TestTree+responseCreateDedicatedIpPool =+ res+ "CreateDedicatedIpPoolResponse"+ "fixture/CreateDedicatedIpPoolResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateDedicatedIpPool)++responseCreateDeliverabilityTestReport :: CreateDeliverabilityTestReportResponse -> TestTree+responseCreateDeliverabilityTestReport =+ res+ "CreateDeliverabilityTestReportResponse"+ "fixture/CreateDeliverabilityTestReportResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateDeliverabilityTestReport)++responseCreateEmailIdentity :: CreateEmailIdentityResponse -> TestTree+responseCreateEmailIdentity =+ res+ "CreateEmailIdentityResponse"+ "fixture/CreateEmailIdentityResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateEmailIdentity)++responseDeleteConfigurationSet :: DeleteConfigurationSetResponse -> TestTree+responseDeleteConfigurationSet =+ res+ "DeleteConfigurationSetResponse"+ "fixture/DeleteConfigurationSetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteConfigurationSet)++responseDeleteConfigurationSetEventDestination :: DeleteConfigurationSetEventDestinationResponse -> TestTree+responseDeleteConfigurationSetEventDestination =+ res+ "DeleteConfigurationSetEventDestinationResponse"+ "fixture/DeleteConfigurationSetEventDestinationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteConfigurationSetEventDestination)++responseDeleteDedicatedIpPool :: DeleteDedicatedIpPoolResponse -> TestTree+responseDeleteDedicatedIpPool =+ res+ "DeleteDedicatedIpPoolResponse"+ "fixture/DeleteDedicatedIpPoolResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteDedicatedIpPool)++responseDeleteEmailIdentity :: DeleteEmailIdentityResponse -> TestTree+responseDeleteEmailIdentity =+ res+ "DeleteEmailIdentityResponse"+ "fixture/DeleteEmailIdentityResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteEmailIdentity)++responseGetAccount :: GetAccountResponse -> TestTree+responseGetAccount =+ res+ "GetAccountResponse"+ "fixture/GetAccountResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetAccount)++responseGetBlacklistReports :: GetBlacklistReportsResponse -> TestTree+responseGetBlacklistReports =+ res+ "GetBlacklistReportsResponse"+ "fixture/GetBlacklistReportsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetBlacklistReports)++responseGetConfigurationSet :: GetConfigurationSetResponse -> TestTree+responseGetConfigurationSet =+ res+ "GetConfigurationSetResponse"+ "fixture/GetConfigurationSetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetConfigurationSet)++responseGetConfigurationSetEventDestinations :: GetConfigurationSetEventDestinationsResponse -> TestTree+responseGetConfigurationSetEventDestinations =+ res+ "GetConfigurationSetEventDestinationsResponse"+ "fixture/GetConfigurationSetEventDestinationsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetConfigurationSetEventDestinations)++responseGetDedicatedIp :: GetDedicatedIpResponse -> TestTree+responseGetDedicatedIp =+ res+ "GetDedicatedIpResponse"+ "fixture/GetDedicatedIpResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetDedicatedIp)++responseGetDedicatedIps :: GetDedicatedIpsResponse -> TestTree+responseGetDedicatedIps =+ res+ "GetDedicatedIpsResponse"+ "fixture/GetDedicatedIpsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetDedicatedIps)++responseGetDeliverabilityDashboardOptions :: GetDeliverabilityDashboardOptionsResponse -> TestTree+responseGetDeliverabilityDashboardOptions =+ res+ "GetDeliverabilityDashboardOptionsResponse"+ "fixture/GetDeliverabilityDashboardOptionsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetDeliverabilityDashboardOptions)++responseGetDeliverabilityTestReport :: GetDeliverabilityTestReportResponse -> TestTree+responseGetDeliverabilityTestReport =+ res+ "GetDeliverabilityTestReportResponse"+ "fixture/GetDeliverabilityTestReportResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetDeliverabilityTestReport)++responseGetDomainDeliverabilityCampaign :: GetDomainDeliverabilityCampaignResponse -> TestTree+responseGetDomainDeliverabilityCampaign =+ res+ "GetDomainDeliverabilityCampaignResponse"+ "fixture/GetDomainDeliverabilityCampaignResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetDomainDeliverabilityCampaign)++responseGetDomainStatisticsReport :: GetDomainStatisticsReportResponse -> TestTree+responseGetDomainStatisticsReport =+ res+ "GetDomainStatisticsReportResponse"+ "fixture/GetDomainStatisticsReportResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetDomainStatisticsReport)++responseGetEmailIdentity :: GetEmailIdentityResponse -> TestTree+responseGetEmailIdentity =+ res+ "GetEmailIdentityResponse"+ "fixture/GetEmailIdentityResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetEmailIdentity)++responseListConfigurationSets :: ListConfigurationSetsResponse -> TestTree+responseListConfigurationSets =+ res+ "ListConfigurationSetsResponse"+ "fixture/ListConfigurationSetsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListConfigurationSets)++responseListDedicatedIpPools :: ListDedicatedIpPoolsResponse -> TestTree+responseListDedicatedIpPools =+ res+ "ListDedicatedIpPoolsResponse"+ "fixture/ListDedicatedIpPoolsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListDedicatedIpPools)++responseListDeliverabilityTestReports :: ListDeliverabilityTestReportsResponse -> TestTree+responseListDeliverabilityTestReports =+ res+ "ListDeliverabilityTestReportsResponse"+ "fixture/ListDeliverabilityTestReportsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListDeliverabilityTestReports)++responseListDomainDeliverabilityCampaigns :: ListDomainDeliverabilityCampaignsResponse -> TestTree+responseListDomainDeliverabilityCampaigns =+ res+ "ListDomainDeliverabilityCampaignsResponse"+ "fixture/ListDomainDeliverabilityCampaignsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListDomainDeliverabilityCampaigns)++responseListEmailIdentities :: ListEmailIdentitiesResponse -> TestTree+responseListEmailIdentities =+ res+ "ListEmailIdentitiesResponse"+ "fixture/ListEmailIdentitiesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListEmailIdentities)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+ res+ "ListTagsForResourceResponse"+ "fixture/ListTagsForResourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responsePutAccountDedicatedIpWarmupAttributes :: PutAccountDedicatedIpWarmupAttributesResponse -> TestTree+responsePutAccountDedicatedIpWarmupAttributes =+ res+ "PutAccountDedicatedIpWarmupAttributesResponse"+ "fixture/PutAccountDedicatedIpWarmupAttributesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy PutAccountDedicatedIpWarmupAttributes)++responsePutAccountSendingAttributes :: PutAccountSendingAttributesResponse -> TestTree+responsePutAccountSendingAttributes =+ res+ "PutAccountSendingAttributesResponse"+ "fixture/PutAccountSendingAttributesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy PutAccountSendingAttributes)++responsePutConfigurationSetDeliveryOptions :: PutConfigurationSetDeliveryOptionsResponse -> TestTree+responsePutConfigurationSetDeliveryOptions =+ res+ "PutConfigurationSetDeliveryOptionsResponse"+ "fixture/PutConfigurationSetDeliveryOptionsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy PutConfigurationSetDeliveryOptions)++responsePutConfigurationSetReputationOptions :: PutConfigurationSetReputationOptionsResponse -> TestTree+responsePutConfigurationSetReputationOptions =+ res+ "PutConfigurationSetReputationOptionsResponse"+ "fixture/PutConfigurationSetReputationOptionsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy PutConfigurationSetReputationOptions)++responsePutConfigurationSetSendingOptions :: PutConfigurationSetSendingOptionsResponse -> TestTree+responsePutConfigurationSetSendingOptions =+ res+ "PutConfigurationSetSendingOptionsResponse"+ "fixture/PutConfigurationSetSendingOptionsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy PutConfigurationSetSendingOptions)++responsePutConfigurationSetTrackingOptions :: PutConfigurationSetTrackingOptionsResponse -> TestTree+responsePutConfigurationSetTrackingOptions =+ res+ "PutConfigurationSetTrackingOptionsResponse"+ "fixture/PutConfigurationSetTrackingOptionsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy PutConfigurationSetTrackingOptions)++responsePutDedicatedIpInPool :: PutDedicatedIpInPoolResponse -> TestTree+responsePutDedicatedIpInPool =+ res+ "PutDedicatedIpInPoolResponse"+ "fixture/PutDedicatedIpInPoolResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy PutDedicatedIpInPool)++responsePutDedicatedIpWarmupAttributes :: PutDedicatedIpWarmupAttributesResponse -> TestTree+responsePutDedicatedIpWarmupAttributes =+ res+ "PutDedicatedIpWarmupAttributesResponse"+ "fixture/PutDedicatedIpWarmupAttributesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy PutDedicatedIpWarmupAttributes)++responsePutDeliverabilityDashboardOption :: PutDeliverabilityDashboardOptionResponse -> TestTree+responsePutDeliverabilityDashboardOption =+ res+ "PutDeliverabilityDashboardOptionResponse"+ "fixture/PutDeliverabilityDashboardOptionResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy PutDeliverabilityDashboardOption)++responsePutEmailIdentityDkimAttributes :: PutEmailIdentityDkimAttributesResponse -> TestTree+responsePutEmailIdentityDkimAttributes =+ res+ "PutEmailIdentityDkimAttributesResponse"+ "fixture/PutEmailIdentityDkimAttributesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy PutEmailIdentityDkimAttributes)++responsePutEmailIdentityFeedbackAttributes :: PutEmailIdentityFeedbackAttributesResponse -> TestTree+responsePutEmailIdentityFeedbackAttributes =+ res+ "PutEmailIdentityFeedbackAttributesResponse"+ "fixture/PutEmailIdentityFeedbackAttributesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy PutEmailIdentityFeedbackAttributes)++responsePutEmailIdentityMailFromAttributes :: PutEmailIdentityMailFromAttributesResponse -> TestTree+responsePutEmailIdentityMailFromAttributes =+ res+ "PutEmailIdentityMailFromAttributesResponse"+ "fixture/PutEmailIdentityMailFromAttributesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy PutEmailIdentityMailFromAttributes)++responseSendEmail :: SendEmailResponse -> TestTree+responseSendEmail =+ res+ "SendEmailResponse"+ "fixture/SendEmailResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy SendEmail)++responseTagResource :: TagResourceResponse -> TestTree+responseTagResource =+ res+ "TagResourceResponse"+ "fixture/TagResourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy TagResource)++responseUntagResource :: UntagResourceResponse -> TestTree+responseUntagResource =+ res+ "UntagResourceResponse"+ "fixture/UntagResourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UntagResource)++responseUpdateConfigurationSetEventDestination :: UpdateConfigurationSetEventDestinationResponse -> TestTree+responseUpdateConfigurationSetEventDestination =+ res+ "UpdateConfigurationSetEventDestinationResponse"+ "fixture/UpdateConfigurationSetEventDestinationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateConfigurationSetEventDestination)
+ test/Test/Amazonka/PinpointEmail.hs view
@@ -0,0 +1,20 @@+-- |+-- Module : Test.Amazonka.PinpointEmail+-- 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.PinpointEmail+ ( tests,+ fixtures,+ )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/PinpointEmail/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module : Test.Amazonka.PinpointEmail.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.PinpointEmail.Internal where